ECE 15B Computer Organization Spring 2011 Dmitri Strukov Lecture 1: Introduction Partially adapted from Computer Organization and Design, 4 th edition, Patterson and Hennessy, and classes taught by Patterson at Berkeley, Ryan Kastner at UCSB and Mary Jane Irwin at Penn State
33
Embed
ECE 15B Computer Organization Spring 2011 Dmitri Strukov
ECE 15B Computer Organization Spring 2011 Dmitri Strukov. Lecture 1: Introduction. Partially adapted from Computer Organization and Design, 4 th edition, Patterson and Hennessy, and classes taught by Patterson at Berkeley, Ryan Kastner at UCSB and Mary Jane Irwin at Penn State. - PowerPoint PPT Presentation
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ECE 15B Computer OrganizationSpring 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
Sam Masooman [email protected] hours: Phelps 1435, Available time slots: Thursday 12:30 am -1:30 pmDiscussion session: Girvetz Hall 2119, Monday 5:00-5:50 pm
• 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
• 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 ComputersIn millions
Population 6.4B in 2004, i.e. ~ 1PC, 2.2 cell phones, and 2.5 televisions for every 8 people on the planet
Intel Atom, ~ 50 M Tran.
ECE 15B Spring 2011
Advantages of Higher-Level Languages ?
• Higher-level languages
• As a result, very little programming is done today at the assembler level
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
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
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
My Own Background...
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