Our software engineers are passionate about finding the perfect solution for the problems we encounter. But the strange thing is that we will find that there is no perfect solution in this particular field. Smart tricks may save some power, but the field is dominated by other, simpler factors. Just like there are a few large elephants in the room, we must first carefully hunt the elephants we can see, and then spend our energy to hunt small animals.
When considering the power consumption of a system, it is important to figure out what the object we actually measured. What we mean by "saving power" can mean several aspects. It means "power" or "energy." In fact, we need both power and energy. Most handheld portable devices have two different budgets: power budget—which manages instantaneous power consumption, avoids overheating or generates thermal stress, while energy budgets manage the total amount of energy used over time. Software needs to meet short-term power budgets and long-term energy budgets.
Obviously, we can reduce the power consumption of any device to near zero, as long as it is not allowed to do anything or any meaningful operation! As a last resort, it takes energy to implement useful functions. Therefore, we can only continue to make compromises between meaningful operations and energy savings. In order to achieve the required functionality, we must consume energy; but we must try to ensure that these functions are implemented in an energy-efficient manner.
Power Consumption Time Product A better metric commonly used in academic materials on this topic is the use of "power time product." Although there are no standard units or specific methods, this metric combines energy consumption and performance metrics. Increasing energy consumption or reducing performance increases the value of the power consumption time product, so our goal is to find the lowest acceptable power consumption time product value. In other words, the lowest energy consumption is required for the time allowed. The execution of the task is consistent.
Where is the energy going? All computing devices perform two basic functions. Both of these features are required, and without these two functions you can't do any meaningful tasks.
The first thing we think of is computing or data processing. Typically, calculations are operations that are performed on values ​​held in machine registers. In order to implement computing tasks as efficiently as possible, we need to execute the fewest instructions in the shortest amount of time. Most importantly, efficient calculations allow the following two options: either we can complete the calculation to go to sleep earlier, or we can slow down the clock and still complete the calculation task within the specified time.
Often overlooked here is data communication (data movement). In most architectures (ARM uses a load/store architecture, no exception), data movement is required. If you don't move information from one location to another and often return to the original location, the user cannot process any information. For example, the value in memory needs to be moved to a register for processing and then the result is written back into memory.
But which one consumes more energy? Where is the biggest payment?
Figure 1 shows the ubiquitous fact that about 60% of program-related memory access operations are instruction fetches, and another 40% are data accesses.
Figure 1: Memory access distribution
Figure 2: Memory access energy consumption
Figure 2 shows some of the studies conducted by ARM. If the energy consumption for executing an instruction is 1, then the energy consumption of the tightly coupled memory (TCM) access is approximately 1/25, and the energy consumption of the cache access is approximately 1/6. The external RAM access consumes 7 times more energy than the instruction execution.
In other words, we can execute 7 instructions, 40 cache accesses or about 170 TCM accesses for each energy consumed by external RAM access.
Special equipment for university physics laboratory
Teaching Equipment,Optical Bench Kit,Optical Instruments In Physics,Electrooptical Modulator Experimental Instrument
Yuheng Optics Co., Ltd.(Changchun) , https://www.yhenoptics.com