Você está na página 1de 81

1

Microprocesadores. El MC68000
1.Introduccin
2.Caractersticas principales del MC68000
3.Registros del modelo de programacin
4.Organizacin de la memoria
5.Buses del Sistema
6.Formato de instruccin mquina
7.Modos de direccionamiento
8.Conjunto de instrucciones
9.Lenguaje ensamblador
10.Procesamiento de excepciones
2
Microprocesadores. El MC68000
Bibliografa:
Julio Septien y otros. La Familia del MC68000
Editorial Sintesis.
3
Microprocesadores. El MC68000
Objetivos:

Concretar los conceptos generales sobre computadores


mediante el estudio de un microprocesador real.

Describir el modelo de usuario.

Describir los buses del sistema (Patillas del CI).

Conocer los modos de direccionamiento y justificar su utilidad.

Conocer sus instrucciones y realizar programas en


ensamblador.

Describir las situaciones en las que se pueden producir


excepciones.

Describir el funcionamiento del microprocesador durante el


procesamiento de una excepcin.

Estudiar las interrupciones como caso particular de las


excepciones.
4
1. Introduccin

Microprocesador: es un procesador en un slo Circuito


integrado incluyendo:

Unidad de control

Unidad aritmtico-lgica y banco de registros

buses internos de datos direcciones y control

Los computadores actuales se basan en microprocesadores.

Caractersticas de los microprocesadores:

Repertorio de instrucciones.

Frecuencia de reloj.

Anchura de los buses internos.

Tamao de los registros.

Nmero de patillas de encapsulamiento.


5
1. Introduccin
Microprocesadores ms conocidos

Fabricantes: Intel, AMD, Motorola, Zilog, Texas Instruments,


etc.

Microprocesadores de 4 bits: 4004.

Microprocesadores de 8 bits: 8008, 8080, 6800, Z-80. 8085.

Microprocesadores de 16 bits: 8086, 68000, 80286.

Microprocesadores de 32 bits: 68020, 68030, 68040, 80386,


80486, Pentium, PowerPC.

Microprocesadores de 64 bits: Alpha, SPARC, R4000.

Microprocesadores de 128 bits: CELL IBM Sony y Toshiba


6
1. Introduccin
Microcontroladores y procesadores de propsito
especfico

Microcontroladores: Son computadores en una sola pastilla,


incluyendo memoria e interfaz para entrada/salida.

Procesadores digitales de seal (DSP): adaptados para realizar


tratamiento de seales digitales. (por ejemplo en un modem
ADSL).

Otros procesadores de propsito especifico: E/S, controladores


de red local.
7
1. Introduccin

Abordaremos el estudio de los microprocesadores eligiendo


uno concreto y no de forma general.

El microprocesador elegido es el 68000 de motorola. Aunque


es antigo tiene el nivel de complejidad adecuado para la
asignatura y existen mucha y muy adecuada bibliografa para
su estudio.

Se realizar el estudio desde dos puntos de vista:

Estructural: registros internos accesibles al programador y


descripcin de las patillas.

Funcional: modos de direccionamiento, repertorio de


instrucciones y procesamiento de excepciones.
8
2. Caractersticas principales del MC68000

Mquina CISC (computador con repertorio de instrucciones


complejo).

Nmero de instrucciones: sobre 70

Nmero de modos de direccionamiento: 12

Tamao de los buses:

Datos:16 bits.

Direcciones: 23 bits, internamente se trabaja con 24 bits de


direcciones pero el bit menos significativo no sale aunque
podemos saber su valor a travs de las seales de control LDS
y UDS.
9
2. Caractersticas principales del MC68000

Tamao de los datos:

Octeto (byte):.B

Palabra (word): .W

Palabra larga (longword):.L

Bits.

Dgitos BCD (empaquetados de dos en dos en un octeto).

Esquema de bus nico para memoria y E/S.

Modos de funcionamiento:

usuario: Los programas normales funcionan en este modo,


