[comp.arch] VLIW SPECmarks

mark@mips.COM (Mark G. Johnson) (10/11/89)

 
The SPEC benchmarks (sources) have been officially released, and about
a dozen machines' results (their "SPECmark" ratings) have been published;
see, for example, EETimes Oct 9, page 1.

One of the machines that did quite well* was the Apollo DN10000, which has,
among other things, multiple instruction issue (superscalar) and a
"FP multiply and add" instruction.  {was this the inspiration for the
i860 which appeared 2 years later?  :-)}

So this makes me wonder, how will a Serious multiple-instruction-issue
machine like a VLIW perform on SPECmarks?  Does anybody out there have
SPEC measurements on a Multiflow computer, preferably one of the big
bohunker maxi-config models with lots of parallel execution units?
Measured *data* preferred (vs. conjecture/opinion).

Thanks in advance.
					* one or two plain-vanilla scalar
					  machines SPECmarked about as fast
					  or slightly faster than the DN10000
-- 
 -- Mark Johnson	
 	MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086
	(408) 991-0208    mark@mips.com  {or ...!decwrl!mips!mark}

aglew@urbana.mcd.mot.com (Andy-Krazy-Glew) (10/17/89)

>One of the machines that did quite well* was the Apollo DN10000, which has,
>among other things, multiple instruction issue (superscalar) and a
>"FP multiply and add" instruction.  {was this the inspiration for the
>i860 which appeared 2 years later?  :-)}

Urghh.... What do you mean by "superscalar"?  I understood it, at
first, to mean "parallel dispatch of instructions from an instruction
set with sequential semantics, after first having checked
dependencies".  I think it was in N. Jouppi's paper --- but come to
think of it, that paper contrasted superscalar vs. superpipelined, and
did seem to imply things about VLIW style parallel instruction
dispatch.

May I suggest terminology:

    *Parallel instruction dispatch*
    	dispatching more than one instruction per cycle.

    	May be done:
    	
    	    *With Interlocks*
    	    	assuming an underlying serial model
    	    *Without Interlocks*

    *Parallel Instruction Execution*

    	Executing more than one instruction per cycle.
    	These instructions may be parallel dispatched, or serially
    	dispatched. Pipelining is a simple example of 
    	parallel instruction execution, although it is more
    	interesting to consider non-pipelined versions, where
    	instructions may cross, etc.

    	Again, may be w/wo interlocks

    *Parallel Instruction Semantics*

    	Imply that several different operations may be specified in the same
    	instruction.  Implies no interlocks.  Most of the recent VLIW-style
    	announcements are in this category.

There are serial versions of each of the above.

Obviously, they may be combined.

Eg. conceivably a TRACE-28 could do parallel dispatch and execution
of a TRACE-7 program, given suitable dependency checks.

Serial instruction dispatch may be combined with parallel instruction
execution. This was, eg., Tomasulo's original algorithm.

It is not unimaginable that the dispatch unit might be clocked faster
than the execution unit, so that a several instruction parcel that can
be executed in parallel, in a single execution unit cycle, might be built
up from a serial instruction set by a serial dispatch unit in overdrive.

There are some interesting tradeoffs here.

Andy "Krazy" Glew,  Motorola MCD,    	    	    aglew@urbana.mcd.mot.com
1101 E. University, Urbana, IL 61801, USA.          {uunet!,}uiucuxc!udc!aglew
   
My opinions are my own; I indicate my company only so that the reader
may account for any possible bias I may have towards our products.



    
--
Andy "Krazy" Glew,  Motorola MCD,    	    	    aglew@urbana.mcd.mot.com
1101 E. University, Urbana, IL 61801, USA.          {uunet!,}uiucuxc!udc!aglew
   
My opinions are my own; I indicate my company only so that the reader
may account for any possible bias I may have towards our products.