La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 1 Paginación Introducción.

Presentaciones similares


Presentación del tema: "Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 1 Paginación Introducción."— Transcripción de la presentación:

1 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 1 Paginación Introducción Modo no extendido Modo extendido Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío

2 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 2 Introducción Bits más significados en la paginación

3 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 3 Modo no extendido Traducción de dirección lineal a física. 1º Conocer si estamos en modo extendido o no. Partimos de PAE=0 (modo no extendido). 2º Disponemos de una dirección lineal de 32 bits (la que vamos a traducir a dirección física). Conviene expresarla en binario: También se deben conocer CR3 y acceder a las tablas de la paginación. 3º El punto de partida es CR3 Traducción de dirección lineal a física. 1º Conocer si estamos en modo extendido o no. Partimos de PAE=0 (modo no extendido). 2º Disponemos de una dirección lineal de 32 bits (la que vamos a traducir a dirección física). Conviene expresarla en binario: También se deben conocer CR3 y acceder a las tablas de la paginación. 3º El punto de partida es CR3 Ej: Dir. lineal 12345678H 0001 0010 0011 0100 0101 0110 0111 1000

4 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 4 Modo no extendido Traducción de dirección lineal a física. 4º CR3 apunta a la dirección inicial de la PD. Para obtener la dirección de comienzo de la PD se toman los bits 12 al 31 (Page Directory Base Address) y se rellenan los que faltan (del 0 al 11) con ceros. Como la dirección inicial de la PD siempre acaba en 000H estará en una dirección de memoria múltiplo de 4 KB. Traducción de dirección lineal a física. 4º CR3 apunta a la dirección inicial de la PD. Para obtener la dirección de comienzo de la PD se toman los bits 12 al 31 (Page Directory Base Address) y se rellenan los que faltan (del 0 al 11) con ceros. Como la dirección inicial de la PD siempre acaba en 000H estará en una dirección de memoria múltiplo de 4 KB. Si CR3 = 54321 010H Dir. base de la P.D. = Bits 12 al 31 54321 Rellenamos de ceros los bits 0 al 11 000H

5 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 5 Modo no extendido Traducción de dirección lineal a física. La PD tiene un tamaño de 4 KB en la que se pueden almacenar hasta 1024 entradas de 4 bytes cada una. 5º Localizar la entrada correspondiente en la PD. Para ello se usan los 10 bits de mayor peso de la dirección lineal que tienen un índice a la PD. Todavía no sabemos si la página apuntada es de 4 KB. o 4 MB. Traducción de dirección lineal a física. La PD tiene un tamaño de 4 KB en la que se pueden almacenar hasta 1024 entradas de 4 bytes cada una. 5º Localizar la entrada correspondiente en la PD. Para ello se usan los 10 bits de mayor peso de la dirección lineal que tienen un índice a la PD. Todavía no sabemos si la página apuntada es de 4 KB. o 4 MB. Offset PD = Índice PD * 4 = 120H Cada entrada de la PD ocupa 4 bytes 0001 0010 0011 0100 0101 0110 0111 1000 Dir. lineal = Bits 22 al 31 Índice PD = 48H Dir entrada PD = Dir Base + Offset = 54321000H + 120H = 54321120H

6 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 6 Modo no extendido Traducción de dirección lineal a física. 6º Leer la entrada correspondiente en la PD. Determinar el tamaño de la página. Traducción de dirección lineal a física. 6º Leer la entrada correspondiente en la PD. Determinar el tamaño de la página. Bit 7 PS=0Página de 4 KB También hubiera sido de 4 KB si PSE = 0 Supongamos que el contenido de la entrada es = 87654321H PD Dir base 54321000H Dir entrada 54321120H Offset 120H Entrada 48H 0010

