Applications for the September 2026 Qualifier are open. Apply by September 27, 2026. Apply now
Diploma Level

Computer Organisation

The course provides an introduction to assembly language programming relating it to C programs via inline assembly. Concepts of compiling, linking, and execution are all dealt with in great detail by using C programs as a vehicle and suitable animations. The course then moves on to introduce the components of a computer system, namely register file, memory, data path and control path. The course then goes on to build a single cycle processor of a load store architecture like RISC-V. The focus of the discussion will revolve around delays and maximum clock frequency of the processor. This leads to multi-cycle processors and eventually pipelined processors. Data and control hazards are discussed in great detail. The course will end with a discussion about virtual memory and introduce various technologies like SRAM/ DRAM and Non-Volatile memory.

Code EE2106
Credits 4 Credits
Type Diploma
Prerequisites None
12-Week Roadmap

Course Structure & Syllabus

View Course Videos

For details of standard term assessment timelines and exam structures, visit our Academics page.

Week 1
Introduction to x86 architecture and assembly programming; instruction sets, memory organization, and basic data access.
Week 2
Assembly programming fundamentals; jump, stack, call/return, and string instructions.
Week 3
Inline assembly programming; arithmetic operations, string handling, preprocessing, compilation, and linking.
Week 4
Program execution flow; stack organization, parameter passing, calling conventions, and function management.
Faculty & Experts

About the Instructors

Prof. Janakiraman Viraraghavan

Prof. Janakiraman Viraraghavan

Assistant Professor , Department of Electrical Engineering , IIT Madras

Prof. Janakiraman Viraraghavan is an Assistant Professor at the Department of Electrical Engineering, IIT Madras and is part of the Integrated Circuits and Systems (iCS) group. His research interests include porting machine-learning algorithms on to hardware and statistical analysis in VLSI. He also has a keen interest in Microprocessors and Programming in general.