Você está na página 1de 23

1

UNIVERSIDADE FEDERAL DO PARÁ


INSTITUTO DE TECNOLOGIA
FACULDADE DE ENGENHARIA ELÉTRICA E BIOMÉDICA

JÉSSICA
JOISILENE SILVA DE OLIVEIRA
RAFAEL SILVA DE OLIVEIRA
RENATA DA SILVA ARBAGE BRITO

SAP-1

BELÉM-PA
2017
2

JÉSSICA
JOISILENE SILVA DE OLIVEIRA
RAFAEL SILVA DE OLIVEIRA
RENATA DA SILVA ARBAGE BRITO

SAP-1

Trabalho sobre SAP-1 apresentado à disciplina de


Microprocessadores da Universidade Federal do
Pará.
Me. Prof. PATRÍCIO ELVIS SOUSA CORDEIRO.

BELÉM-PA
2017
3

SUMÁRIO

1. INTRODUÇÃO..................................................................................................4
2. ARQUITETURA.................................................................................................5
2.1. CONTADOR DE PROGRAMA.....................................................................5
2.2. ENTRADA E REM........................................................................................6
2.3. RAM.............................................................................................................6
2.4. REGISTRADOR DE INSTRUÇÕES............................................................7
2.5. CONTROLADOR-SEQUENCIALIZADOR...................................................8
2.6. ACUMULADOR............................................................................................8
2.7. SOMADOR-SUBTRATOR...........................................................................9
2.8. REGISTRADORES....................................................................................10
2.9. REGISTRADOR DE SAÍDA.......................................................................10
2.10. INDICADOR VISUAL EM BINÁRIO...........................................................11
3. CONJUNTO DE INSTRUÇÕES......................................................................12
4. PROGRAMAÇAO DO SAP-1.........................................................................13
4.1. EXEMPLO DE PROGRAMAÇÃO..............................................................13
5. CICLO DE MÁQUINA E DE INSTRUÇÃO......................................................15
5.1. CICLO DE INSTRUÇÃO............................................................................16
6. O CICLO DE BUSCA......................................................................................17
6.1. O CICLO DE EXECUÇÃO.........................................................................20
6.1.1. Instrução LDA...........................................................................................20
6.1.2. Instrução ADD..........................................................................................20
6.1.3. Instrução SUB...........................................................................................20
6.1.4. Instrução OUT...........................................................................................21
6.1.5. Instrução HLT...........................................................................................21
7. CONCLUSÃO..................................................................................................22
8. REFERÊNCIAS...............................................................................................23
4

1. INTRODUÇÃO

O computador do tipo SAP-1 (Simple as Possible 1) segue uma arquitetura


projetada para fins acadêmicos, de modo que sua simplicidade e inteligibilidade são
alcançadas ao custo de um reduzido número de instruções e de sua baixa
velocidade de processamento.
Entre suas principais vantagens estão justamente o número reduzido de
instruções, que o torna uma ferramenta didática capaz de exemplificar o
funcionamento de um sistema básico de computador.
Neste projeto foi implementado um computador do tipo SAP-1 utilizando o
software de simulação Proteus. Verificou-se o funcionamento de um computador
básico, capaz de somar e subtrair.
5

2. ARQUITETURA

A arquitetura do modelo SAP-1 (Figura 1) caracteriza-se por ser um


computador organizado em barramentos, tendo como estrutura central de
comunicação o barramento W de 8 bits, responsável pelo nível de compartilhamento
de todos os dispositivos a ele conectado. Todas as saídas dos registradores para o
barramento W são de três estados (possibilita a transferência de dados
ordenadamente) e as outras saídas dos registradores são de dois estados
(comandam continuamente as caixas às quais elas estão conectadas).

Figura 1: Arquitetura SAP-1.


Fonte: MALVINO, 1985.

2.1. CONTADOR DE PROGRAMA


O contador de programa (Figura 2) inicia a contagem em 0000 assim que a
simulação é iniciada, e a cada vez que o bit CP da matriz de controle é ativado, tem
sua contagem incrementada, que conta de 0000 até 1111. Sua função é enviar à
memória o endereço da instrução seguinte a ser buscada e executada.
6

É restabelecido (reset) a 0000 antes de cada processamento no computador.


Também é conhecido como ponteiro (pointer), uma vez que aponta ou indica um
endereço na memória onde algo importante está sendo armazenado.

Figura 2: Contador de Programa.


Fonte: (Arquivo: SAP-1[2.6].pdsprj).

2.2. ENTRADA E REM


O dispositivo entrada e REM (Figura 3) inclui o registrador de dados e o
registrador de endereços. É responsável pela execução das ações de entrada de
dados e realização das instruções de um programa. Também é usado para
armazenar o valor passado pelo contador de programa.

