Anda di halaman 1dari 11

Arquitectura del Computador Ejercicios sobre Memoria Principal

1. Cul es el ancho de banda de la memoria de un computador con una latencia de 40ns, que transfiere 1 Byte por cada operacin y que est segmentado para que se puedan solapar hasta 4 operaciones a la vez? Solucin: Dividiendo la latencia de 40ns por el nmero de operaciones (o sea 4) nos da un rendimiento del sistema de memoria de 1 operacin por cada 10ns, luego a 1 byte de datos por cada operacin nos da un ancho de banda de: 1 byte / 10ns x 1ns / 10-9 seg = 108 bytes/s.

2. Si un determinado nivel de la jerarqua de memoria tiene una tasa de aciertos del 75% y las peticiones de memoria tardan 12ns en completarse, si dicha posicin se encuentra en ese nivel y 100ns si no es as. Cul es el tiempo medio de acceso al nivel? Solucin: Teniendo en cuenta que: ( ) ( )

Donde: Tacierto: Es el tiempo necesario para resolver las peticiones que son acertadas por el nivel Pacierto: Es la tasa de aciertos del nivel (expresada como una probabilidad) Tfallo: Es el tiempo medio de acceso de los niveles inferiores al que estamos considerando Pfallo: Es la tasa de fallos del nivel Reemplazando: Tiempo medio de acceso = (12ns x 0.75) + (100ns x 0.25) = 34 ns

3. Un sistema de memoria contiene una cach, una memoria principal y una memoria virtual. La cach tiene un tiempo de acceso de 5ns y su tasa de aciertos es del 80%. El tiempo de acceso de la memoria principal es de 100ns, con una tasa de aciertos del 99,5%. El tiempo de acceso de la memoria virtual es de 10ms, con una tasa de aciertos del 100%. Cul es el tiempo medio de acceso de la jerarqua de memoria? Solucin:

Para resolver estos problemas, comenzamos por el nivel inferior de la jerarqua y vamos de abajo arriba. Como la tasa de aciertos de la memoria virtual es del 100%, podemos calcular el tiempo medio de acceso para las peticiones que llegan a la memoria principal como: (100ns x 0.995) + (10ms x 0.005) = 50099,5 ns Una vez hecho esto, el tiempo medio de acceso para las peticiones que llegan a la cach ser: (5ns x 0.80) + (50099,5ns x 0.20) = 10024 ns

4. Si un sistema de memoria tiene un ancho de banda de 120 000 000 Bytes/s, transfiere 2 Bytes en cada acceso, y tiene un tiempo de precarga de 5ns entre accesos. Cul es la latencia del sistema de memoria?. Solucin: Dado que:

Lo que es: 1 acceso cada 16.7ns Como el tiempo entre accesos es la suma entre la latencia y el tiempo de precarga, la latencia de memoria ser: 16,7 ns 5 ns = 11.7 ns

5. Dada una jerarqua de memoria, compuesta por Cach y Memoria Principal. Cul seria la tasa de aciertos y de fallos en la cach y en la memoria principal si el procesador ejecutara un total de 1 000 000 de referencias a memoria, 945 000 de las cuales estuvieran en la cache y las otras 45 000 necesitaran el acceso a la memoria principal? Solucin: Dado que: Tasa de aciertos es la proporcin entre el nmero de aciertos en un nivel dado de la jerarqua y el nmero total de referencias que llegan a dicho nivel. Tasa de fallos es la proporcin entre el nmero de fallos en el nivel y el nmero total de referencias que llegan al mismo. Tasa de aciertos de la cache ser: 945000 / 1000000 = 94.5 % Tasa de fallos de la cache ser: 55000 / 1000000 = 5.5 % Como llegan a la memoria principal un total de 55000 referencias (todas aquellas que no han podido ser gestionadas por la cache) entonces: Tasa de aciertos ser: 45000 / 55000 = 81.8 % Tasa de fallos ser: 10000/55000 = 18.2 %

6. Sea una computadora capaz de ejecutar 1 milln de instrucciones por segundo (MIPS). Se desea conectar a la computadora un perifrico con una velocidad de transferencia de 20.000bytes por seg y sobre el que se realizan operaciones de 2

lectura de bloques de 1.024 bytes. Se pretende evaluar el comportamiento del sistema computadora-perifrico ante las diferentes tcnicas de entrada-salida (programada, mediante interrupciones y por DMA). Se sabe que: La rutina de transferencia de E/S programada consta de 10 instrucciones. La rutina de tratamiento de interrupcin en la E/S mediante interrupciones consta de 20 instrucciones. La rutina de inicializacin del DMA consta de 8 instrucciones y en cada operacin de escritura de un dato en memoria, el controlador ocupa los buses durante 500 ns. El bus de datos que interconecta la CPU, Memoria y el perifrico es de 16 bits. Suponga para simplificacin que la transferencia por el bus de datos es instantnea.

