Buscar

4 - Todos_

Prévia do material em texto

Sistemas Digitais 
Projeto das Partes 
Operativa e de Controle
(Multiplicador por somas sucessivas - Material complementar às 
notas de aula)
Prof. Tiago Balen
Parte de controle
Máquina de estados
Segue-se a tabela de transferência, cada estado será 
responsável pela realização de uma operação (ou 
parte de uma operação) ou teste.
Como as saídas da FSM (PC) são os sinais de 
controle da PO, para o projeto completo da FSM é 
necessário definir a arquitetura da PO.
Posteriormente retomaremos o projeto da PC
Tabela de Transferência
Com algumas otimizações
16
Testa BR=0;3
BR recebe BR-1BR-15
ACC recebe AR+ACCAR+ACC4
Testa BR=0;3
Testa AR=0;2
Carrega entradas A e
B; P, ACC, R
recebem 0
000Ent_BEnt_A1
Aguarda Start0
OperaçõesPRACCBRAREstado
Emanuel
Pencil
Emanuel
Typewritten Text
Esquecer
Emanuel
Pencil
Emanuel
Typewritten Text
Respost esta aqui
Emanuel
Pencil
Emanuel
Typewritten Text
P vai sair da máquina de estados
Parte Operativa
1. Inicia-se “desenhando” os registradores
2. Depois identifica-se e “desenha-se” os operadores 
necessários
3. Finalmente monta-se a rede de interconexões
Durante este processo já pode-se pensar nas otimizações que se 
deseja:
- Pelo custo do Hardware
- Pela velocidade de operação 
Componentes de uma PO
• Registradores
– Latches
– Flip-Flops
• Operadores
– Somadores
– Subtratores
– Unidade de Lógica e Aritmética
– Comparadores
Componentes de uma PO
• Blocos de endereçamento e seleção
– Mux / Demux
– Codificador / Decodificador
– Buffer tri-state
• Outros blocos funcionais
– Contadores
– Buffers FIFO, LIFO....
Falaremos mais destes blocos em outro momento
Arquiteturas possíveis
para esta PO (multiplicador)
Arq. 1 (MUX + ULA)
Arq. 2 (MUX + somador + subtrator)
Emanuel
Typewritten Text
Maior velocidade, porém com maior custo
Arq. 3 (barramento simples)
Emanuel
Typewritten Text
Resolve tudo em série, necessário 
uma operação para cada transferencia 
de dados. As transferência são 6

- E/S para AR
- E/S para BR
- AR para R2
- BR para R1 
Arq. 4 (barramento duplo)
Emanuel
Typewritten Text
Barramento duplo, isso acelera um pouco as coisas
2 operações
Emanuel
Pencil
Questões para fixação
1) Compare o número de ciclos de relógio necessários para 
realizar uma iteração do algoritmo (uma soma), nas 4 arquiteturas 
vistas.
2) Qual das 4 você acredita ser a mais rápida? E qual você 
acredita ser a mais econômica (menos recursos de HW)?
3) Considerando as variáveis A e B envolvidas no algoritmo, pode-
se dizer que a operação A x B sendo A=100 e B=2 (exemplo) toma 
o mesmo tempo de processamento do que a operação B x A (2 x 
100)?
4) Considerando a sua impressão até o momento, ordene as 
arquiteturas 1 a 4 em ordem crescente de complexidade da parte 
de controle que cada uma irá demandar.
Emanuel
Typewritten Text
Não, pois na segunda opção será somado o valor de 2 em 100 vezes. Na opção 1, será somando o valor de 100 em duas vezes, um valor bem menor do que a primera opção (somar 2 em 100 vezes) 
Emanuel
Typewritten Text
Respondido nos slides anteriores
Emanuel
Typewritten Text
Respondida nos slides anteriores
Projeto da PO (somas sucessivas)
• No quadro (anote...)
Emanuel
Typewritten Text
Esta em um pdf 
Emanuel
Pencil
Emanuel
Typewritten Text
Gira B vezes
Sistemas Digitais 
Aula 4
Cálculo da Frequência Máxima de 
Operação em Sistemas Digitais
Professor Tiago Balen
tiago.balen@ufrgs.br
mailto:tiago.balen@ufrgs.br
FMAX
• A frequência máxima de operação em 
Sistemas Digitais é calculada 
computando-se os atrasos envolvidos na 
PC e na PO
• Máximo atraso para estabilização dos 
dados na entrada do respectivo 
registrador após evento de relógio
• Caminho Crítico
Atrasos da PC
S0
S1
S2
Clk
D1 Q1
D2 Q2
D0 Q0
Função
de
Próximo
Estado
(comb.)
Função
de
Saída
(comb.)
Atrasos da PC
S0
S1
S2
Clk
D1 Q1
D2 Q2
D0 Q0
Função
de
Próximo
Estado
(comb.)
Função
de
Saída
(comb.)
Atraso dos Flip-Flops:
Atraso de Propagação: TpFF
Tempo de Setup: Tset
Atrasos dos Flip-Flops
Tempo de Setup: Tempo que o dado de entrada precisa 
permanecer estável antes da borda do clock
Tempo de Hold: Tempo que o dado de entrada precisa 
permanecer estável após a borda do clock
Atraso C-to-Q (TpFF): Tempo que o dado de saída demora para 
estabilizar após a borda do clock
Atrasos da PC
S0
S1
S2
Clk
D1 Q1
D2 Q2
D0 Q0
Função
de
Próximo
Estado
(comb.)
Função
de
Saída
(comb.)
Atraso dos Flip-Flops:
Atraso de Propagação: TpFF
Tempo de Setup: Tset
Mas então porque o 
tempo de hold não 
é considerado no 
atraso da PC??
Atrasos da PC
S0
S1
S2
Clk
D1 Q1
D2 Q2
D0 Q0
Função
de
Próximo
Estado
(comb.)
Função
de
Saída
(comb.)
Atrasos Combinacionais da PC:
Atraso de Propagação da Função 
de Próximo Estado: TpFPE
Atrasos Combinacionais da PC:
Atraso de Propagação da Função 
de Saída: TpFS
Origem dos atrasos 
combinacionais
Modelando simplificadamente um inversor lógico
Emanuel
Typewritten Text
PMOS
Emanuel
Typewritten Text
NMOS
Atrasos das Funções 
Combinacionais
• Dependem da profundidade lógica e de 
suas portas. Exemplo:
Atraso total deste bloco:
txor + tand + tor
??ou??
2 x txor
É preciso conhecer os tempos 
de propagação das portas.
Atraso Total (PC + PO)
S0
S1
S2
Clk
D1 Q1
D2 Q2
D0 Q0
Função
de
Próximo
Estado
(comb.)
Função
de
Saída
(comb.)
A PC precisa esperar o tempo necessário para a PO trabalhar...
Veremos o atraso da PO mais tarde
Atraso Total
Frequência máxima de 
operação
A frequência máxima de operação de um 
sistema é calculada através dos atrasos de 
temporização da PC e da PO:
pPOsetFFpFPEpFSpFF
MAX
ttttt
f


