CS61C – Machine Structures Lecture 1 – Introduction 8/25/2003 Brian Harvey (www.cs.berkeley.edu/~bh) John Wawrzynek (Warznek) (www.cs.berkeley.edu/~johnw) www-inst.eecs.berkeley.edu/~cs61c/ CS 61C L01 Introduction (1) Harvey / Wawrzynek Fall 2003 © UCB What are “Machine Structures”? Application (ex: browser) Software Hardware Operating Compiler System Assembler (Windows 2K) Processor Memory I/O system 61C Instruction Set Architecture Datapath & Control Digital Design Circuit Design transistors * Coordination of many levels (layers) of abstraction CS 61C L01 Introduction (2) Harvey / Wawrzynek Fall 2003 © 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 Hardware Architecture Description (e.g., Verilog Language) Architecture Implementation Logic Circuit Description (Verilog Language) CS 61C L01 Introduction (3) 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 wire [31:0] dataBus; regFile registers (databus); ALU ALUBlock (inA, inB, databus); wire w0; XOR (w0, a, b); AND (s, w0, a); Harvey / Wawrzynek Fall 2003 © UCB Anatomy: 5 components of any Computer Personal Computer Computer Processor Control (“brain”) Datapath (“brawn”) Memory (where programs, data live when running) Devices Input Output Keyboard, Mouse Disk (where programs, data live when not running) Display, Printer CS 61C L01 Introduction (4) Harvey / Wawrzynek Fall 2003 © UCB Overview of Physical Implementations The hardware out of which we make systems. ° Integrated Circuits (ICs) • Combinational logic circuits, memory elements, analog interfaces. ° Printed Circuits (PC) boards • substrate for ICs and interconnection, distribution of CLK, Vdd, and GND signals, heat dissipation. ° Power Supplies • Converts line AC voltage to regulated DC low voltage levels. ° Chassis (rack, card case, ...) • holds boards, power supply, provides physical interface to user or other systems. ° Connectors and Cables. CS 61C L01 Introduction (5) Harvey / Wawrzynek Fall 2003 © UCB Integrated Circuits (2003 state-of-the-art) ° Primarily Crystalline Silicon Bare Die ° 1mm - 25mm on a side ° 2003 - feature size ~ 0.13um = 0.13 x 10-6 m ° 100 - 400M transistors ° (25 - 100M “logic gates") ° 3 - 10 conductive layers Chip in Package ° “CMOS” (complementary metal oxide semiconductor) - most common. ° Package provides: • spreading of chip-level signal paths to board-level • heat dissipation. ° Ceramic or plastic with gold wires. CS 61C L01 Introduction (6) Harvey / Wawrzynek Fall 2003 © UCB Printed Circuit Boards ° fiberglass or ceramic ° 1-20 conductive layers ° 1-20in on a side ° IC packages are soldered down. CS 61C L01 Introduction (7) Harvey / Wawrzynek Fall 2003 © UCB Technology Trends: Memory Capacity (Single-Chip DRAM) size 1000000000 100000000 Bits 10000000 1000000 100000 10000 1000 1970 1975 1980 1985 1990 1995 Year • Now 1.4X/yr, or 2X every 2 years. • 8000X since 1980! CS 61C L01 Introduction (8) 2000 year 1980 1983 1986 1989 1992 1996 1998 2000 2002 size (Mbit) 0.0625 0.25 1 4 16 64 128 256 512 Harvey / Wawrzynek Fall 2003 © UCB Technology Trends: Microprocessor Complexity 100000000 Itanium 2: 410 Million Athlon (K7): 22 Million Alpha 21264: 15 million Pentium Pro: 5.5 million PowerPC 620: 6.9 million Alpha 21164: 9.3 million Sparc Ultra: 5.2 million 10000000 Moore’s Law Pentium i80486 Transistors 1000000 i80386 i80286 100000 2X transistors/Chip Every 1.5 years i8086 10000 i8080 i4004 1000 1970 1975 1980 1985 Year CS 61C L01 Introduction (9) 1990 1995 2000 Called “Moore’s Law” Harvey / Wawrzynek Fall 2003 © UCB Technology Trends: Processor Performance Intel P4 2000 MHz (Fall 2001) 900 800 700 600 500 400 300 200 100 0 DEC Alpha 21264/600 1.54X/yr DEC Alpha 5/500 DEC Alpha 5/300 DEC Alpha 4/266 IBM POWER 100 87 88 89 90 91 92 93 94 95 96 97 CS 61C L01 Introduction (10) Harvey / Wawrzynek Fall 2003 © UCB Computer Technology - Dramatic Change! °Processor • 2X in speed every 1.5 years (since ‘85); 100X performance in last decade. °Memory • DRAM capacity: 2x / 2 years (since ‘96); 64x size improvement in last decade. °Disk • Capacity: 2X / 1 year (since ‘97) • 250X size in last decade. CS 61C L01 Introduction (11) Harvey / Wawrzynek Fall 2003 © UCB Computer Technology - Dramatic Change! °State-of-the-art PC when you graduate (at least): • Processor clock speed: 5000 MegaHertz (5.0 GigaHertz) • Memory capacity: 4000 MegaBytes (4.0 GigaBytes) • Disk capacity: 2000 GigaBytes (2.0 TeraBytes) • New units! Mega => Giga, Giga => Tera CS 61C L01 Introduction (12) Harvey / Wawrzynek Fall 2003 © UCB CS61C: So what's in it for me? ° Learn some of the big ideas in CS & engineering: • 5 Classic components of a Computer • Data can be anything (integers, floating point, characters): a program determines what it is • Stored program concept: instructions just data • Principle of Locality, exploited via a memory hierarchy (cache) • Greater performance by exploiting parallelism • Principle of abstraction, used to build systems as layers • Compilation v. interpretation thru system layers • Principles/Pitfalls of Performance Measurement CS 61C L01 Introduction (13) Harvey / Wawrzynek Fall 2003 © UCB Others Skills learned in 61C °Learning C • If you know one, you should be able to learn another programming language largely on your own • Given that you know C++ or Java, should be easy to pick up their ancestor, C °Assembly Language Programming • This is a skill you will pick up, as a side effect of understanding the Big Ideas °Hardware design • We think of hardware at the abstract level, with only a little bit of physical logic to give things perspective • CS 150, 152 teach this CS 61C L01 Introduction (14) Harvey / Wawrzynek Fall 2003 © UCB Course Lecture Outline ° Number representations ° C-Language (basics + pointers) ° Storage management ° Assembly Programming ° Floating Point Brian and I will take ° Performance turns covering these ° I/O Interrupts topics. ° Disks, Networks ° Caches ° Virtual Memory ° CPU organization ° Introduction to Verilog (HDL) ° Pipelining ° Logic Design ° Advanced Topics CS 61C L01 Introduction (15) Harvey / Wawrzynek Fall 2003 © UCB Texts °Required: Computer Organization and Design: The Hardware/Software Interface, Second Edition, Patterson and Hennessy (COD) °Required: The C Programming Language, Kernighan and Ritchie (K&R), 2nd edition °Reading assignments on handout, in reader, and on web page Read P&H Chapter 1 and sections 4.1 & 4.2, and K&R Chapters 1-4 as soon as possible this week. CS 61C L01 Introduction (16) Harvey / Wawrzynek Fall 2003 © UCB Tried-and-True Technique: Peer Instruction °Increase real-time learning in lecture, test understanding of concepts vs. details °As complete a “segment” ask multiple choice question • 1-2 minutes to decide yourself • 3 minutes in pairs/triples to reach consensus. Teach others! • 5-7 minute discussion of answers, questions, clarifications CS 61C L01 Introduction (17) Harvey / Wawrzynek Fall 2003 © UCB Class Meetings °Monday Lecture °Discussion Session (1 hour), Mon. or Tue. °Wednesday Lecture °Lab Session (2 hours), Wed. or Thur. °Friday Lecture There IS discussion and lab this week… CS 61C L01 Introduction (18) Harvey / Wawrzynek Fall 2003 © UCB Homework, Labs and Projects °Lab exercises (every week) °Homework exercises (every week) • Due Monday Mornings. - HW1 is included in the handout, and posted on the webpage (Due Wednesday next week only.) °Projects (every 2 to 3 weeks) °All exercises, reading, homeworks, projects in course reader and on course web page. CS 61C L01 Introduction (19) Harvey / Wawrzynek Fall 2003 © UCB 3 Course Exams • Midterm 1: Tu 7pm Oct 7th, room TBA - Give 2 hours for 1 hour exam - Open Book / Notes - Review sessions TBA • Midterm 2: Th 7pm Nov 13th, room TBA • Final: Wed Dec 10, 8-11am - First week after final class. - You’ll be done with 61C early. CS 61C L01 Introduction (20) Harvey / Wawrzynek Fall 2003 © UCB Your final grade ° Grading 15 Homeworks 6 Projects 2 Midterms Final exam TOTAL 15 x 2 6 x 10 2 x 30 30pts. 60 60 50 200 ° Grade distributions. Absolute scale – no curve. > 180 A+ 175 A 170 A165 B+ . . . 125 DCS 61C L01 Introduction (21) Harvey / Wawrzynek Fall 2003 © UCB Course Problems…Cheating ° What is cheating? • Studying together in groups is encouraged. • Turned in work must be your own. • Common examples of cheating: running out of time on a assignment and then pick up output, take homework from box and copy, person asks to borrow solution “just to take a look”, copying an exam question, … ° Cheating on homeworks; -4 points for that assignment ° Cheating on projects / exams; At least, 0 points for that project / exam. In most cases, F in the course. ° For serious and repeated instances will refer you to Office of Student Judicial Affairs. CS 61C L01 Introduction (22) Harvey / Wawrzynek Fall 2003 © UCB Enrollment °We will not be enforcing the CS61B prerequisite this semester. °Our goal is to accommodate everyone on the wait list. °Two new sections have been added: 018 LAB W 12-2P, 271 SODA 118 DIS M 1-2P, 3102 ETCHEVERRY 019 LAB W 6-8P, 271 SODA 119 DIS M 6-7P, 3 EVANS CS 61C L01 Introduction (23) Harvey / Wawrzynek Fall 2003 © UCB Teaching Assistants °Dan Adkins (also Head TA) °Paul Burstein °Michael Hamler °Benjamin Huang °Alexandre Joly CS 61C L01 Introduction (24) Harvey / Wawrzynek Fall 2003 © UCB Summary °Continued rapid improvement in Computing • 2X every 1.5 years in processor speed; every 2.0 years in memory size; every 1.0 year in disk capacity; Moore’s Law enables processor (2X transistors/chip ~1.5 yrs) °5 classic components of all computers Control Datapath Memory Input Output Processor CS 61C L01 Introduction (25) Harvey / Wawrzynek Fall 2003 © UCB