Вычисления с памятью
Вычисления с памятью — способ построения вычислительных платформ, в которых используются принцип хранения результатов функций в массивах памяти, одномерных или двухмерных, в виде таблиц поиска, а вычисление функций заменяется извлечением значения из таблиц. Такие вычислительные платформы могут следовать как чисто пространственной модели вычислений, как в ПЛИС, так и временно́й модели вычислений (процедурной), когда функция вычисляется за множество тактов. Второй подход нацелен на уменьшение избыточности интерконнекта в ПЛИС за счёт совмещения операций обработки и передачи данных в одном вычислительном элементе. В этом подходе используются уплотнённые двухмерные массивы для хранения больших таблиц поиска со множественными входами и множественными выходами. Концепция Вычислений с памятью отличается от концепций Вычислений в памяти или Процессора в памяти (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 является простота элементной базы, основанной на устройствах памяти различного вида.
См. также
- Reconfigurable computing
- ПЛИС
- Программируемая пользователем вентильная матрица
- Процессор в памяти
- Ассоциативная память
- Таблица поиска
Примечания
- Xilinx Corporation
- Altera Corporation
- J. Cong and S. Xu, «Technology Mapping for FPGAs with Embedded Memory Blocks», Symposium on Field Programmable Gate Array, 1998.
- S. Paul and S. Bhunia, «Reconfigurable Computing Using Content Addressable Memory for Improved Performance and Resource Usage», Design Automation Conference, 2008.
- S. Paul, S. Chatterjee, S. Mukhopadhyay and S. Bhunia, «Nanoscale Reconfigurable Computing Using Non-Volatile 2-D STTRAM Array», International Conference on Nanotechnology, 2009.