Você está na página 1de 51

Microprocessadores e Microcontroladores

Matheus W. Romo

Microprocessadores - Matheus Romo

SIMPLE AS POSSIBLE 1 SAP1

Computador: O mais simples


possvel.
Introduo aos principais aspectos
envolvidos no funcionamento de
um computador.
Apesar de simples, apresenta uma
srie de conceitos que possibilitam
o entendimento de arquiteturas
mais complexas.

Microprocessadores - Matheus Romo

SIMPLE AS POSSIBLE 1 SAP1


ULA: Acumulador A; Somador/Subtrator;
Registrador B.
Unidade de Controle: Contador de
Programa; Registrador de Instrues;
Controlador/Sequencializador; Sinais
de CLR e CLK.
Barramento: Barramento W.
Memria: REM e RAM.
Interface de Entrada/Sada: Chaves de
programao de entrada; registrador
de sada; Indicao Visual Binria

Microprocessadores - Matheus Romo

SAP 1: Fonte de Alimentao

Fornecer a tenso (e a corrente) que alimenta


todo o circuito.

Ponte de diodo: Retificador de onda completa.


Capacitor de 1000uF: Filtro capacitivo.
LM 3405: Regulador de tenso de +5V.
Microprocessadores - Matheus Romo

SAP1: Contador de Programa (ou Ponteiro)


Contador: Enviar memria o endereo da instruo seguinte a ser buscada e executada. Ex: 0000 => Endereo 0000 memria
Contador de 4 Bits (0000 - 1111 ou 0 F).
CP: Define a sada dos Flip-Flops aps as transies 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 transio das sadas dos Flip Flops.
CLR: Zera o contador (Ativo em Baixo)
Ep: Enable (1=Habilita ou 0=Desabilita a sada do contador para o barramento)

74LS107 - Dual J-K Negative-edge-triggered Flip-Flops

Microprocessadores - Matheus Romo

74LS126 - QUAD 3-STATE BUFFERS

SAP1: Entrada e REM

: 0= Carrega o endereo colocado


no barramento dentro do registrador.
1= Endereo no carregado no
registrador.
CLK= Clock

74LS173 : 4BIT D-TYPE REGISTER W/ 3-STATE OUTPUTS


Pin 1,2
0= Habilita sada REM
1=Tri-State

74LS157 - QUAD 2-INPUT MULTIPLEXER

Microprocessadores - Matheus Romo

REM: Registrador de endereos de


memria
Retem o endereo (enviado pelo contador
de programa) onde sero acessados os
dados/instrues da memria.
Multiplexador: Define se o endereo que
ser acessado na memria vir do
contador de programa (durante execuo)
ou das chaves seletoras (durante gravao
do programa, antes da execuo).
Controlado pela chave S2.

SAP1 RAM

74189: 64-BIT (16x4) RANDOM ACCESS MEMORY


(With 3-State Outputs)

Microprocessadores - Matheus Romo

LOW = Habilita memria


HiGH = Sada em 3-state

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 tambm h).
Ajustes chave S1 definem endereo
de armazenamento.
Ajustes em S3 definem a palavra a
ser armazenada. Segurar S4=escrita
(carregar memria).
Soltar S4 e ajustar S2=RUN.

SAP 1: Registrador
de Instrues

Ei (Ativo em Baixo): Habilita /Desabilita (3State) sada de C9.


Em C8 a sada est permanentemente
habilitada (Pin 1 e 2 = 0).
Li (Ativo em Baixo): Habilita/Desabilita
entrada de dados nos dois registradores.
CLK = Clock

74LS173 : 4BIT D-TYPE REGISTER


With 3-STATE OUTPUTS

Registrador de Instrues: Armazenar a Instruo a ser executada.


A palavra lida da memria (Instruo de 8bits) contem 2 informaes:
Os 4 primeiros bits (nibble inferior) se referem ao endereo onde est o dado a ser
manipulado (operando).
Os outros 4 bits (i4,i5,i6,i7) nibble superior se referem operao que dever ser
realizada. Esta informao vai ao Controlador/Sequencializador para que a operao a ser
realizada possa ser decodificada (reconhecida).
Microprocessadores - Matheus Romo

