Advanced Bus
Advanced Bus
Protocol
Lacks parallelism
In order completion
Address of next transaction just anticipated on the bus
No multiple outstanding transactions: cannot hide slave wait
states effectively
Topology
Bus evolution
Protocol
Topology evolution
Shared bus with unidirectional
Request and response lanes
Topology evolution
Partial Crossbar
with unidirectional
request and
response lanes
0
M0 M1
S0
Shared bus
S1
P2 P3 T1 M2 M3
Shared bus
S2
P4 P5 T2 M4 M5
xbar
Shared bus
P6 P7 T3
M7
S3
Shared bus
S4
P8 P9 T4 M8 M9
Shared bus
M6
LX
IP 1
IPTG
System interconnect
IPTG
IPTG
IPTG
IP 2
IPTG
IPTG
IPTG
IPTG
IP 3
IPTG
IPTG
IPTG
IPTG
IP 3
IPTG
IPTG
IP 5
IPTG
IPTG
off-chip
memory
controller
LX
IP 1
IPTG
System interconnect
IPTG
IPTG
IPTG
IP 2
IPTG
IPTG
IPTG
IPTG
IP 3
IPTG
IPTG
IPTG
IPTG
IP 3
IPTG
IPTG
IP 5
IPTG
IPTG
off-chip
memory
controller
Topology evolution
4-ary 2mesh
Switches
16
Bis. Band.
Tiles x
Switch
Switch Arity
Max. Hops
Tile
Switch
4-ary 2-mesh
Topology evolution
4-ary 2mesh
2-ary 4mesh
Switches
16
16
Bis. Band.
Tiles x
Switch
Switch Arity
Max. Hops
Tile
Tile
Switch
Switch
4-ary 2-mesh
2-ary 4-mesh
Topology evolution
4-ary 2mesh
2-ary 4mesh
2-ary 2mesh
Switches
16
16
Bis. Band.
Tiles x
Switch
Switch Arity
10
Max. Hops
Tile
Tile
Switch
Switch
4-ary 2-mesh
2-ary 2-mesh
Low latency
Split transactions
A split
split--transaction bus is a bus where the request and response phases
are split and independent to improve bus utilization
-Master must arbitrate for the request phase
-Slave must arbitrate for the response phase
Master
Request
Bus
Bus released
Busy
Slave
Response
Bus
Bus released
busy
Slave
Queue of pending
requests
Requests
Queue of pending
responses
Responses
The master needs to associate each response to one of its pending requests
The initiator should support multiple outstanding transactions too
Out--of
Out
of--order completion
Master
To S2
S2 -fast
S1-slow
Queue of
pending
requests
time
To S1
Queue of
pending
requests
Requests
From S2
From S1
Out--of
Out
of--order completion
Master
S1
anticipated
S12
S11
S11
S12
time
Queue of
pending
requests
Requests
Resp of S12
Resp of S11
Bus--centric architecture
Bus
Master
interface
Slave
interface
Bus
architecture
Transaction--centric architecture
Transaction
Slave interface
Master interface
Point-to-point
Communication
Protocol
Slave interface
Hidden components
Master interface
Bus
architecture
Master1
AHB
AHB
Interconnect
Matrix
Slave1
Slave1
Master2
Slave1
Hierarchical systems
Multiple slaves
Putting it alltogether
Interconnect matrix and Slave4
are used for across-layer
communication
HW
semaphores
AXI
Master
Slave
Master
Initiator
Communication
architecture
AXI
Target
Transaction--centric bus
Transaction
AXI can be used to interconnect:
-an initiator to the bus
The interface definition
-a target to the bus
allows a variety of different
-an initiator with a target
interconnect
implementations
Slave
Master
Initiator
AXI
Target
Interconnect approaches
Slave
Slave
crossbar
Master
Slave
AXI
Master
Slave
Master
shared
Master
AXI
bus
Channel--based Architecture
Channel
Read Address
Read Data
Write Address
Write Data
Write Response
R. ADDRESS
W. ADDRESS
READ DATA
WRITE DATA
RESPONSE
Read transaction
Write transaction
WVALID
RVALID
BVALID
AWDDR
WLAST
RLAST
BRESP
AWLEN
WDATA
RDATA
BID
AWSIZE
WSTRB
RRESP
BREADY
AWBURST
WID
RID
AWLOCK
WREADY
RREADY
AWCACHE
AWPROT
AWID
AWREADY
DATA
A11
A12
A22
A23
D31
D11
D21
D22
D23
AHB Burst
D31
DATA
A11
A21
D11
D31
D21
AXI Burst
D22
D23
D31
A11
A21
DATA
D11
D31
D21
D22
D23
AXI Burst
D31
ADDRESS
DATA
A11
A21 A31
D11
D12
Out--of
Out
of--Order Completion
ADDRESS
DATA
A21
D31
D31
A11
Ordering restrictions
Simple rules
A simple master can issue transactions with the same ID
(implicitely forcing in-order delivery)
A simple slave can serve requests in the order they arrive,
regardless of the ID tag
DATA
A11
A21
D31
D21 D22
D14
Burst read
Valid high until ready high
Burst write
Support for
Priviledged transactions vs. Normal ones
Secure vs. non-secure transactions
Init1
Comparison
2 wait states memories
AHB
STBUS low buf
AXI
Init2
Init3
Mem1
Bus
Mem2
Mem3
It is impossible to
hide slave response
latency
While the previous
response phase is in
progress, a new request
can be processed by the
next addressed slave
More data pre-accessed
while previous response
phase is in progress
Interleaving support in
interfaces and
interconnect allow
better interconnect
exploitation
Scalability
Highly parallel benchmark (no slave bottlenecks)
1 memory wait state
110%
180%
100%
170%
160%
150%
80%
70%
2 Cores
60%
4 Cores
50%
6 Cores
8 Cores
40%
30%
20%
10%
90%
140%
130%
120%
110%
100%
90%
2 Cores
80%
70%
60%
6 Cores
4 Cores
8 Cores
50%
40%
30%
20%
10%
0%
0%
AHB
AXI
STBus
STBus (B)
AHB
AXI
STBus
STBus (B)
Scalability
100%
100%
Interconnect busy
80%
70%
60%
50%
2 Cores
40%
4 Cores
6 Cores
8 Cores
30%
20%
0%
70%
60%
2 Cores
50%
4 Cores
6 Cores
40%
8 Cores
30%
20%
0%
AHB
80%
10%
10%
90%
90%
AXI
STBus
STBus (B)
AHB
AXI
STBus
STBus (B)
Networks--on
Networks
on--Chip (NoCs)
Same paradigm of Wide Area Networks and
of large scale multi-processors
IP core
master
NI
Packet
NI
IP core
master
NI
IP core
master
switch
TAIL
FLIT
PAYLOAD
L
FLIT
HEADER
FLIT
switch
FLIT
switch
IP core
slave
Clean separation
at session layer
Core issues end-to-end
transactions
(through AXI, OCP,..),
Network deals with
lower level issues
NoC
NI
IP core
slave
switch
NI
NI
IP core
slave
Path segmentation
Regular routing