关于PCI Express延时的几点考虑

来源:科汇 作者: 时间:2005-09-06 22:19

     每一天,许许多多的汽车都面临着同一个问题:城区交通。与此类似,如今的处理器系统也需要处理数据流。城市的规划者力图通过尽可能提高交通速度,并在资源允许的前提下尽可能多修道路来设法解决这一难题。修的道路越多,能够自由出入城市的通行量也就越大-这与数据传送没什么不同。只有在安全通行速度有多快、能容纳的交通量有多少以及城市所能负担的建设成本多大之间进行权衡,才能确定最终的结果。
    
     交通拥堵造成上下班时间耽搁,而数据以极快的速度突然涌入和流出处理器会造成处理器系统功效浪费。系统效率由整体带宽和信号延迟量决定,它最终确定了典型的数据总线传输中,在外设通信上所浪费的时间。PCI Express出现了,这种全新的规范旨在通过增加处理器的带宽,来突破外设数据传输的瓶颈。
    
     PCI Express提高了速度,增加了带宽,为计算市场提供了一种速度更快的新通道(lane),更确切地说,它提供了多条快速的新通道,这是数据总线结构方面的术语。按PCI-SIG的定义而言, PCI Express是"...一种开放的规范,从设计之初就旨在满足计算和通信行业不同市场领域内,各种现有和未来系统对互联的要求。PCI Express结构定义了一种灵活的、可扩展的、高速、串行、点对点、支持热插拔/热交换的互联方式,且与PCI规范软件兼容。"
    
     基本上,PCI Express就是以串行方式传递数据包(serial-packet)的PCI。由于串行总结结构每条引脚的带宽比并行总线结构的大–而且也更方便提升到更大带宽–串行总线结构以构成一种设备间专用的点到点连接网络,而不是并行总线结构中的多点下传(multi-drop)方式。. 这样就不再需要总线仲裁,信号延迟无疑比并行总线结构、PCI-X 1.0和2.0短,且极大地简化了热插拔/热交换系统的实现。
    
     PCI Express已经初步开始应用在视频处理的开发中,其间PCI Express很容易突破图形加速端口AGP 8x提供的1.x Ghz极限。只要想一想每条通道都是以2.4 Ghz速度工作,我们有理由相信,开发人员在下一代外设中采用这种速度为期不远。
    
     在可扩展性方面,PCI Express可以根据系统特定的带宽需求增加通道到两条,最多可增加至32条。PCI Express每条通道的工作频率都是2.4Ghz,16x插槽的吞吐量为每秒4GB,有上下行通道,只用一半的处理能力其速度就能达到AGP 8x的两倍。由于通道使用频段内(in-band)的8b/10b编码时钟,在不考虑任何数据包系统开销时,每条通道实际的总吞吐量在各方向上为2Gbits/s。 图1提供了一个处理数据包的实例,以详细说明系统开销要求。
    


    
