# Bus S-100

El bus S-100, IEEE696-1983 (retirado), fue uno de los primeros bus de datos diseñado en 1974 como parte del Altair 8800, generalmente considerado el primer "ordenador personal". El bus S-100 fue el primer bus estándar de la industria para los fabricantes de microordenadores, y los ordenadores S-100, procesadores y tarjetas periféricas, fueron producidas por varios fabricantes. El bus S-100 formó las bases para los ordenadores caseros cuyos contructores (por ej., el Homebrew Computer Club) implementaron drivers para CP/M y MP/M. Estos microordenadores S-100 ocuparon desde el hobby del aficionado a las estaciones de trabajo para pequeños negocios y fueron la cumbre del mundo de los microordenadores hasta el advenimiento del IBM PC (que algunos superaron).

## Arquitectura

El bus S-100 es un backplane pasivo con ranuras de conector de borde de tarjeta de 100 pines conectados en paralelo. Las tarjetas de 5×10 pulgadas de tamaño conectadas proporcionaban prestaciones de CPU, memoria, e interfaz de entrada/salida. El Bus S-100 fue diseñado originalmente para ser usado con una placa de CPU que usaba el microprocesador Intel 8080. Por eso, las señales del Bus S-100 seguían muy de cerca las del sistema 8080. Las señales del Bus S-100 podían agruparse en cuatro categorías funcionales: 1) alimentación, 2) datos, 3) dirección y 4) de reloj y control.
La energía suministrada en el bus era de +8 V y ± 16 V. Las principales fuentes de alimentación no eran reguladas y por ello el control de la alimentación tenía que ser realizado en cada tarjeta a niveles TTL (+5 V) o RS-232 (+/-12 V, típicamente usada en los motores de las unidades de disquete) de manera individual. La regulación de la tensión en ellas se realiza típicamente por dispositivos de la familia 78xx (por ejemplo, un dispositivo 7805 para producir +5 voltios). Estos fueron los reguladores lineales que normalmente se montan en los disipadores de calor.
Aunque el Bus S-100 estaba basado en el microprocesador 8080, el cual tenía un bus de datos bidireccionales de 8 bits, el Bus S-100 originalmente tenía dos buses de datos unidireccionales de 8 bits. El comité de estándares IEEE-696 introdujo el bus de datos de 16 bits en el S-100 a través de la combinación de los dos buses unidireccionales de 8 bits. En esta manera el Bus S-100 pudo utilizar procesadores más avanzados que los de 8 bits.
El Bus S-100 tenía 24 líneas de direcciones. Se usan emisores lógicos triestables para emitir las direcciones del bus y en esta manera permitir operaciones de acceso directo a memoria (DMA). Las señales de reloj y control en el bus del S-100 fueron usadas para dirigir el tráfico del bus. Por ejemplo una señal de control permitía la operación de acceso directo a memoria. El Cromemco Dazzler es un ejemplo de una tarjeta S-100 que recupera imágenes digitales de la memoria utilizando acceso directo a memoria.
Las señales de reloj y de control se utilizan para gestionar el tráfico en el bus. Por ejemplo, la línea DO Disable puede Triestar las líneas de dirección durante el acceso directo a memoria. Líneas no asignados de la especificación original del bus más tarde fueron asignados para soportar a los procesadores más avanzados. Por ejemplo el procesador Zilog Z80 tenía una línea de interrupción no enmascarable de la que carece el procesador Intel 8080. Una línea sin asignar del bus S-100 fue reasignada para soportar la solicitud de interrupción no enmascarable. La tarjeta XXU de Cromemco, lanzada en 1986, usó el procesador Motorola 68020 de 32-bits, el más rápido usado en el Bus S-100.

## Historia

