Você está na página 1de 16

Sistemas Digitais Registos

Joo Paulo Carvalho

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 no apenas bit a bit. Assim, torna-se possvel manipular e guardar a informao constituda por um determinado nmero 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 bsica de informao. Exemplo de um registo simples de 4 bits: Relgio comum a todos os registos: a informao tratada simultaneamente
Uke2010 Sistemas Digitais

FF-D
D0 CP 1D C1 Q0

D1

1D C1

Q1

D2

1D C1

Q2

D3

1D C1

Q3

Registos c/ Reset

D0 CP CLEAR_L

1D C1 R

acrescentada uma linha de Clear que permite apagar simultaneamente toda a informao registada nos FF Quando a varivel Clear activada, o registo passa a conter a palavra 0000
Simbologia:
CLEAR_L CP D0 D1 D2 D3

Q0

D1

1D C1 R

Q1

D2

1D C1 R

Q2

D3
R C1 Q0 Q1 Q2 Q3

1D C1 R

Q3

1D

4 mdulos semelhantes (4 FF-D) com controlo comum


Sistemas Digitais 3

Uke2010

Registos de carregamento paralelo c/ Enable

Registos com uma entrada cuja funo , perante um flanco de relgio, permitir optar entre carregar nova informao ou manter a informao existente
Simbologia:
LOAD_H CP D0 D1 D2 D3 M1[Load] C2 1, 2D Q0 Q1 Q2 Q3

LOAD_H

MUX 0 _ 0 G 1 0 1

1D C1

Q0

D0

MUX 0 _ 0 G 1 0 D1 1

1D C1

Q1

M controla o modo de funcionamento. O carregamento s efectuado no flanco de relgio quando M1 est activo
Sistemas Digitais

MUX 0 _ 0 G 1 0 D2 1

1D C1

Q2

MUX 0 _ 0 G 1 0 D3 CP 1

1D C1

Q3

Uke2010

Registos de Deslocamento

Shift Register - na sua verso mais bsica um registo cuja entrada de dados feita em srie, i.e., bit a bit, em vez de ser feita em paralelo Para carregar o registo, os bits tm que ser deslocados dentro do circuito at chegarem posio pretendida
FF1 1D C1

ENTRADA SRIE

0101 010 01 0

0 1
1D

FF2

1 0 0 1

FF3 1D C1

0 1 0

FF4 1D C1

SADA SRIE

0 1

CP

C1

Simbologia:
C1

0101 010 01 0

1D

1 0 0 1 1 0 0 1

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

Uke2010

Sistemas Digitais

Registos de Deslocamento (II)

Exemplo de diagrama temporal de um Shift Register simples:


ENTRADA SRIE FF1 1D C1 1D C1 FF2 1D C1 FF3 1D C1 FF4 SADA SRIE

CP

CP ENTRADA SRIE SADA FF1 SADA FF2 SADA FF3 SADA SRIE

Uke2010

Sistemas Digitais

Registos de Deslocamento (III)

