Re CPU: На современных архитектурах это невозможно. Предположим, что ваша программа работает на голом металле (т. Е. Избегая сложностей современных ОС, других приложений, обработки прерываний, оптимизации компиляторов и т. Д.). Схема, которая не используется, современный процессор будет работать с пониженным уровнем мощности. Существуют также аппаратные энергосберегающие состояния, такие как состояния P (Power) и C (Sleep), которые являются независимыми от команды и будут варьировать потребление энергии даже при той же последовательности команд. Даже если мы предположим, что ваше приложение привязано к процессору (это означает, что нет времени, достаточного для того, чтобы процессор мог переходить в состояние энергосбережения), мы не можем прогнозировать потребление энергии, кроме валового статистического уровня. Потоки команд конвейерны, выведены из строя, слиты и т. Д. И это даже не включает иерархию памяти и т. Д.
FPGA: О, черт возьми. Мой опыт работы с FPGA настолько стар, что я действительно не хочу говорить с того момента. Все, что я могу сказать, это так, когда огромные монстры бродили по земле, вы могли бы оценить использование энергии, так как вы знали схему схемы и потребление энергии вкл и выкл. Я не могу себе представить, что в современных ПЛИС нет современных технологий энергосбережения. Тем не менее, какая небольшая литература, которую я сканировал, подразумевает, что многие технологии питания ПЛИС основаны на априорном анализе и оптимизации. См. Design techniques for FPGA power optimization и 40-nm FPGA Power Management and Advantages. (Я просто сделал быстрый поиск и сканирование бумаг, кстати, поэтому не обращайте слишком много внимания на мой вывод.)
Я нашел бумагу в этом «https: //www.top500. org/files/green500/balaji-power-meas-green500-greencom10.pdf ", это для определенного процессора. – MimSaad
Это сильно зависит от точного результата маршрутизации и архитектуры FPGA. Что не так с использованием инструмента оценки мощности инструментария FPGA (на основе хороших данных моделирования после PAR)? – hexafraction
Его реализация FPGA для кодирования HDL занимает огромное время, но это всего лишь небольшая часть моей работы. – MimSaad