41 / 63 · Conceito
Distinga latência em ciclos e taxa de processamento
Fixe o ponto de observação de uma linha de N estágios e quantifique latência e taxa.
As aulas podem ser lidas gratuitamente. Inscreva-se para salvar o progresso.
Defina a origem de «N ciclos depois»
Um bit capturado no bit 0 em k chega ao bit N−1 de um registradorRegistrador Circuito que armazena vários bits de estado. Os registradores síncronos deste curso capturam a entrada especificada na borda de clock. Saiba mais de N bits em k+N−1. Entre primeira e última captura passam N−1 períodos.
Se o registrador que aciona a entrada gerar o bit em k, a primeira captura do deslocador costuma ocorrer em k+1. A partir dessa origem, a saída demora N períodos. Não é contradição: o ponto inicial mudou.
Definindo d[k] como a entrada aceita em k, depois de preencher a linha:
Uma latência longa permite um resultado por ciclo
Com período T e aceitação de um bit por borda, a taxaTaxa de processamento Quantidade de operações aceitas ou concluídas por unidade de tempo. Um pipeline pode aumentá-la sem reduzir a latência de uma operação individual. estável é bits/s. Aumentar N acrescenta armazenamento e latência, mas mantém a taxa se as entradas continuarem sendo aceitas.
Uma linha de quatro estágios a 100 MHz tem período 10 ns e taxa estável de 100 Mbit/s. Um bit demorar para atravessá-la não implica esperar antes de inserir o próximo.
Cada coluna registra uma borda de subidaBorda de subida Instante em que o clock passa de 0 para 1. É diferente do nível alto, que abrange todo o intervalo com CLK=1. Saiba mais, entradas anteriores e estados «depois» posteriores. O alinhamento não representa propagação físicaAtraso de propagação Tempo entre uma mudança de entrada e a estabilização da saída no valor correto. Equivalência lógica e comportamento temporal são propriedades distintas. Saiba mais. Em três estágios, A entra no primeiro em E0 e chega ao último logo após E2, enquanto B e C ocupam os anteriores. Traços indicam posições ainda inválidas.
Ver os dados da forma de onda
| Sinal | Forma de onda | Valores do barramento |
|---|---|---|
| borda | 2345 | E0 → E1 → E2 → E3 |
| entrada aceita | 2345 | A → B → C → D |
| stage0 depois | 2345 | A → B → C → D |
| stage1 depois | 2345 | - → A → B → C |
| stage2 depois | 2.34 | - → A → B |
Com pausas, conte deslocamentos válidos
Uma borda com enable ou accept em 0 não move bits. Já não se pode garantir um tempo real fixo, apenas uma latência medida em avanços aceitos. Mova valid nas mesmas condições dos dados para identificar saídas válidas.
Apresentar pipelinePipeline Estrutura que divide o cálculo em estágios separados por registradores para processar várias entradas de forma sobreposta. Dados, valid e controles devem permanecer alinhados entre os estágios. Saiba mais apenas como forma de reduzir latência induz ao erro. Muitas vezes ele divide a lógica para aumentar a frequência, acrescentando registradores e latência em ciclos. O estudo posterior aprofunda os compromissos de área, potência e frequência.
Experimente
Um bit capturado no bit 0 na borda 10 de uma linha de cinco bits chega ao bit 4 em qual borda, sem pausas? E com duas bordas intermediárias de enable=0?
Ler a explicação
Em 14 sem pausas e em 16 com duas pausas. São necessários quatro movimentos adicionais após a captura inicial. A origem é a captura no bit 0, não a atualização de um registrador externo.