communication and i/o architectures for highly integrated mpsoc platforms martino ruggiero luca...

20
COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi University of Ferrara In cooperation with STMicroelectronics

Post on 21-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

COMMUNICATION AND I/O ARCHITECTURES

FORHIGHLY INTEGRATED

MPSoC PLATFORMS

Martino Ruggiero

Luca Benini

University of Bologna

Simone Medardoni

Davide Bertozzi

University of Ferrara

In cooperation with STMicroelectronics

Page 2: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

OUTLINE

Overview of industrial state-of-the-art set-top-box platforms Segmented communication architecture Off-chip SDRAM memory controller Crossbenchmarking of communication architectures Single-layer architecture Many-to-many traffic pattern Many-to-one traffic pattern Multi-layer architecture Centralized high latency slave bottleneck Faster on-chip shared memory Conclusions Hints for future work

Page 3: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

State-of-the-art set-top-box industrial platforms

• Segmented communication architecture Bridge performance is critical for the system

Protocol conversion/adapterFrequency, size conversionNon-blocking behaviour for the injecting busAbility to handle multiple outstanding transactions

LMI

LX

IPTG

IP 1

IP 3

IP 5

IP 2

IP 3

IPTG

IPTG

IPTGIPTG

IPTG IPTGIPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

Page 4: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

State-of-the-art set-top-boxindustrial platforms

• Many platforms tend to have a global performance bottleneck: memory controller for the off-chip SDRAM

DRAM integration is costly Large processing data footprint requires large memories

LMI

LX

IPTG

IP 1

IP 3

IP 5

IP 2

IP 3

IPTG

IPTG

IPTGIPTG

IPTG IPTGIPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

Which relation between communication and memory architecture?

Page 5: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Virtual platform

INTERCONNECTION

ST231 Others INTERRUPTCONTROLLER

Off-chip SDRAMMemory Controller

DMA engine

SHARED MEM SEMAPHORES

ARM7 ST220

PRI MEM NPRI MEM 1

STBus - AMBA AHB – MultiLayer AHB – AMBA AXI – Xpipes

SystemC based environment for functional simulation

………

Modelling accuracy emphasizedCycle-accurate and bus signal-accurateProcessor cores modeled at the level of their IS

Simulation speed: 60-150 kcycles/s (6 cores on P4 2.2 GHz)

Page 6: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

MPSIM extensions

LMI

LXIPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTGIPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IP 1

IP 3

IP 5

IP 2

IP 3 LMISystemC modelling

and validation(memory controller,

SDRAM, DDR SDRAM)

Traffic generatorsEither native bus IF or wrappers

with back-annotated latencies

Buffer,size/freq converter for AHB-AHB and AXI-AXI, STBus-STBusProtocol converters: AHB-AXI, AHB-STBus, AXI-STBus

Modelling of bridge latencies

Page 7: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Crossbenchmarking

Targ

et

Initia

tor

Requestchannel

Responsechannel

Targ

et

Initia

tor

Requestchannel

Responsechannel

CPU

EU IO

EU MemMem

CPU

AMBA High-speedbusCPU

EU IO

EU MemMem

CPU

AMBA High-speedbus

STBus

AXI

AHB

Maste

r

Sla

ve

AddressChannel

Writechannel

Readchannel

Writeresponsech.

Address Channel

Maste

r

Sla

ve

AddressChannel

Writechannel

Readchannel

Writeresponsech.

Address Channel

Communication Architecture

PrivateMem1

....

IPTG1 IPTG2 IPTG3 IPTGN....

PrivateMem2

PrivateMem3

PrivateMemN

LX core

LX core

LX core

LX core

Page 8: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Overall time Matdep

0,00%

50,00%

100,00%

150,00%

200,00%

250,00%

300,00%

1 2 4 8

AHB

ST

AXI

Bus performance

No of processors

AHB and STBus

AXI performsslightly

worst thanAHB

AHB and STBus

AXI showsbetter performance

STBus showsbetter performance

OVERALL EXECUTION TIME

show similarperformance

Page 9: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Transaction latency

Single Read Matdep

0

10

20

30

40

50

60

70

80

90

100

1 2 4 8

(ns)

AHB

ST

AXI

Bus busy Matdep

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

1 2 4 8

AHB

ST

AXI

150% 80%

AXI incurs higher transaction latency Poor performance with low bus traffic

AXI scales better with increasing levels of bus congestion more complex arbiter and 5 independent channels

80% bus busy can be considered the performance crossing point of AXI

Page 10: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Single slave bottleneck

Communication Architecture

TG1 TG2 TG3 TGN....

Single slave

?

Page 11: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Execution time with single slave(on-chip shared memory)1 wait state memory

AXI performs worst thanAHB and STBus (LRU)

Overall exec time

0

500000

1000000

1500000

2000000

2500000

3000000

3500000

1 2 3 4 5

Number of IPTG

Ove

rall

exec

tim

e (c

lock

cyc

les)

AHB

AXI

ST LRU FIFO 16 64

ST LRU FIFO 2 2

ST LRU FIFO 2 1

ST LRU FIFO 1 2

ST LRU FIFO 1 1

