AR. Architecture (33 core hours)

AR1. Digital logic and digital systems (core -- 3 hours)

  Simple building blocks (logic gates, flip-flops, counters, registers)
  Logic expressions
  Simple adders, structure of a simple arithmetic-logic unit (ALU)

AR2. Machine level representation of data (core -- 3 hours)

  Numeric data representation and number bases
  Fixed- and floating-point systems
  Signed and twos-complement representations
  Representation of nonnumeric data

AR3. Assembly level machine organization (core -- 9 hours)

  Basic organization
  Control unit; instruction fetch, decode, and execution
  Instruction sets and types (data manipulation, control, I/O)
  Assembly/machine language programming
  Instruction formats
  Addressing modes
  I/O and interrupts

AR4. Memory system organization (core -- 5 hours)

  Storage systems and technology
  Memory hierarchy
  Main memory organization and operations
  Latency, cycle time, bandwidth, and interleaving
  Cache memories (address mapping, replacement and store policy)

AR5. I/O and communication (core -- 3 hours)

  Input/output control methods, interrupts
  Synchronization, open loop, handshaking
  External storage, physical organization, and drives
  Bus systems, control, direct-memory access (DMA)

AR6. CPU implementation (core -- 10 hours)

  Hardwired realization of CPU
  Microprogrammed realization; formats and coding
  Varieties of instruction formats
  Architectural support for operating systems and compilers
  Instruction pipelining
  Introduction to instruction-level parallelism (ILP)