Sei sulla pagina 1di 76

Jul-13

1_ XOR
2_ BYTE, SIGNADO Y NO SIGNADO
3_ NEG AX
4_ IP 0345
5_ TIEMPO DE BUSQUEDA
6_ LRU
7_ HZ 1 hz es 1 ciclo / seg 1 seg son 10^-9 ns la rta es 10^9 hz nuse porq
8_INTA (Interrupt Acknowledge). El INTR es el pedido de interrupción que se envía a la APIC (Interrupt Request).
9_ Mb

u10 a)AX=0036
b)0040 : 0106
c)0019(h) -----> ojo el 1 te lo metes en el orto, es del carry… no se pone 10019… se pone 0019

u4) es el 0 - 1 en binario seria 0000 0000 - 0000 0001 => 0000 0000 + CA2(- 0000 0001) = 1111 1111 es -1 en 8 bits……… y
quedando 1 01111111 00000000000000000000000(2)
se verifica puesto que is queremos hacer el camino inverso:

tenemos 1 que es el signo y es engativo


el exponente es 127 - 127 = 0….. 2^0 lo guardo por ahí que lo voy a utilizar mas tarde
de la mantiza no sacamos nada.. Cero… 0 +1 = 1 …. Y ahora usamos el 2^0 de arriba porque hacemos 2^0 * 1 = 1 y el signo

u8) 4 bytes
u7) 19 y 1 .. Ni idea porque….. Son 2 bancos? Debe ser 2^1 … y lo otro porque son 20 bits

ultima) es direccionamiento inmediato ya que el enunciado te está diciendo que el operando reside justamente en el códi
Final del 13 , 02 , 2013 Link de utnianos: (solo para ver el enunciado las re
como se denomina la estructura de datos que se utiliza en determinadas ocaciones para resguardar la direccion de retorno
Pila

Cual es el nombre generico de las dos zonas logicas en las que se divide cualquier cara de un disco magnetico
pistas y sectores

expresar la velocidad media de giro en MS de un disco que gira a 5400 RPM


1 segundo son 1000 ms
5400 RPM --------60 seg
x ------------1 seg
x=90 rev/seg
90 -----------1 seg
1 -------------x seg
x=0,01seg--------> 1 rev en 11,1 ms

-relacionado con la lógica digital, que elemento permite el almacenamiento de un bit en un registro? (Por ejemplo un regis
Biestables , SRAM

-Relacionado con el procesador Pentium. Como se denominan las instrucciones al registro acumulador en relación al tama
EAX AX AH AL

-Relacionado con una instrucción exprese que significa que la instrucción tenga distintos modos de direccionamiento, y qu
indica donde se aloja el dato. Busqueda de operando. Cambia en cuanto a sus bits.

-relacionado con el micro, como se denomina a su capacidad de atender acontecimientos causados por otros
control de interrupciones, interrupcion no enmascarable

-relacionado con las instrucciones en que unidad se mide el ciclo completo de una instrucción?
ciclo por segundo , 1 ciclo/ segundo = 1 Hz.

¿Cuántos nanosegundos tarda un ciclo de reloj para una computadora que trabaja con una frecuencia de 25MH
Recordemos que cada hercio es un ciclo por segundo, lo que significa que un procesador a 3800 MHz viene realizando tre
1 hz es 1 ciclo por segundo
1 MHz = 1 millón de hertz.
25 MHZ= 25000000/seg
1 seg -------25 000 000 ciclos
x seg -------- 1 ciclo

1 ciclo se hace en 1/25000000 seg = 4 x10-8= 40 x 10-9 = 40nanosegundos


otra forma mas falopera: 0,04 x10^-6 = 0,04 x10^-6 * 1000/1000 = 0,04 x10^-6 * 10^3*1/10^3 = 40 x10^-6 * 1/

-que modulo especial gestiona las señales provenientes de dispositivos? Y cual es el nombre de dichos señal
Modulo de E/S , interrupciones. Oooo APIC IRQ

-que significa E/S mapeada en memoria o memory mapped?


Se puede usar todas las instrucciones que permiten acceder a memoria.
Mapeando el área de E/S en memoria pueden utilizar todas las instrucciones generales, para acceder a la misma.

practica
NOTA: EL COMPLEMENTO A2 ES BUSCAR EL PRIMER UNO DE DERECHA A IZQUIERDA Y DEJARLO ASI COMO ESTA; Y A PART
100 (10) en binario es 1100100(2) CA= (es el complemento A2) es 0011100 CR (el A1) es 0011011…..
8F (16) en binario es 10001111(2) CA = 01110001 el CR= 01110000
44(5) es 24(10) es 11000(2) CA 01000 CR 00111

2) a) sumar todo
b) sumar todo y dividirlo por el tamaño de las paginas
c) (por operativos) tamaño de memoria = offset (tamaño de pagina) * cantidad de paginas
el offset es el corrimiento, o sea cuanto me puedo correr en 1 pagina es decir su tamaño , si la pagina es de 4 k tengo hasta
con esta explicacion => 2^20 = 2^12 * 2^algo …… algo=8….. Entonces 2^8 es la cantidad de paginas que voy a tener y son
d)Si la primera página del código se aloja en el frame (“el hueco para la pagina ” ) 127 cuál es la dirección e

127 es el numero de la pagina. 127 en binario es “01111111”


El primer byte arranca desde la primer posición dentro de la pagina (o sea, posición cero)
P7-P6-P5-P4-P3-P2-P1-P0-D11-D10-D09-D08-D07-D06-D05-D04-D03-D02-D01-D00
01111111000000000000

Pasando a hexa
“0 1 1 1” “1 1 1 1” “0 0 0 0” “0 0 0 0” “0 0 0 0”
7F000

