Память блокнота - Scratchpad memory
Эта статья нужны дополнительные цитаты для проверка.Октябрь 2013) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Память блокнота (SPM), также известный как блокнот, оперативная память блокнота или же местный магазин в компьютер По терминологии, это высокоскоростная внутренняя память, используемая для временного хранения вычислений, данных и другой незавершенной работы. Что касается микропроцессор ("ЦПУ "), блокнот относится к специальной высокоскоростной памяти. схема используется для хранения небольших данных для быстрого поиска. Это похоже на использование и размер блокнота в жизни: блокнот для предварительных заметок, набросков, записей и т. Д.
Его можно считать аналогом Кэш L1 в том, что это следующее ближайшее к ALU после регистры процессора, с явными инструкциями по перемещению данных в и из основная память, часто используя DMA передача данных на основе.[1] В отличие от системы, использующей кеши, система с блокнотами - это система с неравномерный доступ к памяти задержки, потому что задержки доступа к памяти к различным блокнотам и основной памяти различаются. Еще одно отличие от системы, в которой используются кеши, заключается в том, что блокнот обычно не содержит копии данных, которые также хранятся в основной памяти.
Блокноты используются для упрощения логики кэширования и для гарантии того, что устройство может работать без конфликтов с основной памятью в системе, использующей несколько процессоров, особенно в многопроцессорная система на кристалле за встроенные системы. Они в основном подходят для хранения временных результатов (поскольку они находятся в стеке ЦП), которые обычно не нужно всегда фиксировать в основной памяти; однако когда питается DMA, их также можно использовать вместо кеша для зеркального отображения состояния более медленной основной памяти. Те же вопросы местонахождение ссылки применяются в отношении эффективности использования; хотя некоторые системы позволяют прямому доступу к памяти получать доступ к прямоугольным наборам данных. Еще одно отличие состоит в том, что блокноты явно управляются приложениями. Они могут быть полезны для приложения реального времени, где предсказуемое время затрудняется поведением кеша.
Блокноты не используются в массовых процессорах для настольных ПК, где требуется универсальность устаревшее программное обеспечение запускаться от поколения к поколению, в котором доступный объем памяти на кристалле может изменяться. Они лучше реализованы во встроенных системах, процессорах специального назначения и Игровые приставки, где чипы часто производятся как MPSoC, и где программное обеспечение часто настраивается на одну конфигурацию оборудования.
Примеры использования
- Fairchild F8 1975 года содержал 64 байта блокнота.
- Cyrix 6x86 единственный x86 -совместимый процессор для настольных ПК со специальным блокнотом.
- SuperH, используемый в консолях Sega, может блокировать строки кэша по адресу вне основной памяти для использования в качестве блокнота.
- Sony PS1 с R3000 был блокнот вместо кеша L1. Здесь можно было разместить стек ЦП, пример использования временного рабочего пространства.
- Богоявление Адаптевой параллельно сопроцессор имеет локальные магазины для каждого ядра, соединенные сеть на чипе, с возможным DMA между ними и внешними связями (возможно, с DRAM). Архитектура аналогична Sony Cell, за исключением того, что все ядра могут напрямую обращаться к блокнотам друг друга, генерируя сетевые сообщения из стандартных инструкций загрузки / сохранения.
- Sony PS2 Двигатель эмоций включает 16КБ блокнот, в который и с которого может осуществляться передача DMA в его GS и основную память.
- Клетка SPE ограничены только работой в своем «локальном хранилище», полагаясь на DMA для передачи из / в основную память и между локальными хранилищами, как блокнот. В этом отношении дополнительная выгода получается из-за отсутствия оборудования для проверки и обновления согласованности между несколькими кэшами: конструкция использует преимущество предположения, что рабочее пространство каждого процессора является отдельным и частным. Ожидается, что это преимущество станет более заметным по мере увеличения числа процессоров в будущем "многоядерности". Тем не менее, из-за исключения некоторой аппаратной логики данные и инструкции приложений на SPE должны управляться через программное обеспечение, если вся задача на SPE не может поместиться в локальном хранилище.[2][3][4]
- Многие другие процессоры позволяют блокировать строки кэша L1.
- Наиболее цифровые сигнальные процессоры используйте блокнот. Многие прошлые 3D-ускорители и игровые консоли (включая PS2) использовали DSP для преобразования вершин. Это отличается от потокового подхода современных графических процессоров, которые имеют больше общего с функциями кеш-памяти ЦП.
- NVIDIA 8800 GPU работает под CUDA предоставляет 16 КБ блокнота (NVIDIA называет это общей памятью) на каждый поток при использовании для ГПГПУ задачи. Электронный блокнот также использовался в более поздних Ферми GPU (GeForce 400 серии ).[5]
- Агейи PhysX Чип включает оперативную память RAM аналогично ячейке; его теория утверждает, что иерархия кеша менее полезна, чем программно управляемая физика и вычисления столкновений. Эти воспоминания также хранятся в банках, и переключатель управляет передачей между ними.
- Intel Процессор Knights Landing имеет 16 ГБ MCDRAM, которую можно настроить как кэш, оперативную память или разделить на кеш-память и оперативную память.
- Movidius Myriad 2, а блок обработки изображений, организованная как многоядерная архитектура с большим многопортовым общим блокнотом.
- Graphcore разработал AI-ускоритель на основе воспоминаний блокнота[6]
Альтернативы
Контроль кеша против блокнотов
Некоторые архитектуры, такие как PowerPC, пытаются избежать необходимости блокировки строки кэша или блокнотов за счет использования инструкции по управлению кешем. Пометка области памяти с помощью «Data Cache Block: Zero» (выделение строки, но установка ее содержимого на ноль вместо загрузки из основной памяти) и удаление ее после использования («Data Cache Block: Invalidate», сигнализирующая, что основная память не работает » t получать какие-либо обновленные данные) кеш заставлен вести себя как блокнот. Общность сохраняется в том смысле, что это подсказки, и лежащее в основе оборудование будет работать правильно независимо от фактического размера кэша.
Что касается межпроцессорной связи в многоядерной настройке, есть сходства между DMA между локальными хранилищами Cell и настройкой общего кэша L2, как в Intel Core 2 Duo или пользовательском PowerPC для Xbox 360: кэш L2 позволяет процессорам обмениваться результатами без получения этих результатов. быть привязанным к основной памяти. Это может быть преимуществом, если рабочий набор поскольку алгоритм охватывает весь кэш L2. Однако, когда программа написана для использования преимуществ DMA между локальными хранилищами, ячейка имеет преимущество в виде локального хранилища друг для друга, служащего цели ОБА частной рабочей области для одного процессора И точки совместного использования между процессорами; то есть другие локальные хранилища находятся на том же основании, что и общий кэш L2 в обычном чипе. Компромисс заключается в том, что память тратится впустую на буферизацию и сложность программирования для синхронизации, хотя это будет похоже на предварительно кэшированные страницы в обычном чипе. Домены, в которых использование этой возможности эффективно, включают:
- Конвейерная обработка (где достигается тот же эффект, что и при увеличении размера кеша L1 путем разделения одного задания на более мелкие части)
- Расширение рабочего набора, например, золотая середина для сортировки слиянием, когда данные умещаются в пределах 8 × 256 КБ
- Загрузка общего кода, например загрузка фрагмента кода в один SPU, а затем его копирование оттуда в другие, чтобы избежать повторного попадания в основную память
Для обычного процессора было бы возможно получить аналогичные преимущества с помощью инструкций управления кешем, например, разрешив предварительную выборку на L1, минуя L2, или подсказку о выселении, которая сигнализирует о передаче от L1 к L2, но не фиксируется в основной памяти; однако в настоящее время ни одна система не предлагает эту возможность в удобной для использования форме, и такие инструкции по сути должны отражать явную передачу данных между областями кэша, используемыми каждым ядром.
Смотрите также
Рекомендации
- ^ Стейнке, Стефан; Ларс Вемейер; Бо-Сик Ли; Питер Марведель (2002). «Назначение программ и объектов данных в электронный блокнот для снижения энергопотребления» (PDF). Дортмундский университет. Получено 3 октября 2013.: "3.2 Модель блокнота. Блокнотная память использует программное обеспечение для управления назначением местоположения данных."
- ^ Дж. Лу, К. Бай, А. Шривастава, "SSDM: интеллектуальное управление данными стека для многоядерных компьютеров, управляемых программным обеспечением (SMM)", Конференция по автоматизации проектирования (DAC), 2–6 июня 2013 г.
- ^ К. Бай, А. Шривастава, «Автоматическое и эффективное управление данными в куче для многоядерных архитектур с ограниченной локальной памятью», Автоматизация проектирования и тестирование в Европе (ДАТА), 2013
- ^ К. Бай, Дж. Лу, А. Шривастава, Б. Холтон, «CMSM: эффективное и действенное управление кодом для многоядерных программ, управляемых программным обеспечением», КОДЫ + ISSS, 2013
- ^ Паттерсон, Дэвид (30 сентября 2009 г.). «10 лучших инноваций в новой архитектуре NVIDIA Fermi и 3 основных задачи, которые предстоит решить» (PDF). Лаборатория параллельных вычислений и NVIDIA. Получено 3 октября 2013.
- ^ (PDF) https://www.graphcore.ai/hubfs/assets/pdf/Citadel%20Securities%20Technical%20Report%20-%20Dissecting%20the%20Graphcore%20IPU%20Architecture%20via%20Microbenchmarking%20Dec%202019.pdf. Отсутствует или пусто
| название =
(помощь)
внешняя ссылка
- Раджешвари Банакар, Память электронного блокнота: альтернативный дизайн для кэша. Встроенная память во встроенных системах // КОДЫ'02. 6–8 мая 2002 г.