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

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

3天内不再提示

PCIe交换机Dual Cast功能介绍

CHANBAEK 来源:电子设计小札 作者: billzhhb 2023-11-22 16:39 次阅读

1PCIe双播产生背景

关于PCIe的发展历史我们可以知道,PCIe发家于计算机领域,起源于PCI总线,随着计算机产业的发展而壮大,其行业生态慢慢扩展到了嵌入式领域及通信领域等。但因为其树状结构导致其系统中通常仅有一个RC,大多数通信都以RC为主(RC能够与所有的EP通信,且EP与EP之间的通信也要经过RC路由(我们常用的PLX交换机支持P-P模式,可以不经过RC)),这样的树形架构与嵌入式系统的灵活互连带来了一些冲突和不便的地方。

PCIe的规范制定者们努力的通过一些改进来升级PCIe,通过在向前兼容的情况下进行了多种功能的扩展,像NT、多主等功能都是后续扩展出来的,这些功能的优化升级为PCIe的生态发展提供了更广阔的空间,今天我们要介绍的DualCast功能也正是在这样的背景下产生的。

图片

如上图所示,2008年5月,PCIe基本规范2.0增加了关于Multicast(多播)的ECN,这个新增的功能为嵌入式系统各节点之间的数据移动和共享提供了强大的技术支撑。今天我们主要介绍下Dual-Cast(双播,以下简称DC),Dual-Cast从名称上看就可以知道是Multicast的功能简化版本(需要说明的是在具体技术实现上Dual-Cast没有使用PCIe规范中的Multicast的技术架构,仅仅功能上类似,是PLX公司率先推出的)。

2 PCIe双播基本介绍

传统的PCIe系统通常局限于单目标的通信传输,这种传输模式使得在给定的某一时刻某个特定的节点只能与一个另外的节点进行通信传输,如果需要将同样的数据发送给多个节点,则需要发起多次传输事务,分别进行传输。而双播DC的应用则能够实现将相同的数据在同一时刻发送给两个不同的设备。

主要的应用场景比如:通信导航领域,同样的数据需要同时发送给两个节点分别进行信号的处理;比如显控领域,接收到的视频数据同时送给两个大屏,或者接收到的视频数据一边送显示一边送存储;比如存储领域,为了提高可靠性,数据需要同时存储到两个不同的存储区域等。

这样将相同的数据传输给两个(或者多个)接收设备的好处也比较明显,主要有:

1)能够降低开销,实现处理资源的优化。这个比较好理解,本来发送处理器需要发起两个发送事务,但是利用了DC功能,则只需要发起一个发送事务,则节省下来的时间就可以进行其他额外的任务,这相当于降低了开销或者优化了处理资源。

  1. 能够缩短传输时延,提高设备之间的一致性。这个也比较好理解,比如说原本是分两次顺序发送,那势必会导致第二个接收设备收到数据的时间晚了。
  2. 能够提升链路资源的利用率。因为通过多播方式传输,则发送设备与交换机之间的链路被少利用了一次,这样对链路的需求也降低了。

3 PLX86XX中的双播方案

3.1 PLX86XX的双播模型和基本概念

图片

如上图所示,双播的概念基本都在上图有表示,分别进行介绍:

  1. DC BAR(Dual Cast Low BAR[0:7] / Dual Cast High BAR[0:7]):DC
    BAR表示DC功能的基地址,只有进入该BAR窗口的TLP事务才有可能产生DC事务,PEX86XX共有8个这样的BAR地址。该BAR一共为64bit宽度,由Dual
    Cast Low BAR[0:7]和Dual Cast High BAR[0:7]组成,其中对于地址范围小于4GB或者32bit的系统来说,Dual Cast
    High BAR[0:7]内部全为0;对于Dual Cast LowBAR,只有高12Bit有效,低20bit被硬连接设置为0x0_000C;因为只能设置高12Bit,则DC BAR的最小对齐边界为1MB,即只能设置为1MB的整数倍。
  2. DC BAR Setup(Dual Cast Low BAR[0:7] Setup/Dual Cast High BAR[0:7]Setup):DC BAR Setup表示DC功能的BAR的窗口大小,DC BAR Setup与DCBAR一起相当于形成了一个完整的地址空间窗口,当进入到使能了DC功能的端口时,如果TLP的目的地址≮DC BAR且

