[comp.arch] i860

mash@mips.COM (John Mashey) (03/13/89)

In looking thru this document, I was curious about the description
of the simulation vehicle. (page 10).  The benchmarked machine
says: 5 wait-states for first read from idle, 2 for write from idle,
zero waits for page mode read/write.
The simulation says: "Zero-wait-state memory accesses are assumed".

is that a typo, or does it really mean a perfect zero-overhead memory
system?  [we'd like to know the part number of the RAMs used to
build that memory; we'd like to buy a whole bunch of them.
Our LINPACK's are over in the corner whining that if the neighbors
get some, they want them, too . :-)]

One of the reasons for asking, of course, is that of the 4 benchmarks
[Dhrystone, Stanford, Whetstone, Linpack], 2 (S & L) were simulated, and 2
were run, although as somebody already posted, it appears that
Dhrystone was written in FORTRAN, so that number is not directly
comparable.  That leaves Whetstones.  I am a little curious that
the simulated Whetstones are LOWER than the measured Whetsones.
Although Whetstone would fit in the i860's caches pretty well,
it still seems odd that the measured number would be better, given
the assumptions described.  (There are often simplifying assumptions
built into simulators that cause +/- a few percent variations, when
simulating a program that has nontrivial kernel interactions, but
none of these are like that.)

Can anybody shed any light on these?
-- 
-john mashey	DISCLAIMER: <generic disclaimer, I speak for me only, etc>
UUCP: 	{ames,decwrl,prls,pyramid}!mips!mash  OR  mash@mips.com
DDD:  	408-991-0253 or 408-720-1700, x253
USPS: 	MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086

dgb@cs.washington.edu (David Bradlee) (02/23/90)

In article <1990Feb20.031858.18512@Neon.Stanford.EDU>, gopi@goretex.Stanford.EDU (K. Gopinath) writes:
> What use are the KR,KT & T  regs? I tried coding for a loop with a stmt
> d = d + a[i]*b[i]*c[i] but the non-orthogonalities just repeatedly
> frustrate any way of keeping both +/* going at the same time (modulo
> 2 mults and 1 add). These regs cannot be used like temps; there are
> too many restrictions.

One use for T is in an expression such as (a*b)+(c*d).  You can
overlap the 2 multiples and save the first in T, then add T directly
to the result of the multiplier.  KR and KI could be used to multiply
by a loop invariant.  I'm sure there are other uses.  The i860 does
have many non-orthogonalities which make it hard write code for and
hard for the compiler to make choices between the different options.

	Dave Bradlee
	Department of Computer Science and Engineering, FR-35
	University of Washington
	Seattle, WA  98195
	dgb@cs.washington.edu