41 / 63 · Concepto
Distinga latencia en ciclos y tasa de procesamiento
Fije el punto de observación de una línea de N etapas y cuantifique latencia y tasa.
Las lecciones se pueden leer gratis. Inscríbete para guardar el progreso.
Defina el origen de «N ciclos después»
Un bit capturado en bit 0 en k llega al bit N−1 de un registroRegistro Circuito que almacena varios bits de estado. Los registros síncronos de este curso capturan la entrada especificada en el flanco de reloj. Más información de N bits en k+N−1. Entre primera y última captura transcurren N−1 periodos.
Si el registro que impulsa la entrada genera el bit en k, la primera captura del desplazador suele ocurrir en k+1. Desde ese origen, la salida tarda N periodos. No es una contradicción: cambió el punto inicial.
Definiendo d[k] como entrada aceptada en k, una vez llena la línea:
Una latencia larga es compatible con un resultado por ciclo
Con periodo T y aceptación de un bit por flanco, la tasaTasa de procesamiento Número de operaciones aceptadas o completadas por unidad de tiempo. Un pipeline puede aumentarla sin reducir la latencia de una operación individual. estable es bits/s. Aumentar N añade almacenamiento y latencia, pero mantiene la tasa si se siguen aceptando entradas.
Una línea de cuatro etapas a 100 MHz tiene periodo 10 ns y tasa estable 100 Mbit/s. Que un bit tarde en atravesarla no implica que deba esperarse antes de introducir el siguiente.
Cada columna registra un flanco ascendenteFlanco ascendente Instante en que el reloj pasa de 0 a 1. Se distingue del nivel alto, que abarca todo el intervalo con CLK=1. Más información, entradas anteriores y estados «después» posteriores. La alineación no representa propagación físicaRetardo de propagación Tiempo desde un cambio de entrada hasta que la salida se estabiliza en el valor correcto. La equivalencia lógica y el comportamiento temporal son propiedades distintas. Más información. En tres etapas, A entra en la primera en E0 y llega a la última justo después de E2, mientras B y C ocupan las anteriores. Los guiones indican posiciones aún no válidas.
Ver los datos de la forma de onda
| Señal | Forma de onda | Valores del bus |
|---|---|---|
| flanco | 2345 | E0 → E1 → E2 → E3 |
| entrada aceptada | 2345 | A → B → C → D |
| stage0 después | 2345 | A → B → C → D |
| stage1 después | 2345 | - → A → B → C |
| stage2 después | 2.34 | - → A → B |
Con pausas, cuente desplazamientos válidos
Un flanco con enable=0 o accept=0 no mueve bits. Ya no puede garantizarse un tiempo real fijo, solo una latencia medida en avances aceptados. Mueva valid con las mismas condiciones que los datos para identificar salidas válidas.
Presentar el pipelinePipeline Estructura que divide el cálculo en etapas separadas por registros para procesar varias entradas de forma solapada. Los datos, valid y controles deben mantenerse alineados entre etapas. Más información únicamente como una forma de reducir latencia induce a error. A menudo divide lógica para subir la frecuencia, añadiendo registros y latencia en ciclos. El estudio posterior profundiza en los compromisos de área, potencia y frecuencia.
Inténtalo tú
Un bit capturado en el bit 0 en el flanco 10 de una línea de cinco bits, ¿en qué flanco llega al bit 4 sin pausas? ¿Y con dos flancos intermedios de enable=0?
Leer la explicación
En 14 sin pausas y en 16 con dos pausas. Hacen falta cuatro movimientos adicionales tras la captura inicial. El origen es la captura en bit 0, no la actualización de un registro externo.