Class rosters are provided to the instructor with the student's legal name as well as "Preferred first name" (if previously entered by you in the Student Profile section of your CIS account). While CIS refers to this as merely a preference, I will honor you by referring to you with the name and pronoun that feels best for you in class, on papers, exams, etc. Please advise me of any name or pronoun changes (and please update CIS) so I can help create a learning environment in which you, your name, and your pronoun will be respected.
The University of Utah values the safety of all campus community members. To report suspicious activity or to request a courtesy escort, call campus police at 801-585-COPS (801-585-2677). You will receive important emergency alerts and safety messages regarding campus safety via text message. For more information regarding safety and to view available training resources, including helpful videos, visit SAFEU.
Screencast videos based on every lecture are already posted on YouTube (links below). I will not be recording in-class lectures. If you happen to miss the in-class lecture, I recommend watching the YouTube videos to catch up. Ideally, you'll attend the in-class lecture and watch the YouTube videos to reinforce concepts (either when solving homeworks or preparing for the exams).
Nicer playlist created by a 6810 student
Date | Lecture Topic | Slides | Reading | Videos | Assignment |
---|---|---|---|---|---|
Mon, Aug 22 | Logistics and Introduction, Trends. | pptx ; pdf | Chapter 1 (also review the pre-req textbook) | No YouTube videos for this class. | |
Wed, Aug 24 | Metrics: Power. | pptx ; pdf | Chapter 1 |
YouTube Video 21 (Power and energy basics) YouTube Video 22 (DFS and DVFS examples) |
HW 1 posted |
Mon, Aug 29 | Metrics: reliability, cost, performance. | pptx ; pdf | Chapter 1 |
YouTube Video 1 (Benchmarks, latency, throughput, sum of exec times, sum of weighted exec times) YouTube Video 2 (Geometric mean, CPU performance equation) YouTube Video 3 (AM/HM/GM of IPCs, speedup/improvement) |
|
Wed, Aug 31 | Pipelining Basics. | pptx ; pdf | Chapter C (appendix) |
YouTube Video 4 (Pipelining analogy and basic instruction pipeline) YouTube Video 5 (The role of clocks and latches, pipelining equations) YouTube Video 6 (Description of the basic 5-stage pipeline) |
HW 1 due |
Mon, Sep 5 | Labor Day Holiday | ||||
Wed, Sep 7 | Pipelining Hazards. | pptx ; pdf | Chapter C (appendix) |
YouTube Video 7 (Explains RISC/CISC architectures and Load/Store instructions) YouTube Video 8 (Structural hazards) YouTube Video 9 (Data dependences, data hazards, pipeline stalls) |
HW 2 posted |
Mon, Sep 12 | Pipeline Extensions. | pptx ; pdf | Chapters C and 3 |
YouTube Video 10 (Data forwarding/bypassing, examples) YouTube Video 11 (Control hazards, branch delay slots) |
|
Wed, Sep 14 | Pipeline Extensions. | pptx ; pdf | Chapters C and 3 |
YouTube Video 12 (Multi-cycle instructions, handling out-of-order instruction completions) YouTube Video 13 (Precise exceptions and the reorder buffer) YouTube Video 14 (The performance vs. pipeline depth curve) |
HW 2 due ; HW 3 posted |
Mon, Sep 19 | Pipelining, Static ILP techniques. | pptx ; pdf | Chapters C and 3 |
YouTube Video 15 (Introduction to the compiler-based approach for high ILP) YouTube Video 16 (Smart compiler scheduling and loop unrolling) |
|
Wed, Sep 21 | Static ILP techniques II. | pptx ; pdf | Chapters C and 3 |
YouTube Video 17 (VLIW and software pipelining) YouTube Video 18 (Handling control hazards with predication) YouTube Video 19 (Hoisting above a branch, handling exceptions) YouTube Video 20 (Memory dependences and hoisting a load before a store) |
HW 3 due ; HW 4 posted |
Mon, Sep 26 | Branch prediction. | pptx ; pdf | Chapter 3 |
YouTube Video 23 (Branch predictor introduction and 1-bit bimodal predictor) YouTube Video 24 (2-bit predictor, indexing into a branch predictor table) |
|
Wed, Sep 28 | Branch prediction, out-of-order execution. | pptx ; pdf | Detailed Notes on Out-of-order execution. |
YouTube Video 25 (Global predictor) YouTube Video 26 (Local predictor, tournament predictor, branch target buffer) YouTube Video 27 (Out-of-order design 1, with a rename register file, part 1) YouTube Video 28 (Out-of-order design 1, with a rename register file, part 2) |
HW 4 due |
Mon, Oct 3 | Review Session. | pptx ; pdf | |||
Wed, Oct 5 | Midterm Exam. | ||||
Mon, Oct 10 | Fall Break. | ||||
Wed, Oct 12 | Fall Break. | ||||
Mon, Oct 17 | Out-of-order implementations. | pptx ; pdf | Detailed Notes on Out-of-order execution. |
YouTube Video 29 (Out-of-order design 2, with a physical register file, part 1) YouTube Video 30 (Out-of-order design 2, with a physical register file, part 2) |
|
Wed, Oct 19 | Out-of-order examples, Load/Store Queues. | pptx ; pdf | Detailed Notes on Out-of-order execution. |
YouTube Video 31 (Stalls, issue width, window size, WAW and WAR hazards) YouTube Video 32 (Handling branch mispredicts, waking up dependents in an issue queue) YouTube Video 33 (Handling memory dependences with a load-store queue) YouTube Video 34 (What is simultaneous multithreading (SMT), what resources are shared/private in SMT) YouTube Video 35 (Performance impact of SMT) |
HW 5 posted |
Mon, Oct 24 | LSQ, Caching. | pptx ; pdf | Chapters B, 2. |
YouTube Video 36 (Organization of a multi-core cache hierarchy) |
|
Wed, Oct 26 | Cache organizations. | pptx ; pdf | Chapters B, 2. |
YouTube Video 37 (Organization of a single cache -- sets, ways, tags, associativity, direct-mapped, index, offset) |
HW 5 due; HW 6 posted |
Mon, Oct 31 | Caching Policies, Virtual Memory. | pptx ; pdf | Chapter 2. |
YouTube Video 38 (Compulsory, capacity, and conflict misses) YouTube Video 39 (Inclusion, handling writes, serial-tag-data access) YouTube Video 40 (Victim caches, replacement policies, stream prefetchers) YouTube Video 41 (Large caches, last level cache (LLC), shared and private caches) YouTube Video 42 (UCA/NUCA caches, a tiled shared LLC) YouTube Video 43 (Virtual memory, page tables) |
|
Wed, Nov 2 | Virtual memory. | pptx ; pdf | Chapter 2. |
YouTube Video 44 (Page tables, TLBs) YouTube Video 45 (Accessing the TLB and cache, aliasing) YouTube Video 46 (Virtually Indexed Physically Tagged Cache) |
HW 6 due |
Mon, Nov 7 | DRAM-based memory systems. | pptx ; pdf | Detailed notes on memory systems. |
YouTube Video 47 (DRAM cell intro, DRAM chips, DIMMs, memory channel/bus, memory rank) YouTube Video 48 (DRAM banks, arrays, RAS/CAS, row buffers, DDR) YouTube Video 49 (More details on rank, bank, array, row buffer) YouTube Video 50 (Row buffer management, row buffer hit/miss/conflict, open/close page policies) |
|
Wed, Nov 9 | Memory systems. | pptx ; pdf | Detailed notes on memory systems. |
YouTube Video 51 (Handling reads and writes, write buffer, address mapping policies) YouTube Video 52 (Scheduling policies - FCFS, FR-FCFS, Stall Time Fair, refresh, error correction) YouTube Video 53 (State-of-the-art memory systems, buffer chips, increasing bandwidth and capacity, 3D stacking) YouTube Video 54 (Emerging non-volatile cells (phase change memory - PCM), silicon photonics) |
HW 7 posted |
Mon, Nov 14 | Security. | pptx ; pdf |
Meltdown Spectre |
||
Wed, Nov 16 | Multiprocessors, Coherence. | pptx ; pdf | Chapter 5. |
YouTube Video 55 (Symmetric shared-memory multiprocessors, distributed shared-memory multiprocessors) YouTube Video 59 (Introduction to cache coherence protocols, write propagation, write serialization, snooping-directory, write update-invalidate) YouTube Video 60 (Detailed example of a snooping-based protocol -- part 1) YouTube Video 61 (Detailed example of a snooping-based protocol -- part 2) YouTube Video 62 (Detailed example of a directory-based protocol -- part 1) YouTube Video 63 (Detailed example of a directory-based protocol -- part 2) |
HW 7 due; HW 8 posted |
Mon, Nov 21 | Multi-threading, synchronization. | pptx ; pdf | Chapter 5. |
YouTube Video 56 (Overview of shared-memory and message-passing programming models) YouTube Video 57 (Example of the Ocean kernel and its parallelization with shared-memory) YouTube Video 58 (Example of the Ocean kernel and its parallelization with message-passing) YouTube Video 64 (Synchronization primitives, atomic exchange, test and set) YouTube Video 65 (Effect of caching locks, test and test and set) |
|
Wed, Nov 23 | Synchronization, Consistency. | pptx ; pdf | Chapter 5. |
YouTube Video 66 (Load-linked and store-conditional for constructing locks) YouTube Video 67 (Further reducing coherence traffic with ticket and array-based locks) YouTube Video 68 (Example multi-threaded programs and sequentially consistent results) YouTube Video 69 (Hardware support for sequential consistency, example of how SC is violated if program order is violated) YouTube Video 70 (Example on how a coherence protocol may violate write atomicity and sequential consistency, hardware support for sequential consistency, safe optimizations to speed up the hardware) YouTube Video 71 (A hardware-software approach to improving performance with relaxed consistency models and fences) |
HW 8 due |
Mon, Nov 28 | Interconnection Networks. | pptx ; pdf | Appendix F. |
YouTube Video 78 (Introduction to network-on-chips, deterministic and adaptive routing, deadlock example in networks and turn model) YouTube Video 79 (Turn model and deadlock avoidance with adaptive routing, numbering links to prove deadlock freedom) YouTube Video 80 (Defining messages, packets, flits) YouTube Video 81 (Flow control, bufferless, circuit switching, store-and-forward, cut-through, wormhole routing) YouTube Video 82 (Virtual channels) YouTube Video 83 (Allocating resources (virtual channel, buffers, physical channel) before a hop, buffer management, deadlock avoidance with VCs) YouTube Video 84 (Router power breakdown, router pipeline stages, RC-VA-SA-ST) YouTube Video 85 (Speculative router pipelines with 1, 2, and 3 stages) YouTube Video 86 (Crossbars, multi-stage crossbars (Omega network), bisection bandwidth) |
HW 9 posted |
Wed, Nov 30 | Networks, Datacenters, Reliability. | pptx ; pdf | Chapter 6. |
YouTube Video 87 (Performance and cost for different topologies, k-ary d-cubes) |
|
Mon, Dec 5 | Accelerators. | pptx ; pdf |
GPUs (Basics of GPU architectures) |
HW 9 due | |
Wed, Dec 7 | Review Session. | pptx ; pdf | |||
Tue, Dec 13 (1pm - 3pm) | Final Exam |