Atari.Org
Click Here
HomeNewsServicesForumsSupport

Talk Atari

Atari.Org Forums


16/32-Bit

8-Bits

Classics

Emulation

Jaguar

Lynx

Classic Consoles Forum 8-Bits Forum 16/32 Forum
Emulation Forum Jaguar Forum Lynx Forum
 
 Subject: RE: off-beat/off-topic compatability question
Author: Johan Klockars (62.13.18.80)
Date:   06-09-2003 18:57

> The short answer: No. PowerPC isn't 100% compatible with 68k.

A more precise answer would be:
No. PowerPC is 100% incompatible with 68k.

They have just about nothing in common besides being made by Motorola.

> Coldfire is only partly compatible to 68k and also has some powerpc instruction if I 'm not mistaken.

It has a couple of new instructions. Mainly of the 'DSP kind', IIRC (multiply-accumulate, perhaps saturating adds and such).

> 'Only partly compatible means missing some instructions which were there on the 68k. But form this point of view a 68060 misses one or to instuctions too...

It's _much_ worse with the ColdFire. Not only does it completely lack a few very common instructions (DBcc, for example), it also does not support word (16 bit) operations in many cases where a normal 68k would.

I once did a quick count in some of my fVDI assembly code to see what percentage of the instructions the ColdFire would need to emulate. The result was about 20%-70%, depending on the specific code (likely resulting in a speed reduction, compared to ColdFire-friendly code, of at least 10 times (possibly much more))!
Of course, this one example (I only looked at three or four subroutines, but one of them would be used for every single VDI call) may or may not be representative.

It's unfortunate that TurboC/PureC have been used as much as they have, since that compiler always uses 16 bit integers (int) and thus is likely to generate significant amounts of instructions that need to be emulated on the ColdFire.
While Lattice C and gcc can also be used with 16 bit integers, I believe a lot of code compiled with those has not been configured that way.

(Code using 16 bit integers is slightly faster on a 68000 (not on '020 and up), which is the main reason why it's so common in ST software.)

> That's why you've got to implement a emulator for older software. And then you get to the point where one can say: "if you emulate anyway, why don't grab a cheap powerfull x86".

Exactly.

I wouldn't be surprised if Motorola never makes a ColdFire chip that is as fast as what a JIT compiling 680x0 'emulator' like ARAnyM can achieve on x86 hardware.
(Assuming that the same piece of code is run enough times that the JIT compilation overhead does not dominate.)

 Topics Author  Date
  off-beat/off-topic compatability question new Kevin (Ch0pSt1x) 06-09-2003 07:41 
   RE: off-beat/off-topic compatability question new replicant 06-09-2003 17:55 
    RE: off-beat/off-topic compatability question  Johan Klockars 06-09-2003 18:57 
     RE: off-beat/off-topic compatability question new tero 06-09-2003 19:17 
      RE: off-beat/off-topic compatability question new Johan Klockars 06-10-2003 09:43 
      RE: off-beat/off-topic compatability question new Cliff 06-11-2003 00:19 
    RE: off-beat/off-topic compatability question new tero 06-09-2003 19:05 
     RE: off-beat/off-topic compatability question new replicant 06-09-2003 22:42 
      RE: off-beat/off-topic compatability question new tero 06-10-2003 17:37 
      RE: off-beat/off-topic compatability question new Cliff 06-11-2003 00:22 
     RE: off-beat/off-topic compatability question new Adam Kliobukowski 06-10-2003 18:22 
    RE: off-beat/off-topic compatability question new Elliot 06-09-2003 21:32 
   RE: transmeta new replicant 06-09-2003 22:45 
    RE: transmeta new earx 06-10-2003 14:38 
    RE: transmeta new tero 06-10-2003 16:52 
     RE: transmeta new replicant 06-10-2003 17:17 
      RE: transmeta new tero 06-10-2003 17:42 

 Reply To This Message
 Your Name:
 Your Email:
 Subject:
 Human verification:   What's this?
               _    __     _ _     
 _ __  ___ _ _| |_ / _|___| (_)___ 
| '_ \/ _ \ '_|  _|  _/ _ \ | / _ \
| .__/\___/_|  \__|_| \___/_|_\___/
|_|                                
    



Copyright © 1997-2024 Atari.Org 
Atari is registered trademark of Infogrames