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

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

3天内不再提示

关于基于龙芯3A1500的计算加速模块的设计方法

电子设计 来源:网络整理 作者:工程师吴畏 2018-06-27 09:21 次阅读

0 引言

军事技术信息化越来越深入的今天,传统加固计算机只依靠CPU进行数据处理的方式已不能满足对高速计算的高要求,对于研发高性能数据处理能力的计算机技术的需求已愈发强烈。遵守加固计算机通用化、系列化、模块化的设计思路,在现有通用计算机平台上,兼容现有标准体系,提升计算机处理能力,是现在重点研究的方向。

国际上对高速计算技术已发展的比较成熟,不断发布高速处理器GPU协助计算方法等,计算加速效果非常良好。但国外提供的软硬件存在安全隐患,可能在处理器及软件系统中被设置后门和漏洞[1],使我方设备及数据安全性受到严重威胁。

深刻挖掘我国自有技术潜力[2-3],开发自主可控的具有高速计算能力的技术至关重要[4]。本文提出一种基于国产龙芯处理器的计算加速技术,采用3A1500+2FPGA的模式,搭配我国自主开发的麒麟操作系统,能够在软件硬件方面达到自主可控,满足对高速计算技术的需求。

1 设计思路

为了提高计算处理模块的通用性,兼具FPGA计算定制能力和CPU操作系统兼容性,CPU+FPGA的模式[5-6]可以充分发挥龙芯平台的特长,又可弥补高性能计算方面不足,是一种适合现有军用需求的设计思路。本设计名为基于龙芯3A1500的计算加速模块,简称计算加速模块。

2 硬件设计

基于龙芯3A1500的计算加速模块功能框图如图1所示,以龙芯3A1500处理器为核心[7],搭配AMD 780E+SB710芯片组,构成模块硬件主框架。计算加速模块采用高速DDR3内存芯片,结合两片高性能FPGA芯片,以提供高性能的计算能力。本模块制版采用标准6U VPX总线架构,具有较强的抗恶劣环境能力,适用于对计算能力要求较高的舰载、车载设备。

关于基于龙芯3A1500的计算加速模块的设计方法

龙芯3A1500处理器为龙芯系列4核处理器,最高工作频率1 GHz,片内集成2个64位400 MHz的DDR3控制器、2个16位800 MHz的HT控制器。龙芯3A1500的双HT总线接口为连接FPGA,以提高计算能力的方式提供了高速接口。计算加速模块采用AMD 780E芯片作为主模块的北桥,通过北桥的HT总线接口与龙芯3A1500处理器连接;通过DDR3显存芯片实现显示存储空间的扩展;通过北桥PCIE X1接口与Inteli210千兆网络芯片连接;利用北桥A-LINK高速总线,实现与南桥的互联。此外,北桥芯片还提供1路PCIE X16接口(可拆分为2路PCIE X8)和1路PCIE X2接口,用于系统内的功能模块扩展,并连接于VPX连接器;北桥提供显示功能,支持VGA及DVI显示接口。南桥内部集成丰富的功能外设接口,包括高速A-LINK、USBSATA以及LPC接口等,USB、SATA接口可直接从南桥输出,PS/2接口可通过南桥的LPC总线挂接SuperIO实现。

为实现较强的计算能力,计算加速模块搭载两块FPGA芯片,FPGA芯片采用Xilinx公司的高性能VIRTEX-6。FPGA0通过HT总线与龙芯3A1500实现通信,并通过PCIE X8总线与北桥780E连接,外出两路RapidIO X4高速串行总线,满足高速数据交换的需求。FPGA1通过PCIE X8总线与北桥780E连接,外出一路RapidIO X4高速串行总线。

2.1 电源电路设计

电源作为电路运行的动力和载体,电源设计是电路设计的基础。合格的电源设计,需要在充分了解各器件及电路需求的前提下,配备好各电源电压、功耗分配、纹波干扰等。通过本设计供电电路及转换电源,提供各器件工作所需电压,具体的电源分配如图2所示。

关于基于龙芯3A1500的计算加速模块的设计方法

本模块涉及电源种类较多,设计思路为通过统一电源供电,在模块设计各种电源转换电路,提供各器件工作所需各电压。在本设计中,依据VPX架构的特点,电源输入统一由12 V供电,理论上可提供300 W以上的功率,而本模块功耗在60 W以内,可满足功耗需求。

