Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
CSCI-365 Computer Organization Lecture 1 Note: Some slides and/or pictures in the following are adapted from: Computer Organization and Design, Patterson & Hennessy, ©2005 Some slides and/or pictures in the following are adapted from: slides ©2008 UCB Course Information • Course Website http://www.stfx.ca/people/igondra/csci365 Are Computers Smart? • To a programmer: – Very complex operations / functions: • (map (lambda (x) (* x x)) '(1 2 3 4)) – Automatic memory management: • List l = new List; – “Basic” structures: • Integers, floats, characters, plus, minus, print commands Computers are smart! Are Computers Smart? • In real life at the lowest level: – Only a handful of operations: • {and, or, not} – No automatic memory management – Only 2 values: • {0, 1} or {low, high} or {off, on} Computers are dumb! What is CSCI-365? Application (ex: browser) Compiler Software Hardware Assembler Operating System (Mac OSX) Processor Memory I/O system CSCI-365 Instruction Set Architecture Datapath & Control Digital Design Circuit Design transistors Coordination of many levels (layers) of abstraction Instruction Set Architecture • Basic job of a CPU: execute lots of instructions • Instructions are the primitive operations that the CPU may execute • Different CPUs implement different sets of instructions. The set of instructions a particular CPU implements is an Instruction Set Architecture (ISA) – Examples: Intel 80x86 (Pentium 4), IBM/Motorola PowerPC (Macintosh), MIPS, Intel IA64, ... Instruction Set Architecture software instruction set hardware MIPS Architecture • MIPS – semiconductor company that built one of the first commercial RISC architectures • We will study the MIPS architecture in some detail in this class • Why MIPS instead of Intel 80x86? – MIPS is simple, elegant. Don’t want to get bogged down in gritty details – MIPS still widely used in embedded applications CSCI-365 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., block diagrams) Architecture Implementation Logic Circuit Description (Circuit Schematic Diagrams) temp = v[k]; v[k] = v[k+1]; v[k+1] = temp; lw $t0, 0($2) lw $t1, 4($2) sw $t1, 0($2) sw $t0, 4($2) 0000 1010 1100 0101 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 Anatomy of a 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 Integrated Circuits Bare Die • Primarily Crystalline Silicon • 1mm - 25mm on a side • 2007 feature size ~ 65 nm = 65 x 10-9 m (then 45, 32, 22, and 16 [by yr 2013]) • 100 - 1000M transistors • (25 - 100M “logic gates”) Chip in Package • Package provides: – spreading of chip-level signal paths to board-level – heat dissipation • Ceramic or plastic with gold wires PowerPC Die Photograph Let’s look closer… Transistor Circuit Rep. vs. Block diagram • Chips composed of nothing but transistors and wires • Small groups of transistors form useful building blocks E.g., NAND gate “1” (voltage source) “0” (ground) a 0 0 1 1 b 0 1 0 1 c 1 1 1 0 • Blocks are organized in a hierarchy to build higher-level blocks: E.g., adders Printed Circuit Boards • fiberglass or ceramic • 1-20 conductive layers • 1-20 in on a side • IC packages are soldered down • Provides: – Mechanical support – Distribution of power and heat # of transistors on an IC Technology Trends: Microprocessor Complexity Gordon Moore Intel Cofounder 2X Transistors / Chip Every 1.5 years Called “Moore’s Law” Year Technology Trends: Memory Capacity (Single-Chip DRAM) size 1000000000 Bits Bits 100000000 10000000 1000000 100000 10000 1000 1970 1975 1980 1985 Year 1990 1995 Year • Now 1.4X/yr, or 2X every 2 years • 8000X since 1980! 2000 year size (Mbit) 1980 0.0625 1983 0.25 1986 1 1989 4 1992 16 1996 64 1998 128 2000 256 2002 512 2004 1024 (1Gbit) 2006 2048 (2Gbit) Performance (vs. VAX-11/780) VAX-11/780) (vs. Performance Technology Trends: Uniprocessor Performance (SPECint) 10000 20%/year 1.20x/year 1000 1.52x/year 52%/year 100 10 1.25x/year 25%/year 1 1978 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 • VAX : 1.25x/year 1978 to 1986 • RISC + x86: 1.52x/year 1986 to 2002 • RISC + x86: 1.20x/year 2002 to present Computer Technology – Dramatic Change! • Memory – DRAM capacity: 2x / 2 years (since ‘96); 64x size improvement in last decade • Processor – Speed 2x / 1.5 years (since ‘85); [slowing!] 100X performance in last decade • Disk – Capacity: 2x / 1 year (since ‘97) 250X size in last decade