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

Из Википедии, бесплатной энциклопедии

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

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

В 1980-х годах крошечный процессор, исполняющий программы Форт (Forth), был изготовлен в DRAM-чипе для ускорения операций PUSH и POP (Форт является стек-ориентированным языком программирования, и это повысило его эффективность). Транспьютер также имел большую память-на-чипе и, учитывая что эти чипы были изготовлены в начале 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[англ.][1], TOMI Technology).

Примечания

[править | править код]
  1. "Доводы в пользу IRAM". Компьютерра, №15. 1998-04-20. Архивировано из оригинала 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]