Escolar Documentos
Profissional Documentos
Cultura Documentos
Projecto de contadores
Sequncia de estados Funcionalidades adicionais
Projecto de contadores
Procedimentos de projecto Implementao de funcionalidades adicionais: Count enable Clear Load Terminal Count
Funcionalidades adicionais
Count Enable (CE)
Acrescenta-se material s entradas de cada flip-flop de modo a que:
CE desactivado o FF nunca muda de estado (forar JK=00) CE activado o circuito comporta-se normalmente
Count Enable
...
Funcionalidades adicionais
Acrescentam-se depois as funcionalidades extra que se pretenderem Load, Clear ou Count Enable. Evita-se desta forma que a tabela de transio de estados tenha uma dimenso demasiado grande Implementam-se de uma forma semelhante ao que foi visto para os registos
Academia ISCTE Arquitectura de Computadores
Ji Ki
Qi
...
Ji Ki
Qi
...
...
Funcionalidades adicionais
Clear sncrono
Acrescenta-se material s entradas de cada flip-flop de modo a que:
Clear desactivado o circuito comporta-se normalmente Clear activado o FF faz reset (forar J=0 e K=1)
Clear
...
Funcionalidades adicionais
Carregamento paralelo sncrono
Acrescenta-se material s entradas de cada flip-flop de modo a que:
Load desactivado o circuito comporta-se normalmente Load activado o FF carrega um novo valor (Pi)
Load
Mux S I0 I1 Z
Ji Ki
Qi
...
Ji Ki
Qi
...
Ji Ki
Qi
...
Pi
Ji Ki
Qi
...
...
...
Mux S Z ... I0 I1
Funcionalidades adicionais
Fim do ciclo de contagem (Terminal Count)
Acrescenta-se uma sada que d 1 no ltimo estado da sequncia Exemplos
Contador binrio de 4 bits o fim em 15 (1111) Contador BCD o fim em 9 (1001)
Q0 Q1 Q2 Q3
Exemplo
Projectar um contador de 3 bits com controlo da direco de contagem e count enable. Diagrama de transio de estados
1 1 1 0 1 0 0 0 6 1 1 5 1 0 4 0 2 0 0 1 1 3 0
Terminal Count
Q0 Q1 Q2 Q3
Terminal Count
Exemplo
Tabela de transio de estados
Q2 Q1 Q0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 1 U 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Q2 1 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 Q1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 Q0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 J2K2 1x 0x 0x 0x 0x 0x 0x 1x x1 x0 x0 x0 x0 x0 x0 x1 J1K1 1x 0x 0x 1x x1 x0 x0 x1 1x 0x 0x 1x x1 x0 x0 1x J0K0 1x 1x x1 x1 1x 1x x1 x1 1x 1x x1 x1 1x 1x x1 x1
Exemplo
Equaes de entrada nos flip-flops
Q0U Q2Q 1 00 01 11 10 00 1 x x 1 x x 1 x x 1 x x Q0U Q2Q 1 00 01 11 10 00 01 11 10 x 1 1 x x x x 1 1 x x x
J0 = K 0 = 1
01 11 10
Q0U Q2Q 1 00 01 11 10 00 01 11 10 x x x x 1 1 x x x x
Q0U Q2Q 1 00 01 11 10 00 01 11 10 1 x x x x x x 1 x x
J1 = K 1 = Q0 U + Q0U = Q0 U
J2 = K 2 = Q1Q0 U + Q1Q 0U = Q1 U Q 0 U
Academia ISCTE Arquitectura de Computadores
Exemplo
Circuito resultante
Up/Down
Vcc J0 K0 Q0 J1 K1 Q1 J2 K2 Q2
...
Exemplo
Acrescentar o count enable (CE)
Count Enable
Ji Ki Qi
...
Ji Ki
Qi
...
Clock
...
Ctr-3
U/D Q0 Q1 Q2
J1 = K1 = Q0 U CE J2 = K 2 = Q1 U Q0 U CE
Academia ISCTE Arquitectura de Computadores Academia ISCTE Arquitectura de Computadores
Exemplo
Circuito resultante
Up/Down Count Enable
J0 K0 Q0 J1 K1 Q1 J2 K2 Q2
Clock
Mini-Datapath
Controladores
Um controlador ou unidade de controlo um circuito sequencial que gera os sinais necessrios para outros componentes desempenharem sequncias de aces
Entradas Variveis de controlo
Unidade de controlo
Resposta
Unidade de controlo
EA SA AD
Objectivo
Obter um circuito que faa tarefas mais complexas, dividindo-as por vrias etapas ao longo do tempo (i.e., por vrios perodos do sinal de relgio)
Academia ISCTE Arquitectura de Computadores
Incio
Encher de gua
Lavar
Escoar a gua
Centrifugar
Estado actual
Prximo estado
Q2 0 1
00 0 0
01 0 x
11 1 x
10 0 x
Q2
000 001 010 011 100
Q1 0 0 1 1 0 0 1 1
Q0 0 1 0 1 0 1 0 1
Q2 0 0 0 1 0 x x x
Q1 0 1 1 0 0 x x x
Q0 1 0 1 0 0 x x x
Q2 Q2
0 0 0 0 1 1 1 1
D2 = Q1Q0
Q1Q0 00 0 1 0 0 01 1 x 11 0 x 10 1 x
D1 = Q1 Q0
Q1Q0 00 0 1 1 0 01 0 x 11 0 x 10 1 x
D 0 = Q2 Q0
D2
Q2
D1
Q1
D0
Q0
Q2 0 0 0 0 1 1 1 1
Q1 0 0 1 1 0 0 1 1
Q0 0 1 0 1 0 1 0 1
EA SA AD 0 1 0 0 0 x x x x 0 0 1 x x x x 0 0 1 x x x x x
EA = Q1Q0
Reset Clock
SA = Q1Q0
AD = Q1
000
001
010
011
100
Reset Clock
A sequncia de transio de estados sugere a utilizao de um contador de 3 bits (ou de um contador mdulo-5)
Academia ISCTE Arquitectura de Computadores Academia ISCTE Arquitectura de Computadores
Q2 0 0 0 0 1 1 1 1
Q1 0 0 1 1 0 0 1 1
Q0 0 1 0 1 0 1 0 1
Q2 0 0 0 1 0 x x x
Q1 0 1 1 0 0 x x x
Q0 1 0 1 0 0 x x x
Academia ISCTE Arquitectura de Computadores
0 0 0 1 1 1 1
Ctr-3
Q0 Q1 Q2
Ctr-3
EA SA AD
Clear = Q 2
SA = Q1Q0
Clear
Q0 Q1 Q2
Q1Q0 Q2 0 1 00 0 0 01 1 x 11 0 x 10 0 x Q2
Q1Q0 00 0 0 x 01 0 x 11 x x 10 1 x
Clock
EA = Q1Q0
AD = Q1
Exemplo Mini-Datapath
Considere o seguinte circuito:
Din R0
Load
Exemplo Mini-Datapath
Algumas operaes que podem ser feitas:
Din R0
Load
L0
C1 0 1 1
L1 x 0 0 1 1 1 1
L0 0 0 1 0 0 1 1
Op x x x 0 1 0 1
Add/Sub
Op
Variveis de controlo
Clock
Add/Sub
Op
1 1
Clock
R1
Load Clear
L1 C1
R1
Load Clear
L1 C1
1 1
Dout
Dout
Academia ISCTE Arquitectura de Computadores
Exemplo Mini-Datapath
E se pretender algo mais elaborado?
Din
Exemplo Mini-Datapath
Ter que se acrescentar uma unidade de controlo
Din R0
Load
Por exemplo, usar este circuito para calcular 2 Din e escrever o resultado em R1. necessrio mais do que um ciclo de relgio
R0
Load
L0
Add/Sub
Op
Add/Sub
L0 Op L1 C1
Load Clear
Unidade de controlo
Clock
R1
Load Clear
L1 C1
R1
Dout
Academia ISCTE Arquitectura de Computadores
Dout
Exemplo Mini-Datapath
Projecto da unidade de controlo
Ciclo 0 1 2 3 C1 0 1 1 1 L1 x 1 1 0 L0 1 0 0 0 Op x 0 0 x Descrio R1 0, R0 Din R1 R1 + R0 R1 R1 + R0 NOP Aps a transio tem-se R1=0 R0=Din R1=Din R0=Din R1=2Din R0=Din No faz nada
Exemplo Mini-Datapath
Tabela de transio de estados e sadas
Q1 0 0 1 1 Q0 0 1 0 1 Q1 0 1 1 1 Q0 1 0 1 1 C1 0 1 1 1 L1 x 1 1 0 L0 1 0 0 0 Op x 0 0 x
C1 = Q1 + Q 0
Op = 0
Exemplo Mini-Datapath
Circuito resultante para a unidade de controlo
Unidade de controlo
Exemplo Mini-Datapath
A mesma unidade, usando como base um contador com Count enable (CE)
L1 C1
Unidade de controlo
Ctr-2
L1 CE Q0 Q1 C1 L0
D1
Q1
D0
Q0
L0 Op
Clock
Op Clear
Clock Reset
Reset