PCI Express 体系结构导读 王齐著 PDF下载

转载至:  https://download.csdn.net/download/qq_25025117/10448694

下载链接:  点我一键跳转到 下载链接

下载声明:  本资料仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版!

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

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

image.jpg

前言

第Ⅰ篇 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和NonPosted传送方式

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 PCIX总线简介

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 PCIAgent设备的配置空间

2.3.3 PCI桥的配置空间

2.4 PCI总线的配置

2.4.1 Type01h和Type00h配置请求

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总线的数据交换

3.1 PCI设备BAR空间的初始化

3.1.1 存储器地址与PCI总线地址的转换

3.1.2 PCI设备BAR寄存器和PCI桥Base、Limit寄存器的初始化

3.2 PCI设备的数据传递

3.2.1 PCI设备的正向译码与负向译码

3.2.2 处理器到PCI设备的数据传送

3.2.3 PCI设备的DMA操作

3.2.4 PCI桥的Combining、Merging和Collapsing

3.3 与Cache相关的PCI总线事务

3.3.1 Cache一致性的基本概念

3.3.2 PCI设备对不可Cache的存储器空间进行DMA读写

3.3.3 PCI设备对可Cache的存储器空间进行DMA读写

3.3.4 PCI设备进行DMA写时发生Cache命中

3.3.5 DMA写时发生Cache命中的优化

3.4 预读机制

3.4.1 指令预读

3.4.2 数据预读

3.4.3 软件预读

3.4.4 硬件预读

3.4.5 PCI总线的预读机制

3.5 小结

第Ⅱ篇 PCIE xpress体系结构概述

第4章 PCIe总线概述

4.1 PCIe总线的基础知识

4.1.1 端到端的数据传递

4.1.2 PCIe总线使用的信号

4.1.3 PCIe总线的层次结构

4.1.4 PCIe链路的扩展

4.1.5 PCIe设备的初始化

4.2 PCIe体系结构的组成部件

4.2.1 基于PCIe架构的处理器系统

4.2.2 RC的组成结构

4.2.3 Switch

4.2.4 VC和端口仲裁

4.2.5 PCIe_t0.PCI/PCI.x桥片

4.3 PCIe设备的扩展配置空间

4.3.1 Power Management Capability结构

4.3.2 PCI Express CapaJbility结构

4.3.3 PCI Express Extended Capabilities结构

4.4 小结

第5章 Montevilna的MCH和ICH

5.1 PCI总线0的Device0设备

5.1.1 EPBAR寄存器

5.1.2 MCHBAR寄存器

5.1.3 其他寄存器

5.2 Montevina平台的存储器空间的组成结构

5.2.1 Legacy地址空间

5.2.2 DRAM域

5.2.3 存储器域

5.3 存储器域的PCI总线地址空间

5.3.1 PCI设备使用的地址空间

5.3.2 PCIe总线的配置空间

5.4 小结

第6章 PCIe总线的事务层

6.1 TLP的格式

6.1.1 通用TLP头的Fmt字段和Type字段

6.1.2 TC字段

6.1.3 Attr字段

6.1.4 通用TLP头中的其他字段

6.2 FLP的路由

6.2.1 基于地址的路由

6.2.2 基于ID的路由

6.2.3 隐式路由

6.3 存储器、I/O和配置读写请求TLP

6.3.1 存储器读写请求TLP

6.3.2 完成报文

6.3.3 配置读写请求TLP

6.3.4 消息请求报文

6.3.5 PCIe总线的原子操作

6.3.6 TLP Processing Hint

6.4 TLP中与数据负载相关的参数

6.4.1 Max-Payload-Size参数

6.4.2 Max-Read-Request-Size参数

6.4.3 RCB参数

6.5 小结

第7章 PCIe总线的数据链路层与物理层

7.1 数据链路层的组成结构

7.1.1 数据链路层的状态

7.1.2 事务层如何处理DL_Down和DL_Up状态

7.1.3 DLLP的格式

7.2 ACK/NAK协议

7.2.1 发送端如何使用ACK/NAK协议

7.2.2 接收端如何使用ACK/NAK协议

7.2.3 数据链路层发送报文的顺序

7.3 物理层简介

7.3.1 PCIe链路的差分信号

7.3.2 物理层的组成结构

7.3.3 8/10b编码与解码

7.4 小结

第8章 PCIe总线的链路训练与电源管理

8.1 PCIe链路训练简介

8.1.1 链路训练使用的字符序列

8.1.2 Electrical Idle状态

8.1.3 Receivel Detect识别逻辑

8.2 LTSSM状态机

8.2.1 Detect状态

8.2.2 Polling状态

8.2.3 Configuration状态

8.2.4 Recovery状态

8.2.5 LTSSM的其他状态

8.3 PCIe总线的ASPM

8.3.1 与电源管理相关的链路状态

8.3.2 IJD状态

8.3.3 LDs状态

8.3.4 L1状态

