1 / 16

The Cray Scoreboard Approach

The Cray Scoreboard Approach. By Lisa Monaco March 14 2001. Seymour Cray. Built the world’s biggest and fastest computers for his time. He mainly built these computers for speed, what every customer wanted.

damia
Télécharger la présentation

The Cray Scoreboard Approach

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Cray Scoreboard Approach By Lisa Monaco March 14 2001

  2. Seymour Cray • Built the world’s biggest and fastest computers for his time. He mainly built these computers for speed, what every customer wanted. • Led the design of the control data corporation CDC 6600 in Minnesota. This machine included many ideas that are beginning to be found in the latest microprocessors.

  3. CDC 6600 (Part 1) • The CDC 6600 was unique in many ways. The interaction between pipelining and instruction set design was understood, and the instruction set was to be kept simple to promote pipelining (an implementation technique in which multiple instruction are overlapped in execution). The CDC 6600 also used an advanced packaging technology.

  4. CDC 6600 (Part 2) • The scoreboard stalls any functional unit whose result would write to a register that is still listed as an Entry-Operand to a functional unit that is waiting for an operand or is busy.

  5. CDC 6600 (Part 3) • Each register has a matching Result Register Designator that indicates which functional unit will write a result into it. • Only one functional unit can be designated for writing to a register at a time. • Each functional unit has a corresponding set of Entry-Operand Register Designators that indicate which register will hold the operand.

  6. Cray-1 • In 1976 Seymour Cray announced the Cray-1 which was simultaneously the fastest in the world, the most expensive, and the computer with the best cost / performance ratio for scientific programs.

  7. Scoreboard (Part 1)

  8. Scoreboard (Part 2) • Centralized set of tables(registers) in the CPU that keep track of what’s being used and when. • Each row indicates what’s being used at each clock tick. • Manages dispatch, stalling, and completion of the instructions.

  9. Scoreboard (Part 3) • Watches for WAW, RAW, WAR hazards, and manages the execution sequence. • Hazards are detected by observing register references and operation types.

  10. Scoreboard Contents • Result Register Designator • Entry-Operand Register Designator • Valid Operand Flag • Source Function Unit Designator • Each Function Unit also has 2 Operand Registers, a result register, mode register, and a busy flag

  11. Scoreboard Fields (Part1) • Instruction Status: • which stage in a pipeline an instruction is currently in. • Register Result Status: • Which instruction should write to the register if multiple instructions have the same destination.

  12. Scoreboard Fields (Part 2) • Functional Unit Status: • Busy: whether the functional unit is busy • OP: operation to perform in unit (add, sub, …) • FI: Destination Register • FJ, FK: Source register • QJ, QK: Functional unit producing data for FJ & FK • RJ, RK: Status flags for input register

  13. Scoreboarding (Part 1) • Originated in the Cray designed CDC 6600 in 1964. • Simultaneous execution of multiple instructions on a multiple functional unit. • After execution results can be forwarded directly to their destination register as long as there are no write after read hazards.

  14. Scoreboarding (Part 2) • Used in modern microprocessors • First implementation: Centralized and explicit control. This helps with register renaming, which helps with multiple issues. • Looks at what is used when. • Looks forward to some number of instructions. • You can scoreboard more than the stages in the pipeline.

  15. Scoreboarding (Pro’s and Con’s) • Pro: Maximize utilization of register files. • Pro: Alleviate work from the compiler. • Con: Contains more registers which makes it more complicated.

  16. Scoreboarding The main disadvantage of the scoreboarding approach is that more internal buses are required for the sets of Functional Units. Also stalls cannot be eliminated, and dependencies between instructions can be removed several previous instructions ago.

More Related