English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 11 April 2023, 10:17   #1
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,432
Cycle Exact clarification

Can someone clarify what the "A500/A1200 or cycle exact" mode means when using a 68EC020 or higher CPU emulation in UAE? I know what I think it means but I'm sure I'm not correct.
Karlos is online now  
Old 11 April 2023, 13:33   #2
alexh
Thalion Webshrine
 
alexh's Avatar
 
Join Date: Jan 2004
Location: Oxford
Posts: 14,461
AFAIK it refers to chipset timing not CPU timing.

68EC020 CPU emulation (and it's caches etc) are I don't believe are cycle accurate but only Toni will know for sure.
alexh is offline  
Old 11 April 2023, 15:13   #3
abu_the_monkey
Registered User
 
Join Date: Oct 2020
Location: Bicester
Posts: 2,020
this is what Toni wrote a couple of years ago in another thread.

http://eab.abime.net/showpost.php?p=...2&postcount=10

things may be different now, I don't know.
abu_the_monkey is offline  
Old 11 April 2023, 15:18   #4
TCD
HOL/FTP busy bee
 
TCD's Avatar
 
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,942
Quote:
Originally Posted by abu_the_monkey View Post
things may be different now, I don't know.
Still true it seems: http://eab.abime.net/showthread.php?...39#post1606939
TCD is offline  
Old 11 April 2023, 15:50   #5
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,569
I don't think the question was about CE or not CE but CPU panel radio button option. It is basically "fastest possible" or not fastest possible selection.

Not fastest possible (approximate) then can be modified by enabling CE option(s).

Chipset itself is always cycle-accurate (minus blitter) in approximate modes.
Toni Wilen is offline  
Old 12 April 2023, 14:25   #6
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,432
Quote:
Originally Posted by Toni Wilen View Post
I don't think the question was about CE or not CE but CPU panel radio button option. It is basically "fastest possible" or not fastest possible selection.

Not fastest possible (approximate) then can be modified by enabling CE option(s).

Chipset itself is always cycle-accurate (minus blitter) in approximate modes.
What I'm interested to know, at a macroscopic scale is what is the approximate CPU performance when choosing the latter option. There's a slider to adjust the CPU speed but what's it relative to when the selected CPU is 020 or higher?
Karlos is online now  
Old 12 April 2023, 15:16   #7
Snoopy1234
Registered User
 
Snoopy1234's Avatar
 
Join Date: Apr 2022
Location: Australia
Age: 52
Posts: 894
Quote:
Originally Posted by Karlos View Post
What I'm interested to know, at a macroscopic scale is what is the approximate CPU performance when choosing the latter option. There's a slider to adjust the CPU speed but what's it relative to when the selected CPU is 020 or higher?
Run SYSInfo for comparable figures of Utopian Elegance.
Snoopy1234 is offline  
Old 14 April 2023, 06:30   #8
Waccoon
Registered User
 
Waccoon's Avatar
 
Join Date: May 2022
Location: Boston / USA
Age: 46
Posts: 39
I've found SysInfo to be pretty unreliable for benchmarking. Just for fun, I've been playing around with different '020 cache configurations and implemented a unified 512 byte I/D cache for the 68000. SysInfo shows much greater improvements than you'd notice in real-world applications. AIBB is generally better if you know how to read the results.

Overall, for gaming the '020 emulation is pretty close to real hardware, to within 10%. However, integer math is much faster than on real hardware. No matter how much you play with the performance sliders, some instructions will always be wildly faster or slower than others. The official '020 documentation isn't actually that helpful for estimating cycle times, so it's unlikely this will be improved anytime soon.

Also note that WinUAE does not emulate wait states for fast RAM, so if you have a configuration with fast RAM, it will always run faster than real hardware (by about 30%). Most games and demos that need cycle-exact behavior don't utilize fast RAM, so there's no point in worrying about it. 8)
Waccoon is offline  
Old 14 April 2023, 07:20   #9
Karlos
Alien Bleed
 
Karlos's Avatar
 
Join Date: Aug 2022
Location: UK
Posts: 4,432
I understand why cycle exact is a problem for 020+ since you would end up needing a circuit simulator more than an emulator.

One thing that would be useful perhaps is a "cycle pessimism" mode, where every instruction takes the longest possible number of cycle and doesn't take into consideration execution overlap or pipelining. As to why I suggest this, it's so that you can write code always testing the hypothetical worst case, knowing it should almost always be better on actual hardware. The corollary would be a "cycle optimism" that uses the least number of cycles assuming a happy path always. Then you have lower ans upper bounds of predicted performance to work within.
Karlos is online now  
Old 15 April 2023, 18:22   #10
Zarnal
Registered User
 
Join Date: Feb 2018
Location: France
Posts: 506
Quote:
Originally Posted by Waccoon View Post
Also note that WinUAE does not emulate wait states for fast RAM, so if you have a configuration with fast RAM, it will always run faster than real hardware (by about 30%). Most games and demos that need cycle-exact behavior don't utilize fast RAM, so there's no point in worrying about it. 8)
Is there a particular reason for this? Too complicated ? Or would it require too many changes for little improvement ?
Zarnal is offline  
Old 15 April 2023, 19:52   #11
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,569
Quote:
WinUAE does not emulate wait states for fast RAM
Assuming this means plain A1200 with fast RAM? I don't have any plain fast RAM expansions. Also I assume speed of board can depend on board design (how refresh is done etc)?

Quote:
"cycle pessimism"
Can't do without separate CPU "core" which is not worth the trouble and complexity and side-increase.
Toni Wilen is offline  
Old 18 April 2023, 03:23   #12
Waccoon
Registered User
 
Waccoon's Avatar
 
Join Date: May 2022
Location: Boston / USA
Age: 46
Posts: 39
Quote:
Originally Posted by Zarnal View Post
Is there a particular reason for this? Too complicated ? Or would it require too many changes for little improvement ?
Yeah, it requires a bunch of new memory calls which aren't really worth the complexity, and anyone who uses large memory configurations is probably only interested in JIT, anyway.

Memory timing is only really important for the custom chips, and all Amigas have pretty much the same memory timing at least as far as the CPU is concerned, so it's all standardized. When it comes to fast RAM, you're effectively talking about 3rd-party memory boards, and there's just too many variables to consider and you'll always just be "in the ballpark" rather than have exact performance.

I've been looking into cycle-exact burst mode support for the 68030 for a while, and concluded that there's really no point (it only works with fast RAM).
Waccoon is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Cycle-exact MarkW support.WinUAE 6 14 January 2019 07:46
Non-cycle exact mode in 2.5.1 Photon support.WinUAE 13 18 February 2013 21:15
cycle-exact or not? brolly support.WinUAE 10 27 March 2012 16:18
Cycle-Exact tim_calladine support.WinUAE 1 24 October 2008 15:57

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 15:15.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.09092 seconds with 14 queries