Buscar

SAP1 - Aula

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 51 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Microprocessadores e Microprocessadores e MicrocontroladoresMicrocontroladores
Matheus W. Romão
Microprocessadores - Matheus Romão
SIMPLE AS POSSIBLE 1 SIMPLE AS POSSIBLE 1 –– SAP1SAP1
• Computador: “O mais simples
possível”.
• Introdução aos principais aspectos
envolvidos no funcionamento de
um computador.
• Apesar de simples, apresenta uma
série de conceitos que possibilitam
o entendimento de arquiteturas
mais complexas.mais complexas.
Microprocessadores - Matheus Romão
SIMPLE AS POSSIBLE 1 SIMPLE AS POSSIBLE 1 –– SAP1SAP1
ULA: Acumulador A; Somador/Subtrator; 
Registrador B.
Unidade de Controle: Contador de 
Programa; Registrador de Instruções; 
Controlador/Sequencializador; Sinais 
de CLR e CLK.
Barramento: Barramento W.Barramento: Barramento W.
Memória: REM e RAM.
Interface de Entrada/Saída: Chaves de 
programação de entrada; registrador 
de saída; Indicação Visual Binária
Microprocessadores - Matheus Romão
SAP 1: Fonte de AlimentaçãoSAP 1: Fonte de Alimentação
• Fornecer a tensão (e a corrente) que alimenta 
todo o circuito.
• Ponte de diodo: Retificador de onda completa.
• Capacitor de 1000uF: Filtro capacitivo.
• LM 3405: Regulador de tensão de +5V.
Microprocessadores - Matheus Romão
SAP1: Contador de Programa (ou Ponteiro)SAP1: Contador de Programa (ou Ponteiro)
• Contador de 4 Bits (0000 - 1111 ou 0 – F).
• CP: Define a saída dos Flip-Flops após as transições de Clock 
(CP=0 => Mantem Estado // CP=1 => Muda a saida). Isto irá parar (0) ou 
incrementar o contador (1).
•CLK: Clock (Ativo em Baixo). Comanda a transição das saídas dos Flip Flops.
• CLR: Zera o contador (Ativo em Baixo)
•Ep: Enable (1=Habilita ou 0=Desabilita a saída do contador para o barramento)
Contador: Enviar à memória o endereço da instrução seguinte a ser buscada e executada. Ex: 0000 => Endereço 0000 memória 
74LS107 - Dual J-K Negative-edge-triggered Flip-Flops 74LS126 - QUAD 3-STATE BUFFERS
Microprocessadores - Matheus Romão
SAP1: Entrada e REMSAP1: Entrada e REM
74LS173 : 4BIT D-TYPE REGISTER W/ 3-STATE OUTPUTS
: 0= Carrega o endereço colocado
no barramento dentro do registrador.
1= Endereço não é carregado no 
registrador.
CLK= Clock
Pin 1,2
0= Habilita saída REM
1=Tri-State
74LS157 - QUAD 2-INPUT MULTIPLEXER REM: Registrador de endereços de 
memória
Retem o endereço (enviado pelo contador 
de programa) onde serão acessados os 
dados/instruções da memória.
Multiplexador: Define se o endereço que 
será acessado na memória virá do 
contador de programa (durante execução) 
ou das chaves seletoras (durante gravação 
do programa, antes da execução). 
Controlado pela chave S2.Microprocessadores - Matheus Romão
SAP1 SAP1 –– RAM RAM LOW = Habilita memória
HiGH = Saída em 3-state
74189: 64-BIT (16x4) RANDOM ACCESS MEMORY 
(With 3-State Outputs)
•2 x 74189 = RAM 16 x 8
•S3 = 8 Bits de dados (colocados 
ajustando as chaves)
•S4= Chave modos Leitura/Escrita
•S2 = Chave (Run – Prog)
•Gravando Programa na RAM:
•S2=prog (slide anterior também há).
•Ajustes chave S1 definem endereço 
de armazenamento.
•Ajustes em S3 definem a palavra a 
ser armazenada. Segurar S4=escrita 
(carregar memória).
•Soltar S4 e ajustar S2=RUN.Microprocessadores - Matheus Romão
SAP 1: Registrador SAP 1: Registrador 
de Instruçõesde Instruções
74LS173 : 4BIT D-TYPE REGISTER 
With 3-STATE OUTPUTS
•Ei (Ativo em Baixo): Habilita /Desabilita (3-
State) saída de C9. 
•Em C8 a saída está permanentemente 
habilitada (Pin 1 e 2 = 0).
•Li (Ativo em Baixo): Habilita/Desabilita 
entrada de dados nos dois registradores.
•CLK = Clock
A palavra lida da memória (Instrução de 8bits) contem 2 informações:
•Os 4 primeiros bits (nibble inferior) se referem ao endereço onde está o dado a ser 
manipulado (operando).
•Os outros 4 bits (i4,i5,i6,i7) – nibble superior – se referem à operação que deverá ser 
realizada. Esta informação vai ao Controlador/Sequencializador para que a operação a ser 
realizada possa ser decodificada (reconhecida).
Registrador de Instruções: Armazenar a Instrução a ser executada.
Microprocessadores - Matheus Romão
SAP1: Acumulador (ACC)SAP1: Acumulador (ACC)
74LS173 : 4BIT D-TYPE REGISTER 
With 3-STATE OUTPUTS
•LA (ativo em baixo): Habilita/Desabilita entrada de dados nos registradores.
•EA: Habilita (1)/Desabilita (0) saída dos registradores para o barramento. 
•CLK: Clock
•Obs: Saída dos registradores ficam permanentemente habilitadas e se ligam as 
entradas dos dois somadores/subtratores.
Acumulador: Registrador que armazena resultados intermediários durante um processamento.
With 3-STATE OUTPUTS
74LS126: QUAD 3-STATE BUFFERS
Microprocessadores - Matheus Romão
SAP 1: Registrador BSAP 1: Registrador B
Registrador B: Utilizado para armazenar temporariamente um dado que será submetido a 
uma soma ou subtração.
Obs: Na soma/subtração há dois operandos (números) envolvidos. Cada um precisa estar 
armazenado em um registrador (Acc e Registrador B) antes da operação ser efetuada.
74LS173 : 4BIT D-TYPE REGISTER 
With 3-STATE OUTPUTS
• LB (ativo em baixo): Habilita (0)/Desabilita (1) entrada de dados 
nos registradores.
• CLK: Clock
Microprocessadores - Matheus Romão
SAP 1: Somador/SAP 1: Somador/SubtratorSubtrator
Somador/Subtrator: Efetua a 
Soma/Subtração dos 
conteúdos dos registradores 
ACC e B.
74LS83: Somador 
completo de 4 bits.
Utilizam-se dois CI’s
pois os dados são de 
8bits.
74LS126: 
QUAD 3-
STATE 
BUFFERS
SU: 0= Transmite conteúdo do Reg B para o 
somador (soma).
1=Faz o complemento de 2 do Reg B e envia ao 
somador (para fazer subtração).
EU: Habilita (1)/Desabilita (0) saída do somador ser 
colocada no barramento.
SAP 1: Registrador de Saída/ Indicação Visual BináriaSAP 1: Registrador de Saída/ Indicação Visual Binária
74LS173 : 4BIT D-TYPE REGISTER 
With 3-STATE OUTPUTS
•LO (Ativo em baixo):
Habilita (0)/Desabilita (1) que a 
informação presente no 
barramento seja carrega nos 
registradores e conduzida aos 
LED’s.
•CLK: Clock.
•Indicação Visual Binária: LED’s
Registrador de Saída: Armazena os dados processados (resultado soma/subtração)
Microprocessadores - Matheus Romão
SAP 1: Controlador/SAP 1: Controlador/SequencializadorSequencializador
• Gerar os sinais de clock (CLK) que irão sincronizar toda a operação do 
computador.
• Gerar os sinais de reinicialização (CLR) que irão zerar o contador de programas 
e eliminar a última instrução armazenada no registrador de instruções.
• Gerar a palavra de controle (CON) que irá comandar todo o computador. Esta 
palavra determina o que cada bloco irá fazer a cada transição positiva do clock.
• A palavra de controle sai pelo barramento de controle. 
Microprocessadores - Matheus Romão
SAP 1: Controlador/SAP 1: Controlador/SequencializadorSequencializador
• Palavra de Controle (CON):
• CP: Define a saída dos Flip-Flops do contador após as transições de Clock (CP=0 => Mantem Estado // 
CP=1 => Muda a saida). Isto irá parar (0) ou incrementar o contador (1).
• Ep: Enable (1=Habilita ou 0=Desabilita a saída do contador para o barramento).
• LM (Ativo em Baixo): 0= Carrega o endereço colocado no barramento dentro do registrador // 1= 
Endereço não é carregado no registrador.
• CE (Ativo em Baixo): 0 = Habilita memória RAM para Leitura ou Escrita // 1 = Saída em 3-state.
• Li (Ativo em Baixo): Habilita (0) / Desabilita (1) a entrada (armazenamento) de dados nos dois 
registradores de instrução.registradores de instrução.
• Ei (Ativo em Baixo): Habilita (0) /Desabilita(1) saída do registrador de instruções para o barramento. 
Esta saída coloca no barramento o endereço onde será buscado o dado.
•LA (Ativo em baixo): Habilita (0) /Desabilita (1) entrada de dados nos registradores do Acumulador.
•EA: Habilita (1)/Desabilita (0) saída do acumulador para o barramento. 
• SU: 0= Transmite conteúdo do Reg B para o somador (soma).
1=Faz o complemento de 2 do Reg B e envia ao somador (para fazer a subtração).
• EU: Habilita (1)/Desabilita (0) saída do somador ser colocada no barramento.
• LB (ativo em baixo): Habilita (0)/Desabilita (1) entrada de dados no Registrador B.
• LO (Ativo em baixo):Habilita (0)/Desabilita (1) que a informação presente no barramento seja 
carregada nos registradores e conduzida aos LED’s.
Microprocessadores - Matheus Romão
SAP 1: Controlador/SAP 1: Controlador/SequencializadorSequencializador
Latch (NAND)
Eliminador de trepidação 
(Debouncer):
• S5, S6 e S7 : Botões manipulados pelo usuário.
• CLR: Sinal de Clear (RESET).
• CLK: Clock.
•S5: Forçar CLEAR (RESET) no 
computador.
•S6: Permite gerar pulsos Clock
manualmente.
•S7: Coloca clock no modo 
automático ou manual.
Microprocessadores - Matheus Romão
SAP 1: Controlador/SAP 1: Controlador/SequencializadorSequencializador
Memória Intermediária de 
relógio:
Circuito utilizado para 
suportar todas as cargas 
(sinais de clock) que devem 
ser enviados aos circuitos 
do computador. do computador. 
Microprocessadores - Matheus Romão
SAP 1: Controlador/SAP 1: Controlador/SequencializadorSequencializador
Gerador de pulsos (clock
automático):
555: TIMER
F=2KHz.F=2KHz.
Flip Flop JK (Mestre-
Escravo) reduz a freqüência 
para 1KHz e proporciona 
um duty cycle de 50%.
Microprocessadores - Matheus Romão
SAP 1: BarramentoSAP 1: Barramento
• Conjunto de 8 vias (8 Bits).
• Multiplexado: Utilizado para transmissão de dados e endereços.
• Utilização de dispositivos 3-State: 
– Via comum para transmissão dos dados dos registradores.
– Como evitar que uma informação colocada no barramento vá para um destino 
errado?
– Solução: Possibilitando que os registradores sejam “desligados” do circuito em 
determinados instantes.
Microprocessadores - Matheus Romão
SAP 1: Diagrama SAP 1: Diagrama 
CompletoCompleto
Microprocessadores - Matheus Romão
SAP 1: InstruçõesSAP 1: Instruções
• Código Operação possui 4 Bits.
Microprocessadores - Matheus Romão
SAP 1: InstruçõesSAP 1: Instruções
• Como fazer um programa?
• Basta descrever seqüencialmente os passos que devem ser seguidos para que se 
cumpra aquilo que é desejado.
• O computador deve ser capaz de compreender cada passo (ou seja, ele deve 
reconhecer todas as instruções passadas).
• As instruções ficam gravadas na memória principal.
• Como isso é feito fisicamente no SAP 1?
– Chaves de seleção
1) Onde está gravado o programa?
2) Onde estão gravados os dados?
3) O que o programa faz?
4) O que é exibido no final da execução?
1) 0H a 5H
2) 9H a CH
3) Carrega um número no ACC, efetua 
duas adições e uma subtração, exibe 
o resultado da conta e para.
4) 02H (0000 0010 nos 8 Led’s de saída)
Microprocessadores - Matheus Romão
SAP 1: InstruçõesSAP 1: Instruções
Como o computador entenderá o código apresentado se ele entende somente 0’s e 1’s?
• Devemos converter o programa fonte em um programa objeto (linguagem de máquina)
• Como ficaria?
•Lembrando que: 
Microprocessadores - Matheus Romão
SAP 1: InstruçõesSAP 1: Instruções
EX 2: Escrever um programa que efetue a 
seguinte operação:
16+20+24-32
• Escrever utilizando os Mnemônicos.
• Escrever em Linguagem de Máquina.
• Escrever em Hexadecimal.
• Armazenar os dados nas posições 9H a CH• Armazenar os dados nas posições 9H a CH
Mnemônicos Binário Hexadecimal
Microprocessadores - Matheus Romão
SAP 1: FuncionamentoSAP 1: Funcionamento
• Vamos considerar que há um programa gravado na memória do SAP 1.
• Vimos que diversos módulos que compõem o SAP 1 compartilham o mesmo barramento.
• Porém se todos estiverem conectados ao barramento simultaneamente, haverá um erro na 
execução do programa.
• Para funcionar corretamente, é necessário que haja uma sincronização na atividade de cada 
módulo, ou seja, em determinados instantes alguns estarão funcionando (enviado dados, 
recebendo dados, efetuando cálculos, etc) enquanto outros estarão “desligados”.
• Como se dá a dinâmica de execução de programa?
– É uma seqüência de execução de instruções.– É uma seqüência de execução de instruções.
• Como se dá a dinâmica de execução de uma instrução?
– No SAP 1 uma instrução é executada em duas etapas (dois ciclos):
– 1) Ciclo de busca (FETCH) da instrução.
– 2)Ciclo de Execução da instrução.
• Quem coordena estes dois ciclos é a Unidade de Controle (Contador de Programa, 
registrador de instruções e o controlador/sequencializador).
• Especificamente, o Contador em Anel (localizado dentro do controlador/sequencializador) é a 
estrutura que marca os instantes em que cada ciclo começa e termina. 
• Quando um começa, termina o outro.
• No SAP 1 estes dois ciclos ocorrem em 6 pulsos de clock.
Microprocessadores - Matheus Romão
SAP 1: Funcionamento : Contador em Anel (Localizado dentro do SAP 1: Funcionamento : Contador em Anel (Localizado dentro do 
Controlador/Controlador/SequencializadorSequencializador))
• CLK: Sinal de Clock (transição negativa)
• CLR (ativo em baixo): Sinal que zera o contador em anel
• T1 a T6: Seis estados que o contador apresenta na saída
T: Palavra formada por T1 aT6.• T: Palavra formada por T1 aT6.
Microprocessadores - Matheus Romão
SAP 1: Ciclo de Busca (FETCH)SAP 1: Ciclo de Busca (FETCH)
• O Ciclo de busca da instrução é realizado em 3 etapas (denominadas Estados) ou seja, é necessário que 
três eventos ocorram para caracterizar a busca de uma instrução.
• Cada estado é coordenado pelo Contador em Anel. 
• Assim, dos 6 estados possíveis do contador em anel, são utilizados os três primeiros para buscar a 
instrução (T1 T2 e T3).
• Os três estados são:
• Estado de endereço (T1=000001): O endereço no contador de programa (que no início da execução é 
0H) é transferido para o registrador de endereços da memória0H) é transferido para o registrador de endereços da memória
• Estado de Incremento (T2=000010): O contador de programa é incrementado.
• Estado de Memória (T3=000100): A instrução é buscada na memória RAM e transferida para o 
registrador de Instrução.
Microprocessadores - Matheus Romão
Como o Controlador ativa ou desativa um determinado bloco do SAP 1?
• Ele tem acesso aos bits de controle de todos os blocos através da palavra 
de controle (12 Bits) que é enviada pelo barramento de controle. 
SAP 1: Ciclo de Busca (FETCH) SAP 1: Ciclo de Busca (FETCH) –– Estado de endereço (T1)Estado de endereço (T1)
• Estado de endereço: O endereço no contador de programa (que no início da execução é 0H) é 
transferido para o registrador de endereços da memória.
• Para que isso ocorra é preciso que o valor da saída do contador de programa seja carregado no 
registrador de endereço de memória (REM). Desta forma apenas estes dois blocos do SAP 1 devem estar 
“funcionando”. Como o Controlador/Sequencializador é o responsável por ativar/desativar os blocos do 
SAP 1, ele também estará ativo (“funcionando”).
• CP=0: Pára o contador .• CP=0: Pára o contador .
• Ep=1: Habilita a saída do contador para o barramento.
• LM (ativo em baixo)=0: Carrega o endereço colocado no barramento dentro do 
registrador do REM.
• CE (ativo em baixo) =1: Saída RAM em 3-state.
• Li (ativo em baixo) =1: Desabilita a entrada de dados nos dois registradores de 
instrução.
• Ei (ativo em baixo) =1: Desabilita saída do registradorde instruções para o 
barramento. 
• LA (ativo em baixo)=1: Desabilita entrada de dados nos registradores do 
Acumulador.
• EA=0 : Desabilita saída dos registradores para o barramento. 
• SU=0: Transmite conteúdo do Reg B para o somador (soma).
• EU=0: Desabilita saída do somador ser colocada no barramento.
• LB (ativo em baixo)=1: Desabilita entrada de dados no Registrador B.
• LO (ativo em baixo)=1: Desabilita que a informação presente no barramento seja 
carregada nos registradores e conduzida aos LED’s.
SAP 1: Ciclo de Busca (FETCH) SAP 1: Ciclo de Busca (FETCH) –– Estado de Incremento (T2)Estado de Incremento (T2)
• O contador de programa é incrementado.
• Apenas o Contador de Programa Ativo.
• Como ficará a palavra de Controle?
Microprocessadores - Matheus Romão
SAP 1: Ciclo de Busca (FETCH) SAP 1: Ciclo de Busca (FETCH) –– Estado de Memória (T3)Estado de Memória (T3)
• A instrução é buscada na memória RAM e transferida para o registrador de Instrução.
• Quem estará ativo? 
– REM; RAM IR e CON
• Como ficará a palavra de Controle?
• CP=0: Pára o contador .
• Ep=0: Desabilita a saída do contador para o barramento.
• LM (ativo em baixo)=1: Desabilita entrada de dados do Barramento dentro do 
registrador do REM (Neste instante queremos ler o conteúdo do REM e nãoregistrador do REM (Neste instante queremos ler o conteúdo do REM e não
armazenar dado).
• CE (ativo em baixo) =0: Habilita Leitura da memória no endereço armazenado no 
REM.
• Li (ativo em baixo) =0: Habilita a entrada de dados nos dois registradores de 
instrução.
• Ei (ativo em baixo) =1: Desabilita saída do registrador de instruções para o 
barramento. 
• LA (ativo em baixo)=1: Desabilita entrada de dados nos registradores do 
Acumulador.
• EA=0 : Desabilita saída dos registradores do Acumulador para o barramento. 
• SU=0: Transmite conteúdo do Reg B para o somador (soma).
• EU=0: Desabilita saída do somador ser colocada no barramento.
• LB (ativo em baixo)=1: Desabilita entrada de dados no Registrador B.
• LO (ativo em baixo)=1: Desabilita que a informação presente no barramento seja 
carregada nos registradores e conduzida aos LED’s.
Microprocessadores - Matheus Romão
SAP 1: Ciclo de ExecuçãoSAP 1: Ciclo de Execução
• O Ciclo de execução da instrução é realizado nas 3 últimas etapas (Estados).
• Cada estado é coordenado pelo Contador em Anel. 
• Assim, dos 6 estados possíveis do contador em anel, são utilizados os três últimos para executar a 
instrução (T4, T5 e T6).
• Como as instruções do SAP 1 (LDA, ADD, SUB, OUT e HLT) tem finalidades distintas, os blocos ativos nos 
estados T4, T5 e T6 irão variar para cada instrução.
• OBS: T1,T2 e T3 será o mesmo para todas as instruções.
Microprocessadores - Matheus Romão
SAP 1 SAP 1 -- Ciclo de Execução: LDA (T4)Ciclo de Execução: LDA (T4)
• Ex: Executar a Instrução LDA 9H (gravada na posição 0H da memória).
• T1: Carrega 0H no REM.
• T2: Contador de Programa = 1H.
• T3: RAM coloca no barramento o conteúdo de 0H (LDA 9H) e esta instrução é armazenada no 
Registrador de Instrução (0000 1001 = LDA 9H).
• T4: O Nibble Superior (0000),que se refere ao código de operação, vai para o 
Controlador/Sequencializador para ser decodificado. O Nibble inferior (1001), que se refere 
ao endereço onde está o dado, vai para o REM(ver diagrama SAP 1). Para que isso seja 
possível, precisamos ativar o sinais de controle dos blocos IR e REM, que 
são,respectivamente, e .são,respectivamente, e .
• Assim, a palavra de controle emitida pelo Controlador/Sequencializador é:
Microprocessadores - Matheus Romão
SAP 1: Ciclo de Execução: LDA (T4) SAP 1: Ciclo de Execução: LDA (T4) -- Destaque da Decodificação da InstruçãoDestaque da Decodificação da Instrução
Microprocessadores - Matheus Romão
SAP 1 SAP 1 -- Ciclo de Execução: LDA (T5)Ciclo de Execução: LDA (T5)
• Ex: Executar a Instrução LDA 9H (gravada na posição 0H da memória).
• T1: Carrega 0H no REM.
• T2: Contador de Programa = 1H.
• T3: RAM coloca no barramento o conteúdo de 0H (LDA 9H) e esta instrução é armazenada no 
Registrador de Instrução (0000 1001 = LDA 9H).
• T4: Nibble Superior (0000): Para Controlador/Sequencializador para ser decodificado. Nibble 
inferior (1001): Vai para o REM.
• T5: A palavra localizada no endereço 1001 da RAM é colocada no barramento e carregada no 
Acumulador. Para isso é preciso habilitar a RAM para a leitura de seu conteúdo ( ) e 
habilitar os registradores do Acumulador para que armazenem a palavra colocada no habilitar os registradores do Acumulador para que armazenem a palavra colocada no 
barramento (através do sinal de controle ).
Microprocessadores - Matheus Romão
SAP 1 SAP 1 -- Ciclo de Execução: LDA (T6)Ciclo de Execução: LDA (T6)
• Ex: Executar a Instrução LDA 9H (gravada na posição 0H da memória).
• T1: Carrega 0H no REM.
• T2: Contador de Programa = 1H.
• T3: RAM coloca no barramento o conteúdo de 0H (LDA 9H) e esta instrução é armazenada no 
Registrador de Instrução (0000 1001 = LDA 9H).
• T4: Nibble Superior (0000): Para Controlador/Sequencializador para ser decodificado. Nibble 
inferior (1001): Vai para o REM.
• T5: Os dados endereçados na RAM são carregados no Acumulador.
• T6: Estado sem operação (Nop): A instrução LDA é finalizada em T5. Assim, no estado T6 o 
Controlador emite um sinal que inativa todos os módulos do SAP1.Controlador emite um sinal que inativa todos os módulos do SAP1.
Microprocessadores - Matheus Romão
SAP 1: LDA (Resumo)SAP 1: LDA (Resumo)
• Para executar a instrução “LDA” o controlador emite 
três palavras de controle que dizem para todos os 
módulos do SAP 1 o que fazer (Habilitar/Desabilitar 
entrada ou saída, incrementar,etc). Assim, as palavras 
de controle T4,T5 e T6 são chamadas Microinstruções.
• No SAP 1, cada instrução é formada por três 
microinstruções.
Microprocessadores - Matheus Romão
SAP 1SAP 1-- Ciclo de Execução: ADD (T4)Ciclo de Execução: ADD (T4)
• Ex: Executar a Instrução ADD BH (gravada na posição 1H da memória).
• T1: Carrega 1H no REM.
• T2: Contador de Programa = 2H.
• T3: RAM coloca no barramento o conteúdo de 1H (ADD BH) e esta instrução é armazenada 
no Registrador de Instrução (0001 1011 = ADD BH).
• T4: O Nibble Superior (0001),que se refere ao código de operação, vai para o 
Controlador/Sequencializador para ser decodificado. O Nibble inferior (1011), que se refere 
ao endereço onde está o dado, vai para o REM(ver diagrama SAP 1). Para que isso seja 
possível, precisamos ativar o sinais de controle dos blocos IR e REM, que 
são,respectivamente, e .são,respectivamente, e .
• Assim, a palavra de controle emitida pelo Controlador/Sequencializador é:
Microprocessadores - Matheus Romão
SAP 1SAP 1-- Ciclo de Execução: ADD (T5)Ciclo de Execução: ADD (T5)
• Ex: Executar a Instrução ADD BH (gravada na posição 1H da memória).
– Adicionar o conteúdo localizado no endereço BH da RAM ao valor armazenado no acumulador.
• T1: Carrega 1H no REM.
• T2: Contador de Programa = 2H.
• T3: RAM coloca no barramento o conteúdo de 1H (ADD BH) e esta instrução é armazenada 
no Registrador de Instrução (0001 1011 = ADD BH).
• T4: Nibble Superior (0001): Para Controlador/Sequencializador para ser decodificado. Nibble 
inferior (1011): Vai para o REM.
• T5: Pegar o conteúdo localizado no endereço BH da RAM e vai carregá-lo no Registrador B. 
Para isso é preciso habilitar a RAM para a leitura de seu conteúdo ( ) e habilitar os Para isso é preciso habilitar a RAM para a leitura de seu conteúdo ( ) e habilitar os 
registradores do Acumulador para que armazenem a palavra colocada no barramento 
(através do sinal de controle ).
Microprocessadores- Matheus Romão
SAP 1SAP 1-- Ciclo de Execução: ADD (T6)Ciclo de Execução: ADD (T6)
• Ex: Executar a Instrução ADD BH (gravada na posição 1H da memória).
– Adicionar o conteúdo localizado no endereço BH da RAM ao valor armazenado no acumulador.
• T1: Carrega 1H no REM.
• T2: Contador de Programa = 2H.
• T3: RAM coloca no barramento o conteúdo de 1H (ADD BH) e esta instrução é armazenada 
no Registrador de Instrução (0001 1011 = ADD BH).
• T4: Nibble Superior (0001): Para Controlador/Sequencializador para ser decodificado. Nibble 
inferior (1011): Vai para o REM.
• T5: Os dados endereçados na RAM são carregados no Registrador B.
• T6: Executa a soma e coloca o resultado no barramento (EU) e carrega o resultado no • T6: Executa a soma e coloca o resultado no barramento (EU) e carrega o resultado no 
Acumulador ( ).
Microprocessadores - Matheus Romão
SAP 1SAP 1-- Ciclo de Execução: ADD (Resumo)Ciclo de Execução: ADD (Resumo)
Microprocessadores - Matheus Romão
SAP 1SAP 1-- Ciclo de Execução: SUBCiclo de Execução: SUB
• A execução da instrução SUB é semelhante à instrução ADD.
• A diferença é que na instrução SUB, durante a execução de T6 o controlador 
precisa enviar para o somador/subtrator um sinal de controle que faça o 
complemento de 2 do conteúdo do Registrador B. Este sinal de controle é o SU.
Microprocessadores - Matheus Romão
SAP 1SAP 1-- Ciclo de Execução: OUT (T4)Ciclo de Execução: OUT (T4)
• Ex: Executar a Instrução OUT (gravada na posição 2H da memória).
– Carrega o conteúdo do Acumulador no Registrador de Saída.
• T1: Carrega OUT no REM.
• T2: Contador de Programa = 3H.
• T3: RAM coloca no barramento o conteúdo de 2H (OUT) e esta instrução é armazenada no 
Registrador de Instrução (1110 XXXX = OUT).
• T4: A instrução é decodificada e o Controlador gera uma palavra de controle para que o 
conteúdo do Acumulador seja colocado no barramento e que o registrador de saída seja 
carregado com o conteúdo do Acumulador. Os sinais de controle que comandam estas duas 
funções são, respectivamente, EA e .funções são, respectivamente, EA e .
Desta forma, a palavra de controle é:
Microprocessadores - Matheus Romão
SAP 1SAP 1-- Ciclo de Execução: OUT (T5 e T6)Ciclo de Execução: OUT (T5 e T6)
• Ex: Executar a Instrução OUT (gravada na posição 2H da memória).
– Carrega o conteúdo do Acumulador no Registrador de Saída.
• T1: Carrega OUT no REM.
• T2: Contador de Programa = 3H.
• T3: RAM coloca no barramento o conteúdo de 2H (OUT) e esta instrução é armazenada no 
Registrador de Instrução (1110 XXXX = OUT).
• T4: Decodificação da instrução, conteúdo do Acumulador é carregado no Registrador de 
Saída.
• T5 e T6: A instrução OUT é concluída em T4. Logo, os estados T5 e T6 são NOP’s
Desta forma, a palavra de controle é:
Microprocessadores - Matheus Romão
SAP 1SAP 1-- Ciclo de Execução: OUT (Resumo)Ciclo de Execução: OUT (Resumo)
Microprocessadores - Matheus Romão
SAP 1SAP 1-- Ciclo de Execução: HLTCiclo de Execução: HLT
• HLT não requer uma rotina de controle pois sua execução não envolve o uso de 
registradores.
• Assim, quando a instrução HLT (1111 XXXX) for decodificada, o controlador irá 
desligar o Clock (CLK) do computador, interrompendo o processamento.
• Neste caso o Controlador/Sequencializador não precisa emitir nenhum sinal de 
controle pois o Clock está localizado dentro dele.
Microprocessadores - Matheus Romão
MicroprogramaçãoMicroprogramação
• Vimos que a Matriz de Controle gera as Microinstruções para cada ciclo de execução.
• A Matriz de Controle é construída para ser capaz de interpretar apenas as instruções (LDA, 
ADD, SUB, OUT e HLT).
• Para aumentar o número de instruções do SAP 1, teríamos que refazer o projeto da Matriz de 
Controle (montar outro circuito).
• Quanto mais instruções, mais complexo fica o desenvolvimento dos circuitos.
• Isto levou os projetistas a pensarem em uma forma alternativa de gerar as palavras de 
controle: A Microprogramação.
• Na Microprogramação, as microinstruções são armazenadas em uma ROM ao invés de serem • Na Microprogramação, as microinstruções são armazenadas em uma ROM ao invés de serem 
geradas por meio de um circuito lógico (matriz de controle).
Microprocessadores - Matheus Romão
• O ciclo de busca de qualquer instrução é 
realizada através de 3 microinstruções. 
• O ciclo de execução de cada instrução é 
realizada através de 3 microinstruções.
• Podemos carregar todas estas 
informações em uma ROM (16X12).
• Assim, o ciclo da instrução ADD seria 
realizado acessando a ROM nos 
endereços de 0H a 2H (ciclo de busca) e 
MicroprogramaçãoMicroprogramação: Controle : Controle MicroprogramadoMicroprogramado
endereços de 0H a 2H (ciclo de busca) e 
depois os endereços de 6H a 8H (ciclo de 
execução).
• O conteúdo em cada posição se refere a 
uma palavra de controle.
• Como fazer para acessar exatamente a 
posição de memória que marca o início 
de cada rotina?
Microprocessadores - Matheus Romão
MicroprogramaçãoMicroprogramação: Controle : Controle MicroprogramadoMicroprogramado
Microprocessadores - Matheus Romão
MicroprogramaçãoMicroprogramação: Controle : Controle MicroprogramadoMicroprogramado
• Pelos fios I4 a I7 chegam o código da operação das instruções.
• Este código irá acessar a ROM no endereço correspondente ao seu 
valor. [Ex: LDA – C.Op=0000 // C.Op irá acessar a posição 0000 da memória ROM.
• O conteúdo da memória neste endereço corresponde ao endereço da 
ROM de Controle onde começa a rotina de execução da instrução 
desejada.
• Para concluir o ciclo de execução de LDA é preciso que sejam 
geradas sequencialmente as microinstruções de 3H, 4H e 5H.
• Como isso é feito, se o que entra na ROM de endereço é apenas 
o código de operação da instrução?
• Utilizando um contador que irá incrementar o endereço da ROM 
de Controle a partir do endereço acessado inicialmente (Neste 
exemplo, 3H).
MicroprogramaçãoMicroprogramação: Controle : Controle MicroprogramadoMicroprogramado
• Quando T1 (contador em Anel) estiver alto (1), indica que um novo ciclo de instrução está começando.
• Este sinal, ou um sinal de CLR, forçam o contador a zerar. Assim, o endereço acessado na ROM de 
Controle é o 0H (Início do Ciclo de Busca).
• O contador continua a contagem até 2H.
• Quando T3 (contador em Anel) estiver alto, ele irá forçar o Contador Pré-Ajustável a começar uma 
contagem partindo do valor que vem da ROM de Endereço. 
• Se a instrução for, por exemplo, ADD, o contador partirá de 6H e irá contar até 8H. Após isso T1 irá zera o 
contador novamente. Microprocessadores - Matheus Romão
MicroprogramaçãoMicroprogramação: Controle : Controle MicroprogramadoMicroprogramado
• Melhoria: Detector de Nop.
• Nop: Palavra de controle 3E3H.
• Quando ocorre 3E3H, a saída da porta NAND é baixa.
• Isto restabelece o contador em anel para T1.
• Utilidade: Aumenta a velocidade de processamento.
Microprocessadores - Matheus Romão
Referencias:Referencias:
• Albert Paul Malvino ; Microcomputadores e Microprocessadores , McGraw-Hill 1985
• WILLIAM STALLlNGS ; ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES - 5ª ED. 2003

Outros materiais