Informatique temps réel et réseaux de terrain – ELEC365 RapidIO® The Interconnect Architecture for High Performance Embedded Systems
Plan de la présentation Introduction Pourquoi RapidIO® ? Domaines d’application et philosophie RapidIO® Protocol Couches physiques Maintenance et gestion d’erreurs Performances Conclusions
Introduction (1) Conçu pour interconnecter les 3 C’s Chip-to-chip Card-to-card Chassis-to-chassis Focalisé sur les applications embedded Adopté par plus de 50 vendeurs Disponible en simulation, FPGA, processeurs, systèmes, software, équipements de test
Introduction (2)
Pourquoi RapidIO® ? (1) Technologie de bus saturée (exemple : PCI) Au niveau fréquence Au niveau longueur Problème si on veut augmenter le nombre de nœuds Surtout si fréquence et longueur augmentent RapidIO® Architecture en étoile Peu ou pas d’impact sur le software Implémenté avec peu de transistors Faible temps de latence et grande bande passante
Pourquoi RapidIO® ? (2)
Pourquoi RapidIO® ? (3) Équipements embedded hautes performances Control plane (contrôle du mouvement) Data plane (mouvement des données) RapidIO® utile pour le control plane
Pourquoi RapidIO® ? (4)
Domaines d’application (1)
Domaines d’application (2)
Domaines d’application (3)
Philosophie (1) Focalisé sur des applications connectant différents appareils au sein d’une boîte ou chassis Limiter l’impact sur le software Limiter l’overhead du protocol Limiter les fonctionnalités au minimum nécessaire Gestion des erreurs en hardware
Philosophie (2) Limiter le nombre de transistors, la surface de Silicium Faible consommation Architecture flexible en 3 couches
Philosophie (3)
RapidIO® Protocol (1) Interconnecté par un Fabric Device Cheminement Initiateur émet une demande de transaction avec un paquet Fabric Device acquitte grâce à un control symbol et transmet le paquet au récepteur Récepteur reçoit le paquet et acquitte à l’aide d’un control symbol Fabric Device transmet l’acquittement à l’initiateur Initiateur reçoit l’acquittement Fin de la transaction
RapidIO® Protocol (2)
RapidIO® Protocol (3) Deux formats de paquet Request packet Response packet Quelle transaction ? Symbole ? Acquitter qui ? Priorité Type, Dest, Src En cas de transfert mémoire
RapidIO® Protocol (4) Response packet Très similaire Sauf... Transaction réussie ?
RapidIO® Protocol (5) Plusieurs types de transactions (FType et Transaction) Mailbox et Doorbell (interruptions) Message : 0 4096 bytes Files d’attente : 1 4 Partage d’une mémoire globale Fabric n’interprète pas le message compatibilité ascendante Contrôle de flux (priorité, temps réel)
Couches physiques Protocole indépendant du médium physique Deux types de média physiques Parallèle Série
Maintenance et gestion d’erreurs Maintenance à distance de tous les nœuds (registres d’erreurs et de statuts) Découverte des nœuds et configuration à distance Gestion d’erreurs CRC et AckID Gestion à l’aide des control symbols Watchdog time-out en cas de pertes d’informations Interruption vers le software en cas de disfonctionnement grave
Performances (1) Paquets construit en // par le nœud Hardware simple et rapide pour construire Performances diminuée en cas de broadcasting ou multicasting Performances maximum en cas de source routing Faible overhead
Performances (2)
Performances (3)
Conclusions Réseau à commutation de paquet robuste Architecture peut être améliorée par la suite Très bonnes performances pour un même prix voire moins cher Bonne gestion d’erreurs Overhead et temps de latence comparables aux technologies actuelles mais beaucoup mieux qu’Ethernet
Références RapidIO® Technical White Paper 17/01/2003 Ride the Wave with the RapidIO® Interconnect 30/10/2004 European Symposium Technical Overview and Update 18/04/2001 Using the RapidIO® Message Unit on PowerQUICC III™ 23/08/2004 RapidIO® Web Site : http://www.rapidio.org/