Os registos de deslocamento tm inmeras aplicaes (basta por exemplo lembrarmo-nos do procedimento da multiplicao binria, 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 contedo, deslocar para a direita, deslocar para a esquerda e carregar em paralelo:

Selectores do modo de funcionamento M 0: mantm; 1: desloca p/ direita; 2: desloca p/esquerda; 3: carregamento paralelo Entradas srie nos FF situados nos 2 extremos Entradas paralelas em todos os FF
Uke2010 Sistemas Digitais

D3 D2 D1 D0

Q3 Q2 Q1 Q0
7

Registos de Deslocamento (IV)

O seguinte logigrama mostra como feito um registo de deslocamento universal (ilustra-se apenas a entrada de um dos FF):
Dm
In

M0 M1

S0 S1

MUX

D3 D2 D1 D0

Q3
1D

0 1

G 0 3 1D C1 1D C1

Q2 Q1 Q0

0 C1 1 2 3

Qm-1 Qn-1 Uke2010s Sistemas Digitais

QmQn

Qm+1 Qn+1 8

Interligao de Registos

A transferncia de informao entre registos uma das operaes mais comuns num microprocessador Como tal, a interligao entre registos torna-se numa das aplicaes mais importantes a nvel dos Sistemas Digitais e da Arquitectura de Computadores Como a transferncia de informao involve vrios bits em simultneo, importante introduzir a noo de barramento (BUS em ingls) Quem nunca ouviu falar do termo BUS quando nos referimos a um computador? Um barramento no 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 sada de um registo um barramento...
Uke2010 Sistemas Digitais 9

Interligao de Registos com Mux

Objectivo: conseguir trocar informao entre vrios registos simultaneamente; em cada impulso de relgio, cada registo pode receber informao de qualquer outro registo Exemplo: Suponhamos que pretendemos interligar 4 registos de 6 bits cada
I0 I1 I2 I 3 I 4 I 5 En Reg 0 I0 I1 I2 I 3 I 4 I 5 En Reg 1 I0 I1 I2 I 3 I 4 I 5 En Reg 2 I0 I1 I2 I 3 I 4 I 5 En Reg 3

Clock

O0O1O2O3O 4O 5

O0O1O2O 3O 4O 5

O0O1O2O 3O 4O 5

O0O1O2O 3O 4O 5

Uke2010

Sistemas Digitais

10

Interligao 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 seleco e 4 entradas de dados (cada entrada de dados recebe a sada de peso correspondente de um dos 4 registos) Veja-se como seriam ligadas as entradas um dos registos:

Uke2010

Sistemas Digitais

11

Buffers Tri-state

Antes de se avanar para uma soluo mais simples h que apresentar um novo dispositivo o Buffer Tri-state cujo comportamento o seguinte:
C(ontrol) 0 1 1 I(nput) X 0 1 O(utput) OFF 0 1

Quando a entrada de controlo (Enable) est a 0, ento a sada fica num estado de alta impedncia em que no existe passagem de corrente. Assim, a sada no est nem a 1, nem a 0, mas sim num terceiro estado (da o termo Tri-state) Simbologia:
I C O C I En 1 O

Sada Tri-state
12

Uke2010

Sistemas Digitais

Buffers Tri-state: Linhas bidireccionais

Existem duas aplicaes fundamentais para os buffers tri-state:


Linhas bidireccionais Multiplexagem

Linhas bidireccionais:
I O C O C I

DIR

DIR = 1 DIR = 0

I C

O C

...
I C O

DIR 0 1

...
O C I

Uke2010

Sistemas Digitais

13

Buffers Tri-state: Multiplexagem


I0 O C

SEL

I1 C

Multiplexagem utilizando buffers tri-state:


Se SEL = 0, I0 passa para a sada (pois o buffer de cima est activo e o de baixo inactivo); Se SEL = 1, I1 passa para a sada (pois tem-se a situao inversa).

Tem-se assim o comportamento de um multiplexer Com um descodificador de n entradas e um conjunto de buffers tri-state possvel implementar um mux de 2n entradas de dados
Sistemas Digitais 14

Uke2010

Interligao entre Registos utilizando Barramentos Tri-state

Soluo para a interligao de registos com sada tri-state atravs de um barramento - permite a transferncia de informao entre o par de registos seleccionado
Nmero do registo de destino (onde se pretende escrever)

Nmero do registo de origem da informao Uke2010 Sistemas Digitais

15

Bibliografia
Arroz,G.,

Monteiro,J.C., Oliveira,A., Arquitectura de Computadores, dos Sistemas Digitais aos Microprocessadores , seco 6.5, 6.7, 2 Edio, 2009 Mano,M., Kime,C. Logic and Computer Design Fundamentals, Prentice Hall, seces 5.4, 7.4, 7.5

Uke2010

Sistemas Digitais

16