基于ARM和FPGA的高性能计算节点及计算方法.pdf

上传人:111****11 文档编号:4025510 上传时间:2018-08-12 格式:PDF 页数:9 大小:725.84KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510029266.3

申请日:

2015.01.21

公开号:

CN104572569A

公开日:

2015.04.29

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 15/16申请日:20150121|||公开

IPC分类号:

G06F15/16

主分类号:

G06F15/16

申请人:

江苏微锐超算科技有限公司; 王芳; 吴建元

发明人:

韩文报; 王芳; 吴建元

地址:

214072江苏省无锡市滨湖区锦溪路100号

优先权:

专利代理机构:

苏州创元专利商标事务所有限公司32103

代理人:

范晴

PDF下载: PDF下载
内容摘要

本发明公开了一种基于ARM和FPGA的高性能计算节点,计算节点条上包括两个计算单元,所述计算单元集成有ARM片上处理系统和FPGA,所述FPGA通过AXI总线接口与ARM连接,所述计算单元连接SO-DIMM。结构新颖、紧凑、密度高,通过对FPGA进行特定程序算法优化,可以大大提高对特定应用程序的执行效率,同时还可以大大降低系统的功耗,并降低系统TCO(总体拥有成本);能根据不同的用途对应用计算模块配置不同的应用位流,适应范围广,安全可靠。

权利要求书

权利要求书
1.   一种基于ARM和FPGA的高性能计算节点,其特征在于,计算节点条上包括两个计算单元,所述计算单元集成有ARM片上处理系统和FPGA,所述FPGA通过AXI总线接口与ARM连接,所述计算单元连接SO-DIMM。

2.  根据权利要求1所述的基于ARM和FPGA的高性能计算节点,其特征在于,所述FPGA内部设有APB总线接口及应用计算模块,所述应用计算模块通过APB总线接口与AXI总线接口连接。

3.  根据权利要求1所述的基于ARM和FPGA的高性能计算节点,其特征在于,所述计算单元外围集成有DDR3内存、Flash、micro SD存储接口、千兆以太网PHY芯片、高速环网接口以及时钟、电源、维护诊断功能模块;所述千兆以太网PHY芯片通过千兆以太网接口与SO-DIMM接口连接,所述高速环网接口与SO-DIMM接口连接。

4.  根据权利要求1所述的基于ARM和FPGA的高性能计算节点,其特征在于,所述计算节点条插在匹配的业务刀片上,所述SO-DIMM接口为数据发送接收的端口,服务器通过业务刀片将发送指令及数据传递给SO-DIMM接口,若计算单元准备就绪,则服务器与计算单元成功连接。

5.  一种基于ARM和FPGA的高性能计算节点的计算单元的启动方法,其特征在于,包括以下步骤:
系统上电复位后,ARM片上处理系统开始进行配置,对外设控制器进行初始化,从Flash和micro SD存储卡中加载启动镜像;
启动第一阶段的启动加载器,首先完成MIO、Clock、DDR器件初始化,然后获取分区并验证header,验证通过后从选中的启动flash或TF中加载分区;
如果有bitstream(FPGA配置文件)则配置FPGA,如果有应用程序则拷贝到DDR中,加载U-boot,完成Linux内核根文件系统加载,系统正常启动。

6.  一种基于ARM和FPGA的高性能计算节点的计算方法,其特征在于,包括以下步骤:
在系统正常启动准备就绪后,服务器将数据通过以太网传输给ARM,ARM根据具体应用对数据进行相应的处理以得到需要FPGA计算的数据,然后将这些数据传输至FPGA端的应用计算模块上进行计算;
应用计算模块完成计算后,将计算结果返回到ARM端,ARM对计算结果进行验证,如果验证通过,则将结果返回到服务器端,任务结束。

说明书

