A maior rede de estudos do Brasil

Grátis
30 pág.
Relatório SAP1_FINAL

Pré-visualização | Página 2 de 5

que armazena respostas 
intermediárias durante um processamento no computador, ou seja, é onde estão acumuladas 
as respostas às operações lógicas e aritméticas. O acumulador apresenta duas saídas: 
 
1. De dois estados que vai diretamente ao somador-subtrator; 
2. De três estados que vai ao barramento W. 
 
Portanto, a palavra do acumulador de 8 bits continuamente comanda o somador-
subtrator; e a mesma palavra aparece no barramento W quando EA está alto. 
 
Sem um registrador como um acumulador, seria necessário escrever o resultado de 
cada operação (adição, multiplicação, deslocamento, etc.) na memória principal, e que talvez 
fosse lido novamente para o uso na operação seguinte. O acesso à memória principal é mais 
lento do que o acesso a um registrador como um acumulador, pois a tecnologia utilizada para 
a grande memória principal é mais (mas mais barata) do que àquela utilizada num registrador. 
Fig. 3.1.1 – Esquemático do Acumulador. 
 
 
Relatório SAP-1 Página 6 
 
Simulação: 
 A simulação realizada foi gerada pelo software Quartus II© da ALTERA Corporation® 
mostra os diagramas de forma de onda. A simulação é como a de um registrador de 8 bits. A 
entradas utilizadas foram 1 (0000 0001bin), 2 (0000 0010 bin), 3 (0000 0011 bin) e 5 (0000 0101 
bin). A figura abaixo mostra a simulação realizada quando o sinal de controle LR está em alto: 
 
Fig. 3.1.2 – Diagrama de Simulação com LR em alto. 
 
 Percebemos que quando LR está em alto nenhuma das entradas que colocamos 
aparece nas saídas (mais significativo apresenta índice 7 e menos significativo apresenta índice 
0). A próxima figura abaixo apresenta a simulação feita com LR em baixo: 
 
Fig. 3.1.3 – Diagrama de Simulação com LR em baixo. 
Relatório SAP-1 Página 7 
 
 Percebemos que quando LR está em baixo, as entradas que colocamos aparecem nas 
saídas. 
 
3.2- Barramento W: 
 
O barramento W é um caminho comum de dados utilizados por vários componentes 
dos SAP 1. Ele existe para facilitar o transmissão de informações entre os componentes dentro 
do SAP 1. 
 
Os componentes: Contador de programa, REM, RAM, Registrador de Instruções, 
Acumulador, Somador-Subtrator, Registrador B e Registrador de Saída são os componentes 
que recebem ou enviam informações para o barramento W. 
 
Para que os sinais de um componente não interfiram em outro, todos os componentes 
que enviam dados para o barramento W têm tri-states em suas saídas, sendo assim, somente 
um componente de cada vez envia os dados, os demais somente enviam alta-impedância para 
o barramento. 
 
Da mesma forma, os componentes que recebem dados do barramento são todos 
síncronos e possuem um sinal específico para receber os dados do barramento no momento 
correto, senão poderia acontecer de um componente receber dados que eram endereçados a 
outro componente. 
 
3.3- Contador de Programa: 
 
Originalmente, pelos diagramas apresentados pelo livro texto da disciplina, o contador 
de programa era um contador módulo 16 assíncrono implementado com macro funções, 
entretanto, mesmo funcionando perfeitamente sozinho, o delay para mudar seus bits quando 
utilizado em conjunto com o SAP 1 nos motivou para redesenhá-lo, porém desta vez o 
implementamos com flip-flops JK e síncrono. Ou seja, agora seus bits mudam sempre ao 
mesmo tempo (vide fig. 3.3.1 – Esquemático do Contador de Programa). 
 
A função do contador de programa dentro do SAP 1 é fornecer (durante a etapa de 
execução) o endereço da instrução a ser executada. Uma vez que limparmos o contador dando 
sinal baixo na entrada CLR’, zeramos o contador e, quando tivermos um sinal CP alto e uma 
borda de decida do CLK’, ele vai contar 1. Esta combinação de sinais só ocorre no primeiro ciclo 
de cada uma das instruções. 
 
