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.