Kwok Kong在IDT白皮书中描述了使用基于标准的PCI Express多端口作为系统互连的多对等系统。该白皮书描述了根处理器和端点处理器中存在的不同地址域,内存映射管理,枚举和初始化,对等通信机制,中断和错误报告以及可能的冗余拓扑。
系统架构
图1显示了使用PCIe作为系统互连的多对等系统拓扑。RP连接到PCIe交换机的单个上游端口(UP)。RP与其他任何PCI系统一样,负责系统的初始化和枚举过程。多端口PCIe交换机用于连接系统中的多个端点处理器(EP)。EP是一种处理器,其PCIe接口之一配置为PCIe端点。
使用PCIe作为系统互连的多对等系统拓扑
根处理器
一个标准的基于x86的PC用作RP。RP使用带有nVidia nForce4 SLIchipset的AMD Athlon64 CPU来支持PCIe接口。一个PCIe插槽用于连接多端口PCIe交换器。RP的系统框图如图2所示。
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连接器。
多端口PCIe交换模块
端点处理器
基于x86的EP处理器是AMD Athlon64 CPU,具有nVidia nForce4 SLI芯片组来支持PCIe接口。每台基于x86的PC通过IDT PES24NT3 PCIe域间交换机的非透明桥(NTB)端口连接到多端口PCIe交换机的一个下游端口。EP处理器系统如图4所示。请注意,NTB的内部端点连接到端点处理器,而外部端点连接到上述多端口PCIe交换机。
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
全部0条评论
快来发表一下你的评论吧 !