Motorola 68040

Compartir Imprimir Citar
Un microprocesador Motorola 68040
Motorola 68040 disparo con FPU a la izquierda

El Motorola 68040 ("sesenta y ocho-oh-cuarenta") es un microprocesador de 32 bits de la serie Motorola 68000, lanzado en 1990. Es el sucesor del 68030 y es seguido por el 68060, omitiendo el 68050. De acuerdo con la denominación general de Motorola, el 68040 a menudo se conoce simplemente como el '040 (pronunciado oh-four -oh o oh-cuarenta).

El 68040 fue el primer miembro de la familia 680x0 con una unidad de punto flotante (FPU) en el chip. Por lo tanto, incluía toda la funcionalidad que anteriormente requería chips externos, a saber, la FPU y la Unidad de administración de memoria (MMU), que se agregó en el 68030. También tenía cachés de datos e instrucciones divididas de 4 kilobytes cada uno. Estaba totalmente canalizado, con seis etapas.

Se crearon versiones del 68040 para segmentos de mercado específicos, incluido el 68LC040, que eliminó la FPU, y el 68EC040, que eliminó tanto la FPU como la MMU. Motorola había diseñado la variante EC para uso integrado, pero los procesadores integrados durante la época del 68040 no necesitaban la potencia del 68040, por lo que las variantes EC del 68020 y el 68030 continuaron siendo comunes en los diseños.

Motorola produjo varios grados de velocidad. Las partes de 16 MHz y 20 MHz nunca se calificaron (designación XC) y se usaron como muestras de prototipos. Los grados de 25 MHz y 33 MHz aparecían en toda la línea, pero hasta alrededor de 2000, el grado de 40 MHz era solo para el "completo" 68040. Se canceló un grado planificado de 50 MHz después de que superó el sobre de diseño térmico.

Uso

En las computadoras Apple Macintosh, el 68040 se introdujo en el Macintosh Quadra, que recibió su nombre del chip. El procesador 68040 más rápido tenía una frecuencia de 40 MHz y solo se usó en Quadra 840AV. Los modelos más caros de la línea Macintosh Centris (de corta duración) también usaban el 68040, mientras que los más baratos Quadra, Centris y Macintosh Performa usaban el 68LC040. El 68040 también se usó en otras computadoras personales, como Amiga 4000 y Amiga 4000T, así como en varias estaciones de trabajo, servidores Alpha Microsystems, la serie HP 9000/400, Apollo Computer's DN5500 y versiones posteriores de la computadora Próxima.

El procesador 68040 se utiliza en las computadoras de gestión de vuelo (FMC) a bordo de muchos aviones Boeing 737, incluidos todos los modelos Next Generation y MAX.

Diseño

El 68040 alcanzó el límite de presupuesto del transistor al principio del diseño. Si bien la MMU no tomó muchos transistores, de hecho, al tenerlo en el mismo troquel que la CPU realmente ahorró en transistores, la FPU ciertamente lo hizo. La FPU externa 68882 de Motorola era conocida como una unidad de muy alto rendimiento y Motorola no deseaba arriesgar a los integradores que usaban la "LC" versión con un 68882 en lugar de la más rentable "RC" unidad. (Para obtener información sobre el modelo de multiprocesamiento de Motorola con la serie 680x0, consulte Motorola 68020). Por lo tanto, la FPU en el 68040 no pudo realizar las funciones trascendentales de IEEE, que habían sido compatibles con el 68881 y el 68882 y fueron utilizadas por el popular software de generación de fractales de la época y poco más. El paquete de soporte de coma flotante de Motorola (FPSP) emuló estas instrucciones en software bajo interrupción. Como se trataba de un controlador de excepciones, el uso intensivo de las funciones trascendentales provocaba graves penalizaciones de rendimiento.

El calor siempre fue un problema a lo largo de la vida del 68040. Si bien entregó más de cuatro veces el rendimiento por reloj del 68020 y el 68030, la complejidad del chip y los requisitos de energía provinieron de una gran matriz y grandes cachés. Esto afectó la escala del procesador y nunca pudo funcionar con una frecuencia de reloj superior a 40 MHz. Se planeó una variante de 50 MHz, pero se canceló. Los entusiastas del overclocking informaron que lograron alcanzar los 50 MHz usando un oscilador de 100 MHz en lugar de una parte de 80 MHz y la entonces novedosa técnica de agregar disipadores de calor de gran tamaño con ventiladores.

El 68040 ofrecía las mismas características que el Intel 80486, pero reloj por reloj podía superar significativamente al chip Intel en instrucciones de punto flotante y entero.

Variantes

68EC040

El 68EC040 es una versión del microprocesador Motorola 68040, diseñado para controladores integrados (EC). Se diferencia del 68040 en que no tiene FPU ni MMU. Esto lo hace menos costoso y consume menos energía. El 68EC040 se utilizó en el Switch Supervisor Engine I de Cisco, que es el corazón de los modelos 2900, 2948G, 2980G, 4000, 4500, 5000, 5500, 6000, 6500 y 7600.

68LC040

Muere de un Motorola 68LC040

El 68LC040 es una versión de bajo costo del microprocesador Motorola 68040 sin FPU. Esto lo hace menos costoso y consume menos energía. Aunque la CPU ahora se ajusta a una tabla de funciones más parecida a la del Motorola 68030, continúa incluyendo los cachés y la canalización del 68040 y, por lo tanto, es significativamente más rápida que el 68030.

Algunas revisiones de máscaras del 68LC040 contenían un error que evita que el chip funcione correctamente cuando se usa un emulador de FPU de software. De acuerdo con la errata de Motorola, cualquier chip con un conjunto de máscaras 2E71M o posterior no contiene el error. Esta nueva máscara se introdujo a mediados de 1995 y convirtió el chip 68LC040 en estado MC.

Las revisiones con errores generalmente se encuentran en computadoras Apple Macintosh basadas en 68LC040. Se ha confirmado que los chips con el juego de máscaras 2E23G (como se usa en el LC 475) están defectuosos. La falla se relaciona con las escrituras pendientes que se pierden cuando se activa la excepción de línea F. El 68040 no puede actualizar su microcódigo a la manera de los chips x86 modernos. Esto significa que la única manera de usar software que requiere funcionalidad de coma flotante es reemplazar el buggy 68LC040 con una revisión posterior o un 68040 completo.

Tabla de características

VarianteMMUFPU
68040Sí.Sí.
68LC040Sí.No
68CE040NoNo

Datos técnicos

Tasa de reloj CPU 25, 33, 40 MHz
Proceso de producción CMOS estático 0,8 μm, 0.65 μm, Freescale 0,57 μm
Portaequipajes 179 cerámica PGA y 184 QFP
Dirección bus 32 bits
Autobús de datos 32 bits
Conjunto de instrucciones CISC
Transistores ~1,200,000

ATC = caché de traducción de direcciones