ee380, fall 2012 - aggregate.orgaggregate.org/ee380/ch1/ee380ch1.pdf · capacity speed logic 2x in...

25
Chapter 1 EE380, Fall 2012 Hank Dietz http://aggregate.org/hankd/

Upload: phamdien

Post on 16-Feb-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Chapter 1

EE380, Fall 2012

Hank Dietz

http://aggregate.org/hankd/

Page 2: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Course Overview

• Instruction Set Design, by Architect• Machine & Assembly Languages• “Computer Architecture”• Instruction Set Architecture/Processor

• Computer Hardware Design, by Engineer• Logic Design & Machine Implementation• “Processor Architecture”• “Computer Organization”

Page 3: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Complexity

• Things are much more complex now• Lots of things you use every day have

BILLIONS of components!

• You don't live long enough to know it all

Page 4: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Abstraction “Onion”

Page 5: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Software Layers• Applications...• Operating Systems...• High-Level Languages(HLLs)

• Designed for humans to write & read• Modularity• Abstract data types, type checking• Assignment statements• Control constructs• I/O statements

Page 6: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Instruction Set Architecture

• ISA defines HW/SW interface• Assembly Language

• Operations match hardware abilities• Relatively simple & limited operations• Mnemonic (human readable?)

• Machine Language• Bit patterns – 0s and 1s• Actually executed by the hardware

Page 7: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Hardware Layers

• Function-Block Organization• Gates & Digital Logic (EE280 stuff)• Transistors

• Used as bi-level (saturated) devices• Amplifiers, not just on/off switches

• Materials & Integrated Circuits• Implementation of transistors, etc.• SSI, MSI, LSI, VLSI, ... WSI?

Page 8: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

How To Use Layers

• Things are too complex to“know everything”

• Need to know only layers adjacent• Makes design complexity reasonable• Makes things reusable

• Can tunnel to lower layers• For efficiency• For special capabilities

Page 9: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

From HLL To ISA• C code to swap v[k] with v[k+1]:

int t=v[k]; v[k]=v[k+1]; v[k+1]=t;• MIPS assembly code, assuming &(v[k]) is

in $2 and sizeof(v[k]) is 4:

lw $15, 0($2)lw $16, 4($2)sw $16, 0($2)sw $15, 4($2)

Page 10: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

MIPS ISA

• Load/Store between memory & registers• Computational (arithmetic & logic)• Jump and conditional branch• Each instruction is encoded as 32-bits:

Page 11: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

From ISA To Logic Design

Page 12: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Computer ArchitectureIs Quickly Evolving

• Applicationse.g., DVDs -> MMX, Doom -> 3DNow! & SSE;e.g., embedded systems, cell phones, etc.

• Programming Languagese.g., C -> call stack, flat memory addresses

• OperatingSystemse.g., Windows -> execute permission

• Technologye.g., Power density -> power management

Page 13: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Moore's Law“Cramming more components onto integrated circuits,” Electronics, Vol. 38, No. 8, April 19, 1965.

Page 14: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

IC Costs: Wafers To Dies

Page 15: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

IC Costs: Wafers To Dies

Page 16: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

IC Costs: Dies To Chips

Page 17: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Moore's Law Still Close...

Page 18: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Technology Trends

Capacity SpeedLogic 2X in 2 years 2X in 3 yearsDRAM 4X in 3 years 1.4X in 10 yearsDisk 4X in 3 years 1.4X in 10 years

Different rates mean relationships change;e.g., memory used to be faster than Add logic,now it's ~1000X slower!

Page 19: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

SI Terminology Of Scale

1000^1 kilo k 1000^-1milli m1000^2 mega M 1000^-2micro u1000^3 giga G 1000^-3nano n1000^4 tera T 1000^-4pico p1000^5 peta P

• 1000^x vs. 1024^x• 1 Byte (B) is 8-10 bits (b)• Hertz (Hz) is frequency (vs. period)

Page 20: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

General Terminology

• Processor, PE, CPU, “Core”• “Computer Family”• Embedded System• Personal Computer• Server• Supercomputer• Networks:

SAN, LAN, MAN, WAN...

Page 21: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Chip Terminology

• Silicon Ingot – sausage-like single crystal• Wafer – slice from above• Die – one chip's area on a wafer• Chip – a mounted die• Yield – fraction that are good• SSI, MSI, LSI, VLSI, WSI Scale Integration;

Small, Medium, Large, Very Large, Wafer

Page 22: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Memory Terminology

• Volatile – power off, data fades away• ROM – non-volatile Read Only Memory• PROM, EPROM, OTP, EEROM, Flash –

types of non-volatile programmable memory• RAM – volatile Random Access Memory

• SRAM – Static RAM, fast but big cells• DRAM – Dynamic RAM, slow but small cells• EDO, SDRAM, DDR, RamBus – DRAM types

• Core – non-volatile magnetic RAM technology• Registers, Cache – fast working memories

Page 23: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

More Memory Terminology

• PunchedCards• Punched/Paper Tape• Tape, Magtape• Drum• Disks:

Floppy, Hard,Magneto-Optical,CD (-R, -RW), DVD (+/-R, +/-RW, -RAM)

Page 24: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Other I/O Terminology

• Keyboard• Mouse, Trackball, Touchscreen, Lightpen,

Touchpad, etc.• Pixel – Picture Element• CCD – Charge-Coupled Device

(in a camera)• CRT – Cathode Ray Tube• LCD – Liquid Crystal Display• DLP/DMD – Digital Micromirror Device

Page 25: EE380, Fall 2012 - Aggregate.Orgaggregate.org/EE380/CH1/ee380ch1.pdf · Capacity Speed Logic 2X in 2 years ... 1000^5 peta P • 1000^x vs. 1024^x • 1 Byte (B) is 8-10 bits (b)

Conclusion

• LOTS of stuff to know about...this course just does the basic stuff aroundthe ISA and its implementation

• New technologies & applications mean newarchitectures & architectural concepts

• Look at the history references on the WWW:not to memorize who, what, when, & where,but to see trends...