Key Information
About the content
This class is offered as CS6290 at Georgia Tech where it is a part of the [Online Masters Degree (OMS)](http://www.omscs.gatech.edu/). Taking this course here will not earn credit towards the OMS degree. The course begins with a lesson on performance measurement, which leads to a discussion on the necessity of performance improvement. Pipelining, the first level of performance refinement, is reviewed. The weaknesses of pipelining will be exposed and explored, and various solutions to these issues will be studied. The student will learn hardware, software, and compiler based solutions to these issues.
Syllabus
Lesson 1: Introduction and Trends
- Computer Architecture & Tech Trends - Moore's Law - Processor Speed, Cost, Power - Power Consumption - Fabrication YieldLesson 2: Performance Metrics and Evaluation
- Measuring Performance - Benchmarks Standards - Iron Law of Performance - Amdahl's Law - Lhadma's LawLesson 3: Pipelining Review
- Pipeline CPI - Processor Pipeline Stalls - Data Dependencies - Pipelining OutroLesson 4: Branches
- Branch Prediction - Direction Predictor - Hierarchical Predictors - PShareLesson 5: Predication
- If Conversion - Conditional Move - MOVc SummaryLesson 6: Instruction Level Parallelism (ILP)
- ILP Intro - RAW Dependencies - WAW Dependencies - Duplicating Register Values - Instruction Level Parallelism (ILP)Lesson 7: Instruction Scheduling
- Improving IPC - Tomasulo's Algorithm - Load and Store InstructionsLesson 8: ReOrder Buffer
- Exceptions in Out Of Order Execution - Branch Misprediction - Hardware Organization with ROBLesson 9: Memory Ordering
- Memory Access Ordering - When Does Memory Write Happen - Out of Order Load Store Execution - Store to Load Forwarding - LSQ, ROB, and RSLesson 9: Memory
- How Memory Works - One Memory Bit SRAM - One Memory Bit DRAM - Fast Page Mode - Connecting DRAM To The ProcessorLesson 10: Multi-Processing
- Flynn's Taxonomy of Parallel Machines - Multiprocessor Needs Parallel Programs! - Centralized Shared Memory - Distributed Shared Memory - Message Passing Vs Shared Memory - Shared Memory Hardware - SMT Hardware Changes - SMT and Cache PerformanceInstructors
- Milos Prvulovic - Dr Prvulovic's research focuses on architectural (hardware) support for program monitoring, debugging, and security, particularly in multi-threaded and multi-core systems. In general, the goal of his research is to make both hardware and software more reliable and secure. He is the area coordinator for the Computer Architecture area in the School of Computer Science at Georgia Tech. Dr. Prvulovic received his Ph.D. from the University of Illinois at Urbana-Champaign in 2003. He is a Senior Member of ACM and IEEE and is currently serving as the Secretary-Treasurer of ACM SIGMICRO.
Content Designer

Platform

Udacity is a for-profit educational organization founded by Sebastian Thrun, David Stavens, and Mike Sokolsky offering massive open online courses (MOOCs). According to Thrun, the origin of the name Udacity comes from the company's desire to be "audacious for you, the student". While it originally focused on offering university-style courses, it now focuses more on vocational courses for professionals.