miércoles, 23 de mayo de 2012

Trabajo Tema 3

En el tema 3 empezamos a utilizar el programa logisim. Con este programa, que permite diseñar y simular circuitos digitales, pudimos entender mejor la función de dichos circuitos.
El primer montaje que hicimos en las practicas es la implementación de un bus bidireccional y compartido de 8 bits, capaz de comunicar tres registros entre sí

El segundo montaje que hicimos fue el diseño e implementación del banco de 4 registros de 8 bits cada uno. 
En el banco conectaremos los dos bits de selección (necesarios para implementar un banco de 4 registros) a dos decodificadores. Uno de ellos irá conectado a la entrada “en” de los registros, y su función será activar únicamente el registro al que queramos acceder. El otro se conectará a los triestados de los registros, de forma que solo se activará el triestado del registro seleccionado en cada momento. Por último, una única señal de carga se conectará a todos los registros. De esta forma, el registro seleccionado será el único que permitirá salir sus datos al bus (porque será el único que tendrá su triestado activo) y el único que podrá cargar el dato que venga por el bus al activar la señal de carga.

El último montaje que teníamos que añadir a nuestro camino de datos es una ALU.
La ALU es la encargada de realizar las operaciones dentro de la CPU y una característica importante que tiene es que no puede funcionar por si sola. Para que la ALU funcione necesita Buses y Registros, por eso para que funcione este montaje necesitamos añadirle los montajes anteriores. Los registros son los encargados de almacenar los datos de operaciones y el resultado obtenido y los buses su utilidad es recibir y enviar los datos.
Estos son ejemplos de como montar una ALU
1/ Esto son ejemplos de operaciones sencillas realizadas en el logisim.

Sumador

OR
2/Ahora pondré un ejemplo de la ALU compuesta por varias operaciones unidas por un multiplexor, de forma que el selector del multiplexor seleccionará la operación que queramos (dejando salir por la salida el resultado de la operación).

ALU
3/ Para terminar pondré un ejemplo de un cronograma y explicare la operación que se va a realizar.
Los cronogramas son secuencias detalladas de las actividades que se van a ejecutar para alcanzar los resultados propuestos. Más adelante lo explicare paso a paso con un ejemplo de cómo hacer el cronograma.
Siguiendo este camino de datos y la ALU realizar el proceso de : La operación OR entre R0 y R1 (registros) , almacenándolo el resultado en el Ri1. 
Este seria el cronograma sobre la instrucción del enunciado.

Siguiendo  este cronograma, lo primero que debemos saber es que empezamos desde el banco de registros. Una vez sabiendo eso el segundo paso es ir hacia la ALU la cual realizara la operación OR. Cuando el primer número llega a A se almacena, esperando al segundo número que llegue a la ALU para comenzar dicha operación. Una vez  estén los dos en la ALU se hace la operación y el resultado sale por el bus inferior Ttmp hasta llegar a Ri1 donde se guardara la solución de la operación.



No hay comentarios:

Publicar un comentario