Академический Документы
Профессиональный Документы
Культура Документы
(20 BITS)
BUS DE DATOS
REGISTROS
GENERALES
AH
BH
AL
BL
CH
CL
DH
DL
(8 BITS)
CS
DS
SP
BP
SS
ES
DI
SI
IP
BUS DE DATOS
ALU
REGISTROS DE
COMUNICACION INTERNA
LOGICA
DE CONTROL
DE BUS
BUS 8088
(16 BITS)
REGISTROS TEMPORALES
COLA DE
INSTRUCCIONES
ALU
SISTEMA DE
CONTROL DE
LA EU
BUS Q
1
(8 BITS)
BANDERAS
UNIDAD DE EJECUCION
(EU)
En la figura 2 se ilustra una comparacin operacional del 8085 con el 8088, la figura 2
(a) muestra una operacin normal del 8085. Note que la instruccin es trada de la memoria
por una operacin de lectura de memoria, luego el 8085 ejecuta la instruccin, y el sistema de
memoria-bus esta ocioso. El 8088 hace uso de este tiempo de memoria-bus ocioso para
buscar la prxima instruccin mientras se esta ejecutando la actual instruccin.
La figura 2 (b) muestra la secuencia de eventos para el 8088. Note que el bus siempre
esta ocupado. (Generalmente, si existen momentos en que el bus esta ocioso pero no siempre).
Esto es debido a las dos unidades que componen al 8088 la Unidad de Ejecucin (EU) y la
Unidad de Interfaz de Bus (BIU).
U.A.B.C.
Pag. 28
CPU
TRAER
BUS
OCUPADO
LEER
EJECUTAR
OCUPADO
TRAER
ESCRIBIR
OCUPADO
OCUPADO
EJECUTAR
(a)
EU
BIU
BUS
EJECUTAR
TRAER
OCUPADO
LEER
OCUPADO
EJECUTAR
EJECUTAR
TRAER
ESCRIBIR
OCUPADO
OCUPADO
TRAER
TRAER
OCUPADO
OCUPADO
(b)
Figura 2. (a) Operacin del 8085 y actividad del bus (b) Operacin de las unidades del 8088 y
actividad del bus.
U.A.B.C.
Pag. 29
8 bits
8 bits
AH
AL
Acumulador
BX
BH
BL
Base
CX
CH
CL
Contador
DX
DH
DL
Datos
AX
SP
Puntero de Pila
BP
Puntero de Base
SI
Indice Fuente
DI
Indice Destino
IP
Puntero de
Instruccin
CS
Segmento de Codigo
DS
Segmento de Datos
SS
Segmento de Pila
ES
Segmento Extra
BANDERAS
Registros de
propsito
general
Registros
Punteros y
de Indices
Registro de
Segmentos
Registro de Banderas
U.A.B.C.
Pag. 30
BX
CX
DX
(Puntero de Pila)-Usado para direccionar datos de una pila de memoria, esta pila es
de tipo LIFO (last-in, first-out). Esto ocurre cuando una instruccin PUSH o POP es
ejecutada o cuando una subrutina es llamada mediante CALL y al retornar de una
subrutina con la instruccin RET.
BP
SI
DI
IP
Registros de Segmentos
Un segmento de memoria es un bloque de 64K-bytes de memoria direccionado por un registro
especial llamado registro de segmento, la figura 4 muestra segmentos de memoria del 8088.
Cuatro segmentos diferentes pueden existir simultneamente en el espacio de memoria: el
segmento de cdigo, segmento de datos, segmento de pila y segmento extra. Los datos
son indexados o apuntados dentro de un segmento por el registros de ndice, registros
punteros, registro base o puntero de instruccin.
U.A.B.C.
Pag. 31
Cada registro de segmento mantiene una porcin de 16-bits de la direccin de 20- bit de inicio
del segmento de 64K-bytes de memoria. Los 20 bits de la direccin esta formada 00002 (0H)
colocado como el menos significativo del registro de segmento, esto equivale a multiplicar el
registro segmento por 10H.
Memoria
AFFFFH
SEGMENTO
DE
PILA
SS
A000
A0000H
8FFFFH
SEGMENTO
EXTRA
ES
8000
80000H
3FFFFH
SEGMENTO
DE
DATOS
3000
SEGMENTO
DE
CODIGO
1000
DS
30000H
1FFFFH
CS
10000H
Cada registro de segmento tiene una funcin especial y normalmente es asociada con uno o
mas de los registros de ndice o punteros. Para generar una localidad de memoria, el contenido
del registro de segmento contiene la parte de la direccin del segmento y se incrementa un
registro ndice o puntero, el cual contiene el desplazamiento (offset). La figura 5 muestra una
direccin de memoria generada dentro de un segmento por la combinacin del contenido del
registro de segmento y el desplazamiento almacenado en un registro ndice o puntero y as
generar la direccin efectiva. La direccin efectiva es la suma de la direccin del segmento y
el desplazamiento. En el ejemplo de la figura 5, el registro se segmento (DS) contiene 1000H,
as que el segmento inicia en la localidad de memoria 10000H y el desplazamiento (0010H) que
esta contenido en el registro base (BX), forman la direccin efectiva 10010H, o 1000H 10H
+ 0010H.
U.A.B.C.
Pag. 32
CS
10010
1000F
1000E
1000D
1000C
1000B
1000A
Desplazamiento
10009
10008
10007
BX
0010
10006
10005
10004
10003
10002
10001
DS
10000
1000
Figura 5. Mapa de memoria que muestra como la direccin 10010H es direccionada cuando DS=1000H y
BX contiene un desplazamiento de 0010H.
DS
SS
ES
U.A.B.C.
Pag. 33
Registro de Banderas
El registro de banderas, tambin llamado registro de estado o palabra de estado, es un
registro de 16 bits y contiene informacin sobre el estado de operaciones de la unidad
aritmtica y lgica, en la figura 6 muestra la posicin relativa de cada bit de bandera y su
correspondiente letra que se utiliza para identificar cada bandera.
15
U.A.B.C.
Pag. 34