CPU核心电压CPU_1.1V由12 V直流电源经DC-DC模块转化而来,最高可提供30 A 1.1 V电源。12 V经DC-DC模块转化为1.5 V、2.5 V、1.0 V,分别给予内存、FPGA供电。5 V电压由12 V转化提供,后经过LDO芯片转化为其他板级电压。

2.2 时钟电路设计

本设计中时钟设计涉及器件主要有龙芯3A1500、南北桥及FPGA芯片。龙芯3A1500处理器通过外部的晶振等时钟源提供其所需的工作时钟;外接的14.318 MHz晶体通过外部时钟发生器,为南桥、北桥以及PCIE设备提供其所需的工作时钟,模块的时钟分配见图3。

关于基于龙芯3A1500的计算加速模块的设计方法

2.3 复位电路设计原理

本设计采用MAX706决定整个模块的复位。首先上电复位后由VPX连接器提供电源和原始的复位信号,主模块中MAX706负责完成对CPU、南桥和外围电路的复位工作,芯片内部集成严格的时序逻辑控制电路,可以保证系统按照严格的时序进行复位,完成稳定启动。系统可以通过CPU的GPIO信号控制系统整体复位。系统复位电路原理框图如图4所示。

关于基于龙芯3A1500的计算加速模块的设计方法

2.4 DDR3电路设计原理

为提高模块抗恶劣环境能力,计算加速模块内存采用全板载DDR3颗粒实现双通道设计方式。龙芯3A1500处理器内部集成两路存储控制器MC0和MC1,存储控制器MC能提供标准的DDR3存储设备接口,可以实现与外部DDR3芯片的数据传输。

龙芯3A1500最多支持4个片选cs、16 bit行列地址总线和3 bit逻辑bank总线。本设计中选用10片DDR3内存颗粒,单片颗粒容量4 Gb,16 bit数据位宽。其中8片组成4 GB运行内存,2片组成ECC纠错内存。所设计内存电路内存频率为400 MHz。

3 软件设计

为实现本文提出的基于龙芯3A1500的计算加速方法,需要为计算加速模块进行软件设计。计算加速模块软件设计主要包括操作系统相关设计及计算加速软件设计。对于操作系统,基于软硬件国产化的需求,选择近年来发展较好的中标麒麟操作系统,在中标麒麟操作系统基础上进行对应龙芯3A1500平台的操作系统移植及驱动设计;计算加速软件的设计,可充分发挥计算加速模块双FPGA优异的计算性能,协调系统合理分配资源,将FPGA融入到计算过程中。

3.1 操作系统移植及驱动设计

中标麒麟操作系统是基于Linux内核开发的一套系统,故其驱动和软件开发基本遵循Linux开发流程。内核移植在技术上以开源Linux操作系统为主,采用交叉编译的方式进行移植开发,修改处理器初始化及硬件驱动等相关代码,针对处理器架构进行中标麒麟系统移植。结合龙芯3A1500处理器硬件平台的特点,设计和开发龙芯3A1500处理器的支持模块。主要完成处理器初始化代码、相关驱动的修改,使其支持网络功能,支持JFFS2、YAFFS文件系统[8];修改设计MTD分区,使内核可以挂载存储设备上的文件系统。

3.2 计算加速软件设计

计算加速模块包含CPU和FPGA,CPU执行软件指令,FPGA可根据需要被配置成不同结构的硬件加速器。硬件加速器的配置及运行由处理器(软件)控制,对软件编写提出了较高要求,需对整个配置过程及加速器的接口细节进行全面了解方可完成程序构建。软硬件协同计算屏蔽了硬件细节,提供一个硬件透明的编程模型,可重构硬件以函数的形式进行抽象,即硬件实现程序化,简单调用硬件函数可实现可重构硬件的搭建。硬件函数的形式与使用方式与其他软件函数库中的函数一样,整个底层硬件的具体细节对其是透明的[9]。

硬件函数的运行需要提供相应的软硬件支撑环境,按图5所示的层次结构设计支持硬件透明编程的可重构系统。整个系统分为五层,应用层以下是片上系统的软硬件基本结构,是通用的。针对不同的应用,只需要编写相应的应用程序即可。

关于基于龙芯3A1500的计算加速模块的设计方法

