【AXI】讀重排序深度

我們以DDR4存儲控制器為例,設計一個讀重排序深度為3的具體場景,展示從設備如何利用3級隊列優化訪問效率:


基礎設定

  • 從設備類型:DDR4存儲控制器(支持4個存儲體Bank0-Bank3)
  • 讀重排序深度:3(允許同時跟蹤3個未完成讀請求)
  • 訪問延遲特征
    • Bank激活后訪問:3周期(低延遲)
    • Bank預充電后訪問:7周期(高延遲)
  • 主機請求序列(按時間順序發送):
    時間點請求標識ARID值目標Bank地址描述
    T0Req A1Bank00x1000首次訪問Bank0(需預充電)
    T1Req B2Bank10x2000Bank1已激活(低延遲)
    T2Req C3Bank20x3000Bank2已激活(低延遲)
    T3Req D1Bank00x1004連續地址(同ARID=1)
    T4Req E4Bank30x4000Bank3已激活(低延遲)

從設備處理邏輯(深度=3)

從設備內部有一個容量為3的請求隊列,用于暫存未完成的讀請求(pending addresses),允許對不同ARID的請求重排序,但嚴格保證同ARID的順序。

階段1:隊列填充(T0-T2)
  • T0:接收Req A(ARID=1),隊列為空 → 入隊,開始處理Bank0預充電(耗時7周期)。
  • T1:接收Req B(ARID=2),隊列剩余容量2 → 入隊,立即處理Bank1(3周期完成)。
  • T2:接收Req C(ARID=3),隊列剩余容量1 → 入隊,立即處理Bank2(3周期完成)。

此時隊列狀態:[Req A(ARID=1), Req B(ARID=2), Req C(ARID=3)](已滿)。

階段2:隊列釋放與新請求(T3-T4)
  • T3:主機發送Req D(ARID=1),但隊列已滿(容量3),需等待至少一個請求出隊才能入隊。
  • T4:主機發送Req E(ARID=4),隊列仍滿,無法入隊(需等待)。
階段3:響應返回與隊列更新(T4-T10)
  • T4(B完成):Bank1完成Req B → 返回數據B(RID=2),隊列釋放位置,Req D入隊(ARID=1)。
  • T5(C完成):Bank2完成Req C → 返回數據C(RID=3),隊列再釋放位置,Req E入隊(ARID=4)。
  • T7(A完成):Bank0完成Req A(預充電+訪問耗時7周期)→ 返回數據A(RID=1),隊列釋放位置。
  • T8(D處理):Req D(ARID=1,目標Bank0)已激活(無需預充電)→ 3周期完成(T11返回數據D)。
  • T9(E處理):Bank3完成Req E(3周期)→ 返回數據E(RID=4)。

最終數據返回順序

時間點返回數據原始請求說明
T4Data BReq B最早完成的低延遲請求(ARID=2)
T5Data CReq C次早完成的低延遲請求(ARID=3)
T7Data AReq A高延遲請求(ARID=1,必須先返回)
T9Data EReq E新入隊的低延遲請求(ARID=4)
T11Data DReq D同ARID=1的后續請求(必須在A之后)

深度=3的核心優勢

  1. 并行處理能力:同時跟蹤3個未完成請求,允許從設備在Bank0(高延遲)處理期間,并行完成Bank1、Bank2的低延遲請求(T0-T5期間同時處理3個請求)。
  2. 資源利用率提升:原本需等待Bank0完成(T7)才能處理后續請求,但通過隊列緩沖,T4-T5已釋放兩個位置,提前處理了Req D和Req E。
  3. 吞吐量對比
    • 嚴格順序(深度=1):需依次處理A→B→C→D→E,總耗時≈7(A)+3(B)+3(C)+3(D)+3(E)=19周期。
    • 深度=3:實際總耗時≈11周期(T0-T11),吞吐量提升約42%。

關鍵約束驗證

  • 同ARID保序:Req D(ARID=1)必須在Req A(ARID=1)之后返回(T11在T7之后)。
  • 跨ARID亂序:B、C、E(不同ARID)的返回順序與請求順序(B→C→E)無關(實際返回順序B→C→E)。
  • 深度限制:隊列容量3,T3-T4時因隊列已滿,Req D和E需等待隊列釋放后才能入隊。