7 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 7 Modo no extendido Traducción de dirección lineal a física. 7º La entrada de la PD apunta a la dirección inicial de la PT. Para obtener la dirección de comienzo de la PT se toman los bits 12 al 31 (Page Table Base Address) y se rellenan los que faltan (del 0 al 11) con ceros. Como la dirección inicial de la PT siempre acaba en 000H estará en una dirección de memoria múltiplo de 4 KB. Traducción de dirección lineal a física. 7º La entrada de la PD apunta a la dirección inicial de la PT. Para obtener la dirección de comienzo de la PT se toman los bits 12 al 31 (Page Table Base Address) y se rellenan los que faltan (del 0 al 11) con ceros. Como la dirección inicial de la PT siempre acaba en 000H estará en una dirección de memoria múltiplo de 4 KB. Entrada PD = 87654 321H Dir. base de la P.T. = Bits 12 al 31 87654 Rellenamos de ceros los bits 0 al 11 000H

8 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 8 Modo no extendido Traducción de dirección lineal a física. La PT tiene un tamaño de 4 KB en la que se pueden almacenar hasta 1024 entradas de 4 bytes cada una. 8º Localizar la entrada correspondiente en la PT. Para ello se usan los siguientes 10 bits de la dirección lineal que tienen un índice a la PT. Traducción de dirección lineal a física. La PT tiene un tamaño de 4 KB en la que se pueden almacenar hasta 1024 entradas de 4 bytes cada una. 8º Localizar la entrada correspondiente en la PT. Para ello se usan los siguientes 10 bits de la dirección lineal que tienen un índice a la PT. Offset PT = Índice PT * 4 = D14H Cada entrada de la PT ocupa 4 bytes 0001 0010 0011 0100 0101 0110 0111 1000 Dir. lineal = Índice PT = 345H Dir entrada PT = Dir Base + Offset = 87654000H + D14H = 87654D14H Bits 12 al 21

9 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 9 Modo no extendido Traducción de dirección lineal a física. 9º Leer la entrada correspondiente en la PT. Traducción de dirección lineal a física. 9º Leer la entrada correspondiente en la PT. Supongamos que el contenido de la entrada es = 98765221H PT Dir base 87654000H Dir entrada 87654D14H Offset D14H Entrada 345H

10 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 10 Modo no extendido Traducción de dirección lineal a física. 10º La entrada de la PT apunta a la dirección inicial de la Página a la que se quiere acceder. Para obtener la dirección de comienzo de la Página se toman los bits 12 al 31 (Page Base Address) y se rellenan los que faltan (del 0 al 11) con ceros. Como la dirección inicial de la página siempre acaba en 000H estará en una dirección de memoria múltiplo de 4 KB. Traducción de dirección lineal a física. 10º La entrada de la PT apunta a la dirección inicial de la Página a la que se quiere acceder. Para obtener la dirección de comienzo de la Página se toman los bits 12 al 31 (Page Base Address) y se rellenan los que faltan (del 0 al 11) con ceros. Como la dirección inicial de la página siempre acaba en 000H estará en una dirección de memoria múltiplo de 4 KB. Entrada PT = 98765 221H Dir. base de la página = Bits 12 al 31 98765 Rellenamos de ceros los bits 0 al 11 000H

11 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 11 Modo no extendido Traducción de dirección lineal a física. La Página tiene un tamaño de 4 KB. 11º Calcular la dirección física. Para ello se usan los últimos 12 bits de la dirección lineal que tienen el pffset del acceso dentro de la página Traducción de dirección lineal a física. La Página tiene un tamaño de 4 KB. 11º Calcular la dirección física. Para ello se usan los últimos 12 bits de la dirección lineal que tienen el pffset del acceso dentro de la página 0001 0010 0011 0100 0101 0110 0111 1000 Dir. lineal = Offset = 678H Dir física = Dir Página + Offset = 98765000H + 678H = 98765678H Bits 0 al 11

12 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 12 Resumen modo no extendido página de 4 KB: 0001 0010 0011 0100 0101 0110 0111 1000 Dir. lineal = PD CR3 54321010H 87654321H 54321000H 48*4=120H 54321120H PDBA 20 bits 12 Bits PT 98765221H 87654000H 345*4=D14H 87654D14H Page Dir. Acceso 98765000H 98765678H TableOffsetDir 48H345H678H 12 Bits PS=0 ó PSE=0 PTBA 20 bits 12 BitsPageBA 20 bits Modo no extendido