各层的功能:软硬件任务设计库提供了混合任务编程接口,结合软件函数库和硬件函数库,可以按照传统的软件编程方式,设计出软硬件高度混合的系统。软/硬件任务调度器和可重构资源管理器对硬件函数的调用、运行状态等进行管理,并跟踪和管理可重构资源。硬件函数与软件函数在运行方式与物理基础上存在本质的差异,软件函数是串行执行的指令集合,硬件函数是二维的逻辑电路,可以与CPU同步执行,加入相应的硬件函数管理模块可建立统一的软硬件运行过程。可重构资源管理器应随时跟踪管理可重构资源的使用情况,为调用的硬件函数分配合适的资源。

4 性能对比测试

本模块的创新点是在龙芯3A1500平台上,设计了通过双FPGA对龙芯3A1500模块进行计算加速,在延续现有软硬件环境的同时,提高国产化计算机的计算性能。因此,在对计算加速模块进行性能测试时,重点考虑FPGA对模块加速效果的测试。

本文对计算加速模块的方法为:在两个FPGA上不停地执行FFT[10]、DES加密、RK微分方程组、解算π、快速排序等多种算法,测试计算消耗时间,对消耗时间进行比对,得到计算加速比数据。

加速比τ=加速前消耗时间/加速后消耗时间

在其他计算机平台上,选用合适的软硬件对以上算法以一定方式实现,测试各计算时间。将计算出的数据与其他计算机平台进行比较,验证FPGA对计算加速模块的加速效果。

本测试所选用测试计算机平台为国际通用的X86平台在我国加固领域应用较广的Intel Core Duo L2400双核。各测试计算机平台信息如表1所示。

关于基于龙芯3A1500的计算加速模块的设计方法

各平台测试计算运行时间对比如图6所示。

关于基于龙芯3A1500的计算加速模块的设计方法

龙芯3A1500处理器标称主频为1 GHz,但在本文所搭建系统实测时,其稳定工作主频为800 MHz,因此本测试中龙芯3A1500工作频率为800 MHz。

由图6可以看出,即使LS2400为双核处理器,在内存2 GB的情况下,计算性能仍然较为优秀,说明X86平台计算性能优异。在800 MHz的工作频率下,龙芯3A1500在计算性能比之LS2400差异明显,3A1500+2FPGA模式可以大大提高龙芯3A1500计算机的计算性能,加速比除DES加密计算略低于5之外(需要对算法继续优化),其他算法均超过5,综合计算性能优越。因此本设计中,龙芯3A1500+2FPGA的模式大大弥补了龙芯3A1500在计算处理能力方面的不足。图7为统计3A1500+2FPGA模式下针对各算法的计算加速比。

关于基于龙芯3A1500的计算加速模块的设计方法

5 结束语

本文介绍了基于龙芯3A1500的计算加速模块的设计方法,包括设计思路、硬件设计方案、软件设计方案,最后给出性能对比测试。结果表明,3A1500+2FPGA模式大大提升了龙芯3A1500平台的整体的计算性能,平均计算加速比达到5以上,增强了基于国产化处理器计算机模块的计算性能,对于我国加固计算机在高性能方向的发展有着积极的意义。

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

    关注

    1629

    文章

    21746

    浏览量

    603748
  • 模块
    +关注

    关注

    7

    文章

    2714

    浏览量

    47518
  • amd
    amd
    +关注

    关注

    25

    文章

    5470

    浏览量

    134220
  • 龙芯
    +关注

    关注

    3

    文章

    343

    浏览量

    31260
