ARQUITECTURA8086_opc1

May 11, 2018 | Author: Ismael Espinoza | Category: Central Processing Unit, Bit, Microprocessor, Computer Memory, Electronic Engineering
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF