本文將介紹下PCIe中的 ATS。
Address Translation Services(ATS)
Address Translation Cache (ATC)
Translation Agent(TA)
1. 背景
讀者需要建立iommu的概念。其中,iotlb是iommu中的tlb映射項。
2. motivation
iotlb會被多個I/O設備同時訪問,因此,這種集中式的iotlb會影響系統的性能。為此,ATS應運而生。
ATS defines a protocol between PCIe Device and Root Complex for faster DMA remapping.
ATS的思想是:每個PCI Express設備都擁有自己的ATC,這樣就無需去查詢iotlb,因而可以緩解iotlb的壓力,提高訪存性能。
3. detail
詳細描述請參見Address Translation Services, Revision 1.1p11 to p12。
當PCIe Device的ATC無法完成地址映射時,此刻就需要PCIe Device發送ATS Request給TA。TA完成地址映射后,會將結果返還給PCIe Device,這樣,PCIe Device中的ATC就有地址映射項了。
當TA中對內存地址更改之后,會發送ATS Invalidate Request給PCIe Device,Device會取消該映射項,并將結果返還給TA。
-
PCIe
+關注
關注
15文章
1224瀏覽量
82446 -
ATS
+關注
關注
0文章
33瀏覽量
26703
原文標題:Introduction to PCIe Address Translation Services
文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論