1
PC
Atrasos da PO
O atraso da PO depende da soma dos 
atrasos impostos pelos elementos do 
caminho critico desta, ou seja, o caminho 
que apresentar o maior atraso. 
Estes elementos são registradores (latches
ou flip-flops), multiplexadores, buffers tri-
state, ULAs, somadores ou subtratores, ou 
ainda, simples portas lógicas.
Atrasos da PO
Consideraremos para todos os problemas 
teóricos abordados nesta disciplina uma 
tecnologia de fabricação (hipotética) que 
resulta nos seguintes atrasos para os 
elementos de interesse:
• Flip-Flop: Tset = 2ns; Tp = 10ns
• Multiplexador / tri-satte: Tp = 5s
• Somador / Subtrator / ULA: Tp = 5ns/BIT
• Porta lógica (todas): Tp = 2ns
Emanuel
Pencil
Emanuel
Typewritten Text
Tempo de propagação
Emanuel
Pencil
Emanuel
Typewritten Text
Tempo de set
Atrasos da PO - Exemplo
Atrasos da PO - Exemplo
Caminho Crítico: 
2 mux, 
1FF
1 operador
tPO= 2xtMUX + TsetFF + TPFF + (tS X Nbits)
Exemplo
Calcule a frequência máxima para o exercício 
do multiplicador por somas sucessivas, 
considerando:
• Flip-Flop: Tset = 2ns; Tp = 10ns
• Multiplexador / tri-satte: Tp = 5s
• Somador / Subtrator / ULA: Tp = 5ns/BIT
• Porta lógica (todas): Tp = 2ns
Exemplo
• Flip-Flop: Tset = 2ns; Tp = 10ns
• Multiplexador / tri-satte: Tp = 5s
• Somador / Subtrator / ULA: Tp = 5ns/BIT
• Porta lógica (todas): Tp = 2ns
tPO= 2xtMUX + TsetFF + TPFF + (tS X Nbits)
pPOsetFFpFPEpFSpFF
MAX
ttttt
f


1
Emanuel
Pencil
Emanuel
Typewritten Text
tempo de propagação 
da função de proximo 
estado
Emanuel
Pencil
Emanuel
Typewritten Text
Propagação da função de saída
Emanuel
Pencil
Emanuel
Typewritten Text
Atraso por porta
Emanuel
Pencil
Emanuel
Pencil
Emanuel
Typewritten Text
Tempo de propagação 
de cada flipflop
Emanuel
Typewritten Text
 10 + 4 + 4 + 2 + 102
Emanuel
Typewritten Text
Para o circito anterior
Emanuel
Pencil
Emanuel
Typewritten Text
102
Emanuel
Pencil
Emanuel
Typewritten Text
Atraso da parte operativa
Emanuel
Pencil
Emanuel
Typewritten Text
Atraso da parte de controle
Emanuel
Pencil
Emanuel
Typewritten Text
1
Emanuel
Typewritten Text
8,14 MHz
Emanuel
Pencil
Tempo de Computação
O tempo de computação de um determinado 
sistema (realizando determinada instruçãoou 
algoritmo), depende da frequência máxima de 
operação e do número de ciclos de relógio 
necessários para a finalização da tarefa, conforme 
a equação abaixo:
ciclos
f
T
MAX
comp #
1

