List of Topics (By Week):
1. The basic organization of a computer system and a processor.
Boolean algebra. combinational logic circuits.
State elements: the R-S latch.
Lab: Review of basic UNIX commands and utilities.
2. State Elements (Cont'd): D-latch, D-flipflops.
The register file, multiplexors, decoders.
Lab: Review of basic C programming language features.
3. The instruction set: Operations and operands.
Introduction to assembly programming.
Simple ALU operations and branch instructions.
Lab: Bit-wise logic operations and standard library routines
in C. Source level C program debugging.
4. Addressing modes. Memory allocation and stack mechanism
in assembly programs.
Lab: Compiling C programs into assembly programs.
5. Procedure calls in assembly programs.
Register usage convention.
Assemblers, linkers, debuggers.
Lab: Assembling, disassembling, linking.
An emulator and a debugger for executing and debugging
assembly programs.
6. Number representations and ALU operations.
Floating point instructions.
Lab: Writing assembly programs with simple control structures.
7. The processor data-path and control.
Design of a primitive processor with hard-wired control.
Instruction execution steps.
Lab: Writing assembly programs dealing with radix
and floating point numbers.
8. Finite state machines. PLA vs. ROM.
The basics of microprogramming.
Lab: Writing assembly programs with recursive procedure calls.
9. Relationship between concepts covered so far.
Lab: Review and comprehensive exercises.
10. SRAM and DRAM. Caches.
Lab: Reducing memory reference penalty in assembly programs
by efficient use of registers, caches and other techniques.
11. Virtual memory, page faults, TLB.
Lab: Memory allocation in assembly programs.
Measuring and understanding page faults generated
by a program.
12. Exception and interrupt handling.
Lab: Exception handlers. Long jumps.
13. I/O. Bus. I/O and network interface.
Lab: I/O routines.
14. A high-level view of instruction Pipelining and
other Performance Issues.
Lab: Measuring and understanding program performance.
15. Review and prepare for exam.
Lab: Review and finish up.
2001.08