中原大學九十三學年度博士班入學招生考試
93年6月9日 10:30~12:00 電子工程學系資訊組  誠實是我們珍視的美德,
我們喜愛「拒絕作弊,堅守正直」的你!
科目:計算機結構  
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---