domingo, 27 de mayo de 2012

Unidad de control y camino de datos.

En esta práctica,correspondiente al tema 4 de unidad de control, debíamos de simularlas secuencias de transferencias y acciones de algunas instruccionescomo suma o desplazamiento de bits en una CPU. 



Primeronos daban una serie de instrucciones que teníamos que codificar ahexadecimal, para que luego, a partir de la CPU, indicar las accionesque iban a llevarse a cabo en esta. Un ejemplo de instrucción seriala AND$t2, $t1, $t1. 



Unavez hecho esto con cada instrucción, pasamos a la simulación enLogisim. Para ello, utilizamos un archivo descargado del campus conuna CPU. Esa CPU contiene los mismo elemento que la CPU vista enclase. 



Parallevar a cabo la simulación, simplemente hay que ir activando lostriestados, las cargas, etc, tal y como lo hicimos manualmente. Enel ejemplo de la instrucción AND, se empezaría activando T4 y C1. 



Seguimosactivando triestados y cargas, hasta llegar a la ALU, dondeelegiríamos el código de operación 00004, ya que la ALU cuenta conlas siguientes operaciones:

00001Suma
00002Resta
00003OR
00004AND
00005Desplazamiento a la derecha de 1,2,3,4 bits
00006Desplazamiento a la izquierda de 1,2,3,4 bits
00007NOT
00008XOR



Parafinalizar, se selecciona el registro donde se quiere guardar y secarga.



FAQ

¿Qué es una CPU?
La CPU consta de la UC y la ALU y se encarga de realizar las operaciones aritméticas y lógicas del ordenador.


¿Qué es la UC?
La UC se encarga de que todo los dispositivos funcionen correctamente mandando señales de control para regular el paso de la información desde su entrada hasta la salida final del resultado.


¿Cómo sabe la UC que pasos tiene que hacer para ejecutar una instrucción?
La unidad de control contiene una memoria ROM con un firmware que le permite saber que señales de control debe activar para realizar cualquier operación que tenga disponible.


¿En que consiste el firmware?
Es un conjunto de micro programas que contiene para cada ciclo de reloj todas las señales de control que debe generar para realizar su cometido.


¿Qué es la señal de reloj?
La señal de reloj es un señal digital que sincroniza todo el sistema. Sirve para generar las distintas señales de control y triestado.


¿Cómo se le indica a la CPU que operación tiene que realizar?
Se le indica mediante instrucciones en ensamblador, cada instrucción contiene que operación tendrá que realizar, de donde debe tomar los datos para realizar la operación y que hacer finalmente con el resultado.


¿En que consiste la codificación de una instrucción?
A cada operación le corresponde un código especifico al igual que los registros. Estos se codifican en hexadecimal tomando todo el conjunto en bloques de 4 bits.


¿Cómo funcionan las señales de control?
Las señales de control activan los registros para que guarden los datos que le llegan del bus. También existen las señales de triestado que controlan que el bus no esté ocupado antes de pasar nuevos datos.


¿Qué es un registro?
Un registro es una memoria que hace de intermediario entre las distintas partes citadas antes la memoria principal, su función consiste en acelerar el acceso a los datos necesarios y que los triestados puedan regular el paso de información por el bus.


¿Qué partes regula la UC en la CPU para ejecutar las instrucciones?
Una parte se encarga del transito de información entre memoria y los distintos dispositivos del sistema. El contador de programa se encarga de regular la dirección de memoria a la que tendrá que tener acceso en un futuro la CPU. La unidad de control se encarga de guardar la instrucción que se esta ejecutando, decodificarla y generar las distintas señales de control necesarias. El banco de registros contiene los datos con los que trabajara la ALU. La ALU se encarga de realizar las operaciones que le encarga la UC con los datos que esta le facilita. El registro de indicadores almacena las incidencias producidas en cada operación.

1 comentario: