PCIE总线笔记

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(快速背靠背)、插入等待状态、重试和断连、总线上的错误处理等一系列总线事务。

PCIE-DMA是一种基于PCIe接口的直接内存访问技术,能够实现高速数据传输。在我的学习笔记中,我详细记录了与PCIE-DMA相关的知识和学习心得。 首先,我了解到PCIE-DMA技术的基本原理和作用。PCIE-DMA可以通过PCIe总线直接访问系统内存中的数据,而不需要过多的CPU干预,提高数据传输的速度和效率。这种技术在需要大量数据传输的场景下非常有效,比如高性能计算、数据采集等。 其次,我深入学习了PCIE-DMA的工作原理。PCIE-DMA的核心是DMA控制器,它负责管理和控制数据传输的流程。当设备需要读写内存中的数据时,它通过DMA控制器发送请求,然后DMA控制器生成一个事务,将数据直接传输到或从内存中。这样就大大减少了CPU的参与,提高了数据传输的效率。 另外,我还学习了PCIE-DMA的配置和编程方法。PCIE-DMA的配置主要包括硬件配置和软件配置两个部分。硬件配置通常涉及到DMA控制器和PCIe接口的初始化和配置,软件配置则需要编写驱动程序来驱动DMA控制器和处理数据传输过程中的事件和异常。这部分内容对于我来说还比较新颖,需要更多的实践和实践。 最后,我总结了PCIE-DMA的应用场景和发展前景。PCIE-DMA在高性能计算、数据采集等领域具有广阔的应用前景。随着数据量的不断增加和传输速度的要求越来越高,PCIE-DMA技术的需求也将越来越大。因此,对于我来说,学习掌握PCIE-DMA技术非常有价值。 通过学习和记录PCIE-DMA的相关知识和经验,我对这项技术有了更深入的理解和掌握。希望将来能通过应用PCIE-DMA技术解决实际问题,为科研和工程项目的顺利进行做出贡献。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值