FANDOM


El Motorola 68000 (MC68000), que debe su nombre al número de transistores de los que se compone, es un microprocesador desarrollado por Motorola y utilizado, entre otros, en los Commodore Amiga, los Atari ST y los primeros Macintosh. El MC68000 fue lanzado al mercado en 1980 y es el primero de una familia de microprocesadores que está formada por el Motorola 68010, Motorola 68020, Motorola 68030, Motorola 68040 y el Motorola 68060. Esta familia de procesadores a menudo es designada por el término genérico 680x0, m68k, 68k o familia 68000. Motorola desarrolló también a un sucesor de los 680x0: el Coldfire. Los microprocesadores de la familia 68000 son de tipo CISC.

Arquitectura Editar

El 68000 está basado en dos bancos de 8 registros de 32 bits. Un banco es de datos (Dn) y el otro de punteros (An). Además contiene un contador de programa de 32 bits y un registro de estado de 16 bits, Siendo su parte alta el "System Byte" y la parte baja el "User Byte".

Los registros de datos (D0 a D7) se pueden usar como registros de 32 bits (.l), 16 bits (.w) y 8 bits (.b). Cualquiera de ellos puede usarse como acumulador, índice o puntero.

Realizado en tecnología HMOS y posee 64 pines sin multiplexación de señales.

Los registros de direcciones (punteros) son muy parecidos a los de datos, pero no pueden usarse como bytes y las operaciones con ellos no afectan al acarreo para poder efectuar cálculos con direcciones entre cálculos con datos. El registro A7 es el puntero de la pila (Stack Pointer) y está duplicado, habiendo un stack para el modo usuario y otro para el modo supervisor.

Contiene dos ALU diferentes, para operar con datos y direcciones independiente y simultáneamente.

Organización interna Editar

Modelo de memoria Editar

Se organiza mediante el mapa de memoria física y el mapa de memoria funcional.

Modelo de registros Editar

Todos son de 32 bits, y son los siguientes:

  • 8 registros de datos (D0/D7).
  • 8 registros de direcciones (A0/A7): el registro A7 (SP) está desdoblado en dos registros independientes (puntero de pila de supervisor o SSP y el puntero de pila de usuario o USP).
  • 1 contador de programa o PC.
  • 1 registro de estado o SR: está dividido en dos bytes: el byte de usuario (CCR) y el byte de supervisor (es un recurso privilegiado, pues sólo se puede leer y escribir en modo supervisor; en modo usuario tan sólo se puede leer. En caso de ser modificado en el último caso, el microprocesador salta a una ISR de violación de privilegio).
    • El byte de supervisor lo constituyen 8 bits, de los cuales 3 son la máscara de interrupciones, el bit S o de supervisor (indica si está en modo supervisor o modo usuario) y el bit T o modo de traza.

Modos de direccionamiento Editar

Acepta los siguientes modos de direccionamiento:

  • Implícito (o inherente).
  • Inmediato.
    • Inmediato rápido.
  • Absoluto:
    • Absoluto largo.
    • Absoluto corto.
  • Directo a registro.
    • Directo a registro de datos.
    • Directo a registro de direcciones.
  • Indirecto.
    • Indirecto con postincremento.
    • Indirecto con predecremento.
    • Indirecto con desplazamiento.
      • Indirecto con índice y desplazamiento.
  • Relativo a Contador de programa con desplazamiento.
    • Relativo a Contador de programa con índice y desplazamiento.

Organización externa Editar