说明书基于ARM和FPGA的高性能计算节点及计算方法
技术领域
本发明涉及一种高性能计算节点,具体地说涉及一种利用FPGA与ARM片上协作来实现高性能、低功耗、多用途及高密度的基于ARM和FPGA的高性能计算节点。
背景技术
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,兼有了ASIC的高密度和软件的高效,又克服了ASIC设计周期长、投资大、灵活性差的缺点。
ARM,过去称作高级精简指令集机器(Advanced RISC Machine,更早称作:Acorn RISC Machine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于移动通信领域,符合其主要设计目标为低成本、高性能、低耗电的特性。
TF卡(Trans-flash Card),2004年正式更名为Micro SD Card,由SanDisk(闪迪)公司发明,是一种体积微小、储存容量高的可移动式储存IC。
Zynq-7000芯片实质上是一个可扩展处理平台,是首款将高性能ARM Cortex A9硬核与可编程逻辑紧密集成到一起的器件。通过这样的结合,既发挥了处理器在处理复杂控制算法、运行操作系统等方面的优势,又利用FPGA在并行算法加速、可动态重配置的特点,实现了系统加速,增加了灵活性;同时,减少了电路板的面积,降低了功耗。
AXI(Advanced eXtensible Interface)是一种总线协议,是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture)3.0协议的升级版,是一种高性能、高带宽、低延迟的片内总线,可以称它为AXI4.0。AXI4.0主要描述了主设备和从设备之间的数据传输方式,主设备和从设备之间通过握手信号建立连接。
SO-DIMM (Small Outline Dual In-line Memory Module,小外形双列内存模组),它是一种类型的计算机内存模组。相对于DIMM来说,SO-DIMM具有更小的外形尺寸(大致是正常DIMM尺寸的一半)。因此,SO-DIMM主要用于一些对尺寸有较高要求的使用场合。
现有的高性能计算节点主要是基于CPU、GPU或是CPU与GPU协同。
CPU是利用软件的并行性,将任务同时分配给多个不同的节点处理,从而缩短整个任务的处理时间。其在软件编程过程中需要考虑程序的并行执行问题,然后通过编译器的优化,才可以得到线程级并行的可执行程序。这种方式的瓶颈主要来自访存,即cache失效。基于X86架构的多核处理正面临诸多挑战,从2核扩展至4核乃至16核所带来的性能提升往往有限,尤其在4核以上的架构,内存带宽正成为运行性能增加的瓶颈。故单CPU的处理能力有限,其性能的提升主要依靠CPU个数的增加,需要很高的成本。
与CPU类似,GPU性能的发挥也需要软件编程和编译器的大力支持。在GPU编程优化中,一方面要让尽量多的线程同时运行,另一方面又要满足每条线程运行时所需的快速缓存要求。一旦内存要求超出了快速缓存容量,读写将会发生在慢的内存上,这样往往一个读写指令就相当于几百个GPU指令周期。GPU性能的提升主要通过提高主频或者增加SP(stream processing,流处理单元),而这会受到工艺、功耗的限制,成本也较高。
在CPU与GPU协同的架构下,GPU目前还是作为CPU的协作处理器存在,通过PCIE传输数据,这是很严重的瓶颈。
传统的通用计算或狭窄领域内的专用计算等计算形态已经难以满足目前日益多样化的应用需求,尤其是在低功耗、高性能、低成本及高密度等要求方面。国内外企业和研究机构都在不断探索全新的计算平台架构,寻求新型计算模式和方法,以提升计算设备效能。
发明内容
为了克服现有技术中存在的不足,本发明的目的是:提供一种基于ARM和FPGA的高性能计算节点,结构新颖、紧凑、密度高,通过对FPGA进行特定程序算法优化,可以大大提高对特定应用程序的执行效率,同时还可以大大降低系统的功耗,并降低系统TCO(总体拥有成本);能根据不同的用途对应用计算模块配置不同的应用位流,适应范围广,安全可靠。
本发明的技术方案是:
一种基于ARM和FPGA的高性能计算节点,计算节点条上包括两个计算单元,所述计算单元集成有ARM片上处理系统和FPGA,所述FPGA通过AXI总线接口与ARM连接,所述计算单元连接SO-DIMM。
优选的,所述FPGA内部设有APB总线接口及应用计算模块,所述应用计算模块通过APB总线接口与AXI总线接口连接。
优选的,所述计算单元外围集成有DDR3内存、Flash、micro SD存储接口、千兆以太网PHY芯片、高速环网接口以及时钟、电源、维护诊断功能模块;所述千兆以太网PHY芯片通过千兆以太网接口与SO-DIMM接口连接,所述高速环网接口与SO-DIMM接口连接。
优选的,所述计算节点条插在匹配的业务刀片上,所述SO-DIMM接口为数据发送接收的端口,服务器通过业务刀片将发送指令及数据传递给SO-DIMM接口,若计算单元准备就绪,则服务器与计算单元成功连接。
本发明还公开了一种基于ARM和FPGA的高性能计算节点的计算单元的启动方法,包括以下步骤:
系统上电复位后,ARM片上处理系统开始进行配置,对外设控制器进行初始化,从Flash和micro SD存储卡中加载启动镜像;
启动第一阶段的启动加载器,首先完成MIO、Clock、DDR器件初始化,然后获取分区并验证header,验证通过后从选中的启动flash或TF中加载分区;
如果有bitstream(FPGA配置文件)则配置FPGA,如果有应用程序则拷贝到DDR中,加载U-boot,完成Linux内核根文件系统加载,系统正常启动。
本发明又公开了一种基于ARM和FPGA的高性能计算节点的计算方法,包括以下步骤:
在系统正常启动准备就绪后,服务器将数据通过以太网传输给ARM,ARM根据具体应用对数据进行相应的处理以得到需要FPGA计算的数据,然后将这些数据传输至FPGA端的应用计算模块上进行计算;
应用计算模块完成计算后,将计算结果返回到ARM端,ARM对计算结果进行验证,如果验证通过,则将结果返回到服务器端,任务结束。
本发明的优点是:
1.计算节点采用SO-DIMM计算机内存类型的外形尺寸(133.35mm*40mm),在节点上设置了两个计算单元,计算单元集成了双核的Cortex-ARM9片上处理系统及28nm的低功耗FPGA的Zynq-7000芯片,以及DDR3内存、Flash、micro SD存储接口(配置TF 存储卡)、千兆以太网PHY芯片、高速环网接口等,结构新颖、紧凑、密度高。
2.通过对FPGA进行特定程序算法优化,可以大大提高对特定应用程序的执行效率,同时还可以大大降低系统的功耗,并降低系统总体拥有成本;能根据不同的用途对应用计算模块配置不同的应用位流,适应范围广,安全可靠。
附图说明
下面结合附图及实施例对本发明作进一步描述:
图1为基于ARM和FPGA的高性能计算节点的板卡结构框图;
图2为基于ARM和FPGA的高性能计算节点的板卡另一面结构框图;
图3为基于ARM和FPGA的高性能计算节点的计算单元结构框图;
图4为基于ARM和FPGA的高性能计算节点的计算单元启动流程图;
图5为基于ARM和FPGA的高性能计算节点的工作流程图。
其中: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。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
实施例:
下面结合具体附图和实施例对本发明作进一步说明。
为了提高计算节点的性能及密度,同时降低高性能计算系统的功耗,并降低高性能计算系统TCO,本发明包括计算节点条,如图1和2所示,计算节点条采用SO-DIMM计算机内存类型的外形尺寸(133.35mm*40mm),计算节点条上设置了两个计算单元,充分体现了计算节点的高密度性。
如图3所示:计算单元设有两颗Zynq-7000芯片5;Zynq-7000芯片5内集成了双核的Cortex-ARM9片上处理系统8及28nm的低功耗FPGA可编程逻辑模块13; FPGA可编程逻辑模块13内部设有APB总线接口12及应用计算模块11,应用计算模块11通过FPGA内的APB总线接口12与Zynq-7000芯片5内部的AXI总线接口9连接, AXI总线接口9与Cortex-ARM9片上处理系统8连接; Cortex-ARM9片上处理系统8外围集成了DDR3内存6、Flash 3、micro SD存储接口(配置TF 存储卡)4、千兆以太网PHY芯片2;千兆以太网PHY芯片2通过千兆以太网接口10与SO-DIMM接口1连接; Zynq-7000芯片5通过高速环网接口7与SO-DIMM接口1连接。所有组成部件全负载运行时,计算单元的实际功耗约为10W左右,及整个计算节点的实际功耗仅为20W。
具体地,整个计算节点条插在匹配的业务刀片上,可实现大规模系统的互连与构建,其中,SO-DIMM接口1为数据发送接收的端口,服务器通过业务刀片将发送指令及数据传递给SO-DIMM接口1,若计算单元准备就绪,则服务器与计算单元成功连接,进而实现任务的分发、计算、结果返回等等处理操作。
如图4所示:计算单元的启动过程。系统上电复位后,Cortex-ARM9片上处理系统8即开始进行配置,对Flash 3和micro SD存储卡4等基本外设控制器进行初始化,使得Cortex-ARM9片上处理系统8可以访问这些外设,之后从NOR Flash 3和micro SD存储卡4中加载启动镜像。镜像加载成功后便启动第一阶段的启动加载器(FSBL,First Stage Boot Loader),首先完成MIO,Clock,DDR及其他器件初始化,然后获取分区并验证header,验证通过后,从选中的启动flash或TF中加载分区。如果有bitstream则配置FPGA,如果有应用程序则拷贝到DDR中,紧接着加载U-boot,完成Linux内核device- tree的加载,并最终完成Linux内核根文件系统加载,系统正常启动。
如图5所示:计算单元的计算流程。在系统正常启动准备就绪后,服务器便将准备好的需要处理的数据通过以太网传输给ARM,ARM根据具体应用对数据进行相应的处理以得到需要FPGA计算的数据,然后将这些数据通过AXI总线接口传输至FPGA端的APB总线上,并最终传输至FPGA端的应用计算模块上进行计算;应用计算模块完成计算后,将计算结果返回到ARM端,ARM对计算结果进行验证,如果验证通过,则将结果返回到服务器端,任务结束。
本发明采用SO-DIMM计算机内存类型的外形尺寸(133.35mm*40mm),在节点上设置了两个计算单元,所述计算单元设置了集成了双核的Cortex-ARM9片上处理系统及28nm的低功耗FPGA的Zynq-7000芯片,以及DDR3内存、Flash、micro SD存储接口(配置TF 存储卡)、千兆以太网PHY芯片、高速环网接口等。整个计算节点功耗不到20W,相比一块GPU卡的235W,功耗降低了10倍之多,而计算性能是一块GPU卡(GTX580)的2倍之多。
本发明结构新颖、紧凑、密度高,可低功耗、低成本地实现不同应用的高效能计算,适应范围广,性能稳定,安全可靠。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

基于ARM和FPGA的高性能计算节点及计算方法.pdf_第1页
第1页 / 共9页
基于ARM和FPGA的高性能计算节点及计算方法.pdf_第2页
第2页 / 共9页
基于ARM和FPGA的高性能计算节点及计算方法.pdf_第3页
第3页 / 共9页
点击查看更多>>
资源描述

《基于ARM和FPGA的高性能计算节点及计算方法.pdf》由会员分享,可在线阅读,更多相关《基于ARM和FPGA的高性能计算节点及计算方法.pdf(9页珍藏版)》请在专利查询网上搜索。

本发明公开了一种基于ARM和FPGA的高性能计算节点,计算节点条上包括两个计算单元,所述计算单元集成有ARM片上处理系统和FPGA,所述FPGA通过AXI总线接口与ARM连接,所述计算单元连接SO-DIMM。结构新颖、紧凑、密度高,通过对FPGA进行特定程序算法优化,可以大大提高对特定应用程序的执行效率,同时还可以大大降低系统的功耗,并降低系统TCO(总体拥有成本);能根据不同的用途对应用计算模块。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1