home .. forth .. misc mail list archive ..

Re: Register windows


On Thu, 10 Aug 1995, Eugen Leitl wrote:

> MMU sounds good. Hardware multitasking (2nd register bank for
> OS?) switch, too.

I'm not convinced at all, that the "register window" design is beneficial 
to multitasking.  What one is doing there is allocating silicon, which 
_cannot_ be utilized fully for a single task. 

If we follow the 10/90 percent wisdom (which in scientific computing is 
actually closer to 01/99) one needs flexibility in _programming_ the 
control functions and speed in _executing_ the kernels. So, one is much 
better off with total control over all of the silicon for the inner 
loops, versus total control over 3/4 of the silicon + some abstract 
"hardware multitasking."

Here is an example. Calculate a convolution (dot product) of a kernel in
SRAM and data in DRAM.  The fastest way is to make a on-page sweep through
DRAM and stuff the data on the stack, and then calculate the dot product. 
(Memory moves are fastest that way too.) Having all the stack dedicated to
the task, one would minimize the slowest events -- off-page DRAM fetches. 

On the other hand, big states (register files) are not good for
multitasking, since _all of them_ need to be swapped to/from memory
_every_ context switch. (Don't tell me, that having _only_ two tasks is
adequate for a multitasking machine.)

--
Penio Penev <Penev@venezia.Rockefeller.edu> 1-212-327-7423