Degree Level Course
Computer Systems Design
To learn about the internal organisation of the computer. To learn about the architecture of a computer’s CPU.

Course ID: BSCS3031
Course Credits: 4
Course Type: Elective
Pre-requisites: None
Degree Level Course
Computer Systems Design
To learn about the internal organisation of the computer. To learn about the architecture of a computer’s CPU.
Course ID: BSCS3031
Course Credits: 4
Course Type: Elective
Pre-requisites: None
Course structure & Assessments
8 weeks of coursework, weekly online assignments, 2 in-person invigilated quizzes, 1 in-person invigilated end term exam. For details of standard course structure and assessments, visit Academics page.
WEEK 1 | Basic functional blocks of a computer: CPU, memory, input-output subsystems, control unit. |
WEEK 2 | nstruction 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. |
WEEK 3 | Data representation: signed number representation, fixed and floating point representations, character representation. Computer arithmetic - integer addition and subtraction, multiplication, division, floating point arithmetic. |
WEEK 4 | CPU control unit design: hardwired and microprogrammed design approaches, Case study - design of a simple hypothetical CPU. |
WEEK 5 | 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. |
WEEK 6 | Programs and processes - role of interrupts in process state transitions. |
WEEK 7 | Pipelining: Basic concepts of pipelining, throughput and speedup, pipeline hazards. |
WEEK 8 | Memory organisation: Memory interleaving, concept of hierarchical memory organisation, cache memory, cache size vs block size, mapping functions, replacement algorithms, write policy. |
Prescribed Books
The following are the suggested books for the course:
Computer Organization and Design, 4th Ed, D. A. Patterson and J. L. Hennessy
W. Stallings, Computer Organization and Architecture – Designing for Performance, 9th Edition, Pearson, 2013
About the Instructors
Prof. Ayon Chakraborty is an Assistant Professor in the Department of CSE at IIT Madras. He received his PhD from SUNY Stony Brook, NY, and had a three-year stint as a researcher at NEC Labs America, Princeton, NJ. His research interests are in designing IoT-based/mobile systems that interact with and interpret (sense) the physical world, spanning both algorithm design as well as end-to-end system prototyping.