基于标准的PCI Express多端口作为系统互连的多对等系统

描述

Kwok Kong在IDT白皮书中描述了使用基于标准的PCI Express多端口作为系统互连的多对等系统。该白皮书描述了根处理器和端点处理器中存在的不同地址域,内存映射管理,枚举和初始化,对等通信机制,中断和错误报告以及可能的冗余拓扑。

系统架构

图1显示了使用PCIe作为系统互连的多对等系统拓扑。RP连接到PCIe交换机的单个上游端口(UP)。RP与其他任何PCI系统一样,负责系统的初始化和枚举过程。多端口PCIe交换机用于连接系统中的多个端点处理器(EP)。EP是一种处理器,其PCIe接口之一配置为PCIe端点。

Linux

使用PCIe作为系统互连的多对等系统拓扑

根处理器

一个标准的基于x86的PC用作RP。RP使用带有nVidia nForce4 SLIchipset的AMD Athlon64 CPU来支持PCIe接口。一个PCIe插槽用于连接多端口PCIe交换器。RP的系统框图如图2所示。

Linux

RP系统框图PCIe交换机

IDT89EBHPES64H16评估板(以下称为EB64H16)用作多端口PCIe交换机模块。EB64H16的系统框图如图3所示。评估板上有一个IDtT  89HPES64H16 PCIe开关(以下称为PES64H16)。EB64H16板上有16个PCIe连接器。端口可以​​配置为x4或x8端口。当所有端口都配置为x8时,只有78个PCIe连接器用于支持x8配置中的8个端口。上游端口通过两根x4 infiniband电缆连接到RP。RP直接插入PCIe连接器。

Linux

多端口PCIe交换模块

端点处理器

基于x86的EP处理器是AMD Athlon64 CPU,具有nVidia nForce4 SLI芯片组来支持PCIe接口。每台基于x86的PC通过IDT PES24NT3 PCIe域间交换机的非透明桥(NTB)端口连接到多端口PCIe交换机的一个下游端口。EP处理器系统如图4所示。请注意,NTB的内部端点连接到端点处理器,而外部端点连接到上述多端口PCIe交换机。

Linux

EP处理器框图

本文档介绍了支持PCIe系统互连的软件体系结构。该软件已实现,并且在Linux下使用x86 CPU作为根处理器,在x86 CPU和IDT PES24NT3域内交换机作为端点处理器的情况下运行。可从IDT获得软件源代码。

该软件被实现为在Linux内核空间中运行的设备驱动程序和模块。该软件分为三层,以分隔不同的软件功能并最大程度地重用该软件。功能服务层是上层。它提供了对操作系统和上层应用程序可见的功能服务。当前版本的软件中已实现了多种功能服务:以太网功能服务为系统提供了虚拟以太网接口,原始数据功能服务提供了EP和RPm之间的用户数据传输,而统计功能服务提供了以下功能:收集流量统计信息以进行管理和诊断。消息帧层包含消息帧服务,该消息帧服务为所有功能服务提供了公共消息封装和解封装层。每当发现新的端点处理器时,它还会通知所有其他端点处理器。传输服务层使用PCIe接口处理端点处理器和根处理器之间的实际数据传输。传输服务是特定于Endpoint Processor的。此版本的系统互连软件支持基于x86的根处理器和端点处理器。传输服务是特定于Endpoint Processor的。此版本的系统互连软件支持基于x86的根处理器和端点处理器。传输服务是特定于Endpoint Processor的。此版本的系统互连软件支持基于x86的根处理器和端点处理器。

除了处理器间通信应用程序之外,该软件还演示了现在可以使用标准PCIe交换机实现I / O共享。多个端点处理器和根处理器共享单个以太网接口已实现并正常运行。

地址转换单元用于隔离不同的PCIe地址域并在其之间提供桥梁。freeQ和post Q结构用作消息传输协议的一部分。

该软件版本奠定了使用PCIe接口作为系统互连来构建更复杂的系统的基础。该软件采用模块化设计,可在不更改现有软件模块的情况下添加功能服务和其他Endpoint Processor支持。如今,可以使用PCIe作为系统互连来构建复杂的系统,例如嵌入式计算,支持I / O共享的刀片服务器以及通信和存储系统。

编辑:hfy

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分