PCIE非透明桥应用

PCI-Express透明桥在智能 系统中的应用设计
时间:2009-12-04 14:49:32 来源:电子元器件应用 作者:李才华 上海微波设备研究所

0 引言
    在系统设计中,设计师们面临的重要挑战是既要支持高可靠性(HAHigh Availability),又要使系统尽可能简单、有效。而PCI Express、基于PCI Express的高级交换架构(Advanced SwitchingArchitecture)、基于PCI ExpressQOS(Quality-Of-Service)特性以及PCI-Express非透明桥的出现,共同为这样的系统设计提供了一个非常有发展潜力的解决方案。
1 PCI Express技术简介
    PCI Express技术是一个比较新的互连标准。该技术适用于高性能的芯片到芯片、板子到板子、背板和机箱之间的互连。它是PCI标准的一个演进版本,因此,在软件结构上仍保持着对PCI的兼容性。
    PCI Express是基于层次化的、高速的串行通信技术。其协议栈可分为物理层、数据链路层和传输层。
    其中,物理层包括低电压差分信号的高速串行接口、8B10B编码以及AC耦合差分信号。通常把一组LVDS双绞线称为一个通道(lane),而且PCI Express允许将多个通道合并成一个更大更宽的端口,如x1x2…直到x32。物理层接口可支持热插拔(hot-plugging)
    数据链路层可支持与临近PCI Express实体交换数据包,同时支持数据完整性(data integrity)和顺序性检查,以及数据包的确认和流量控制的能力。
    PCI Express技术系统中的传输层可在主机和终端设备间传送读/写请求,并可选择性的提供传输层的端到端(end-to-end)魔法师传奇2数据包的完整性检查(CRC-32)
    一直以来,PCI Express传输系统中的物理层的速度一直在不断的提高,但是,分层结构使物理层的变化不会影响到它的上层。如PCI Express1x标准的时钟频率是125 GHz20标准的则为25 GHz30标准的是4 GHz。图l所示是PCI Ex-press协议栈结构。uc3907
    PCI ExpressQOS可通过定义8个运输等级(TC-Traffic Classes)、八个虚拟通道(VC-VirtualChannel)TCVC的映射以及VC的仲裁机制来实现。
    PCI-SIG组织则定义了从PCI Express串行接口到PCIPCI-X的桥接规范。该规范可以使得当前使用PCIPCI-X的应用系统能够平滑的转移到PCI Express。图2所示是一个典型的PCI Express系统,其中包含有根复合体(root complex)PCIExpress交换开关(switch)、桥(bridgePCI Expressto PCI-XPCI Express to PCI)以及端点(end-point)等设备。


2 PCI Express非透明桥
    PCIPCI-X一样,PCI Express本身也是开发维护一个以单一主机为中心的系统架构,但是人们一直使用非透明桥把他们用在多主机的环境中。
    非透明桥的功能和透明桥很相似,其主要差别只有一点,即在非透明桥的两边都有智能设备或处理器,并且他们拥有独立的地址空间。而且,非透明桥一边的主机不能看到桥另一边的完整地址或IO空间。每个处理器把非透明桥的另一边看做一个端点日本人眼里的中国(endpoint),并把它映射到自己的地址空间。
21 地址翻译
    在非透明桥环境中,PCI Express系统需要在从一个内存地址空间穿越到另一个地址空间时进行地址翻译。每一个非透明桥(NTBNon- Transparent Bridge)端口都有两套基地址寄存器(BAR),一套是给主设备端用的,另一套是给从设备端用的。基地址寄存器可用来定义在非透明桥另一端的内存地址空间的地址翻译窗口,并允许这个翻译被映射到本地的内存或IO空间。每个BAR定义了一个设置寄存器(setup register),可用来定义窗口的大小、类型以及一个地址翻译寄存器。与透明桥基于总线号转发所有CSRs不同,非透明
桥设备只接受针对本设备的CSR事务。其地址翻译技术有直接地址翻译和查表地址翻译两种。
    在直接地址翻译模式下,地址翻译的过程是基于事务终结的BAR基址加上一个偏移量。BARs中的基址翻译寄存器可被用来设置这样的翻译。图3所示给出了从主设备端地址映射到从设备端地址的偏移过程。
    BARs则用一种特别的查表来为落在它窗口中的事务进行地址翻译。因为地址中的索引域可通过编程来调节窗口大小,因此,这种方法在本地地址到主机地址的映射中具有更高的灵活性。通常索引被用来提供新内存地址的高位比特(bits)
22 处理器间的通信
    非透明桥允许桥两边的主机通过便笺寄存器、门铃寄存器和心跳消息来交换一些状态信息。
    便笺寄存器在非透明桥的两端都是可读写的,但是,便笺寄存器的数量在具体的实现中是可以不同的。他们可以被桥两边的设备用来传送一些状态信息,也可作为通用的可读可写寄存器使用。
    门铃寄存器被用来从非透明桥的一边向另一边发送中断。非透明桥的两边一般都有软件可以控制的中断请求寄存器和相应的中断屏蔽寄存器。这些寄存器在非透明桥的两边都是可以被访问的。
    心跳消息一般来自主设备端往从设备端的主机,可用来指示它还活着。从设备主机可监控主设备主机的状态,如果发现出错,它就可以采取一些必要的措施。通过门铃寄存器可以传送心跳消息。当从设备主机没有收到一定数量预先规定好的心跳消息时,就可以认为主设备的主机出错了。

