书籍详情

PCI Express系统体系结构标准教材

PCI Express系统体系结构标准教材

作者:(美)布达科 等著,田玉敏 等译

出版社:电子工业出版社

出版时间:2005-11-01

ISBN:9787121017940

定价:¥62.00

购买这本书可以去
内容简介
  本书全面论述了适用于许多系统和外设的当前最流行的第三代外围组件互连技术——PCIExpress。内容涵盖设计、验证和测试所需的信息,以及编写底层BIOS和设备驱动程序必需的背景知识。MindShare公司是领先的硬件技术培训公司之一,为几十家公司提供创造性的课程,包括IBM、HP、PLX、Sun和德州仪器等。本书选自该公司的PC系统体系结构系列丛书。本书首先概述第三代PCIExpress总线和第二代总线及其之间的关系和区别,然后全面论述目前市场上最为流行的第三代总线——PCIExpress。主要内容包括:PCIExpress总线的发展过程及其特点;PCIExpress总线的事务路由方法;数据包传送的主要协议和实现服务质量的方法;事务顺序、中断和错误处理;PCIExpress总线物理层详述;复位以及链路的定向和初始化;附加卡的外观结构;PCIExpress的电源管理;PCIExpress的配置方式。附录提供的内容包括PCIExpress的测试、调试和验证等。本书详细描述的PCIExpress系统的体系结构,以及列举的大量示例,对于理解PCIExpress内容并构思其用途有很大帮助,是软硬件设计人员和技术人员不可多得的参考书籍。
作者简介
  RaviBudruk是MindShare公司的高级工程师、讲师,而该公司已经培养了几千名工程师。他是Intel处理器和PC体系结构以及像PCIExpress、PGI、PCI—x、HyperTransport、IEEE1394和ISA等总线结构方面的业内专家。任职MindShare公司之前,Budruk先生是VLSI技术公司Pc芯片组的架构师和设计师。DonAnderson是数字电子和系统设计方面的专家。他通过在MindShare公司培训工程师、程序员和技术人员来传授其丰富的经验,他还是很多MindShare图书的作者。TomShanley是MindShare公司的总裁,是计算机系统体系结构方面的世界级权威之一。
