Ejercicio 3.7 pag. 99 Considere dos microprocesadores con buses de datos externos de 8 y 16 bits, respectivamente. Los dos procesadores son idénticos en todo lo demás y sus ciclos de bus son iguales. a) Suponiendo que todas las instrucciones y operandos son de dos bytes, ¿en qué factor difieren las velocidades de transferencia de los dos microprocesadores? Si el bus de datos es de 8 bits solo puede transportar un byte a la vez, entones el procesador debe acceder al modulo de memoria dos veces por cada ciclo de instrucción, como las instrucciones son de dos bytes se lo debe de dividir y hacer la transferencia uno detrás de otro. Asi que la velocidad de transferencia del procesador con el bus de datos de 16bits sera mayor que la de 8bits. b) ¿Cuál sería la respuesta si en la mitad de los casos los operandos y las instrucciones son de un byte? No entiendo muy bien la pregunta pero en todo caso solo habria q hacer la relacion entre los bits y los bytes
Ejercicio 4.5 pag. 136 Considere un microprocesador de 32 bits que tiene una cache on-chipde 16KBytes asociativa por conjuntos de cuatro vías. Suponga que la cache tiene un tamaño de línea de cuatro palabras de 32 bits. Dibuje un diagrama de bloques de esta cache mostrando su organización y como se utilizan los diferentes campos de dirección para determinar un acierto/fallo de cache. ¿Dónde se asigna, dentro de la cache, la palabra de la posición de memoria ABCDE8F8?
Si tenemos un procesador de 32 bits significa que el tamaño de una palabra (y/o una referencia amemoria si no nos dicen nada más) es de 32 bits o lo que es lo mismo de 4 bytes. Este también seríael tamaño de una dirección enviada por el procesador a m emoria principal. Como nos dicen que las líneas son de 4 palabras ya tenemos el campo de desplazamiento dentro del bloque: 4 bits o 2+2 (WORD+BYTE). En total 16 bytes por línea = 4 palabras*4bytes por palabra. ¿Cuál es el tamaño del campo conjunto? o lo que es lo mismo, ¿cuántas entradas o conjuntos tiene nuestra caché? Sabemos que es asociativa de 4 vías, 16 bytes por línea y que el tamaño total de la caché es de 16 KBytes. Por lo tanto el número de conjuntos o entradas será: 16KBytes / 16 Bytes por línea = 214/ 24 = 210 líneas. Como tenemos 4 vías, es decir, conjuntos de 4 líneas: 210 líneas / 22 líneas por conjunto = 28 conjun conjuntos tos o entrad entradas as = 256 256 conjun conjuntos tos o entr entrada adass 8 bits bits para para el campo campo conj conjunt unto. o. ¿Cuál es el tamaño de la etiqueta? No hay más que restar al tamaño total del campo de direcciones (32 bits) la suma de los anteriores campos: 32 bits del campo direcciones – (8 bits campo conjunto o entrada + 4 bits campo desplazamiento dentro del bloque o línea) = 20 bits Por lo tanto el esquema de direcciones sería:
20 ETIQUETA
8 CONJUNTO
2 WORD
2 BYTE
De la dirección 0xABCDE8F8 hex sólo nos interesan los 12 primeros bits para saber el conjunto o entrada en la caché y luego la posición dentro de la línea (palabra+byte). 0xABCDE8F8 hex = 1000 1111 1000 bin Los 2 primeros bits (los que están más a la izquierda) nos dicen que el byte dentro de la palabra será el cero (00), los dos siguientes que la palabra dentro del bloque o lí nea será la 2ª (10) y los 8 bits restantes que estará en el conjunto o entrada 143 (1000 1111).
Thank you for interesting in our services. We are a non-profit group that run this website to share documents. We need your help to maintenance this website.