Welcome, Guest. Please login or register.

Author Topic: Coldfire - Binary Compatible  (Read 21649 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Crumb

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 1786
  • Country: 00
    • Show only replies by Crumb
    • http://cuaz.sourceforge.net
Re: Coldfire - Binary Compatible
« Reply #74 from previous page: January 31, 2008, 08:06:52 PM »
@Hans_

I think that comparing a reimplementation with an emulator is like claiming that modern x86 chips are just emulators because they internally work as RISC cpus and simply have x86 interpreters.
The only spanish amiga news web page/club: Club de Usuarios de Amiga de Zaragoza (CUAZ)
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Coldfire - Binary Compatible
« Reply #75 on: January 31, 2008, 08:08:34 PM »
Quote

Hans_ wrote:
@bloodline & hbarcellos

By that reasoning, an AMD CPU is an x86 emulator too. It's not identical to the original x86 chip, but it does the same thing. Multiple companies make different but compatible versions of the same thing all the time. That doesn't make them emulators.


But you can take that argument to a stupid level... A Transistor is just a valve emulator... a computer is just an abacus emulator...

Quote

We're fully agreed that a clone (be it in an FPGA or otherwise) is not the original. Where we differ is in the definition of emulation. I agree that the end goal is roughly the same. However, the approach is quite different. An emulator is one thing, an FPGA implementation is another.


The only thing we disagree upon is the means... since we both want the same ends...

I just don't see the difference between a "Field Programmable Gate Array" programmed to behave like a chip/set of chips, and a CPU running a program  to do the same :-)

In many circuits, one would now use a Micro-controller in place of a large amount of dedicated custom built hardware.

Quote

This is why I call UAE an emulator, and the Minimig, an A500 clone. Neither are a genuine A500. To make things a little more complicated, the PIC micro on the Minimig that's connected to an SD-card slot is an Amiga floppy drive emulator, since there is no floppy drive at all, and it's making a file on the SD-card look like an Amiga floppy drive to the Minimig chipset.


I should point out that I love the Minimig and am really happy that Dennis made it!!!

I hope to buy one! But It should not be forgotten that all we are ever trying to achieve is an end result... how you achieve that should be dictated by the cheapest/most efficient route.

Quote

BTW, has anyone thought of taking the floppy emulator on the Minimig and connecting it to their Amiga? That would mean no more searching for disks.

Hans


Good idea.

Offline hbarcellosTopic starter

  • Sr. Member
  • ****
  • Join Date: May 2006
  • Posts: 426
  • Country: 00
    • Show only replies by hbarcellos
Re: Coldfire - Binary Compatible
« Reply #76 on: January 31, 2008, 08:21:20 PM »
Besides my opinion about FPGAs, I also very excited about the MiniMig project. No one will create a special case for it? Like the OCM (One chip MSX)? Or maybe an A500 on a joystick?

And about the floppy emulator, that's amazing. When it will be ready!? :)
}~ A1200 - Apollo 68040 - HOTLY running OS 3.1
}~ Powerbook G4 1.67 running MorphOS 3.2 without Wifi.
}~ Powermac Quicksilver 933 with Radeon 9600 XT (r300) LOUDLY running MorphOS 3.2
}~ [MY iOS GAME]: http://goo.gl/S9nWB (Amiga users can get it FREE[/color], just ask me)
 

Offline Crumb

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 1786
  • Country: 00
    • Show only replies by Crumb
    • http://cuaz.sourceforge.net
Re: Coldfire - Binary Compatible
« Reply #77 on: January 31, 2008, 08:33:50 PM »
Quote
Maybe it would... I don't have an Efika to test... but my EPIA is 6 years old and only cost just over £100 back then... it runs rings around my 25Mhz 040... but has full compatibility with my A1200...


Then imagine how fast would it run your OS if you had the chance of running your 68k apps together with native PPC apps.

Quote
They really will outperform any PPC Performance per watt, as for PPC code... well I don't really care about that