3 基于PCI Express非透明桥的多主机系统
31 智能插卡
    在智能卡模式下,智能插卡上的PCI Express非透明桥可以将IOPHost CPU隔离开来,但仍允许这两个CPU通过一些特殊的寄存器进行通信。图4所示是智能插卡模式下的非透明桥的通信结构。
3战与决2 双主机模式
    非透明桥也可用在双主机(Dual Host)、主机故障转移(Host Failover)和负载分担(Load-shar-ing)等应用中。图5所示是将两个Host CPU被非透明桥隔离开的结构示意图。
33 多主机模式
    在多主机系统中,每一个主机都可以通过非透明桥接入到系统之中,并且可以访问所有的端点。在PCI的枚举过程中,每个端点都要和某个特定的CPU关联,但在正常的操作过程中,依赖于非透明桥的地址翻译能力。所有的CPU都可以访问所有的端点。图6所示是主机系统的非透明桥结构。
4 结束语
    非透明桥技术在PCI时代就已被应用。现在,在PCI Express贝格尔系统中也有类似的实现。相信在不远的将来,从简单的智能插卡到复杂的、带虚拟输入输出技术的多主机系统,人们都将看到PCIExpress非透明桥的广泛应用。
Intel非透明桥接在PCI-Express中的应用
作为高速传送的总线技术,PCI已经经历了很长的发展时期,从最初的PCI到后来的PCI-X,
到现在的PCI-E,PCI总线技术不断的演绎和提高。新的高速总线技术PCI-E在保持与PCI的兼容性的基础上,作了很多的改进。Intel PCI总线技术的发展中,对于PCI-E也有自己的独特的定义。
如果拿PCIPCI-E作比较,以Intel PCI总线技术为例,两者最大的差异就是PCI采用的是平行、多点下传(multi-drop)的连结架构,PCI Express则是采用序列、点对点的连结架构。而用平行信号来传送信号,很容易产生串音(crosstalk)的现象。而且,所有的信号线必须完全等长,不然无法进行同步传输,将数据位同步传到另一端,不等长的信号将会会产生所谓信号扭曲(signal skew)的问题。这些问题让PCI的时脉难以得到提升,电压也很难下降,从而造成速度提升上的发展限制。
相较之下,PCI Express则跨越了PCIPCI-X的限制。在PCI Express中采用序列方法,可以避免掉前述的信号不同步问题;此外,PCI Express还可以通过LVDS技术来降低串音问题,这样,PCI Express就可以达到双向各2.5Gbps的速率,即使减去额外数据(overhead),实际可传数据的频宽也可以达到500MBps
另外采用PCI Express也能大幅节省电路板的空间设计。据估计,比起PCI总线,使用PCI
ExpressPCcf清钢主机板能省下大约一半的空间,这是因为不论是32位或64位带宽的PCI总线,都需要安排许多的线径;此外,由于主机板上的并行总线线径不能直接从一个点到另一个点,同时为了降低讯号不同步的问题,在电路的安排上就需要占用额外的空间,而这些情况在PCI Express都不会发生。
一般来说PCI Express架构可分为组态/操作系统层、软件层、交易层、链接层、实体层和机械层。其中组态/操作系统层主要是透过外设间的数据传送或接收来与软件层进行沟通;软件层则是在于对外围设备产生读写询问;交易层则是通过TLP封包来传送负载数据;链接层主要是对数据传输过程的管理;实体层主要是提供传输的物理通道;机械层则在于定义外围设备的不同造型规格。以上是PCI Express架构的一般架构规格,
Intel PCI Express的架构中,还存在着非透明桥接(Non-transparent Bridging)延伸规格。
非透明桥接通常用于嵌入式智能 I/O 板卡。它连接两个独立的处理器域,次侧的资源和地址对主侧的主系统是不可见的。允许次侧的本地处理器独立地配置和控制其子系统。主侧和次侧的时钟完全独立。主侧和次侧的地址完全独立,在主侧和次侧之间可以进行地址翻译。
增加了隔离主、从总线段之间地址域的功能。
谈到非透明桥接就要提到透明桥接,透明桥接通常用在总线扩展中。桥的次侧的所有设备对主侧的主系统是透明的。次侧的所有设备只能由主侧的主系统对其进行配置和控制。两侧的时钟必须同步,允许有固定的相位差。主侧和次侧的地址完全透明,在主侧和次侧之间的地址传递是直接传递的模式,没有地址翻译。通过透明桥隔离 PCI 总线段,可以提供扩展负载数量和匹配不同工作频率、总线宽度或电压的能力。
随着Intel多处理器技术的发展,非透明桥接技术也随之不断改进。
基于 PCI 的单处理器系统依靠主处理器来枚举和配置系统,并处理中断和错误情况。主处理器有效地拥有整个系统。 而如果系统中有两个或多个处理器而且没有特别地隔离它们,那么每个处理器都将尝试提供主处理器功能,并相互争夺系统的控制权。因此在多处理器系统中,除了一个处理器外,非透明桥将把所有处理器置于其自己的地址域中。而位于透明桥背后的那个处理器将被保留为结构管理器,用于枚举和配置系统,并处理严重的错误情况。位于非透明桥背后的智能子系统将枚举到桥,而且不会直接感觉到其背后有一个更大的系统。

本文发布于:2024-09-23 19:19:40,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/166977.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:透明   地址   系统   寄存器   设备   翻译   技术   总线
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议