资源介绍
浅谈PCIe体系结构
浅谈PCIe体系结构 - 1 -
目录 - 1 -
第I篇PCI体系结构概述 - 1 -
第1章PCI总线的基本知识 - 3 -
1.1 PCI总线的组成结构 - 6 -
1.1.1 HOST主桥 - 6 -
1.1.2 PCI总线 - 7 -
1.1.3 PCI设备 - 7 -
1.1.4 HOST处理器 - 8 -
1.1.5 PCI总线的负载 - 9 -
1.2 PCI总线的信号定义 - 10 -
1.2.1 地址和数据信号 - 10 -
1.2.2 接口控制信号 - 11 -
1.2.3 仲裁信号 - 13 -
1.2.4 中断请求等其他信号 - 14 -
1.3 PCI总线的存储器读写总线事务 - 15 -
1.3.1 PCI总线事务的时序 - 15 -
1.3.2 Posted和Non-Posted传送方式 - 16 -
1.3.3 HOST处理器访问PCI设备 - 17 -
1.3.4 PCI设备读写主存储器 - 19 -
1.3.5 Delayed传送方式 - 21 -
1.4 PCI总线的中断机制 - 23 -
1.4.1 中断信号与中断控制器的连接关系 - 23 -
1.4.2 中断信号与PCI总线的连接关系 - 24 -
1.4.3 中断请求的同步 - 25 -
1.5 PCI-X总线简介 - 28 -
1.5.1 Split总线事务 - 28 -
1.5.2 总线传送协议 - 28 -
1.5.3 基于数据块的突发传送 - 29 -
1.6 小结 - 29 -
第2章PCI总线的桥与配置 - 30 -
2.1 存储器域与PCI总线域 - 30 -
2.1.1 CPU域、DRAM域与存储器域 - 31 -
2.1.2 PCI总线域 - 32 -
2.1.3 处理器域 - 32 -
2.2 HOST主桥 - 34 -
2.2.1 PCI设备配置空间的访问机制 - 35 -
2.2.2 存储器域地址空间到PCI总线域地址空间的转换 - 37 -
2.2.3 PCI总线域地址空间到存储器域地址空间的转换 - 39 -
2.2.4 x86处理器的HOST主桥 - 42 -
2.3 PCI桥与PCI设备的配置空间 - 45 -
2.3.1 PCI桥 - 45 -
2.3.2 PCI Agent设备的配置空间 - 47 -
2.3.3 PCI桥的配置空间 - 50 -
2.4 PCI总线的配置 - 54 -
2.4.1 Type 01h和Type 00h配置请求 - 54 -
2.4.2 PCI总线配置请求的转换原则 - 56 -
2.4.3 PCI总线树Bus号的初始化 - 58 -
2.4.4 PCI总线Device号的分配 - 60 -
2.5 非透明PCI桥 - 62 -
2.5.1 Intel 21555中的配置寄存器 - 63 -
2.5.2 通过非透明桥片进行数据传递 - 65 -
2.6 小结 - 67 -
第3章PCI总线的数据交换 - 68 -
3.1 PCI设备BAR空间的初始化 - 68 -
3.1.1 存储器地址与PCI总线地址的转换 - 68 -
3.1.2 PCI设备BAR寄存器和PCI桥Base、Limit寄存器的初始化 - 70 -
3.2 PCI设备的数据传递 - 72 -
3.2.1 PCI设备的正向译码与负向译码 - 72 -
3.3.2 处理器到PCI设备的数据传送 - 74 -
3.2.3 PCI设备的DMA操作 - 74 -
3.2.4 PCI桥的Combining、Merging和Collapsing - 75 -
3.3 与Cache相关的PCI总线事务 - 77 -
3.3.1 Cache一致性的基本概念 - 77 -
3.3.2 PCI设备对不可Cache的存储器空间进行DMA读写 - 82 -
3.3.3 PCI设备对可Cache的存储器空间进行DMA读写 - 83 -
3.3.4 PCI设备进行DMA写时发生Cache命中 - 85 -
3.3.5 DMA写时发生Cache命中的优化 - 87 -
3.4 预读机制 - 89 -
3.4.1 Instruction Fetch - 89 -
3.4.2 数据预读 - 92 -
3.4.3 软件预读 - 94 -
3.4.4 硬件预读 - 96 -
3.4.5 PCI总线的预读机制 - 97 -
3.5 小结 - 101 -
第II篇PCI Express体系结构概述 - 102 -
第4章PCIe总线概述 - 104 -
4.1 PCIe总线的基础知识 - 104 -
4.1.1 端到端的数据传递 - 104 -
4.1.2 PCIe总线使用的信号 - 106 -
4.1.3 PCIe总线的层次结构 - 109 -
4.1.4 PCIe链路的扩展 - 111 -
4.2 PCIe体系结构的组成部件 - 114 -
4.2.1 基于PCIe架构的处理器系统 - 114 -
4.2.2 RC的组成结构 - 117 -
4.2.3 Switch - 118 -
4.2.4 VC和端口仲裁 - 120 -
4.2.5 PCIe-to-PCI/PCI-X桥片 - 122 -
4.3 PCIe设备的扩展配置空间 - 124 -
4.4 小结 - 125 -
第5章PCIe总线的事务层 - 126 -
5.1 TLP的格式 - 126 -
5.1.1 通用TLP头的Fmt字段和Type字段 - 127 -
5.1.2 TC字段 - 129 -
5.1.3 Attr字段 - 130 -
5.1.4 通用TLP头中的其他字段 - 131 -
5.2 TLP的路由 - 133 -
5.2.1 基于地址的路由 - 133 -
5.2.2 基于ID的路由 - 135 -
5.2.3 隐式路由 - 138 -
5.3 存储器、I/O和配置读写请求TLP - 139 -
5.3.1 存储器读写请求TLP - 139 -
5.3.2 完成报文 - 144 -
5.3.3 配置读写请求TLP - 146 -
5.3.4 消息请求报文 - 147 -
5.4 TLP中与数据负载相关的参数 - 148 -
5.4.1 Max_Payload_Size参数 - 148 -
5.4.2 Max_Read_Request_Size参数 - 149 -
5.4.3 RCB参数 - 149 -
5.5 小结 - 150 -
第6章 MSI和MSI-X中断机制 - 151 -
6.1 MSI/MSI-X Capability结构 - 152 -
6.1.1 MSI Capability结构 - 152 -
6.1.2 MSI-X Capability结构 - 154 -
6.2 PowerPC处理器如何处理MSI中断请求 - 158 -
6.2.1 MSI中断机制使用的寄存器 - 159 -
6.2.2 系统软件如何初始化PCIe设备的MSI Capability结构 - 162 -
6.3 x86处理器如何处理MSI-X中断请求 - 165 -
6.3.1 Message Address字段和Message Data字段的格式 - 165 -
6.3.2 FSB Interrupt Message总线事务 - 168 -
6.4 小结 - 169 -
结束语 - 170 -