SAP1: Acumulador (ACC)


Acumulador: Registrador que armazena resultados intermedirios durante um processamento.

LA (ativo em baixo): Habilita/Desabilita entrada de dados nos registradores.


EA: Habilita (1)/Desabilita (0) sada dos registradores para o barramento.
CLK: Clock
Obs: Sada dos registradores ficam permanentemente habilitadas e se ligam as
entradas dos dois somadores/subtratores.

74LS173 : 4BIT D-TYPE REGISTER


With 3-STATE OUTPUTS
74LS126: QUAD 3-STATE BUFFERS

Microprocessadores - Matheus Romo

SAP 1: Registrador B
Registrador B: Utilizado para armazenar temporariamente um dado que ser submetido a
uma soma ou subtrao.
Obs: Na soma/subtrao h dois operandos (nmeros) envolvidos. Cada um precisa estar
armazenado em um registrador (Acc e Registrador B) antes da operao 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 Romo

SAP 1: Somador/Subtrator
Somador/Subtrator
Somador/Subtrator: Efetua a
Soma/Subtrao dos
contedos dos registradores
ACC e B.

74LS126:
QUAD 3STATE
BUFFERS

SU: 0= Transmite contedo do Reg B para o


somador (soma).
1=Faz o complemento de 2 do Reg B e envia ao
somador (para fazer subtrao).
EU: Habilita (1)/Desabilita (0) sada do somador ser
colocada no barramento.

74LS83: Somador
completo de 4 bits.
Utilizam-se dois CIs
pois os dados so de
8bits.

SAP 1: Registrador de Sada/ Indicao Visual Binria

Registrador de Sada: Armazena os dados processados (resultado soma/subtrao)


LO (Ativo em baixo):
Habilita (0)/Desabilita (1) que a
informao presente no
barramento seja carrega nos
registradores e conduzida aos
LEDs.
CLK: Clock.
Indicao Visual Binria: LEDs

74LS173 : 4BIT D-TYPE REGISTER


With 3-STATE OUTPUTS

Microprocessadores - Matheus Romo

SAP 1: Controlador/Sequencializador
Controlador/Sequencializador
Gerar os sinais de clock (CLK) que iro sincronizar toda a operao do
computador.
Gerar os sinais de reinicializao (CLR) que iro zerar o contador de programas
e eliminar a ltima instruo armazenada no registrador de instrues.
Gerar a palavra de controle (CON) que ir comandar todo o computador. Esta
palavra determina o que cada bloco ir fazer a cada transio positiva do clock.
A palavra de controle sai pelo barramento de controle.

Microprocessadores - Matheus Romo

SAP 1: Controlador/Sequencializador
Controlador/Sequencializador
Palavra de Controle (CON):

CP: Define a sada dos Flip-Flops do contador aps as transies 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 sada do contador para o barramento).
LM (Ativo em Baixo): 0= Carrega o endereo colocado no barramento dentro do registrador // 1=
Endereo no carregado no registrador.
CE (Ativo em Baixo): 0 = Habilita memria RAM para Leitura ou Escrita // 1 = Sada em 3-state.
Li (Ativo em Baixo): Habilita (0) / Desabilita (1) a entrada (armazenamento) de dados nos dois
registradores de instruo.
Ei (Ativo em Baixo): Habilita (0) /Desabilita (1) sada do registrador de instrues para o barramento.
Esta sada coloca no barramento o endereo 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) sada do acumulador para o barramento.
SU: 0= Transmite contedo do Reg B para o somador (soma).
1=Faz o complemento de 2 do Reg B e envia ao somador (para fazer a subtrao).
EU: Habilita (1)/Desabilita (0) sada 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 informao presente no barramento seja
carregada nos registradores e conduzida aos LEDs.

Microprocessadores - Matheus Romo

SAP 1: Controlador/Sequencializador
Controlador/Sequencializador
S5, S6 e S7 : Botes manipulados pelo usurio.
CLR: Sinal de Clear (RESET).
CLK: Clock.

Eliminador de trepidao
(Debouncer):
Latch (NAND)

