stringtranslate.com

Блокнот памяти

Блокнотная память ( SPM ), также известная как блокнот , блокнот RAM или локальное хранилище в компьютерной терминологии, представляет собой внутреннюю память, обычно высокоскоростную, используемую для временного хранения вычислений, данных и другой незавершенной работы. Что касается микропроцессора ( или ЦП ), блокнот относится к специальной высокоскоростной памяти, используемой для хранения небольших элементов данных для быстрого поиска. Это похоже на использование и размер блокнота в жизни: блокнот для предварительных заметок, набросков, записей и т. д. Когда блокнот представляет собой скрытую часть основной памяти, его иногда называют хранилищем данных .

В некоторых системах [a] его можно считать похожим на кэш L1 в том смысле, что это следующая ближайшая к ALU память после регистрации процессора , с явными инструкциями по перемещению данных в основную память и из нее , часто с использованием передачи данных на основе DMA . . [1] В отличие от системы, использующей кэши, система с блокнотами — это система с неравномерными задержками доступа к памяти (NUMA), поскольку задержки доступа к памяти для разных блокнотов и основной памяти различаются. Еще одно отличие от системы, использующей кэш, заключается в том, что блокнот обычно не содержит копии данных, которые также хранятся в основной памяти.

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

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

Примеры использования

Альтернативы

Контроль кэша против блокнотов

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

Общие локальные магазины L2 и Cell

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

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

Смотрите также

Примечания

  1. ^ Некоторые старые системы использовали скрытую часть основной памяти, так называемую временную память, в качестве блокнота. В других системах, например UNIVAC 1107 , все адресуемые регистры хранились в блокноте.

Рекомендации

  1. ^ Стейнке, Стефан; Ларс Вемейер; Бо-Сик Ли; Питер Марведель (2002). «Назначение объектов программы и данных в блокнот для снижения энергопотребления» (PDF) . Университет Дортмунда . Проверено 3 октября 2013 г.: "3.2 Модель блокнота.. Память блокнота использует программное обеспечение для управления назначением местоположения данных."
  2. ^ «Внутренняя архитектура TI-99/4A». www.unige.ch . Проверено 08 марта 2023 г.
  3. ^ Дж. Лу, К. Бай, А. Шривастава, «SSDM: управление данными интеллектуального стека для многоядерных процессоров, управляемых программным обеспечением (SMM)», Конференция по автоматизации проектирования (DAC) , 2–6 июня 2013 г.
  4. ^ К. Бай, А. Шривастава, «Автоматическое и эффективное управление кучей данных для многоядерных архитектур с ограниченной локальной памятью», Автоматизация проектирования и тестирование в Европе (ДАТА) , 2013 г.
  5. ^ К. Бай, Дж. Лу, А. Шривастава, Б. Холтон, «CMSM: эффективное и действенное управление кодом для многоядерных процессоров, управляемых программным обеспечением», CODES + ISSS , 2013
  6. Паттерсон, Дэвид (30 сентября 2009 г.). «10 главных инноваций в новой архитектуре NVIDIA Fermi и 3 главных будущих задачи» (PDF) . Лаборатория исследований параллельных вычислений и NVIDIA . Проверено 3 октября 2013 г.
  7. ^ Цзя, Чжэ; Тиллман, Блейк; Маджиони, Марко; Скарпацца, Даниэле П. (7 декабря 2019 г.). Анализ архитектуры Graphcore IPU с помощью микробенчмаркинга (PDF) (технический отчет). Цитадель Энтерпрайз Америкас, ООО. arXiv : 1912.03413 .

Внешние ссылки