When and where

Mon/Thurs, 10:30 to 12.00 hrs, KD 103

Course Objective

Memory subsystem is an important layer in the computing system that has to be efficient for the whole system to operate efficiently. The course will focus on the principles to design a high performance, energy efficient, reliable, and secure memory hierarchy for multi-core systems. The course will be a fusion of fundamentals and state-of-the-art research and will also have a programming assignment component that will deal with the evaluation of different memory subsystem designs. At the end of the course, the students will have an understanding of both the foundations and the practice of memory subsystem design for current and future multi-core systems, and it will enable students to design both better hardware as well as software.


  • Good programming skills in C and C++. All programming assignments will be in C/C++. There is a free version of the book by K & R here for those who want dive into the sea of C.
  • Undergraduate Computer Architecture or Organization . You must be familiar with these buzzwords: Instruction pipelining, program counter (PC), LOADs/STOREs, direct mapping, associative mapping, cache miss, cache hit, tag, index, offset, L1, L2, virtual address, physical address, paging, DRAM, SRAM, latency, bandwidth, and throughput. To brush-up the buzzwords, please refer this book.


  • Who should take this course? Take this course if the following applies to you:
    • (i) You have a strong interest in Computer Architecture and Systems.
    • (ii) You are passionate about Computer Architecture and want to pursue higher studies in it.
    • (iii) You are interested in joining computer architecture industry.
    • (iv) You are a good programmer and want to improve your productivity by understanding the underlying hardware.
    • (v) You are still confused. Meet me before it is late.
  • Is there a link to the old course webpages? Sorry, the course is offered for the first time.
  • Can I audit this course? Mostly yes. However, check with me.
  • Is this course about microprocessors, circuits, transistors, gates, and programming in HDL/VHDL? NO, This is a CS (not EE) course. Please attend the first lecture to get a feel of CS698Y.