数据链路层(Data Link Layer) 处理层(Transaction Layer
图1: PCI Express交换数据包

    
     提高吞吐能力又产生了新的问题:外设接口要怎样设计才能利用PCI Express的带宽,以最高效率工作,同时缩短信号延迟?两个影响带宽和信号延迟的主要因素是系统的复杂性和数据包的大小。正如繁忙的街道会造成汽车交通阻塞,系统复杂性可能会造成带宽瓶颈,从而严重地降低吞吐能力。
    
     系统复杂性
    
     要理解系统复杂性对吞吐量和信号延迟的影响,让我们先来看看数据是如何在PCI Express系统中传送的。PCI Express与PCI和PCI-X 都采用相同的树状拓扑结构,如图2。
    

    
图 2: PCI Express的拓扑结构

    
     位于树状结构顶层的根联合体(RC)直接与处理器I/O接口。每个系统的每个I/O控制器或集线器都至少需要一个RC。RC必须有一个主机桥(HB),它是树状结构中的第一层,用端口直接指挥数据传送。HB上的端口称作根端口(RP)。根端口可以用支持PCI Express的物理链路与任何PCI Express器件、桥或交换机连接。
    
     通过在HB和树状结构中"下方"的桥中加入端口地址,数据功能就成为了系统设计和性能中的一部分。例如,数据可以从桥端口传送到处理器,或另一个桥端口(对等网络),而完全不经过处理器。根据数据的要求不同,这种方法能提供系统设计中无穷的可能性,特别是在最好能尽量避免为简单的任务而唤醒处理器的低功耗应用中。需要到处理器高速数据存取的外设数量确定了整个PCI Express总线的带宽要求,从外设到RC。
    
     PCI Express以两种基本的实现方式来满足应用要求:服务器和交换机扇出。服务器实现方式是从一台设备直接连接到根联合体上的主机桥。图2中,直接连接主机桥的器件框表现了服务器实现方式。要支持额外的外设, PCI Express使用基于交换机的扇出设计,以帮助减少传输跳跃(transmission hops),缩短信号延迟。图3显示了一个PCI Express 交换机扇出方式的实例。
    

    
图3: PCI Express交换机扇出

    
     在这种实现方式中,上传端口Port 0与主机桥连接,如图2所示。Ports 1到4直接与系统中支持PCI Express的外设连接,或与其它PCI Express交换机的上传端口直接连接。为简化路由,每个端口都被指定了一个地址范围。
    
     交换机越多意味着复杂度越高,从而让系统更有可能遭遇带宽瓶颈。通道宽度协商(Lane width negotiation),或确保PCI Express总线上,最远的上传端口的通道数量大于等于所有下传端口数量之和,都有助于确保所有设备都能有效通讯,让数据能顺利传送。例如,如果上行端口使用8条通道(x8),它只能支持下列其中之一:
    
     一个x8下传端口(downstream port), 或
     两个4下传端口, 或
     四个x2下传端口, 或
     两个x2和一个x4下传端口。
    
     你可以看出,由于所有下传端口之和必须等于与其相连的上传端口所提供的带宽,增加额外的下传交换机及其端口会对整体带宽产生怎样的影响。只要数量合理,PCI Express系统本身的高速度不会单独引起信号延迟问题。为简化设计,PCI Express的带宽可以由能从中受益的外设使用,而PCI Express的构造首先应满足这些设备的需求。
    
     数据包大小
    
     图1谈到了PCI Express数据包,并以之为例说明了典型的传输应用中会有多少系统开销。这种开销,以及数据载荷,会直接影响系统的效率。表1显示了一个DMA操作中典型数据包的分解情况,其中DMA描述符"读请求"和"读完成"必须在载荷从存储器传到I/O控制器之前传过底板。CSR用于使DMA和应用程序驱动器同步。由于不同应用的系统开销要求不同,这个例子提供了一个基本数据包开销要求的很好实例。
    

    
表1: PCI Express传输数据包

    
     其次,在用于确定带宽输出(bandwidth throughput)时,可以扩充表1中的系统开销要求,将与不同数据包大小相对应的PCI Express的通道数包含其中,以确定不同级别的吞吐量,请参见表2。
    

    
表 2: 根据载荷长度确定带宽需求

    
     表2中提供的信息供设计师在实现PCI Express时参考。尽管PCI Express的速度为2.4Gbps/s ,但它的实际吞吐量略小于2Gbps/s 。由于载荷的长度与带宽需求成正比,系统对PCI Express通道和带宽的需求取决于最大平均载荷长度。这样才能确保有足够的带宽并且缩短可能出现的信号延迟。
    
     总结
    
     看到PCI Express在吞吐量方面有这么明显的优势,设计师是否应当从现在起,尽快在其下一代嵌入式平台中采用PCI Express呢? 答案无疑是肯定的!在开始前,设计师应考虑到他们的系统要求,包括总体带宽、能充分利用PCI Express优势的外设数量以及数据包平均长度等,这样就能确保设计师勿需投入资源来解决系统中的数据阻塞问题。
    
(编辑 jack)

    
    
欢迎投稿和提供新闻线索,欢迎您的批评和建议
    电话:0755—83687741
    邮箱:zxj@hqew.com

    

相关文章

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子