33
ECE 3400 Guest Lecture Design Principles and Methodologies in Computer Architecture Christopher Batten Computer Systems Laboratory School of Electrical and Computer Engineering Cornell University Spring 2014

ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

ECE 3400 Guest LectureDesign Principles and Methodologies in

Computer ArchitectureChristopher Batten

Computer Systems LaboratorySchool of Electrical and Computer Engineering

Cornell University

Spring 2014

Page 2: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

• What is Computer Architecture? • Design Example Design Principles Design Methodologies

The Computer Engineering Stack

Technology

Application

Gap too large to bridge in one step(but there are exceptions, e.g., a magnetic compass)

ECE 3400 Design in Computer Architecture – Christopher Batten 2 / 30

Page 3: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

• What is Computer Architecture? • Design Example Design Principles Design Methodologies

The Computer Engineering Stack

Register-Transfer Level

CircuitsDevices

Instruction Set Architecture

Programming LanguageAlgorithm

Microarchitecture

Com

pute

r Arc

hite

ctur

e

Technology

Application

Operating System

Gate Level

Sort an array of numbers2,6,3,8,4,5 -> 2,3,4,5,6,8

1. Find minimum number in input array2. Move minimum number into output array3. Repeat steps 1 and 2 until finished

Insertion sort algorithm

void isort( int b[], int a[], int n ) { for ( int idx, k = 0; k < n; k++ ) { int min = 100; for ( int i = 0; i < n; i++ ) { if ( a[i] < min ) { min = a[i]; idx = i; } } b[k] = min; a[idx] = 100; }}

C implementation of insertion sort

ECE 3400 Design in Computer Architecture – Christopher Batten 2 / 30

Page 4: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

• What is Computer Architecture? • Design Example Design Principles Design Methodologies

The Computer Engineering Stack

Register-Transfer Level

CircuitsDevices

Instruction Set Architecture

Programming LanguageAlgorithm

Microarchitecture

Com

pute

r Arc

hite

ctur

e

Technology

Application

Operating System

Gate Level

Mac OS X, Windows, LinuxHandles low-level hardware management

blez $a2, donemove $a7, $zeroli $t4, 99move $a4, $a1move $v1, $zeroli $a3, 99lw $a5, 0($a4)addiu $a4, $a4, 4slt $a6, $a5, $a3movn $v0, $v1, $a6addiu $v1, $v1, 1movn $a3, $a5, $a6

MIPS32 Instruction SetInstructions that machine executes

ECE 3400 Design in Computer Architecture – Christopher Batten 2 / 30

Page 5: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

• What is Computer Architecture? • Design Example Design Principles Design Methodologies

The Computer Engineering Stack

Register-Transfer Level

CircuitsDevices

Instruction Set Architecture

Programming LanguageAlgorithm

Microarchitecture

Com

pute

r Arc

hite

ctur

e

Technology

Application

Operating System

Gate Level

Silicon processtechnology

Si Si Si

SiSiSi

Transistors and wires

Combining devicesto do useful work

Boolean logic gatesand functions

How data flowsthrough system

ECE 3400 Design in Computer Architecture – Christopher Batten 2 / 30

Page 6: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

• What is Computer Architecture? • Design Example Design Principles Design Methodologies

What is Computer Architecture?

In its broadest definition, computer engineering is thedevelopment of the abstraction/implementation layers that allow us to

execute information processing applications efficientlyusing available manufacturing technologies

Register-Transfer Level

CircuitsDevices

Instruction Set Architecture

Programming LanguageAlgorithm

Microarchitecture

Com

pute

r Arc

hite

ctur

e

Technology

Application

Operating System

Gate Level

Application Requirements • Suggest how to improve architecture • Provide revenue to fund development

Technology Constraints • Restrict what can be done efficiently • New technologies make new arch possible

Computer architects provide feedback to guideapplication and technology research directions

ECE 3400 Design in Computer Architecture – Christopher Batten 3 / 30

Page 7: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

• What is Computer Architecture? • Design Example Design Principles Design Methodologies

Computer Architecture in the ECE/CS Curriculum

