out of of order order out superscalar cpu superscalar cpu
play

Out- -of of- -Order Order Out Superscalar CPU Superscalar CPU - PowerPoint PPT Presentation

Out- -of of- -Order Order Out Superscalar CPU Superscalar CPU Cliff Frey and Vicky Liu May 6 th , 2005 May 6 th , 2005 6.884 Final Project Presentation The Basis of Our Design Tomasulos Algorithm - Allows out-of-order execution -


  1. Out- -of of- -Order Order Out Superscalar CPU Superscalar CPU Cliff Frey and Vicky Liu May 6 th , 2005 May 6 th , 2005 6.884 Final Project Presentation

  2. The Basis of Our Design Tomasulo’s Algorithm - Allows out-of-order execution - Instructions wait in Reservation Stations - Execute instructions once operands have been computed - Can reorder WAW and WAR May 6 th , 2005 6.884 Final Project Presentation

  3. The Basis of Our Design Tomasulo’s Algorithm - In Decode stage, each instruction result is assigned a Tag - Each register maps to a Value or to a Tag - When a result is computed, result and tag are broadcast - All instances of the Tag are updated with the computed value - Updates RegFile and Reservation Stations May 6 th , 2005 6.884 Final Project Presentation

  4. High Level Design The major components Fetch Unit Reservation Stations Decode Functional Units Renaming Register File Common Data Bus May 6 th , 2005 6.884 Final Project Presentation

  5. High Level Design Write Back Fetch Decode Execute (CDB) May 6 th , 2005 6.884 Final Project Presentation

  6. BlueSpec Rule & Module Design May 6 th , 2005 6.884 Final Project Presentation

  7. High Level Design Issues - Unresolved branches stall decode stage - Memory operations need to be in order - Back to back dependent adds take 2 cycles May 6 th , 2005 6.884 Final Project Presentation

  8. Design Exploration: Supporting Precise Exceptions Short-comings of Tomasulo’s algorithm - Register File contents can be lost - external changes need to ordered May 6 th , 2005 6.884 Final Project Presentation

  9. Design Exploration: Supporting Precise Exceptions A Processor Supports Precise Exceptions If… … instructions before the excepting instruction, execute normally … instructions after and including the excepting instruction do not change any programmer visible state of the processor May 6 th , 2005 6.884 Final Project Presentation

  10. Design Exploration: Supporting Precise Exceptions A Processor Supports Precise Exceptions If… … instructions before the excepting instruction, execute normally … instructions after and including the excepting instruction do not change any programmer visible state of the processor Short-comings of Tomasulo’s algorithm - Register File contents can be lost - external changes need to ordered May 6 th , 2005 6.884 Final Project Presentation

  11. Original High Level Design May 6 th , 2005 6.884 Final Project Presentation

  12. Updated High Level Design Our Solution - Minimal changes to original design - Reorder Buffer (ROB) and Commit stage - Architectural Register File - External changes made at commit time May 6 th , 2005 6.884 Final Project Presentation

  13. Updated High Level Design May 6 th , 2005 6.884 Final Project Presentation

  14. Handling Exceptions ROB Undo Set PC to interrupt vector (0x1100) Exception PC stored in coprocessor register EPC Correct speculative results in Rename Register File Clear cached information in Functional Units May 6 th , 2005 6.884 Final Project Presentation

  15. Other Features to Get High Performance Implemented Features - Speculative fetch - external changes need to ordered - memory unit can handle many requests at a time Unimplemented Features - Branch prediction and target buffering - Speculative execution May 6 th , 2005 6.884 Final Project Presentation

  16. A Closer Look at the Load/Store Unit Mem result.get() May 6 th , 2005 6.884 Final Project Presentation

  17. BlueSpec Stories: Conflicting Rules May 6 th , 2005 6.884 Final Project Presentation

  18. BlueSpec Stories: The Fix Possible Solutions - One rule for every possible data path - Use config regs everywhere - Be slow and blame BlueSpec =P May 6 th , 2005 6.884 Final Project Presentation

  19. BlueSpec Stories: The Fix Possible Solutions - One rule for every possible data path - Use config regs everywhere - Be slow and blame BlueSpec =P Our Solutions - Homemade completion buffer - Make methods write to RWires - Write “magic” rule to handle all combination of cases May 6 th , 2005 6.884 Final Project Presentation

  20. Bypassing from writeback to decode May 6 th , 2005 6.884 Final Project Presentation

  21. An Excerpt from our Trace Output Fetch Decode Execute Writeback Commit F | [ ] - - | F |00001000=0 ADD [ ] - - | F |00001004=1 ADD [ 0] - - | F |00001008=2 ADD [ 1] A-0 -00000001 | |0000100c=3 ADD [ 2] A-1 -00000001 | 0 | [ 3] A-2 -00000002 | 1 | [ ] A-3 -00000002 | 2 | [ ] - - | 3 Back to back, nondependent adds May 6 th , 2005 6.884 Final Project Presentation

  22. An Excerpt from our Trace Output Decode add mem BR WB commit 001398 LW r1, r10 [ |M | ] | 00139c ADDI r2, r2, -4 [ |M LW | ] | 0013a0 SLT r1, r11, r1 [ADDI |M | ] | 0013a4 BEQZ r1, 0x13d8 [ |M | ]ADDI | 0013a8 SUBI r3, r12, -1 [ |M LW| ] | [SUBI |M | ]LW | [SLT |M | ]SUBI |LW [ |M | ]SLT |ADDI [ |M |BEQZ] |SLT [ |M | ]BEQZ | [ |M | ] |BEQZ *taken! [ |M | ] |SUBI Instruction stream with reordering May 6 th , 2005 6.884 Final Project Presentation

  23. Synthesis Results Clock speed = 4ns Area = .38 mm 2 May 6 th , 2005 6.884 Final Project Presentation

  24. Design Choices and Performance Configurable Parameters Resizing reservation stations Number of slots in ROB and the Fetch Unit buffer Different functional unit setup Easily support multicycle functional units May 6 th , 2005 6.884 Final Project Presentation

  25. Design Choices and Performance Configurable Parameters Resizing reservation stations Number of slots in ROB and the Fetch Unit buffer Different functional unit setup Easily support multicycle functional units Performance Branches and stores really hurt performance Achieved IPC ≈ .5 on vector-add and quicksort May 6 th , 2005 6.884 Final Project Presentation

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend