Pese a que los ordenadores personales empezaron su andadura en 1977 con el Apple II, el Commodore PET y el Tandy TRS-80, se suele marcar erróneamente los inicios al lanzamiento en 1981 del IBM PC 5150, donde las siglas no significaban Personal Computer, sino Project Chess. En este artículo le haremos un repaso al ordenador que empezó un legado que dura hasta el día de hoy, a la vez que romperemos algunos mitos.
Un momento de peligro para IBM
El boom de los ordenadores personales no fue lo que llevo a la International Business Machines a meterse de lleno a hacer su propio ordenador doméstico, sino más bien el boom de ordenadores en todo el mundo basados en el Z80, con disquetera y utilizando CP/M como sistema operativo o alguno similar. De repente, los pequeños negocios que no podían permitirse un equipo informático estaban adquiriendo esos ordenadores y por la evolución natural de la informática pronto, en capacidades de procesamiento, memoria y almacenamiento serían una amenaza para los ordenadores de IBM, por lo que era necesario reaccionar de alguna manera.
La creación del IBM PC 5150 se la debemos a Bill Lowe, quien rechazo la propuesta de Atari de hacer un ordenador doméstico para IBM para terminar creando el suyo propio junto a un pequeño grupo de 13 ingenieros con el objetivo de crear un microordenador para el Big Blue que les permita parar la nueva amenaza. Para ello no podían permitirse el lujo de tener un hardware como el resto de sistemas, por lo que descartaron tanto el Zilog Z80 como el MOS 6502 para centrarse en dos candidatos, el Motorola 68000 y el Intel 8086. Al final la batalla la gano el 8088, una versión recortada del 8086 con bus de datos de 8 bits.
Claro está que el pequeño equipo apenas tenía recursos comparados con otros proyectos en IBM. No podían permitirse el lujo de crear ni diseñar su propio hardware, por lo que optaron por piezas que ya se encontraban en el mercado para crear una especie de Frankenstein que termino siendo el IBM PC.
El IBM PC, una arquitectura modular
Pese a optar por el 8088 como CPU de su nuevo sistema, desde IBM no usaron el chipset completo de Intel, ya que descartaron de la ecuación el 8089, lo que hizo que las tareas de gestionar los periféricos cayeran en manos del microprocesador en vez de poder delegarlas. Fuera de esto, se suele definir a la plataforma solo por el set de instrucciones básico del microprocesador, sin embargo, cualquiera que quisiera hacer un clon del PC de IBM debía integrar esos chips.
Chip | Función | Descripción |
---|---|---|
Intel 8259A (PIC) | Controlador de interrupciones | El 8259A administra y prioriza las interrupciones de hardware que necesitan atención inmediata del procesador. |
Intel 8237A (DMAC) | Controlador de acceso directo a memoria (DMA) | Controla la transferencia de grandes bloques de datos entre dispositivos periféricos y la memoria sin intervención de la CPU |
Intel 8253 (PIT) | Temporizador programable | Proporciona una fuente precisa de temporización para eventos periódicos, como generar interrupciones de tiempo para multitareas |
Intel 8255 (PPI) | Interfaz programable de periféricos | Ofrece puertos de E/S programables que permiten la conexión de periféricos como teclados y pantallas al sistema. |
Intel 8284 | Generador de reloj | Genera las señales de reloj para sincronizar la CPU con otros componentes |
Intel 8288 | Controlador de bus | Era el encargado de desmultiplexar las señales de memoria y con la E/S en los 8086/8088 |
Es más, a día de hoy, aunque ya no se usan, ya que su funcionalidad fue integrada en chips mucho más avanzados e incluso ahora son una parte muy pequeña del chip central de la placa base, al que llamamos chipset, su soporte ha de continuar ahí. Y sí, alguna vez os habéis preguntado que diferencia una consola basada en x86, como por ejemplo las dos últimas generaciones de PlayStation y Xbox, así como los Mac antes de que Apple usase sus microprocesadores, pues es dicho conjunto de chips que definen la forma en la que los diferentes puertos y periféricos se comunican con la CPU.
Para que lo entendáis mejor, el motivo por el cual salieron clones del PC de IBM no fue por otra cosa que IBM decidió no crear sus propios chips de apoyo, lo cual era normal en la industria, sino usar otros ya existentes dentro del paquete que ofreció Intel a IBM.
Mapa de memoria del IBM PC
Otro de los puntos que definió a la plataforma es la forma en que la CPU se comunica con los periféricos. En el 8086/8088 no solo el bus de datos estaba multiplexado con el de direcciones, sino que era posible darles a los periféricos su propio espacio de direccionamiento. Es decir, que la comunicación se hiciese no a través de memoria, sino directa a través de puertos.
Sin embargo, en el IBM PC se optó con que la comunicación se hiciese asignando ciertas direcciones de memoria a los diferentes componentes accesorios. Los cuales solo tienen que acceder a dicha parte de la memoria a través del mecanismo DMA para bien leer los datos o en su defecto, copiarlos a la memoria local de cada periférico. Esto significa que los tiempos de acceso a memoria afectan también el acceso a los periféricos y estos crean una contención sobre la memoria.
En todo caso, en la imagen se puede ver el mapa de memoria del primer IBM PC, donde el espacio de RAM para los programas y el sistema operativo se encuentra en los 640 KB de memoria, dejando los 16 KB siguientes para la tarjeta de vídeo, tanto CGA como MDA.
El primer IBM PC, el 5150
El primer PC de IBM fue el 5150, una máquina que si bien se la considera el primero del estándar en comparación con sistemas posteriores, tuvo limitaciones claras. Por lo que decir que definió completamente el estándar, no es del todo cierto, este se fue definiendo con el paso de los años y a medida que ciertos componentes se fueron estandarizando. Más bien deberíamos considerarlo como la versión beta o incluso alfa de lo que terminaría siendo la plataforma.
El sistema se vendió en dos versiones distintas, cada una de ellas con su propia placa base, pero las mismas capacidades de expansión. La más sencilla con 16 KB de memoria de serie, la más compleja con 64 KB, aunque ambas expandibles hasta 256 KB. Al contrario de lo que mucha gente se piensa, el ordenador no se vendía con el MS-DOS de Microsoft, sino con una ROM de 32 KB que incluía el Casette BASIC, que es lo que se ejecutaba cuando no había sistema operativo y no era más que el clásico interprete para el lenguaje.
En cuanto a su microprocesador central, este era un 8088 de Intel funcionando a 4.77 MHz, una velocidad de reloj mucho más baja que la configuración de 5, 8 o 10 MHz que soportaba dicho microprocesador, aunque su mayor limitación era el hecho de estar limitado a un bus de 8 bits de datos.
Capacidades de expansión limitadas
El sistema se vendía completo, no solo el ordenador, sino también el monitor fósforo verde (5151) y la impresora (5152), en dicha configuración era necesaria el uso de una tarjeta gráfica MDA, que permitía un modo texto de 80 columnas, pero no gráficos a color. En cambio, si se optaba por el 5153, que era un monitor basado en una TV, se perdía la conexión para la impresora y era necesario conectar otra tarjeta de expansión para ello. En dicho caso la tarjeta gráfica que se usaba era la CGA que permitía gráficos a color, pero en texto se limitaba a las 40 columnas. Ambos modelos se basaban en el 6845 CRTC.
No solo eso, sino que además era necesario ampliar la RAM a través de una tarjeta de expansión y para conectar la unidad de disquetes hacía falta hardware adicional. Ya os podéis imaginar que con solo 5 ranuras de expansión a través del PC Bus, pues no había mucha opción realmente, especialmente si tenemos en cuenta que la plataforma no soporto disco duro hasta el PC XT, y, por lo tanto, hacían falta dos disqueteras.
Y es que el MS-DOS, como bien dice el nombre, necesitaba de una unidad de disquete, la cual tenía que comprarse aparte, ya que el PC original de IBM se diseñó para funcionar desde cintas de casete, lo cual era lo habitual por aquellos tiempos en los sistemas domésticos.
Gráficos en CGA, ¿de verdad eran tan malos?
Muchas personas cuando le mencionan CGA les viene a la mente gráfica con una paleta de colores tan chillona como horrible, que es la que se veía cuando un adaptador VGA se podía a reproducir los juegos y aplicaciones bajo dicho estándar gráfico.
Dicha limitación se debe al 6845 CRTC, el cual solo puede trabajar con hasta 640 bits por línea de escaneo, lo que lleva a que con 320 píxeles tengamos solo 2 bits de color, en total 4 colores y no se puede representar toda una gama completa con tan pocos colores. No obstante, lo que veis arriba es Lemmings, un juego creado durante la era VGA donde al soportar esta 256 colores simultáneos, pues no utiliza cambios de paleta.
En 1981, fecha en la que salió el IBM PC, la mayoría de sistemas funcionaban a una resolución de 160 x 192 píxeles, en dicha resolución una tarjeta CGA podía mostrar 16 colores (2 paletas de 8 diferenciadas por un bit de intensidad). Por desgracia, dicho modo, al basarse en la salida de vídeo compuesto, la cual se perdió en el tiempo, no es reproducible en tarjetas gráficas posteriores, creando el mito de los horrendos gráficos en cyan y magenta.
Por otro lado, gracias a que la gestión de E/S se hacía a través de la memoria principal era posible para la CPU acceder a las direcciones de memoria correspondientes a la tarjeta gráfica y cambiar la paleta de 4 colores en el modo a 320 x 200, desgraciadamente adaptadores gráficos posteriores no soportan esta función, la cual se terminó perdiendo con el tiempo.
La victoria de Microsoft
El IBM PC no se vendía con un sistema operativo de disco, sino que el usuario tenía que escogerlo y existieron inicialmente dos opciones, las cuales pese a ser parecidas en cuanto a características, no eran compatibles entre sí.
- Por un lado, existía el MS-DOS de Microsoft, vendido por poco más de 40 dólares.
- En el otro lado, el CP/M de Digital Research en versión para 8086/8088 que costaba 240 dólares.
Por si fuera poco, los programas compilados para el 8080, que eran la mayoría que se usaban en CP/M, pues necesitaban ser recompilados y las empresas revendían el producto. ¿Qué ocurrió? Pues que los usuarios fueron al sistema operativo más barato que era el de Microsoft. Y para colmo, esto provoco una paulatina transición de los sistemas CP/M basados en el 8080 al 8086, lo que significo la adopción paulatina de la plataforma de IBM.
Los clones
Por si fuera poco, dado que el sistema operativo no era de IBM esto le daba la oportunidad a Bill Gates de venderlo a terceros. Para ello solo necesitaban dos cosas: conocer el mapa de memoria del IBM PC, el cual venía definido en el manual del producto, y conocer las rutinas de la BIOS que se encontraban en la ROM del sistema. Así pues, en 1982 aparecio el primer clon o compatible con el IBM PC, el Columbia Data Products MPC 1600 que era un clon exacto del ordenador de la Big Blue, pero que traía dos disqueteras de 5.25 de serie y con una configuración de 128 KB de RAM.
Sin embargo, el clon más famoso de los primeros años fue el Compaq Portable, el cual tenía las mismas especificaciones, pero con la particularidad de tener el tamaño de una maleta, lo cual lo llego a hacer extremadamente popular entre los ejecutivos del momento. Eso sí, su portabilidad tenía un precio.
Sin embargo, lo que permitió la proliferación de los clones fue cuando en mayo de 1984 Phoenix Computing lanzo su propia ROM BIOS alternativa a la de IBM. Fue en ese punto donde los clones del PC de diferentes marcas empezaron a proliferar, ya no era necesario hacer ingeniería inversa o comprarle los chips de ROM a IBM. El PC a partir de ese punto quedaba totalmente libre para democratizarse y tomar la forma que conocemos a día de hoy.
El PC XT
En 1983 IBM lanzó una versión mejorada de su 5150, en concreto el modelo 5160 cuyas principales novedades sobre el modelo original fueron:
- Los slots de expansión pasaron de 5 a 8.
- Se añadió soporte para un disco duro de 10 MB, el cual era una opción y necesitaba una tarjeta controladora.
- El 5150 original carecía de las rutinas en la BIOS para manejar el disco duro, por lo que era necesario comprar un PC XT para manejarlo.
- Microsoft diseño su MS-DOS 2.0 para funcionar desde disco duro y no solo desde disquetera en estrecha colaboración con IBM. Eso fue el clavo en el ataúd para CP/M en su versión 8086.
- Las RAM de serie paso a ser de 128 KB, pero con la capacidad de expandirla a 640 KB en vez de los 256 KB del modelo original.
El resto de componentes era el mismo que el de IBM PC original, incluso con el mismo mapa de memoria y la misma CPU, el Intel 8088 a 4.77 MHz. Por lo que no se lo considera un salto generacional como si fue el PC AT basado en el 80286, pero el disco duro sí que fue una función única que dejo a la competencia fuera de juego dentro del mercado empresarial.
Los Turbo XT
Cuando se lanzó la BIOS de Phoenix Intel vio la oportunidad de vender sus 8086 a los fabricantes de clónicos de PC, que no solo presumían de total compatibilidad, sino el hecho de poder ejecutar los programas más rápido gracias a que su CPU funcionaba a una frecuencia más alta. Por desgracias, parte del software para el IBM PC original se pensó para funcionar con ciclos de reloj relativos a los 4.77 MHz, lo que provocaba problemas en sistemas a mayor velocidad de reloj.
Para ello se creó el botón de turbo, el cual al pulsarse no aceleraba el ordenador, sino que reducía la velocidad a 4.77 MHz para no descompensar el timing de los programas. Lo cual no deja de ser una curiosidad histórica, pero explica el motivo por el cual IBM mantuvo durante varios años el uso del 8088 a 4.77 MHz, incluso cuando existían opciones mejores.
El PC junior
Lanzado en 1984 y considerado como un fiasco comercial, dado que el Commodore 64 se lo comió en ventas, el PC junior fue el intento de IBM de entrar realmente al mercado doméstico con unas capacidades expandidas en cuanto a gráficos y sonido, pero que se basó en el IBM 5150 con capacidades de expansión limitadas, lo que provoco que fuese rechazado en masa por parte del público, quien prefería comprar el PC XT o el por aquel entonces nuevo PC AT de IBM.
El motivo de ello son sus limitadas capacidades de expansión, solo hay que ver la placa base para ver cómo no hay ni una sola ranura para añadir tarjetas adicionales, por lo que el IBM PC Junior se quedaba limitado a lo que traía de serie:
- 64 KB de RAM ampliables a 128 KB, lo que lo dejo obsoleto al cabo de pocos años.
- Venía con una disquetera de serie, cuyo controlador se encontraba en la placa base, pero no permitía añadir una adicional y mucho menos un disco duro.
- El teclado, el cual era inalámbrico y funcionaba a pilas y horrible en su uso en comparación con el de sus hermanos mayores. Lo que empeoraba enormemente la experiencia.
Cartuchos y capacidad de expansión limitada
Dado que otros ordenadores como el Atari 800 o el Commodore 64 usaban cartuchos, IBM quiso copiarlo lanzando un slot de cartuchos en su PC Junior.
No obstante, pese a no tener ranuras internas, era posible añadir hardware adicional a través de un sidecar. Uno de los más famosos fue el PC Junior Booster de Microsoft, que sumaba 128 KB de memoria y un puerto de serie adicional para poder conectar un ratón.
Claro está, que el diseño era ya un desastre desde el principio, el mercado doméstico estaba obsesionado con otros sistemas con un catálogo de juegos más competente y el empresarial tenía acceso a las versiones no recortadas del hardware, las cuales no tenían problemas de memoria para ejecutar los diferentes programas y tenían acceso a mayores capacidades de expansión.
Gráficos y sonido mejorados
En cuanto a gráficos y sonido, el IBM PC Junior tomo un camino distinto al del PC XT al adaptador un hardware de vídeo distinto al CGA, el cual podríamos llamarlo Super CGA por sus características, pero que fue bautizado como Video Gate Array (no confundir con el VGA que salió años más tarde), entre sus características destacamos:
- Añadía un modo adicional gráfico a 320 x 200 píxeles con 16 colores.
- Utilizaba parte de la RAM del sistema como memoria de vídeo. Copiando el funconamiento del Atari 800 y el Commodore 64 en dicho aspecto.
En cuanto al audio, IBM uso el SN76489 de Texas Instruments, de capacidades muy similares al POKEY de Atari y al AY-3-8910. Es decir, 3 canales de onda cuadrada y uno adicional de ruido.
Radio Shack Tandy 1000
Radio Shack creo su clon del PC Junior, el cual fue mucho mejor que el de IBM, llamado Tandy 1000. El cual era una mezcla entre un PC XT y las capacidades de gráficos y vídeo del PC Junior, pero encima potenciadas.
- El modelo inicial se lanzó con el 8088 a 4.77 MHz, pero salieron modelos con el 8086 a más velocidad e incluso con el 80286.
- La tarjeta gráfica paso a tener su propia memoria de vídeo, liberando la RAM principal para los programas.
- El Tandy 1000 tenía ranuras internas de expansión para añadir tarjetas adicionales.
Debido a unificar lo mejor del PC XT y el PC Junior se convirtió en un éxito comercial enorme en los Estados Unidos. Se llegó a crear n ecosistema de «compatibilidad Tandy», donde muchos desarrolladores de software y videojuegos adaptaron sus productos para aprovechar las mejoras gráficas y de sonido del sistema. Lo que significo la primera vez en que el PC empezó a verse como una plataforma viable para videojuegos y a poder usarse tanto para jugar como para tareas más serias.