CO200 - Computer Organization and Architecture, July-Dec, 2014

Welcome to the CO200 - Computer Organization and Architecture page.

Course Objectives

  • To understand how a computer works.
  • To know the architecture and working of components inside a computer - Processor, Control unit, ALU, Memory, I/O.
Some of the questions we will answer during the course are:
  • How is a machine language program executed by a computer?
  • How does the software instruct the hardware to perform a desired action? How does the hardware instruct a desired unit to perform its corresponding operation?
Why are these questions important?
  • To gain insight into the setting in which our programs execute.
  • To improve the setting in which our programs execute - to improve the performance of the system

Course Syllabus

Processor Basics - CPU organization, Data representation and Instruction Sets. Datapath Design - Adders, Subtracters, Multipliers, Dividers. Fixed point arithmetic - ALU. Floating point arithmetic. Control Design - Hardwired control, Microprogrammed control, Pipeline control. Memory Organization - Serial vs. Random Access Memories, Caches, Virtual Memory. Principles of Pipelining. Principles of Parallel Computing.

Course Evaluation

Surprise Quizzes + Assignments - 25%, Mid Sem - 25%, Final Exam - 50%.

Reference Material

Reference Books/Textbooks:

  • David Patterson and John Hennessy. Computer Organization and Architecture. 3ed and 4ed. Morgan Kaufmann.
  • Kai Hwang and Faye Briggs. Computer Architecture and Parallel Processing. McGraw Hill.
  • John P Hayes. Computer Architecture and Organization, 3ed. McGraw Hill.

Other References, Course supplements:

Class Lectures

Guest Lectures

Date Speaker Title/PDF
August 2 Dr. Janakiraman V, IBM, SRDC. C Programming and the Assembly Language.
September 21 Viveka K R, IISc. SRAM Design.
September 21 Dr. Balaji Venkataraman, IBM, SRDC. DRAM Design.