PCI Express 体系结构导读

王齐

出版时间

2010-02-28

ISBN

9787111298229

评分

★★★★★
书籍介绍

《PCI Express 体系结构导读》讲述了与PCI及PCI Express总线相关的最为基础的内容,并介绍了一些必要的、与PCI总线相关的处理器体系结构知识,这也是《PCI Express 体系结构导读》的重点所在。深入理解处理器体系结构是理解PCI与PCI Express总线的重要基础。

读者通过对《PCI Express 体系结构导读》的学习,可超越PCI与PCI Express总线自身的内容,理解在一个通用处理器系统中局部总线的设计思路与实现方法,从而理解其他处理器系统使用的局部总线。《PCI Express 体系结构导读》适用于希望多了解一些硬件的软件工程师,以及希望多了解一些软件的硬件工程师,也可供电子工程和计算机类的研究生自学参考。

精彩摘录
  • "HOST主桥中还有许多数据缓冲,以支持PCI总线的预读机制。 HOST 主桥是联系处理器与PCI 设备的桥梁。在一个处理器系统中,每一个HOST 主桥都管理 了一颗PCI 总线树,在同一颗PCI 总线树上的所有PCI 设备属于同一个PCI 总线域。如图1-1 所示,HOST 主桥x 之下的PCI 设备属于PCI 总线x 域,而HOST 主桥y 之下的PCI 设备属于 PCI 总线y 域。在这颗总线树上的所有PCI 设备的配置空间都由HOST 主桥通过配置读写总线 周期访问。"
  • "PCI 设备只有在系统软件初始化配置空间之后,才能够被其他主设备访问。当PCI 设备的配置空间被初始化之后,该设备在当前的PCI 总线树上将拥有一个独立的PCI 总线地址空间,即BAR((Base Address Register)寄存器所描述的空间。 处理器与PCI 设备进行数据交换,或者PCI 设备之间进行存储器数据交换时,都将通过PCI 总 线地址完成。而PCI 设备与主存储器进行DMA 操作时,使用的也是PCI 总线域的地址,而不 是存储器域的地址,此时HOST 主桥将完成PCI 总线地址到存储器域地址的转换,不同的HOST 主桥进行地址转换时使用的方法并不相同。 PCI 总线支持以下"
  • "PCI 设备与存储器直接进行数据交换的过程也被称为DMA。与其他总线的DMA 过程类似,PCI 设备进行DMA 操作时,需要获得数据传送的目的地址和传送大小。支持DMA 传递的PCI 设 备可以在其BAR 空间中设置两个寄存器,分别保存这个目标地址和传送大小。这两个寄存器也 是PCI 设备DMA 控制器的组成部件。 值得注意的是,PCI 设备进行DMA 操作时,使用的目的地址是PCI 总线域的物理地址,而不 是存储器域的物理地址,因为PCI 设备并不能识别存储器域的物理地址,而仅能识别PCI 总线 域的物理地址。 HOST 主桥负责完成PCI 总线地址到存储器域地址的转换。HOST 主桥需要进"
  • "因为“PCI 设备向处理器提交中断请求”与“将数据写入存储器”分别使用了两个不同的路径, 处理器系统无法保证哪个信息率先到达。从而在处理器系统中存在“中断同步”的问题,PCI 总线提供了以下两种方法解决这个同步问题。 (1) PCI 设备保证在数据到达目的地之后,再提交中断请求。 (2) 中断服务例程使用“读刷新”方法。 第2 种方法也是绝大多数处理器系统采用的方法。程序员在书写中断服务例程时,往往都是先读取PCI 设备的中断状态寄存器,判断中断产生原因之后,才对PCI 设备写入的数据进行操作。这个读取中断状态寄存器的过程,一方面可以获得设备的中断状态,另一方面是保证DMA 写的数据最终到达存"
  • "在PCI 体系结构中,含有两类桥片,一个是HOST 主桥,另一个是PCI 桥。在每一个PCI 设备中(包括PCI 桥)都含有一个配置空间。这个配置空间由HOST 主桥管理,而PCI 桥可以转发来自HOST 主桥的配置访问。在PCI 总线中,PCI Agent 设备使用的配置空间与PCI 桥使用的配置空间有些差别,但这些配置空间都是由处理器通过HOST 主桥管理。"
  • "HOST 主桥的实现因处理器系统而异。PowerPC 处理器和x86 处理器的HOST 主桥除了集成方式不同之外,其实现机制也有较大差异。但是这些HOST 主桥所完成的最基本功能依然是分离存储器域与PCI 总线域,完成PCI 总线域到存储器域,存储器域到PCI 总线域之间的数据传递,并管理PCI 设备的配置空间。"
  • "上图所示的处理器系统由一个CPU,一个DRAM 控制器和两个HOST 主桥组成。在这个处理 器系统中,包含CPU 域、DRAM 域、存储器域和PCI 总线域地址空间。其中HOST 主桥x 和 HOST 主桥y 分别管理PCI 总线x 域与PCI 总线y 域。PCI 设备访问存储器域时,也需要通过 HOST 主桥,并由HOST 主桥进行PCI 总线域到存储器域的地址转换;CPU 访问PCI 设备时, 同样需要通过HOST 主桥进行存储器域到PCI 总线域的地址转换。 在一个处理器系统中,CPU 所能访问的PCI 总线地址一定在存储器域中具有地址映射;而PCI 设备能访问的存储器域的地址也一定在P"
