13.07.2015 Views

Soluciones de los ejercicios sobre instrucciones y direccionamiento

Soluciones de los ejercicios sobre instrucciones y direccionamiento

Soluciones de los ejercicios sobre instrucciones y direccionamiento

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

10<strong>Soluciones</strong> <strong>de</strong> <strong>los</strong> <strong>ejercicios</strong> <strong>sobre</strong> <strong>instrucciones</strong> y <strong>direccionamiento</strong>a. El número <strong>de</strong> byes viene indicado en el campo “limit” <strong>de</strong>l GDTR. Como tiene 16 bits, el númeromáximo <strong>de</strong> bytes es 2 16 = 65.536 bytesb. El número <strong>de</strong>l <strong>de</strong>scritor está contenido en el campo “In<strong>de</strong>x” <strong>de</strong>l selector. Como tiene 13 bits, GDTpue<strong>de</strong> contener hasta 2 13 = 8.192 <strong>de</strong>scriptores (congruente con lo anterior, puesto que cada <strong>de</strong>scriptortiene 8 bytes)c. El tamaño máximo <strong>de</strong> un segmento está <strong>de</strong>terminado por <strong>los</strong> 20 bits <strong>de</strong>l campo “limit” <strong>de</strong> su<strong>de</strong>scriptor, que dan la longitud <strong>de</strong>l segmento en bytes si G = 0 o en unida<strong>de</strong>s <strong>de</strong> 4 KB si G = 1. Portanto, si en el <strong>de</strong>scritor <strong>de</strong>l segmento es G = 0, el tamaño máximo es 2 20 = 1 MB; si G = 1, el tamañomáximo es 2 20 unida<strong>de</strong>s <strong>de</strong> 4 KB, es <strong>de</strong>cir, 2 20 ×4×2 10 = 4 GBd.• De acuerdo con el formato <strong>de</strong>l registro GDTR, la dirección <strong>de</strong> base <strong>de</strong> la tabla GDT esH’00000000, y su extensión (limit) es H’00FF = 255 (es <strong>de</strong>cir, pue<strong>de</strong> contener 256/8 = 32<strong>de</strong>scriptores <strong>de</strong> segmento)• (DS) = H’001A = B’000000011010. De acuerdo con el formato <strong>de</strong>l registro DS, in<strong>de</strong>x = 3; TI = 0(se selecciona GDT); RPL = 2• La dirección <strong>de</strong>l <strong>de</strong>scriptor <strong>de</strong>ntro <strong>de</strong> la GDT es 8×in<strong>de</strong>x = 24 = H’18, y ésta es la dirección enmemoria <strong>de</strong>l <strong>de</strong>scritor <strong>de</strong>l segmento, puesto que la dirección <strong>de</strong> base <strong>de</strong> la tabla es 0• Teniendo en cuenta lo dicho <strong>sobre</strong> <strong>los</strong> contenidos <strong>de</strong> memoria, el contenido <strong>de</strong>l <strong>de</strong>scritor <strong>de</strong>lsegmento será el indicado en esta figura:De aquí resulta:• Como G = 0, el tamaño <strong>de</strong>l segmento se mi<strong>de</strong> en bytes, y es: H’E1918 = 923.928 bytes• La dirección <strong>de</strong> base <strong>de</strong>l segmento es H’1F1C1B1A = 521.935.642e. Con todo esto ya se pue<strong>de</strong> respon<strong>de</strong>r a las dos preguntas:• La primera es trivial: dirección final = dirección <strong>de</strong> base <strong>de</strong>l segmento + offset = 521.935.642 +325 = 521.935.967• La respuesta a la segunda no es tan evi<strong>de</strong>nte. En la figura anterior po<strong>de</strong>mos ver que DPL = 0, es<strong>de</strong>cir, el acceso a este segmento requiere el máximo privilegio. No sabemos cuál es el nivel <strong>de</strong>privilegio <strong>de</strong>l programa en el que está la instrucción (no conocemos el contenido <strong>de</strong>l registro CS),7

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!