Figura 3: Entrada e REM.


Fonte: (Arquivo: SAP-1[2.6].pdsprj).

2.3. RAM
A RAM (Figura 4) tem por finalidade armazenar os dados e as instruções
enviadas pelo programa que serão usados no computador. Caracteriza-se por ser
7

uma memória estática com a capacidade de armazenar 16 linhas de 8 bits cada


uma.
Durante um processamento do computador, a RAM recebe endereços de 4
bits do REM e é executada uma operação de leitura. Desta maneira, a instrução ou
palavra de dados armazenada na RAM é colocada no barramento W para uso em
alguma outra parte do computador.

Figura 4: Memória RAM.


Fonte: (Arquivo: SAP-1[2.6].pdsprj).

2.4. REGISTRADOR DE INSTRUÇÕES


O registrador de instruções (Figura 5) é parte da unidade de controle, tendo
por finalidade receber um byte referente a uma instrução lida a partir da memória
RAM. O byte recebido é dividido em dois nibbles (meios-bytes), o nibble superior
referente à própria instrução e passado ao controlador-sequencializador e o nibble
inferior referente a uma saída lida no barramento W quando necessário. O
registrador de instruções efetua uma operação de leitura da memória.

Figura 5: Registradores de Instruções.


Fonte: (Arquivo: SAP-1[2.6].pdsprj).
8

2.5. CONTROLADOR-SEQUENCIALIZADOR
O controlador-sequencializador (Figura 6) é parte da unidade de controle, que
tem como função controlar todo o computador. Este dispositivo recebe o nibble
referente à instrução a ser executada, a qual se encontra no registrador de
instrução, decodifica e envia uma palavra de 12 bits para o computador.

Figura 6: Controlador-Sequencializador.
Fonte: (Arquivo: SAP-1[2.6].pdsprj).

2.6. ACUMULADOR
O acumulador A (Figura 7) caracteriza-se por ser um registrador de memória
temporária que tem por finalidade armazenar operandos e resultados de
processamento realizados pelo computador. Este registrador recebe um dado
transferido pelo barramento W, podendo disponibilizar este dado tanto para o
dispositivo somador-subtrador como de volta para o barramento W.
9

Figura 7: Acumulador.
Fonte: (Arquivo: SAP-1[2.6].pdsprj).

2.7. SOMADOR-SUBTRATOR
O somador-subtrador (Figura 8) é o componente responsável pela efetivação
do processamento das operações de soma e de subtração, sendo esta parte da
Unidade Lógica e Aritmética (ULA) do computador SAP-1. Usa o método do
complemento de 2 (correspondente a uma mudança de sinal do decimal) e é
assíncrono (não-sincronizado), o que significa que seu conteúdo pode variar assim
que as palavras de entrada variem.

Figura 8: Somador-Subtrador.
Fonte: (Arquivo: SAP-1[2.6].pdsprj).
10

2.8. REGISTRADOR B
O registrador B (Figura 9) caracteriza-se por ser um registrador de memória
temporária auxiliar que coleta do barramento W determinado valor e o transfere para
o dispositivo somador-subtrador, fornecendo o número a ser adicionado ou subtraído
do conteúdo do acumulador, que é parte da ULA do computador SAP-1.

Figura 9: Registrador B.
Fonte: (Arquivo: SAP-1[2.6].pdsprj).

2.9. REGISTRADOR DE SAÍDA


O registrador de saída (Figura 10) também denominado porta de saída, é o
componente responsável por coletar o resultado da operação de processamento que
esteja armazenado no acumulador A e transferi-lo para o mundo exterior e
apresentá-lo junto ao dispositivo indicador visual binário.
Em microcomputadores os registradores de saída são conectados aos
circuitos de interface que comandam dispositivos periféricos como as impressoras,
os tubos de raios catódicos etc.

Figura 10: Registrador de Saída.


Fonte: (Arquivo: SAP-1[2.6].pdsprj).
11

2.10. INDICADOR VISUAL EM BINÁRIO


O indicador visual binário (Figura 11) é um painel luminoso com oito LEDs
(Diodo Emissor de Luz ou Light-Emitting Diode) que representam na forma binária o
valor que fora transferido do acumulador A para o registrador de saída.

Figura 11: Indicador Visual Binário.


Fonte: (Arquivo: SAP-1[2.6].pdsprj).
12

3. CONJUNTO DE INSTRUÇÕES

Até que seja programado, um computador é um aglomerado ineficaz de


hardware. Os mnemônicos (Tabela 1) servem apenas de auxilio para o programador
e representam as operações realizadas, portanto são codificados como valores
binários e armazenados em memória para que o processador possa executá-los.