图片

  1. DC BAR Translation(Dual Cast Low BAR[0:7] Translation/Dual Cast High
    BAR[0:7]Translation): DC BAR Translation表示DC功能产生的复制TLP的新的目的地址,用于替换原有的目的地址。
  2. DC Source Destination Port(Dual Cast Source Port/Dual Cast Destination
    Port):用于指定DC功能的源端口和目的端口。

图片

  1. OriginalTLP:用于表示双播TLP中的原始TLP。
  2. DC Copy TLP:用于表示双播TLP中被复制转发的TLP。

注意事项:

  1. NT端口也可以作为Dual Cast Destination Port;
  2. 只有Memory Write TLP才能够被用于作为DC TLP,这个也比较好理解,Memory Write
    TLP是Posted事务,不需要接收端进行回复,详见(PCIe中TLP报文的分类)。
  3. 关于地址空间,不能够互相重叠和冲突,比如说DC BARx之间不能重叠,比如说DC BAR ~ DC BAR+ DC BAR Setup需要在Original TLP的目的端口的地址空间,比如说DC BAR Translation~DC BAR Translation +DC BAR Setup需要在DC Copy TLP的目的端口的地址空间范围等等。

总结DC的使能条件:

  1. TLP事务是Memory Write TLP;
  2. TLP事务的目的地址≮DC BAR,且
  3. TLP事务的入端口是Dual Cast Source Port,表明入端口使能了DC功能;

PLX86XX的双播举例(参见PEX8624 DataBook)

背景:

  1. PEX8624,配置为x8,x8,x8,其中Port0为上游端口,Port5和Port8为下游端口;Port5端口的地址空间基址为0XAAA0_0000;Port8端口的地址空间基址为0xBBB0_0000。
  2. 希望能够实现Memory Write TLP从Port0往Port5的地址空间0XAAA0_0000~0XAAAF_FFFF发送时,能够触发DC功能,自动同时往Port8端口发送,对应基址为0XBBB0_0000。

图片

分析:

  1. 因为是“Port0往Port5发送时,希望能够触发同时往Port8发送”,可以知道Dual Cast Source Port=0、Dual Cast Destination Port=8;
  2. “往Port5的地址空间0XAAA0_0000~0XAAAF_FFFF发送时,能够触发DC功能”,可以知道DC BAR=0XAAA0_0000、DC BAR Setup=0XF_FFFF(0XAAAF_FFFF-0XAAA0_0000)=1MB;
  3. “自动同时往Port8端口发送,对应基址为0XBBB0_0000”,可以知道DC BAR
    Translation=0XBBB0_0000;
  4. 且相关的地址之间不重叠、不冲突。

具体步骤:

  1. 设置DC BAR0,DC BAR=0XAAA0_0000,则DC Low BAR0[31:0]=0XAAA0_0000、DC High BAR0[31:0]=0x0。
  2. 设置DC BAR0 Setup,DC BAR Setup=1MB,参照对应的空间映射关系,则DC Low BAR0[31:0]Setup=0XFFF0_0000、DC High BAR0[31:0] Setup=0XFFFF_FFFF。
  3. 设置DC BAR Translation,DC BAR Translation=0xBBB0_0000,则DC Low
    BAR0[31:0]Translation =0XBBB0_0000、DC High BAR0[31:0] Translation=0x0。
  4. 设置DC Source Destination Port,Dual Cast Source Port=0x0、Dual Cast Destination Port=0x8,

DC Source Destination Port[3:0]=0x0;(Dual Cast Source Station/Port=0);

DC Source Destination Port[7:4]=0x8;(Dual Cast Destination Port =0x8);

DC Source Destination Port[8]=1;(Dual Cast on Station 0, Port0 ony);

or DC Source Destination Port[8]=0;(Dual Cast on Station 0, Port 0 and Port1)。

以上即是关于PCIe交换机双播(DualCast、DC)功能的简单介绍,PEX86XX交换机具备DC功能,关于MultiCast的更多介绍请见后续文章。

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

    关注

    21

    文章

    2639

    浏览量

    99572
  • 总线
    +关注

    关注

    10

    文章

    2879

    浏览量

    88059
  • PCIe
    +关注

    关注

    15

    文章

    1236

    浏览量

    82610
  • 云计算机
    +关注

    关注

    0

    文章

    7

    浏览量

    2622
