CSCI 370 Computer Architecture: Homework 1 Solutions

Due date: On or before Tuesday, February 17, 2026
Absolutely no copying others’ works
Name: Professor Hu

  1. (55% total) Consider two different implementations of the same instruction set architecture. The instructions can be divided into three classes according to their CPI (class A, B, and C). The clock rate and CPI of each implementation are given in the following table:

      Clock rate CPI Class A CPI Class B CPI Class C
    P1 2.5 GHz 2 2 3
    P2 3.0 GHz 2 3 3

    1. (25%) Given a program with a dynamic instruction count of 105 instructions divided into classes as follows: 40% class A, 30% class B, and 30% Class C, which implementation is faster?
      Hint: You have to find the execution times.
      Ans>
        P2 is faster because of the following calculation:
          number of instructionsA = 105 instructions × 40% = 4×104 instructions
          number of instructionsB = 105 instructions × 30% = 3×104 instructions
          number of instructionsC = 105 instructions × 30% = 3×104 instructions
        
          time = number of instructions × CPI ÷ clock rate
        P1:
          timeA
        = (4×104 instructions) × (2 cycles/instruction) ÷ (2.5×109 cycles/second)
        = 3.2×10-5 seconds
        
          timeB
        = (3×104 instructions) × (2 cycles/instruction) ÷ (2.5×109 cycles/second)
        = 2.4×10-5 seconds
        
          timeC
        = (3×104 instructions) × (3 cycles/instruction) ÷ (2.5×109 cycles/second)
        = 3.6×10-5 seconds
        
          total timeP1 = 3.2×10-5 + 2.4×10-5 + 3.6×10-5 = 9.2×10-5 seconds
        P2:
          timeA
        = (4×104 instructions) × (2 cycles/instruction) ÷ (3.0×109 cycles/second)
        = 2.67×10-5 seconds
        
          timeB
        = (3×104 instructions) × (3 cycles/instruction) ÷ (3.0×109 cycles/second)
        = 3.0×10-5 seconds
        
          timeC
        = (3×104 instructions) × (3 cycles/instruction) ÷ (3.0×109 cycles/second)
        = 3.0×10-5 seconds
        
          total timeP2 = 2.67×10-5 + 3.0×10-5 + 3.0×10-5 = 8.67×10-5 seconds
    2. (15%) What is the global CPI for each implementation?
      Hint: global CPI = execution time × clock rate ÷ number of instructions, where the execution time can be found from the solution of the previous question.
      Ans>
          CPI = time × clock rate ÷ number of instructions
            
          CPIP1
        = (9.2×10-5 seconds) × (2.5×109 cycles/second) ÷ (105 instructions)
        = 2.3 cycles/instruction
        
          CPIP2
        = (8.67×10-4 seconds) × (3.0×109 cycles/second) ÷ (105 instructions)
        = 2.6 cycles/instruction
    3. (15%) Find the clock cycles required in both cases.
      Ans>
          clock cyclesP1
        = (4×104 instructions × 2 cycles/instruction) +
          (3×104 instructions × 2 cycles/instruction) +
          (3×104 instructions × 3 cycles/instruction)
        = 2.3×105 cycles
        
          clock cyclesP2
        = (4×104 instructions × 2 cycles/instruction) +
          (3×104 instructions × 3 cycles/instruction) +
          (3×104 instructions × 3 cycles/instruction)
        = 2.6×105 cycles

  2. (15%) The Pentium 4 Prescott processor, released in 2004, had a clock rate of 3.0 GHz and voltage of 2.0 V. Assume that, on average, it consumed 15 W of static power and 60 W of dynamic power. Find the average capacitive load.
    Ans>
        Dynamic power ∝ ½ × Capacitive load × Voltage2 × Frequency switched
      
        Capacitive load ≅ 2 × Dynamic power ÷ ( Voltage2 × Frequency switched )
      ≅ 2 × 60 ÷ ( 22 × 3 × 109 )
      = 1.0 × 10-8

  3. (30% total) The following table shows manufacturing data of a processor:

    Wafer diameter Dies per wafer Defects per unit area Cost per wafer # of critical steps
    20 cm 80 0.04 defects/cm2 40 2

    1. (10%) Find the yield.
      Ans>
          Wafer area = 3.14159 × 102 cm2 = 314.159 cm2
          Die area = 314.159 cm2 / 80 = 3.93 cm2
        
          Yield
        = 1 / ( 1 + Defects per area × Die area )n
        = 1 / ( 1 + 0.04 defects/cm2 × 3.93 cm2 )2
        = 0.75
    2. (10%) Find the cost per die.
      Ans>
          Cost per die
        = Cost per wafer / ( Dies per wafer × Yield )
        = 40 / ( 80 × 0.75 )
        = 0.67
    3. (10%) If the number of dies per wafer is increased by 5% and the defects per area unit increase by 10%, find the die area and yield.
      Ans>
          Wafer area = 3.14159 × 102 cm2 = 314.159 cm2
          Die area = 314.159 cm2 / ( 80 × 1.05 ) = 3.74 cm2
        
          Yield
        = 1 / ( 1 + Defects per area × Die area )n
        = 1 / [ 1 + ( 0.04 × 1.10 defects/cm2 ) × 3.74 cm2 ]2
        = 0.74