CN111782454B - 基于指令epi的细粒度gpdsp功耗测试方法、系统及介质 - Google Patents

基于指令epi的细粒度gpdsp功耗测试方法、系统及介质 Download PDF

Info

Publication number
CN111782454B
CN111782454B CN202010778754.5A CN202010778754A CN111782454B CN 111782454 B CN111782454 B CN 111782454B CN 202010778754 A CN202010778754 A CN 202010778754A CN 111782454 B CN111782454 B CN 111782454B
Authority
CN
China
Prior art keywords
power consumption
instruction
gpdsp
epi
program
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.)
Active
Application number
CN202010778754.5A
Other languages
English (en)
Other versions
CN111782454A (zh
Inventor
陈照云
文梅
马奕民
沈俊忠
扈啸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202010778754.5A priority Critical patent/CN111782454B/zh
Publication of CN111782454A publication Critical patent/CN111782454A/zh
Application granted granted Critical
Publication of CN111782454B publication Critical patent/CN111782454B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明公开了一种基于指令EPI的细粒度GPDSP功耗测试方法、系统及介质,本发明基于指令EPI的细粒度GPDSP功耗测试方法包括:解析目标程序的指令流,获取目标程序的各种指令及其出现的次数Ni;结合目标GPDSP平台上的各种指令的EPI,根据目标程序的各种指令及其出现的次数Ni计算目标程序的有功功耗Eactive;获取目标程序的静态功耗Estatic和空载功耗Eidle;将静态功耗Estatic、空载功耗Eidle和有功功耗Eactive相加得到目标程序在目标GPDSP平台上的总功耗E。本发明能够保证测量值稳定,准确度好,可靠性高,而且功耗测试具有良好的通用性和可拓展性。

Description

基于指令EPI的细粒度GPDSP功耗测试方法、系统及介质
技术领域
本发明涉及处理器功耗测试领域,具体涉及一种基于指令EPI的细粒度GPDSP功耗测试方法、系统及介质。
背景技术
随着以处理器为核心的产品和服务的广泛应用和发展,上至大型数据中心,下至小型移动设备,都需要对其功耗进行测试评估,从而进行资源分配调度和程序算法优化,实现性能与能耗的平衡。同时,在芯片设计制造过程中,通过不同架构、不同工艺产品的功耗测试,从而全面比较产品性能。
GPDSP(General Purpose DSP,通用数字信号处理器)技术的发展,使其存储容量和运算速度都得到大幅提升,不仅在通信、计算领域被广泛应用,也逐渐渗透到人们的日常生活中,逐步成为消费级电子产品的核心。而GPDSP产品未来高集成化、高性能化、多核心化的发展趋势,也对其能耗提出了一定的要求,其应用程序和服务的功耗测量自然也不可避免。如何针对单个程序,尤其是在程序运行时功率波动大、变化频率快、运行时间短的情况下,测量其在某个平台上的实际运行功耗,是一项极具挑战的任务。
当前功耗测试方案绝大多数是基于GPU或者ASIC平台,通过测量各功能部件的功耗进而测量程序的总功耗。而GPDSP架构多为SIMD(Single Instruction Multiple Data,单指令流多数据流)和VLIW(Very Long Instruction Word,超长指令字)结构,其整体体系结构包括指令派发单元、取指单元、标量运算单元、标量存储单元、向量运算单元、向量存储单元和DMA,其中向量运算单元为多个,且每个运算单元内含有多个MAC。静态发射带来了程序指令流确定性和可预测性的特点,使功耗测试在指令层次具备可行性和天然优势。然而传统的功能部件测量方案在实际测量过程中,同一个功能单元在执行不同的指令时,其实际执行的电路逻辑不同,瞬时功率并非一个稳定值且具有较大的波动性,进而导致整个程序的功耗测试并不十分精确与可靠。
发明内容
本发明要解决的技术问题:鉴于GPDSP架构可预测性的优势,针对现有技术的上述问题,提供一种基于指令EPI的细粒度GPDSP功耗测试方法、系统及介质,本发明能够保证测量值稳定,准确度好,可靠性高,而且功耗测试具有良好的通用性和可拓展性。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于指令EPI的细粒度GPDSP功耗测试方法,该方法包括:
1)解析目标程序的指令流,获取目标程序的各种指令及其出现的次数Ni;结合目标GPDSP平台上的各种指令的EPI,根据目标程序的各种指令及其出现的次数Ni计算目标程序的有功功耗Eactive;获取目标程序的静态功耗Estatic和空载功耗Eidle
2)将静态功耗Estatic、空载功耗Eidle和有功功耗Eactive相加得到目标程序在目标GPDSP平台上的总功耗E。
可选地,步骤1)中计算目标程序的有功功耗Eactive的函数表达式如下:
Eactive=∑EPIi×Ni
上式中,EPIi为执行单条第i种指令所产生的有功功耗,Ni为第i种指令出现的次数。
可选地,步骤1)中获取目标程序的静态功耗Estatic和空载功耗Eidle的步骤包括:
1.1)选定不同功能单元的指令周期为1的指令x和y,分别测量指令x循环执行的实测功率P1和指令x、y并行循环执行的实测功率P2
1.2)根据下式求解静态功率和Pstatic和空载功率Pidle
上式中,Px、Py分别为指令x、y的有功功率;
1.3)根据下式计算目标程序的静态功耗Estatic和空载功耗Eidle
上式中,T为目标程序的总执行节拍数。
可选地,步骤1)之前还包括计算目标GPDSP平台上执行单条第i种指令所产生的有功功耗EPIi的下述步骤:
S1)选择采用以单一指令非流水循环执行程序作为测量某指令EPI的微基准测试程序,且针对单一指令之间通过插入空转指令以避免流水执行带来的功能单元冲突和功耗叠加;
S2)通过测量板卡加电后不运行程序时贴片两端的电压Uinitial和运行微基准测试程序时贴片两端的电压UM获得电压差ΔU;
S3)根据电压差ΔU计算动态功率Pdynamic
S4)根据下式计算目标GPDSP平台上执行单条第i种指令所产生的有功功耗EPIi
EPIi=(Pdynamic-Pidle)×Ci-PNOP×(Ci-1)
上式中,EPIi为执行单条第i种指令所产生的有功功耗,Pdynamic为动态功率,Pidle为空载功率,动态功率Pdynamic仅由空载功率Pidle和第i种指令的有功功率构成,Ci为第i种指令的节拍数,PNOP为空转指令的有功功率,且若第i种指令的节拍为1则PNOP为0。
可选地,步骤S3)根据电压差ΔU计算动态功率Pdynamic的函数表达式如下:
上式中,ΔU为电压差,U0为GPDSP芯片的额定电压,R为与GPDSP芯片串联的采样电阻的电阻值。
可选地,步骤2)之后还包括验证总功耗E的步骤:通过检测与GPDSP芯片串联的采样电阻在目标程序运行期间的平均电压UP,根据下式计算总功耗测试值E1,并计算总功耗测试值E1、总功耗E之间的误差作为计算误差;
上式中,E1为总功耗测试值,UP为与GPDSP芯片串联的采样电阻在目标程序运行期间的平均电压,U0为GPDSP芯片的额定电压,R为与GPDSP芯片串联的采样电阻的电阻值。
此外,本发明还提供一种基于指令EPI的细粒度GPDSP功耗测试系统,包括:
程序解析及检测程序单元,用于解析目标程序的指令流,获取目标程序的各种指令及其出现的次数Ni;结合目标GPDSP平台上的各种指令的EPI,根据目标程序的各种指令及其出现的次数Ni计算目标程序的有功功耗Eactive;获取目标程序的静态功耗Estatic和空载功耗Eidle
总功耗计算程序单元,用于将静态功耗Estatic、空载功耗Eidle和有功功耗Eactive相加得到目标程序在目标GPDSP平台上的总功耗E。
此外,本发明还提供一种基于指令EPI的细粒度GPDSP功耗测试系统,包括计算机设备,该计算机设备被编程或配置以执行所述基于指令EPI的细粒度GPDSP功耗测试方法的步骤。
此外,本发明还提供一种基于指令EPI的细粒度GPDSP功耗测试系统,包括计算机设备,该计算机设备的存储器中存储有被编程或配置以执行所述基于指令EPI的细粒度GPDSP功耗测试方法的计算机程序。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行所述基于指令EPI的细粒度GPDSP功耗测试方法的计算机程序。
和现有技术相比,本发明具有下述优点:本发明面向采用VLIW+SIMD的GPDSP处理器,鉴于GPDSP架构可预测性的优势,实现了细粒度的指令级别的功耗测试,能够保证测量值更稳定,具有更高的准确度和可靠性。同时,精确到指令粒度的EPI(Energy PerInstruction,单条指令功耗)测量更具拓展性,通过测量某个DSP处理器所有指令的EPI,对目标程序的指令流进行分析,实现程序基于EPI的指令流线性组合,就可以计算其运行在该处理器上的功耗,而指令EPI无需重复测量,从而实现功耗测试的通用性和可拓展性。
附图说明
图1为本发明实施例中GPDSP芯片的结构示意图。
图2为本发明实施例方法的基本流程示意图。
具体实施方式
GPDSP功耗测试的目标为:假设某DSP平台的指令集为M,某个运行在该处理器上的程序涉及的指令集合为整个指令集M的子集MI,其中各指令节拍数为Ci,各指令条数为Ni,总的程序运行节拍数为T,需要测量该程序在该处理器上运行的核内功耗E。而功耗的测试需要在简便的前提下,尽可能地提高精度和通用性。
鉴于GPDSP架构具有静态发射的特点,程序的指令流固定,其节拍具有可预测性。本发明旨在提出一种面向GPDSP平台功耗测试方法,来完成上述测量目标,如何设计微基准测试程序(Microbenchmark)、求解各指令EPI和实现程序总功耗的计算是本发明要解决的核心技术问题。面向GPDSP平台实现应用程序总功耗的测量,本发明可在保证测量工具和测试对象简便性的前提下,尽可能地提高其测试精度和通用性,即通过一次测量实现该平台上所有应用程序的功耗评估。
如图2所示,本实施例基于指令EPI的细粒度GPDSP功耗测试方法包括:
1)解析目标程序的指令流,获取目标程序的各种指令及其出现的次数Ni;结合目标GPDSP平台上的各种指令的EPI,根据目标程序的各种指令及其出现的次数Ni计算目标程序的有功功耗Eactive;获取目标程序的静态功耗Estatic和空载功耗Eidle
2)将静态功耗Estatic、空载功耗Eidle和有功功耗Eactive相加得到目标程序在目标GPDSP平台上的总功耗E。
本实施例中,步骤1)中计算目标程序的有功功耗Eactive的函数表达式如下:
Eactive=∑EPIi×Ni
上式中,EPIi为执行单条第i种指令所产生的有功功耗,Ni为第i种指令出现的次数。
本实施例中,步骤1)中获取目标程序的静态功耗Estatic和空载功耗Eidle的步骤包括:
1.1)选定不同功能单元的指令周期为1的指令x和y,分别测量指令x循环执行的实测功率P1和指令x、y并行循环执行的实测功率P2
1.2)根据下式求解静态功率和Pstatic和空载功率Pidle
上式中,Px、Py分别为指令x、y的有功功率;
1.3)根据下式计算目标程序的静态功耗Estatic和空载功耗Eidle
上式中,T为目标程序的总执行节拍数。
本实施例中,步骤1)之前还包括计算目标GPDSP平台上执行单条第i种指令所产生的有功功耗EPIi的下述步骤:
S1)选择采用以单一指令非流水循环执行程序作为测量某指令EPI的微基准测试程序,且针对单一指令之间通过插入空转指令以避免流水执行带来的功能单元冲突和功耗叠加;
S2)通过测量板卡加电后不运行程序时贴片两端的电压Uinitial和运行微基准测试程序时贴片两端的电压UM获得电压差ΔU;
S3)根据电压差ΔU计算动态功率Pdynamic
S4)根据下式计算目标GPDSP平台上执行单条第i种指令所产生的有功功耗EPIi
EPIi=(Pdynamic-Pidle)×Ci-PNOP×(Ci-1)
上式中,EPIi为执行单条第i种指令所产生的有功功耗,Pdynamic为动态功率,Pidle为空载功率,动态功率Pdynamic仅由空载功率Pidle和第i种指令的有功功率构成,Ci为第i种指令的节拍数,PNOP为空转指令的有功功率,且若第i种指令的节拍为1则PNOP为0。
微基准测试程序的设计,决定了指令EPI测试数据的可靠性和准确性。本实施例所测试的GPDSP芯片为VLIW和SIMD结构,其架构如图1所示,DSP核可分为取指单元、指令派发单元、标量运算单元、标量存储单元、向量运算单元、向量存储单元和DMA,其中向量运算单元为多个,且每个运算单元内含有多个MAC。所以需要先确定程序运行所涉及的功能单元。标量部分的指令可分为流控指令、访存指令、浮点指令、定点指令和位运算指令,而向量部分的指令可分为访存指令、浮点指令、定点指令和位运算指令。根据程序在不同功能单元中具体涉及的指令确定微基准测试程序需测试的指令集合。由于测试粒度为指令EPI,可以通过单条指令的循环执行测量一个该指令有功功率的稳定值,由于DSP结构通常功能单元可以流水化执行多条指令,其执行也有流水和非流水之分。理论上,选择单条指令流水执行作为微基准测试程序,可以测得一个稳定的功耗值,且不涉及指令节拍数,无需多一步运算。因为单条指令流水执行,意味着每个节拍内,指令的所有阶段都在同时执行,那么每个节拍的功率都是稳定的且包含了所有阶段的功率。然而单条指令的不同阶段有可能执行同样的操作或者有数据冲突,为了避免流水执行可能带来的功能单元冲突和功耗叠加,鉴于流水执行方式的冲突问题,本实施例依据粒度选择和实际对比,通过插入空转指令(即气泡),选择采用以单一指令非流水循环执行程序作为测量某指令EPI的微基准测试程序。
本实施例中,步骤S3)根据电压差ΔU计算动态功率Pdynamic的函数表达式如下:
上式中,ΔU为电压差,U0为GPDSP芯片的额定电压,R为与GPDSP芯片串联的采样电阻的电阻值。
由于测量工具、测量方法的多样性,导致测量对象不同。结合实际测试的板卡电路,以电压表测量为例,选择板卡上与芯片串联的贴片电阻作为测量对象,测量其两端的电压UR。将GPDSP芯片串联的贴片电阻(采样电阻)两端引脚引出并连接电压表两端;中间为仿真器,一端连接板卡,另一端连接计算机;本实施例中为数字万用表,使用电压表模式。而GPDSP芯片的额定电压U0和贴片电阻R是基本参数,则GPDSP芯片的实测功率P可以表示为:
参考主流的GPU功耗模型,将GPDSP芯片的功率P分为静态功率Pstatic和动态功率Pdynamic,其中静态功率Pstatic为板卡上电后电路状态稳定时的功率,与运行程序无关,又称为漏电流功率,而动态功率Pdynamic是完成初始化工作、运行程序、执行指令所带来的功率变化值,主要是负载电容充放电产生的功率,又称为翻转功率。因此,通过测量板卡加电后不运行程序时贴片两端的电压Uinitial和运行微基准测试程序时贴片两端的电压UM可以获得电压差ΔU。则动态功率Pdynamic可以表示为:
动态功率可以分为空载功率Pidle与目标指令的有功功率Pactive,其中空载功率Pidle即所有功能单元在完成初始化工作、加载程序但不执行指令时由于通电所带来的功率变化,有功功率Pactive则是执行程序中各指令所导致的负载电容充放电产生的功率。对于指令节拍数为1的指令i,其动态功率Pdynamic仅由空载功率Pidle和指令i的有功功率Pi构成,但对于节拍数大于1的指令而言,其有功功率还包含着空转指令的有功功率PNOP,而空转指令并非填充着程序的每一拍,所以程序在目标指令的单个指令周期内的动态功耗Edynamic可以表示为:
Edynamic=Pdynamic×Ci=Pidle×Ci+Pi×Ci+PNOP×(Ci-1)
其中,Ci为待测指令的指令周期。由此,可推导得出前文计算目标GPDSP平台上执行单条第i种指令所产生的有功功耗EPIi的函数表达式:
EPIi=(Pdynamic-Pidle)×Ci-PNOP×(Ci-1)
上式中,EPIi为执行单条第i种指令所产生的有功功耗,Pdynamic为动态功率,Pidle为空载功率,动态功率Pdynamic仅由空载功率Pidle和第i种指令的有功功率构成,Ci为第i种指令的节拍数,PNOP为空转指令的有功功率,且若第i种指令的节拍为1则PNOP为0。
本实施例中,步骤2)将静态功耗Estatic、空载功耗Eidle和有功功耗Eactive相加得到目标程序在目标GPDSP平台上的总功耗E可表示为:
E=Estatic+Eidle+Eactive
本实施例中,步骤2)之后还包括验证总功耗E的步骤:通过检测与GPDSP芯片串联的采样电阻在目标程序运行期间的平均电压UP,根据下式计算总功耗测试值E1,并计算总功耗测试值E1、总功耗E之间的误差作为计算误差;
上式中,E1为总功耗测试值,UP为与GPDSP芯片串联的采样电阻在目标程序运行期间的平均电压,U0为GPDSP芯片的额定电压,R为与GPDSP芯片串联的采样电阻的电阻值。
本实施例中,目标程序以矩阵乘为例,其测试表格如下表所示。
参见上表可知,本实施例方法通针对各个功能单元的指令分别进行了测试,最终验证理论总功率的精度为99.66570%。本实施例提出的功耗测试方法适用于GPDSP平台,该平台为VLIW结构,具有程序指令流确定可预测的特点,该方法可实现测量运行于平台上的程序功耗。本实施例提出的基于指令EPI的功耗测试方法,在保证测试精度的同时,具备功耗测试的通用性和泛化性,可通过测量所有指令的EPI实现所有程序的功耗评估。
此外,本实施例还提供一种基于指令EPI的细粒度GPDSP功耗测试系统,包括:
程序解析及检测程序单元,用于解析目标程序的指令流,获取目标程序的各种指令及其出现的次数Ni;结合目标GPDSP平台上的各种指令的EPI,根据目标程序的各种指令及其出现的次数Ni计算目标程序的有功功耗Eactive;获取目标程序的静态功耗Estatic和空载功耗Eidle
总功耗计算程序单元,用于将静态功耗Estatic、空载功耗Eidle和有功功耗Eactive相加得到目标程序在目标GPDSP平台上的总功耗E。
此外,本实施例还提供一种基于指令EPI的细粒度GPDSP功耗测试系统,包括计算机设备,该计算机设备被编程或配置以执行前述基于指令EPI的细粒度GPDSP功耗测试方法的步骤。
此外,本实施例还提供一种基于指令EPI的细粒度GPDSP功耗测试系统,包括计算机设备,该计算机设备的存储器中存储有被编程或配置以执行前述基于指令EPI的细粒度GPDSP功耗测试方法的计算机程序。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述基于指令EPI的细粒度GPDSP功耗测试方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (7)

