Я хочу сделать встроенный компилятор кода «C», который имеет возможность выполнять программу с минимальным количеством энергии, обычные компиляторы оптимизируют скорость или размер. Это будет означать, что компилятор уменьшит количество логических переключений как на адресных линиях, так и на линиях данных, потому что каждое переключение заряжает энергией.
код компилятора c, оптимизированный для низкого энергопотребления
Ответы (2)
Удачи в достижении этой цели (разработка собственного компилятора C, оптимизирующего энергопотребление; для этого вам нужно получить докторскую степень). Возможно, вы могли бы попробовать использовать MELT для настройки GCC для этой цели.
См. также проект MAGEEC; но я думаю, вам не следует ожидать в ближайшее время найти компилятор, волшебным образом и автоматически оптимизирующий для маломощных. Это должна быть оптимизация всей программы. (вам может понадобиться помощь, полуавтоматическая оптимизация).
И во многих аппаратных устройствах большая часть энергии потребляется чем-то другим, кроме ЦП. Например, в смартфонах экран и средства связи потребляют больше всего энергии (поэтому их следует оптимизировать). На самом деле, вам, вероятно, следует понизить частоту (в некотором конкретном приложении).
Это похвальная цель и практичная, в зависимости от того, насколько современно ваше оборудование. Я не думаю, что вы можете многое сделать для старого оборудования. Я также не думаю, что оптимизация логических переключателей (для минимизации тока утечки?) принесет вам много пользы, если только ваша программа не будет очень-очень простой и очень-очень маленькой. Проводили ли вы какие-либо эксперименты, подтверждающие, что вы можете добиться значительных успехов?
Если вы используете более современное оборудование с точки зрения процессора и периферийных устройств, вы можете создать компилятор, который может оптимизировать мощность. Современные процессоры и периферийные устройства имеют режим энергосбережения. Вы можете переписать код, чтобы воспользоваться преимуществами этих состояний и получить заметное снижение энергопотребления. Кроме того, вы должны учитывать свое окружение. Процессор потребляет много энергии, хотя мобильные процессоры, ориентированные на рынок встраиваемых систем, такие как сотовые телефоны, добились больших успехов в снижении энергопотребления процессора во время простоя.
Я выступаю с презентацией на тему того, как писать приложения для повышения энергоэффективности. Я не могу передать его вам, потому что он еще не опубликован. Я надеюсь написать серию блогов на ту же тему в течение следующих нескольких месяцев. Я написал и другие статьи о программном обеспечении и энергоэффективности, если вы хотите найти меня на веб-сайте программного обеспечения Intel. Хочу предупредить: большая часть моей работы, связанной с энергопотреблением, связана с процессорами Intel GP и HPC. Эти принципы по-прежнему применимы к мобильным процессорам Intel и другим современным архитектурам процессоров, предназначенным для рынка мобильных устройств и встраиваемых систем с низким энергопотреблением.