Электронная память

редактировать

Электронная память (SPM ), также известная как блокнот, блокнотная RAM или локальное хранилище в терминологии компьютер - это высокоскоростная внутренняя память, используемая для временного хранения вычислений, данных и другой незавершенной работы. В отношении микропроцессора («CPU ») блокнотом называется специальная высокоскоростная память схема, используемая для хранения небольших элементов данных для быстрого поиска. Это похоже на использование и размер блокнота в жизни: блокнот для предварительных заметок, набросков, записей и т. Д.

Его можно рассматривать как кэш L1 в что это следующая ближайшая память к ALU после регистров процессора, с явными инструкциями по перемещению данных в и из основной памяти, часто с использованием Передача данных на основе DMA. В отличие от системы, использующей кеши, система с блокнотами - это система с неравномерным доступом к памяти задержками, потому что задержки доступа к памяти к разным блокнотам и основной памяти различаются. Еще одно отличие от системы, в которой используются кеши, заключается в том, что блокнот обычно не содержит копии данных, которые также хранятся в основной памяти.

Блокноты используются для упрощения логики кэширования и для гарантии того, что устройство может работать без конфликтов с основной памятью в системе, использующей несколько процессоров, особенно в многопроцессорной системе на кристалле для встраиваемые системы. Они в основном подходят для хранения временных результатов (поскольку они находятся в стеке ЦП), которые обычно не нужно всегда фиксировать в основной памяти; однако при подаче из DMA они также могут использоваться вместо кеша для зеркального отображения состояния более медленной основной памяти. Те же вопросы, что и местонахождение ссылки, применяются в отношении эффективности использования; хотя некоторые системы позволяют прямому доступу к памяти получать доступ к прямоугольным наборам данных. Еще одно отличие состоит в том, что блокноты явно управляются приложениями. Они могут быть полезны для приложений реального времени, где предсказуемая синхронизация затрудняется поведением кеша.

Блокноты не используются в массовых процессорах для настольных ПК, где требуется универсальность для устаревшего программного обеспечения для работы от поколения к поколению, в которых размер доступной памяти на кристалле может изменяться. Их лучше реализовать во встроенных системах, специализированных процессорах и игровых консолях, где микросхемы часто производятся как MPSoC, и где программное обеспечение часто настраивается на одну конфигурацию оборудования.

Содержание
  • 1 Примеры использования
  • 2 Альтернативы
    • 2.1 Контроль кеша по сравнению с блокнотами
    • 2.2 Общий L2 и локальные хранилища ячейки
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки
Примеры использования
  • Fairchild F8 1975 года содержал 64 байта блокнота.
  • Cyrix 6x86 - единственный x86 -совместимый процессор для настольных ПК, включающий специальный блокнот.
  • SuperH, используемый в консолях Sega, может блокировать строки кэша по адресу вне основной памяти для использования в качестве блокнота.
  • Sony PS1 R3000 имел блокнот вместо кеша L1. Здесь можно было разместить стек ЦП, пример использования временного рабочего пространства.
  • Сопроцессор Adapteva Epiphany параллельный имеет локальные хранилища для каждого ядра, подключенные к сети на микросхема, с возможностью DMA между ними и внешними связями (возможно, с DRAM). Архитектура аналогична Sony Cell, за исключением того, что все ядра могут напрямую обращаться к блокнотам друг друга, генерируя сетевые сообщения из стандартных инструкций загрузки / сохранения.
  • Sony PS2 Emotion Engine включает блокнот размером 16 КБ, в который и из которого может осуществляться передача DMA в его GS, и основную память. SPE ячейки
  • Cell ограничены исключительно работой в их "локальном хранилище" ", полагаясь на DMA для передачи из / в основную память и между локальными хранилищами, во многом как блокнот. В этом отношении дополнительная выгода получается из-за отсутствия оборудования для проверки и обновления согласованности между несколькими кэшами: конструкция использует преимущество предположения, что рабочее пространство каждого процессора является отдельным и частным. Ожидается, что это преимущество станет более заметным по мере увеличения числа процессоров в будущем "многоядерности". Тем не менее, из-за исключения некоторой аппаратной логики, данные и инструкции приложений на SPE должны управляться через программное обеспечение, если вся задача на SPE не может поместиться в локальном хранилище.
  • Многие другие процессоры позволяют строкам кэша L1 быть быть заблокированным.
  • В большинстве цифровых сигнальных процессоров используется блокнот. Многие прошлые 3D-ускорители и игровые консоли (включая PS2) использовали DSP для преобразования вершин. Это отличается от потокового подхода современных графических процессоров, которые имеют больше общего с функциями кэша ЦП.
  • NVIDIA 8800 GPU, работающий под CUDA предоставляет 16 КБ блокнота (NVIDIA называет это общей памятью) для каждого потока при использовании для задач GPGPU. Электронный блокнот также использовался в более поздних версиях Fermi GPU (GeForce 400 Series ).
  • Ageia PhysX включает оперативную память RAM аналогично Cell; теория утверждает, что Иерархия кеша менее полезна, чем программно управляемая физика и вычисления столкновений. Эти памяти также хранятся в банках, и переключатель управляет передачей между ними.
  • Процессор Intel Knights Landing имеет 16 ГБ MCDRAM, которая может может быть сконфигурирован как кэш, оперативная память или разделен на кеш-память и оперативную память.
  • Movidius Myriad 2, блок обработки изображений, организованный как многоядерная архитектура с большой многопортовой общий блокнот.
  • Graphcore разработал ускоритель ИИ на основе блокнотов памяти