Final arquitectura 27/02/13 Link de utnianos: (solo para ver


tema1:que señales intervienen en el tratamiento de una solicitud de interrupción enmascarable? Tema2:que
Eflags IF, tema2 : se producen a través del hardware activando patas del procesador

*Que es una INT n ¿? Y en que clasificación entra?


INT n: es una instrucción que permite que se genere una interrupción no enmascarable poniendo el numero del vector de
*como se denominan las arquitecturas que permiten la ejecucion en paralelo de varios causes de instrucciones?
superescalares

*exprese como minimo 4 etapas del ciclo de una instrucción cuya ejecución se denomine segmentada
busqueda de la isntruccion,decodificaicion, busqueda de los operandos, ejecucion, escritura en memoria

*indique las condiciones que debe cumplir un segmento para que la unidad de segmetnacion no genere la e
P=1, debe estar en memoria, y no se debe sobrepsar loq ue dice el campo limite

*donde se referencia el nivel de privilegio en una dirección virtual y donde lo consulta la unidad de segment
El nivel de Privilegio en una Dir. Virtual se referencia en el campo RPL, y la Unidad de Segmentación lo cheq

*que se almacena en una TLB y bajo que circunstancias decrece significativamente su tasa de acierto?
se almacenan las ultimas direcciones fisicas traducidas por la unidad de paginacion, si la direccion esta en la

*como se denomina a una transferencia de E/S que se basa en el censado continuo del estado del periférico
programada

*modo de direccionamiento en el que el operando se encuentra directamente definido en el campo de refere


modo de direccionamiento inmediato

*¿Cómo se denominan las transferencias de E/S que aprovechan los ciclos en que el bus se encuentra ocios
DMA

*Modo de direccionamiento en el cual el código de operación determina el operando.


direccionamiento directo

PRACTICO: (el de conversion paja)


Una memoria cache con una organización asociativa de 4 vias (o conjuntos) tiene 8 bloques de 8bytes cada
*Cual es el formato o estructura q tiene la dirección para controlador de cache pueda determinar si la info buscada se encu
ETIQUETA CONJUNTO DATO

Bits de etiqueta:
Si la MP tiene 2048 bytes = 2^11….. 11 bits para la dirección. //a simple vista se ve que va a ser X * 2^3 *

>Bits etiqueta:
Debemos saber la cantidad de grupos en la cache, cada grupo tendrá 8 bloques de 8 bytes.

Cantidad de grupos en ram: 2k/64bytes = 32 grupos…. 2^5 => 5 bits para la etiqueta
>Bits conjunto:
2^3

>Bits de byte o posición


Cada bloque tiene 8 bytes asi que necesitamos 3 bits . 2^3

-Los bits de la etiqueta permiten identificar la VIA.

*cual es el criterio de reemplazo que se recomienda en este tipo de org


LRU

*la cache almacena cuatnos bytes?y a cuantos se accede por vez?


Almacena 4*8*8 =256 bytes
Se acceden a 8 bytes por vez (tamaño bloque)

*si un bloque de memoria se organiza como una matriz de 1024M *8. Cual es su capacidad expresada en la
1024M x 8 --> 1024M x 8bits = 1024M x 1Byte = 1024MB = 1GB
1GB= 2^30 => Entonces 1ra dirección 30 bits en cero y ultima 30bits en 1. RANGO = 00000000 - 3FFFFFFF
11 1111 1111 1111 1111 1111 1111 1111
=
3 F F F F F F F

Final 06-mar-2013 Link de utnianos: http://www.utnianos.c


-La compuerta cuya tabla de verdad es igual a la de una compuerta NAND con sus entradas unidas es
NOT

-En una arquitectura de 32 bits los tamaños máximos de los registros de calculo y de los registros de segme
32 registros de calculo y 16 bits registros de segmento

-El tiempo para localizar un sector en una pista o cilindro del disco cuando el cabezal ya se encuentra posicio
latencia rotacional

-las técnicas q permiten actualizar el contentido de la cache se denominan políticas de escritura


F: se denominan algoritmso de actualziacion : LRU RANDOM FIFO

-La compuerta cuya tabla de verdad presenta “1” en la saldida cuando el numero de variables en 1 es impar
XOR

-en el set x86 la instrucción para transferir un dato en el segmento es:


POP

-que registros se deben actualizar cuando se retorna a un procedimiento dentro de un mismo segmento de
ECX

-En que se mide la velocidad efectiva de un procesador y la duración de un ciclo de reloj respectivamente?
FLOPS/NANOSEGUNDOS.

-las variables declaradas como cadenas de caracteres o string se guardan en la memoria como RAM como:

Big endian Numerico => little endian


No numerico y codigo => big endian

-la señal de petición de interrupción para la atención de un evento prioritario y el terminal correspondiente s
NMI

-mega es 2^20
-peta es 2^50
-giga es 2^30
-tera es 2^40

Se esta ejecutando una instrucción cuyo simbolico de maquna es JNZ 120, que ocupa 3bytes en memoria lu
Z=1 (indica que el resultado fue cero) => no se realiza JNZ 120
CS : IP +3bytes-------> Dire en hexa : 0040: 0106

Z=0 (resultado dio distinto de cero) => Dire en hexa : 0040:120 (el registro ip apuntara a la poss 120)

Si en la referencia 0120 se aloja una instrucción ADD BH CH cual será el valor del registro destino en caso d
-Si z=1 (resultado dio cero) importa
BH es el registro destino y su valor es:
CX= 001D (por dato)
CH (mayor peso) CL(menor peso)
00 1D
BX=001C (por dato)
BH(mayor peso) BL(menor peso)
00 1C

Destino,origen
ADD BH,CH
ð   00 + 00 = 00 => BH =00
-Si z=0 (resultado distinto de cero) no importa

EJERCICIO DE VALOR EN PUNTO FLOTANTE


RECORDAR QUE 1 BIT ES DEL SIGNO (MENOS ES 1 , MAS ES 0)
8 BITS PARA : 127 + CANT DE LUGARES QUE CORRI LA COMA HASTA EL PRIMER UNO (HASTA EL PRIMER U
ejemplo 1,0101010 EL NUMERO ENTONCES 0101010 ES LA MANTIZA + CANT DE CEROS HASTA LLEGAR A

EJERCICIOD DE LATENCIA PROMEDIO


3600 RPM
LATENCIA PROMEDIO
LP=1/(2*RPS)
3600 --------60 seg
x ---------------1 seg
x=60
60 rev por seg
1/2*60 = 1/120 = 0,0083 seg que como 1 seg son 1000 ms entonces 8,33 ms.

26/9/2013
Link de utnianos : http://www.utnianos.com.ar/foro/tema-final-resuelto-arquitectura-de-computadoras-26-9-2013

*el servicio que atiende una interrupción es apuntada por IDT


*Un código de operación invalido genera un evento denominado ……….. de tipo ………………….. en cambio una batería agotandose genera
*El tiempo que transcurre desde que se da una orden de lectura y el contenido de memoria esta disponible para ser transferido es TIE
*el área de memoria en donde se aloja los objetos de una tarea en estado de ejecución se denomina LDT en cambio el área de memo

*Un segmento es un bloque lógico de tamaño fijo que para el procesador estudiado puede ser de 4k o de 4M
F, de tamaño fijo son las paginas, los segmentos son de tamaño variablo.

*El calculo de la dirección efectiva de una instrucción involucra los registros CS y el campo DATA de la instrucción
F, CS *10+DESPLAZAMIENTO

*Cuando se esta ejecutando una tarea concreta se activan la GDT y la LDT de la tarea en curso , cada una de ellas se relacionan con l
v

*cuando una MP es de 4G esta dividida en paginas de 4k se necesitan 22 bits para identificar el numero de frame pues la cantidad tota
F, 4g es 4 x 2^30… dividido 4*1024 (4k) es 2^20, se necesitan 20 bits, porque la cantidad de los mismos es 2^20 bytes.. o sea 1 M.

*Durante la ejecución de una instrucción aritmética se puede producir un desbordamiento u overflow que es considerado como un fallo
F, es considerado un fallo o interrupcion INTO

5. practico: verbos distintos


Salto call, ret
Transferencia mov
Aritmético add , sbb
Lógico and

practica

*el primero es de conversion, forget it


*el de assembler te lo debo

*para una instrucción de 16 bits con una referencia a dato almacenado en una matriz de memoria de 4096x8
*indicar el tamaño necesario del campo DATA para poder accederlo en modo directo y los valores primero y ultimo en hex

instrucción = COP + DATA


16 = COP + 12 (el 12 sale de 2^12=4096 es la cantidad de bits apra direccionar 4096 x8 o sea 4096 x1byte o sea 4096.)
con 12 bits podes acceder a: 4 4 4 o sea 000-FFF

*si los restantes bits corresponden al codigo de operación y este solo determina el verbo indicar cuantos verbos distintos s
4 bits de la cuenta de arriba, call mov sum and

Final 11/12/2013 http://www.utnianos.com.ar/foro/

*Memorias que constituyen un subsistema Cache


memoria de datos y memoria de etiquetas… o instrucciones y datos tmb

*nombre del bloque en memoria RAM en elq ue se carga una pagina


frame o marco de pagina

*Nombre al menos tres señales del bus relacionadas con una transferencia DMA
MEMW ; MEMR ; T/C

*indique al menos dos tipos de transferencia de E/S


programada, por interrupciones, DMA

*que tipo de interrupciones se habilitan con la activación de una bandera del registro de estado?
enmascarables (aca te haces el cuadrito y sale, a mi me cuesta un huevo acordarme cual es cual, nose creo que tengo un p
interrupc externas NMI no enmascarables, INTR enmascarables , puede ser ignorada depende del valor de IF en los Efla
interrupc internas INT N es una instrucción que permite que se genere una interrupción no enmascarable y N correspond

*instrucción en assembler que permite consultar por overflow luego de una operación arit
JO salta si overflwo es 1 , JNO salta si overflow es 0

*cuando se desea consultar por una condición de igual en una estructura condicional que
resta ,SUB ,(Z=0)

*tecnica de ejecución en paralelo a nivel instrucción


pipeline

PRACTICA

El campo desplazamiento en una dirección lineal almacena el numero 37B.


*con esa cantidad de bits de desplazamiento ¿Cuál es el tamaño de la pagina?
37B…. 4 4 4…. 2^12=4kb

*cual es el desplazamiento correspondiente al byte alojado en la decima posición?


37B+10 = 038B
*Si el numero de frame en donde esta la pagina alojada en memoria es el 00031¿Cómo se
00031 *10 + desplazamiento
000310 + 37B = 00068B=> dirección física 00031:00068B

En el tamaño correspondiente una doble palabra (4bytes)


*cuantas combinaciones binarias se pueden representar?
4 bytes son 32 bits… 0000 0000 0000 0000 0000 0000 0000 0000
2^32 -1 combinaciones posibles.
*cuantas direcciones segmentadas en modo real?
1MB/32
*cuantos dígitos en BCD ?????
cada digito BCD 4 bits, por lo que 32/4 = 8 digitos.

MOV CX 04
MOV AX 02
CALCULO MUL AX 02
LOOP CALCULO
MOV BX AX
AND BX 0F

*AX?
*CX?
*BX?

MUL AX,02 --> AX = 02 * 02 = 04


LOOP CALCULO --> Decrementa CX a 03. Verifica CX, su valor es diferente a 1, entonces entra a la primera
AX = 04 * 02 = 8.
Decrementa CX a 02. Verifica CX, su valor es diferente a 1, entonces entra a la segunda vez:
AX = 08 * 02 = 16
Decrementa CX a 01. Verifica CX, su valor es 1, entonces no vuelve a entrar y AX queda en 16.

a) AX= 0010 (la cuenta da 16, pero como estamos en hexa, queda 10)
b) CX= 0000 (como se decrementa con el loop, el loop termina cuando queda cx en 0)
c) BX= 0000 (BX queda como AX 0010 en hexa,pero luego del AND lógico se guarda la rta de esa comparac

12/4/2013

*El operando reside en la propia instrucción


implicita

*Un registro de 32 bits almacena AABBCDD pasar a litle endian


(NOTA 32 bits binarios son 8 bits en hexa
ejemplo
0000 0000 0000 0000 0000 0000 0000 0000
A B F 3 4 D A 2
)

0AABBCDD le agrego un cero por ser 32 bits


Agarro de a dos e invierto
0A
AB 0A
BC AB 0A
DD BC AB 0A

* El operando se encuentra en un registro


Modo DIRECTO

*cual es el nombre de las unidades logiacs en las que se puede dividir un disco físico y cuando se crean?
particiones, al darle formato

*En un entorno multitask como se denomina el are ade RAM ocupada por una única tarea?
LDT

*como se denomina el bloque de lógica que permite encauzar la info de una de 2^n vías de entrada en una
multiplexor

*Dos instrucciones Assembler de salto


JMP, JE

*la cpu accede a la pila usando instrucciones propias:


POP PUSH

PRACTICO
NOTAAAAAAAAAAAAAA
byte ocupa 1 byte o sea 8 bits
word ocupa 2bytes o sea 16 bits
double word ocupa 4 bytes o sea 32 bits
quad ocupa 8 bytes o sea 64 bits

Un operando definido en word:


*Cant de bits> 16
*Valores decimales extremos no signado > [0;65535]---------->Eso sale de hacer 2^16 -1… porque con 16
*Como se representa el numero -32768 en este formato
-2^15 y habia que pasarlo a binario, 15 bits
-1000 0000 0000 0000

3 Para la linea de codigo


AB55:0103 INT 24
AB55:0105
* Que significa el numero 24?
Funciona como operando, es la posicion del vector de interrupciones, asociado a la IDT.
* Indique el valor de IP para que se ejecute la instruccion
IP=0103????
* La direccion segmentada de la instruccion a la que se retorna luego de la ejecucion del IRET?
AB55:0105

3/2/2011

*como se denomina la estructura de datos que se utiliza en determinadas ocaciones para resguar
Pila/Lifo

*Cual es el nombre de la técnica para actualizar la memoria desde cache cuando se escribe en MP
escritura inmediata

*Que información se almacena en registros de calculo en modo real y en modo protegido?


en modo real datos y en modo protegido operandos

*como se denoomina el registro que actua como puntero de pila y a cauntas posiciones puede dire
SP y puede acceder a 2^16

*donde se encuentra el operando cuando se utiliza direccionamiento implícito?


en el COP o en la misma instrucción

*que es el LDTR y que información se guarda en este dispositivo


es el registro de LDT se guarda informacion de una tarea en particular

*Como se representa en unidades de frecuencia 1 millon de ciclos por segundo?


1Mhz

*como se denomina el evento que genera la falta de un segmento. Que modulo del microprocesad
segment fault, lo indica el MMU

*Como se denomina el parámetro que indica la cantidad de bits que se graban en un medio magn
Densidad BPI (BPI significa bits por pulgada, esto es ridiculo)

PRACTICA
Sabiendo que una CPU genera una dirección de 30 bits que permiten acceder a la memoria principal 
*Cuál es su capacidad (expresada en unidades de bytes) si cada palabra direccionada es de 16 bits.
2^30 = 1gb *2 = 2 gb (Dice que la dirección es de 30 bits, así que hay 2^30 direcciones, cada dirección contiene palabras de

*Si un controlador cache la visualiza como dividida en 64 K grupos ¿cuantos bits se necesitan para identificar cada uno de 
2^algo = 64k algo=16…. 16 bits

*si el total de memoria esta distribuida en cuatro palcas ¿Cuántos bits direccionan la placa?
2^2=4 …. 2 bits.

Un proceso que se ejecuta en un sistema con memoria virtual puramente segmentada  tiene un primer segmento de código d
* ¿Cuando el programa está ejecutando la tercera instrucción el BIT de presencia esta activado?
P=1, porque indica que esta en memoria y sí, lo esta

*¿Que valor de la entidad “selector” de la dirección virtual permite determinar el acceso al descriptor segmento? 
selector=0, pero dudo

*que valor tiene el bit G ?


Desactivado en 0 porque dice segmento puramento segmentado, si el segmetno fuera paginado diria G=1

*Si la base alojada en su descriptor y  expresada en hexadecimal es 32 42 70 00. ¿Cuál es la dirección física que correspond
32 42 7F FF

Para la línea de código presentada a continuación 

AB55:0103 MOV AX,[AAAA]
Si la instrucción siguiente a la descripta se aloja en la dirección física AB656 Cual es el tamaño de la instrucción y cuantos 

AB55*10 + 0103 = AB653


AB656 era la proxima asi que ocupa 3 bytes la nuestra.
instrucción=data + cop
3 bytes = 2bytes + cop (2 bytes porque AAAA ocupa 4 4 4 4=16 bits o sea 2 bytes)
cop = 1 byte

Final 21/12/2011

1. Indique SI/NO si en ambos modos (real y protegido), el Pentium tiene una IDT de idéntica cantidad de
2. Indique SI/NO si una interrupción puede provocarse mediante el software. En caso negativo justifique.
3. Cómo se denomina la arquitectura desarrollada para el procesador Itanium, que consta de quince unida
4. Indique SI/NO si el software de Itanium es compatible con instrucciones de otra arquitectura. En caso n
5. Indique el nombre de la unidad que determina cuál será la siguiente instucción correspondiente a una d
6. Indique cuál es el registro de 32 bits que, además de su función primaria, puede contener una dirección
7. Indique SI/NO si existen hasta 6 registros que se utilizan para determinar el campo selector de una dire
8. Indique SI/NO, si un dato numérico de tipo byte se almacena en modo little endian.
9. Indique cual es la organización de memoria que divide el espacio de memoria en bloques de longitud fij
10. Qué rango de numeros signados se puede representar con 16 bits? Expréselo SOLO en decimal
11. Indique el rango de direcciones (expresado en hexadecimal) para acceder a una memoria de 2 KB
12. Con qué siglas se identifica la unidad de velocidad de giro de un disco?
13. Si en una imagen virtual el primer segmento de código está alojado en memoria RAM a partir de la dir
14. Cuál de los siguientes registros resultará modificado y con qué valor quedará al ejecutarse una instruc
15. Indique el formato de una dirección segmentada en MODO REAL y presente un ejemplo numérico
16. En base al ejemplo anterior calcule la dirección física
17. Cómo se denomina el registro invisible que apunta a la LDT activa?
1. SI 256 entradas
2. SI Por ejemplo, instrucción INT #
3. EPIC (puse IA-64 y me lo pusieron bien)
4. IA*32 (puse x86-32 y me lo pusieron bien)
5. Unidad de Predicción de Saltos
6. EBX
7. SI, son los de segmento
8. NO. (todo es big endian salvo los de coma flotante) (esto igua nose si es tan asi, para mi es numerico l
según Quiroga:
El Big Endian "se aplica tanto al código como a datos de tipo no numérico."
Continúa diciendo que "si el dato es numérico y su tamaño es de 2 o 4 u 8 bytes (palabra, doble p

Edit:
Sin embargo, me parece que la respuesta es "NO". Investigando esto en el Stallings, aparece que
Entonces, un dato de un único byte no es ni big-endian ni little-endian.... porque no cumple el tam
9. Paginación
10. -2^15; 2^15-1
11. 00 0000 0000 ; 111 1111 1111 por ser 11 bits
000 ; 7FF
12. RPM
13. base AB 00 00 00
limite 1024 son 00400 recordar que la base tiene 32 bits y el limite 20 bits
14 . AX =FF00
15. 23AB:0030
16. 23AB0 + 0030
17. LDTR

7/25/2012
1) Indique si es cierto que en modo real el Pentium tiene acceso a memoria RAM de solo 1 Giga. En caso afi

2) Indique si es verdad que cuando un segmento no se halla presente en la memoria RAM y si lo esta en la

3) Indique a que numero decimal se le asigna la combinacion correspondiente a *0 (cero negativo) en un fo

