CN101882103A - Software energy consumption statistical method for embedded equipment I/O interface - Google Patents

Software energy consumption statistical method for embedded equipment I/O interface Download PDF

Info

Publication number
CN101882103A
CN101882103A CN2010102217880A CN201010221788A CN101882103A CN 101882103 A CN101882103 A CN 101882103A CN 2010102217880 A CN2010102217880 A CN 2010102217880A CN 201010221788 A CN201010221788 A CN 201010221788A CN 101882103 A CN101882103 A CN 101882103A
Authority
CN
China
Prior art keywords
energy consumption
software
msub
lcd
interface
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
Application number
CN2010102217880A
Other languages
Chinese (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.)
Sichuan University
Original Assignee
Sichuan University
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 Sichuan University filed Critical Sichuan University
Priority to CN2010102217880A priority Critical patent/CN101882103A/en
Publication of CN101882103A publication Critical patent/CN101882103A/en
Pending legal-status Critical Current

Links

Classifications

    • 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

  • Power Sources (AREA)

Abstract

The invention discloses a software energy consumption statistical method for an embedded equipment I/O interface, and provides a new method for measuring the software energy consumption of the embedded equipment I/O interface, which provides the database for the corresponding energy consumption optimizing research and development work. Experimental results show that an HMSim I/O interface energy consumption emulating module can rapidly predict (or estimate) an I/O energy consumption value of software algorithm when the software algorithm is performed on a specified target board by operating a mu C/OS-II RTOS-based application program after the method of the invention is applied to a high-precision command grade embedded software energy consumption emulator HMSim, and lays solid data foundation for carrying out corresponding energy consumption optimizing research and development work. The difference between the energy consumption computing result of the method and a result actually measured by an apparatus is within 10 percent, so the degree of the influence of a software implementation way on the system energy consumption can be accurately reflected.

Description