existen instrucciones privilegiadas que no pueden utilizarse
en este modo.

supervisor: se puede acceder a todos los recursos de la


mquina sin restricciones.
10
2. Caractersticas principales del MC68000
MC68000
Memoria
E/S
Perifrico Perifrico
Bus de direcciones
Bus de control
Bus de datos
Un computador basado en el MC68000
11
2. Caractersticas principales del MC68000
12
3. Registros del modelo de programacin
13
3. Registros del modelo de programacin
Registros de datos

Tamao:32 bits

Modos de acceso:
- Octeto (.B): se accede slo a los 8 bits
menos significativos
- Palabra (.W): se accede solo a los 16
bits menos significativos
- Palabra Larga o doble (.L): se accede al
registro completo.

Uso: para almacenar datos temporales.


DEPLAZAMIENTO A LA IZQDA TAMAO BYTE
14
3. Registros del modelo de programacin
Registros de direcciones

Tamao:32 bits

Modos de acceso:
- Palabra (.W): se accede solo a los 16 bits menos significativos
*En escritura en modo palabra, se realiza la extensin del signo a 32
bits
- Palabra Larga o doble (.L): se accede al registro completo.

Uso; Puntero a datos o estructura de datos en memoria


* Como la memoria mxima tiene 2
24
octetos , al usar un registro de
direcciones como puntero se descarta su octeto ms significativo

Operaciones con estos registros no modifican los bits del CCR


15
3. Registros del modelo de programacin
Punteros de propsito especfico

Contador del programa (PC)


- Tiene 32 bits de los cuales slo se usan los 24 menos significativos.
- Acta como puntero a la prxima instruccin que se va a ejecutar
(entre instrucciones- ciclo de ejecucin-) o a la prxima palabra de una instruccin
durante el ciclo de bsqueda.

Punteros de pila, el MC68000 tiene dos punteros de pila:


- Puntero de pila de usuario (USP): visible por el usuario como SP o A7
- Puntero de pila de supervisor (SSP): accesible slo por el supervisor
como SP o A7.
- Son de 32 bits.
- Funcionan como registros de direcciones.
- Tienen un uso especfico en determinadas instrucciones
16
3. Registros del modelo de programacin
El registro de estado del MC68000. SR (status register)
OCTETO DEL SISTEMA
T
15
S
13
I
2
I
1
I
0
10 9 8
OCTETO DEL USUARIO (CCR)
C V Z N X
4 3 2 1 0

CCR (condition code register o registro de cdigos de condicin):


- C: acarreo
- V: desbordamiento en nmeros con signo.
- Z: resultado igual a cero.
- N: resultado negativo.
- X: bit de extensin. utilizado en operaciones aritmticas de
mltiple precisin y de desplazamiento.

Octeto del sistema.


- T: modo traza (1=se genera una excepcin al ejecutar una
instruccin; 0=se ejecutan las instrucciones normalmente)
- S: modo de funcionamiento (1=supervisor; 0= usuario).
- I
2
I
1
I
0:
nivel actual de prioridad de la interrupcin.
17
4. Organizacin de la memoria

Espacio de direcciones de 16 Mbytes:


A
23
A
22.
..A
1
A
0
para direccin interna 2
24
: 16Mposiciones: 1
posicin=1byte.

En este espacio se puede incluir cualquier tipo de memoria (RAM o


ROM), registro o dispositivo de E/S.

Bus de direcciones de 23 bits y bus de datos de 16 bits (8Mword).


