CS61C Summer 2017: Great Ideas in Computer Architecture Toggle navigation C$61C Summer 2017 News Calendar Weekly $chedule $taff Resources Policies Queue Great Ideas in Computer Architecture (Machine $tructures) UC Berkeley EECS MTuWTh 9:30-11am, 10 Evans Instructors: Rebecca Herman, Steven Ho Great Ideas in Computer Architecture (Machine Structures) UC Berkeley EECS MTuWTh 9:30-11am, 10 Evans Instructors: Rebecca Herman, Steven Ho News Lab room change!: Both of Derek's labs have moved to 271 Soda instead of Soda 277 since it is bigger. Always relevant: View the course policies here. Calendar Wk Date Lecture Topic Reading $ection Lab Homework Project 1 06/19 M Intro, Number Representation Course Policies (5th) P&H: 2.4 Binary slides Section 0: Number Representation Lab 0: git HW1: C Concepts Due 06/28 @ 23:59 Mini-bio Due 06/26 in Section HW0: Number Representation Due 06/26 @23:59 06/20 Tu C Intro, Pointers Brian Harvey's Intro to C K&R Ch. 1-5 06/21 W C Arrays, Strings, Pointers K&R Ch. 5-6 C Reference Slides Section 1: C Basics Lab 1: C and GDB 06/22 Th C Memory Management, Usage K&R: 7.8.5, 8.7 Guerrilla Session: Number Representation, C Intro, Pointers, Wed 5-7pm @ 405 Soda 2 06/26 M Intro to Assembly Language, MIPS Intro (5th) P&H: 2.1-2.3 Section 2: C Memory Management and MIPS Intro Lab 2: Advanced C, Memory Management HW2: MIPS and Floating Point Due 07/03 @ 23:59 Project 1: Flights Released 6/22 Due 06/29 @ 23:59:59 06/27 Tu MIPS, MIPS Functions (5th) P&H: 2.6 - 2.9, 2.10 (only p.111-113), A.6 06/28 W MIPS Instruction Formats (5th) P&H: 2.5, 2.10 Section 3: MIPS Procedures and Instruction Formats Lab 3: MIPS Assembly 06/29 Th Floating Point, Compiler, Assembler, Linker, Loader (CALL) (5th) P&H: 3.5, 3.9, 2.12, A.1-A.4 Guerrilla Session: Memory Layout, MIPS Intro, MIPS Functions, Wed 5-7pm @ 540AB Cory 3 07/03 M CALL cont., Intro to Synchronous Digital Systems (SDS), Logic SDS Handout Logic Handout (5th) P&H: B.2-B.3 Section 4: Floating Point, CALL Lab 4: Holiday HW3: Logic and Timing Due 07/11 @ 23:59 Project 2-1: MIPS Assembler Released 6/29 Due 07/06 @ 23:59:59 07/04 Tu Fourth of July Holiday 07/05 W Functional Units, FSMs Blocks Handout (5th) P&H: 4.2, B.3-B.6 State Handout Section 5: Logic, SDS, FSMs Lab 5: MIPS Functions, Bit Manipulation 07/06 Th MIPS Datapath, Single-Cycle Control Intro (5th) P&H: 4.1, 4.3, 4.4 Guerrilla Session: MIPS Instructions, Floating Point, CALL, Wed 5-7pm @ 540AB Cory 4 07/10 M Midterm 1: During lecture time @ 155 Dwinelle (covers up to and including Floating Point and CALL) Section 6: Single-Cycle Datapath Lab 6: Logisim HW4: Datapath Due 07/13 @ 23:59 Project 2-2: MIPS Linker Released 7/10 Due 07/17 @ 23:59:59 07/11 Tu MIPS Single-Cycle Control; Pipelining Intro (5th) P&H: 4.5-4.8 07/12 W MIPS 5-Stage Pipeline/Hazards (5th) P&H: 4.10, 4.11 Section 7: Pipelining Lab 7: More Logisim, ALU Design 07/13 Th Memory Hierarchy, Fully Associative Caches (5th) P&H: 5.1, 5.2, 5.3, 5.4, 5.8, 1.6 Cache Flowchart Guerrilla Session: SDS, FSM, Single Cycle Datapath, Wed 5-7pm @ 540AB Cory 5 07/17 M Caches: Direct-mapped, Set-associative Section 8: Caches Lab 8: Caches HW5: Caches Due 07/21 @ 23:59 Project 3-1: ALU and Regfile Released 7/17 Due 07/20 @ 23:59:59 07/18 Tu Multilevel Caches, Cache Questions 07/19 W Performance, Flynn Taxonomy, Intro to Data-Level Parallelism (5th) P&H: 3.5. 3.9 IEEE 754 Simulator Section 9: Caches cont., AMAT, Flynn Taxonomy Lab 9: SIMD Instructions 07/20 Th DLP Continued (5th) P&H: 1.7, 1.8, 6.1, 6.2, 6.3, 6.7 Guerrilla Session: Pipelining & Caches, Wed 5-7pm @ 540AB Cory 6 07/24 M Amdahl's Law, Thread-Level Parallelism, OpenMP Intro Section 10: SIMD, Midterm 2 Prep Lab 10: Thread-Level Parallelism HW6: Performance Programming Due 07/28 @ 23:59 Project 3-2: CPU Released 7/17 Due 07/27 @ 23:59:59 07/25 Tu TLP/OpenMP Part 2, Cache Coherence, and OpenMP Sharing Issues (5th) P&H: 6.5, 5.10, 2.11 OpenMP Summary Card 07/26 W Warehouse Scale Computing, MapReduce (Spark) (5th) P&H: 5.10 Section 11: Cache Coherence, Synchronization Lab 11: Combined Parallelism and Performance Optimization 07/27 Th OS Support, Base and Bounds, Virtual Memory Intro The Datacenter as a Computer: Ch 1, Ch 2.4, Ch 3, 5.1-5.3 MapReduce Paper(5th) P&H: 5.13, 5.15, 5.16 Guerrilla Session: Parallel Programming, Cache Coherency, Wed 5-7pm @ 540AB Cory MT2 review session Friday, 2-4pm @ Hp Auditorium (306 Soda) 7 07/31 M Midterm 2: During lecture time @ 155 Dwinelle (Covers up to and including 07/25 lecture) Section 12: WSC, Map Reduce and Spark Lab 12: MapReduce and Spark HW7: VM, I/O, Parity, and ECC Due 08/08 @ 23:59 Project 4: CA$HE$ Released 7/31 Due 08/07 @ 23:59:59 08/01 Tu Virtual Memory (5th) P&H: 6.9 (only p.4-10), 4.9 08/02 W Dependability: Parity, ECC (5th) P&H: 5.5, B-65 to B-67 Berkeley RAID Paper Section 13: Virtual Memory Lab 13: Virtual Memory 08/03 Th RAID, I/O: Interrupts, Disks, Networking (5th) P&H: 5.2, 5.5, 5.11 Guerrilla Session: MapReduce, Virtual Memory, Wed 5-7pm @ 540AB Cory Final review session TBD @ TBD 8 08/07 M Disks, Networking, Final Exam Questions Section 14: I/O, Dependability Lab 14: Extra Office Hours 08/08 Tu Summary, What's Next? 08/09 W No Lecture: Final Studying Section 15: Extra Office Hours 08/10 Th Final Exam: 7-10pm in TBA. Guerrilla Session: Dependability, I/O, Mon 5-7pm @ 540AB Cory Final review session TBD @ TBD loading... $taff Instructors Instructor: Rebecca Herman rebeccaherman1@berkeley OH: Tu 11:30-1:30pm @511 Soda or by appointment Instructor: Steven Ho shteveno@berkeley OH: F 11-1pm @511 Soda or by appointment Teaching Assistants (GSIs) Head TA: Zubair Marediya zubair_marediya@berkeley Section 105 OH: Th 1-3pm @611 Soda Specialty: Cache Project Head TA: Derek Feng kianex@berkeley Section 106, 107 OH: W 11-12pm, W 4-5pm @611 Soda Specialty: Homeworks, Discussions TA: Nikhil Athreya nathreya@berkeley Section 101 OH: Tu 1:30-3:30pm @611 Soda Specialty: C, MIPS project TA: Nick Riasanovsky njriasanovsky@berkeley Section 102 OH: M 11-12pm @411 Soda, F 3-4pm @611 Soda Specialty: Cache Project TA: Ryan Hayes r.hayes@berkeley Section 104 OH: M 4-5pm, Th 4-5pm @611 Soda Specialty: CPU Project TA: Alex Yang alexyang256@berkeley Section 103 OH: M 5-6pm, F 2-3pm @611 Soda Specialty: Labs Tutors Tutor: Lance Xing lneacx@berkeley Tutoring: M-Th 12-1pm, @411 Soda Tutor: Keyhan Vakil kvakil@berkeley Tutoring: M-Th 4-5pm, @504 Soda Tutor: Megan Kristovich mkristovich@berkeley Tutoring: M-Th 1-2pm, @651 Soda Tutor: Ann Lai annlai@berkeley Tutoring: M-Th 12-1pm, @411 Soda Tutor: Chris Allsman callsman@berkeley Tutoring: M-Th 1-2pm, @651 Soda Tutor: Damon Anderson damonan@berkeley Tutoring: M-Th 4-5pm, @504 Soda 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) MIPS Green Sheet: (pdf) MIPS Helper Sheet: (html) Past Exams: (HKN, TBP) Posters from CS Illustrated (Caches, FP, Number Rep, Pointers/Arrays): (html) CS61C, Electrical Engineering and Computer Sciences, University of California, Berkeley http://inst.eecs.berkeley.edu/~cs61c/