《PCI Express体系结构导读》随记 —— 第I篇 第1章 PCI总线的基本知识(1)

发布时间:2023年12月26日

前言中曾提到:本章主要说明PCI总线涉及的一些基本知识。

PCI总线作为处理器系统的本地总线,其主要目的是为了连接外部设备,而不是作为处理器的系统总线连接Cache和主存储器。但是PCI总线、系统总线和处理器体系结构之间依然存在着紧密的联系。

PCI总线作为系统总线的延伸,其设计考虑了许多与处理器相关的内容,如处理器的Cache共享一致性和数据完整性(Data Consistency,也称Memory Consistency),以及如何与处理器进行数据交换等一系列内容。其中Cache共享一致性数据完整性现代处理器本地总线设计的重点和难点,也是本书将重点讲述的主题之一。

孤立地研究PCI总线并不可取,因为PCI总线仅是处理器系统的一部分深入理解PCI总线需要了解一些与处理器体系结构相关的知识。这些知识是本书侧重描述的,同时也是PCI总线规范忽略(这里忽略并不准确,应该是没有涉及)的内容。脱离实际的处理器系统,不容易也不可能深入理解PCI总线规范。

对于今天的读者来说,PCI总线提出的许多概念略显过时,也有许多不足之处。但在当年,PCI总线与之前存在的其它并行局部总线如ISA、EISA和MCA总线相比,具有许多突出的优点,是一个全新的设计。突出点如下:

(1)PCI总线空间与处理器空间隔离

PCI设备具有独立的地址空间,即PCI总线地址空间该空间与存储器地址空间通过HOST主桥(Host-to-PCI主桥,也称PCI主桥或PCI总线控制器)隔离处理器需要通过HOST主桥才能访问PCI设备,而PCI设备需要通过HOST主桥才能访问主存储器。在HOST主桥中含有许多缓冲,这些缓冲使得处理器总线与PCI总线工作在各自的时钟频率中,互不干扰HOST主桥的存在也使得PCI设备和处理器可以共享主存储器资源

处理器访问PCI设备时,必须通过HOST主桥进行地址转换;而PCI设备访问主存储器时,也需要通过HOST主桥进行地址转换(与上一段中对应)。HOST主桥的一个重要作用就是将处理器访问的存储器地址转换为PCI总线地址。PCI设备使用的地址空间是属于PCI总线域的,这与存储器地址空间不同。

x86处理器对PCI总线域与存储器域的划分并不明晰,这也使得许多程序员并没有明确地区分PCI总线域地址空间和存储器域地址空间。而本书将反复强调存储器地址和PCI总线地址的区别,因为这是理解PCI体系结构的重要内容。

PCI规范并没有对HOST主桥的设计进行约束。每一个处理器厂商使用的HOST主桥,其设计都不尽相同。HOST主桥是联系PCI总线与处理器的核心部件掌握HOST主桥的实现机制是深入理解PCI体系结构的前提

本书将以Freescale(飞思卡尔)的PowerPC处理器和Intel的x86处理器为例,说明各自HOST主桥的实现方式。值得注意的是,本书涉及的PowerPC处理器仅针对Freescale的PowerPC处理器,而不包含IBM的Power和AMCC的PowerPC处理器。而且如果没有特别说明,本书中涉及的x86处理器特指Intel的处理器,而不是其它厂商的x86处理器。

(2)可扩展性

PCI总线具有很强的扩展性。在PCI总线中,HOST桥可以直接推出一条PCI总线,这条总线也是该HOST主桥管理的第一条PCI总线该总线还可以通过PCI桥扩展出一系列PCI总线,并以HOST主桥为根节点最多只能挂接256个PCI设备(包括PCI桥)。

在同一条PCI总线上的设备间可以直接通信,而并不会影响其它PCI总线上设备间的数据通信。隶属于同一棵PCI总线树上的PCI设备,也可以直接通信,但是需要通过PCI桥进行数据转发

PCI桥是PCI总线的一个重要组成部件,该部件的存在使得PCI总线极具扩展性。PCI桥也是有别于其它本地总线的一个重要部件。在“以HOST主桥为根节点”的PCI总线树中,每一个PCI桥下也可以连接一个PCI总线子树,PCI桥下的PCI总线仍然可以使用PCI桥继续进行总线扩展。

PCI桥可以管理这个PCI总线子树,PCI桥的配置空间含有一系列管理PCI总线子树的配置寄存器PCI桥的两端分别连接了两条总线上游总线(Primary Bus)下游总线(Secondary Bus)。其中与处理器距离较近的总线被称为上游总线,另一条被称为下游总线。这两条总线间的通信需要通过PCI桥进行。PCI桥中的许多概念被PCIe总线采纳,理解PCI桥也是理解PCIe体系结构的基础

更多内容请看下回。

文章来源:https://blog.csdn.net/phmatthaus/article/details/135206875
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。