From: Quadibloc on
On Apr 9, 3:17 pm, n...(a)cus.cam.ac.uk (Nick Maclaren) wrote:
> In article <90aLj.47758$kN5.39...(a)newsfe1-gui.ntli.net>,"Wilco Dijkstra" <Wilco_dot_Dijks...(a)ntlworld.com> writes:
>
> |> "Ripunjay Tripathi" <ripunjay.tripa...(a)gmail.com> wrote in message
> |>news:810bb078-2719-48ae-b47a-6510fa72a9bb(a)u12g2000prd.googlegroups.com....
> |> On Apr 9, 12:21 am, Terje Mathisen <terje.mathi...(a)hda.hydro.com>|> wrote:
>
> |> > Ripunjay Tripathi wrote:
> |> > > Different Implementations of the same VLIW architecture may not be
> |> > > binary-compatible with each other.
> |> >
> |> > > I am looking for explaination on the above line.
> |>
> |> Read thishttp://en.wikipedia.org/wiki/VLIWfor a basic explanation.
>
> Of which the first sentence is so misleading as to be effectively
> false.  I can't be bothered to read further.

VLIW does take advantage of instruction-level parallelism, just not
between different instructions the way decoupled microarchitecture
does; it forces you to code it by hand.

Or maybe you mean something else.

John Savard
From: Quadibloc on
On Apr 10, 4:26 am, n...(a)cus.cam.ac.uk (Nick Maclaren) wrote:

> The point is that VLIW originated as a way of making direct use of
> separate hardware units, and was quite commonly used for microcode
> (e.g. on the IBM System/370 range).  It was 'rediscovered' in the
> 1990s as a way of making use of the 'available' ILP in programs
> written in 3GL languages (like Fortran or C).
>
> Wikipedia has got that arsy-versy.

The term VLIW wasn't coined to name horizontal microcode, it was
coined to name things like the Control Data Cyberplus. The two were
still very similar in effect, though, because neither is produced on
the fly, so neither can take advantage of ILP between threads the way
decoupled microarchitecture can.

John Savard
From: Nick Maclaren on

In article <1192aadf-4742-4c5c-af6a-4e4767e0052d(a)k10g2000prm.googlegroups.com>,
Quadibloc <jsavard(a)ecn.ab.ca> writes:
|>
|> > The point is that VLIW originated as a way of making direct use of
|> > separate hardware units, and was quite commonly used for microcode
|> > (e.g. on the IBM System/370 range). It was 'rediscovered' in the
|> > 1990s as a way of making use of the 'available' ILP in programs
|> > written in 3GL languages (like Fortran or C).
|> >
|> > Wikipedia has got that arsy-versy.
|>
|> The term VLIW wasn't coined to name horizontal microcode, it was
|> coined to name things like the Control Data Cyberplus. The two were
|> still very similar in effect, though, because neither is produced on
|> the fly, so neither can take advantage of ILP between threads the way
|> decoupled microarchitecture can.

Yes. But to say that horizontal microcode and the control processors
that used what-was-later-to-be-called-VLIW instruction sets were not
VLIW because the term hadn't been coined by then is the the sort of
terminological politics with which I will have no truck. If the term
VLIW means anything useful in computer architecture, those were VLIW.

Wikipedia starts "... VLIW refers to a CPU architecture designed to
take advantage of instruction level parallelism (ILP)." As I said
earlier, that puts the cart before the horse and rewrites history.


Regards,
Nick Maclaren.
From: Joe Pfeiffer on
nmm1(a)cus.cam.ac.uk (Nick Maclaren) writes:

> In article <1b8wzmiqb2.fsf(a)babs.wb.pfeifferfamily.net>,
> Joe Pfeiffer <pfeiffer(a)cs.nmsu.edu> writes:
> |> nmm1(a)cus.cam.ac.uk (Nick Maclaren) writes:
> |> > In article <90aLj.47758$kN5.39126(a)newsfe1-gui.ntli.net>,
> |> > "Wilco Dijkstra" <Wilco_dot_Dijkstra(a)ntlworld.com> writes:
> |> >
> |> > |> Read this http://en.wikipedia.org/wiki/VLIW for a basic explanation.
> |> >
> |> > Of which the first sentence is so misleading as to be effectively
> |> > false. I can't be bothered to read further.
> |>
> |> Only when taken completely out of context.
>
> Not at all, but you probably haven't been in this game long enough to
> realise why I said that. To start an article by putting the cart
> before the horse and rewriting history isn't good, even in Wikipedia,
> though it is regrettably common.

I certainly remember horizontal microcode. You might be interested in
re-reading Fisher's VLIW paper, which the wikipedia article you find
so misleading contains a link to, and which does a very good job
explaining the similarities and differences between VLIW and
horizontal microcode, and how his goal was specifically to improve ILP.
From: Nick Maclaren on

In article <1b7if5vbfc.fsf(a)babs.wb.pfeifferfamily.net>,
Joe Pfeiffer <pfeiffer(a)cs.nmsu.edu> writes:
|>
|> > Not at all, but you probably haven't been in this game long enough to
|> > realise why I said that. To start an article by putting the cart
|> > before the horse and rewriting history isn't good, even in Wikipedia,
|> > though it is regrettably common.
|>
|> I certainly remember horizontal microcode. You might be interested in
|> re-reading Fisher's VLIW paper, which the wikipedia article you find
|> so misleading contains a link to, and which does a very good job
|> explaining the similarities and differences between VLIW and
|> horizontal microcode, and how his goal was specifically to improve ILP.

I wasn't referring just to horizontal microcode, but to the control
systems that used VLIW instruction sets.

I haven't read Fisher's paper, mainly because the abstract set off
my, er, aromatic hyperbole alarms so loudly. That was because I
remembered the research into VLIW as a target in the 1960s or 1970s,
and why those people decided it was a non-starter. In particular,
his 'expectation' of a 10- to 30-fold improvement by the use of
what sounded like a variation of an old technique would imply that
you could use the same methodology to get a 3- to 10-fold improvement
on more conventional hardware.

I may be maligning him, but EPIC assuredly hasn't delivered on what
his abstract said he expected, by a factor of 10-30, so I suspect my
gut feeling was not too far off.


Regards,
Nick Maclaren.