1.一种基于指令EPI的细粒度GPDSP功耗测试方法,其特征在于,该方法包括:
1)解析目标程序的指令流,获取目标程序的各种指令及其出现的次数N i;结合目标GPDSP平台上的各种指令的EPI,根据目标程序的各种指令及其出现的次数N i计算目标程序的有功功耗E active;获取目标程序的静态功耗E static和空载功耗E idle
2)将静态功耗E static、空载功耗E idle和有功功耗E active相加得到目标程序在目标GPDSP平台上的总功耗E
步骤1)中计算目标程序的有功功耗E active的函数表达式如下:
上式中,EPI i为执行单条第i种指令所产生的有功功耗,N i为第i种指令出现的次数;
步骤1)中获取目标程序的静态功耗E static和空载功耗E idle的步骤包括:
1.1)选定不同功能单元的指令周期为1的指令xy,分别测量指令x循环执行的实测功率P1和指令xy并行循环执行的实测功率P2
1.2)根据下式求解静态功率P static和空载功率P idle
上式中,P xP y分别为指令xy的有功功率;
1.3)根据下式计算目标程序的静态功耗E static和空载功耗E idle
上式中,T为目标程序的总执行节拍数;
步骤1)之前还包括计算目标GPDSP平台上执行单条第i种指令所产生的有功功耗EPI i的下述步骤:
S1)选择采用以单一指令非流水循环执行程序作为测量某指令EPI的微基准测试程序,且针对单一指令之间通过插入空转指令以避免流水执行带来的功能单元冲突和功耗叠加;
S2)通过测量板卡加电后不运行程序时贴片两端的电压U initial和运行微基准测试程序时贴片两端的电压U M获得电压差ΔU;
S3)根据电压差ΔU计算动态功率P dynamic
S4)根据下式计算目标GPDSP平台上执行单条第i种指令所产生的有功功耗EPI i
上式中,EPI i为执行单条第i种指令所产生的有功功耗,为动态功率,/>为空载功率,动态功率/>仅由空载功率/>和第i种指令的有功功率构成,/>为第i种指令的节拍数,/>为空转指令的有功功率,且若第i种指令的节拍为1则/>为0。
2.根据权利要求1所述的基于指令EPI的细粒度GPDSP功耗测试方法,其特征在于,步骤S3)根据电压差ΔU计算动态功率P dynamic的函数表达式如下:
上式中,为电压差,/>为GPDSP芯片的额定电压,R为与GPDSP芯片串联的采样电阻的电阻值。
3.根据权利要求1所述的基于指令EPI的细粒度GPDSP功耗测试方法,其特征在于,步骤2)之后还包括验证总功耗E的步骤:通过检测与GPDSP芯片串联的采样电阻在目标程序运行期间的平均电压U P,根据下式计算总功耗测试值,并计算总功耗测试值/>、总功耗E之间的误差作为计算误差;
上式中,为总功耗测试值,U P为与GPDSP芯片串联的采样电阻在目标程序运行期间的平均电压,/>为GPDSP芯片的额定电压,R为与GPDSP芯片串联的采样电阻的电阻值。
4.一种基于指令EPI的细粒度GPDSP功耗测试系统,其特征在于包括:
程序解析及检测程序单元,用于解析目标程序的指令流,获取目标程序的各种指令及其出现的次数N i;结合目标GPDSP平台上的各种指令的EPI,根据目标程序的各种指令及其出现的次数N i计算目标程序的有功功耗E active;获取目标程序的静态功耗E static和空载功耗E idle
总功耗计算程序单元,用于将静态功耗E static、空载功耗E idle和有功功耗E active相加得到目标程序在目标GPDSP平台上的总功耗E
所述计算目标程序的有功功耗E active的函数表达式如下:
上式中,EPI i为执行单条第i种指令所产生的有功功耗,N i为第i种指令出现的次数;
所述获取目标程序的静态功耗E static和空载功耗E idle的步骤包括:
1.1)选定不同功能单元的指令周期为1的指令xy,分别测量指令x循环执行的实测功率P1和指令xy并行循环执行的实测功率P2
1.2)根据下式求解静态功率P static和空载功率P idle
上式中,P xP y分别为指令xy的有功功率;
1.3)根据下式计算目标程序的静态功耗E static和空载功耗E idle
上式中,T为目标程序的总执行节拍数;
计算目标GPDSP平台上执行单条第i种指令所产生的有功功耗EPI i包括:
S1)选择采用以单一指令非流水循环执行程序作为测量某指令EPI的微基准测试程序,且针对单一指令之间通过插入空转指令以避免流水执行带来的功能单元冲突和功耗叠加;
S2)通过测量板卡加电后不运行程序时贴片两端的电压U initial和运行微基准测试程序时贴片两端的电压U M获得电压差ΔU;
S3)根据电压差ΔU计算动态功率P dynamic
S4)根据下式计算目标GPDSP平台上执行单条第i种指令所产生的有功功耗EPI i
上式中,EPI i为执行单条第i种指令所产生的有功功耗,为动态功率,/>为空载功率,动态功率/>仅由空载功率/>和第i种指令的有功功率构成,/>为第i种指令的节拍数,/>为空转指令的有功功率,且若第i种指令的节拍为1则/>为0。
5.一种基于指令EPI的细粒度GPDSP功耗测试系统,包括计算机设备,其特征在于,该计算机设备被编程或配置以执行权利要求1~3中任意一项所述基于指令EPI的细粒度GPDSP功耗测试方法的步骤。
6.一种基于指令EPI的细粒度GPDSP功耗测试系统,包括计算机设备,其特征在于,该计算机设备的存储器中存储有被编程或配置以执行权利要求1~3中任意一项所述基于指令EPI的细粒度GPDSP功耗测试方法的计算机程序。
7.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有被编程或配置以执行权利要求1~3中任意一项所述基于指令EPI的细粒度GPDSP功耗测试方法的计算机程序。
CN202010778754.5A 2020-08-05 2020-08-05 基于指令epi的细粒度gpdsp功耗测试方法、系统及介质 Active CN111782454B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010778754.5A CN111782454B (zh) 2020-08-05 2020-08-05 基于指令epi的细粒度gpdsp功耗测试方法、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010778754.5A CN111782454B (zh) 2020-08-05 2020-08-05 基于指令epi的细粒度gpdsp功耗测试方法、系统及介质

