30
CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

  • View
    225

  • Download
    2

Embed Size (px)

Citation preview

Page 1: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212Introduction to Computer Architecture

Instructor: Jason D. Bakos

Page 2: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 2

Abstraction

• Abstration used to manage complexity of design– Hide details that are

not important

Application Software

Programs

Compiler

Operating Systems

Device Drivers

Architecture Instructions Registers

Micro-architecture

Datapaths Controllers

Logic Adders Memories

Digital circuits

AND gates NOT gates

Analog circuits

Amplifiers Filters

Devices Transistors Diodes

Physics Electrons

145/146/240/245

311

212

211

211/611

ELCT 371

330

Page 3: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 3

Domains and Levels of Modeling

high level of abstraction

FunctionalStructural

Geometric

low level of abstraction

“Y-chart” from Gajski & Kahn

Page 4: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 4

Domains and Levels of Modeling

Algorithm(behavioral)

Register-TransferLanguage

Boolean Equation

Differential Equation

FunctionalStructural

Geometric

“Y-chart” from Gajski & Kahn

Page 5: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 5

Domains and Levels of Modeling

Processor-MemorySwitch

Register-Transfer

Gate

Transistor

FunctionalStructural

Geometric

“Y-chart” from Gajski & Kahn

Page 6: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 6

Domains and Levels of Modeling

Polygons

Sticks

Standard Cells

Floor Plan

FunctionalStructural

Geometric

“Y-chart” from Gajski & Kahn

Page 7: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 7

Structure

Page 8: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 8

MIPS Microarchitecture

RTL (datapath)

fetch instruction

1. Address <= PC

2. MemRead

3. PC <= PC + 1

4. IR <= MemData

Control

fetch instruction

1. IorD = 0

2. MemRead = 1

3. PCEn = 1

ALUSrcA = 0

ALUSrcB = 01

ALUOp = ADD

PCSource = 01

4. IRWrite = 1

Page 9: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 9

Structure

Page 10: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 10

Logic Synthesis

• Behavior:– S = A + B– Assume A is

2 bits, B is 2 bits, C is 3 bits

A B C

00 (0) 00 (0) 000 (0)

00 (0) 01 (1) 001 (1)

00 (0) 10 (2) 010 (2)

00 (0) 11 (3) 011 (3)

01 (1) 00 (0) 001 (1)

01 (1) 01 (1) 010 (2)

01 (1) 10 (2) 011 (3)

01 (1) 11 (3) 100 (4)

10 (2) 00 (0) 010 (2)

10 (2) 01 (1) 011 (3)

10 (2) 10 (2) 100 (4)

10 (2) 11 (3) 101 (5)

11 (3) 00 (0) 011 (3)

11 (3) 01 (1) 100 (4)

11 (3) 10 (2) 101 (5)

