Motorola 68020 - Motorola 68020

Motorola 68020
Información general
Lanzado 1984
Diseñada por Motorola
Rendimiento
Max. Frecuencia de reloj de la CPU 12,5 MHz a 33 MHz
Ancho de datos 32 bits
Ancho de la dirección 32 bits
Cache
Caché L1 Icache de 256 bytes
Arquitectura y clasificación
Conjunto de instrucciones Motorola serie 68000
Especificaciones físicas
Transistores
Paquete (s)
Productos, modelos, variantes
Variante (s)
Historia
Predecesor Motorola 68010
Sucesor Motorola 68030
XC68020, un prototipo del 68020

El Motorola 68020 (" sesenta y ocho-oh-veinte ", " sesenta y ocho-oh-dos-oh " o " seis-ocho-oh-dos-oh ") es un microprocesador de 32 bits de Motorola , lanzado en 1984 También se puso a disposición una versión de menor costo, conocida como 68EC020 . De acuerdo con las prácticas de nomenclatura comunes a los diseños de Motorola, el 68020 generalmente se conoce como "020", que se pronuncia "oh-two-oh" o "oh-veinte".

Descripción

Motorola 68020

El 68020 tiene buses de direcciones y datos internos y externos de 32 bits, en comparación con los primeros modelos 680x0 con buses de datos de 16 bits y direcciones de 24 bits. La ALU del 68020 también es de forma nativa de 32 bits, por lo que puede realizar operaciones de 32 bits en un ciclo de reloj, mientras que el 68000 tomó un mínimo de dos ciclos de reloj debido a su ALU de 16 bits. Los métodos de empaquetado más nuevos permitieron que el '020 presentara más pines externos sin el gran tamaño que requería el método anterior de empaquetado dual en línea . El 68EC020 redujo el costo a través de un bus de direcciones de 24 bits. El 68020 se produjo a velocidades que van desde 12 MHz a 33 MHz.

Motorola 68020 die shot
vista inferior de un Motorola XC68020

Mejoras sobre el 68010

El 68020 tiene una unidad lógica aritmética (ALU) de 32 bits, buses de direcciones y datos externos de 32 bits. Agrega instrucciones adicionales y modos de direccionamiento adicionales. El 68020 (y 68030) tiene una tubería adecuada de tres etapas. Aunque el 68010 tenía un "modo de bucle", que aceleraba los bucles a través de lo que era efectivamente una pequeña caché de instrucciones, solo contenía dos instrucciones breves y, por lo tanto, se usaba poco. El 68020 reemplazó esto con una caché de instrucciones adecuada de 256 bytes, el primer procesador de la serie 68k que presenta una verdadera memoria caché en chip.

Los procesadores 68000 y 68010 anteriores solo podían acceder a datos de palabra (16 bits) y palabra larga (32 bits) en la memoria si estaban alineados por palabras (ubicados en una dirección par). El 68020 no tiene restricciones de alineación en el acceso a los datos. Naturalmente, los accesos no alineados son más lentos que los alineados porque requieren un acceso adicional a la memoria.

El 68020 tiene una pequeña caché de instrucciones mapeadas directamente de 256 bytes, organizadas como 64 entradas de cuatro bytes. Aunque pequeño, todavía marcó una diferencia significativa en el rendimiento de muchas aplicaciones. La disminución resultante en el tráfico de autobuses fue particularmente importante en los sistemas que dependen en gran medida de DMA .

Soporte de coprocesador

El 68020 tiene una interfaz de coprocesador que admite hasta ocho coprocesadores. La CPU principal reconoce las instrucciones de "línea F" (con los cuatro bits de código de operación más importantes todos uno) y utiliza ciclos de bus especiales para interactuar con un coprocesador para ejecutar estas instrucciones. Se definieron dos tipos de coprocesadores: unidades de punto flotante ( FPU MC68881 o MC68882 ) y la unidad de gestión de memoria paginada ( MC68851 PMMU). Solo se puede utilizar una PMMU con una CPU. En principio, se podrían usar varias FPU con una CPU, pero no se hacía comúnmente. La interfaz del coprocesador es asíncrona, por lo que es posible ejecutar los coprocesadores a una frecuencia de reloj diferente a la de la CPU.

Funciones de multiprocesamiento

El soporte de multiprocesamiento se implementa externamente mediante el uso de un pin RMC para indicar un ciclo indivisible de lectura-modificación-escritura en curso. Todos los demás procesadores deben retrasar los accesos a la memoria hasta que se complete el ciclo. El soporte de software para multiprocesamiento incluye las instrucciones TAS , CAS y CAS2 .

En un sistema multiprocesador, los coprocesadores no se pueden compartir entre CPU. Para evitar problemas con las devoluciones del coprocesador, el error de bus y las excepciones de error de dirección, en un sistema multiprocesador generalmente era necesario que todas las CPU fueran del mismo modelo y que todas las FPU también fueran del mismo modelo.

Conjunto de instrucciones

Las nuevas instrucciones incluyen algunas mejoras menores y extensiones al estado de supervisor, varias instrucciones para la gestión de software de un sistema de multiprocesamiento (que se eliminaron en el 68060), algo de soporte para lenguajes de alto nivel que no se utilizaron mucho (y se eliminó de futuros procesadores 680x0), instrucciones más grandes de multiplicar (32 × 32 → 64 bits) y dividir (64 ÷ 32 → 32 bits de cociente y 32 bits restantes) y manipulaciones de campo de bits.

Los nuevos modos de direccionamiento agregan indexación escalada y otro nivel de direccionamiento indirecto a muchos de los modos preexistentes.

