Computer Organization and Structure

Homework #1

Due: 2010/10/5

 

1.      Using the categories in the list below, classify the following examples. Use the letters to the left of the words in the answer. Answers in this group may be used more than once.

 

1.      application software

2.      high-level programming language

3.      input device

4.      integrated circuit

5.      embedded computer

6.      output device

7.      desktop computer

8.      semiconductor

9.      server computer

10.  systems software

 

a.         Assembler

b.        C++

c.         Liquid Crystal Display

d.        Compiler

e.         DRAM

f.         Keyboard

g.        Apple Mac

h.        Apple iPhone

i.          Apple iPad

j.          Microprocessor

k.        Mouse

l.          Operating System

m.      Pascal

n.        Blade Server

o.        Printer

p.        Silicon

q.        Spreadsheet

r.          Text Editor

s.         NVIDIA Tesra

t.          Webcam

 

2.      We wish to compare the performance of two different computers: M1 and M2. The following measurements have been made on these computers:

 

Program

Time on M1

Time on M2

1

2.0 sec.

1.5 sec.

2

5.0 sec.

10.0 sec.

 

a.         Which computer is faster for each program, and how many times as fast is it?

 

Consider the two computers and programs as the above. The following additional measurements were made:

 

Program

Instructions executed on M1

Instructions executed on M2

1

5 x 109

6 x 109

 

b.        Find the instruction execution rate (instructions per second) for each computer when running program 1.

c.         Suppose that M1 costs $500 and M2 costs $800. If you needed to run program 1 a large number of times, which computer would you buy in large quantities? Why?

d.        If the clock rates of computers M1 and M2 are 4GHz and 6GHz, respectively, find the clock cycles per instruction (CPI) for program 1 on both computers.

e.         Assuming the CPI for program 2 on each computer as the above is the same as the CPI for program 1 found in the above sub-question, find the instruction count for program 2 running on each computer using the execution times from the first sub-question.

 

3.      You are the lead designer of a new processor. The processor design and compiler are complete, and now you must decide whether to produce the current design as it stands or spend additional time to improve it. You discuss this problem with your hardware engineering team and arrive at the following options:

 

          i.              Leave the design as it stands. Call this base machine Mbase. It has a clock rate of 500 MHz, and the following measurements have been made using a simulator:

 

Instruction class

CPI

Frequency

A

2

40%

B

3

25%

C

3

25%

D

5

10%

 

        ii.              Optimize the hardware: The hardware team claims that it can improve the processor design to give it a clock rate of 600 MHz. Call this machine Mopt. The following measurements were made using a simulator for Mopt.

 

Instruction class

CPI

Frequency

A

2

40%

B

2

25%

C

3

25%

D

4

10%

 

a.         What is the CPI for each machine?

b.        What are the native MIPS ratings for Mbase and Mopt?

c.         How much faster is Mopt than Mbase?

 

The compiler team has heard about the discussion to enhance the machine. The compiler team proposes to improve the compiler for the machine to further enhance performance. Call this combination of the improved compiler and the base machine Mcomp. The instruction improvements from this enhanced compiler have been estimated as follows:

 

Instruction Class

Percentage of instructions executed vs. base machine

A

90%

B

90%

C

85%

D

95%

 

For example, if the base machine executed 500 class A instructions, Mcomp would execute 0.9 x 500 = 450 class A instructions for the same program.

 

d.        What is the CPI for Mcomp?

e.         How much faster is Mcomp than Mbase?

f.         The compiler group points out that it is possible to implement both the hardware improvements and the compiler enhancements. If both the hardware and compiler improvements are implemented, yielding machine Mboth, how much faster is Mboth than Mbase?

g.        You must decide whether to incorporate the hardware enhancements or the compiler enhancements (or both) to the base machine. You estimate that the following time would be required to implement the optimizations:

 

Optimation

Time to implement

Machine name

Hardware

6 months

Mopt

Compiler

6 months

Mcomp

Both

8 months

Mboth

 

Recall that CPU performance improves by approximately 50% per year, or about 3.4% per month. Assuming that the base machine has performance equal to that of its competitors, which optimizations (if any) would you choose to implement?