This course is intended to understand the different components of a computer system, namely, digital hardware, the microarchitecture, the operating systems and the compilers, and their interconnection.
Introduction: Functional components of a computer system, Interaction among functional components
Design of Arithmetic and Logic Unit: Digital logic gates, Boolean algebra, Simplification of Boolean Expressions, Combinational logic circuits – Encoder, Decoder, Multiplexer and Demultiplexer; Representation of integer data, Integer adders, Integer multipliers, Design of integer unit, Floating point representation of real data, Floating-point adder/subtractor, Floating-point multiplier, Design of Floating point unit
Design of Register File and Memory Unit: Flip-flops, Synchronous sequential circuits – Registers and Counters; Memory unit
Generation and Execution of Machine Code: Instruction set architecture of a simple CPU, Assembler, Code generation, Application binary interface, Microarchitecture of CPU, Execution of machine code
Processing of High Level Language Code: Virtual machine, Interpreter, A simple compiler,
Fundamentals of operating system
C. H. Roth and L.L.Kinney, Fundamentals of Logic Design, 7th Edition, Cengage Learning, 2014. 2.
C.Hamacher, Z.Vranesic, S.Zaky and N.Manjikian, Computer Organization and Embedded Systems, 6th Edition, McGraw-Hill, 20123.
N. Nisan and S. Schocken, The Elements of Computing Systems – Building a Modern Computer from First Principles, The MIT Press, 2005
Chester Rebeiro, CSE, IIT Madras
NIL
Classes will be held from 3/Aug/2026 in Slot B1 in CS37.
Mondays: 09:00 - 09:50
Tuesdays: 08:00 - 08:50
Tuesdays: 10:00 - 12:00 (will be used for Lab and Tutorials)