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

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

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

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

Подробности править

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

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

См. также править

Примечания править

  1. Xilinx Corporation. Дата обращения: 18 июня 2022. Архивировано 5 февраля 2009 года.
  2. Altera Corporation. Дата обращения: 18 июня 2022. Архивировано 24 июля 2018 года.
  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.