4) Indique la denominacion de las memorias que constituyen un subsistema cache considerando el tipo de in

5) Indique la cantidad de bits del campo desplazamiento en una direccion virtual si considera que el potenci

6) Indique cual es el registro de 32 bits que permite el acceso LIFO a la pila.


7) Indique si es verdad que existen hasta 6 registros que se utilizan para determinar el campo selector de u

8) Indique con SI o con NO, si es verdad que un dato numerico de tipo DOBLE WORD se almacena en RAM s

9) Indique la organizacion de memoria que divide el espacio de memoria en bloques de tamaño fijao.

10) Indique el PRIMER NUMERO POSITIVO que como resultado de una operacion con numeros SIGNADOS g

11) Indique el rango de direcciones (expresado en hexadecimal) para acceder a una memoria de 4K x 8.

12) Que banderas se actualizan luego de la ejecucion de una instruccion de suma?

13) Si se quiere acceder a una instruccion en el segmento de codigo, Cuales de los registros indicados abajo
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=1516 ES=1516 SS=1516 CS=1516 IP=0100

14) Si se ejecuta una instruccion INC AX. Cual de estos registros se modificara, y con que valo quedara?
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000

15) Referido a instruccion de salto incondicional, Que registro se modifica a causa de su ejecucion?

16) En el Pentium, Que unidad se encarga del calculo de los operandos BCD?

17) Como se denomina el registro invisible que apunta a la LDT en modo protegido?

1. Falso. Direccion segmentada--> Registro de Segmento : Desplazamiento.


2. Falso. Se genera una excepcion que es registrada por el SO, no una interrupcion.
3.Al 128 en formato signo magnitud 1000 0000
4. SRAM instrucciones y datos
5. 32 bits , 2 ^32 =4G
6. ESP
7.V CS DS ES FS GS SS
8. F listtle endian
9. paginas , tamaño variable tienen lso segmetnso y tamaño fijo tienen las paginas
10. 32768
11. 4k * 1byte =4k = 4096 => 000 FFF por ser 12 bits los que direccionan a 4096
12. Z S V C
13. CS IP
14. AX=0001
15. CX? IP Si es un salto corto solo se modifica el EIP, si es un salto largo modifica el CS y el EIP también, IP o EIP
16. FPU o ALU ni idea
17. LDTR

19/12/2012
http://www.utnianos.com.ar/foro/tema-pedido-final-arquitecturas-19-12-2012

cuales son los dos criterios que sustentan la alta probabilidad de acierto en memoria cache ?
principio de vecinidad espacial y temporal

definicion generica para todos los tipos de error que pueden generar las instrucciones que operan datos en convenio de pt
excepcion, es una falta o error

indique como minimo cuatro unidades que constituyen el procesador pentium


BIU, FPU, unidad de predicción de saltos condicionales, subsistema cache, unidad de enteros superescalar

tema2: cuales son las unidades del procesador pentium comprometidas en la ejecucion de instrucciones de calculo?
FPU; BIU

registros de 32 bits q se asocian al acceso modo de direccionamiento indexado


EDI y ESI

tema2: registros de 32 bits que se asocial al manejo de la pila


ESP / BSP

modo de direccionamiento en el que el operando se encuentra directamente definido en el campo de referencia a dato de
modo inmediato ADD BX ,5

tema2:modo de direccionamiento en el que el "dato" forma parte del codigo de instrucción dar ejemplo
Si el operando está incluido en el código de operación, por ejemplo INC BX (INC es que le suma 1) es imp

memoria ultrarrapida que guarda la dire lineal y la dire fisica de las ultimas 32 paginas de codigo accedidas
TLB

metodo de sustitucion de una linea de cache en una organización de correspondencia directa o asociativa de una via
nota, aca investigué mucho del tema y saque estas conclusiones
totalmente asociativa usa cualquier algoritmo
correspondencia directa o 1 via no usa algoritmo
n vias usa RANDOM o LRU

la rta correcta seria NO USA algoritmo pero ellos seguro que buscaban que contestes LRU como en el tema2

tema2:metodo de sustitucion de una linea de cache en que se reemplaza la linea que ha permanecido ociosa por mas tiem
LRU

indique la denominacion generica para las peticiones de interrupcion de los perifericos PIC q permiten determinar la priori
IRQ (que pelotudo de mierda que soy, esta me la tomaron a mi en febrero 2014 y la hice mal, igual desaprobe por practica

indique cuatro datos que deben almacenarse en un disco relacionadso con la administracion del sistema de archivos y que
(esta tambienme la tomaron !!! Jajaja )
cuales son y donde se almacenan los datos de referencia relacioandos con la administracion del sistema de archivos?

PRACTICO
1) 2143 6587
*CS 2143
*IP 6583

2) *¿En cuantos frames de pagina se puede dividir una memoria de 6G si la pagina es de 4k ?


en 1572864 paginas
*si un bloque de codigo ocupa 4096 b, cuantas paginas usa?
2 paginas viejaaaaa

3)a)G (bit de granularidad) y el límite dice el tamaño de segmento


b)1
c)2^10=1K=1024 páginas
d)8K * 1K=8M

5/24/2012
http://www.utnianos.com.ar/foro/tema-aporte-final-arquitectura-24-05-2012-resuelto

que informacion binaria se almacena en la memoria de etiquetas de una memoria cache?


Las referencias a las direcciones de la memoria principal.

cuantos bits utiliza el formato del convenio de punto flotante IEEE 754 de simple precision y cuales campos lo constituyen?
1 de signo, 8 de exponente y 23 de mantiza son 32 bits en total

conjuntos de registros de la CPU usados en el modelo de programacion de aplicaciones


Registros de propósito general, registros de segmento (CS, DS, SS), registro puntero de instrucción (EIP),

registros de 32 bits q se asocian al acceso de la estructura de datos denominada stack o pila


ESP EBP

modo de direcc en el q el operando se encuentra directamente almacenado en un registro


modo de direccionamoento por registro

memoria ultrarrapida q guarda la dire lineal y la dire fisica de las ultimas 32 paginas de codigo accedidas
TLB

la estructura de datos q contienen las referencias para el acceso a una pagina cuando se usa memoria virtual con segment
tabla de paginas?

indique la denominacion generica para las peticiones de interrup de los perifericos al PIC que permiten determinar la prior
IRQ
primera etapa del ciclo de instrucción previa a la decodificacion
Busqueda de la instrucción

PRACTICA
si un operando esta definido como WORD
*expresar 1ero y ultimo valor binario sin signo en este formato
word son 2 bytes 16 bits
0000 0000 0000 0000 - 1111 1111 1111 1111
0000-FFFF

*cual es el max numero positivo en binario signado expresado en pot de 2?


2^15-1

*indique el primer valor positivo a partir del cual da overflow


2^15
si me toman esta pelotudez me saco un diez…

sabiendo q en un modelo segmentado MMU genera una direccion fisica a partir de una direccion segmentada
*en modo real en q registro de cpu se aloja la entidad base de un segmento de codigo?
en el registro de segmento

*en una direccion virtual asociada a un segmento de codigo, en q registro se almacena el desplazamiento y cuantos bits tie
Modo Protegido: EIP (32 bits) Modo Real: IP (16 bits) (no estoy seguro tampoco)

