InfoCoBuild

CS 61C: Machine Structures

CS 61C: Machine Structures (Fall 2014, UC Berkeley). Instructors: Professor Shimon Michael Lustig and Professor Daniel Garcia. This course provides an introduction to great ideas in computer architecture (machine structures). The internal organization and operation of digital computers. Machine architecture, support for high-level languages (logic, arithmetic, instruction sequencing) and operating systems (I/O, interrupts, memory management, process switching). Elements of computer logic design. Tradeoffs involved in fundamental architectural design decisions.

Introduction


Lecture 01 - Course Introduction
Lecture 02 - Number Representation
Lecture 03 - Introduction to the C Programming Language, Part 1
Lecture 04 - Introduction to the C Programming Language, Part 2
Lecture 05 - Introduction to MIPS Assembly Language: Arithmetic
Lecture 06 - Introduction to MIPS Data Transfer & Decisions, Part 1
Lecture 07 - Introduction to MIPS Data Transfer & Decisions, Part 2
Lecture 08 - MIPS Instruction Representation, Part 1
Lecture 09 - MIPS Instruction Representation, Part 2
Lecture 10 - Introduction to MIPS Procedures, Part 1
Lecture 11 - Introduction to MIPS Procedures Part 2 & Logic Operations
Lecture 12 - Caches, Part 1
Lecture 13 - Caches, Part 2
Lecture 14 - Caches, Part 3
Lecture 15 - Floating Point
Lecture 16 - Running a Program (Compiling, Assembling, Linking, Loading)
Lecture 17 - Datacenters and Cloud Computing
Lecture 18 - MapReduce
Lecture 19 - The Flynn Taxonomy, Intel SIMD Instructions
Lecture 20 - Thread Level Parallelism, Part 1
Lecture 21 - Thread Level Parallelism, Part 2
Lecture 22 - Synchronization, OpenMP
Lecture 23 - Introduction to Synchronous Digital Systems: Switches, Transistors, Gates
Lecture 24 - State Circuits: Circuits that Remember
Lecture 25 - Representations of Combinational Logic Circuits
Lecture 26 - Combinational Logic Blocks
Lecture 27 - Single-Cycle CPU Datapath Design
Lecture 28 - Single-Cycle CPU Control, Part 1
Lecture 29
Lecture 30 - Pipeline Parallelism, Part 1
Lecture 31 - Pipelining Hazards
Lecture 32 - Pipeline Parallelism, Part 3
Lecture 33 - Virtual Memory, Part 1
Lecture 34 - Virtual Memory, Part 2
Lecture 35 - Virtual Memory, Part 3
Lecture 36 - I/O Basics
Lecture 37 - I/O: Disks
Lecture 38 - I/O: Networks
Lecture 39 - Course Summary

References
CS61C: Great Ideas in Computer Architecture (Machine Structures), Fall 2014
Instructors: Professor Shimon Michael Lustig and Professor Daniel Garcia. Lecture Notes. Resources and Handouts. Readings. Old Exams.