pci总线传输什么数据(PCI总线的关键信号定义)

PCI总线是一条共享总线,可以挂载多个PCI设备PCI设备通过一系列信号与PCI总线相连,涉及到地址/数据信号、控制信号、仲裁信号、中断信号等多种信号,我来为大家讲解一下关于pci总线传输什么数据?跟着小编一起来看一看吧!

pci总线传输什么数据(PCI总线的关键信号定义)

pci总线传输什么数据

PCI总线是一条共享总线,可以挂载多个PCI设备。PCI设备通过一系列信号与PCI总线相连,涉及到地址/数据信号、控制信号、仲裁信号、中断信号等多种信号。

1.1、PCI的时钟信号

PCI总线是一个同步信号,每个设备都具有一个CLK信号,数据的发送和接收均使用这个CLK信号进行同步处理。PCI使用33MHz或66MHz的时钟频率。PCI-X总线使用133MHz、266MHz或者533MHz的时钟频率。

1.2、地址和数据信号

(1)AD[31:0]信号

PCI总线复用地址和数据信号。PCI总线事务在启动后的第一个时钟周期传输地址(地址——PCI总线域的存储器地址或者I/O地址),这个时钟周期称为地址周期;在下一个时钟周期传输数据,这个时钟周期称为数据周期。PCI总线支持突发传送,即一个地址周期之后,紧跟多个数据周期。

(2)C/BE[3:0]#信号

PCI总线复用命令与字节选通引脚。

在地址周期中,C/BE[3:0]#信号表示PCI总线的命令。

在数据周期中,C/BE[3:0]#引脚输出字节选通信号,其中C/BE3、C/BE2、C/BE1、C/BE0分别对应数据字节的3、2、1、0。使用这组信号可以对PCI设备进行单个字节、字和双字访问,同时PCI总线也通过这组信号定义了多个总线事务。

C/BE[3:0]# = 4'b0000,命令类型为Interrupt Acknowledge,指中断响应总线事务,读取当前挂接在PCI总线上的中断控制器的中断向量号。

C/BE[3:0]# = 4'b0001,命令类型为Special Cycle,指HOST主桥可以使用Special Cycle事务在PCI总线上进行信息广播。

C/BE[3:0]# = 4'b0010,命令类型为I/O Read,指HOST主桥可以使用该总线事务对PCI设备的I/O地址空间进行读操作。

C/BE[3:0]# = 4'b0011,命令类型为I/O Write,对PCI总线的I/O地址空间进行写操作。

C/BE[3:0]# = 4'b0110,命令类型为Memory Read,HOST主桥可以使用该总线事务对PCI设备的存储器空间进行读操作,PCI设备也可以使用该总线事务读取处理器的存储器空间。

C/BE[3:0]# = 4'b0111,命令类型为Memory Write,HOST主桥可以使用该总线事务对PCI设备的存储器空间进行写操作,PCI设备也可以使用该总线事务向处理器的存储器空间进行写操作。

C/BE[3:0]# = 4'b1010,命令类型为Configuration Read,HOST主桥可以对PCI设备的配置空间进行读写操作。每一个PCI设备都有独立的配置空间。在多功能PCI设备中,每一个子设备也有一个独立的配置空间。该总线事务只能由HOST主桥发出,PCI桥可以转发该总线事务。

C/BE[3:0]# = 4'b1011,命令类型为Configuration Write,HOST主桥对PCI设备的配置空间进行写操作。

C/BE[3:0]# = 4'b1100,命令类型为Memory Read Multiple,指HOST主桥可以使用该总线事务对PCI设备的存储器空间进行多行读操作。该总线事务的主要用途是供PCI设备使用,读取主存储器。

C/BE[3:0]# = 4'b1101,命令类型为Dual Address Cycle,指PCI总线支持64位地址,处理器或者其他PCI设备访问64位PCI总线地址时,必须使用双地址周期产生64位的PCI总线地址。PCI设备使用DMA读写方式访问64位的存储器地址时,也使用该总线事务。

C/BE[3:0]# = 4'b1110,命令类型为Memory Read Line,指HOST主桥可以使用该总线事务对PCI设备的存储器空间进行单行读操作。该总线事务的主要用途是供PCI设备使用,读取主存储器。

C/BE[3:0]# = 4'b1111,命令类型为Memory Write and Invalidate,指存储器写并无效操作,与存储器写不同,PCI设备可以使用该总线事务对主存储器空间进行写操作。该总线事务将数据写入主存储器的同时,将对应Cache行中的数据行无效。

1.3、接口控制相关信号

PCI总线中,接口控制信号主要用来保证数据的正常传递,并根据PCI主从设备的状态,暂停、终止或正常完成当前总线事务。

FRAME#信号——指示一个PCI总线事务的开始与结束。PCI设备或者HOST主桥只有通过仲裁获得PCI总线使用权之后,才能驱动控制该信号。当PCI设备获得总线的使用权,将该信号置为低有效,启动PCI总线事务。通过将该信号置为高时,结束总线事务。