Indicar: El tiempo que emplea la CPU en transferir un bloque desde el perifrico, para cada uno de los tres tipos de E/S descritos

Solucin:

Primero calculemos cunto tarda una instruccin, si el procesador es capaz de ejecutar 1MIPS, entonces 1 instruccin se ejecuta en:

Calculemos cunto tarda en transferirse 2 bytes:

Caso1: E/S programada (control y transferencia por CPU) consume de CPU 10 instruccin por cada 2 bytes osea: Consumo CPU = 10instr x 512words = 10microseg x 512words = 5120microseg = 5,1msg

Caso2: E/S por interrupciones (control interrupciones y transferencia CPU) consume de CPU 20 instrucciones por cada 2 bytes osea: 3

Consumo CPU = 20instr x 512words = 20microseg x 512words = 10240microseg = 10,2msg

Caso3: E/S por DMA (control interrupciones y transferencia DMA) tarda: Consumo CPU = 8instr + 20instr = 8microseg + 20microseg = 28microseg

7. Suponga un disco rgido con las siguientes caractersticas: 4 caras 10240 pistas por cara 12800 sectores por pista 512 bytes/sector Tiempo de posicionamiento medio de 5 milisegundos Velocidad de rotacin de 5000 RPM.

a) Cul es la capacidad del disco? b) Cul es el tiempo de acceso medio? Solucin:

a. bytesxsector x cant.sectores x cant.pistas x cant.caras = 512 x 12800 x 10240 x 4 = 268435456000 bytes = 250 GB

b.

TiempodeAccessoMedio = TiempoLatenciaMedia + Tiempo posicionamiento medio = 6msg + 5msg = 11msg

8. Un TLB (Buffer de traduccin Anticipada) tiene una tasa de aciertos del 95% y la penalizacin por fallo de TLB es de 150ciclos. Asumiendo que cuando existe acierto de TLB, la traduccin de la direccin no requiere tiempo. Cul es el tiempo medio necesario para realizar una traduccin de direccin?. Solucion.

El tiempo medio para la traduccin de una direccin es: Tasa de Acierto x Penalizacion Acierto + Tasa de Fallo x Penalizacion Fallo Reemplazando: 7.5 ciclos 9. Suponga un disco rgido con las siguientes caractersticas: 4 caras 32768 pistas por cara 12288 sectores por pista 2048 bytes/sector Tiempo de posicionamiento medio de 2 milisegundos Velocidad de rotacin de 15000 RPM. a) Cul es la capacidad del disco?

b) Cul es el tiempo de acceso medio? TiempodeAccessoMedio = TiempoLatenciaMedia + TiempoPosicionamientoMedio

TiempoPosicionamientoMedio = 2 milisegundos

10.Tenemos un registro de direcciones de memoria de 64bits y celdas de memoria de 32bits. Cuntos GB se puede direccionar?

11.Queremos ampliar la memoria RAM de un computador de 2 a 4 GB. Detalla que consideraciones o pasos se deben dar.

1er caso: considerando celdas de ram de 32bits

Dimensin de la MAR = 29bits

Dimensin de la MAR = 30bits

Entoces con aumentar la dimesion de la MAR de 29 a 30bits podremos ampliar la ram de 2 a 4GB.

2do caso: considerando celdas de ram de 64bits

Dimensin de la MAR = 28bits

Dimensin de la MAR = 29bits

En este segundo caso de manera similar aumentando la dimesion de la MAR de 28 a 29bits podremos ampliar la ram de 2 a 4GB.

Tome en cuenta que a mayor tamao de las celdas de la ram menos bits se necesitaran para direccionar la memoria.

12.

Ejercicio :

Un procesador tiene 32 registros, utiliza datos inmediatos de 16bits y tiene 142 instrucciones en su ISA (Instruction Set Architecture). En un determinado programa el 20% de las instrucciones tienen un registro de entrada y un registro de salida, el 30% tienen 2 registros de entrada y uno de salida, el 25% tiene un registro de entrada, un registro de salida y una entrada inmediata, y el 25% restante tiene una entrada inmediata y un registro de salida. a. Cuantos bits se necesitan para cada uno de los cuatro tipos de instrucciones?. Suponga que la ISA (Instruction Set Architecture) obliga a que todas las instrucciones tengan una longitud mltiplo de 8 bits. b. Cuanta memoria menos ocupa el programa cuando se utiliza una codificacin de repertorio de instrucciones de longitud variable que cuando se utiliza una codificacin de longitud fija? SOLUCION:

a. Con 142 instrucciones, se necesitan 8 bits para identificar una instruccin (128 7bits < 142 < 256 8bits). 32 registros significa que hacen falta 5 bits para codificar el ID del registro y sabemos que se necesitan 16 bits por cada dato inmediato. Con estos datos, es solo cuestin de sumar los campos necesarios en cada tipo de instruccin. 8

