Download Dirección segmentada - Escuela de Ingeniería Electrónica

Document related concepts
no text concepts found
Transcript
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?