1 / 20

Tomasulo Algorithm

Tomasulo Algorithm. Each functional unit has a reservation station The issue stage assigns an instruction to a free reservation station. It takes over the control of the execution. It stores the operands. The results are directly forwarded to other functional units that require the data.

yelena
Download Presentation

Tomasulo Algorithm

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. Tomasulo Algorithm • Each functional unit has a reservation station • The issue stage assigns an instruction to a free reservation station. • It takes over the control of the execution. • It stores the operands. • The results are directly forwarded to other functional units that require the data. • For this purpose the result bus is used.

  2. Structure of the Tomasulo-Algorithm

  3. Tomasulo Algorithm • The reservation stations do an implicit register renaming and remove WAR and WAW hazards. • Phases • Issue: • Select free reservation station. • Copy available operands from registers into the reservation station or store the reservation station that generates a required operand (resolving RAW and WAR hazards) • Store in the register which reservation station generates the next value (handling of WAW hazards)

  4. Tomasulo Algorithm • Phases (contd) • Execute • If operands are missing, wait. • Insert new operands in the reservation station. • If all operands are available, start operation. • Write result • As soon as the result is available, it is broadcast fo the result bus (common data bus) • The target register and the other reservations take the result from the bus.

  5. Reservation table • Reservation station are stored in the reservation table.

  6. Tomasulo Algorithm: Register • Each register stores besides the data • The valid bit, it indicates whether the value is valid or is currently computed. • Number of the reservation station of the operation that computes the new value.

  7. Example

  8. Beispiel Tomasulo-Algorithmus

  9. Beispiel Tomasulo-Algorithmus

  10. Beispiel Tomasulo-Algorithmus Remaining cylces in FU

  11. Beispiel Tomasulo-Algorithmus Source operands are filled in RS2

  12. Beispiel Tomasulo-Algorithmus

  13. Beispiel Tomasulo-Algorithmus

  14. Beispiel Tomasulo-Algorithmus

  15. Beispiel Tomasulo-Algorithmus

  16. Beispiel Tomasulo-Algorithmus

  17. Beispiel Tomasulo-Algorithmus

  18. Beispiel Tomasulo-Algorithmus

  19. Beispiel Tomasulo-Algorithmus

  20. Tomasulo-Algorithmus Fazit • Implicit register renaming • Direct propagation of results • RAW and WAR are resolved via reservation stations. • WAW hazards are resolved since last write is always taken. • Simple scheme does not support speculative execution.

More Related