Due to the rapid extension of the functional range and the increasing speed of digital systems, the rising heat dissipation in digital circuits is going to cause problems in the near future. According to an Intel survey, the power density (W/m^2) of a CPU will extend to that of a rocket nozzle by 2009, if the present development speed does not change. Another facet of the high capability is the power consumption of mobile devices: the running time of the storage batteries decreases, since the increase of the requirement of energy is faster than the energy storage improvement (Eveready's Law). Hence, sensible use of such devices will soon be given no more. Furthermore, product cycles are being shortened: a couple of years ago mobile phones were state-of-the-art for a long time, whereas today, succeeding devices are produced almost every year.
In order to forward the development of embedded systems it is necessary to change to a more abstract level of development, since it makes the development faster and easier. Another advantage of a high abstraction level is the resulting large design space and the great optimisation clearance involved. On using marginal modifications, profound changes of the resulting design can be effected. At present, the algorithmic behavioural level is not supported adequately by commercial tools yet.
The absence of this software leads to the motif of the ES/CS of the research institute OFFIS: "Bridging the gaps". The long-term goal of the ES/CS OFFIS department is the creation of design methods and design tools, which close the present gap and thus make the development process faster and more efficient. The aim of the Low Power Group of the ES/CS department goes beyond this, wishing to support the hardware designer in developing power efficient systems by visualising the effects on the power consumption already during the course of the development on an algorithmic level. This knowledge offers a fast and easy possibility to compare several algorithms in order to solve a problem and to be able to choose the energy optimal algorithm.
The tool suite ORINOCO was decisively developed in the EU projects PEOPLE, EURIPIDES and POET. In order to extend the abilities, the OFFIS type A Project LP-system has already been carried out. In order to carry out decisions of the distribution of the function implementation on hardware and software already on an abstract level, an application for the Type A project "LP-Software" that is supposed to investigate the basics of power consumption of software on embedded processors, has been made.
Previous efforts of the group have been concentrated on data dominated circuits. The goal of the project applied is to work out theoretical bases in order to extend the previous methods to circuits with a significant part of control flow. In particular, models for the controller have to be developed, and influences of conditional demands have to be modelled. The models being produced are supposed to be integrated into an existing tool suite. Because of the modularity and the service functions provided by the tool suite, the implementation expense, compared to the experimental expense of the model construction phase and validation, will recede.
The goal that has just been defined can be partitioned as follows:
Functionality model of the controller
Basing on the algorithmic speifications of the system and the boundary values, a functional model of the controller has to be developed. This model basically serves as the starting point for power consumption models and planar models. Decisions about the level of abstraction and the the complexity of the task that goes with it have to be made.
Power consumption model of the controller
Starting out from the functionality model it is necessary to obtain a model of the power consumption being produced by the controller. Again, complexity and accuracy must be balanced. A simple planar model is necessary as well, so that synthesis-constraints can be considered.
Impact of conditional execution
While the previous works of the group provide a good estimation for the power consumption of purely sequential or iterative algorithms, deviations deriving from conditional commands are disregarded. Due to flexible protocols, modern data processing systems have more and more different operation modes (e.g. MPEG). Therefore it is necessary to take the influence of conditionally executed commands into regard as well. Due to the profiling-based over-all approach, information about the control flow stands by for this task.