Software energy consumption statistical method for I/O interface of embedded equipment
Technical Field
The invention relates to the technical field of embedded software power consumption optimization, in particular to a software power consumption statistical method for an I/O interface of embedded equipment.
Background
Under the background of national advocation of energy conservation and emission reduction, the power consumption of an embedded system is a hot problem which increasingly draws attention of people, and is highly valued by government departments at all levels and software/hardware developers in the industry.
An embedded computer system (referred to as an embedded system for short) is composed of embedded hardware and embedded software, and is a typical software-driven execution system. The circuit activity of hardware is directly generated to cause the generation of system energy consumption, the operation of software such as instruction execution and data access drives the circuit activity of bottom hardware (including a microprocessor, a bus, a Cache, a memory, an I/O interface and the like), and the generation of the system energy consumption is indirectly generated, so that the embedded software is an active factor and an active factor for generating the system energy consumption, and the essential meaning of the embedded software energy consumption is also provided. Many previous studies have shown that different assembler instructions, source program structures, software algorithms, and software architectures result in different ways of hardware operation, thereby further impacting system power consumption.
Research works such as analysis and optimization of embedded software power consumption are carried out, and power consumption measurement is a fundamental work. The measurement of power consumption of embedded software generally includes two methods: direct measurement and simulation measurement. The direct measurement method has the defects that the development of software and hardware is mutually restricted, the power consumption cannot be directly measured by an electronic instrument (such as a power meter) before the development of the hardware is carried out, the development progress is delayed and the like; the software simulation (or simulation) method adopts computer software to simulate the internal functions, power consumption and other external characteristics of a specific hardware system, and can flexibly and conveniently obtain the power consumption value of embedded software.
The international research history of an embedded software energy consumption statistical model is not long, and Tiwari et al, 1994, firstly put forward a basic concept of analyzing software energy consumption, establish a basic instruction level energy consumption model and put forward a test method of instruction current; sinha measures the ARM instruction set current value based on the StrongARM SA-1100 processor, and provides a statistical method of software energy consumption; T.K.Tan constructs an instruction level Energy consumption simulator EMSIM (embedded StrongARM Energy simulator) based on a StrongARMSA-1100 processor on the basis of the instruction current value measured by Sinha, and adopts the EMSIM to analyze the Energy consumption of embedded software; li Tao et al propose the idea of adopting service routine level power consumption modeling for operating systems, and specifically analyze the power consumption-IPC correlation model of 50 service routines of the Embedded Linux operating system; zhao Xia and the like estimate the instruction energy consumption of a single clock cycle by simulating and running an embedded operating system and application software and utilizing a micro-system structure energy consumption model, and provide an operating system kernel energy consumption estimation model based on a software functional structure. In the above statistical model of energy consumption, the energy consumption generated on the processor when the software is executed is mainly counted, and the disadvantage is that the energy consumption generated on the I/O interface is not calculated.
Disclosure of Invention
The invention aims to provide a software energy consumption statistical method for an I/O interface of embedded equipment.
The technical scheme adopted by the invention for solving the technical problem comprises the following steps:
1) according to the hardware composition of the embedded system, the embedded software energy consumption can be divided into the energy consumption of a processor unit (MPU), the energy consumption of a memory, the energy consumption of an I/O controller (such as a data bus, a UART controller, an LCD controller, a network card controller, etc.), and the energy consumption generated by other hardware units, namely:
Esoftware=Empu+Emem+Eio+Eother
wherein E issoftwareRepresenting embedded software energy consumption, EmpuRepresenting processor power consumption, EmemRepresenting the memory power consumption, EioRepresenting I/O controller energy consumption, EotherThe energy consumption of other hardware units on the mainboard of the embedded system is represented, and the energy consumption value of the part of energy consumption is generally small and can be ignored when software is executed;
2) in step 1) formula EioThe calculation is performed according to the following formula:
<math><mrow><msub><mi>E</mi><mi>io</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>E</mi><mrow><mi>io</mi><mo>_</mo><mi>k</mi></mrow></msub><mo>=</mo><msub><mi>E</mi><mi>bus</mi></msub><mo>+</mo><msub><mi>E</mi><mi>uart</mi></msub><mo>+</mo><msub><mi>E</mi><mi>lcd</mi></msub><mo>+</mo><msub><mi>E</mi><mi>net</mi></msub><mo>+</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo><mo>&CenterDot;</mo></mrow></math>
wherein E isbusRepresents the bus energy consumption, EuartIndicating UART controller energy consumption, ElcdIndicating LCD controller power consumption, EnetRepresenting the network card controller energy consumption.
3) E in the formula of step 2)io_kThe calculation is performed according to the following formula:
Eio_k=Eio_k*Uio_k/fio_k*Nio_k_cyc
wherein E isio_kRepresenting the power consumption of the I/O interface, by current (I)io_k) Voltage (U)io_k) Clock frequency (f)i_ok) And clock period (N) of the I/O interfaceio_k_cyc) The total number is determined.
Compared with the background technology, the invention has the following beneficial effects:
1) the accuracy is as follows: compared with the actual measurement result of the instrument, the software energy consumption calculated by using the software energy consumption statistical method of the I/O interface of the embedded equipment has the error within 10 percent.
2) The practicability is as follows: the method can be used for quickly predicting (or estimating) the I/O interface energy consumption value of the embedded software when the embedded software runs on a specific target board, and lays a firm data foundation for developing corresponding power consumption optimization research and development work.
Detailed Description
The present invention is further described below in conjunction with UART and LCD controller examples.
According to the formula in the step 3), a power meter is adopted to measure the current and the voltage of the I/O interface and set the working frequency in advance, and the main work is to calculate the total number of clock cycles required by the program to access the I/O interface in order to count the energy consumption of the I/O interface. The HMSim is a high-precision instruction level embedded software energy consumption simulator, when an I/O interface access instruction is executed once, n (the value of n is different according to different registers of operation, for example, when a UART receiving/sending register is read/written), is required to be automatically added to the clock period number of the I/O interface (the value of n is generally equal to or greater than 32) in a read/write function of the I/O interface), and the total number of clock periods and energy consumption generated in the I/O interface when a program is executed are calculated in an energy consumption counting module.
1) The software energy consumption of the UART controller is deduced by the formula in the step 3):
Euart=Iuart*Uuart/fuart*Nuart
wherein E isuartRepresenting the energy consumption of the UART controller, IuartIndicating the current of the UART controller, which varies according to the operating state, NuartIndicating the total number of clock cycles of the UART controller. f. ofuartIndicating the frequency of the UART controller, is determined by the baud rate (BaudRate) and the baud rate factor (divsor). The calculation formula is as follows:
fuart=BaudRate*16*Divisor(Divisor=1,2,3,…)
2) the energy consumption of the LCD controller includes five parts, namely energy consumption for maintaining the LCD controller to stably work, energy consumption for setting a register, energy consumption for accessing a display buffer, energy consumption for controlling and outputting image data, and energy consumption generated by a clock, and generally, the energy consumption for maintaining the LCD controller to stably work and the energy consumption generated by the clock can be ignored, namely:
Elcd=Elcd_register+Elcd_framebuffer+Elcd_data
wherein E islcdIndicating LCD controller power consumption, Elcd_registerTo set the power consumption of the register, Elcd_framebufferEnergy consumption of display cache for access, Elcd_dataTo control and output power consumption of image data.
The energy consumption for setting the register in the energy consumption of the LCD controller is deduced by the formula in the step 3):
Elcd_register=Ilcd*Ulcd/flcd_bclk*Nlcd_register_cyc
wherein E islcd_registerTo set the power consumption of the register, IlcdRepresenting the current of the LCD controller, flcd_bclkIndicating the bus clock, determined by an external PLL clock, or AHB bus clock, Nlcd_register_cycRepresenting the total number of clock cycles to access the registers in the LCD controller.
The energy consumption calculation formula for accessing the display cache in the energy consumption of the LCD controller is as follows:
Elcd_framebufferr=Ilcd*Ulcd/flcd_mclk*Nlcd_framebuffer_cyc
wherein E islcd_framebufferEnergy consumption of display cache for access, flcd_mclkRepresenting the memory clock, also determined by the AHB bus clock, Nlcd_framebuffer_cycRepresenting the total number of clock cycles to access the display buffer.
The calculation formula of the energy consumption for controlling and outputting the image data in the energy consumption of the LCD controller is as follows:
Elcd_data=Ilcd*Ulcd/flcd_pclk*Nlcd_data_cyc
wherein E islcd_dataFor controlling and outputting power consumption of image data, flcd_pclkRepresenting pixel clock, clocked by LCD controllerlcd_clkObtained by frequency division, Nlcd_data_cycIndicating the total number of clock cycles to control and output the image data.
The total energy consumption of the embedded software is about 4595843.209292nJ and consists of three parts, namely CPU energy consumption, UART controller energy consumption and LCD controller energy consumption, wherein the UART controller energy consumption accounts for about 0.26% of the total energy consumption, and the LCD controller energy consumption accounts for about 14.78% of the total energy consumption by running a group of test function cases of the mu C/OS-II RTOS on the HMSim.
The energy consumption of the LCD controller is about 679307.688nJ (when the resolution is 960 multiplied by 240 and the color depth is 16 bits), the energy consumption of the LCD controller measured by a power meter on a Winbond W90P710 target board is about 720000nJ, and the error is about 5.65 percent compared with the energy consumption of the LCD controller, the error is small and is within a reasonable range, and the software energy consumption statistical method of the I/O interface of the embedded device is correct.

