PCIE总线是继承PCI总线而来

1、PCI总线与PCI设备间有HOST主桥进行隔离,HOST主桥有很多寄存器,缓存数据,从而实现总线与设备间的工作频率可不同。当处理器要访问PCI设备时,需要通过HOST主桥进行地址转换,把处理器地址转换成PCI总线地址,然后才能访问PCI设备;同理,PCI设备中的数据要往外走,也要通过HOST主桥进行地址转换。说到底,HOST主桥就是一个桥梁。PCI桥的作用可以隔离PCI设备,不影响各条总线的带宽,总线x1上通讯和总线x2上是否通讯无关;同一条总线上的设备可以自由通讯,同HOST主桥下(PCI域)中设备可以通讯,而不需要处理器操作。

2、PCI总线上的设备可以使用四根中断请求信号INTA  INTB  INTC INTD向处理器发出中断请求;其中INTA是单功能设备,其他的是多功能设备。

3、 HOST主桥是用来隔离处理器的存储器域与PCI总线域的特殊桥片,管理PCI总线域。在其所管理的PCI设备中所有设备的配置空间都由HOST主桥通过配置读写总线周期访问的。HOST主桥可以通过设置Inbound寄存器来让不同的PCI总线域中的设备进行通讯。

4、当主设备(从设备被动操作,不需要仲裁信号)需要发起读写总线事务时(就是要占用总线使用权),必须先向仲裁器发起请求,当得到允许PCI总线使用权时,才可以开始通讯;而仲裁就是通过仲裁信号来处理的,仲裁信号有两个信号组成,REQ#和GNT#组成。每个仲裁器都要和主设备直接相连,所以仲裁器的信号接口数量将会限制PCI主设备的数量。解决办法是利用PCI桥推出新的PCI总线,因为在新的总线上也要有仲裁器。 

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

5、Posted和Non-Posted传送方式

        Posted总线事务是指PCI主设备向PCI目标设备发送数据时,数据到达PCI桥后,上游总线就可以结束该事务,该事务就由PCI桥和下游总线去处理。这可以提高效率和解决PCI总线拥挤的问题;

       Non-Posted总线事务是指PCI主设备向PCI目标设备发送数据时,数据必须到达目的设备后才能结束总线事务(此时上游总线不能提前结束);

       很显然这两种传送数据方式中Posted方式会高效些,但是PCI总线中规定:只有在存储器写请求时,才可以使用Posted总线事务(PMW = Posted Memory Write);其他的存储器读请求和I/O读写请求、配置读写请求只能使用Non-Posted总线事务。

 

 

        当一个 PCI 主设备需要使用 PCI 总线时,需要首先发送 REQ#信号,通过总线仲裁获得总线使用权,即 GNT#信号有效后,使用以下步骤完成一个完整 PCI 总线事务,对目标设备进行存储器或者 I/O 地址空间的读写访问。
        (1) 当 PCI 主设备获得总线使用权之后, 将在 CLK1 的上升沿置 FRAME#信号有效, 启动 PCI总线事务。当 PCI 总线事务结束后,FRAME#信号将被置为无效。
        (2) PCI 总线周期的第一个时钟周期(CLK1 的上升沿到 CLK2 的上升沿之间)为地址周期。在地址周期中,PCI 主设备将访问的目的地址和总线命令分别驱动到 AD[31:0]和 C/BE#信号上。如果当前总线命令是配置读写,那么 IDSEL 信号线也被置为有效,IDSEL 信号与 PCI 总线的AD[31:11]相连。
        (3) 当 IRDY#、TRDY#和 DEVSEL#信号都有效后,总线事务将使用数据周期,进行数据传递。当 IRDY#和 TRDY#信号没有同时有效时,PCI 总线不能进行数据传递,PCI 总线使用这两个信号进行传送控制。
        (4) PCI 总线支持突发周期,因此在地址周期之后可以有多个数据周期,可以传送多组数据。而目标设备并不知道突发周期的长度,如果目标设备不能继续接收数据时,可以 disconnect 当前总线事务。值得注意的是,只有存储器读写总线事务可以使用突发周期。一个完整的 PCI 总线事务远比上述过程复杂的多,因为 PCI 总线还支持许多传送方式,如双地址周期、fast back-to-back(快速背靠背)、插入等待状态、重试和断连、总线上的错误处理等一系列总线事务。