sap1 - aula.pdf
TRANSCRIPT
-
Microprocessadores e Microprocessadores e MicrocontroladoresMicrocontroladores
Matheus W. Romo
Microprocessadores - Matheus Romo
-
SIMPLE AS POSSIBLE 1 SIMPLE AS POSSIBLE 1 SAP1SAP1
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.mais complexas.
Microprocessadores - Matheus Romo
-
SIMPLE AS POSSIBLE 1 SIMPLE AS POSSIBLE 1 SAP1SAP1
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.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 AlimentaoSAP 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)SAP1: Contador de Programa (ou Ponteiro)
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)
Contador: Enviar memria o endereo da instruo seguinte a ser buscada e executada. Ex: 0000 => Endereo 0000 memria
74LS107 - Dual J-K Negative-edge-triggered Flip-Flops 74LS126 - QUAD 3-STATE BUFFERS
Microprocessadores - Matheus Romo
-
SAP1: Entrada e REMSAP1: Entrada e REM
74LS173 : 4BIT D-TYPE REGISTER W/ 3-STATE OUTPUTS
: 0= Carrega o endereo colocado
no barramento dentro do registrador.
1= Endereo no carregado no
registrador.
CLK= Clock
Pin 1,2
0= Habilita sada REM
1=Tri-State
74LS157 - QUAD 2-INPUT MULTIPLEXER 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.Microprocessadores - Matheus Romo
-
SAP1 SAP1 RAM RAM LOW = Habilita memriaHiGH = Sada 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 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.Microprocessadores - Matheus Romo
-
SAP 1: Registrador SAP 1: Registrador
de Instruesde Instrues
74LS173 : 4BIT D-TYPE REGISTER
With 3-STATE OUTPUTS
Ei (Ativo em Baixo): Habilita /Desabilita (3-
State) 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
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).
Registrador de Instrues: Armazenar a Instruo a ser executada.
Microprocessadores - Matheus Romo
-
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) sada dos registradores para o barramento.
CLK: Clock
Obs: Sada dos registradores ficam permanentemente habilitadas e se ligam as
entradas dos dois somadores/subtratores.
Acumulador: Registrador que armazena resultados intermedirios durante um processamento.
With 3-STATE OUTPUTS
74LS126: QUAD 3-STATE BUFFERS
Microprocessadores - Matheus Romo
-
SAP 1: Registrador BSAP 1: Registrador BRegistrador 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/SAP 1: Somador/SubtratorSubtrator
Somador/Subtrator: Efetua a
Soma/Subtrao dos
contedos dos registradores
ACC e B.
74LS83: Somador completo de 4 bits.Utilizam-se dois CIspois os dados so de 8bits.
74LS126: QUAD 3-STATE 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.
-
SAP 1: Registrador de Sada/ Indicao Visual BinriaSAP 1: Registrador de Sada/ Indicao Visual Binria
74LS173 : 4BIT D-TYPE REGISTER
With 3-STATE OUTPUTS
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
Registrador de Sada: Armazena os dados processados (resultado soma/subtrao)
Microprocessadores - Matheus Romo
-
SAP 1: Controlador/SAP 1: Controlador/SequencializadorSequencializador 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/SAP 1: Controlador/SequencializadorSequencializador 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.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/SAP 1: Controlador/SequencializadorSequencializador
Latch (NAND)
Eliminador de trepidao
(Debouncer):
S5, S6 e S7 : Botes manipulados pelo usurio.
CLR: Sinal de Clear (RESET).
CLK: Clock.
S5: Forar CLEAR (RESET) no computador.S6: Permite gerar pulsos Clockmanualmente.S7: Coloca clock no modo automtico ou manual.
Microprocessadores - Matheus Romo
-
SAP 1: Controlador/SAP 1: Controlador/SequencializadorSequencializador
Memria Intermediria de
relgio:
Circuito utilizado para suportar todas as cargas (sinais de clock) que devem ser enviados aos circuitos do computador. do computador.
Microprocessadores - Matheus Romo
-
SAP 1: Controlador/SAP 1: Controlador/SequencializadorSequencializador
Gerador de pulsos (clock
automtico):
555: TIMER
F=2KHz.F=2KHz.
Flip Flop JK (Mestre-Escravo) reduz a freqncia para 1KHz e proporciona um duty cycle de 50%.
Microprocessadores - Matheus Romo
-
SAP 1: BarramentoSAP 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 SAP 1: Diagrama
CompletoCompleto
Microprocessadores - Matheus Romo
-
SAP 1: InstruesSAP 1: Instrues
Cdigo Operao possui 4 Bits.
Microprocessadores - Matheus Romo
-
SAP 1: InstruesSAP 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 5H2) 9H a CH3) 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: InstruesSAP 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: InstruesSAP 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 Armazenar os dados nas posies 9H a CH
Mnemnicos Binrio Hexadecimal
Microprocessadores - Matheus Romo
-
SAP 1: FuncionamentoSAP 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?
uma seqncia de execuo de instrues. uma seqncia de execuo de instrues.
Como se d a dinmica de execuo de uma instruo?
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 SAP 1: Funcionamento : Contador em Anel (Localizado dentro do
Controlador/Controlador/SequencializadorSequencializador))
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. T: Palavra formada por T1 aT6.
Microprocessadores - Matheus Romo
-
SAP 1: Ciclo de Busca (FETCH)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 memria0H) 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
-
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.
SAP 1: Ciclo de Busca (FETCH) SAP 1: Ciclo de Busca (FETCH) Estado de endereo (T1)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).
CP=0: Pra o contador . 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) 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 Romo
-
SAP 1: Ciclo de Busca (FETCH) SAP 1: Ciclo de Busca (FETCH) Estado de Memria (T3)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 noregistrador do REM (Neste instante queremos ler o contedo do REM e noarmazenar 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 ExecuoSAP 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 SAP 1 -- Ciclo de Execuo: LDA (T4)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 .so,respectivamente, e .
Assim, a palavra de controle emitida pelo Controlador/Sequencializador :
Microprocessadores - Matheus Romo
-
SAP 1: Ciclo de Execuo: LDA (T4) SAP 1: Ciclo de Execuo: LDA (T4) -- Destaque da Decodificao da InstruoDestaque da Decodificao da Instruo
Microprocessadores - Matheus Romo
-
SAP 1 SAP 1 -- Ciclo de Execuo: LDA (T5)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 habilitar os registradores do Acumulador para que armazenem a palavra colocada no
barramento (atravs do sinal de controle ).
Microprocessadores - Matheus Romo
-
SAP 1 SAP 1 -- Ciclo de Execuo: LDA (T6)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.Controlador emite um sinal que inativa todos os mdulos do SAP1.
Microprocessadores - Matheus Romo
-
SAP 1: LDA (Resumo)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 1SAP 1-- Ciclo de Execuo: ADD (T4)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 .so,respectivamente, e .
Assim, a palavra de controle emitida pelo Controlador/Sequencializador :
Microprocessadores - Matheus Romo
-
SAP 1SAP 1-- Ciclo de Execuo: ADD (T5)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 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 1SAP 1-- Ciclo de Execuo: ADD (T6)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 T6: Executa a soma e coloca o resultado no barramento (EU) e carrega o resultado no
Acumulador ( ).
Microprocessadores - Matheus Romo
-
SAP 1SAP 1-- Ciclo de Execuo: ADD (Resumo)Ciclo de Execuo: ADD (Resumo)
Microprocessadores - Matheus Romo
-
SAP 1SAP 1-- Ciclo de Execuo: SUBCiclo 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 1SAP 1-- Ciclo de Execuo: OUT (T4)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 .funes so, respectivamente, EA e .
Desta forma, a palavra de controle :
Microprocessadores - Matheus Romo
-
SAP 1SAP 1-- Ciclo de Execuo: OUT (T5 e T6)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 1SAP 1-- Ciclo de Execuo: OUT (Resumo)Ciclo de Execuo: OUT (Resumo)
Microprocessadores - Matheus Romo
-
SAP 1SAP 1-- Ciclo de Execuo: HLTCiclo 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
-
MicroprogramaoMicroprogramao
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 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
-
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
MicroprogramaoMicroprogramao: Controle : Controle MicroprogramadoMicroprogramado
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
-
MicroprogramaoMicroprogramao: Controle : Controle MicroprogramadoMicroprogramado
Microprocessadores - Matheus Romo
-
MicroprogramaoMicroprogramao: Controle : Controle MicroprogramadoMicroprogramado 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.
-
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).
MicroprogramaoMicroprogramao: Controle : Controle MicroprogramadoMicroprogramado
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
contador novamente. Microprocessadores - Matheus Romo
-
MicroprogramaoMicroprogramao: Controle : Controle MicroprogramadoMicroprogramado
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:Referencias:
Albert Paul Malvino ; Microcomputadores e Microprocessadores , McGraw-Hill 1985
WILLIAM STALLlNGS ; ARQUITETURA E ORGANIZAO DE COMPUTADORES - 5 ED. 2003