You are on page 1of 49

MICROPROCESADOR

8086/8088
http://es.slideshare.net/menes21/paginacion-y-segmentacion-
de-memoria
MICROPROCESADOR
MICROPROCESADOR
8086 8086

CARACTERISTICAS:
Incorpora un coprocesador matemtico instalado en la placa base para
funciones matemticas.
Incorpora un coprocesador matemtico instalado en la placa base para
funciones matemticas.
Disponen de un juego de 92 instrucciones.
Disponen de un juego de 92 instrucciones.
Dentro de las Dentro
familias de
dellas familias
8086 delmicroprocesadores:
estn los 8086 estn los microprocesadores:
80186,80188,8088,80286,80386,80486, Pentium I,II,III,IV Pentium I,II,III,IV
80186,80188,8088,80286,80386,80486,
Arquitectura en Pipeline
Los procesadores previos al 8086 ejecutaban dos pasos en el
procesador:
Fetch/Execute, en forma secuencial. No se puede ejecutar una
instruccin hasta que se traiga de memoria (Fetch);
Y No podan traerse instrucciones de memoria mientras ejecutaba
una instruccin, porque el procesador estaba ocupado.
Un alto porcentaje del tiempo, el procesador estaba ocupado
haciendo Fetch cuando su funcin debiera ser ejecutar las
instrucciones
Solucin
Intel desarroll la arquitectura en pipeline del Fetch/Execute
Maneja 2 Unidades separadas que se ejecutan en paralelo
Unidad de Ejecucin (EU): Realiza operaciones Aritmticas y
Lgicas, proporciona las direcciones lgicas al BIU.
Unidad de Interfaz de Bus (BIU): Responsable de la comunicacin
externa del procesador
Unidad de Ejecucin
Procesa las instrucciones del CPU (operaciones de la ALU) consta:

-Registros generales.
-Registros indices.
-Apuntadores
-Flags
-ALU
Unidad de Interfaz de Bus
Maneja Lectura y Escritura desde y hacia la memoria y los puertos
de I/O.

-Registros de Segmentos.
-Una cola de 4 bytes para para instrucciones
8088.
--Una cola de 6 bytes para para instrucciones
8086.
Sirve para referenciar Zona reservada de
REGISTROS DE SEGMENTOS reas de memoria. memoria para manejo
Define 64Kb dentro del PILA :
de rutinas y subrutinas
Espacio de 1Mb.

Almacena datos de la
ACUMULADOR (A) memoria o cualquier
dato del sistema

Almacena la direccin
CONTADOR DE PROGRAMA (CP) de la siguiente
instruccin a ejecutar.

Almacena la direccin
PUNTERO DE PILA (SS) de la siguiente
instruccin a ejecutar.

Almacena la
REGISTRO DE INSTRUCCIN (I) instruccin que se esta
ejecutando.
REGISTRO PARA EL DIRECCIONAMIENTO DE MEMORIA

Apunta a una localidad


PUNTERO DE BASE (BP)
de memoria.

REGISTROS INDICE
Usado por algunas operaciones
INDICE FUENTE (SI) con cadenas de caracteres ,
asociados al segmento DS
(Direccin del segmento de
datos)

Usado por algunas


INDICE DESTINO (DI) operaciones con cadenas
de caracteres asociadas al
Segmento auxiliar (ES)
Registros
Registros de uso general:
AX: Registro acumulador : Encargado de almacenar el resultado de algunas operaciones aritmticas y lgicas.
BX: Registro Base: Es utilizado para calcular direcciones relativas de datos en la memoria.
CX: Registro contador : Almacenar el nmero de veces que un ciclo de instrucciones debe repetirse.
DX: Registro de datos : Se utiliza para acceder a las variables almacenadas en la memoria

Registros de segmentos:
CS: Segmento de cdigo : Contiene la direccin base del lugar donde inicia el programa almacenado en memoria
DS: Segmento de datos. Contiene la direccin base del lugar del rea de memoria donde fueron almacenadas las
variables del programa
SS: Segmento de pila :Contiene la direccin base del lugar donde inicia el rea de memoria reservada para la pila
ES: Segmento auxiliar. :contiene la misma direccin que el registro DS
Registros
Registro de estado: Conocido como registro de banderas (Flags).
Almacena el estado individual de las diferentes condiciones que son manejadas por el
microprocesador.

