VDMI 讀通道:異構(gòu)計算中的高效數(shù)據(jù)獲取機制(二)
一、VDMI 讀通道的協(xié)議交互
1. 接口信號定義
VDMI 讀通道采用基于 AXI4-Stream 的擴展協(xié)議,主要信號包括:
控制與地址通道
ARADDR [63:0]:64 位讀取地址
ARLEN [15:0]:突發(fā)長度(最多 4096 拍)
ARSIZE [2:0]:數(shù)據(jù)寬度指示
ARUSER [31:0]:用戶自定義信號,可攜帶預(yù)取提示
ARVALID:地址有效信號
ARREADY:地址接收就緒信號
數(shù)據(jù)返回通道
RDATA [255:0]:256 位讀取數(shù)據(jù)
RLAST:突發(fā)結(jié)束標志
RUSER [7:0]:數(shù)據(jù)狀態(tài)信號(如錯誤碼、一致性信息)
RVALID:數(shù)據(jù)有效信號
RREADY:數(shù)據(jù)接收就緒信號
狀態(tài)與控制信號
ERR [1:0]:錯誤指示(無錯、地址錯誤、訪問權(quán)限錯誤)
CACHE [3:0]:緩存屬性指示
LOCK:鎖定傳輸信號,確保原子操作
這些信號在保持 AXI4-Stream 協(xié)議簡潔性的同時,增加了支持智能預(yù)取和一致性管理的擴展信號,使協(xié)議既能滿足高性能需求,又保持良好的兼容性。
2. 讀事務(wù)流程
VDMI 讀通道的典型讀事務(wù)流程如下:
地址請求階段
PL 加速器在控制通道發(fā)送目標地址(ARADDR)、突發(fā)長度(ARLEN)等信息
通過 ARUSER 信號提供預(yù)取提示(如預(yù)期的訪問模式)
置位 ARVALID 信號,等待 VDMI 讀通道的 ARREADY 響應(yīng)
預(yù)取與數(shù)據(jù)準備階段
地址生成單元解析地址,轉(zhuǎn)換為物理地址
預(yù)取引擎根據(jù)地址和 ARUSER 提示預(yù)測后續(xù)訪問
向存儲器控制器發(fā)起讀請求,同時預(yù)取后續(xù)數(shù)據(jù)
數(shù)據(jù)緩沖單元準備接收數(shù)據(jù)
數(shù)據(jù)傳輸階段
存儲器返回的數(shù)據(jù)首先進入數(shù)據(jù)緩沖單元
按順序重組后通過 RDATA 通道發(fā)送到 PL
每傳輸完一個數(shù)據(jù)單元,置位 RVALID 信號
PL 加速器通過 RREADY 信號確認接收
最后一個數(shù)據(jù)單元傳輸時,置位 RLAST 信號
狀態(tài)反饋階段
事務(wù)完成后,通過 ERR 信號返回狀態(tài)信息
如啟用一致性管理,更新緩存狀態(tài)
整個流程設(shè)計旨在最小化握手延遲,對于預(yù)取命中的情況,數(shù)據(jù)可在地址請求后 1-2 個時鐘周期內(nèi)開始傳輸。
3. 智能預(yù)取機制
VDMI 讀通道的智能預(yù)取是其核心創(chuàng)新點之一,工作機制如下:
學(xué)習(xí)階段:初始幾次訪問時,預(yù)取引擎學(xué)習(xí)地址訪問模式
預(yù)測階段:基于學(xué)習(xí)到的模式預(yù)測下一次可能的訪問地址
預(yù)取執(zhí)行:在收到實際請求前,提前從存儲器加載數(shù)據(jù)
驗證與調(diào)整:根據(jù)實際訪問驗證預(yù)測準確性,動態(tài)調(diào)整預(yù)測策略
支持的預(yù)取模式包括:
線性預(yù)取:適用于連續(xù)地址訪問(如數(shù)組遍歷)
步長預(yù)?。哼m用于固定步長的間隔訪問(如矩陣列訪問)
二維預(yù)?。哼m用于二維數(shù)組的行優(yōu)先或列優(yōu)先訪問
隨機預(yù)取:對隨機訪問模式進行概率性預(yù)取
預(yù)取深度和范圍可通過軟件寄存器配置,在不同應(yīng)用場景間靈活切換。