* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download v[k+1] - Ece Ucsb
Survey
Document related concepts
Go (programming language) wikipedia , lookup
Program optimization wikipedia , lookup
Abstraction (computer science) wikipedia , lookup
History of compiler construction wikipedia , lookup
Interpreter (computing) wikipedia , lookup
Parallel computing wikipedia , lookup
Transcript
ECE 15B Computer Organization Spring 2011 Dmitri Strukov Lecture 1: Introduction Partially adapted from Computer Organization and Design, 4th edition, Patterson and Hennessy, and classes taught by Patterson at Berkeley, Ryan Kastner at UCSB and Mary Jane Irwin at Penn State Course Logistics : Instructor Dmitri Strukov Office : Office hours: [email protected] HFH 5153 Wednesday 3:00 – 5:00 pm or by appointment please see my schedule online http://www.ece.ucsb.edu/~strukov/DmitriWebPage_files/calendar.htm ECE 15B Spring 2011 Course Logistics : TAs Sam Masooman [email protected] Office hours: Phelps 1435, Available time slots: Thursday 12:30 am -1:30 pm Discussion session: Girvetz Hall 2119, Monday 5:00-5:50 pm Jian Zhen [email protected] Office hours: ECI Lab (still tentative) Available time slots: Friday 10:00 am – 11:00 am Discussion session: Phelps 1448, Friday 9:00-9:50 pm ECE 15B Spring 2011 Course Logistics: Material • URL – http://www.ece.ucsb.edu/~strukov/ece15bSpring201 1/ECE15bSpring2011.htm • Software: MIPS-32bit simulator (“SPIM”) – Both software and documentation available online for free – Can be installed on any common platform – See instructions on web for MACs – Try to install that software early ECE 15B Spring 2011 Course Logistics: Textbooks • Required: Computer Organization and Design: The Hardware/Software Interface, Fourth Edition, Patterson and Hennessy (COD). The third edition is also accepted. • Recommended: MIPS Assembly Language Programming, Robert L. Britton, 2003. • Additional (not required): The C Programming Language, Kernighan and Ritchie (K&R), 2nd edition • C language manual webpage from Stanford University • UCSB book store should have them all ECE 15B Spring 2011 Course Logistics: Grading • Homework Assignments (excluding HW #0): 10% • Projects: 20% • Quiz 1: 15% • Quiz 2: 15% • Final: 40% • Class Participation: 5% – Attendance & discussion in class ECE 15B Spring 2011 Course Logistics: Approximate Schedule • Approximate schedule on class syllabus – 1 hw/project/quiz per week – Hw/projects typically due Fridays at 11:00 pm in HFH, 3rd floor (box labeled ECE15B) • Last year lecture viewgraphs will be replaced with newest one on the day of lecture • Hw, projects description, and solutions will be posted on the web (HW#0 already online) ECE 15B Spring 2011 Course Logistics: Approximate Schedule Course introduction Overview of computer organization (hw) Arithmetic instructions Data transfer instructions Control flow instructions Logic/shift/overflow Procedures Instruction representation Memory addressing modes Floating point arithmetic Pointers and arrays String, lists, stacks Memory management Compiling, assembling, linking and loading History of computing Final review In class quiz ECE 15B Spring 2011 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 2 Key milestones in semiconductor industry and computer systems • 1946 First digital electronic programmable computer by John Mauchy and J.P. Eckert (UPenn) , ENIAC (1,800 sq ft, 18,000 vacuum tubes, 50 tones • 1954 First silicon transistor by TI • 1958 First integrated circuit by Jack Kilby by TI • 1971 First (single chip) microprocessor – Intel 4004 by Ted Hoff and others, 10-um, 2300 transistors • 2006 Intel Core 2 Duo now 45 nm, up to 1 billion transistors ECE 15B Spring 2011 Technology and scaling ECE 15B Spring 2011 Technology Scaling Road Map (ITRS) Year 2004 2006 2008 2010 2012 Feature size (nm) 90 65 45 32 22 Intg. Capacity (BT) 2 4 6 16 32 Gordon Moore Intel Cofounder B.S. Cal 1950! ECE 15B Spring 2011 Source: Prof. N Cheung, UCB Average price per transistor (source: Intel) Source: Moore’s law at Forty, Chapter 7 from Understanding ECE 15B Spring 2011 Moore’s Law: Four decades of Innovation, Edited by David C. Brock, 2006 ECE 15B Spring 2011 Source: Prof. N Cheung, UCB More fun facts about semiconductor industry – 30 million can fit on the head of a pin – You could fit more than 2,000 across the width of a human hair – If car prices had fallen at the same rate as the price of a single transistor has since 1968, a new car today would cost about 1 cent – More transistor produced each year than the number of grains of rice globally ECE 15B Spring 2011 Performance (vs. VAX-11/780) Technology Trends: Uniprocessor Performance (SPECint) “Sea change” in chip design: multiple “cores” or processors per chip 1.52x/year 1.25x/year • VAX : 1.25x/year 1978 to 1986 • RISC + x86: 1.52x/year 1986 to 2002 • RISC + x86: 2002 to present ECE1.20x/year 15B Spring 2011 3X 1.20x/year ECE 15B Spring 2011 Other computing platforms (why not everything from silicon are microprocessors?) Involves NRE cost Cost Production cost = Nonrecurring engineering cost/volume + Production cost = (1+Defect density * Area/ alpha) alpha, where alpha = 1 to 5 ECE 15B Spring 2011 Other computing platforms (why not everything microprocessors?) manufacturing cost (at small volumes) ASIC performance Market size: - Semiconductor industry >$1000B - Microprocessor (w. embedded) > $100B For comparison: USA GDP ~ $14000B (24% of worlds total) μP Other computing platforms (why not everything microprocessors?) manufacturing cost (at small volumes) FPGA ASIC GPU performance μP Layers of Abstractions Application (ex: browser) Compiler Software Hardware Assembler Processor Operating System (Mac OSX) Memory I/O system Instruction Set Architecture Datapath & Control Digital Design Circuit Design transistors Computation is implemented using many layers of abstractions – WHY? ECE 15B Spring 2011 Layers of Abstraction Application (ex: browser) Compiler Software Hardware Assembler Processor This class is about this region Operating System (Mac OSX) Memory I/O system Instruction Set Architecture Datapath & Control Digital Design Circuit Design transistors Need Many Layers to Handle Complexity ECE 15B Spring 2011 Below the Program • High-level language program (in C) swap (int v[], int k) (int temp; temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; ) one-to-many C compiler • Assembly language program (for MIPS) swap: sll add lw lw sw sw jr $2, $5, 2 $2, $4, $2 $15, 0($2) $16, 4($2) $16, 0($2) $15, 4($2) $31 one-to-one assembler • Machine (object, binary) code (for MIPS) 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000 . . . ECE 15B Spring 2011 Below the Program temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; High Level Language Program (e.g., C) Compiler Assembly Language Program (e.g.,MIPS) Assembler Machine Language Program (MIPS) Machine Interpretation lw lw sw sw 0000 1010 1100 0101 Hardware Architecture Description (e.g., block diagrams) Architecture Implementation Logic Circuit Description (Circuit Schematic Diagrams) $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 ECE 15B: So what’s in it for me? • Learning computer systems from a programmer’s point of view – What the programmer writes – How it is converted to something the computer understands – How computer interprets the program – What makes programs go slow ECE 15B Spring 2011 The Rise of Embedded Computers In millions Intel Atom, ~ 50 M Tran. Population 6.4B in 2004, i.e. ~ 1PC, 2.2 cell phones, and 2.5 televisions for every 8 people ECE 15B Spring 2011 on the planet Advantages of Higher-Level Languages ? • Higher-level languages Allow the programmer to think in a more natural language and for their intended use (Fortran for scientific computation, Cobol for business programming, Lisp for symbol manipulation, Java for web programming, …) Improve programmer productivity – more understandable code that is easier to debug and validate Improve program maintainability Allow programs to be independent of the computer on which they are developed (compilers and assemblers can translate high-level language programs to the binary instructions of any machine) Emergence of optimizing compilers that produce very efficient assembly code optimized for the target machine • As a result, very little programming is done today at the assembler level ECE 15B Spring 2011 ECE 15B: So what’s in it for me? • Learn big ideas in computer engineering – Principle of abstraction used to build systems as layers – 5 classic components of a computer – Data can be anything (integers, floating point, characters): program determines what it is – Stored program concept: instructions just data – Principle of locality, exploited via memory hierarchy – Greater performance by exploiting parallelism ECE 15B Spring 2011 ECE 15B: can also help you • Assembly Language Programming – This is a skill you will pick up as a side effect of understanding big ideas • Hardware Design – Hardware at the abstract level with only a little bit of physical implementation details to give perspective • Understand Language Concept – If you know one, you should be able to learn another “low” level programming language on your own – C constructs used in many other “higher” level programming languages ECE 15B Spring 2011 ECE 15B: Does Not Teach • A specific assembler language – 486 instruction set – ARM instruction set (i.e. Apple A5 processor with ARM Cortex-A9 in iPad2, or iPhone) – PowerPC instruction set • Because technologies change so dramatically – Learning the concepts is more important that learning the language – Learning abstract ideas is more important that learning the specific features ECE 15B Spring 2011 My Own Background... MMT Simulator • Features – – – – Assembler & Debug Cycle-accurate simulation GUI and Script support Detailed statistics including runtime conflicts • Implementation – C - 35 K lines of code – TCL - 7 K lines of code Memory latency reduction with fine-grain migrating threads in NUMA shared-memory multiprocessors” (with M. Dorojevets) in: Proc. PDCS’02, Cambridge, MA, Nov. 2002, pp. 762-767 ECE 15B Spring 2011 Summary • Continued rapid improvement in computing – May end up soon but new paradigms and concept will likely inherit a lot from traditional computer implantation, e.g. multi core • Hardware/software interface is important layer in the hierarchy to understand how computing is implemented ECE 15B Spring 2011