Si bien el 68000 tenía un 'modo supervisor', no cumplía con los requisitos de virtualización de Popek y Goldberg debido a que la instrucción única 'MOVE from SR' no tenía privilegios pero era sensible. En el modelo 68010 y posteriores, esto se convirtió en privilegiado para brindar un mejor soporte al software de virtualización.

Arquitectura

Registros Motorola 68020
3 1 ... 2 3 ... 1 5 ... 0 7 ... 0 0 (posición de bit)
Registros de datos
D0 Datos 0
D1 Datos 1
D2 Datos 2
D3 Datos 3
D4 Datos 4
D5 Datos 5
D6 Datos 6
D7 Datos 7
Registros de direcciones
A0 Direccion 0
A1 Dirección 1
A2 Dirección 2
A3 Direccion 3
A4 Direccion 4
A5 Direccion 5
A6 Direccion 6
Apilar punteros
A7 / USP Puntero de pila (usuario)
A7 '/ SSP Puntero de pila (supervisor)
Contador de programa
ordenador personal Contador de programa
Registro de código de condición
  1 5 1 4 1 3 1 2 1 1 1 0 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 (posición de bit)
  T S METRO 0 I 0 0 0 X norte Z V C CCR

Con buses de direcciones internos y externos completos de 32 bits, los registros de direcciones (A0 a A7) podían utilizar su ancho completo de 32 bits y eran capaces de direccionar todo el espacio de direcciones de 4 GB.

Los anchos efectivos más grandes de los registros de direcciones presentaban algún problema para el software anterior que no se consideraba " limpio de 32 bits ". Algunos programas usaban los 8 bits altos (bits 24-31) de las direcciones para contener varios bits de bandera, en el entendimiento de que las CPUs de 680x0 anteriores ignorarían con seguridad estos bits altos. Dicho software tuvo que ser reescrito para ajustarse al mayor espacio de direcciones físicas disponible para las CPU 68020 y posteriores.

Uso

El 68020 se usó en las computadoras personales Apple Macintosh II y Macintosh LC , estaciones de trabajo Sun 3 , Amiga 1200 (nota: el Amiga 1200 usó la variante 68EC020 de menor costo), los analizadores de red de la serie Hewlett-Packard 8711 y miembros posteriores de HP 9000 /300 familia y el Alfa Microsystems AM-2000. Además, el 68020 fue una actualización alternativa al 68008 de la computadora Sinclair QL en la interfaz Super Gold Card de Miracle Systems .

El Amiga 2500 y A2500UX se enviaron con el Acelerador A2620 utilizando una unidad de punto flotante 68020, una 68881 y la unidad de gestión de memoria 68851. El 2500UX se envía con Amiga Unix y requiere un procesador '020 o' 030.

Varios osciloscopios digitales desde mediados de los 80 hasta finales de los 90 utilizaron el 68020, incluida la serie LeCroy 9300 (los modelos de gama alta, incluidos los modelos con sufijo "C", utilizaron el 68EC030 más potente ; los modelos 9300 con un procesador 68020 pueden actualizarse al 68EC030 con un cambio de la placa de la CPU) y la serie LeCroy 9400 anterior (todos los modelos excluyendo el 9400 / 9400A que usaba el 68000 ), junto con ciertos modelos de la serie Tektronix TDS. Los modelos HP 54520, 54522, 54540 y 54542 también utilizan el 68020, junto con un coprocesador matemático 68882.

También es el procesador que se utiliza a bordo de los trenes TGV para decodificar la información de señalización que se envía a los trenes a través de los rieles. Además, se está utilizando en los sistemas de radar y control de vuelo del avión de combate Eurofighter Typhoon .

El conmutador de oficina central telefónica DMS-100 de Nortel Networks también utilizó el 68020 como el primer microprocesador del núcleo informático SuperNode.

Variante

Motorola MC68EC020

El 68EC020 es una versión de menor costo del Motorola 68020. La principal diferencia entre los dos es que el 68EC020 solo tiene un bus de direcciones de 24 bits, en lugar del bus de direcciones de 32 bits del 68020 completo, y por lo tanto solo puede dirección 16 MB de memoria.

La computadora Amiga 1200 y la consola de juegos Amiga CD32 usan el 68EC020 de costo reducido; las placas recreativas Namco System 22 , Taito F3 y Konami GX también utilizaron este procesador. El prototipo Atari Jaguar II también incluyó esto para reemplazar el 68000 de la consola Atari Jaguar original . También encontró uso en impresoras láser. Apple lo usó en el LaserWriter IIɴᴛx. Kodak lo usó en el Ektaplus 7016PS y Dataproducts lo usó en el LZR 1260.

En 2014, Rochester Electronics restableció la capacidad de fabricación del microprocesador 68020 y todavía está disponible en la actualidad.

Datos técnicos

Nombre formal MC68020
Frecuencia de reloj de la CPU 12.5, 16.67, 20, 25, 33 MHz (mínimo 8 MHz, sin generación de reloj en chip)
Suministro de voltaje 5 V
Poder maximo 1,75 W
Proceso de producción HCMOS, pieza de silicona de 3/8 "
Portador de chips PGA 169 (se utilizan 114 pines) 34,16 mm × 34,16 mm (53 ° C / W sin disipador térmico)
Bus de direcciones 32 bits (4 GB directamente accesibles linealmente)
Bus de datos 32 bits
Conjunto de instrucciones 101 instrucciones CISC
Cache Icache de 256 bytes
Registrarse
  • 7 para operaciones de dirección (32 bits)
  • 8 para operaciones de datos (32 bits)
Manejo de sucursales Predicción de rama:
  • Predicción de rama fija, enfoque de rama nunca tomada
Transistores ~ 200 000
Rendimiento 10 MIPS a 33 MHz

Referencias

enlaces externos