Publications (2)

Publication Number Publication Date
CN111782454A CN111782454A (zh) 2020-10-16
CN111782454B true CN111782454B (zh) 2023-08-18

Family

ID=72766844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010778754.5A Active CN111782454B (zh) 2020-08-05 2020-08-05 基于指令epi的细粒度gpdsp功耗测试方法、系统及介质

Country Status (1)

Country Link
CN (1) CN111782454B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115391124B (zh) * 2022-10-27 2023-03-21 瀚博半导体(上海)有限公司 一种面向图形芯片功耗测试的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461849A (zh) * 2014-12-08 2015-03-25 东南大学 一种移动处理器上cpu与gpu软件功耗测量方法
CN107436834A (zh) * 2016-05-27 2017-12-05 台湾积体电路制造股份有限公司 估算处理器功耗的方法、产品及系统
CN111427750A (zh) * 2020-04-09 2020-07-17 中国人民解放军国防科技大学 一种计算机平台的gpu功耗估计方法、系统及介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461849A (zh) * 2014-12-08 2015-03-25 东南大学 一种移动处理器上cpu与gpu软件功耗测量方法
CN107436834A (zh) * 2016-05-27 2017-12-05 台湾积体电路制造股份有限公司 估算处理器功耗的方法、产品及系统
CN111427750A (zh) * 2020-04-09 2020-07-17 中国人民解放军国防科技大学 一种计算机平台的gpu功耗估计方法、系统及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
低功耗编译技术综述;胡定磊,陈书明;电子学报(第04期);全文 *

