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

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

3天内不再提示

基于PCI Express非透明桥实现多主机系统的设计方案研究

电子设计 来源:电子元器件应用 作者:李才华 2020-05-12 07:53 次阅读

引言

在系统设计中,设计师们面临的重要挑战是既要支持高可靠性(HA,High Availability),又要使系统尽可能简单、有效。而PCI Express、基于PCI Express的高级交换架构(Advanced SwitchingArchitecture)、基于PCI Express的QOS(Quality-Of-Service)特性以及PCI-Express非透明桥的出现,共同为这样的系统设计提供了一个非常有发展潜力的解决方案。

1、PCI Express技术简介

PCI Express技术是一个比较新的互连标准。该技术适用于高性能的芯片到芯片、板子到板子、背板和机箱之间的互连。它是PCI标准的一个演进版本,因此,在软件结构上仍保持着对PCI的兼容性。

PCI Express是基于层次化的、高速的串行通信技术。其协议栈可分为物理层、数据链路层和传输层。

其中,物理层包括低电压差分信号的高速串行接口、8B/10B编码以及AC耦合差分信号。通常把一组LVDS双绞线称为一个通道(lane),而且PCI Express允许将多个通道合并成一个更大更宽的端口,如x1,x2…直到x32。物理层接口可支持热插拔(hot-plugging)。

数据链路层可支持与临近PCI Express实体交换数据包,同时支持数据完整性(data integrity)和顺序性检查,以及数据包的确认和流量控制的能力。

PCI Express技术系统中的传输层可在主机和终端设备间传送读/写请求,并可选择性的提供传输层的端到端(end-to-end)数据包的完整性检查(CRC-32)。

一直以来,PCI Express传输系统中的物理层的速度一直在不断的提高,但是,分层结构使物理层的变化不会影响到它的上层。如PCI Express1.x标准的时钟频率是1.25 GHz,2.0标准的则为2.5 GHz,3.0标准的是4 GHz。图l所示是PCI Ex-press协议栈结构。

基于PCI Express非透明桥实现多主机系统的设计方案研究

PCI Express的QOS可通过定义8个运输等级(TC-Traffic Classes)、八个虚拟通道(VC-VirtualChannel)、TC到VC的映射以及VC的仲裁机制来实现。

PCI-SIG组织则定义了从PCI Express串行接口到PCI/PCI-X的桥接规范。该规范可以使得当前使用PCI/PCI-X的应用系统能够平滑的转移到PCI Express。图2所示是一个典型的PCI Express系统,其中包含有根复合体(root complex)、PCIExpress交换开关(switch)、桥(bridge,PCI Expressto PCI-X,PCI Express to PCI)以及端点(end-point)等设备。

基于PCI Express非透明桥实现多主机系统的设计方案研究

2、PCI Express非透明桥

与PCI/PCI-X一样,PCI Express本身也是开发维护一个以单一主机为中心的系统架构,但是人们一直使用非透明桥把他们用在多主机的环境中。

非透明桥的功能和透明桥很相似,其主要差别只有一点,即在非透明桥的两边都有智能设备或处理器,并且他们拥有独立的地址空间。而且,非透明桥一边的主机不能看到桥另一边的完整地址或I/O空间。每个处理器把非透明桥的另一边看做一个端点(endpoint),并把它映射到自己的地址空间。

2.1 地址翻译

在非透明桥环境中,PCI Express系统需要在从一个内存地址空间穿越到另一个地址空间时进行地址翻译。每一个非透明桥(NTB)端口都有两套基地址寄存器(BAR),一套是给主设备端用的,另一套是给从设备端用的。基地址寄存器可用来定义在非透明桥另一端的内存地址空间的地址翻译窗口,并允许这个翻译被映射到本地的内存或I/O空间。每个BAR定义了一个设置寄存器(setup register),可用来定义窗口的大小、类型以及一个地址翻译寄存器。与透明桥基于总线号转发所有CSRs不同,非透明桥设备只接受针对本设备的CSR事务。其地址翻译技术有直接地址翻译和查表地址翻译两种。

在直接地址翻译模式下,地址翻译的过程是基于事务终结的BAR基址加上一个偏移量。BARs中的基址翻译寄存器可被用来设置这样的翻译。图3所示给出了从主设备端地址映射到从设备端地址的偏移过程。

基于PCI Express非透明桥实现多主机系统的设计方案研究

BARs则用一种特别的查找表来为落在它窗口中的事务进行地址翻译。因为地址中的索引域可通过编程来调节窗口大小,因此,这种方法在本地地址到主机地址的映射中具有更高的灵活性。通常索引被用来提供新内存地址的高位比特(bits)。

2.2 处理器间的通信

非透明桥允许桥两边的主机通过便笺寄存器、门铃寄存器和心跳消息来交换一些状态信息

便笺寄存器在非透明桥的两端都是可读写的,但是,便笺寄存器的数量在具体的实现中是可以不同的。他们可以被桥两边的设备用来传送一些状态信息,也可作为通用的可读可写寄存器使用。

门铃寄存器被用来从非透明桥的一边向另一边发送中断。非透明桥的两边一般都有软件可以控制的中断请求寄存器和相应的中断屏蔽寄存器。这些寄存器在非透明桥的两边都是可以被访问的。

