11 April 2023, 10:17 | #1 |
Alien Bleed
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.
|
11 April 2023, 13:33 | #2 |
Thalion Webshrine
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. |
11 April 2023, 15:13 | #3 |
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. |
11 April 2023, 15:18 | #4 |
HOL/FTP busy bee
Join Date: Sep 2006
Location: Germany
Age: 46
Posts: 31,942
|
Still true it seems: http://eab.abime.net/showthread.php?...39#post1606939
|
11 April 2023, 15:50 | #5 |
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. |
12 April 2023, 14:25 | #6 | |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,432
|
Quote:
|
|
12 April 2023, 15:16 | #7 |
Registered User
Join Date: Apr 2022
Location: Australia
Age: 52
Posts: 894
|
Run SYSInfo for comparable figures of Utopian Elegance.
|
14 April 2023, 06:30 | #8 |
Registered User
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) |
14 April 2023, 07:20 | #9 |
Alien Bleed
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. |
15 April 2023, 18:22 | #10 | |
Registered User
Join Date: Feb 2018
Location: France
Posts: 506
|
Quote:
|
|
15 April 2023, 19:52 | #11 | ||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,569
|
Quote:
Quote:
|
||
18 April 2023, 03:23 | #12 | |
Registered User
Join Date: May 2022
Location: Boston / USA
Age: 46
Posts: 39
|
Quote:
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). |
|
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 |
|
|