Energy-Exposed Instruction Set Architectures
1 Introduction
Power consumption is emerging as a key factor limiting
computational performance in both mobile and tethered
systems. Although there has been significant progress
in low-power circuit design and low-power CAD and some
work in low-power microarchitectures, there has been little
work to date at the level of instruction set architecture
(ISA) design for low power computing.
Modern ISAs such as RISC or VLIW are based on
extensive research into the effects of instruction set design
on performance, and provide a purely performanceoriented
hardware-software interface. These instruction
sets avoid features that would impede a high-performance
implementation. They also avoid providing alternate ways
to perform the same task unless it will increase performance
significantly. Implementations of these ISAs perform
many energy-consuming microarchitectural operations
during execution of each user level instruction and
these dominate total power dissipation. For example, when
executing an integer add instruction on a simple RISC processor
only 1/50th of the total energy consumption is due
to the adder circuitry itself. The rest is dissipated by cache
tag and data accesses, TLBs, register files, pipeline registers,
and pipeline control logic. Modern machine pipelines
have been refined to the point where most of the additional
microarchitecturalwork is performed in a pipelined or parallel
manner that does not affect the throughput or uservisible
latency of a “simple” add instruction. Because their
performance effects can be hidden, there is no incentive
to expose these constituent micro-operations in a purely
performance-oriented ha ...