Introduction to PCIe Address Translation Services

本文来源: 

http://liujunming.top/2019/11/24/Introduction-to-PCIe-Address-Translation-Services/

本文将介绍下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。


参考资料:

  1. Address Translation Services, Revision 1.1

  2. IOMMU简介

  3. Rethinking the I/O Memory Management Unit

(END)

Linux阅码场原创精华文章汇总

更多精彩,尽在"Linux阅码场",扫描下方二维码关注

别忘了点“在看”鼓励哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值