Diseñador | Motorola |
---|---|
Pedazos | 32 bits |
Introducido | 1979 ( 1979 ) |
Diseño | CISC |
Derivación | Código de condición |
Endianidad | Grande |
Registros | |
|
La serie Motorola 68000 (también conocida como 680x0 , m68000 , m68k o 68k ) es una familia de microprocesadores de conjunto de instrucciones complejas (CISC) de 32 bits . Durante la década de 1980 y principios de la de 1990, fueron populares en computadoras personales y estaciones de trabajo y fueron los principales competidores de los microprocesadores x86 de Intel . Fueron más conocidos como los procesadores utilizados en los primeros Apple Macintosh , el Sharp X68000 , el Commodore Amiga , el Sinclair QL , el Atari ST y Falcon , el Atari Jaguar , el Sega Genesis (Mega Drive) y Sega CD , el Philips CD-i , el Capcom System I (Arcade), el AT&T UNIX PC , el Tandy Model 16/16B/6000 , los Sun Microsystems Sun-1 , Sun-2 y Sun-3 , el NeXT Computer , NeXTcube , NeXTstation y NeXTcube Turbo , las primeras estaciones de trabajo Silicon Graphics IRIS, el Aesthedes , los ordenadores de MASSCOMP , las calculadoras Texas Instruments TI-89 / TI-92 , el Palm Pilot (todos los modelos con Palm OS 4.x o anterior), la Control Data Corporation CDCNET Device Interface, el VTech Precomputer Unlimited y el Space Shuttle . 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 .
Motorola dejó de desarrollar la arquitectura de la serie 680x0 en 1994, reemplazándola por la arquitectura PowerPC RISC , que se desarrolló en conjunto con IBM y Apple Computer como parte de la alianza AIM .
68010 :
68020 :
68030 :
68040 :
68060 :
Año | UPC | Paquete | Frecuencia (máxima) [en MHz] | Bits del bus de direcciones | Unidad Monetaria | Unidad de fomento |
---|---|---|---|---|---|---|
1979 | 68000 | Paquete en línea dual de 64 pines (DIP) , SPDIP de 64 pines , PLCC de 68 pines , CLCC de 68 pines , matriz de cuadrícula de 68 pines (PGA) , QFP de 64 pines , QFP de 68 pines [2] | 8–50 [3] | 24 | - | - |
1982 | 68008 | Paquete dual en línea de 48 pines (DIP) , PLCC de 52 pines [4] | 8–16,67 | 24 | - | - |
1982 | 68010 | DIP de 64 pines , PLCC de 68 pines , PGA de 68 pines [5] | 8–16,67 | 24 | 68451 | - |
1982 | 68012 | PGA de 84 pines [6] | 8–12,5 | 31 | 68451 | - |
1984 | 68020 | PGA de 114 pines [7] | 12,5–33,33 | 32 | 68851 | 68881 |
- | 68 CE 020 | Paquete plano cuádruple (QFP) de 100 pines [8] | 16.7–25 | 24 | - | - |
1987 | 68030 | QFP de 132 pines (máximo 33 MHz ), PGA de 128 pines [9] | 16–50 | 32 | Unidad Monetaria | 68881 |
68 CE 030 | QFP de 132 pines , PGA de 128 pines | 25-40 [10] [11] | 32 | - | 68881 | |
1991 | 68040 | PGA de 179 pines , [12] QFP de 184 pines [13] | 20–40 | 32 | Unidad Monetaria | Unidad de fomento |
68LC040 | PGA , [13] QFP de 184 pines [13] | 20–33 | 32 | Unidad Monetaria | - | |
68 CE 040 | 20–33 [13] | 32 | - | - | ||
1994 | 68060 | PGA de 206 pines [14] [15] | 50–133 [16] [17] | 32 | Unidad Monetaria | Unidad de fomento |
68LC060 | PGA de 206 pines , [14] [15] QFP de 208 pines [18] | 50–133 [16] [17] | 32 | Unidad Monetaria | - | |
68 CE 060 | PGA de 206 pines [14] [15] | 50–133 [16] [17] | 32 | - | - |
La línea de procesadores 680x0 se ha utilizado en una variedad de sistemas, desde las modernas calculadoras Texas Instruments de alta gama (las líneas TI-89 , TI-92 y Voyage 200 ) hasta todos los miembros de la serie Palm Pilot que ejecutan Palm OS 1.x a 4.x (OS 5.x está basado en ARM ), e incluso versiones reforzadas contra la 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 impulsaban 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 de elección en la década de 1980 para estaciones de trabajo y servidores Unix como UNIX PC de AT&T , Model 16/16B/6000 de Tandy, Sun-1 , Sun-2 , Sun-3 de Sun Microsystems , NeXT Computer , Silicon Graphics (SGI) y muchos otros. Hubo 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. Había muchos puertos específicos del sistema CP/M-68K disponibles, por ejemplo, TriSoft ofrecía un puerto del CP/M-68K para el Tandy modelo 16/16B/6000.
Además, y quizás lo más importante, las primeras versiones de los intérpretes PostScript de Adobe se basaban en el procesador 68000. El 68000 de los LaserWriter y LaserWriter Plus de Apple funcionaba a una velocidad superior a la de la versión que se utilizaba en aquel momento en los ordenadores Macintosh. El rápido 68030 se utilizó en los intérpretes PostScript posteriores, incluidos los LaserWriter IIntx, IIf y IIg de resolución estándar (también de 300 ppp), la serie LaserWriter Pro 600 de mayor resolución (normalmente de 600 ppp, pero limitada a 300 ppp con una RAM mínima instalada) y las fotocomponedoras Linotronic de altísima resolución , la 200PS (1500+ ppp) y la 300PS (2500+ ppp). A partir de entonces, Adobe prefirió en general un procesador RISC, ya que sus competidores, con sus clones PostScript, ya habían optado por procesadores RISC, a menudo de la serie AMD 29000. Los primeros intérpretes Adobe PostScript basados en 68000 y su hardware recibieron su nombre de los cohetes y misiles estadounidenses de la época de la Guerra Fría : Atlas, Redstone, etc.
En la actualidad, estos sistemas son o bien el final de su línea de producción (como en el caso de Atari) o bien utilizan procesadores diferentes (como en el caso de Macintosh, Amiga, Sun y SGI). Dado que estas plataformas alcanzaron su cuota de mercado máxima en la década de 1980, sus fabricantes originales o bien ya no ofrecen soporte para un sistema operativo para este hardware o bien han cerrado el negocio. Sin embargo, los sistemas operativos Linux y NetBSD todavía 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 Sega Saturn utilizaron el 68000 para el procesamiento de audio y otras tareas de E/S, mientras que la Atari Jaguar incluía un 68000 que estaba destinado al control básico del sistema y al procesamiento de entrada, pero debido a la inusual variedad de procesadores heterogéneos de la Jaguar también se utilizó con frecuencia para ejecutar la lógica del juego. Muchas placas de arcade también utilizaron procesadores 68000, incluidas las placas de Capcom, SNK y Sega.
Los microcontroladores derivados de la familia 68000 se han utilizado en una gran variedad de aplicaciones. Por ejemplo, se han fabricado millones de microcontroladores CPU32 y ColdFire como controladores de motores de automóviles.
Muchos sistemas de edición de vídeo propietarios utilizaban procesadores 68000, como 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 mencionar su homólogo anterior, más grande y más profesional, el "DraCo" (1995). La innovadora serie Quantel Paintbox de sistemas de pintura y efectos de 24 bits se lanzó originalmente en 1981 y durante su vida utilizó casi toda la gama de procesadores de la familia 68000, con la única excepción del 68060, que nunca se implementó en su diseño. Otro contendiente en el campo del vídeo, el sistema Abekas 8150 DVE, utilizaba el 680EC30, y el Play Trinity, posteriormente rebautizado como Globecaster, utiliza varios 68030. El sistema de gráficos de video Bosch FGS-4000/4500 fabricado por Robert Bosch Corporation, más tarde BTS (1983), utilizaba un 68000 como procesador principal; impulsaba a varios otros para realizar animaciones 3D en una computadora que podía aplicar fácilmente sombreado Gouraud y Phong. Ejecutaba un sistema operativo Motorola VERSAdos modificado.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Las personas que están familiarizadas con el PDP-11 o el VAX generalmente se sienten cómodas con la serie 68000. Con la excepción de la división de los registros de propósito general en registros de datos y direcciones especializados, la arquitectura del 68000 es en muchos sentidos una PDP-11 de 32 bits.
Tenía un conjunto de instrucciones más ortogonal que el de muchos procesadores anteriores (por ejemplo, el 8080) y posteriores (por ejemplo, el x86). Es decir, era posible combinar libremente operaciones con operandos, en lugar de estar restringido 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.
La serie 68000 tiene ocho registros de datos de propósito general de 32 bits (D0-D7) y ocho registros de dirección (A0-A7). El último registro de dirección es el puntero de pila y los ensambladores aceptan la etiqueta SP como equivalente a A7.
Además, tiene un registro de estado de 16 bits. Los 8 bits superiores son el byte del sistema y su modificación es privilegiada. Los 8 bits inferiores son el byte del usuario, también conocido como registro de código de condición (CCR), y su modificación no es privilegiada. Las 68000 operaciones de comparación, aritméticas y lógicas modifican los códigos de condición para registrar sus resultados para su uso en saltos condicionales posteriores. Los bits del código de condición son "cero" (Z), "acarreo" (C), "desbordamiento" (V), "extensión" (X) y "negativo" (N). El indicador "extensión" (X) merece una mención especial, porque está separado del indicador de acarreo . Esto permite que el bit adicional de las operaciones aritméticas, lógicas y de desplazamiento se separe del acarreo para el flujo de control y la vinculación.
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", que copia el registro de estado a otro registro, no tenía privilegios, pero era sensible. En el Motorola 68010 y posteriores, esto se hizo privilegiado, para brindar un mejor soporte al software de virtualización.
El conjunto de instrucciones de la serie 68000 se puede dividir en las siguientes categorías generales:
El Motorola 68020 agregó algunas nuevas instrucciones que incluyen algunas mejoras menores y extensiones al estado del supervisor, varias instrucciones para la administración de software de un sistema de multiprocesamiento (que fueron eliminadas en el 68060), algo de soporte para lenguajes de alto nivel que no se usaron mucho (y fueron eliminados de los futuros procesadores 680x0), instrucciones de multiplicación más grandes (32×32→64 bits) y división (cociente de 64÷32→32 bits y resto de 32 bits) y manipulaciones de campos de bits.
Los modos de direccionamiento estándar son:
Más: acceso al registro de estado y, en modelos posteriores, a otros registros especiales.
El Motorola 68020 agregó un modo de dirección de indexación escalada y agregó otro nivel de indirección a muchos de los modos preexistentes.
La mayoría de las instrucciones tienen sufijos de letra-punto, lo que permite que se realicen operaciones en bytes de 8 bits (".b"), palabras de 16 bits (".w") y longs de 32 bits (".l").
La mayoría de las instrucciones son diádicas , es decir, la operación tiene un origen y un destino, y el destino se modifica. Las instrucciones más destacadas fueron:
Motorola utilizó principalmente números pares para revisiones importantes del núcleo de la CPU, como 68000, 68020, 68040 y 68060. El 68010 fue una versión revisada del 68000 con modificaciones menores en el núcleo, y del mismo modo el 68030 fue un 68020 revisado con algunas características más potentes, ninguna de ellas lo suficientemente significativa como para clasificarse como una actualización importante del núcleo.
No hubo 68050, aunque en un momento dado fue un proyecto dentro de Motorola. Los lanzamientos impares siempre habían sido reacciones a problemas planteados en la parte anterior de número par; por lo tanto, se esperaba generalmente 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, utilizado 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 fueron parte de sus objetivos de diseño. Por varias razones, probablemente porque el 68060 estaba en desarrollo, porque el Intel 80486 no estaba progresando tan rápido como Motorola suponía que lo haría y porque el 68060 era un proyecto exigente, el 68050 se canceló al principio del desarrollo.
Tampoco existe una revisión del 68060 , ya que Motorola estaba en proceso de abandonar las líneas de procesadores 68000 y 88k para pasar a su nuevo negocio PowerPC , por lo que el 68070 nunca se desarrolló. De haberlo hecho, habría sido un 68060 revisado, probablemente con una FPU superior (se especuló mucho sobre la canalización en Usenet).
Existí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, un host I²C y un puerto serie integrado. Este 68070 se utilizaba como CPU principal en el Philips CD-i . Sin embargo, esta CPU era producida por Philips y no formaba parte oficialmente de la línea 680x0 de Motorola.
El 68060 de cuarta generación proporcionó una funcionalidad equivalente (aunque no compatibilidad con la arquitectura del conjunto de instrucciones) a la mayoría de las características de la microarquitectura Intel P5 .
Los mainframes compatibles con IBM basados en PC Personal Computers XT/370 y AT/370 incluían cada uno dos procesadores Motorola 68000 modificados con microcódigo personalizado para emular las instrucciones del mainframe S/370 . [19] [20]
Una empresa con sede en Arizona, Edge Computer Corp, supuestamente fundada por antiguos diseñadores de Honeywell, produjo procesadores compatibles con la serie 68000, que se afirmaba que tenían "una ventaja de rendimiento de tres a cinco veces -y de 18 a 24 meses de duración- " sobre los propios productos de Motorola. [21] En 1987, la empresa presentó la gama Edge 1000 de "superminicomputadoras de 32 bits que implementan el conjunto de instrucciones de Motorola en la arquitectura de mainframe Edge", empleando dos canales independientes -un canal de búsqueda de instrucciones (IFP) y un canal de ejecución de operandos (OEP)- que se basaban en una unidad de predicción de bifurcaciones con una caché de bifurcaciones de 4096 entradas, que recuperaba instrucciones y operandos a través de múltiples buses. [22] Un acuerdo entre Edge Computer y Olivetti posteriormente llevó a esta última a introducir productos en su propia gama "Linea Duo" basados en las máquinas de Edge Computer. [23] La empresa fue posteriormente rebautizada como Edgcore Technology Inc. [24] : 12 (también conocida como Edgecore Technology Inc. [25] ). El acuerdo de Edgcore con Olivetti en 1987 para suministrar el procesador E1000 de la empresa fue seguido en 1989 por otro acuerdo con Philips Telecommunications Data Systems para suministrar el procesador E2000, que soportaba el conjunto de instrucciones 68030 y ofrecía un rendimiento de 16 VAX MIPS. [26] Acuerdos similares con Nixdorf Computer y Hitachi también se firmaron en 1989. [27] [28]
Según se informa, Edge Computer tenía un acuerdo con Motorola. [25] A pesar de la creciente competencia de los productos RISC, Edgcore intentó distinguir sus productos en el mercado enfatizando su "alianza" con Motorola, empleando una campaña de marketing inspirada en las fábulas de Esopo con "el zorro (Edgecore) que se sube a la espalda del semental (Motorola) para arrancar fruta de las ramas más altas del árbol". [29] Se emplearon otros temas publicitarios de cuentos populares como Caperucita Roja . [30] Como los inversores de la empresa se negaron a financiar más a la empresa, y varias empresas habían estado involucradas en conversaciones con otras partes, Arix Corp. anunció la adquisición de Edgcore en julio de 1989. [28] Según se informa, Arix pudo renovar su acuerdo con Hitachi en 1990, mientras que el futuro de los acuerdos anteriores con Olivetti y Philips permaneció en duda después de la adquisición de Edgcore. [31]
En 1992, una empresa llamada International Meta Systems (IMS) anunció una CPU basada en RISC, la IMS 3250 , que supuestamente podía emular el "Intel 486 o el Motorola 68040 a velocidades nativas completas y a una fracción de su costo".100 MHz , supuestamente se habían desarrollado emulaciones de un25 MHz 486 y68040 de 30 MHz , incluido soporte de unidad de punto flotante, y se prevé que el producto se produzca a mediados de 1993 a un costo unitario de50 a 60 dólares . [32] En medio de la aparente proliferación de soporte de emulación en procesadores como el PowerPC 615 , en 1994, IMS supuestamente había presentado una patente sobre su tecnología de emulación pero no había encontrado ningún licenciatario. [33] Los repetidos retrasos en la introducción de este producto, atribuidos en una ocasión a "una necesidad de mejorar las capacidades de procesamiento de voz del chip", [34] aparentemente llevaron a la compañía a buscar introducir otro chip, el Meta6000, con el objetivo de competir con los productos P6 de Intel. [35] Finalmente, IMS se declaró en quiebra tras haber vendido patentes a un litigante, TechSearch, que en 1998 intentó demandar a Intel por infracción de una patente de IMS. [36] TechSearch habría perdido el caso, pero intentó apelar y también demandó a Intel por "difamación y calumnia" basándose en los comentarios hechos por un representante de Intel que había caracterizado desfavorablemente el modelo de negocios de TechSearch en declaraciones a la prensa. [37]
Tras la desaparición de los procesadores 68000, la familia 68000 se ha utilizado en cierta medida en versiones de microcontroladores y microprocesadores integrados. Estos chips incluyen los que se enumeran en "Otros" más 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. [38]
Magnetic Scrolls utilizó un subconjunto de las instrucciones del 68000 como base para la máquina virtual en sus aventuras de texto .
Durante la década de 1980 y principios de la de 1990, cuando el 68000 se usaba ampliamente en computadoras de escritorio, competía principalmente contra la arquitectura x86 de Intel utilizada en los IBM PC compatibles . Las CPU 68000 de la Generación 1 compitieron principalmente contra los 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 Pentium P5 , pero no fue tan ampliamente utilizada como sus predecesoras, ya que gran parte del antiguo mercado 68000 estaba extinto o casi extinto (como fue el caso de Atari y NeXT), o se estaba convirtiendo a arquitecturas más nuevas ( PowerPC para Macintosh y Amiga , SPARC para Sun y MIPS para Silicon Graphics (SGI)).
Existen docenas de arquitecturas de procesadores que tienen éxito en los sistemas integrados . Algunas son microcontroladores que son mucho más simples, más pequeños y más baratos que el 68000, mientras que otras son relativamente sofisticadas 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.