Tabela 1: Mnemônicos.

Das cinco instruções, três são acompanhadas do endereço do valor a ser


utilizado para a operação. Isto é, LDA, ADD e SUB são seguidas de um endereço de
4 bits de onde será lido o dado de 8 bits a ser utilizado. Já as outras duas instruções,
OUT e HLT, são autosuficientes e não necessitam de qualquer tipo de parâmetro.
13

4. PROGRAMAÇÃO DO SAP-1

O conjunto de instruções do SAP-1 é simples, contudo suas instruções são


compatíveis com processadores 8080/8085. De modo geral, cada instrução tem 1
byte e é representada da seguinte forma:
Instrução: XXXX YYYYY
O nibble inferior (YYYY) representa um campo de endereço, denominado
operando. Já o nibble superior (XXXX) determina o código da operação (op code).

4.1. EXEMPLO DE PROGRAMAÇÃO

O exemplo a seguir mostra o seguinte problema de aritmética: 25 + 15 – 10.

Endereço Programa Conteúdo da Memória Categoria


0H LDA AH 0000 1010
1H ADD BH 0001 1011
2H SUB CH 0010 1100 Instruções
3H OUT 1110 0000
4H HLT 1111 0000
5H --- ---- ----
6H --- ---- ----
7H --- ---- ----
8H --- ---- ----
9H --- ---- ---- Dados
AH 19H 0001 1001
BH FH 0000 1111
CH AH 0000 1010

1. A primeira instrução é buscada na memória;


2. A instrução decodificada é LDA, portanto deve ser carregado no acumulador
o conteúdo do endereço AH, isto é, o valor 19H (25 em decimal);
3. A próxima instrução decodificada é ADD, portanto o valor do acumulador
(19H) será somado com o valor do endereço BH, isto é, o valor FH (15 em
decimal). O resultado da operação é armazenado no acumulador. Portanto, seu
valor atual é 28H (40 em decimal);
4. A próxima instrução será buscada na memória;
14

5. A instrução decodificada é SUB, portanto o valor presente no endereço CH,


AH (10 em decimal) será subtraído do acumulador. O resultado da operação é
armazenado no acumulador. Portanto, seu valor atual é 1EH (30 em decimal);
6. A instrução decodificada em seguida é OUT, portanto o valor do acumulador
é transferido para o registrador de saída;
7. A próxima instrução buscada na memória é a instrução HLT, então o
processamento é encerrado.

5. CICLO DE MÁQUINA E DE INSTRUÇÃO


15

Toda operação do microprocessador SAP-1 é coordenada pelo módulo


controlador-sequencializador. Basicamente, essa unidade de controle gera as
palavras de controle necessárias para buscar uma instrução na memória e executá-
la. Todas as operações realizadas pela unidade de controle são representadas pela
palavra de controle CON. Essa palavra representa, em cada bit, a ação da unidade
de controle em um determinado elemento do sistema.
Para que esse ciclo seja executado, a unidade de controle realiza uma série
de operações coordenadas a fim de manipular os elementos do sistema. Esse
processo é denominado ciclo máquina e no SAP-1 é dividido em 6 estágios. O modo
como esses estados são gerados será apresentado na construção do projeto. No
entanto, cabe ressaltar que a transição entre os estados é dado pelo sinal de clock
do processador. Isso é mostrado na Figura 12.

Figura 12: Contador em anel e sinais de relógio e de temporização.


Fonte: MALVINO, 1985.

De modo geral, todas as instruções do SAP-1 levam 1 ciclo de máquina para


serem buscadas e executadas. Portanto, conforme a Figura 13 o ciclo de instrução é
equivalente a 1 ciclo de máquina.
16

Figura 13: Ciclo de instrução do SAP-1.


Fonte: MALVINO, 1985.

No ciclo de máquina, os três estados atuais realizam a leitura da instrução na


memória, enquanto os últimos 3 determinam sua execução.

5.1. CICLO DE INSTRUÇÃO


O número de estados T necessário para buscar e executar uma instrução é
chamado ciclo de instrução. No SAP-1 o ciclo de instrução é igual ao ciclo de
máquina. Enquanto no SAP-2 e em outros microcomputadores o ciclo de instrução
pode ser igual a dois ou mais ciclos de máquina.
17

6. O CICLO DE BUSCA

A unidade de controle constitui a chave para uma operação automática do


computador. A unidade de controle gera as palavras de controle que buscam e
executam cada instrução. Enquanto cada instrução for buscada e executada, o
computador passará por diferentes estados de temporização (estados T), períodos
durante os quais mudam os conteúdos dos registros.
O estado T1, mostrador na Figura 14, é chamado de estado de endereço,
pois o conteúdo do contador de programa é transferido para o registrador de
endereços de memória. Durante esse estado somente os sinais Ep e LM são
ativados.

