Professional Documents
Culture Documents
For high-speed vector operations, a full implementation of the architecture is endowed with a set
of 64 integer ALUs and a set of 64 floating-point ALUs. To permit them to be used for
superscalar processing as well, each ALU is provided with an L1 cache. To build on these
elements with as little additional circuitry as possible to create 64 processors capable of
operating independently, giving each processor its own register file in addition to the L1 cache
was avoided, permitting a very simple and regular instruction format, which is shown below:
The first 128 of the eight-bit opcodes defined for use by the sixty-four small processors which
handle this simple two-address memory-to-memory instruction set are as follows:
As there are no registers, the swap instructions have been removed; as there
are therefore no index registers, a Load Indirect instruction and a Store
Indirect instruction have been added. These instructions take a half word
value as a source argument, which then points to the value used as the
source argument of the load or store. Also, as the instructions are memory-
to-memory instructions, the regular load and store instructions are replaced
by a Move instruction.
Note, however, that this does not mean that long vector quad-precision
floating point instructions would also be omitted. The original Cray
computers with operations similar to the long vector instructions, although
they had groups of 64 registers, did not have groups of 64 ALUs, they
instead relied on a single pipelined ALU. Of course, this would mean that long
vector operations on quadruple precision values would no longer be
comparable in speed to long vector operations on double precision values.
Other Instructions
here noted in hexadecimal form rather than octal form, due to the arrangement of the internal
instructions.
As well, a subroutine jump instruction, and a jump indirect instruction, useful for returning from
a subroutine, are provided:
The Jump to Subroutine instruction transfers control to the location which is its source operand,
and stores the return address in the halfword which is its destination operand. The Jump Indirect
instruction finds the address to which to transfer control in the halfword that is its source
operand.
The shift instructions are:
E00nnxxx SHLB Shift Left Byte
E10nnxxx SHRB Shift Right Byte
The shift count is placed in the source address field, the memory location
whose contents are to be shifted is identified in the destination address field.
Reported By: Erwin and
Rolando