目录
第一部分 总 览
第1章 体系结构展望
1.1 PCI Express简介
1.1.1 初始PCI解决方案的作用
1.2 与原有总线的比较
1.2.1 作者的声明
1.2.2 总线性能及其插槽数的比较
1.2.3 PCI Express的总吞吐量
1.2.4 比较每引脚的性能
1.3 I/O总线体系结构展望
1.3.1 基于33MHz PCI总线的系统
1.3.2 基于66MHz PCI总线的系统
1.3.3 基于66MHz和133MHz PCI-X 1.0总线的平台
1.3.4 基于DDR和QDR PCI-X 2.0总线的平台
1.4 PCI Express的线路
1.4.1 PCI Express的拓扑结构
1.4.2 PCI Express系统模块图
1.5 PCI Express规范
第2章 体系结构概述
2.1 PCI Express事务简介
2.1.1 PCI Express事务协议
2.1.2一些事务示例
2.2 PCI Express的设备层
2.2.1 概述
2.2.2 设备层及相关的数据包
2.2.3 各PCI Express设备层的功能
2.3 非报告存储器读事务示例
2.4 热插拔
2.5 PCI Express的性能与数据传送效率
第二部分 事务协议
第3章 地址空间与事务路由
3.1 简介
3.1.1 接收器检查3种类型的链路流量
3.1.2 多端口设备承担路由负荷
3.1.3 端点的路由能力有限
3.1.4 系统路由策略是可编程的
3.2 两种类型的本地链路流量
3.2.1 有序集
3.2.2 数据链路层数据包(DLLP)
3.3 处理层数据包路由基础
3.3.1 用于访问4种地址空间的TLP
3.3.2 使用分离事务协议了吗
3.3.3 TLP路由的3种方法
3.3.4 PCI Express的路由方法与PCI兼容吗
3.3.5 定义数据包格式和路由的头字段
3.3.6 使用TLP的头信息:概述
3.4 应用路由机制
3.4.1 地址路由
3.4.2 ID路由
3.4.3 隐式路由
3.5 路由选项的即插即用设置
3.5.1 路由配置是PCI兼容的吗
3.5.2 基址寄存器(BAR):类型O、类型1的头
3.5.3 基址/限界寄存器,只限类型1头
3.5.4 总线号寄存器,只限类型1头
第4章 基于数据包的事务
4.1 基于数据包的协议简介
4.1.1 为什么要使用基于数据包的事务协议
4.2 处理层数据包
4.2.1 组装和拆解TLP
4.2.2 设备核心请求访问4种空间
4.2.3 所定义的TLP事务变体
4.2.4 TLP的结构
4.2.5 建立事务:TLP请求和完成
4.3 数据链路层数据包
4.3.1 DLLP的类型
4.3.2 DLLP是本地流量
4.3.3 接收器对DLLP的处理
4.3.4 发送一个数据链路层数据包
4.3.5 DLLP数据包的类型
第5章 ACK/NAK协议
5.1 通过各链路可靠地传输TLP
5.2 ACK/NAK协议的基本组成
5.2.1 ACK/NAK协议中发送器的基本组成
5.2.2 ACK/NAK协议的接收器基本组成
5.3 ACK/NAK DLLP的格式
5.4 ACK/NAK协议详解
5.4.1 发送器协议详解
5.4.2 接收器协议详解
5.5 利用ACK/NAK协议可靠地处理错误情况
5.6 ACK/NAK协议小结
5.6.1 发送器部分
5.6.2 接收器部分
5.7 安排数据包时推荐的优先级
5.8 更多的示例
5.8.1 丢失TLP
5.8.2 丢失ACK DLLP或ACK DLLP并有CRC错误
5.8.3 丢失跟随NAK DLLP的ACK DLLP
5.9 交换器直通转发模式
5.9.1 没有直通转发模式
5.9.2 交换器直通转发模式
第6章 QoS/XC/VC和仲裁
6.1 服务质量
6.1.1 同步事务支持
6.1.2 差异性服务
6.2 对QoS/TC/VC和仲裁的看法
6.3 流量类别和虚拟通道
6.3.1 VC分配和TC映射
6.4 仲裁
6.4.1 虚拟信道仲裁
6.4.2 端口仲裁
6.4.3 交换器仲裁示例
第7章 流控制
7.1 流控制的概念
7.2 流控制缓冲区
7.2.1 VC流控制缓冲区的组织
7.2.2 流控制信用
7.2.3 流控制缓冲区的最大容量
7.3 流控制机制简介
7.3.1 流控制的基本组成
7.4 流控制数据包
7.5 流控制模型的操作——示例
7.5.1 第一阶段——初始化之后的流控制
7.5.2 第二阶段——流控制缓冲区填满
7.5.3 第三阶段——信用限额计数器翻转
7.5.4 第四阶段——FC缓冲区溢出错误检查
7.6 通告无限流控制
7.6.1 谁能通告无限流控制信用
7.6.2 无限信用通告的特殊用途
7.6.3 头和数据通告可能冲突
7.7 最小流控制通告
7.8 流控制初始化
7.8.1 FC初始化序列
7.9 FC.INIT之后的流控制更新
7.9.1 FC-Update DLLP的格式和内容
7.9.2 流控制更新频率
7.9.3 错误检测定时器——一种伪需求
第8章 事务顺序
8.1 简介
8.2 生产者/使用者模型
8.3 真正的PCI Express顺序规则
8.3.1 真正PCI Express设备的生产者/使用者模型
8.4 灵活的顺序
8.4.1 RO对存储器写和消息的影响
8.4.2 RO对存储器读事务的影响
8.4.3 强顺序规则总结
8.5 改变顺序规则,提高性能
8.5.1 强顺序可能导致事务阻塞
8.5.2 用VC缓冲区完成的顺序管理
8.5.3 改进的顺序规则小结
8.6  支持PCI总线和避免死锁
第9章 中断
9.1 发送中断的两种方法
9.2 消息信号中断
9.2.1 MSI功能寄存器组
9.2.2 MSI配置基础
9.2.3 生成MSI中断请求的基础
9.2.4 中断处理程序处理时的存储器同步
9.2.5 中断延迟
9.2.6 一些规则、建议等等
9.3 传统的PCI中断发送机制
9.3.1 背景知识——PCI中断信令
9.3.2 虚拟INTx信令
9.4 设备可以同时支持MSI和传统的中断
9.5 基本系统外围设备必须考虑的特殊情况
9.5.1 示例系统
第10章 错误检测和处理
10.1 背景
10.2 PCI Express错误管理简介
10.2.1 PCI Express的错误校验机制
10.2.2 错误报告机制
10.2.3 错误处理机制
10.3 PCI Express错误的来源
10.3.1 ECRC的产生与校验
10.3.2 数据中毒(可选)
10.3.3 TC到VC映射错误
10.3.4 链路流控制相关的错误
10.3.5 畸形处理层数据包(TLP)
10.3.6 分离事务的错误
10.4 错误分类
10.4.1 可修正的错误
lO.4.2 不可修正的非致命错误
10.4.3不可修正的致命错误
10.5 报告错误的方法
10.5.1 错误消息
10.5.2 完成状况
10.6 基本的错误检测和处理
10.6.1 PCI兼容的错误报告机制
10.6.2 PCI Express的基本错误处理
10.7 高级错误报告机制
10.7.1 ECRC的生成和校验
10.7.2 粘滞比特的处理
10.7.3 高级可修正错误的处理
10.7.4 高级不可修正错误的处理
10.7.5 错误记录
10.7.6 根联合体错误跟踪和报告
10.8 错误记录与报告小结
第三部 分物理层
第11章 物理层逻辑
11.1 物理层概述
11.1.1 声明
11.1.2 发送逻辑概述
11.1.3 接收逻辑概述
11.1.4 物理层链路活动状态电源管理
11.1.5 链路定向和初始化
11.2 发送逻辑细节
11.2.1 发送(Tx)缓冲区
11.2.2 多路复用器(Mux)和多路复用器控制逻辑
11.2.3 字节拆分(可选)
11.2.4 扰频器
11.2.5 8b/10b编码
11.2.6 并行到串行转换器(串行器)
11.2.7 差动发送驱动器
11.2.8 发送器(Tx)时钟
11.2.9 发送逻辑的其他主题
11.3 接收逻辑的细节
11.3.1 差动接收器
11.3.2 接收时钟的恢复
11.3.3 串行到并行转换器(反串行器)
11.3.4 符号边界测定(符号锁定)
11.3.5 接收器时钟补偿逻辑
11.3.6 通道到通道的相位补偿
11.3.7 8b/10b解码器
11.3.8 去扰频器
11.3.9 字节反拆分
11.3.10 过滤器和数据包校正检查
11.3.11 接收缓冲区(Rx缓冲区)
11.4 物理层错误处理
第12章 电气物理层
12.1 电气物理层概述
12.2 高速电气信令
12.2.1 时钟要求
12.2.2 阻抗和终结
12.2.3 13(3共模电压
12.2.4 ESD和短路要求
12.2.5 接收器检测
12.2.6 差动驱动器和接收器
12.2.7 电气空闲
12.2.8 链路上发送线路的损耗
12.2.9 AC耦合
12.2.10 去矫(或预矫)
12.2.11 信标信令
12.3 LVDS眼图
12.3.1 抖动、噪音和信号衰减
12.3.2 眼测试(Eye Test)
12.3.3 最优眼
12.3.4 抖动可使眼边加宽或变窄
12.3.5 噪音和信号衰减使眼变高
12.4 发送器驱动器特性
12.4.1 概述
12.4.2 发送驱动器一致性测试和测量负载
12.5 输入接收器的特性
12.6 在各种电源状态中的电气物理层状态
第13章 系统复位
13.1 两类系统复位
13.1.1 基本复位
13.1.2 带内复位或Hot复位
13.2 退出复位
13.3 从L2低功率状态中的链路唤醒
第14章 链路初始化和定向
14.1 链路初始化和定向概述
14.1.1 概述
14.2 链路定向和初始化期间所用的有序集
14.2.1 TS1和TS2有序集
14.2.2 电气空闲有序集
14.2.3 FTS有序集
14.2.4 SKIP有序集
14.3 链路定向和状况状态机(LTSSM)
14.3.1 概述
14.3.2 LTSSM各状态概述
14.4 LTSSM各状态详述
14.4.1 检测状态
14.4.2 轮询状态
14.4.3 配置状态
14.4.4 恢复状态
14.4.5 LO状态
14.4.6 LOs状态
14.4.7 L1状态
14.4.8 L2状态
14.4.9 Hot复位状态
14.4.10 禁用状态
14.4.11 回环状态
14.5 与LTSSM相关的配置寄存器
14.5.1 链路功能寄存器
14.5.2 链路状况寄存器
14.5.3 链路控制寄存器
第四部分 与电源有关的主题
第15章 功率预算
15.1 功率预算简介
15.2 功率预算的各个要素
15.3 插槽功率极限控制
15.3.1 扩充端口的插槽功率极限
15.3.2 扩充设备限制功率消耗
15.4 功率预算功能寄存器组
第16章 电源管理
16.1 简介
16.2 配置软件的入门知识
16.2.1 PCI PM基础
16.2.2 OnNow Design Initiative计划定义了全部PM
16.2.3 PCI Express电源管理与ACPI
16.3 设备功能的电源管理
16.3.1 PM功能寄存器组
16.3.2 设备的PM状态
16.3.3 PCI-PM寄存器详述
16.4 链路电源管理简介
16.5 链路活动状态电源管理
16.5.1 LOs状态
16.5.2 L1 ASPM状态
16.5.3 ASPM退出延迟
16.6 软件发起的链路电源管理
16.6.1 D1/D2/D3hot和L1状态
16.6.2 L2/L3准备就绪——切断链路的电源
16.7 链路唤醒协议和PME的生成
16.7.1 PME消息
16.7.2 PME序列
16.7.3 避免PME消息产生背压(Back Pressure)死锁
16.7.4 PME环境
16.7.5 唤醒无法通信的链路
16.7.6 辅助电源
第五部分 可选功能
第17章 热插拔
17.1 背景
17.2 PCI Express环境下的热插拔
17.2.1 突然移除通知
17.2.2 PCI热插拔和PCI Express热插拔的区别
17.3 支持热插拔所需的基本要素
17.3.1 软件基本要素
17.3.2 硬件基本要素
17.4 卡移除与插人过程
17.4.1开与关状态
17.4.2卡移除过程
17.4.3卡插入过程
17.5 标准使用模型
17.5.1 背景
17.5.2 标准用户接口
17.6 标准热插拔控制器信令接口
17.7 热插拔控制器编程接口
17.7.1 插槽功能
17.7.2 插槽控制
17.7.3 插槽状况和事件管理
17.7.4 卡插槽与服务器10模块实现
17.8 插槽编号
17.8.1 物理插槽ID
17.9 终止卡与驱动程序的活动
17.9.1 概述
17.9.2 驱动程序暂停(可选)
17.10 原语
第18章 附加卡与连接器
18.1 简介
18.1.1 附加卡连接器
18.1.2 辅助信号
18.1.3 电气要求
18.1.4 附加卡的互操作性
18.2 正在开发的外形规格
18.2.1 概述
18.2.2 服务器10模块(SIOM)
18.2.3 提升卡
18.2.4 微型PCI Express卡
18.2.5 NEWCARD外形规格
第六部分 PCI Express配置
第19章 配置概述
19.1 设备与功能的定义
19.2 主总线与二级总线的定义
19.3 系统启动时拓扑未知
19.4 每种功能实现一组配置寄存器
19.4.1 简介
19.4.2 功能配置空间
19.5 主机/PCI桥的配置寄存器
19.6 由处理器发起的配置事务
19.6.1 仅根联合体能发起配置事务
19.6.2 配置事务仅能向下游移动
19.6.3 没有对等配置事务
19.7 配置事务通过总线、设备和功能号路由
19.8 如何发现功能
19.9 如何区分PCI到PCI桥与非桥功能
第20章 配置机制
20.1 简介
20.2 PCI兼容配置机制
20.2.1 背景
20.2.2 PCI兼容配置机制说明
20.3 PCI Express增强配置机制
20.3.1 说明
20.3.2 规则
20.4 类型0配置请求
20.5 类型1配置请求
20.6 PCI兼容配置访问示例
20.7 增强配置访问示例
20.8 初始配置访问
20.8.1 初始化期间会发生什么
20.8.2 PCI中初始化阶段的定义
20.8.3 PCI-X中初始化阶段的定义
20.8.4 PCI Express与初始化时间
20.8.5 运行期间对CRS接收的RC响应
第21章 PCI Express枚举
21.1 简介
21.2 带单个根联合体系统的枚举
21.3 枚举带多个根联合体的系统
21.3.1 PCI兼容配置机制的运行特征
21.3.2 增强配置机制的运行特征
21.3.3 枚举过程
21.4 根联合体或交换器内的多功能设备
21.4.1 根联合体内的多功能设备
21.4.2 交换器内的多功能设备
21.5 嵌入交换器或根联合体中的端点
21.6 记住你的身份
21.6.1 概述
21.6.2 根联合体总线号/设备号的分配
21.6.3 在ID分配前发起请求
21.6.4 在ID分配前发起完成
21.7 根联合体寄存器块(RCRB)
21.7.1 RCRB地址中的问题
21.7.2 有关RCRB的其他信息
21.8 其他规则
21.8.1 分割配置事务要求单个完成
21.8.2 PCI Express到PCI桥或PCI Express到PCI-X桥的问题
21.8.3 PCI特殊周期事务
第22章 PCI兼容配置寄存器
22.1 头类型0(Header Type 0)
22.1.1 概述
22.1.2 兼容PCI的头类型O寄存器
22.1.3 与PCI不兼容的头类型O寄存器
22.1.4 用于识别设备驱动程序的寄存器
22.1.5 头类型寄存器
22.1.6 BIST寄存器
22.1.7 功能指针寄存器
22.1.8 CardBus CIS指针寄存器
22.1.9 扩展ROM基址寄存器
22.1.10 命令寄存器
22.1.11 状况寄存器
22.1.12 缓存行大小寄存器
22.1.13 主控器延时定时器寄存器
22.1.14 中断线寄存器
22.1.15 中断引脚寄存器
22.1.16 基址寄存器
22.1.17 Min_Gnt/Max_Lat寄存器
22.2 头类型1(Header Type 1)
22.2.1 概述
22.2.2 兼容PCI的头类型1奇存器
22.2.3 与PCI不兼容的头类型1寄存器
22.2.4 术语
22.2.5 总线号寄存器
22.2.6 厂商ID寄存器
22.2.7 设备ID寄存器
22.2.8 修订版ID寄存器
22.2.9 类代码寄存器
22.2.10 头类型寄存器
22.2.11 BIST寄存器
22.2.12 功能指针寄存器
22.2.13 基本事务过滤机制
22.2.14 桥的存储器、寄存器组和设备ROM
22.2.15 桥的IO过滤器
22.2.16 桥的可预取存储器过滤器
22.2.17 桥的存储器映射IO过滤器
22.2.18 桥命令寄存器
22.2.19 桥状况寄存器
22.2.20 桥高速缓存行大小寄存器
22.2.21 桥延迟定时器寄存器
22.2.22 与桥中断有关的寄存器
22.3 PCI兼容功能
22.3.1 AGP功能
22.3.2 关键产品数据(VPD)功能
22.3.3 机箱/插槽编号寄存器简介
22.3.4 机箱与插槽号的分配
第23章扩展ROM
23.1 ROM的作用——可在启动期间使用的设备
23.2 ROM检测
23.3 必需的ROM映射
23.4 ROM的内容
23.4.1多代码映像
23.4.2 代码映像的格式
23.5 初始化代码的执行
23.6 开放固件简介
23.6.1 概述
23.6.2 通用设备驱动程序的格式
23.6.3 传递资源列表到即插即用OS
第24章 Express专用配置寄存器
24.1 简介
24.2 PCI Express功能寄存器组
24.2.1 简介
24.2.2 必需的寄存器
24.2.3 插槽寄存器
24.2.4 根端口寄存器
24.3 PCI Express扩展功能
24.3.1 概述
24.3.2 高级错误报告功能
24.3.3 虚拟信道(VC)功能
24.3.4 设备序列号功能寄存器组
24.3.5 功率预算功能寄存器组
24.4 RCRB
24.4.1 概述
24.4.2 固件向OS提供每个RCRB的基地址
24.4.3 对RCRB的不对齐或锁定访问
24.4.4 RCRB中的扩展功能寄存器组
24.4.5 RCRB丢失链路
附录A 测试、调试和验证
A.1 目的
A.2 串行总线的拓扑结构
A.3 双单工
A.4 设置分析仪、捕获和触发条件
A.5 链路定向,通信的第一步
A.6 插槽连接器与mid-bus垫
A.7 练习:深入的验证
A.8 信号完整性、设计和测量
A.8.1 概述
A.8.2 高速PCB的设计要求
附录B PCI Express体系结构的市场及应用
B.1 简介
B.2 企业计算系统
B.2.1 桌面系统
B.2.2 服务器系统
B.2.3 嵌入式控制系统
B.2.4 存储系统
B.2.5 通信系统
B.3 小结
附录C 用PCI Express技术实现智能适配器和多主机系统
C.1 简介
C.2 使用模型
C.2.1 智能适配器
C.2.2 主机故障转移
C.2.3 多处理器系统
C.3 使用PCI的多处理器实现历史
C.4 在PCI Express基本系统中实现多主机/智能适配器
C.4.1 示例:在PCI Express基本系统中实现智能适配器
C.4.2 示例:在PCI Express系统中实现故障转移
C.4.3 示例:在PCI Express基本系统中实现双主机
C.5 小结
C.6 地址转换
C.6.1 直接地址转换
C.6.2 基于查找表的地址转换
C.6.3 下游BAR限界寄存器
C.6.4 转发64位地址的存储器事务
附录D 类代码
附录E 锁定事务系列
E.1 简介
E.2 背景
E.3 PCI Express锁定协议
E.3.1 锁定消息——虚拟锁定信号
E.3.2 锁定协议序列——一个示例
E.4 锁定规则小结
E.4.1 与锁定事务的发起和传播有关的规则
E.4.2 与交换器有关的规则
E.4.3 与PCI Express/PCI桥有关的规则
E.4.4 与根联合体有关的规则
E.4.5 与传统端点有关的规则
E.4.6 与PCI Express端点有关的规则
猜您喜欢

读书导航