Altifigence Academy

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 接受的輸入,充分填滿後有:

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]

延遲長,仍可每週期產生結果

時脈週期 T、每邊緣接收一位元時,穩態吞吐量吞吐量是單位時間內可接受或完成的作業數。管線即使不縮短單筆作業的延遲,也能提高吞吐量。為 1/T1/T 位元/秒。增加 N 會增加儲存深度與延遲,但只要持續接受輸入,吞吐量不變。

四階延遲線使用 100 MHz 時脈,一週期為 10 ns,穩態吞吐量為 100 Mbit/s。「一位元通過需要時間」與「必須等它通過才能送下一位元」是不同命題。

每欄是一次上升緣上升緣是時脈由 0 變成 1 的瞬間。它與表示整段 CLK=1 期間的高準位不同。 詳細內容的觀察紀錄。輸入為邊緣前值,名稱含「後」的狀態為更新後值。欄位對齊表示取樣順序,並未繪出實體傳播延遲傳播延遲是輸入改變後,輸出穩定至正確值所需的時間。邏輯式是否等價與時間特性是兩個不同問題。 詳細內容。
三階延遲線中,A 在 E0 進入第一階,E2 後到達最後一階,同時 B、C 填入前方階段。破折號表示尚未有效的位置。

從第一次擷取到最後一次擷取
查看波形資料
波形資料:每個字元表示一個區間;句點保持先前狀態;p 表示一個時脈週期。
訊號波形匯流排值
邊緣2345E0 → E1 → E2 → E3
已接受2345A → B → C → D
stage0 後2345A → 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,不是外部輸入暫存器更新。

此選擇適用於本瀏覽器,隨時可從頁尾變更。