11 (3) 11 (3) 110 (6)

)()(

))((

)()(

010011101012

010101100101012

010100011010101012

010101010101

0101010101012

BBABBAAAABBC

BBAABBAAAAAABBC

BBAAAABBAAAAAAABBC

BBAABBAABBAA

BBAABBAABBAAC

Page 11: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 11

Logic Gates

AY BAY

BAY

inv NAND2NAND3

NOR2

BAY

BAY

Page 12: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 12

Latches

Positive edge-sensitive latch

Page 13: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 13

Elements

Page 14: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 14

Semiconductors

• Silicon is a group IV element (4 valence electrons, shells: 2, 8, 18, 32…)– Forms covalent bonds with four neighbor atoms (3D cubic crystal lattice)– Si is a poor conductor, but conduction characteristics may be altered– Add impurities/dopants (replaces silicon atom in lattice):

• Makes a better conductor• Group V element (phosphorus/arsenic) => 5 valence electrons

– Leaves an electron free => n-type semiconductor (electrons, negative carriers)

• Group III element (boron) => 3 valence electrons– Borrows an electron from neighbor => p-type semiconductor (holes, positive carriers)

forward biasreverse bias

+ + +

+ + +

- - -

- - -P-N junction

+ -- ++ + +

+ + +

- - -

- - -

Page 15: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 15

MOSFETs

body/bulk

GROUND

NMOS/NFET PMOS/PFET

channelshorter length, faster transistor

(dist. for electrons)

body/bulk

HIGH

positive voltage (Vdd)

negative voltage (rel.

to body) (GND)

(S/D to body is reverse-biased)

- - - + + +

+ + + - - -

current current

• Metal-poly-Oxide-Semiconductor structures built onto substrate– Diffusion: Inject dopants into substrate– Oxidation: Form layer of SiO2 (glass)– Deposition and etching: Add aluminum/copper wires

Page 16: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 16

IC Fabrication

• Chips are fabricated using set of masks– Photolithography

• Basic steps– oxidize– apply photoresist– remove photoresist with mask– HF acid eats oxide but not

photoresist– pirana acid eats photoresist

– ion implantation (diffusion, wells)– vapor deposition (poly)– plasma etching (metal)

Page 17: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 17

Layout

3-input NAND

Page 18: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 18

Cell Library (Snap Together)

Layout

Page 19: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 19

Layout

Page 20: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 20

Synthesized and P&R’ed MIPS Architecture

Page 21: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 21

IC Fabrication

Page 22: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 22

8” Wafer

• 8 inch (200 mm) wafer containing Pentium 4 processors– 165 dies, die area = 250 mm2, 55 million transistors, .18m

Page 23: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 23

Another 8” Wafer

Page 24: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 24

Feature Size

• Shrink minimum feature size…– Smaller L decreases carrier time and increases current– Therefore, W may also be reduced for fixed current

– Cg, Cs, and Cd are reduced

– Transistor switches faster (~linear relationship)

Page 25: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 25

Minimum Feature Size

Year Processor Speed Process

1982 i286 6 - 25 MHz 1.5 m

1986 i386 16 – 40 MHz 1.5 - 1 m

1989 i486 16 - 133 MHz .8 m

1993 Pentium 60 - 300 MHz .6 - .25 m

1995 Pentium Pro 150 - 200 MHz .5 - .35 m

1997 Pentium II 233 - 450 MHz .35 - .25 m

1999 Pentium III 450 – 1400 MHz .25 - .13 m

2000 Pentium 4 1.3 – 3.8 GHz .18 - .065 m

2005 Pentium D 2.66 – 3.6 GHz .09 - .065 m

2006 Core 2 1.06 – 3 GHz .065 m

2007 Xeon 5400 3 – 3.2 GHz .045 m

Upcoming milestones:

32 nm (2009-2010), 22 nm (2011-2012), 16 nm (2013)

Page 26: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 26

Clock Speed

• Clock speed is affected by:– Fabrication technology– Architecture: how much work performed in a single cycle

• Execution time =– instructions per program * cycles per instruction * seconds per cycle

• Now we must add to the product:– (number of program threads / number of processor cores)

Page 27: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 27

Integration Density

Core 2 Duo (2007) has ~300M transistors

Page 28: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 28

Integration Density

Page 29: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 29

Microprocessor Technology

• Advances in fabrication (lithography, photoresist, metal layers)

• …faster transistor switching (faster processor)

• …smaller transistors/wires

• …higher integration density

• …more “real estate”

• …architectural improvements!

Page 30: CSCE 212 Introduction to Computer Architecture Instructor: Jason D. Bakos

CSCE 212 30

Microarchitectural Parallelism

• Parallelism => perform multiple operations simultaneously– Instruction-level parallelism

• Execute multiple instructions at the same time• Multiple issue• Out-of-order execution• Speculation• Branch prediction

– Thread-level parallelism (hyper-threading)• Execute multiple threads at the same time on one CPU• Threads share memory space and pool of functional units

– Chip multiprocessing• Execute multiple processes/threads at the same time on multiple CPUs• Cores are symmetrical and completely independent but share a common

level-2 cache