图书介绍

PCI Express体系结构导读pdf电子书版本下载

PCI Express体系结构导读
  • 王齐著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111298229
  • 出版时间:2010
  • 标注页数:443页
  • 文件大小:82MB
  • 文件页数:455页
  • 主题词:总线-结构

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

PCI Express体系结构导读PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第Ⅰ篇 PCI体系结构概述 3

第1章 PCI总线的基本知识 3

1.1 PCI总线的组成结构 5

1.1.1 HOST主桥 6

1.1.2 PCI总线 7

1.1.3 PCI设备 7

1.1.4 HOST处理器 8

1.1.5 PCI总线的负载 8

1.2 PCI总线的信号定义 9

1.2.1地址和数据信号 9

1.2.2接口控制信号 10

1.2.3仲裁信号 12

1.2.4中断请求等其他信号 12

1.3 PCI总线的存储器读写总线事务 13

1.3.1 PCI总线事务的时序 14

1.3.2 Posted和Non-Posted传送方式 15

1.3.3 HOST处理器访问PCI设备 16

1.3.4 PCI设备读写主存储器 18

1.3.5 Delayed传送方式 19

1.4 PCI总线的中断机制 21

1.4.1中断信号与中断控制器的连接关系 21

1.4.2中断信号与PCI总线的连接关系 22

1.4.3中断请求的同步 23

1.5 PCI-X总线简介 25

1.5.1 Split总线事务 25

1.5.2总线传送协议 26

1.5.3基于数据块的突发传送 26

1.6小结 27

第2章 PCI总线的桥与配置 28

2.1存储器域与PCI总线域 28

2.1.1 CPU域、DRAM域与存储器域 29

2.1.2 PCI总线域 30

2.1.3处理器域 30

2.2 HOST主桥 32

2.2.1 PCI设备配置空间的访问机制 33

2.2.2存储器域地址空间到PCI总线域地址空间的转换 35

2.2.3 PCI总线域地址空间到存储器域地址空间的转换 37

2.2.4 x86处理器的HOST主桥 40

2.3 PCI桥与PCI设备的配置空间 42

2.3.1 PCI桥 42

2.3.2 PCI Agent设备的配置空间 44

2.3.3 PCI桥的配置空间 50

2.4 PCI总线的配置 53

2.4.1 Type 01h和Type 00h配置请求 53

2.4.2 PCI总线配置请求的转换原则 55

2.4.3 PCI总线树Bus号的初始化 57

2.4.4 PCI总线Device号的分配 59

2.5非透明PCI桥 60

2.5.1 Intel 21555中的配置寄存器 62

2.5.2通过非透明桥片进行数据传递 63

2.6小结 65

第3章 PCI总线的数据交换 66

3.1 PCI设备BAR空间的初始化 66

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

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

3.2 PCI设备的数据传递 69

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

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

3.2.3 PCI设备的DMA操作 72

3.2.4 PCI桥的Combining、 Merging和Collapsing 73

3.3与Cache相关的PCI总线事务 74

3.3.1 Cache一致性的基本概念 75

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

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

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

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

3.4预读机制 86

3.4.1指令预读 86

3.4.2数据预读 89

3.4.3软件预读 91

3.4.4硬件预读 93

3.4.5 PCI总线的预读机制 94

3.5小结 98

第Ⅱ篇 PCI Express体系结构概述 101

第4章 PCIe总线概述 101

4.1 PCIe总线的基础知识 101

4.1.1端到端的数据传递 101

4.1.2 PCIe总线使用的信号 103

4.1.3 PCIe总线的层次结构 107

4.1.4 PCIe链路的扩展 108

4.1.5 PCIe设备的初始化 110

4.2 PCIe体系结构的组成部件 112

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

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设备的扩展配置空间 123

4.3.1 Power Management Capability结构 124

4.3.2 PCI Express Capability结构 127

4.3.3 PCI Express Extended Capabilities结构 133

4.4小结 139

第5章 Montevina的MCH和ICH 140

5.1 PCI总线O的Device O设备 141

5.1.1 EPBAR寄存器 144

5.1.2 MCHBAR寄存器 144

5.1.3其他寄存器 144

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

5.2.1 Legacy地址空间 147

5.2.2 DRAM域 147

5.2.3存储器域 148

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

5.3.1 PCI设备使用的地址空间 150

5.3.2 PCIe总线的配置空间 151

5.4小结 154

第6章 PCIe总线的事务层 155

6.1 TLP的格式 155

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

6.1.2 TC字段 158

6.1.3 Attr字段 159

6.1.4通用TLP头中的其他字段 160

6.2 TLP的路由 161

6.2.1基于地址的路由 161

6.2.2基于ID的路由 164

6.2.3隐式路由 166

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

6.3.1存储器读写请求TLP 168

6.3.2完成报文 172

6.3.3配置读写请求TLP 174

6.3.4消息请求报文 175

6.3.5 PCIe总线的原子操作 177

6.3.6 TLP Processing Hint 178

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

6.4.1 Max_Payload_Size参数 181

6.4.2 Max_Read_Request_Size参数 182

6.4.3 RCB参数 183

6.5小结 184

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

7.1数据链路层的组成结构 185

7.1.1数据链路层的状态 186

7.1.2事务层如何处理DL Down和DL_Up状态 189

7.1.3 DLLP的格式 189

