Fig2.4 Variable length instructions make pipelining difficult
© O'Reilly Publishers
(Used with permission)
Fig. 2.2 Thres instructions in flight throuigh pipeline
© O'Reilly Publishers
(Used with permission)
Variable length versus Fixed length
Fig 2.5 Variable-length CISC versus Fixed length RISC instructions Note typo: Second R3 should be R4
© O'Reilly Publishers
(Used with permission)
Detailed example from instructor
Expanded example Fig. 2-5
Note: Our goal is to interact effectively with the compiler,
which is charged with generating efficient assembly language when
translating our high level language programs in C or Fortran 90.
You are invited to examine the wealth of options available to you
for interacting with the compiler, using the Unix command
Fig 2.3 Detecting a branch
© O'Reilly Publishers
(Used with permission)
A delayed branch instruction would interrupt the "pipeline" and
might delay all the processing of the following instructions.
Three basic methods:
Fig 2.6 Decomposing a serial stream
© O'Reilly Publishers
(Used with permission)
Fig 2.7 MIPS R4000 instruction pipeline
© O'Reilly Publishers
(Used with permission)