Диссертация (1150736), страница 8
Текст из файла (страница 8)
Обе задачи могутбыть автоматически решены методами статического анализа и автоматического доказательства теорем [41–44]. Другой подход заключается в динамическом41профилировании во время выполнения программы [45–48]. Статические методы обычно выдают более консервативные оценки параметров по сравнениюс динамическими, однако обычно обеспечивают гарантированное выполнениеограничений и работают меньшее время. Динамические методы обычно являются вероятностными, поскольку для обеспечения гарантированного выполнения ограничений требуется полный перебор входных параметров оптимизируемого алгоритма, что часто неприемлемо из-за времени вычислений.
Напрактике и те, и другие методы наиболее хорошо работают для ациклическихграфов вычислений.Статическое удаление логических схем без зависимостей встроено в программные средства логического синтеза такие как Synopsys Design Compiler.Оно также может рассматриваться как консервативная оптимизация шириныслова.1.8Рематериализация данныхСохранение результатов промежуточных вычислений для повторного использования или табулирование данных не всегда являются оптимальным решением для энергопотребления. На это влияют два фактора.1. Для хранения данных используется память с произвольным доступом,которая потребляет энергию в состоянии простоя.2. Энергия для обращения к памяти может быть больше, чем энергия дляповторного вычисления.
Такая ситуация возможна, если для вычисленийиспользуется специализированный аппаратный блок.В таблице 1.5 дано сравнение площади типичного блока регистровой памяти и умножителя с плавающей точкой, что позволяет получить представлениеоб их энергопотреблении.Для сравнения с другими типами памяти можно обратиться к таблице 1.2,для сравнения с другими вычислительными блоками к таблице 1.4. Такимобразом, энергопотребление памяти данных может превышать энергию на ихповторное вычисление.
В этом случае повторное вычисление является болеевыгодным. Эта техника называется рематериализацией данных.42Таблица 1.5: Относительный размер памяти и вычислительных блоков.Тип элементаРазмерMUL FP32 w/o denormРегистровая 8T-SRAM 1r1w 256x321.911.5Влияние перспективных технологий на энергоэффективностьПроизводство полупроводниковых схем является быстро развивающейсяобластью. Качественные оценки энергоэффективности и выбор архитектурыпривязаны к поколению технологических процессов и к специфике технологических библиотек компонентов.
При планировании перспективных разработок следует учитывать не только текущее состояние, но и перспективныетехнологии, планируемые к внедрению в производство в течение ближайшихнескольких лет. Такими технологиями для малопотребляющих технологических процессов на сегодня являются:∙ Схемы с пороговым напряжением питания (Near-threshold voltagecircuits);∙ Память на основе фазового перехода (Phase Change Memory).∙ Магниторезистивная память (MRAM).1.9.1Схемы с пороговым напряжением питанияДля устойчивой работы цифровых схем напряжение питания должно внесколько раз превышать пороговое напряжение транзисторов .
Уменьшение напряжения питания ведет к уменьшению как активной, так и статической рассеиваемой мощности схемы. При этом по формуле 1.2 максимальнаятактовая частота уменьшается пропорционально 0 ∝( − )2.Однако сле-дует помнить, что схема должна выполнять некоторую фиксированную вычислительную нагрузку. Если схема не может выполнять эту нагрузку, то ейтребуется распараллеливание, обратно пропорциональное уменьшению такто43вой частоты, что ведет к потенциально бесконечному увеличению площади имощности. Оценим энергию на выполнение одной операции при частоте 0 .)︂(︂0 ∝ 2 + ,( − )2lim 0 = inf →Уменьшение напряжения питания логических схем ведет к увеличениювероятности ошибки, для предотвращения ошибок требуется использоватьсквозное линейное кодирование с исправлением ошибок и/или многократноевычисление результатов с голосованием, что уменьшает выигрыш от понижения напряжения.
Кроме того, такое изменение подхода к проектированиюсхем не поддерживается инструментальными средствами разработки, что потенциально ведет к увеличению трудоемкости разработки специализированных схем для набора алгоритмов.При использовании подхода “рывок ко сну” энергопотребление в основномобусловлено токами утечки памяти состояния.Мы можем заключить, что по этим причинам для вычислительных блоковиспользование схем с пороговым напряжением питания в ближайшем будущем не будет оправдано в малопотребляющих специализированных схемах.Это соответствует текущему позиционированию технологии для микропроцессоров и микроконтроллеров общего применения и медицинского, в томчисле имплантируемого оборудования.
Поскольку микропроцессоры общегоприменения выпускаются большими партиями, расходы на разработку амортизируются в структуре себестоимости. Имплантируемое оборудование является функционально простым и дорогостоящим, что тоже позволяет использовать менее технологичные методы разработки.Другим способом использования технологии является разработка памятис пониженным напряжением питания в режиме хранения данных. Использование такой памяти не представляет сложности с точки зрения инструментальных средств разработки, поскольку она является крупным универсальнымбиблиотечным блоком и подключается через стандартный интерфейс.
Уменьшение напряжения питания памяти во время простоя существенно уменьшитмощность схем при подходе “рывок ко сну”.44Для отражения влияния памяти с пониженным напряжением питания в режиме простоя вформуле 1.4 следует заменить член 0 0 на сумму 0 0 + *0 0*где второе слагаемое отвечает за статическую мощность памяти. Формулапринимает следующий вид, что не меняет ее форму. = 0 0 + *0 0* + (0 / + 1 )1.9.2ˆ2 + 1 )(()()Память на основе фазового перехода и магниторезистивная памятьДругими перспективными видами памяти являются память на основе фазового перехода и магниторезистивная память.
Эти виды памяти изменяютсопротивление ячеек при переключении состояния.Так же, как и флэш память, эти типы памяти являются перезаписываемыми, то есть не потребляют энергии при хранении данных. Они могут бытьсформированы на кристале в рамках того же технологического процесса, чтои логические схемы.
В отличие от NAND флэш памяти они имеют произвольный доступ и большое количество циклов перезаписи, сравнимое с оперативной памятью. Энергия чтения сравнима с этим параметром у оперативнойпамяти, однако энергия записи в несколько раз превосходит энергию чтения.Эти виды памяти хорошо подходят для хранения таблиц и кода программы. Для отражения влияния новых типов памяти изменения в формуле 1.4 нетребуются.
Достаточно учесть разность стоимости чтения и записи в множителе , отвечающем за сложность алгоритма.1.10Влияние архитектуры программного обеспечения на энергоэффективностьСпециализированные полупроводниковые схемы для цифровой обработкиданных с развитой функциональностью обычно строятся на основе параметризованного программируемого микропроцессора или микроконтроллера общего применения, например, принадлежащего семействам ARC, ARM, x86,Tensilica. Это оправдано по нескольким причинам:45∙ возможность переиспользования вычислительных ресурсов между частями алгоритма для экономии площади кристалла и улучшения энергоэффективности;∙ переиспользование памяти данных различными частями алгоритмов дляуменьшения ее размера и уменьшения необходимости копирования данных, что ведет к улучшению энергоэффективности;∙ возможность исправления ошибок в алгоритме после изготовления кристалла, что позволяет разделить процессы разработки аппаратуры и программы для сокращения общего времени разработки;∙ возможность переиспользования блока и архитектуры кристалла в других типах устройств за счет изменения алгоритма для сокращения времени разработки и стоимости производства;∙ наличие развитых средств программирования (компилятор, отладчик,ОС) для сокращения времени разработки.Включение программируемых блоков приводит к существенному влияниюпамяти программ на площадь схемы на кристалле.
Это также приводит к увеличению активной мощности, расходуемой на чтение кода из памяти. Расходы на чтение памяти кода могут вносить существенный вклад в активнуюмощность. Влияние на статическую мощность может быть незначительнымв случае, если код исполняется из перезаписываемой памяти и кэш кода воперативной памяти отключается от питания на время простоя.Для оптимизации энергопотребления разумным подходом является минимизация размера программного кода на устройстве. В целях уменьшения затрат на разработку программного обеспечения программы для малопотребляющих устройств пишутся на языках высокого уровня, таких как C, C++,Ada, Fortran и, в последнее время, Java, C#. При этом программы выполняются в окружении исполнения, включающем базовые библиотеки, средстваконтроля типов и обработки ошибок.