Professional Documents
Culture Documents
Abstract Este informe final de laboratorio se ha desarrollado con el propsito de presentar el procedimiento
de codificacin en lenguaje VHDL para el diseo de un CPU de arquitectura RISC monociclo, adjuntando
adems algunas simulaciones.
I. INTRODUCCIN
En la actualidad cuando utilizamos una computadora, lo que hacemos es proporcionar una serie de bits
(entrada) y sta sigue las instrucciones para transformar esa entrada en otra serie de
bits (salida) y devolverla en informacin. El CPU rene complejos circuitos electrnicos, los cuales son
incorporados todos estos circuitos en un chip de silicio, al cual se le llama microprocesador.
Una de las primeras decisiones a la hora de disear un microprocesador es decidir cul ser su juego de
instrucciones.
La decisin por dos razones; primero, el juego de instrucciones decide el diseo fsico del conjunto;
segundo, cualquier operacin que deba ejecutarse en el microprocesador deber poder ser descrita en
trminos de un lenguaje de estas instrucciones. Frente a esta cuestin caben dos filosofas de diseo;
mquinas denominadas CISC y mquinas denominadas RISC.
Este informe consta de una serie de archivos que determinan cada etapa de una arquitectura RISC, como
tope de jerarqua se utiliza el archivo TinyMips, y los dems archivos cumplen diferentes funciones (ifetch,
idecode, execute, memory, writeback y pll) todos controlados por el archivo control.
Los bloques de memoria ROM y RAM fueron creados a partir de la herramienta MegaWizard Plug-
in Manager del software Quartus II donde el modelo de memoria a escoger es ROM 1-PORT y
RAM 1-PORT respectivamente que se encuentran en el grupo Memory Compiler.
En este diagrama
Formato de instrucciones del CPU RISC Monociclo TinyMips
Se dispone de cuatro registros de usuario (R0 a R3), identificados por campos de registro (rs, rt y rd)
dependiendo de la instruccin en curso, y que el registro R0 siempre tendr como contenido 0000h y no
puede ser sujeto de modificacin. Para las direcciones de memoria de instrucciones (ROM) solo se harn
llegar los 10 bits menos significativos del PC a pesar que este tiene 16 bits.
Notar que para la implementacin de las instrucciones jump se debern crear caminos adicionales ya que
estos no se encuentran en las plantillas dadas de los archivos.
Finalmente para la carga inicial de las memorias ROM y RAM se deber realizarse mediante los archivos
mif. El programa principal en la memoria ROM se cargara a partir de 0000h y la subrutina empieza en
0080h. Las direcciones pde memoria RAM para el arreglo de datos 16 valores arranca desde la posicin
10h. El arreglo no se debe destruir, y los valores ordenados se deben almacenar en otro arreglo que
comienza en la posicin 0040h. Al terminar la ejecucin el CPU deber estar en un bucle infinito.
IV. DESCRIPCIN GENERAL DE LA SOLUCIN
Idecode:
En este archivo se hizo el reseteo y la escritura de datos en un array de registros siendo estos R0,
R1, R2 y R3 definidos en la seal register_array.
Tambin se realiz la asignacin de las seales de los datos de lectura, read_data_1 y
read_data_2, adems del mux para el registro write_register_address y la extensin del signo.
Execute:
Control:
Para las seales de salida se realiza una combinacin de cada bit del opcode para
V. RESULTADOS EXPERIMENTALES
Valores de tsu, tco, tpd y th.
= 0.221
= 14.489
= 2.612
= 1.698
En la simulacin se puede observar el producto a partir del acumulado el valor final es 119
(hexadecimal), pero como cada registro posee 8 bits, el resultado es 19(hexadecimal).
Utilizando la herramienta de Quartus II Programer del men Tools es que se pudo hacer la
configuracin del dispositivo, y para verificar si el programa funciona, se selecciona la opcin
In-System Memory Content Editor, con ello se puede garantizar si el programa es el correcto y
cumple las especificaciones requeridas.
Las computadoras han ido evolucionando con el pasar del tiempo, crendose ms procesadores
de varios cores, posibilitando una mayor eficacia en el trabajo y aumentando las instrucciones de
ejecucin, por ello que se concluye que debido a esta experiencia del laboratorio es que se aprecia
un panorama general de la funcionalidad de un CPU tipo RISC.
REFERENCES
[1] M. Morris Mano, Computer System Architecture, 3rd Edition, Prentice Hall, 1993.
[2] http://ieeexplore.ieee.org/document/5954228/
ANEXO