View Single Post
Old 11 July 2006, 16:32   #6
Oli_HD
Collector

Oli_HD's Avatar
 
Join Date: Jul 2006
Location: Aldgate, London / England
Posts: 157
Quote:
Originally Posted by keropi
how sure is that? I seem to remember it needed a "layer" of some sorts for 68k code...
Short answer:
as standard it isnt compatiable enough to run a 68K os (Although a Coldfire OS would run on a 68K), the missing instructions need emulating in an oxypatcher like way, which is done in software.

All common instructions are present in the V4, its only the little used ones that are not, so the performance hit should be minimal.

Long bit of boring history as I see it:

Near the end of the 68K development a lot of people were still using the oroginal 68000 due to its price.
Motorola decided to set about making a cut down, cost reduced version of the 68000. To do this they removed a lot of the less comonly used 68K instructions, making a much simpler CPU which could be clocked higher.
Since the introduction of the Coldfire they have been improving the core with more and more advanced features (As production costs fell I guess) and with the V3 it was reaching the stage of a 68020 EC CPU. (There was an Amiga project that was to use two or more V3 Coldfires together to get a machine faster than the 68060... it didnt go to well although the site did say they had prototypes)

The V4 finally got to a stage where the speed is worth the hit caused by the missing instructions having to be emulated... hence my project. :-)

The coldfire (since the V2?) has had an instruction trap which is a hardware module designed to catch illegal instructions (like unsupported 68K ones) and pass them to a software program which converts them in to a string of coldfire instructions that do the same thing, passes it back to the CPU core where it gets on with executing the (now coldfire native) program.
This module means a good amount of 68K compatability can be gained. Freescale (Motorola) say that most programs "should" not need to be ported if that software/trap is used but that waits to be seen.
Oli_HD is offline  
 
Page generated in 0.05183 seconds with 9 queries