Motorola MC68000
Generalidades
El Motorola 68000 (o MC68000) es un microprocesador diseñado y comercializado por Motorola en 1979. Fue el primero de la familia de microprocesadores llamada 680x0, m68k o 68k, de 32 bits.
Este procesador su nombre al número de transistores de los que se compone. Este microprocesador ha sido utilizado, entre otros, en los Commodore Amiga, los Atari ST, los primeros Macintosh, en Sharp X68000 y también en algunas consolas de videojuegos.
Estructura de registros
El MC68000 de Motorola es un microprocesador con organización de registros generales. Los registros están divididos en dos grupos: de datos y de direcciones, todos de 32 bits. Como se puede ver en la imagen, el MC68000 tiene 8 registros de datos (D0 a D7) y 8 de direcciones (A0 a A7), de los cuales A7 es el apuntador de pila, SP. Este registro, según el procesador esté en modo supervisor o en modo usuario puede representar dos registros diferentes: el SSP (Supervisor Stack Pointer, apuntador de pila de supervisor) o el USP (User Stack Pointer, Apuntador de pila de usuario). El registro de estado tiene 16 bits entre los que se encuentran los bits de condición, que informan de ciertas características de los resultados de las operaciones.
Aunque todos los registros de este procesador tienen 32 bits, el bus de datos solo tiene 16 y el bus de direcciones, 23 (A23-A1), el bit de dirección A0 se manda a la memoria mediante dos líneas de control que indican si se quiere acceder al byte bajo, al alto o a ambos (acceso a palabras de 16 bits). El byte es la información mínima direccionable, sin embargo, también se pueden direccionar palabras aunque solo en direcciones pares (alineación obligatoria). Los tamaños de datos con que esta máquina puede trabajar son byte, palabra (2 bytes) y doble palabra (4 bytes), estos datos se organizan en memoria según la pauta big-endian.
Procesadores de la familia Motorola 680x0
Los principales procesadores derivados del MC68000 son: el MC68020, cuya arquitectura es como la del MC68000 pero con buses de 32 bits; el MC68030, que es similar al anterior pero con una unidad de manejo de memoria para facilitar el trabajo con memoria virtual, el MC68040, que es como el MC68030 pero con una memoria caché dentro de la pastilla y, además, un coprocesador de punto flotante y, por último, el MC68060, que incorpora dos procesadores segmentados formando lo que se denomina un procesador superescalar. En la tabla siguiente se muestra la evolución de esta familia de microprocesadores.
| Nombre | Año | Bus de datos | Espacio de direcciones | Comentarios |
|---|---|---|---|---|
| 68000 | 1979 | 16 | 16 MB | Primer miembro de la familia |
| 68008 | 1982 | 8 | 4 MB | Bus de datos de 8 bits |
| 68010 | 1983 | 16 | 16 MB | Memoria virtual |
| 68012 | 1983 | 16 | 2 GB | Mayor espacio direccionable |
| 68020 | 1984 | 32 | 4 GB | CPU de 32 bits total |
| 68030 | 1987 | 32 | 4 GB | Incorpora manejo de memoria |
| 68040 | 1989 | 32 | 4 GB | Coprocesador y memoria caché |
| 68060 | 1994 | 32 | 4 GB | 2 procesadores segmentados |

