《PCI Express体系结构导读》随记 —— 第I篇 第2章 PCI总线的桥与配置(27)

接前一篇文章:《PCI Express体系结构导读》随记 ------ 第I篇 第2章 PCI总线的桥与配置(26)

2.5 非透明PCI桥

本回将结合实例说明直接地址翻译过程。

2.5.2 通过非透明桥片进行数据传递

下文以图2-16中处理器x访问处理器y存储器地址空间的实例,说明非透明桥21555如何将PCI总线x域与PCI总线y域联系在一起。

处理器x需要访问处理器y的存储器空间之前,需要做一些必要的准备工作。具体如下:

(1)首先确定由哪一个BAR寄存器空间映射处理器y的存储器地址空间。本节假定使用BAR2寄存器映射处理器y的存储器地址空间。

(2)BAR2寄存器使用Downstream Memory 2 Translated Base寄存器,将来自Primary PCI总线的访问转换为对Secondary PCI总线地址空间的访问。其中Downstream Memory 2 Translated Base寄存器可以由处理器x或者处理器y根据需要进行设置。

假定处理器x和y的HOST主桥使用"直接相等"策略,建立存储器域与PCI总线域间的映射;而处理器x使用BAR2地址空间访问处理器y存储器空间0x1000-000~0x1FFF-FFFF处理器x的系统软件事先将BAR2寄存器设置完毕。处理器x访问处理器y的这段存储器空间的步骤如下,读者可参考图2-18理解这一步骤。

(1)首先处理器x访问在处理器x域中、且与非透明桥的BAR2空间相对应的存储器地址空间

(2)HOST主桥将进行存储器域到PCI总线域的转换 ,并将这个请求发送到Primary PCI总线上

(3)非透明桥 发现这个数据请求发向BAR2地址空间,则接收 这个数据请求,并在桥片中暂存这个数据请求

(4)非透明桥根据Downstream Memory 2 Translated Base寄存器的内容 ,按照图2-17所示的规则进行地址转换。假设Downstream Memory 2 Translated Base寄存器的基地址被预先设置为0x10000000,大小为256MB(这个物理地址属于处理器y的主存储器地址空间)。

(5)经过非透明桥的转换后,这个数据请求将穿越非透明桥,从Primary PCI总线域进入Secondary PCI总线域,然后访问处理器y的基地址为0x10000000的存储器区域;

(6)处理器y的HOST主桥接收这个存储器访问请求,并最终将数据请求发向处理器y的存储器

非透明桥21555除了可以支持存储器到存储器之间的数据传递 ,还支持PCI总线域到存储器域 、以及PCI总线域之间的数据传递,此外非透明桥21555还可以通过I2O和Doorbell寄存器进行Primary PCI总线与Secondary PCI总线之间的中断信号传递。本节对这部分内容不做进一步介绍。

非透明桥有效解决了使用PCI总线连接两个处理器存在的问题 ,因而得到了广泛的应用。在PCIe体系结构中,也存在非透明PCI桥的概念。如在PLX的Switch芯片中,各个端口都可以设置为非透明模式。

至此,"2.5 非透明PCI桥"就全部讲解完了。

2.6 小结

本章介绍了在PCI总线中使用的桥 ,包括HOST主桥PCI桥 ,并较为详细地介绍了如何使用这些桥访问PCI设备的配置空间

其中HOST主桥并不在PCI总线规范的约束范围内,不同的处理器可以根据需要设计出不同的HOST主桥。本篇更加侧重介绍PowerPC处理器使用的HOST主桥,在该主桥的设计中,提出了许多新的概念,并极大促进了PCI总线的发展,在这个桥片中出现的许多新的思想被PCI V3.0总线规范采纳。

在PowerPC处理器的HOST主桥中,明确了存储器域PCI总线域 的概念。而区分存储器域与PCI总线域也是本章的书写重点 ,本书将始终强调这两个域的不同。有些处理器系统并没有明确区分这两个域的差别,因此许多读者忽略了PCI总线域的存在,并错误地认为PCI总线域是存储器域的一部分。

在本篇中,还重点介绍了PCI桥的实现机制。在许多较为简单处理器系统中,并不包含PCI桥,但是读者仍然需要深入理解PCI桥这一重要概念。深入理解PCI桥的运行机制,是理解PCI体系结构的重要基础。

相关推荐
apple_ttt18 小时前
从零开始讲PCIe(6)——PCI-X概述
fpga开发·fpga·pcie
apple_ttt21 小时前
从零开始讲PCIe(5)——66MHZ的PCI总线与其限制
fpga开发·fpga·pcie
9527华安2 天前
FPGA实现PCIE图片采集转HDMI输出,基于XDMA中断架构,提供3套工程源码和技术支持
fpga开发·pcie·xdma·hdmi
芯片业者柏承双23 天前
也谈PCIe带宽问题
pcie
9527华安1 个月前
FPGA实现多功能SDI视频采集卡,基于GTX+RIFFA架构,提供2套工程源码和技术支持
fpga开发·架构·pcie·sdi·gtx·riffa
9527华安1 个月前
FPGA实现SDI视频缩放转PCIE传输,基于GTX+RIFFA架构,提供4套工程源码和技术支持
fpga开发·pcie·图像缩放·sdi·gtx·riffa
9527华安1 个月前
FPGA实现SDI视频缩放转PCIE传输,基于GS2971+RIFFA架构,提供6套工程源码和技术支持
fpga开发·pcie·图像缩放·sdi·gs2971·riffa
SEP50102 个月前
Linux PCI和PCIe总线
pcie·pci
木泽八3 个月前
【PCIe】P2P DMA
dma·p2p·pcie
黑不溜秋的3 个月前
驱动开发系列 - pci驱动
驱动开发·pci