Cpu en vhdl

Solo disponible en BuenasTareas
  • Páginas : 6 (1414 palabras )
  • Descarga(s) : 0
  • Publicado : 18 de diciembre de 2009
Leer documento completo
Vista previa del texto
SIMULACIÓN MEDIANTE LENGUAJE VHDL DE UNA UNIDAD DE CONTROL MICROPROGRAMADA CON FINES DIDÁCTICOS.
R. Rico López, J. A. de Frutos Redondo, J. Mª Clemente Párraga y D. Meziat Luna. Departamento de Automática. Universidad de Alcalá. En el presente trabajo se describe una aplicación desarrollada en lenguaje VHDL con el fin de realizar la simulación de la arquitectura de un microprocesador de 32 bitscuya unidad de control es microprogramada. El fin de esta aplicación es didáctico. Hemos querido aplicar toda la potencia del VHDL a la didáctica de la Arquitectura de Computadores ya que nos permite, en el nivel más bajo, abstraer conocimientos obviando toda la problematica del conexionado de circuitos físicos y, en el nivel más avanzado, estudiar la implementación de algoritmos, técnicasarquitectónicas y sus rendimientos de una forma gráfica que sería muy dificil llevar a cabo con dispositivos comerciales. El diseño de la aplicación cubre todos los aspectos propios de la Arquitectura de Computadores excepto el nivel tecnológico de implementación en silicio. Se ha construido la ruta de datos, se ha diseñado el juego de instrucciones y su formato, se ha determinado el tipo desecuenciamiento del microprograma y el formato de las microinstrucciones y se han corrido programas sobre esta máquina evaluando su correcto funcionamiento. Este trabajo no solo no agota las posibilidades didácticas de esta linea sino que permite explorar nuevos caminos. 1. Arquitectura de la ruta de datos
CONTADOR DE PROGRAMA LPC RESET BUS DE DIRECCIONES
(32 bits)

CP

SALIDA A

SALIDA B

0[X0, X1]
4 bits

1

2

2

1

0 [Y0, Y1]

4 bits

BANCO DE REGISTROS 16 registros

MULTIPLEXOR X

MULTIPLEXOR Y

ALE

latch BUS DE DATOS
(32 bits)

X
DIRECCIÓN A DIRECCIÓN B

Y

MEMORIA

[S0,...S3]

ALU
(4 bits; a la unidad de control)

FLAGS
ACUMULADOR ACUMULADOR
PUERTA DE ENTRADA

MEMT MW

LAC

buffer bidireccional
MEM MR MW

DT AT
LR

PCT

BUSDE DATOS INTERNO BUS DE DIRECCIONES INTERNO

DIT

ENTRADA DE INSTRUCCIONES

LI

SALIDA DE DESPLAZAMIENTOS

DIRECCIÓN B

ROM DE

UNIDAD DE CONTROL

RELOJ RESET
FLAGS (4 bits; de la ALU)

µINSTRUCCIONES
DIRECCIÓN A

REGISTRO DE ESTADO
DIRECCIONES DE REGISTROS

señales de control

Figura 1. Arquitectura del procesador simulado.

Dada la limitación de espacio no nos vamosa detener en la descripción de la aplicación pero si queremos mostrar un modelo terminado y probado con éxito y que abre perspectivas nuevas. La figura 1 ilustra la arquitectura del computador implementado en lenguaje VHDL[3]. Esta máquina de pizarra se ajusta a la arquitectura de Von Neumann[2], con la simplificación de que no tiene sistema de E/S. Esta formado por una unidad aritmético-lógica,un banco de 16 registros, un interfaz con memoria, una unidad de direccionamiento y la unidad de control. Los buses y los registros de la máquina son de 32 bits.
REGISTRO DE INSTRUCCIÓN
32 LI rc_out(20)
0 31 16 15

2. El juego de instrucciones El diseño del juego de instrucciones de esta máquina está sujeto a muy pocas restricciones por tratarse de una arquitectura simulada. Solo hemos deajustarnos a un formato tratable por el hardware y a las especificaciones a experimentar. Los modos de direccionamiento permitidos son el directo a registro, el relativo a registro más desplazamiento y el inmediato[1]. Cada vez que se realiza una fase de búsqueda se leen los 4 bytes del formato aun cuando alguno pueda no ser utilizado. 3. La unidad de control En la figura 2 se ilustra la unidad decontrol microprogramada con secuenciamiento implícito[2]. La ROM de microinstrucciones en VHDL es un

(al bus de datos)
32

OPERACIÓN REG. REG.
31 24 23 20 19 16 15

DESPLAZAMIENTO

DESPLAZAMIENTO
0

8

reloj
16 extensión de signo

reset

ROM
PUNTERO
(dirección de FETCH) (dirección de microsalto)

8

8

8 8 8
S1

M U X 2
S0

8

M U X 1

8

L A T C H

8...
tracking img