Motorola 68010

Modelo de microprocesador
Motorola 68010/68012
información general
Lanzado1982
Diseñado porMotorola
Actuación
Frecuencia máxima de reloj de la CPU De 8 MHz a 16,67 MHz
Ancho de datos16 bits
Ancho de direcciónMC68010: 24 bits
MC68012: 31 bits
Arquitectura y clasificación
Conjunto de instruccionesSerie Motorola 68000
Especificaciones físicas
Transistores
  • 69.000 [1]
Paquetes
Historia
PredecesorMotorola 68000
SucesorMotorola 68020
Motorola 68010 como DIP
Motorola 68010 como PGA

El Motorola MC68010 y el Motorola MC68012 son microprocesadores de 16/32 bits de Motorola , lanzados en 1982 como sucesores del Motorola 68000. [ 3] El 68010 y el 68012 agregaron funciones de virtualización, optimizaron bucles y corrigieron varios defectos pequeños del 68000. Las variantes MC68010 eran compatibles con pines con su predecesor, mientras que el MC68012 es una versión PGA de 84 pines con su espacio de memoria directamente accesible extendido a 2  GiB . [2] [4]

Diferencias entre 68010/68012 y 68000

Los 68010 y 68012 son completamente compatibles con el modo de usuario del 68000, excepto que la instrucción MOVE from SR realiza trampas en modo de usuario, de modo que, para admitir código de modo de usuario que use esa instrucción, un controlador de trampas en modo supervisor debe simular la instrucción y continuar el código de modo de usuario después de esa instrucción. Esto se hizo para que el 68010 y el 68012 cumplieran con los requisitos de virtualización de Popek y Goldberg , específicamente que un nuevo SO podría ejecutarse como invitado y no estar al tanto. [2] : §1.3.2  Se agregó una nueva instrucción MOVE from CCR sin privilegios para compensar la penalidad de atrapar MOVE from SR en modo de usuario.

Los 68010 y 68012 pueden recuperarse de fallas de bus y continuar con la instrucción que generó la falla, lo que les permite implementar memoria virtual . Esto significa que el marco de pila de excepciones es diferente.

Un registro de base vectorial (VBR) de 32 bits contiene la dirección base de la tabla de vectores de excepción . La tabla de vectores 68000 siempre se basó en la dirección cero.

Un "modo de bucle" acelera los bucles que consisten únicamente en una instrucción "bucleable" y un DBcc (Decremento/Bifurcación según condición); un ejemplo sería MOVE y DBRA. Los códigos de operación de minibucle de dos instrucciones se obtienen previamente y se guardan en la caché de instrucciones de 6 bytes, mientras que los ciclos de lectura/escritura de memoria posteriores solo son necesarios para los operandos de datos durante la duración del bucle. [2] : §7.1.3  Preveía mejoras de rendimiento de un promedio del 50%, como resultado de la eliminación de la obtención de códigos de operación de instrucciones durante el bucle.

Motorola 68012
Matriz de Motorola 68012

La variante MC68012, además de ampliar su espacio de memoria a 2 GiB, también agregó un pin de ciclo de lectura-modificación-escritura (RMC), indicando que un ciclo de lectura-modificación-escritura indivisible está en curso, con el fin de ayudar al diseño de sistemas multiprocesador con memoria virtual.

La expansión del espacio de memoria en el 68012 provocó un problema para cualquier programa que utilizara el byte alto de una dirección para almacenar datos, un truco de programación que tuvo éxito con aquellos procesadores que solo tienen un bus de direcciones de 24 bits (68000 y 68010). Un problema similar afectó al 68020 .

Uso

El 68010 nunca fue tan popular como el 68000. Sin embargo, debido al pequeño aumento de velocidad del 68010 sobre el 68000 y su soporte para memoria virtual, se puede encontrar en una serie de sistemas Unix más pequeños , tanto con la MMU 68451 (por ejemplo en el Torch Triple X ), como con una MMU personalizada (como la Sun-2 Workstation , AT&T UNIX PC/3B1 , Convergent Technologies MiniFrame, Plexus P/15 y P/20, [5] NCR Tower XP, DN300 y DN320 de Apollo Computer , [6] y HP 9000 Model 310) y varias máquinas de investigación. La mayoría de los demás proveedores (como Apple Computer) se quedaron con el 68000 hasta que se introdujo el 68020 .

Atari Games utilizó el 68010 en algunas de sus placas arcade, como el Atari System 1. Algunos propietarios de ordenadores Amiga y Atari ST y consolas de juegos Sega Genesis reemplazaron la CPU 68000 de su sistema por un 68010 para obtener un pequeño aumento de velocidad. [7]

En la práctica, la ganancia de velocidad general sobre un 68000 a la misma frecuencia es inferior al 10%.

Unidad de memoria multimodo Motorola 68451

El 68010 podía utilizarse con la MMU 68451. Sin embargo, algunos aspectos de su diseño, como la penalización de acceso a memoria de 1 reloj , hicieron que esta configuración fuera impopular. Algunos fabricantes utilizaban sus propios diseños de MMU, como Sun Microsystems en su estación de trabajo Sun-2 y Convergent Technologies en el AT&T UNIX PC/3B1 .

Referencias

  1. ^ "i486, 68040 Utilizar la segmentación para acelerar el rendimiento". InfoWorld : 39. 8 de mayo de 1989.
  2. ^ abcdefg MC68010/MC68012 Microprocesadores de memoria virtual de 16 y 32 bits (PDF) . Motorola Semiconductor. Mayo de 1985. Archivado (PDF) desde el original el 28 de marzo de 2020.
  3. ^ "Familia Motorola 68010 (MC68010)". CPU World .
  4. ^ Avtar, Singh; Triebel, Walter A. (1991). Microprocesadores de 16 y 32 bits: arquitectura, software y técnicas de interconexión . Englewood Cliffs, Nueva Jersey: Prentice-Hall . ISBN. 978-0138121570.
  5. ^ "Folleto de Plexus P/15-P/20" (PDF) . UserManual.wiki . Plexus Computers, Inc. 1985 . Consultado el 28 de mayo de 2024 .
  6. ^ "Descripción general de las publicaciones técnicas de Apollo Computer" (PDF) . Apollo Computer. Junio ​​de 1987 . Consultado el 13 de octubre de 2022 .
  7. ^ Floryan, Thad. "NOTA TÉCNICA DE AMIGA (tm) Actualización de un AMIGA A1000 con un Motorola MC68010L8".
  • 68010 imágenes y descripciones en cpu-collection.de
Obtenido de "https://es.wikipedia.org/w/index.php?title=Motorola_68010&oldid=1230679507"