Final Exam

profilejjaney
final320-exam2.pdf

IT320 Computer Architecture Final Exam Submit your detailed answers to the following questions to the Final Exam dropbox by the due date. Do your own work and do not post anything regarding the exam for others to see. Question 1 The following Little Man program is supposed to input two numbers, compare them, and output the higher of the two numbers. Mailbox Mnemonic Code 01 IN 901 02 STO 90 390 03 IN 901 04 STO 91 391 05 SUB 90 290 06 BRP 10 810 07 LDA 91 591 08 OUT 902 09 COB 000 10 LDA 90 590 11 OUT 902 12 COB 000 What is wrong with this program, if anything? If necessary, modify the program so that it produces the correct result. Question 2 Write a Little Man Computer program that divides the number stored at location 50 by the value 10. This can be done by subtracting 10 from the original number as many times as possible and counting the number of times before the original value goes negative. For example, dividing 86 by 10 will give the result of 8, because we can subtract 10 from 86 8 times before going negative (76, 66, 56, 46, 36, 26, 16, 6, -4). You may assume the value 10 is already saved in location 51. Store the result in location 52. Question 3 Suppose that the following instructions are found at the given locations in memory:

15 DAT 40 20 LDA 15 21 OUT

1

2

Show the contents of the IR, PC, MAR, MDR, and A registers at each step of the fetch- execute cycle, for both instructions. Execution begins at address 20. Question 4

(a) Suppose we are trying to determine the speed of a computer that executes the Little Man instruction set. The Load and Store instructions each make up 12% of the instructions in a typical program. Add, Sub, IN, and OUT take 8% each. Branch instructions account for 44% of the remaining instructions. We can ignore the COB instruction as it only executes once. Determine the average number of instructions executed each second if the clock ticks at a speed of 250 MHz.

(b) Now imagine that the computer is pipelined. Estimate the number of instructions that can be completed each second.

Question 5 A floppy disk rotates at a speed of 360 RPM. The disk is divided into 9 sectors per track and there are 80 tracks. The disk is double sided. Each sector stores 512 bytes. (a) What is the disk capacity in bytes? (b) What is the minimum and maximum latency time for the disk? (c) What is the transfer time for a single sector? Question 6 A hard disk spins at a rate of 9600 RPM. Each cylinder (a track than spans all the platters) contains 64 sectors on each platter surface.

(a) How much time does it take to read 16 consecutive sectors? (b) If there are four platters and both sides of the platters are used and there are 1200

cylinders and each sector stores 512 bytes, what is the drive capacity?