Os controladores são sistemas seqüênciais que fornecem níveis lógicos adequados, em tempos apropriados, para controlar uma seqüência de operações lógicas simples, que, juntas, executam uma operação complicada. Estas operações simples, em geral, são executadas por registradores.Os controladores são um tipo de sistema seqüêncial que tem uma faixa de aplicabilidade mais ampla que detetores de seqüências e contadores.
Um controlador é um sistema de estados finitos que quando estes estados são percorridos , o sistema fornece na saída sinais de controle que ativam outras partes do sistema para que determinadas ações sejam executadas.Por ser uma máquina de estados finitos(FSM, Finite States Machine), os controladores podem ser descritos pelas ferramentas usadas com os contadores e detetores de seqüências.
Os controladores podem ser classificados como:
As operações simples habilitadas pelos sinais de controles de um controlador geralmente são realizadas por circuitos lógicos/aritméticos e registradores.
Transferências de Registradores
As operações básicas, lógicas ou aritméticas, que podem ser feitas sobre palavras lógicas são muito simples e podem ser realizadas com registradores e alguma lógica de suporte.Uma das operações básicas mais importante e usada, consiste na transferência de conteúdo de um registrador para outro.
![]() |
A figura ao lado mostra como transferir o conteúdo do registrador A para o registrador B, ambos com um número muito grande de seções e representados aqui pela i-ésima seção. |
|
Fig.1 |
Em geral, temos vários registradores que devem trocar dados entre si. Em tal caso, deve-se usar multiplexação de um barramento de dados comum. Na Fig.2 temos quatro registradores A, B, C, e D compartilhando um barramento de dados Bus, representado pela i-ésima linha de dados.Colocando uma linha de controle de entrada "Move Bus para A( B, C ou D)" no nível lógico 1(ALTO) e um controle de saída "Move A(B, C ou D) para Bus" ativa de cada vez, a transferência entre quaisquer registradores pode ser feita.
![]() |
Mover o conteúdo do registrador para o barramento é uma operação assíncrona(leitura) enquanto transferir o 'conteúdo' do bus para um registrador será uma operação síncrona chamada escrita.
Complementação
![]() |
A transferência síncrona é obtida colocando os terminais Complementa, Move A para B no nível lógico 1 e o Relógio no nível alto, então na borda de gatilhamento ocorre a transferência. |
|
Fig.3 |
![]() |
|
Fig.4 |
Incrementação e Decrementação
As operações de Incrementação e Decrementação consistem em alterar o valor do conteúdo de um registrador de +1, ou -1, respectivamente. Estas operações podem ser realizadas configurando o registrador como um contador incrementador/decrementado síncrono ou assíncrono.A figura seguinte mostra o diagrama de blocos de um circuito deste tipo.
![]() |
![]() |
![]() |
J=1, K=0, na borda de gatilho Q=1(Ajuste) |
![]() |
J=0, K=1, na borda de gatilho Q=0(Reajuste) |
![]() |
O registrador para suportar os comandos listados na tabela acima deve ter 5(cinco) terminais de controle: W, R, I, C, Z e, em qualquer instante, apenas um terminal de controle deve estar ativo, no nível lógico 1.O registrador pode ser constituído de n flip-flops tipo JK, o barramento de dados pode ter n linhas de dados e a figura abaixo mostra apenas a seção e a linha i-ésima Bi com a lógica associada.
![]() |
(a)Escrever a palavra do bus Bino registrador FFi(W): W=1, R=I=C=Z=0
Ji=BiW e Ki=(~Bi)W
(b)Ler o conteúdo do registrador FFi para o bus Bi(R): R=1, W=I=C=Z=0
Bi=QiR
A leitura ocorre quando R=1 e a sincronização da transferência não depende do sinal de relógio.
(c)Incrementar o registrador( I ): I=1, W=R=C=Z=0
Ji=Ki=Gi-1I
J0=K0=1
O registrador deve ser configurado como um contador crescente(up) por pulsação(síncrono).
(d)Complementar o registrador(C): C=1, W=R=I=Z=0
Ji=Ki=C
O flip-flop deve complementar o conteúdo, isto é, chavear quando C=1.
(e)Limpar o registrador(Z): Z=1, W=R=I=C=0
Ki=Z Ji=0
Como apenas uma variável de controle W, R, I, C, Z está ativa em nível lógico 1 em qualquer instante, então o registrador sensível a comandos múltiplos pode ser descrito pelo conjunto de equações lógicas abaixo.
Ji=BiW+Gi-1I+C
Ki=(~Bi)W+Gi-1I+C+Z
Bi=QiR
J0=K0=I.1=I, i=0
Um diagrama de blocos do registrador com suas ligações ao bus, as cinco linhas de controle, e a entrada de sincronismo está mostrado na figura abaixo.
![]() |
![]() |
Questões para Revisão Resolva on-line o teste sobre registradores e controladorers. |
Atualizada em