Instructionssss For the Breadth Exam, answer questions 1 through 5 and for the Depth Exam, answer questions 1 through 8. The questions are quite specific. If, however, some confusion should arise, be sure to state all your assumptions explicitly. Breadth Exam (1) In most computers, programs generate virtual addresses, which are translated to physical addresses before accessing main memory. Caches can keep copies of information from main memory tagged with either virtual or physical addresses. Discuss the advan- tages and disadvantages of virtually-tagged versus physically-tagged caches. (2) Many computers with four-byte (32-bit) words have memory addresses that refer to bytes, making the addresses of the first, second and third words in memory be 0, 4 and 8. On such a computer, a word reference is called aligned if its address is a mul- tiple of 4, and unaligned otherwise. On a computer with virtual memory, discuss the advantages and disadvantages of supporting only aligned references in hardware versus supporting both unaligned and aligned references in hardware. (3) Most modern computers allow the user to "add on" dev- ices such as graphics boards, floating point accelerators, extra disk controllers, etc., after the computer has been sold. How is this accomplished and what criteria must the computer designer follow if the resulting design is to be "flexible" and "expand- able" in this manner. (4) The VAX architecture uses 64 bits to specify double- precision, floating-point numbers. Calculators typi- cally use 48 bits or fewer. However, most calcula- tors can represent numbers much larger than the VAX using double-precision floating point. How can this be? What are the advantages and disadvantages of either method? (5) The following sequence of instructions is to be exe- cuted on the IBM System/360 Model 91: LD F0, DDDD LD F2, CCCC LD F0, BBBB MD F0, EEEE AD F2, F0 AD F4, AAAA AD F2, F4 where A, B, C, D, and E are main memory locations. For this code sequence: (i) Is it possible that two instructions could be issued out of order and complete out of order? If so, give an example. If not, explain why. (ii) Is it possible that two instructions could be issued in order but complete out of order? If so, give an exam- ple. If not, explain why. (iii) Is it possible that two instructions could be issued out of order but complete in order? If so, give an example. If not, explain why. Depth Exam (6) A limit for a conventionally microcoded computer is the cycle time of the control store memory. Suggest at least two ways that this limitation can be over- come (without eliminating the microcode). Describe problems that must be dealt with in each of your solutions. (7) You are to design a machine with multiple, pipelined functional units that has precise interrupts. To do this, you must design a mechanism that allows you to implement precise interrupts. In designing your mechanism, you must consider the hardware cost as well as the performance impact of the mechanism. Describe your mechanism (or mechanisms) and discuss how your choice is influenced by the other architec- tural features of the machine (such as functional unit latencies), as well as the workload of the machine. (8) Developments in the semiconductor industry in the last decade make it possible to fabricate an integrated circuit with more than a million transis- tors on it. In the last five years the emphasis in processor design has been on pipelining. Are these two developments related? If so, what is the connec- tion? If not, how do you explain their coincidental emergence?