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