A maior rede de estudos do Brasil

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

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

figura Fig. 3.12.3 foram realizadas as seguintes subtrações simples: 4 - 
3, 1 - 1 e 5 – 2. 
 
 
 
 
 
 
Relatório SAP-1 Página 23 
 
 
Fig. 3.12.2 – Diagrama de Simulação das Somas. Repare que há rápidos picos nas saídas devido 
ao atraso do sinal. 
Relatório SAP-1 Página 24 
 
 
Fig. 3.12.3 – Diagrama de Simulação das Subtrações. Repare que há rápidos picos nas saídas 
devido ao atraso do sinal. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Relatório SAP-1 Página 25 
 
4- Programando o SAP-1 
 
 
 Realizar a programação do SAP 1 é uma tarefa relativamente simples. Basta setarmos 
as chaves de controle corretamente e programarmos as instruções que desejamos executar. 
Depois, modificamos as chaves de controle para iniciarmos a execução. Uma vez que a 
execução começou, temos apenas que esperar, pois o SAP 1 é automático uma vez que está 
programado. 
 
 O algoritmo para programação do SAP 1 é o seguinte. 
 
1. A chave Select é deixada em nível baixo para podermos programar o SAP 1; 
2. Enviamos um sinal alto para na chave Limpar/Iniciar, depois voltamos para baixo (estamos 
limpando os componentes do SAP 1 para começar um programa); 
3. Nas chaves A0-3 colocamos o endereço da instrução ou dado que desejamos gravar na 
RAM; 
4. Nas chaves D0-7 colocamos a instrução ou dado que desejamos gravar; 
5. Damos um sinal de “clock” na chave Program; 
6. Repetimos os passos 3, 4 e 5 até programarmos todas as instruções e dados desejados; 
7. Se desejarmos usar o clock automático, levamos Auto/Manual para nível alto, se 
desejarmos usar o clock Etapa Única, levamos Auto/Manual para nível baixo; e 
8. A chave Select é deixada em nível alto para iniciarmos a execução do SAP 1. 
 
 Uma vez que o SAP 1 foi programado, só temos que esperar até todas as instruções 
sejam executadas automaticamente (ou dando o clock do Etapa Única) para termos nossa 
saída. 
 
Exemplo de Programação: 
 
 Vamos programar a seguinte seqüência de instruções: 
 
Endereço Instruções 
0H LDA 9H 
1H ADD AH 
2H ADD BH 
3H SUB CH 
4H OUT 
5H HLT 
Tabela 4.1 – Instruções a serem programadas. 
 
 Vamos também setar alguns dados nas posições usadas pelas instruções. Temos os 
seguintes dados então: 
 
Endereço Dados 
9H 10H 
AH 14H 
BH 18H 
CH 20H 
Tabela 4.2 – Dados a serem inseridos. 
 
 
Relatório SAP-1 Página 26 
 
 
 Temos então que programar estas instruções e inserir estes dados. Primeiramente 
damos um sinal de LIMPAR/INICIAR alto, depois voltamos para baixo. Colocamos a chave 
Select em baixo. 
 
 Colocamos 9H (1001bin) nas chaves A e 10H (00010000bin) em D e damos um clock em 
Program. Agora colocamos AH (1010bin) em A e 14H (00010100bin) em D e damos um clock 
em Program. Repetimos o processo colocando os seguintes dados em A e D, e depois 
dando o clock: 
 
1. BH (1011bin) em A e 18H (00011000bin) em D; 
2. CH (1100bin) em A e 20H (00100000bin) em D; 
3. 0H (0000bin) em A e 09H (00001001bin) em D; LDA 9H 
4. 1H (0001bin) em A e 1AH (00011010bin) em D; ADD AH 
5. 2H (0010bin) em A e 1BH (00011011bin) em D; ADD BH 
6. 3H (0011bin) em A e 2CH (00101100bin) em D; SUB CH 
7. 4H (0100bin) em A e EXH (1110XXXXbin) em D; e OUT 
8. 5H (0101bin) em A e FXH (1111XXXXbin) em D; HLT 
 
