El IBM PC AT o también conocido como 5170, fue el cuarto modelo de ordenador personal basado en la arquitectura x86 después del modelo original, el PC XT y el PC Jr. Lanzado en 1984, representa además la segunda generación en cuanto a hardware y la última en la que IBM fue el fabricante dominante. Al contrario que los modelos de la competencia que realizaron un borrón y cuenta nueva con sus plataformas, el PC AT tuvo acceso desde el principio a toda la colección de software desarrollado para PC, el cual por aquellas fechas seguía siendo la plataforma dominante.
Una introducción al IBM PC AT
Hemos de confesar que teníamos pensado hablar de este ordenador como un pequeño apartado dentro del artículo del IBM PC. Sin embargo, fue el ir recopilando información para su composición que hizo que la parte relacionada con el PC AT creciera hasta convertirse en un artículo aparte, además que resulta interesante compararlo con la tríada basada en el Motorola 68000 como son el Commodore Amiga, el Apple Macintosh y el Atari ST. Más que nada por el hecho que este sistema es la demostración de la importancia de la compatibilidad hacía atrás y como esta puede terminar destruyendo el potencial de toda una plataforma.
Tres cambios importantes definieron al PC AT: el uso del microprocesador Intel 80286, la introducción del bus ISA de 16 bits y el estándar EGA para tarjetas gráficas y monitores, pero sobret todo será recordado por tener uno de los mejores teclados de la historia. Aparte de esas mejoras, IBM se aseguró de mantener la compatibilidad hacia atrás con el software original y la mayoría de las tarjetas de expansión. Esto fue una ventaja enorme respecto a las plataformas de la competencia, ya que mientras que las demás marcas empezaban con software desde cero, el PC AT heredó todo el software desarrollado para el IBM PC original, dándole una ventaja competitiva enorme, especialmente en entornos empresariales donde las aplicaciones más usadas solo se encontraban para esta plataforma.
La amenaza de las estaciones de trabajo
No obstante, la idea original no era lanzar una continuación del modelo original de 1981, sino que este pudiese competir contra las primeras estaciones de trabajo con Unix, las cuales desde finales de los 70 estaban ganando poder en el mundo académico y de la investigación. Y es que uno de los motivos era tener un sistema competente que pudiese ejecutar Xenix, la versión de Unix de Microsoft para ordenadores personales. Y es que Bill Gates había obtenido la licencia para desarrollar su propio sabor de Unix en 1978. La idea era simple: crear una versión del popular sistema operativo de AT&T que se pudiese ejecutar en un ordenador personal.
Esto permitió a muchas empresas que se veían limitados por MS-DOS el poder usar no solo las potentes aplicaciones de Unix, sino además no verse limitados por el entorno monotarea del MS-DOS. No obstante, una de las mayores limitaciones era la falta de una MMU en los primeros IBM PC, lo que obligaba a que el soporte de memoria virtual tuviese que ser llevado a cabo por rutinas de software, en vez de hacerlo con hardware dedicado. Así pues, pese a que dicho sistema operativo tuvo una versión para el PC XT en 1983, esta palidecía frente al mismo para el Motorola 68000, una CPU con un rendimiento muy superior.
Estaba más que claro que el PC de primera generación que había quedado anticuado y era necesario el desarrollo y lanzamiento de una nueva generación de ordenadores, la cual vino en forma del PC AT. Y es que mercados como el financiero, donde IBM había tenido grandes clientes en el pasado, estaban adoptando muy rápidamente las nuevas estaciones de trabajo y no se podían permitir perderlo.
El hardware del IBM PC AT
Una de las limitaciones claras de la primera generación del IBM PC era sin duda su bus de 8 bits y el hecho de que el chipset elegido por IBM se hubiese elegido alrededor del mismo, incluyendo el slot de expansión. Dicha decisión fue un problema que limitó a IBM a no poder usar el 8086, que tenía un bus de 16 bits, el cual hubiese requerido una placa más compleja. Precisamente fue esta decisión la que permitió a otras marcas crear clones compatibles con el IBM PC, pero basados en el 8086, dado que no copiaban al 100% el diseño de IBM.
La elección del 80286 como CPU principal para el PC AT supuso una serie de cambios en el conjunto de chips que acompañan la placa base y la creación del bus ISA, sin embargo para entender cuál era la situación, lo mejor es observar la placa base del IBM 5170. En ella podemos observar cómo los chips de memoria se encuentran soldados a la placa base. ¿La forma de expandir la cantidad de RAM en el sistema? Utilizando tarjetas de expansión, por lo que la ranura de las mismas ha de seguir los mismos protocolos de acceso a la memoria del sistema que la RAM convencional.
Componente | Cambio o mejora | Razón/Beneficio |
---|---|---|
Unidades DMA (Intel 8237A) | Duplicadas | Bus de datos de 16 bits |
Gestión de Interrupciones (Intel 8259A) | Duplicadas | Adaptación al bus ISA |
Controlador de Bus (8288) | Sustituido por 82288 | Permite trabajar con un bus no multiplexado, separando datos y direccionamiento, necesario en el 286. |
Controlador de Periféricos (Intel 8253) | Sustituido por 8254 | Compatible hacia atrás, con mejoras: - Registro contador interno para descargar a la CPU. - Intercomunicación con chips CMOS y TTL (voltajes entre 3 V y 15 V). |
Reloj en Tiempo Real (MC146818) | Añadido | Alimentado por pila de 6 V, opera a 32,768 KHz. Permite a los programas acceder a la fecha y hora del mundo real. |
Interfaz Programable de Periféricos (Intel 8255) | Sustituido por el microcontrolador Intel 8042 y un nuevo protocolo bidireccional para el teclado. | Mejora la comunicación con el teclado, permitiendo una interfaz más avanzada y flexible. |
El problema venía con dos cambios importantes del 80286, el primero de ellos es que su bus de datos y direcciones ya no compartían pines, el segundo es que, al igual que el 68000 y al contrario que el 8086/8088, la nueva CPU podía comunicarse tanto de forma síncrona como asíncrona con los periféricos y el tercero era que el bus de datos se había ampliado a los 16 bits. Todo ello forzó a IBM a llevar a cabo algunos cambios en el chipset de la placa base.
La CPU del PC AT: el 80286
La CPU principal del PC AT es el 80286, al cual llamaremos 286 a partir de ahora. Se trata de un microprocesador más avanzado que el 8086/8088 con el que comparte el set de instrucciones y con el que binariamente compatible, es decir, puede ejecutar los mismos programas. Se diseñó para su uso en los entornos multiusuario y multitarea de las estaciones de trabajo y como respuesta al 68000 de Motorola al que supera en rendimiento al poder alcanzar 1 MIPS de rendimiento a 7 MHz de velocidad de reloj en vez de los 8 MHz, en todo caso los primeros PC AT alcanzaron los 6 MHz con modelos posteriores a 8 MHz.
Su salto de rendimiento se debe a varios factores, pero principalmente al hecho que el número de ciclos que tarda cada instrucción en ejecutarse se redujo considerablemente y al hecho de que el bus de direccionamiento y de datos se encuentran en pines diferentes, pudiendo manejar hasta 16 MB de RAM. No obstante, la subida de velocidad de reloj fue un problema para muchos programas que se basaban en un contador a 4.77 MHz para funcionar. Por eso muchos sistemas basados en el PC AT tenían un botón “Turbo” para reducir la velocidad y no provocar errores, especialmente en los de gestión de tiempo, motivo por el cual IBM integró un RTC en la placa base del PC AT.
Modo real y el modo protegido
Al igual que la CPU de Motorola, el 286 en el PC AT tiene soporte para memoria protegida, el cual funciona en dos modos distintos:
- Modo Real: funciona como el 8086/8088, por lo que no soportan funciones de la MMU y solo puede usar 1 MB de RAM.
El MS-DOS y sus programas utilizan este modo, el mapa de memoria del PC AT concentraba todas las funciones en este modo - Modo protegido: soporta protección de memoria con espacios separados entre el sistema operativo y los programas con diferentes niveles de privilegio, funciones de la MMU y el direccionamiento completo de 24 bits que le permite usar los 16 MB al completo.
El hecho de que el MS-DOS pudiese funcionar sin tener que adaptarse le permitió al PC AT heredar todos los programas ya existentes en el mercado, mientras que los sistemas basados en el 68000 empezaron desde cero, lo cual fue la principal desventaja de los ordenadores frente a la plataforma de IBM, la cual vio ampliada su cuota de mercado. No obstante, esto estancó tecnológicamente al PC muchos años, ya que para usar MS-DOS con un 8086/8088 era suficiente.
La MMU del 286
Uno de los motivos por los cuales el 286 usaba el doble de transistores que el 68000, pese a tener capacidades similares, es por la MMU integrada en el chip, sin embargo, esta no era paginada, sino segmentada, lo que provocó que fuese ignorada casi por completo. En realidad, no deja de ser una mejora sobre la unidad de direccionamiento del 8086/8088 para proporcionar no solo el modo protegido, sino permitir el uso de memoria virtual, que en este caso era de hasta 1 GB.
Al contrario que el 68000 donde las unidades de direccionamiento son de 32 bits, pero operando a 24 bits, en el 286 la unidad opera a 16 bits y si bien esta libera del trabajo a la ALU principal en el cálculo de direcciones, el cual pasa a hacerse en paralelo, la realidad es que dependiendo del modo el resto de la dirección cambia. Así pues, en modo protegido, el direccionamiento de memoria al ser virtual se divide en segmentos de 64 KB con un total de 16 K segmentos.
Memoria RAM en el PC AT
Desde el momento en que el MS-DOS 3.0 era el sistema operativo que venía de serie en el PC AT, su mapa de memoria se basa en el modo real, y por lo tanto solo puede acceder a 1 MB de memoria, aunque solo 640 KB corresponden a la memoria RAM, dado que el resto del direccionamiento está asignado a memorias ROM de todo tipo. Es por ello que existe la famosa cita, mal atribuida a Bill Gates, donde afirma que “640 KB son suficientes”. Sin embargo, existía una forma de acceder al direccionamiento completo desde el modo real aprovechando un “bug” del microprocesador.
Claro está que el PC AT venía con 256 KB o 512 KB de serie, por lo que venía con menos memoria de la que podía utilizar, pues bien, los 128 KB de memoria RAM adicional se conseguían a través de una tarjeta de expansión opcional. La cual, si os fijáis, al contrario de lo que ocurre con el 5150 y el 5160, utiliza un puerto ISA de 16 bits. Por lo que esta tarjeta de expansión solo se puede utilizar en los modelos que dispongan de dicha ranura.
Un famoso cuello de botella del PC AT fue el hecho de que la RAM del sistema no funcionaba de forma síncrona con la CPU, por lo que se aumentaba la cantidad de ciclos por instrucción al añadir tiempo e espera adicional. Dicho problema lo eliminó IBM en modelos posteriores como el PC XT de 1986, una versión low cost del PC AT que gano un 32% de rendimiento adicional para la CPU al eliminar este problema
Memoria expandida
Si bien el hecho de que el modo real funcionase tal cual como el del 8086/8088 estaba hecho con el objetivo de que los programas funcionasen tal cual, esto añadía un problema adicional y era el tamaño de los archivos, los cuales si se hacían demasiado grandes se convertían en inmanejables, además, que el MS-DOS no estaba diseñado para usar la unidad MMU del 286. Sin embargo, había una forma de usar el espacio de direccionamiento más allá de 1 MB y permitir ir más allá de los 640 KB de RAM.
Resulta que el 286 tiene una función que permite acceder al direccionamiento completo desde el modo real, enviando una señal al pin A21, a través del 8042. Hemos de partir del hecho de que dicho modo real, al tener direccionamiento de 20 bits, usa los pines A0 a A19. Al activar un pin adicional, les permite a las aplicaciones de MS-DOS usar todo el espacio de memoria. Dicha señal es generada por el nuevo controlador de teclado, el Intel 8042. Sin embargo, el PC AT pese a que tiene dicha capacidad, se vendió como un producto orientado a tener 1 MB de memoria como máximo, y la rutina en el sistema operativo encargada de ello no salió hasta 1988, junto a la versión 4.0 del MS-DOS.
El bus ISA
Uno de los cambios más importantes en el PC AT (5170) fue la aparición por vez primera del bus ISA (Industry System Architecture), el cual era una extensión del PC Bus que se había visto en modelos anteriores, el cual se utilizó para poder instalar tarjetas de expansión de todo tipo, así como para ampliar la capacidad de memoria RAM del sistema. Dicho bus se mantuvo también durante la tercera generación del PC lanzada en 1987 y fue el estándar para las tarjetas de expansión hasta la adopción del PCI.
La diferencia con los puertos de expansión actuales es que al servir también para expandir la memoria RAM del sistema, su funcionamiento es particular en el PC AT y diferente en sistemas posteriores, donde la aparición de los módulos SIMM separó el acceso a la RAM de los periféricos. Sin embargo, no podemos olvidar que para este ordenador y sus clones nacieron una gran cantidad de hardware accesorio y fue cuando en el PC se vio nacer uno de los mercados más importantes, como es el de las tarjetas gráficas.
EGA (Enhanced Graphics Adapter)
La última pata que define al PC AT fue el adaptador gráfico EGA, el cual es a su vez la más limitada de todas y es que en pleno 1984 y existiendo cosas como el NEC 7220 se esperaría que las capacidades gráficas de la segunda generación del IBM PC fueran mucho más altas. No obstante, el mercado del CAD/CAM y del diseño gráfico no era importante para IBM, lo que le permitió a sistemas como el Commodore Amiga y el Apple Macintosh ocuparlos sin problemas y encontrar un nicho del que vivir.
El adaptador gráfico EGA para el PC AT soportaba las siguientes resoluciones:
Modo | Colores/bits pixel | Memoria requerida |
---|---|---|
80 x 25 (Texto) | Monocromo | 4 KB |
40 x 25 (Texto) | Monocromo | 2 KB |
320 x 200 | 4 bits/16 colores | 32 KB |
640 x 200 | 4 bits/16 colores | 64 KB |
640 x 350 | 4 bits/16 colores | 128 KB |
Sin embargo, dado que la tarjeta gráfica venía solo con 64 KB de serie, el modo de resolución más alto requería de añadirle una expansión de memoria y el uso de un monitor especial. Todo ello suponía un sobreprecio, por lo que la mayoría de los usuarios siguieron optando por CGA y muchos de los de EGA optaron por los modos de 200 líneas al optar por monitores más baratos o reciclar los de primera generación. Claro está que la adopción de EGA en el PC AT venia con un gran problema, el precio. Y es que el precio contando la expansión de memoria era de 700 dólares, casi 3000 a día de hoy.
Particularidades de EGA
-
- Mientras que CGA y MDA se basaban en el estándar NTSC, dichos tiempos solo son adoptados por EGA en los modos de 200 líneas de escaneo, adoptando los 21.85 KHz para las resoluciones de 640 x 350.
- La dirección de memoria desde la perspectiva de la CPU donde empieza el búfer de imagen es distinta en EGA que en los modos CGA y MDA.
- Pese a las similitudes del modo Lo-Res con el de PC Jr, la gran diferencia es que el EGA del PC AT compone el búfer de imagen a partir de bitplanes.
- En cada uno de los bitplanes el búfer de imagen es de 1 bit.
- Se usan varios búferes de bit donde cada uno representa un color o un canal de luminancia.
- Las tarjetas EGA pueden usarse en un IBM 5150 o un IBM 5160, pero no en el modo 640 x 350 al no tener la CPU la suficiente velocidad para generar el búfer de imagen a tiempo. Eso sí, soportan los modos de texto.
- Dispone de 2 ROMS para texto.
- Modo 200 líneas: 8 x 8 píxeles por carácter.
- Modo 350 líneas: 8 x 14 píxeles por carácter.
- Su salida de vídeo tiene 6 pines asignados a color, 2 por componente RGB, por lo que podría llegar a los 64 colores por píxel, no obstante, solo dispone de 16 registros internos para color.
El boom del EGA
Si bien el adaptador gráfico EGA no fue aceptado en el mercado empresarial, sí que lo fue en el doméstico, dado que gráficamente ofrecía las mismas capacidades que un Atari ST para juegos, lo que hacía viable la creación de juegos, aunque fuese a una resolución de 320 x 200 píxeles con 16 colores. Si bien durante los primeros años el Commodore Amiga fue superior y no fue hasta la aparición de VGA que el PC dio el do de pecho en gráficos, el mercado de videojuegos de PC empezó con EGA y el PC AT.
La clave de todo ello se debe a que en 1986 la empresa Chips and Technologies consiguió reducir toda la compleja circuitería de la tarjeta gráfica de IBM en un solo chip y con ello el precio, creando una más compacta y licenciándola a varias marcas distintas que lo terminaron ensamblando para crear sus propias tarjetas gráficas. No se trataba de modelos profesionales, pero su bajo precio hizo que muchos de los que ya tenían un PC AT las compraran para poder jugar en sus ratos libres y en menos de un año EGA ya había ocupado el 40% del mercado de tarjetas gráficas.
Fue el primer paso para la creación del actual mercado de videojuegos para PC. Sin embargo, dicho modelo de tarjeta no apareció hasta 1986 y no fue hasta 1987 que los desarrolladores de videojuegos vieron al PC AT y sus clones como una máquina tan viable como las otras. Al mismo tiempo, ese año marcó una tercera generación para el PC, pero eso es otra historia que ya trataremos más adelante.
Y que opinan sobre esto? https://x.com/KazeEmanuar/status/1876780801162928401?t=vmI-1dfqV40U30MeiE8PnQ&s=19