*cual es el algoritmo para traducir una direccion segmentada a fisica en modo real? Donde esta la entidad base de un segm
RSx16 + Desplazamiento (donde RS es la base que esta almacenada en el registro de segmento correspondiente, si no me
La entidad Base de un segmento presente en modo protegido está en los 32 bits de más peso del descriptor de segmento.

un proceso q se ejecuta en un sistema con mem virtual con segmetnos paginados


*que informacion brinda el descriptor de segmetno en su campo limite?
brinda el tamaño del segmento El campo límite en modo protegido indica el tamaño máximo del segmento.
En los Atributos del descriptor del segmento, esta el Bit de Granularidad. Si G = 0. Entonces los 20bits estan
G=0 - 2^20 = 1M * 1 byte = 1MB
G=1 - 2^20 = 1M * 4Kb = 4GB

*si en solo las tres primeras entradas de una tabla de directorio de paginas se cuenta con informacion valida (o referente a

05/12/12
1- Un chip RAM de 8k*8 se lee o se escribe un____Byte_______ (unidad de medida).
2- El direccionamiento de cache almacena en forma total o parcial los bits denominados ____etiquetas______que constitu
3- Al analizar los bloques funcionales de la MMU se observa claramente que la memoria se organiza obligato
4- Al igual que un número de coma flotante de precisión extendida, los 64 bits de orden inferior de un regist
Cuando un segmento esta paginado el campo limite expresa la cantidad de paginas que lo constituyen. V
64T (Tera) es igual a 64*K*K*K*K. V
Cuando se esta ejecutando una tarea concreta se activan se activan la GDT y la LDT de la tarea en curso ca
Cuando una memoria de 4G esta dividida en paginas de 4K, solo se necesitan 20 bits para identificar el num
La interrupción de tipo MNI esta asociado a un único vector de interrupciones. V

1) Dada la siguiente secuencia de instrucciones


3B45:0105 MOV AH 10
3B45:0106 ADD AH 0C

a- Calcular la dirección física de la segunda instrucción


(3B45 * 10) + 0106 = 3B556

b- Que tipo de direccionamiento tiene cada instrucción


Ambas instrucciones tienen direccionamiento inmediato

c- Que valor tendrá el registro AX al finalizar la segunda instrucción


AX= AH AL
1° AX= 10 00
2° AX= (10+0C) 00
Entonces AX= 1C00

2) Dados los siguientes campos de una instrucción

/___COP______/____MOD______/____DATA______/
24 bits
a- Si la cantidad de modos de direccionamiento distintos es 16 y se representan en el campo MOD ¿Cuántos
16= 2^4 = > 4bits
b- Si la cantidad de códigos de operación distintos es 2^8 y se representan en el campo COP ¿cuantos bits t
8 bits
c- A cuantas posiciones de memoria se puede acceder en modo directo con el campo DATA cuyo tamaño sur
Tiene 24 bits en total => 24-4-8= 12 bits del campo data
d- Si COP y MOD fueran un único campo de 16 bits, a cuantas direcciones se puede acceder con el campo D
24 – 16 =8 bits
2^8 = > puede acceder a256 direcciones distintas
e- Si esta en modo Directo Indique la ultima dirección de memoria a la que accede con la respuesta del ejer
Como son 8 bits la última dirección accedida es FF

12/12/2012
http://www.utnianos.com.ar/foro/tema*pedido*final*arquitecturas*12*12*12
http://www.utnianos.com.ar/foro/tema-pedido-final-arquitecturas-19-12-2012?page=2
*Cuando se devuelve el reconocimeinto a la peticiond e una interrupción INTR el program
*Cuando el tipo de excepción no permite restablecer el programa q la causo es de tipo __
*La pista de un disco se divide lógicamente en ____SECTORES_____ y las pistas de igual
*La zona exclusiva de memoria denominada q se reqiere en sisop multitasking se denomin

*Un segmento es un bloque lógico de tamaño fijo q para el procesador estudiado puede se
F, puede ser de 4 k 4m o cualiqer otro peso logico

*El calculo de la dirección efectiva de una instrucción involucra los regisro CS y el campo d
F, CS *10 + DESPLAZ

*Cuando se esta eejcutando una tarea concreta se activa la GDT y la LDT de la tarea en c
V son los registros de cada una

*Cuando una memoria de 4G esta dividida en paginas de 4 K se necesitan 22 bits para ide

*durante la ejecución de una transferencia de datos se puede producir un desbordamiento


F , overflow se produce en las instrucc aritmenticas, y no en las transf de datos.


1)0304
2)0753
3)0304 (lo transfiere desde la pila)


esta resuelto mas arriba es iguallllllllllllllllll

3/23/2011
1* El conjunto de 20 bits con los cuales se informa el tamaño en bytes de un segmento cuando el bit de gra
2*Se denomina ciclo de reloj a....? la frecuencia de funcionamiento del pentium
3*para una frecuencia de 1ghz es de _______
1 Mhz = 1 000 000 HZ
1 Ghz= 1 000 000 000 Hz
1hz es 1ciclo/s
1000000000 hz son x x= 1 000 000 000 ciclo/s

4*cuando 1 dispositivo de E/S requiere la atención del CPU, se envía una señal de solicitud que es atendida
5*que genera una interrupción clasificada como ______externa_______ (o mascarable tmb)
6*que se identifica con el nombre de señal ______INTR_____
7* la instrucción de salto incondicional produce modificación del valor del registro IP durante su ejecución? V
8*actualiza las banderas del registro? F
9*en memoria virtual, la unidad de segmentación de la MMU traduce a dirección:lineal
10* la dirección virtual generada x la CPU en tanto la unidad de paginación traduce aqueello a dirección: fís
notas
"Acepta solicitudes de interrupcion de los dispositivos conectados a él, determina qué interrupció
"en interrupciones externas, nombra NMI y INTR y dice que INTR es mascarable. así que es masc

Un salto es pasar de una instruccion a otra en otra dirección, por lo tanto IP pasa a apuntar a la n
Si es un salto o direccionamiento inmediato o implícito no accede a memoria. Y los saltos no alte

"Como veremos a continuación , cuando el 8259A recibe una señal IRQ, activa la señal INTR qu
procesador como un número de interrupción"

El periférico le envía IRQ al controlador y el controlador INTR al procesador.

un ciclo de reloj es la frecuencia del procesador. El ciclo de bus es el tiempo que la cpu utiliza par

2/29/2012
http://www.utnianos.com.ar/foro/tema-pedido-final-arquitecturas-29-02-12
1) Al conjunto de bits que se acceden por vez se lo denomina PALABRA DE MEMORIA
2) La caracteristicas de los buses con que medimos la cantidad de bits que se transmiten por unidad de tiem
3) Una aplicacion que precise enviar y recibir datos de un dispositivo de E/S utilizando DMA realizara operac
4)

V/F - justificar por Falso


1) la segmentacion paginada obliga a que ambas unidades de la MMU esten activas para el mapeo de direcc
2) el rango del exponente en formato de doble precision del IEEE es (-1023, +1024) - V
3) Una instruccion de llamada o retorno se clasifica como instruccion de salto o bifurcacion - V
4) una instruccion con formato 'mnemonico reg2, reg1' es una instruccion que no requiere acceso a memori
5) una cuadruple palabra es un tipo de dato de 64 bits - V

La practica no restaba
el 1° ejercicio te daban dos instrucciones Assembler y tenias que decir
a) direccion fisica de la 1° instruccion
b) modo de direccionamiento de las instrucciones
c) decir cual es el valor binario del acumulador al terminar de ejecutarse la segunda instruccion

el 2° ejercicio, te daban la representacion de los campos de una direccion fisica vista desde el controlador d
ETIQUETA - LINEA - 5 BITS
Y la cache tenia 64 lineas
Preguntaban
a) Cantidad de bits para identificar la linea
b) tamaño de la MP
c) tipo de correspondencia
d) Tamaño de la linea de cache
e) Tamaño del bloque en MP
2/15/2012
http://www.utnianos.com.ar/foro/tema-arquitectura-de-computadores-final-15-02-12
http://www.utnianos.com.ar/foro/tema-pedido-final-arquitecturas-de-computadoras-15-02-2012

1 * En ambos modos el Pentium puede direccionar hasta 4Gb de memoria. Justificar


2 * El itanium tiene la caracterisitca de ser compatible con IA*32 y tener como tecnología IA*64.
3 * Indique un registro de 32 bitsque ademas de su funcion principal se usa como contador
4 * Nombrar cuales y cuantos niveles de cache posee el Itanium
5 * Un dato tipo word se almacena en modo litle endian. En caso afirmativo justificar, en caso negativo indic
6 * indicar el rango SIGNADO que se puede obtener con 16 bits.
7 * Organizacion de memoria que se caracteriza por dividirla en tamaños variables
8 * Dado un segmento que tiene como direccion inicial 10 00 00 00 y posee 256 bytes indicar la base y limi
9 * Indique como es el esquema de un segmento en modo real y dar un ejemplo
10 * en base al ejemplo anterior obtener la direccion fisica
11 * Registro no visible que apunta a la base del IDT
12 * INTO genera una interrupcion por software. Justificar
13 * Indicar el rango de direcciones que se pueden obtener con una memoria de 4K*8
14 * Indique el nombre de la unidad que determina cuál será la siguiente instucción correspondiente a una d
15 * Indique SI/NO si existen hasta 6 registros que se utilizan para determinar el campo selector de una dir
caso negativo justifique. En caso afirmativo indique cuales.
16 * Con qué siglas se identifica la unidad de velocidad de giro de un disco?
17 * Cuál de los siguientes registros resultará modificado y con qué valor quedará al ejecutarse una instrucc
AX=BX=CX=DX=BP=SI=DI=0000, SP=FFEE

1. Falso. En modo Real puede direccionar 1Mb puesto que solo se le habilitan 20 lineas del bus de datos.
2. V
3. ECX
4.L1 L2 L3
5. Verdadero numerico es little endian , no numerico es big endian y ademas "si el dato es numérico y su ta
6.-2^15 ; 2^15-1
7.segmentos
8. Base: 10 00 00 00. Limite: 00100
9. XXXX:YYYY (Selector:Desplazamiento). Ej: AB55:0103
10. AB55*10 + 0103 = AB550+0103 = AB653
11. IDTR
12. Verdadero. INTO es una interrupcion interna que se encarga de verificar la bandera OF.
13. 4k x 1byte = 4k 000 FFF
14. unidad de prediccion de saltos
15. CS DS ES FS GS SS
16. RPM
17. AX 00FF
2/22/2012
tema 1

