# RapidIO

L'arquitectura RapidIO és una tecnologia de connexió elèctrica de commutació de paquets d'alt rendiment. Admet missatgeria, lectura/escriptura i semàntica de coherència de memòria cau. Basant-se en especificacions elèctriques estàndard del sector, com ara les d'Ethernet, RapidIO es pot utilitzar com a interconnexió xip a xip, placa a placa i xassís a xassís.

## Història

El protocol RapidIO va ser dissenyat originalment per Mercury Computer Systems i Motorola (Freescale) com a reemplaçament del bus propietari RACEway de Mercury i el bus PowerPC de Freescale. La RapidIO Trade Association es va formar el febrer de 2000 i incloïa OEM de telecomunicacions i emmagatzematge, així com empreses de FPGA, processadors i commutadors.

## Versions

La revisió de l'especificació RapidIO 1.1 (3xN Gen1), publicada el març de 2001, definia un bus paral·lel ampli. Aquesta especificació no va aconseguir una adopció comercial àmplia.
La revisió de l'especificació RapidIO 1.2, publicada el juny de 2002, va definir una interconnexió sèrie basada en la capa física XAUI. Els dispositius basats en aquesta especificació van aconseguir un èxit comercial significatiu en banda base sense fils, imatges i informàtica militar.
La revisió de l'especificació RapidIO 1.3 es va publicar el juny de 2005.
La revisió de l'especificació RapidIO 2.0 (6xN Gen2), es va publicar el març de 2008, va afegir més amplades de port (2×, 8× i 16×) i va augmentar la velocitat màxima del carril a 6,25 GBd /5 Gbit/s. La revisió 2.1 ha repetit i ampliat l'èxit comercial de l'especificació 1.2.
La revisió de l'especificació RapidIO 3.0 (10xN Gen3), es va publicar l'octubre de 2013, té els canvis i millores següents en comparació amb les especificacions 2.x:
* Basat en les especificacions elèctriques Ethernet 10GBASE-KR estàndard de la indústria per a curt (20 cm + connector) i llarg (1 connector m + 2) assolir aplicacions
* Aprofita directament l'esquema d'entrenament Ethernet 10GBASE-KR DME per a l'optimització de la qualitat del senyal de llarg abast
* Defineix un esquema de codificació 64b/67b (similar a l'estàndard d'Interlaken) per admetre les interconnexions òptiques i de coure i millorar l'eficiència de l'ample de banda
* Enllaços asimètrics dinàmics per estalviar energia (per exemple, 4× en una direcció, 1× en l'altra)
* Addició d'una capacitat de sincronització horària similar a IEEE 1588, però molt menys costosa d'implementar
* Suport per a identificadors de dispositius de 32 bits, augmentant la mida màxima del sistema i permetent un suport innovador de virtualització de maquinari
* El model de programació de taula d'encaminament revisat simplifica el programari de gestió de xarxa
* Optimització del protocol d'intercanvi de paquets
La revisió de l'especificació RapidIO 3.1, es va publicar l'octubre de 2014, es va desenvolupar mitjançant una col·laboració entre la RapidIO Trade Association i NGSIS. La revisió 3.1 té les millores següents en comparació amb l'especificació 3.0:
* Protocol de sincronització de temps MECS per a sistemes encastats més petits. MECS Time Synchronization admet fonts de temps redundants. Aquest protocol té un cost més baix que el Protocol de sincronització de marca de temps introduït a la revisió 3.0
* Instal·lacions de prova PRBS i interfície de registre estàndard.
* Definició de comportament d'enllaç estructuralment asimètric i interfície de registre estàndard. Els enllaços estructuralment asimètrics porten moltes més dades en una direcció que en l'altra, per a aplicacions com sensors o canonades de processament. A diferència dels enllaços asimètrics dinàmics, els enllaços estructuralment asimètrics permeten als implementadors eliminar carrils als taulers i al silici, estalviant mida, pes i potència. Els enllaços estructuralment asimètrics també permeten l'ús de carrils alternatius en el cas d'una fallada de maquinari en un port multicarril.
* Registre d'errors estès per capturar una sèrie d'errors amb finalitats de diagnòstic
* Perfils de dispositiu espacial per a punts finals i commutadors, que defineixen què significa ser un dispositiu RapidIO compatible amb l'espai.
La revisió de l'especificació RapidIO 4.0 (25xN Gen4) es va publicar el juny de 2016. té els canvis i millores següents en comparació amb les especificacions 3.x:
* Admet la velocitat de carril de 25 Gbaud i l'especificació de la capa física, amb canvis de model de programació associats
* Permet que IDLE3 s'utilitzi amb qualsevol classe de velocitat en baudis, amb una negociació de seqüència IDLE especificada
* S'ha augmentat la mida màxima del paquet a 284 bytes en previsió de l'especificació de la coherència de la memòria cau
* Admet 16 prioritats de la capa física
* Admet "Transmissió sense errors" per a la transferència d'informació isòcrona d'alt rendiment

## Visió general del protocol

El protocol RapidIO es defineix en una especificació de 3 capes:
* Física: especificacions elèctriques, PCS/PMA, protocol a nivell d'enllaç per a un intercanvi fiable de paquets
* Transport: model d'encaminament, multidifusió i programació
* Lògica: E/S lògica, missatgeria, memòria compartida global (CC-NUMA), control de flux, transmissió de dades
** Inicialització del sistema
** Gestió d'errors/intercanvi en calent

### Capa física

Les especificacions elèctriques de RapidIO es basen en estàndards d'Ethernet i Fòrum d'Interconnexió Òptica estàndard del sector:
* XAUI per a velocitats de carril d'1,25, 2,5 i 3,125 GBd (1, 2 i 2,5 Gbit/s)
* OIF CEI 6+ Gbit/s per a velocitats de carril de 5,0 i 6,25 GBd (4 i 5 Gbit/s)
* 10GBASE-KR 802.3-ap (abast llarg) i 802.3-ba (abast curt) per a velocitats de carril de 10.3125 GBd (9.85 Gbit/s)
La capa RapidIO PCS/PMA admet dues formes de codificació/framing:
* 8b/10b per a velocitats de carril de fins a 6,25 GBd
* 64b/67b, similar a la utilitzada per Interlaken per a velocitats de carril superiors a 6,25 GBd
Cada element de processament RapidIO transmet i rep tres tipus d'informació: paquets, símbols de control i una seqüència inactiva.

### Capa de transport

Cada punt final de RapidIO s'identifica de manera única mitjançant un identificador de dispositiu (deviceID). Cada paquet RapidIO conté dos identificadors de dispositiu. El primer és l'ID de destinació (destID), que indica on s'ha d'encaminar el paquet. El segon és l'ID d'origen (srcID), que indica on es va originar el paquet. Quan un punt final rep un paquet de sol·licitud RapidIO que requereix una resposta, el paquet de resposta es compon intercanviant l'srcID i el destID de la sol·licitud.

### Capa lògica

La capa lògica RapidIO es compon de diverses especificacions, cadascuna proporciona formats de paquets i protocols per a diferents semàntiques de transaccions.

## Aplicacions

La interconnexió RapidIO s'utilitza àmpliament en les aplicacions següents :
* Estacions base sense fil
* Ordinadors monoplaques aeroespacials i militars, així com sistemes de radar, acústics i de processament d'imatges
* Vídeo
* Emmagatzematge
* Supercomputació
* Imatge mèdica
* Aplicacions de control industrial i ruta de dades
RapidIO s'està expandint a aplicacions de supercomputació, servidor i emmagatzematge.

## Referències

* ↑ Fuller, Sam. «Preface». A: RapidIO: The Embedded System Interconnect (en anglès). John Wiley & Sons Ltd, 27 desembre 2004. ISBN 0-470-09291-2.
* ↑ «RapidIO Standard Revision 1.2» (en anglès). www.rapidio.org. RapidIO Trade Association, 26-06-2002. Arxivat de l'original el 24 de desembre 2016. [Consulta: 9 octubre 2014].
* ↑ «Integrated Device Technology 2011 Annual Report» (en anglès). www.idt.com. Integrated Device Technology Inc, 06-06-2011. Arxivat de l'original el 3 de març 2016. [Consulta: 9 octubre 2014].
* ↑ Jag Bolaria. «RapidIO Reaches for the Clouds» (en anglès). www.linleygroup.com. The Linley Group, 15-10-2013. [Consulta: 9 octubre 2014].
* ↑ «RapidIO Standard Revision 2.0» (en anglès). www.rapidio.org. RapidIO Trade Association, 23-02-2005. Arxivat de l'original el 2 de desembre 2016. [Consulta: 9 octubre 2014].
* ↑ «Integrated Device Technology 2014 Annual Report» (en anglès). www.idt.com p. 5, 35. Integrated Device Technology Inc, 28-05-2014. Arxivat de l'original el 3 de març 2016. [Consulta: 9 octubre 2014].
* ↑ «RapidIO Standard Revision 3.0» (en anglès). www.rapidio.org. RapidIO Trade Association, 10-11-2013. Arxivat de l'original el 24 de desembre 2016. [Consulta: 9 octubre 2014].
* ↑ «RapidIO Standard Revision 3.1» (en anglès). www.rapidio.org. RapidIO Trade Association, 13-10-2014. Arxivat de l'original el 23 d’octubre 2014. [Consulta: 18 octubre 2014].
* ↑ «RapidIO Standard Revision 4.0» (en anglès). www.rapidio.org. RapidIO Trade Association, 01-06-2016. Arxivat de l'original el 24 de desembre 2016. [Consulta: 15 agost 2016].