AB[23]: A
23
A
22.
..A
1
para la direccin exterior 2
23
= 8 Mposiciones: 1
posicin 1 Word=1palabra=2 Bytes. Con ello, la capacidad total es 8
Mword= (M .2Bytes=16MBytes.
18
4. Organizacin de la memoria

Acceso a un dato tamao octeto:

el octeto puede estar en direcciones pares (se activa UDS) o impares (se
activa LDS)

Acceso a un dato tamao palabra:

La palabra siempre debe comenzar en una direccin par a la que


llamaremos N (se activan UDS y LDS).

Big endian: el octeto ms significativo es el de la direccin par (N), y el


menos significativo es el de la direccin impar (N+1).

Acceso a palabra larga:

La doble palabra comienza en una direccin par a la que llamaremos N


( se activan UDS y LDS).

Se realizan dos accesos consecutivos a la memoria.

Big endian: el octeto ms significativo se encuentra en la direccin N , el


siguiente en la N+1 (impar), el siguiente en la direccin N+2 (par) y el
menos significativo en la direccin N+3 (impar)
19
4. Organizacin de la memoria
Oct 3 Oct 2 Oct 1 Oct 0
M (N+2)
M (N+1)
M (N)
M (N+3)
31 24
23 1615 87 0
Registro de datos Di
MEMORIA
PAR IMPAR
Oct 3 Oct 2 Oct 1 M(N)
31 2423 1615 87 0
Oct 3 Oct 2 Oct 1 M(N+1)
31 2423 16 15 8 7 0
Oct 3 Oct 2 M(N) M(N+1)
31 24
23 16
15 8
7 0
M(N) M(N+1) M(N+2) M(N+3)
31 2423 16 15 8 7 0
MOVE.B N+1,Di
MOVE.B N,Di
MOVE.W N,Di
MOVE.L N,Di
20
4. Organizacin de la memoria
Representacin de los datos
Ejemplo: Representar en memoria los nmeros primos (1,2,3,5)
desde $001122
00010010 00110101 $001122
$001124
$001126
$001128
$00112A
PAR IMPAR
BCD Empaquetado
00000001 00000010 $001122
$001124
$001126
$001128
$00112A
00000011
PAR IMPAR
Binario sin signo tamao byte
00000101
00000000 00000001 $001122
$001124
$001126
$001128
$00112A
00000000 00000010
00000000 00000011
00000000 00000101
PAR IMPAR
Binario sin signo tamao word
00000000 00000000 $001122
$001124
$001126
$001128
$00112A
00000000 00000001
00000000 00000000
00000000 00000010
00000000 00000000
PAR IMPAR
Binario sin signo tamao long word
$00112C 00000000 00000011
$00112E 00000000 00000000
$001130 00000000 00000101
21
4. Organizacin de la memoria: Estructura de la
Pila

Estructura LIFO (ltimo en entrar-primero en salir).

Puntero de Pila: A7 o SP.

Pila de usuario y de supervisor independientes.

USP: puntero de pila de usuario.

SSP: puntero de pila de supervisor.

La pila crece hacia posiciones decrecientes de la memoria, y el


puntero apunta hacia el ltimo elemento insertado en la misma (si
no hay ninguno, apunta al fondo de pila).

Insercin: MOVE.{WL} DATO, -(SP)

Extraccin: MOVE.{WL} (SP)+, DATO

Es posible acceder a cualquier dato almacenado en la pila.

Direccionamientos relativos al puntero de pila.

Direccionamientos relativos al puntero de marco si est definido.


22
Organizacin de la memoria: Estructura de la
Pila
SP
ANTES
23
Organizacin de la memoria: Estructura de la Pila
SP
ANTES
Insercin
MOVE.{WL} DATO, -(SP)
El contenido del dato se almacena en la cima de la pila
24
Organizacin de la memoria: Estructura de la
Pila
SP
ANTES
Insercin
MOVE.{WL} DATO, -(SP)
El contenido del dato se almacena en la cima de la pila
DESPUS
SP
DATO
2 o 4 octetos
25
Organizacin de la memoria: Estructura de la Pila
SP
DATO
2 o 4 octetos
ANTES
26
Organizacin de la memoria: Estructura de la Pila
SP
DATO
2 o 4 octetos
ANTES
Extraccin
MOVE.{WL} (SP)+,DATO
La informacin extrada se almacena en dato
27
Organizacin de la memoria: Estructura de la Pila
SP
DATO
2 o 4 octetos
ANTES
Extraccin
MOVE.{WL} (SP)+,DATO
La informacin extrada se almacena en dato
SP
DESPUS
28
5. Buses del Sistema
- BUS DE DATOS (D15-
D0) 16bits. Triestado.
Bidireccional.
- BUS DE DIRECCIONES
(A23-A1) - 23 bits = 8
M direcc. Fsicas.
Triestado.
Unidireccional.
29
- #AS (Address Strobe): Salida. Activa
en bajo. Informa de que existe una
direccin estable en el bus de
direcciones.
- R/#W: Salida. Indica el tipo de
transferencia (lectura o escritura)
- #UDS y #LDS (Upper Data Strobe ,
Lower Data Strobe). Salidas. Activas
en bajo. Indican la parte del bus de
datos (mitad superior D15-D8 o mitad
inferior D7-D0) que se utiliza en los
ciclos de lectura o escritura.
- #DTACK Data Transfer Acknowledge)..
Entrada. Activa en bajo. Indica el fin
de un ciclo de lectura/escritura.
5. Buses del sistema: Control del bus asncrono y estado del
procesador
30

