< previous page page_242 next page >

Page 242
EXAMPLE 4.2 ALU BYPASS
Suppose we have the following sequence of two ADD instructions, in which (2) depends on (1). We look at the effect of ALU bypass on instruction (2).
0242-01.gif
EXAMPLE 4.3 AG BYPASS
0242-02.gif
4.6.3 Address Generation Interlocks
An address generation interlock (AGI) condition exists whenever an instruction requires a register for its operand address calculation but the register is unavailable because it will be written by some preceding, uncompleted instruction. (See previous examples.)
A pipeline designer can reduce, and in some cases eliminate, address generation delays by incorporating bypasses at appropriate points in the pipeline. As in the example, an address generate bypass routes an ALU value (EX) or a DF value directly to the address generator (without PA). We may estimate this effect by using the data in Table 3.19. For example, if there were three stages between address generation (AG) and putaway (PA), then the performance degradation experienced without bypassing (as seen in Chapter 3) would be:
Distance 1
= 3-cycle loss ´ 0.099 = .297
Distance 2
= 2-cycle loss ´ 0.084 = .168
Distance 3
= 1-cycle loss ´ 0.028 = .028
Distance 4 or more
= 0-cycle loss
d87111c01013bcda00bb8640fdff6754.gif
Total delay = 0.493
cycles/instruction.

 
< previous page page_242 next page >