Welcome, Guest. Please login or register.

Author Topic: minimig 4000  (Read 8200 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Donar

  • Full Member
  • ***
  • Join Date: Aug 2006
  • Posts: 168
    • Show all replies
Re: minimig 4000
« on: November 23, 2007, 09:57:56 PM »
Quote
According to my tests, the speed is near a 25MHz 040.

Out of interest, which Coldfire and 68k emulator do you use? And what code did you use for testing?
<- Amiga 1260 / CD ->
Looking for:
A1200/CF CFV4/@200,256MB,eAGA,SATA,120GB,AROS :D
 

Offline Donar

  • Full Member
  • ***
  • Join Date: Aug 2006
  • Posts: 168
    • Show all replies
Re: minimig 4000
« Reply #1 on: November 23, 2007, 11:18:24 PM »
Quote
You could make it near native with a hardware translator.

You mean a device that translates 68k instructions to the appropriate Coldfire ones,an emulator/translator in HW so to speak?

Quote

The emulator : my own emulator, it has to run from the internal SRAM of the coldfire. It uses self-modifying code.

Did you try if it is faster on 68060 optimized code than on average 68k code? From my understanding 060 optimised means less non implemented instructions, so the emulation only would be some kind of "pass through" for these instructions maybe giving more speed.
<- Amiga 1260 / CD ->
Looking for:
A1200/CF CFV4/@200,256MB,eAGA,SATA,120GB,AROS :D
 

Offline Donar

  • Full Member
  • ***
  • Join Date: Aug 2006
  • Posts: 168
    • Show all replies
Re: minimig 4000
« Reply #2 on: November 24, 2007, 03:38:29 AM »
Quote
It does not change anything, EVERY instructions are emulated by the emulator.

Yes, but for the say 75% percent of the instructions/adressing modes that match on 68060 and Coldfire would it be possible that the/an "emulator" just looks at an:
mov.l an decides to give a mov.l to the Coldfire, having "minimal" performance impact (say 20%)?
For an unimplemented instruction "Z" the emulator could instruct the Coldfire to do Instructions a+b+c giving "Z" thus having a (big) performance hit for these instructions.

I just wonder because Virtual Machines setting up fake CPU's seem to just work in that way (ok they can map every instruction 1:1). As they do not give a big performance hit when you emulate an 4 core system on your 2 core CPU.
<- Amiga 1260 / CD ->
Looking for:
A1200/CF CFV4/@200,256MB,eAGA,SATA,120GB,AROS :D