Computer Architecture
Description
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
About this course: In this course, you will learn to design the computer architecture of complex modern microprocessors.
Created by: Princeton University-
Taught by: David Wentzlaff , Assistant Professor
Electrical Engineering
Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.
Help from your peersConnect with thousands of other learners and debate ideas, discuss course material, and get help mastering conce…

Frequently asked questions
There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.
When you enroll for courses through Coursera you get to choose for a paid plan or for a free plan .
- Free plan: No certicification and/or audit only. You will have access to all course materials except graded items.
- Paid plan: Commit to earning a Certificate—it's a trusted, shareable way to showcase your new skills.
About this course: In this course, you will learn to design the computer architecture of complex modern microprocessors.
Created by: Princeton University-
Taught by: David Wentzlaff , Assistant Professor
Electrical Engineering
Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.
Help from your peersConnect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.
Princeton University Princeton University is a private research university located in Princeton, New Jersey, United States. It is one of the eight universities of the Ivy League, and one of the nine Colonial Colleges founded before the American Revolution.Syllabus
WEEK 1
Introduction, Instruction Set Architecture, and Microcode
This lecture will give you a broad overview of the course, as well as the description of architecture, micro-architecture and instruction set architectures.
8 videos, 2 readings expand
- Video: Course Introduction
- Reading: Readings
- Video: Course Overview
- Video: Motivation
- Video: Course Content
- Video: Architecture and Microarchitecture
- Video: Machine Models
- Video: ISA Characteristics
- Video: Recap
- Reading: Problem Set 1 & 1A
Pipelining Review
This lecture covers the basic concept of pipeline and two different types of hazards.
4 videos, 1 reading expand
- Reading: Readings
- Video: Microcoded Microarchitecture
- Video: Pipeline Basics
- Video: Structural Hazard
- Video: Data Hazards
WEEK 2
Cache Review
This lecture covers control hazards and the motivation for caches.
5 videos, 1 reading expand
- Reading: Readings
- Video: Control Hazards, Jumps
- Video: Control Hazards, Branch
- Video: Control Hazards, Others
- Video: Memory Technologies
- Video: Motivation for Caches
Superscalar 1
This lecture covers cache characteristics and basic superscalar architecture.
5 videos, 1 reading expand
- Reading: Readings
- Video: Classifying Caches
- Video: Cache Performance
- Video: Superscalar 1
- Video: Basic Two-way In-order Superscalar
- Video: Fetch Logic and Alignment
WEEK 3
Superscalar 2 & Exceptions
This lecture covers the common issues for superscalar architecture.
4 videos, 1 reading expand
- Reading: Readings
- Video: Baseline Superscalar and Alignment
- Video: Interrupts and Bypassing
- Video: Interrupts and Exceptions
- Video: Introduction to Out-of-Order Processors
Superscalar 3
This lecture covers different kinds of architectures for out-of-order processors.
5 videos, 2 readings expand
- Video: Review of Out-of-Order Processors
- Video: I2O2 Processors
- Video: I2O1 Processors
- Video: IO3 Processors
- Video: IO2I Processors
- Reading: Problem Set 2
- Reading: Problem Set 1 Solutions
WEEK 4
Superscalar 4
This lecture covers the common methods used to improve the performance of out-of-order processors including register renaming and memory disambiguation.
5 videos expand
- Video: Speculation and Branch
- Video: Register Renaming Introduction
- Video: Register Renaming with Pointers to IQ and ROB
- Video: Register Renaming with Values in IQ and ROB
- Video: Memory Disambiguation
VLIW 1
This lecture covers the basic concept of very long instruction word (VLIW) processors.
5 videos, 3 readings expand
- Reading: Readings
- Video: Limits of Out-of-Order Design Complexity
- Video: Introduction to VLIW
- Video: VLIW Compiler Optimizations
- Video: Classic VLIW Challenges
- Video: Introduction to Predication
- Reading: Problem Set 3
- Reading: Problem Set 2 Solutions
WEEK 5
VLIW2
This lecture covers the common methods used to improve VLIW performance.
6 videos, 1 reading expand
- Reading: Readings
- Video: Scheduling Model Review
- Video: Review of Predication
- Video: Predication Implementation
- Video: Speculation Execution
- Video: Dynamic Events and Clustered VLIWs
- Video: Case Study: IA-64/Itanium
Graded: Midterm
Branch Prediction
This lecture covers the motivation and implementation of branch predictors.
5 videos, 1 reading expand
- Reading: Readings
- Video: Branch Cost Motivation
- Video: Branch Prediction Introduction
- Video: Static Outcome Prediction
- Video: Dynamic Outcome Prediction
- Video: Target Address Prediction
WEEK 6
Advanced Caches 1
This lecture covers the advanced mechanisms used to improve cache performance.
6 videos, 1 reading expand
- Reading: Readings
- Video: Basic Cache Optimizations
- Video: Cache Pipelining
- Video: Write Buffers
- Video: Multilevel Caches
- Video: Victim Caches
- Video: Prefetching
Advanced Caches 2
This lecture covers more advanced mechanisms used to improve cache performance.
4 videos, 2 readings expand
- Reading: Readings
- Video: Multiporting and Banking
- Video: Software Memory Optimizations
- Video: Non-blocking Caches
- Video: Critical Word First and Early Restart
- Reading: Problem Set 3 Solutions
WEEK 7
Memory Protection
This lecture covers memory management and protection.
5 videos, 2 readings expand
- Reading: Readings
- Video: Memory Management Introduction
- Video: Base and Bound Registers
- Video: Page Based Memory Systems
- Video: Translation and Protection
- Video: TLB Processing
- Reading: Problem Set 4 & 4A
Vector Processors and GPUs
This lecture covers the vector processor and optimizations for vector processors.
6 videos, 1 reading expand
- Reading: Readings
- Video: Address Translation Review
- Video: Cache and Memory Protection Interaction
- Video: Vector Processor Introduction
- Video: Vector Parallelism
- Video: Vector Hardware Optimizations
- Video: Vector Software and Compiler Optimizations
WEEK 8
Multithreading
This lecture covers different types of multithreading.
6 videos, 1 reading expand
- Reading: Readings
- Video: Reduction, Scatter/Gather, and the Cray 1
- Video: SIMD
- Video: GPUs
- Video: Multithreading Motivation
- Video: Coarse-Grain Multithreading
- Video: Simultaneous Multithreading
Parallel Programming 1
This lecture covers the concepts of parallelism, consistency models, and basic parallel programming techniques.
4 videos, 1 reading expand
- Reading: Readings
- Video: SMT Implementation
- Video: Introduction to Parallelism
- Video: Sequential Consistency
- Video: Introduction to Locks
WEEK 9
Parallel Programming 2
This lecture covers the solutions for the consistency problem in parallel programming.
5 videos expand
- Video: Sequential Consistency Review
- Video: Locks and Semaphores
- Video: Atomic Operations
- Video: Memory Fences
- Video: Dekker's Algorithm
Small Multiprocessors
This lecture covers the implementation of small multiprocessors.
5 videos, 2 readings expand
- Reading: Readings
- Video: Locking Review
- Video: Bus Implementation
- Video: Cache Coherence
- Video: Bus-Based Multiprocessors
- Video: Cache Coherence Protocols
- Reading: Problem Set 4 Solutions
WEEK 10
Multiprocessor Interconnect 1
This lecture covers the design of interconnects for a multiprocessor.
4 videos, 2 readings expand
- Reading: Readings
- Video: Cache Coherence Protocols
- Video: Introduction to Interconnection Networks
- Video: Message Passing
- Video: Interconnect Design
- Reading: Problem Set 5 & 5A
Multiprocessor Interconnect 2
This lecture covers the design of interconnects for multiprocessor and network topology.
5 videos, 1 reading expand
- Reading: Readings
- Video: Networking Review
- Video: Topology
- Video: Topology Parameters
- Video: Network Performance
- Video: Routing and Flow Control
WEEK 11
Large Multiprocessors (Directory Protocols)
This lecture covers the motivation and implementation of directory protocol used for coherence on large multiproccesors.
6 videos, 2 readings expand
- Reading: Readings
- Video: Credit Based Flow Control
- Video: Deadlock
- Video: False Sharing
- Video: Introduction to Directory Coherence
- Video: Implementation
- Video: Scalability of Directory Coherence
- Reading: Problem Set 5 Solutions
Graded: Final Exam
Share your review
Do you have experience with this course? Submit your review and help other people make the right choice. As a thank you for your effort we will donate £1.- to Stichting Edukans.There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.