Re: How about VLIW used as RISC?

torbenm@diku.dk (Torben Ęgidius Mogensen)
29 Apr 2004 12:08:46 -0400

          From comp.compilers

Related articles
How about VLIW used as RISC? ronald@interqos.com (2004-04-28)
Re: How about VLIW used as RISC? nmm1@cus.cam.ac.uk (2004-04-29)
Re: How about VLIW used as RISC? ricardo.b@zmail.pt (Ricardo Bugalho) (2004-04-29)
Re: How about VLIW used as RISC? torbenm@diku.dk (2004-04-29)
Re: How about VLIW used as RISC? MitchAlsup@aol.com (2004-04-29)
Re: How about VLIW used as RISC? alexc@std.com (Alex Colvin) (2004-05-02)
Re: How about VLIW used as RISC? gah@ugcs.caltech.edu (glen herrmannsfeldt) (2004-05-02)
Re: How about VLIW used as RISC? stanlass@netins.net (Stan Lass) (2004-05-02)
Re: How about VLIW used as RISC? sander@haldjas.folklore.ee (Sander Vesik) (2004-05-08)
Re: How about VLIW used as RISC? ricardo.b@zmail.pt (Ricardo Bugalho) (2004-05-08)
[1 later articles]
| List of all articles for this month |
From: torbenm@diku.dk (Torben Ęgidius Mogensen)
Newsgroups: comp.arch,comp.compilers
Followup-To: comp.compilers
Date: 29 Apr 2004 12:08:46 -0400
Organization: Department of Computer Science, University of Copenhagen
References: 04-04-088
Keywords: architecture
Posted-Date: 29 Apr 2004 12:08:46 EDT

ronald@interqos.com (Ron) writes:


> We have simple scalar RISC and superscalar RISC but why there is few
> or no VLIW used as an RISC for general application?
>
> [Please try to keep this to compiler issues; comp.arch has a running
> flamefest on the Itanium that you're all welcome to join. -John]


I'll try, John. :-)


I think one of the major reasons is that VLIW relies on compilers to
statically schedule programs. While this may work fine for some types
of workloads (in particular scientific computation or graphical
stuff), it doesn't work well with modern PC-style applications. Also,
it is hard to increase parallelism in newer models of the same
instruction set without having to recompile.


An approach using a JIT compiler that collects profiling information
before compiling could work. This way, you can use an intermediate
form that has little or no scheduling information and let the JIT
compiler schedule for the actual VLIW parameters and profile. If you
regularly reprofile and recompile code, you can reschedule a program
while it runs. I believe the Transmeta processors use something like
this internally.


Torben


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.