Computer Systems Design

An exploration of the internal organization of computer systems, from fundamental logic gates and Boolean algebra to the architectural design of a CPU.

This course provides a comprehensive journey into the hardware foundations of computing. We begin by exploring the fundamental building blocks, including Boolean algebra and logical circuits. As the curriculum progresses, we move from simple combinational components like multiplexers and encoders to more complex sequential circuits such as registers and counters. The course culminates in the practical application of these concepts through the design of a functional Arithmetic Logic Unit (ALU) and a complete Central Processing Unit (CPU), providing a deep understanding of how software instructions are physically executed by hardware.


Instructor

Prof. Ayon Chakraborty, Department of Computer Science and Engineering, IIT Madras


Course Schedule & Topics

The course is structured over 12 weeks, transitioning from theoretical logic to the physical architecture of a processor.

Week Primary Focus Key Topics Covered
1 Introduction Course Overview and the building blocks of Computer Systems.
2 Logical Foundations Foundation of Logical Circuits and Introduction to Boolean Algebra.
3 Circuit Design Basics Canonical Forms (SOP & POS), Universal Gates, and Timing Diagrams.
4 Combinational Components I N-bit Comparators, Multiplexers, Encoders, and Decoders.
5 Logic Simplification Adders, Programmable Logic Arrays (PLA), and K-map simplification.
6 Practical Implementation Circuit simulation using CircuitVerse and 7-Segment LED Displays.
7 Sequential Circuits Intro Introduction to Sequential Circuits and Latches/Flip-Flops.
8 Storage & Counting Register design and synchronous/asynchronous Counters.
9 State Machines Sequential logic design and Finite State Machine (FSM) Design.
10 Architecture Foundations Instruction Set Architecture (ISA) and the hardware-software interface.
11 Processing Units Designing the Arithmetic Logic Unit (ALU).
12 CPU Design Integrating components into a complete CPU architecture.

Material used