13 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 13 Modo no extendido Traducción de dirección lineal a física. Pág 4 MB. 6º Leer la entrada correspondiente en la PD. Determinar el tamaño de la página. Traducción de dirección lineal a física. Pág 4 MB. 6º Leer la entrada correspondiente en la PD. Determinar el tamaño de la página. Bit 7 PS=1Página de 4 MB Se requiere que PSE = 1 Supongamos que el contenido de la entrada es = 874002A1H PD Dir base 54321000H Dir entrada 54321120H Offset 120H Entrada 48H 1010

14 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 14 Modo no extendido Traducción de dirección lineal a física. 7º La entrada de la PD apunta a la dirección inicial de la PT. Para obtener la dirección de comienzo de la página se toman los bits 22 al 31 (Page Base Address) y se rellenan los que faltan (del 0 al 21) con ceros. Como la dirección inicial de la página siempre acaba en 22 ceros en binario, estará en una dirección de memoria múltiplo de 4 MB. Traducción de dirección lineal a física. 7º La entrada de la PD apunta a la dirección inicial de la PT. Para obtener la dirección de comienzo de la página se toman los bits 22 al 31 (Page Base Address) y se rellenan los que faltan (del 0 al 21) con ceros. Como la dirección inicial de la página siempre acaba en 22 ceros en binario, estará en una dirección de memoria múltiplo de 4 MB. Entrada PD = 87400 2A1H Dir. base de la página = Rellenamos de ceros los bits 0 al 21 00000H Bits 12 al 31 874

15 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 15 Modo no extendido Traducción de dirección lineal a física. La Página tiene un tamaño de 4 MB. 8º Calcular la dirección física. Para ello se usan los últimos 22 bits de la dirección lineal que tienen el offset del acceso dentro de la página Traducción de dirección lineal a física. La Página tiene un tamaño de 4 MB. 8º Calcular la dirección física. Para ello se usan los últimos 22 bits de la dirección lineal que tienen el offset del acceso dentro de la página 0001 0010 0011 0100 0101 0110 0111 1000 Dir. lineal = Offset = 345678H Dir física = Dir Página + Offset = 87400000H + 345678H = 87745678H Bits 0 al 21

16 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 16 Resumen modo no extendido página de 4 MB: 0001 0010 0011 0100 0101 0110 0111 1000 Dir. lineal = PD CR3 54321010H 874002A1H 54321000H 48*4=120H 54321120H PDBA 20 bits 12 Bits 87400000H 87745678H Page Dir. Acceso OffsetDir 48H345678H 12 Bits PS=1 y PSE=1 PBA 20 bits Modo no extendido

17 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 17 Modo extendido Traducción de dirección lineal a física. 1º Conocer si estamos en modo extendido o no. Partimos de PAE=1 (modo extendido). 2º Disponemos de la misma dirección lineal También se deben conocer CR3 y acceder a las tablas de la paginación. Las direcciones físicas son de 36 bits. Las entradas de las tablas son de 64 bits 3º El punto de partida es CR3 Traducción de dirección lineal a física. 1º Conocer si estamos en modo extendido o no. Partimos de PAE=1 (modo extendido). 2º Disponemos de la misma dirección lineal También se deben conocer CR3 y acceder a las tablas de la paginación. Las direcciones físicas son de 36 bits. Las entradas de las tablas son de 64 bits 3º El punto de partida es CR3 Dir. lineal 12345678H

