10 January 2016, 09:41 | #1 |
Gentleman
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 254
|
Request: 68030/A3000 cycle-exact
Hi Toni,
as hardware gets more powerful it'd be great to be able to run more stock configurations/CPUs at cycle-exact speeds - the A500 had a few '030 accelerators for it which were useful for many applications and even some games and obviously 'fastest possible' is well, crazy fast Would it be possible to add a cycle-exact 25Mhz '030/A3000 (and in time a cycle-exact '040 for A4000 emulation)? |
10 January 2016, 15:24 | #2 |
Code Kitten
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 52
Posts: 1,178
|
Everything is possible.
The real question is "are the efforts worth the result?". Figuring out exact timings starting from the '020 requires complete understanding and emulation of the prefetch and caching unit and they get more and more complex with each version of the CPU. It would take a lot of painstaking work to write the corresponding code just from Motorola's documentation (if it is complete enough!) and frankly that would not be enjoyable at all. |
10 January 2016, 15:37 | #3 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,542
|
As was already mentioned above, not even basic 68020 is cycle-exact yet.
Motorola documentation does not really mention anything about instruction's cycle sequencing, just some theoretical total cycle usages that are mostly useless. (I'll randomly do some logic analyzer testing, 68020 CE will improve randomly but slowly..) Full 68020 CE is practically impossible without some undocumented information, for example multiplication and division algorithms are totally unknown and they have variable instruction cycle count. |
10 January 2016, 18:16 | #4 | |
Gentleman
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 254
|
Quote:
I've always seen UAE as an effort to preserve the Amiga in software (since it's gone way beyond simply running games and apps) - accurate emulation of the all the Amiga models is a given if that's the ultimate goal. But that's just me - I'm sure every user and developer has their own idea of what their 'ideal' UAE is and theirs is just as valid as mine. Whilst it wouldn't be cycle-exact, perhaps a compromise might be to have an option to run the 030/040/060 at approximate hardware speed instead of 'fastest possible'? I know you can slow the emulation down but what % of 'fastest possible' is a 25Mhz 68030? Thanks both of you for taking the time to reply! |
|
10 January 2016, 18:28 | #5 |
Amiga 500 User
Join Date: Jun 2013
Location: EU
Posts: 1,518
|
|
10 January 2016, 18:36 | #6 |
Gentleman
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 254
|
Thanks for the tip! But using your suggestion, how would a 25Mhz 030 compare against a 25Mhz 040? The 68040 should be faster no?
|
10 January 2016, 18:41 | #7 |
Amiga 500 User
Join Date: Jun 2013
Location: EU
Posts: 1,518
|
Im not sure if there is any difference in speed among 030/040/060 in current emulation when run on same frequency! (On a real CPUs there is)
|
10 January 2016, 18:50 | #8 |
Gentleman
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 254
|
Well that's what I was kind of getting at with my original request As I understand it (and I could well be wrong) the different CPUs available in WinUAE are basically their different instruction sets - the actual operation of the CPU is only fully emulated in the 68000 with the 68020 partially implemented.
I'm guessing the 'custom' frequency setting is in comparison to the 68000 and a 25Mhz 040 is in reality going to be considerably faster than a 25Mhz 68k. There's no way of approximating the actual speed of (say) an A4000 in UAE (well, you could find a real one and benchmark it and tailor UAE to give similar results) - for historical (and nostalgic) reasons, I think it'd be nice if there were. |
10 January 2016, 20:13 | #9 |
Amiga 500 User
Join Date: Jun 2013
Location: EU
Posts: 1,518
|
Regarding a Real CPUs..
020 and 030 are ~ the same speed on same MHz 040 is ~4x faster than 030 on same MHz 060 is ~2x faster than 040 on same MHz |
10 January 2016, 20:55 | #10 |
Gentleman
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 254
|
Thanks amilo - may I ask where you got your figures from? (just curious )
|
10 January 2016, 21:28 | #11 |
Amiga 500 User
Join Date: Jun 2013
Location: EU
Posts: 1,518
|
|
21 January 2016, 01:51 | #12 |
Amiga 500 User
Join Date: Jun 2013
Location: EU
Posts: 1,518
|
In mean time the attached config looks very close: (according to some of AIBB results)
AIBB v6.1 (from LSD-Tools101.ADF -> http://janeway.exotica.org.uk/release.php?id=23128) Comparisons Against System: A3000-25 (Test Code Type: 68020, CP Math) EmuTest ....... 0.63 (4.40 Simulated Mhz) EllipseTest ... 1.16 (11.54 Seconds) LineTest ...... 1.31 (1060.74 Lines/Second) InstTets ....... 0.72 (1820338.98 Instructions/Seconds) Writepixel ... 1.00 (4437.33 Pixels/Second) Matrix ......... 0.99 (2.38 Seconds) Sieve .......... 0.97 (7.36 Seconds) IMath ......... 1.69 (3.10 Seconds) Dhrystone ..... 0.71 (6377.55 Dhrystones/Seconds) MemTest ..... 0.99 (7.81 MBytes/Sec Transfer Rate) Sort ............ 1.02 (8.14 Seconds) TGTest ........ 1.18 (1108.92 Characters/Sec) Savage ....... 42.08 (0.08 Seconds) Flops ........... 9.24 (4.1734 Scalar AIBB MFlops) FMath .......... 2.60 (1.16 Seconds) TranTest ...... 0.29 (31.04 Seconds) FMatrix ........ 2.53 (1.78 Seconds) FTrace ......... 5.53 (0.72 Seconds) BeachBall ...... 2.14 (7.30 Seconds) CplxTest ..... 1.08 (5.26 Seconds) Btw. the configuration file has set: cpu_throttle=588.6 ... not sure does it depends on PC CPU type!? (my PC CPU = PentiumM 2.13ghz) (If answer is yes, it means one will then need to adjust the "cpu_throttle" value in order to achieve above AIBB results!) EDIT: List of demos that might work on A3000 -> http://ada.untergrund.net/?p=demos&y=0&c=0&h=4&v=0 (like for example "Ocs/aga Minimum Required:68020+" demos such as "Sanity-roots 2.0" and "Union-braincell" has been tested to work fine) EDIT2: Found some more "Ocs/Ecs Minimum 68020+" demos: Grind by Dekadence & Accession -> http://www.pouet.net/prod.php?which=55576 (tested to work fine) Coredump by MoraNet -> http://janeway.exotica.org.uk/release.php?id=27489 (works but has a problem on one part!?) Last edited by amilo3438; 21 January 2016 at 04:29. |
21 January 2016, 12:33 | #13 |
Gentleman
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 254
|
Hey! Thanks for doing something I was too lazy to do myself
I suspect the CPU throttle is relative to whatever host processor you're using (i7 here) - I'll test out your config to confirm (and that was kinda my thinking behind having this feature in WinUAE since UAE would likely be a better judge of 'correct' CPU speed for 030/040/060 relative to the host than I am ) |
21 January 2016, 13:34 | #14 | |
Amiga 500 User
Join Date: Jun 2013
Location: EU
Posts: 1,518
|
Quote:
Btw. In addition, found a list of tested demos on a real A3000-25 with recommended boot method... http://www.amigareport.com/ar139/p1-8.html |
|
18 February 2019, 18:54 | #15 |
bye
Join Date: Jun 2016
Location: Some / Where
Posts: 680
|
Best option for cycle exact performance testing is the real Amiga with a real cpu.
But what's the best option to measure almost real performance without using real hardware today for 68000, 68020, 68030 and maybe 68040? WinUAE? Vamos? Any ideas? |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
More cycle-exact speeds | Leandro Jardim | request.UAE Wishlist | 5 | 28 June 2013 08:44 |
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 |
Cycle exact really slow | FreakyDan | support.WinUAE | 0 | 19 May 2004 22:22 |
|
|