Baixe o app para aproveitar ainda mais
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
Compartilhar