Welcome, Guest. Please login or register.

Author Topic: Is the Coldfire project dead?  (Read 9290 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16882
  • Country: gb
  • Thanked: 6 times
    • Show all replies
Re: Is the Coldfire project dead?
« on: November 19, 2004, 02:06:06 AM »
I sincerely hope not.

Whats the sketch, Oli?
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16882
  • Country: gb
  • Thanked: 6 times
    • Show all replies
Re: Is the Coldfire project dead?
« Reply #1 on: November 20, 2004, 12:27:08 PM »
Quote

lordv wrote:

Yes, you're right. A g4-only accel card will be enough for everybody (whoops! :). fast g4 (1ghz) could fully emulate 68k at the rough speed of 040 or 060 when no JITting. With JIT it will become the fastest 68k ever seen :) And you still have conventional amiga, not the pc-like monster (pegosos or amigaone, whose the only difference from pc is the powerpc processor). Optionally you can have on such an accel modern single-chip videocard (I don't understand why I could ever wish geforce4 on my amiga!).


Actually, I have to point out that running interpritevly, the 680x0 emulation in OS4 is quite capable of reaching the same level performance on my 603e as the real 68040 on the same card. Naturally the actual performance depends on the task at hand - some oerations are considerably slower, others faster.
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16882
  • Country: gb
  • Thanked: 6 times
    • Show all replies
Re: Is the Coldfire project dead?
« Reply #2 on: November 20, 2004, 05:05:15 PM »
Actually, JIT mechanism for 68K on coldfire need not be more complex than HP's Dynamo mechanism. That is effectively a hotspot JIT emulating the actual same CPU it is running on and gets faster performance due to various runtime optimisations that arent possible to make at compile time.

Like Dynamo, a JIT 680x0 on coldifre implementation has the benefit that most of the instructions would need no translation - you only need to worry about branch offsets that change as a result of expanding some code "inline", like your unimplemented 680x0 instructions.
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16882
  • Country: gb
  • Thanked: 6 times
    • Show all replies
Re: Is the Coldfire project dead?
« Reply #3 on: November 21, 2004, 02:40:59 PM »
Dynamo is a dynamic recompilation engine for HP PA8000, running on he HP PA8000.

It blows away the arguments against register allocation and so on. It is a hotspot JIT (ie mostly interpretation which in this case translates into just executing the code as is) that simply optimises away loops, conditional branches etc. at runtime.

See here

The concept is equally applicable to any CPU. If you imagine the coldfire as a 68K, it will simply operate by running the code as is until it encounters a trap triggered by an unimplemented instruction. This will invoke the recompilation stage for that part, which can expand inline into a sequence of instructions to achieve the same end and then saved out into the JIT cache. You will just have to push any registers you clobber at the start of the expansion and pop them at the end (not neccessarily to the system stack, but a reserved area that is part of the JIT engine). You make sure the last thing you pop are the cc/sr (and modify them as required). It really isn't any different to the dynamo case - they are optimising away expensive loops etc, the coldfire system would be optimising away the unimplemented instructions. 99% of the time, you'd just be executing coldfire compatible 68K code, the remainder would be actually doing the transcription where needed.

int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16882
  • Country: gb
  • Thanked: 6 times
    • Show all replies
Re: Is the Coldfire project dead?
« Reply #4 on: November 21, 2004, 03:33:19 PM »
But Matt, the beauty of the dynamo approach is that you can trap any instruction you want. You dont need to rely on hardware exceptions - all code blocks are analysed before 'interpetation' (which means execution in this case) ;-)

Simply put, dynamo is the only emulation strategy that acutally outperforms the the cpu it is emulating *on that cpu*! :-D

It runs PA8000 code on a PA8000 up to 25% faster than the PA8000 does by itself. Read the article to see why ;-)
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16882
  • Country: gb
  • Thanked: 6 times
    • Show all replies
