programmable processors trips: extending the range oftrips/talks/microprocessor_forum03.pdf ·...

19
The University of Texas at Austin TRIPS: Extending the Range of Programmable Processors Stephen W. Keckler Doug Burger and Chuck Moore Computer Architecture and Technology Laboratory Department of Computer Sciences The University of Texas at Austin www.cs.utexas.edu/users/cart

Upload: others

Post on 24-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

The University of

Texas at Austin

TRIPS: Extending the Range of

Programmable Processors

Stephen W. Keckler

Doug Burger and Chuck Moore

Computer Architecture and Technology Laboratory

Department of Computer Sciences

The University of Texas at Austin

www.cs.utexas.edu/users/cart

Page 2: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

2The University of

Texas at Austin

Outline

• Application diversity and performancescalability

• Limitations of conventional architectures

• TRIPS – a new architecture family

• Conclusions and future work

Page 3: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

3The University of

Texas at Austin

Application Range Decreasing in GP Processors

Commercial

Desktop

Graphics

DSP

Application diversity is increasing

multithreaded

superscalar

streamingGeneral purpose

processor

SIMD

Programmable processors arebecoming more specialized

Fewer classes of applications runwell on any one architecture

?

Single chip with greaterrange of capabilities

• Leverage larger economiesof scale

• Support intra-applicationdiversity

Page 4: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

4The University of

Texas at Austin

Increasing Performance Scalability Range

Fine-grain CMP Coarse-grain CMP

Fine-grained Coarse-grained

• Termites and chainsaws

– Good performance when tasks are abundant

– But: burden of communication, synchronization, load balancing

• Multiprocessor performance starts with a powerful uniprocessor

– Bulldozers serve a broader range of applications

• Better to build ten 10x processors than two hundred 1x processors

– Sub-divide into chainsaws/termites when necessary for finer granularity

• SMT is a contemporary example

Ultra-large cores

Page 5: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

5The University of

Texas at Austin

Scaling Superscalar Processors?

• Looking back in time– Enormous gains in frequency

• 1998: 500MHz 2002: 3000MHz

• Equal contributions from pipelining and technology

– IPC basically unchanged• 1998: ~1 IPC 2002: ~1 IPC

• Microarchitecture innovations just overcome losses due to pipelining

• Looking forward– Faster clock rates? deeper pipelines (toward < 10 FO4)

• Key latencies increase … IPC decreases

• Power overheads increase superlinearly

• After next (and final) FO4 jump, frequency growth limited to technology only

– Higher IPC? i.e. wide issue (16) and large window (512+)• Complexity grows quadratically, but gain is logarithmic

– Bypass broadcast, renaming, instruction scheduling

• Wire delay limits size/speed of monolithic structures

• Achieving higher IPC is problematic in conventional architectures

Page 6: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

6The University of

Texas at Austin

What is Going Wrong?

1. Superscalar microarchitecture: scalability is limited– Relies on large, centralized structures that want to grow larger

– Partitioning is a slippery slope: complexity, IPC loss…

2. Architecture: conventional binary interface is outdated!– Linear sequence of instructions

– Defined for simple, single-issue machines

– Not natural for compiler

• Compiler forced to map control/data flow graphs into linear sequence

• Lots of useful information gets thrown away

– Not natural for instruction parallel machines

• Instruction relationships scattered throughout linear sequence

• Hardware must dynamically rediscover control/data flow graphs

• N2 problem large, centralized structures

Page 7: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

7The University of

Texas at Austin

Explicitly Parallel Architectures (VLIW)

• Architecture can be clean

– Hardware does not reconstruct dataflow graphs

– Simple in-order issue semantics

– Opportunity for higher arithmetic density

– Opportunity for power reduction

• Shift scheduling work to compiler

• But – scalability issues

– Common register file

– Full broadcast result bypass

– In-order issue not without complexity

• ALAT, register stack engine

– Future transition to OOO?