Durante el diseño del Altair, el hardware requerido para construir una máquina utilizable no estaba disponible para la fecha prevista del lanzamiento en enero de 1975. El diseñador Ed Roberts, también tenía el problema de que la placa base ocupaba mucho espacio. Para intentar resolver esos problemas, se situaron los componentes existentes en una caja con ranuras adicionales, por lo que los componentes faltantes podían conectarse luego cuando estuvieran disponibles. La placa base se dividió en cuatro tarjetas separadas, con la CPU en la cuarta. Necesitaba entonces un suministro barato de conectores, y por ello eligieron un conector de borde de tarjeta de 100 pines. Por aquel entonces el bus S-100 consistía en los pines del Intel 8080 corriendo sobre el backplane.
Después del lanzamiento de la microcomputadora Altair en 1975, muchas compañías surgieron para fabricar máquinas similares. A estas compañías no les gustó usar la terminología “Bus Altair” a causa de que MITS era la competidora. Por eso el Dr. Harry Garland y el Dr. Roger Melen, cofundadores de Cromemco, rebautizaron el “Bus Altair” como el “Bus S-100”. El primer uso de la terminología “Bus S-100” fue en un anuncio de Cromemco en la edición de la revista Byte de noviembre de 1976. El primer simposio sobre el Bus S-100, moderado por Jim Warren, tuvo lugar el 20 de noviembre de 1976 con un panel compuesto por Harry Garland, George Morrow, y Lee Felsenstein.
Cromemco era el fabricante más grande de productos S-100. Otros fabricantes eran Vector Graphic, North Star Computers, Alpha Microsystems, IMSAI, CompuPro, e Ithaca Intersystems. Otro diseñador que hizo mucho para empujar la tecnología S-100 adelante fue George Morrow, con su compañía Morrow Designs. Morrow era el primer portavoz del S-100 Bus Standards Committee, que devino más adelante IEEE-696. El comité de estándares introdujo el bus de datos de 16 bits en el S-100, anteriormente de datos de 8 bits, utilizando los dos separados y uni-direccionales buses de datos como un único bus bidireccional. En mayo de 1984 la revista Microsystems publicó una lista con más de 500 productos S-100 provenientes de 167 compañías.

## Estándar IEEE-696

Como el Bus S-100 ganaba popularidad, surgió la necesidad de desarrollar una especificación formal del bus para garantizar compatibilidad con productos producidos por compañías diferentes, y para ampliar la especificación para que el Bus S-100 se pudiese usar con procesadores más avanzados. En mayo de 1978 George Morrow y Howard Fullmer publicaron un “Estándar propuesto para el Bus S-100” observando que ya había 150 vendedores de productos S-100. En este estándar propuesto el bus S-100 tuvo un bus de datos de 8 bits, y un bus de direcciones de 16 bits.
En julio de 1979 Kells Elmquist, Howard Fullmer, David Gustavson, y George Morrow publicaron la “Especificación estándar para el Bus S-100”. En esta especificación el bus de datos fue extendido a 16 bits, y el bus de direcciones fue extendido a 24 bits. El IEEE-696 Grupo de Trabajo, dirigido por Mark Garetz, continuó desarrollando la especificación y la propuso como un estándar de IEEE. Este estándar fue aprobado por el IEEE Computer Society el 10 de junio de 1982.
El estándar IEEE fue aprobado por el Instituto Nacional Estadounidense de Estándares (ANSI) el 8 de septiembre de 1983. El bus de computadora desarrollado por Ed Roberts para la computadora Altair 8800 había sido extendido, documentado rigurosamente, y había llegado a ser el estándar ANSI/IEEE Std 696-1983. Desde ese momento el bus S-100 se convierte en el estándar para todos los ordenadores personales "profesionales", al menos para los que ejecutan CP/M. El estándar se vuelve tan poderoso que cualquier otro diseño de CPU se hace para ser compatible pin a pin con el 8080 (es notable el caso del Zilog Z80), o alternativamente situado en una compleja tarjeta adaptadora que le permita conectarse a una máquina con bus S-100.
En 1981 IBM lanzó el IBM PC seguido por el PC XT (en 1983) y el PC AT (en 1984). Estas computadoras IBM le quitaron la cuota de mercado a las computadoras S-100. En mayo de 1984 Sol Libes (quien era un miembro del IEEE-696 Grupo de Trabajo) escribió: “no hay duda que el mercado S-100 está maduro, con modesto potencial de crecimiento en comparación al del IBM PC.”
Mientras el IBM PC capturaba la gama baja del mercado, las computadoras S-100 capturaron la gama alta del mercado con poderosos sistemas OEM y sistemas multiusuarios. En Medellín, por ejemplo, Control Sistematizado desarrolló los primeros sistemas de control industrial en Colombia basados en microcomputadoras S-100, y en Ecuador la información de las guías telefónicas de todo el país fue almacenada en una computadora S-100. Los sistemas S-100 fueron utilizados por la Fuerza Aérea de los Estados Unidos como lo fueron por el Chicago Mercantile Exchange. Pero a lo largo de la década de los 80 el mercado S-100 para el aficionado, tanto como para el uso personal, y aún para las empresas pequeñas estaba en descenso.
El mercado para productos S-100 continuaba experimentando una contracción durante los primeros años de los 90, a causa de las computadoras IBM se volvieron más capaces. En 1992 la Chicago Mercantile Exchange, por ejemplo, reemplaza sus equipos de bus S-100 por IBM Personal System/2. Al llegar a 1994, el IEEE no vio la necesidad de continuar el estándar IEEE-696. El estándar IEEE-696 fue descontinuado el 14 de junio de 1994.