7.2 ACK/NAK协议 191

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

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

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

7.3物理层简介 199

7.3.1 PCIe链路的差分信号 200

7.3.2物理层的组成结构 204

7.3.3 8/10b编码与解码 206

7.4小结 210

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

8.1 PCIe链路训练简介 211

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

8.1.2 Electrical Idle状态 216

8.1.3 Receiver Detect识别逻辑 217

8.2 LTSSM状态机 218

8.2.1 Detect状态 220

8.2.2 Polling状态 221

8.2.3 Configuration状态 223

8.2.4 Recovery状态 228

8.2.5 LTSSM的其他状态 231

8.3 PCIe总线的ASPM 232

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

8.3.2 L0状态 233

8.3.3 L0s状态 234

8.3.4 L1状态 235

8.3.5 L2状态 236

8.4 PCI PM机制 237

8.4.1 PCIe设备的D-State 237

8.4.2 D-State的状态迁移 238

8.5小结 240

第9章 流量控制 241

9.1流量控制的基本原理 242

9.1.1 Rate-Based流量控制 243

9.1.2 Credit-Based流量控制 244

9.2 Credit-Based机制使用的算法 246

9.2.1 N123算法和N123+算法 249

9.2.2 N23算法 250

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

9.3 PCIe总线的流量控制 254

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

9.3.2 Current节点的Credit 257

9.3.3 VC的初始化 259

9.3.4 PCIe设备如何使用FCP 261

9.4小结 262

第10章 MSI和MSI-X中断机制 263

10.1 MSI/MSI-X Capability结构 263

10.1.1 MSI Capability结构 264

10.1.2 MSI-X Capability结构 266

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

10.2.1 MSI中断机制使用的寄存器 270

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

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

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

10.3.2 FSB Interrupt Message总线事务 277

10.4小结 278

第11章 PCI/PCIe总线的序 279

11.1生产/消费者模型 279

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

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

11.2 PCI总线的死锁 283

11.2.1缓冲管理引发的死锁 283

11.2.2数据传送序引发的死锁 283

11.3 PCI总线的序 284

11.3.1 PCI总线序的通用规则 284

11.3.2 Delayed总线事务的传送规则 285

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

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

11.4 PCIe总线的序 290

11.4.1 TLP传送的序 290

11.4.2 ID-Base Ordering 294

11.4.3 MSI报文的序 295

11.5小结 296

第12章 PCIe总线的应用 297

12.1 Capric卡的工作原理 297

12.1.1 BAR空间 298

12.1.2 Capric卡的初始化 301

12.1.3 DMA写 302

12.1.4 DMA读 302

12.1.5中断请求 303

12.2 Capric卡的数据传递 303

12.2.1 DMA写使用的TLP 304

12.2.2 DMA读使用的TLP 308

12.2.3 Capric卡的中断请求 317

12.3基于PCIe总线的设备驱动 317

12.3.1 Capric卡驱动程序的加载与卸载 318

12.3.2 Capric卡的初始化与关闭 319

12.3.3 Capric卡的DMA读写操作 324

12.3.4 Capric卡的中断处理 327

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

12.3.6存储器与Cache的同步 330

12.4 Capric卡的延时与带宽 334

12.4.1 TLP的传送开销 335

12.4.2 PCIe设备的DMA读写延时 338

12.4.3 Capric卡的优化 342

12.5小结 343

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

13.1 IOMMU 344

13.1.1 IOMMU的工作原理 345

13.1.2 IA处理器的VT-d 347

13.1.3 AMD处理器的IOMMU 349

13.2 ATS(Address Translation Services) 352

13.2.1 TLP的AT字段 353

13.2.2地址转换请求 354

13.2.3 Invalidate ATC 356

13.3 SR-IOV与MR-IOV 358

13.3.1 SR-IOV技术 358

13.3.2 MR-IOV技术 359

13.4小结 362

第Ⅲ篇 Linux与PCI总线 365

第14章 Linux PCI的初始化过程 365

14.1 Linux x86对PCI总线的初始化 365

14.1.1 pcibus_ class _init与pci_ driver_init函数 368

14.1.2 pci_ arch_init函数 368

14.1.3 pci _slot _init和pci _subsys_ init函数 372

14.1.4与PCI总线初始化相关的其他函数 373

14.2 x86处理器的ACPI 374

14.2.1 ACPI驱动程序与AML解释器 377

14.2.2 ACPI表 380

14.2.3 ACPI表的使用实例 382

14.3基于ACPI机制的Linux PCI的初始化 388

14.3.1基本的准备工作 388

14.3.2 Linux PCI初始化PCI总线号 393

14.3.3 Linux PCI检查PCI设备使用的BAR空间 404

14.3.4 Linux PCI分配PCI设备使用的BAR寄存器 407

14.4 Linux PowerPC如何初始化PCI总线树 412

14.5小结 416

第15章 Linux PCI的中断处理 417

15.1 PCI总线的中断路由 417

15.1.1 PCI设备如何获取irq号 419

15.1.2 PCI中断路由表 426

15.1.3 PCI插槽使用的irq号 428

15.2使用MSI/MSIX中断机制申请中断向量 432

15.2.1 Linux如何使能MSI中断机制 432

15.2.2 Linux如何使能MSI-X中断机制 437

15.3小结 440

参考文献 441

精品推荐