Registros de puntero
Apuntador de instruccin (IP): Contiene la direccin de desplazamiento del lugar de memoria donde
est la siguiente instruccin que ser ejecutada por el microprocesador.
Registros internos: reas de almacenamiento dentro del procesador usadas para almacenar datos y
trabajar con la instruccin..
Registro Acumulador (A)
Contador de Programa (PC)
Registro de instruccin (I)
Registros en resumen
Registros de uso general:
AX: Contienen operandos que intervienen en operaciones Arit-Log (*, /)
BX: Usado para mantener el offset (desplazamiento) de una direccin.
CX: Se utiliza este registro como contador cuando se maneja los LOOP.
DX: contiene parte del resultado de operaciones de operaciones como X, /.
AH,AL,BL,BH,CHCL,DH,DL.
Registros de segmentos:
CS: Direccin del segmento de cdigo
DS: Direccin del segmento de datos.
SS: Direccin del segmento de pila
ES: Segmento auxiliar.
REGISTROS

8086/8088
INTERRUPCIONES 8086
Concepto:
Es una seal recibida por el procesador de un ordenador, indicando que debe
interrumpir el curso de ejecucin actual y pasar a ejecutar un cdigo
especfico.
TIPOS:
Interrupciones hardware: Son generadas al pulsar una tecla
Interrupciones internas: Son generadas por la propia CPU por alguna
situacin anormal.
Interrupciones por software: Son generadas por el programa para llamar a
rutinas almacenadas en RAM o ROM.
FLAG (BANDERAS)
8086/8088
FLAGS
OF (overflow, desbordamiento) 0=No existe overflow 1= existe overflow
DF (direccin): Controla la seleccin de incremento (0) o decremento (1) de los
registros SI y DI
IF (interrupcin). 0=deshabilita interrupcin 1= habilita interrupcin
TF (trampa): Permite la operacin del procesador en modo depuracin (paso a
paso).
AF (acarreo auxiliar).
SF (signo). 0=positivo 1= negativo
PF (paridad) 0=nmero de bits 1 es impar, 1=nmero de bits 1 es par
Segmentacin de la memoria
8086/8088
El 8086

Segmento de Memoria
FFFFF

Un segmento:

rea continua de memoria que puede tener hasta 64K-bytes.

SEGMENTO Segmentacin de memoria:


Dividir la memoria en segmentos.

Cada segmento tiene longitudes variables definida

Por el tamao del segmento del programa

Memoria
El 8086

SEGMENTACIN
TRASLAPE DE SEGMENTOS

CS CS
SEGMENTO DE PROGRAMA
CDIGO SEGMENTO DE
CDIGO
DS
SEGMENTO DE DATOS

OTRO SEGMENTO
ES
SEGMENTO EXTRA DE
DATOS
SS
STACK

MEMORIA
MEMORIA
El 8086

SEGMENTACIN
Relocalizacin de un programa usando el registro CS

02000
600

PROGRAMA SEGMENTO DE CDIGO


EN CURSO

1A300 nuevo (CS)=1A30


600

PROGRAMA SEGMENTO DE
CDIGO
RELOCALIZADO

MEMORIA
El 8086

Segmentos de Memoria

El segmento de cdigo (Tiene como base el contenido del registro CS).


En este segmento estn las instrucciones que forman el programa.

Para acceder a los datos contenidos en l, se usa el registro IP (Apuntador de instruccin) como desplazamiento.

El segmento de datos (Tiene como base el registro DS).


Contiene los datos que utiliza el programa (variables, etc.)
Para acceder a los datos contenidos en l
Se utiliza los registros SI (ndice Fuente) y DI (ndice Destino) como desplazamiento.
El 8086
Arquitectura de computadoras II

Segmentos de Memoria

El segmento de pila (con SS como base).


-En l se desarrolla la pila del programa, utilizada para almacn temporal de datos,
llamadas a funciones.
- Debe estar presente en todos los programas EXE de forma obligada. Se utiliza el registro
SP para acceder a los datos de este segmento.

El segmento extra (con ES como base).


-Su uso es opcional, y en l se encuentra un segmento definido por el usuario y que,
regularmente, contiene datos adicionales. Al igual que ocurre con el segmento de datos,
para acceder a los datos contenidos en l, se suelen utilizar los registros SI y DI.
El 8086

SEGMENTACIN
FFFFF

Direccin lgica

Direccin fsica
SEGMENTO Registro de segmento
Desplaza
miento

Direccin de segmento

CPU

Memoria
El 8086

Direccin Fsica y Direccin Lgica

Cada localidad de memoria tiene dos tipos de direcciones :


Direccin Fsica y Direccin Lgica o efectiva

Direccin Fsica: Es el valor nico de 20 bits que identifica la localizacin de cada byte en el
espacio de memoria de 1 Mbyte.

Los programas tratan con direccin Lgicas mas que con la direccin Fsica.

Para cualquier localidad de memoria, el valor base del segmento ubica el primer byte del
contenido del segmento y el valor del offset es la distancia, en bytes , de la localizacin destino
del principio del segmento.

