[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