Accesos a bytes en direcciones impares utilizan D7-D0, por


tanto, #UDS=1 y #LDS=0.

Accesos a bytes en direcciones pares utilizan D15-D8, por


tanto, #UDS=0 y #LDS=1.

Accesos a words, utilizan D15-D0, por tanto,


#UDS=#LDS=0.

Accesos a long words, requieren dos ciclos de words.


5. Buses del sistema: Control del bus asncrono y estado
del procesador
31

Estado del procesador: FC2,FC1,FC0. Salidas. Informan del tipo de ciclo de


lectura/escritura que est realizando el microprocesador.

Ciclo Supervisor/suario.

Ciclo de !ro"rama. Si accede a memoria en la fase de FE#C$.

Ciclo de %atos. Si accede a memoria en la fase de E&EC#E.

'econocimiento de interrupciones.
5. Buses del sistema: Control del bus asncrono y estado del
procesador
FC2 FC1 FC0 Tipo de ciclo
0 0 0 Indefinido
0 0 1 Datos de usuario
0 1 0 Programa de usuario
0 1 1 Indefinido
1 0 0 Indefinido
1 0 1 Datos de supervisor
1 1 0 Programa de supervisor
1 1 1 Reconocimiento de interrupciones
32

Existen dos ciclos de bus:

Ciclo de LECTURA

Ciclo de ESCRITURA

Ciclo de LECTURA

Durante un ciclo de lectura, el procesador recibe o ! b"tes


de datos por el bus

#UDS " #LDS de$inen %ue &itad del bus se est utili'ando(

)perandos de ta&a*o palabra lar+a se re%uieren dos ciclos


de lectura