Register-Transfer Level

CircuitsDevices

Instruction Set Architecture

Programming LanguageAlgorithm

Microarchitecture

Com

pute

r Arc

hite

ctur

e

Technology

Application

Operating System

Gate Level ECE 2300 Digital Logic & Computer Org

ECE 3140 Embedded Systems

ECE 4750 Computer Architecture

ECE 4740 Digital VLSI Design

CS 4420 Compilers

Related Graduate Courses • ECE 5760 Advanced Microcontroller Design • ECE 5750 Advanced Computer Architecture • ECE 5730 Memory Systems • ECE 5770 Resilient Computer Systems • ECE 5745 Complex Digital ASIC Design • ECE 5775 High-Level Design Automation

CS 4410 Operating Systems

ECE 3400 Design in Computer Architecture – Christopher Batten 4 / 30

Page 8: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

• What is Computer Architecture? • Design Example Design Principles Design Methodologies

Logic, State, and Interconnect

Register-Transfer Level

CircuitsDevices

Instruction Set Architecture

Programming LanguageAlgorithm

Microarchitecture

Com

pute

r Arc

hite

ctur

e

Technology

Application

Operating System

Gate Level

Interconnect

StateLogic StateLogic Logic

StateLogic StateLogicState

Digital systems are implemented with three basic building blocks • Logic to process data • State to store data • Interconnect to move data

ECE 3400 Design in Computer Architecture – Christopher Batten 5 / 30

Page 9: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

• What is Computer Architecture? • Design Example Design Principles Design Methodologies

Processors, Memories, and Networks

Register-Transfer Level

CircuitsDevices

Instruction Set Architecture

Programming LanguageAlgorithm

Microarchitecture

Com

pute

r Arc

hite

ctur

e

Technology

Application

Operating System

Gate Level

Network

Processor

Memory

Computedata

Movedata

Storedata

In computer architecture we more generally think of using • Processors for computation • Memories for storage • Networks for communication

Processor Processor

Memory Memory

ECE 3400 Design in Computer Architecture – Christopher Batten 6 / 30

Page 10: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? • Design Example • Design Principles Design Methodologies

RTL

Devices

ISA

PL

Algorithm

�Arch

Technology

Application

OS

Gates

Circuits

Agenda

What is Computer Architecture?

Design Example

Design Principles

Design Methodologies

ECE 3400 Design in Computer Architecture – Christopher Batten 7 / 30

Page 11: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? • Design Example • Design Principles Design Methodologies

What do computer architects actually do?

Ask questionabout nature

Constructhypothesis

Test withexperiment

Analyze results anddraw conclusions

General ScienceDiscover truthsabout nature

Design and modelbaseline system

Ask questionabout system

Design and modelalternative system

Test withexperiment

Analyze results anddraw conclusions

Computer EngineeringExplore design space

for a new system

Build prototypeor real system

ECE 3400 Design in Computer Architecture – Christopher Batten 8 / 30

Page 12: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? • Design Example • Design Principles Design Methodologies

Example DesignProblem: On-ChipInterconnectionNetwork

I Intel Sandybridge EServer-Class Processor

I 435 mm2 in 32 nmtechnology with 2.27Btransistors running atseveral GHz

I Eight cores and eightmemory banks with anon-chip ring network

ECE 3400 Design in Computer Architecture – Christopher Batten 9 / 30

Page 13: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? • Design Example • Design Principles Design Methodologies

Tile 1

R

chan

nel

PM

Rch

anne

l

PM

RP

MR channel

PM

R

channel

PM

Rchannel

PM

R

channelP

M

Rchannel

PM

Tile 2

Tile 3

Tile 5Tile 6

Tile 7

Tile 8

Tile 4

channel

RchannelR

Rchannel

Rchan

nel

Rch

anne

lR

chan

nel

chan

nel

R channelR

channel

How should weorganize routersand channels?

Topology

CounterClockwise

Ring

ClockwiseRing

Tile 1

ECE 3400 Design in Computer Architecture – Christopher Batten 10 / 30

Page 14: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? • Design Example • Design Principles Design Methodologies

