A maior rede de estudos do Brasil

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

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

UNIVERSIDADE FEDERAL DE SÃO CARLOS 
CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA 
DEPARTAMENTO DE COMPUTAÇÃO 
 
 
 
 
 
IMPLEMENTAÇÃO 
E SIMULAÇÃO DO SAP-1 
 
Laboratório de Arquitetura e Organização de Computadores 1 
Professor Edilson Reis Rodrigues Kato 
 
 
 
 
 
 
Bruno Katekawa RA: 278017 
Caio César Viel RA: 278092 
Relatório SAP-1 Página 1 
 
 
ÍNDICE 
 
 
1. Introdução .................................................................................................. 2 
2. Conjunto de Instruções ............................................................................................. 3 
3. Blocos Funcionais ....................................................................................................... 5 
3.1. Acumulador ........................................................................................................ 5 
3.2. Barramento W ................................................................................................... 7 
3.3. Contador de Programa ................................................................................... 7 
3.4. Contador em Anel ............................................................................................ 8 
3.5. Controlador Seqüencial ................................................................................. 10 
3.6. Eliminador de Trepidação ............................................................................ 14 
3.7. RAM ........................................................................................................................ 15 
3.8. Registrador B ..................................................................................................... 18 
3.9. Registrador de Saída ....................................................................................... 18 
3.10. REM ........................................................................................................................ 19 
3.11. Registrador de Instruções ............................................................................ 20 
3.12. Somador-Subtrator ......................................................................................... 21 
4. Programando o SAP-1 ............................................................................................... 25 
5. Simulação do SAP-1 ................................................................................................... 27 
6. Conclusões ..................................................................................................................... 29 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Relatório SAP-1 Página 2 
 
 
1- INTRODUÇÃO 
 
 O SAP-1 implementado este semestre pelos alunos da disciplina de Laboratório de 
Arquitetura e Organização de Computadores 1 da Universidade Federal de São Carlos (UFSCar) 
é uma espécie de computador primitivo com um conjunto de instruções limitada e capacidade 
de memória e número de bits reduzido. 
 
 Mesmo com todas estas limitações, SAP-1 contém vários elementos usados das 
construções de processares como microprogramação, máquinas de estado finito, unidades 
lógicas aritméticas, contador de programa, barramentos de dados e muitos outros blocos 
funcionais estudados na matéria teórica referente a este laboratório (Arquitetura e 
Organização de Computadores 1). 
 
 O trabalho aqui apresentado é um relatório mostrando os elementos fundamentais da 
implementação e simulação do SAP-1 realizada no software Quartus II© da ALTERA 
Corporation®. 
 
 Este trabalho descreve como foram implementados os blocos funcionais além de 
explicar como operar o SAP-1 além de mostrar um exemplo de programação e simulação 
completo do SAP-1. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Relatório SAP-1 Página 3 
 
 
2- CONJUNTO DE INSTRUÇÕES 
 
 
 Nesta seção serão explicadas as instruções básicas que o SAP-1 pode executar. 
 
LDA: 
 Significa “carregar o acumulador” (Load the Accumulator). Uma instrução LDA 
completa inclui o endereço hexadecimal dos dados a serem carregados. LDA 8H, por exemplo, 
significa “carregar o acumulador com o conteúdo do local 8H da memória”. Portanto, temos: 
 
�� � 1111 0000 
 
a execução de LDA 8H resulta em: 
 
� � 1111 0000 
 
 Similarmente, LDA AH significa “carregar o acumulador com o conteúdo do local AH da 
memória”, LDA FH significa “carregar o acumulador com o conteúdo do local FH da memória”. 
 
 
ADD: 
 Uma instrução ADD completa inclui o endereço da palavra a ser acrescentada. Por 
exemplo, ADD 9H significa “acrescentar o conteúdo do local 9H da memória ao conteúdo do 
acumulador”; a soma substitui o conteúdo original do acumulador. 
 
 Um exemplo: suponhamos que o decimal 2 esteja armazenado no acumulador e que o 
decimal 3 esteja armazenado no local 9H da memória. Temos: 
 
� � 0000 0010 
�� � 0000 0011 
 
Durante a execução de ADD 9H, acontece o seguinte: primeiro R9 é carregada no 
registrador B para se obter: 
	 � 0000 0011 
 
e quase que instantaneamente o somador-subtrator forma a soma de A com B. 
 
��� � 0000 0101 
 
 Depois, esta soma é carregada no acumulador para se obter: 
 
� � 0000 0101 
 
 A rotina precedente é usada em todas as instruções ADD. A palavra RAM endereçada 
vai ao registrador B e a saída do somador-subtrator vai ao acumulador. Isto ocorre porque a 
execução de ADD 9H acrescenta R9 ao conteúdo do acumulador, a execução de ADD FH 
acrescenta RF ao conteúdo do acumulador e etc. 
 
 
 
Relatório SAP-1 Página 4 
 
SUB: 
 Uma instrução SUB completa inclui o endereço da palavra a ser subtraída. Por 
exemplo, SUB CH significa “subtrair o conteúdo do local CH da memória do conteúdo do 
acumulador”; a diferença para fora do somador-subtrator depois substitui o conteúdo do 
acumulador. 
 
 Um exemplo: suponha que o decimal 7 esteja no acumulador e que o decimal 3 no 
local CH da memória. Temos: 
� � 0000 0111 
�
 � 0000 0011 
 
 A execução de SUB CH ocorre como segue. Primeiro RC é carregada no registrador B 
para se obter: 
	 � 0000 0011 
 
e quase que instantaneamente o somador-subtrator forma a diferença de A com B: 
 
�������� � 0000 0100 
 
Logo depois, esta diferença é carregada dentro do acumulador e 
 
� � 0000 0100 
 
 A rotina precedente aplica-se a todas as instruções SUB; a palavra RAM endereçada vai 
ao registrador B e a saída do somador-subtrator vai ao acumulador. Isto ocorre porque a 
execução de SUB CH subtrai RC do conteúdo do acumulador, a execução SUB EH subtrai RE do 
acumulador e etc. 
 
 
OUT: 
 A instrução OUT diz ao computador SAP-1 para transferir o conteúdo do acumulador 
para a porta de saída. Depois de OUT ter sido executada, podemos ver a resposta ao problema 
que está sendo resolvido. 
 
 OUT é completa por si própria, isto é, não temos de incluir nenhum endereço quando 
usamos esta instrução, pois ela não envolve dados na memória. 
 
 
HLT: 
 HLT significa para (halt). Esta instrução diz ao computador para parar o processamento 
de dados. HLT assinala o fim de um programa, similar à maneira com que um ponto assinala o 
fim de uma frase ou sentença. Devemos usar uma instrução HLT no fim de cada programa do 
SAP-1; do contrário, obtemos refugos (trash) no computador (respostas sem significado 
causadas pelo processamento descontrolado). 
 
HLT é completa por si própria; não temos de incluir nenhuma palavra de RAM ao 
usarmos essa instrução, pois ela não envolve a memória. 
 
 
 
Relatório SAP-1 Página 5 
 
3- BLOCOS FUNCIONAIS 
 
 
 Nesta seção mostraremos todos os blocos funcionais que desenvolvemos para criamos 
o SAP-1. 
 
3.1- Acumulador: 
 
O acumulador é um registrador de memória intermediária