Quiz submission record for quiz6-2-2 at Thu Jul 29 02:22:53 2004: Your Answer for Question 1: The EPC is a 32-bit register used to hold the address of the offending instruction. The Cause register is used to record the cause of the exception. MIPS instructions that cause exceptions and thus accesses to EPC and Cause include undefined instructions and add which may result in arithmetic overflow. Your Answer for Question 2: Because of the difficulty that comes along with associating the correct exception with the correct instruction (since there are five instructions executing at every clock cycle and various exceptions can occur simultaneously), some machines have imprecise exceptions. This essentially means that the exact offending instruction is not stored in the EPC. Usually, the operating system is left to determine which instruction caused the problem. Your Answer for Question 3: Polling is the process of periodically checking status bits to see if it is time for the next I/O operation and is the simplest way for an I/O device to communicate with the processor. The principal drawback to this is that it wastes a lot of processor time because processors are much faster than I/O devices. The processor may read from the Status register many times until the next I/O operation. Your Answer for Question 4: To give a command to an I/O device, the processor must be able to address the device and supply one or more command words. In memory-mapped I/O, portions of the address space are assigned to I/O devices. Each register essentially appears in a special memory location. # $t0 = receiver control address 0xffff0000 # $t1 = receiver control (dereferenced) lui $t0, 0xffff loop: lw $t1, 0($t0) andi $t1,$t1,0x0001 beqz $t1, loop lw $v0, 4($t0) # put received byte in $v0 Your unique submission ID is quiz6-2-2-cs61c-ei-1091092973-1931.