Claims (1)

1. A software energy consumption statistical method of an I/O interface of an embedded device is characterized by comprising the following steps:
1) according to the hardware composition of the embedded system, the embedded software energy consumption can be divided into the energy consumption of a processor unit (MPU), the energy consumption of a memory, the energy consumption of an I/O controller (such as a data bus, a UART controller, an LCD controller, a network card controller, etc.), and the energy consumption generated by other hardware units, namely:
Esoftware=Empu+Emem+Eio+Eother
wherein,Esoftwarerepresenting embedded software energy consumption, EmpuRepresenting processor power consumption, EmemRepresenting the memory power consumption, EioRepresenting I/O controller energy consumption, EotherThe energy consumption of other hardware units on the mainboard of the embedded system is represented, and the energy consumption value of the part of energy consumption is generally small and can be ignored when software is executed;
2) in step 1) formula EioThe calculation is performed according to the following formula:
<math><mrow><msub><mi>E</mi><mi>io</mi></msub><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>E</mi><mrow><mi>io</mi><mo>_</mo><mi>k</mi></mrow></msub><mo>=</mo><msub><mi>E</mi><mi>bus</mi></msub><mo>+</mo><msub><mi>E</mi><mi>uart</mi></msub><mo>+</mo><msub><mi>E</mi><mi>lcd</mi></msub><mo>+</mo><msub><mi>E</mi><mi>net</mi></msub><mo>+&CenterDot;&CenterDot;&CenterDot;</mo></mrow></math>
wherein E isbusRepresents the bus energy consumption, EuartIndicating UART controller energy consumption, ElcdIndicating LCD controller power consumption, EnetRepresenting the energy consumption of the network card controller;
3) e in the formula of step 2)io_kThe calculation is performed according to the following formula:
Eio_k=Eio_k*Uio_k/fio_k*Nio_k_cyc
wherein E isio_kRepresenting the power consumption of the I/O interface, by current (I)io_k) Voltage (U)io_k) Clock frequency (f)io_k) And clock period (N) of the I/O interfaceio_k_cyc) The total number is determined.
CN2010102217880A 2010-07-09 2010-07-09 Software energy consumption statistical method for embedded equipment I/O interface Pending CN101882103A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102217880A CN101882103A (en) 2010-07-09 2010-07-09 Software energy consumption statistical method for embedded equipment I/O interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102217880A CN101882103A (en) 2010-07-09 2010-07-09 Software energy consumption statistical method for embedded equipment I/O interface

