Computer Organization and Architecture (3-1-0)
Course Details:
- Basic functional blocks of a computer: CPU, memory, input-output subsystems, control unit.
- Instruction set architecture of a CPU - registers, instruction execution cycle, RTL interpretation of instructions, addressing modes, instruction set.
- Case study - instruction sets of some common CPUs.
- Data representation: signed number repre-sentation, fixed and floating point representations, character representation.
- 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.
- CPU control unit design: hardwired and micro-programmed design approaches, Case study - design of a simple hypothetical CPU.
- Memory system design: semiconductor memory technologies, memory organization.
- 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.
- Programs and processes - role of interrupts in process state transitions.
- Performance enhancement techniques: Pipelining: Basic concepts of pipelining, throughput and speedup, pipeline hazards.
- 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