Un registro de entrada, un registro de salida: 8 + 5 + 5 bits = 18 bits, que se redondean a 24 bits (16bits +8bits) 2 registros de entrada, un registro de salida: 8 + 5 + 5 +5 bits = 23 bits, que se redondean a 24 bits (16bits +8bits) Un registro de entrada, un registro de salida y un inmediato: 8 + 5 + 5 +16 bits = 34 bits, que se redondean a 40 bits (16bits + 16bits + 8bits) Un registro de salida y una entrada inmediata: 8 + 5 +16 bits = 29 bits, que se redondean a 32 bits (16bits + 16bits) b. Dado que el tipo de instruccin mayor precisa 40 bits, la codificacin de longitud fija tendr 40bits por instruccin. En la codificacin variable cada tipo de instruccin usar el numero de bits dados anteriormente. Para saber el numero promedio de bits de la codificacin de longitud variable, se multiplica el numero de bits de cada tipo de instruccin por la frecuencia de ese tipo y se suman los resultados. Este calculo da :
( 20% * 24 bits ) + ( 30% * 24 bits ) + ( 25% * 40bits ) + ( 25% * 32 bits ) = 4,8 + 7,2 + 10 + 8 = 30 bits en promedio. Por tanto, la codificacin de longitud variable necesita un 25% menos de espacio que la codificacin de longitud fija para este programa.

13.

Ejercicio :

Tenemos 5 instrucciones que se ejecutan en 3 procesadores: - No segmentado - Segmentado - Superescalar con 2 filas de ejecucin de instrucciones Teniendo en cuenta que las fases del Ciclo de ejecucin son: Bsqueda, Indirecto, Ejecucin, Interrupcin. Cual es el numero de Ciclos por Instruccin en cada caso?

14.

Ejercicio :

Un computador dispone de una memoria organizada en bytes, con un tamao total de 64Kbytes. Estudiar las dimensiones ms adecuadas para los buses de datos y direcciones, el operador y los registros.

SOLUCION:

Dimensiones de los buses de datos y direcciones, el operador y los registros. De los datos que ofrece el enunciado en cuanto a la memoria del computador se puede deducir que:

El ancho del bus de datos es de 8 bits, ya que la memoria se organiza en bytes. El ancho del bus de direcciones es de 16 bits para poder direccionar 64Kbytes. Los mismos 16 bits que tiene el bus de direcciones son los que tienen el registro de direcciones RD y el contador de programa CP.
El registro de memoria RM tendr 8 bits, el ancho de palabra de la memoria. El operador y sus registros asociados (RO1, RO2 y el acumulador AC), cuyo tamao viene dado por el bus de datos, tambin sern de 8 bits.

El tamao del registro de instrucciones RI es independiente del ancho de los dems elementos. Sin embargo, se puede elegir para l un tamao de 8 bits. El tamao de los registros de la batera de registros BR depende directamente de la utilidad que se les quiera dar. Si se van a emplear nicamente para manipular datos que deban atravesar el operador, lo ms lgico es que tengan 8 bits cada uno. Sin embargo, los registros se usan a menudo para almacenar direcciones que sern ms tarde empleadas en distintos tipos de direccionamientos. En estos casos es mejor disponer de registros con igual ancho que el bus de direcciones, que en nuestro caso es de 16 bits.

15.

Ejercicio :

En una jerarqua de memoria de 2 niveles, si el nivel superior tiene un tiempo de acceso de 8ns. y el inferior de 60ns. Cual debe ser la tasa de aciertos de nivel superior para conseguir un tiempo medio de acceso de 10ns?

SOLUCION:

Para resolver este problema, utilizamos la formula para calcular el tiempo medio de acceso de una memoria utilizando la tasa de aciertos ahora como variable en lugar del tiempo medio de acceso.

Tiempo Medio de Acceso = (Tacierto * Pacierto) + ( Tfallo * Pfallo) donde : 10

Tacierto : es el tiempo necesario para resolver las peticiones que son acertadas por el nivel. Pacierto : es la tasa de aciertos del nivel Tfallo : es el tiempo medio de acceso de los niveles inferiores al que estamos considerando Pfallo : es la tasa de fallos del nivel.

Para resolver este problema, utilizamos la frmula para calcular el tiempo medio de acceso de una memoria utilizando la tasa de aciertos ahora como variable en lugar del tiempo medio de acceso. Sustituyendo valores en la formula nos da: 10ns = (tasa de aciertos * 8ns) + (tasa de fallos * 60ns) 10ns = (tasa de aciertos * 8ns) + ( (1-tasa de aciertos) * 60ns)

Luego: tasa de aciertos 96,2%

11

Anda mungkin juga menyukai