心跳消息一般来自主设备端往从设备端的主机,可用来指示它还活着。从设备主机可监控主设备主机的状态,如果发现出错,它就可以采取一些必要的措施。通过门铃寄存器可以传送心跳消息。当从设备主机没有收到一定数量预先规定好的心跳消息时,就可以认为主设备的主机出错了。

3、基于PCI Express非透明桥的多主机系统

3.1 智能插卡

在智能卡模式下,智能插卡上的PCI Express非透明桥可以将IOP和Host CPU隔离开来,但仍允许这两个CPU通过一些特殊的寄存器进行通信。图4所示是智能插卡模式下的非透明桥的通信结构。

3.2 双主机模式

非透明桥也可用在双主机(Dual Host)、主机故障转移(Host Failover)和负载分担(Load-shar-ing)等应用中。图5所示是将两个Host CPU被非透明桥隔离开的结构示意图。

基于PCI Express非透明桥实现多主机系统的设计方案研究

3.3 多主机模式

在多主机系统中,每一个主机都可以通过非透明桥接入到系统之中,并且可以访问所有的端点。在PCI的枚举过程中,每个端点都要和某个特定的CPU关联,但在正常的操作过程中,依赖于非透明桥的地址翻译能力。所有的CPU都可以访问所有的端点。图6所示是主机系统的非透明桥结构。

4、结束语

非透明桥技术在PCI时代就已被应用。现在,在PCI Express系统中也有类似的实现。相信在不远的将来,从简单的智能插卡到复杂的、带虚拟输入输出技术的多主机系统,人们都将看到PCIExpress非透明桥的广泛应用。

责任编辑:gt


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

    关注

    33

    文章

    8605

    浏览量

    151199
  • PCI
    PCI
    +关注

    关注

    4

    文章

    666

    浏览量

    130278
  • 主机
    +关注

    关注

    0

    文章

    996

    浏览量

    35139
收藏 人收藏

    相关推荐

    PCI Express电源和迷你卡解决方案

    DN346-PCI Express电源和迷你卡解决方案
    发表于 09-03 08:54

    CPU如何通过PCI Express访问板上的系统

    你好,我目前正在研究Kintex 7 KC705开发板上的项目。我需要做的是通过使用电路板的PCI Express功能从Linux操作系统访问电路板上的
    发表于 07-20 14:44

    一种透明PCI-PCI的应用

    介绍一种采用透明PCI-PCI(Dec21554)的PCI插卡。重点介绍
    发表于 04-07 09:44 16次下载

    针对可编程PCI Express解决方案的评估方法

    针对可编程PCI Express解决方案的评估方法:外设部件互连( PCI )及其衍生的PCI - X和
    发表于 03-03 10:36 14次下载

    PCI ExpressPCI 设计原理及应用

    PCI ExpressPCI 设计原理及应用 功能一般功能• PCI Express
    发表于 03-06 11:16 35次下载

    基于PCI Express总线高速数据采集卡的设计与实现

    本文介绍一种基于PCI Express 总线的高速数据采集卡的设计方案及功能实现。给出系统的基本结构及单元组成,重点阐述
    发表于 09-22 08:15 62次下载

    基于PCI Express实时视频采集系统的设计

    提出了基于PCI Express总线传输的视频采集系统设计方案。采用ADV7188进行视频解码,能够采集多种格式模拟视频信号,而且提高视频信号的质量;采用Virtex-5系列的FPGA
    发表于 12-11 15:29 37次下载

    PCI Express交换及接芯片的展望

    交换芯片扩展到接,Gen 2提供简化的机会 当I/O互连世界从PCI过渡到PCI Express (PCIe)时,接芯片扮演着一个关键
    发表于 02-09 11:46 6394次阅读
    <b class='flag-5'>PCI</b> <b class='flag-5'>Express</b>交换及<b class='flag-5'>桥</b>接芯片的展望

    PCI Express插槽,什么是PCI Express插槽

    PCI Express插槽,什么是PCI Express插槽,PCI Express插槽外形图
    发表于 04-26 18:19 5140次阅读

    PCI Express总线

    PCI Express总线 其实,PCI Express是一个计算机系统总线的名称,不过大家听得最多的还是“接口”这个词,也没错,
    发表于 01-22 11:21 691次阅读

    PCI Express解决方案的介绍

    本视频介绍了在使用AXI Bridge for PCI Express Gen3子系统时创建使用Tandem with Field Updates流程的PCI
    的头像 发表于 11-29 06:12 3111次阅读

    如何创建和使用Xilinx的UltraScale PCI Express解决方案

    了解如何创建和使用Xilinx的UltraScale PCI Express解决方案。 使用Vivado IP目录GUI创建和使用PCI Expr
    的头像 发表于 11-28 06:36 3768次阅读
    如何创建和使用Xilinx的UltraScale <b class='flag-5'>PCI</b> <b class='flag-5'>Express</b>解决<b class='flag-5'>方案</b>

    PCI Express系统中DMA的基本功能介绍

    本视频介绍了创建PCI Express解决方案的过程,该解决方案使用新的2016.1 DMA用于PCI
    的头像 发表于 11-22 06:42 5160次阅读

    FPGA中实施PCI Express接解决方案

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