Proyecto final del curso Arquitectura de Computadoras impartido en la Facultad de Ingeniería de la Universidad Nacional Autónoma de México.
El objetivo de este proyecto es implementar un microprocesador de tipo Von Neumann en lenguaje VHDL dentro del entorno MAX+PLUS II y validarlo en el FPGA de una tarjeta de desarrollo Altera.
LDA #opr
- Opcode: 0x10
- Tamaño: 2 bytes
- Función: Carga el valor inmediato a la instrucción en el registro A.
SUMA #opr
- Opcode: 0x20
- Tamaño: 2 bytes
- Función: Suma el valor inmediato a la instrucción al valor en el registro A.
SHA
- Opcode: 0x40
- Tamaño: 1 byte
- Función: Corrimiento a la derecha del valor en el registro A.
BNZ addr
- Opcode: 0x30
- Tamaño: 2 bytes
- Función: Ramifica a la dirección de memoria inmediata a la instrucción en caso de que el valor en el registro A sea diferente a cero.
LDA #226
ciclo-1 : SUMA #5
BNZ ciclo-1
LDA #10
ciclo-2 : SHA
BNZ ciclo-2
Codificación en la memoria de programa:
Dirección | Valor | Ensamblador |
---|---|---|
0x00 | 0x10 | LDA |
0x01 | 0xE2 | #226 |
0x02 | 0x20 | SUMA |
0x03 | 0x05 | #5 |
0x04 | 0x30 | BNZ |
0x05 | 0x02 | 2 |
0x06 | 0x10 | LDA |
0x07 | 0x0A | #10 |
0x08 | 0x40 | SHA |
0x09 | 0x30 | BNZ |
0x0A | 0x08 | 8 |
Manuel Rábade <manuel@rabade.net>
Esta obra es publicada bajo una Licencia Pública General de GNU.