S5: Forar CLEAR (RESET) no


computador.
S6: Permite gerar pulsos Clock
manualmente.
S7: Coloca clock no modo
automtico ou manual.
Microprocessadores - Matheus Romo

SAP 1: Controlador/Sequencializador
Controlador/Sequencializador

Memria Intermediria de
relgio:
Circuito utilizado para
suportar todas as cargas
(sinais de clock) que devem
ser enviados aos circuitos
do computador.

Microprocessadores - Matheus Romo

SAP 1: Controlador/Sequencializador
Controlador/Sequencializador

Gerador de pulsos (clock


automtico):
555: TIMER

F=2KHz.
Flip Flop JK (MestreEscravo) reduz a freqncia
para 1KHz e proporciona
um duty cycle de 50%.

Microprocessadores - Matheus Romo

SAP 1: Barramento

Conjunto de 8 vias (8 Bits).


Multiplexado: Utilizado para transmisso de dados e endereos.
Utilizao de dispositivos 3-State:

Via comum para transmisso dos dados dos registradores.


Como evitar que uma informao colocada no barramento v para um destino
errado?
Soluo: Possibilitando que os registradores sejam desligados do circuito em
determinados instantes.

Microprocessadores - Matheus Romo

SAP 1: Diagrama
Completo

Microprocessadores - Matheus Romo

SAP 1: Instrues

Cdigo Operao possui 4 Bits.


Microprocessadores - Matheus Romo

SAP 1: Instrues

Como fazer um programa?


Basta descrever seqencialmente 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 instrues passadas).
As instrues ficam gravadas na memria principal.
Como isso feito fisicamente no SAP 1?

Chaves de seleo

1) Onde est gravado o programa?


2) Onde esto gravados os dados?
3) O que o programa faz?
4) O que exibido no final da execuo?
1) 0H a 5H
2) 9H a CH
3) Carrega um nmero no ACC, efetua
duas adies e uma subtrao, exibe
o resultado da conta e para.
4) 02H (0000 0010 nos 8 Leds de sada)
Microprocessadores - Matheus Romo

SAP 1: Instrues
Como o computador entender o cdigo apresentado se ele entende somente 0s e 1s?
Devemos converter o programa fonte em um programa objeto (linguagem de mquina)
Como ficaria?
Lembrando que:

Microprocessadores - Matheus Romo

SAP 1: Instrues
EX 2: Escrever um programa que efetue a
seguinte operao:
16+20+24-32
Escrever utilizando os Mnemnicos.
Escrever em Linguagem de Mquina.
Escrever em Hexadecimal.
Armazenar os dados nas posies 9H a CH
Mnemnicos

Binrio

Microprocessadores - Matheus Romo

Hexadecimal

SAP 1: Funcionamento

Vamos considerar que h um programa gravado na memria do SAP 1.


Vimos que diversos mdulos que compem o SAP 1 compartilham o mesmo barramento.
Porm se todos estiverem conectados ao barramento simultaneamente, haver um erro na
execuo do programa.
Para funcionar corretamente, necessrio que haja uma sincronizao na atividade de cada
mdulo, ou seja, em determinados instantes alguns estaro funcionando (enviado dados,
recebendo dados, efetuando clculos, etc) enquanto outros estaro desligados.
Como se d a dinmica de execuo de programa?

Como se d a dinmica de execuo de uma instruo?

uma seqncia de execuo de instrues.


No SAP 1 uma instruo executada em duas etapas (dois ciclos):
1) Ciclo de busca (FETCH) da instruo.
2)Ciclo de Execuo da instruo.

Quem coordena estes dois ciclos a Unidade de Controle (Contador de Programa,


registrador de instrues e o controlador/sequencializador).
Especificamente, o Contador em Anel (localizado dentro do controlador/sequencializador) a
estrutura que marca os instantes em que cada ciclo comea e termina.
Quando um comea, termina o outro.
No SAP 1 estes dois ciclos ocorrem em 6 pulsos de clock.
Microprocessadores - Matheus Romo

SAP 1: Funcionamento : Contador em Anel (Localizado dentro do


Controlador/Sequencializador
Controlador/
Sequencializador))

