Newsgroups: comp.arch
Path: utzoo!henry
From: henry@zoo.toronto.edu (Henry Spencer)
Subject: Re: Optimal Computer Architectures
Message-ID: <1990Nov14.180345.27007@zoo.toronto.edu>
Organization: U of Toronto Zoology
References: <212412@<1990Nov8> <3300209@m.cs.uiuc.edu> <8662@scolex.sco.COM> <1990Nov13.200051.12329@zoo.toronto.edu> <11092@pt.cs.cmu.edu>
Date: Wed, 14 Nov 90 18:03:45 GMT

In article <11092@pt.cs.cmu.edu> lindsay@gandalf.cs.cmu.edu (Donald Lindsay) writes:
>First, compilers for non-window machines try to dribble values out to
>memory, avoiding bursts that could cause processor stalls. (The
>infamous VAX "calls" instruction writes a burst, and that seriously
>stalled the VAX 11/780.) Obviously, writing a bunch of windows is a
>burst.

The tradeoffs here are subtle.  Many memory systems have much higher
bandwidth for sequential bursts than for random accesses, although your
bus and processor have to be designed to exploit this.  There is also
the question of stalls waiting for data to be *read* from memory, while
the window machine can charge ahead because the data is probably in a
register instead.

>I'm unconvinced that register windows are a good idea...

The MIPSCo people, who measure almost everything, say that for ordinary
C code it doesn't matter much either way, *if* you're willing to assume
sophisticated compilers.  (Of course, they are perhaps not entirely
unbiased... :-))  They also say that for languages with highly dynamic
calling patterns (e.g. C++ and Smalltalk), where the compiler has less
of a handle on what's happening, register windows would be a modest win.
They're definitely a big win if your compiler isn't too bright.

>but I'm also
>unconvinced that SPARC is some sort of disaster area. 

I wouldn't call it a disaster area exactly, at least not for this reason :-),
but rapid large excursions in stack depth are definitely expensive on it.
-- 
"I don't *want* to be normal!"         | Henry Spencer at U of Toronto Zoology
"Not to worry."                        |  henry@zoo.toronto.edu   utzoo!henry
