Jump to content

Организация данных для низкого энергопотребления

Потребление энергии по отношению к физическому размеру электронного оборудования возросло, поскольку компоненты стали меньше и более плотно упакованы. В сочетании с высокими рабочими частотами это привело к неприемлемому уровню рассеиваемой мощности. На память приходится значительная часть потребляемой мощности, и этот вклад можно уменьшить за счет оптимизации организации данных – способа их хранения. [1]

Мотивация

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

Оптимизация энергопотребления в электронных системах с высокой плотностью памяти стала одной из основных задач для таких устройств, как мобильные телефоны , встроенные системы и беспроводные устройства. По мере увеличения количества ядер на одном чипе увеличивается и энергопотребление устройств. Исследования распределения энергопотребления в смартфонах и дата-центрах показали, что подсистема памяти потребляет около 40% от общей мощности. Исследование показывает, что в серверных системах память потребляет примерно в 1,5 раза больше энергии, чем ядро. [2]

Организация данных памяти адресной шины с низким энергопотреблением

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

системного уровня, Шины такие как внекристальные шины или длинные внутрикристальные шины между IP-блоками, часто являются основными источниками энергопотребления из-за их большой нагрузочной емкости. Результаты экспериментов показали, что за счет организации данных активность шины при доступе к памяти можно снизить до 50%. Рассмотрим случай компиляции кода, написанного на языке программирования C :

int A[4][4], B[4][4];

for (i = 0; i < 4; i++) {
  for (j = 0; j < 4; j++) {
    B[i][j] = A[j][i];
  }
}
Иллюстрация порядка строк и столбцов

Большинство существующих компиляторов C помещают многомерный массив в построчной форме, то есть построчно: это показано в «неоптимизированном» столбце в соседней таблице. В результате доступ к памяти во время выполнения этого кода не имеет последовательного доступа к памяти, поскольку доступ к элементам в столбцах осуществляется последовательно. Но можно изменить способ их размещения в памяти, чтобы максимизировать количество последовательных обращений к памяти. Этого можно добиться, упорядочив данные, как показано в «оптимизированном» столбце таблицы. Такое перераспределение данных компилятором позволяет существенно снизить энергопотребление за счет доступа к памяти. [3]

неоптимизированный оптимизированный
А[0][0] А[0][0]
А[0][1] Б[0][0]
А[0][2] А[1][0]
А[0][3] Б[0][1]
А[0][0] А[2][0]
А[1][0] Б[0][2]
А[1][1] А[3][0]
. Б[0][3]
. А[0][1]
Б[0][0] Б[1][0]
Б[0][1] А[1][1]
Б[0][2] Б[1][1]
Б[0][3] .
Б[1][0] .
. .
. А[3][3]
Б[3][3] Б[3][3]

Преобразования структуры данных

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

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

Сортировка объявлений массива

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

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

Изменение области массива (от локального к глобальному)

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

В любой вычислительной программе локальные переменные хранятся в стеке программы, а глобальные переменные хранятся в памяти данных. Этот метод включает преобразование локальных массивов в глобальные массивы, чтобы они хранились в памяти данных, а не в стеке. Местоположение глобального массива может быть определено во время компиляции, тогда как местоположение локального массива может быть определено только при вызове подпрограммы и зависит от значения указателя стека. Как следствие, доступ к глобальным массивам осуществляется в режиме адресации со смещением с константой 0, тогда как доступ к локальным массивам, за исключением первого, осуществляется с постоянным смещением, отличным от 0, и это обеспечивает снижение энергии.

Изменение размера массива (вставка временного массива)

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

В этом методе элементы, к которым обращаются чаще, идентифицируются с помощью профилирования или статических соображений. Копии этих элементов затем сохраняются во временном массиве, доступ к которому можно получить без каких-либо ошибок в кэше данных. Это приводит к значительному снижению энергопотребления системы, но также может снизить производительность. [1]

Использование оперативной памяти

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

Встроенные кэши используют статическое ОЗУ , которое потребляет от 25% до 50% общей мощности чипа и занимает около 50% общей площади чипа. Память блокнота занимает меньше места, чем встроенный кэш. Обычно это снижает энергопотребление блока памяти, поскольку меньшая площадь подразумевает уменьшение общей коммутируемой емкости. Современные встроенные процессоры, особенно в области мультимедийных приложений и графических контроллеров, имеют встроенную блокнотную память. В системах с кэш-памятью отображение элементов программы выполняется во время выполнения, тогда как в системах с блокнотной памятью это делается либо пользователем, либо автоматически компилятором с использованием подходящего алгоритма. [4]

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б Брандолезе, Карло; Форначари, Уильям; Саличе, Фабио; Сьюто, Донателла (октябрь 2002 г.). «Влияние преобразований исходного кода на мощность и энергопотребление программного обеспечения» . Журнал схем, систем и компьютеров . 11 (5): 477–502. дои : 10.1142/S0218126602000586 .
  2. ^ Панда, PR; Патель, В.; Шах, П.; Шарма, Н.; Шринивасан, В.; Сарма, Д. (3–7 января 2015 г.). Методы оптимизации энергопотребления для DDR3 SDRAM . 28-я Международная конференция по проектированию СБИС (VLSID), 2015. IEEE. стр. 310–315. дои : 10.1109/VLSID.2015.59 .
  3. ^ «Методы оптимизации энергопотребления для DDR3 SDRAM»
  4. ^ «Блокнотная память: альтернатива конструкции встроенной кэш-памяти во встраиваемых системах» (PDF) .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 581d5923b217d6949ed2331ebd80c7d2__1692375600
URL1:https://arc.ask3.ru/arc/aa/58/d2/581d5923b217d6949ed2331ebd80c7d2.html
Заголовок, (Title) документа по адресу, URL1:
Data organization for low power - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)