Content deleted Content added
m v1.41b - WP:WCW project (Link equal to linktext) |
m v1.41 - Repaired 2 links to disambiguation pages - (You can help) - IPC, WAW, 1 to be fixed - WAR |
||
Line 19:
===Register-renaming===
{{Main article|Register renaming}}
This technique is used to effectively increase the total register file size than that specified in the ISA to programmers, and to eliminate false dependencies. Suppose we have two consecutive instructions which reference the same register. The first reads the register while the second writes to it. To maintain correctness of the program, it is essential to make sure that the second instruction does not write to the register before the first can read its original value. This is an example of a [[WAR|Write-After-Read (WAR)]] dependency. To eliminate this dependency, the pipeline would 'rename' the instruction internally by assigning it to an internal register. The instruction is therefore allowed to execute and results produced by it will now be immediately available to all subsequent instructions, even though the actual destination register intended by the program will be written to later. Similarly if both the instructions simply meant to write to the same register [[
===Memory Organization===
Line 31:
===Out-of-order execution===
{{Main article|Out-of-order execution}}
Not all instructions in a thread take the same amount of time to execute. Superscalar pipelines usually have multiple possible paths for instructions depending upon current state and the instruction type itself. Hence, to increase [[
===Superscalar Execution===
|