CLK: Sinal de Clock (transio negativa)


CLR (ativo em baixo): Sinal que zera o contador em anel
T1 a T6: Seis estados que o contador apresenta na sada
T: Palavra formada por T1 aT6.

Microprocessadores - Matheus Romo

SAP 1: Ciclo de Busca (FETCH)

O Ciclo de busca da instruo realizado em 3 etapas (denominadas Estados) ou seja, necessrio que
trs eventos ocorram para caracterizar a busca de uma instruo.
Cada estado coordenado pelo Contador em Anel.
Assim, dos 6 estados possveis do contador em anel, so utilizados os trs primeiros para buscar a
instruo (T1 T2 e T3).
Os trs estados so:
Estado de endereo (T1=000001): O endereo no contador de programa (que no incio da execuo
0H) transferido para o registrador de endereos da memria
Estado de Incremento (T2=000010): O contador de programa incrementado.
Estado de Memria (T3=000100): A instruo buscada na memria RAM e transferida para o
registrador de Instruo.

Microprocessadores - Matheus Romo

SAP 1: Ciclo de Busca (FETCH) Estado de endereo (T1)

Estado de endereo: O endereo no contador de programa (que no incio da execuo 0H)


transferido para o registrador de endereos da memria.
Para que isso ocorra preciso que o valor da sada do contador de programa seja carregado no
registrador de endereo de memria (REM). Desta forma apenas estes dois blocos do SAP 1 devem estar
funcionando. Como o Controlador/Sequencializador o responsvel por ativar/desativar os blocos do
SAP 1, ele tambm estar ativo (funcionando).
Como o Controlador ativa ou desativa um determinado bloco do SAP 1?
Ele tem acesso aos bits de controle de todos os blocos atravs da palavra
de controle (12 Bits) que enviada pelo barramento de controle.

CP=0: Pra o contador .


Ep=1: Habilita a sada do contador para o barramento.
LM (ativo em baixo)=0: Carrega o endereo colocado no barramento dentro do
registrador do REM.
CE (ativo em baixo) =1: Sada RAM em 3-state.
Li (ativo em baixo) =1: Desabilita a entrada de dados nos dois registradores de
instruo.
Ei (ativo em baixo) =1: Desabilita sada do registrador de instrues para o
barramento.
LA (ativo em baixo)=1: Desabilita entrada de dados nos registradores do
Acumulador.
EA=0 : Desabilita sada dos registradores para o barramento.
SU=0: Transmite contedo do Reg B para o somador (soma).
EU=0: Desabilita sada 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 informao presente no barramento seja
carregada nos registradores e conduzida aos LEDs.

SAP 1: Ciclo de Busca (FETCH) Estado de Incremento (T2)

O contador de programa incrementado.


Apenas o Contador de Programa Ativo.
Como ficar a palavra de Controle?

Microprocessadores - Matheus Romo

SAP 1: Ciclo de Busca (FETCH) Estado de Memria (T3)

A instruo buscada na memria RAM e transferida para o registrador de Instruo.


Quem estar ativo?

REM; RAM IR e CON

Como ficar a palavra de Controle?

CP=0: Pra o contador .


Ep=0: Desabilita a sada 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 contedo do REM e no
armazenar dado).
CE (ativo em baixo) =0: Habilita Leitura da memria no endereo armazenado no
REM.
Li (ativo em baixo) =0: Habilita a entrada de dados nos dois registradores de
instruo.
Ei (ativo em baixo) =1: Desabilita sada do registrador de instrues para o
barramento.
LA (ativo em baixo)=1: Desabilita entrada de dados nos registradores do
Acumulador.
EA=0 : Desabilita sada dos registradores do Acumulador para o barramento.
SU=0: Transmite contedo do Reg B para o somador (soma).
EU=0: Desabilita sada 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 informao presente no barramento seja
carregada nos registradores e conduzida aos LEDs.
Microprocessadores - Matheus Romo

SAP 1: Ciclo de Execuo

O Ciclo de execuo da instruo realizado nas 3 ltimas etapas (Estados).


