Great Ideas in Computer Architecture (Machine Structures)

UC Berkeley EECS

MWF 9-10am, 2050 VLSB

Lecturers: Vladimir Stojanovic and
Nicholas Weaver

Great Ideas in Computer Architecture (Machine Structures)

UC Berkeley EECS

MWF 9-10am, 2050 VLSB

Lecturers: Vladimir Stojanovic and
Nicholas Weaver

News

  • 1/19: View the course policies here.
  • 1/19: Join the class Piazza discussion forum here.

Calendar

Wk Date Lecture Topic Reading Section Lab Homework Project
1
01/20 WedIntro
01/22 FriNumber Representation, C Intro(4th) P&H: 2.4
(5th) P&H: 2.4
Binary slides
201/25 MonC IntroBrian Harvey's Intro to C
K&R Ch. 1-5
Section 0: Number RepresentationLab 0: Intro, git, Number RepHW0: Intro and Number Representation
Due 01/31 @ 23:59:59

Mini-bio
01/27 WedC PointersSee Above
01/29 FriC Arrays, Strings, PointersK&R Ch. 5-6
C Reference Slides
302/01 MonC Memory Management, UsageK&R: 7.8.5, 8.7Section 1: C BasicsLab 1: C and GDBProject 1: C (Philspel)
Due 02/09 @ 23:59:59
02/03 WedIntro to Assembly Language, MIPS Intro(4th) P&H: 2.1-2.3
(5th) P&H: 2.1-2.3
02/05 FriMIPS, MIPS Functions(4th) P&H: 2.6 - 2.9, 2.10 (only p.128-129), B.6
(5th) P&H: 2.6 - 2.9, 2.10 (only p.111-113), A.6
402/08 MonMIPS FunctionsSee AboveSection 2: C Memory Management and MIPS IntroLab 2: Advanced C, Memory ManagementHW1: C to MIPS Practice Problems (Ungraded)
Due 02/14 @ 23:59:59

Project 2-1: C and MIPS
Due 02/21 @ 23:59:59
02/10 WedMIPS Instruction Formats(4th) P&H: 2.5, 2.10
(5th) P&H: 2.5, 2.10
02/12 FriCompiler, Assembler, Linker, Loader (CALL)(4th) P&H: 2.12, B.1-B.4
(5th) P&H: 2.12, A.1-A.4
Guerrilla Session: MIPS, Wed 2/10 3 - 5 PM @ 500 Soda & Sat 2/13 1 - 3 PM @ 521 Cory
502/15 MonHolidayNoneSection 3: Instruction Formats/MIPS Procedures/CALLLab 3: MIPS Assembly, Functions, Pointers
02/17 WedCALL 2None
02/19 FriIntro to Synchronous Digital Systems (SDS), Logic

