miércoles, 30 de mayo de 2012

Tema 4 - FAQ


-Necesito las tablas de equivalencias de las instrucciones de MIPS en binario, ¿Dónde las puedo encontrar?
Las tablas de equivalencia se pueden encontrar en los apuntes del Campus.

-¿Por qué se producen errores cuando hay más de un triestado activado?
Cuando un triestado se abre es deja pasar la información al bus, por lo tanto si se abren varios llega información de diferentes lugares y se producen colisiones.

¿Qué significa la señal de “RESET” de la esquina inferior derecha del circuito de la CPU?
Como su nombre indica, el RESET permite reiniciar el circuito, para poder realizar nuevos cambios

-¿Cómo se codifican las instrucciones a hexadecimal?
Cada instrucción tiene un formato determinado para ser codificada en binario. Por ejemplo, en la práctica, la operación ADD $t0, $t1, $t2 sería del siguiente modo:


De esta forma la operación ADD tiene valor 0 y se coloca en el primer espacio de 6 bits (seis ceros), en los próximos se almacenará el número de registro que corresponda (la tabla de equivalencias de registros con sus números está en el campus), en el quinto espacio almacenaremos el desplazamiento en 5 bits (en este caso serán cinco ceros) y por último escribiremos 20 en hexadecimal y con 6 bits (quedando en este campo 100000). Posteriormente podremos pasar la instrucción a hexadecimal dividiendo los 32 dígitos en binario en grupos de 4 y pasando cada grupo a su valor en hexadecimal (por ejemplo, si tenemos 1010, pondremos A). Si algún registro no se usa en la instrucción, se escribirán 0 en 5 bits.

-Cuando realice los ciclos de instrucción, ¿Los 4 primeros ciclos son siempre los mismos?
Sí, ya que hasta el proceso de decodificación los pasos a seguir son los mismos para todas las instrucciones. El resto de pasos será propio de cada instrucción.

-¿Por qué la ALU tiene dos salidas? 
Una de las salidas de la ALU denominada salida directa se utilizará para que el resultado de la ALU salga al bus interno en el mismo ciclo en el que se hace la operación. De esta forma conseguimos reducir ciclos de reloj pero solo puede utilizarse si el bus no esta ocupado por otro dato en ese ciclo. En ese caso utilizaremos la otra salida que almacena el resultado en RT3 para sacarlo al bus interno en el siguiente ciclo.

-¿Cuándo puedo colocar en un mismo ciclo varias instrucciones?
Se podrán solapar varias instrucciones en un mismo ciclo si no producen colisiones en el bus interno.

-¿Cómo funcionan las entradas de la ALU? 
En la máquina usada en este tema nos encontramos con que el banco de registros tiene dos salidas, una para el operador A y otra para el operador B, pudiendo seleccionarse para cada una de ellas registros diferentes. También podremos capturar en RT1 y RT2 valores para A y B, respectivamente, desde el bus interno (para utilizar los inmediatos que están en la instrucción). Necesitaremos por lo tanto dos multiplexores (uno en A y otro en B) que seleccionen de cuál de los dos caminos se tomará el dato. 


-¿Cómo leo y escribo en la memoria?

En el caso de la lectura se almacenará la dirección de la que quiero leer en el MAR y activaremos la señales Td, Sel, L. En el caso de la escritura almacenaremos la dirección en la que queremos escribir en el MAR y el dato que queremos escribir en el MBR y despues activaremos la señales Ta, Td, Sel, E.

No hay comentarios:

Publicar un comentario