Also Published As

Publication number Publication date
CN111782454A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
US9009447B2 (en) Acceleration of string comparisons using vector instructions
US7558996B2 (en) Systems and methods for identifying errors in LBIST testing
CN107203467A (zh) 一种分布式环境下监督学习算法的基准测试方法和装置
CN100545667C (zh) 预处理过程和电路性能变量的测量的晶片上方法和装置
CN111782454B (zh) 基于指令epi的细粒度gpdsp功耗测试方法、系统及介质
CN113742088A (zh) 用于处理射电望远镜数据的脉冲星搜索并行优化方法
CN111989655B (zh) 一种soc芯片、确定热点函数的方法及终端设备
JP2018514869A (ja) 並列プロセッサカーネルのディスパッチサイズのコンカレンシーファクタを決定するシステム及び方法
CN106201870A (zh) 一种测试gpu的方法及装置
Gorev et al. Fault simulation with parallel exact critical path tracing in multiple core environment
Tallent et al. HPCToolkit: performance tools for scientific computing
Adhinarayanan et al. An automated framework for characterizing and subsetting GPGPU workloads
Tompazi et al. Estimating code vulnerability to timing errors via microarchitecture-aware machine learning
CN107769987B (zh) 一种报文转发性能评估方法和装置
CN114217856B (zh) 面向AArch64架构的CPU指令微基准测试方法及系统
Hrubá et al. Multi-objective genetic optimization for noise-based testing of concurrent software
Mammeri et al. Performance counters based power modeling of mobile GPUs using deep learning
Rahmani et al. An empirical study of regression testing techniques
US20020188889A1 (en) Performance measurement for embedded systems
TWI418977B (zh) 多核心處理器的超頻測試方法
Alkohlani et al. Towards performance predictive application-dependent workload characterization
CN110109657B (zh) 一种gpu微指令探测方法
RU2552177C2 (ru) Способ оценки влияния работы приложений и их функций на энергопотребление во встраиваемых системах
CN116384168B (zh) 一种运砂船的运砂量计算方法、系统、计算机及存储介质
JP2007527050A (ja) 分岐予測の方法およびシステム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant