淺析PCIe 6.0 ATS地址轉換功能

在現代高性能計算和虛擬化系統中,地址轉換(Address Translation)是一個至關重要的機制。隨著 PCIe 設備(如 GPU、網卡、存儲控制器)直接訪問系統內存的能力增強,設備對虛擬內存的訪問需求日益增長。

圖片

為了提升性能并確保安全訪問,Address Translation Services(ATS) 應運而生。

圖片

ATS 是 PCIe 規范中的一項關鍵功能,允許設備(如 Endpoint)在訪問內存時自行進行虛擬地址到物理地址的轉換,而無需依賴 CPU 的 MMU(Memory Management Unit)或操作系統介入。這不僅提升了性能,也增強了設備的自主性和安全性。

圖片

在早期的 PCIe 架構中,設備(如網卡或存儲設備)只能通過 DMA(Direct Memory Access)訪問物理地址。這意味著設備必須依賴主機(Host)為它分配物理地址,或者由操作系統進行地址映射。

圖片

這種方式存在以下問題:

  • 性能瓶頸

    :每次地址轉換都需要主機介入,導致延遲增加。

  • 虛擬化支持差

    :在虛擬化環境中,多個虛擬機共享同一個物理設備,傳統的物理地址訪問方式難以滿足隔離和安全需求。

  • 資源浪費

    :需要為每個虛擬機預留連續的物理內存區域。

擴展閱讀:

淺析CXL P2P DMA加速數據傳輸的原理

PCIe P2P DMA全景解讀

深度剖析:DMA對PCIe數據傳輸性能的影響

《存儲IO路徑》專題:數據魔法師DMA

為了解決上述問題,PCIe 3.0 引入了 Address Translation Services(ATS)。ATS 允許設備在訪問內存時,使用虛擬地址,并通過 IOMMU(Input/Output Memory Management Unit)進行地址轉換。設備可以緩存轉換結果(ATC,Address Translation Cache),從而減少頻繁的轉換請求,提高性能。

圖片

ATS 的實現依賴于以下關鍵組件:

組件

描述

IOMMU

輸入/輸出內存管理單元,負責將設備的虛擬地址轉換為物理地址。

MMU

CPU 的內存管理單元,負責將 CPU 的虛擬地址轉換為物理地址。

Translation Agent (TA)

負責處理 ATS 轉換請求的實體,可以是 IOMMU 或 MMU。

Address Translation Cache (ATC)

設備內部緩存地址轉換結果的結構,類似于 CPU 的 TLB。

Address Translation Protection Table (ATPT)

存儲地址轉換信息的數據結構,由 TA 使用。

圖片

設備發起轉換請求(Translation Request): 設備(如 Endpoint)向 Root Complex(RC)發送 ATS Translation Request,請求將虛擬地址轉換為物理地址。請求中包含虛擬地址、PASID(Process Address Space Identifier)、訪問權限等信息。

圖片

Root Complex 轉發請求至 Translation A

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

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

相關文章

【前端】ikun-pptx編輯器前瞻問題二: pptx的壓縮包結構,以及xml正文樹及對應元素介紹

文章目錄PPTX文件本質:一個壓縮包核心文件解析1. 幻燈片內容文件 (ppt/slides/slideX.xml)2. 元素類型解析文本框元素 (p:sp)圖片元素 (p:pic)單位系統開發注意事項參考工具pptx渲染路線圖PPTX文件本質:一個壓縮包 PPTX文件實際上是一個遵循Open XML標準…

分布式任務調度實戰:XXL-JOB與Elastic-Job深度解析

告別傳統定時任務的局限,擁抱分布式調度的強大與靈活 在現代分布式系統中,高效可靠的任務調度已成為系統架構的核心需求。面對傳統方案(如Timer、Quartz)在分布式環境下的不足,開發者急需支持集群調度、故障轉移和可視…

Windows 11下純軟件模擬虛擬機的設備模擬與虛擬化(僅終端和網絡)

Windows 11下用GCC的C代碼實現的虛擬機需要終端輸入/輸出(如串口或虛擬控制臺)和網絡連接,但不需要完整的硬件設備(如磁盤、顯卡、USB 等)。在終端輸入/輸出方面,參考qemu的源代碼,但不調用qemu…

CCF-GESP 等級考試 2025年6月認證Python六級真題解析