收藏 人收藏

    评论

    相关推荐

    交换机的作用

    今天和大家分享的交换机的作用,首先详细介绍网络交换机介绍,然后再说明网络交换机的作用。
    发表于 06-03 00:12 4.8w次阅读

    接入层交换机、汇聚层交换机和核心层交换机的区别

    `1.功能区别核心层交换机的主要功能是用于路由选择及高速转发的,提供优化、可靠的骨干传输结构,因此核心层交换机应用有更高的可靠性和吞吐量。汇聚层交换
    发表于 06-04 11:57

    PCIe_交换机产品列表_产品快照

    PCIe 交换机产品列表(产品快照) 。
    发表于 01-06 17:31 0次下载

    工业控制交换机和工业交换机的区别

    以太网交换机一般分为:商用(以太网)交换机、工业(以太网)交换机、家用(以太网)交换机,在这里着重介绍下工业
    发表于 01-21 09:54 2113次阅读

    核心交换机、汇聚交换机与普通交换机的区别介绍

    核心交换机并不是交换机的一种类型,放在核心层(网络主干部分)的交换机叫核心交换机。汇聚层交换机,是多台接入层
    发表于 03-19 14:50 1.2w次阅读

    交换机怎么用_交换机的优缺点

    本文主要阐述了交换机的使用方法及介绍交换机的优缺点。
    发表于 03-25 10:00 9476次阅读

    网络交换机的作用_网络交换机怎么用

    本文首先阐述了网络交换机的概念,其次阐述了网络交换机的作用,最后介绍了网络交换机的使用。
    发表于 04-02 08:49 6479次阅读

    光纤交换机的种类_光纤交换机的配置

    本文主要介绍了光纤交换机的种类和光纤交换机的配置。
    发表于 11-30 16:04 2200次阅读

    pcie2.0交换机资料

    与PCI/PCIX桥在PCI/PCIX总线体系结构中的作用类似,PCI Express(PCIE交换机功能是扩展连接以允许PCIE串行互连中的主机控制器访问更多的终端设备建筑学16
    发表于 03-27 10:54 2次下载

    PoE交换机可以当普通交换机使用吗

    随着PoE交换机的广泛应用,人们对PoE交换机有了一定的了解。然而,很多人认为PoE交换机可以自行发电,这种说法并不正确,通常所讲的PoE交换机供电指的是PoE
    的头像 发表于 06-27 10:20 6485次阅读

    以太网交换机的升级版:PCIe交换机

    理论上,以太网交换机也可以用来连接多个SoC,英伟达最早的双Xavier就是如此。不过,英伟达同样双Xavier的高端版本Pegasus就采用PCIe交换机,以太网的带宽远低于PCIe
    的头像 发表于 07-17 14:19 2349次阅读
    以太网<b class='flag-5'>交换机</b>的升级版:<b class='flag-5'>PCIe</b><b class='flag-5'>交换机</b>

    汇聚交换机和核心交换机区别

    汇聚交换机和核心交换机是网络中常见的两种交换机设备,在网络中扮演着不同的角色和功能。虽然它们的主要目标是提供高速、高效的数据交换和数据传输,
    的头像 发表于 01-22 14:32 4436次阅读

    交换机的作用与功能 交换机的基本配置

    的 MAC 地址进行数据的无冲突传输,提高了网络传输的效率和稳定性。本文将详细介绍交换机的作用、功能以及基本配置。 一、交换机的作用与功能
    的头像 发表于 02-04 09:17 1.7w次阅读

    如何简化PCIe 6.0交换机的设计

    由于全球数据流量呈指数级增长,PCIe 6.0 交换机的市场需求也出现了激增。PCIe 6.0 交换机在高性能计算(HPC)系统(尤其是数据中心)中为需要大带宽和超低延迟的应用提供了重
    的头像 发表于 07-05 09:45 544次阅读
    如何简化<b class='flag-5'>PCIe</b> 6.0<b class='flag-5'>交换机</b>的设计

    PCIe交换机与路由器的区别

    在现代网络技术中,PCIe交换机和路由器是两种常见的设备,它们在数据传输和网络管理中发挥着重要作用。尽管它们都与数据传输有关,但它们的设计、功能和应用场景有着显著的差异。 PCIe
    的头像 发表于 11-26 16:08 237次阅读