Tile 1

R

chan

nel

PM

Rch

anne

l

PM

RP

MR channel

PM

R

channel

PM

Rchannel

PM

R

channelP

M

Rchannel

PM

Tile 2

Tile 3

Tile 5Tile 6

Tile 7

Tile 8

Tile 4

channel

RchannelR

Rchannel

Rchan

nel

Rch

anne

lR

chan

nel

chan

nel

R channelR

channel

RoutingWhich path to take from

source processor todestination memory?

Tile 1

Tile 4

ECE 3400 Design in Computer Architecture – Christopher Batten 11 / 30

Page 15: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? • Design Example • Design Principles Design Methodologies

Tile 1

R

chan

nel

PM

Rch

anne

l

PM

RP

MR channel

PM

R

channel

PM

Rchannel

PM

R

channelP

M

Rchannel

PM

Tile 2

Tile 3

Tile 5Tile 6

Tile 7

Tile 8

Tile 4

channel

RchannelR

Rchannel

Rchan

nel

Rch

anne

lR

chan

nel

chan

nel

R channelR

channel

Tile 1

Tile 4

Flow ControlWhich packet should

a router choose tosend to output port?

ECE 3400 Design in Computer Architecture – Christopher Batten 12 / 30

Page 16: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? • Design Example • Design Principles Design Methodologies

Tile 1

R

chan

nel

PM

Rch

anne

l

PM

RP

MR channel

PM

R

channel

PM

Rchannel

PM

R

channelP

M

Rchannel

PM

Tile 2

Tile 3

Tile 5Tile 6

Tile 7

Tile 8

Tile 4

channel

RchannelR

Rchannel

Rchan

nel

Rch

anne

lR

chan

nel

chan

nel

R channelR

channel

TopologyRouting

Flow Control

ECE 3400 Design in Computer Architecture – Christopher Batten 13 / 30

Page 17: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? • Design Example • Design Principles Design Methodologies

Modeling in Computer Architecture

Design and modelbaseline system

Ask questionabout system

Design and modelalternative system

Test withexperiment

Analyze results anddraw conclusions

Computer EngineeringExplore design space

for a new system

Build prototypeor real system

// rdy is OR of the AND of reqs and grants assign in_rdy = | (reqs & grants);

reg [2:0] reqs; always @(*) begin if ( in_val ) begin

// eject packet if it is for this tile if ( dest == p_router_id ) reqs = 3'b010;

// otherwise, just pass it along ring else reqs = 3'b001;

end else begin // if !val, don't request any ports reqs = 3'b000; end end

Verilog • SystemVerilog • VHDLC++ • SystemC

Bluespec • Chisel • PyMTL

ECE 3400 Design in Computer Architecture – Christopher Batten 14 / 30

Page 18: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? • Design Example • Design Principles Design Methodologies

Student-Based “Model” of On-Chip Network

I Processor/Memory – Studenthands packets to appropriaterouter based on routingalgorithm; waits to receive twopackets from some other tile,and then raises hand.

I CCW/CW Network Routers –Student holds onto packets andhands them to the correctchannel; if packet for that router’stile arrives, then hand packet toprocessor/memory.

I CCW/CW Network Channels –Student walks one packet at a

time from upstream router todownstream router.

Tile 1

R

chan

nel

PM

Rch

anne

l

PM

RP

M

R channel

PM

R

channel

PM

Rchannel

PM

R

channel

PM

Rchannel

PM

Tile 2

Tile 3

Tile 5Tile 6

Tile 7

Tile 8

Tile 4

channel

RchannelR

Rchannel

Rchan

nel

Rch

anne

lR

chan

nel

chan

nel

R channelR

channel

Tile 1

Tile 4

Use Greedy Routing

Algorithm

ECE 3400 Design in Computer Architecture – Christopher Batten 15 / 30

Page 19: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example • Design Principles • Design Methodologies

RTL

Devices

ISA

PL

Algorithm

�Arch

Technology

Application

OS

Gates

Circuits

Agenda

What is Computer Architecture?

Design Example

