+ All Categories
Home > Documents > ECE 15B Computer Organization Spring 2011 Dmitri Strukov Lecture 1: Introduction Partially adapted...

ECE 15B Computer Organization Spring 2011 Dmitri Strukov Lecture 1: Introduction Partially adapted...

Date post: 26-Dec-2015
Category:
Upload: melvyn-cunningham
View: 213 times
Download: 0 times
Share this document with a friend
Popular Tags:
33
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
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

ECE 15B Spring 2011

Course Logistics : Instructor

Dmitri Strukov [email protected]

Office : HFH 5153Office hours: 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] hours: Phelps 1435, Available time slots: Thursday 12:30 am -1:30 pmDiscussion session: Girvetz Hall 2119, Monday 5:00-5:50 pm

Jian Zhen [email protected] hours: ECI Lab (still tentative)Available time slots: Friday 10:00 am – 11:00 amDiscussion session: Phelps 1448, Friday 9:00-9:50 pm

ECE 15B Spring 2011

Course Logistics: Material

• URL– http://www.ece.ucsb.edu/~strukov/ece15bSpring

2011/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

• 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)

Course Logistics: Approximate Schedule

ECE 15B Spring 2011

Course Logistics: Approximate ScheduleCourse introduction 1Overview of computer organization (hw) 1Arithmetic instructions 1Data transfer instructions 1Control flow instructions 1Logic/shift/overflow 1 Procedures 2 Instruction representation 1Memory addressing modes 1Floating point arithmetic 1Pointers and arrays 1 String, lists, stacks 1Memory management 2Compiling, assembling, linking and loading 1History of computing 1 Final review 1 In class quiz 2

ECE 15B Spring 2011

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

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 MooreIntel CofounderB.S. Cal 1950!

ECE 15B Spring 2011 Source: Prof. N Cheung, UCB

ECE 15B Spring 2011

Average price per transistor (source: Intel)

Source: Moore’s law at Forty, Chapter 7 from Understanding Moore’s Law: Four decades of Innovation, Edited by David C. Brock, 2006

ECE 15B Spring 2011 Source: Prof. N Cheung, UCB

ECE 15B Spring 2011

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

Technology Trends: Uniprocessor Performance (SPECint)

• VAX : 1.25x/year 1978 to 1986• RISC + x86: 1.52x/year 1986 to 2002• RISC + x86: 1.20x/year 2002 to present

1.25x/year

1.52x/year

1.20x/year

Perf

orm

ance

(vs.

VAX

-11/

780)

3X“Sea change” in chip design: multiple “cores” or processors per chip

ECE 15B Spring 2011

Other computing platforms (why not everything from silicon are microprocessors?)

ECE 15B Spring 2011

Cost = Nonrecurring engineering cost/volume + Production costProduction cost = (1+Defect density * Area/ alpha) alpha, where alpha = 1 to 5

Involves NRE cost

ASIC

μPmanufacturing cost (at small volumes)

performance

Other computing platforms (why not everything microprocessors?)

Market size:- Semiconductor industry >$1000B- Microprocessor (w. embedded) > $100BFor comparison: USA GDP ~ $14000B (24% of worlds total)

ASICFPGA

μPmanufacturing cost (at small volumes)

performance

Other computing platforms (why not everything microprocessors?)

GPU

ECE 15B Spring 2011

Layers of Abstractions

I/O systemProcessor

CompilerOperatingSystem(Mac OSX)

Application (ex: browser)

Digital DesignCircuit Design

Instruction Set Architecture

Datapath & Control

transistors

MemoryHardware

Software Assembler

Computation is implemented using many layers of abstractions – WHY?

ECE 15B Spring 2011

Need Many Layers to Handle Complexity

I/O systemProcessor

CompilerOperatingSystem(Mac OSX)

Application (ex: browser)

Digital DesignCircuit Design

Instruction Set Architecture

Datapath & Control

transistors

MemoryHardware

Software Assembler

Layers of AbstractionThis class is about this region

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;

)

• Assembly language program (for MIPS)swap: sll $2, $5, 2

add $2, $4, $2lw $15, 0($2)lw $16, 4($2)sw $16, 0($2)sw $15, 4($2)jr $31

• Machine (object, binary) code (for MIPS) 000000 00000 00101 0001000010000000 000000 00100 00010 0001000000100000

. . .

C compiler

assembler

one-to-many

one-to-one

Below the Program

lw $t0, 0($2)lw $t1, 4($2)sw $t1, 0($2)sw $t0, 4($2)

High Level Language Program (e.g., C)

Assembly Language Program (e.g.,MIPS)

Machine Language Program (MIPS)

Hardware Architecture Description (e.g., block diagrams)

Compiler

Assembler

Machine Interpretation

temp = v[k];v[k] = v[k+1];v[k+1] = temp;

0000 1001 1100 0110 1010 1111 0101 10001010 1111 0101 1000 0000 1001 1100 0110 1100 0110 1010 1111 0101 1000 0000 1001 0101 1000 0000 1001 1100 0110 1010 1111

Logic Circuit Description(Circuit Schematic Diagrams)

Architecture Implementation

ECE 15B Spring 2011

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 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


Recommended