sap1 - aula.pdf

51
Microprocessadores e Microprocessadores e Microcontroladores Microcontroladores Matheus W. Romão Microprocessadores - Matheus Romão

Upload: patriciarsilva17

Post on 17-Sep-2015

10 views

Category:

Documents


1 download

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