Altifigence Academy

41 / 63 · Concetto

Distinguere latenza in cicli e throughput

Definire il riferimento di una linea a N stadi e calcolare latenza e throughput.

Definire la partenza di «dopo N cicli»

Un bit acquisito al fronte k nel bit 0 raggiunge bit N−1 di un registroRegistro Memorizza uno stato di più bit. I registri sincroni del corso acquisiscono gli ingressi specificati al fronte di clock. Approfondisci a N bit al fronte k+N−1. Fra prima e ultima acquisizione trascorrono N−1 periodi.

Se invece un registro precedente genera il nuovo bit al fronte k, la prima acquisizione avviene normalmente a k+1: fino all'uscita passano N periodi. Non è una contraddizione, ma un riferimento iniziale diverso.

Definendo d[k] come ingresso accettato al fronte k, dopo il riempimento vale:

qi[k]=d[k−i],qN−1[k]=d[k−N+1]q_i[k]=d[k-i],\qquad q_{N-1}[k]=d[k-N+1]

Latenza lunga non impedisce un risultato per ciclo

Con periodo T e un bit a ogni fronte, il throughputThroughput Numero di operazioni accettate o completate per unità di tempo. Una pipeline può aumentarlo senza ridurre la latenza del singolo lavoro. a regime è 1/T1/T bit/s. Aumentare N aumenta profondità e latenza, ma mantiene la portata se l'accettazione resta continua.

Una linea a quattro stadi a 100 MHz ha periodo 10 ns e throughput 100 Mbit/s. «Un bit impiega tempo ad attraversarla» non significa «bisogna attendere prima di inserire il successivo».

Ogni colonna registra un fronte di salitaFronte di salita Passaggio del clock da 0 a 1, distinto dall’intero intervallo di livello CLK=1. Approfondisci. Gli ingressi sono quelli immediatamente precedenti; gli stati indicati con «after» sono quelli subito dopo l’aggiornamento. Le colonne indicano l’ordine dei campioni, non il ritardo fisico di propagazioneRitardo di propagazione Tempo dalla variazione d’ingresso all’assestamento corretto dell’uscita. Equivalenza logica e proprietà temporali sono distinte. Approfondisci. Nella linea a tre stadi A entra al primo stadio a E0 e raggiunge l'ultimo subito dopo E2. Intanto B e C occupano gli stadi anteriori. I trattini indicano posizioni ancora invalide.

Dalla prima all’ultima acquisizione
Mostra i dati della forma d’onda
Dati della forma d’onda: ogni carattere è un intervallo; il punto mantiene lo stato precedente; p è un ciclo di clock.
SegnaleForma d’ondaValori del bus
edge2345E0 → E1 → E2 → E3
accepted2345A → B → C → D
stage0 after2345A → B → C → D
stage1 after2345- → A → B → C
stage2 after2.34- → A → B

Con gli stop contare gli spostamenti validi

I fronti con enable o accept=0 non muovono bit. Non si può allora specificare una latenza temporale fissa, solo una latenza in fronti accettati. valid deve muoversi con la stessa condizione dei dati per indicare quando l'uscita è valida.

Descrivere il pipeliningPipeline Divide i calcoli in stadi separati da registri elaborando più ingressi sovrapposti. Dati, valid e controlli devono essere allineati per stadio. Approfondisci solo come riduzione della latenza è fuorviante. Spesso divide il cammino combinatorio per alzare la frequenza, aggiungendo registri e latenza in cicli. Un corso successivo approfondisce il compromesso fra area, potenza e frequenza.

Prova tu

Un bit entra al bit 0 di una linea a cinque bit al fronte 10. Quando raggiunge bit 4 senza stop e con due fronti enable=0 intermedi?

Leggi la spiegazione

Senza stop al fronte 14, con due stop al 16. Dopo la prima acquisizione servono quattro spostamenti. Il riferimento è l’acquisizione al bit 0, non l’aggiornamento del registro esterno.

La scelta vale per questo browser. Puoi modificarla in qualsiasi momento dal piè di pagina.