Design Principles

Design Methodologies

ECE 3400 Design in Computer Architecture – Christopher Batten 16 / 30

Page 20: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example • Design Principles • Design Methodologies

Design Principle: Modularity

I Decompose into components with well-defined interfaces

I A modular router design can be decomposed into a control unit and adatapath interconnected with control/status signals

Control Unit

Datapath

ControlSignals

StatusSignals

StateA

StateB

ECE 3400 Design in Computer Architecture – Christopher Batten 17 / 30

Page 21: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example • Design Principles • Design Methodologies

Design Principle: Hierarchy

I Recursively apply modularity principle

I A hierarchical network design can be decomposed into routers, whichis in turn decomposed into a control unit and datapath, which is in turndecomposed into queues, muxes, and registers

Control Unit

Datapath

R

chan

nel

Rch

anne

lR

R channelR

channel

Rchannel

R

channel

Rchannel

channel

RchannelR

Rchannel

Rchan

nel

Rch

anne

lR

chan

nel

chan

nel

R channelR

channel

Rin

g N

etw

ork

ECE 3400 Design in Computer Architecture – Christopher Batten 18 / 30

Page 22: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example • Design Principles • Design Methodologies

Design Principle: Encapsulation

I Hide implementation details frominterfaces

I An encapsulated router designcan hide the latency of the routermicroarchitecture along with anydetails related to stalls due to fullqueues or arbitration

InputPort 1

InputPort 2

InputPort 3

OutputPort 1

OutputPort 2

OutputPort 3

packetvalidready

Router

ECE 3400 Design in Computer Architecture – Christopher Batten 19 / 30

Page 23: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example • Design Principles • Design Methodologies

Design Principle: Regularity

I Leverage structure at variouslevels of abstraction

I A regular router design canexploit logical structure to enablea single router to be instantiatedeight times

I A regular network and routerdesign can exploit physicalstructure to simplify the chipfloorplan and layout

R

channel

Rchannel

R

R channelR

channel

Rchannel

R

channel

Rchannel

channel

RchannelR

Rchannel

Rchannel

Rchannel

R

chan

nel

chan

nel

R channelR

channel

ECE 3400 Design in Computer Architecture – Christopher Batten 20 / 30

Page 24: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example • Design Principles • Design Methodologies

Design Principle: Extensibility

I Include mechanisms/hooks tosimplify future changes

I An extensible network and routerdesign can enable easilyimplementing ring networks withvarious numbers of routers

I An extensible network and routerdesign can enable easilychanging the routing algorithm

R

channel

Rchannel

R

R R

channel

Rchannel

R

channel

R

R

channel

Rchannel

R

R channelR

channel

Rchannel

R

channel

Rchannel

channel

RR

Rchannel

Rchannel

Rchannel

R

chan

nel

chan

nel

R R

channel

channel

RchannelR

Rchannel

Rchannel

Rchannel

R

chan

nel

chan

nel

R channelR

channel

channel R

R

R

R

channel

channel channel channel

channel

channelR

R

R

R

channel

channelchannelchannel

channel

RoutingLogic

destination

direction

ECE 3400 Design in Computer Architecture – Christopher Batten 21 / 30

Page 25: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example • Design Principles • Design Methodologies

Design Principles in Computer Architecture

I Modularity – Decompose into components with well-defined interfaces

I Hierarchy – Recursively apply modularity principle

I Encapsulation – Hide implementation details from interfaces

I Regularity – Leverage structure at various levels of abstraction

I Extensibility – Include mechanisms/hooks to simplify future changes

ECE 3400 Design in Computer Architecture – Christopher Batten 22 / 30

Page 26: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example Design Principles • Design Methodologies •

RTL

Devices

ISA

PL

Algorithm

�Arch

Technology

Application

OS

Gates

Circuits

Agenda

What is Computer Architecture?

Design Example

Design Principles

Design Methodologies

ECE 3400 Design in Computer Architecture – Christopher Batten 23 / 30

Page 27: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example Design Principles • Design Methodologies •

Waterfall Development Methodology

