CO262 - System Programming, Dec 2017 - May 2018

Welcome to the CO262 - System Programming, Dec 2017 - May 2018 course page. Click here for the course objectives, outcomes, and the detailed syllabus.

Course Syllabus

  • M1 - Processor. Pipelining, Hazards, Forwarding, Branch Prediction.
  • M2 - Memory Systems. Memory hierarchy, SRAM, Cache Blocking, Cache coherence, DRAM, Virtual Machines, Virtual Memory, Non-Volatile Memory, RAID, Persistent NVMs.
  • M3 - Input Output. Connecting and interfacing I/O devices. Memory mapped I/O, Interrupt driven I/O. DMA. Secondary storage.
  • M4 - Parallelism. Concept of Parallelism, ISA support for synchronization, Flynn’s Classification, Vector Processing, Multithreading, Shared Memory and Message passing multiprocessors, Heterogeneous Computing, Clusters, Warehouse computing.
  • M5 - Interconnection Networks. Topologies - architecturs and properties, Router Architecture, Flow control, Link design, Simulation.

Reference Books

  • [PH6e/PH5e/PH4e] David A Patterson and John L Hennessy. Computer Organization and Design - The Hardware/Software Interface. Elsevier.(6e, 2017 RISC-V edition; 5e, 2014 - MIPS/ARM edition; 4e, MIPS/ARM edition).
  • M. Morris Mano. Computer System Architecture. 3e. Pearson. 2007.

NPTEL Courses. Matthew Jacob - High Performance Computing, Bhaskaran Raman - Computer Organisation and Architecture, S. Raman - Computer Organization, Jatindra Kumar Deka - Computer Organisation and Architecture.

Course Evaluation

Quizzes, Tutorials, Assignments - 40%, Mid Sem - 20%, Final Exam - 40%.

Assignments/Lab Work

Sl. No. AssignmentSubmission Date


Class Lectures