41 / 63 · Concept
Distinguer latence en cycles et débit
Fixer les points d'observation d'une ligne de N étages et quantifier latence et débit.
Les leçons sont gratuites. Inscrivez-vous pour enregistrer vos progrès.
Définir l'origine de « N cycles plus tard »
Un bit d'abord capturé au bit 0 au front k arrive au bit N−1 d'un registreRegistre Circuit stockant plusieurs bits d'état. Les registres synchrones du cours capturent leur entrée définie sur un front d'horloge. En savoir plus de N bits au front k+N−1. L'intervalle entre première et dernière captures vaut N−1 périodes.
Si le registre précédent produit ce bit au front k, la première capture est normalement k+1 et l'arrivée finale se fait après N périodes. Ces descriptions ont des origines différentes et ne se contredisent pas.
En définissant d[k] comme l'entrée acceptée au front k, après remplissage :
Une longue latence n'empêche pas une sortie par cycle
Avec une période T et un bit reçu à chaque front, le débitDébit Nombre d'opérations acceptées ou terminées par unité de temps. Un pipeline peut l'augmenter sans réduire la latence d'une opération individuelle. établi vaut bit/s. Augmenter N accroît profondeur et latence, mais pas nécessairement le débit tant que l'acceptation continue.
Une ligne de quatre étages à 100 MHz a une période de 10 ns et un débit établi de 100 Mbit/s. Le temps de traversée d'un bit n'implique pas qu'il faille attendre pour introduire le suivant.
Chaque colonne observe un front montantFront montant Instant où l'horloge passe de 0 à 1, distinct du niveau désignant tout l'intervalle CLK=1. En savoir plus, entrées avant et états after après ; l'alignement n'est pas un retard physiqueRetard de propagation Temps nécessaire après un changement d'entrée pour que la sortie se stabilise à sa valeur correcte. Équivalence logique et caractéristiques temporelles sont distinctes. En savoir plus. Dans trois étages, A entre à E0 et arrive au dernier juste après E2, tandis que B et C occupent les étages précédents. Un tiret indique un emplacement encore invalide.
Voir les données du chronogramme
| Signal | Forme d'onde | Valeurs du bus |
|---|---|---|
| edge | 2345 | E0 → E1 → E2 → E3 |
| accepted | 2345 | A → B → C → D |
| stage0 après | 2345 | A → B → C → D |
| stage1 après | 2345 | - → A → B → C |
| stage2 après | 2.34 | - → A → B |
Avec des arrêts, compter les déplacements valides
Un front avec enable=0 ou accept=0 ne déplace rien. La latence en temps réel n'est alors pas fixe ; seule celle en fronts acceptés l'est. Les bits valid doivent avancer sous les mêmes conditions que les données pour identifier les sorties utilisables.
Réduire le pipelinePipeline Structure divisant le calcul en étages séparés par des registres pour traiter plusieurs entrées en recouvrement. Données, valid et commandes doivent rester alignés. En savoir plus à une technique diminuant la latence serait trompeur. Il permet souvent une horloge plus rapide en découpant le chemin combinatoire, mais ajoute registres et cycles. Les compromis aire, puissance et fréquence seront approfondis dans la suite.
Essayez vous-même
Dans cinq étages, un bit capturé au bit 0 au front 10 apparaît à quel front au bit 4 sans arrêt ? Et avec deux fronts intermédiaires enable=0 ?
Lire l’explication
Sans arrêt, au front 14 ; avec deux arrêts, au front 16. Quatre déplacements suivent la première capture. L'origine est la capture au bit 0, pas la mise à jour du registre d'entrée externe.