Altifigence Academy

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.

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 :

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]

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 1/T1/T 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.

De la première capture à la dernière
Voir les données du chronogramme
Données du chronogramme : chaque caractère représente un intervalle ; un point maintient l'état précédent ; p représente un cycle d'horloge.
SignalForme d'ondeValeurs du bus
edge2345E0 → E1 → E2 → E3
accepted2345A → B → C → D
stage0 après2345A → B → C → D
stage1 après2345- → A → B → C
stage2 après2.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.

Votre choix s’applique à ce navigateur. Modifiez-le à tout moment en bas de page.