UNIVERSIDADE FEDERAL DE MINAS GERAIS
INSTITUTO DE CIÊNCIAS EXATAS
DEPARTAMENTO DE CIêNCIA DA COMPUTAÇÃO
Programa de Residência em Tecnologia da Informação para Google
Disciplina: Arquitetura de Computadores
1o. Semestre de 2007
Professor: Mario Fernando Montenegro Campos (mario@dcc.ufmg.br)
Monitor: Antônio Celso Caldeira Júnior (caldeira.dcc.ufmg.br)
Data da entrega: 28.03.07
Data da devolução: 16.04.07
Trabalho Prático 1
Observações:
- Grupos de três alunos
Especificação:
- O primeiro trabalho consiste na implementação funcional multiciclo do microprocessador uRISC. Deve-se entregar o código munido de instruções para compilação/execução do programa e a documentação.
- A especificação e o conjunto de instruções do processador uRISC pode ser encontrada em uRISC. A implementação deve ser feita utilizando a linguagem C++.
- Os testes disponibilizados em Testes serão utilizados para avaliar a implementação e, portanto, devem ser utilizados como base para a implementação de outros possíveis testes.
- A documentação deve conter os itens citados abaixo, não se limitando, entretanto, a eles:
- introdução ao assunto do trabalho
- descrição da implementação
- decisões de implementação e razões para elas
- datapath da implementação
- testes realizados
- conclusões
Atualização
Montador do μRISC.
- Pre-requisitos
- Todas as intruções no arquivo de entrada devem estar presentes dentre as 32 do uRISC e que não há erros de sintaxe, caso contrário elas serão ignoradas.
- Haverá somente uma instrução por linha
- Na linha em que for declarado um LABEL não haverá nenhuma outra
instrução ( mesmo caso para .global )
- Os registradores devem ser identificados como r0, r1, r2, r3, r4, r5, r6 ou r7
- Instruções de uso
- make (compilar)
- make run (executar utilizando o arquivo teste61.asm e colocando a saída em saida.txt
- ./monte -e [arquivo_de_entrada] -s [arquivo_de_saida] (executar com entrada e saída indicadas)