Em outras palavras, ele passa o endereço 0H para o barramento W (que a REM irá 
receber no ciclo seguinte), quando terminar a instrução e formos para outra, ela passa 1H, 
depois 2H até que o programa seja terminado. 
 
As saídas do contador contem tri-states, se faz necessário uma vez que ele vai para o 
barramento W, sendo assim, temos mais uma entrada de controle chamada EP, quanto EP for 
alto, o sinal do contador vai para o barramento W. 
 
Relatório SAP-1 Página 8 
 
 
Fig. 3.3.1 – Esquemático do Contador de Programa. 
 
Simulação: 
 
 A simulação realizada foi gerada pelo software Quartus II© da ALTERA Corporation® 
mostrando os diagramas de forma de onda. A simulação mostra o funcionamento de um 
contador módulo 16. As entradas de controle foram alternas durante o processo para mostrar 
as saídas mostradas pelo contador. 
 
 A figura abaixo mostra a simulação realizada. 
 
Fig. 3.3.2 – Diagrama de Simulação do Contador de Programa. 
 
 Percebemos que quando CLK’ se encontra em uma borda de decida e CP esta em alto, 
temos uma mudança nas saídas do contador, quando CLR’ fica em baixo, setamos todos os 
valores do contador para 0. A saída S fica em alta-impedância quando EP esta em baixo. 
Percebemos também que o contador conta corretamente. 
 
3.4- Contador em Anel: 
 
Apesar deste nome, este componente funcional é na verdade um Registrador de 
Deslocamento em Anel. Este tipo de circuito combinatório tem a seguinte propriedade. A cada 
Relatório SAP-1 Página 9 
 
pulso do clock, o flip-flop i passa deu estado interno para o flip-flop i+1, e adquiri o estado 
interno do flip-flop i-1. Caso este flip-flop seja o primeiro, ele recebe o estado interno do 
último. Em outras palavras, eles ficam alternando seus sinais entre si infinitamente. 
 
O Contador em Anel implementado com circuitos 74107 possui 6 flip-flops do tipo JK e 
foi montado para que após um sinal baixo de Clear’ seu primeiro flip-flop tivesse valor 1 e os 
demais valor 0. Sendo assim, este valor 1 seria passado entre seus flip-flops (vide fig. 3.4.1 – 
Contador em Anel). 
 
Este componente faz parte do Controlador Seqüencial, que é responsável por 
determinar os sinais de controle que serão enviados para cada um dos demais componentes, a 
função do contador em anel é informar ao controlador seqüencial em qual clico de execução 
da instrução esta sendo executado no momento. 
 
Inicialmente, somente o primeiro flip-flop tem valor alto, o que significa que estamos 
no primeiro ciclo de instrução. Após uma borda de subida do clock, apenas o segundo flip-flop 
tem valor alto, mais uma borda e apenas o terceiro flip-flop tem borda alta e assim 
sucessivamente ele indica em qual ciclo de execução estamos. 
 
Nosso registrador de deslocamento tem 6 flip-flops porque as instruções do SAP 1 
podem levar no máximo 6 ciclos, ou seja, um flip-flop por ciclo. 
 
 
Fig. 3.4.1 – Esquemático do Contador em Anel 
 
Simulação: 
 
 A simulação realizada foi gerada pelo software Quartus II© da ALTERA Corporation® 
mostrando os diagramas de forma de onda. A simulação mostra o funcionamento de um 
Registrador de Deslocamento de 6 bits. Basicamente deixamos o contador funcionar, depois 
demos um sinal de Clear’ baixo e o deixamos funcionar novamente. 
 
 A figura abaixo mostra a simulação realizada. 
 
Relatório SAP-1 Página 10 
 
 
Fig. 3.4.2 – Diagrama de Simulação do Contador em Anel. 
 
 Observamos que as mudanças ocorrem na borda de subida do clock, quando Clear’ vai 
para baixo voltamos ao inicio da contagem e que os sinais se propagam da forma que 
deveriam acontecer. 
 
3.5- Controlador Seqüencial: 
 
Este provavelmente é o mais complexo e importante no SAP 1. Ele é responsável por 
decodificar as instruções armazenas no registrador de instruções e enviar para cada um dos 
demais componentes os sinais de controle corretos para que o SAP 1 funcione. 
 
As entradas deste complexo componente são um Clock, um Clear e os quatro bits mais 
significativos do Registrador de