IRDY#信号——由PCI主设备(包括HOST主桥)驱动,该信号有效时表示PCI主设备的数据已经准备完成。若PCI总线事务为写事务,表示数据已经在AD[31:0]信号上有效;若PCI总线事务为读事务,表示PCI目标设备已经准备好接收缓冲,目标设备可以将数据发送至AD[31:0]信号。

TRDY#信号——由目标设备驱动,该信号有效时表示目标设备的数据已经准备完成。若PCI总线事务为写事务,表示目标设备已经准备好接收缓冲,可以将AD[31:0]信号上写入目标设备;若PCI总线事务为读事务,表示PCI主设备所需要的数据已经在AD[31:0]信号上有效。

注意:IRDY#信号和TRDY#信号联合使用,在PCI总线事务上插入等待周期,对PCI总线的数据传送进行控制。

STOP#信号——该信号有效时表示目标设备请求主设备停止当前PCI总线事务。使用情况可以使PCI总线事务正常结束,或者PCI目标设备要求主设备对当前PCI总线事务进行重试( Retry)、断连(Disconnect),或者向主设备报告目标设备夭折( Target Abort)。重试( Retry)、断连(Disconnect)的发送情况,目标设备没将数据准备好,使用Retry周期让主设备重新尝试当前总线事务;或者目标设备无法接收来自主设备较长的Brust操作,使用Disconnect周期,将一个较长的Brust操作分解为多个Burst操作;或者主设备访问的地址越界时,目标设备可以使用Disconnect周期,终止主设备的越界访问。Target Abort表示数据传送中出现错误,意味着在PCI总线域中出现较为严重的错误,处理器必须对这种情况处理。

IDSEL信号——PCI总线在进行配置读写总线事务时,使用该信号选择PCI目标设备。与PCI设备的设备号有关,相当于PCI设备配置空间的片选信号。

DEVSEL#信号——该信号有效表示PCI总线的目标设备准备好,仅表示目标设备已经完成了地址译码。目标设备使用该信号通知PCI主设备,其访问对象在当前PCI总线上,但是并不表示目标设备可以与主设备进行数据交换。TRDY#信号表示数据有效,PCI主设备可以向目标设备写入或者从目标设备读取数据。

注意:根据设备的译码速度,PCI设备分为快速、中速和慢速三种,还有一种特殊设备负向译码设备。当三种设备均不能响应PCI总线事务的地址时,负向译码设备将被动接收这个PCI总线事务。若在PCI主设备访问的PCI总线上,没有任何设备可以置DEVSEL#信号有效,主设备将使用Master Abort周期结束当前总线事务。

LOCK#信号——PCI主设备使用该信号,将目标设备的某个存储器或者I/O资源锁定,以禁止其他PCI主设备访问此资源,直到锁定这个资源的主设备将其释放。PCI总线使用LOCK#信号实现LOCK总线事务,只有HOST主桥、PCI桥或其他桥片可以使用LOCK#信号。目前PCI总线使用LOCK#信号仅仅为了防止死锁和向前兼容。

1.4、仲裁信号

PCI设备使用该组信号进行总线仲裁,并获得PCI总线的使用权。这组信号由REQ#和GNT#组成。其中PCI主设备的REQ#和GNT#与PCI总线的仲裁器直接相连。每一个PCI主设备都具有独立的总线仲裁信号,并与PCI总线仲裁器一一相连,同时总线仲裁器需要保证在同一时间段内,只有一个PCI设备可以使用当前总线。

PCI主设备使用PCI总线进行数据传递时,需要首先置REQ#信号有效,向PCI总线仲裁器发出总线申请,当PCI总线仲裁器允许PCI主设备获得PCI总线的使用权后,将置GNT#信号为有效,并将其发送给指定的PCI主设备。PCI主设备获得总线使用权后,将置位 FRAME#信号有效,与PCI从设备进行数据通信。

1.5、中断信号

PCI总线提供INTA#、INTB#、INTC#、INTD#四个中断信号,采用电平触发方式向处理器提交中断请求。PCI设备将中断信号置低表示向处理器提交中断请求;处理器执行中断服务程序通过将中断信号置高来清除PCI设备的中断请求,结束当前中断请求。

PCI总线规定单功能设备只能使用INTA#信号,多功能设备才能使用INTB#、INTC#、INTD#信号。这些中断信号也可以通过中断路由表进行线与,与中断请求信号线相连,方便处理器来正确处理来自不同PCI设备的中断请求。

1.6、PCI总线错误信号

PCI总线传递过程中使用错误信号来显示错误类型。

PERR#信号——表示数据传送过程中出现奇偶校验错(除了Special Cycle周期)

SERR#信号——表示处理器系统出现了三种错误可能,分别是地址奇偶校验错、在Special Cycle周期中出现数据奇偶校验错、系统出现其他严重错误。

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页