Jump to content

Сокращение операций при малой мощности

Operation Reduction for Low Power — это ASIC, метод преобразования программы используемый для снижения энергопотребления конкретного приложения. Преобразование программы — это любая операция, которая изменяет вычислительную структуру, такую ​​как характер и тип вычислительных моделей, их взаимосвязи, последовательность операций, сохраняя неизменным поведение ввода-вывода. В основном мы используем сокращение операций, чтобы уменьшить количество операций, которые необходимо выполнить для выполнения задачи, что снижает необходимое оборудование и, в свою очередь, энергопотребление. Например, в конкретной микросхеме конкретного приложения уменьшение количества необходимых независимых дополнений автоматически уменьшает количество требуемых сумматоров, а также потребляемую мощность.

Замена операции

[ редактировать ]

Операция «Замена» — это один из методов сокращения операций, при котором определенные дорогостоящие операции заменяются относительно более дешевыми операциями, которые снижают энергопотребление. Некоторые типичные примеры методов замены операций приведены ниже:

  1. Умножение путем сложения/вычитания : умножение двух чисел является дорогостоящим по сравнению с сложением двух чисел, поэтому замена его сложением выгодна. Например, чтобы вычислить y = x 2 + Ax + B мы можем вычислить x 2 , Ax, и добавьте их оба к B, который имеет 2 умножения, 3 сложения, или мы можем преобразовать его в y = x(x+A) + B, где мы можем вычислить x+A, умножить его на x и добавить B, где у нас есть 1 умножение и 2 сложения, оба подхода имеют одинаковую длину критического пути, но второй имеет меньшие умножения, что экономит энергию.
  2. Вычисление синуса/косинуса/tan : Вычисление тригонометрических функций также может оказаться весьма дорогостоящим, поскольку замена их на разложение Тейлора меньшего порядка делает их менее энергозатратными, но мы можем потерять из-за аппроксимации, что является компромиссом, который следует учитывать. разум.
  3. Умножение-сложение на MAC : операция умножения-накопления — это обычный шаг, при котором вычисляет произведение двух чисел и добавляет это произведение в аккумулятор. Аппаратное обеспечение, используемое для этой цели, называется умножителем-аккумулятором (MAC). Использование MAC также снижает потребляемую мощность. По сути, MAC выполняет умножение и сложение в одном устройстве.
  4. Уменьшение доступа к памяти . Изменение структуры программы путем замены операций, требующих частого доступа к памяти, на операции, требующие меньшего доступа к памяти, также выгодно, поскольку доступ к памяти является дорогостоящей операцией.

Пример бабочки

[ редактировать ]

Популярным примером замены операции является пример «Бабочка». В этом примере нам нужно вычислить два значения y r = a r * x r - a i * x i , y i = a i * x r + a r * x i , что можно сделать, последовательно вычисляя члены, как показано в выражения. Но используя подстановку операций, мы можем вычислить их с помощью выражений: y r = a r * (x i +x r ) - x i * (a i +a r ), y i = a r * (x i +x r ) + x r * (a i -ar r ), где термин (x i +x ) , однажды вычисленный, может использоваться для обоих вычислений, из этого мы можем легко определить, что операции изменились из-за того, что количество операций изменилось с 4 умножений на 3 и 2 Добавьте/подключите к 3. Критический путь в первом методе имел длину 2, тогда как во втором — 3. Итак, снова это компромисс между задержкой и мощностью.

Снижение коммутационной активности

[ редактировать ]

Основываясь на частоте изменения входных данных, мы можем смоделировать программу так, чтобы происходило меньшее переключение активности, т.е. если определенные входные данные изменяются реже, то их следует заставить работать в одном модуле, чтобы конкретный модуль был относительно пассивным по сравнению с другими. A+B+C+D можно вычислить как (A+B)+C+D или (A+B)+(C+D), первый из которых подает C,D на два отдельных сумматора, но если они изменяются относительно медленно тогда выгоднее подавать их в один и тот же сумматор.

Планирование и привязка с учетом энергопотребления

[ редактировать ]

Любой синтез состоит из трех частей: Распределение (количество и тип ресурсов), Планирование (планирование операций), Привязка (построение схемы). Мы можем запланировать операции в определенном порядке, исходя из того, какое значение в программе активирует сколько модулей. Мы всегда хотим, чтобы операции, требующие выполнения дополнительных операций, были запланированы на более позднее время.

Использование взаимного исключения

[ редактировать ]

Рассмотрим следующий фрагмент кода:

if (C > 0) {
    :A = A * C
}

Предположим, что профилирование показало, что, скорее всего, значение C равно 2. Следовательно, поскольку C и C независимы и взаимоисключающие, мы можем изменить код так, чтобы он был

if (c == 2) {
    A = A << 1
}
else if (C > 0) {
    :A = A * C;
}

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

  1. Чандракасан, А. П. и др., Оптимизация мощности с помощью преобразований, IEEE TCAD, том 14, январь 1995 г., стр. 12–31.
  2. Маломощная конструкция Лек-4 ( https://www.youtube.com/watch?v=J56ExZ9uGkg )
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: ebbf11968c807944b123af0d11c473b6__1715212140
URL1:https://arc.ask3.ru/arc/aa/eb/b6/ebbf11968c807944b123af0d11c473b6.html
Заголовок, (Title) документа по адресу, URL1:
Operation reduction for low power - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)