8.3.5 L2状态

8.4 PCIPM机制

8.4.1 PCIe设备的D-State

8.4.2 D-State的状态迁移

8.5 小结

第9章 流量控制

9.1 流量控制的基本原理

9.1.1 Rate-Based流量控制

9.1.2 Credit-Based流量控制

9.2 Credit-Based机制使用的算法

9.2.1 N123算法和N123+算法

9.2.2 N23算法

9.2.3 流量控制机制的缓冲管理

9.3 PCIe总线的流量控制

9.3.1 PCIe总线流量控制的缓存管理

9.3.2 Current节点的Credit

9.3.3 VC的初始化

9.3.4 PCIe设备如何使用FCF

9.4 小结

第10章 MSI和MSI-×中断机制

10.1 MSI/MSI-X Capability结构

10.1.1 MSI Capability结构

10.1.2 MSI-X Capability结构

10.2 PowerPC处理器如何处理MSI中断请求

10.2.1 I中断机制使用的寄存器

10.2.2 系统软件如何初始化PCIe设备的MSI Capability结构

10.3 x86处理器如何处理MSI-X中断请求

10.3.1 Message Address字段和Message Data字段的格式

10.3.2 FSB Interrupt Message总线事务

10.4 小结

第11章 PCI/PCIe总线的序

11.1 生产/消费者模型

11.1.1 生产/消费者的工作原理

11.1.2 生产/消费者模型在PCI/PCIe总线中的实现

11.2 PCI总线的死锁

11.2.1 缓冲管理引发的死锁

11.2.2 数据传送序引发的死锁

11.3 PCI总线的序

11.3.1 PCI总线序的通用规则

11.3.2 Delayed总线事务的传送规则

11.3.3 PCI总线事务通过PCI桥的顺序

11.3.4 LOCK,Delayed和Posted总线事务间的关系

11.4 PCIe总线的序

11.4.1 TLP传送的序

11.4.2 ID-Base Ordering

11.4.3 MSI报文的序

11.5 小结

第12章 PCIe总线的应用

12.1 Capric卡的工作原理

12.1.1 BAR空间

12.1.2 Capric卡的初始化

12.1.3 DMA写

12.1.4 DMA读

12.1.5 中断请求

12.2 Capric卡的数据传递

12.2.1 DMA写使用的TLP

12.2.2 DMA读使用的TLP

12.2.3 Capric卡的中断请求

12.3 基于PCIe总线的设备驱动

12.3.1 Caprie卡驱动程序的加载与卸载

12.3.2 Caprie卡的初始化与关闭

12.3.3 Capric卡的DMA读写操作

12.3.4 Capric卡的中断处理

12.3.5 存储器地址到PCI总线地址的转换

12.3.6 存储器与Cache的同步

12.4 Capric卡的延时与带宽

12.4.1 TLP的传送开销

12.4.2 PCIe设备的DMA读写延时

12.4.3 Capric卡的优化

12.5 小结

第13章 PCIe总线与虚拟化技术

13.1 I0MMU

13.1.1 IOMMU的工作原理

13.1.2 IA处理器的VT-d

13.1.3 AMD处理器的IOMMU

13.2 ATS(Address Translation Services)

13.2.1 TLP的AT字段

13.2.2 地址转换请求

13.2.3 Invalidate ATC

13.3 SR.1 0V与MR-IOV

13.3.1 SR-IOV技术

13.3.2 MR-IOV技术

13.4 小结

第Ⅲ篇 Linux与PCI总线

第14章 Linux PCI的初始化过程

14.1 Linuxx86对PCI总线的初始化

14.1.1 pcibus_class_init与pci_driver_init

……

第15章 LinuxPCI的中断处理

参考文献

打赏 支付宝打赏 微信打赏

如果文章对您有帮助,欢迎移至上方打赏按钮...

下载链接
公众号
Java菜市场,专注于技术干货分享,资源下载

[打开微信]->[扫描二维码]->[关注《Letter》]
发送“1553”,获取下载地址。
原力推-知识付费平台
原力推-知识付费平台
官网:https://yuanlitui.com
你可以把创造的任何有趣/有价值的内容变成付费版
出售给有需要的人,把洞察转化为价值

现在成为创作者免服务费
随手一点
  • 打酱油

    370人

  • 795人

  • 呵呵

    43人

  • 草泥马

    40人

文章评论 (6)


  1. 沙发 来自 will 2021-01-29 18:22 回复 feichanghao

  2. #3楼 来自 t4vlove 2022-02-09 21:21 回复 最近学习pcie,很不错的一本书

  3. #4楼 来自 peter 2022-07-12 15:35 回复 全面

  4. #5楼 来自 里贝里 2023-04-18 22:27 回复 很好的一本书

  5. #6楼 来自 你爸爸 2023-07-10 20:08 回复 非常好

  6. #11楼 来自 abc 2024-02-20 09:46 回复 谢谢楼主