Most of amigans do. Just check out the interest in MOS/OS4. And it's much lower than it could be due to expensive hardware (or unavailable OSes).

Quote
But you would put a PPC 970 - G5?


On an Amiga Classic cpu? Probably never. I think that embedded models with built-in stuff are far more appropiate.  Even if you fitted a low power 970Fx you still would need a big and expensive northbridge and memory controller. Embedded models include the memory/pci/sata/usb controller

Quote
No, exactly... I appreciate that... it's just a shame, that is all.


I think that CyberstormPPC/BlizzardPPC were more or less OK at the time. Don't get me wrong, a CyberstormG3/G4 would have been very nice with a JIT or maybe even an embedded emulator but it's a pity phase5 died before releasing it.

Quote
But how much Amiga PPC only software, do you have that you couldn't do without? really?


I could probably live without amigas too, but it would be much more boring.


BTW, graphics are much faster on Amithlon/MorphOS/OS4 than on UAE.
The only spanish amiga news web page/club: Club de Usuarios de Amiga de Zaragoza (CUAZ)
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Coldfire - Binary Compatible
« Reply #78 on: January 31, 2008, 08:35:30 PM »
@Crumb

A bit off topic, sorry, but I've had a quick look around:

Compare the EPIA PX

With the EFIKA 5200B

I can't believe anyone would choose the Efika actually... Maybe I'm not looking at the right model... but really can't see the advantages... are you able to tell me?


I note you claim the C7 is bad for JIT execution due to small caches, but the Efika only has 32k L1 cache (ref) and no L2

The C7 has 64K L1 and  127K L2... (ref)

The Efika tops out at 400Mhz... the C7 is scalable up to 2Ghz... Need I go on?

Other than running PPC code there is no advantage to the PPC here  :roll:

Offline AeroMan

  • Sr. Member
  • ****
  • Join Date: Oct 2007
  • Posts: 342
    • Show only replies by AeroMan
Re: Coldfire - Binary Compatible
« Reply #79 on: February 01, 2008, 12:00:09 AM »
I'm a big fan of ARM processors. I believe Acorn users should be really happy  :-D

Who is making Cortex M8 chips ? Texas announced that some time ago, but I would like to know who is making these babies today.

I still think an embbedded PPC is the best solution for an Amiga accelerator. I see the PPC as a long term solution also, for processing-power hungry devices, and we have plenty of than, as the consoles mentioned before, and we need to include network stuff, EFI, set top boxes, etc...

ARM seems to be pointing to portable and embbeded stuff. To the low end market.

My guess (this is just my feelings about it) is that ARM will grow up to be the best power efficient solution, and to replace most of 8 bit microcontrolers, as the prices are already diving fast. PPC will be the high end target for everything that needs raw processing power. Sooner or later, G5s and Cells will go embbeded also, as technology advances, and we will have faster PPCs due to the supercomputer guys (check IBM, for example...)

x86s will stay on the desktop, simply because if you wish to use an embbedded PC, it is cheaper to buy a common mobo and use it, like ATMs and arcades do. There are also few companies pushing for embbeded x86s, and most still require northbridges and all the assorted stuff. They can't compete with powerfull ARMs and PPCs, and there are still other powerful chips like the BlackFin, SH, v850, MIPS and others

For the Coldfire, it doesn't match neither ARM, PPC or x86, and it is still incompatible with 68K. It's bus is a problem also, the best way to use it is to "translate" Amiga's bus to PCI.

To resume: PPC embbeded is nice, because it is cheap (US$17,86 for a 760MIPS MPC5200B, for example), we can get it without a heatsink, it will be easier to run OS4/Morphos, and to connect it's bus to the Amiga than any other uP.
x86 for sure is faster, but if that is the future, it will run AROS, rather than be conneccted to a real Amiga

It's just my opinion.. :-)
 

Offline Hans_

Re: Coldfire - Binary Compatible
« Reply #80 on: February 01, 2008, 01:27:36 AM »
Quote