18 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 18 Modo extendido Traducción de dirección lineal a física. 4º CR3 apunta a la dirección inicial de la PDPT. Para obtener la dirección de comienzo de la PDPT se toman los bits 9 al 31 (Page Directory Pointer Table Base Address) y se rellenan los que faltan (del 0 al 8) con ceros. Como la dirección inicial de la PDPT siempre acaba en 9 ceros en binario estará en una dirección de memoria múltiplo de 512. Traducción de dirección lineal a física. 4º CR3 apunta a la dirección inicial de la PDPT. Para obtener la dirección de comienzo de la PDPT se toman los bits 9 al 31 (Page Directory Pointer Table Base Address) y se rellenan los que faltan (del 0 al 8) con ceros. Como la dirección inicial de la PDPT siempre acaba en 9 ceros en binario estará en una dirección de memoria múltiplo de 512. Si CR3 = 654321 50H Dir. base de la PDPT = Rellenamos de ceros los bits 0 al 8 00H Bits 9 al 35 6543214

19 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 19 Modo extendido Traducción de dirección lineal a física. La PDPT tiene un tamaño de 32 Bytes en la que se pueden almacenar hasta 4 entradas de 8 bytes cada una. 5º Localizar la entrada correspondiente en la PDPT. Para ello se usan los 2 bits de mayor peso de la dirección lineal que tienen un índice a la PDPT. Todavía no sabemos si la página apuntada es de 4 KB. o 2 MB. Traducción de dirección lineal a física. La PDPT tiene un tamaño de 32 Bytes en la que se pueden almacenar hasta 4 entradas de 8 bytes cada una. 5º Localizar la entrada correspondiente en la PDPT. Para ello se usan los 2 bits de mayor peso de la dirección lineal que tienen un índice a la PDPT. Todavía no sabemos si la página apuntada es de 4 KB. o 2 MB. Offset PDPT = Índice PDPT * 8 = 0 Cada entrada de la PDPT ocupa 8 bytes 0001 0010 0011 0100 0101 0110 0111 1000 Dir. lineal = Índice PDPT = 0 Dir entrada PDPT = Dir Base + Offset = 654321400H + 0H = 654321400H Bits 30 y 31

20 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 20 Modo extendido Traducción de dirección lineal a física. 6º Leer la entrada correspondiente en la PDPT. Traducción de dirección lineal a física. 6º Leer la entrada correspondiente en la PDPT. Supongamos que el contenido de la entrada es = 0000000987654321H PDPT Dir base 654321400H Entrada 0

21 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 21 Modo extendido Traducción de dirección lineal a física. 7º La entrada de la PDPT apunta a la dirección inicial de la PD. Para obtener la dirección de comienzo de la PD se toman los bits 12 al 31 (Page Table Base Address) y se rellenan los que faltan (del 0 al 11) con ceros. Como la dirección inicial de la PD siempre acaba en 000H estará en una dirección de memoria múltiplo de 4 KB. Traducción de dirección lineal a física. 7º La entrada de la PDPT apunta a la dirección inicial de la PD. Para obtener la dirección de comienzo de la PD se toman los bits 12 al 31 (Page Table Base Address) y se rellenan los que faltan (del 0 al 11) con ceros. Como la dirección inicial de la PD siempre acaba en 000H estará en una dirección de memoria múltiplo de 4 KB. Entrada PDPT = 0000000987654 221H Dir. base de la P.D. = Rellenamos de ceros los bits 0 al 11 000H Bits 12 al 35 987654

22 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 22 Modo extendido Traducción de dirección lineal a física. La PD tiene un tamaño de 4 KB en la que se pueden almacenar hasta 512 entradas de 8 bytes cada una. 8º Localizar la entrada correspondiente en la PD. Para ello se usan los bits 21 a 29 de la dirección lineal que tienen un índice a la PD. Todavía no sabemos si la página apuntada es de 4 KB. o 4 MB. Traducción de dirección lineal a física. La PD tiene un tamaño de 4 KB en la que se pueden almacenar hasta 512 entradas de 8 bytes cada una. 8º Localizar la entrada correspondiente en la PD. Para ello se usan los bits 21 a 29 de la dirección lineal que tienen un índice a la PD. Todavía no sabemos si la página apuntada es de 4 KB. o 4 MB. Offset PD = Índice PD * 8 = 488H Cada entrada de la PD ocupa 8 bytes 0001 0010 0011 0100 0101 0110 0111 1000 Dir. lineal = Índice PD = 91H Dir entrada PD = Dir Base+Offset = 987654000H + 488H = 987654488H Bits 21 al 29