Cada estado coordenado pelo Contador em Anel.
Assim, dos 6 estados possveis do contador em anel, so utilizados os trs ltimos para executar a
instruo (T4, T5 e T6).
Como as instrues do SAP 1 (LDA, ADD, SUB, OUT e HLT) tem finalidades distintas, os blocos ativos nos
estados T4, T5 e T6 iro variar para cada instruo.
OBS: T1,T2 e T3 ser o mesmo para todas as instrues.

Microprocessadores - Matheus Romo

SAP 1 - Ciclo de Execuo: LDA (T4)

Ex: Executar a Instruo LDA 9H (gravada na posio 0H da memria).


T1: Carrega 0H no REM.
T2: Contador de Programa = 1H.
T3: RAM coloca no barramento o contedo de 0H (LDA 9H) e esta instruo armazenada no
Registrador de Instruo (0000 1001 = LDA 9H).
T4: O Nibble Superior (0000),que se refere ao cdigo de operao, vai para o
Controlador/Sequencializador para ser decodificado. O Nibble inferior (1001), que se refere
ao endereo onde est o dado, vai para o REM(ver diagrama SAP 1). Para que isso seja
possvel, precisamos ativar o sinais de controle dos blocos IR e REM, que
so,respectivamente,
e
.
Assim, a palavra de controle emitida pelo Controlador/Sequencializador :

Microprocessadores - Matheus Romo

SAP 1: Ciclo de Execuo: LDA (T4) - Destaque da Decodificao da Instruo

Microprocessadores - Matheus Romo

SAP 1 - Ciclo de Execuo: LDA (T5)

Ex: Executar a Instruo LDA 9H (gravada na posio 0H da memria).