• Faces challenges discovered in superscalar

• Not without becoming a new architecture

IPF – Itanium 2 (Intel, DAC 2003)

1.5GHz, 6-issue

Page 8: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

8The University of

Texas at Austin

Architecture Generations Driven by Technology

CISC

'60s, '70s

Complex instructions

Dense encodings

Few instructions in flight

Simple compilers

Pipelining difficult

Transistor limited

Simple instructions

Optimized for pipelining

Tens of instructions in flight

Compiler instruction scheduling

RISC

'80s, '90s, early '00s

Wide-issue difficult

Chip-area limited

Reduce overheads of single insts.

Efficient out-of-order processing

Hundreds to thousands in flight

Compiler managed communication

???

mid-late '00s, '10s

???

Communication limited

Page 9: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

9The University of

Texas at Austin

TRIPS – A New Execution Model

• Compiler structures program into sequence of hyperblocks– Atomic unit of fetch / schedule / execute / commit

• Blocks specify explicit instruction placement in the ALU array– Critical path placed to minimize communication delays

– Less critical instructions placed in remaining positions

• Instructions specify consumers as explicit targets– Communication cast into instruction encoding no HW dependence analysis

– Point-to-point results forwarding no associative issue queues

no global bypass network

– In-array storage expands register space no register renaming

– Only block outputs written back to register file fewer RF ports needed

• Dynamic instruction issue– ALU array forms large distributed window with independent issue control

– Instructions execute in original dataflow-order

Page 10: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

10The University of

Texas at Austin

Router

Instr

ALU

Op A Op B

Execution node

N S E W

TRIPS Processor Overview

Data

caches

Bank 0

Moves

Bank M

Bank 1

Bank 2

Bank 3

Lo

ad

sto

re q

ue

ue

s

Bank 0

Bank 1

Bank 2

Bank 3

0 1 2 3

Instru

ctio

n c

aches

Banked register file

Block termination Logic

TRIPS core

Page 11: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

11The University of

Texas at Austin

Block Compilation

i1) add r1, r2, r3

i2) add r7, r2, r1

i3) ld r4, (r1)

i4) add r5, r4, 1

i5) beqz r5, 0xdeac

Intermediate Code

Inputs (r2, r3)

Temporaries (r1, r4, r5)

Outputs (r7)

Data flow graph

move r2, i1,i2

move r3, i1

i1

i2 i3

i4

i5

r7

r3r2

Mapping onto TRIPS

move r2, (0,2), (1,1)

move r3, (0,2)

(0,0)

i1

i3i2

i4

i5

r7

r2 r3

First, place critical path to minimize communication delays

Then place less critical paths to maximize ILP

Page 12: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

12The University of

Texas at Austin

Block Execution

Block termination Logic

ICache bank 0

Icache moves

ICache bank 1

ICache bank 2

ICache bank 3

Lo

ad

sto

re q

ue

ue

sDCache bank 0

DCache bank 1

DCache bank 2

DCache bank 3

Bank0

Bank1

Bank2

Bank3

Block termination Logic

ICache bank 0

Icache moves

ICache bank 1

ICache bank 2

ICache bank 3

DCache bank 0Lo

ad

sto

re q

ue

ue

s

DCache bank 1

DCache bank 2

DCache bank 3

add load

beqz

add

add

Bank2

r2 r3

Instruction distribution

Input register fetch

Block execution

Output register writeback

r7

Page 13: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

13The University of

Texas at Austin

Instruction Buffers: Frames

• Instruction Buffers add depth and define frames

– 2D array of execution units; 3D scheduling of instructions

– Allows very large blocks to be mapped onto a TRIPS processor

– Result addresses explicitly specified in 3-dimensions (x,y,z)

– Instructions execute in dataflow order, regardless of frame

opcode src

val 1

src

val 2opcode src

val 1

src

val 2opcode src

val 1

src

val 2

