Архитектура памяти описывает методы, используемые для реализации электронного хранения данных компьютера таким образом, который является комбинацией самого быстрого, самого надежного, самого долговечного и наименее затратного способа хранения и извлечения информации. В зависимости от конкретного приложения может потребоваться компромисс одного из этих требований для улучшения другого требования. Архитектура памяти также объясняет, как двоичные цифры преобразуются в электрические сигналы и затем сохраняются в ячейках памяти. А также структуру ячейки памяти.
Например, динамическая память обычно используется для первичного хранения данных из-за ее высокой скорости доступа. Однако динамическая память должна многократно обновляться скачком тока десятки раз в секунду, иначе сохраненные данные будут испорчены и потеряны. Флэш-память позволяет осуществлять долгосрочное хранение в течение нескольких лет, но она намного медленнее динамической памяти, а ячейки статической памяти изнашиваются при частом использовании.
Аналогичным образом, шина данных часто проектируется для удовлетворения конкретных потребностей, таких как последовательный или параллельный доступ к данным, а память может быть спроектирована так, чтобы обеспечивать обнаружение ошибок четности или даже исправление ошибок .
Самыми ранними архитектурами памяти являются архитектура Гарварда , которая имеет два физически отдельных пути памяти и данных для программ и данных, и архитектура Принстона , которая использует один путь памяти и данных как для хранения программ, так и данных. [1]
Большинство компьютеров общего назначения используют гибридную модифицированную архитектуру Гарварда с раздельным кэшем , которая для прикладной программы выглядит как машина с чистой архитектурой Принстона с гигабайтами виртуальной памяти , но внутренне (для скорости) она работает с кэшем инструкций, физически отделенным от кэша данных, что больше похоже на модель Гарварда. [1]
Системы DSP обычно имеют специализированную подсистему памяти с высокой пропускной способностью; без поддержки защиты памяти или управления виртуальной памятью. [2] Многие цифровые сигнальные процессоры имеют 3 физически отдельных памяти и пути данных — хранилище программ, хранилище коэффициентов и хранилище данных. Серия операций умножения-накопления извлекает данные из всех трех областей одновременно для эффективной реализации аудиофильтров в виде сверток .