Presentation is loading. Please wait.

Presentation is loading. Please wait.

The CRAY-1 Computer System Richard Russell Communications of the ACM January 1978.

Similar presentations


Presentation on theme: "The CRAY-1 Computer System Richard Russell Communications of the ACM January 1978."— Presentation transcript:

1 The CRAY-1 Computer System Richard Russell Communications of the ACM January 1978

2 “The world’s most expensive love- seat”

3 A “reasonably trim individual” can gain access to the interior of the machine. 12.5 ns clock 12.5 ns clock 8 MB internal semiconductor memory 8 MB internal semiconductor memory 4 KB of register storage 4 KB of register storage Uses ECL throughout Uses ECL throughout 115 kW input power 115 kW input power Simple gates Simple gates

4 Memory 16 bank = 16 way interleaved access 16 bank = 16 way interleaved access No bank conflicts except on stride lengths of 8 or 16 No bank conflicts except on stride lengths of 8 or 16 4 clock cycles per access 4 clock cycles per access Can pull down 16 instructions per cycle Can pull down 16 instructions per cycle 1 data word if being placed in registers 1 data word if being placed in registers

5 Cooling Big power + many modules = heat Big power + many modules = heat Aluminum/steel cooling rods with Freon flow Aluminum/steel cooling rods with Freon flow Copper connectors pipe heat from chip out to cooling rods Copper connectors pipe heat from chip out to cooling rods Freon/oil leak problem on rod construction Freon/oil leak problem on rod construction Designed to keep module temperatures under 54 degrees Celsius Designed to keep module temperatures under 54 degrees Celsius

6 Floating Point IEEE? IEEE? No. No. Why? Why? Not written yet! Not written yet! Wouldn’t arrive until 7 years later. Wouldn’t arrive until 7 years later. 49 bit signed magnitude “mantissa” 49 bit signed magnitude “mantissa” 15 bit biased exponent 15 bit biased exponent

7 Production plans anticipate shipping one CRAY-1 per quarter.

8 Topic: Vector Computers 8 64X64 vector registers 8 64X64 vector registers Process vector elements identically Process vector elements identically Vector Mask register can protect an element Vector Mask register can protect an element “Chaining” “Chaining” Can use output of one vector operation as input to next before it is done Can use output of one vector operation as input to next before it is done Win = don’t have to store to memory then fetch from memory Win = don’t have to store to memory then fetch from memory

9 Benefits of Vector Computing Previously needed 100+ elements for vector to be useful over scalar Previously needed 100+ elements for vector to be useful over scalar CRAY-1 cuts that to 2-4 CRAY-1 cuts that to 2-4 Don’t need to store vector elements next to each other in memory Don’t need to store vector elements next to each other in memory Max wait time is previous vector length + 4 Max wait time is previous vector length + 4 Common wait time is functional unit time + 2 Common wait time is functional unit time + 2

10 Vector Benefits Continued

11 Compiler CFT CFT Automatically vectorizes inner loop if possible Automatically vectorizes inner loop if possible No need to rewrite code! No need to rewrite code! Can’t vectorize loops with control statements. Can’t vectorize loops with control statements. Often slower than hand coded assembly. Often slower than hand coded assembly. Improve instruction scheduling “in the future” Improve instruction scheduling “in the future”

12 Questions The CRAY-1 automatically vectorizes code loops. Current microprocessors usually use smaller vector registers with extensions such as SSE to support SIMD operations. Do modern compilers do these vector optimizations automatically as the CRAY did or is it the explicit use of vector instructions that has dominated and why? Trade offs? The CRAY-1 automatically vectorizes code loops. Current microprocessors usually use smaller vector registers with extensions such as SSE to support SIMD operations. Do modern compilers do these vector optimizations automatically as the CRAY did or is it the explicit use of vector instructions that has dominated and why? Trade offs? They say they can eventually make loops with control flow in them vectorizable. Can you come up with a simple method to do so and/or some reasons that make this case difficult? They say they can eventually make loops with control flow in them vectorizable. Can you come up with a simple method to do so and/or some reasons that make this case difficult?

13 Table 3

14 Registers A = 8 address registers A = 8 address registers B = 64 address-save registers B = 64 address-save registers S = 8 scalar registers S = 8 scalar registers T = 64 scalar-save registers T = 64 scalar-save registers V = 8 64X64 vector registers V = 8 64X64 vector registers

15 Special Registers VM = mask off vector elements to not operate on VM = mask off vector elements to not operate on VL = length of vector being processed VL = length of vector being processed P = parcel address count P = parcel address count BA = absolute address used as base for indexed memory accesses (helps with dynamic user space migration) BA = absolute address used as base for indexed memory accesses (helps with dynamic user space migration) LA = limits the accessible address space LA = limits the accessible address space XA = supports exchange operation XA = supports exchange operation F = flag register that holds various “condition codes” F = flag register that holds various “condition codes” M = mode register (3 bits) M = mode register (3 bits) Bit 1 = Floating Point Error/Interrupt Enable Bit 1 = Floating Point Error/Interrupt Enable Bit 2 = Uncorrectable memory corruption Interrupt Enable Bit 2 = Uncorrectable memory corruption Interrupt Enable Bit 3 = All interrupts disabled. Bit 3 = All interrupts disabled.

16 Front End Needs an access terminal minicomputer Needs an access terminal minicomputer Connects to a “CRAY access channel” to control the computer Connects to a “CRAY access channel” to control the computer


Download ppt "The CRAY-1 Computer System Richard Russell Communications of the ACM January 1978."

Similar presentations


Ads by Google