Sistemas Digitais Registos - Autenticação · Registos de Deslocamento (IV) ! O seguinte logigrama...

Preview:

Citation preview

Sistemas Digitais Registos

João Paulo Carvalho

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

Uke2010 Sistemas Digitais 16

Bibliografia ® Arroz,G., Monteiro,J.C., Oliveira,A., “Arquitectura de Computadores, dos Sistemas Digitais aos Microprocessadores”, secção 6.5, 6.7, 2ª Edição, 2009

® Mano,M., Kime,C. – “Logic and Computer Design Fundamentals”, Prentice Hall, secções 5.4, 7.4, 7.5

Recommended