Publications (1)

Publication Number Publication Date
CN101882103A true CN101882103A (en) 2010-11-10

Family

ID=43054120

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102217880A Pending CN101882103A (en) 2010-07-09 2010-07-09 Software energy consumption statistical method for embedded equipment I/O interface

Country Status (1)

Country Link
CN (1) CN101882103A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102221988A (en) * 2011-05-23 2011-10-19 北京工商大学 Quick energy consumption estimating method for instruction level processor
WO2013020323A1 (en) * 2011-08-08 2013-02-14 东南大学 Dynamic voltage regulating system on the basis of on-chip monitoring and voltage prediction
CN103473069A (en) * 2013-09-24 2013-12-25 北京大学 Method for optimizing mobile application by utilizing access cost model of API (Application Programming Interface) of Android system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102221988A (en) * 2011-05-23 2011-10-19 北京工商大学 Quick energy consumption estimating method for instruction level processor
CN102221988B (en) * 2011-05-23 2013-10-30 北京工商大学 Quick energy consumption estimating method for instruction level processor
WO2013020323A1 (en) * 2011-08-08 2013-02-14 东南大学 Dynamic voltage regulating system on the basis of on-chip monitoring and voltage prediction
US8909999B2 (en) 2011-08-08 2014-12-09 Southeast University Dynamic voltage scaling system based on on-chip monitoring and voltage prediction
CN103473069A (en) * 2013-09-24 2013-12-25 北京大学 Method for optimizing mobile application by utilizing access cost model of API (Application Programming Interface) of Android system
CN103473069B (en) * 2013-09-24 2016-10-05 北京大学 The method utilizing the access price model optimization mobile applications of android system API

Similar Documents

Publication Publication Date Title
Hao et al. Estimating mobile application energy consumption using program analysis
Desrochers et al. A validation of DRAM RAPL power measurements
Konstantakos et al. Energy consumption estimation in embedded systems
US7844928B2 (en) Method and apparatus for evaluating integrated circuit design performance using enhanced basic block vectors that include data dependent information
US8812286B1 (en) Emulation of power shutoff behavior for integrated circuits
Lee et al. PowerTrain: A learning-based calibration of McPAT power models
US20090199138A1 (en) Method and Apparatus for Evaluating Integrated Circuit Design Model Performance Using Basic Block Vectors and Fly-By Vectors Including Microarchitecture Dependent Information
Schürmans et al. ESL power estimation using virtual platforms with black box processor models
CN101882103A (en) Software energy consumption statistical method for embedded equipment I/O interface
Ghaleb Software energy measurement at different levels of granularity
CN102880785A (en) Method for estimating transmission energy consumption of source code grade data directed towards GPU program
Konstantakos et al. Measurement of power consumption in digital systems
CN101894067B (en) ARM processor-based embedded software power consumption statistical method
JP4275282B2 (en) Logic design apparatus and power consumption measuring method
Yan et al. Accurate and low-overhead process-level energy estimation for modern hard disk drives
Darwish et al. Transaction level power modeling (TLPM) methodology
Abou-Of et al. Trade-off between low power and energy efficiency in benchmarking
Lemma et al. Power intent from initial ESL prototypes: Extracting power management parameters
Rieger et al. Evaluating techniques for method-exact energy measurements: Towards a framework for platform-independent code-level energy measurements
Laopoulos et al. Current variations measurements for the estimation of software-related power consumption
Crisu et al. GRAAL-a development framework for embedded graphics accelerators
Gupta et al. RAAPS: Reliability aware ArchC based processor simulator
US11544435B1 (en) On-the-fly computation of analog mixed-signal (AMS) measurements
JP5725213B2 (en) Information processing apparatus and power consumption calculation method for information processing apparatus
Fournel et al. Embedded software energy characterization: Using non-intrusive measures for application source code annotation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20101110