Процессор в памяти

Процессор в памяти (англ. Processor-in-memory, PIM; computational RAM, C-RAM, вычисляющее ОЗУ) — процессор, тесно интегрированный в основную память, выполненный, как правило, на одном кремниевом кристалле.

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

В 1980-х годах крошечный процессор, исполняющий программы Форт, был изготовлен в DRAM-чипе для ускорения операций PUSH и POP. FORTH является стек-ориентированным языком программирования, и это повысило его эффективность. [Транспьютер]] также имел большую память на чипе, учитывая, что эти чипы были изготовлены в начале 1980-х годов, это делает его, по существу, Процессором-в-памяти. Заметные PIM-проекты включают: проект IRAM в университете Калифорнии в Беркли, проект в Университете Нотр-Дам.

Вычисляющая памятьПравить

Вычисляющее ОЗУ или C-RAM — это ОЗУ с процессорными элементами, интегрированными в проект единой микросхемы. Это позволяет использовать его в качестве SIMD-компьютера. Он также может использоваться для более эффективного использования пропускной способности памяти в памяти чипа.

Пожалуй, наиболее влиятельные, в этой области, реализации вычисляющих ОЗУ пришли из проекта IRAM в Беркли.

В некоторых чрезвычайно параллельных (embarrassingly parallel) вычислительных задачах уже архитектура фон Неймана ставит ограничения в виде ограниченной пропускной способности между CPU и DRAM (узкое место архитектуры фон Неймана). Некоторые исследователи считают, что для той же суммарной стоимости, машина, построенная в вычислительной оперативной памяти будет работать на порядок быстрее, чем в традиционных ЭВМ общего назначения на эти видах задач.

На 2011 год процесс изготовления DRAM (немного слоев, регулярные топологические структуры, оптимизирован для высокой электрической ёмкости) и процесс изготовления CPU (много слоев, оптимизирован для высокой частоты, относительно дорогой на квадратный миллиметр) существенно отличаются. В связи с этим выделяется три подхода к изготовлению вычисляющего ОЗУ:

  • начать с процессора — оптимизация процесса и устройство, которое использует множество встроенных SRAM, добавить дополнительный шаг процесса (что делает его ещё дороже в пересчете на квадратный миллиметр), чтобы разрешить замену встроенной SRAM на встроенную (embedded) DRAM (eDRAM), давая ~3-кратную экономию площади в районах SRAM (и, следовательно, снижение себестоимости на чипе);
  • начать с системы с отдельным чипом CPU и DRAM чипами, добавить небольшое количество «сопроцессорной» вычислительных функций к DRAM, работая в рамках DRAM-процесса и добавляя только в небольших количествах области в DRAM, чтобы делать вещи, которые в противном случае были бы ограничены узким горлышком между CPU и DRAM: обнуление выделенных областей памяти, копирование больших блоков данных из одного места в другое, поиск где есть (если есть) заданный байт в некотором блоке данных, и так далее; в результате система — без изменений CPU чипа, и со «смарт-DRAM-чипами» — по крайней мере, так же быстра, как и в исходной системе, и, возможно, немного ниже по стоимости. Стоимость небольшого размера дополнительной области, как ожидается, будет более чем возвращена во счет экономии дорогих (так как долгих) проверок памяти, так как на смарт-DRAM сейчас достаточно вычислительной мощности — для пластин кремния («вафель») полных DRAM для выполнения большинства проверок на памяти внутренне и параллельно, а не традиционным подходом полных проверок одного DRAM чипа за раз с использованием дорогого внешнего автоматического тестирующего оборудования;
  • начать с DRAM-оптимизированного процесса, настроить процесс так, чтобы сделать его немного более похожим на CPU-процесс, и построить (с относительно низкой частотой, но низким энергопотреблением и очень высокой пропускной способностью) процессор общего назначения в пределах этого процесса (проект IRAM[en][1], TOMI Technology).

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

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

  1. Доводы в пользу IRAM, Компьютерра, №15 (20 апреля 1998 года). Архивировано 5 сентября 2014 года. Дата обращения 27 августа 2014.

СсылкиПравить

  • Duncan Elliott, Michael Stumm, W. Martin Snelgrove, Christian Cojocaru, Robert McKenzie, Computational RAM: Implementing Processors in Memory, IEEE Design and Test of Computers, vol. 16, no. 1, pp. 32-41, Jan-Mar, 1999. [1]