Syllabus:
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. Assembly Programming (SPIM).
Data representation: signed number representation, 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 - non-restoring and restoring techniques, floating point arithmetic. Verilog Designs and FPGA Prototyping of Architectures.
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 policy.
Text Books:
Computer Organization and Design, 4th Ed, D. A. Patterson and J. L. Hennessy
Computer Organization, Hamacher, Vranesik and Zaky
Computer Architecture, Berhooz Parhami
Evaluation Procedure:
Assignments / Class Test/ Surprise Evaluation – 40%
Mid-semester examination – 30%
End-semester examination – 30%
Relative grading to be followed for deciding on the final grades.
Class Rooms and Schedule:
Section 1 (ODD Roll Numbers) - Class Room NC241
Section 2 (EVEN Roll Numbers) - Class Room NC244
Monday: 10-10:55
Wednesday: 8-9:55
Thursday: 10-10:55
Link to Resources:
All announcements on the course would be posted in Moodle:
To join Moodle:
https://moodlecse.iitkgp.ac.in/moodle/
COA Theory Keys:
Student Key: COAT@Stu26