ARQUITECTURA8086_opc1
Short Description
Descripción: Explicación sobre la arquitectura y funcionamiento del microprocesador 8086...
Description
MICROPROCESADOR MICROPROCES ADOR 8086 Sentó las bases de la arquitectura de la computadora actual En 1978 Intel lo lanza al mercado mercado con un bus de datos de 16 bits y de direcciones de 20bits . Capaz de direccionar hasta 1Mbyte. Permite la compatibilidad con los anteriores anteriores microprocesadores microprocesadores de 8 bits. Incorpora un coprocesador matemático matemático instalado en la placa base para funciones matemáticas Dentro de las familias del 8086 están los microprocesadores microprocesadores: desde el 80186 ……80486., Pentium I,II,III,IV Disponen de un juego de 92 instrucciones.
MICROPROCESADOR MICROPROCES ADOR 8086 Sentó las bases de la arquitectura de la computadora actual En 1978 Intel lo lanza al mercado mercado con un bus de datos de 16 bits y de direcciones de 20bits . Capaz de direccionar hasta 1Mbyte. Permite la compatibilidad con los anteriores anteriores microprocesadores microprocesadores de 8 bits. Incorpora un coprocesador matemático matemático instalado en la placa base para funciones matemáticas Dentro de las familias del 8086 están los microprocesadores microprocesadores: desde el 80186 ……80486., Pentium I,II,III,IV Disponen de un juego de 92 instrucciones.
DISTRIBUCIÓN DE PINES DEL 8086 ALE=0 Maneja Datos ALE0=1 Maneja Address M/IO: Indica si la dirección Es una memoria memoria o la direcc direcc I/O DT/R: Transmisión de Datos/ Recibe DEN: Activa los datos externos del bus de datos. HOLD: Requerimiento de DMA HLDA: ACK del HOLD
DISTRIBUCIÓN DE PINES DEL 8086
DISTRIBUCIÓN DE PINES DEL 8086 Del S0 al S7 son señales de estado
Microprocesador 8086 Se puede configurar en dos modos Máximo y Mínimo terminal (MN/MX). Modo Mínimo No admite multitarea, permite trabajar al chip de manera autónoma, no require dispositivo extra como un controlador de bus 8288.
Modo Máximo Permite el trabajo con varios procesadores, depende de otros Chips adicionales como el 8288 (controlador de bus)
En ambos modos las señales de pueden agrupar de la siguiente manera: Alimentación. Reloj Control y estado Direcciones Datos
Los procesadores previos al 8086 ejecutaban dos pasos en el procesador: , en forma secuencial. No se puede ejecutar una Fetch/Execute instrucción hasta que se traiga de memoria ( Fetch ); Y No podían traerse instrucciones de memoria mientras ejecutaba una instrucción, porque el procesador estaba ocupado. Un alto porcentaje del tiempo, el procesador estaba ocupado haciendo Fetch cuando su función debiera ser ejecutar las instrucciones
Intel desarrolló la arquitectura en pipeline del Fetch/Execute Maneja 2 Unidades separadas que se ejecutan en paralelo Unidad de Ejecución (EU): Realiza operaciones Aritméticas y Lógicas, proporciona las direcciones lógicas al BIU. Unidad de Interfaz de Bus (BIU): Responsable de la comunicación externa del procesador
Procesa las instrucciones del CPU (operaciones de la ALU) consta:
◦ -Registros generales. ◦ -Registros indices. ◦ -Apuntadores ◦ -Flags ◦ -ALU
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.
Arquitectura del 8086 La Unidad de Ejecución: Procesa las instrucciones del CPU La Unidad de Interfaz del Bus: Maneja la lectura y escritura desde y hacia la memoria y los puertos de entrada/salida •
•
REGISTROS DE SEGMENTOS
Sirve para referenciar áreas de memoria. Define 64Kb dentro del Espacio de 1Mb.
ACUMULADOR (A)
CONTADOR DE PROGRAMA (CP)
Almacena datos de la memoria o cualquier dato del sistema Almacena la dirección de la siguiente instrucción a ejecutar.
PUNTERO DE PILA (SS)
Almacena la dirección de la siguiente instrucción a ejecutar.
REGISTRO DE INSTRUCCIÓN (I)
Almacena la instrucción que se esta ejecutando.
PILA :
Zona reservada de memoria para manejo de rutinas y subrutinas
REGISTROS
8086/8088
REGISTROS DEL 8086
Registros de uso general:
AX: AH,AL, BX: Registro Base CX: Registro Contador DX: Registro de datos para operaciones
Registros de segmentos:
CS: Dirección del segmento de código DS: Dirección del segmento de datos. SS: Dirección del segmento de pila ES: Segmento auxiliar.
REGISTROS DEL 8086 Registros de uso general: ◦ AX: Registro acumulador : Encargado de almacenar el resultado de algunas operaciones aritméticas y lógicas. ◦ BX: Registro Base: Es utilizado para calcular direcciones relativas de datos en la memoria. ◦ CX: Registro contador : Almacenar el número 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 código : Contiene la dirección base del lugar donde inicia el programa almacenado en memoria ◦ DS: Segmento de datos. Contiene la dirección base del lugar del área de memoria donde fueron almacenadas las
variables del programa ◦ SS: Segmento de pila :Contiene la dirección base del lugar donde inicia el área de memoria reservada para la pila ◦ ES: Segmento auxiliar. :contiene la misma dirección que el registro DS
REGISTRO PARA EL DIRECCIONAMIENTO DE MEMORIA
PUNTERO DE BASE (BP)
Apunta a una localidad de memoria.
REGISTROS INDICE
INDICE FUENTE (SI)
INDICE DESTINO (DI)
Usado por algunas operaciones con cadenas de caracteres , asociados al segmento DS (Dirección del segmento de datos) Usado por algunas operaciones con cadenas de caracteres asociadas al Segmento auxiliar (ES)
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 instrucción (IP): Contiene la dirección de desplazamiento del lugar de memoria donde está la siguiente instrucción que será ejecutada por el microprocesador. Registros internos: Áreas de almacenamiento dentro del procesador usadas para almacenar datos y
trabajar con la instrucción.
◦ Registro Acumulador (A) ◦ Contador de Programa (PC) ◦ Registro de instrucción (I)
INTERRUPCIONES 8086 Concepto: ◦ Es una señal recibida por el procesador de un ordenador, indicando que debe “ interrumpir ” el curso de ejecución actual y pasar a ejecutar un código
específico. TIPOS:
Interrupciones hardware: Son generadas al pulsar una tecla Interrupciones internas: Son generadas por la propia CPU por alguna situación anormal.
Interrupciones por software: Son generadas por el programa para llamar a rutinas almacenadas en RAM o ROM.
FLAGS OF (overflow, desbordamiento) 0=No existe overflow
1= existe overflow DF (dirección): Controla la selección de incremento (0) o decremento (1) de los registros SI y DI IF (interrupción). 0=deshabilita interrupción 1= habilita interrupción TF (trampa): Permite la operación del procesador en modo depuración (paso a paso). AF (acarreo auxiliar). SF (signo). 0=positivo PF (paridad)
1= negativo 0=número de bits 1 es impar , 1=número de bits 1 es par
El 8086
Segmento de Memoria FFFFF
Un segmento:
Área continua de memoria que puede tener hasta 64K-bytes. Segmentación de memoria:
SEGMENTO
Dividir
Cada Por
0
Memoria
la memoria en segmentos.
segmento tiene longitudes variables definida
el tamaño del segmento del programa
El 8086
TRASLAPE DE SEGMENTOS CS
CS SEGMENTO DE CÓDIGO
PROGRAMA
SEGMENTO DE CÓDIGO
DS SEGMENTO DE DATOS
OTRO SEGMENTO ES SEGMENTO EXTRA DE DATOS SS STACK
MEMORIA
MEMORIA
El 8086
Relocalización de un programa usando el registro CS
02000 600 PROGRAMA
SEGMENTO DE CÓDIGO EN CURSO
nuevo (CS)=1A30
1A300 600 PROGRAMA
MEMORIA
SEGMENTO DE CÓDIGO RELOCALIZADO
El 8086
Segmentos de Memoria (Tiene como base el contenido del registro CS). •
•
En este segmento están las instrucciones que forman el programa. Para acceder a los datos contenidos en él, se usa el registro IP (Apuntador de instrucción) como desplazamiento.
(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
Segmentos de Memoria El segmento de pila (con SS como base). •
•
En él se desarrolla la pila del programa, utilizada para almacén 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
FFFFF
Dirección lógica Dirección física SEGMENTO
Desplaza miento
Registro de segmento
Dirección de segmento
CPU 0
Memoria
El 8086
Dirección Física y Dirección Lógica Cada localidad de memoria tiene dos tipos de direcciones :
Es el valor único de 20 bits que identifica la localización de cada byte en el espacio de memoria de 1 Mbyte.
Los programas tratan con dirección Lógicas mas que con la dirección Física.
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 localización destino del principio del segmento. Los valores de la base del Segmento y del offset son cantidades no signadas de 16 bits; la dirección del byte más bajo del segmento tiene un offset 0.
El 8086
Formación de una Dirección Física Siempre que una memoria es accesada , se genera una dirección física a partir de la dirección lógica. Dirección efectiva, lógica u offset 16 bits
4 bits Dirección de segmento
0000
Dirección física
20 BITS
EL REGISTRO DE SEGMENTO SE DESPLAZA 4 BITS HACIA LA IZQUIERDA (MULTIPLICACIÓN x16)
El 8086
Arquitectura de computadoras II
Formación de una Dirección Física
Por Ejemplo: Si la dirección base del segmento es 2915h, entonces las direcciones en este segmento inician en 2915:0000 y van hasta 2915:FFFF
Modo Real 8086 Es la manera en que se Presente Sirve
administra las localidades de memoria en el 8086/8088
en Procesadores modernos.
para manejar el primer megabyte de memoria.
Permite compatibilidadde software en procesadores mas recientes Los
procesadores que tienen este modo inician su operación en modo real.
OF (overflow, desbordamiento) DF (dirección): Controla la selección de incremento o decremento
de los registros SI y DI IF (interrupción). TF (trampa): Permite la operación del procesador en modo depuración (paso a paso). AF (acarreo auxiliar). SF (signo). PF (paridad) ZF (cero).
Microprocesador 8086 Programación
INSTRUCCIONES DEL 8086
EJECUCIÓN 8086
Programación 8086 Para la programación se puede trabajar: Registros: AX, BX,CX, AH,AL,BL, BH, CL,CH, etc. Instrumentos virtuales: LED puerto 199 Simple
IO test PUERTOS : 110, 112
Traffic lights Puerto 4.
Virtual device
Virtual device
SUMA DE DOS NUMEROS Se compila y luego se activa Emule-
single step
Suma de 2 números
SUMA DE 2 NUMEROS
Suma 2 numeros (port 4-trafico)
Rutinas
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 alimentación es única de 5 voltios.
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 operación de escritura.
* RD : Indica al exterior la operación de lectura.
* MREQ : Pide al exterior los buses para lectura/escritura
* M1: Envía señal para ciclo de búsqueda de una instrucción
* 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.
REGISTRO DE INSTRUCCIÓN (I)
Almacena la instrucción 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 condición. REGISTRO W,Z
Registros Temporales para Operaciones internas a las Instrucciones.
REGISTROS DE ESTADO DEL MICRO
Registros de uso general:
Registros de segmentos:
Registro de estado Registros de puntero Registros internos:
AX: Registro acumulador BX: Registro Base. CX: Registro contador para LOOP. DX: Registro de datos para operaciones de +,-,X,/ CS: Dirección del segmento de código DS: Dirección del segmento de datos. SS: Dirección del segmento de pila ES: Segmento auxiliar.
Áreas de almacenamiento dentro del procesador para almacenar datos y trabajar con la instrucción. Registro Acumulador (A) Contador de Programa (PC) Registro de instrucción (I)
Programación Microprocesador Z80
INSTRUCCIONES BÁSICAS DEL Z80
Permite operar saltos, donde las subrutinas puedan Correr en cualquier lugar de memoria
* ADD A,R
ADD A ,(HL)
NEG: Operación de complemento a dos.
* NOP: No operation (no operación)
* DJNZ: Salta si no es cero.
* CALL: Llamada a subrutina.
* RET: Retorno desde subrutina.
* HALT: Detiene el uP.
* IN: Entrada desde periférico
* RES: Operación de puesta a cero.
* OUT: Salida hacia periférico
* JP: Salto.
* JR: Salto relativo.
View more...
Comments