27-02-2010, 11:30
1) Se ha diseñado un computador con cauce de instrucción de 5 etapas:
1- Búsqueda de la instrucción y actualización del puntero de instrucción (5 ns);
2- Decodificación – incluye la lectura de registros del CPU (4 ns);
3- Ejecución – incluye la captación del operando (6 ns);
4- Acceso a memoria para la instrucción de transferencia desde y hacia la memoria (5 ns);
5- Escritura de un registro de CPU (3 ns);
Sabiendo que:
• Las instrucciones aritméticas y lógicas no acceden a memoria ya que son del tipo “mnemónico registro, registro”;
• Las instrucciones de transferencia desde la memoria cumplen todas las etapas;
• Las instrucciones de transferencia hacia la memoria no utilizan la etapa 5;
Calcular el tiempo que tarda en ejecutarse cada una de las instrucciones indicadas a continuación instrucción
a. Aritmética
b. De salto
c. De lectura de memoria
d. De almacenamiento en memoria
e. Lógica
1. Lo que hay que ver es qué etapas usan cada instrucción. Por empezar, todas hacen la 1, 2 y 3.
Te dice que las de la ALU no acceden a memoria, así que la 4 no va. La 5 si, ya que si hiciste una suma y dio OF hay que actualizar los flags, o si en una resta te da cero hay que actualizar el ZF.
Las de salto no acceden a memoria ni escriben un registro (por ende solo 1 2 y 3)
Te aclara que las que van hacia memoria no hacen la fase 5 (solo 1 2 3 y 4)
Y por último las que van desde memoria hacen las 5 fases.
Lo único que hay que hacer es fijarte cuánto tarda cada etapa y sumar.
a. Etapas 1-2-3-5 luego, 5 ns + 4 ns + 6 ns + 3ns = 18 ns.
b. Etapas 1-2-3 luego, 5 ns + 4 ns + 6 ns = 15 ns.
c. Etapas 1-2-3-4-5 luego, 5 ns + 4 ns + 6 + 5 ns + 3 ns = 23 ns.
d. Etapas 1-2-3-4 luego, 5 ns + 4 ns + 6 + 5 ns = 20 ns.
e. Etapas 1-2-3-5 luego, 5 ns + 4 ns + 6 ns + 3ns = 18 ns.
2) Un sistema de memoria está constituido por 1024K palabras de 32 bits cada una.
a. Cuantos bits se requieren para direccionar cada dirección de memoria exprese en hexadecimal la dirección de la primera y última palabra;
b. Cuál es su capacidad expresada en bytes, megabytes y gigabytes;
c. Si la medida de la palabra fuera de 8 bits ¿Cuántas palabras la constituirían para tener la misma capacidad de almacenamiento?
a. Cuando me dicen que debo direccionar cada direccion de memoria, ¿ se refieren a cada palabra o a cada byte?
Yo lo pensé, direccionar por palabra, como va a haber 1M palabras, necesitás 20 bits para direccionar cada una ( 2^20 = 1M).
00000 FFFFF las direcciones respectivas.
Los demás subpuntos salen fácil, pero no estoy seguro del punto a, porque capáz la pregunta es para direccionar cada byte de la MP, a eso viene mi duda.
En ese caso seria 1024 K * 4 B = 4 MB entonces para direccionar necesito 22 bits ( 2^22 = 4MB).
Agradeceria la ayuda, porque para este final, el foro es lo único que nos puede salvar xP.
1- Búsqueda de la instrucción y actualización del puntero de instrucción (5 ns);
2- Decodificación – incluye la lectura de registros del CPU (4 ns);
3- Ejecución – incluye la captación del operando (6 ns);
4- Acceso a memoria para la instrucción de transferencia desde y hacia la memoria (5 ns);
5- Escritura de un registro de CPU (3 ns);
Sabiendo que:
• Las instrucciones aritméticas y lógicas no acceden a memoria ya que son del tipo “mnemónico registro, registro”;
• Las instrucciones de transferencia desde la memoria cumplen todas las etapas;
• Las instrucciones de transferencia hacia la memoria no utilizan la etapa 5;
Calcular el tiempo que tarda en ejecutarse cada una de las instrucciones indicadas a continuación instrucción
a. Aritmética
b. De salto
c. De lectura de memoria
d. De almacenamiento en memoria
e. Lógica
1. Lo que hay que ver es qué etapas usan cada instrucción. Por empezar, todas hacen la 1, 2 y 3.
Te dice que las de la ALU no acceden a memoria, así que la 4 no va. La 5 si, ya que si hiciste una suma y dio OF hay que actualizar los flags, o si en una resta te da cero hay que actualizar el ZF.
Las de salto no acceden a memoria ni escriben un registro (por ende solo 1 2 y 3)
Te aclara que las que van hacia memoria no hacen la fase 5 (solo 1 2 3 y 4)
Y por último las que van desde memoria hacen las 5 fases.
Lo único que hay que hacer es fijarte cuánto tarda cada etapa y sumar.
a. Etapas 1-2-3-5 luego, 5 ns + 4 ns + 6 ns + 3ns = 18 ns.
b. Etapas 1-2-3 luego, 5 ns + 4 ns + 6 ns = 15 ns.
c. Etapas 1-2-3-4-5 luego, 5 ns + 4 ns + 6 + 5 ns + 3 ns = 23 ns.
d. Etapas 1-2-3-4 luego, 5 ns + 4 ns + 6 + 5 ns = 20 ns.
e. Etapas 1-2-3-5 luego, 5 ns + 4 ns + 6 ns + 3ns = 18 ns.
2) Un sistema de memoria está constituido por 1024K palabras de 32 bits cada una.
a. Cuantos bits se requieren para direccionar cada dirección de memoria exprese en hexadecimal la dirección de la primera y última palabra;
b. Cuál es su capacidad expresada en bytes, megabytes y gigabytes;
c. Si la medida de la palabra fuera de 8 bits ¿Cuántas palabras la constituirían para tener la misma capacidad de almacenamiento?
a. Cuando me dicen que debo direccionar cada direccion de memoria, ¿ se refieren a cada palabra o a cada byte?
Yo lo pensé, direccionar por palabra, como va a haber 1M palabras, necesitás 20 bits para direccionar cada una ( 2^20 = 1M).
00000 FFFFF las direcciones respectivas.
Los demás subpuntos salen fácil, pero no estoy seguro del punto a, porque capáz la pregunta es para direccionar cada byte de la MP, a eso viene mi duda.
En ese caso seria 1024 K * 4 B = 4 MB entonces para direccionar necesito 22 bits ( 2^22 = 4MB).
Agradeceria la ayuda, porque para este final, el foro es lo único que nos puede salvar xP.