收藏 人收藏

    评论

    相关推荐

    迅为3A6000_7A2000开发板龙芯全国产处理器与龙芯 3A5000完全兼容

    龙芯 3A6000 处理器完全自主设计、性能优异,代表了我国自主桌面 CPU 设计领域的最新里程碑成果。龙芯 3A6000 处理器的推出,说明国产 CPU 在自主可控程度和产品性能上已
    发表于 11-19 11:15

    我们的龙芯3号---致龙芯15周年(上篇)

    中度过。在此后龙芯CPU问题的攻关中,一直沿袭了晚上例会安排工作的方法。2009年5月20日龙芯3A1000晶圆生产下线,9月28日样片回来,成功启动操作系统,主频800MHz-1GH
    发表于 10-28 09:58

    我国首台龙芯3A高性能计算机诞生

    我国首台龙芯3A高性能计算机诞生记者从中国科学技术大学获悉,我国首台采用国产高性能通用处理器芯片“龙芯3A”和其他国产器件、设备和技术的万亿
    发表于 04-22 09:38 1038次阅读

    龙芯公布下一代 CPU 3A4000 系列产品

    日前,龙芯在发布会上发布了3A3000和一系列产品。而且发布会上还公布了龙芯开发者计划、龙芯高校计划、龙芯产业基金。不过,笔者本文介绍的是
    发表于 05-03 01:06 6966次阅读

    关于龙芯三号简单介绍_龙芯三号规格及硬件开发系统

    本文主要关于龙芯三号简单介绍以及龙芯三号规格及硬件开发系统。龙芯系列处理器芯片是龙芯中科技术有限公司研发的具有自主知识产权的处理器芯片,产品
    发表于 01-06 09:23 1.2w次阅读
    <b class='flag-5'>关于</b><b class='flag-5'>龙芯</b>三号简单介绍_<b class='flag-5'>龙芯</b>三号规格及硬件开发系统

    龙芯新发布3A3000+7A的嵌入式设备

    龙芯科技推出一款搭载龙芯最新一代3A3000四核处理器的嵌入式模块产品——龙芯3A3000+7A
    发表于 08-14 11:32 1535次阅读

    龙芯3A4000的性能水平公布 可达到国际主流CPU的水平

    龙芯是中科院下属的计算机所研发的自主产权国产处理器,现在已经由中科龙芯公司商业化,再过几天他们又要发布新一代龙芯处理器——龙芯
    发表于 12-20 10:45 9252次阅读

    龙芯3A4000处理器的性能测试,相同主频性能提升幅度超过100%

    龙芯是中科院下属的计算机所研发的自主产权国产处理器,现在已经由中科龙芯公司商业化,再过几天他们又要发布新一代龙芯处理器——龙芯
    的头像 发表于 12-20 15:35 1.5w次阅读

    国产龙芯3A5000微型电脑的性能

    龙芯3A5000平台适配完成的杀毒软件包括:360终端安全防护系统、奇安信网神终端安全防护系统、江民信创版杀毒软件、瑞星ESM防病毒系统、辰信领创防病毒系统。 研恒科技推出的BOX-T5A11-LX微型
    发表于 10-28 09:25 1951次阅读

    龙芯3A5000/3B5000采用LoongArch国产自主指令集架构

    3A5000处理器内置了安全模块,可以对Meltdown(熔断)和Spectre(幽灵)两个经典CPU漏洞有效免疫,支持内置加解密算法和安全可信模块。   自今年7月份推出,龙芯
    的头像 发表于 01-06 19:19 4644次阅读

    龙芯中科工控领域定制芯片龙芯2K1500流片成功

    近日,龙芯中科面向电力、轨交、智能制造、工业网络安全等行业工控应用定制的芯片产品--龙芯2K1500完成流片后的初步功能调试及性能测试,各项功能正常,性能符合预期,标志着龙芯2K
    的头像 发表于 01-07 13:45 2983次阅读

    龙芯3C5000 16核处理器全国产工业计算模块成功上市

    为应对工业领域高性能自主化解决方案的需求,采用龙架构的龙芯3C5000 16核处理器全国产工业计算模块成功上市。
    发表于 09-22 18:28 888次阅读
    <b class='flag-5'>龙芯</b><b class='flag-5'>3</b>C5000 16核处理器全国产工业<b class='flag-5'>计算</b>机<b class='flag-5'>模块</b>成功上市

    龙芯3a5000和3a3000的区别

    龙芯3a5000和3a3000的区别如下: 龙芯3A5000是面向个人计算机、服务器等信息化领域
    的头像 发表于 10-16 16:09 2374次阅读

    国产龙芯3A6000微型计算机BOX-T6A11-LX,加速国产化替代

    龙芯中科发布新一代龙芯3A6000处理器,作为龙芯产业链优秀的合作伙伴,我司研发出基于龙芯3A6
    的头像 发表于 12-18 15:59 726次阅读
    国产<b class='flag-5'>龙芯</b><b class='flag-5'>3A</b>6000微型<b class='flag-5'>计算</b>机BOX-T6<b class='flag-5'>A</b>11-LX,<b class='flag-5'>加速</b>国产化替代

    龙芯ITX主板GM7-3601搭载龙芯3A5000处理器的工控主板

    买国产计算机,就选集特智能。龙芯一直是关心国产的小伙伴们所关注的重点,龙芯3A5000基于龙芯自主指令系统LoongArch的LA464微结
    的头像 发表于 08-02 08:14 525次阅读
    <b class='flag-5'>龙芯</b>ITX主板GM7-3601搭载<b class='flag-5'>龙芯</b><b class='flag-5'>3A</b>5000处理器的工控主板