Tempo de Computação
Calcule o tempo de computação para o sistema 
em estudo.
ciclos
f
T
MAX
comp #
1

Sistemas Digitais - ENG04461
Prof. Tiago Balen
Cálculo da Frequência Máxima de Operação em Sistemas Digitais
1 Atrasos e Frequência Máxima de Operação
Vimos que a frequência máxima de operação de um sistema é calculada
através dos atrasos de temporização da PC e da PO, conforme mostrado
abaixo:
fMAX =
1
tpFF + tpFS + tpFPE + tsetFF + tpPO
(1)
Isso significa que além dos próprios atrasos, a máquina de estados da parte
de controle deve também esperar pelos atrasos da parte operativa, antes de
poder efetivamente mudar de estado. Isso é necessário para garantir que as
operações estejam completas ao final de um ciclo de relógio e que os valores
de status lidos pela PC estejam corretos.
Os atrasos as PC dependem do atraso de propagação e do tempo de SET
de seus flip-lfops, além dos atrasos das funções combinacionais de sáıda e de
próximo estado da FSM.
O atraso da PO depende da soma dos atrasos impostos pelos elemen-
tos do caminho critico desta, ou seja, o caminho que apresentar o maior
atraso. Estes elementos são registradores (latches ou flip-flops), multiplexa-
dores, buffers tri-state, ULAs, somadores ou subtratores, ou ainda, simples
portas lógicas.
Os atrasos de cada elemento dependem da tecnologia de fabricação do
componente ou bloco integrado e é devido a capacitâncias parasitas e à mobi-
lidade dos portadores no semicondutor (elétrons ou lacunas). Normalmente,
os atrasos de propagação são menores em tecnolgias atuais, devido a redução
das dimensões dos transistores.
Consideraremos para todos os problemas teóricos abordados nesta disci-
plina uma tecnologia de fabricação que resulta nos seguintes atrasos para os
elementos de interesse:
• Flip-Flop: Tset = 2ns; Tp = 10ns
• Multiplexador / tri-satte: Tp = 5s
1
• Somador / Subtrator / ULA: Tp = 5ns/BIT
• Porta lógica (todas): Tp = 2ns
2 Tempo de computação
O tempo de computação de um determinado sistema (realizando determinada
instrução ou algoritmo), depende da freqüência máxima de operação e do
número de ciclos de relógio necessários para a finalização da tarefa, conforme
a equação abaixo:
TCOMP = #ciclos×
1
fMAX
(2)
Exemplo: se a freqüência de operação de um sistema for 200MHz, o
tempo gasto por um ciclo de relógio é 1/200.000.000 (5 nano segundos). Se
este sistema demanda 500 ciclos para realizar uma determinada operação, o
tempo de computação é 2,5 micro segundos.
No entanto, o numero de ciclos pode depender dos próprios operandos,
como já discutimos anteriormente. Sendo assim, o cálculo do tempo de com-
putação pode gerar uma função matemática que depende dos valores dos
operandos.
3 Exerćıcios
1) Considerando o sistema explorado em aula (multiplicador por somas su-
cessivas) e a solução utilizando dois operadores distintos, determine:
a) O caminho cŕıtico na PO.
b) A freqüência máxima de operação.
c) O tempo de computação.
2) Repita o exerćıcio 1 após reprojetar o seu sistema (PC e PO) para que o
mesmo utilize um único operador (ULA).
3) Compare as duas soluções em termos de custo de Hardware e Tempo de
computação.
4) Proponha alterações no projeto que podem otimizar ainda mais o sistema
quanto ao:
a) O custo.
2
b) A velocidade de operação.
5) O algoritmo abaixo calcula a divisão de números positivos inteiros por
subtrações sucessivas.
Esperar START;
Ler A, B;
Q=0;
R=0;
Se (A<B) Então
{
C=B;
B=A;
A=C;
}
Enquanto (A ≥ B) {
Q=Q+1;
A=A-B;
}
R=A;
Escrever Q, R;
FIM;
1. Utilizando FLIP-FLOPs. Represente o esquemático lógico (RTL) da parte
operativa de um sistema digital que executa o algoritmo acima.
2. Desenhe o diagrama de estados da parte de controle que comanda a PO
implementada no item 1.
3. Faça uma estimativa de custos em termos de número de transistores de
sua solução (apenas parte operativa).
4. Faça uma estimativa do tempo de computação alcançado pela sua solução.
Admita que o atraso da PC é 20 ns. Utilize os valores de atrasos considerados
na última aula.
5. Reprojete o seu sistema, otimizando-o segundo os seguintes critérios:
a. Mı́nimo custo (sem restrições quanto à velocidade de operação)
b. Máxima velocidade (freq máxima) de operação (sem restrições quanto
ao custo de implementação)
3

Continue navegando

Outros materiais