1 - Indique SI/NO si en ambos modos (real y protegido), el Pentium tiene una IDT de idéntica cantidad de e
2 - El itanium tiene la característica de ser compatible con la arquitectura…
3 - Indique cuál es el registro de 32 bits que, además de su función primaria, puede contener una dirección
4 – Cómo se denomina la arquitectura desarrollada para el procesador Itanium, que consta de quince unidad
5 – Responder Si/No un dato tipo byte se almacena en modo Little Endian.
6 - indicar el rango SIGNADO que se puede obtener con 16 bits.
7 - Indique cual es la organización de memoria que divide el espacio de memoria en bloques de longitud fija
8 - Dado un segmento que tiene como dirección inicial AB 00 00 00 y posee 1024 bytes indicar la base y lim
9 - Indique como es el esquema de un segmento en modo real y dar un ejemplo
10 - en base al ejemplo anterior obtener la dirección física
11 - Registro no visible que apunta a la base del IDT
12 - Indique SI/NO si una interrupción puede provocarse mediante el software. En caso negativo justifique.
13 - Indicar el rango de direcciones que se pueden obtener con una memoria de 2K*8
14 - Indique el nombre de la unidad que determina cuál será la siguiente instrucción correspondiente a una
15 - Indique SI/NO si existen hasta 6 registros que se utilizan para determinar el campo selector de una dir
16 - Con qué siglas se identifica la unidad de velocidad de giro de un disco?
17 - Cuál de los siguientes registros resultará modificado y con qué valor quedará al ejecutarse una instrucc
AX=BX=CX=DX=BP=SI=DI=0000, SP=FFEE

1- Si 256
2- IA-32
3- EBX
4- EPIC
5- NO
6- [-32767;32768]
7- Paginacion
8- BASE= AB 00 00 00 LIMITE= 004 00
9- XXXX:YYYY (DIRECCIÓN:DESPLAZAMIENTO) Ej: 0123:04F3
10- 01723
11- IDTR
12- Si, INT# e INTO (Verifica el flag OF)
13- 000 - 7FF
14- Unidad de Predicción de Saltos
15- Si, SS - CS - DS - ES - FS - GS
16- RPM = Revoluciones por minuto
17- AX= FF00
TEMA2
http://www.utnianos.com.ar/foro/tema-aporte-arquitectura-de-computadoras-tema-2-final-22-02-2012

1) Si el tamaño del espacio virtual es de 64 TB, ¿cuántos bits constituyen la dirección virtual?
2) Tipo de excepción que no permite reestablecer el programa o tarea que la causó.
3) Indique si es cierto que en el repertorio de instrucciones EPIC de Itanium cada unidad de ejecución const
4) En qué 2 criterios se apoya el éxito de una búsqueda a una memoria caché.
5) Indique si en el subsistema caché existe un componente encargado de gobernar las transferencias en cac
6) Indique cuál es el registro de 32 bits que, además de su función primaria como registro de cálculo, puede
7) Indique si es verdad que existen 2 registros que se utilizan para determinar el campo Desplazamiento de
8) Indique si es verdad que si un dato es alfanumérico se almacena en Little Endian. Si es afirmativo, indiqu
9) Indique CON SIGLAS los 3 campos en los que sedivide el SELECTOR de una dirección virtual.
10) Qué rango de números NO SIGNADOS se pueden representar con 16 bits, expréselo SOLO en decimal.
11) Indique el rango de direcciones (expresado en DECIMAL) para acceder a una memoria de 4K x 8.
12) En un sistema de cabeza movil, ¿cómo se denomina al tiempo necesario para desplazar el brazo del disc
13) Si en memoria se observa la siguiente cadena hexadecimal correspondiente a un vector de interrupción:
14) Si se ejecuta una instrucción INC AL, ¿cuál de estos registros se modificará y con qué valor quedará?
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
15) Realice la siguiente suma hexadecimal: A4E0 + BB3A.
16) El registro invicible GDRT tiene un tamaño de 46 nits. ¿A qué tabla apunta y qué campos lo constituyen?
17) ¿Cómo se detecta que una página está ausente en la RAM y que se debe solicitar subúsqueda en memo

