Производительность программного обеспечения (MCPS и потребляемая мощность) во встроенной системе - PullRequest
2 голосов
/ 03 февраля 2009

Предположим, что встроенная среда имеет ядро ​​DSP (любое другое ядро ​​процессора).

Если у меня есть код для некоторого приложения / функциональности, который оптимизирован, чтобы быть одним из лучших с точки зрения потребляемых циклов (MCPS), это будет также код, лучший с точки зрения потребляемой энергии этот код в реальной аппаратной системе?

Можно ли гарантировать, что код, оптимизированный для наименьшего MCPS, также будет иметь наименьшее энергопотребление?

Я знаю, что здесь нужно учитывать много аспектов, таких как архитектура базового процессора и аппаратной системы (память, шина и т. Д.).

Ответы [ 3 ]

1 голос
/ 03 февраля 2009

Нет, минимальное количество циклов не гарантирует минимальное энергопотребление.

Это хороший показатель, но вы не учли, что активность шины памяти также потребляет довольно много энергии.

Ваш код может, например, иметь большее количество циклов, но меньшее энергопотребление, если вы перемещаете часто необходимые данные во внутреннюю память (на чип памяти). Это не увеличит количество циклов ваших алгоритмов, но перемещение данных во внутреннюю память и из нее увеличивает количество циклов.

Если ваша система имеет кэш-память и внутреннюю память, оптимизируйте также для лучшего использования кеша.

1 голос
/ 03 февраля 2009

Очень сложно сказать, не вставив чувствительный амперметр между вашей платой и источником питания и не записав потребляемый ток. Мой подход состоит в том, чтобы проверить предположения для различных реальных сценариев, а не использовать сопроводительную документацию.

0 голосов
/ 03 февраля 2009

Это не прямой ответ, но я подумал, что эта статья (из этот ответ ) была интересной: Планирование задач в реальном времени для энергосберегающих встраиваемых систем .

Насколько я понимаю, он пытается выполнить каждую задачу в состоянии низкого энергопотребления процессора, если он не может уложиться в срок без высокой мощности. Таким образом, в такой схеме более эффективный код (меньше циклов) должен позволить процессору тратить больше времени на сокращение.

...