Great Ideas in Computer Architecture (Machine Structures)

UC Berkeley EECS

TuTh 8:00-9:30am, 150 Wheeler

Instructors: Randy Katz, Krste Asanovic

Great Ideas in Computer Architecture (Machine Structures)

UC Berkeley EECS

TuTh 8:00-9:30am, 150 Wheeler

Instructors: Randy Katz, Krste Asanovic

News

Calendar

Wk Date Lecture Topic Reading Section Lab Homework Project
1
08/24 ThIntro, Number RepresentationP&H: 2.4
Binary slides
208/29 TuC Intro, PointersBrian Harvey's Intro to C
K&R Ch. 1-5
Section 0: Number RepresentationLab 0: Intro, git, Number RepHW0: Number Representation
Due 09/08 @ 23:59:59

Mini-bio

(Due in 2nd Section)
08/31 ThC Arrays, Strings, PointersK&R Ch. 5-6
C Reference Slides
309/05 TuC Memory Management, UsageK&R: 7.8.5, 8.7Section 1: C BasicsLab 1: C and GDBHW1: C (Search Trees)
Due
Part 1: 09/18 @ 23:59:59
Part 2: 09/22 @ 23:59:59
09/07 ThIntro to Assembly Language, RISCV IntroP&H: 2.1-2.3
409/12 TuRISCV, RISCV FunctionsP&H: 2.6 - 2.9, 2.10Section 2: C Memory Management and RISCV IntroLab 2: Advanced C, Memory Management
09/14 ThRISCV Instruction FormatsP&H: 2.5, 2.10
Guerrilla Session: C & Memory Management, Tues. 7-9pm @ Cory 293
509/19 TuCompiler, Assembler, Linker, Loader (CALL)P&H: 2.12Section 3: RISCV II/Instruction FormatsLab 3: RISCV AssemblyHW2: C to RISCV Practice Problems,
RISCV Instruction Format
Due 09/30 @ 23:59:59
09/21 ThIntro to Synchronous Digital Systems (SDS), Logic

MT1 review session 09/23 Location TBD
SDS Handout
Logic Handout
P&H: A.2-A.3
Guerrilla Session: RISCV, Tues. 7-9pm @ Cory 293
609/26 TuMidterm 1 (8 AM to 9:30 AM) Section 4: RISCV Procedures/CALLLab 4: RISCV Functions, PointersProject 1-1: C and RISCV
Due 10/09 @ 23:59:59
09/28 ThFunctional Units, FSMsBlocks Handout
P&H: A.3-A.6
State Handout
710/03 TuRISCV Datapath, Single-Cycle Control IntroP&H: 4.1, 4.3, 4.4Section 5: Logic and SDSLab 5: LogisimProject 1-2: RISCV
Due 10/16 @ 23:59:59
10/05 ThRISCV Single-Cycle ControlP&H: 4.5-4.8
810/10 TuRISCV 5-Stage Pipeline/HazardsP&H: 4.10, 4.11Section 6: Single-Cycle DatapathLab 6: Advanced LogisimHW3: FSM, Logic
Due 10/18 @ 23:59:59
Project 2-1: ALU and Regfile
Due 10/23 @ 23:59:59
10/12 ThMemory Hierarchy, Fully Associative CachesP&H: 5.1, 5.2, 5.3, 5.4, 5.8, 1.6
Cache Flowchart
Guerrilla Session: SDS & Datapath Controls, Tues. 7-9pm @ Cory 293
910/17 TuCaches: Direct-mapped, Set-associative, Program Performance with CachesSee aboveSection 7: PipeliningLab 7: Pipelining and CPU Prep
10/19 ThMultilevel Caches, Cache QuestionsSee above
Guerrilla Session: Pipelining, Tues. 7-9pm @ Cory 293
1010/24 TuPerformance, Floating Point, Tech TrendsP&H: 3.5. 3.9
IEEE 754 Simulator
Section 8: CachesLab 8: CachesHW4: Caches and Floating Point
Due 11/03 @ 23:59:59
Project 2-2: CPU
Due 11/06 @ 23:59:59
10/26 ThFlynn Taxonomy, Data-Level Parallelism

MT2 review session 10/28 in TBA
P&H: 1.7, 1.8, 4.10, 4.11, 6.1, 6.2, 6.3, 6.7
Guerrilla Session: Caches, Tues. 7-9pm @ Cory 293
1110/31 TuMidterm 2 (8 AM to 9:30 AM)Section 9: Floating Point, AMAT, Flynn TaxonomyLab 9: SIMD InstructionsHW5: Performance Programming
Due 11/15 @ 23:59:59

Project : Study for MT2
11/02 ThAmdahl's Law, Thread-Level Parallelism, OpenMP IntroP&H: 6.5, 5.10, 2.11
OpenMP Summary Card
1211/07 TuCache Coherence, OpenMP Sharing Issues, PerformanceP&H: 5.10Section 10: Data & Thread Level ParallelismLab 10: Thread-Level ParallelismHW6: Cache Coherency and WSC
Due 11/22 @ 23:59:59

11/09 ThWarehouse Scale Computing, MapReduce (Spark)The Datacenter as a Computer: Ch 1, Ch 2.4, Ch 3, 5.1-5.3
Guerrilla Session: Multilevel Cache Repeat + Parallelism, TBA @ TBA
1311/14 TuOS Support, Base and Bounds, Interrupts, Virtual Memory IntroP&H: 5.13, 5.15, 5.16Section 11: Spark and WSCLab 11: MapReduce and SparkHW7: Virtual Memory
Due 11/29 @ 23:59:59