I Traditional sequentialdevelopment methodology; eachstage is completed beforebeginning the next stage

I For example, most of the designis completed before beginningthe development, and most ofthe development is completedbefore beginning testing

Discover

Design

Develop

Test

Application Requirements

Technical Design

Coding, Implementation, and Integration

Verification and Fabrication

ECE 3400 Design in Computer Architecture – Christopher Batten 24 / 30

Page 28: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example Design Principles • Design Methodologies •

Agile Development Methodology

I Emerging iterative developmentmethodology; move rapidlythrough all stages and theniterate back again through thestages

I For example, a component isdesigned, developed, and testedbefore moving onto anothercomponent; or a minimal yetcomplete system is designed,developed, and tested beforeincrementally adding features

Sprint#1

Discover

DesignDevelop

Test

Sprint#2

Discover

DesignDevelop

Test

Sprint#3

Discover

DesignDevelop

Test

ECE 3400 Design in Computer Architecture – Christopher Batten 25 / 30

Page 29: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example Design Principles • Design Methodologies •

Agile Argues for Incremental Development

X P Network

Network

Network

M R

PP P P P

M P P P P

M M M MNetwork

M M M M

ECE 3400 Design in Computer Architecture – Christopher Batten 26 / 30

Page 30: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example Design Principles • Design Methodologies •

Agile Argues for Test-Driven Development

P M

R

R

P M

R

R

P M

R

R

I Test Types. Unit tests vs. integration tests. Directed vs. random tests. Whitebox vs. blackbox tests

I Goal is to write tests firstthen implement design topass these tests

I Write tests for higher level ofabstraction, refine implementation until passes tests, add new tests

I Capture design bugs with new tests

ECE 3400 Design in Computer Architecture – Christopher Batten 27 / 30

Page 31: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example Design Principles • Design Methodologies •

Waterfall vs. Agile Development Methodologies

Waterfall Methodology Agile Methodology

Highly critical requirements Less critical requirements

Less experienced engineers More experienced engineers

Requirements change rarely Requirements change often

Large engineering team Small engineering team

A hybrid approach that includes aspects of both thetraditional waterfall methodology and the emergingagile methodology is an attractive option for future

hardware design projects.

ECE 3400 Design in Computer Architecture – Christopher Batten 28 / 30

Page 32: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example Design Principles Design Methodologies

RTL

Devices

ISA

PL

Algorithm

�Arch

Technology

Application

OS

Gates

Circuits

Take-Away Points

I Computer engineering is an iterative processinvolving designing and modeling systems,evaluating trade-offs between various designalternatives, which in turn motivates designing andmodeling new systems

I Design principles such as modularity, hierarchy,modularity, encapsulation, regularity, andextensibility and design methodologies such aswaterfall and agile hardware development can helpmanage the significant complexity inherent inbuilding modern computing systems

ECE 3400 Design in Computer Architecture – Christopher Batten 29 / 30

Page 33: ECE 3400 Guest Lecture Design Principles and Methodologies ...cbatten/misc/batten... · What is Computer Architecture? Design Example • Design Principles • Design Methodologies

What is Computer Architecture? Design Example Design Principles Design Methodologies

ECE 4750 Computer Architecturehttp://www.csl.cornell.edu/courses/ece4750

P

I$

D$

Network

Network

Network

P

I$

P

I$

P

I$

D$ D$ D$

Mai

n M

emor

y

I Part 1: Fundamental Processors – FSMprocessors; pipelined processors;structural, data, and control hazards

I Part 2: Fundamental Memories – memorytechnology; cache hierarchies; pipelined cachemicroarchitecture

I Part 3: Fundamental Networks – torus andbutterfly topologies; routing algorithms;flow control; pipelined router microarchitecture

I Part 4: Advanced Processors – superscalar execution; branch prediction;out-of-order execution; register renaming; memory disambiguation; VLIW,vector, and multithreaded processors

I Part 5: Advanced Memories – non-blocking caches; memory coherence,synchronization, consistency; memory translation, protection, virtualization

ECE 3400 Design in Computer Architecture – Christopher Batten 30 / 30