| 1. |
Without reducing the execution time of each individual instruction,
how does pipelining help to improve the performance of processors? (15%) |
| |
|
|
| 2. |
A pipelined processor with multi-cycle operations has one
execution unit for each type of the operations. Assume that an integer add/subtract
operation takes 1 cycle, a floating point add/subtract takes 3 cycles, a
multiplication operation takes 4 cycles, and, a division operation takes
6 cycles. If the floating point add/subtract unit and the multiplication
unit are fully pipelined, but the division unit is not. (a) Create a table
showing the latencies and initiation intervals for functional units. (15%)
(b) Construct a table which can be used to check for RAW hazard in the pipeline
and to perform a forwarding to improve the pipeline performance. The entries
of the table include: 1) pipeline latch containing source instruction 2)
type of the source instruction 3) pipeline latch containing destination
instruction 4) type of the destination instruction 5) destination of the
forwarded result (the functional unit taking the result as input) 6) the
condition for the forwarding to take place. (30%) |
| |
|
|
| 3. |
By using the HARDWARE approaches for exploiting instruction-level
parallelism, please consider the following four MIPS code fragments each
containing two instructions: |
| |
| |
Code fragment |
| i |
DADDI R1,R1,#4
LD R2,7(R1) |
| ii |
DADD R3,R1,R2
SD R2,7(R1) |
| iii |
SD R2,7(R1)
S.D F2,200(R7) |
| iv |
BEZ R1,place
SD R1,7(R1) |
|
| |
(a) |
For each code fragment (i) to (iv) identify each type of dependence
that exists or that may exist (a fragment may have no dependences) and describe
what data flow, name reuse, or control structure causes or would cause the
dependence. For dependence that may exist, describe the source of ambiguity
and identify the time at which that uncertainty is resolved. (10%) |
| |
(b) |
For each code fragment, discuss whether dynamic scheduling
is, may be, or is not sufficient to allow out-of-order execution of the
fragment. (10%) |
| |
|
|
| 4. |
Here is an unusual loop. First, list the dependences and then
rewrite the loop so that it is parallel. (20%) |
| |
 |
| |
|
|
|
---END---
|