Computer Organization and Architecture (3-1-0)

Course Details:

  1. Basic functional blocks of a computer: CPU, memory, input-output subsystems, control unit.
  2. Instruction set architecture of a CPU - registers, instruction execution cycle, RTL interpretation of instructions, addressing modes, instruction set.
  3. Case study - instruction sets of some common CPUs.
  4. Data representation: signed number repre-sentation, fixed and floating point representations, character representation.
  5. Computer arithmetic - integer addition and subtraction, ripple carry adder, carry look-ahead adder, etc. multiplication - shift-and-add, Booth multiplier, carry save multiplier, etc. Division - restoring and non-restoring techniques, floating point arithmetic.
  6. CPU control unit design: hardwired and micro-programmed design approaches, Case study - design of a simple hypothetical CPU.
  7. Memory system design: semiconductor memory technologies, memory organization.
  8. Peripheral devices and their characteristics: Input-output subsystems, I/O transfers - program controlled, interrupt driven and DMA, privileged and non-privileged instructions, software interrupts and exceptions.
  9. Programs and processes - role of interrupts in process state transitions.
  10. Performance enhancement techniques: Pipelining: Basic concepts of pipelining, throughput and speedup, pipeline hazards.
  11. Memory organization: Memory interleaving, concept of hierarchical memory organization, cache memory, cache size vs. block size, mapping functions, replacement algorithms, write policies.

Suggested Text/Reference Books

Computer Organization and Design - The Hardware/Software Interface by Patterson and Hennessy
Computer Organization by Hamacher, Vranesic and Zaky, McGraw Hill
Computer Architecture and Organization by Hayes, McGraw Hill

Chapter 1
Chapter 2
Computer Arithmetic
Memory System Design - I
Class Test 1 Question Paper with Solution
Mid Sem Question Paper with Solution