01-03-2013, 20:24
Yo rendi este final la verdad que fue medio denso, no se como me ilumine para aprobarlo ahi van mis respuestas
TEORIA
1_EFlag IF
2_Int n / IntO
3_Superescalares
4_Prebusqueda de la instrucción - Decodificación - Busqueda de Operandos - Ejecución - Escritura
5_Debe encontrarse en memoria (atributo P=1) y no debe sobrepasarse lo que dice el campo Limite
6_El nivel de Privilegio en una Dir. Virtual se referencia en el campo RPL, y la Unidad de Segmentación lo chequea en atributo DPL del descriptor de segmento
7_En la TLB se almacenan las ultimas 32 páginas accedidas por el procesador y su tasa de aciertos baja a causa de la conmutación de tareas.
8_Programada
9_Inmediato
PRACTICA
1_ Marque la 2da y 3ra opción
2_Cache de 4 vias, cada via tiene 8 bloques de 8 bytes
a_La memoria tiene una capacidad de 2KB=2 x 2^10 = 2^11 Entonces la direcciones tendran 11 bits.
El formato de la dirección es: <ETIQUETA> <CONJUNTO> <POSICION>
-->Bits de <Etiqueta>
Para esto tenemos que ver la cantidad de grupos que tiene la RAM, cada grupo estará conformado por 8 bloques de 8bytes pues cada grupo tendrá la misma cantidad de bloques que una via de la Cache
Cantidad de Grupos en Ram = 2KB / 64Bytes = 2^11Bytes / 64 Bytes = 32 Entonces en RAM hay 32 grupos = 2 ^ 5 grupos
Entonces tendremos 5bits para <ETIQUETA>
-->Bits <Conjunto>
Para esto tenemos que saber la cantidad de conjuntos que existen en la Cache
Cada conjunto tendrá 4bloques de 8bytes c/u pues es una cache de 4 vías
Entonces si tenemos 4vías de 8bloques c/u y sabemos que esos bloques se agrupan en CONJUNTOS de 4 bloques, podríamos decir que por vía tenemos 2 conjuntos y como tenemos 4 vías tendriamos un total de 8 conjuntos
Entonces 8 conjuntos = 2^3 --> Necesitamos 3bits para <CONJUNTO>
-->Bits < POSICIÓN >
Cada bloque tiene 8 bytes entonces necesitamos 3 bits para < POSICIÓN >
Comprobamos si lo que hicimos tiene lógica:
dirección de RAM tiene 11bits = bits <ETIQUETA> + bits <CONJUNTO> + bits <Posición> = 5 bits + 3bits + 3bits =11bits
b_Los bits de <Etiqueta> identifican la vía
c_LRU
d_ 4vias x 8bloques x 8bytes = 256 bytes capacidad total de la cache
Se acceden 8 bytes por vez (tamaño de bloque de la cache)
3_ 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
Bueno puede que allá algún error (me saque un 9) dudas que tuve fue más que nada en la pregunta 9 del Teorico porque estaba media confusa redactada y la de cant de bytes de cache que se acceden por vez del punto 2 de la Practica
Espero que les sirva abrazo!
TEORIA
1_EFlag IF
2_Int n / IntO
3_Superescalares
4_Prebusqueda de la instrucción - Decodificación - Busqueda de Operandos - Ejecución - Escritura
5_Debe encontrarse en memoria (atributo P=1) y no debe sobrepasarse lo que dice el campo Limite
6_El nivel de Privilegio en una Dir. Virtual se referencia en el campo RPL, y la Unidad de Segmentación lo chequea en atributo DPL del descriptor de segmento
7_En la TLB se almacenan las ultimas 32 páginas accedidas por el procesador y su tasa de aciertos baja a causa de la conmutación de tareas.
8_Programada
9_Inmediato
PRACTICA
1_ Marque la 2da y 3ra opción
2_Cache de 4 vias, cada via tiene 8 bloques de 8 bytes
a_La memoria tiene una capacidad de 2KB=2 x 2^10 = 2^11 Entonces la direcciones tendran 11 bits.
El formato de la dirección es: <ETIQUETA> <CONJUNTO> <POSICION>
-->Bits de <Etiqueta>
Para esto tenemos que ver la cantidad de grupos que tiene la RAM, cada grupo estará conformado por 8 bloques de 8bytes pues cada grupo tendrá la misma cantidad de bloques que una via de la Cache
Cantidad de Grupos en Ram = 2KB / 64Bytes = 2^11Bytes / 64 Bytes = 32 Entonces en RAM hay 32 grupos = 2 ^ 5 grupos
Entonces tendremos 5bits para <ETIQUETA>
-->Bits <Conjunto>
Para esto tenemos que saber la cantidad de conjuntos que existen en la Cache
Cada conjunto tendrá 4bloques de 8bytes c/u pues es una cache de 4 vías
Entonces si tenemos 4vías de 8bloques c/u y sabemos que esos bloques se agrupan en CONJUNTOS de 4 bloques, podríamos decir que por vía tenemos 2 conjuntos y como tenemos 4 vías tendriamos un total de 8 conjuntos
Entonces 8 conjuntos = 2^3 --> Necesitamos 3bits para <CONJUNTO>
-->Bits < POSICIÓN >
Cada bloque tiene 8 bytes entonces necesitamos 3 bits para < POSICIÓN >
Comprobamos si lo que hicimos tiene lógica:
dirección de RAM tiene 11bits = bits <ETIQUETA> + bits <CONJUNTO> + bits <Posición> = 5 bits + 3bits + 3bits =11bits
b_Los bits de <Etiqueta> identifican la vía
c_LRU
d_ 4vias x 8bloques x 8bytes = 256 bytes capacidad total de la cache
Se acceden 8 bytes por vez (tamaño de bloque de la cache)
3_ 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
Bueno puede que allá algún error (me saque un 9) dudas que tuve fue más que nada en la pregunta 9 del Teorico porque estaba media confusa redactada y la de cant de bytes de cache que se acceden por vez del punto 2 de la Practica
Espero que les sirva abrazo!