23 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 23 Modo extendido Traducción de dirección lineal a física. 9º Leer la entrada correspondiente en la PD. Determinar el tamaño de la página. Traducción de dirección lineal a física. 9º Leer la entrada correspondiente en la PD. Determinar el tamaño de la página. Bit 7 PS=0Página de 4 KB Supongamos que el contenido de la entrada es = 0000000654321221H PD Dir base 987654000H Dir entrada 987654488H Offset 488H Entrada 91H 0010

24 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 24 Modo extendido Traducción de dirección lineal a física. 10º La entrada de la PD apunta a la dirección inicial de la PT. Para obtener la dirección de comienzo de la PT se toman los bits 12 al 35 (Page Table Base Address) y se rellenan los que faltan con ceros. Como la dirección inicial de la PT siempre acaba en 000H estará en una dirección de memoria múltiplo de 4 KB. Traducción de dirección lineal a física. 10º La entrada de la PD apunta a la dirección inicial de la PT. Para obtener la dirección de comienzo de la PT se toman los bits 12 al 35 (Page Table Base Address) y se rellenan los que faltan con ceros. Como la dirección inicial de la PT siempre acaba en 000H estará en una dirección de memoria múltiplo de 4 KB. Entrada PD = 0000000654321 221H Dir. base de la P.T. = Rellenamos de ceros los bits 0 al 11 000H Bits 12 al 35 654321

25 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 25 Modo extendido Traducción de dirección lineal a física. La PT tiene un tamaño de 4 KB en la que se pueden almacenar hasta 512 entradas de 8 bytes cada una. 11º Localizar la entrada correspondiente en la PT. Para ello se usan los bits 12 a 20 de la dirección lineal que tienen un índice a la PT. Traducción de dirección lineal a física. La PT tiene un tamaño de 4 KB en la que se pueden almacenar hasta 512 entradas de 8 bytes cada una. 11º Localizar la entrada correspondiente en la PT. Para ello se usan los bits 12 a 20 de la dirección lineal que tienen un índice a la PT. Offset PT = Índice PT * 8 = A28H Cada entrada de la PT ocupa 8 bytes 0001 0010 0011 0100 0101 0110 0111 1000 Dir. lineal = Índice PT = 145H Bits 12 al 20 Dir entrada PT = Dir Base+Offset = 654321000H + A28H = 654321A28H

26 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 26 Modo extendido Traducción de dirección lineal a física. 12º Leer la entrada correspondiente en la PT. Traducción de dirección lineal a física. 12º Leer la entrada correspondiente en la PT. PT Dir base 654321000H Dir entrada 654321A28H Offset A28H Entrada 145H Supongamos que el contenido de la entrada es = 0000000456789221H

27 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 27 Modo extendido Traducción de dirección lineal a física. 13º La entrada de la PT apunta a la Página a la que se quiere acceder. Para obtener la dirección de comienzo de la Página se toman los bits 12 al 35 (Page Base Address) y se rellenan los que faltan con ceros. Como la dirección inicial de la página siempre acaba en 000H estará en una dirección de memoria múltiplo de 4 KB. Traducción de dirección lineal a física. 13º La entrada de la PT apunta a la Página a la que se quiere acceder. Para obtener la dirección de comienzo de la Página se toman los bits 12 al 35 (Page Base Address) y se rellenan los que faltan con ceros. Como la dirección inicial de la página siempre acaba en 000H estará en una dirección de memoria múltiplo de 4 KB. Entrada PT = 0000000456789 221H Dir. base de la Page = Rellenamos de ceros los bits 0 al 11 000H Bits 12 al 35 456789

