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 PDFInfo
- 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
Links
- 238000007619 statistical method Methods 0.000 title claims abstract description 9
- 238000005265 energy consumption Methods 0.000 claims abstract description 72
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000000034 method Methods 0.000 abstract description 6
- 238000012827 research and development Methods 0.000 abstract description 3
- ZVKAMDSUUSMZES-NZQWGLPYSA-N OS II Natural products CC(=O)N[C@H]1[C@H](OC[C@@H](O)[C@@H](O)[C@@H](O)CO)O[C@H](CO)[C@H](O[C@H]2O[C@H](CO)[C@@H](O)[C@H](O)[C@H]2O)[C@@H]1O[C@@H]3O[C@H](CO)[C@@H](O)[C@H](O)[C@H]3O ZVKAMDSUUSMZES-NZQWGLPYSA-N 0.000 abstract description 2
- 239000007787 solid Substances 0.000 abstract 1
- 238000005259 measurement Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000013179 statistical model Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- 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
- 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
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:
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:
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.
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)
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 |
-
2010
- 2010-07-09 CN CN2010102217880A patent/CN101882103A/en active Pending
Cited By (6)
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 |