Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. ¿Cuántos formatos de instrucciones tiene el procesador MIPS, cuales son, que campos
tiene cada uno de ellos y su uso?
Formato tipo R: utilizado por las instrucciones aritméticas y lógicas
Formato tipo I: utilizado por las instrucciones de transferencia, las de salto condicional y
las instrucciones con operandos inmediatos
Formato tipo J: utilizando por las instrucciones de bifurcación
2. En el procesador MIPS ¿Cuántos registros tiene el archivo de registros y cuantos bits
necesito para direccionarlos?
3. ¿Por qué para direccionar la siguiente instrucción en el procesador MIPS tengo que
sumarle al PC un 4?
sw es el comando;
lw es el comando;
10. Explique cómo se calcula la dirección de salto condicional y salto sin condición.
Salto condicional
beq rs, rt, inmed si ( rs = rt ) (PC entonces ( P C PC +4 +4 SignExt( inmed ) ) caso
contrario PC PC + 4
11. ¿Cuál es la principal característica de un procesador Monociclo?
13. Explique cada señal de control del procesador monociclo y que controlan; RegDst, Jump,
Branch, MemRead, MemtoReg, ALUOP, MemWrite, ALUSrC, RegWrite.
ALUSrc: Selecciona el segundo operando de origen para la ALU (rt o campo inmediato con
signo extendido en Patterson y Hennessey).
ALUOp: especifica la operación de ALU que se realizará o especifica que la operación debe
determinarse a partir de los bits de función.
para cada etapa. En el interior de cada estado se colocan las salidas asociadas a ese
estado. Después de la última microoperación de cada secuencia (cuando se encuentra un
punto en la secuencia), debe volverse al estado inicial, para seguir ejecutando
instrucciones.
De acuerdo al valor de las entradas se cambia al estado siguiente, cuando ocurre el canto
del reloj. Pueden aplicarse las técnicas tradicionales del diseño de máquinas secuenciales.
Puede emplearse métodos para la reducción de estados. Por ejemplo: el tercer estado de
lw y sw son idénticos, y podrían unirse en uno; en este caso las dos salidas de este estado
deben estar rotuladas con el código de operación de lw y sw (esto debido a que el cuarto
estado de éstas no es el mismo). También pueden unirse los cuartos estados de add y sub.
Si se escribe en el registro B, se tendrá que el segundo estado de todas las instrucciones
excepto el jump pueden unirse Si se hace esta reducción, las salidas de este segundo
estado deben estar rotuladas con los códigos de operación de las instrucciones.
17. Explique la función de cada señal de control del procesador multiciclo y diferencias con las
señales de control del procesador monociclo.
18. Explique que se hace en cada uno de los estados del 0 al 9, en el procesador multiciclo
25. ¿Cuántos ciclos de reloj requieres para hacer 100 instrucciones en el procesador i)
monociclo, ii) multiclo, iii) segmentado y cuanto tiempo requieres? Recordar que en
nuestros ejemplos el ciclo de reloj de un procesador monociclo es de 800 ps, y el ciclo de
reloj para el procesador multiciclo y segmentado es de 200 ps. De esas 100 instrucciones
20 cargar palabra lw, 10 instrucciones de almacenamiento sw, 54 operaciones de formato
R, 13 saltos sin condición jump, 3 bifurcaciones beq.
26. ¿Cuáles son los conflictos del procesador segmentado y explique cómo se resuelven?
R= Conflictos estructurales: Son detenciones producidas en el proceso por insuficiencia del
hardware, debido a que una etapa no puede avanzar por que el hardware necesario esta
siendo utilizado por otra
Conflictos por dependencia de datos: Surgen, principalmente, cuando una instrucción
necesita los resultados de otra anterior, que todavía no los tiene disponibles, por no
haberse terminado de ejecutar completamente
Conflictos de control: Se deben a las instrucciones de control de flujo, en que no se puede
leer la instrucción siguiente hasta que no se conozca su dirección.
Como resolverlos:
Soluciones para este riesgo de control:
Detención.
-La solución por hardware consiste en detener por un ciclo el fetch de la instrucción
siguiente a un branch.
-La solución por software consiste en intercalar un nop, después de cada branch.
Bifurcaciones retardadas.
-No se detiene la ejecución después de una bifurcación; es decir la instrucción
siguiente a una bifurcación comienza a ejecutarse siempre.
-Esta solución (delayed branch) agrega un ciclo por cada branch, si el compilador
no puede encontrar una instrucción que sea útil, y que pueda realizarse después
del branch.
Vaciamiento. (flush)
-La tercera solución es efectuar el fetch, después del branch. Si el salto no se
realiza, se continúa la ejecución. Si el salto se realiza, se debe descartar la
instrucción leída y volver a efectuar el fetch.
JOSUE ELIUD MARIN LEON 201839769
La predicción de saltos pretende reducir la penalización producida por los saltos, haciendo
prefetching y ejecutando instrucciones del camino destino antes que el salto sea resuelto.
Esta circunstancia es conocida como ejecución especulativa, ya que se ejecutan
instrucciones sin saber si son las correctas en el orden del programa. Para ello se intenta
predecir si un salto será efectivo (si será tomado) o no, así como realizar el cálculo de la
dirección destino antes que la instrucción de salto llegue a la unidad de saltos del
procesador. De esta manera se intenta no romper el flujo de ejecución del programa,
leyendo continuamente instrucciones de la Icache y no introduciendo burbujas en el
procesador. Las técnicas de predicción de salto se pueden dividir, básicamente, en dos
tipos: • Las que realizan predicción estática. • Las que realizan predicción dinámica.