stringtranslate.com

OIO

GIO es un estándar de bus de ordenador desarrollado por SGI y utilizado en una variedad de sus productos en la década de 1990 como su principal sistema de expansión. GIO era similar en concepto a estándares de la competencia como NuBus o (posteriormente) PCI , pero tuvo poco uso fuera de SGI y, como resultado, limitó severamente los dispositivos disponibles en su plataforma. La mayoría de los dispositivos que usaban GIO eran las propias tarjetas gráficas de SGI, aunque había varias tarjetas que admitían acceso a datos de alta velocidad, como Fibre Channel y FDDI, disponibles a través de terceros. Las máquinas SGI posteriores utilizan el bus XIO , que está diseñado como una red de ordenadores en lugar de un bus.

Descripción

Como la mayoría de los buses de la época, GIO era un bus multiplexado de direcciones y datos de 32 bits que normalmente funcionaba a 25 o 33 MHz. Esto significaba que el bus utilizaba la misma ruta para direccionamiento y datos, por lo que normalmente requería tres ciclos para transferir un único valor de 32 bits: un ciclo para enviar la dirección, el siguiente para enviar los datos y luego otro para leerlos o escribirlos. Esto limitaba el bus a un rendimiento máximo de unos 16 Mbyte /s a 33 MHz para este tipo de transferencias pequeñas. Sin embargo, el sistema también incluía un modo de lectura/escritura de ráfaga larga que permitía transferencias continuas de hasta 4 kilobytes de datos (el tamaño de página fundamental en las máquinas SGI basadas en R3000); el uso de este modo aumentaba drásticamente el rendimiento a 132 Mbyte/s (32 bits por ciclo * 33 MHz). GIO también incluía una interrupción de "tiempo real" que permitía a los dispositivos interrumpir estas transferencias largas si era necesario. El arbitraje de bus estaba controlado por el controlador de interfaz de procesador ( PIC ) en los sistemas SGI Indigo originales basados ​​en R3000 .

Físicamente, GIO utilizó un conector de 96 pines y tarjetas bastante pequeñas de 6,44 pulgadas (16,3576 cm) de largo por 3,375 pulgadas (8,5725 cm) de ancho. En la serie Indigo, las tarjetas estaban alineadas verticalmente una sobre otra dentro de la carcasa, a diferencia de la disposición más común en la que las tarjetas se encuentran en ángulos rectos con respecto a la placa base . Esto dio lugar a un diseño de carcasa "alto y delgado". Dado que las tarjetas estaban "encima" una de la otra en línea, fue posible construir una tarjeta que se conectara a ambos conectores en la placa base de la computadora, ofreciendo así más espacio.

GIO64

Tarjeta elevadora EISA /GIO64 de SGI Indigo²

GIO se amplió más tarde a una forma de 64 bits, GIO64 , renombrando retroactivamente la versión anterior GIO32 . El direccionamiento siguió siendo de 32 bits, pero ahora permitía tanto el direccionamiento big-endian como el little-endian, como lo indicaba un nuevo pin de control, mientras que GIO32 solo admitía las direcciones big-endian de estilo SGI. Ahora se podían transferir datos de 64 bits a la vez, duplicando así la velocidad. GIO64 también podía ejecutarse más rápido que GIO32, hasta 40 MHz, lo que proporcionaba un rendimiento máximo de transmisión de 320 Mbyte/s. Los tamaños de página también se ajustaron para permitir el cambio de CPU , comenzando con 4 kbyte para las máquinas basadas en R3000 y hasta 16 Mbyte para las basadas en R4400.

Físicamente, el bus GIO64 utilizaba tarjetas mucho más grandes que, en general, eran similares en tamaño y diseño a las tarjetas EISA , una elección deliberada que facilitó un poco el desarrollo y permitió a SGI colocar ranuras EISA en las mismas máquinas. En concreto, el conector externo (la brida metálica) era idéntico al EISA, pero la forma de la placa en sí era ligeramente diferente.

Se especificaron dos versiones de GIO64. El sistema "sin canalización" funcionaba de forma similar al de GIO32, con transferencias que se configuraban directamente en el bus. El sistema "con canalización" más nuevo era el que utilizaban las placas reales y, como su nombre lo indica, el sistema configuraba las transferencias en una operación de varios pasos que se decodificaba en la canalización interna del controlador. Internamente, el bus sin canalización transfería datos entre las distintas partes de la computadora, incluidas las tarjetas GIO, los dispositivos EISA, SCSI , etc. Las tarjetas GIO utilizaban el controlador con canalización para arbitrar y controlar la sincronización, y los datos se introducían luego en la memoria principal a través del lado interno sin canalización.

GIO32-bis

Un tercer estándar, GIO32-bis , utilizaba las señales y la sincronización de GIO64, pero con los conectores de 32 bits de GIO32. Las tarjetas GIO32-bis diseñadas correctamente se podían utilizar en ranuras GIO64, GIO32 o GIO32-bis, diferenciándose las dos últimas observando un pin conectado a tierra en el GIO32 original y conectado "alto" en GIO32-bis. Para tarjetas de bajo rendimiento, GIO32-bis permitía utilizar un único dispositivo en cualquier máquina compatible con GIO, sin importar la generación.

Véase también

Referencias