Los valores de la base del Segmento y del offset son cantidades no signadas de 16 bits; la
direccin del byte ms bajo del segmento tiene un offset 0.
El 8086

Formacin de una Direccin Fsica


Siempre que una memoria es accesada , se genera una direccin fsica a partir de la direccin lgica.

Direccin
efectiva,
lgica u offset
4 bits EL REGISTRO DE
SEGMENTO SE
Direccin de DESPLAZA 4 BITS
segmento HACIA LA
IZQUIERDA
(MULTIPLICACIN
x16)

Direccin fsica 0000

20 BITS
El 8086
Arquitectura de computadoras II

Formacin de una Direccin Fsica

Carlos Canto Q.
El 8086
Arquitectura de computadoras II

Formacin de una Direccin Fsica

Por Ejemplo:
Si la direccin base del segmento es
2915h, entonces las direcciones en este
segmento inician en 2915:0000 y van
hasta 2915:FFFF

Carlos Canto Q.
Microprocesador Z80
MICROPROCESADOR Z80
El Z80 es uno de los uP mas importantes
Fabricado por la casa Zilog.
Se encuentra comercializado desde 1976.
Construido en tecnologia MOS es de silicio.
*Es uP de 8 bits en el bus de datos y de 16 en el bus de direcciones
Tiene 64 Kb de espacio de memoria.
* Su alimentacin es nica de 5 voltios.
PINES DEL Z80
Detalle de Pines del Z80
Terminales del encapsulado

* A0-A15 : Bus de direcciones compuesto de 16 bits para alcanzar 64 Kb de memoria.

* D0-D7 : Bus de datos


* WR : Indica al exterior la operacin de escritura.
* RD : Indica al exterior la operacin de lectura.
* MREQ : Pide al exterior los buses para lectura/escritura
* M1: Enva seal para ciclo de bsqueda de una instruccin
* HALT Indica al exterior cuando se detiene el microprocesador
* WAIT: perifericos y memorias lentas indican al uP se detenga para sincronizarse .
* RESET : Del exterior permite resetear al uP
* RFSH : Es una salida de refresco a memorias.
ARQUITECTURA DEL MICRO Z80
REGISTRO DE INSTRUCCIN (I)
Almacena la instruccin que
se esta ejecutando.
REGISTRO DE REFRESCO (R)
Almacena el bloque de
memoria cuyo refresco se va
A proceder.

REGISTRO DE FLAGS (F)


Contiene los bits de bandera o
De condicin.

REGISTRO W,Z

Registros Temporales para


Operaciones internas a las
Instrucciones.
REGISTROS DE ESTADO DEL MICRO
Registros de uso general:
AX: Registro acumulador
BX: Registro Base.
CX: Registro contador para LOOP.
DX: Registro de datos para operaciones de +,-,X,/
Registros de segmentos:
CS: Direccin del segmento de cdigo
DS: Direccin del segmento de datos.
SS: Direccin del segmento de pila
ES: Segmento auxiliar.
Registro de estado
Registros de puntero
Registros internos:
reas de almacenamiento dentro del procesador para almacenar datos y trabajar con la instruccin.
Registro Acumulador (A)
Contador de Programa (PC)
Registro de instruccin (I)
Comandos Principales de Programacin del Up Z80
* ADD A,R
* DJNZ: Salta si no es cero.
ADD A ,(HL)
* CALL: Llamada a subrutina.
NEG: Operacin de complemento a dos.
* RET: Retorno desde subrutina.
* NOP: No operation (no operacin)
* HALT: Detiene el uP. * IN: Entrada desde perifrico
* RES: Operacin de puesta a cero. * OUT: Salida hacia perifrico
* JP: Salto.
* JR: Salto relativo.
INSTRUCCIONES BSICAS DEL Z80

Permite operar saltos,


donde las subrutinas puedan
Correr en cualquier lugar de
memoria
PROGRAMACION Z80 - SUMA
SUBRUTINAS
SUMA: MULTIPLICACIN: ?
Microprocesador 8086
Programacin
INSTRUCCIONES DEL 8086
Programacin
Para la programacin se puede trabajar:
Registros:
AX, BX,CX, AH,AL,BL, BH, CL,CH, etc.
Con instrumentos virtuales con sus respectivos puertos.
LED puerto 199
Simple IO test PUERTOS : 110, 112
Traffic lights Puerto 4.
EJECUCIN 8086
SUMA DE DOS NUMEROS
Se compila y luego se activa Emule- single step
Suma de 2 nmeros
Virtual device
Virtual device
SUMA DE 2 NUMEROS
Suma 2 numeros (port 4-trafico)
Rutinas
Segmentacin de la memoria
8086/8088

You might also like