PCIE地址映射原理

本文详细解释了PCI总线域如何在RC与EP处理器间进行虚拟地址空间映射,包括OutBound和InBound映射过程,以及TLP包在数据传输中的作用。驱动开发者无需关注底层细节,因为芯片集成了高效的功能。
摘要由CSDN通过智能技术生成

PCI总线域可以认为是RC与EP两个处理器之间一个虚拟的地址空间范围0x0000_0000 - 0xFFFF_FFFF,用于对两个处理器进行地址映射。大部分都是简单等效一一映射,即如果一个处理器访问一个物理地址0x1234_5678, 并且已经进行好了映射,PCI控制器就会自动将这个地址翻译成PCI域地址0x1234_5678,这样就连同了两个处理器之间的地址映射。
一个处理器映射需要两个方向,本地映射到PCI域是OutBound,PCI域映射到本地是InBound;如下图,主机RC端将一块物理地址0x7890_2000 OutBound映射到PCI域, 相对应的EP端处理器将相应的PCI域地址InBound映射到本地0x7890_1234;0x7890_2000是一个RC处理器可以访问到的物理地址,注意,它并不是内存RAM的地址,EP端InBouond到本地的地址0x7890_1234才是内存RAM地址;当映射完毕之后,RC端往0x7890_2000地址写1,PCI控制器就会进行地址转换,组TLP包,最终访问到PCI域0x7890_1234,然后EP端PCI控制器解码TLP包,地址范围匹配,就对0x7890_1234进行写操作,那样,EP端如果读物理地址0x7890_1234内存值时,就会读到1。RC读操作也是一样,只不过是TLP命令包不同,这一部分一般不需要驱动开发者去关注,毕竟芯片集成功能很全面简洁了。
在这里插入图片描述pcie空间映射

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值