Micro-réseaux intégrés sur puce Norme VCI/OCP

Transcription

Micro-réseaux intégrés sur puce Norme VCI/OCP
Micro-réseaux intégrés sur puce
Norme VCI/OCP
version 1.0
PHY 569A
Alain Greiner
Plan
– Le goulot d’étranglement des communications
– La norme VCI/OCP
– Le micro-réseau DSPIN
PHY 569A
Alain Greiner
2
Communication : espace mémoire partagé
T0
T1
T2
T3
T cibles
Interconnect
M0
PHY 569A
M1
M2
M2
M initiateurs
Alain Greiner
3
Communication : le bus partagé
T1
T0
T3
T2
Complexity : O( M + T)
Bandwidth : O(1)
=> non scalable
M0
PHY 569A
M1
M2
M2
Alain Greiner
4
Communication : le cross-bar
T1
T0
T2
T3
Complexity : O( M * T)
Bandwidth : O(max (M,T))
=> non scalable
Le crossbar des
réponses n’est
pas représenté.
M0
PHY 569A
M1
M2
M3
Alain Greiner
5
Communication : le réseau multi-étages
T1
T0
T3
T2
Complexity : O(log( M + T))
Bandwidth : O(max (M,T))
Router
Router
=> scalable
On cherche à émuler un cross-bar
Router
Router
complet pour un coût moindre
que celui du cross-bar
M0
PHY 569A
M1
M2
M2
Alain Greiner
6
Plan
– Le goulot d’étranglement des communications
– La norme VCI/OCP
– Le micro-réseau DSPIN
PHY 569A
Alain Greiner
7
VCI / Objectifs
– Séparer clairement - au niveau du matériel - la fonction de
calcul de la fonction de communication.
=> réutilisation des composants matériels
– Conserver le paradigme de communication « espace
d ’adressage partagé » : Un maître désigne sa cible par les
bits de poids fort de l ’adresse et une case mémoire
particulière par les bits de poids faible.
=> réutilisation des composants logiciels
– Fournir à chaque maître l’illusion qu’il dispose d’un canal
de communication point à point avec chaque cible.
=> simplification du protocole d ’accès
– Supporter des architectures de communication extensibles
du type réseaux multi-étages
=> supression du goulot d’étranglement du bus
PHY 569A
Alain Greiner
8
Virtual Component Interface
Targets
T1
T0
T3
T2
VCI
Request
Interconnect
Response
VCI
Initiators
PHY 569A
I0
I1
I2
Alain Greiner
9
VCI wrappers
T0
T1
T2
T3
TW1
TW2
TW3
VCI
Target wrappers
TW0
Physical Interconnect
Initiator wrappers
IW0
IW1
IW2
I1
I2
VCI
I0
PHY 569A
Alain Greiner
10
WRAPPERS VCI / PIBUS
T2
T3
T-wrapper
T-wrapper
T1
T0
VCI
T-wrapper
T-wrapper
PIBUS
BCU
I-wrapper
I-wrapper
I-wrapper
VCI
I0
PHY 569A
I1
I2
Alain Greiner
11
WRAPPERS VCI / AMBA
T1
T0
T3
T2
VCI
T-wrapper
DTR
I-wrapper
T-wrapper
T-wrapper
AD
I-wrapper
T-wrapper
DTW
BCU
I-wrapper
VCI
I0
PHY 569A
I1
I2
Alain Greiner
12
VCI / Principes
– Un initiateur émet des requêtes de lecture ou d’écriture.
– Une requête peut contenir une seule adresse (transaction
simple) ou plusieurs adresses (transaction rafale).
– Un paquet requête VCI contient autant de mots qu’il y a d’adresses
dans la rafale.
– Une cible est identifié par les poids forts de l ’adresse : c’est
l’adresse qui permet d’aiguiller la requête vers la cible.
– Un initiateur est identifié par un index : c’est cet index qui permet
d’aiguiller la réponse vers l’initiateur.
– La longueur du paquet réponse est égale à celle du paquet requête.
– Une transaction est une paire paquet requête / paquet réponse.
– Tous les paquets sont transportés de façon atomique.
– Un même maître peut émettre une requête (n+1) sans attendre
la réponse à la requête (n) … mais les réponses ne reviennent `
pas nécessairement dans l ’ordre où les requêtes ont été émises.
PHY 569A
Alain Greiner
13
VCI / requêtes et réponses
Paquet Requête
A A A A
D D D D
R R R R
Initiateur
3 2 1 0
Cible
VCI
VCI
(maître)
(esclave)
A A A A
C C C C
K K K K
0 1 2 3
Paquet réponse
PHY 569A
Alain Greiner
14
Contrôle de flux / accès au réseau
CK
1
ROK
R
Producteur
W
1
WOK
consommateur
n
DOUT
DIN
Protocole « FIFO » :
• communication asynchrone entre un producteur et un consommateur
• une donnée est transmise à chaque cycle où les deux signaux
W/ROK et R/WOK sont tous les deux actifs.
PHY 569A
Alain Greiner
15
Contrôle de flux / accès au réseau
1
W=1
W
WOK
WOK
ROK
1
R=1
R
ROK
WOK
n
Dout
Producteur
ROK
DIn
consommateur
Le protocole « FIFO » peut être facilement implanté par des automates
de MOORE, ce qui est essentiel pour des composants de communication !!!
PHY 569A
Alain Greiner
16
VCI / requêtes et réponses
Paquet
Paquet
Requête
Requête
Initiateur
Wrapper
VCI
initiateur
PHY 569A
Réseau
Wrapper
cible
Cible
VCI
Paquet
Paquet
Réponse
Réponse
Alain Greiner
17
VCI / Physical
Interface
1
1
1
Request
Master
CMDACK
EOP
32
ADDRESS
m
CMD
32
WDATA
n
SRCID
PKTID
p
VCI
CMDVAL
Target
RERROR
s
RDATA
32
RSRCID
RPKTID
n
p
REOP
1
RSPACK
RSPVAL
PHY 569A
VCI
Response
1
1
Alain Greiner
18
Les signaux VCI
– Il y a quatre types de commandes
• READ
: lecture
• WRITE
: écriture
• LINKED READ : lecture avec prise d ’exclusivité
• NOP
: no opération (?)
– Pour toutes les requêtes d ’une même rafale, les champs
commande, ainsi que les bits de poids fort de l ’adresse
doivent rester constants.
– Les signaux SRCID et RSRCID permettent le découplage
complet des paquets requêtes et des paquets réponse
– Les signaux PKTID et RPKTID permettent l’émission de
multiples requêtes par un même maître.
PHY 569A
Alain Greiner
19
Plan
– Le goulot d’étranglement des communications
– La norme VCI/OCP
– Le micro-réseau DSPIN
PHY 569A
Alain Greiner
20
DSPIN : Mesh Topology
sub-system
sub-system
(0,2)
(1,2)
sub-system
(2,2)
sub-system
(0,1)
sub-system
(1,1)
sub-system
(2,1)
sub-system
(0,0)
sub-system
(1,0)
PHY 569A
sub-system
(2,0)
Alain Greiner
21
GALS Distributed Architecture
CK12
CK02
Sub
Sub
Sub
System
System
System
R
R
R
CK11
CK21
Sub
Sub
Sub
System
System
System
CK01
R
R
R
CK10
CK00
CK20
Sub
Sub
Sub
System
System
System
R
PHY 569A
CK22
R
R
Alain Greiner
22
Deterministic Routing

DSPIN uses the X-first routing algorithm, that gives the
micro-network the « in-order delivery » property.
0,3
1,3
2,3
3,3
if X > Xloc -> EAST
If X < Xloc -> WEST
0,2
1,2
2,2
3,2
If X = Xloc
if Y > Yloc ->
NORTH
0,1
1,1
2,1
3,1
if Y < Yloc ->
SOUTH
0,0
PHY 569A
1,0
2,0
3,0
if Y = Yloc ->
LOCAL
Alain Greiner
23
Distributed Router
CK
Local
Local
Local
Local
PHY 569A
Alain Greiner
24
Long wires …
There is two types of wires :
• inter-cluster wires (red wires)
• internal wires (blue wires)
Inter-cluster wires are short wires,
connecting neighbour clusters.
Internal wires are long wires,
… but the length is bounded
by the cluster size…
PHY 569A
Alain Greiner
25
GALS : Clock Boundaries
CK ’
CK
cluster i
cluster i+1
The DSPIN architecture uses bi-synchronous FIFOs
to solve the problem of clock boundaries
PHY 569A
Alain Greiner
26
Separated Requests & Responses
Request
Response
Router
Router
REQ
REQ
RSP
VCI / OCP
VCI / OCP
INITIATOR WRAPPER
TARGET WRAPPER
REQ
RSP
INITIATOR
PHY 569A
RSP
RSP
REQ
VCI/OCP
TARGET
Alain Greiner
27
Interleaved Request & Response networks
R
R
R
R
R
R
R
R
R
R
R
R
R
PHY 569A
R
R
In order to prevent
dead-locks, DSPIN
uses two fully
independant
networks for requests
and responses
R
R
R
Alain Greiner
28
Two level hierarchical routing
DSPIN network
VCI
I0.0
VCI / VCI
VCI / VCI
Local Crossbar
Local Crossbar
I0.1
T0.0
Sub-system 0
PHY 569A
T0.1
In.0
In.1
Tn.0
Tn.1
Sub-system n
Alain Greiner
29
SystemC & VHDL Modeling

SystemC Cycle-Accurate and Bit-Accurate
simulation models have been written for the 3
DSPIN components :
– DSPIN router
– DSPIN/VCI initiator wrapper
– DSPIN/VCI target wrapper

VHDL synthesizable models have been designed
and synthesized, using SYNOPSYS and the
Alliance standard cells library. The footprint of the
DSPIN router is two times smaller than the
footprint of the SPIN router.
PHY 569A
Alain Greiner
30
Simulation platform
R
R
R
R
R
R
R
R
R
R
R
R
R
• Each processor sends
randomly distributed
R
R
R
R
R
• Each node contains
1 processor and 1 RAM
R
R
R
• 16 nodes architecture
R
R
R
R
R
R
R
R
PHY 569A
R
R
read request to all RAMS
• Each request is 8 words
(a cache line)
R
Alain Greiner
31
Cluster architecture
Request
Response
Router
Router
Each cluster contains 6
components
• one request DSPIN router
VCI / OCP
VCI / OCP
• one response DSPIN router
INITIATOR
TARGET
WRAPPER
• one VCI/OCP initiator wrapper
WRAPPER
• one VCI/OCP target wrapper
• one VCI RAM
• one VCI initiator (synthetic
INITIATOR
PHY 569A
RAM
traffic generator & analyser)
Alain Greiner
32
Minimal latency & Saturation threshold
PHY 569A
Alain Greiner
33