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
    +关注

    关注

    5

    文章

    689

    浏览量

    134490
  • 定时器
    +关注

    关注

    23

    文章

    3372

    浏览量

    124493
  • PCIe
    +关注

    关注

    16

    文章

    1477

    浏览量

    88911
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    PI7C9X442SL:PCI Express 到 USB 2.0 转换的技术剖析

    1. 产品概述 PI7C9X442SL 是 Diodes Incorporated 推出的一款多功能设备,它集成了 PCI Express 数据包交换和 PCIe 到 USB 2.0
    的头像 发表于 03-29 11:25 248次阅读

    PI7C9X130:PCI ExpressPCI - X的高效桥梁

    PI7C9X130:PCI ExpressPCI - X的高效桥梁 在当今的电子系统设计中,如何实现不同总线标准之间的高效连接是一个关键问题。PI7C9X130作为一款PCI
    的头像 发表于 03-13 16:05 252次阅读

    深入解析PI7C9X113SL:PCIe到PCI/PCI - X的桥梁专家

    PI7C9X113SL这款PCIe到PCI/PCI - X的芯片,一起探索它在硬件设计中的强大性能和应用潜力。 文件下载: PI7C9X
    的头像 发表于 02-26 17:45 1605次阅读

    MAX5954:PCI Express热插拔控制器的卓越之选

    MAX5954:PCI Express热插拔控制器的卓越之选 在PCI Express应用领域,热插拔控制器的性能直接影响着系统的稳定性和可
    的头像 发表于 02-10 16:20 486次阅读

    MAX5946:双PCI Express热插拔控制器的全方位解析

    MAX5946:双PCI Express热插拔控制器的全方位解析 在PCI Express应用领域,热插拔功能至关重要,它能在系统运行时安全地插入或移除设备,提高系统的可维护性和灵活性
    的头像 发表于 02-10 16:00 529次阅读

    LTC4242:PCI Express热插拔控制器的卓越之选

    LTC4242:PCI Express热插拔控制器的卓越之选 在PCI Express系统的设计中,热插拔功能至关重要,它能实现设备的在线插入和移除,提高系统的可用性和可维护性。LTC
    的头像 发表于 02-10 10:25 231次阅读

    PI7C9X110:PCI ExpressPCI可逆桥接器的技术剖析与应用指南

    PI7C9X110:PCI ExpressPCI可逆桥接器的技术剖析与应用指南 在当今的电子科技领域,PCI Express
    的头像 发表于 01-31 15:20 1023次阅读

    深入剖析XIO2001:PCI ExpressPCI总线转换的卓越之选

    深入剖析XIO2001:PCI ExpressPCI总线转换的卓越之选 在当今复杂多样的电子系统设计中,
    的头像 发表于 01-08 15:00 374次阅读

    PCI2050B PCI-to-PCI Bridge:高性能连接解决方案

    PCI2050BIPDV.pdf 产品概述 PCI2050B是一款符合PCI本地总线规范和PCI-to-PCI
    的头像 发表于 12-30 17:05 834次阅读

    德州仪器PCI2250 PCI-to-PCI桥接器:功能、特性与应用详解

    PCI2250概述 PCI2250是一款符合PCI本地总线规范和PCI-to-PCI规范的
    的头像 发表于 12-25 17:10 624次阅读

    深入剖析DS50PCI401:PCI Express应用的理想选择

    深入剖析DS50PCI401:PCI Express应用的理想选择 在PCI Express应用的领域中,DS50
    的头像 发表于 12-25 10:10 488次阅读

    探索DS50PCI402:PCI Express应用的理想选择

    探索DS50PCI402:PCI Express应用的理想选择 在PCI Express应用领域,找到一款
    的头像 发表于 12-24 16:35 377次阅读

    德州仪器PCI2250 PCI-to-PCI桥接器:设计与应用全解析

    德州仪器PCI2250 PCI-to-PCI桥接器:设计与应用全解析 在当今的电子系统设计中,PCI(Peripheral Component Interconnect)总线因其高性能
    的头像 发表于 12-24 15:55 754次阅读

    探索DS80PCI402:PCI - Express中继器的卓越性能与应用实践

    探索DS80PCI402:PCI - Express中继器的卓越性能与应用实践 在当今高速发展的电子科技领域,PCI -
    的头像 发表于 12-24 11:30 498次阅读

    QDMA Subsystem for PCI Express v5.0产品指南

    AMD QDMA Subsystem for PCI Express( PCIe )旨在利用多队列的概念实现高性能 DMA,以搭配 PCI Expr
    的头像 发表于 05-13 09:21 1108次阅读
    QDMA Subsystem for <b class='flag-5'>PCI</b> <b class='flag-5'>Express</b> v5.0产品指南