Exercício CPU - 2
falha 1
Note
Para resolver o exercício a seguir vocês devem verificar a instrução que está sendo executada na CPU e o que ela deveria estar fazendo no hardawre.
Vocês estavam desenvolvendo o projeto F quando o teste de integração ./testeAssemblyMyCpu.py
falhou no nasm descrito a seguir. Um colega do grupo enviou o waveform a seguir para você encontrar o problema (você deve falar o que está falhando).
Tip 1
- clique na imagem para ampliar
- esse waveform é dos sinais da
CPU.vhd
Essa simulação executa o programa a seguir:
leaw $0, %A
movw (%A), %D
leaw $1, %A
movw (%A), %A
addw %A, %D, (%A)
Que possui a RAM iniciada com os seguintes valores:
Address | Dado |
---|---|
0 | 0000000000000010 |
1 | 0000000001000010 |
3 | 0000000000000000 |
Resposta
O loadA não está em '1' durante a execução da quarta linha do código (movw).
Engenharia reversa
Você foi chamado para fazer engenharia reversa em um programa executando no HW do Z01, na captura de dados a equipe responsável não conseguiu capturar o sinal da Instrução, e não sabem quais comandos estão sendo executados no computador.
Encontre os três comandos em nasm que estão sendo executados no hardware nesse momento:
Tip 2
- clique na imagem para ampliar
- esse waveform é dos sinais da
CPU.vhd
Resposta
leaw $3, %A
movw %A, %D
addw %A, %D, %D