MT1 review session 2/21 12-2pm @ 145 Dwinelle
SDS Handout
Logic Handout
(4th) P&H: C.2-C.3 (on CD)
(5th) P&H: B.2-B.3
Guerrilla Session: MIPS II, Wed 2/17 3 - 5 PM @ 241 Cory & Sat 2/20 1 - 3 PM @ 521 Cory
602/22 MonSequential Elements, SDSSee AboveSection 4: Logic and SDSLab 4: Logisim
02/24 WedNo Lecture, Midterm 1 on 2/25 (Time 6-8pm, Location 1 Pimentel (aa-jz | EE16B) & 2050 VLSB(ka-zz), covers up to and including 02/17 lecture)
02/26 FriFunctional Units, FSMsBlocks Handout
(4th) P&H: 4.2, C.3-C.6 (on CD)
(5th) P&H: 4.2, B.3-B.6
State Handout
Guerrilla Session: Open OH, Wed 2/24 3 - 5 PM @ 241 Cory & Sat 2/27 1 - 3 PM @ 521 Cory
702/29 MonMIPS Datapath, Single-Cycle(4th) P&H: 4.1, 4.3, 4.4
(5th) P&H: 4.1, 4.3, 4.4
Section 5: Single-Cycle DatapathLab 5: More Logisim, ALU DesignHW2: Logic, FSMs
Due 03/06 @ 23:59:59
Project 2-2: MIPS
Due 3/08 @ 23:59:59 (a Tuesday!)
03/02 WedMIPS Datapath and ControlSee Above
03/04 FriMIPS Control, Single Cycle(4th) P&H: 4.5-4.8
(5th) P&H: 4.5-4.8
Guerrilla Session: Synchronous Digital Systems, Wed 3/02 3 - 5 PM @ 241 Cory & Sat 3/05 1 - 3 PM @ 521 Cory
803/07 MonMIPS Pipelining(4th) P&H: 4.10, 4.11
(5th) P&H: 4.10, 4.11
Section 6: PipeliningLab 6: CPU Project PrepProject 3-1: ALU and Regfile
Due 03/15 @ 23:59:59
03/09 WedMIPS Pipelining Hazards(4th) P&H: 5.1, 5.2 (p. 457-470), 5.3, 5.5, 1.4
(5th) P&H: 5.1, 5.2, 5.3, 5.4, 5.8, 1.6
Cache Flowchart
03/11 FriCaches: Direct-mapped, Set-associativeSee above
Guerrilla Session: MIPS CPU, Wed 3/09 3 - 5 PM @ 241 Cory & Sat 3/12 1 - 3 PM @ 651 @ 611 Soda
903/14 MonCaches: Performance Cache QuestionsSee aboveSection 7: CachesLab 7: CachesProject 3-2: CPU
Due 03/29 @ 23:59:59
03/16 WedCaches: Cache Questions, Multi-level CachesSee above
03/18 FriFloating Point(4th) P&H: 3.5, 3.8
(5th) P&H: 3.5. 3.9
IEEE 754 Simulator
Guerrilla Session: Caches/ Proj 3-2 OH, Wed 3/16 3 - 5 PM @ 241 Cory & Sat 3/19 1 - 3 PM @ 521 Cory
1003/21 MonSpring RecessNoneSection 8: NoneLab 8: None
03/23 WedSpring RecessNone
03/25 FriSpring RecessNone
1103/28 MonPerformance, Amdahl's Law(5th) P&H: 1Section 9: Floating Point, AMAT, Flynn TaxonomyLab 9: SIMD Instructions
03/30 WedFlynn Taxonomy, Data-Level Parallelism(4th) P&H: 1.5, 1.6, 7.1, 7.2, 7.4, 7.6
(5th) P&H: 1.7, 1.8, 6.1, 6.2, 6.3, 6.7
04/01 FriThread-Level Parallelism, OpenMP Intro(4th) P&H: 7.3, 5.8, 2.11
(5th) P&H: 6.5, 5.10, 2.11
OpenMP Summary Card
Guerrilla Session: Floating Point & Performance, Wed 3/30 3 - 5 PM @ 241 Cory & Sat 4/02 1 - 3 PM @ 521 Cory
1204/04 MonMidterm II related Q&A in class, Midterm 2 (Time 7-9pm, Location 120 Latimer(aa-dz), 100 GPB(ea-kz), and 10 Evans(la-zz), covers up to and including 03/28 lecture)Section 10: Cache Coherence, SynchronizationLab 10: Thread-Level ParallelismProject 4: Performance Programming
Due 04/12 @ 23:59:59
04/06 WedCache Coherence, OpenMP Sharing Issues(4th) P&H: 5.8
(5th) P&H: 5.10
04/08 FriWarehouse Scale ComputingThe Datacenter as a Computer: Ch 1, Ch 2.4, Ch 3, 5.1-5.3
Guerrilla Session: Parallelism, Wed 4/06 3 - 5 PM @ 241 Cory & Sat 4/09 1 - 3 PM @ 521 Cory
1304/11 MonMapReduce (Spark), DNNSection 11: Spark and WSCLab 11: MapReduce and SparkProject 5: Hadoop
Due 04/26 @ 23:59:59
04/13 WedOS Support, Base and Bounds, Interrupts(4th) P&H: 5.10-5.12
(5th) P&H: 5.13, 5.15, 5.16
04/15 ThVirtual Memory Intro(4th) P&H: 6.6, 4.9
(5th) P&H: 6.9 (only p.4-10), 4.9
Guerrilla Session: Open OH, Wed 4/13 3 - 5 PM @ 241 Cory & Sat 4/16 1 - 3 PM @ 611 & 651 Soda
1404/18 MonMore Virtual MemorySee AboveSection 12: Virtual Memory and I/OLab 12: Virtual MemoryProject 4: Performance Programming Competition
Due 04/25 @ 23:59:59
04/20 WedIntro to I/O(4th) P&H: 6.2-6.4, 6.9
(5th) P&H: 5.2, 5.5, 5.11
04/22 FriI/O: DMA, Disks, NetworkingSee Above
Guerrilla Session: Virtual Memory, Wed 4/20 3 - 5 PM @ 241 Cory & Sat 4/22 1 - 3 PM @ 521 Cory
1504/25 MonDependability: Parity, ECC(4th) P&H: 6.2, C-65 to C-67
(5th) P&H: 5.5, B-65 to B-67
Berkeley RAID Paper
Section 13: Parity, ECC, RAIDLab 13: NoneHW3: Virtual Memory
Due 05/01 @ 23:59:59
04/27 WedDependability: RAIDSee Above
04/29 FriSummary, What's Next?None
RRR05/09 MonFinal Exam: 7pm-10pm, TBD