1 單選題(每題 2 分,共 30 分)第1題 下列哪一項不是面向對象編程(OOP)的基本特征?( )A. 繼承 (Inheritance) B. 封裝 (Encapsul…

C++中的deque

1. 什么是 Deque? 核心概念: Deque 是 “Double-Ended Queue”(雙端隊列)的縮寫。你可以把它想象成一個可以在兩端(頭部和尾部)高效地進行添加或刪除操作的線性數據結構。關鍵特性: 雙端操作&am…

GNU到底是什么,與Unix和Linux是什么關系

GNU(發音為 /ɡnu?/,類似“革奴”)是一個自由軟件操作系統項目,由理查德斯托曼(Richard Stallman)于1983年發起,目標是創建一個完全由自由軟件組成的類Unix操作系統。它的名字是一個遞歸縮寫&a…

雙指針算法介紹及使用(下)

在上一篇文章中我們已經對雙指針有了一定了解,接下來我們通過題目來對雙指針進行更好的理解。 1. leetcode 202. 快樂數 這道題使用的方法是快慢指針, 比如說一個數X,那么創建兩個變量X1和X2,然后X1每次變化兩次,X2變化…

Elasticsearch整合:Repository+RestClient雙模式查詢優化

Elasticsearch整合:RepositoryRestClient雙模式查詢優化Elasticsearch 雙模式查詢優化:Repository RestClient 整合指南一、架構設計:雙模式協同工作流二、Repository 模式:快速開發最佳實踐2.1 基礎配置2.2 高級特性&#xff1a…

Elasticsearch 高級查詢語法 Query DSL 實戰指南

目錄 1、DSL 概述 1.1 DSL按照查詢的結構層次劃分 1.2 DSL按照檢索功能的用途和特性劃分 1.3 示例數據準備 2、match_all ——匹配所有文檔 3、精確匹配 3.1 term——單字段精確匹配查詢 3.2 terms——多值精確匹配 3.3 range——范圍查詢 3.4 exists——是否存在查詢…

DNS 服務正反向解析與 Web 集成實戰:從配置到驗證全流程

DNS 服務正反向解析配置全流程指南 一、前言 在網絡環境中,DNS(Domain Name System)服務起著至關重要的作用,它負責將域名解析為 IP 地址,以及將 IP 地址反向解析為域名。本文將詳細介紹如何配置 DNS 服務的正反向解析…

2025.07.25【宏基因組】|PathoScope 安裝與使用指南

PathoScope 安裝與使用指南:微生物組數據分析利器 作為一名生物信息工程師,在微生物組數據分析中,我們常常需要高效、準確的工具來鑒定和量化樣本中的微生物組成。PathoScope 正是這樣一款強大的工具,它能夠幫助我們從高通量測序…

AI結對編程:分布式團隊的集體記憶外腦

AI結對編程:分布式團隊的集體記憶外腦 “當新人通過AI瞬間掌握三年積累的業務規則時,傳統‘傳幫帶’模式正式宣告過時——分布式團隊最珍貴的資產不再是代碼,而是被AI固化的集體經驗。” 一、人腦的帶寬困局 柏林新人加入新加坡支付團隊,面臨恐怖的知識迷宮: - …

棧----1.有效的括號

20. 有效的括號 - 力扣(LeetCode) /** 括號特性: 左括號必定先出現,每個左括號都需要一個右括號與之匹配,后出現的左括號先匹配 解法: 依據后出現的左括號先匹配,很容易聯想到棧,即后進先出 遍歷字符串,遇到左括號就在棧中添加一個對應的右括號 遇到右括…

數據報表怎么自動填寫內容?總結了幾個方法

你有沒有遇到過這種情況?月底趕銷售報告,Excel里密密麻麻的數據要往Word里搬,光是復制粘貼就折騰半小時,好不容易搞完,老板突然說數據有更新…得,全白干!更崩潰的是,這種重復勞動每個…

構造函數是否可以聲明成虛函數?

構造函數(constructor)不能被聲明為虛函數。? 原因解釋 構造函數的主要職責是創建并初始化對象本身,而虛函數機制是基于 虛表指針(vptr) 的,它只有在對象構造完成之后才會起作用。 所以: 在構造…

【Rust線程池】如何構建Rust線程池、Rayon線程池用法詳細解析

?? 歡迎大家來到景天科技苑?? 🎈🎈 養成好習慣,先贊后看哦~🎈🎈 🏆 作者簡介:景天科技苑 🏆《頭銜》:大廠架構師,華為云開發者社區專家博主,…

CAN總線網絡的參數協同:從一致性要求到容差邊界

CAN總線網絡的參數協同:從一致性要求到容差邊界 一、引言:CAN總線的“隱形契約”二、CAN通信的核心參數:不止于波特率三、參數一致性的必要性:為何波特率相同仍會失敗?四、容差范圍的科學界定:從理論計算到…

Activity 啟動模式

如何指定 Activity 的啟動模式&#xff1f;在 AndroidMainfest.xml 中通過給 <activity> 標簽指定 android:lauchMode 來選擇啟動模式。4種啟動模式standard&#xff08;默認&#xff09;&#xff1a;每當啟動一個 Activity&#xff0c;都會創建一個新的實例壓入返回棧。…

7·22勝算云AI日報:OpenAI再擴容且與英國政府簽訂三年AI計劃、字節GR-3、微軟Culture計劃、國數局數據基地

OpenAI Oracle&#xff1a;4.5 GW「Stargate II」再擴容&#xff0c;AI 電力版圖重排 7 月 22 日&#xff0c;OpenAI 與 Oracle 聯合公布“Stargate II”計劃&#xff1a;雙方將在美國多地追加 4.5 GW 超算級電力與冷卻配套&#xff0c;使 Stargate 系列園區總規模躍升至 5 GW…

【優選算法】鏈表

目錄鏈表常用的技巧和操作1、常用技巧2、常用操作一、[兩數相加](https://leetcode.cn/problems/add-two-numbers/description/)二、[兩兩交換鏈表中的節點](https://leetcode.cn/problems/swap-nodes-in-pairs/description/)三、[重排鏈表](https://leetcode.cn/problems/reor…