Это общий взгляд на то, что более быстрый код будет потреблять меньше энергии, потому что вы можете поставить CPU в незанятом состоянии на большее время, но когда мы говорим об энергопотреблении, следующая возможность:
Предположим, что последовательность команд, которая выполняется в 1 мс, и во время процесса выполнения среднее потребление тока было 40 мА.. и ваш Vdd составляет 3,3 В
так что потребляемая полная энергия = V * я * t = 3,3 * 40 * 10 ^ -3 * 1 * 10 ^ -3 Дж = 13,2 * 10 ^ -6 джоулей
а в другом случае есть последовательность команд, которая выполняется в 2 мс, а во время выполнения среднее потребление тока составляет 15 мА.. и Vdd равно 3,3 В
так что потребляемая полная энергия: V * я * t = 3,3 * 15 * 10 ^ -3 * 2 * 10 ^ -3 Джоуля = 9,9 * 10 ^ -6 джоулей
поэтому вопрос приходит.... Существует ли какая-либо архитектура, которая имеет разные наборы инструкций для выполнения одной и той же задачи с различными текущими потребностями?
И если есть... то есть ли какой-нибудь компилятор, который учитывает это и генерирует код, который является энергоэффективным?