Skip to content
This repository was archived by the owner on Oct 2, 2022. It is now read-only.

Latest commit

 

History

30 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto 2: Arquitetura de Computadores

O projeto foi desenvolvido utilizando VHDL (matéria quarto semestre de engenharia de computação).

Especificações

Criar uma CPU multiciclo que realiza as seguintes instruções e seus opcodes:

  • ADD: 00
  • SUB: 01
  • BEQ: 10
  • JUMP: 11

Formato das instruções

  • Tipo R:

  • Tipo Condicional:

  • Tipo J:

Máquina de estados

O estado initReg é utilizado para inicializar os registradores, pois não existe uma instrução que permite adicionar um valor ao registrador.

CPU

Tabelas de sinais

  • Inicializar registrador:

  • Tipo R:

  • Tipo BEQ:

  • Tipo JMP:

Testes realizados

Os valores iniciais dos registradores podem ser encontrados nas linhas 152 a 155 no arquivo 'cpu.vhd':

  • R0: 00000011 - decimal: 3
  • R1: 00000011 - decimal: 3
  • R2: 00110000 - decimal: 48
  • R3: 11000000 - decimal: 192

Programa teste (arquivo: rom.vhd):

(00) BEQ R2, R3, 00 (Não realiza o Jump)
(01) POS 0001 0100 (20)
(02) ADD R3, R3, R2 (R3 = 1111 0000) (Realiza a soma)
(03) BEQ R0, R1, 00 (Realiza o Jump)
(04) POS 0001 0100 (20)
...
(20) SUB R2, R2, R1 (R2 = 0010 1101)
(21) JMP 01 1001 (25)
(22) ADD R3, R3, R2 (Não realiza o Add) (R3 = 0001 1101)
...
(25) SUB R3, R2, R1 (R3 = 0010 1010)
...

Resultados

Init Regs + BEQ (not taken):

ADD:

BEQ (taken):

SUB:

JMP:

SUB após o JMP:

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages