0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过PCI Express桥接优化PCI读取性能

星星科技指导员 来源:嵌入式计算设计 作者:Craig Downing 2022-06-14 16:58 次阅读

PCI Express (PCIe) 现在是 PC 芯片组和嵌入式处理器上普遍存在的互连标准。尽管使用桥接器可以为现有 PCI 设备提供一种经济高效的 PCIe 升级路径,但由此产生的 PCI 读取会产生额外的延迟,从而严重影响系统性能。Craig 探讨了实施 PCIe 桥接器如何解决由 PCI 读取引起的性能问题。

虽然 PCIe 正在取代原来的 PCI 总线标准,但许多外围设备和设备(例如 FPGA 和 I/O 模块)仍在使用 PCI。没有集成 PCIe 接口的组件需要从 PCI 总线到 PCIe 的桥接器。两个需要桥接的应用示例包括一个 PCIe 附加处理器卡,它使用基于 PCI 的 DSP 进行通信应用,以及一个嵌入式视频录像机,它使用带有 PCI 的 I/O 设备连接到带有 PCIe 端口的嵌入式处理器。

在这些系统和其他系统中,添加总线桥会带来设计挑战。性能通常取决于网桥的 PCI 读取性能。由于旧 PCI 协议的限制,一旦引入网桥,就会出现性能问题。使用市售的总线桥可以消除这些问题,从而最大限度地提高系统性能。

PCI 设备的繁重读取负担

PCI 总线上的设备通常严重依赖于从主机处理器读取大量数据。PCI I/O 设备通常控制系统中的数据移动,并启动对主机内存的读取和写入周期。例如,主机处理器可能通过写入外设上的寄存器来组织和协调数据移动,以在外设中设置 DMA 传输,但它会将自己从数据移动中移除以专注于其他任务。然后外围设备将读取或写入数据以服务于 DMA请求。在其他时候,处理器可能会读取状态信息并写入寄存器以进行控制。这种流量通常不涉及高带宽或显着有助于整体系统性能。

在处理器附加卡的情况下,它的 DSP 必须从主机 PC 内存中读取数据以进行数据处理或压缩任务。同样,诸如安全 DVR 之类的嵌入式处理系统将捕获和压缩将通过磁盘控制器写入磁盘存储的视频。 磁盘控制器通过PCI 总线从主机的内存中读取数据来实现这一点。

从 PCI 外设到桥接器的写入通常发布在内部写缓冲区中,以克服桥接器带来的固有性能损失。然而,PCI 读取会带来一些问题,因为 PCIe 桥必须重试外围设备,直到它从主机的内存中获得请求的数据。这通常涉及尝试读取许多小的 PCIe 数据包,从而增加延迟。

虽然 PCI-X 协议通过拆分事务绕过了这个问题,但传统的 PCI 协议并没有实现这个特性。 此外,一些 PCI 设备被设计为在接收到一到两条高速缓存行数据后自动释放总线,这加剧了 PCI 读取的性能挑战。

以 DSP 处理器卡应用为例。这个特殊的 DSP 使用 32 位 PCI 接口。与许多 PCI 设备一样,它会在释放 PCI 总线之前读取一到两条高速缓存行数据。在这种情况下,高速缓存行由 16 到 128 个字节组成,具体取决于系统设计和设备功能。

该卡将读取大量原始数据进行处理,例如在电信应用程序中处理的音频比特流。在DSP 直接通过 PCI 总线与主机处理器通信的传统系统中,读取性能将比添加桥之后更好,因为每个事务都有额外的延迟。

桥接引起的性能恶化

引入 PCIe 桥接器可能会对性能造成重大影响。这种读取性能下降可能通过以下过程发生(图 1):

1.DSP 将启动从 PC 主存储器的读取。网桥将锁定事务并继续重试,直到网桥接收到数据。

2.网桥将从内存中预取数据并将其存储在内部缓冲区中。

3.DSP 将读取一部分数据(一个或两个高速缓存行),然后断开连接,释放 PCI 总线。

4.一旦断开连接,网桥将丢弃其缓冲区中的所有剩余数据。随着DSP 启动下一次读取,桥将需要再次获取数据,重试直到数据可供 DSP 使用。

图1

poYBAGKoTcOAfrpcAABa8Rc6nXw141.jpg

在此示例中,步骤 4 在读取事务之间引入了显着延迟,这极大地影响了读取性能。 因此,与直接使用 PCI 总线相比,使用 PCIe 桥对读取性能的影响会大大降低系统性能。

考虑另一种使用嵌入式 DVR 的常见情况。在这种情况下,系统必须将压缩视频数据的连续流写入磁盘以供存储和以后检索或分析。在这个系统中,一个或多个SATA 磁盘控制器将从系统的主存储器中读取视频数据,以存储在附加的磁盘阵列中。这些类型的系统可能包含额外的外围设备,例如共享 PCI 总线的以太网控制器。

与前面的示例一样,嵌入式 DVR 中的总线效率受到连续数据读取、总线断开以及多次重试和预取的严重影响,如图 2 所示。

图 2: DVR 系统中的 PCI 总线利用率

pYYBAGKoTcSARCZDAABo28Ga4ZA147.jpg

正如

指示正在读取数据的位置的 PCI_TRDYn(PCI 目标就绪)跟踪所证明的那样,第一次读取(步骤 3)和下一次读取(步骤 6)之间存在很大差距。这意味着将视频数据写入磁盘的最大速度显着降低,从而限制了系统性能。在这种情况下,最大限度地提高视频数据的写入速度对于最终产品至关重要,因为它能够存储监控所需的尽可能多的高质量视频通道。

解决问题:短期缓存

Tundra 的 PCIe 桥接器(Tsi381、Tsi382 和 Tsi384)集成了一种称为短期缓存 (STC)的功能,以帮助克服这一性能挑战。STC允许在初始 PCI 读取周期期间从连接的 PCIe 设备中预取数据,并临时存储在桥接器中,以便在后续读取周期期间快速周转。当请求的设备停止事务时,将在后续读取中读取的数据不会立即丢弃。

与最初的桥接情况相比,STC 对性能的影响可能是巨大的。以前面的嵌入式 DVR 为例,但系统中添加了 Tsi381 桥接器。通过启用 STC,后续读取不会因为它们保留在缓存中而延迟。此外,桥接器不必在第一次读取后从内存中重新读取数据,从而确保有效地使用总线(参见图 3)。

图 3:使用 Tsi381 和短期缓存的嵌入式 DVR 系统

poYBAGKoTcWAYpg3AABsQe1vmoU965.jpg

为了演示性能差异,请比较启用 STC 之前和之后的 PCI 总线时序(参见图 4)。在这个系统对每个设备执行 32 位读取的示例中,两个设备可以在没有 STC的情况下仅执行两次读取的同一时间段内执行七次读取。 因此,使用 STC可以将整体系统吞吐量提高三倍以上。对于具有执行此类读取的单个设备的系统,改进将更大。

图 4:启用短期缓存之前和之后的 PCI 总线时序

pYYBAGKoTcaASNOxAAA6E0fwZlk947.jpg

PCIe 桥接器允许开发人员通过调整以下参数来进一步修改系统:

数据保存在缓存中的时间。这允许设计人员确保陈旧数据一旦陈旧就被丢弃和预取。

PCI 读取预取长度。理想情况下,桥接器预取的数据不应超过 PCI 外设通常需要的数据,因此设计人员可以根据预期的典型传输长度设置此参数。

根据系统设计和设备行为,设计人员可以 通过调整预取长度和短期缓存丢弃定时器来提高整体性能或关键功能的性能。

桥接选项有助于消除瓶颈

使用 PCIe 桥接器将设计从 PCI 迁移到PCIe 的设计人员面临着相当大的设计挑战。PCI 外围设备启动的读取会引入额外的延迟,这对 整体系统性能有很大贡献。

Tundra 的 Tsi381 等 PCIe 桥接器为设计人员提供了调整桥接器的选项,从而提供最佳系统性能。使用 STC,这些桥接器可以轻松消除与 PCI 读取相关的性能瓶颈。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PCI
    PCI
    +关注

    关注

    4

    文章

    608

    浏览量

    129584
  • 定时器
    +关注

    关注

    23

    文章

    3147

    浏览量

    112034
  • PCIe
    +关注

    关注

    13

    文章

    1083

    浏览量

    80823
收藏 人收藏

    评论

    相关推荐

    Teledyne LeCroy扩展CrossSync PHY技术到PCI Express 6.0

    Teledyne LeCroy 宣布扩展其CrossSync PHY 技术,以支持 PCI Express 6.0 规范。
    的头像 发表于 02-23 14:39 218次阅读

    PCI EXPRESS卡机电规范

    电子发烧友网站提供《PCI EXPRESS卡机电规范.pdf》资料免费下载
    发表于 12-28 09:33 0次下载

    PCI-Express总线接口的布线规则

    PCI-Express总线接口的布线规则
    的头像 发表于 11-29 15:49 648次阅读
    <b class='flag-5'>PCI-Express</b>总线接口的布线规则

    QDMA Subsystem for PCI Express产品指南

    电子发烧友网站提供《QDMA Subsystem for PCI Express产品指南.pdf》资料免费下载
    发表于 09-14 10:34 0次下载
    QDMA Subsystem for <b class='flag-5'>PCI</b> <b class='flag-5'>Express</b>产品指南

    DMA/Bridge Subsystem for PCI Express v4.1指南

    电子发烧友网站提供《DMA/Bridge Subsystem for PCI Express v4.1指南.pdf》资料免费下载
    发表于 09-14 10:33 1次下载
    DMA/Bridge Subsystem for <b class='flag-5'>PCI</b> <b class='flag-5'>Express</b> v4.1指南

    UltraScale+器件用于PCI Express的集成模块产品指南

    电子发烧友网站提供《UltraScale+器件用于PCI Express的集成模块产品指南.pdf》资料免费下载
    发表于 09-14 10:30 0次下载
    UltraScale+器件用于<b class='flag-5'>PCI</b> <b class='flag-5'>Express</b>的集成模块产品指南

    用于PCI Express的Versal ACAP集成块产品指南

    电子发烧友网站提供《用于PCI Express的Versal ACAP集成块产品指南.pdf》资料免费下载
    发表于 09-13 14:51 0次下载
    用于<b class='flag-5'>PCI</b> <b class='flag-5'>Express</b>的Versal ACAP集成块产品指南

    9361-8i:高性能12 Gb/s PCI Express SATA+SAS RAID控制器

    电子发烧友网站提供《9361-8i:高性能12 Gb/s PCI Express SATA+SAS RAID控制器.pdf》资料免费下载
    发表于 08-28 11:40 3次下载
    9361-8i:高<b class='flag-5'>性能</b>12 Gb/s <b class='flag-5'>PCI</b> <b class='flag-5'>Express</b> SATA+SAS RAID控制器

    LSI PCI Express MegaRAID白皮书

    电子发烧友网站提供《LSI PCI Express MegaRAID白皮书.pdf》资料免费下载
    发表于 08-18 09:56 0次下载
    LSI <b class='flag-5'>PCI</b> <b class='flag-5'>Express</b> MegaRAID白皮书

    PI7C9X111 PCI ExpressPCI可逆网桥常见问题解答

    电子发烧友网站提供《PI7C9X111 PCI ExpressPCI可逆网桥常见问题解答.pdf》资料免费下载
    发表于 07-25 18:24 0次下载
    PI7C9X111 <b class='flag-5'>PCI</b> <b class='flag-5'>Express</b>到<b class='flag-5'>PCI</b>可逆网桥常见问题解答

    PCI Express桥:指南上游内存读取性能优化

    电子发烧友网站提供《PCI Express桥:指南上游内存读取性能优化.pdf》资料免费下载
    发表于 07-24 16:21 0次下载
    <b class='flag-5'>PCI</b> <b class='flag-5'>Express</b>桥:指南上游内存<b class='flag-5'>读取</b><b class='flag-5'>性能</b><b class='flag-5'>优化</b>

    【科普】一文读懂PCI-Express硬件接口

    PCIe接口全称PCI Express,由PCI-SIG组织发布的用于替代PCI总路线的新一代高速串行总线与接口。
    的头像 发表于 07-22 16:52 7390次阅读
    【科普】一文读懂<b class='flag-5'>PCI-Express</b>硬件接口

    PCI Express一致性测试方法

    PCI Express 标准是由 PCI-SIG 组织制定,是一种点到点的串行差分结构,规范最新发展到4.0标准,总线速率为16GT/s,3.0/2.0/1.1标准的总线速率分别为8Gbps,5Gbpss和2.5Gbps。
    的头像 发表于 06-29 15:36 897次阅读
    <b class='flag-5'>PCI</b> <b class='flag-5'>Express</b>一致性测试方法

    一文读懂PCI-Express硬件接口

    PCIe接口全称PCI Express,由PCI-SIG组织发布的用于替代PCI总路线的新一代高速串行总线与接口。
    发表于 06-25 16:27 7196次阅读
    一文读懂<b class='flag-5'>PCI-Express</b>硬件接口

    FPGA中实施PCI Express桥接解决方案

    使用 FPGA 的优势之一是能够实施经过验证的知识产权,以快速、自信地完成桥接功能。看看一个常见但复杂的接口 PCI Express,就可以证明这些好处。 与其前身外围组件互连 (PCI) 一样
    的头像 发表于 05-11 16:29 789次阅读
    FPGA中实施<b class='flag-5'>PCI</b> <b class='flag-5'>Express</b>桥接解决方案