Está en la página 1de 8

JOSUE ELIUD MARIN LEON 201839769

Procesador Monociclo, multiciclo y segmentado del MIPS.

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?

Esto se debe a que la palabra está en un límite de 32 bits (4 bytes)

4. Explique ¿cómo se calcula la dirección de acceso a memoria en las instrucciones lw y sw?

lw $2, 4($4) # $2 <- mem($4+4)


$2 es el registro de destino y $4 el registro de dirección. Y la fuente de información es la
memoria.4 es un desplazamiento que se suma (no se multiplica) al registro de direcciones.
Este tipo de acceso a la memoria se denomina direccionamiento basado y es bastante útil
en muchas situaciones. Por ejemplo, si $4 contiene la dirección de una estructura, el
desplazamiento permite elegir los diferentes campos de la estructura. O el elemento
siguiente o anterior en una matriz, etc. el desplazamiento no tiene que ser un múltiplo de
4, pero (registro de dirección + desplazamiento) debe serlo y la mayoría de las veces
ambos lo son.

Sw es similar, pero almacena un registro en la memoria.

sw $5, 8($7) # mem[$7+8] <- $5

Nuevamente, $7 es el registro que contiene la dirección de memoria, 8 un desplazamiento


y $5 es la fuente de la información que se escribirá en la memoria.

Tenga en cuenta que, al contrario de otras instrucciones MIPS, el primer operando es el


origen, no el destino. Probablemente esto sea para reforzar el hecho de que el registro de
direcciones juega un papel similar en ambas instrucciones, mientras que en lw se usa para
calcular la dirección de memoria de la fuente de datos y en sw la dirección de memoria de
destino.
JOSUE ELIUD MARIN LEON 201839769

5. ¿Qué diferencia hay entre rs, rt y rd?


Rs: primer registro operando fuente
Rt: segundo registro operando fuente
Rd: Registro operando destino, donde se almacena el resultado de la operación
6. Explique que puedo guardar en el campo inmediato de 16 bits en el tipo I y su uso.
Se usa para indicar la longitud de desplazamiento
7. Explique la instrucción tipo R (operaciones lógico-aritméticas)

En las instrucciones tipo R se especifican tres registros, un campo de tamaño de


desplazamiento y otro para el código de función; las tipo I especifican dos registros y un
valor inmediato de 16 bits; en las tipo J al código de operación le siguen 26 bits de
dirección destino de salto.
8. Explique las instrucciones de acceso a memoria (lw, sw), diferencias y semejanzas.
sw, $source, offset($destination)

sw es el comando;

$destination es el registro en el que guardar el valor;

offset es el desplazamiento de memoria;

$source es la dirección base.

lw, $destination, offset($source)

lw es el comando;

$destination es el registro en el que se almacenará el valor;

offset es el desplazamiento de memoria;

$source es la dirección base desde la que se recuperan los datos.

9. Explique la instrucción beq y jump.

La instrucción BEQ bifurca la PC si el contenido de la primera fuente y el contenido de la


segunda fuente son iguales.

la instrucción de "jump" cargó la PC con una dirección de 32 bits.

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?

Se caracteriza porque cada instrucción se ejecuta en un único ciclo de reloj (CPI=1)


JOSUE ELIUD MARIN LEON 201839769

12. Explique ¿Cómo se diseña la unidad de control tipo monociclo?


En el modelo monociclo la unidad de control es una red combinacional que tiene como
entradas el código de operación-funct y la condición Equal; y como salidas las señales de
Control.

Tabla de verdad de la Unidad de Control Monociclo


JOSUE ELIUD MARIN LEON 201839769

Tabla Resumen Unidad de Control Monociclo


JOSUE ELIUD MARIN LEON 201839769

13. Explique cada señal de control del procesador monociclo y que controlan; RegDst, Jump,
Branch, MemRead, MemtoReg, ALUOP, MemWrite, ALUSrC, RegWrite.

Branch: Combinado con un booleano de prueba de condición para habilitar la carga de la


dirección de destino de la sucursal en la PC.

Jump: Habilita la carga de la dirección de destino de salto en la PC

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.

MemRead: Habilita una lectura de memoria para instrucciones de carga.

MemWrite: Habilita una lectura de memoria para instrucciones de carga.

RegWrite: Habilita una escritura en uno de los registros.

RegDst: Determina cómo se especifica el registro de destino (rt o rd en Patterson y


Hennessey).

MemtoReg: Determina cómo se especifica el registro de destino (rt o rd en Patterson y


Hennessey).

14. Explique ¿qué función tiene cada multiplexor en el procesador monociclo?


Permite canalizar diferentes señales hacia una de las entradas de la ALU o hacia la
unidad que calcula la nueva dirección.
15. ¿Cuál es la principal característica de un procesador Multiciclo?

16. Explique ¿Cómo se diseña la unidad de control tipo multiciclo?


Se puede hacer un diagrama de estados a partir de las señales de control de cada etapa.
Debido a que la primera serie de microoperaciones, para la etapa de búsqueda de
instrucción, es igual para todas las instrucciones, se considera como el estado inicial. A
partir de éste se colocan las secuencias de estados para generar las señales de control
JOSUE ELIUD MARIN LEON 201839769

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

19. Explique brevemente la función del modelo de control microprogramado.

La microprogramación es una segunda alternativa para diseñar la unidad de control de una


computadora digital. El principio de microprogramación es un método elegante y
sistemático para controlar las secuencias de mícrooperaciones en una computadora
digital.

20. Explique ¿cómo funciona el procesador segmentado?

Es una técnica empleada en el diseño de procesadores que trata de explotar el paralelismo


intrínseco que existe entre las instrucciones de un flujo secuencial. Los segmentos están
conectados cada uno con el siguiente, de forma que la salida de uno pasa a ser la entrada
del siguiente. A los procesadores segmentados también se les denomina procesadores
encauzados.

21. Explique ¿Cómo se diseña la unidad de control tipo segmentado?


Lo primero que habría que estipular es qué frecuencia de reloj utilizar, ya que este va a ser
el indicador de que una fase ha terminado y se debe pasar la fase siguiente al mismo
tiempo que se deja libre la fase actual para que una nueva instrucción ocupe su lugar.

22. ¿Cuál es la función de los registros intermedios entre etapas?


Cada una de las etapas debe completar sus acciones en un ciclo de reloj, pasando sus
resultados a la etapa siguiente y recibiéndolos de la anterior. Para eso es necesario
almacenar los datos en registros intermedios.
23. Explique que se realiza en cada una de las 5 etapas en el procesador segmentado.
JOSUE ELIUD MARIN LEON 201839769

24. Una instrucción en el procesador segmentado tarda menor tiempo al no segmentado.

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

27. ¿Cuáles son los mejores candidatos para la segmentación?

28. Explique el método de predicción de saltos.

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.

También podría gustarte