Project 3: Performance Programming
Due 11/20 @ 23:59:59
11/16 ThVirtual Memory Part 2P&H: 6.9, 4.9
Guerrilla Session: Parallelism & MapReduce, Tues. 7-9pm @ Cory 293
1411/21 TuI/O: DMA, Disks, NetworkingP&H: 5.2, 5.5, 5.11Section 12: None
11/23 ThThanksgiving Holiday - no class
1511/28 TuDependability: Parity, ECC, RAIDP&H: 5.5, A-64 to B-66
Berkeley RAID Paper
Section 13: Virtual Memory and ECCLab 13: Virtual Memory
11/30 ThSummary, What's Next?None
Guerrilla Session: Virtual Memory, Tues. 7-9pm @ Cory 293
RRR12/06 TuNO LECTUREProject 4: Spark
Due 12/04 @ 23:59:59
12/08 ThNO LECTURE
Final12/14 ThFinal Exam: 7pm-10pm, TBDProject 3-1: Performance Competition
Due 11/27 @ 23:59:59
loading...

Staff

Instructors


Instructor: Randy Katz
randy@cs.berkeley
OH: Th 10-11am @775 Soda

Instructor: Krste Asanovic
krste@berkeley
OH: Tu 11-12pm @579 Soda

Teaching Assistants (uGSIs)


Head TA: Steven Ho
shteveno@berkeley
No section, but visit my office hours!
OH: Tu 9:30-10:30am @411 Soda
      W 5-6pm @651 Soda
Specialty: Floating Point, Course Logistics

Co-Head TA: Peijie Li
li_paige@berkeley
Section: Dis 123/Lab 023
OH: M 1-2pm @411 Soda
     M 5-6pm @651 Soda
Specialty: Pipelining/Hazards

Co-Head TA: Steven Chen
scchen@berkeley
Section: Dis 128/Lab 028
OH: Tu 12-2pm @341A Soda
Specialty: Caches

TA: Alex Jing
jing.haonan.18@berkeley
Sections: Dis 112/Lab 012
       Dis 129/Lab 029
OH: M 4-6pm @651 Soda
Specialty: Virtual Memory

TA: Tejas Kannan
tkannan@berkeley
Sections: Dis 119/Lab 019
       Dis 122/Lab 022
OH: Th 11-1pm @651 Soda
Specialty: Virtual Memory

TA: Dylan Dreyer
ddreyer@berkeley
Sections: Dis 116/Lab 016
       Dis 120/Lab 020
OH: M 12-1pm @411 Soda
     F 11-12pm @283E Soda
Specialty: Floating Point

TA: Connor Brennan
ctbrennan@berkeley
Sections: Dis 111/Lab 011
       Dis 114/Lab 014
OH: W 10-11am @651 Soda
     W 11-12pm @283E Soda
Specialty: CALL

TA: Julian Early
jearly@berkeley
Sections: Dis 115/Lab 015
       Dis 124/Lab 024
OH: M 3-5pm @651 Soda
Specialty: Parallelism

TA: Derek Feng
kianex@berkeley
Sections: Dis 131/Lab 031
       Dis 132/Lab 032
OH: W 4-5pm @611 Soda
     F 2-3pm @611 Soda
Specialty: Number Representation

TA: Nikhil Athreya
nathreya@berkeley
Section: Dis 127/Lab 027
OH: F 10-11am @411 Soda
Specialty: C

TA: Nick Riasanovsky
njriasanovsky@berkeley
Section: Dis 125/Lab 025
OH: F 1-2pm @651 Soda
Specialty: Caches

TA: Lisa Lee
lisa.lee@berkeley
Section: Dis 118/Lab 018
OH: F 12-1pm @651 Soda
Specialty: Datapath

TA: Irene Dea
irenedea@berkeley
Section: Dis 130/Lab 030
OH: W 2:30-3:30pm @411 Soda
Specialty: Virtual Memory

TA: Ehimare Okoyomon
eokoyomon@berkeley
Section: Dis 117/Lab 017
OH: Th 2-3pm @651 Soda
Specialty: Pointers/Memory MGMT

TA: Srinivasa Pranav
srinivasa.pranav@berkeley
Section: Dis 121/Lab 021
OH: Th 5-6pm @611 Soda
Specialty: Finite State Machines

TA: William Sheu
willsheu@berkeley
Section: Dis 126/Lab 026
OH: Th 1-2pm @651 Soda
Specialty: Caches

TA: Daniel Ho
daniel.ho@berkeley
Section: Dis 113/Lab 013
OH: F 4-5pm @611 Soda
Specialty: Datapath

Tutors


TA: Morgan Rae Reschenberg
mreschenberg@berkeley
Section: F 9-10am @367 Cory
Specialty: Virtual Memory

TA: Ryan Hayes
r.hayes@berkeley
Section: M 1-2pm @Soda 611
Specialty: Datapath/CPU

TA: Keyhan Vakil
kvakil@berkeley
Section: Tu 12-1pm @Soda 611
Specialty: RISC-V

TA: Anna Li
annajli@berkeley
Section: W 1-2pm @Soda 611
Specialty: Caches

TA: Sameer Suresh
ssuresh2@berkeley
Section: F 5-6pm @Soda 651
Specialty: Caches

TA: Nick Zoghb
nzoghb@berkeley
Section: Thu 2-3pm @Soda 380
Specialty: MIPS Datapath

Resources

GDB reference card (version 5):  (pdf | ps | dvi)
Git resources:  (cheat sheet | flow guide)
Harvey notes on C:  (pdf)
Hilfinger notes on Memory Management:  (pdf)
RISC-V Green Card:  (pdf)
Past Exams:  (HKN, TBP)
Posters from CS Illustrated (Caches, FP, Number Rep, Pointers/Arrays):  (html)