Figura 14: Estados ativos em T1.


Fonte: Embarcados.
18

Figura 15: Palavra de controle no estado T1.


Fonte: Embarcados.

O estado T2 é, mostrado na figura 16, chamado de estado de incremento,


pois o contador de programa é alterado para apontar para o próximo endereço de
memória. Somente o sinal Cp é ativado.

Figura 16: Elementos utilizados no estado T2.


Fonte: Embarcados.
19

Figura 17: Palavra de controle no estado T2.


Fonte: Embarcados.

O ultimo estágio de busca é representado pelo estado T3, denominado estado


de memória. Nesse estado, o conteúdo da RAM endereço por REM é transferido
para o registrador de instruções. Para isso, os únicos sinais ativados são CE e LI.

Figura 18: Elementos utilizados no estado T3.


Fonte: Embarcados.
20

Figura 19: Palavra de controle no estado T3.


Fonte: Embarcados.
 
6.1. O CICLO DE EXECUÇÃO
Do mesmo modo mostra nas figuras acima, o ciclo de execução fará com que
apenas os elementos necessários sejam acionados. Esse é o papel fundamental da
unidade de controle, isto é, coordenar as ações.

6.1.1. Instrução LDA


 T4: A instrução é decodificada e o operando é carregado no REM. Os
sinais ativados são Ei e Lm;
 T5: O conteúdo da RAM é transferido para o acumulador. Os sinais
ativados são CE e La;
 T6: Sem operações.

6.1.2. Instrução ADD


 T4: A instrução é decodificada e o operando é carregado no REM. Os
sinais ativados são Ei Lm;
 T5: O conteúdo da RAM é transferido para o registrador B. Os sinais
ativados são CE e Lb;
 T6: A operação de adição (Su = 0) é realizada e o resultado é
armazenado no registrador acumulador. Os sinais Eu e La são ativados.

6.1.3. Instrução SUB


 T4: A instrução é decodificada e o operando é carregado no REM. Os
sinais ativados são Ei e Lm;
 T5: O conteúdo da RAM é transferido para o registrador B. Os sinais
ativados são CE e Lb;
 T6: A operação de subtração (Su = 1) é realizada e o resultado é
armazenado no registrador acumulador. Os sinais La, Eu e Su são ativados.
21

6.1.4. Instrução OUT


 T4: A instrução é decodificada e o valor do acumulador é transferido
para o registrador de saída. Os sinais Ea e Lo são ativados;
 T5: Sem operações;
 T6: Sem operações.

6.1.5. Instrução HLT


 T4: A instrução é decodificada e não requer sinais de controle, pois o
processamento é encerrado;

Na Figura 11, as palavras de controle (em hexadecimal) para cada estado


das instruções são apresentadas, indicando os sinais ativos.

Figura 20: Palavras de controle para a execução das instruções.


Fonte: MALVINO, 1985.
22

7. CONCLUSÃO

Ao fim desse projeto, pode-se entender como é o funcionamento básico de


um computador bem simples, capaz de efetuar poucas operações como LDA, ADD,
SUB, OUT e HLT. Observou-se também que, por mais trabalhoso que seja construir
um circuito desses, o SAP-1 possui funções muito restritas em relação as SAP-2 e
SAP-3. Entretanto, construir seu circuito é de vital importância para entender a lógica
computacional básica dos computadores e microprocessadores.
23

8. REFERÊNCIAS

[1] GARCIA, Fernando Deluno. Introdução ao microprocessador básico.


Embarcados. Disponível em <https://www.embarcados.com.br/introducao-ao-
microprocessador-basico/>. Acesso em 26 de junho de 2017.

[2] GARCIA, Fernando Deluno. Operação do microprocessador SAP-1.


Embarcados. Disponível em <https://www.embarcados.com.br/operacao-do-
microprocessador-sap-1/>. Acesso em 28 de junho de 2017.

[3] MALVINO, Albert P. Microcomputadores e Microprocessadores, McGraw -


Hill, 1985.

[4] MANZANO, Augusto. Introdução à arquitetura SAP com foco em SAP-1.


Revista Programar. Disponível em <https://www.revista-
programar.info/artigos/introducao-a-arquitectura-sap-com-foco-em-sap-1/>. Acesso
em 23 de junho de 2017.

[5] SANTOS, Rafael. Simulando um computador SAP-1. Devser. Disponível em


<http://devser.com.br/2013/10/simulando-um-computador-sap-1-simple-as-possible-
1/>. Acesso em 26 de junho de 2017.

Você também pode gostar