第8章 PCI总线标准..
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11空闲 00数据 01等待 10最后
PCI总线传输的一般规则:
(1) FRAME# 和IRDY#信号定义了总线的忙/ 闲状态。 (2) 一旦FRAME#信号被置为无效,在同一传 输期间不能重新设置。 (3) 除非设置了IRDY#信号有效,一般情况下 不能设置FRAME#信号无效。 (4) 一旦主设备设置了IRDY#信号,直到当前 数据期结束为止,主设备一般不能改变 IRDY#信号和FRAME#信号的状态。 (5) 在完成最后一个数据期之后的时钟周期, 主设备必须使IRDY#信号无效。
在系统启动的时候由BIOS代码执行设备配置。 一旦即插即用OS(如Windows2000)启动后, 控制就传递给OS,OS接管设备管理。 定义一个PCI设备配置空间的目的在于提供一 套适当的配置措施,使之实现完全的设备再 定位而无需用户干预安装、配置和引导,并 由与设备无关的软件进行系统地址映射。 所有PCI设备都必须实现PCI协议规定必需的 配置寄存器,以便系统加电的时候利用这些 寄存器的信息来进行系统配置。对PCI的配置 访问实际上就是访问设备的配置寄存器。
图8.1 PCI总线接口信号
2.地址与数据接口信号
1.
AD[31:00] T/S:它们是地址、数据多路复用的输入/输出信号 在FRAME#有效的第1个时钟,AD[31:00]上传送的是32位地址,称为 地址期。
2.
在IRDY#和TRDY#同时有效时,AD[31:00]上传送的为32位数据,称为 数据期。注: 一次总线传输=地址期+数据期+数据期+…
第8章 PCI局部总线
PCI总线概述 总线命令及总线协议
PCI总线的数据传输
总线仲裁与总线配置
PCI总线控制芯片S5933
PCI总线的特点:
1)高传输效率:133~266MB/S 2)支持突发传输(顺序读/写一批数据) 3)独立于处理器(不依附于某个具体处理器) 4)支持两种电压下的扩展卡(5V,3.3V) 5)支持多总线主控方式 6)存取时间延迟小 7)数据的完整性和可靠性 8)具有即插即用功能(自动选择未使用中断和地址) 9)合理的管脚安排
PCI设备的配置空间为即插即用(PnP)提供支持,完 全实现设备的再定位。 • PCI设备是一个物理设备,包括嵌入在PCI总线上的 PCI器件或者是插入PCI插槽上的PCI卡 • PCI功能是一个PCI物理设备可能包含的具有独立功 能的逻辑设备,一个PCI设备可以包含1~8个PCI功 能。如:一个PCI卡上可以包含一个独立的打印机 模块,两个独立的数据采集器和一个独立的RS-485 通信模块等。PCI规范要求每个功能都配备一个 256B(64DW) 的配置空间。
PCI总线上的所有传输操作中,FRAME#、 IRDY#、TRDY#和STOP#遵循的规则:
1. 当STOP#信号有效时,FRAME#应该在其后的2~3个 时钟周期内尽快撤消,但撤消时应使IRDY#有效, 从设备应无条件的保持STOP#的有效状态直到 FRAME#撤消为止。FRAME#撤消后,STOP#也应该 紧跟着撤消。 2. 在任何时钟的上升沿,如果STOP#和TRDY#同时有 效,就表示是传输的最后周期,IRDY#要在下一 个时钟的上升沿之前撤消,表示传输的结束。 3. 对于被目标设备终止的传输,主设备要继续完成 它,就必须用下一个未传输的数据的地址来重试 访问。
2.PCI总线的寻址
(1) I/O地址空间
• 在I/O地址空间,32位AD线全部被用来提供一个完整的地 址编码(字节地址)。��� • AD[1:0]和C/BE[3:0]指明传输的最低有效字节。
(2) 内存地址空间
3.字节对齐
• PCI总线上不能进行字节的交换。但是,具有64位 通道的主设备可以进行DWORD(双字)的交换。主 设备可以在每个新数据期开始的时钟前沿改变字 节使能信号,且在整个数据期中保持不变。
举例1:基址寄存器的值=FFFFFF01h =11111111111111111111111100000001b
位0=1,表示是一个I/O地址空间映射 位[31:2] 第一个为1的是位8,表示映射的I/O空
间为256。 这意味着I/O映射的基地址应该起始于256的整 数倍。
0/1类配置空间访问时在AD总线的地址期 内出现在AD总线上的信息格式:
0类访问 :
31 10 7 0
保留
功能编号
寄存器编号
ቤተ መጻሕፍቲ ባይዱ00
一类访问:
31 23 15 10 7 0
保留
总线编号
设备编号
功能编号
寄存器编号
01
1类配置空间访问
• 对(通过PCI/PCI桥连接的)下一级PCI总线上的目标设备 (配置寄存器)所进行的访问。 • 地址期:AD[10∶8]用于选择物理设备的八种功能之一。 AD [7∶2]为选择该功能设备的配置寄存器号;AD[15∶11] 用于选择第二级总线上的某个设备的IDSEL信号有效, AD[23∶16] 放总线号,AD[1∶0]必须为01。 • 一旦PCI/PCI桥检测到1类配置访问,就有三种情况,须分 别进行处理。 • 桥片中也有桥配置空间寄存器,存放有总线号和次级总线 号等信息。
8.4 总线仲裁与总线配置
8.4.1 PCI总线仲裁机制
• PCI总线采用集中式的同步仲裁方法 • 握手方式:请求(REQ#)-允许(QET#)
1.发REQ,请求 占用总线
2.允许
占用
总线仲裁过程:
1 6 2 3 7 4 5 8 9
10
8.4.2 PCI总线的配置空间
PCI设备的配置空间(64DW的配置寄存器)
C/BE[3:0]# T/S:它们是总线命令和字节使能多路复用信号线
PAR T/S:针对AD[31:00]和C/BE[3:0]#进行奇偶校验的校验位.
3.接口控制信号
FRAME# S/T/S:帧周期信号,帧有效周期表 示一次传输的开始和持续。Cycle Frame) IRDY# S/T/S:主设备准备好信号(Initiator Ready) TRDY# S/T/S:从设备准备好信号(Target Ready) 注: IRDY#, TRDY#同时有效,才能从主设备传送 数据从设备. STOP# S/T/S:从设备发出的要求主设备终 止当前的数据传送的信号。 LOCK # S/T/S:锁定信号 IDSEL IN:初始化设备选择信号 DEVSEL# S/T/S:设备选择信号
2. 配置空间访问的类型
0类配置空间访问
• 对(正在运行的)当前PCI总线上的目标设备配置 寄存器所进行的访问。 • 被配置访问的目标设备必须在地址期采样到其 IDSEL输入信号有效,并且AD[1∶0]必须为00。 • 地址期,AD[10∶8]用于选择物理设备的八种功能 之一。AD [7∶2]为选择该功能设备的配置寄存器 号(双字号);AD[1∶0]必须为00。 • 数据期,AD[31∶0]传送的是配置读/写数据
8.1.2 PCI信号定义
主设备:取得总线控制权的设备. 从设备:被主设备选中进行数据交换的设备. 信号类型: IN 单向输入信号,OUT:单向输出信号 T/S:双向三态输入/输出信号. S/T/S:持续且低电平有效的三态信号(主设备产生). O/D: 漏极开路. #: 低电平有效 1.系统接口信号 • CLK IN:PCI系统总线时钟。最高 33MHz/66MHz,最低0Hz。 PCI大部分信号在 CLK的上升沿有效。 • RST#: IN 复位信号
无DEVSEL#信号时的处理。
8.3 PCI总线的数据传输过程 8.3.1.总线上的读操作
等待 等待 4读数据 等待 6读数据 8最后读
交换期
从设备
提供
8.3.2 总线上的写操作
3,4写数据 5,6,7等待 8最后
8.3.3 传输的终止过程
1.由主设备提出的终止 (1) 传输结束 (2) 超时(GNT#信号在内部延时计数器满后仍无效) 撤消FRAME#,建立IRDY#,直到TRDY#有效 后传输完最后一个数据。 2.由从设备提出的终止(发出STOP#信号) (1) 死锁后重试 (2) 断开(8个时钟周期内从设备不能对主设备做出 响应)。 发出STOP#信号并保持其有效,直到FRAME#撤 消为止。
(4)基址寄存器(BADR)
PCI设备的配置空间可以在微处理器决定的地址 空间中浮动,以便简化设备的配置过程。 • 地址映射:系统初始化代码在引导操作系统之前, 必须建立一个统一的地址映射关系,以确定系统 中有多少存储器和I/O控制器,它们需要占用多 少地址空间。当确定这些信息之后,系统初始化 代码便可以把I/O控制器映射到合理的地址空间 并引导系统。 • 基址寄存器:为了使这种映射能够做到与相应的 设备无关,在配置空间的头区域中安排了一组供 映射时使用的基址寄存器。
1.配置空间的寻址方法 访问PCI设备配置空间时的必要条件: 1)只有当输入目标设备的IDSEL信号有效。 配置访问不使用地址总线的AD[31:11]。 。利用地址总线的高21位产生IDSEL。 。桥设备通过译码产生IDSEL。 2)且在地址期内AD[1:0]为00时,才能被 作为配置访问的目标设备。 3) AD[7:2]配合C/BE#信号选择配置寄存器。
4.PCI总线的驱动与过渡
• 从一个设备驱动总线到另一个设备驱动PCI总线之 间设置一个过渡期,又称为交换周期,以防止总 线访问冲突。 • 在每个地址(数据)期中,所有的AD线都必须被 驱动到稳定的状态(数据),包括那些字节使能 信号表明无效的字节所对应的AD线。
5.设备选择
• 注意: DEVSEL#与FRAME#、TRDY#的关系,
3、配置空间头区域(64DW)及功能
(1)设备识别 头区域有7个寄存器(字段)用于设备的识别。 (2)设备控制 表现在命令寄存器为发出和响应PCI总线命令提 供了对设备粗略的控制。 (3)设备状态 状态寄存器用于记录PCI总线有关操作的状态 信息。 注意:该寄存器的有些位是只可清不可置,对这些 位的写,被解释为对该位清零。 例如,为了清位14而不影响其他位,应向该寄存器 写0100 0000 0000 0000B
8. 高速缓存支持信号
SBO#: IN/OUT:试探返回信号。 SDONE# IN/OUT:查询完成信号。
8.2 PCI 总线命令及总线协议 8.2.1. PCI总线命令
8.2.2 PCI总线协议
1.PCI总线的传输控制遵循的管理规则:
FRAME#、IRDY#和TRDY#信号控制PCI总线的数据传输。 FRAME#和IRDY#两个信号的配合构成总线状态: 11空闲、00数据、 01等待状态、10最后一个数据。
7. 64位总线扩展信号
• AD[63:32] T/S:扩展的32位地址和数据多路复用线 • C/BE[7:4]# T/S:总线命令和字节使能多路复用扩展 信号线 • REQ64# S/T/S,64位传输请求信号ACK64# S/T/S: 64位传输允许信号 • PAR64 T/S:奇偶双字节校验
4.仲裁信号
• REQ# T/S:总线占用请求信号 • GNT# T/S:总线占用允许信号
5.错误报告信号
• PERR# S/T/S:数据奇偶校验错误报告信号 • SERR# O/D:系统错误报告信号
6.中断信号
PCI有4条中断线,分别是INTA#、INTB#、INTC#、 INTD# ,电平触发,多功能设备可以任意选择一 个或多个中断线,单功能设备只能用INTA#。
1. 如果要访问的总线号既不同于桥的第 二级总线号,也不在桥的第二级总线 号的下级总线范围内,那么桥将忽略 本次访问。 2. 如果总线号不同于桥的第二级总线, 但在桥的第二级总线号的下级总线范 围内,那么桥将本次访问作为1类配 置访问传递给第二级总线。配置命令 从第一级传递到第二级C/BE总线。 3. 如果总线号与桥的第二级总线号相同, 那么桥将本次访问作为0类配置访问 传递给第二级总线。AD[10:2]直接从 桥的第一级传递到第二级AD总线。 AD[15:11 ]的设备号用于选择第二级 总线上哪个设备的IDSEL信号有效。 配置命令从第一级传递到第二级C/BE 总线。
PCI总线传输的一般规则:
(1) FRAME# 和IRDY#信号定义了总线的忙/ 闲状态。 (2) 一旦FRAME#信号被置为无效,在同一传 输期间不能重新设置。 (3) 除非设置了IRDY#信号有效,一般情况下 不能设置FRAME#信号无效。 (4) 一旦主设备设置了IRDY#信号,直到当前 数据期结束为止,主设备一般不能改变 IRDY#信号和FRAME#信号的状态。 (5) 在完成最后一个数据期之后的时钟周期, 主设备必须使IRDY#信号无效。
在系统启动的时候由BIOS代码执行设备配置。 一旦即插即用OS(如Windows2000)启动后, 控制就传递给OS,OS接管设备管理。 定义一个PCI设备配置空间的目的在于提供一 套适当的配置措施,使之实现完全的设备再 定位而无需用户干预安装、配置和引导,并 由与设备无关的软件进行系统地址映射。 所有PCI设备都必须实现PCI协议规定必需的 配置寄存器,以便系统加电的时候利用这些 寄存器的信息来进行系统配置。对PCI的配置 访问实际上就是访问设备的配置寄存器。
图8.1 PCI总线接口信号
2.地址与数据接口信号
1.
AD[31:00] T/S:它们是地址、数据多路复用的输入/输出信号 在FRAME#有效的第1个时钟,AD[31:00]上传送的是32位地址,称为 地址期。
2.
在IRDY#和TRDY#同时有效时,AD[31:00]上传送的为32位数据,称为 数据期。注: 一次总线传输=地址期+数据期+数据期+…
第8章 PCI局部总线
PCI总线概述 总线命令及总线协议
PCI总线的数据传输
总线仲裁与总线配置
PCI总线控制芯片S5933
PCI总线的特点:
1)高传输效率:133~266MB/S 2)支持突发传输(顺序读/写一批数据) 3)独立于处理器(不依附于某个具体处理器) 4)支持两种电压下的扩展卡(5V,3.3V) 5)支持多总线主控方式 6)存取时间延迟小 7)数据的完整性和可靠性 8)具有即插即用功能(自动选择未使用中断和地址) 9)合理的管脚安排
PCI设备的配置空间为即插即用(PnP)提供支持,完 全实现设备的再定位。 • PCI设备是一个物理设备,包括嵌入在PCI总线上的 PCI器件或者是插入PCI插槽上的PCI卡 • PCI功能是一个PCI物理设备可能包含的具有独立功 能的逻辑设备,一个PCI设备可以包含1~8个PCI功 能。如:一个PCI卡上可以包含一个独立的打印机 模块,两个独立的数据采集器和一个独立的RS-485 通信模块等。PCI规范要求每个功能都配备一个 256B(64DW) 的配置空间。
PCI总线上的所有传输操作中,FRAME#、 IRDY#、TRDY#和STOP#遵循的规则:
1. 当STOP#信号有效时,FRAME#应该在其后的2~3个 时钟周期内尽快撤消,但撤消时应使IRDY#有效, 从设备应无条件的保持STOP#的有效状态直到 FRAME#撤消为止。FRAME#撤消后,STOP#也应该 紧跟着撤消。 2. 在任何时钟的上升沿,如果STOP#和TRDY#同时有 效,就表示是传输的最后周期,IRDY#要在下一 个时钟的上升沿之前撤消,表示传输的结束。 3. 对于被目标设备终止的传输,主设备要继续完成 它,就必须用下一个未传输的数据的地址来重试 访问。
2.PCI总线的寻址
(1) I/O地址空间
• 在I/O地址空间,32位AD线全部被用来提供一个完整的地 址编码(字节地址)。��� • AD[1:0]和C/BE[3:0]指明传输的最低有效字节。
(2) 内存地址空间
3.字节对齐
• PCI总线上不能进行字节的交换。但是,具有64位 通道的主设备可以进行DWORD(双字)的交换。主 设备可以在每个新数据期开始的时钟前沿改变字 节使能信号,且在整个数据期中保持不变。
举例1:基址寄存器的值=FFFFFF01h =11111111111111111111111100000001b
位0=1,表示是一个I/O地址空间映射 位[31:2] 第一个为1的是位8,表示映射的I/O空
间为256。 这意味着I/O映射的基地址应该起始于256的整 数倍。
0/1类配置空间访问时在AD总线的地址期 内出现在AD总线上的信息格式:
0类访问 :
31 10 7 0
保留
功能编号
寄存器编号
ቤተ መጻሕፍቲ ባይዱ00
一类访问:
31 23 15 10 7 0
保留
总线编号
设备编号
功能编号
寄存器编号
01
1类配置空间访问
• 对(通过PCI/PCI桥连接的)下一级PCI总线上的目标设备 (配置寄存器)所进行的访问。 • 地址期:AD[10∶8]用于选择物理设备的八种功能之一。 AD [7∶2]为选择该功能设备的配置寄存器号;AD[15∶11] 用于选择第二级总线上的某个设备的IDSEL信号有效, AD[23∶16] 放总线号,AD[1∶0]必须为01。 • 一旦PCI/PCI桥检测到1类配置访问,就有三种情况,须分 别进行处理。 • 桥片中也有桥配置空间寄存器,存放有总线号和次级总线 号等信息。
8.4 总线仲裁与总线配置
8.4.1 PCI总线仲裁机制
• PCI总线采用集中式的同步仲裁方法 • 握手方式:请求(REQ#)-允许(QET#)
1.发REQ,请求 占用总线
2.允许
占用
总线仲裁过程:
1 6 2 3 7 4 5 8 9
10
8.4.2 PCI总线的配置空间
PCI设备的配置空间(64DW的配置寄存器)
C/BE[3:0]# T/S:它们是总线命令和字节使能多路复用信号线
PAR T/S:针对AD[31:00]和C/BE[3:0]#进行奇偶校验的校验位.
3.接口控制信号
FRAME# S/T/S:帧周期信号,帧有效周期表 示一次传输的开始和持续。Cycle Frame) IRDY# S/T/S:主设备准备好信号(Initiator Ready) TRDY# S/T/S:从设备准备好信号(Target Ready) 注: IRDY#, TRDY#同时有效,才能从主设备传送 数据从设备. STOP# S/T/S:从设备发出的要求主设备终 止当前的数据传送的信号。 LOCK # S/T/S:锁定信号 IDSEL IN:初始化设备选择信号 DEVSEL# S/T/S:设备选择信号
2. 配置空间访问的类型
0类配置空间访问
• 对(正在运行的)当前PCI总线上的目标设备配置 寄存器所进行的访问。 • 被配置访问的目标设备必须在地址期采样到其 IDSEL输入信号有效,并且AD[1∶0]必须为00。 • 地址期,AD[10∶8]用于选择物理设备的八种功能 之一。AD [7∶2]为选择该功能设备的配置寄存器 号(双字号);AD[1∶0]必须为00。 • 数据期,AD[31∶0]传送的是配置读/写数据
8.1.2 PCI信号定义
主设备:取得总线控制权的设备. 从设备:被主设备选中进行数据交换的设备. 信号类型: IN 单向输入信号,OUT:单向输出信号 T/S:双向三态输入/输出信号. S/T/S:持续且低电平有效的三态信号(主设备产生). O/D: 漏极开路. #: 低电平有效 1.系统接口信号 • CLK IN:PCI系统总线时钟。最高 33MHz/66MHz,最低0Hz。 PCI大部分信号在 CLK的上升沿有效。 • RST#: IN 复位信号
无DEVSEL#信号时的处理。
8.3 PCI总线的数据传输过程 8.3.1.总线上的读操作
等待 等待 4读数据 等待 6读数据 8最后读
交换期
从设备
提供
8.3.2 总线上的写操作
3,4写数据 5,6,7等待 8最后
8.3.3 传输的终止过程
1.由主设备提出的终止 (1) 传输结束 (2) 超时(GNT#信号在内部延时计数器满后仍无效) 撤消FRAME#,建立IRDY#,直到TRDY#有效 后传输完最后一个数据。 2.由从设备提出的终止(发出STOP#信号) (1) 死锁后重试 (2) 断开(8个时钟周期内从设备不能对主设备做出 响应)。 发出STOP#信号并保持其有效,直到FRAME#撤 消为止。
(4)基址寄存器(BADR)
PCI设备的配置空间可以在微处理器决定的地址 空间中浮动,以便简化设备的配置过程。 • 地址映射:系统初始化代码在引导操作系统之前, 必须建立一个统一的地址映射关系,以确定系统 中有多少存储器和I/O控制器,它们需要占用多 少地址空间。当确定这些信息之后,系统初始化 代码便可以把I/O控制器映射到合理的地址空间 并引导系统。 • 基址寄存器:为了使这种映射能够做到与相应的 设备无关,在配置空间的头区域中安排了一组供 映射时使用的基址寄存器。
1.配置空间的寻址方法 访问PCI设备配置空间时的必要条件: 1)只有当输入目标设备的IDSEL信号有效。 配置访问不使用地址总线的AD[31:11]。 。利用地址总线的高21位产生IDSEL。 。桥设备通过译码产生IDSEL。 2)且在地址期内AD[1:0]为00时,才能被 作为配置访问的目标设备。 3) AD[7:2]配合C/BE#信号选择配置寄存器。
4.PCI总线的驱动与过渡
• 从一个设备驱动总线到另一个设备驱动PCI总线之 间设置一个过渡期,又称为交换周期,以防止总 线访问冲突。 • 在每个地址(数据)期中,所有的AD线都必须被 驱动到稳定的状态(数据),包括那些字节使能 信号表明无效的字节所对应的AD线。
5.设备选择
• 注意: DEVSEL#与FRAME#、TRDY#的关系,
3、配置空间头区域(64DW)及功能
(1)设备识别 头区域有7个寄存器(字段)用于设备的识别。 (2)设备控制 表现在命令寄存器为发出和响应PCI总线命令提 供了对设备粗略的控制。 (3)设备状态 状态寄存器用于记录PCI总线有关操作的状态 信息。 注意:该寄存器的有些位是只可清不可置,对这些 位的写,被解释为对该位清零。 例如,为了清位14而不影响其他位,应向该寄存器 写0100 0000 0000 0000B
8. 高速缓存支持信号
SBO#: IN/OUT:试探返回信号。 SDONE# IN/OUT:查询完成信号。
8.2 PCI 总线命令及总线协议 8.2.1. PCI总线命令
8.2.2 PCI总线协议
1.PCI总线的传输控制遵循的管理规则:
FRAME#、IRDY#和TRDY#信号控制PCI总线的数据传输。 FRAME#和IRDY#两个信号的配合构成总线状态: 11空闲、00数据、 01等待状态、10最后一个数据。
7. 64位总线扩展信号
• AD[63:32] T/S:扩展的32位地址和数据多路复用线 • C/BE[7:4]# T/S:总线命令和字节使能多路复用扩展 信号线 • REQ64# S/T/S,64位传输请求信号ACK64# S/T/S: 64位传输允许信号 • PAR64 T/S:奇偶双字节校验
4.仲裁信号
• REQ# T/S:总线占用请求信号 • GNT# T/S:总线占用允许信号
5.错误报告信号
• PERR# S/T/S:数据奇偶校验错误报告信号 • SERR# O/D:系统错误报告信号
6.中断信号
PCI有4条中断线,分别是INTA#、INTB#、INTC#、 INTD# ,电平触发,多功能设备可以任意选择一 个或多个中断线,单功能设备只能用INTA#。
1. 如果要访问的总线号既不同于桥的第 二级总线号,也不在桥的第二级总线 号的下级总线范围内,那么桥将忽略 本次访问。 2. 如果总线号不同于桥的第二级总线, 但在桥的第二级总线号的下级总线范 围内,那么桥将本次访问作为1类配 置访问传递给第二级总线。配置命令 从第一级传递到第二级C/BE总线。 3. 如果总线号与桥的第二级总线号相同, 那么桥将本次访问作为0类配置访问 传递给第二级总线。AD[10:2]直接从 桥的第一级传递到第二级AD总线。 AD[15:11 ]的设备号用于选择第二级 总线上哪个设备的IDSEL信号有效。 配置命令从第一级传递到第二级C/BE 总线。