Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
COMPUTER SYSTEM
[7
require extensive computations involving large quantities of MASS STORAGE ,
data. The quality of a solution depends heavily on the number MCU t FRONT-END COMPUTERS
SUBSYSTEM
of data points that can be considered and the number of
computations that can be performed. The CRAY-1 provides
substantial increases with respect to both the number of data
I BASIC COMPUTER SYSTEM
points and computations so that researchers can apply - - - the
I CRAY-1 to problems not feasibly solvable in the past.
Inputloutput and the CPU share memory access via a single
port. 110 priority is sufficient to ensure maintaining the re-
CONFIGURATION quired transfer rates for the peripheral devices.
circuits installed.
SlGN
Word length 72 bits (64 data, 8 SECDED)
2's COMPLEMENT INTEGER (64 BITS)
Address space 4M words
BINARY POINT
I Cycle time 50 nsec.
v
I
Size 262.1 44 words
or 524,288 words
or 1,048,576 words SIGN EXPONENT COEFFICIENT
Organization Iinterleave I 16 banks (8 banks optional) SIGNED MAGNITUDE FLOATING POINT (64 BITS)
Maximum band width ( 80 x lo6 words lsec
I (5.1 x lo9 bits I secl
DATA FORMATS
Error checking SECDED
Cooling
II 5 2 5 tons
Freon
codes provide for both scalar and vector processing.
Plug-in modules 1 1662 In general, an instruction that references registers occupies one
of transistors)
Instruction
Buffers
COMPUTATION SECTION
REG.
Addressing
g h i j k rn Instructions that reference data do so on a word basis.
Instructions that alter the sequence of instructions being
executed, that is, the branch instructions, reference parcels of
words. In this case, the lower two bits of an address identify
the location of an instruction parcel in a word.
9 '
Instruction buffers
RESULT WORD ADDRESS
All instructions are executed from four instruction buffers,
REG. each consisting of 64 16-bit registers. Associated with each
instruction buffer is a base address register that is used to
determine if the current instruction resides in a buffer. Since
a h i i k the four instruction buffers are large, substantial program
segments can reside in them. Forward and backward branching
+
OPE RATION
CODE
32 BITS
CONSTANT
CONSTANT-
- A
S
within the buffers is possible and the program segments may
be noncontiguous. When the current instruction does not
reside in a buffer, one of the instruction buffers is filled from
memory. Four memory words are transferred per clock period.
me buffer that is filed is the one least recently filled, that is,
I
RESULT
REG.
the buffers are filled in rotation. To allow the current
instruction to issue as soon as possible, the memory word
containing the current instruction is among the first four
transferred. A parcel counter register (P) points to the next
parcel to exit from the buffers. Prior to issue, instruction
parcels may be held in the next instruction parcel (NIP), lower
16 BITS
CONSTANT instruction parcel (LIP) and cutrent instruction parcel (CIP)
registers.
Operating registers
I 32 BITS The CRAY-1 has five sets of registers, three primary and two
OPERATION b
BRANCH intermediate. Primary registers can be accessed directly by
CODE functional units. Intermediate registers are not accessible by
PARCEL ADDRESS
functional units but act as buffers between primary registers
and memory.
INSTRUCTION FORMATS
The figure on page 4 represents the CRAY-I registers and The functional units are all fully segmented. This means that a
functional units. The 64 address and 64 scalar intermediate new set of operands for unrelated computation may enter a
registers can be filled by block transfers from memory. Their functional unit each clock period even though the functional
purpose is to reduce memory references made by the scalar unit time may be more than one clock period. This segmenta-
and address registers. tion is made possible by capturing and holding the information
arriving at the unit or moving within the unit at the end of
The eight address registers are each 24 bits and can be used to every clock period.
count loops, provide shift counts, and act as index registers in
addition to their main use for memory references. The twelve functional units can be arbitrarily assigned to four
groups: address, scalar, vector, and floating point. The first
The eight 64-bit scalar registers in-addition to contributing three groups each acts in conjunction with one of the three
operands and receiving results for scalar operations can provide primary register types, to support address, scalar, and vector
one operand for vector operations. modes of processing. The fourth group, floating point, can
suppod either scalar or vector operations &d will accept
Each of the eight vector (V) registers is actually a set of 64 operands from or deliver results to scalar or vector registers
&bit registers, called elements. The number of vector accordingly.
operations to be performed (that is, the vector length)
determines how many of the elements of a register are used to FUNCTIONAL UNITS
supply operands in a vector set or receive results of the vector
Unit Time
operation. The hardware accommodates vectors with lengths Functional Unit (Clock Periodd
up to 64; longer vectors are handled by the software dividing
Address integer add 2
the vector into 64-element segments and a remainder.
Address multiply 6
Scalar integer add 3
Associated with the vector registers are a 7-bit vector length
register and a 64-bit vector mask register. The vector length Scalar logical 1
register, as its name implies, determines the number of Scalar shift 2
operations performed by a vector instruction. Each bit of the 3
vector mask register corresponds to an element of a V register. Scalar leading zerolpop count 4
The mask is used with vector merge and test instructions to 3
allow operations to be performed on individual vector ele- Vector integer add 3
ments. Vector logical 2
Vector shift 4
Supportingregisters Floating point add 6
In addition to the operating registers, the CPU contains a Floating point multiply 7
variety of auxiliary and control registers. For example, there is Floating point reciprocal 14
a channel address (CAI register and a channel limit register
(CL) for each 110 channel.
-
Functional units- Memory field protection
Instructions other than simple transmits or control operations Each object program has a designated field of memory. Field
are performed by hardware organizations known as functional h i t s are defmed by a base address register and a-limit address
units. Each of the twelve wiits in the CRAY-1 executes an register. Any attempt to reference instructions or data beyond
algorithm or a portion of the irtstruction set. Units are these Imits results in t range error.
independent. A number of firnctional units can be in operation
at one time.
The technique employed in the CRAY-1 to switch execution
A functional unit receives operands from registers and delivers from one program to another is termed the exchange
the result to a register when the function has been performed. mechanism. A 16-word block of program parameters is
The units operate essentially in three-address mode with maintained for each program. When another propam is to
source and destination addressing limited to register designa- begin execution, an operation known as an exchange sequence
ton. is initiated. This sequence causes the prograni parameters f o ~ .
the next program to be executed to be exchanged with the
All functional units perform their algorithms in a fured information in the operating registers to be saved. The
amount of time. No delays are possible once the operands have operating register contents are thus saved for the terminating
been delivered to the unit. The. amount of time required from program and entered with data for the new program.
delivery of the operands to the unit to the completion of the
calculation is termed the "functional unit time" and is Exchange sequences may be initiated automatically upon
measured in 12.5 nsec clock periods. occurrence of an interrupt condition or may be voluntarily
*
6
The operating system is activated through a system dead start
operation performed from the MCU. A job usually consists of
compilation of a program written in some language such as
FORTRAN, loading and execution of the program generated
by the compiler, and processing of all output data generated
by the job.
k?
I
rzTD
I
I
EQUIPMENT
I
I DISK UNITS
Mas Storage
1 Subsystem
Front-End
l'mamor
PRINTER1
PLOTTER
Maintenance
Control Unit
I
MCU CONSOLE I
I
!
DATA FLOW THROUGH
SYSTEM
cards. After being corrected, the edited program can be accompanying problem of heat dissipation. The Freon cooling
submitted to the FORTRAN compiler or CAL assembler for system used in the CRAY-1 employs the latest in refrigeration
processing. Corrections can be temporary for the purpose of technology to maintain a column temperature of about 68' in
testing new code or can be permanent. the unit.
.r
I
Emitter coupled logic (ECL) is used throughout. Four basic seam,,, 18
s
chip types are used: a high-speed 514 NAND gate, a slow-speed <>'
514 NAND gate, a 16x1 register chip, and a 1024x1 memory Bits per sector 32,76%
chip.
Number of head groups 10
Appearance
The aesthetics of the machine have not b e ~ nneglected. The
CPU is attractively housed in a cylindrical cabinet. The chassis
I . .
Racording surfaces per drive 0
t
are arranged two per each of the twelve wedge-shaped
columns. At the base are the twelve power supplies. The
power supply cabinets, which extend outward from the base
are vinyl padded to provide seating for computer personnel.
w
I
time
35.4 x lo6
I1
I
CRAy-1
OOOxxx ERR
-
C AL DESCRIPTION
Error exit
DESCRIPTION
Clear VM register
Transmit (Ak) to Si as unnormalized
Normal exit
floating point number
tOO4ijk EX
Normal exit
071i3x
Transmit constant 0.75*2**48 to Si
OOSxj k J
Jump to (Bjk)
071i4x
Transmit constant 0.5 to Si
OOdijkm J
Jump to exp
071i5x
Transmit constant 1.0 to Si
007ijkm R
Return jump to exp; set BOO to P
071i6x
Transmit constant 2.0 to Si
010ijkm JAZ
Branch to exp if (AO) = 0 .
071i7x
Transmit constant 4.0 to Si
Ollijkm JAN
Branch to exp if (AO) f 0
072ixx
Transmit (RTC) to Si
C
0 OlZijkm JAP
Branch to exp if (AO) positive
073ixx
Transmit (VM) to Si
O13ijkm JAM
Branch to exp if (AO) negative
O74ijk
Transmit (Tjk) to Si
014ijkm JSZ
Branch to exp if (SO) = 0
075ijk
Transmit (Si) to Tjk
OlSijkm JSN
Branch to exp if (SO) f 0
076ijk
Transmit (Vj, element (Ak)) to Si
Ol6i jkm JSP
Branch to exp if (SO) positive
077ijk
Transmit (Sj) to Vi element (Ak)
Ol7ijkm JSM
Branch to exp if (SO) negative
t077iOk
Clear Vi element (Ak)
OZOijkm
Transmit exp = jkm to Ai
lOhijkm
Read from ((Ah) + exp) to Ai (AO-0)
OWijkm
O22ijk
023ijx
024ijk
Ai
Ai
1
Ai
Sj
Transmit exp = 1's complement
of jkm to Ai
Transmit exp = jk to Ai
Transmit (Sj) to Ai
Transmit (Bjk) to Ai
tlOOijkm
tlOOijkm
tlOhiOOO
llhijkm
exp ,Ah
Read from (exp) to Ai
Read from (exp) to Ai
Read from (Ah) to Ai
Store (Ai) to (Ah) + exp (AO-0)
Bj k
Transmit (Ai) to Bjk
tll0ijkm
Store (Ai) to exp
025ijk Bjk Ai
tlloijkm
Store (Ai) to exp
026ijx Ai PSj Population count of (Sj) to Ai
t140iOO
Clear Vi
CA. Aj
Address of channel (Aj) to Ai (j+O; k-0)
l4lijk
Logical products of (Vj) and (Vk) to Vi
CE ,Aj
Error flag of channel (Aj) to Ai (jfO; k-1)
142ijk
Logical sums of (Sj) and (Vk) to Vi
,A0
Read (Ai) words to B register jk from (AO)
t142iOk
Transmit (Vk) to Vi
143ijk
Logical sums of (Vj) and (Vk) to Vi
;zp
f.
Form 1's mask exp
the right
Enter 1 i n t e Si
64-jk b i t s i n S i from Vj<l
Vj>Ak
S h i f t Wj) l e f t m e p l a c e t o V i
S h i f t (Vj) r i g h t (Ak) p l a c e s t o V i
Vj>l S h i f t (Vj] r i g h t one p l a c e t o V i
-1
Sexp
Ucexp
Enter -1 i n t o S i
Fom 1's mask exp
the l e f t
- jk b i t s i n S i fro@
Vj ,Vj<Ak Double s h i f t [Vj) l e f t (Kk) p l a c e s t o Vi
Vj , v j + l Double s h i f t (Vj) l e f t m e place t o Vi
v j ,Vj>Ak Double s h i f t (Vj 1 r i g h t [Ak) p l a c e s t o Vi
0 Clear S i
sj esk Logical product of (Sj] and (Sk) t o S i Vj,Qj>l Double s h i f t (Vj) r i g h t one place t o Vi
$j+Vk I n t e g s r sums of ($1) and (m) t o V i
s j ess Sign b i t of ( S j ) ta SS
Vj*W I n t e g e r sums o f (Vj) and (Vk) t o Vi
SB&Sj Sign b i t ef (Sj) t o S i (jZ0)
Sj-rn I n t e g e r d i f f e r e n c e s o f ( S j ) and (Vk) t o Vi
tSk&Sj Logical product of (Sj) aad 1's
complement of (sk) t o si -a
Transmit negative o f (Vk) t o Vi
tSB&Sj (SjJ with s i g n b i t t l e a ~ dtta S i Vj-Vk l n t e g e r d i f f e r e n c e s of (Vj) and (Vk] t e V i
SjUk Logical d i f f e r e n c e of [Sj) and Cgfr) t o S i $j*m F l o a t i n g products o f (Sj] and (\rtl t o Vi
sns3 Taggle s i g n b i t of $5, then e n t e r i n t o S i Vj*- FZoating producOs o f (Vj) and [a) t o Vi
SB\Sj T o ~ g l es i g n b i t o-f S j , then enter i n t o S i ( j / Q ) Sj*W Half p r e c i s i o n ratsnded f lmating p ~ ~ d u c t s
tSj\Sk uf [Sj) and (Vk) t o Vi
Logical equivalence oQ (Sk) and C S j j t o S i
#Sk Transmit 1 ' s camplemeat of (Sk) t o S i Vj*HVk Half p m c i s i o n r ~ d s d f l o a t i a g p r o d u c t s
of [Vj) and (Vk) t o V i
#Sj\SB Logical equi.palence of ISj) an& s i g n s j * ~ V k Rounded f l o a t i n g products of ( S j ) and
b i t t o Sf (Vk] t o Vi
tSB\Sj Logical equivalence o f [ S j J snd s i g n Rounded f l o a t i n g products o f {V.j] and
b i t to S i [jfo) (Vk) t o V i
USB Enter 1's complement of sign b i t i n t o S i 2 - f l o a t i n g products of (Sj) and
S j !Si%Sk Logical product of (Si) and CSk] c~o~lpleste;n&
6Red with Logical pmdurt o f [S)) gtyd (Wte S i
S j !SigSB S c a l s r merge of [Si) and s i e d h b t of f S j j
2 -
(Vk) t o Vi
f l o a t i n g products o f (Vj) end
(vk) t o Vi
to Si Floating sums of ( S j ) and (Vk) t o V i
Sj!Sk Logical sum of ISf 1 and @k) te ST Noraalize (Vk] t o V i
Sk Tranaait (Sk) t o S i F l o a t i n g sums of (Vj) and [Vk) t o V i
Sj!SB Logical sum o f (Sjf and s i g n b i t ao 5k F l o a t i n g d i f f e r e n c e s o f (Sj) and (Vk) t o V i
SB!Sj Logical sun of (Sj] and s i g n b i t te S i [$+a) Tramrait normalized negatives of (Vk) t o V i
SB Enter s i g n b i t i n t o S i F l e s t i s g d i f f e r e n c e s of (Vj) and (Vk) t 6 Vi
Sic exp S h i f t ( S i ) l e f t exp = j k p l a c e s t o SO F l o a t i n g r e c i p r o c a l approximations of
Si,exp S h i f t f S i ) r i g h t exp * 64-jk p l a c e s te 9 (Vj] t o V i
Sieexp S h i f t (Si) l e f t exp = jk places Vj ,Z where (Vj) = 0
Si>erp S h i f t (Si) r i g h t exp = 64-jk places j VM=l where (Vj) f 0
Si,SjcAk S h i f t [Si and S j ) l e f t (Ak) prolces t o S i Vj,P -1 where (Vj) p o s i t i v e
ST,Sj<I S h i f t (Si and S j ) l e f t @ n t p l a ~ et o S i Oj .b$ -1 where [Vj) negative
&i4Ak S h i f t [Si) l e f t (dk3 p l a c e s &o S i ,A@,@ &ad (VL) words t o V i frcm (AO)
Sj.M * S b i f t (Sj and S i ) r i g h t (Ak3 ptages t o S i
,h0,1
iacramenttd by (Ak)
tO57iOk Si Sf.?& S h i f t C51] r i g k t (Ak) p l a c e s t o S i 177xjk ,RO,AP Vj S t o r e (VC) words from Vj t o (AO)
O&Oijk Si 5j*Sk Integer stm af (Sj am! (Sk] .t;c 8 i incrementeQ by (Ak)
06lijk
fO6liOk
Si
Si -
Sj-SL
Ws T r m s i ~ i tn e g a t i v e .at' CSk] t o S i
i n e r e m n t e d by 1
Cray Research, Inc.
Corporate Addresses
f<s.neraI Officer
I
Corporate Headquart8rs
1440 Northland Drive
w
Manufactur!ng
Industrial Park
#
5
f Safes o f f i i
Dommic
Eastern Rqional Sales
*
Silver Spring, Maryland 20901
w
Central Regional Sales
.
--
-
- .. ,=-
.-
< Z
- , -:A
..
,----.
- - 3 - z . A:--
w
Western Regional Sales
Seattle District
Rt
International
Cray Research (U.K.) Limited
Grenville Place
Bracknell, England
\ /