ARQUITECTURA INTERNA DEL μP8086 ES

Anuncio
Sistemas Digitales I
El microprocesador 8086.
ARQUITECTURA INTERNA DEL µP8086
El µP 8086 es un dispositivo
de 16 bits de datos y 20 bits
de direcciones. Esta dividido
en dos subprocesadores:
EU (Unidad de Ejecución). Es
la encargada de realizar todas
las operaciones de control y
ejecución de intrucciones.
BIU (Unidad de Interfaz con el
Bus) Es la encargada de
acceder a datos e instrucciones
del mundo exterior realizando el
direccionaiento y decodificación
de la memoria y los puertos de
E/S.
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
ARQUITECTURA INTERNA DEL µP8086
AX (Registro Acumulador). Es
un registro de 16 bits dividido
en parte baja (AL) y parte alta
(AH) ambos de 8 bits. Es el
registro de proposito general.
BX (Registro Base) Es un
registro de 16 bits dividido en
parte baja (BL) y parte alta (BH)
ambos de 8 bits. Se usa
generalmente para
direccionamiento indirecto.
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
ARQUITECTURA INTERNA DEL µP8086
CX (Registro Contador). Es un
registro de 16 bits dividido en
parte baja (CL) y parte alta
(CH) ambos de 8 bits. Se usa
como contador en algunas
instrucciones de cadenas.
DX (Registro de Datos) Es un
registro de 16 bits dividido en
parte baja (DL) y parte alta (DH)
ambos de 8 bits. Se usa junto
con AX en operaciones de MUL
y DIV y para acceder a puertos
de manera indirecta.
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
ARQUITECTURA INTERNA DEL µP8086
SI (Registro Apuntador Fuente).
Es un registro de 16 bits. Se
emplea para direccionar datos
fuente de forma indirecta en
instrucciones de cadenas y
arreglos.
DI (Registro Apuntador
Destino). Es un registro de 16
bits. Se suele emplear para
direccionar datos destino de
manera indirecta en
instrucciones de cadenas y
arreglos.
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
ARQUITECTURA INTERNA DEL µP8086
SP (Registro Apuntador de
Pila). Es un registro de 16 bits.
Se emplea para almacenar
direcciones de retorno de
subrutinas y datos temporales.
BP (Registro Apuntador Base).
Es un registro de 16 bits.
Generalmente se emplea para
direccionar datos de manera
indirecta dentro de la pila.
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
ARQUITECTURA INTERNA DEL µP8086
IP (Apuntador de Instrucciones).
Se emplea para apuntar a la
siguiente dirección de memoria
donde se encuentra la siguiente
instrucción que va a ejecutar el
procesador.
Cola de Instrucciones
Almacena las instrucciones
que serán ejecutadas por el
µP para hacer más eficiente
el funcionamiento del mismo.
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
ARQUITECTURA INTERNA DEL µP8086
Sistema de control de EU. Es
el encargado de decodificar las
instrucciones que le envia la
cola y enviarle las ordenes a la
ALU según una tabla de los
códigos de operación.
PSW (Palabra de Estado del
Programa) Contiene la
información del estado del
procesador después de haber
ejecutado una instrucción.
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
ARQUITECTURA INTERNA DEL µP8086
PSW – Program Status Word
(Palabra de Estado del Programa)
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
ARQUITECTURA INTERNA DEL µP8086
Registros de Segmentos.
Estos registros son de 16 bits y
generan direcciones de
memoria de hasta 1 Mega Byte
(20 bits). Cada segmento puede
ser de 64 Kbytes de longitud.
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
ARQUITECTURA INTERNA DEL µP8086
CS (Registro de Segmento de
Código) Define la dirección
inicial de la sección de memoria
donde se encuentra el código
del programa.
DS (Registro de Segmento de
Datos) Define la sección de la
memoria que contiene los
datos utilizados en un
programa.
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
ARQUITECTURA INTERNA DEL µP8086
ES (Registro de Segmento
Extra) El espacio de memoria
definido por este registro es
usado por instrucciones de
cadenas o tablas.
SS (Registro de Segmento de
Pila) Define la superficie de la
memoria utilizada por la PILA.
Este segmento es de tipo
LIFO (Last Input First Output).
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
MEMORIA EN EL µP8086
El espacio de direccionamiento de un sistema que esta basado en
microprocesador, se denomina memoria lógica o memoria física.
MEMORIA LÓGICA. Es el
sistema de memoria tal
como lo ve el programador.
MEMORIA FÍSICA. Es la
estructura real en el
hardware del sistema de
memoria.
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
SEGMENTOS Y DESPLAZAMIENTOS
Todo valor de dirección dentro de la memoria consiste en un segmento
y un desplazamiento.
™ El valor ubicado dentro de los registros de segmento, definen la
dirección inicial de cualquier bloque de memoria de 64 Kbytes.
™ El valor ubicado dentro de los registros de desplazamiento o
apuntadores, seleccionan una localidad dentro del bloque de memoria
de 64 Kbytes.
™ Los segmentos pueden empezar en cualquier multiplo de 16 (10H) de
la memoria llamados parrafos.
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
SEGMENTOS Y DESPLAZAMIENTOS
Todo valor de dirección dentro de la memoria consiste en un segmento
y un desplazamiento.
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
SEGMENTOS Y DESPLAZAMIENTOS
Todas las direcciones de memoria están referidas al valor de inicio
de algún registro de segmento (CS, DS, ES y SS).
La distancia en Bytes desde la dirección de inicio del segmento se
define como desplazamiento u offset.
El offset es una cantidad de dos Bytes que va desde 0000H hasta
FFFFH (0 a 65535).
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
SEGMENTOS Y DESPLAZAMIENTOS
Todas las direcciones de memoria están referidas al valor de inicio
de algún registro de segmento (CS, DS, ES y SS).
Los registros de desplazamiento asociados a cada segmento son:
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
SEGMENTOS Y DESPLAZAMIENTOS
NOTA! Todo programa puede tener uno o varios segmentos, los
cuales pueden iniciar en casi cualquier lugar de la memoria, variar su
tamaño y estar en cualquier orden.
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
EJEMPLO
El valor de los registros en el µP8086 se muestra como sigue:
AX
40A2H
BX
1234H
CX
001EH
DX
00FAH
1. ¿Dónde inicia el segmento
de código?
CS
FFFFH
SS
D000H
DS
C000H
ES
A800H
2. ¿Dónde termina?
SP
200CH
BP
10A0H
SI
0B00H
DI
0D00H
IP
2200H
PSW
0480H
3. ¿Cuál es la dirección física
de la siguiente instrucción a
ejecutar?
Ing. Ricardo Godínez Bravo.
Sistemas Digitales I
El microprocesador 8086.
EJEMPLO
El valor de los registros en el µP8086 se muestra como sigue:
AX
40A2H
BX
1234H
CX
001EH
DX
00FAH
1. ¿Dónde inicia el segmento
de pila?
CS
FFFFH
SS
D000H
DS
C000H
ES
A800H
2. ¿Dónde termina?
SP
200CH
BP
10A0H
SI
0B00H
DI
0D00H
IP
2200H
PSW
0480H
3. ¿Cuál es la dirección física
de la parte superior de la
pila?
Ing. Ricardo Godínez Bravo.
Descargar