|How many vector registers are useful? email@example.com (1993-01-25)|
|Re: How many vector registers are useful? firstname.lastname@example.org (1993-01-25)|
|Re: How many vector registers are useful? email@example.com (1993-01-26)|
|Re How many vector registers are useful? firstname.lastname@example.org (1993-01-26)|
|Re: How many vector registers are useful? email@example.com (1993-01-26)|
|Re: How many vector registers are useful? firstname.lastname@example.org (1993-01-27)|
|Re: How many vector registers are useful? email@example.com (1993-01-27)|
|[8 later articles]|
|From:||firstname.lastname@example.org (Reinhard Kirchner)|
|Organization:||University of Kaiserslautern, Germany|
|Date:||Mon, 25 Jan 1993 13:11:46 GMT|
On discussing various merrits of different vector machines we came about
the issue of the register architectures.
There are on one side the cray and convex with 8 vector registers a 64 or
128 words, and on the other side,
The Fujitsu machines with their reconfigurable register file of 32 or
64kb, which is 4k or 8k words, being grouped from 256 register a 16/32
words to 8 registers a 512/1024 words.
Now there is the question: is such a large register file useful at all ?
A register has an optimizing effect only when the value in it can be used
several times, at least twice, to avoid loading the value again from
memory. We all know that this is to a great extent possible on scalar
But how is this on vector machines ? The register creates a speedup only
when it can hold an entire vector, which can be used again later. This
requires a register long enough to do so. That means vectors of e.g. a
length of 5000 can not be held anyway, every machine must load, process,
and store it in pieces, and only a lot of memory bandwidth helps.
When configured as a few long vectors the Fujitsu vector registers may
help, but then comes the second question: Are there any statistics on the
reusing of vectors? I know about such things for scalar registers, where
people found that 32 is plenty enough, and only 8 help a lot. But in these
cases registers are used for loop indexes, addresses etc., which can not
be compared to the use of vector registers.
So: what can be gained with such a big vector register file ? Or is it
only of limited help ? Can the register file be traded against bandwith to
load and store from memory ?
Univ. of Kaiserslautern, Germany
Return to the
Search the comp.compilers archives again.