View the step-by-step solution to:

Problem 3. Register Renaming Mechanisms Register renaming is a performance enhancement technique designed to reduce stalls due to false (anti and...

Part A: Without Rename Register File.
The following code sequence illustrates WAW, WAR and RAW data dependencies. Trace the code sequence, on the SDLX machine, without rename registers. (Without renaming, instruction issue must be stalled for all data dependencies)

1: mul r3, r1, r2
2: sw (r4), r3
3: lw r3, (r5)
4: add r2, r3, r6
5: lw r6, r3
6: lw r7, r2
7: mul r7, r7, r6
8: add r6, r3, r4


SDLX trace WITHOUT rename register file: [use as many cycle entries as needed.]
Cycle Instruction Fetch Buffer Load/ Store Res. Station EA Calc Mem Acc. Simple Integer Res. Station Simple Exec Multi Cycle Res. Station Multi Exec 1 Multi Exec 2 Multi Exec 3 Multi Exec 4 Instruction Completion Buffer
1
2
3
4

Problem 3. Register Renaming Mechanisms Register renaming is a performance enhancement technique designed to reduce stalls due to false (anti and output) data dependencies. Renaming algorithms provide a mechanism that dynamically differentiates between multiple definitions of the same register, by “tagging” them with unique value tags. For both anti (WAR) and output (WAW) dependencies, microarchitectures without renaming must stall the trailing instruction until the leading instruction finishes execution. In an out-of-order execution environment, register renaming also allows the trailing instruction of a RAW hazard to be dispatched to a reservation station, without valid operand data. The rename algorithm used in the SDLX machine utilizes a rename register file. A rename register file is a dedicated set of registers in addition to the original architectural registers. The SDLX rename register file is physically separate from the architectural registers. During dispatch the rename register file provides two functions. First, it performs destination renaming by allocating a rename entry and assigning a tag (rename entry number) to each instruction being dispatched. Second, it provides operand data for the dispatching instructions. The rename register file and the architectural register file are searched simultaneously for the most recent copy of the desired data. When no valid data is found in either the rename register file or the architectural register file, the corresponding rename tag (from previous destination-defining instruction) is sent to the reservation station entry in place of the operand data.
Background image of page 1
When an instruction finishes execution the rename destination tag is used to write back the data results to the rename register file and to forward data to the reservation stations. At completion the SDLX completion buffer instructs the rename register file to write its data into the architectural register file. The rename entry is then deallocated and available for use in the following cycle. Part A: Without Rename Register File. The following code sequence illustrates WAW, WAR and RAW data dependencies. Trace the code sequence, on the SDLX machine, without rename registers. ( Without renaming, instruction issue must be stalled for all data dependencies) 1: mul r3, r1, r2 2: sw (r4), r3 3: lw r3, (r5) 4: add r2, r3, r6 5: lw r6, r3 6: lw r7, r2 7: mul r7, r7, r6 8: add r6, r3, r4 SDLX trace WITHOUT rename register file: [use as many cycle entries as needed.] Cycle Instru ction Fetch Buffer Load/ Store Res. Statio n EA Calc Mem Acc. Simpl e Intege r Res. Statio n Simpl e Exec Multi Cycle Res. Statio n Multi Exec 1 Multi Exec 2 Multi Exec 3 Multi Exec 4 Instruction Completion Buffer 1 2 3 4 Dispatch Conditions (Hazards) in the SDLX: 1* Functional unit must be available 2* Completion buffer entry available 3* Strict in order dispatch 4* Rename entry available Assumptions in Superscalar DLX machine: 5* Instruction fetch fills fetch buffer 6* Dispatch as many instructions as possible from fetch buffer 7* Complete at most two instructions in a cycle 8* 3 Entry fetch buffer 9* 2 Entry reservation stations 10* 4 Entry completion buffer 11*Infinite rename registers 12* Out of order issue from reservation stations 13* Assume cache hit
Background image of page 2
Show entire document
Sign up to view the entire interaction

Top Answer

Dear Student, I have reviewed your assignment thoroughly, based on your assignment details and current... View the full answer

Sign up to view the full answer

Why Join Course Hero?

Course Hero has all the homework and study help you need to succeed! We’ve got course-specific notes, study guides, and practice tests along with expert tutors.

-

Educational Resources
  • -

    Study Documents

    Find the best study resources around, tagged to your specific courses. Share your own to gain free Course Hero access.

    Browse Documents
  • -

    Question & Answers

    Get one-on-one homework help from our expert tutors—available online 24/7. Ask your own questions or browse existing Q&A threads. Satisfaction guaranteed!

    Ask a Question
Ask a homework question - tutors are online