High Performance Computer Architecture
Pipelines, Caches, and MultiCores
About this Course
This class is offered as CS6290 at Georgia Tech where it is a part of the Online Masters Degree (OMS). 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.
Included in Product
Rich Learning Content
Taught by Industry Pros
What You Will Learn
Introduction and Trends
- Computer Architecture & Tech Trends
- Moore's Law
- Processor Speed, Cost, Power
- Power Consumption
- Fabrication Yield
Performance Metrics and Evaluation
- Measuring Performance
- Benchmarks Standards
- Iron Law of Performance
- Amdahl's Law
- Lhadma's Law
Instruction Level Parallelism (ILP)
- ILP Intro
- RAW Dependencies
- WAW Dependencies
- Duplicating Register Values
- Instruction Level Parallelism (ILP)
- Exceptions in Out Of Order Execution
- Branch Misprediction
- Hardware Organization with ROB
- Memory Access Ordering
- When Does Memory Write Happen
- Out of Order Load Store Execution
- Store to Load Forwarding
- LSQ, ROB, and RS
- How Memory Works
- One Memory Bit SRAM
- One Memory Bit DRAM
- Fast Page Mode
- Connecting DRAM To The Processor
Prerequisites and Requirements
You must be familiar with Assembly code, the C or C++ programming language, Unix or Linux, and the basics of pipelining.
See the Technology Requirements for using Udacity.
Why Take This Course
You will explore the fascinating field of computer architecture, studying the many methods developed to enhance computer performance. The trade-offs and compromises associated with each design and their effects on processor development is a captivating story that will make you a better computer scientist, regardless of your field of study.
What do I get?
- Instructor videos
- Learn by doing exercises
- Taught by industry professionals