Sistemas Digitais Registos - Autenticação · Registos de Deslocamento (IV) ! O seguinte logigrama...
Transcript of Sistemas Digitais Registos - Autenticação · Registos de Deslocamento (IV) ! O seguinte logigrama...
Uke2010 Sistemas Digitais 2
Registos ® Um FF permite memorizar um bit. ® Um Registo é um circuito que permite
memorizar um conjunto de bits. ® O registo permite tratar esse conjunto de
bits como um todo e não apenas bit a bit. ® Assim, torna-se possível manipular e
guardar a informação constituída por um determinado número de bits, pelo que se pode passar a falar de uma palavra de 16 bits ou de um caracter ASCII (8 bits) como se fossem uma unidade básica de informação.
® Exemplo de um registo simples de 4 bits:
FF-D
Relógio comum a todos os registos: a informação é tratada
simultaneamente
1D
C1
1D
C1
D0
D1
D2
D3
Q0
Q1
Q2
Q3
CP
1D
C1
1D
C1
Uke2010 Sistemas Digitais 3
Registos c/ Reset ® É acrescentada uma linha
de Clear que permite apagar simultaneamente toda a informação registada nos FF
® Quando a variável Clear é activada, o registo passa a conter a palavra 0000
Simbologia:
4 módulos semelhantes (4 FF-D) com controlo
comum
CP
CLEAR_L
D0 Q0
D1 Q1
D2 Q2
D3 Q3
R
C1
1D
1D
C1
R
1D
C1
R
1D
C1
R
1D
C1
R
D0
D1
D2
D3
Q0
Q1
Q2
Q3
CP
CLEAR_L
Uke2010 Sistemas Digitais 4
Registos de carregamento paralelo c/ Enable
® Registos com uma entrada cuja função é, perante um flanco de relógio, permitir optar entre carregar nova informação ou manter a informação existente
Simbologia: M controla o modo de funcionamento. O carregamento só é efectuado no flanco de relógio quando M1 está activo
CP
LOAD_H
D0 Q0
D1 Q1
D2 Q2
D3 Q3
M1[Load]
C2
1, 2D
1D
C1
GMUX
0
0
1
_01
1D
C1
GMUX
0
0
1
_01
1D
C1
GMUX
0
0
1
_01
1D
C1
GMUX
0
0
1
_01
D0
LOAD_H
D1
D2
D3
Q1
Q0
Q2
Q3
CP
1D
C1
1D
C1
1D
C1
1D
C1
ENTRADASÉRIE
CP
SAÍDASÉRIE
FF4FF1 FF2 FF3
Uke2010 Sistemas Digitais 5
Registos de Deslocamento ® Shift Register - na sua versão mais básica é um registo cuja entrada
de dados é feita em série, i.e., bit a bit, em vez de ser feita em paralelo
® Para carregar o registo, os bits têm que ser deslocados dentro do circuito até chegarem à “posição pretendida”
C1→
1D
Simbologia: A seta para a direita indica que o deslocamento é realizado da entrada para o FF de cima, e dos FF de cima para os de baixo
0101 010 01 0 0 0 0 0
1 0 0 0
0 1 0 0
1 0 1 0
0 1 0 1
0101 010 01 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1
Uke2010 Sistemas Digitais 6
Registos de Deslocamento (II) ® Exemplo de diagrama temporal de um Shift Register
simples:
1D
C1
1D
C1
1D
C1
1D
C1
ENTRADASÉRIE
CP
SAÍDASÉRIE
FF4FF1 FF2 FF3
CP
ENTRADASÉRIE
SAÍDASÉRIE
SAÍDA FF1
SAÍDA FF2
SAÍDA FF3
Q0
Q1
Q2
Q3
D0
D1
D2
D3
Uke2010 Sistemas Digitais 7
Registos de Deslocamento (III) ® Os registos de deslocamento têm inúmeras aplicações (basta por
exemplo lembrarmo-nos do procedimento da multiplicação binária, ou ainda do facto de que um deslocamento para a direita equivale a dividir por 2...)
® Um registo de deslocamento universal apresenta 4 modos de funcionamento - manter o conteúdo, deslocar para a direita, deslocar para a esquerda e carregar em paralelo:
Entradas série nos FF situados nos 2 extremos
Entradas paralelas em todos os FF
Selectores do modo de funcionamento M 0: mantém; 1: desloca p/ direita; 2: desloca p/esquerda; 3: carregamento paralelo
Uke2010s Sistemas Digitais 8
Registos de Deslocamento (IV) ® O seguinte logigrama mostra como é feito um registo de
deslocamento universal (ilustra-se apenas a entrada de um dos FF):
1D C1
MUX 0 1 0 1 2 3
} G 0 3
1D C1
1D C1
M0 M1
In
Qn-1 Qn Qn+1
S0
S1
Qm Qm+1 Qm-1
Dm
Q0
Q1
Q2
Q3
D0
D1
D2
D3
Uke2010 Sistemas Digitais 9
Interligação de Registos
® A transferência de informação entre registos é uma das operações mais comuns num microprocessador
® Como tal, a interligação entre registos torna-se numa das aplicações mais importantes a nível dos Sistemas Digitais e da Arquitectura de Computadores
® Como a transferência de informação involve vários bits em simultâneo, é importante introduzir a noção de barramento (BUS em inglês)
® Quem nunca ouviu falar do termo BUS quando nos referimos a um computador?
® Um barramento não é mais que um conjunto de linhas que transportam sinais do mesmo tipo, e que devem ser tratadas de forma semelhante
® Por exemplo, o conjunto das linhas de saída de um registo é um barramento...
Uke2010 Sistemas Digitais 10
Interligação de Registos com Mux ® Objectivo: conseguir trocar informação entre vários
registos simultaneamente; em cada impulso de relógio, cada registo pode receber informação de qualquer outro registo
® Exemplo: Suponhamos que pretendemos interligar 4 registos de 6 bits cada
En En En En Clock Reg 0 Reg 1 Reg 2 Reg 3
O O O O O O 0 1 2 3 4 5 O O O O O O 0 1 2 3 4 5 O O O O O O 0 1 2 3 4 5 O O O O O O 0 1 2 3 4 5
I I I I I I 0 1 2 3 4 5 I I I I I I 0 1 2 3 4 5 I I I I I I 0 1 2 3 4 5 I I I I I I 0 1 2 3 4 5
Uke2010 Sistemas Digitais 11
Interligação de Registos com Mux(II) ® Cada um dos registos vai possuir um multiplexer em cada uma das
entradas ® Cada um desses mux terá 2 entradas de selecção e 4 entradas de
dados (cada entrada de dados recebe a saída de peso correspondente de um dos 4 registos)
® Veja-se como seriam ligadas as entradas um dos registos:
Uke2010 Sistemas Digitais 12
Buffers Tri-state
® Antes de se avançar para uma solução mais simples há que apresentar um novo dispositivo – o Buffer Tri-state – cujo comportamento é o seguinte:
C(ontrol) I(nput) O(utput) 0 X OFF 1 0 0 1 1 1
® Quando a entrada de controlo (Enable) está a 0, então a saída fica num estado de alta impedância em que não existe passagem de corrente. Assim, a saída não está nem a 1, nem a 0, mas sim num terceiro estado (daí o termo “Tri-state”)
® Simbologia:
Saída Tri-state
1 En I O
I O C
C
Uke2010 Sistemas Digitais 13
Buffers Tri-state: Linhas bidireccionais ® Existem duas aplicações fundamentais para os buffers tri-state:
® Linhas bidireccionais ® Multiplexagem
® Linhas bidireccionais:
I O C
I O C
I O C
I O C
I O C
I O C
. . . . . .
DIR
DIR 0 1
DIR = 0
DIR = 1
Uke2010 Sistemas Digitais 14
Buffers Tri-state: Multiplexagem
® Multiplexagem utilizando buffers tri-state: ® Se SEL = 0, I0 passa para a saída (pois o buffer de cima está activo e
o de baixo inactivo); ® Se SEL = 1, I1 passa para a saída (pois tem-se a situação inversa).
® Tem-se assim o comportamento de um multiplexer
® Com um descodificador de n entradas e um conjunto de buffers tri-state é possível implementar um mux de 2n entradas de dados
I0 O C
I1 C
SEL
Uke2010 Sistemas Digitais 15
Interligação entre Registos utilizando Barramentos Tri-state
® Solução para a interligação de registos com saída tri-state através de um barramento - permite a transferência de informação entre o par de registos seleccionado
Número do registo de destino (onde se pretende escrever)
Número do registo de origem da informação