28 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 28 Modo extendido Traducción de dirección lineal a física. La Página tiene un tamaño de 4 KB. 14º Calcular la dirección física. Para ello se usan los últimos 12 bits de la dirección lineal que tienen el offset del acceso dentro de la página Traducción de dirección lineal a física. La Página tiene un tamaño de 4 KB. 14º Calcular la dirección física. Para ello se usan los últimos 12 bits de la dirección lineal que tienen el offset del acceso dentro de la página Dir física = Dir Página + Offset = 456789000H + 678H = 456789678H 0001 0010 0011 0100 0101 0110 0111 1000 Dir. lineal = Offset = 678H Bits 0 al 12

29 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 29 Resumen modo extendido página de 4 KB: 0001 0010 0011 0100 0101 0110 0111 1000 Dir. lineal = CR3 65432150H 654321400H DPtrBA 27 bits 5 bits PT 456789221H 145*8=A28H 654321A28H Page Dir. Acceso 456789000H 456789678H PD 654321221H 91*8=488H 987654488H 12 bits PS=0 PTBA 24 bits 12 bitsPageBA 24 bits Modo extendido DPtrTableOffsetDir 91H145H678H0 PDPT 987654321H 0 12 bitsPDBA 24 bits 654321000H 987654000H

30 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 30 Modo extendido Traducción de dirección lineal a física. 9º Leer la entrada correspondiente en la PD. Determinar el tamaño de la página. Traducción de dirección lineal a física. 9º Leer la entrada correspondiente en la PD. Determinar el tamaño de la página. Bit 7 PS=1 Página de 2 MB Supongamos que el contenido de la entrada es = 00000006542002A1H PD Dir base 987654000H Dir entrada 987654488H Offset 488H Entrada 91H 1010

31 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 31 Modo extendido Traducción de dirección lineal a física. 10º La entrada de la PD apunta a la dirección inicial de la PT. Para obtener la dirección de comienzo la página se toman los bits 21 al 35 (Page Base Address) y se rellenan los que faltan con ceros. Como la dirección inicial de la página siempre acaba en 21 ceros en binario, estará en una dirección de memoria múltiplo de 2 MB. Traducción de dirección lineal a física. 10º La entrada de la PD apunta a la dirección inicial de la PT. Para obtener la dirección de comienzo la página se toman los bits 21 al 35 (Page Base Address) y se rellenan los que faltan con ceros. Como la dirección inicial de la página siempre acaba en 21 ceros en binario, estará en una dirección de memoria múltiplo de 2 MB. Entrada PD = 0000000654200 2A1H Dir. base de la página = Rellenamos de ceros los bits 0 al 20 00000H Bits 12 al 35 6542

32 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 32 Modo extendido Traducción de dirección lineal a física. La Página tiene un tamaño de 2 MB. 14º Calcular la dirección física. Para ello se usan los últimos 12 bits de la dirección lineal que tienen el offset del acceso dentro de la página Traducción de dirección lineal a física. La Página tiene un tamaño de 2 MB. 14º Calcular la dirección física. Para ello se usan los últimos 12 bits de la dirección lineal que tienen el offset del acceso dentro de la página Dir física = Dir Página + Offset = 65420000H + 145678H = 654345678H 0001 0010 0011 0100 0101 0110 0111 1000 Dir. lineal = Offset = 145678H Bits 0 al 20

33 Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 33 Resumen modo extendido página de 2 MB: 0001 0010 0011 0100 0101 0110 0111 1000 Dir. lineal = CR3 65432150H 654321400H DPtrBA 23 bits 9 bits PD 6542002A1H 91*8=488H 987654488H Page Dir. Acceso 654200000H 654345678H 12 bitsPageBA 24 bits Modo extendido DPtrOffsetDir 91H145678H0 PDPT 987654321H 0 12 bitsPDBA 24 bits 987654000H


Descargar ppt "Universidad Pontificia de Salamanca (Madrid) Dpto. de Electrónica y Comunicaciones. © Alfonso Alejandre, Luis Azorín y Francisco Machío 1 Paginación Introducción."

Presentaciones similares


Anuncios Google