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.