ST MSG_BSD FIFO 16 64

ST MSG_BSD FIFO 1 1

Message-basedarbitrationdegrades

performance

PerformanceSensitive to

Direct DataPath FIFO depth

The maximum I can expect is the same performance for each busA centralized slave bottleneck is the best operating condition for AHB

AHB AXI

STBus platforms

Page 12: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Platform level centralized slave bottleneck

LMI

LX

IPTG

IP 1

IP 3

IP 5

IP 2

IP 3

IPTG

IPTG

IPTG

IPTG IPTGIPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

?

Full STBus, AHB and AXI platformsHowever, comparison not fair:• AXI masters do not support multiple outstanding transactions• Protocol converter AXI-STBus is blocking on read transactions

Prevents memory controller optimizations

Page 13: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Collapsed AXI platforms

LMI

LX

IPTG

IP 1

IP 5

IP 2

IP 4

IPTG

IPTG

IPTGIPTG

IPTGIPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IP 3

Page 14: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Overall execution timeOverall exec time

0

0,5

1

1,5

2

2,5

3

1

No

rmali

zed

execu

tio

n t

ime

ST

AHB

AXI1

AXI2

AXI3

AXI_ramo3_su_nodoLMI

AXI_tutti_su_nodoLMI

ST_collassato

STBus leverages proprietary bridges AHB suffers from non-split architecture and single outstanding

trans. AXI poor performance with centralized slave bottleneck AXI reduced platforms slightly improve performance

Now bridge performance not critical any more Best scenario (heavy load) for AXI However, LMI AXI-STBus conversion is still critical (blocking on

reads)

Page 15: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Removing AXI limitations

LMIProtocolconverter

AMBAPlatforms

(AHB,Mixed AHB-AXI,

AXI)

Let us replace ProtConv+LMI with a fast on-chip shared memory

Flow bottleneck

Optimizations

AllPlatforms

(AHB,Mixed AHB-AXI,

AXI,STBus)

SharedMemory

Native bus IF

FIFO

Page 16: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Platform performanceOverall exec time

0

0,2

0,4

0,6

0,8

1

1,2

1,4

1,6

1

No

rmal

ized

exe

c ti

me ST_shared

AHB

AXI2

AXI_ramo3_su_nodoLMI

ST_Shared_fifo_lmi

ST_coll_sha

ST_coll_sha_fifo

Collapsed AXI has nobridge/converter

overheadand takes profit by the

fastermemory

Fifo1:1

Fifo16:16

MOTsProt. ineff. Fifo 1:1

Message-based arbitration in the

STBus central node.Same improvement

by adding slave FIFOs

Best platforms

Page 17: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Conclusions

Many-to-many traffic pattern (single layer architecture): AXI/STBus competition depends on % of bus utilization AXI trades-off transaction latency with better scalability with heavy loads AXI can allocate internal data lanes on a finer granularity than STBus STBus under heavy loads can leverage crossbar instantiations

Many-to-one traffic pattern (single layer architecture)The maximum transfer efficiency is imposed by the slave

- 1 ws SHA MEM – Max. efficiency 50%; - Mem. Controller with optimizations – need to keep IN FIFO full

Bus ability is to sustain that max efficiency-AHB: pipelining control and data (OK for SHA,Not OK for LMI)STBus: buffering =2 for SHA, >2 for LMI

Communication Architecture

LX LX LX LX....

Single slave

Communication Architecture

PrivateMem1

....

IPTG1 IPTG2 IPTG3 IPTGN....

PrivateMem2

PrivateMem3

PrivateMemN

Page 18: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Conclusions

Centralized high latency slave bottleneck (multi-layer architecture): All you can require from a bus: distributed buffering & multiple outstanding transactions & split

bus larger initiator-perceived bandwidth hides bus topology (and multi-layer latency)

A faster on-chip memory the buffer chain from initiator-to-target does not fill up

performance affected by multi-layer latency

LMI

LX

IPTG

IP 1

IP 5

IP 2

IP 4

IPTG

IPTG

IPTGIPTG

IPTGIPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IPTG

IP 3

Other bus features are less critical, therefore bus differentiation is very difficult with this platform

template

Page 19: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Hints for future work

Bridges relief the lack of bus scalability..- ..but introduce large complexity- Why not using bridge-free multi-hop

solutions (Networks-on-Chip) ? Optimize the I/O system so to take profit

by the specific bus features- higher bandwidth memory controller- Multiple I/O ports- On-chip shadowing shared memory(ies)

Page 20: COMMUNICATION AND I/O ARCHITECTURES FOR HIGHLY INTEGRATED MPSoC PLATFORMS Martino Ruggiero Luca Benini University of Bologna Simone Medardoni Davide Bertozzi

Should enable interfacingwith many bus protocols

•SDR SDRAM•DDR SDRAM•DDR2 SDRAM

INTERCONNECT

Bus Slave IF

SDRAM

Memory Controller Memory controlleroptimizations

BUS dependent

BUS independent

Memory controller modelling

Which interface architecture to the bus?- Multi-port controller with arbitration on input ports- DMA-capable controllerWhich memory controller optimizations?- transaction merging- variable-depth lookahead