Re: Is the Coldfire project dead?
« Reply #5 on: November 21, 2004, 03:43:24 PM »
Fair enough, but *if* Oli's coldfire hardware takes off, you have to admit it would be a killer way to emulate the 680x0 on it :-D
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16882
  • Country: gb
  • Thanked: 6 times
    • Show all replies
Re: Is the Coldfire project dead?
« Reply #6 on: November 21, 2004, 04:08:15 PM »
@lordv

Agreed but it isn't quite like any old JIT in that it has a much smaller transcription overhead than other JIT since the majority of any code is simply pased through the translation stage unchanged - in fact, in many cases blocks that contain no unimplemented instructions do not need to be copied at all, simply referenced.

However that is not the issue here. The topic is about the existing coldfire project and the problems it faces - I'm just trying to suggest solutions to those problems.

A G4/G5 card would be great, but then there is absolutely no reason not to use MOS/OS4 on those systems instead since that  will be even faster than a pure 680x0 emulation of OS3.x (by virtue of having the native OS / driver resources).
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16882
  • Country: gb
  • Thanked: 6 times
    • Show all replies
Re: Is the Coldfire project dead?
« Reply #7 on: November 22, 2004, 11:37:09 AM »
@lordv

To be honest I think we are talking about crossed purposes.

All I am saying is that for a coldfire based solution, the dynamo style JIT would be the best way to go for highest performance 680x0 emulation.

I didn't say it was perfect, but it is a lot better than the average JIT in terms of efficiency. Again, the whole point I am suggesting it is because the topic is about the coldfire and not PPC/XScale.

Obviously if someone released a CPU card powered by an x86/PPC/XScale etc. you would have to employ a conventional JIT approach. If, on the other hand, you are using a coldfire, you can use a dynamo style JIT (which is not fully applicable to a CPU with a totally different instruction set) which is proven more effective for the specific case of emulating like on like.

@Whabang

Dont worry, most of it is academic argument  - unless someone does release a G4/G5 card for the classic :-D
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16882
  • Country: gb
  • Thanked: 6 times
    • Show all replies
Re: Is the Coldfire project dead?
« Reply #8 on: November 22, 2004, 12:42:24 PM »
Quote

bloodline wrote:
Or an XScale card :-D


Or an XScale card.

What about an Athlon64 card running a JIT emulation? For tower systems only of course. You get the benefit of decent off the shelf controllers for memory, AGP, IDE etc then :-)
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16882
  • Country: gb
  • Thanked: 6 times
    • Show all replies
Re: Is the Coldfire project dead?
« Reply #9 on: November 22, 2004, 01:11:21 PM »
One reason I suggested the althon 64 was largely because it apparently dissipates a lot less heat than previous generations.
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16882
  • Country: gb
  • Thanked: 6 times
    • Show all replies
Re: Is the Coldfire project dead?
« Reply #10 on: November 22, 2004, 01:23:06 PM »
How the hell did you melt your blizzppc?

I have the 040 version and it doesnt get that hot!
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16882
  • Country: gb
  • Thanked: 6 times
    • Show all replies
Re: Is the Coldfire project dead?
« Reply #11 on: November 22, 2004, 01:25:37 PM »
I think some of the v4 cores are over 400MHz already?

@Matt

Anyhow, your basic Athlon64 card would naturally have an ATX power connector and appropriate cooling :-)
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16882
  • Country: gb
  • Thanked: 6 times
    • Show all replies
Re: Is the Coldfire project dead?
« Reply #12 on: November 22, 2004, 01:43:54 PM »
@bloodline

Yeah same card (I have the SCSI also, but nothing is using it atm).

That sounds far more like the result of an electrical short out in the fan to me. The current surge would be enough to melt the wires after that - they are only thin, after all.

My system now just has the heatsink on the 040 and that physically touches the case side plate (no space for a fan). There is a slimline VGA cooler added to the PPC heatsink now and although it fits in the case, I left the side off for the moment until I can drill some holes where the fan is (it is illuminated too so it might not look totally poo if done right).

int p; // A