Снизить энергопотребление кодировками
От: Эйнсток Файр Мухосранск Странный реагент
Дата: 18.10.20 04:01
Оценка: :)))
Можно ли снизить энергопотребление вычислительной системы, если выбирать кодировки, где больше нулей, чем единиц?
Re: Снизить энергопотребление кодировками
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 18.10.20 09:59
Оценка: 31 (6)
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Можно ли снизить энергопотребление вычислительной системы, если выбирать кодировки, где больше нулей, чем единиц?


Такое могло помочь в схемах на ТТЛ/ЭСЛ с "токовой" логикой (в одном из состояний ток течет, в другом — нет). Вся вычислительная электроника давно уже работает на КМОП, где при установившемся состоянии ток не течет (просто сохраняется заряд). Ток течет (и энергия затрачивается) только при переключениях. Различие в кодировках может дать экономию только при начальной инициализации, затраты на которую ничтожны по сравнению с последующей работой.
Re[2]: Снизить энергопотребление кодировками
От: Maniacal Россия  
Дата: 28.10.20 08:41
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, Эйнсток Файр, Вы писали:


ЭФ>>Можно ли снизить энергопотребление вычислительной системы, если выбирать кодировки, где больше нулей, чем единиц?


ЕМ>Такое могло помочь в схемах на ТТЛ/ЭСЛ с "токовой" логикой (в одном из состояний ток течет, в другом — нет). Вся вычислительная электроника давно уже работает на КМОП, где при установившемся состоянии ток не течет (просто сохраняется заряд). Ток течет (и энергия затрачивается) только при переключениях. Различие в кодировках может дать экономию только при начальной инициализации, затраты на которую ничтожны по сравнению с последующей работой.


Вообще-то CMOS(КМОП)-память используется только для хранения настроек BIOS. Стандартная память это или SRAM (триггер из двух транзисторов на каждый бит) или обычно DRAM (один конденсатор и один транзистор на каждый бит). Вторая дешевле, но медленнее и, во-первых, требует энергии на заряд/разряд конденсатора, а во-вторых конденсаторы имеют тенденцию к саморазряду и требуются постоянная регенерация памяти, т.е. подзарядка заряженных конденсаторов. Так что память, содержащая больше единиц потребляет больше энергии.
Re[3]: Снизить энергопотребление кодировками
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 28.10.20 08:59
Оценка:
Здравствуйте, Maniacal, Вы писали:

M>Вообще-то CMOS(КМОП)-память используется только для хранения настроек BIOS.


КМОП — это прежде всего технология построения логических вентилей (основны цифровых систем), и лишь затем — один из видов памяти.

M>Стандартная память это или SRAM (триггер из двух транзисторов на каждый бит) или обычно DRAM (один конденсатор и один транзистор на каждый бит).


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

M>Вторая дешевле, но медленнее и, во-первых, требует энергии на заряд/разряд конденсатора


Так и SRAM требует энергии на перезаряд затворов транзисторов триггера.

M>требуются постоянная регенерация памяти, т.е. подзарядка заряженных конденсаторов.


Для регенерации достаточно нескольких десятков циклов в секунду. Если система занимается вычислениями достаточно активно, то относительные затраты энергии на регенерацию ничтожны. Если же преобладает хранение, то и памяти, как правило, требуется немного, и затраты опять же ничтожны.

Я навскидку даже не могу представить задач, в которых малый объем вычислений сочетался бы с большим объемом потребной памяти, в которой длительно хранятся настолько однородные данные, что нули или единицы в них безусловно доминируют.
Re: Снизить энергопотребление кодировками
От: удусекшл  
Дата: 28.10.20 09:26
Оценка:
Здравствуйте, Эйнсток Файр, Вы писали:

ЭФ>Можно ли снизить энергопотребление вычислительной системы, если выбирать кодировки, где больше нулей, чем единиц?


Что значит кодировки, где больше нулей? Можно ASCII кодировку представить в таком виде — в каждом байте установим только одну единицу. Только тогда под char придётся отвести 256 байт. В чем профит?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.