Pines del MC68000 Editar

  • Buses:
    • Bus de direcciones (A1/A23): característica de ponerse en alta impedancia. Solo señales de salida. El bit A0 no sale al exterior, sino que se desdobla en dos señales: UDS y LDS, ambas activas en baja, para la selección de una palabra y de un byte par o impar.
    • Bus de datos (D0/D15): también tiene la característica de alta impedancia, y es bidireccional (tanto entrada como salida).
  • De control:
    • Control de bus asíncrono (AS', R/W', UDS', LDS' y DTACK').
    • Control de periféricos (E, VPA' y VMA'): E=CLK/10.
    • Control del arbitraje de bus (BR', BG' y BGACK').
    • Control de interrupciones (IPL0', IPL1', IPL2' e IPL3').
    • Control de espacio de direcciones (FC0, FC1 y FC2).
    • Control del sistema (RESET, HALT y BERR).
  • Otros:
    • Reloj (CLK): con un ciclo de trabajo del 50%.
    • Alimentación y masa (VCC y GND): VCC-GND = 5V. Durante la operación normal se debe prever un requerimiento instantáneo de corriente de hasta 1,5A.

Excepciones en el MC68000 Editar

Este microprocesador tiene tres estados: estado normal, estado de parada y estado de excepción. Saltará al último de ellos al recibir tanto señales externas como internas. Sigue un modelo de excepciones vectorizada, mediante la cual a cada excepción se le asocia un número de vector de 1 byte, fijo para cada excepción, excepto para las interrupciones externas. Este número se multiplica por 4 y se obtiene la dirección del vector de excepción en memoria, que ocupan 32 bits y están en memoria de datos del supervisor, excepto para el reset, que ocupa el doble (64 bits) y está en memoria de programa de supervisor. Todas se agrupan en una tabla (llamada Tabla de Vectores de Interrupción), y se sitúa en el primer kbyte de memoria.

Señales externas Editar

  • Debida a una señal de RESET, que inicializa el microprocesador.
  • Señal de BERR, que indica un error en el bus y salta a la ISR de gestión de errores en el bus.
  • Interrupciones: petición de una interrupción, a través de los pines IPL0', IPL1', IPL2' e IPL3'. El periférico para pedir una interrupción, si es vectorizado, deposita el vector durante el ciclo de reconocimiento de interrupción.

Señales internas Editar

  • Error de dirección: indica un direccionamiento inválido, como uno impar de palabras (Word).
  • Una instrucción ilegal o no válido.
  • Una división por cero (en el nemónico de división DIVU ó DIVS).
  • Durante la comprobación de rangos (CHK).
  • Detectando un desbordamiento.
  • En la ejecución de una instrucción privilegiada en modo usuario.
  • Durante la ejecución paso a paso.
  • Excepción incondicional.

Periféricos del MC68000 Editar

MOTOROLA presentó junto con el microprocesador una gama de periféricos orientados a crear un sistema completo:

  • 68881: coprocesador matemático.
  • 68452: controlador de buses.
  • 68454: controlador de disco.
  • 68681: comunicación en serie.
  • 68451: MMU.
  • 68450: DMA.

La compatibilidad con los periféricos de su antecesor, el MC6800, fue mantenida, como por ejemplo con la VIA6522 (comunicación en paralelo mediante puertos) y, además, realizó esfuerzos para mantener la compatibilidad con dispositivos de otros fabricantes y colaboró en el protocolo VME de IEEE.

Utilización del procesador 68000 Editar

Por Apple Editar

Apple utilizó los procesadores 68000 en el Lisa y después en los primeros Macintosh (Macintosh 128, Mac 512, Mac Plus, Mac SE y Classic).

Los Macintosh siguientes (serie LC) utilizaron procesadores 68020, posteriormente los Macintosh IIcx, IIci, IIfx, LCIII y SE/30 utilizaron los 68030.

Por último, el Quadra y último LC (LC475, LC630) tuvieron procesadores 68040 (estos últimos LC utilizaban una versión sin unidad de coma flotante denominada 68LC040).

Con la llegada de la nueva generación de Macintosh, conocidos bajo el nombre de Power Macintosh, Apple dotó a sus máquinas de procesadores PowerPC, fabricados por Motorola e IBM.

Por Atari Editar

En su gama Atari ST. Los siguientes modelos Atari TT030 y Atari Falcon incorporaban un 68030.

Por Commodore Editar

En su gama Amiga.

Commodore utilizó los procesadores 68000 en el primer modelo de Amiga, el Amiga 1000 y más tarde en sus sucesores Amiga 500, Amiga 2000 y Amiga 600. También fue utilizado en el CDTV, la incursión de Commodore en el vídeo digital interactivo doméstico.

Posteriores modelos como el Amiga 3000, Amiga 1200, Amiga 4000 y CD32 utilizaron distintos procesadores de la familia, como el 68020, 68030 y 68040.

Por Sinclair Editar

El Sinclair QL utiliza la variante 68008, con un bus de 8 bits.

Por Sega Editar

En sus consolas Mega Drive y Mega CD, como procesador principal, y en la Sega Saturn como procesador de sonido.

Por Silicon Graphics Editar

En sus estaciones de trabajo, antes de pasarse a los microprocesadores MIPS.

Por SNK Editar

Para la consola Neo Geo.

Por Sun Microsystems Editar

Para sus estaciones de trabajo, antes de pasarse a los microprocesadores SPARC.

Por Texas Instruments Editar

Para sus calculadoras TI-89, TI-89 Titanium, TI-92, TI-92+ y Voyage 200.

Por NeXT Editar

Las máquinas NeXT utilizaban procesadores 68030 y 68040.

Por Palm Editar

El procesador Dragonball de la primera generación de PDAs de Palm (y de otros dispositivos bajo PalmOS producidos por Handspring, IBM, Sony, TRGPro, Qualcomm, Symbol...) se deriva del 68000. Los PDAs de Palm más recientes utilizan procesadores ARM.

Segundas fuentes Editar

Motorola ofreció acuerdos de segunda fuente muy asequibles, poniendo como única condición que la otra parte desarrollase algún dispositivo nuevo para la familia, normalmente periféricos. Muchas compañías cumplían este requisito renombrando dispositivos de sus propias familias. Esto contribuyó enormemente a la amplia difusión del 68000, llegando a ser un estándar de la industria.

Las siguientes son algunas compañías que fabricaron el 68000:

  • Hitachi
  • Mostek (Aburrido por las exigencias de Intel para la licencia del 8086)
  • SGS-Thomsom
  • Philips

Enlaces externos Editar


Wikipedialogo El texto de esta página es una obra derivada del artículo Motorola 68000 de Wikipedia que está bajo licencia CC-BY-SA.

¡Interferencia de bloqueo de anuncios detectada!


Wikia es un sitio libre de uso que hace dinero de la publicidad. Contamos con una experiencia modificada para los visitantes que utilizan el bloqueo de anuncios

Wikia no es accesible si se han hecho aún más modificaciones. Si se quita el bloqueador de anuncios personalizado, la página cargará como se esperaba.

También en FANDOM

Wiki al azar