Arquitetura e Organização de Computadores
Por: Rhuan Garcia de Assis Teixeira • 19/6/2022 • Ensaio • 882 Palavras (4 Páginas) • 78 Visualizações
Relatório Lab02
Arquitetura e Organização de Computadores
Aluno: Rhuan Garcia de Assis Teixeira – Ciência da computação
Sumário
Banco 16x8 3
Decodificador de Endereços 3
Circuito principal 4
Testes 5
Escrita: 5
Leitura de apenas um registrador: 5
Leitura de registradores diferentes (ambos escritos com valores diferentes anteriormente): 6
Banco Thread 8x16 7
Decodificador de endereços: 7
Banco 8x16: 7
Circuito Principal 8
Testes 8
Teste de escrita em Clock “Par” 9
Teste de escrita em Clock “Impar” 9
Teste de Leitura em Clock “Par” 10
Teste de Leitura em Clock “Ímpar” 10
Questões 11
Questão 1 11
Questão 2 11
Conclusão 11
Banco 16x8
Para iniciar o projeto, pensei em quais seriam as entradas e saídas do circuito, chegando a conclusão de que seriam necessárias as seguintes entradas:
- Uma entrada D (8bits), que é o dado a ser escrito caso aconteça a escrita;
- Três entradas de 4bits para os endereços dos 3 registradores a serem acessados;
- Clock
- Write Enable, necessário para desabilitar a escrita quando não usada
E tendo como saídas V0 e V1, sendo a saída dos dados escritos no registrador de endereço E0 e E1 respectivamente
Decodificador de Endereços
Pensadas as entradas e saídas, parti para o Logisim, onde comecei fazendo o subcircuito responsável por decodificar o endereço, presente abaixo:
[pic 1]
Circuito principal
Utilizando do subcircuito anterior, registradores de 8 bits e portas lógicas, foi feita o banco de registradores pedido, como presente no circuito abaixo.
[pic 2]
Testes
Foi construído um circuito que utiliza o circuito principal como caixa preta, para que os testes sejam executados de forma mais eficiente e prática. Com ele, foram testadas as funções de escrita, leitura do mesmo registrador em ambas saídas e leitura de dois registradores diferentes em cada saída.
Escrita:
[pic 3]
Leitura de apenas um registrador:
[pic 4]
Leitura de registradores diferentes (ambos escritos com valores diferentes anteriormente):
[pic 5]
Banco Thread 8x16
Como o circuito anterior foi um banco 16x8, foram necessárias algumas alterações nos subcircuitos para os utilizarmos, como alterar o tamanho dos registradores e diminuir os bits de endereçamento (consequentemente o circuito responsável por decodificá-los). Com isso obtive o seguinte resultado:
Decodificador de endereços:
Banco 8x16:[pic 6]
[pic 7]
Circuito Principal
Feitos os subcircuitos que julguei necessários para o projeto, utilizando um contador (que poderia ser substituído por um flip-flop) e portas lógicas, foi construído o banco 8x16 para processadores mult-thread. Como podemos ver abaixo
...