图2-4 MPC8548处理器存储器域到PCI域的转换在介绍MPC8548处理器如何使用Outbound寄存器组进行存储器域地址空间到PCI总线域地址空间的转换之前,本节将首先介绍Outbound寄存器组中的相应寄存器。该位是Outbound窗口的使能位,为1表示当前Outbound寄存器组描述的存储器地址空间到PCI总线地址空间的映射关系有效;为0表示无效。检查LAWBAR和LAWAR寄存器,判断当前36位的物理地址是否属于PCI总线空间。......
2023-10-20
下面根据PowerPC和x86处理器的主桥,抽象出一个虚拟的HOST主桥,并以此为例讲述PCI Agent设备之间以及PCI Agent设备与主存储器间的数据传送过程。
假设在一个32位处理器中,存储器域的0xF000-0000~0xF7FF-FFFF(共128MB)这段物理地址空间与PCI总线的地址空间存在映射关系。
当处理器访问这段存储器地址空间时,HOST主桥会认领这个存储器访问,并将该存储器访问使用的物理地址空间转换为PCI总线地址空间,并与0x7000-0000~0x77FF-FFFF这段PCI总线地址空间对应。
为简化起见,假定在存储器域中只映射了PCI设备的存储器地址空间,而不映射PCI设备的I/O地址空间。而PCI设备的BAR空间使用0x7000-0000~0x77FF-FFFF这段PCI总线域的存储器地址空间。
在这个HOST主桥中,存储器域与PCI总线域的对应关系如图3-1所示。
(www.chuimin.cn)
图3-1 存储器域与PCI总线域的映射关系
当PCI设备使用DMA机制访问存储器域地址空间时,处理器系统同样需要将存储器域的地址空间反向映射到PCI总线地址空间。假设在一个处理器系统中,主存储器大小为2GB,其在存储器域的地址范围为0x0000-0000~0x7FFF-FFFF,而这段地址在PCI总线域中对应的“PCI总线地址空间”为0x8000-0000~0xFFFF-FFFF。
PCI设备进行DMA操作时,必须使用0x8000-0000~0xFFFF-FFFF这段PCI总线域的地址,HOST主桥才能认领这个PCI总线事务,并将这个总线事务使用的PCI总线地址转换为存储器地址,并与0x0000-0000~0x7FFF-FFFF这段存储器区域进行数据传递。
在一个实际的处理器系统中,很少有系统软件采用这样的方法,实现存储器域与PCI总线域之间的映射,“简单相等”还是最常用的映射方法。本章采用图3-1的映射关系,虽然增加了映射复杂度,却便于读者深入理解存储器域到PCI总线域之间的映射关系。下面将以这种映射关系为例,详细讲述PCI设备BAR0~5寄存器的初始化。
有关PCI Express体系结构导读的文章
图2-4 MPC8548处理器存储器域到PCI域的转换在介绍MPC8548处理器如何使用Outbound寄存器组进行存储器域地址空间到PCI总线域地址空间的转换之前,本节将首先介绍Outbound寄存器组中的相应寄存器。该位是Outbound窗口的使能位,为1表示当前Outbound寄存器组描述的存储器地址空间到PCI总线地址空间的映射关系有效;为0表示无效。检查LAWBAR和LAWAR寄存器,判断当前36位的物理地址是否属于PCI总线空间。......
2023-10-20
pci_map_single函数的主要作用是通过ptr参数,获得与之对应的dma_addr,即进行存储器域虚拟地址到PCI总线域物理地址的转换。值得注意的是存储器域物理地址与PCI总线域物理地址的区别。起初在x86处理器中,存储器域物理地址到PCI总线域物理地址的转换非常简单,是直接相等的关系。在PowerPC处理器中,存在一组Inbound寄存器,通过该组寄存器可以将PCI总线地址转换为PowePC处理器规定的存储器地址,详见第2.2节。......
2023-10-20
在PCIe总线中,一个地址转换关系由8B组成,这也是地址转换请求TLP的Length字段至少为0b10的原因。当TA收到地址转换请求TLP后,将查找ATPT,然后通过存储器读完成TLP,将转换关系发送给PCIe设备。采用这种方式时,PCIe设备将首先向TA发送地址转换请求TLP,并从ATPT中获得地址转换关系后,使用TA等于0b10的存储器读写TLP,即使用Translated Address与主存储器进行数据交换,从而有效避免了上文所述的安全隐患。......
2023-10-20
TOLUD~4GB这段PCI总线地址空间主要映射和ICH相连的PCI设备地址空间,此外还包括EPBAR指向的空间,以及MCHBAR和DMIBAR指向的空间等。FSB Interrupts存储器空间与MSI中断机制相关,PCIe设备向这段存储器空间进行写操作时,MCH将这个写操作转换为FSB总线的Interrupt Message总线事务。DMI Interface负向译码空间被分为若干段,用来映射ICH使用的PCI总线地址空间。这些PCI设备的BAR空间被映射到这段空间。由以上说明可以发现与MCH连接的PCIe设备的访问延时小于与ICH连接中的PCIe设备。......
2023-10-20
51单片机数据存储器用于存放运算中间结果、数据暂存和数据缓冲、标志位等。CPU在复位后默认选择表3-3中第0组工作寄存器。图3-9 片内RAM地址分配图表3-3 工作寄存器地址列表高128B地址空间,80H~FFH为特殊功能寄存器空间。图3-10 特殊功能寄存器地址分配图表3-4 特殊功能寄存器说明表3-4中论述的特殊功能寄存器需要在程序中处理,实际应用中与硬件操作相结合,需要开发人员按功能需求进行控制。......
2023-11-04
Internet上每台计算机之间的通信是根据Internet地址即IP地址定位的,就像电话号码,每台计算机都事先分配一个IP地址,是由32位二进制数组成的,而且在Internet范围内是唯一的。这些IP地址分配给向Inter NIC提出申请的组织机构,通过它直接访问因特网。以下列出留用的内部私有地址:A类10.0.0.0—10.255.255.255B类172.16.0.0—172.31.255.255C类192.168.0.0—192.168.255.2552.计算机IP地址的查询在Windows XP系统中,单击左下角“开始”按钮,单击“运行”,输入“CMD”并单击“确定”按钮。......
2023-11-21
通常来说,使用电话拨号上网的用户大都是使用动态IP地址分配策略分配的IP地址。随着网络应用大力推广,网络客户急剧膨胀,如果再使用静态IP地址分配,IP地址的冲突就会相继而来。有如下几种原因可以造成IP地址冲突。为使用DHCP的动态地址分配机制,管理员必须配置DHCP服务器,使其能提供一组IP地址。服务器收到用户的申请后,自动从管理员指定的动态IP地址范围中找到一个空闲的IP地址,并将其分配给该计算机。......
2023-11-25
MPC8548处理器使用Inbound寄存器组将PCI总线域地址转换为存储器域的地址。表2-3 PCI/X ATMU Inbound寄存器组值得注意的是,Inbound寄存器组除了可以进行PCI总线地址空间到存储器域地址空间的转换之外,还可以转换分属不同PCI总线域的地址空间,以支持PCI总线的Peer-to-Peer数据传送方式。结合Outbound寄存器组,可以发现PCI总线地址空间与存储器地址空间是有一定联系的。......
2023-10-20
相关推荐