Publicado el 27 de Marzo del 2020
755 visualizaciones desde el 27 de Marzo del 2020
595,9 KB
47 paginas
Creado hace 20a (03/09/2004)
TEMA 1
EL MICROPROCESADOR MC68000
1
Indice
1. INTRODUCCIÓN..................................................................................................................3
2. DESCRIPCIÓN INTERNA Y ORGANIZACIÓN DE DATOS........................................... 4
2.1 Tamaño de los operandos................................................................................................ 4
2.2 Descripción interna..........................................................................................................4
2.2.1 Registros de datos D0-D7.............................................................................................4
2.2.2 Registros de direcciones. A0-A6............................................................................. 5
2.2.3 Registro de pila (SP)................................................................................................ 6
2.2.4 Contador de programa (PC)..................................................................................... 6
2.2.5 Registro de estado....................................................................................................6
2.2.6 Registro de códigos de condición. CCR.................................................................. 7
2.3 Organización de datos en memoria..................................................................................8
3. FORMATO DE LAS INSTRUCCIONES............................................................................. 9
4. MODOS DE DIRECCIONAMIENTO................................................................................ 13
4.1 Direccionamiento implícito........................................................................................... 14
4.2 Direccionamiento inmediato..........................................................................................14
4.3 Modos de registro directo.............................................................................................. 15
4.3.1 Registro de datos directo........................................................................................15
4.3.2 Registro de direcciones directo..............................................................................15
4.4 Modos de direccionamiento de memoria.......................................................................16
4.4.1 Registro de direcciones indirecto...........................................................................16
4.4.2 Registro de direcciones indirecto con postincremento.......................................... 17
4.4.3 Registro de direcciones indirecto con predecremento........................................... 17
4.4.4 Registro de direcciones indirecto con desplazamiento.......................................... 18
4.4.5 Registro de direcciones indirecto con índice......................................................... 19
4.4.6 Direccionamiento absoluto.................................................................................... 20
4.4.6.1 Dirección absoluta corta.................................................................................20
4.4.6.2 Dirección absoluta larga.................................................................................21
4.5 Modos de direccionamiento relativos............................................................................22
4.5.1 Contador de programa con desplazamiento...........................................................22
4.5.2 Contador de programa con índice.......................................................................... 23
4.6 Las instrucciones y sus modos de direccionamiento..................................................... 24
5. EL CONJUNTO DE INSTRUCCIONES DEL MC68000.................................................. 26
.................................................................................................................................................26
6. DESCRIPCIÓN FUNCIONAL EXTERNA........................................................................ 27
6.1 Bus de datos (D0-D15).................................................................................................. 27
6.2 Bus de direcciones (A1-A23)........................................................................................ 27
6.3 Control del bus asíncrono(/AS, R/#W,/UDS,/LDS,/DTACK)......................................28
6.3.1 Ciclo de lectura...................................................................................................... 29
6.3.2 Ciclo de escritura................................................................................................... 31
6.3.3 Conexión de chips de memoria al MC68000 ........................................................34
6.4 Control de arbitraje del bus........................................................................................... 35
6.5 Control de interrupciones.............................................................................................. 35
6.6 Control del sistema........................................................................................................ 36
6.6.1 Reintento del ciclo de bus......................................................................................37
6.6.2 Doble error de bus..................................................................................................38
6.7 Control de periféricos síncronos....................................................................................39
6.7.1 Operación de transferencia de datos...................................................................... 39
2
6.8 Estado del procesador....................................................................................................40
7. PROCESOS DE EXCEPCIÓN............................................................................................40
7.1 Vectores de Interrupción................................................................................................41
7.3 Tipos de excepción........................................................................................................ 44
7.3.1 Excepciones internas..............................................................................................44
7.3.2 Excepciones externas ............................................................................................46
1. INTRODUCCIÓN
El microprocesador MC68000 de Motorola dispone de un bus de direcciones de 23
líneas (constituyen la dirección física), A23-1, y un bus de datos de 16 bits, D15-0, con los que se
pueden direccionar o seleccionar 8 Megapalabras de memoria. Aunque externamente sólo se
disponen de 23 líneas, internamente, las direcciones utilizan 24 bits (dirección lógica),
existiendo el bit A0 que no aparece en las líneas del bus de direcciones como tal. El bit A0,
externamente, se desdobla en dos líneas denominadas /UDS y /LDS. Estas líneas activas en
bajo, permiten seleccionar el byte alto y el byte bajo de la palabra escogida por las líneas de
direcciones A23-1. De esta forma cuando /UDS=0 y /LDS=1, se selecciona el byte alto (el de
mayor peso de la palabra indicada por A23-1), si /UDS=1 y /LDS=0, se selecciona el byte bajo
de la palabra y si /UDS=/LDS=0, se selecciona la palabra completa. Por todo esto se puede
decir que, el conjunto A23-0, identifica la dirección de uno de los dos bytes contenidos en la
palabra identificada por A23-1 . En modo byte, si se accede a una dirección par, se accede al
byte más significativo (/UDS activo), y si la dirección es impar, se accede al byte menos
significativo (/LDS activo). En modo palabra, (/UDS y /LDS activos) se acceden a la palabra
completa, y la dirección debe ser un número par. Según desde el punto de vista desde el que
se mire, este microprocesador puede direccionar 8 Mega palabras o 16 Megabytes.
A31
A23
A1
A0
A23-A1
palabra
&
&
/UDS
/LDS
DB15-DB0
MC68000
3
2. DESCRIPCIÓN INTERNA Y ORGANIZACIÓN DE DATOS
2.1 Tamaño de los operandos
Los tamaños de los operandos se definen de la forma siguiente: un byte es igual a 8
bits, una palabra es igual a 16 bits, y una palabra larga es igual a 32 bits. El tamaño del
operando usado por cada instrucción se encuentra explícitamente codificado en el código de
operación de la instrucción o implícitamente codificado por el tipo de instrucción. Todas las
instrucciones explícitas manejan byte, palabra o palabra larga. Las instrucciones implícitas
solo soportan un subconjunto de estos tres tamaños.
COD_OPERACION.N donde N es B para byte,W para word y L para long word
2.2 Descripción interna
En la siguiente figura se observa la estructura interna del MC68000 desde el punto de
vista del programador. Estase compone de 8 registros de datos (32 bits), 8 registros de
direcciones( 32 bits), el contador de programa( 32 bits) y el registro de estado (16 bits). El
MC68000 puede trabajar en uno de los modos siguientes: modo supervisor y modo usuario.
En el modo supervisor el programador tiene control total sobre los registros e instrucciones
del microprocesador. En el modo usuario existen ciertas restricciones de funcionamiento que
se irán detallando progresivamente.
PALABRA
BYTE
PALABRA LARGA
31 16 15 8 7 0
D0
D1
D2
D3
D4
D5
D6
D7
A0
A1
A2
A3
A4
A5
A6
A7 PUNTERO DE PILA DE SUPERVISOR
PALABRA LARGA
PALABRA
REGISTROS
DE DATOS
REGISTROS DE
DIRECCIONES
PUNTERO DE PILA DEL USUARIO
CONTADOR DE PROGRAMA
BYTE
SISTEMA
CCR
REG. ESTADO
2.2.1 Registros de datos D0-D7
Existen 8 registros de datos de 32 bits cada uno, cuyo fin es el de contener datos u operandos
y que funcionan como si fueran 8 acumuladores. La información que se almacena en dichos
4
registros puede ser manejada como byte, palabra o palabra larga.
31 16 15 8 7 0
PALABRA LARGA
PALABRA
BYTE
REGISTROS
DE DATOS
D0
D1
D2
D3
D4
D5
D6
D7
Esto es, cada registro de datos puede considerarse como:
- Una palabr
Comentarios de: Tema 1 - El microprocesador mc68000 (0)
No hay comentarios