CN106326084A - 一种用于粗粒度可重构阵列的系统级功耗建模方法 - Google Patents
一种用于粗粒度可重构阵列的系统级功耗建模方法 Download PDFInfo
- Publication number
- CN106326084A CN106326084A CN201610675832.2A CN201610675832A CN106326084A CN 106326084 A CN106326084 A CN 106326084A CN 201610675832 A CN201610675832 A CN 201610675832A CN 106326084 A CN106326084 A CN 106326084A
- Authority
- CN
- China
- Prior art keywords
- power consumption
- data
- coarse
- modeling method
- level power
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Supply And Distribution Of Alternating Current (AREA)
Abstract
本发明提供了一种用于粗粒度可重构阵列的系统级功耗建模方法包括:建立指令查找表;根据所述指令查找表确定单一指令的功耗;将所述单一指令的功耗累加获得系统级功耗。先前技术并没有对系统级的面向粗粒度可重构系统的功耗建模方法,而本发明为粗粒度可重构系统的架构提出了一种用于粗粒度可重构阵列的系统级功耗建模方法,从而能在模型的基础上指导系统进行优化,具有现实意义,在系统级层面提出了功耗模型,流程简单,能在系统级进行功耗的模拟,极大的提高了生产效率。
Description
技术领域
本发明涉及通讯技术领域,特别涉及一种用于粗粒度可重构阵列的系统级功耗建模方法。
背景技术
自20世纪60年代开始,可重构计算的概念开始进入了人们的视野,并且由美国加利福尼亚大学的Geraid Estrin研制出了原型系统。可重构计算是为了弥补指令集通用处理器性能与ASIC灵活性的不足,获取优于通用处理器性能和高于ASICS灵活性的一种介于两者之间的一种结构。而可重构系统就是基于可重构计算结构的一种体系架构。依照可重构系统的粒度划分,可以将可重构系统分为三种:细粒度、粗粒度与混合粒度。
可重构架构的应用最早开始于现场可编程门阵列(FPGA,Field ProgrammableGate Arrays),随着FPGA在工业领域中取得成功,可重构计算结构引起了人们的注意。FPGA是一种典型的细粒度体系架构,其基本的处理单元是逻辑门,且由逻辑单元之间的互联构成整个互联通路,应用广泛,灵活性高。然而FPGA也存在一些不足之处,首先在实现中由于其资源过于丰富,导致布线后面积和功耗增大,性能降低;其次,FPGA由于基本单元是门级单元,所以需要大量的配置数据,配置时间冗长。为了克服其不足,粗粒度可重构系统(CGRA)便应运而生。与FPGA相比,CGRA在灵活性与泛用性上存在一定的劣势,但其运算性能十分强大,十分适用于密集型算法;同时其需要的配置信息较FPGA要少,减少了大量的配置字传输与配置时间,有利于CGRA在处理过程中实现动态配置。
CGRA作为一种比较新颖的体系架构,设计空间尤为巨大。由于设计空间困难,开发时间紧张,故在系统开发设计过程中,对于CGRA系统的硬件架构、映射方法、功耗分析就显得尤为重要。在设计阶段,一般CGRA系统的映射结构和硬件架构可以在系统级决定,并分析其执行效率与优化空间;对于功耗来说,常规的技术手段一般是从微电子工艺出发,通过可变的电压频率对系统降低功耗提供接口。但对于功耗优化来说,软件优化降耗则会有数量级的贡献[5]。所以,如果在前期设计中的系统级就进行功耗的建模及优化,则可以在功耗优化的基础上降低设计成本、缩短产品上市时间。对于CGRA系统来说,具体的体系结构如图1所示,其中功耗最大的部分则是粗粒度可重构阵列部分,如图2所示,为粗粒度可重构系统平均功耗分布,可以看出,阵列部分的功耗占到了总功耗的40%以上,如果是8个PEA阵列,功耗将占到系统功耗的65%,所以功耗优化最主要的部分就是对于可重构阵列的优化。
综合国内和国外当前的研究情况,当前的系统级功耗模型主要有以下几种:
一、指令级功耗模型
这种模型在商业处理器上比较常用,主要方法是利用实验的手段,通过测量各条指令以及指令对的执行功耗而建立其功耗模型。该种功耗模型与以往的功耗模型不同的主要有以下两点:
1)该电路的黑盒模块不是由完整的模块构建,而是由其中的部分功能单元构成,举例来说,如果进行ADD运算,ALU的黑盒模块就是一个加法器的运算部分,该模块的总功率由该部分的前输入和当前输入决定。
2)该模型的工作主要是模拟和分析程序序列,而不是为程序预测平均的功率。可以看出,该模型是一种简捷的在系统级进行功耗仿真的一种模型,这种模型可以快速的分析出该程序的总功耗,并且由于系统的指令集较少,所以只需要一个很小的指令查找表就能完成功耗分析工作。而这种模型的缺点在于模型无法区分系统内部的主要功耗源,所以在不知道系统重点功耗源之前,无法指导系统体系结构层的设计;其次,该模型认为的平均功耗忽略了漏电功耗、短路功耗与门单元内部的充放电功耗,是一个较为粗糙的模型,很难对整个系统优化做出精确指导。
二、部件级功耗模型
部件级功耗模型主要用于描述系统的各个模块(如ALU,Cache,Register file)等的功耗,是在系统软硬件协同设计的基础上进行分析,并指导系统体系结构的设计,部件级功耗模型可以清晰的表现系统的重点功耗源,并以此为基础对系统进行功耗优化与仿真。部件级功耗模型主要分为两种,一种简单直观的建模方法是由Huzefa等人提出的前输入相关模型,该方法是建立一张以前次输入和当次输入为索引的开关电容表,在仿真的时候通过指令查找表得出每次输入所引起的开关电容,这种功耗模型能够提供非常精确的对功耗进行评估,然而采取该模型需要建立一张一一对应的指令查找表并进行查找,举例来说,如果一个部件有n个输入,则对于该模型来说,需要建立一张22n大小的指令查找表,其资源和时间开销是十分巨大的。另一种方法是对于某个部件,其各个输入并非是直接作用于输出的,而是经过中间节点的反转后,间接的作用在输出上的,对于输入不同的数据,当信号发生切换时,如果内部信号和输出信号不发生反转,我们就可以将这些信号归位一组,这就使得前输入模型的指令查找表长度大大的减小了。然而部件级的功耗分析方法需要通过多组实验建表,得出其基本数据,基于基本数据再进行优化分析,如果进行了优化分析,则需要重新建表,再以此为基准建立功耗模型进行分析,在多次建立指令查找表的过程中会浪费大量的时间。
对于上述两个系统级功耗模型都有不同的缺点,主要存在以下两点:
1)指令查找表需要大量时间资源和空间资源,且每次进行优化时都会重写指令查找表;
2)指令级功耗模型以系统的ISA为切入点,描述了指令序列执行时的功耗特征,但无法区分系统内部的主要功耗源,所以在不知道系统重点功耗源之前,无法指导系统进行设计,且该模型较为粗糙,很难对整个系统优化做出精确指导。
因此,为了兼顾目标代码优化与体系结构设计优化的需求,一种改进的系统级功耗模型的提出就显得尤为重要。
发明内容
为了解决上述问题,本发明提供用于粗粒度可重构阵列的系统级功耗建模方法,包括:
建立指令查找表;
根据所述指令查找表确定单一指令的功耗;
将所述单一指令的功耗累加获得系统级功耗。
优选的,在所述的用于粗粒度可重构阵列的系统级功耗建模方法中,通过实验数据建立指令查找表。
优选的,在所述的用于粗粒度可重构阵列的系统级功耗建模方法中,所述实验数据包括:数据来源、数据去向和算术逻辑单元。
优选的,在所述的用于粗粒度可重构阵列的系统级功耗建模方法中,所述数据来源的取值包括:立即数的数据、共享存储的数据、寄存器文件的数据、计算单元的数据、通过寄存器文件定位到共享存储的数据和通过计算单元定位到共享存储的数据中的一种或多种。
优选的,在所述的用于粗粒度可重构阵列的系统级功耗建模方法中,所述数据去向的取值包括:立即数的数据、共享存储的数据、寄存器文件的数据、计算单元的数据、通过寄存器文件定位到共享存储的数据和通过计算单元定位到共享存储的数据中的一种或多种。
优选的,在所述的用于粗粒度可重构阵列的系统级功耗建模方法中,所述算术逻辑单元包括:数学运算和/或逻辑运算。
优选的,在所述的用于粗粒度可重构阵列的系统级功耗建模方法中,所述数学运算包括:加、减、绝对值和乘中的一种或多种。
优选的,在所述的用于粗粒度可重构阵列的系统级功耗建模方法中,所述逻辑运算包括:与、或、异或、非、逻辑左移和逻辑右移中的一种或多种。
优选的,在所述的用于粗粒度可重构阵列的系统级功耗建模方法中,通过如下公式获得系统级功耗,
其中,Mi表示对应PEi的单一指令能耗矩阵,Ni表示对应PEi的单一指令执行次数矩阵,IN1和IN2表示数据来源,OUT表示数据去向,OP表示算术逻辑单元。
本发明提供的用于粗粒度可重构阵列的系统级功耗建模方法具有以下有益效果:
1)在系统级层面提出了功耗模型,流程简单,能在系统级进行功耗的模拟,极大的提高了生产效率;
2)先前技术并没有对系统级的面向粗粒度可重构系统的功耗建模方法,而本发明为粗粒度可重构系统的架构提出了一种用于粗粒度可重构阵列的系统级功耗建模方法,从而能在模型的基础上指导系统进行优化,具有现实意义;
3)本发明对于功耗的计算与实际测算功耗误差在10%以内,可以看出通过本发明指导功耗优化是可行的,从而可以在系统级就对功耗进行分析。
附图说明
图1是CGRA系统的体系结构示意图;
图2是粗粒度可重构系统平均功耗分布示意图;
图3是本发明实施例的用于粗粒度可重构阵列的系统级功耗建模方法的流程图;
图4是本发明实施例将模型计算功耗结果与测试算法执行实际结果进行误差分析与比对图。
具体实施方式
以下将以图式揭露本发明的复数个实施方式,为明确说明起见,许多实务上的细节将在以下叙述中一并说明。然而,应了解到,这些实务上的细节不应用以限制本发明。也就是说,在本发明部分实施方式中,这些实务上的细节是非必要的。此外,为简化图式起见,一些习知惯用的结构与元件在图式中将以简单示意的方式绘示之。
请参考图3,其是本发明实施例的用于粗粒度可重构阵列的系统级功耗建模方法的流程图。如图3所示,本发明提供一种用于粗粒度可重构阵列的系统级功耗建模方法,具体包括以下步骤:
步骤一:建立指令查找表;
在本实施例中,通过实验数据建立指令查找表。所述实验数据包括:数据来源(INPUT)、数据去向(OUTPUT)和算术逻辑单元(OP)。
如表1所示,表1呈现了ALU(算术逻辑单元)指令查找表结构。
表1
对于每个数据,当确认其四个变量后可得到其功耗,如表2所示,表2呈现了这四个变量的符号和取值。
表2
其中,取值意义如下所示:
INPUT1/INPUT2/OUTPUT:两个输入和一个输出
-来自立即数的数据:IM
-来自共享存储的数据:SM
-来自寄存器文件的数据:RF
-来自计算单元的数据t:PE
-通过寄存器文件定位到共享存储的数据:SMbyRF
-通过计算单元定位到共享存储的数据:SMbyPE
ALU:PE的算子
-数学运算符:ADD,SUB,ABS,MUL
-逻辑运算符:AND,OR,XOR,SEL,SLL,SRL
由前文可知,指令级功耗模型的核心是对指令查找表的计算过程,而指令查找表的建立则是其最重要的部分。
步骤二:根据所述指令查找表确定单一指令的功耗;
步骤三:将所述单一指令的功耗累加获得系统级功耗。
具体来说,在本实施例中,通过如下公式获得系统级功耗,
其中,Mi表示对应PEi的单一指令能耗矩阵,Ni表示对应PEi的单一指令执行次数矩阵。
当指令查找表建立完毕,需要通过查找ALU查找表,确定单一指令的功耗情况,随后将单一指令的功耗之和计算出来,最终得出程序的具体功耗。
基此,建立了优化的指令级功耗模型,该模型可以统计出指令级功耗模型所需的有关参数,包括某指令的执行条数,平均功耗和总功耗。而为了验证该模型的准确性,需通过将模型计算功耗结果与测试算法执行实际结果进行误差分析与比对。
如图4可以看出,将模型计算功耗结果与测试算法执行实际结果进行误差分析与比对,误差结果在10%以内,可见,用本发明生成的模型分析功耗是可行的。使用这种方法进行功耗建模时,无论是从建模难度还是评估难度上都会大大减少功耗问题的复杂程度。
虽然本发明已以实施方式揭露如上,然其并不用以限定本发明,任何熟习此技艺者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰,因此本发明的保护范围当视后附的申请专利范围所界定者为准。
Claims (9)
1.一种用于粗粒度可重构阵列的系统级功耗建模方法,其特征在于,包括:
建立指令查找表;
根据所述指令查找表确定单一指令的功耗;
将所述单一指令的功耗累加获得系统级功耗。
2.如权利要求1所述的用于粗粒度可重构阵列的系统级功耗建模方法,其特征在于,通过实验数据建立指令查找表。
3.如权利要求2所述的用于粗粒度可重构阵列的系统级功耗建模方法,其特征在于,所述实验数据包括:数据来源、数据去向和算术逻辑单元。
4.如权利要求3所述的用于粗粒度可重构阵列的系统级功耗建模方法,其特征在于,所述数据来源的取值包括:立即数的数据、共享存储的数据、寄存器文件的数据、计算单元的数据、通过寄存器文件定位到共享存储的数据和通过计算单元定位到共享存储的数据中的一种或多种。
5.如权利要求3或4中任一所述的用于粗粒度可重构阵列的系统级功耗建模方法,其特征在于,所述数据去向的取值包括:立即数的数据、共享存储的数据、寄存器文件的数据、计算单元的数据、通过寄存器文件定位到共享存储的数据和通过计算单元定位到共享存储的数据中的一种或多种。
6.如权利要求3所述的用于粗粒度可重构阵列的系统级功耗建模方法,其特征在于,所述算术逻辑单元包括:数学运算和/或逻辑运算。
7.如权利要求6所述的用于粗粒度可重构阵列的系统级功耗建模方法,其特征在于,所述数学运算包括:加、减、绝对值和乘中的一种或多种。
8.如权利要求6所述的用于粗粒度可重构阵列的系统级功耗建模方法,其特征在于,所述逻辑运算包括:与、或、异或、非、逻辑左移和逻辑右移中的一种或多种。
9.如权利要求1所述的用于粗粒度可重构阵列的系统级功耗建模方法,其特征在于,通过如下公式获得系统级功耗,
其中,Mi表示对应PEi的单一指令能耗矩阵,Ni表示对应PEi的单一指令执行次数矩阵,IN1和IN2表示数据来源,OUT表示数据去向,OP表示算术逻辑单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610675832.2A CN106326084A (zh) | 2016-08-17 | 2016-08-17 | 一种用于粗粒度可重构阵列的系统级功耗建模方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610675832.2A CN106326084A (zh) | 2016-08-17 | 2016-08-17 | 一种用于粗粒度可重构阵列的系统级功耗建模方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106326084A true CN106326084A (zh) | 2017-01-11 |
Family
ID=57740530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610675832.2A Pending CN106326084A (zh) | 2016-08-17 | 2016-08-17 | 一种用于粗粒度可重构阵列的系统级功耗建模方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106326084A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918339A (zh) * | 2019-02-22 | 2019-06-21 | 上海交通大学 | 一种针对粗粒度可重构结构的基于相似性的指令压缩方法 |
CN110262616A (zh) * | 2019-05-22 | 2019-09-20 | 西安理工大学 | 一种超细粒度控制门级单元电源供应的方法 |
CN111008133A (zh) * | 2019-11-29 | 2020-04-14 | 中国科学院计算技术研究所 | 粗粒度数据流架构执行阵列的调试方法及装置 |
CN113792352A (zh) * | 2021-08-18 | 2021-12-14 | 中山大学 | 一种功耗均衡的指令调度优化方法、系统、装置及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101017509A (zh) * | 2006-12-21 | 2007-08-15 | 四川大学 | 一种基于离散Hopfield神经网络的RTOS功耗优化方法 |
CN102129495A (zh) * | 2011-03-07 | 2011-07-20 | 北京大学深圳研究生院 | 一种降低可重构算子阵列结构功耗的方法 |
CN103116526A (zh) * | 2013-02-22 | 2013-05-22 | 中国人民解放军国防科学技术大学 | 高性能异构并行计算机的最大功耗控制方法 |
US20150227490A1 (en) * | 2011-10-05 | 2015-08-13 | Samsung Electronics Co., Ltd. | Coarse-grained reconfigurable array based on a static router |
-
2016
- 2016-08-17 CN CN201610675832.2A patent/CN106326084A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101017509A (zh) * | 2006-12-21 | 2007-08-15 | 四川大学 | 一种基于离散Hopfield神经网络的RTOS功耗优化方法 |
CN102129495A (zh) * | 2011-03-07 | 2011-07-20 | 北京大学深圳研究生院 | 一种降低可重构算子阵列结构功耗的方法 |
US20150227490A1 (en) * | 2011-10-05 | 2015-08-13 | Samsung Electronics Co., Ltd. | Coarse-grained reconfigurable array based on a static router |
CN103116526A (zh) * | 2013-02-22 | 2013-05-22 | 中国人民解放军国防科学技术大学 | 高性能异构并行计算机的最大功耗控制方法 |
Non-Patent Citations (2)
Title |
---|
潘鹏 等: "可重构处理器阵列的系统级建模研究", 《微电子学与计算机》 * |
王爱峰 等: "算法级能耗分析方法研究", 《计算机工程与应用》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918339A (zh) * | 2019-02-22 | 2019-06-21 | 上海交通大学 | 一种针对粗粒度可重构结构的基于相似性的指令压缩方法 |
CN109918339B (zh) * | 2019-02-22 | 2023-03-10 | 上海交通大学 | 一种针对粗粒度可重构结构的基于相似性的指令压缩方法 |
CN110262616A (zh) * | 2019-05-22 | 2019-09-20 | 西安理工大学 | 一种超细粒度控制门级单元电源供应的方法 |
CN111008133A (zh) * | 2019-11-29 | 2020-04-14 | 中国科学院计算技术研究所 | 粗粒度数据流架构执行阵列的调试方法及装置 |
CN111008133B (zh) * | 2019-11-29 | 2021-04-27 | 中国科学院计算技术研究所 | 粗粒度数据流架构执行阵列的调试方法及装置 |
CN113792352A (zh) * | 2021-08-18 | 2021-12-14 | 中山大学 | 一种功耗均衡的指令调度优化方法、系统、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | GRANNITE: Graph neural network inference for transferable power estimation | |
Ma et al. | High performance graph convolutional networks with applications in testability analysis | |
Mojlish et al. | Review of hardware platforms for real-time simulation of electric machines | |
CN106326084A (zh) | 一种用于粗粒度可重构阵列的系统级功耗建模方法 | |
CN103092560B (zh) | 一种基于Bypass技术的低功耗乘法器 | |
CN113343427B (zh) | 一种基于卷积神经网络的结构拓扑构型预测方法 | |
CN108090313A (zh) | 一种复杂岩石裂隙模型建模识别方法 | |
Vasicek | Relaxed equivalence checking: a new challenge in logic synthesis | |
CN104408232B (zh) | 一种高层次综合中的组合逻辑优化方法及系统 | |
CN103699730B (zh) | 一种基于Petri网的组合逻辑FPGA系统可达图的生成方法 | |
CN106484996A (zh) | 一种高压断路器零件的可靠性分析及优化方法 | |
CN116090568A (zh) | 量子数据与经典浮点型数据的大小关系确定方法及装置 | |
CN112433931A (zh) | 基于指数约束的浮点验证数据生成方法 | |
CN114511094B (zh) | 一种量子算法的优化方法、装置、存储介质与电子装置 | |
Bonabi et al. | FPGA implementation of Hodgkin-Huxley neuron model | |
CN115421869A (zh) | 基于数据交互事件驱动的硬件在环仿真方法及装置 | |
He et al. | An asynchronous mesh NoC based booth multiplication | |
CN110489798B (zh) | 面向有源配电网实时仿真的解算器细粒度高效设计方法 | |
Pakkiraiah et al. | Design and FPGA Realization of Energy Efficient Reversible Full Adder for Digital Computing Applications | |
Shu et al. | Reconfigurable computing approach for Tate pairing cryptosystems over binary fields | |
Zhao et al. | A verification method for array-based vision chip using a fixed-point neural network simulation tool | |
Beg et al. | On the reliability estimation of nano-circuits using neural networks | |
Kavitha et al. | An Efficient 32-bit Ladner Fischer Adder derived using Han-Carlson | |
Ni et al. | MEC: An Open-source Fine-grained Mapping Equivalence Checking Tool for FPGA | |
Ke et al. | A generic architecture of complete intrinsic evolvable digital circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170111 |