此例直觀展示了讀重排序深度為3時,從設備如何通過有限的亂序能力,在保證協議規范的前提下,顯著提升存儲訪問效率。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/88391.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/88391.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/88391.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

牛馬逃離北京(回歸草原計劃)

豐寧壩上草原自駕游攻略(半虎線深度版) 🚗 路線:北京/承德 → 豐寧縣城 → 半虎線 → 大灘鎮(2天1夜) 🎯 核心玩法:免費草原、高山牧場、日落晚霞、牧群互動、星空煙花🌿…

【前端】【Echarts】ECharts 詞云圖(WordCloud)教學詳解

效果ECharts 詞云圖(WordCloud)教學詳解 詞云圖是一種通過關鍵詞的大小、顏色等視覺差異來展示文本數據中詞頻或權重的圖表。它直觀、形象,是數據分析和內容展示中的利器。 本文將帶你從零開始,學習如何用 ECharts 的 WordCloud 插…

【arXiv 2025】新穎方法:基于快速傅里葉變換的高效自注意力,即插即用!

一、整體介紹 The FFT Strikes Again: An Efficient Alternative to Self-AttentionFFT再次出擊:一種高效的自注意力替代方案圖1:FFTNet整體流程,包括局部窗口處理(STFT或小波變換,可選)和全局FFT&#xff…

通過vue如何利用 Three 繪制 簡單3D模型(源碼案例)

目錄 Three 介紹 創建基礎3D場景 創建不同類型的3D模型 1. 球體 2. 圓柱體??????? 3. 平面??????? 加載外部3D模型 添加交互控制 創建可交互的3D場景 Three 介紹 Three.js是一個強大的JavaScript 3D庫,可以輕松地在網頁中創建3D圖形。下面我…

云蝠智能 Voice Agent 落地展會邀約場景:重構會展行業的智能交互范式

一、行業痛點與 AI 破局在會展行業數字化轉型的浪潮中,傳統展會邀約模式面臨多重挑戰:人工外呼日均僅能處理 300-500 通電話,且無效號碼占比高達 40% 以上,導致邀約效率低下。同時,個性化邀約話術設計依賴經驗&#xf…

idea如何打開extract surround

在 IntelliJ IDEA 中,"Extract Surrounding"(提取周圍代碼)通常指 ?將一段代碼提取到新的方法、變量或類中,但更常見的操作是 ??"Surround With"(用代碼結構包圍)?。以下是兩種場景…

window顯示驅動開發—XR_BIAS 和 BltDXGI

