En las siguientes tablas se mostraran la distribución de los diferentes formatos de instrucción que se podrán implementar un nuestro procesador monociclo, cada tipo de instrucción tiene una distribución diferente, recordemos que disponemos de 8 bits
Alex RojasTarea25 de Marzo de 2017
652 Palabras (3 Páginas)283 Visitas
En las siguientes tablas se mostraran la distribución de los diferentes formatos de instrucción que se podrán implementar un nuestro procesador monociclo, cada tipo de instrucción tiene una distribución diferente, recordemos que disponemos de 8 bits para esto, quedando nuestras tablas de la siguiente manera:
Formatos tipo R
Instrucciones Tipo R OPCODE
3 bits RS
1 bit RT
1 bit RD
1 bit FUNCION
2 bits
add 000 00
sub 000 01
and 000 10
or 000 11
Instrucciones Tipo I OPCODE
3 bits RS
1 bit RD
1 bit OFFSET
3 bits
lw 001
sw 010
beq 011
Instrucciones Tipo J OPCODE
3 bits OFFSET
5bits
J 111
A continuación mostramos las condiciones bajo las cuales se ha implementado este diseño.
La arquitectura del conjunto de instrucciones que se considera en esta práctica se puede entender como una versión reducida de la arquitectura MIPS32, sólo que con un tamaño de palabra de 8 bits y un banco con solo 2 registros, r0 y r1. Las instrucciones que vamos a considerar se muestran en la Tabla 1.
Las limitaciones más notables de este proyecto es el uso de solo 2 registros en el banco de registros y los 8 bits. También debemos tener en cuenta las asignaciones de la ALU las cuales son:
Para cumplir con todas estas especificaciones se ha desarrollado, una serie de circuitos los cuales mostraremos y explicaremos de manera detallada a lo largo de este informe:
CIRCUITO PRINCIPAL
En el podemos apreciar la estructura fundamental del procesador monociclo que conocimos en la clase de Arquitectura. Aunque es muy similar visualmente y en cuanto a los componentes, recordemos que este es solo de 8 bits y que la ALU tiene asignaciones predefinidas.
Para lograr el funcionamiento del circuito como tal necesitamos una línea o señal de reloj (Clock), la cual activara cada instrucción a través del PC (Program counter). Este último llevara siempre a la instrucción siguiente o a una etiqueta de salto según sea la instrucción.
Recordemos que nuestro banco de registro solo cuenta con dos campos $r0 $r1
Nuestra Unidad aritmético Lógica ALU contiene la programación o asignación solicitada. De manera que no funcionara como cualquier monociclo. De igual manera la unidad de control se encargara de proporcionar y asignar las tareas contenidas en la memoria de instrucciones la cual se precargara más adelante con nuestro algoritmo.
Este algoritmo está programado para guardar en la memoria de datos una serie de números la cual. Recordemos que el número almacenado no puede superar la capacidad de bus de nuestro procesador que es 8 bits, es decir que nuestro número no debe ser mayor a 256 en decimal.
Unidad Aritmético Lógica ALU
Esta ALU contiene la asignación que se hizo anteriormente explicada en la tabla. El multiplexor nos ayudara a saber que Función se va a llevar a cabo. Y si nuestra operación o Función arroja un cero como Resultado. Este será llevado a la salida llamada Zero.
CONTROL DE LA ALU (Alu Control)
Basado en una tabla de verdad pudimos crear por medio de compuertas lógicas, una unidad que pueda informar a la ALU, la Función que se va a ejecutar
.
BANCO DE REGISTROS
Este banco de registro nos permite almacenar 2 registros obviamente $r0 y $r1 como se nos ha pedido.
UNIDAD DE CONTROL
Este circuito fue creado través de la herramienta de análisis combinacional de logisim la cual nos facilita el trabajo en el solo introducimos
...