Buscar

2013_1-tp02

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE FEDERAL DE LAVRAS
Departamento de Ciência da Computação
Bacharelado em Ciência da Computação
Engenharia de Controle e Automação
Disciplina: Arquitetura de Computadores I � GCC117 1
o
	
Semestre de 2013.
Professor: Luiz Henrique A. Correia
TRABALHO PRÁTICO No
	
2 (Trabalho em grupo)
Valor: 15 pontos � Data de entrega com apresentação: de 03 a 12/09/2013
Este trabalho prático tem como objetivo estudar o funcionamento de um processador
MIPSmonociclo. O desenvolvimento deste trabalho é a base para uma implementação de
um simulador funcional de um processador, e contribui para o apreendizado dos conceitos
empregados na operação de um processador.
Um dos requisitos fundamentais para se entender como implementar o simulador fun-
cional do processador monociclo é a compreensão do termo �funcional�. Uma descrição
funcional divide o processador nos blocos que existirão em uma implementação real. Por-
tanto, o processador deverá conter cinco rotinas principais, uma para cada estágio a ser
executado para cada instrução. É necessário que seja criada uma unidade de controle
para a interação das unidades funcionais.
Note que a única forma de comunicação entre essas cinco rotinas em um processador
real é via registradores, que no caso do simulador serão implementados por estruturas de
dados no programa do simulador. As cinco unidades funcionais (estágios) consideradas
neste trabalho são denominados: IF, ID,EX,MEM e WR.
O trabalho prático deve considerar as seguintes características:
1. Um barramento de dados de 32 bits e um barramento de endereço de 16 bits;
2. Contém 32 registradores de uso geral de 32 bits de largura;
3. A memória é endereçada à palavra, ou seja, cada endereço de memória deve se
referir a quatro bytes. No total, o processador deverá possuir 64k (216) endereços.
Então, a memória total do processador será de: 256KB (64K endereços x 4 bytes).
4. O programa deve receber como entrada um arquivo binário com linhas de 32 bits
que representam a codificação das instruções do MIPS. Para tal é necessário o de-
senvolvimento de um Interpretador de Instruções no qual dado um conjunto de
instruções em linguagem de montagem do MIPS, este seja convertido para linguagem
de máquina, em binário.
Cada instrução em binário deve ser decodificada e apresentada em uma interface
de saída, por exemplo:
Entrada: add $16, $5, $15 Saída: 00000000101011111000000000100000
5. As 20 instruções consideradas no trabalho são dos tipos R, J e I. O conjuntomínimo
de instruções que devem ser usadas no trabalho são:
• Aritméticas e Lógicas: add, sub, addi, and, or, nor, mult, sll, slr, mul, div.
• Transferência de dados: lw, sw.
• Desvio Condicional: beq, bne, bge, slt.
• Desvio Incondicional: jump, jal, jr.
Em caso de dúvidas de como usar as instruções consulte o livro e o
manual do MARS, inclusive verifique as variações de cada instrução
(mul e div podem ser usadas em operações entre registradores e entre
registradores e constantes).
6. O caminho de dados a ser considerado para a implementação monociclo deve ser o
monstrado na Figura 1.
7. Esta implementação deve ser orientada por máquina de estado a ser apresentada,
por meio de uma figura, na documentação do trabalho para todas as 20 instruções.
8. A interface de saída DEVE também apresentar para cada um dos cinco estágios os
valores correspondentes para:
a) IF: O valor do PC atual da instrução (PC).
b) ID: os valores dos sinais para as linhas de controle em cada estágio, são eles:
• Registrador de Destino (RegDst).
• Escrita em registrador (RegWrite).
• Segundo operando fonte da UAL (ALUSrc).
• Leitura da Memória (MemRead).
• Escrita em Memória (MemWrite).
• Seleção da saída da memória ou dado da ALU (Mem2Reg).
• Sinal de desvio incondicional (Jump).
• Sinal de desvio condicional (Branch).
• Código de operação da ALU (ALUOp).
• Valor do endereço de desvio (PCinconditional).
c) EX: todos os flags da ALU e cálculo do endereço de desvio.
• Valor do Flag de Zero (Zero).
• Valor do Sinal de Overflow (Ovfl).
• Valor do cálculo do endereço de desvio (Desvio).
d) MEM: valores dos sinais de Leitura e Escrita.
• Caso exista a operação de leitura, o valor de MemRead e do endereço de
Memória.
2
• Caso exista a operação de escrita, o valor de MemWrite e do endereço de
Memória.
e) WR: valores da saída da memória para registrador, registrador de destino e do
dado.
• Valor do sinal de memória para registrador (Mem2Reg).
• Endereço do registrador de destino (RegDst).
• Valor do dado a ser escrito no registrador (Dado).
9. Os programas rodando neste simulador devem considerar os exemplos do livro (seção
2.7) ExemploFolha, Fact e Strcpy. Outros exemplos também DEVEM ser de-
senvolvidos pelo grupo.
10. O código deve seguir os estágios definidos pela máquina de estados concebida e ser
desenvolvido segundo as regras da boa programação.
A linguagem usada no desenvolvimento do trabalho pode ser qualquer uma, mas pref-
erencialmente usa C, C++ ou Java.
O trabalho DEVE apresentar documentação científica possuindo pelo menos tópicos
como:
• Introdução;
• Implementação;
• Dificuldades encontradas;
• Como usar o software;
• Exemplos de testes;
• Conclusões;
• Referências bibliográficas.
Utilize boas práticas de apresentação de um trabalho científico.
O trabalho deverá ser apresentado ao professor nas datas de
03 a 12/09/2013, para tal marque com antecedência, por e-mail
ou pessoalmente o horário da apresentação.
References
[1] DAVID A. Patterson E JOHN L. Henessy. Organização e projeto de computadores:
A interface Hardware Software. Morgan Kaufmann, 3
a
edição, 2005.
3
Figure 1: Caminho de dados Monociclo.
4

Outros materiais