目录
序前言第Ⅰ篇 PCI体系结构概述 第1章 PCI总线的基本知识 1.1 PCI总线的组成结构 1.1.1 HOST主桥 1.1.2 PCI总线 1.1.3 PCI设备 1.1.4 HOST处理器 1.1.5 PCI总线的负载 1.2 PCI总线的信号定义 1.2.1 地址和数据信号 1.2.2 接口控制信号 1.2.3 仲裁信号 1.2.4 中断请求等其他信号 1.3 PCI总线的存储器读写总线事务 1.3.1 PCI总线事务的时序 1.3.2 Posted和Non Posted传送方式 1.3.3 HOST处理器访问PCI设备 1.3.4 PCI设备读写主存储器 1.3.5 Delayed传送方式 1.4 PCI总线的中断机制 1.4.1 中断信号与中断控制器的连接关系 1.4.2 中断信号与PCI总线的连接关系 1.4.3 中断请求的同步 1.5 PCI X总线简介 1.5.1 Split总线事务 1.5.2 总线传送协议 1.5.3 基于数据块的突发传送 1.6 小结 第2章 PCI总线的桥与配置 2.1 存储器域与PCI总线域 2.1.1 CPU域、DRAM域与存储器域 2.1.2 PCI总线域 2.1.3 处理器域 2.2 HOST主桥 2.2.1 PCI设备配置空间的访问机制 2.2.2 存储器域地址空间到PCI总线域地址空间的转换 2.2.3 PCI总线域地址空间到存储器域地址空间的转换 2.2.4 x86处理器的HOST主桥 2.3 PCI桥与PCI设备的配置空间 2.3.1 PCI桥 2.3.2 PCI Agent设备的配置空间 2.3.3 PCI桥的配置空间 2.4 PCI总线的配置 2.4.1 Type 01h和Type 00h配置请求 2.4.2 PCI总线配置请求的转换原则 2.4.3 PCI总线树Bus号的初始化 2.4.4 PCI总线Device号的分配 2.5 非透明PCI桥 2.5.1 Intel 21555中的配置寄存器 2.5.2 通过非透明桥片进行数据传递 2.6 小结 第3章 PCI总线的数据交换 ……第Ⅱ篇 PCI Express体系结构概述 第4章 PCIe总线概述 第5章 Montevina的MCH和ICH 第6章 PCIe总线的事务层 第7章 PCIe总线的数据链路层与物理层 第8章 PCIe总线的链路训练与电源管理 第9章 流量控制 第10章 MSI和MSIX中断机制 第11章 PCI/PCIe总线的序 第12章 PCIe总线的应用 第13章 PCIe总线与虚拟化技术第Ⅲ篇 Linux与PCI总线 第14章 Linux PCI的初始化过程 第15章 Linux PCI的中断处理参考文献
用户评论
太复杂。其实就是参考书。反正也不是搞这行的,瞎看看。
很多基础概念,适合想对PCIe有个简单了解的人看的。真想深入了解的话还是看spec吧
内容不仅仅包括PCIe,还涉及CPU、cache、DMA、中断和Linux驱动等软硬件的方方面面,看得出来作者功力深厚。挺好的pcie入门读物。
看的很累,需要的时候当参考书翻翻还不错
粗粗翻翻
对我还说还是有点难懂,之前是已经自己手写过一个五级流水线可以跑rtt的cpu了,想入门的可以去看看深入浅出ssd的关于pcie的一章
最近又复习了一遍,仍然只读了和软件相关的部分,比如中断、配置什么的。这本算是唯一一本专门写PCI/PCIe的书了,对我帮助很大。
比较系统全面
通识知识点:PCI、PIC-e的原理,如需要详细了解,可以细看。
下载
收藏