1. 64* 2^40 (se sabe que a la cuarenta es TB, entonces todo ese resultado se le aplica logaritmo y se lo di
2. aborto
3.V La arquitectura IA-64 soporta un nuevo modelo de Repertorio de Instrucciones basado en la tecnología
Las tres instrucciones EPIC del paquete utilizan 123 bits (41 para cada una)...
4. Vencidad Espacial y Temporal
5- Estimo que es la CPU, o el controlador de Cache pero no hay nada de esto claro en el libro.
6- EDX.
7- Falso. El campo dezplazamiento sumado a la base del segmento nos indica una direccion a acceder.
8- Falso Big Endian ….un codigo alfanumerico es una cadena y en las cadenas se utiliza big endian
9- Indice, TI, RPL (en angulo)
10- [0,65535]
11- La memoria es de 4kb por ende representa 2^12=4096 = [0;4095]
12- Tiempo de Busqueda
13- AABBCCDD -----> DDCCBBAA
14- AX=0001
15- 1601A
16- Correcccion en Angulo el registro GDTR apunta a la tabla GDT, pero su tamaño es de 48 bits y los camp
17- Con el Bit de Presencia (P), Cuando se encuentra en 0 se produce una excepcion, que activa una rutina

16-Dec-09
*¿Que bandera se utiliza para habilitar las interrupciones internas?
Ninguna son interrupciones internas
*que tipo de error comprueba la instrucción intO?
Error por oeverflow
*estoy en lo cierto si digo que LRU es el algoritmo de sustitución mediante el cual se elimi
LRU elimina la lina menos recientemente accedida/Random elimina arbitrariamente
*cual es el efecto de la ejecución de la instrucción ROR AX ,1?
Rotación a derecha de un 1 bit
*es significativa la información del campo base de un descriptor de segmento si su bit de
No porque si P=0 indica que no esta en memoria,si esta ausente se desconoce la base.
*estoy en lo cierto si digo que el bit de granuladidad indica que la pagina esta segmentada
No, indica que el segmento esta paginado.
*cuales son los registros de uso del programador de aplicaciones que contienen la base de
Los registros de segmento SS CS DS ES FS GS
*existe alguna forma de identificar un código de operación no valido?
Si, se trata de una excepción produce una excepción.
03 03 2010
http://www.utnianos.com.ar/foro/tema*arquitectura*de*computadoras*aporte*final*03*03*2010
Tema1
*se denomina algoritmo de sustitución en una memoria cache a una política de escritura principal
F, algoritmo de sustitucion en una MC son los algoritmos para actualizar la cache con datos

*La trampa es una excepción en la que no se sabe la localicacion excata que la genero
F, ese el aborto

*se debe considerar que la paginación por demanda admite la segmentación de una pagina razón por la cual la MMU cuen
F, La MMU cuenta con la unidad de Paginación y la de Segmentación, pero cuando está habilitada la Paginación se hace la

*Nivel de privilegio de la E/S (IOPL) es un atributo del descriptor de segmento


F, Los atributos que tiene el Descriptor de Segmento son: Bit de Presencia, Nivel de Privilegio, Clase de Segmento, Tipo, Acc

*el direccionamiento directo de registro no involucra acceso a memoria


V , no involucra acceso a memoria.

*El bit de granularidad indica si el campo limite debe ser intepretado en unidades de byte o de paginas
V
Si G = 0 es en bytes, Si G = 1 es en páginas.  

*Robo de ciclo significa que el procesador roba un ciclo de acceso a memoria para la transferencia via dma
F, La DMA es quién le roba el ciclo.
"debe forzar al procesador a que suspenda temporamente su funcionameinto. Esta última técnica es la más comúin y se de

*la interfaz de arbitraje de un bus controla los ciclos de bus que permiten el acceso a memoria y a la E/S
V
"Es responable de asignar tiempos en el bus" en Stallings. Página 73.  
En Angulo aparece como "controlador" en vez de "arbitraje" en la página 301..

*La fpu puede operar con tipo de datos BCD


V
El Coprocesador Matemático (FPU) almacena la información en un formato único, coma flotante y precisión extendida con

TEMA2
*La fpu opera con tipo de dato entero
V

*en un modelo no segmentado la decodificación del código de operación es previa al calculo de la dirección efectiva del op

Falso. Todos los modelos son segmentados, pueden ser paginados o no.  
Si no dijese "modelo no segmentado" la decodificación del código de operación es previa al cálculo de la dirección del ope

*en predicción de saltos una técnica se denomina tabla histórica de datos


V "Tabla de historia de saltos".

*una memoria cache es mas veloz que una memoria dram debido a su tecnología
V

*en una estructura de bus la línea de control reloj se utiliza para sincronizar las operaciones
V
Verdadero.
"Reloj (Clock): se utiliza para sincronizar las operaciones". Página 69 de Stallings.
En Angulo no hay nada de esto. Menos mal que hay que leer de Angulo nada más.

*Se denomina algoritmo de sustitución en una memoria cache a una política de escritura en memoria principal
F

*la trampa es una excepción en al que no se sabe la localizacion exacta que la genero
F, es un aborto
*se debe considerar que la paginación por demanda admite la segmentación de una pagina razón por la cual la mmu cuen
F

*nivel de privilegio de la E/S (IOPL) es una atributo del descriptor de segmento


F

PRACTICO
*El primero es papona y el de assembler hay que restar

*SUB AX FFFF
0-FFFF
0 + A2(FFFF)
Al hacer el complemento A2 queda
0000 0000 0000 0001
0000000000000001(2)=0001(16)

*el practico de cache esta bueno es facil, si llego lo resuelvo explicandolo


2/24/2010
TEMA 1

1_ se completa en primer lugar la línea de cache que contiene el byte requerido por el pro
El dato pedido va en ultimo lugar
Formas de actualizar la cache. LRU FIFO RANDOM
“Hay dos opciones para actualizar las líneas:
o   El dato pedido va en primer lugar: se conoces con el nombre de lectura o carga directa. Consiste e
o   El dato pedido va en último lugar: el procesado debe esperar que se termine de cargar la línea pa

2_metodo adoptado para actualizar cache asociativas
Algoritmo de sustitución
3_conjunto de registros de la cpu utilizados para funciones como las de administración de
Modelo para programador de sistemas
4_registros de 32 bits que actua como indicadores o señales de control de determinadas f
Registro EFLAGS
5_caso en que el operando se encuentra directamente incorporado en la instrucción
Dirección inmediata
6_ dispositivo de memorai ultrarrápida que guarda la dirección lineal y la dirección física d
TLB
7_la estructura de datos que contienen las referencias para acceso a memoria cuadno se u
Tabla de descriptores de segmento
8_dispositivo que recibe la o las peticiones de interrupción de los periféricos conectados y
Controlador de interrupciones
9_proceso para determinar a cual de los controladores de bus que solicitan acceso se lo p
Arbitraje de bus

TEMA 2
*Estructura de datos usada en ocaciones para guardar el contenido de los registros de cpu
Pila o stack

*Método para actualizar la memoria desde cache por cada vez q se escribe en ella
Escritura inmediata

*Conjunto de registros de cpu usados para contener la entidad base en una dirección segm
Registros de segmento

*Registro de 32 bits que actua como puntero de instrucción


EIP

*Caso en que la referencia a memoria del operando se encuentra directamente en la instr


Direccionamiento directo

*Cual es la ultima dirección accesible en un segmento virtual determinada por el campo li


FFFFF

*Señal de solicitud de pedido de atención por parte de un dispositivo externo a la cpu


IRQ

*Que es una doble falta


Es una excepción o aborto que es una clase de excepcion

12/1/2010
*El BP mantiene el criterio lifo de la pila , lo usan las instrucciones push y pop
F ,ES EL SP
Es aconsejable copiar el SP al BP y luego para direccionar usar el BP más un desplazamiento. De ésta mane
"Es aconsejable utilizar el BP(puntero base) para acceder a datos en la pila. Por ejemplo si se quiere armar

Es decir, el BP se usa para acceder a la pila, pero no con PUSH y POP, sino que si por ejemplo necesitas usa
MOV BP,SP;
ADD AX,[BP+1];

De esa forma pudiste sumarle a AX un dato que estaba en la pila (en este caso el anteúltimo que estaba en

*Un segment fault es una excepción detectada por la unidad de segmentación de la MMU
V
*El bit de granularidad indica si en el segmento la información fue actualziada o no
F, ese es el A.. el bit de G indica si el segmento esta paginado
*Los registros de segmetno son registros de uso del programador de aplicaciones
V CS DS SS ES FS GS
*En una operación de punto flotante en una suma no es necesario asegurar q ambos oper
F Falta aclarar, que, para sumar dos operandos, se debe tener en cuenta el alineamiento del punto, esto es
*En una entrada salida el dma se reqiere en modulo en modulo adicional en el bus del sist
V"El DMA requiere un módulo adicional en el bus del sistema"
*Robo de ciclo significa que el controlador de memoria roba un ciclo de maquina al proces
F, el dma roba un ciclo

8) se denomina latencia a
1 tiempo q tarad el sector en pasar debajo de la cabeza
2 tiempo q tarad en poss en un cilindro el brazo del disco
3 tiempo q tarda en poss en una la cabeza en una pista
4 ninguna
LA PRIMERA
9En modo real o de 16 bits la base del segmento se obtiene de
1 una tabla de vectores de interrupción
2 una tabla de verdad
3 una tabla de descriptores de segmento alojada en la TLB
4 nignuna
NINGUNA

17-Feb-10
*Al recuperar el entorno de cpu se ha ejecutado la siguiente secuencia de instrucciones PO
Push reg3
Push reg2
Push reg1
*a q denominamos modelo de maqina para el programador de aplicaciones como esta con
Registros de propósito general (EAX; ECX etc)
Registro de puntero de instrucción
Registro de señaladores eflags
Registro de segmetno
Registro de FPU
*tipo de memorias de altas restaciones caracterizadas porq entregan informa
D-RAM con sincronismo doble
*denominacion dada al hueco de represnetacion entre dos valores reales representables en punto flotante y
Underflow
*conjunto de técnicas que permiten utilizar un conjunto de discos de menor capacidad en lugar de un único
RAID
*denominaciones dadas los terminales que dispone el procesador para la recepción de peticiones de interrup
INTR (Interrupcion mascarable) y NMI (interrupción no mascarable)
*es necesario resguardar el valor actual del de instrucción al ejecutar una instrucción de salto condicional po
No, porque no es necesario regresar al lugar donde se produjo el salto, eso sólo se hace en las llamadas a s
*mecanismo que permite acelerar la ejecución del programa mediante la estrategia de dividir el ciclo de inst
dividir el cause en etapas es Segmentación

*tipo de correspondencia utilizada en un sistema de memoria cache donde cada bloque de memoria principa
Asociativa de n vías
*tipo de excepción que surge cuando el procesador detecta anomalías como el intento de transferencia de la
Excepción por proteccion

Final 01/12/10
*El BP mantiene el criterio LIFO de la pila lo usan las instrucciones push y pop.
F. es el SP

*Un segment fault es una excepción detectada por la unidad de segmentación de la MMU
V
*El bit de granularidad indica si en el segmento la información fue actualizada
F indica si el segmento esta paginado. El bit que indica si la info fue actualizada es el A

*Los registros de segmento son registros de uso del programador de aplicaciones


V

*En una operación de punto flotante en una suma no es necesario asegurar que ambos op
F falta aclarar que para sumar dos operandos se debe tener en cuenta el alineamiento del

*En una E/S el dma se reqiere en modulo adicional en el bus del sistema
V

*robo de ciclo significa que el controlador de memoria roba un ciclo de maqina al procesad
"Esta última técnica es la más común y se denomina robo de ciclo, puesto que, en efecto, el módulo DMA ro
DMA por robo de ciclo: se basa en usar uno o más ciclos de CPU por cada instrucción que se ejecuta
*Se denomina tiempo o periodo de latencia a:
*Tiempo que tarda el sector en pasar debajo de la cabeza lecto grabadora
*Tiempo que tarda en posicionarse en un cilindro el brazo del disco
*Tiempo que tarda en posicionarse en una cabeza lectograbadora en una pista
*Ninguna

La correcta es la 1era.

En modo real o modo de 16 bits la base del segmento se obtiene de:


Una tabla de vectores de interrupción
Una tabla de verdad
Una tabla de descriptores de segmento alojada en la TLB
Ninguna

La respuesta es ninguna porque "Para conseguir el valor de la base se multiplica por 16 el valor del re

2011 03 16 (unico final para practicar tie


NOTAS
*Tiempo de búsqueda (seek time) es el tiempo que tarda en buscar la pista, en posicionarse en la pista.
*Retardo rotacional : tiempo que tarda el sector en alcanzar la cabeza

Tiempo de búsqueda:
Periodo que tarda el brazo en mover las cabezas lectrograbadoras entre las pistas en milisegundos (1ms = 0.00
Se computan considerando el tiempo de posicionamiento entre pistas adyacentes, el tiempo de posicionamient
un pedido de posición aleatoria.
Tiempo de cambio de cabezas o de switch:
El brazo mueve todas las cabezas lectograbadoras sobre los platos de una forma sincrónica, solo una de las ca
Mide el periodo medio que le lleva a la unidad de disco cambiar entre dos de las cabezas cuando esta leyendo
Latencia Rotacional:
La cabeza lectograbadora se posiciona sobre la pista adecuada, debe esperar que la unidad de disco fire el pla
El disco necesita en promedio, girar solo media vuelta antes de que el próximo sector para leer o escribir este d
Tiempo de acceso a los datos:
Es una medida de lo que se tar4da en posicionar una cabeza lecto/grabadora sobre una pista particular y encon
El tiempo de acceso es una combinación del tiempo de búsqueda, el tiempo de cambio de cabezas y la latencia
El buffer cache de una unidad de disco se usa tanto en las transferencias de datos del disco al host (lectura) co
La lectura de estos datos adicionales no pedidos se llama pre búsqueda o cache look ahead.

Me quedo con la definición de angulo y mis notas:


*Latencia rotacional = 1/ RPS rev por seg RPS es tiempo de giro. (ojo que siempre piden la latencia rotaciona
*Tiempo de lectura de un sector =
(BytesPorSector x 1000)/RPS x (BytesPorSector x sectores)
*TB= k x pistasAtravesadas + t.inicial (CASI SIEMPRE ES DATO)
*Tiempo total de transferencia de un sector leído
O Tiempo de acceso =
Latencia rotacional en segundos+tiempo d electura de un sector o t.transf+t.b

NOTA: si piden en vez de tiempo de lectura de un sector, tiempo de lectura de una pista entonces en BytesPorS

TEMA1
1) en un disco de cabeza móvil el tiempo de búsqueda medio:
a.   Es el tiempo necesario para desplazar el brazo del disco hacia la pista r
b.   Es el tiempo necesario para leer 512 bytes
c.   Es parte del calculo del tiempo de acceso
d.   Ninguna
A y C correctas

2) como se calcula el numero de bytes de disco de pistas de igual capacidad?


cualqi….
3) como se calcula la latencia rotacional?
La latencia rotacional es el tiempo que tarda en dar 1 vuelta básicamente. Si pide la media lo dividis por dos. La
Donde 1000 es para pasarlo a ms dado que el 60 lo deja en segundos al RPM.
4) como se calcula el tiempo de acceso?
TIEMPO DE BUSQUEDA (si existe)+ RETARDO ROTACIONAL+t.transf o t de lectura de aaaaa
5) como se denomina la señal que habilita la selección de una fila en una memoria dinámica?
Existen 2 señales las cuales habilitan la selección de una fila o columna, las cuales son: RAS y CAS, respectiva
6) cuantos mb hay en una matriz de memoria organizada como 1mb *8
1 mb porque es 8 bits que es 1byte.
7) si una cache utiliza un criterio de escritura inmediata cuando se debe actualizar un bloq
Cada vez que la cpu modifica la cache.
8) en un descriptor de segmento el bit de granularidad indica si el segmento esta dividido
V
9)cual es la relación entre frecuencia y tiempo?
Frecuencia es el numero de ciclos completos que da 1 señal en 1 segundo.
Mientras que el tiempo que tarda la señal en completar un ciclo se denomina periodo
1 hz = 1/s , la frecuencia se mide en hz y el tiempo en s
PRACTICO
Considere un disco de:
Tiempo de búsqueda 6ms, velocidad de rotación 15000rpm
Sectores por pista 500 y cantidad de bytes por sector es de 512.
a. Cual es el tiempo de giro expresado en seg?
b. Cual es el tiempo considerado latencia rotacional expresado en 10^*3 seg?
c. Cual es el tiempo de lectura de un sector expresado en 10^*3seg ¿?
d. Cual es el tiempo total de la transferencia de un sector leida?

a) 15 000 / 60 = 250 revoluciones por segundo


b) latencia rotacional= 60*1000/15000=4ms
lo pide en 10^*3 seg … o sea 0,001 seg… aca lo expresó en ms porqué multiplicó por mil
60/15000=0.004 seg o 4*10^*3
c) (512 * 1000) / 500*512 *RPS
d) sumar c+LS+6ms que es tb.

2008 05 28
1.                   Estructura de dato utilizada, en ocasiones, para resguardar el contenido de los registros de CPU 
·         Pila o Stack

2.                   Método que actualiza la memoria desde cache por cada vez que se escribe en ella.
·         Write through o escritura inmediata

3.                    Conjunto de registros de la CPU utilizados para contener la entidad “base” en una dirección segmentada
·         Registros de segmento

4.                   Registro de 32 bits  que actúa como puntero de instrucción
·         Registro EIP

5.                   Caso en que la referencia a memoria del  operando se encuentra directamente en la instrucción 
·         MODO DIRECTO

6.                   memoria de poca capacidad que específicamente guarda la dirección lineal y la dirección física de las última
·         TLB 
7.                   ¿Cuál es la última dirección accesible en un segmento virtual determinada por el campo límite de su descript
·         FFFFF

8.                   Señal de solicitud de pedido de atención por parte de un dispositivo externo a la CPU
·         IRQ

9.                   ¿Que es una doble falta?
·         Pueden poner excepción o aborto, que es una clase de excepción

Sabiendo que una CPU genera una dirección de 33 bits que permiten acceder a la memoria principal 

·         Cuál es el tamaño potencial de la memoria principal (8 Giga)

·         Si a la memoria DRAM se le habilitan 4 Giga ¿Cuántos bits son significativos para direccionarla (32 bits)

·         Si el total de los 4 Giga están distribuidos en dos placas de 8 chips cada  una como esta armada la matriz de mX8 

