基于arm和fpga的高性能计算节点及计算方法

文档序号:8258443阅读:1143来源:国知局
基于arm和fpga的高性能计算节点及计算方法
【技术领域】
[0001]本发明涉及一种高性能计算节点,具体地说涉及一种利用FPGA与ARM片上协作来实现高性能、低功耗、多用途及高密度的基于ARM和FPGA的高性能计算节点。
【背景技术】
[0002]FPGA (Field— Programmable Gate Array),即现场可编程门阵列,它是在 PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,兼有了 ASIC的高密度和软件的高效,又克服了 ASIC设计周期长、投资大、灵活性差的缺点。
[0003]ARM,过去称作高级精简指令集机器(Advanced RISC Machine,更早称作:AcornRISC Machine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通信领域,符合其主要设计目标为低成本、高性能、低耗电的特性。
[0004]TF卡(Trans-flash Card),2004年正式更名为 Micro SD Card,由 SanDisk(闪迪)公司发明,是一种体积微小、储存容量高的可移动式储存1C。
[0005]Zynq-7000芯片实质上是一个可扩展处理平台,是首款将高性能ARM Cortex A9硬核与可编程逻辑紧密集成到一起的器件。通过这样的结合,既发挥了处理器在处理复杂控制算法、运行操作系统等方面的优势,又利用FPGA在并行算法加速、可动态重配置的特点,实现了系统加速,增加了灵活性;同时,减少了电路板的面积,降低了功耗。
[0006]AXKAdvanced extensible Interface)是一种总线协议,是 ARM公司提出的 AMBA(Advanced Microcontroller Bus Architecture) 3.0协议的升级版,是一种高性能、高带宽、低延迟的片内总线,可以称它为ΑΧΙ4.00 ΑΧΙ4.0主要描述了主设备和从设备之间的数据传输方式,主设备和从设备之间通过握手信号建立连接。
[0007]SO-DIMM (Small Outline Dual In-line Memory Module,小夕卜形双列内存模组),它是一种类型的计算机内存模组。相对于DIMM来说,SO-DIMM具有更小的外形尺寸(大致是正常DIMM尺寸的一半)。因此,SO-DIMM主要用于一些对尺寸有较高要求的使用场合。
[0008]现有的高性能计算节点主要是基于CPU、GPU或是CPU与GPU协同。
[0009]CPU是利用软件的并行性,将任务同时分配给多个不同的节点处理,从而缩短整个任务的处理时间。其在软件编程过程中需要考虑程序的并行执行问题,然后通过编译器的优化,才可以得到线程级并行的可执行程序。这种方式的瓶颈主要来自访存,即cache失效。基于X86架构的多核处理正面临诸多挑战,从2核扩展至4核乃至16核所带来的性能提升往往有限,尤其在4核以上的架构,内存带宽正成为运行性能增加的瓶颈。故单CPU的处理能力有限,其性能的提升主要依靠CPU个数的增加,需要很高的成本。
[0010]与CPU类似,GPU性能的发挥也需要软件编程和编译器的大力支持。在GPU编程优化中,一方面要让尽量多的线程同时运行,另一方面又要满足每条线程运行时所需的快速缓存要求。一旦内存要求超出了快速缓存容量,读写将会发生在慢的内存上,这样往往一个读写指令就相当于几百个GPU指令周期。GPU性能的提升主要通过提高主频或者增加SP(stream processing,流处理单元),而这会受到工艺、功耗的限制,成本也较高。
[0011]在CPU与GPU协同的架构下,GPU目前还是作为CPU的协作处理器存在,通过PCIE传输数据,这是很严重的瓶颈。
[0012]传统的通用计算或狭窄领域内的专用计算等计算形态已经难以满足目前日益多样化的应用需求,尤其是在低功耗、高性能、低成本及高密度等要求方面。国内外企业和研宄机构都在不断探索全新的计算平台架构,寻求新型计算模式和方法,以提升计算设备效會K。

【发明内容】

[0013]为了克服现有技术中存在的不足,本发明的目的是:提供一种基于ARM和FPGA的高性能计算节点,结构新颖、紧凑、密度高,通过对FP GA进行特定程序算法优化,可以大大提高对特定应用程序的执行效率,同时还可以大大降低系统的功耗,并降低系统TCO (总体拥有成本);能根据不同的用途对应用计算模块配置不同的应用位流,适应范围广,安全可
A+-.与巨O
[0014]本发明的技术方案是:
一种基于ARM和FPGA的高性能计算节点,计算节点条上包括两个计算单元,所述计算单元集成有ARM片上处理系统和FPGA,所述FPGA通过AXI总线接口与ARM连接,所述计算单元连接SO-DIMM。
[0015]优选的,所述FPGA内部设有APB总线接口及应用计算模块,所述应用计算模块通过APB总线接口与AXI总线接口连接。
[0016]优选的,所述计算单元外围集成有DDR3内存、Flash、micro SD存储接口、千兆以太网PHY芯片、高速环网接口以及时钟、电源、维护诊断功能模块;所述千兆以太网PHY芯片通过千兆以太网接口与SO-DIMM接口连接,所述高速环网接口与SO-DIMM接口连接。
[0017]优选的,所述计算节点条插在匹配的业务刀片上,所述SO-DIMM接口为数据发送接收的端口,服务器通过业务刀片将发送指令及数据传递给SO-DIMM接口,若计算单元准备就绪,则服务器与计算单元成功连接。
[0018]本发明还公开了一种基于ARM和FPGA的高性能计算节点的计算单元的启动方法,包括以下步骤:
系统上电复位后,ARM片上处理系统开始进行配置,对外设控制器进行初始化,从Flash和micro SD存储卡中加载启动镜像;
启动第一阶段的启动加载器,首先完成M1、Clock、DDR器件初始化,然后获取分区并验证header,验证通过后从选中的启动flash或TF中加载分区;
如果有bitstream(FPGA配置文件)则配置FPGA,如果有应用程序则拷贝到DDR中,加载U-boot,完成Linux内核根文件系统加载,系统正常启动。
[0019]本发明又公开了一种基于ARM和FPGA的高性能计算节点的计算方法,包括以下步骤:
在系统正常启动准备就绪后,服务器将数据通过以太网传输给ARM,ARM根据具体应用对数据进行相应的处理以得到需要FPGA计算的数据,然后将这些数据传输至FPGA端的应用计算模块上进行计算;
应用计算模块完成计算后,将计算结果返回到ARM端,ARM对计算结果进行验证,如果验证通过,则将结果返回到服务器端,任务结束。
[0020]本发明的优点是:
1.计算节点采用SO-DIMM计算机内存类型的外形尺寸(133.35mm*40mm),在节点上设置了两个计算单元,计算单元集成了双核的Cortex-ARM9片上处理系统及28nm的低功耗FPGA的Zynq-7000芯片,以及DDR3内存、Flash、micro SD存储接口(配置TF存储卡)、千兆以太网PHY芯片、高速环网接口等,结构新颖、紧凑、密度高。
[0021]2.通过对FPGA进行特定程序算法优化,可以大大提高对特定应用程序的执行效率,同时还可以大大降低系统的功耗,并降低系统总体拥有成本;能根据不同的用途对应用计算模块配置不同的应用位流,适应范围广,安全可靠。
【附图说明】
[0022]下面结合附图及实施例对本发明作进一步描述:
图1为基于ARM和FPGA的高性能计算节点的板卡结构框图;
图2为基于ARM和FPGA的高性能计算节点的板卡另一面结构框图;
图3为基于ARM和FPGA的高性能计算节点的计算单元结构框图;
图4为基于ARM和FPGA的高性能计算节点的计算单元启动流程图;
图5为基于ARM和FPGA的高性能计算节点的工作流程图。
[0023]其中:1、SO-DIMM接口,2、千兆以太网 PHY 芯片,3、Flash,4、micro SD 存储接口,
5、Zynq-7000芯片,6、DDR3内存,7、高速环形网接口,8、Cortex_ARM9片上处理系统,9、AXI总线,10、千兆以太网接口,11、应用计算模块,12、APB总线,13、FPGA。
【具体实施方式】
[0024]为使本发明的目的、技术方案和优点更加清楚明了,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1