CS6600: Computer Architecture (3-0-3-5)
Objective:
- The course provides detailed architectural insights into various computing platforms, starting from superscalar processors to warehouse-scale computers.
Syllabus:
- [Week #1] Introduction: Classes of computers, Defining computer architecture, Trends in technology, Trends in power and energy in ICs, Dependability, Measuring performance, Quantitative principles of computer design.
- [Week #2] Instruction Set Principles: Classifying ISAs, Memory addressing, Type and size of operands, Operations in the instruction set, Instructions for control flow, Encoding an instruction set, Role of compilers, Case study -- The MIPS architecture.
- [Weeks #3-4] Fundamentals of Pipelining: Pipelining, Pipeline Hazards, Branch prediction, Pipeline implementation, Handling multi-cycle operations, Case study -- The MIPS R4000 pipeline.
- [Weeks #5-7] Memory Hierarchy Design: Cache memory and optimizations, Virtual memory, Memory technology and optimizations, Case study -- Memory hierarchies in the ARM Cortex-A8 and Intel Core i7.
- [Weeks #8-10] Exploiting Instruction-level Parallelism: Instruction-level parallelism, Compiler techniques for exposing ILP, Dynamic scheduling, Hardware-based speculation, Exploiting ILP using multiple issue and static scheduling, Exploiting ILP using dynamic scheduling, multiple issue, and speculation, Advanced techniques for instruction delivery and speculation, Limitations of ILP, Multithreading, Case study -- Design of the ARM Cortex-A8 and Intel Core i7 processors.
- [Weeks #11-12] Data-Level Parallelism: Vector architecture, SIMD instruction set extensions for multimedia, Graphics processing units, Detecting and enhancing loop-level parallelism, Case study -- Tesla vs Core i7 processors.
- [Week #13] Thread-Level Parallelism: Shared memory architectures, Cache coherence, Synchronization, Memory consistency, Case study -- Multicore processors.
- [Weeks #14-15] Warehouse-Scale Computers: Programming models and workloads for warehouse-scale computers (WSC), Computer architecture for WSC, Physical infrastructure and costs of WSC, Cloud computing, Case study -- Google WSC.
Experiments related to the above topics will be considered in CS6600L.
Text book:
- J.L. Hennessy and D.A. Patterson. Computer Architecture: A Quantitative Approach. 5th Edition, Morgan Kauffmann Publishers, 2011.
Evaluation Mechanism:
- Programming Assignments (30%)
- Mid Semester Exam (15%)
- Written Assignments (15%)
- End Semester Exam (40%)
Lecture Schedule: (Wed 11:00AM-11:50AM; Thu 9:00AM-9:50AM; Fri 8:00AM-8:50AM; Class Room: CS36)
Last modified: Dec 9th, 2011