The final will be 10-11:50 AM on Thursday, May 5 in Wright 105. The test will be open-book and open-notes.

About 50% of the Final will focus on the material since the last test, and about 50% will focus on the material from tests 1 and 2.

Review topics covered since Test 2 are:

Chapter 15. MIPS Assembly Language

MIPS Instruction Set: logical instructions, shift/rotate instructions

SPIM System Calls: Table 15.10

SPIM Assembler Directives: .data, .text, .word, .asciiz, .ascii, .GLOBL, .align

You should understand the general concept of how the operating system with hardware support provide protection from user programs that:

  1. go into infinite loops
  2. try to access memory of other programs or the OS
  3. try to access files of other programs
This involves understanding the concepts of
  1. CPU timer
  2. dual-mode operation of the CPU, and idea of privileged instructions and non-privileged instructions
  3. ways to restrict a user program to its allocated address space
Information about the hardware support of the operating system can be found in the following sections:

Chapter 19. Input/Output Organization (Sections 19.1 to 19.4)

I/O Controller role and function

I/O address mapping: Isolated-I/O vs. memory-mapped I/O

I/O Data Transfer: programmed I/O, interrupt-driven I/O, and direct-memory access (DMA)

Chapter 20. Interrupts (Sections 20.1, 20.2, and 20.9)

General interrupt mechanism

Usage of interrupts by the hardware/operating system to restrict a user program's activities