Instruction Buffers form

a logical “z-dimension”

in each node

opcode src

val 1

src

val 2

4 logical frames

each with 16 instruction slots

add

add

add

load

beqz

Control

Router

ALU

Execution Node

beqz

addload

addadd

Page 14: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

14The University of

Texas at Austin

Using Frames for Speculation and ILP

16 total frames (4 sets of 4)

Predict C is next block

Speculatively execute C

Predict is D is after C

Speculatively execute D

Predict is E is after D

Speculatively execute E

start

end

A

B

C

D

E

Map A onto array

Start executing A

Result:

• Enormous effective instruction window for extracting ILP

• Increased utilization of execution units (accuracy counts!)

• Latency tolerance for interconnect delays and load instructions

16 total frames (4 sets of 4)

E (spec)

D (spec)

C (spec)

A

Page 15: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

15The University of

Texas at Austin

Results – TRIPS Instructions per Cycle

0

1

2

3

4

5

6

7

IPC

amm

part

bzip2com

prgzip

m88ksim

mcf

parsertw

olfvortexM

EAN

8x8 TRIPS

4x4 TRIPS

4 issue

Superscalar

Page 16: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

16The University of

Texas at Austin

Using frames for TLP

Result:

• Simultaneous Multithreading (SMT) for TRIPS processors

• Polymorphism: Use same resources in different ways

for different workloads (“T-morph”)

Each can be further

divided to enable some

degree of speculation

Shown: 2 threads, each

with 1 speculative block

Alternate configuration

might provide 4 threads

B(spec)

A

Thread 2 Divide frame space

among threadsThread 1

B(spec)

A

Page 17: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

17The University of

Texas at Austin

Current Status

• Architecture studies complete

• Enhancing compilation and scheduling tools– 3D instruction scheduler complete

– Currently improving hyperblock formation algorithms

• TRIPS chip prototype– 2 4x4 TRIPS cores

• 16-way issue cores

• 1K instruction window

• Up to 4 threads/core

– NUCA L2 cache

– Tiled architecture

– ASIC process, 130nm, ~350mm2

– 1000+ signal I/O, 500MHz

– 12 person design team

– Q1 2005 tape-out

X X X X

X X X X

X X X X

X X X X

R R R R

D

D

D

D I

I

I

I

I C

M

X X X X

X X X X

X X X X

X X X X

D

D

D

D I

I

I

I

R R R R I C

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

M

405 I/O

I/O I/O I/O I/O

I/O I/O

L2 cache tileExecution unit tile

Register file tile

Control tile

I-cache tile

D-cache tile

Page 18: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

18The University of

Texas at Austin

Observations and Challenges

• Compatibility – TRIPS has a different binary interface

– Variety of solutions in marketplace (IPF, Transmeta, etc.)

• Undersized blocks waste i-cache capacity and bandwidth

– Code compression techniques may prove promising

• Compiler obligations – hyperblock formation, predication

– But – scheduling burden diminishes relative to VLIW

• Exceptions – block precise, not instruction precise

– Previous machines have supported imprecise exceptions

Page 19: Programmable Processors TRIPS: Extending the Range oftrips/talks/microprocessor_forum03.pdf · Texas at Austin Application Range Decreasing in GP Processors Commercial Desktop Graphics

19The University of

Texas at Austin

Conclusions

• Multiprocessor performance starts with a powerful uniprocessor– Contemporary architectures have limited scalability

• Technology trends indicate that it is time for a new architecture– Pipeline limitations, global wire delay, inefficient binary interface

• TRIPS represents a promising technology direction

Wire delay constraints: at microarchitecture and architecture

Eliminates difficult centralized structures dominating today’s designs

Architectural partitioning encourages regularity and re-use

Enhanced information flow between compiler and hardware

Dataflow substrate also suitable for threaded and data-parallel

computing

Power efficiency: no power-hungry structures, dataflow sub-graph

execution