En un ciclo de lectura se de$inen oc,o estados( Cada estado


se corresponde con un ni-el l.+ico de la se*al de relo/ CL0(
5. Buses del sistema: Control del bus asncrono y estado
del procesador
33
Te&pori'aci.n de lectura 1sin estados de espera2:
Estado S3

Se actuali'an 4C!:4C3 " se pone a la se*al R56#


5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
34
Te&pori'aci.n de lectura 1sin estados de espera2:
Estado S

Se colocan la direcci.n en el bus A!78A(


5. Buses del sistema: Control del bus asncrono y estado del
procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
35
Te&pori'aci.n de lectura 1sin estados de espera2:
Estado S!

Se acti-an #AS " #UDS,#LDS se+9n corresponda(


5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
36
Te&pori'aci.n de lectura 1sin estados de espera2:
Estado S7
5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
37
Te&pori'aci.n de lectura 1sin estados de espera2:
Estado S:

Si se recibe la acti-aci.n de DTAC0, se pasa al estado


S; " no se insertan estados de espera(
5. Buses del sistema: Control del bus asncrono y estado del
procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
38
Te&pori'aci.n de lectura 1sin estados de espera2:
Estado S;
5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S( S) S* S+ S, S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
39
Te&pori'aci.n de lectura 1sin estados de espera2:
Estado S<

Se captura el dato al $inal del ciclo 1$lanco


descendente2(
5. Buses del sistema: Control del bus asncrono y estado del
procesador
S0 S1 S2 S3 S4 S5 S6 S 7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
40
Te&pori'aci.n de lectura 1sin estados de espera2: Estado S=

Se desacti-an #UDS,#LDS,#AS, /unto con #DATC0( El dato


es retirado del bus(
5. Buses del sistema: Control del bus asncrono y estado del
procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
41
Te&pori'aci.n de lectura 1sin estados de espera2:
5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
Tiempo de acceso
42
Te&pori'aci.n de lectura 1con estados de espera2:
Estado S3

Se actuali'an 4C!:4C3 " se pone a la se*al R56#


5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
43
Te&pori'aci.n de lectura 1con estados de espera2:
Estado S

Se colocan la direcci.n en el bus A!78A(


5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
44
Te&pori'aci.n de lectura 1con estados de espera2:
Estado S!

Se acti-an #AS " #UDS,#LDS se+9n corresponda(


5. Buses del sistema: Control del bus asncrono y estado del
procesador
S0 S1 S2
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
45
Te&pori'aci.n de lectura 1con estados de espera2:
Estado S7
5. Buses del sistema: Control del bus asncrono y estado del
procesador
S0 S1 S2 S3
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
46
Te&pori'aci.n de lectura 1sin estados de espera2:
Estado S:

>o se recibe la acti-aci.n de DTAC0, se insertan


estados de espera(
5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
47
Te&pori'aci.n de lectura 1con estados de espera2:
Estado S6

Si espera a la acti-aci.n de DTAC0


5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 SW
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
48
Te&pori'aci.n de lectura 1con estados de espera2:
Estado S6

Si espera a la acti-aci.n de DTAC0


5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 SW SW
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
49
Te&pori'aci.n de lectura 1con estados de espera2:
Estado S;
5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 SWSW S5
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
50
Te&pori'aci.n de lectura 1con estados de espera2:
Estado S<

Se captura el dato en el $lanco descendente(


5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 SW SW S5 S6
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
51
Te&pori'aci.n de lectura 1con estados de espera2:
Estado S=

Se desacti-an #UDS,#LDS,#AS, /unto con #DATC0( El


dato es retirado del bus(
5. Buses del sistema: Control del bus asncrono y estado del
procesador
S0 S1 S2 S3 S4 SWSW S5 S6 S7
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
1 Estado de espera = 2 SW
52
Te&pori'aci.n de lectura 1con estados de espera2:
5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 SWSW S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
Tiempo de acceso
53
Te&pori'aci.n de escritura 1sin estados de espera2:
Estado S3

Se actuali'an 4C!:4C3 " se pone a la se*al R56#


5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
54
Te&pori'aci.n de escritura 1sin estados de espera2:
Estado S

Se colocan la direcci.n en el bus A!78A(


5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
55
Te&pori'aci.n de escritura 1sin estados de espera2:
Estado S!

Se acti-an #AS " se pone a 3 R5#6


5. Buses del sistema: Control del bus asncrono y estado del
procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
56
Te&pori'aci.n de escritura 1sin estados de espera2:
Estado S7

Se sit9a el dato en el bus de datos(


5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
57
Te&pori'aci.n de escritura 1sin estados de espera2:
Estado S:

Se acti-an #UDS " #LDS se+9n corresponda " se


recibe la acti-aci.n de DTAC0, se pasa al estado S; "
no se insertan estados de espera(
5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
58
Te&pori'aci.n de escritura 1sin estados de espera2:
Estado S;
5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
59
Te&pori'aci.n de escritura 1sin estados de espera2:
Estado S<
5. Buses del sistema: Control del bus asncrono y estado del
procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
60
Te&pori'aci.n de escritura 1sin estados de espera2:
Estado S=
5. Buses del sistema: Control del bus asncrono y estado
del procesador
S0 S1 S2 S3 S4 S5 S6 S7 S0
CLK
FC2-FC0
A23-A1
#UDS,#LDS
R/#W
#AS
Dato
#DTACK
61

-os c.ips de memoria de/en venir


en pare0as, donde el /us de datos
de uno se conecta a la mitad /a0a
del /us 1 el del otro a la mitad alta.

-as l neas menos si"nificativas del ?


/us de direcciones se utilizan para
seleccionar la direcci n interna de .
am/os c.ips.

-as l neas m s si"nificativas, 0unto ?


con 2%S, 2-%S, 23S, .a/ilitan
uno o am/os c.ips de memoria
mediante la l "ica de selecci n . .
que, a su vez, .a/ilita la entrada
2%#3C4 5con o sin retardo6.
5. Buses del sistema: Conexin de memorias al
MC68000
62

E( Salida( @orta una se*al de relo/


%ue se conecta en las entradas de
relo/ de los peri$Aricos s?ncronos(
Un periodo de E e%ui-ales a 3
periodos de CL0 1< en ba/o " : en
alto2( Sie&pre est corriendo(

ClB
5. Buses del sistema: Control del bus sncrono

8#C@A( Entrada( Acti-a en ba/o( Indica %ue:

2 Se est direccionando peri$Aricos s?ncronos " %ue


el DC<E333 debe sincroni'arse con la se*al E(

!2 Se debe utili'ar -ectori'aci.n auto&tica(

#CDA( Salida( Acti-a en ba/o(

Su acti-aci.n indica al peri$Arico %ue dispone de


una direcci.n -lida " %ue el &icroprocesador est
sincroni'ado con la se*al E(
63

El procesador inicia un ciclo nor&al de escritura o lectura

Se acti-a 5C@A indicando %ue se est accediendo a un peri$Arico


s?ncrono(

El procesador espera ,asta %ue la se*al E pase a ni-el ba/o, entonces


acti-a 5CDA
5. Buses del sistema: Control del bus sncrono
64

El peri$Arico espera ,asta %ue E se acti-e, entonces


trans$iere los datos(

El procesador espera %ue E -uel-a a 3 1 en un ciclo de


lectura los datos son car+ados2, entonces desacti-a
5CDA " 5AS, 5UDS " 5LDS(
5. Buses del sistema: Control del bus sncrono
65
5. Buses del sistema: Protocolo de arbitraje
Son seales que permiten que otros dispositivos
distintos de la CPU puedan utilizar el bus
#BR: Bus Request. Esta lnea de entrada indica
al microprocesador que existe un controlador
externo que solicita ser el controlador del bus
para acceder a la memoria.
#BG: Bus Grant. Esta lnea de salida indica a
posibles controladores externos que el
microprocesador cede el bus cuando termine el
ciclo de bus actual.
#BGACK: Bus Acknowledge. Esta entrada
indica al micoprocesador que un dispositivo
externo controla ahora el bus. Cuando el
controlador termine, desactiva esta entrada y el
microprocesador se hace cargo nuevamente del
bus.
66
#BERR( Bus error( Entrada( Su
acti-aci.n a-isa de la existencia de
un proble&a en el ciclo de bus(
#RESET, #HALT. Son se*ales
bidireccionales, se pueden utili'ar de
$or&a separada o con/unta entre
ellas o con #FERR
5. Buses del sistema: Control del sistema
Utlizacin de #RESET y #HALT como salidas :

Ejecucin de la instruccin RESET: el procesador activa la seal


#RESET para inicializar los controladores que tiene conectados.

Si el procesador se encuentra con errores al tratar los propios errores


(doble error de bus, explicado ms adelante) y no puede continuar, se
queda parado y activa la seal #HALT. Esta seal tambin se activar
al ejecutar la instruccin STOP. Slo se puede salir de esta situacin
reiniciando el procesador.
67
5. Buses del sistema: Control del sistema
Utlizacin de #BERR y #RESET y
#HALT como entradas:

Con laseal #BERR se puede decir a la CPU que aborte el ciclo actual y pase a
tratar un error de BUS (excepcin de error de BUS), no debe estar activa al
mismo tiempo que #HALT. Esta seal se deber activar despus de #AS y antes
de #DTACK. Razones para su activacin:

Se intenta acceder a una direccin no implementada fsicamente.

Se intenta acceder en modo usuario a espacios a los que slo se debe


acceder en modo supervisor.

Se intenta escribir sobre espacios en los que slo se debe leer.

la seal #DTACK no se ha activado tras agotar los estados de espera.

Activando #HALT sin que este activa #BERR, el procesador terminar el ciclo
actual y se quedar parado, manteniendo buses y datos en alta impedancia.

Si se activan #HALT y BERR simultneamente, se le indica al procesador que


ha habido un error y que debe de volver a intentar desde el principio el acceso a
memoria que estaba haciendo
68
5. Buses del sistema: Control del sistema
Utlizacin de #BERR y #RESET y
#HALT como entradas:

Activando #RESET y #HALT se entra en un ciclo de inicializacin


del procesador (excepcin de RESET). Al encender un sistema
basado en este micro hay que mantener activas esta dos seales
un mnimo de 10ms para una inicializacin correcta. Cuando
veamos las excepciones veremos que durante un ciclo de RESET
se inializan los valores del puntero de pila y del contador del
programa y que todo esto se hace trabajando en modo supervisor.
69
Diagrama temporal del reintento del ciclo de bus explicado
anteriormente
)curre si se acti-. #FERR durante un ciclo en el cual estaba acti-o
#GALT( Cuando se desacti-a #GALT, el &icroprocesador reintenta el
9lti&o ciclo de bus usando los &is&os c.di+os de $unci.n, direcci.n "
datos 1para una operaci.n de escritura2(
5. Buses del sistema: Control del sistema
70
Doble error de bus
8 Si se acti-a #FERR cuando #GALT est inacti-o, el DC<E333 inicia el
procesa&iento de una excepci.n(
8 Si ocurre otro error de bus durante el proceso de excepci.n 1antes de
la e/ecuci.n de otra instrucci.n2 el &icroprocesador para " coloca la
l?nea de #GALT a 3( Esto se reconoce co&o doble error de bus(
Hnica&ente &ediante un reset externo se puede sacar el
&icroprocesador de este estado de parada(
5. Buses del sistema: Control del sistema
71
#IL!"#( Entradas
I Codi$ican el ni-el de petici.n de
interrupci.n( El ni-el 3,
#I@L3#I@L#I@L!J indica %ue
no ,a" interrupci.n, " el ni-el =,
#I@L3 #I@L #I@L!J333, indica
la interrupci.n de &a"or
prioridad " %ue no es
en&ascarable(
5. Buses del sistema:Terminales de peticin de
interrupciones
I Deben per&anecer sin &odi$icarse ,asta %ue el
&icroprocesador inicie el ciclo de reconoci&iento de
interrupciones(
I El ni-el de interrupci.n %ue puede atender el
&icroprocesador -iene $i/ado por los bits I3,I,e I! del SR(
Si el ni-el de petici.n de interrupci.n es de &a"or
prioridad %ue el $i/ado por la &scara, se atender la
petici.n sal-o para la >DI 1ni-el =2 %ue se atender
i+ual&ente(
72
6. Formato de instruccin mquina

Una instrucci.n &%uina del DC<E333 puede


contener entre una " cinco palabras: la pri&era se
deno&ina @ALAFRA DE )@ERACIK> 1)62, las
restantes, palabras de extensi.n 1E62(

El orden de escritura en &e&oria de las palabras se


&uestra a continuaci.n:
OW
EW: para operando inmediato (1 o 2 W))
EW: para direcc. efectiva fuente (1 o 2 W)
EW: para direcc. efectiva destino(1 o 2 W)
73
6. Formato de instruccin mquina
La )6 puede contener los si+uientes ca&pos:
L C.di+o de operaci.n 1)@C)DE2
L Ta&a*o del operando
L Direcci.n e$ecti-a 1EA2 %ue tiene dos subca&pos:
8 Dodo
8 Re+istro
74
6. Formato de instruccin mquina

Las @ALAFRAS DE EMTE>SIK> 1E62 contienen


in$or&aci.n de apo"o a los &odos de direcciona&iento
1ca&po EA de )62(
E/e&plo:
75
6. Formato de instruccin mquina
El formato de la OW varia segn el nmero de operandos de la instruccin
INSTRUCCIONES SIN OPERANDOS.
SINTAXIS ENSAMBLADOR: Cdigo_op
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
codigo de operacion
OW
Ejemplos: RTS, NOP, RTE
76
6. Formato de instruccin mquina
INSTRUCCIONES CON UN OPERANDO.
SINTAXIS ENSAMBLADOR: Cdigo_op.TAM op_destino
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
codigo_op
EA destino
modo registro
tamao
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
codigo de operacion registro
OW
OW
a)
b)
Formato a): Consta de tres campos-> (Cod.Ope ; Tam ; EA destino)
Ejemplos a): CLR.L D0, NOT.B D1, NEG.W D2
Formato b): Instrucciones que slo usan un registro de datos como
operando -> dos campos-> (Cod.Ope ; reg destino)
Ejemplos b): SWAP D3, EXT D1
77
6. Formato de instruccin mquina
INSTRUCCIONES CON DOS OPERANDOS.
SINTAXIS ENSAMBLADOR: Cdigo_op.TAM op_fuente, op_destino
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cod_op
EA fuente
modo registro
tamao
EA destino
modo registro
OW
Formato (a) Los dos operandos estn especificados por EAs
Ejemplo: MOVE.B D3,D1
78
6. Formato de instruccin mquina
INSTRUCCIONES CON DOS OPERANDOS.
SINTAXIS ENSAMBLADOR: Cdigo_op.TAM op_fuente, op_destino
Formato (b): Un operando es un registro de datos y el otro por una EA.
Ejemplo :ADD.B (A1),D0 ; CMP.W 8(A3),D0
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cod_op
EA fuente/destino
modo registro
modo_op registro
OW
Byte Palabra Doble pal. Operacin
000 001 010 <registro>OP<EA> registro
100 101 110 <EA>OP<reistro> EA
79
6. Formato de instruccin mquina
INSTRUCCIONES CON DOS OPERANDOS.
SINTAXIS ENSAMBLADOR: Cdigo_op.TAM op_fuente, op_destino
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cod_op registro modo_op registro
OW
modo_op especifica el tamao de la operacin y el tipo de registros que
intervienen (datos o direcciones)
Formato( c): Los operandos siempre estn en registros. Ej: EXG D1,A2.
Esta instruccin intercambia el contenido de los dos registros.
80
6. Formato de instruccin mquina
Existen formatos especiales (FORMATOS CORTOS instrucciones
ADDQ, SUBQ y MOVEQ) donde uno de los operandos es una pequea
constante que se codifica en la propia OW.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cod_op
EA destino
modo registro
modo_op dato
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cod_op 0 registro dato
OW
OW
81
6. Formato de instruccin mquina
Las instrucciones de bifurcacin condicional, Bcc, tienen un formato
especial: la OW incluye un campo de desplazamiento y un campo de
condicin de la bifurcacin.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
cod_op condicion desplazamiento
OW

Você também pode gostar