Вычисления с памятью

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Вычисления с памятью — способ построения вычислительных платформ, в которых используются принцип хранения результатов функций в массивах памяти, одномерных или двухмерных, в виде таблиц соответствия (look up tables, LUT), а вычисление функций заменяется извлечением значения из таблиц. Такие вычислительные платформы могут следовать как чисто пространственной модели вычислений, как в ПЛИС, так и временно́й модели вычислений (процедурной), когда функция вычисляется за множество тактов. Второй подход нацелен на уменьшение избыточности интерконнекта в ПЛИС за счёт совмещения операций обработки и передачи данных в одном вычислительном элементе. В этом подходе используются уплотнённые двухмерные массивы для хранения больших таблиц соответствий (LUT) со множественными входами и множественными выходами. Концепция Вычислений с памятью отличается от концепций Вычислений в памяти или Процессора в памяти Processor-in-memory (PIM), широко исследуемых в контексте интеграции процессора и памяти на одном кристалле, с целью уменьшения отклика памяти и увеличения пропускной способности. Такие подходы ищут способы уменьшения расстояния, на которое передаются данные между процессором и памятью. Одним из заметных вкладов в области архитектуры проектов PIM является проект Berkeley IRAM.

Вычисления с памятью обычно используют, чтобы обеспечить преимущества, получаемые от аппаратной реконфигурируемости. Реконфигурируемые системы являются гибкой аппаратной платформой для быстрого прототипирования, что позволяет сократить цикл разработки и уменьшить время выхода на рынок новых устройств. ПЛИС является популярной платформой для реализации цифровых схем прежде всего на основе пространственной модели. С самого начала использования ПЛИС в 1985 их базовая структура состоит из двухмерного массива конфигурационных логических блоков (Configurable Logic Blocks) объединенных пространственной коммутационной средой в виде программируемой матрицы интерконнекта. Производительность и энергопотребление ПЛИС существенно зависит от архитектуры коммутационной среды, принципов распространения и синхронизации сигналов. Уменьшение влияния ограничений коммутационной среды достигается за счёт расположения таблиц соответствия (LUT) в непосредственной близости друг от друга, называемых вместе кластерами, связи между кластерами также локализуются. Ввиду преимуществ кластерной архитектуры основные производители ПЛИС используют её в своих коммерческих продуктах[1][2]. Для реализации больших таблиц соответствия также могут быть использованы блоки внутренней памяти[3]. Подобная гетерогенность элементов памяти улучшает заполняемость и быстродействие компонентов схем за счёт минимизации и локализации связей.

Реконфигурируемые платформы на базе вычислений с памятью с итерационной (процедурной) моделью вычислений (или же комбинацией пространственной и итерационной модели) исследуются[4] в контексте повышения производительности и энергоэффективности относительно традиционных ПЛИС ориентированных в большей степени на пространственную модель (большое количество LUT с несколькими входами и одним выходом). Такие платформы известны как вычислители на памяти (ВнП) (Memory Based Computing (MBC)), в которых используются уплотнённые двумерные массивы памяти для хранения в них таблиц соответствия (LUT). Такие каркасные конструкции полагаются на разбиение сложных функций (f) на более простые функции, которые хранятся в LUT с многими входами и выходами. Вычисление сложных функции происходит за несколько итераций вычисления простых функций. При создании ВнП могут быть эффективно использованы такие свойства устройств памяти[5] как высокая ёмкость, низкое энергопотребление, высокая производительность наноразмерной памяти. В ВнП базовый вычислительный блок представляет собой двумерный массив памяти в котором хранятся таблицы соответствий (LUT), плюс необходимая логика управления для итерационного вычисления сложных функций. Такие вычислительные блоки объединяются пространственной коммутационной системой на основе эффективных решений отработанных в традиционных ПЛИС, причём за счёт того, что данные локализованы и итерационно вычисляются требования к коммутационной системе существенно снижаются. Массив памяти в каждом вычислительном элементе может быть реализован на основе контентно-адресуемой памяти, что снижает объем требуемой памяти для некоторых приложений.

Если сравнивать MBC c FPGA то это родственные технологии, разница в том, что в MBC используется упрощённая коммутационная среда и реализация более сложного итерационного механизма поддержки вычислений на LUT с многими входами/выходами. Преимуществом MBC является простота элементной базы, основанной на устройствах памяти различного вида.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Xilinx Corporation
  2. Altera Corporation
  3. J. Cong and S. Xu, «Technology Mapping for FPGAs with Embedded Memory Blocks», Symposium on Field Programmable Gate Array, 1998.
  4. S. Paul and S. Bhunia, «Reconfigurable Computing Using Content Addressable Memory for Improved Performance and Resource Usage», Design Automation Conference, 2008.
  5. S. Paul, S. Chatterjee, S. Mukhopadhyay and S. Bhunia, «Nanoscale Reconfigurable Computing Using Non-Volatile 2-D STTRAM Array», International Conference on Nanotechnology, 2009.