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