English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 22 February 2024, 12:10   #1
teppic
Registered User
 
Join Date: Aug 2015
Location: UK
Posts: 58
CPU speed on non A500/A1200

I'm a little confused about how the CPU settings work when not emulating the standard A500 or A1200. So a few questions:

For the main CPU screen: does the CPU Speed slider (%) only have an effect if cycle exact is switched off? What is the % based on if you have selected a 68030 for example, e.g. is it based on the vanilla A500 speed?

For the CPU Frequency option below, since this is under the heading "Cycle Exact", I'm assuming this only works if you have that option selected?

With the Cycle Exact (Full) setting itself on the chipset screen it says this is the most accurate mode for the A500/A1200. What does it do with the other machines/CPUs?

As far as I know the 68020 isn't completely cycle exact - I'm guessing the newer CPUs are less so?
teppic is offline  
Old 24 February 2024, 17:29   #2
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
If approximate or cycle-exact: CPU frequency = chipset clock * multiplier (Chipset clock is the master clock in UAE). CPU is synhcronized to chipset clock if multiplier is select, async if frequency is typed (CE only).

In approximate mode "CPU clock" is something undefined, usually one instruction equals some number of CPU clocks.

CPU speed slider simply adjusts total clock value that each CPU instruction takes by selected slider value.

Cycle exact only affects CPU speed and memory access speed. The rest of hardware usually does not affect speed anyway (unless it has slow ROM or IO or some part of RAM or ROM is cache disabled for some really odd reason or something, this is not emulated) Also different boards have different chip ram access speeds, this is also not emulated.

68040+ CPU cycle exact mainly affects memory access speed (if chipram access = slow) but because CPUs have write buffers and large caches, results are quite random without also emulating caches which takes lots of CPU power without much point.

68030+ cache options are more useful for development (can see what happens if cache was not flushed correct etc) than for accurate emulation speeds.
Toni Wilen is offline  
Old 25 February 2024, 15:08   #3
teppic
Registered User
 
Join Date: Aug 2015
Location: UK
Posts: 58
Thanks for the reply.

With approximate mode I saw it goes up to 500% and that doesn't equate to 5x in the frequency. It seems it's just a vague higher performance option if you don't need accuracy?

With DMA/Memory cycle exact turned off I noticed that with higher speed CPUs the chipset performance especially is much faster than it would be in reality, so that seems essential to leave on if you want a realistic system.

For full cycle exact it sounds like if you've got a 68030+ just to leave it off (unless you're a developer)?
teppic is offline  
Old 26 February 2024, 06:37   #4
Waccoon
Registered User
 
Waccoon's Avatar
 
Join Date: May 2022
Location: Boston / USA
Age: 46
Posts: 39
Cycle exact performance is mostly required for 68000 games or demos that don't use the CIA timers, especially when setting up blits or accessing floppy disks. For most software from the AGA era and up (68020+), CPU speed doesn't matter too much in terms of compatibility.

The 68020 use a lot more pipelining than the 68000 and its instruction timing isn't fully documented, so emulating speed exactly is tricky. I've found that cycle-exact emulation is about 20% faster than on real hardware, and integer math can be several times faster. There's a bunch of architectural reasons (besides bus/cache utilization) why running the internals of the CPU at 5x the clock speed won't give you 5x the performance.
Waccoon is offline  
Old 04 March 2024, 19:06   #5
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,553
Quote:
Originally Posted by teppic View Post
With DMA/Memory cycle exact turned off I noticed that with higher speed CPUs the chipset performance especially is much faster than it would be in reality, so that seems essential to leave on if you want a realistic system.
Yes because without cycle-exact, CPU ignores chip RAM DMA contention (basically CPU has instant access speed to chip bus all the time). It might sound illogical but this is most optimal way to do things in software emulation. Slowing down emulated CPU requires much more complex emulation code which slows down everything.
Toni Wilen 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
A1200 CPU memory access speed (with DMA) roondar Coders. Asm / Hardware 43 17 February 2023 16:21
The speed impact on CPU of ZERO Fast RAM A1200/CD32 ImmortalA1000 Retrogaming General Discussion 21 15 October 2022 19:12
"Approximate A500/A1200 or cycle-exact" at +500% CPU Speed Foebane support.WinUAE 2 28 January 2017 08:11
Approximate A1200 CPU speed option? Mequa request.UAE Wishlist 3 12 November 2010 20:34
The "Match a500 speed" Option only works if CPU is set to Mc68000. Sp_ support.WinUAE 9 15 December 2008 17:36

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 04:18.

Top

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