[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [oc] Re: Merlin Hybrid System



I'm going to throw my two cents worth into this dicussion primarily because I have some relevant
experience with a machine similar to the Crusoe processor.  I was one of the engineers on the
Cydra-5, a VLIW machine.

VLIW - Very Large Instruction Word.  Same as the Crusoe.  This is a single processor that has
multiple execution units, each with a specific capability - it might have an address generation
unit, integer unit, floating point unit, extra. The biggest problem with the Cydra commercially
was that the architecture was a dead-end.  If you compiled code for this machine, and the next
generation had 9 execution units instead of 7 - then the machine was not binary compatible with
it's predecessor.

Crusoe gets around this by Just In  Time compilation of the thread it's running.   If you come up
with a new architecture, you do JIT for that new architecture.  An elegant solution really to the
VLIW dead-end problem.

VLIW compiler technology tries to keep the maximum number of execution units busy for a given
thread of code.  Nominally this means finding the inner-most loops of code fragments and
scheduling different interations of the loop across the different execution units so they can run
in parallel.  So - in away, the JIT compiler DOES have to understand part of the code, but in a
peep-hole fashion.  The fact is that VLIW can parallelize some algorithms that other architectures
like Vector processors can deal with.

So - if Mr. Dempsey's idea can lie on-top of the above frame-work, all the more power to him.

Steve Wilson



Andreas Bombe wrote:

> On Tue, Dec 04, 2001 at 10:09:37AM -0600, Jim Dempsey wrote:
> > I've concieved of a method
> > by which using an extension of the Crusoe technology that multiple
> > processors can be used effectively and transparently to make a single
> > threaded program use multiple threads, make a single processor
> > operating system use multiple processors, and make an n-processor
> > operating system use more than n-processors.
>
> I don't believe that.  Are you saying that you could take one single
> threaded program, let's say a raytracer, and convert it to a multi
> threaded program?  Raytracing is nicely parallelizable:  Divide the
> picture up into parts or an animation into pictures and distribute the
> load.  How are you going to automate that (finding the line/frame loop
> and taking it apart)?  Your converter would have to _understand_ the
> program, i.e. it would have to be an AI.
>
> I doubt the transparency part.  As for the effectiveness, have you
> benchmarked it?
>
> --
> Andreas Bombe <bombe@informatik.tu-muenchen.de>    DSA key 0x04880A44
> --
> To unsubscribe from cores mailing list please visit http://www.opencores.org/mailinglists.shtml

--
To unsubscribe from cores mailing list please visit http://www.opencores.org/mailinglists.shtml