Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!apple!bbn!bbn.com!slackey
From: slackey@bbn.com (Stan Lackey)
Newsgroups: comp.arch
Subject: Re: VLIW Architecture
Keywords: vliw
Message-ID: <46254@bbn.COM>
Date: 29 Sep 89 12:58:01 GMT
References: <251FCB3F.12366@maccs.dcss.mcmaster.ca> <1050@m3.mfci.UUCP>
Sender: news@bbn.COM
Reply-To: slackey@BBN.COM (Stan Lackey)
Organization: Bolt Beranek and Newman Inc., Cambridge MA
Lines: 35

In article <1050@m3.mfci.UUCP> cutler@mfci.UUCP (Ben Cutler) writes:
>In article <251FCB3F.12366@maccs.dcss.mcmaster.ca> cs4g6ad@maccs.dcss.mcmaster.ca (Custeau     RD) writes:
>>   I am looking for references or information on VLIW architectures for
>>a fourth-year architecture seminar.  Any help would be greatly appreciated.
>A good ``introductory'' text is ``Bulldog: A Compiler for VLIW Architectures'',

It's a great work.  Nearly all of the attention is on the compiler,
and doesn't get into hardware or OS issues.  A main difference between
the book and what Multiflow ended up shipping is in the memory
interface.  The book expected a separate path from each main data path
in the CPU to its corresponding bank of memory, with relatively slow
transfer paths in between.  Thus, for peak performance, the compiler
would have to be able to predict which memory bank a datum is in, and
give the instruction to the corresponding CPU.

In many cases, this is not a problem, as scalar variables (in FORTRAN
anyway) have their address known at compiler time, and of course the
base of all arrays are known.  But apparently calculated indices into
arrays are common enough to be a problem.  There was much attention
paid to this "memory bank disambiguation" in the book, and even
included a syntax for allowing the user to give hints to the compiler
to aid in disambiguation.

From what I could tell from looking at Multiflow's released
documentation, Multiflow eliminated this problem with a kind of a
"distributed crossbar" (as I would call it) between the CPU's and the
memory banks.  This allows the disambiguation to be resolved at
runtime, and answered my main criticism of the technology.

Another difference is that the prototype compiler for the thesis was
written in Lisp.  I think Multiflow ended up using C.

-Stan
Not affiliated with Multiflow except as an interested observer.  Not
necessarily the views of BBN either.