Un proceso que se ejecuta en un sistema con memoria virtual puramente segmentada  tiene un primer segmento de código d
·        ¿Cuanto vale el campo el campo P de presencia cuando el programa está ejecutando la tercera instrucción? Bit de prese
·        ¿Que valor de la entidad “selector” de la dirección virtual permite acceder al segmento? Actua cómo indice de la LDT 
·        ¿Que valor tiene el bit de Granularidad?  Desactivado en 0
·        Si la base alojada en su descriptor y  expresada en hexadecimal es 32 42 70 00. ¿Cuál es la dirección fisica que cor

Para la línea de código presentada a continuación 

AB55:0103 mov AH,[0333]
·         Si la siguiente instrucción a la descripta se aloja en la dirección fisica AB656 Cual es el tamaño de la instrucción y

25/07/2012 este ya esta pu


1 Indique si es cierto que en modo real el Pentium tiene acceso a memoria RAM de solo 1 Giga. En caso afirmativo justifique e indique 
NO. SE ACCEDE SOLO A 1 MEGA y la direccion segmentada esta constituida por la base del segmento y el desplazamiento o
2 Indique si es verdad que un cuando un segmento no se haya presente en memoria RAM y si lo esta en memoria virtual, se provoca una
SI / la instrucción es de tipo excepcion clasificada como falta / segment fault pag 267. cap 14
3 Indique a que numero decimal se asigna el numero – 0 (cero negativo) en un formatos de coma fija de 8 bits.
-128
4  indique la denominación de las memorias que constituyen un subsistema cache considerando el tipo de información que almacenan. 
Memoria de etiquetas o labels y memoria de datos.
5 Indique la cantidad de bits del campo desplazamiento en una direccion virtual si considera que el potencial espacio de direcciones es d
32 bits
6 Indique cuál es el registro de 32 bits que permite el acceso LIFO a la pila.
ESP pag 159 cap 7
7 Indique si es verdad que existen hasta 6 registros que se utilizan para determinar el campo selector de una dirección virtual. Si es nega
SI / LOS REGISTROS DE SEGMENTOS o pueden contestar……
SI / CS,DS,ES,SS,FS,GS pag 165 cap 7
8 Indique con si o con no, si es verdad que un dato numérico de tipo DOBLE WORD se almacena en RAM según la tecnica BIG endian
NO, los datos numericos se almacen en little endian.
9 Indique la organización de memoria que divide el espacio de memoria en bloques de tamanio fijo. 
PAGINACION pag 177 cap 8
10.Indique el PRIMER NUMERO POSITIVO que como resultado de una operación de números signados generaria overflow en un form
32768
11 Indique el rango de direcciones (expresado en hexadecimal) para acceder a una memoria de
4 K X 8.
000 – FFF
¿Que banderas se actualizan luego de la ejecución de una instrucción de suma? 
S, Z, V, C, A
13 Si se quiere acceder a una instrucción en el segmento de codigo ¿Cuáles de los registros indicados abajo se utilizan para el calculo de
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
DS=1516  ES=1516  SS=1516  CS=1516  IP=0100  
CS e IP
14 Si se ejecuta una instrucción INC AX ¿Cuál de éstos registros de modificará y con qué valor quedará?
AX=0000  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
Se modifica AX con 0001
15 Referido a instrucción de salto incondicional ¿que registro se modifica a causa de su ejecución?. 
IP o EIP
16 En el Pentium ¿Que unidad se encarga del cálculo de operandos BCD?
FPU
17 ¿Cómo se denomina el registro invisible que apunta a la LDT en modo protegido?
LDTR

Explicacion de ejercicios de memoria cache


Nota se denomina a Word a la palabra también se le dice “byte”.
*Totalmente asociativa
La dirección viene dada por etiqueta y palabra
El tamaño de la memoria cache es palabra*línea
El tamaño de la memoria principal es etiqueta*palabra… el tamaño de la dirección seria.
*Asociativa de 1 via o correspondencia directa
La dirección viene dada por etiqueta línea palabra
El tamaño de la ache es línea*palabra * 1via
El tamaño de la MP es e*L*w
*Asociativa de n vias
La dirección viene dada por etiqueta línea palabra
El tamaño de la cache es línea*palabra * n vias
El tamaño de la MP es e*L*w

EJEMPLOS
Ejemplo1)
Sabiendo que la CPU genera una dirección de 30 bits que permite acceder a la memoria principal y a la cach
Considerando que el campo de bloque es B=5 bits y que la cache posee dos vias de 1024 lineas. Se pide:

a) ¿Cuál es el tamaño de la memoria principal?


b) ¿Cuál es el tamaño de bloque de cada linea de la cache?
c) ¿Cuál es el tamaño de la memoria cache?
d) ¿Cuáles son los valores del campo de etiqueta E= bits y del campo linea L= bits?

a)2^30 bytes.
b) 2^5 bytes
c) 2^5 * 2^10 * 2 bytes
d)2^5 bytes es el Word
2^10 bytes es la linea
Y lo que resta hasta llegar a 30 (15) es etiqueta o sea 2^15

NOTA
el bloque no tiene nada que ver con la mem. principal. Bloque es parte de la estructura de la memoria cache
(Tenes la otra arquitectura de memoria, que solo tiene ETIQUETA y LINEA, que se llama totalmente asociati

ejemplo2)
Si se presenta una MP de 1 mega con cache de 32 k organizada con 16 posiciones (bytes) por linea con corr

. Determine tamaño de:


* Etiqueta
* Linea
* Word
1MB = 2^20
MC = 2^15 = 32*1024
Como tamaño cache= línea*words
Línea*16=32768
Línea =2kb=2^11
Y hay que llegar a 20 bits en la dirección asi que
2^11 de línea
2^4 de Word
2^5 de etiqueta
Además 1MB/32K =32… que es 2^5 etiqueta.

ETIQUETA LINEA POSICION


5 bits 11 bits 4bits

ejemplo3)
ejemplo4)

Ejercicios de conversión etc


n es bit
N es byte
2^n = N

1byte=8bits
Word=2bytes = 16bits
Doublé Word =4 bytes=32bits
Double*words are 32*bit (four byte) unsigned integers with a range of 0 to 4,294,967,295 ( 0 to 2

Ejercicio 1)
Si un operando esta definido como tipo DOUBLE WORD
a)      Exprese su tamaño en bits
b)      ¿Cuál es el rango de números binarios enteros sin signos que permite representar?
c)       ¿Cuál es el rango de números binarios enteros con signos que permite representar?
a)32bits
b)
[0, 2^32 *1]
Vamos a ver este ejemplo con un numero mas chico para poder verificarlo:
si tengo por ejemplo 4 bits
[0000 – 1111] es mi rango, yo puedo hacer cualquier numero entre el [0000 y el 1111] y
Entonces hago 10000 que es un numero más que el 1111 .. es el SIGUIENTE a 1111.(Qu

paso a
1111 (que es el MAXIMO anterior )
y me da quince(2^4=16*1=15) y efectivamente se verifica porque
1x 2^0
1x 2^1
1x 2^2 +
1x 2^3
*********
15

c) [*2^(31); +2^(31) – 1]

otro)
con 16 bits se pueden representar:
[*2^15 ; 2^15*1]

Otro)Representar el número +14,6 (10) en representación de punto flotante de precisión simple.


+14,6 (10) , lo pasas a binario...

14/2 = 7 /2 = 1/2 =
resto: 0 = 1 = 1

te queda 110(2)

ahora falta la parte fracional

0,6 x 2 = 1,2
0,2 x 2 = 0,4
0,4 x 2 = 0,8
0,8 x 2 = 1,6
0,6 x 2 = 1,2
0,2 x 2 = 0,4

como nos damos cuenta es periodico.


entonces te quedaría

1,10100110 x 10^2 ( corri dos lugares la coma)

como es simple precision y calculo que debe ser el modelo standar 127.

es 127 + 2 = 129.

entonces queda lo siguiente

0 * 10000001 * 10100110101001101010011

0 porque es positivo 1 bit


10000001 = 129 8 bits
y el resto porque es periodico se repiet hasta ocupar los 23 bits de la simple precision

Nota unidades
rpm = revoluciones por minuto
rps = revoluciones por segundo
RPS = rotational positional sensing (152 Stallings)
Hz = 1 ciclo cada segundo = 1/segundo
MHz = 1 millón de ciclos cada segundo = 10^6/segundo
GHz = mil millones de ciclos cada segundo = 10^9/segundo

NOTA DE DIRECCIONAMIENTO
*Si tiene el número(llamalo "operando" si tenés que explicarlo en el final) en la instrucción, por ejemplo ADD
*Si tiene la dirección, por ejemplo ADD BX,[1053] es directo o absoluto.
*Si el operando está incluido en el código de operación, por ejemplo INC BX (INC es que le suma 1) es impl

Si son dos registros, ej ADD BX,DX es por registro.


Si te pone la dirección de una dirección, es indirecto, ejemplo mover reg,((0200)), accede a la dirección ind
Si utiliza un registro índice (SI o DI) es indexado.

ejercicio copado de assembler


EJERCICIO ASSEMBLER
AX 0000 BX 0000 CX 0000 DX 0000 SP FFEE BP 0000 SI 0000 DI 0000
DS 1344 CS 1344 ES 1344 IP 0100

1)Teniendo en cuenta el valor de estos registros, calcular la direccion fisica a la que se accederia mediante l

POP ECX

MOV AX, [BP]

2)Cual es el tamaño maximo de un segmento si el registro que se debe considerar como desplazamiento en
1. POP ECX
SS *10 + SP + 1
DS*10 + BP
Explicación:
POP ECX
Según Quiroga, página 195, el Stack Pointer apunta al próximo lugar vacío de la pila, es decir, si uno quiere

SSx16 + SP + 1= 1344*10+ FFEE + 1 = 13440 + FFEE = 2342E

MOV AX, [BP]

Esta instrucción lo que hace es ir a la dirección contenida en el registro que está entre corchetes y fijarse qu

1344(hexadecimal)*10(hexadecimal)+ 0000(hexadecimal) = 13440

MEGA EXPLICACION ASSEMBLER


Cuál es el tamaño maximo de un segmento si el registro que se debe considerar como desplazamiento en la

