La serie Motorola 68000 (también conocida como 680x0 , m68000 , m68k o 68k ) es una familia de microprocesadores de computadora de conjunto de instrucciones complejas (CISC) de 32 bits . Durante la década de 1980 y principios de 1990, que fueron populares en los ordenadores personales y estaciones de trabajo y fueron los principales competidores de Intel 's x86 microprocesadores. Eran más conocidos como los procesadores utilizados en los primeros Apple Macintosh , el Sharp X68000 , el Commodore Amiga , el Sinclair QL , elAtari ST , Sega Genesis (Mega Drive), Capcom System I (Arcade), AT&T UnixPC , Tandy Model 16 / 16B / 6000 , Sun Microsystems Sun-1 , Sun-2 y Sun-3 , la computadora NeXT , las calculadoras Texas Instruments TI-89 / TI-92 , Palm Pilot (todos los modelos que ejecutan Palm OS 4.xo anterior) y el transbordador espacial . Aunque ninguna computadora de escritorio moderna se basa en procesadores de la serie 680x0, los procesadores derivados todavía se utilizan ampliamente en sistemas integrados .
Diseñador | Motorola |
---|---|
Bits | 32 bits |
Introducido | 1979 |
Diseño | CISC |
Derivación | Código de condición |
Endianidad | Grande |
Registros | |
|
Motorola dejó de desarrollar la arquitectura de la serie 680x0 en 1994, reemplazándola con la arquitectura PowerPC RISC , que fue desarrollada en conjunto con IBM y Apple Computer como parte de la alianza AIM .
Miembros de la familia
- Generación uno (internamente de 16/32 bits y producido con interfaces de 8 , 16 y 32 bits )
- Motorola 68000
- Motorola 68EC000
- Motorola 68SEC000
- Motorola 68HC000
- Motorola 68008
- Motorola 68010
- Motorola 68012
- Generación dos (internamente completamente de 32 bits)
- Motorola 68020
- Motorola 68EC020
- Motorola 68030
- Motorola 68EC030
- Generación tres ( canalizada )
- Motorola 68040
- Motorola 68EC040
- Motorola 68LC040
- Generación cuatro ( superescalar )
- Motorola 68060
- Motorola 68EC060
- Motorola 68LC060
- Otros
- Freescale 683XX (CPU32 también conocido como 68330, 68360 también conocido como QUICC )
- Freescale ColdFire
- Bola de dragón de escamas libres
- Philips 68070
Historial de mejora
68010 :
- Soporte de memoria virtual (instrucciones reiniciables)
- 'modo de bucle' para primitivas de biblioteca de memoria y cadenas más rápidas
- La instrucción de multiplicación usa 14 tics de reloj menos
68020 :
- Dirección de 32 bits y unidad aritmética lógica (ALU)
- Tubería de tres etapas
- Caché de instrucciones de 256 bytes
- Acceso ilimitado a datos de palabra y palabra larga (ver alineación )
- 8 × capacidad de multiprocesamiento
- Mayor multiplicar (32 × 32 -> 64 bits) y dividir (64 ÷ 32 -> 32 bits de cociente y 32 bits restantes) instrucciones y manipulaciones de campo de bits
- Los modos de direccionamiento agregaron indexación escalada y otro nivel de indirección
- Bajo costo, EC = dirección de 24 bits
68030 :
- Caché dividido de instrucciones y datos de 256 bytes cada uno
- Unidad de gestión de memoria en chip (MMU) (68851)
- EC de bajo costo = Sin MMU
- Interfaz de memoria de ráfaga
68040 :
- Cachés de instrucciones y datos de 4 KB cada uno
- Pipeline de seis etapas
- Unidad de punto flotante en chip (FPU)
- FPU carece de capacidad de función trascendental IEEE
- La emulación de FPU funciona con 2E71M y revisiones de chip posteriores
- LC de bajo costo = Sin FPU
- EC de bajo costo = Sin FPU y MMU
68060 :
- Cachés de instrucciones y datos de 8 KB cada uno
- Tubería de 10 etapas
- Unidad de multiplicación de enteros de dos ciclos
- Predicción de rama
- Canalización de instrucción dual
- Instrucciones en la unidad de generación de direcciones (AGU) y, por lo tanto, suministran el resultado dos ciclos antes que la ALU.
- LC de bajo costo = Sin MMU
- EC de bajo costo = Sin MMU y FPU
Mapa de características
Año | UPC | Paquete | Frecuencia (máx.) [En MHz] | Bits de bus de dirección | MMU | FPU |
---|---|---|---|---|---|---|
1979 | 68000 | 64-pin paquete doble línea en (DIP) , 68-pin LCC , 68-pin pin grid array (PGA) [1] | 8-20 | 24 | - | - |
mil novecientos ochenta y dos | 68010 | 64-pin DIP , 68 pines PLCC , 68-pin PGA [2] | 8-16,67 | 24 | 68451 | - |
1984 | 68020 | PGA de 114 pines [3] | 12,5–33,33 | 32 | 68851 | 68881 |
- | 68 EC 020 | Paquete plano cuádruple de 100 pines (QFP) [4] | 16.7-25 | 24 | - | - |
1987 | 68030 | QFP de 132 pines (máx. 33 MHz ), PGA de 128 pines [5] | 16–50 | 32 | MMU | 68881 |
68 EC 030 | QFP de 132 pines , PGA de 128 pines | 25 | 32 | - | 68881 | |
1991 | 68040 | PGA de 179 pines , [6] QFP de 184 pines [7] | 20–40 | 32 | MMU | FPU |
68 LC 040 | PGA , [7] QFP de 184 pines [7] | 20–33 | 32 | MMU | - | |
68 EC 040 | 20–33 [7] | 32 | - | - | ||
1994 | 68060 | PGA de 206 pines [8] [9] | 50–75 | 32 | MMU | FPU |
68 LC 060 | PGA de 206 pines , [8] [9] QFP de 208 pines [10] | 50–75 | 32 | MMU | - | |
68 EC 060 | PGA de 206 pines [8] [9] | 50–75 | 32 | - | - |
Usos principales
La línea de procesadores 680x0 se ha utilizado en una variedad de sistemas, desde modernas calculadoras de alta gama de Texas Instruments (las líneas TI-89 , TI-92 y Voyage 200 ) hasta todos los miembros de la serie Palm Pilot que ejecutan Palm OS 1.xa 4.x (OS 5.x está basado en ARM ), e incluso versiones endurecidas por radiación en los sistemas de control críticos del transbordador espacial .
Sin embargo, la familia de CPU 680x0 se hizo más conocida como los procesadores que alimentan computadoras de escritorio avanzadas y consolas de videojuegos como Apple Macintosh , Commodore Amiga , Sinclair QL , Atari ST , SNK NG AES / Neo Geo CD , Atari Jaguar , Commodore CDTV y varios otros. Los 680x0 también fueron los procesadores elegidos en la década de 1980 para estaciones de trabajo y servidores Unix como PC UNIX de AT&T , Modelo 16 / 16B / 6000 de Tandy, Sun-1 , Sun-2 , Sun-3 , NeXT Computer , Silicon Graphics de Sun Microsystems. (SGI) y muchos otros. Había una versión 68000 de CP / M llamada CP / M-68K, que inicialmente se propuso como el sistema operativo Atari ST, pero Atari eligió Atari TOS en su lugar. Muchos puertos específicos del sistema de CP / M-68K estaban disponibles, por ejemplo, TriSoft ofreció un puerto de CP / M-68K para el modelo Tandy 16 / 16B / 6000.
Además, y quizás lo más significativo, las primeras versiones de los intérpretes PostScript de Adobe estaban basadas en 68000. El 68000 en Apple LaserWriter y LaserWriter Plus se registró más rápido que la versión utilizada entonces en computadoras Macintosh. Un 68030 rápido en los intérpretes PostScript posteriores, incluidos los LaserWriter IIntx, IIf y IIg de resolución estándar (también 300 ppp), la serie LaserWriter Pro 600 de mayor resolución (generalmente 600 ppp, pero limitada a 300 ppp con un mínimo de RAM instalada) y el muy alto resolución Linotronic filmadoras, el 200 CV (1500+ ppp) y 300 CV (2500+ dpi). A partir de entonces, Adobe generalmente prefirió un RISC para su procesador, ya que sus competidores, con sus clones PostScript, ya habían optado por RISC, a menudo una serie AMD 29000. Los primeros intérpretes de Adobe PostScript basados en 68000 y su hardware recibieron el nombre de los cohetes y misiles estadounidenses de la Guerra Fría : Atlas, Redstone, etc.
Hoy en día, estos sistemas son de final de línea (en el caso de Atari) o utilizan procesadores diferentes (en el caso de Macintosh, Amiga, Sun y SGI). Dado que estas plataformas tuvieron su participación de mercado máxima en la década de 1980, sus fabricantes originales ya no admiten un sistema operativo para este hardware o están fuera del negocio. Sin embargo, los sistemas operativos Linux , NetBSD y OpenBSD aún incluyen soporte para procesadores 68000.
Los procesadores 68000 también se utilizaron en las consolas Sega Genesis (Mega Drive) y SNK Neo Geo como CPU principal. Otras consolas, como la Sega Saturn, utilizaron la 68000 para el procesamiento de audio y otras tareas de E / S, mientras que la Atari Jaguar incluyó una 68000 que estaba destinada al control básico del sistema y al procesamiento de entrada, pero debido a la inusual variedad de procesadores heterogéneos de Jaguar también se se utiliza con frecuencia para ejecutar la lógica del juego. Muchas placas de arcade también utilizaron procesadores 68000, incluidas placas de Capcom, SNK y Sega.
Los microcontroladores derivados de la familia 68000 se han utilizado en una gran variedad de aplicaciones. Por ejemplo, los microcontroladores CPU32 y ColdFire se han fabricado por millones como controladores de motores de automóviles.
Muchos sistemas de edición de video patentados usaban 68000 procesadores. En esta categoría podemos nombrar el MacroSystem Casablanca, que era una caja negra con una interfaz gráfica fácil de usar (1997). Estaba destinado al mercado de videógrafos aficionados y aficionados. También vale la pena señalar su contraparte anterior, más grande y más profesional, llamada "DraCo" (1995). La innovadora serie Quantel Paintbox de un sistema de efectos y pintura de 24 bits basado en principios se lanzó originalmente en 1981 y durante su vida útil usó casi el gama completa de procesadores de la familia 68000, con la única excepción del 68060, que nunca se implementó en su diseño. Otro competidor en el campo del video, el sistema Abekas 8150 DVE, usó el 680EC30, y el Trinity Play, más tarde rebautizado como Globecaster, usa varios 68030. El sistema de gráficos de video Bosch FGS-4000/4500 fabricado por Robert Bosch Corporation, más tarde BTS (1983), usaba un 68000 como procesador principal; llevó a varios otros a realizar animaciones 3D en una computadora que podía aplicar fácilmente el sombreado de Gouraud y Phong. Ejecuta un sistema operativo Motorola Versados modificado.
Arquitectura
Las personas que están familiarizadas con el PDP-11 o VAX generalmente se sienten cómodas con el 68000. Con la excepción de la división de registros de propósito general en registros de direcciones y datos especializados, la arquitectura del 68000 es en muchos sentidos un PDP-11 de 32 bits. .
Tenía un conjunto de instrucciones más ortogonal que los de muchos procesadores anteriores (por ejemplo, 8080) y posteriores (por ejemplo, x86). Es decir, normalmente era posible combinar operaciones libremente con operandos, en lugar de limitarse a usar ciertos modos de direccionamiento con ciertas instrucciones. Esta propiedad hizo que la programación fuera relativamente fácil para los humanos y también facilitó la escritura de generadores de código para compiladores.
El conjunto de instrucciones 68000 se puede dividir en las siguientes categorías generales:
- Cargar y almacenar (MOVER)
- Aritmética (ADD, SUB, MULS, MULU, DIVS, DIVU)
- Cambio de bits (ASL, ASR, LSL, LSR)
- Rotación de bits (ROR, ROL, ROXL, ROXR)
- Operaciones lógicas (Y, O, NO, EOR)
- Conversión de tipo ( byte a palabra y viceversa )
- Ramas condicionales e incondicionales (BRA, Bcc - BEQ, BNE, BHI, BLO, BMI, BPL, etc.)
- Invocación y devolución de subrutinas (BSR, RTS)
- Pila de gestión (LINK, UNLK, PEA)
- Causar y responder a interrupciones
- Manejo de excepciones
- No hay equivalente a la instrucción CPUID x86 para determinar qué CPU, MMU o FPU está presente.
68050 y 68070
No existía el 68050, aunque en un momento fue un proyecto dentro de Motorola. Los lanzamientos con números impares siempre han sido reacciones a problemas planteados dentro de la parte anterior con números pares; por lo tanto, generalmente se esperaba que el 68050 hubiera reducido el consumo de energía del 68040 (y por lo tanto la disipación de calor), mejorado el manejo de excepciones en la FPU, usado un tamaño de característica más pequeño y optimizado el microcódigo en línea con el uso de instrucciones del programa. Muchas de estas optimizaciones se incluyeron con el 68060 y eran parte de sus objetivos de diseño. Por varias razones, probablemente porque el 68060 estaba en desarrollo, que el Intel 80486 no progresaba tan rápido como Motorola suponía que lo haría, y que el 68060 era un proyecto exigente, el 68050 se canceló al principio del desarrollo.
Tampoco hay revisión del 68060 , ya que Motorola estaba en el proceso de alejarse de las líneas de procesadores 68000 y 88k a su nuevo negocio PowerPC , por lo que el 68070 nunca se desarrolló. Si lo hubiera sido, habría sido un 68060 revisado, probablemente con un FPU superior (la canalización se especuló ampliamente en Usenet).
Motorola usó principalmente números pares para revisiones importantes del núcleo de la CPU, como 68000, 68020, 68040 y 68060. El 68010 era una versión revisada del 68000 con modificaciones menores en el núcleo, e igualmente el 68030 era un 68020 revisado con algunos más potentes. características, ninguna de ellas lo suficientemente significativa como para clasificarse como una actualización importante del núcleo.
Había una CPU con la designación 68070 , que era una versión con licencia y algo más lenta del 68000 de 16/32 bits con un controlador DMA básico, host I²C y un puerto serie integrado en el chip. Este 68070 se utilizó como CPU principal en el CD-i de Philips . Sin embargo, esta CPU fue producida por Philips y oficialmente no formaba parte de la línea 680x0 de Motorola.
Última generación
El 68060 de cuarta generación proporcionó una funcionalidad equivalente (aunque no compatibilidad de arquitectura de conjunto de instrucciones) a la mayoría de las características de la microarquitectura Intel P5 .
Otras variantes
Los mainframes compatibles con IBM basados en PC XT / 370 y AT / 370 de las computadoras personales incluían cada uno dos procesadores Motorola 68000 modificados con microcódigo personalizado para emular las instrucciones del mainframe S / 370 . [11] [12]
Después de la desaparición de los procesadores 68000 de la línea principal, la familia 68000 se ha utilizado hasta cierto punto en versiones de microcontroladores y microprocesadores integrados. Estos chips incluyen los enumerados en "otros" arriba, es decir, el CPU32 (también conocido como 68330 ), el ColdFire , el QUICC y el DragonBall .
Con la llegada de la tecnología FPGA , un equipo internacional de desarrolladores de hardware ha recreado el 68000 con muchas mejoras como núcleo FPGA. Su núcleo se conoce como 68080 y se utiliza en los aceleradores Amiga de la marca Vampire. [13]
Magnetic Scrolls utilizó un subconjunto de las instrucciones del 68000 como base para la máquina virtual en sus aventuras de texto .
Competidores
Escritorio
Durante la década de 1980 y principios de la de 1990, cuando el 68000 se usó ampliamente en computadoras de escritorio, compitió principalmente con la arquitectura x86 de Intel utilizada en compatibles con IBM PC . Las CPU 68000 de generación 1 compitieron principalmente contra las 8086 , 8088 y 80286 de 16 bits . La generación 2 compitió contra el 80386 (el primer procesador x86 de 32 bits) y la generación 3 contra el 80486 . La cuarta generación compitió con la línea P5 Pentium , pero no se usó tan ampliamente como sus predecesores, ya que gran parte del antiguo mercado 68000 estaba extinto o casi desaparecido (como fue el caso de Atari y NeXT), o se estaba convirtiendo a uno más nuevo. arquitecturas ( PowerPC para Macintosh y Amiga , SPARC para Sun y MIPS para Silicon Graphics (SGI)).
Incorporado
Hay docenas de arquitecturas de procesadores que tienen éxito en los sistemas integrados . Algunos son microcontroladores que son mucho más simples, más pequeños y más baratos que el 68000, mientras que otros son relativamente sofisticados y pueden ejecutar software complejo. Las versiones integradas del 68000 a menudo compiten con arquitecturas de procesador basadas en PowerPC , ARM , MIPS , SuperH y otras.
Referencias
- ^ cpu-world.com - Familia de microprocesadores Motorola 68000 17/11/2012
- ↑ cpu-world.com - Familia Motorola 68010 (MC68010) 17/11/2012
- ^ Cpu-world.com - Motorola 68020 familia (MC68020) microprocesador 12/12/2012
- ^ cpu-world.com - Motorola MC68EC020FG16 17 de noviembre de 2012
- ^ cpu-world.com - Familia de microprocesadores Motorola 68030 (MC68030) , 2012-11-17
- ^ cpu-world.com - Familia de microprocesadores Motorola 68040 (MC68040) , 2012-11-17
- ^ a b c d freescale.com - Manual del usuario de M68040 , 2007-05-08
- ^ a b c cpu-world.com - Familia de procesadores Motorola 68060 , 2012-11-22
- ^ Un b c freescale.com - M68060 Manual del usuario , 2010-07-28
- ^ Archive.org - Revisión del formato Amiga de la placa aceleradora basada en 68LC060
- ^ "Implementación del sistema IBM 370 a través de co-microprocesadores / el coprocesador ... - IPCOM000059679D - IP.com" . Priorartdatabase.com . Consultado el 23 de julio de 2020 .
- ^ Scott Mueller Actualización y reparación de PC, segunda edición , Que Books, 1992, ISBN 0-88022-856-3 páginas 73–75, página 94
- ^ Boehn, Gunnar von. "APOLLO 68080 - Procesador de alto rendimiento" . www.apollo-core.com . Consultado el 29 de septiembre de 2017 .
- Este artículo se basa en material extraído del Diccionario de Computación en línea gratuito antes del 1 de noviembre de 2008 e incorporado bajo los términos de "renovación de licencias" de la GFDL , versión 1.3 o posterior.
Bibliografía
- Howe, Dennis, ed. (1983). Diccionario gratuito de informática en línea . Colegio Imperial de Londres. http://foldoc.org . Consultado el 4 de septiembre de 2007.
enlaces externos
- Revista BYTE, septiembre de 1986: La familia 68000