Agrupando flip-flops e portas
para criar registradores
Registradores de 1 bit
carga
Q
Q’
D
Ck
DC Reset (CLR)
DC Set (PR)
zerar
colocar em 1
entrada
saída
saída complementada
ler
- nas bordas positivas do sinal CARGA
- quando o sinal ZERAR passa de 1 para 0
Registradores de vários bits
• um flip-flop por bit
• sinais de controle comuns a todos os flip-flops
DC Reset
DC Set
Q
Q’
Ck
D
DC Reset
DC Set
Q
Q’
Ck
D
DC Reset
DC Set
Q
Q’
Ck
D
DC Reset
DC Set
Q
Q’
Ck
D
CARGA
ZERAR
Quando lê as entradas ?
Quando zera todos os bits ?
Registrador com carga e saída paralelas
DC Reset
DC Set
Q
Q’
Ck
D
DC Reset
DC Set
Q
Q’
Ck
D
DC Reset
DC Set
Q
Q’
Ck
D
DC Reset
DC Set
Q
Q’
Ck
D
CARGA
en-1 e1 e0
sn-1 s1
s0
• entradas D lidas simultaneamente, na borda do sinal de CARGA
• saídas disponíveis continuamente (esperar terminar as cargas)
en-2
sn-2
Registrador com carga e saída seriais
(registrador de deslocamento)
DC Reset
DC Set
Q
Q’
Ck
D
DC Reset
DC Set
Q
Q’
Ck
D
DC Reset
DC Set
Q
Q’
Ck
D
DC Reset
DC Set
Q
Q’
Ck
D
CARGA
e
s
• entradas D lidas simultaneamente, na borda do sinal de CARGA
• valor de e armazenado no FF da “esquerda”
• demais FFs deslocam para a “direita” seu conteúdo
• valor do FF mais à “direita” sai do registrador
• somente o bit mais à “direita” fica disponível na saída s
Registrador com carga serial e saída paralela
(aplicação: recepção de dados em linhas seriais)
DC Reset
DC Set
Q
Q’
Ck
D
DC Reset
DC Set
Q
Q’
Ck
D
DC Reset
DC Set
Q
Q’
Ck
D
DC Reset
DC Set
Q
Q’
Ck
D
CARGA
sn-1 s1
s0
sn-2
e
• entradas D lidas simultaneamente, na borda do sinal de CARGA
• valor de e armazenado no FF da “esquerda”
• demais FFs deslocam para a “direita” seu conteúdo
• valor do FF mais à “direita” sai do registrador
• saídas disponíveis continuamente (esperar terminar as cargas)
Contador binário de 4 bits
• contar = somar 1 ao registrador a cada borda
negativa do sinal de CONTAR
• conta de 00002 a 11112 e depois volta a 00002
• FF da esquerda é o bit menos significativo
• pode ser zerado no meio da contagem (ZERAR)
s3 s2 s1 s0
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1
0 0 0 0
CONTAR
ZERAR
s0 s1 s2 s3
DC Reset
DC Set
Q
Q’
Ck
T
DC Reset
DC Set
Q
Q’
Ck
T
DC Reset
DC Set
Q
Q’
Ck
T
DC Reset
DC Set
Q
Q’
Ck
T
1 1 1 1
Unidade de Aritmética e Lógica
(circuito combinacional)
UAL
S
X Y
ADD
AND
OR
NOT
Instrução NOT
X S
Instrução OR
S
X
Y
Instrução AND
S
X
Y
n n
n
N Z C V
• os valores de S, N, Z, C e V dependem
apenas dos valores das entradas X, Y e
dos sinais de controle
• contém um circuito para cada operação
• o valor que vai para as saídas é
selecionado de acordo com os sinais de
controle
Meio Somador (Half Adder)
A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
Somador Completo (Full Adder)
A B Ci S Co
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Somador Completo (Full Adder)
A B Ci S Co
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1
Somador binário (paralelo) de n bits
UAL: reunindo todos os circuitos
Códigos de Condição
(registradores de 1 bit)
D = bit 7 da saída da ULA
D = NOR dos 8 bits da saída da ULA
D = XOR do Cin e Cout
do msbit do somador
DC Reset
DC Set
Q
Q’
Ck
D
carga N N
DC Reset
DC Set
Q
Q’
Ck
D
carga Z Z
DC Reset
DC Set
Q
Q’
Ck
D
carga V V
D = Cout do msbit do somador
DC Reset
DC Set
Q
Q’
Ck
D
carga C C
Memória com seleção linear
8
2
Endereço
o
Write Dado de Entrada
Posição 0
Posição 1
Posição 2
Posição 3
8
8
8
8
2 Leitura
Dado
de
Saída
8
8
8
8
carga
carga
carga
carga
Memória com seleção matricial
(um “plano”)
L L L L C C C C
CCCC LLLL
Uma palavra: 1 bit em cada “plano”
P0
P1
P2
P3
P4
P5
P6
P7
(1 “plano” pode ser 1 circuito integrado de memória “nk  1 bit”)
Seleção linear x matricial
Tamanho da memória (em
palavras)
Tamanho do
REM (em bits)
Linhas de seleção
(linear)
Linhas de seleção
(matricial)
256 (Neander, Ahmes) 8 256 2x24
= 32
1.024 10 1.024 2x25
= 64
65.536 (Cesar, PDP 11) 16 65.536 2x28
= 512
1.048.576 (Intel 8086) 20 1.048.576 2x210
= 2.048
16.777.216 (Motorola 68000) 24 16.777.216 2x212
= 8.192
4.294.967.296 (I486, Pentium) 32 4.294.967.296 2x216
= 131.072

RegAluMem.ppt

  • 1.
    Agrupando flip-flops eportas para criar registradores
  • 2.
    Registradores de 1bit carga Q Q’ D Ck DC Reset (CLR) DC Set (PR) zerar colocar em 1 entrada saída saída complementada ler
  • 3.
    - nas bordaspositivas do sinal CARGA - quando o sinal ZERAR passa de 1 para 0 Registradores de vários bits • um flip-flop por bit • sinais de controle comuns a todos os flip-flops DC Reset DC Set Q Q’ Ck D DC Reset DC Set Q Q’ Ck D DC Reset DC Set Q Q’ Ck D DC Reset DC Set Q Q’ Ck D CARGA ZERAR Quando lê as entradas ? Quando zera todos os bits ?
  • 4.
    Registrador com cargae saída paralelas DC Reset DC Set Q Q’ Ck D DC Reset DC Set Q Q’ Ck D DC Reset DC Set Q Q’ Ck D DC Reset DC Set Q Q’ Ck D CARGA en-1 e1 e0 sn-1 s1 s0 • entradas D lidas simultaneamente, na borda do sinal de CARGA • saídas disponíveis continuamente (esperar terminar as cargas) en-2 sn-2
  • 5.
    Registrador com cargae saída seriais (registrador de deslocamento) DC Reset DC Set Q Q’ Ck D DC Reset DC Set Q Q’ Ck D DC Reset DC Set Q Q’ Ck D DC Reset DC Set Q Q’ Ck D CARGA e s • entradas D lidas simultaneamente, na borda do sinal de CARGA • valor de e armazenado no FF da “esquerda” • demais FFs deslocam para a “direita” seu conteúdo • valor do FF mais à “direita” sai do registrador • somente o bit mais à “direita” fica disponível na saída s
  • 6.
    Registrador com cargaserial e saída paralela (aplicação: recepção de dados em linhas seriais) DC Reset DC Set Q Q’ Ck D DC Reset DC Set Q Q’ Ck D DC Reset DC Set Q Q’ Ck D DC Reset DC Set Q Q’ Ck D CARGA sn-1 s1 s0 sn-2 e • entradas D lidas simultaneamente, na borda do sinal de CARGA • valor de e armazenado no FF da “esquerda” • demais FFs deslocam para a “direita” seu conteúdo • valor do FF mais à “direita” sai do registrador • saídas disponíveis continuamente (esperar terminar as cargas)
  • 7.
    Contador binário de4 bits • contar = somar 1 ao registrador a cada borda negativa do sinal de CONTAR • conta de 00002 a 11112 e depois volta a 00002 • FF da esquerda é o bit menos significativo • pode ser zerado no meio da contagem (ZERAR) s3 s2 s1 s0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 0 0 CONTAR ZERAR s0 s1 s2 s3 DC Reset DC Set Q Q’ Ck T DC Reset DC Set Q Q’ Ck T DC Reset DC Set Q Q’ Ck T DC Reset DC Set Q Q’ Ck T 1 1 1 1
  • 8.
    Unidade de Aritméticae Lógica (circuito combinacional) UAL S X Y ADD AND OR NOT Instrução NOT X S Instrução OR S X Y Instrução AND S X Y n n n N Z C V • os valores de S, N, Z, C e V dependem apenas dos valores das entradas X, Y e dos sinais de controle • contém um circuito para cada operação • o valor que vai para as saídas é selecionado de acordo com os sinais de controle
  • 9.
    Meio Somador (HalfAdder) A B S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1
  • 10.
    Somador Completo (FullAdder) A B Ci S Co 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1
  • 11.
    Somador Completo (FullAdder) A B Ci S Co 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1
  • 12.
  • 13.
    UAL: reunindo todosos circuitos
  • 14.
    Códigos de Condição (registradoresde 1 bit) D = bit 7 da saída da ULA D = NOR dos 8 bits da saída da ULA D = XOR do Cin e Cout do msbit do somador DC Reset DC Set Q Q’ Ck D carga N N DC Reset DC Set Q Q’ Ck D carga Z Z DC Reset DC Set Q Q’ Ck D carga V V D = Cout do msbit do somador DC Reset DC Set Q Q’ Ck D carga C C
  • 15.
    Memória com seleçãolinear 8 2 Endereço o Write Dado de Entrada Posição 0 Posição 1 Posição 2 Posição 3 8 8 8 8 2 Leitura Dado de Saída 8 8 8 8 carga carga carga carga
  • 16.
    Memória com seleçãomatricial (um “plano”) L L L L C C C C CCCC LLLL
  • 17.
    Uma palavra: 1bit em cada “plano” P0 P1 P2 P3 P4 P5 P6 P7 (1 “plano” pode ser 1 circuito integrado de memória “nk  1 bit”)
  • 18.
    Seleção linear xmatricial Tamanho da memória (em palavras) Tamanho do REM (em bits) Linhas de seleção (linear) Linhas de seleção (matricial) 256 (Neander, Ahmes) 8 256 2x24 = 32 1.024 10 1.024 2x25 = 64 65.536 (Cesar, PDP 11) 16 65.536 2x28 = 512 1.048.576 (Intel 8086) 20 1.048.576 2x210 = 2.048 16.777.216 (Motorola 68000) 24 16.777.216 2x212 = 8.192 4.294.967.296 (I486, Pentium) 32 4.294.967.296 2x216 = 131.072