T1: Carrega 0H no REM.
T2: Contador de Programa = 1H.
T3: RAM coloca no barramento o contedo de 0H (LDA 9H) e esta instruo armazenada no
Registrador de Instruo (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 endereo 1001 da RAM colocada no barramento e carregada no
Acumulador. Para isso preciso habilitar a RAM para a leitura de seu contedo ( ) e
habilitar os registradores do Acumulador para que armazenem a palavra colocada no
barramento (atravs do sinal de controle
).

Microprocessadores - Matheus Romo

SAP 1 - Ciclo de Execuo: LDA (T6)

Ex: Executar a Instruo LDA 9H (gravada na posio 0H da memria).


T1: Carrega 0H no REM.
T2: Contador de Programa = 1H.
T3: RAM coloca no barramento o contedo de 0H (LDA 9H) e esta instruo armazenada no
Registrador de Instruo (0000 1001 = LDA 9H).
T4: Nibble Superior (0000): Para Controlador/Sequencializador para ser decodificado. Nibble
inferior (1001): Vai para o REM.
T5: Os dados endereados na RAM so carregados no Acumulador.
T6: Estado sem operao (Nop): A instruo LDA finalizada em T5. Assim, no estado T6 o
Controlador emite um sinal que inativa todos os mdulos do SAP1.

Microprocessadores - Matheus Romo

SAP 1: LDA (Resumo)

Para executar a instruo LDA o controlador emite


trs palavras de controle que dizem para todos os
mdulos do SAP 1 o que fazer (Habilitar/Desabilitar
entrada ou sada, incrementar,etc). Assim, as palavras
de controle T4,T5 e T6 so chamadas Microinstrues.
No SAP 1, cada instruo formada por trs
microinstrues.
Microprocessadores - Matheus Romo

SAP 11- Ciclo de Execuo: ADD (T4)

Ex: Executar a Instruo ADD BH (gravada na posio 1H da memria).


T1: Carrega 1H no REM.
T2: Contador de Programa = 2H.
T3: RAM coloca no barramento o contedo de 1H (ADD BH) e esta instruo armazenada
no Registrador de Instruo (0001 1011 = ADD BH).
T4: O Nibble Superior (0001),que se refere ao cdigo de operao, vai para o
Controlador/Sequencializador para ser decodificado. O Nibble inferior (1011), que se refere
ao endereo onde est o dado, vai para o REM(ver diagrama SAP 1). Para que isso seja
possvel, precisamos ativar o sinais de controle dos blocos IR e REM, que
so,respectivamente,
e
.
Assim, a palavra de controle emitida pelo Controlador/Sequencializador :

Microprocessadores - Matheus Romo

SAP 11- Ciclo de Execuo: ADD (T5)

Ex: Executar a Instruo ADD BH (gravada na posio 1H da memria).

Adicionar o contedo localizado no endereo BH da RAM ao valor armazenado no acumulador.

T1: Carrega 1H no REM.


T2: Contador de Programa = 2H.
T3: RAM coloca no barramento o contedo de 1H (ADD BH) e esta instruo armazenada
no Registrador de Instruo (0001 1011 = ADD BH).
T4: Nibble Superior (0001): Para Controlador/Sequencializador para ser decodificado. Nibble
inferior (1011): Vai para o REM.
T5: Pegar o contedo localizado no endereo BH da RAM e vai carreg-lo no Registrador B.
Para isso preciso habilitar a RAM para a leitura de seu contedo ( ) e habilitar os
registradores do Acumulador para que armazenem a palavra colocada no barramento
(atravs do sinal de controle
).

Microprocessadores - Matheus Romo

SAP 11- Ciclo de Execuo: ADD (T6)

Ex: Executar a Instruo ADD BH (gravada na posio 1H da memria).

Adicionar o contedo localizado no endereo BH da RAM ao valor armazenado no acumulador.

T1: Carrega 1H no REM.


T2: Contador de Programa = 2H.
T3: RAM coloca no barramento o contedo de 1H (ADD BH) e esta instruo armazenada
no Registrador de Instruo (0001 1011 = ADD BH).
T4: Nibble Superior (0001): Para Controlador/Sequencializador para ser decodificado. Nibble
inferior (1011): Vai para o REM.
T5: Os dados endereados na RAM so carregados no Registrador B.
T6: Executa a soma e coloca o resultado no barramento (EU) e carrega o resultado no
Acumulador (
).

Microprocessadores - Matheus Romo

SAP 11- Ciclo de Execuo: ADD (Resumo)

Microprocessadores - Matheus Romo

SAP 11- Ciclo de Execuo: SUB


A execuo da instruo SUB semelhante instruo ADD.
A diferena que na instruo SUB, durante a execuo de T6 o controlador
precisa enviar para o somador/subtrator um sinal de controle que faa o
complemento de 2 do contedo do Registrador B. Este sinal de controle o SU.

Microprocessadores - Matheus Romo

SAP 11- Ciclo de Execuo: OUT (T4)

Ex: Executar a Instruo OUT (gravada na posio 2H da memria).

Carrega o contedo do Acumulador no Registrador de Sada.

T1: Carrega OUT no REM.


T2: Contador de Programa = 3H.
T3: RAM coloca no barramento o contedo de 2H (OUT) e esta instruo armazenada no
Registrador de Instruo (1110 XXXX = OUT).
T4: A instruo decodificada e o Controlador gera uma palavra de controle para que o
contedo do Acumulador seja colocado no barramento e que o registrador de sada seja
carregado com o contedo do Acumulador. Os sinais de controle que comandam estas duas
funes so, respectivamente, EA e
.

Desta forma, a palavra de controle :

Microprocessadores - Matheus Romo

SAP 11- Ciclo de Execuo: OUT (T5 e T6)

Ex: Executar a Instruo OUT (gravada na posio 2H da memria).

Carrega o contedo do Acumulador no Registrador de Sada.

T1: Carrega OUT no REM.


T2: Contador de Programa = 3H.
T3: RAM coloca no barramento o contedo de 2H (OUT) e esta instruo armazenada no
Registrador de Instruo (1110 XXXX = OUT).
T4: Decodificao da instruo, contedo do Acumulador carregado no Registrador de
Sada.
T5 e T6: A instruo OUT concluda em T4. Logo, os estados T5 e T6 so NOPs

Desta forma, a palavra de controle :

Microprocessadores - Matheus Romo

SAP 11- Ciclo de Execuo: OUT (Resumo)

Microprocessadores - Matheus Romo

SAP 11- Ciclo de Execuo: HLT


HLT no requer uma rotina de controle pois sua execuo no envolve o uso de
registradores.
Assim, quando a instruo HLT (1111 XXXX) for decodificada, o controlador ir
desligar o Clock (CLK) do computador, interrompendo o processamento.
Neste caso o Controlador/Sequencializador no precisa emitir nenhum sinal de
controle pois o Clock est localizado dentro dele.

Microprocessadores - Matheus Romo

Microprogramao

Vimos que a Matriz de Controle gera as Microinstrues para cada ciclo de execuo.
A Matriz de Controle construda para ser capaz de interpretar apenas as instrues (LDA,
ADD, SUB, OUT e HLT).
Para aumentar o nmero de instrues do SAP 1, teramos que refazer o projeto da Matriz de
Controle (montar outro circuito).
Quanto mais instrues, mais complexo fica o desenvolvimento dos circuitos.
Isto levou os projetistas a pensarem em uma forma alternativa de gerar as palavras de
controle: A Microprogramao.
Na Microprogramao, as microinstrues so armazenadas em uma ROM ao invs de serem
geradas por meio de um circuito lgico (matriz de controle).

Microprocessadores - Matheus Romo

Microprogramao:: Controle Microprogramado


Microprogramao

O ciclo de busca de qualquer instruo


realizada atravs de 3 microinstrues.
O ciclo de execuo de cada instruo
realizada atravs de 3 microinstrues.
Podemos carregar todas estas
informaes em uma ROM (16X12).
Assim, o ciclo da instruo ADD seria
realizado acessando a ROM nos
endereos de 0H a 2H (ciclo de busca) e
depois os endereos de 6H a 8H (ciclo de
execuo).
O contedo em cada posio se refere a
uma palavra de controle.
Como fazer para acessar exatamente a
posio de memria que marca o incio
de cada rotina?

Microprocessadores - Matheus Romo

Microprogramao:: Controle Microprogramado


Microprogramao

Microprocessadores - Matheus Romo

Microprogramao:: Controle Microprogramado


Microprogramao

Pelos fios I4 a I7 chegam o cdigo da operao das instrues.


Este cdigo ir acessar a ROM no endereo correspondente ao seu
valor. [Ex: LDA C.Op=0000 // C.Op ir acessar a posio 0000 da memria ROM.
O contedo da memria neste endereo corresponde ao endereo da
ROM de Controle onde comea a rotina de execuo da instruo
desejada.

Microprogramao:: Controle Microprogramado


Microprogramao

Para concluir o ciclo de execuo de LDA preciso que sejam


geradas sequencialmente as microinstrues de 3H, 4H e 5H.
Como isso feito, se o que entra na ROM de endereo apenas
o cdigo de operao da instruo?
Utilizando um contador que ir incrementar o endereo da ROM
de Controle a partir do endereo acessado inicialmente (Neste
exemplo, 3H).

Quando T1 (contador em Anel) estiver alto (1), indica que um novo ciclo de instruo est comeando.
Este sinal, ou um sinal de CLR, foram o contador a zerar. Assim, o endereo acessado na ROM de
Controle o 0H (Incio do Ciclo de Busca).
O contador continua a contagem at 2H.
Quando T3 (contador em Anel) estiver alto, ele ir forar o Contador Pr-Ajustvel a comear uma
contagem partindo do valor que vem da ROM de Endereo.
Se a instruo for, por exemplo, ADD, o contador partir de 6H e ir contar at 8H. Aps isso T1 ir zera o
Microprocessadores - Matheus Romo
contador novamente.

Microprogramao:: Controle Microprogramado


Microprogramao

Melhoria: Detector de Nop.


Nop: Palavra de controle 3E3H.
Quando ocorre 3E3H, a sada da porta NAND baixa.
Isto restabelece o contador em anel para T1.
Utilidade: Aumenta a velocidade de processamento.

Microprocessadores - Matheus Romo

Referencias:

Albert Paul Malvino ; Microcomputadores e Microprocessadores , McGraw-Hill 1985


WILLIAM STALLlNGS ; ARQUITETURA E ORGANIZAO DE COMPUTADORES - 5 ED. 2003

Você também pode gostar