Course Introduction
CS61C
Great Ideas
in
Computer Architecture
(a.k.a. Machine Structures)
cs61c.org
Assistant Teaching Professor
Lisa Yan
Yan, SP26
01-Course Introduction (1)
🎉 Welcome to CS61C!!! 🎉
Yan, SP26
01-Course Introduction (2)
Live Lecture, Enrollment Updates
Slides: cs61c.org
Concurrent enrollment student?
We will add you so that you can submit assignments while we wait for official enrollment.
Please move towards the center of each row!
If you cannot find a fixed seat to sit in,�for safety reasons we will need to ask you to leave.
Ask questions via Lecture 01 on Ed! [NOT on Zoom]
Yan, SP26
01-Course Introduction (3)
Thinking about Machine Structures
Slides: cs61c.org/
Agenda
Yan, SP26
01-Course Introduction (4)
CS61C is NOT about C Programming…!!
It is about the hardware-software interface.
Languages like C are closer to the underlying hardware.
Yan, SP26
01-Course Introduction (5)
Old-School CS61C
Note: �Fake 1954 photo
Yan, SP26
01-Course Introduction (6)
New-School CS61C (1/3)
Personal Mobile Devices
Network Edge Devices
Yan, SP26
01-Course Introduction (7)
New-School CS61C (2/3)
Yan, SP26
01-Course Introduction (8)
New-School CS61C (3/3)
A popular laptop sticker
Yan, SP26
01-Course Introduction (9)
We learned Old School “Machine Structures”...
Digital Design
Transistors
Circuit Design
Datapath & Control
CS61C
I/O system
Processor
Operating System (Mac OS X)
Application (ex: browser)
Instruction Set
Architecture
Memory
Hardware
Software
Assembler
Fabrication
Compiler
Yan, SP26
01-Course Introduction (10)
New school Machine Structures is much more complicated!
Parallel Requests
Assigned to computer
e.g., Search “Cats”
Parallel Threads
Assigned to core�e.g., Lookup, Ads
Parallel Instructions
>1 instruction @ one time,�e.g., 5 pipelined instructions
Parallel Data�>1 data item @ one time
e.g., Add of 4 pairs of words
Hardware descriptions
All gates work in parallel, at same time
Hardware
Core
Core
…
Memory (Cache)
Input/Output
Computer
Main Memory
Exec. Unit(s)
Functional
Block(s)
A0+B0
A1+B1
Logic Gates
Harness Parallelism &
Achieve High Performance!!
PC
Software
Warehouse Scale Computer
Yan, SP26
01-Course Introduction (11)
Great Ideas in Computer Architecture
Slides: cs61c.org/
Agenda
Yan, SP26
01-Course Introduction (12)
6 Great Ideas in Computer Architecture
Yan, SP26
01-Course Introduction (13)
Great Idea #1: Abstraction (Levels of Representation/Interpretation)
Structure and Interpretation of Computing Programs, �my good friend…
import numpy
x = 3
x = "hello, world"
x = [3, "cs61a", True]
x = len
x = numpy
x = lambda x: x + 2
In CS61A: Anything can be a Python name.
Yan, SP26
01-Course Introduction (14)
We’ll make HW/SW Contact!!!
lw x3 0(x10)
lw x4 4(x10)
sw x4 0(x10)
sw x3 4(x10)
High Level Language�Program (e.g., C)
Assembly Language �Program (e.g., RISC-V)
Machine Language Program (RISC-V)
Compiler
Assembler
Hardware Architecture Description�(e.g., block diagrams)
Logic Circuit Description�(Circuit Schematic Diagrams)
Architecture Implementation
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
1000 1101 1110 0010 0000 0000 0000 0000
1000 1110 0001 0000 0000 0000 0000 0100
1010 1110 0001 0010 0000 0000 0000 0000
1010 1101 1110 0010 0000 0000 0000 0100
IMEM
ALU
Imm
.
Gen
+4
DMEM
Branch
Comp.
Reg
[]
AddrA
AddrB
DataA
AddrD
DataB
DataD
Addr
DataW
DataR
1
0
0
1
2
1
0
pc
0
1
inst
[11:7]
inst
[19:15]
inst
[24:20]
inst
[31:7]
pc+4
alu
mem
wb
alu
pc+4
Reg
[rs1]
pc
imm
[31:0]
Reg
[rs2]
wb
The Creation of Adam, Michelangelo, c. 1512
Anything can be a number—data, instructions, etc.
Yan, SP26
01-Course Introduction (15)
Great Idea #2: Moore’s Law - 1965
Source: Intel
Gordon Moore�Intel Cofounder�B.S. Cal 1950!
Yan, SP26
01-Course Introduction (16)
Great Idea #2: Moore’s Law - 2005
Yan, SP26
01-Course Introduction (17)
Moore’s Law…?
Seems to be tapering…?�(more later)
Yan, SP26
01-Course Introduction (18)
A’s Law…?
Teachers College Record Volume 114 Number 7, 2012, p. 1-23
Great news:
Your grandchildren WILL all get As!
100%
2070
Yan, SP26
01-Course Introduction (19)
Great Idea #3: Principle of Locality / Memory Hierarchy (1/2)
Yan, SP26
01-Course Introduction (20)
Great Idea #3: Principle of Locality / Memory Hierarchy (2/2)
Jim Gray�Turing Award
B.S. Cal 1966
Ph.D. Cal 1969
Storage Latency Analogy: How Far Away is the Data?
On-chip cache
Yan, SP26
01-Course Introduction (21)
Great Idea #4: Parallelism
Yan, SP26
01-Course Introduction (22)
Great Idea #4: Parallelism
Thread-Level Parallelism
Yan, SP26
01-Course Introduction (23)
Great Idea #4: Parallelism
In time slot 3:
Instruction-Level Parallelism
Yan, SP26
01-Course Introduction (24)
…Amdahl’s Law
Gene Amdahl
Computer Pioneer
Caveat!�(more later)
Yan, SP26
01-Course Introduction (25)
Great Idea #5: Performance Measurement & Improvement
Match application to underlying hardware to exploit:
Metrics of Latency/Throughput:
Yan, SP26
01-Course Introduction (26)
Great Idea #6: Dependability via Redundancy
Unintended transistor behavior can be caused by unintended electron flow from cosmic rays (among other reasons)!
Yan, SP26
01-Course Introduction (27)
Great Idea #6: Dependability via Redundancy
Design with redundancy so that a failing piece doesn’t make the whole system fail.
1 + 1 = 2
1 + 1 = 2
1 + 1 = 1
2 of 3 agree ✅
1 + 1 = 2
Yan, SP26
01-Course Introduction (28)
Great Idea #6: Dependability via Redundancy (3/3)
Applies to everything from datacenters to storage to memory…to instructors!
Yan, SP26
01-Course Introduction (29)
(dramatic pause)
Yan, SP26
01-Course Introduction (30)
Why is computer architecture exciting today?
Yan, SP26
01-Course Introduction (31)
Reason 1: Changing Constraints
Yan, SP26
01-Course Introduction (32)
Reason 2: Era of Domain-Specific Computing
Yan, SP26
01-Course Introduction (33)
Old Conventional Wisdom
Yan, SP26
01-Course Introduction (34)
New Conventional Wisdom
Each domain requires heterogeneous systems.
Apple M14 (link)
Yan, SP26
01-Course Introduction (35)
New Conventional Wisdom
Google TPU3
Specialized Engine for training Neural Networks
Deployed in cloud
1024 chips, > 100PetaFLOPs
Yan, SP26
01-Course Introduction (36)
Top Companies in the World
Job/Internship Interviews: They grill you with technical questions, so it’s what you know and can do, not your GPA.
Largest Companies�by Market Cap
Yan, SP26
01-Course Introduction (37)
Patterson and Hennessy win Turing Award! (2017)
Innovations in computer architecture often defy conventional wisdom.
Yan, SP26
01-Course Introduction (38)
What you need to know about this class
Slides: cs61c.org/
Agenda
Yan, SP26
01-Course Introduction (39)
Our Spring 2026 Course Staff
Yan, SP26
01-Course Introduction (40)
Course Information
Course Website: https://cs61c.org/
Instructor: Lisa Yan
Yan, SP26
01-Course Introduction (41)
Today’s required reading
Read our Course Policies in full:
Yan, SP26
01-Course Introduction (42)
Typical Week
| Assignment due (11:59pm) | | Assignment due (11:59pm) | |
Usually:
Homework
Lab OR project
Monday | Tuesday | Wednesday | Thursday | Friday |
Lecture | | Lecture | | Lecture |
Discussion (in-person)�[or recordings] | Lab (Gradescope) [with drop-in, in-person help] | | ||
Yan, SP26
01-Course Introduction (43)
Next week (Week 2)
Monday | Tuesday | Wednesday | Thursday | Friday |
Lecture | | Lecture | | Lecture |
Discussion 1 (audit, no attendance*) | Lab 1 (Gradescope) [with drop-in, in-person help] | | ||
| Lab 0 (Set up) Welcome Form | | Lab 1 AND HW 1 | |
*Welcome Form: Submit discussion preference.
Yan, SP26
01-Course Introduction (44)
Course policy highlights
Lateness and Accommodations Policy:�flexible assignment extensions
Exams: Quest (CBTF), paper Midterm, paper Final
Absolute Grading! (not curved!)
DSP Students: Submit your letter of accommodation ASAP!
Yan, SP26
01-Course Introduction (45)
Yoda says…
“Always in motion, the future is…”
Our precise schedule (lectures, assignments, labs) may change slightly over the course of the semester.
Yan, SP26
01-Course Introduction (46)
(somber pause)
Yan, SP26
01-Course Introduction (47)
We expect that what you hand in for this course is yours.
Yan, SP26
01-Course Introduction (48)
Collaboration and Independent Work Policy
It is NOT acceptable:
You are encouraged to help teach others to debug.
We expect that what you hand in is yours.
Yan, SP26
01-Course Introduction (49)
Collaboration and Independent Work Policy
Assignment Collaboration:
Yan, SP26
01-Course Introduction (50)
Excessive Collaboration and Academic Misconduct
We have tools, developed over many years, for detecting this. You WILL be caught, and the penalties WILL be severe. If you have questions whether a behavior is crossing the line, ask!
50-100 students are caught every semester.
Yan, SP26
01-Course Introduction (51)
What about working with AI?
Yan, SP26
01-Course Introduction (52)
Finally: Our goals as instructors
With all of that said—you will have plenty of opportunities to demonstrate success.
To make your experience in CS61C as enjoyable & informative as possible
To maintain Cal standards of excellence
Yan, SP26
01-Course Introduction (53)
Welcome to CS61C!!!
CS61C: Learn 6 great ideas in computer architecture to enable high performance programming via parallelism, not just learn C.
Yan, SP26
01-Course Introduction (54)