Direct3D 運行時調用驅動程序的 BltDXGI 函數,以僅對XR_BIAS源資源執行以下操作:復制到也XR_BIAS的目標未修改的源數據的副本可接受點樣本的拉伸旋轉由于 XR_BIAS 不支持 MSAA) (多個示例抗鋸齒,因此驅動程序不需要解析XR_BIAS資源。核心規則…

web網頁開發,在線%ctf管理%系統,基于html,css,webform,asp.net mvc, sqlserver, mysql

webform,asp.net mvc。數據庫支持mysql,sqlserver經驗心得 每次我們寫crud沒啥技術含量,這沒法讓咱們進入大廠,剛好這次與客戶溝通優化方案建議,咱們就把能加的幫他都加上去。一個ctf管理系統基本crud,并進行不同分層開發&#xf…

面試技術問題總結一

MySQL的幾種鎖機制一、從鎖的粒度角度劃分表級鎖機制:它是對整張表進行鎖定的一種鎖。當一個事務對表執行寫操作時,會獲取寫鎖,在寫鎖持有期間,其他事務無法對該表進行讀寫操作;而當事務執行讀操作時,會獲取…

π0.5的KI改進版——知識隔離:讓VLM在不受動作專家負反饋的同時,繼續輸出離散動作token,并根據反饋做微調(而非凍結VLM)

前言 過去的一個月(25年6.4-7.4),我司「七月在線」具身長沙分部為沖刺一些為客戶來現場看的演示項目,基本都用lerobot的那套框架 比如上周五(7.4日)晚上,通過上周五下午新采的第五波數據做『耳機線插入耳機孔』的任務,推理十次之…

Eigen中Isometry3d的使用詳解和實戰示例

Eigen::Isometry3d 是 Eigen 庫中用于表示 三維空間中的剛性變換(Rigid Transformation) 的類,屬于 Eigen::Transform 模板類的一個特化版本。它結合了 旋轉和平移,廣泛應用于機器人學、SLAM、三維幾何計算等場景。一、核心定義 #…

《未來已來:當人類智慧遇上AI智能體》

在這個充滿奇跡的時代,人類的智慧與科技的力量正以前所未有的速度交織在一起。 我們站在一個新時代的門檻上,一邊是古老而深邃的自然規律,另一邊是充滿可能性的未來世界。 今天,就讓我們一起走進這場關于人類智慧與AI智能體Kimi的對話,看看未來究竟會帶給我們怎樣的驚喜…

【三維生成】FlashDreamer:基于擴散模型的單目圖像到3D場景

標題&#xff1a;<Enhancing Monocular 3D Scene Completion with Diffusion Model> 代碼&#xff1a;https://github.com/CharlieSong1999/FlashDreamer 來源&#xff1a;澳大利亞國立大學 文章目錄摘要一、前言二、相關工作2.1 場景重建2.2 擴散模型2.3 Vision languag…

CANFD記錄儀設備在無人駕駛快遞車的應用

隨著物流行業的快速發展&#xff0c;無人駕駛快遞車因其高效、低成本的優勢&#xff0c;逐漸成為“最后一公里”配送的重要解決方案。然而&#xff0c;無人駕駛系統的穩定性和安全性高度依賴車輛總線數據的精準采集與分析。南金研CANFDlog4 4路記錄儀憑借其多通道、高帶寬、高可…

Kubernetes存儲入門

目錄 前言 一、Volume 的概念 二、Volume 的類型 常見的卷類型 Kubernetes 獨有的卷類型 三、通過 emptyDir 共享數據 1. 編寫 emptyDir 的 Deployment 文件 2. 部署該 Deployment 3. 查看部署結果 4. 登錄 Pod 中的第一個容器 5. 登錄 Pod 中的第二個容器查看/mnt下…

10.Docker安裝mysql

(1)docker pull mysql:版本號eg&#xff1a;docker pull mysql(默認安裝最新版本)docker pull mysql:5.7(2)啟動并設置mysql鏡像docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 --name mysql1 mysql其他參數都不多講&#xff0c;下面這個參數指的是設置數據庫用戶ro…

Debian-10編譯安裝Mysql-5.7.44 筆記250706

Debian-10編譯安裝Mysql-5.7.44 筆記250706 單一腳本安裝 ### 1. 安裝編譯依賴 sudo apt install -y cmake gcc g build-essential libncurses5-dev libssl-dev \ pkg-config libreadline-dev zlib1g-dev bison curl wget libaio-dev \ libjson-perl libnuma-dev libsystemd-d…

HarmonyOS 中狀態管理 V2和 V1 的區別

鴻蒙ArkUI框架中的ComponentV2與V1在狀態管理、組件開發模式、性能優化等方面存在顯著差異。以下是兩者的核心區別及技術解析&#xff1a;一、狀態管理機制V1的局限性V1的Observed裝飾器只能觀察對象的第一層屬性變化&#xff0c;需配合ObjectLink手動拆解嵌套對象。例如&#…

centos7 安裝jenkins

文章目錄前言一、pandas是什么&#xff1f;二、安裝依賴環境1.前提準備2.安裝git3.安裝jdk&#xff0c;以及jdk版本選擇4.安裝maven5.安裝NodeJS6.驗證三、安裝Jenkins四、驗證Jenkins總結前言 正在學習jenkinsdocker部署前后端分離項目&#xff0c;安裝jenkins的時候遇到了一…

Leetcode刷題營第二十題:刪除鏈表中的重復節點

面試題 02.01. 移除重復節點 編寫代碼&#xff0c;移除未排序鏈表中的重復節點。保留最開始出現的節點。 示例1&#xff1a; 輸入&#xff1a;[1, 2, 3, 3, 2, 1]輸出&#xff1a;[1, 2, 3]示例2&#xff1a; 輸入&#xff1a;[1, 1, 1, 1, 2]輸出&#xff1a;[1, 2]提示&…