Boolean algebra, standard logic gates, truth tables,
Venn diagrams, combinatorial logic, duality,
standard logic results, proof by perfect induction,
Asynchronous and clocked logic, half- and full-adders,
carry look ahead, latch and flip-flop circuits,
master-slave units, common memory types.
Finite State Machines, Moore and Mealy machines, sequencers,
synchronous logic, the memory hierarchy,
introduction to computer architecture and processor structure.
Amdahl's Law and system performance, the semantic gap,
instruction set usage, RISC, CISC and SuperScalar processors,
Instruction cycle, pipelines, bubbles, stalls and hazards,
forwarding and bypassing, branch prediction, scoreboarding.
Spatial and temporal locality, the 90/10 rule, cache systems and
their structure, cache lines, cache tags, cache hits and misses,
write through and write back systems, associative and
direct mapped cache policies, cache replacement algorithms.
Memory overlays, virtual memory, paged and segmented memory
systems, page and segment tables, memory fragmentation problems,
translation lookaside buffers.
Architectural support for operating systems, user and supervisor
modes, privileged instructions, memory protection,
base and limit systems.
'State of the Art' processor design, hardware emulation and
abstraction (HAL and PAL systems), read/ write ordering,
precise and imprecise exception handling.
Pipeline depth tradeoffs, performance, memory layout.