Articulo de referencia

Motorola 68010

{{cite journal |title=i486, 68040 Use Pipelining To Speed Up Performance |journal=InfoWorld |date=May 8, 1989 |page=39 |url=https://books.google.com/books?id=RzoEAAAAMBAJ&pg=PT3...

Motorola 68010 como DIP
Motorola 68010 como PGA

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

Diferencias entre 68010/68012 y 68000

Los 68010 y 68012 son completamente compatibles en modo usuario con el 68000, excepto que la instrucción MOVE from SR genera una interrupción en modo usuario, de modo que, para admitir código en modo usuario que utilice esa instrucción, un manejador de interrupciones en modo supervisor debe simular la instrucción y continuar el código en modo usuario después de esa instrucción. Esto se hizo para que los 68010 y 68012 cumplieran con los requisitos de virtualización de Popek y Goldberg , específicamente que un nuevo sistema operativo pudiera ejecutarse como invitado y no ser consciente. [ 2 ] : §1.3.2 Se agregó una nueva instrucción MOVE from CCR sin privilegios para compensar la penalización de generar una interrupción en modo usuario con MOVE from SR.

Los procesadores 68010 y 68012 pueden recuperarse de fallos en el bus y continuar con la instrucción que causó el fallo, lo que les permite implementar memoria virtual . Esto significa que el marco de pila de excepciones es diferente.

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

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

Motorola 68012
Matriz del Motorola 68012

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

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

Uso

Unidad de gestión de memoria Motorola 68451

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

El 68010 nunca fue tan popular como el 68000 en los años en que estuvo disponible. Sin embargo, debido al pequeño aumento de velocidad del 68010 con respecto al 68000 y su soporte para memoria virtual, se puede encontrar en varios 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 estación de trabajo Sun-2, 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 Modelo 310), así como en varias máquinas de investigación. La mayoría de los demás proveedores (como Apple Computer ) siguieron utilizando el 68000 hasta que se introdujo el 68020 .

El 68010 se utilizó en algunos juegos arcade como Marble Madness (1984) para el Atari System 1. Algunos propietarios de ordenadores Amiga y Atari ST , así como de consolas Sega Genesis, reemplazaron la CPU 68000 de su sistema por una 68010 para obtener un pequeño aumento de velocidad. [ 7 ] [ 8 ] En la práctica, la ganancia de velocidad total con respecto a un 68000 a la misma frecuencia es inferior al 10 %.

Referencias

  1. "i486, 68040 Use Pipelining To Speed ​​Up Performance" . InfoWorld : 39. 8 de mayo de 1989.
  2. 1 2 3 4 5 6 7 Microprocesadores de memoria virtual de 16/32 bits MC68010/MC68012 (PDF) . Motorola Semiconductor. Mayo de 1985. Archivado (PDF) del 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 interfaz . 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. "Resumen 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" . Archivado del original el 29 de septiembre de 2023.
  8. "Modificación Genesis 68010" . mode5.net . Archivado del original el 12 de abril de 2021.
  • 68010 imágenes y descripciones en cpu-collection.de