Si vos tenés un segmento de supongamos, 100bytes, tu desplazamiento va a ir de 0 bytes(comienzo del pri


Acá te dicen que el desplazamiento está dado por IP, te dicen que su valor es 0100, eso es en hexadecimal
de desplazamiento, ese es el tamaño del segmento,

A qué lugar fisico de ese segmento se esta direccionando actualmente?

IP es el Instruction Pointer, te indica el desplazamiento sobre CS, Code segment

Para calcular la dirección hacemos como antes:

CSx16+IP = 1344*10 + 0100 = 13540


Te pongo un poco de info sobre los registros a ver si queda más claro(Cualquier contradicción con la teoría e

Registros de cálculo(así los llaman en los finales, muchas veces te dicen "considere que los registros de c
Los nombres que se les pone se refieren a para qué se usan generalmente, pero uno los puede usar como q
AX: acumulador
BX: Base
CX: Contador
DX: Datos, dirección de datos.

Registros Índices: Se usan para moverse en un vector.


SI: se autoincrementa solo.
DI: se autodecrementa solo.

Por ejemplo, lo que se hace es guardarse en BX el lugar donde empieza tu vector, por ejemplo 0000 (base

DS 1344 SI 0000

MOV AX, 0000; Pongo en 0 AX


ADD AX, [BX+SI]; Le sumo a AX lo que está en la dirección DSx16 + BX + SI= 13440 + 0000 + 0000 = 1
ADD AX, [BX+SI]; Le sumo a AX lo que está en la dirección DSx16 + BX + SI= 13440 + 0000 + 0001= 1
ADD AX, [BX+SI]; Le sumo a AX lo que está en la dirección DSx16 + BX + SI= 13440 + 0000 + 0002 = 1
ADD AX, [BX+SI]; Le sumo a AX lo que está en la dirección DSx16 + BX + SI= 13440 + 0000 + 0003 = 1

Otro caso: Si los elementos de tu vector ocupan n bytes, tendrías que ir sumando de n bytes en vez de a un
ADD AX, [BX + SI*n]

Registros Punteros:

IP: Puntero de instrucciones.


SP: Puntero de pila, apunta al próximo lugar a llenar de la pila.
BP: Puntero base de pila, se lo usa para apuntar a la base de la pila o a veces cuando se quieren usar eleme

Registros de Segmentos
Te indican en qué dirección empieza el segmento.

DS: segmento de datos.


SS: segmento de pila.
CS : segmento de código
ES, FS y GS: segmentos extra (para que el programador los use cuando necesita más)

Cálculo de direcciones:

Forma de expresar dirección: base:desplazamiento


Se calcula: basex16 + desplazamiento

Nota: 16 decimal es 10 en hexadecimal, así que multiplicar por 16 la base es lo mismo que agreg
Lugar vacío de la pila: SS:SP = SSx16 + SP
Último elemento de la pila: SS:SP+1 = SSx16+SP+1

Nota: cuando hagas algún cálculo con SP, decí que apunta al próximo lugar vacío de la pila, porqu

Dirección de la próxima instrucción a leer: CS:IP =CSx16+IP

Dirección de una instrucción (ejemplo):

0100 MOV AX, 0000

Su dirección es: CS:0100 = CSx16 + 0100

Dirección de un dato(ejemplo):

MOV AX,[BX]; la dirección es DSx16+BX


MOV AX,[DS:BX]; la dirección es DSx16+BX
MOV AX,[ES:BX]; la dirección es ESx16+BX

A esto se le llama direccionamiento relativo a una base.

MAS DE ASSEMBLER
ROL AX,1 rota los bits de AX una vez hacia la izquierda.
ROR AX,1 rota los bits de AX una vez hacia la derecha.
SAL AX,1 desplazamiento del tipo aritmético de los bits de AX una vez hacia la izquierda.
SAR AX,1 desplazamiento del tipo aritmético de los bits de AX una vez hacia la derecha.

NOTA CACHE
En totalmente asociativa, estoy absolutamente seguro, que usa el LRU.
Correspondencia directa o de 1 vía NO USA algoritmo de reemplazo
asociativa n vias y cualquiera de ellos.
ejercicio assembler

1)INC DH a DH le asigna 01 o sea DX= 0100 puesto que DX esta compuesto por DHDL ------->Además, el puntero IP
2)a)8A3E
b)BF01
c)1B550+0100 = 1B605
d) little endian

ejercicio del orto de punto flotante de precision simple

primero)
La siguiente cadena hexadecimal corresponde a un punto flotante de 32 bits y se muestra en
convenio littleendian
indicar a que numero decimal corresponde 00 00 40 3F
Respuesta:
Littleendian:
El byte de menos peso se almacena en la direccion mas baja de memoria
Bigendian:
El byte de mas peso se almacena en la direccion mas baja de memoria
Basicamente si el enunciando dice little enndian tenes que dar vuelta el numero, en este caso
3F 40 00 00 , y si dice big endian se deja como esta.
Luego se pasa a binario, 3F 40 00 00(16)= 00111111010000000000000000000000(2)
0 01111110 10000000000000000000000 1 8 23 bits
S exponente mantisa
Lo que hice fue tomar el primer bit que me indica el signo mas los 7 bits siguientes y eso me indica
el exponente, y el resto de los bits me indican la mantisa. Ahora hay que buscar el exponente, para
eso agarro los primeros 8 bits (el de signo con los de exponente) y se lo resto a 127 en binario. En
este caso
127(10)= 01111111(2)
01111110 – 01111111 =11111111(2)= -1 126 -127 (SIEMPRE SE PONE ASI ESTO ; SE LE RESTA 127)

es el exponente en decimal

ahora agarro la mantiza….. Era 10000000000000000000000 …. Siempre arranco de izqierda a derecha poneindo 2^-1 y su
con ese numero 2^-1 lo que hago es sumarle 1 al instante… siempre, al resultado de la cuenta de arriba se le suma 1
1.5
1,5 x 2^-1 ….. Ese numero se multiplica por 2^exp….. Siendo exp el numero que sacamos del "exponente" el -1 de color r
0,75 respuesta final

segundo)
Por lo que el numero en realidad es 35C1F000

35C1F000 convertido a binario:


0|01101011|10000011111000000000000
dividimos en: 1 bit de signo, 8 de exponente, 23 de mantisa
Signo: 0 -> +
Exponente: 01101011 -> 107 -> le restamos el exceso -> 107 - 127 = -20 -> como son potencias de 2 nos
Mantisa: 10000011111000000000000 -> 2^-1+2^-7+2^-8+2^-9+2^-10+2^-11 = 0.515136719 -> Se le

Multiplicamos todo:

2^-20 * 1.515136719 = 1.44494697 E -6

tercero) (este tiene pasar a flotante y volver a decimal)


a)Tenemos 165,625
pasarlo a la pija esta
10100101,101(2)

corro la coma hasta el ultimo uno que tenga a la izqierda, 7 lugares van a ser.. Ok?
1,0100101101(2) y la corri 7 lugares
ese siete se lo sumamos a 127 para formar la linea de signo EXPONENTE mantiza
7+127 = 134… 134 en binario forma exponente, q son 8 bits recordemos
En binario: 10000110
ahora armamos el coso
ah, el signo es 0 porque 165,625 es positivo…. Si fuera negativo es 1

0 10000110 0100101101+ceros hata llegar a 23 bits


la mantiza es lo que queda despues de la coma en 1,0100101101(2) y agregandole tantos ceros falten para llegar a 23 bits
01000011001001011010000000000000==>>>>>>Rtafinal

b)ahora vamos a comprobar si hasta ahora fue todo una falopeada o de verdad es asi….
0 signo… es positivo
10000110 en decimal es 134 - 127 = 7 o sea 2^7----------------> SIETE POSITIVO GIIIILLLLLLL !!!!!!
01001011010000000000000==> mantiza…. O sea 2^-2 + 2 ^-5 + 2^-7 + 2^-8 + 2^-10 nota recuerden que arranca de -1.. P
0,293945312+1 y el resultado multiplicado por 2^7
y nos daaaaaaaaaaaaa!!!!!!!!!!!!!!!!!1111111111111 ojo que el 7 es positivo !!!!!

cuarto)

00111111100000000000000000000000==> es 1…. Vamos a verificarlo

0 signo
01111111 => es 127…. 127 - 127 = 0 o sea 2^0 = 1.

quinto)
00035C1F convertido a binario:

0000 0000 0000 0011 0101 1100 1111

Y ahora dividimos en: 1 bit de signo, 8 de exponente, 23 de mantisa

0 ! 0000 0000 ! 0000 0110 1011 1000 0011 111

Signo: 0 -> +1(positivo)


Exponente: 0000 0000 (Desnormalizado) -> Equivale al -126. Fijate siempre que te de este exp estas en el

Mantisa: -> 2^-6+2^-7+2^-9+2^-11+2^-12+2^-13+2^-19+2^-20+2^-21+2^-22+2^-23 = 0,0262488


Multiplicamos todo:

2^-126 * 0,02624881268 = 3,0855 E -40


del-13-02-2013
o-final-arquitectura-27-02-13
cena en la dirección más baja. Esto ocurre para cualquier entidad numérica, incluso para datos en representación

cion de la interrupcion.
es de 10 bits?
ndo la dirección en el PC".
dian, el byte menos significativo se almacena en la dirección más baja. Esto ocurre para cualquier entidad numérica, in
ga de dichas actividades.

a de almacenamiento invertido).
de la pila. De esta manera, el SP siempre estará apuntando a la última palabra utilizada del segmento de pila, sin mod

llenar) y que no era el último que metiste, es decir BP lo usás para entrar a la pila como si fuera cualquier parte de la
cooooo
bits que utiliza en total, son los mismos que utiliza la mem. principal para direccionar. Es decir, en este caso, la suma
cimal, le resto uno asi de:
e ocupa de arriba para abajo, o sea, las direcciones desocupadas están en números más bajos que las ocupadas, el últi

reentiende que es DS, que significa Data segment, si por ejemplo la instrucción fuera MOV AX, [ES:BP] la base sería
to, para así poder volver a la función original).
datos en representación de punto flotante o cuando se almacena una referencia a memoria."
er entidad numérica, incluso para datos en representación de punto flotante o cuando se almacena una referencia a m
gmento de pila, sin modificar su criterio LIFO" (página 268 del libro de Quiroga)

a cualquier parte de la memoria. Con SP podrías hacerlo también, pero no se hace porque no queda "lindo" ya que no
en este caso, la suma de cantidad de bits que se utilizan entre ETIQUETA + LINEA + POSICION, tiene que dar 30.
que las ocupadas, el último lugar ocupado es SSx16+SP+1 (Un lugar más arriba que el lugar vacío), esa sería la respu

, [ES:BP] la base sería ES. Para calcular la dirección a la que se accede se hace lo mismo de siempre, base*16+despla
na una referencia a memoria."
eda "lindo" ya que no estás manteniendo el criterio LIFO. En vez de BP también podrías usar otro registro (o eso me pa
tiene que dar 30.
cío), esa sería la respuesta de a qué dirección se accede al llamar la instrucción POP ECX, el problema es que no tené

mpre, base*16+desplazamiento, en este caso sería DSx16+BP, que nos da:


o registro (o eso me parece) lo que pasa es que hay como una especie de reglas como la de usar BX o BP como base, C
blema es que no tenés Stack Segment, no sé si te olvidaste de copiarlo o no te lo dieron... Igual por lo que veo pusier
BX o BP como base, CX como contador, etc. Después SI y DI se usan como índice pero se justifica ya que se autoincre
por lo que veo pusieron a todo en el mismo segmento, suponiendo que SS valiera lo mismo que DS, ES y
ica ya que se autoincrementan/decrementan porque están hechos para eso.
DS, ES y CS la respuesta sería:

Potrebbero piacerti anche