Memoria para el 8086 Escuela de Ingeniería Electrónica EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 1 Memoria Escuela de Ingeniería Electrónica Ing. José Alberto Díaz García Página 2 CPU “Ley de Joy” 100 Umbral de rendimiento entre el procesador y la memoria (crece 50% /año) 10 DRAM 1 μProc 60%/año. (2X/1.5año) DRAM 9%/año. (2X/10 año) 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 EL - 4311 Estructura de Microprocesadores 1000 Rendimiento Memoria para el 8086 Gap entre el procesador y la memoria Tiempo Escuela de Ingeniería Electrónica Niveles en la jerarquía de memorias Memoria para el 8086 Capacidad Tiempo de acceso Costo EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 3 Registros CPU 100s Bytes <1s ns Cache 10s-100s K Bytes 1-10 ns $10/ MByte Memoria principal M Bytes 100ns- 300ns $1/ MByte Discos 10s G Bytes, 10 ms (10,000,000 ns) $0.0031/ MByte Cinta infinito sec-min $0.0014/ MByte Nivel alto veloz Registros Instr. operandos prog./compiler 1-8 bytes Cache Bloques Memoria Páginas Discos Archivos Cintas Controlador de cache 8-128 bytes OS 512-4K bytes usuario/operador Mbytes grande Nivel bajo Escuela de Ingeniería Electrónica Velocidad (ns): 1s Tamaño (bytes): 100s Memoria principal (DRAM) 10s 100s Ks Ms Almacenamiento externo (Disco/Cinta) Página 4 Ruta de datos Caché de Segundo nivel (SRAM) Almacenamiento Secundario (Disco) Ing. José Alberto Díaz García Control Caché en chip EL - 4311 Estructura de Microprocesadores Procesador Registro Memoria para el 8086 Jerarquía de memoria moderna 10,000,000s 10,000,000,000s (10s sec) (10s ms) Gs Ts Escuela de Ingeniería Electrónica Memoria para el 8086 Jerarquía de memoria EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 5 Escuela de Ingeniería Electrónica Memoria para el 8086 Tamaño de los buses de datos y direcciones de los procesadores EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 6 Procesador Bus de datos Bus de dir 8088 8 20 1,048,576 (1Mb) 8086 16 20 1,048,576 (1Mb) 80286 16 24 16,777,21 (16Mb) 80386dx 32 32 4,294,976,296 (4Gb) 80486 32 32 4,294,976,296 (4Gb) 80586/Pentium (Pro) 64 32 4,294,976,296 (4Gb) Memoria máxima dirr. Escuela de Ingeniería Electrónica Memoria para el 8086 Estructura de registros en 80X86 EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 7 Escuela de Ingeniería Electrónica Memoria para el 8086 Formato de datos EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 8 1 1 1 1 1 1 1 1 nybble byte word doubleword quadword paragraph page segment (max) = = = = = = = = 4 bits 8 bits 16 bits 32 bits 64 bits 16 bytes 256 bytes 65,636 bytes Estándar Dependiente de la máquina (8086) Escuela de Ingeniería Electrónica Memoria para el 8086 Memoria física EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 9 • Memoria física – La memoria física de la familia 80X86 difiere en el número de bits (ancho). • Por ejemplo, 8088 la memoria tiene un ancho de 8 bits. • 8086, 80286 tienen un ancho de 16 bits. • 80386DX, 80486 es de 32 bits. – Para programarlos no hay diferencia en el ancho de la memoria, porque las memoria lógica es de 8 bits. – La memoria se organiza en bancos. • Un banco de memoria es una sección con 8 bits de ancho. • Por ejemplo: un procesador de 16 bits tiene dos bancos de memoria para formar los 16 bits de ancho el cual puede direccionarse como Byte o Word. Escuela de Ingeniería Electrónica Memoria para el 8086 Granularidad de datos EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 10 • ¿Cómo el procesador almacena estas variables en la memoria? • ¿Cómo el 8086 transfiere una palabra o un dato de 16 bits?. • Direcciones pares – Son todas aquellas posiciones de memoria que se pueden accesar cuando A0 es igual a cero (A0=0) • Direcciones impares – Son todas aquellas posiciones de memoria que se pueden accesar cuando A0 es igual a uno (A0=1) • Direcciones desalineadas – Se presenta cuando variables tipo word, no toman ventaja de la habilidad de 8086 para transferir 16 bits en un instante, esto es se encuentra almacenada en una dirección impar. • Direcciones alineadas – Las variables de más de 8 bits se encuentran almacenadas a partir de direcciones pares. • Siguiendo con la convención de Intel, datos tipo word siempre son almacenados con el byte más significativo el la posición de memoria menos significativa. Escuela de Ingeniería Electrónica Memoria para el 8086 Alinemiento EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 11 • Fronteras naturales. • Palabras, palabras dobles, y palabras cuádruples, no necesitan ser alineadas en memoria en las fronteras naturales. Sin embargo para mejorar el comportamiento del programa y la estructuras de datos (especialmente stacks) deben ser alineadas en fronteras naturales, hasta donde sea posible. La razón de esto es que los procesadores requieren dos accesos a memoria para realizar un acceso a memoria desalineado; por lo tanto, accesos alineados requieren de un acceso a memoria. Un operando de una palabra o de doble palabra que cruce una frontera de 4 bytes o un operando de una palabra cuádruple que cruce una frontera de 8 bytes se considera desalineada y requiere de dos ciclos de acceso a memoria para accesarla Una palabra que inicia en una dirección impar pero no cruza una frontera de palabra se considera alineada y puede accesarse en un ciclo de bus. Cuando se accesan datos de 128 bits, como en el caso del procesador Pentium® III, los datos deben alinearse en fronteras de 16 bits. • • • • • – Las fronteras naturales para palabras, doble palabra y palabras cuádruples son direcciones enumeradas como pares, direcciones divisibles por cuatro y por ocho. Escuela de Ingeniería Electrónica Memoria para el 8086 ¿Cómo almacena el ensamblador estas variables en memoria? EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 12 • Existen cuatro tipos: • PARAGRAPH – Este tipo es el valor predeterminado e indica que el segmento comienza en los límites de un párrafo (dirección divisible por 16). Los últimos cuatro bits de la dirección debe finalizar en 0. • BYTE – El segmento puede comenzar en cualquier dirección de memoria. • WORD – El segmento se ubica en la próxima dirección byte par, (donde la dirección sea par). • DWORD. – El segmento debe iniciar en la próxima dirección disponible de una dirección de doble palabra. • PAGE – El Segmento debe iniciar en una página (los últimos ocho bits de la dirección deben se cero). Escuela de Ingeniería Electrónica Memoria para el 8086 Sistema de memoria física EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 13 BANCO ALTO (banco impar) BANCO BAJO (banco par) FFFFFF FFFFFE FFFFFD FFFFFC FFFFFB FFFFFA 8 bits 8 bits 000005 000004 000003 000002 000001 000000 D15 - D8 D7- D0 Escuela de Ingeniería Electrónica Memoria para el 8086 Diagrama de acceso con 8086 EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 14 Escuela de Ingeniería Electrónica Memoria para el 8086 RAM (impar) EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 15 12 11 10 9 8 7 6 5 27 26 23 25 4 28 3 31 2 30 1 RAMh 29 24 22 32 A1.......A19 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7 I/O8 13 14 15 17 18 19 20 21 ROM (impar) 11 12 13 15 16 17 18 19 O0 O1 O2 O3 O4 O5 O6 O7 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 OE CE/PGM R/W OE CE VPP VDD 10 9 8 7 6 5 4 3 25 24 21 23 2 26 27 22 20 ROMh 1 A1......A15 AT27C256R TC554001/SO ROM (par) LEEROM RAM (par) RAMh LEE/ESC-RAM RAMl 12 11 10 9 8 7 6 5 27 26 23 25 4 28 3 31 2 30 1 29 24 22 32 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 I/O1 I/O2 I/O3 I/O4 I/O5 I/O6 I/O7 I/O8 R/W OE CE 11 12 13 15 16 17 18 19 13 14 15 17 18 19 20 21 O0 O1 O2 O3 O4 O5 O6 O7 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 OE CE/PGM VPP D0.....D7 D8.....D15 10 9 8 7 6 5 4 3 25 24 21 23 2 26 27 A19 RAMh A18 RAMl GAL22V20 A17 ROMh A16 ROMl A0 BHE M/IO 22 20 ROMl 1 +5 VDC AT27C256R VDD EL 4311 Estructura de Microprocesadores TC554001/SO Title BANCO DE MEMORIA PARA 8086 Size A Date: Document Number Rev Ing. José Alberto Díaz García Monday, August 23, 2004 Sheet 1 of 1 Escuela de Ingeniería Electrónica Memoria para el 8086 Memoria segmentada 8086 EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 16 • En 80X86 la memoria se particiona en segmentos •8086: tamaño máximo de 64K (registro index de 16-bits) •8086: puede tener 4 segmentos activos (CS, SS, DS, ES) •8086: 2-datos; 1- código; 1- pilas •x386: tamaño máximo 4GB (registro index de 32-bits) •x386: puede tener 6 segmentos activos (4 datos; FS, GS) Escuela de Ingeniería Electrónica Memoria para el 8086 Registros para el acceso a memoria en 8086/8088 EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 17 15 0 CS DS SS ES Segmento de Código Segmento de Datos Segmento de Stacks Segmento Extra 15 Puntero de Instrucciones Puntero de Stack Puntero Base Índice de fuente Índice de destino 0 IP SP BP SI DI } } } Escuela de Ingeniería Electrónica Memoria para el 8086 Arquitectura Interna 8086 Bus de direcciones Bus de datos Modelo del procesador Generador de dir y Controlador de bus EU AH AL BH BL CH CL 1 DH DL 2 BP DI SI SP CS ES SS DS Bus interno de datos EL - 4311 Estructura de Microprocesadores Página 18 ADD IP Ing. José Alberto Díaz García ALU banderas BIU 3 4 5 6 Cola de instrucciones Escuela de Ingeniería Electrónica Memoria para el 8086 Generación de direcciones físicas EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 19 Líneas de dirección del sistema de memoria 19 0 Registros de segmentación dedicados Dirección física 15 0 Reg. indice CS ES SS DS sume 15 0 Reg. segmento 0000 Porción de la circuitería del BIU BP DI SI SP IP Registros índices dedicados Escuela de Ingeniería Electrónica Memoria para el 8086 Direccionamiento segmentado EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 20 • Cada segmento debe iniciar en una frontera de Paragraph CS Dirección física memoria 00000h paragraph 1 ES SS DS 00010h paragraph 2 00020h paragraph 3 BP DI SI • Cada paragraph tiene una dirección física que es múltiplo de 10h SP IP Escuela de Ingeniería Electrónica Memoria para el 8086 Direccionamiento segmentado EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 21 MEMORIA IP + Offset Registro de segmentos en el 8086 SP + Offset CS 0000 SS 0000 DS 0000 ES 0000 Direcciones iniciales de los segmentos EA + Offset FFFFFh Segmento de códigos 64K Segmento de pila 64K Segmento de datos 64K EA + Offset Segmento de extra 64K 00000h Escuela de Ingeniería Electrónica Memoria segmentada Memoria para el 8086 FFFFFh Segmento de código Registros de segmentación CS – apunta a la dirección base • Registros índices: Segmento extra ES SS DS – Segmento de pila Página 22 Segmento de datos Memoria del sistema fragmentación contiene el valor de desplazamiento • Notación (Dirección segmentada): EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García • Registros de segmentación: 00000h – CS:IP – DS:SI – ES:DI – SS:BP – SS:SP Escuela de Ingeniería Electrónica Memoria para el 8086 Organización del almacenamiento en memoria EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 23 • Organizada como SEGMENTOS – tamaño máximo del segmento = 64KB – (Como el desplazamiento es en 16 bits: 216 = 65,535 = 64KB) • Tamaño máximo de la memoria: – 220 = 1,048,576 = 1MB • Los nuevos procesadores (386+) pueden utilizar más memoria – Con registros de 32 bits – 232 = 4,294,967,296 = 4GB Escuela de Ingeniería Electrónica Ejemplo de memoria segmentada Memoria para el 8086 FFFFFh Segmento de código Registros de segmentación CS Segmento extra ES SS DS Segmento de pila Segmento de datos • Dirección lógica segmentada: 0FE6:012Bh • Desplazamiento: 012Bh • Dirección física: 0FE60h → 65120 + 012Bh → 299 0FF8Bh → 65149 EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 24 00000h Sistema de memoria Escuela de Ingeniería Electrónica Memoria para el 8086 Localización de los segmentos y la dirección física EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 25 Segmentos lógicos Parcialmente traslapados Contiguos Segmento d Totalmente traslapados Segmento c Segmento a Segmento b Segmento e Memoria física 0h 10000h 20000h 30000h Nótese que los segmentos se pueden traslapar. Esto quiere decir que dos direcciones lógicas diferentes pueden referirse a la misma dirección física (aliasing). Escuela de Ingeniería Electrónica Memoria para el 8086 Memoria Segmentada Aliasing EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 26 •Dirección lógica segmentada 1: DS:SI = 1234:4321 • Dirección física: 12340h + 4321h 16661h • Dirección lógica segmentada 2: ES:DI = 1665:0011 • Dirección física: 16650h + 0011h 16661h Escuela de Ingeniería Electrónica Memoria para el 8086 Ilustración EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 27 Número Segmento 0000 0001 0002 0003 . . . FFFF DIRECCIÓN Dirección Inicial 0000:0000 0001:0000 0002:0000 0003:0000 . . . FFFF:0000 LOGICA Dirección Final 0000:FFFF 0001:FFFF 0002:FFFF 0003:FFFF . . . FFFF:FFFF DIRECCIÓN Dirección Inicial 00000 00010 00020 00030 . . . FFFF0 FÍSICA Dirección Final 0FFFF 1000F 1001F 1002F . . . 0FFEF Escuela de Ingeniería Electrónica Memoria para el 8086 Organización de datos en memoria EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 28 • Una palabra (Word) = 16 bits • Direccionable por byte • Arreglo Little Endian – MSB (Most Significant Byte) en la dirección alta Desplazamiento de la dirección lógica incrementando 072CH 18H AD5FCH • dirección del segmento = ACEDH 072BH A3H AD5FBH 072AH 7EH AD5FAH • desplazamiento = 0724H 0729H 69H AD5F9H 0728H AAH AD5F8H 0727H 2EH AD5F7H 0726H 00H AD5F6H 0725H 55H AD5F5H 0724H 02H AD5F4H 0723H 72H AD5F3H 0722H 11H AD5F2H 0724H 0H 0000 • dirección física = ACED0H + 0724H = AD5F4H • M[ACED:0724] = M[AD5F4] (lectura de palabra) = 5502H 0725H 2H 0010 5H 0101 5H 0101 hex binario Escuela de Ingeniería Electrónica Memoria para el 8086 Operaciones de lectura en memoria EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 29 Desplazamie nto o dirección lógica 072CH 18H AD5FCH 072BH A3H AD5FBH 072AH 7EH AD5FAH 0729H 69H AD5F9H 0728H AAH AD5F8H 0727H 2EH AD5F7H 0726H 00H AD5F6H 0725H 55H AD5F5H 0724H 02H AD5F4H 0723H 72H AD5F3H 0722H 11H AD5F2H incrementando Lectura de un byte: AL ← M[0724h] después: AL = 02h Lectura de una palabra: AX ← M[0724h] después: AX = 5502h Lectura de una Dword EAX ← M[0724h] después: EAX = 2E005502h Escuela de Ingeniería Electrónica Memoria para el 8086 Operaciones de escritura en memoria Suponga EAX = FAC4237B h Escritura de byte: M[0724h] ← AL después: antes: 072CH 18H AD5FCH 072CH 18H AD5FCH 072BH A3H AD5FBH 072BH A3H AD5FBH 072AH 7EH AD5FAH 072AH 7EH AD5FAH 0729H 69H AD5F9H 0729H 69H AD5F9H 0728H AAH AD5F8H 0728H AAH AD5F8H 0727H 2EH AD5F7H 0727H 2EH AD5F7H 0726H 00H AD5F6H 0726H 00H AD5F6H 0725H 55H AD5F5H 0725H 55H AD5F5H EL - 4311 Estructura de Microprocesadores 0724H 02H AD5F4H 0724H 7BH AD5F4H 0723H 72H AD5F3H 0723H 72H AD5F3H Ing. José Alberto Díaz García 0722H 11H AD5F2H 0722H 11H AD5F2H Página 30 Escuela de Ingeniería Electrónica Memoria para el 8086 Operaciones de escritura en memoria (cont.) suponga EAX = FAC4237B h Escritura de palabra: M[0724h] ← AX después: antes: 072CH 18H AD5FCH 072CH 18H AD5FCH 072BH A3H AD5FBH 072BH A3H AD5FBH 072AH 7EH AD5FAH 072AH 7EH AD5FAH 0729H 69H AD5F9H 0729H 69H AD5F9H 0728H AAH AD5F8H 0728H AAH AD5F8H 0727H 2EH AD5F7H 0727H 2EH AD5F7H 0726H 00H AD5F6H 0726H 00H AD5F6H EL - 4311 Estructura de Microprocesadores 0725H 55H AD5F5H 0725H 23H AD5F5H 0724H 02H AD5F4H 0724H 7BH AD5F4H Ing. José Alberto Díaz García 0723H 72H AD5F3H 0723H 72H AD5F3H 0722H 11H AD5F2H 0722H 11H AD5F2H Página 31 Escuela de Ingeniería Electrónica Memoria para el 8086 Operaciones de escritura en memoria (cont.) suponga EAX = FAC4237B h Escritura de DWord: M[0724h] ← EAX después: antes: 072CH 18H AD5FCH 072CH 18H AD5FCH 072BH A3H AD5FBH 072BH A3H AD5FBH 072AH 7EH AD5FAH 072AH 7EH AD5FAH 0729H 69H AD5F9H 0729H 69H AD5F9H 0728H AAH AD5F8H 0728H AAH AD5F8H 0727H 2EH AD5F7H 0727H FAH AD5F7H 0726H 00H AD5F6H 0726H C4H AD5F6H EL - 4311 Estructura de Microprocesadores 0725H 55H AD5F5H 0725H 23H AD5F5H 0724H 02H AD5F4H 0724H 7BH AD5F4H Ing. José Alberto Díaz García 0723H 72H AD5F3H 0723H 72H AD5F3H 0722H 11H AD5F2H 0722H 11H AD5F2H Página 32 Escuela de Ingeniería Electrónica Memoria para el 8086 Segmentos/Índices EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 33 Tipos de memoria Búsqueda de instrucción Operación en la pila Variable (excepto los siguientes) - Cadena (String) fuente - Cadena destino - BP utilizado como reg. base - BX utilizado como reg. base Segmento base CS SS DS DS ES SS DS Segmento base alterno ninguno ninguno CS, ES, SS CS, ES, SS ninguno CS, DS, ES CS, ES, SS desplazamiento IP SP EA SI DI EA EA Escuela de Ingeniería Electrónica Memoria para el 8086 Ejemplos EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 34 • Dada la dirección AB9C:79A5 calcule la dirección física. AB9C0 + 79A5 B3365 Segmento # desplazamiento dirección física Escuela de Ingeniería Electrónica Memoria para el 8086 Ejemplos (cont) EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 35 • Dada la dirección física A2B94 sabiendo que el desplazamiento es F7B4 en algún segmento. ¿Calcule el número del segmento donde se encuentra la dirección? A2B94 - F7B4 933E0 Dirección física desplazamiento Segmento número El número del segmento es: 933E Memoria para el 8086 Escuela de Ingeniería Electrónica EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 36 Dada una dirección física y un desplazamiento calcular el número del segmento • • • • Dada la dirección física A2B94 y conociendo el desplazamiento de F7B4 en algún segmento. ¿Calcule el valor del segmento donde se encuentra la dirección? Utilizando la definición de dirección física: 0 Segmento # + F7B4 Desplazamiento A2B94 Dirección física Método 1: Utilizando suma: 1 933E0 Segmento # + F7B4 Desplazamiento A2B94 Dirección física (para tener 9 se necesitan 9 más de 16 lo cual es 25. ¿Qué número sumado a 11 nos da 25? --> E) El resto es sumar. Escuela de Ingeniería Electrónica Memoria para el 8086 Ejemplo (cont) EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 37 • Método 2: Utilizando la resta: - A2B94 F7B4 933E0 Dirección física Desplazamiento Número del segmento En ambos casos el número del segmento es: 933E !!! Escuela de Ingeniería Electrónica Memoria para el 8086 Dada una dirección física y un segmento, calcular el desplazamiento EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 38 • Ejemplo A: Dada una dirección física de B2B94 que se encuentra en el segmento A7B4. ¿Calcule el desplazamiento de esa dirección? • Utilizando la definición de dirección física: A7B40 + __ B2B94 Segmento # Desplazamiento Dirección física Escuela de Ingeniería Electrónica Memoria para el 8086 Dada una dirección física y un segmento, calcular el desplazamiento EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 39 • Método 1: Utilizando suma: A7B40 Segmento # + B054 Desplazamiento B2B94 Dirección física (para obtener 2 necesita 2 más que 16 el cual es 18. ¿Qué número sumado a 7 nos da 18? --> B) El resto es pura suma ¡¡¡¡ • O utilizando la resta: – B2B94 – - A7B40 B054 • • Dirección física Número del segmento Desplazamiento en ambos casos es : B054 !!! Escuela de Ingeniería Electrónica Memoria para el 8086 Dada una dirección física y un segmento, calcular el desplazamiento EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 40 • Método 2: Solución utilizando substracción: B2B94 Dirección física A7B40 Número del segmento B054 Desplazamiento en cualquier caso el desplazamiento es : B054 !!! Escuela de Ingeniería Electrónica Memoria para el 8086 Ejemplo B EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 41 • Dada la dirección física 21A34 que se sabe que se encuentra en el segmento 15C4, ¿Calcule el desplazamiento de la dirección? • Utilizando la definición de dirección física: 15C40 Segmento # Desplazamiento + 21A34 Dirección física • Método 1: Utilizando la suma: 111 llevos Segmento # 15C40 + BDF4 Desplazamiento 21A34 Dirección física Escuela de Ingeniería Electrónica Memoria para el 8086 Ejemplo B (cont) EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 42 • Método 2: - Utilizando la resta: 21A34 15C40 BDF4 Dirección física Número del segmento Desplazamiento En cualquier caso el desplazamiento es: BDF4 !!! Escuela de Ingeniería Electrónica Memoria para el 8086 Tarea EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 43 Para las direcciones físicas que se especifican, calcule la dirección de la forma segmento:desplazmiento para cada segmento. 1. DIRECCIÓN FISICA a. En segmento 1324 segmento 1299 13240h b. En segmento 1245 c. En 2. DIRECCIÓN FISICA a. En segmento 2234 segmento 1FD7 23450h b. En segmento 2300 c. En 3. DIRECCIÓN FISICA a. En segmento 5867 segmento 4FFF 5AFD5h b. En segmento 5978 c. En 4. DIRECCIÓN FISICA a. En segmento BBBB segmento B0CD BC415 b. En segmento B000 c. En Escuela de Ingeniería Electrónica Memoria para el 8086 Tarea EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 44 Para las posiciones de memoria especificadas por la dirección física, indique el segmento en donde se especifica el desplazamiento. 1. DIRECCIÓN FISICA 13240h a. Desplazamiento de AAA0 b. Desplazamiento de 1110 Desplazamiento de FA10 c. 2. DIRECCIÓN FISICA a. Desplazamiento de 1231 Desplazamiento de FFF1 c. 43251h b. Desplazamiento de AAA1 3. DIRECCIÓN FISICA a. Desplazamiento de 564A Desplazamiento de 123A 1234Ah b. Desplazamiento de BCDA c. 4. DIRECCIÓN FISICA a. Desplazamiento de 111D Desplazamiento de 453D 54AADh b. Desplazamiento de CCCD c. Escuela de Ingeniería Electrónica Memoria para el 8086 Preguntas EL - 4311 Estructura de Microprocesadores Ing. José Alberto Díaz García Página 45 ¿Cuál es máximo y mínimo número de segmentos que la dirección física A2349 puede localizarse? ¿En cuantos diferentes segmentos puede esta dirección física tener varias direcciones lógicas?