Office Hour Schedule

Monday Tuesday Wednesday Thursday Friday
9:00-9:30          
9:30-10:00          
10:00-10:30     Dr. Nick Weaver
(until 12PM)
329 Soda
Howard
411 Soda
Howard
651 Soda
Dr. Nick Weaver
329 Soda
10:30-11:00     Prof. Vladimir Stojanovic
513 Cory
 
11:00-11:30   Jack
411 Soda
Stephan
651 Soda
Jack
411 Soda
 
11:30-12:00      
12:00-12:30 Dr. Nick Weaver
329 Soda
Rebecca
411 Soda
  Alex
283E Soda
 
12:30-1:00    
1:00-1:30   Stephan
283E Soda
       
1:30-2:00          
2:00-2:30 Chris
283E Soda
  Chris
283E Soda
Jason
283H Soda
 
2:30-3:00 Dr. Nick Weaver
329 Soda
 
3:00-3:30   William
283E Soda
     
3:30-4:00          
4:00-4:30 Jason
283E Soda
      Alex
283E Soda
4:30-5:00      
5:00-5:30         Steven
283E Soda
5:30-6:00        

Weekly Schedule

Monday Tuesday Wednesday Thursday Friday
9:00-9:30 Lecture
2050 VLSB
LAB 016
330 Soda
Lecture
2050 VLSB
  Lecture
2050 VLSB
9:30-10:00  
10:00-10:30     DIS 116
3119 Etcheverry
 
10:30-11:00      
11:00-11:30 LAB 011
330 Soda
LAB 023
271 Soda
LAB 017
330 Soda
  DIS 117
3105 Etcheverry
 
11:30-12:00    
12:00-12:30 DIS 111
3119 Etcheverry
DIS 123
320 Soda
   
12:30-1:00    
1:00-1:30 LAB 012
330 Soda
LAB 022
271 Soda
LAB 018
330 Soda
DIS 112
3119 Etcheverry
DIS 122
320 Soda
   
1:30-2:00    
2:00-2:30   DIS 118
102 Latimer
 
2:30-3:00    
3:00-3:30 LAB 013
330 Soda
LAB 024
271 Soda
LAB 019
330 Soda
DIS 124
310 Soda
DIS 119
121 Wheeler
 
3:30-4:00    
4:00-4:30 DIS 113
3119 Etcheverry
DIS 120
B56 Hildebrand
 
4:30-5:00  
5:00-5:30 LAB 014
330 Soda
LAB 020
330 Soda
DIS 114
3119 Etcheverry
DIS 115
136 Barrows
DIS 121
3119 Etcheverry
 
5:30-6:00  
6:00-6:30      
6:30-7:00      
7:00-7:30 LAB 015
330 Soda
LAB 021
330 Soda
     
7:30-8:00      
8:00-8:30      
8:30-9:00      

Staff

Instructors

Teaching Assistants (GSIs)


Head TA: William Huang
william.huang@berkeley.edu
Section: 118, 124
Lab: 018

TA: Rebecca Herman
rebeccaherman1@berkeley.edu
Section: 123
Lab: 023

TA: Chris Hsu
chrishsu@berkeley.edu
Section: 113, 119
Lab: 013, 019

TA: Alex Khodaverdian
alexkhodaverdian@berkeley.edu
Section: 117, 112
Lab: 017, 012

TA: Jack Kolb
jkolb@berkeley.edu
Section: 111, 121
Lab: 011, 021

TA: Stephan Liu
stephan.x.liu@berkeley.edu
Section: 116
Lab: 016, 024

TA: Howard Mao
zhemao@eecs.berkeley.edu
Section: 115, 120
Lab: 015, 020

TA: Jason Zhang
runyuzhang@berkeley.edu
Section: 114, 122
Lab: 014, 022

Tutors

Readers

Resources

Reference card for GDB version 5:  (pdf | ps | dvi)
Harvey notes on C:  (pdf)
Hilfinger notes on Memory Management:  (pdf)
MIPS Green Sheet:  (pdf)
MIPS Helper Sheet:  (html)
CS Illustrated Posters (Caches, FP, Number Rep, Pointers/Arrays):  (html)