41 / 63 · 概念
區分週期延遲與吞吐量
定義 N 階延遲線的觀察基準,量化計算 latency 與 throughput。
單元可免費閱讀,註冊課程即可儲存學習進度。
定義「N 週期後」的起點
在邊緣 k 首次擷取到 bit 0 的位元,會在邊緣 k+N-1 到達 N 位元移位暫存器暫存器儲存多個位元的狀態。本課程中的同步暫存器會在時脈邊緣儲存指定的輸入。 詳細內容的 bit N-1。第一次到最後一次擷取之間相隔 N-1 週期。
若驅動輸入的前級暫存器在邊緣 k 產生新位元,移位暫存器通常到 k+1 才首次擷取,此時到輸出為 N 週期。兩種說法起點不同,並不矛盾。
以邊緣編號定義 d[k] 為邊緣 k 接受的輸入,充分填滿後有:
延遲長,仍可每週期產生結果
時脈週期 T、每邊緣接收一位元時,穩態吞吐量吞吐量是單位時間內可接受或完成的作業數。管線即使不縮短單筆作業的延遲,也能提高吞吐量。為 位元/秒。增加 N 會增加儲存深度與延遲,但只要持續接受輸入,吞吐量不變。
四階延遲線使用 100 MHz 時脈,一週期為 10 ns,穩態吞吐量為 100 Mbit/s。「一位元通過需要時間」與「必須等它通過才能送下一位元」是不同命題。
每欄是一次上升緣上升緣是時脈由 0 變成 1 的瞬間。它與表示整段 CLK=1 期間的高準位不同。 詳細內容的觀察紀錄。輸入為邊緣前值,名稱含「後」的狀態為更新後值。欄位對齊表示取樣順序,並未繪出實體傳播延遲傳播延遲是輸入改變後,輸出穩定至正確值所需的時間。邏輯式是否等價與時間特性是兩個不同問題。 詳細內容。
三階延遲線中,A 在 E0 進入第一階,E2 後到達最後一階,同時 B、C 填入前方階段。破折號表示尚未有效的位置。
查看波形資料
| 訊號 | 波形 | 匯流排值 |
|---|---|---|
| 邊緣 | 2345 | E0 → E1 → E2 → E3 |
| 已接受 | 2345 | A → B → C → D |
| stage0 後 | 2345 | A → B → C → D |
| stage1 後 | 2345 | - → A → B → C |
| stage2 後 | 2.34 | - → A → B |
有暫停時,按有效移動次數計算
enable 或 accept=0 的邊緣不移動位元,此時不能宣稱固定實際時間延遲,只能定義接受邊緣數的延遲。valid 位元也必須與資料在相同條件下移動,才能判定輸出何時有效。
若只把管線管線以暫存器將計算分為多個階段,讓多筆輸入重疊處理。資料、valid 與控制訊號必須在各階段對齊。 詳細內容說成降低延遲的技術,容易誤解。常見做法是切開組合路徑提高時脈,代價為增加暫存器階段與週期延遲。後續課程會更詳述面積、功耗與頻率的取捨。
自己試試看
5 位元延遲線中,邊緣 10 擷取至 bit 0 的位元,在沒有暫停時於哪個邊緣出現在 bit 4?若中間有兩個 enable=0 邊緣呢?
查看解說
沒有暫停時是邊緣 14,暫停兩次則是邊緣 16。首次擷取後還需四次移動。題目的起點是擷取進 bit 0,不是外部輸入暫存器更新。