A figura abaixo mostra como foi montada a programação usada neste exemplo no 
software Quartus II© da ALTERA Corporation®. 
 
 
 Fig. 4.1 – Programação do Exemplo no Quartus. 
 
 
Relatório SAP-1 Página 27 
 
5- Simulação do SAP-1 
 
 
 Após montar todos os componentes funcionais do SAP 1, utilizamos software Quartus 
II© da ALTERA Corporation® para realizar simulações do funcionamento do SAP 1. Utilizamos 
o exemplo de programa cedido pelo livro texto. Ficamos com o seguinte programa. 
 
1. LDA 9H 
2. ADD AH 
3. ADD BH 
4. SUB CH 
5. OUT 
6. HLT 
 
 No primeiro comando ele carrega o valor contido no endereço 9H da RAM no 
Acumulador. 
 
���������� � ����9 !; 
 
 No segundo comando, ele carrega o valor contido no endereço AH da RAM no 
registrador B, realizamos a soma através do Somador-Subtrator dos valores do registrador B 
com o Acumulador e gravamos este valor no acumulador. 
 
�#$%&'����� 	 � ����� !; 
���������� � ���������� � �#$%&'����� 	; 
 
 No terceiro comando, gravamos o que estiver na posição BH da RAM no registrador B 
e realizamos a soma através do Somador-Subtrator do valor contido no registrador B com o 
valor do Acumulador e grava o resultado no Acumulador. 
 
�#$%&'����� 	 � ����	 !; 
���������� � ���������� � �#$%&'����� 	; 
 
 O quarto comando carrega o valor da posição CH da memória no registrador B e 
realizar uma subtração através do Somador-Subtrator do valor contido no registrador B no 
Acumulador e grava o resultado no Acumulador. 
 
�#$%&'����� 	 � ����( !; 
���������� � ���������� ) �#$%&'����� 	; 
 
 O quinto comando carrega o valor do Acumulador no Registrador de Saída. 
 
�#$%&'����� �# 
�� � ����������; 
 
 O sexto e último comando é usado para parar a execução do SAP 1. 
 
 Depois de programar o SAP 1 e inserir os dados nas posições citadas (vide o tópico 
Programação do SAP 1 para mais detalhes), mudamos Select para 1, ligamos o entrada clock 
em um circuito gerador de clock (ou um gerador de freqüência), setamos AUTO/MANUAL para 
1, e colocamos LIMPAR/INICIAR em 0. 
Relatório SAP-1 Página 28 
 
 
 Realizamos a simulação do Quartus com o arquivo de formato de ondas criado na 
etapa de programação do SAP 1. O resultado obtido (omitindo a parte de programação já 
mostrada em tópicos anteriores) é mostrado na figura abaixo. 
 
 
Fig. 5.1 – Diagrama de Simulação do SAP 1. 
 
 Observamos que o saída clockREAL tem metade de freqüência do clock, isto era 
esperado, pois clockREAL é o clock fornecido pelo Eliminador de Trepidação, que atua como 
um divisor de freqüência. 
 
 Também notamos que após a execução da última instrução (HLT), o clockREAL pára. O 
que também era esperado, pois o este comando deveria parar a execução do SAP 1. 
 
 O valor mostrado pelas Saídas do SAP 1 é 1CH, Este valor é o resultado das operações 
realizadas pelo SAP 1. As operações foram: 
 
10 � 14 � 24 
24 � 18 � 3( 
3( ) 20 � 1( 
 
 Portanto, o resultado obtido pelo SAP 1 também era esperado. Portanto, podemos 
dizer que a simulação foi um sucesso. 
 
 
 
 
 
 
 
 
 
 
 
 
Relatório SAP-1 Página 29 
 
6- CONCLUSÕES 
 
 Apesar de relativamente simples comparado com arquiteturas comerciais, o SAP-1 
demandou bastante tempo e trabalho para ser implementado e entendido. Além disso, ele 
apresenta muito dos fundamentos que estas mesmas arquiteturas comerciais utilizam, porém 
obviamente em escalas bem mais simples e compreensíveis. 
 
 Concluímos por fim que a construção e simulação do SAP-1 foi uma tarefa interessante 
de ser executada, e colaborou muito em nossa formação como Engenheiros da Computação.