inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #31 – Summary and Goodbye 2008-8-13 Albert Chae, Instructor CS61C L31 Summary and Goodbye(1) Chae, Summer 2008 © UCB Today’s Schedule • 9:30-11 : Summary Lecture • 11-12 : Proj3 Regrade OH • 12-1:30 : General OH • 2-4 : Faux Final Review Session (320 Soda) • 4-5 : Omar’s OH (711 Soda) • 5-6 : Richard’s Discussion (320 Soda) CS61C L31 Summary and Goodbye(2) Chae, Summer 2008 © UCB CS61C: So what's in it for me? (1st lecture) Learn some of the big ideas in CS & engineering: • 5 Classic components of a Computer • Principle of abstraction, systems built as layers • Data can be anything (integers, floating point, characters): a program determines what it is • Stored program concept: instructions just data • Compilation v. interpretation thru system layers • Principle of Locality, exploited via a memory hierarchy (cache) • Greater performance by exploiting parallelism (pipelining, superscalar, MapReduce, multi-..) • Principles/Pitfalls of Performance Measurement CS61C L31 Summary and Goodbye(3) Chae, Summer 2008 © UCB What are “Machine Structures”? Application (ex: browser) Compiler Software Assembler Hardware Operating System (Mac OSX) Processor Memory I/O system CS61C Instruction Set Architecture Datapath & Control Digital Design Circuit Design transistors Coordination of many levels (layers) of abstraction CS61C L31 Summary and Goodbye(4) Chae, Summer 2008 © UCB 61C Levels of Representation High Level Language Program (e.g., C) Compiler Assembly Language Program (e.g.,MIPS) Assembler Machine Language Program (MIPS) Machine Interpretation temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw lw sw sw 0000 1010 1100 0101 $t0, 0($2) $t1, 4($2) $t1, 0($2) $t0, 4($2) 1001 1111 0110 1000 1100 0101 1010 0000 0110 1000 1111 1001 1010 0000 0101 1100 1111 1001 1000 0110 0101 1100 0000 1010 1000 0110 1001 1111 Hardware Architecture Description (Logic, Logisim, Verilog, etc.) Architecture Implementation Logic Circuit Description (Logisim, etc.) CS61C L31 Summary and Goodbye(5) Chae, Summer 2008 © UCB Upper Div’s that Build on CS61C • CS150 - Design Techniques for SDS • CS152 - Computer Architecture • CS162 - Operating Systems • CS164 - Prog. Lang. & Compilers • EE122 – Networking • EE192 – Mechatronics Design Lab CS61C L31 Summary and Goodbye(6) Chae, Summer 2008 © UCB Cool Classes • EE143 – Fabricate a wafer • CS150 – Program an FPGA • Pong • Tron • Battleship • “cell phone” • CS152 – CPU architecture • Learn about interesting advanced architectures • No longer a crazy project class CS61C L31 Summary and Goodbye(7) Chae, Summer 2008 © UCB Cool Classes • CS162 – Operating systems • Implement several features of NachOS in Java • Write C code, compile to MIPS binary, RUN ON YOUR OS!!! • CS164 – Compilers • If you liked writing assembler/compiler for proj3 or liked the MCE from 61A • CS170,172,174 – Theory CS61C L31 Summary and Goodbye(8) Chae, Summer 2008 © UCB Cool Classes • CS 184 – Graphics • CS 188 – AI • Pacman CS61C L31 Summary and Goodbye(9) Chae, Summer 2008 © UCB Coolest class • EE192 • Need 2/3 prereqs, but really anything in EECS can probably help - Knowledge of C, CS150, EE120 Can only take in spring Limited space CS61C L31 Summary and Goodbye(10) Chae, Summer 2008 © UCB 20th vs. 21st Century IT Targets • 20th Century Measure of Success • Performance (peak vs. delivered) • Cost (purchase cost vs. ownership cost, power) • 21st Century Measure of Success? “SPUR” • Security • Privacy • Usability • Reliability • Massive parallelism greater chance (this time) if • Measure of success is SPUR vs. only cost-perf • Uniprocessor performance improvement decelerates CS61C L31 Summary and Goodbye(11) Chae, Summer 2008 © UCB Other Implications • Need to revisit chronic unsolved problem • Parallel programming!! • Implications for applications: • Computing power >>> CDC6600, Cray XMP (choose your favorite) on an economical die inside your watch, cell phone or PDA - On your body health monitoring - Google + library of congress on your PDA • As devices continue to shrink… • The need for great HCI critical as ever! CS61C L31 Summary and Goodbye(12) Chae, Summer 2008 © UCB Today’s Schedule • 9:30-11 : Summary Lecture • 11-12 : Proj3 Regrade OH • 12-1:30 : General OH • 2-4 : Faux Final Review Session (320 Soda) • 4-5 : Omar’s OH (711 Soda) • 5-6 : Richard’s Discussion (320 Soda) CS61C L31 Summary and Goodbye(13) Chae, Summer 2008 © UCB Administrivia • Proj3 – 66% done… if you need regrade come to OH today or tomorrow • Course Surveys • Anonymous Online Survey posted tomorrow • Grading complaint OH • Thursday after the final • Possibly all day Friday CS61C L31 Summary and Goodbye(14) Chae, Summer 2008 © UCB Administrivia • Final 8/14 – 9:30-12:30pm in 105 North Gate Only bring pencils, two 8.5”x11” handwritten sheets + green. Leave backpacks, books, calculators home! Everyone must take ALL of the final! CS61C L31 Summary and Goodbye(15) Chae, Summer 2008 © UCB Join Us… • If you did well in CS3 or 61{A,B,C} (A- or above) and want to be on staff? • Usual path: Lab assistant Reader TA • Contact Jenny Jones in 395 Soda before first week of semester for LA signup… • Reader/TA forms: www.cs/~juliea/ • I strongly encourage anyone who gets an A- or above in the class to follow this path… - It will help you internalize the material - Help fellow students, (and get paid for it) CS61C L31 Summary and Goodbye(16) Chae, Summer 2008 © UCB Taking advantage of Cal Opportunities • Why are we the #2 Univ in the WORLD? So says the 2004 ranking from the “Times Higher Education Supplement” • Research, research, research! • Whether you want to go to grad school or industry, you need someone to vouch for you! (as is the case with the Mob) • Techniques • Find out what you like, do lots of web research (read published papers), hit OH of Prof, show enthusiasm & initiative • research.berkeley.edu/ • www.eecs.berkeley.edu/Research/ CS61C L31 Summary and Goodbye(17) Chae, Summer 2008 © UCB Some Current Research • RADLab (Reliable Adaptive Distributed) QuickTime™ and a TIFF (LZW) decompressor are needed to see this picture. • Looking at datacenter architectures • RAMP (Research Accelerator for Multiple Processors) • Use FPGA’s to get many cores • Picture on right is 1008 cores in 1 rack • Berkeley View QuickT ime™ and a T IFF (LZW) decompressor are needed to see this picture. • Vision for future of parallel CS61C L31 Summary and Goodbye(18) Chae, Summer 2008 © UCB General Advice • Find good partners • Learn/use some unixy environment • Linux, cygwin+X, OS X • CS9G? • Learn some scripting language • CS9H, etc • Grades • Learn and use Vim CS61C L31 Summary and Goodbye(19) or emacs Chae, Summer 2008 © UCB Penultimate slide: Thanks to the staff! • TAs • Bill Kramer • Omar Akkawi • Richard Guo • Thanks • Readers • Rick Schmidt • Jillian Moore • Lab Assistants • Gilbert Chou • Rick Schmidt • to Dan Garcia and Scott Beamer for most of the lecture slides • to Matt Johnson for proj1 and parallel material • to other past instructors of CS61C for building this class and its material CS61C L31 Summary and Goodbye(20) Chae, Summer 2008 © UCB The Future for Future Cal Alumni • What’s The Future? • New Millennium • Wireless, Nanotechnology, Quantum Computing, 10 M “volunteer” CPUs, the Parallel revolution... • Rapid Changes in Technology • World’s Best Education 2nd • Never Give Up! “The best way to predict the future is to invent it” – Alan Kay The Future is up to you! CS61C L31 Summary and Goodbye(21) Chae, Summer 2008 © UCB