Альтернативы

Контроль кеша и блокноты

Некоторые архитектуры, такие как PowerPC попытаться избежать необходимости блокировки строки кэша или блокнотов с помощью инструкций управления кешем. Маркировка области памяти или с помощью «Data Cache Block: Zero» (выделение строки, но установка ее содержимого на ноль вместо загрузки из основной памяти) и ее отбрасывание после использования («Data Cache Block: Invalidate», сигнализирующее, что основная память не получила никаких обновлений data) кеш заставлен работать как блокнот. Общность сохраняется в том смысле, что это подсказки, и лежащее в основе оборудование будет работать правильно независимо от фактического размера кэша.

Совместно используемые хранилища L2 и локальные хранилища ячейки

Что касается межпроцессорной связи в многоядерной настройке, есть сходство между DMA между локальными хранилищами ячейки и настройкой общего кэша L2, как в Intel Core 2 Duo или специальный powerPC для Xbox 360: кэш L2 позволяет процессорам обмениваться результатами без необходимости сохранения этих результатов в основной памяти. Это может быть преимуществом, когда рабочий набор для алгоритма охватывает всю кэш-память L2. Однако, когда программа написана для использования преимуществ DMA между локальными хранилищами, ячейка имеет преимущество в виде локального хранилища друг для друга, служащего цели ОБА частной рабочей области для одного процессора И точки совместного использования между процессорами; то есть другие локальные хранилища находятся на том же основании, что и общий кэш L2 в обычном чипе. Компромисс заключается в том, что память тратится впустую на буферизацию и сложность программирования для синхронизации, хотя это будет похоже на предварительно кэшированные страницы в обычном чипе. Области, в которых использование этой возможности эффективно, включают:

  • Обработка конвейера (где достигается тот же эффект, что и увеличение размера кэша L1 путем разделения одного задания на более мелкие части)
  • Расширение рабочего набора, например, сладкое место для сортировки слиянием, где данные умещаются в пределах 8 × 256 КБ
  • Загрузка общего кода, например загрузка фрагмента кода в один SPU, а затем его копирование оттуда в другие, чтобы избежать повторного попадания в основную память

Обычный процессор мог бы получить аналогичные преимущества с помощью инструкций управления кешем, например, позволяя выполнять предварительную выборку на L1, минуя L2, или подсказку о выселении, которая сигнализирует о передаче с L1 на L2, но не фиксируется в основном объем памяти; однако в настоящее время ни одна система не предлагает эту возможность в удобной для использования форме, и такие инструкции по сути должны отражать явную передачу данных между областями кэша, используемыми каждым ядром.

См. Также
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-07 06:51:40
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте