Introdução
Revisão de Conceitos de Circuitos Lógicos e
Estruturas para Arquitetura de Computadores
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-1
Tópicos
•
Circuitos combinacionais:
– multiplexadores
– somadores / subtratores
– decodificadores
– barramentos 3-state e conexão ponto-a-ponto
•
Circuitos sequenciais
– latches & FlipFlops
– registradores
– contadores
– máquina de estados
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-2
Circuitos Combinacionais
Tabela Verdade
Input
Mapa de Karnaugh
Output
ai
bi
ci
ci+1
si
0
0
0
0
0
0
0
1
0
1
0
1
0
0
1
1
0
1
1
1
0
1
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1
1
1
Saída y em função
das 24 combinações
de entrada
1998 Morgan Kaufmann Publishers
Ch0-3
Multiplexadores
S0S1
0
1
2
3
Y
x3
1
2
13
12
x2
1
2
13
12
x1
3
4
5
6
x0
9
10
11
8
1
Y
0
0
X0
0
1
X1
1
0
X2
1
1
X3
2
S1
1
S0
4
3
3
x0
x1
x2
x3
2
Y
Aplicações
S0
S1
•roteamento de sinais
•transferência de dados
•seleção de alternativas
•(barramento)
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-4
Somadores / ULAs
projeto convencional
a3 b3
c4
a2 b2
c3
+
+
s3
a1 b1
c2
c1
+
s2
a0 b0
s1
+
s0
a3b3 a2b2 ... a0b0 c4 s3 s2 s1s0
c0
256
linhas
8 entradas
5 saídas
abordagem bit-slice
Input
Output
ai
bi
ci
ci+1
si
Implementar por mapa de Karnaugh ou
0
0
0
0
0
• Ci+1 = 1 se 2 ou mais 1´s  aibi + aici + bici
0
0
1
0
1
0
1
0
0
1
0
1
1
1
0
1
0
0
0
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
1
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
• Si = 1 se Nº ímpar de 1´s  ai  bi  ci
1998 Morgan Kaufmann Publishers
Ch0-5
Somadores
ai bi ci
ci+1
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
ai
bi
ci
1998 Morgan Kaufmann Publishers
si
Ch0-6
Exercício ALU de 4 bits
Ai
Bi
4
Sel
4
ALU
Sel
Função de Y
00
Y = A + B; Cout = vai-um
01
Y = A AND B
10
Y = A OR B
11
Y = complemento (A)
4
Cout
Y
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-7
Decodificadores
a
x0
x1
x2
x3
b
ab
X0 X1 X2
X3
00
1
0
0
0
01
0
1
0
0
10
0
0
1
0
11
0
0
0
1
x3
x2
6
8
5
9
x1
a
Exemplo de utilização:
OP Code
Reg
x0
b
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-8
Barramentos: comunic. entre elementos
a) ponto a ponto
A
B
D
C
Desvantagens:
Vantagens:
• comunicação direta
entre elementos
• paralelismo
• implementação
• complexidade
• custo
• escalabilidade
• expansibilidade
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-9
Barramentos: comunic. entre elementos (2)
b) barramento simples
A
B
C
D
Vantagens:
• implementação
• simplicidade
• custo (HW & projeto)
Desvantagens:
• falta de paralelismo
• escalabilidade
• expansibilidade
• isolamento
(desacoplamento)
c) variante: barramento duplo
A
B
C
D
• VLSI (regularidade)
duas transações simultâneas por ciclo
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-10
Implementação de barramentos
•
•
•
•
Comunicação unidade x barramento:
– leitura (bar  unidade)
– escrita (unidade  bar)
Seleção de qual unidade escreve no barramento
– Função multiplexador
Alternativas de implementação de escrita:
– AND-OR (convencional)
– Wired AND ou OR
– 3-State
Mais popular: 3-State
Se EN = 1  Y = A
EN
A
Y
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
Se EN = 0  Y = Z
(Z = alta impedância  desligado)
1998 Morgan Kaufmann Publishers
Ch0-11
Implementação de barramentos (2)
Escrita
EN1
EN2
EN3
EN4
Apenas um EN ativo por vez
MUX convencional (não modular)
Leitura
Bar2A
Bar2B
A
B
Mais modular
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-12
Implementação de barramento modular (3)
Bar2A
Bar2B
A
B
A2Bar
B2Bar
• Leitura e escrita modulares
• Expansibilidade e desacoplamento
• Regularidade
• essencial para VLSI, geometria e disposição
físicas são importantes
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-13
Circuitos seqüênciais
•
•
•
•
Latches & FlipFlops
registradores
contadores
máquina de estados
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-14
Elementos de armazenamento: Latch
~S
Latch S-R
Q
~Q
~R
LD
Latch Tipo D
D
D
1
0
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
Q
Q
LD
1998 Morgan Kaufmann Publishers
Ch0-15
Elementos de armazenamento: Flip-Flop
Flip-Flop D
D
Q
Ck
se CK  então D  Q
(sensível à borda)
~Q
se CK  então
Flip-Flop JK
J
Ck
K
Q
~Q
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
JK
Qn+1
00
01
10
11
Qn
0
1
~Qn
1998 Morgan Kaufmann Publishers
Ch0-16
Latch (transparente) versus Flip-Flop (borda)
Latch
D
LD
transparente
transparente
QLatch
Flip-Flop
D
CK
QFF
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-17
Registradores: conjunto de latches ou FFs
LD
Registrador de carga paralela
CK
carga de registrador:
D
LD
D
Ck
Latch (LD) OK
Q
~Q
Errado !
D
D
Ck
FF ?
Q
Q
~Q
LD
CERTO (74LS377)
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-18
Registrador de deslocamento
SDI
D
Q
D
Q
D
Q
D
Q
SDO
CK
Latch ou Flip-Flop?
Aplicações:
• ULAs têm registradores de deslocamento (esquerda, direita, anel)
• Conversão série  paralelo
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-19
Contadores: exemplo toggle counter
EN
D EN
D EN
D EN
D EN
Q
Q
Q
Q
CK
Q0
Q1
Q2
Q3
EN
T
CK
Q
Qi
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
Aplicações:
• temporizadores
• Program Counter (PC)
• Increm. / Decrem.
• ULA
1998 Morgan Kaufmann Publishers
Ch0-20
Exercício registrador
Projetar um registrador de deslocamento
• esquerda / direita com carga paralela
• especificar os sinais de controle
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-21
Máquina de Estados
Circuito Sequencial Síncrono Genérico
Máquina de Moore
Máquina de Mealy
X
CC
Si+1
FF
X
Si
CC
Saída Y muda apenas
na transição do clock
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
Y
Y
CC
Si+1
FF
Si
Saída Y pode mudar em
qualquer instante, em
função da entrada X
1998 Morgan Kaufmann Publishers
Ch0-22
Síntese de uma máquina de estados
Mealy
entr / saída
S0
S3
Moore
entr
S1
Estado

Entradas
Atual
Próximo
S0
S2
S1
Saídas
S2
Diagrama de Transição de Estados
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
Tabela de Transição de Estados
1998 Morgan Kaufmann Publishers
Ch0-23
Síntese de uma máquina de estados
Estado
Atual
Próximo
00
01
10
Entradas
Saídas
Codificação dos estados
• S0 = 00 etc
Equações booleanas dos circuitos combinacionais
• Si+1 = fS (Si, X)
• Y = fY (Si, X)
(em maq. de Moore, só S)
• Sintetizar os CCs
• Elementos de memória podem ser
FF-D ou FF-JK
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
1998 Morgan Kaufmann Publishers
Ch0-24
Aplicações de máquina de Estados
ler
instrução
Controle de seqüência de ações:
decodificar
instrução
• Unidade de controle de CPUs
• Seqüência de ações  fluxograma
• Mapeamento direto:
• fluxograma  maq de estados
ADD
ADD
Mario Côrtes - MO401 - IC/Unicamp- 2002s1
SUB
JUMP
1998 Morgan Kaufmann Publishers
Ch0-25
Download

ch0_1s02