inst eecs berkeley edu cs61c CS61C Machine Structures I stand on the shoulders of giants Lecture 1 Number Representation 2007 06 25 Scott Beamer Instructor inst eecs berkeley edu cs61c Prof David Patterson Prof John Wawrznek TA Andy Carle Thanks to these talented folks many others whose contributions have helped make 61C a really tremendous course Valerie Ishida TA Clark Leung TA CS61C L01 Introduction Numbers 1 Lec SOE Dan Garcia Beamer Summer 2007 UCB Where does CS61C fit in CS61C L01 Introduction Numbers 2 Beamer Summer 2007 UCB Are Computers Smart To a programmer Very complex operations functions map lambda x x x 1 2 3 4 BC swap Automatic memory management We will not be enforcing the CS61B prerequisite this semester List l new List Basic structures Integers floats characters plus minus print commands Computers are smart http hkn eecs berkeley edu student cs prereq chart1 gif CS61C L01 Introduction Numbers 3 Beamer Summer 2007 UCB Are Computers Smart CS61C L01 Introduction Numbers 4 Beamer Summer 2007 UCB What are Machine Structures In real life Application ex browser Only a handful of operations Compiler Software and or not Hardware No memory management Assembler Operating System Mac OSX Processor Memory I O system 61C Instruction Set Architecture Datapath Control Only 2 values Digital Design Circuit Design 0 1 or low high or off on transistors Computers are dumb Coordination of many levels layers of abstraction CS61C L01 Introduction Numbers 5 Beamer Summer 2007 UCB CS61C L01 Introduction Numbers 6 Beamer Summer 2007 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 Anatomy 5 components of any Computer temp v k v k v k 1 v k 1 temp lw lw sw sw 0000 1010 1100 0101 Personal Computer t0 0 2 t1 4 2 t1 0 2 t0 4 2 1001 1111 0110 1000 1100 0101 1010 0000 Computer 0110 1000 1111 1001 1010 0000 0101 1100 1111 1001 1000 0110 0101 1100 0000 1010 1000 0110 1001 1111 Processor Memory Control brain Hardware Architecture Description Logic Logisim etc where programs data live when running Datapath brawn Devices Input Output Keyboard Mouse Disk where programs data live when not running Architecture Implementation Display Printer Logic Circuit Description Logisim etc CS61C L01 Introduction Numbers 7 Beamer Summer 2007 UCB CS61C L01 Introduction Numbers 8 Overview of Physical Implementations Beamer Summer 2007 UCB Integrated Circuits 2006 state of the art The hardware out of which we make systems Primarily Crystalline Silicon Bare Die Integrated Circuits ICs Combinational logic circuits memory elements analog interfaces 1mm 25mm on a side 2006 feature size 65nm 6 5 x 10 8 m 100 800M transistors Printed Circuits PC boards substrate for ICs and interconnection distribution of CLK Vdd and GND signals heat dissipation 25 100M logic gates 3 10 conductive layers Chip in Package Power Supplies Converts line AC voltage to regulated DC low voltage levels CMOS complementary metal oxide semiconductor most common Package provides Chassis rack card case holds boards power supply provides physical interface to user or other systems spreading of chip level signal paths to board level heat dissipation Ceramic or plastic with gold wires Connectors and Cables CS61C L01 Introduction Numbers 9 Beamer Summer 2007 UCB Printed Circuit Boards CS61C L01 Introduction Numbers 10 Beamer Summer 2007 UCB Technology Trends Memory Capacity Single Chip DRAM size 1000000000 fiberglass or ceramic 100000000 1 20 conductive layers IC packages are soldered down Bits 1 20in on a side 10000000 1000000 100000 10000 1000 1970 1975 1980 1985 1990 1995 Year Now 1 4X yr or 2X every 2 years 8000X since 1980 CS61C L01 Introduction Numbers 11 Beamer Summer 2007 UCB CS61C L01 Introduction Numbers 12 2000 year 1980 1983 1986 1989 1992 1996 1998 2000 2002 size Mbit 0 0625 0 25 1 4 16 64 128 256 512 Beamer Summer 2007 UCB 100000000 Itanium 2 41 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 Transistors Moore s Law Pentium i80486 1000000 i80386 i80286 100000 2X transistors Chip Every 1 5 years i8086 10000 i8080 i4004 1000 1970 1975 1980 1985 Year 1990 1995 2000 Called Moore s Law CS61C L01 Introduction Numbers 13 Beamer Summer 2007 UCB Computer Technology Dramatic Change Technology Trends Processor Performance Performance measure Technology Trends Microprocessor Complexity 900 800 700 600 500 400 300 200 100 0 Intel P4 2000 MHz Fall 2001 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 year We ll talk about processor performance later on CS61C L01 Introduction Numbers 14 Beamer Summer 2007 UCB Computer Technology Dramatic Change We ll see that Kilo Mega etc are incorrect later Memory DRAM capacity 2x 2 years since 96 64x size improvement in last decade Processor Speed 2x 1 5 years since 85 100X performance in last decade Disk Capacity 2x 1 year since 97 250X size in last decade State of the art PC when you graduate at least Processor clock speed 5000 MegaHertz 5 0 GigaHertz Memory capacity 8000 MegaBytes 8 0 GigaBytes Disk capacity 2000 GigaBytes 2 0 TeraBytes New units Mega Giga Giga Tera Tera Peta Peta Exa Exa Zetta Zetta Yotta 1024 CS61C L01 Introduction Numbers 15 Beamer Summer 2007 UCB Beamer Summer 2007 UCB Others Skills learned in 61C 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 CS61C L01 Introduction Numbers 17 CS61C L01 Introduction Numbers 16 Beamer Summer 2007 UCB 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
View Full Document
Unlocking...