bloodline wrote:
Quote

Hans_ wrote:
@bloodline & hbarcellos

By that reasoning, an AMD CPU is an x86 emulator too. It's not identical to the original x86 chip, but it does the same thing. Multiple companies make different but compatible versions of the same thing all the time. That doesn't make them emulators.


But you can take that argument to a stupid level... A Transistor is just a valve emulator... a computer is just an abacus emulator...


My point exactly.

Quote

The only thing we disagree upon is the means... since we both want the same ends...


But it's the means that decides whether it's an emulator or a clone, not the end result.

Quote

I just don't see the difference between a "Field Programmable Gate Array" programmed to behave like a chip/set of chips, and a CPU running a program  to do the same :-)


I guess we'll have to leave it at that then. Given that one is a software emulation of hardware, and the other is a hardware design that's compatible with the original, I see them as very different. Moreover, if I were to take the MiniMig Verilog files and use them to synthesize an ASIC, would you still consider it an emulator? I've worked with both microcontrollers and FPGAs; they're very different.

Hans
Join the Kea Campus - upgrade your skills; support my work; enjoy the Amiga corner.
https://keasigmadelta.com/ - see more of my work
 

Offline rkauer

  • Hero Member
  • *****
  • Join Date: May 2006
  • Posts: 3263
    • Show only replies by rkauer
Re: Coldfire - Binary Compatible
« Reply #81 on: February 01, 2008, 02:59:46 AM »
 So we end at the very same boat.

 The original question is: how to create a "new" accelerator for classics.

 My best shot: reverse engineering the 68060 and put the results in a FPGA, but clocked at a monster speed.

 Of course, this solution may be not very practical, because the cost of such FPGA (@least 400MHz, a dozen logic gates, BGA package and so on).
Goodbye people.

I\'ll pop on from time to time, RL is acting up.
 

Offline shoggoth

  • Full Member
  • ***
  • Join Date: Dec 2004
  • Posts: 223
    • Show only replies by shoggoth
Re: Coldfire - Binary Compatible
« Reply #82 on: February 01, 2008, 09:24:27 AM »
Perfect 68k compatibility on a ColdFire-machine won't happen, though question is if it's possible to make things compatible enough for a certain type of user. On the Atari platform, people are experimenting with running TOS and FreeMiNT on ColdFire evaluation boards.

Link: http://pagesperso-orange.fr/didierm/ct60/ctpci.htm

So far, success is limited to booting a (very) simple OS installation with a few applications running. He's using CF68KLib to get things running to a certain degree. The MyAES GUI runs natively on the ColdFire (not shown on the page though). Even though this setup is extremely limited, I'd like to view it as a proof of concept.

A ColdFire-based system would have to deal with the following scenarios:

1. Applications which work right away
 
2. Applications which doesn't work, but can be recompiled or patched

3. Applications which can't be patched and won't work

4. Games and stuff

The first case (1) is covered just by implementing CF68KLib in the system. Performance range from really fast to so-so depending on the use of unimplemented instructions. The second (2) case is dealt with by recompiling applications, manually patching stuff, or using PortASM (to a certain degree, at least).

The third case (3) is covered by a fallback approach. If everything else fails - you emulate the whole CPU for that particular process. I've personally done some experiments with this based on the CPU-emulator from CaSTaway, and while the raw processing performance is pretty bad (~8-16Mhz 68000 on a 100Mhz 68060), all OS functions etc. runs natively at full speed, giving the impression of a much faster machine. In some cases it was even difficult to spot the difference in performance between a "native" and "emulated" process. Also, in practice, an emulated process doesn't steal much CPU time from the rest of the system, since applications tend to spend most of their time waiting for input etc (and thus releases control to the OS, effecitvely pausing the emulation).

The last case (4) needs complete emulation of the whole system. CaSTaway runs at between 50-200% relative performance (8Mhz Atari ST) on a 100Mhz 68060. It doesn't offer perfect compatibility (well, and atm it usually hangs the system after a while), but again - it's a proof of concept. I know the Amiga is much trickier to emulate though.

