English Amiga Board


Go Back   English Amiga Board > Requests > request.UAE Wishlist

 
 
Thread Tools
Old 10 January 2016, 10:41   #1
Aegis
Gentleman

Aegis's Avatar
 
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 235
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)?
Aegis is offline  
Old 10 January 2016, 16:24   #2
ReadOnlyCat
Code Kitten

 
Join Date: Aug 2015
Location: Montreal/Canadia
Age: 48
Posts: 1,143
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.
ReadOnlyCat is offline  
Old 10 January 2016, 16:37   #3
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 44
Posts: 23,283
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.
Toni Wilen is offline  
Old 10 January 2016, 19:16   #4
Aegis
Gentleman

Aegis's Avatar
 
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 235
Quote:
Originally Posted by ReadOnlyCat View Post
Everything is possible.
The real question is "are the efforts worth the result?".
What that depends on what WinUAE *is* - to you, to me - and especially to Toni.

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!
Aegis is offline  
Old 10 January 2016, 19:28   #5
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,143
Quote:
Originally Posted by Aegis View Post
I know you can slow the emulation down but what % of 'fastest possible' is a 25Mhz 68030?
Turn off JIT
Turn off CPU cycle-exact (keep only DMA/memory cycle-exact)
Go on CPU frequency, change to Custom, type 25

I think it could be close enough to a real machine.
amilo3438 is offline  
Old 10 January 2016, 19:36   #6
Aegis
Gentleman

Aegis's Avatar
 
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 235
Quote:
Originally Posted by amilo3438 View Post
Turn off JIT
Turn off CPU cycle-exact (keep only DMA/memory cycle-exact)
Go on CPU frequency, change to Custom, type 25

I think it could be close enough to a real machine.
Thanks for the tip! But using your suggestion, how would a 25Mhz 030 compare against a 25Mhz 040? The 68040 should be faster no?
Aegis is offline  
Old 10 January 2016, 19:41   #7
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,143
Quote:
Originally Posted by Aegis View Post
Thanks for the tip! But using your suggestion, how would a 25Mhz 030 compare against a 25Mhz 040? The 68040 should be faster no?
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)
amilo3438 is offline  
Old 10 January 2016, 19:50   #8
Aegis
Gentleman

Aegis's Avatar
 
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 235
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.
Aegis is offline  
Old 10 January 2016, 21:13   #9
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,143
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
amilo3438 is offline  
Old 10 January 2016, 21:55   #10
Aegis
Gentleman

Aegis's Avatar
 
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 235
Thanks amilo - may I ask where you got your figures from? (just curious )
Aegis is offline  
Old 10 January 2016, 22:28   #11
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,143
Quote:
Originally Posted by Aegis View Post
Thanks amilo - may I ask where you got your figures from? (just curious )
Yeah, from experience and reading , mostly!

Cheers
amilo3438 is offline  
Old 21 January 2016, 02:51   #12
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,143
Quote:
Originally Posted by Aegis View Post
Would it be possible to add a cycle-exact 25Mhz '030/A3000 ?
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!?)
Attached Thumbnails
Click image for larger version

Name:	LSD-Tools101_005.png
Views:	213
Size:	19.8 KB
ID:	47072   Click image for larger version

Name:	LSD-Tools101_003.png
Views:	218
Size:	19.5 KB
ID:	47073  
Attached Files
File Type: uae A3000 ~25Mhz, Direct3D (winuae322).uae (18.0 KB, 128 views)

Last edited by amilo3438; 21 January 2016 at 05:29.
amilo3438 is offline  
Old 21 January 2016, 13:33   #13
Aegis
Gentleman

Aegis's Avatar
 
Join Date: Dec 2015
Location: The Fortesque Mansion
Posts: 235
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 )
Aegis is offline  
Old 21 January 2016, 14:34   #14
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,143
Quote:
Originally Posted by Aegis View Post
I suspect the CPU throttle is relative to whatever host processor you're using (i7 here) - I'll test out your config to confirm
Yeah, that would be nice to see is it relative to host CPU or not! (thx)

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
amilo3438 is offline  
Old 18 February 2019, 19:54   #15
bebbo
botcher

 
Join Date: Jun 2016
Location: Hamburg/Germany
Posts: 429
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?
bebbo 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
More cycle-exact speeds Leandro Jardim request.UAE Wishlist 5 28 June 2013 09:44
Non-cycle exact mode in 2.5.1 Photon support.WinUAE 13 18 February 2013 22:15
cycle-exact or not? brolly support.WinUAE 10 27 March 2012 17:18
Cycle-Exact tim_calladine support.WinUAE 1 24 October 2008 16:57
Cycle exact really slow FreakyDan support.WinUAE 0 19 May 2004 23:22

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 06:31.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.
Page generated in 0.08265 seconds with 16 queries