Skip to content

Projeto de adição da operação ADDN ao Processador ICMC e de implementação de um Jogo da Velha

Notifications You must be signed in to change notification settings

CerqueiraMatheus/SSC0119-Projeto-Final

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto final de Laboratório de Organização de Computadores

Projeto de adição da operação ADDN ao Processador ICMC e de implementação de um Jogo da Velha, componente final da avaliação de Prática em Organização de Computadores (SSC0119), ministrada pelo professor Eduardo do Valle Simões no ICMC/USP durante o primeiro semestre de 2021.

Clique aqui para assistir ao vídeo de descrição do projeto.

Alterações no Processador ICMC

Operação ADDN

A operação ADDN (Add Immediate) consiste na adição entre um registrador e um valor imediato informado. Assim, uma implementação bem-sucedida deve ser capaz de interpretar uma instrução no seguinte formato:

addn rx, ry, #NR

No exemplo, a operação deve produzir um resultado condizente ao valor contido em ry adicionado a #NR, um número qualquer informado. Por dividir a instrução, é possível adicionar um valor imediato de 16 bits, 216 - 1, ou 65.535.

A descrição completa da instrução está disponível no arquivo proc-addn.pdf.

Montador

O montador foi atualizado a partir do código-fonte original e seguindo os passos disponibilizados para que fosse possível a compreensão da instrução ADDN. Foram adicionados o código da instrução, separadores e quantidades de linhas e a lógica de montagem e escrita nos arquivos defs.h e montador.c.

O montador alterado está disponibilizado sob a pasta /Montador.

Simulador

O simulador foi refatorado a partir do código-fonte original, melhorando a modularização através da separação de arquivos, encapsulamento usando técnicas de TAD, além da renomeação de funções, constantes e variáveis, tornando mais inteligível e facilitando futuras alterações. Foi adicionado o código da operação ADDN às constantes, criado um sinal de controle para IMEDIATO no mux M4 e, então, adicionada lógica para a operação no ciclo de DECODIFICA do processador. Para realizar a operação na ULA, utilizou-se a lógica já implementada para a operação ADD.

O simulador alterado está disponibilizado sob a pasta /Simulador.

Jogo

Foi escolhida a implementação de um Jogo da Velha para a segunda parte do projeto. Implementado em Assembly, o jogo permite que 2 jogadores se enfrentem e, a cada rodada, o jogador vencedor recebe um ponto no placar. Para jogar, o usuário deve digitar um número entre 1 e 9, que representa uma determinada casa do tabuleiro virtual.

O jogo desenvolvido está disponibilizado sob a pasta /Jogo.

Desenvolvedores

Gustavo Henrique Brunelli (11801053)

Matheus Henrique de Cerqueira Pinto (11911104)

Pedro Lucas de Moliner de Castro (11795784)

About

Projeto de adição da operação ADDN ao Processador ICMC e de implementação de um Jogo da Velha

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published