I've ordered a ColdFire EVB myself and hope to get some "real" numbers later on.

I imagine a ColdFire clone could be successful for a certain type of user (like me - using coding GCC, ICQ, IRC, simple browsing, listening to MP3:s etc.), but users looking for games and demo compatibility should probably look at emulators instead.
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3645
    • Show only replies by alexh
    • http://thalion.atari.org
Re: Coldfire - Binary Compatible
« Reply #83 on: February 01, 2008, 09:30:17 AM »
Quote

rkauer wrote:
 My best shot: reverse engineering the 68060 and put the results in a FPGA, but clocked at a monster speed.

 Of course, this solution may be not very practical, because the cost of such FPGA (@least 400MHz, a dozen logic gates, BGA package and so on).

It's not practical because no single FPGA has the capacity for a 68060 or the ability to run at high speed with a design of that complexity.

The best solution for a new classic accelerator (or a faster MiniMig), is to find a source of reasonable priced rev6 060 chips. Either pulls from other equipment such as telecoms, or direct from freescale through sideband channels.
 

Offline freqmax

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
Re: Coldfire - Binary Compatible
« Reply #84 on: February 01, 2008, 12:28:08 PM »
Do we really need a softcore-68060, why not try to do 68020 (+mmu) in fpga instead? should give enough benefits without the complexity?
 

Offline jj

  • Lifetime Member
  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 4054
  • Country: wales
  • Thanked: 2 times
  • Gender: Male
    • Show only replies by jj
Re: Coldfire - Binary Compatible
« Reply #85 on: February 01, 2008, 01:38:43 PM »
Would hardly be an accelerator then would it
“We don't stop playing because we grow old; we grow old because we stop playing.” - George Bernard Shaw

Xbox Live: S0ulA55a551n2
 
Registered MorphsOS 3.13 user on Powerbook G4 15"
 

Offline Krusher

  • Sr. Member
  • ****
  • Join Date: May 2003
  • Posts: 450
    • Show only replies by Krusher
Re: Coldfire - Binary Compatible
« Reply #86 on: February 01, 2008, 01:40:39 PM »
With enough demand, an fpga can be made into an asic.
I'd rather see a 100% compatible '030 though (in fpga).
 

Offline alexh

  • Hero Member
  • *****
  • Join Date: Apr 2005
  • Posts: 3645
    • Show only replies by alexh
    • http://thalion.atari.org
Re: Coldfire - Binary Compatible
« Reply #87 on: February 01, 2008, 02:13:17 PM »
Quote

Krusher wrote:
With enough demand, an fpga can be made into an asic.

You're joking right? $70k NRE minimum
 

Offline Krusher

  • Sr. Member
  • ****
  • Join Date: May 2003
  • Posts: 450
    • Show only replies by Krusher
Re: Coldfire - Binary Compatible
« Reply #88 on: February 01, 2008, 02:16:04 PM »
I told you, with enough demand  :lol:

 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Coldfire - Binary Compatible
« Reply #89 on: February 01, 2008, 02:30:02 PM »
Quote

freqmax wrote:
Do we really need a softcore-68060, why not try to do 68020 (+mmu) in fpga instead? should give enough benefits without the complexity?


This is going to sound crazy after my previous rant... but probably the best idea is to clone something more like a Coldfire compatible core on FPGA... but one where all incompatible (with the 68k) instructions/addressing modes are trapped and trigger exceptions. And one where the supervisor mode functions as the supervisor mode on the 68k.

I expect the Freescale engineers carefully selected which 68k features would scale well, and/or be easy to implement simply. Then all less scalable features could be emulated (a la 68060.library etc...), that would not be particularly quick for old software, but it would run (possibly faster than on a real 68k).

If we took TobiFlex's 68k and stripped it back, it could probably be done... and would reduce the complexity/size of the core!