《PCI Express体系结构导读》随记 —— 第I篇 第1章 PCI总线的基本知识(6)

发布时间:2023年12月27日

接前一篇文章:《PCI Express体系结构导读》随记 —— 第I篇 第1章 PCI总线的基本知识(5)

1.2?PCI总线的信号定义

PCI总线是一条共享总线在一条PCI总线上可以挂接多个PCI设备。这些PCI设备通过对一系列信号与PCI总线相连,这些信号由地址/数字信号控制信号仲裁信号中断信号等多种信号组成。

PCI总线是一条同步总线每一个设备都有一个CLK信号,其发送设备与接收设备使用这个CLK信号进行同步数据传递。PCI总线可以使用33MHz或66MHz的时钟频率,PCI-X总线可以使用133MHz、266MHz或者533MHz的时钟频率(如上一回中的表格所示)。

除了RST#、INTA~D#、PME#和CLKRUN#等信号之外,PCI设备使用的绝大多数信号都使用这个CLK信号进行同步。其中,RST#是复位信号,而PCI设备使用INTA~D#信号进行中断请求。本书并不详细介绍PME#和CLKRUN#信号。

1.2.1 地址和数据信号

在PCI地址总线中,与地址和数据有关的信号如下所示:

(1)AD[31:0]信号

PCI总线复用地址和数据信号PCI总线事务在启动后的第一个时钟周期传送地址,这个地址是PCI总线域的存储器地址或者I/O地址;而在下一个时钟周期传送数据(双地址周期在第一、二个时钟周期都传送地址)。传送地址的时钟周期也被称为地址周期,而传送数据的时钟周期也被称为数据周期

(2)PAR信号

PCI总线使用奇偶校验机制,保证地址和数据信号在进行数据传递时的正确性。PAR信号是AD[31:0]和C/BE[3:0]的奇偶校验信号。PCI主设备在地址周期和数据周期中,使用该信号为地址和数据信号线提供奇偶校验位

(3)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]#信号定义了多个总线事务,这些PCI总线事务如下表所示:

C/BE[3:0]#命令类型说明
0000Interrupt Acknowledge中断响应总线事务读取当前挂接在PCI总线上的中断控制器的中断向量信号。目前大多数处理器系统的中断控制器都不挂接在PCI总线上,因此这种总线事务很少使用
0001Special CycleHOST主桥可以使用Special Cycle事务在PCI总线上进行信息广播
0010I/O ReadHOST主桥可以使用该总线事务对PCI设备的I/O地址空间进行读操作。目前多数PCI设备都不支持I/O地址空间,而仅支持存储器地址空间,但是仍有部分PCI设备同时包含I/O空间和存储器地址空间
0011I/O WriteHOST主桥可以使用该总线事务对PCI总线的I/O地址进行写操作
0100Reserved保留
0101Reserved保留
0110Memory ReadHOST主桥可以使用该总线事务对PCI设备的存储器地址空间进行读操作。PCI设备也可以使用该总线事务读取处理器的存储空间
0111Memory WriteHOST主桥可以使用该总线事务对PCI设备的存储器地址空间进行写操作。PCI设备也可以使用该总线事务向处理器的存储空间进行写操作
1000Reserved保留
1001Reserved保留
1010Configuration ReadHOST主桥可以对PCI设备的配置空间进行读操作。每一个PCI设备都有独立的配置空间。在许多PCI设备中,每一个子设备(Function)也有一个独立的配置空间。该总线事务只能由HOST主桥发出去,PCI桥可以转发该总线事务
1011Configuration WriteHOST主桥可以对PCI设备的配置空间进行写操作
1100Memory Read MultipleHOST主桥可以使用该总线事务对PCI设备的存储器空间进行多行读操作,这种操作并不多见。该总线事务的主要用途是供PCI设备使用,读取主存储器。此操作与Memory Read操作略有不同
1101Dual Address CyclePCI总线支持64位地址,处理器或者其它PCI设备访问64位PCI总线时,必须使用双地址周期产生64位的PCI总线地址PCI设备使用DMA读写方式访问64位的存储器地址时,也可以使用该总线事务
1110Memory Read LineHOST主桥可以使用该总线事务对PCI设备的存储器空间进行单行读操作,这种操作并不多见。该总线事务的主要用途是供PCI设备使用,读取主存储器
1111Memory Write and Invalidate存储器写并无效操作。与存储器写不同,PCI设备可以使用该总线事务对主存储器空间进行写操作。该总线事务将数据写入主存储器的同时,将对应Cache行中的数据“使无效”

更多内容请看下回。

文章来源:https://blog.csdn.net/phmatthaus/article/details/135235575
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。