Computer Organization and Structure

Homework #1

Due: 2011/10/4

 

1.      Find the word or phrase from the list below that best matches the description in the following questions. Use the numbers to the left of the words in the answer. Each answer should be used only once.

 

1.      virtual worlds

2.      desktop computers

3.      servers

4.      low-end servers

5.      supercomputers

6.      terabyte

7.      petabyte

8.      datacenters

9.      embedded computers

10.  multicore processors

11.  VHDL

12.  RAM

13.  CPU

14.  operating system

15.  compiler

16.  bit

17.  instruction

18.  assembly language

19.  machine language

20.  C

21.  Assembler

22.  high-level language

23.  system software

24.  application software

25.  cobol

26.  fortran

 

 

a.         Computer used to run large problems and usually accessed via a network

b.        1015 or 250 bytes

c.         Computer composed of hundreds to thousands of processors and terabytes of memory

d.        Today’s science fiction application that probably will be available in near future

e.         A kind of memory called random access memory

f.         Part of a computer called central processor unit

g.        Thousands of processors forming a large cluster

h.        A microprocessor containing several processors in the same chip

i.          Desktop computer without screen or keyboard usually accessed via a network

j.          Currently the largest class of computer that runs one application or one set of related applications

k.        Special language used to describe hardware components

l.          Personal computer delivering good performance to single users at low cost

m.      Program that translates statements in high-level language to assembly language

n.        Program that translate symbolic instructions to binary instructions

o.        High-level language for business data processing

p.        Binary language that the processor can understand

q.        Commands that the processors understand

r.          High-level language for scientific computation

s.         Symbolic representation of machine instructions

t.          Interface between user’s program and hardware providing a variety of services and supervision functions

u.        Software/programs developed by the users

v.        Binary digit (value 0 or 1)

w.      Software layer between the application software and the hardware that includes the operating system and the compilers

x.        High-level language used to write application and system software

y.        Portable language composed of words and algebraic expressions that must be translated into assembly language before run in a computer

z.         1012 or 240 bytes

 

2.      For a color display using 8 bits for each of the primary colors (red, green, blue) per pixel and with a resolution of 1280 x 800 pixels, what should be the size (in bytes) of the frame buffer to store a frame? If a computer has a main memory of 2 GB, how many frames could it store, assuming the memory contains no other information? If a computer connected to a 1 gigabit Ethernet network needs to send a 256 Kbytes file, how long it would take? Assuming that a cache memory is ten times faster than a DRAM memory, that DRAM is 100,000 times faster than magnetic disk, and that flash memory is 1000 times faster than disk, find how long it takes to read a file from a DRAM, a disk, and a flash memory if it takes 2 microseconds from the cache memory?

 

3.      Consider three different processors P1, P2, and P3 executing the same instruction set with the clock rates and CPIs given in the following table.

 

Processor

Clock rate

CPI

P1

2 GHz

1.5

P2

1.5 GHz

1.0

P3

3 GHz

2.5

 

a.         Which processor has the highest performance?

b.        If the processors each execute a program in 10 seconds, find the number of cycles and the number of instructions.

c.         We are trying to reduce the time by 30% but this leads to an increase of 20% in the CPI. What clock rate should we have to get this time reduction?

 

For problems below, use the information in the following table.

 

Processor

Clock rate

No. instructions

Time

P1

2 GHz

20 x 109

7 s

P2

1.5 GHz

30 x 109

10 s

P3

3 GHz

90 x 109

9 s

 

d.        Find the IPC (instructions per cycle) for each processor.

e.         Find the clock rate for P2 that reduces its execution time to that of P1.

f.         Find the number of instructions for P2 that reduces its execution time to that of P3.

 

4.      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?