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
    +关注

    关注

    1602

    文章

    21309

    浏览量

    593126
  • 模块
    +关注

    关注

    7

    文章

    2480

    浏览量

    46522
  • amd
    amd
    +关注

    关注

    25

    文章

    5193

    浏览量

    132632
  • 龙芯
    +关注

    关注

    2

    文章

    303

    浏览量

    30859
收藏 人收藏

    评论

    相关推荐

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

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

    龙芯1c单片机上如何使用ESP8266 wifi透传模块

    关于ESP8266模块的引脚需要注意哪些事项?在龙芯1c单片机上如何使用ESP8266 wifi透传模块呢?
    发表于 10-26 07:33

    【广东龙芯2K500先锋板试用体验】CPU性能基准测试——CoreMark和计算质数

    【广东龙芯2K500先锋板试用体验】CPU性能基准测试——CoreMark和计算质数一、CoreMark简介什么是CoreMark?来自CoreMark首页的解释是:CoreMark is a
    发表于 02-03 19:55

    龙芯3A6000今年上半年流片,已评估7nm工艺

    国产CPU公司龙芯2021年发布了龙芯3A5000系列处理器,支持自研的LoongArch指令集架构,做到了100%自主。日前该公司在接受调研时透露了下一代产品,也就是龙芯
    发表于 03-13 09:52

    Loongnix系统龙芯四核3A5000_7A2000主板

    CPU:龙芯四核 3A5000 处理器主频:2.3GHz-2.5GHz桥片:7A2000内存:8GB、16GBDDR4 带 ECC 纠错运行温度:0℃到 70℃功耗:35W系统:Loongnix尺寸
    发表于 03-14 10:31

    龙芯3A5000+7A1000桥片台式主机

    龙芯3A5000+7A1000桥片台式主机
    发表于 04-03 11:23

    广东龙芯LS2K500先锋板使用入门

    1.计算机体系结构基础(LoongArch)-3rd https://foxsen.github.io/archbase/bookdown.pdf 2.龙芯架构参考手册 - 卷一:基础架构
    发表于 05-27 12:05

    迅为龙芯3A5000_7A2000运行国产Loongnix、银河麒麟、统信UOS以及实时系统翼辉SylixoS系统

    iTOP-3A5000开发板采用全国产龙芯3A500处理器,基于龙芯自主指令系统 (LoongArch)的LA464微结构,并进一步提升频率,降低功耗,优化性能。在与
    发表于 09-26 10:33

    龙芯3A6000性能实测:媲美10代酷睿i3、同频超越14代酷睿i5

    昨天新一代国产CPU龙芯3A6000正式发布。 按照官方的说法,其总体性能与英特尔2020年上市的第10代酷睿四核处理器相当。 发布会上,龙芯中科公布了3A6000和Intel-i
    发表于 11-29 10:44

    基于龙芯2E的AMC处理器模块设计

    基于龙芯2E的AMC处理器模块设计摘要:介绍基于国产通用处理器的嵌入式高级夹层卡(AMC)处理器模块的设计和实现。该模块龙芯2E CPU
    发表于 06-04 16:46 29次下载

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

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

    关于UART/CAN/PLL时钟计算波特率的方法

    SWM系列关于UART/CAN/PLL等时钟相关模块计算波特率的方法
    的头像 发表于 03-18 16:52 6413次阅读

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

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

    详解龙芯自研双核工控处理器2K1500 功耗仅2.8W

    近日,据龙芯中科官方新闻,龙芯2K1500芯片已经流片成功,面向电力、轨交、智能制造、工业网络安全等工控应用定制。 龙芯2K1500完成流片
    的头像 发表于 01-12 18:11 1113次阅读

    龙芯2K1500工控芯片全球首套控制器成功并网商用

    龙芯中科基于自主LoongArch龙架构指令集的龙芯2K1500工控芯片,近日取得重大突破,基于该芯片的全球第一套控制器,经历了142天的不间断运行,稳定通过并网商用考验。 大唐科研总院与龙芯
    的头像 发表于 06-08 16:39 786次阅读
    <b class='flag-5'>龙芯</b>2K<b class='flag-5'>1500</b>工控芯片全球首套控制器成功并网商用