El 486 de Intel fue un punto de inflexión en la informática personal, si el 386 fue la CPU más importante de Intel al definir el set de registros e instrucciones que dominó durante varias décadas el mundo de las CPU de PC, su sucesor es famoso por haber definido al PC tal y como lo conocemos a día de hoy. En este artículo os comentaremos las características del microprocesador de cuarta generación de Intel, el cual, al igual que sus predecesores, supuso un salto en rendimiento considerable.
Arquitectura del Intel 486
Se trata de la primera CPU de Intel construida bajo el proceso de 1 micrón de Intel (10-6) lo que les permitió crear un chip de 1.2 millones de transistores, pero sobre todo integrar algunos elementos que anteriormente habían sido externos y opcionales en generaciones anteriores como la unidad de coma flotante, memoria caché y un pipeline totalmente segmentado, todos ellos elementos que contribuyeron a un aumento considerable de rendimiento respecto a su antecesor. Si bien los arquitectos del 486 mejoraron todas las unidades ya existentes en el 386, nos vamos a centrar principalmente en los cambios y añadidos respecto a su antecesor.
En cuanto al salto de rendimiento, un 386 DX a 25 MHz podía alcanzar los 6 MIPS, mientras que el 486 a la misma velocidad llegaba fácilmente a los 12 o 15 MIPS en lo que al cálculo en enteros a la misma velocidad, por lo que nos situamos en un salto de 2 a 2.5 veces. Su rival directo, el 68040 de Motorola, lanzado por las mismas fechas, podía alcanzar los 21 MIPS, pero esto se debía a que su arquitectura era superior pese a compartir los mismos cambios. No obstante, el 486 ganó la guerra comercial gracias al mercado de los clónicos de PC y la ventaja en nodos de fabricación de Intel, que le permitió fabricar CPU que llegaron hasta los 100 MHz, mientras que el microprocesador rival se quedó en los 40 MHz.
La primera CPU para PC realmente segmentada
El cambio principal que hizo Intel en el 486 fue segmentar por completo a la CPU de arriba abajo. Es decir, no se trata de un simple 386 modificado, sino que hicieron una remodelación completa con tal de tener una CPU totalmente segmentada. Por lo que, si bien el set de registros e instrucciones es el mismo que el del 386, el timing no es el mismo, ya que todas ellas se adaptaron para que cada etapa del pipeline durase un solo ciclo de reloj.
Esto se traduce en que cuando la instrucción 1 se encuentra escribiendo el resultado en memoria, la segunda instrucción se está ejecutando, la tercera está en la segunda etapa de decodificación, etcétera. Todo ello ocurriendo en el mismo ciclo de reloj, lo que elimina las burbujas en microprocesadores anteriores donde una instrucción anterior podía estancarse varios ciclos de reloj atrasando a las siguientes. El 486 fue la primera CPU para PC que adoptó una estructura segmentada, la cual se conserva a día de hoy.
Etapa | Función |
---|---|
IF – Instruction Fetch | La CPU busca la instrucción en memoria |
D1 -Decode 1 | Se decodifica la instrucción para determinar su tipo |
D2 | Se realiza una decodificación más detallada y se preparan los operandos para su ejecución |
EX | La unidad de ejecución realiza la operación especificada por la instrucción |
WB – Write Back | El resultado de la operación se escribe de nuevo en el registro o en la memoria, completando el ciclo de la instrucción. |
No obstante, la excepción a esto son las instrucciones de coma flotante y funciones aritméticas especiales, las cuales no se ejecutan desde la ALU principal, sino desde la FPU, también integrada en el mismo microprocesador. Por desgracia, el 486 no puede ejecutar dos instrucciones al mismo tiempo, ya que el Write Back solo da soporte para una instrucción y la unidad del decodificador solo puede enviar una instrucción a la ALU por ciclo de reloj.
Memoria caché integrada y externa
Uno de los puntos más polémicos del 486 es su memoria caché. La CPU soporta dos niveles de caché, el primero de ellos es interno y consiste en 8 KB de memoria SRAM, sin embargo, al contrario de otras memorias caché L1, esta no se encuentra dividida en datos e instrucciones. Al revés que su rival, el 68040, el cual usaba 4 KB para datos y 4 KB para instrucciones. Si bien este añadido fue uno de los puntos de mejora respecto al 386, al compartir datos e instrucciones por el mismo espacio y acceso, esto no permitía un acceso óptimo y llevaba a una mayor tasa de fallos de caché.
En cuanto a la caché de segundo nivel, esta se encontraba fuera del microprocesador, era opcional y se instalaba en la placa base. Por lo que su inclusión dependía de quién montará el ordenador. En algunas placas base baratas, algunos fabricantes se atrevieron a instalar chips falsos. El tamaño de caché L2 en los sistemas basados en el 486 era variable y podía desde los 128 KB a 1 MB a través de colocar configuraciones de uno o varios chips distintos.
El hecho de tener más o menos chips de L2 externa en placa suponía más o menos probabilidades de encontrar el dato en la misma y se reducía con ello la latencia de las instrucciones. No obstante, el tamaño estándar de la caché L2 externa era de 256 KB porque se llega al punto en que las mejoras de rendimiento disminuían. Por ejemplo, pasar de 128 KB de caché L2 externa a 256 KB era una mejora notable, pero hacerlo de 512 KB a 1 MB no era justificable debido a la mejora marginal.
El modo BURST
En la fase de captación, el 486 necesita 2 ciclos de reloj para copiar la información desde la memoria a la memoria caché, lo cual contradice la afirmación de que las CPU de esta arquitectura pueden realizar cada una de las etapas en un solo ciclo. No obstante, aquí hay una trampa que es el modo BURST, el cual se da cuando se copian direcciones de memoria consecutivas hacia la memoria caché, lo cual es la forma de acceso a memoria más común.
FPU
Uno de los cambios más importantes en el 486 fue la integración de la FPU dentro de la propia CPU, al menos en la serie DX, ya que los 486 SX carecían de dicha unidad de cálculo, por lo que para poder utilizar dicha unidad era necesario, al igual que en generaciones anteriores, comprar e instalar el coprocesador matemático en la placa. Dicha unidad era en realidad un 486 DX completo con FPU integrada que, al instalarlo en la placa, desconectaba al 486 SX.
Esto se hizo por el hecho de que la ventaja de integrar la FPU dentro del microprocesador es que reduce la latencia de comunicación con esta unidad al encontrarse físicamente en el mismo chip. Ahora bien, su set de registros e instrucciones, el mismo que del 387. Por lo que la unidad de coma flotante del 486 dispone para si misma de 8 registros de 80 bits cada uno y no solo se encarga de los cálculos en coma flotante de simple (32 bits) o de doble precisión (64 bits), sino también de realizar funciones complejas como cálculo trigonométrico, raíces cuadradas y similares, las cuales necesitan una mayor cantidad de ciclos de reloj para ejecutarse, por lo que la FPU implementa mecanismos avanzados para solventarlas con mayor celeridad.
La batalla de los MHz
Si bien Motorola tenía una mejor arquitectura con el 68040, Intel ganó la partida gracias al hecho de ser fabricante de chips y planear hasta 3 versiones del 486 en su vida comercial, cada una de ellas en un nodo de fabricación más avanzado que el anterior, llegando a lanzar versiones a 1 micrómetro, 800 nanómetros y 600 nanómetros durante la vida de este microprocesador. Si bien el uso de litografías más avanzadas es normal en la industria, Intel lo aplicó agresivamente con el 486, lo que entre otras cosas le permitió alcanzar velocidades de reloj mucho más altas que su rival directo, el cual se quedó en los 40 MHz de velocidad máxima, mientras que Intel consiguió lanzar con el tiempo el 486 DX4 a 100 MHz.
Una de las ventajas de rehacer un chip con transistores más pequeños es que permite frecuencias más altas en la misma arquitectura, cosa que Intel aprovechó para lanzar los 486 DX2 a 50 MHz y 66 MHz con el rediseño a 800 nm. Para la tercera generación, ya a 600 nm, el voltaje de funcionamiento pasó de los 5 V a los 3.3 V, permitiendo un menor consumo energético. Esto significó también el adiós definitivo de cualquier vestigio, por pequeño que fuera, del uso de chips TTL en las placas base de los ordenadores. Además, esto hizo viables por primera vez los ordenadores portátiles tal y como los conocemos hoy en día.
El nacimiento del PC contemporáneo
Si bien el 386 supuso el principio del fin del monopolio de IBM a través de la Gang of Nine, Intel tomó una decisión en 1989 que cambiará la historia al lanzar una versión PGA del 386 DX al mercado, cuya particularidad era que no iba soldado directamente a la placa. Se lanzó en 1989, pocos meses antes del lanzamiento del 486, marcando con ello una nueva era en el mundo del PC, ya que permitió el nacimiento de los clónicos montados por los propios usuarios. Antes de eso, era imposible comprar una placa base por separado y montar el ordenador a piezas, ya que había pocos fabricantes existentes y estos te vendían el ordenador ya montado.
No obstante, el boom llegó con el 486, donde, excepto en el caso de los ordenadores portátiles, todas las CPU se empezaron a vender para ser instaladas en un socket, incluso las que se vendían a los ensambladores de ordenadores completos. ¿Las consecuencias de ello? Miles de configuraciones distintas entre los usuarios, haciendo necesaria la implementación de drivers manejados por el sistema operativo y la necesidad de sistemas Plug and Play. Y es que los primeros años del «móntate tu ordenador a piezas» fueron difíciles, ya que significa tocar configuraciones avanzadas que no todo el mundo conocía.
Los 3 sockets del 486 y las placas base
Hemos comentado antes que Intel lanzó 3 versiones del 486, cada una de ellas alcanzando velocidades de reloj distintas. Pues bien, al contrario de lo que ocurre a día de hoy donde una misma arquitectura puede mantener el mismo socket o zócalo o que este soporte varias generaciones de microprocesadores. Intel llego a lanzar hasta 3 sockets distintos con sus placas base de características diferenciadas, las unas de la otras, las cuales marcaron también la evolución del hardware de PC.
Característica | Socket 1 | Socket 2 | Socket 3 |
---|---|---|---|
Número de pines | 169 | 238 | 238 |
Encapsulado | PGA | PGA | PGA |
Voltaje CPU soportado | 5 V | 5 V | 5 V y 3.3 V |
Multiplicador CPU | x1 | x1, x2 | x1, x2, x3 |
Frecuencias CPU típicas | 16–33 MHz | 25–66 MHz | 33–100 MHz |
Zócalos de expansión | ISA 8/16-bit | ISA, VLB (VESA Local Bus) | ISA, VLB, PCI (iniciales) |
Tipos de RAM usados | FPM DRAM | FPM DRAM | FPM DRAM |
Sin embargo, la mejora principal fue que los chips accesorios como las unidades DMA, el gestor de interrupciones, el controlador de memoria y demás fueron integrados en dos chip sa partir de ese momento. Lo que hoy en día se conoce como chipset. El primero de estos chips, el cual era maestro del segundo era el llamado Northbridge, el cual se encargaba de gestionar los accesos a la RAM de la CPU, el resto de componentes y los periféricos, mientras que el Southbridge se encargaba del acceso a los periféricos y de las peticiones de interrupción de estos.
Eso sí, el lanzamiento de nuevas placas base con nuevos sockets y chipsets no solo se hizo para albergar las nuevas CPU, sino para añadir nuevas tecnologías que con el tiempo terminarían formando parte
VESA Local Bus
La aparición de tarjetas SVGA con cada vez más resolución y la consolidación del PC como la plataforma de videojuegos de alta gama se dio inicialmente de bruces con el limitado ancho de banda. Si bien existía la versión de 32 bits del ISA (EISA) este solo funciona a una velocidad de 8 MHz, lo que provocaba un cuello de botella enorme en la comunicación entre la CPU y la tarjeta gráfica. La solución vino con el VLB o VESA Local Bus introducido con el Socket 2, el cual solo se usó en el 486, ya que terminó siendo reemplazado por el PCI. ¿Su particularidad? Utilizaba la señal de reloj del microprocesador antes del multiplicador, permitiendo anchos de banda de hasta 132 MB/s gracias a su interfaz de 32 bits de datos.
PCI
No obstante, el más importante de los tres zócalos fue el Socket 3 por el hecho que supuso la introducción del puerto PCI, el cual terminaría con el tiempo reemplazando al ISA y se convertiría en un estándar para toda la industria, ya que sería también el reemplazo en los PC-98 del C-Bus de NEC y del MCA en el IBM PS/2. El zócalo PCI funciona a 33 MHz o 66 MHz con un bus de 32 bits, pudiendo alcanzar hasta los 266 MB/s. Su mayor novedad fue el soporte plug and play, lo que facilitaba la instalación de las tarjetas de expansión sin necesidad de configurar manualmente interrupciones o direcciones de memoria.
Además, no se encontraba atado a un procesador en concreto, ya que no utilizaba la señal de reloj del multiplicador, sino que tenía la suya propia. Esto permitió que el puerto PCI no solo se utilizara en microprocesadores de Intel posteriores al 486, sino también en otros sistemas como el Apple Macintosh basados ya en el set de registros e instrucciones PowerPC y donde reemplazó por completo al puerto NuBus del Macintosh II.
FPM DRAM
Para poder acceder a la memoria RAM en un solo ciclo, el 486 no solo se valía del modo BURST, sino también del uso de memoria DRAM del tipo Fast Page Mode (FPM). Su particularidad es que en el acceso a memoria a una misma fila, esta se mantiene activa, lo que es ideal para hacer accesos consecutivos o secuenciales. Esto le permite a la CPU acceder a múltiples columnas dentro de esa fila sin tener que reactivarla cada vez, lo que reduce los tiempos de acceso consecutivos.
En las primeras placas para el 486 era típico usar módulos SIMM de 30 contactos, pero dado que con el socket 3 estandarizaron los módulos de 72 contactos. La diferencia entre ambos es que los primeros solo podían transmitir 8 bits de datos por módulo, necesitando 4 expansiones de memoria para ocupar todo el bus de 32 bits del 486, mientras que el segundo daba una transferencia de 32 bits, por lo que era suficiente con un solo módulo de memoria. No obstante, había placas que tenían la capacidad de soportar varios módulos, pero la CPU solo tenía acceso a uno de los módulos de memoria en cada momento.
Y con esto hemos terminado, esperamos que este artículo acerca del 486 y lo que supuso para la informática os haya gustado.