Компью́терная па́мять
(
устройство хранения информации
,
запоминающее устройство
) — часть
вычислительной машины
, физическое устройство или среда для хранения
данных
, используемая в вычислениях систем в течение определённого времени. Память и
центральный процессор
неизменно являются частью компьютера с 1940-х годов. Память в вычислительных устройствах имеет
иерархическую структуру
и обычно предполагает использование нескольких запоминающих устройств, имеющих различные характеристики.
Задачей компьютерной памяти является хранение в своих
ячейках
состояния внешнего воздействия, запись
информации
. Эти ячейки могут фиксировать
самые разнообразные физические воздействия
. Они функционально аналогичны обычному
электромеханическому переключателю
и информация в них записывается в виде двух чётко различимых состояний — 0 и 1 («выключено»/«включено»). Специальные механизмы обеспечивают доступ (
считывание
, произвольное или последовательное) к состоянию этих ячеек.
Процесс доступа к памяти разбит на разделённые во времени процессы — операцию записи (
сленг.
прошивка
, в случае записи
ПЗУ
) и операцию
, во многих случаях эти операции происходят под управлением отдельного специализированного устройства —
контроллера памяти
.
Также различают операцию
стирания памяти
— занесение (запись) в
ячейки памяти
одинаковых значений, обычно 00
16
или FF
16
.
Компьютерная память обеспечивает поддержку одной из функций современного
компьютера
, — способность длительного хранения
информации
. Вместе с
центральным процессором
запоминающее устройство являются ключевыми звеньями так называемой
архитектуры фон Неймана
, — принципа, заложенного в основу большинства современных компьютеров общего назначения.
Первые компьютеры использовали запоминающие устройства исключительно для хранения обрабатываемых данных. Их
программы
реализовывались на аппаратном уровне в виде жёстко заданных выполняемых последовательностей. Любое перепрограммирование требовало огромного объёма ручной работы по подготовке новой документации, перекоммутации, перестройки блоков и устройств и т. д. Использование архитектуры фон Неймана, предусматривающей хранение компьютерных программ и данных в общей памяти, коренным образом переменило ситуацию.
К настоящему времени создано множество устройств, предназначенных для хранения данных, основанных на использовании самых разных
. Универсального решения не существует, у каждого имеются свои достоинства и свои недостатки, поэтому компьютерные системы обычно оснащаются несколькими видами систем хранения, основные свойства которых обуславливают их использование и назначение.
Физические основы функционирования
В основе работы запоминающего устройства может лежать любой
, обеспечивающий приведение системы к двум или более устойчивым состояниям. В современной
компьютерной технике
часто используются физические свойства
полупроводников
, когда прохождение тока через полупроводник или его отсутствие трактуются как наличие логических сигналов 0 или 1. Устойчивые состояния, определяемые направлением
намагниченности
, позволяют использовать для хранения данных разнообразные магнитные материалы. Наличие или отсутствие заряда в
конденсаторе
также может быть положено в основу системы хранения. Отражение или рассеяние света от поверхности CD, DVD или Blu-ray-диска также позволяет хранить информацию.
Классификация типов памяти
Следует различать
классификацию памяти
и
классификацию запоминающих устройств
(ЗУ). Первая классифицирует память по
функциональности
, вторая же — по
технической реализации
. Здесь рассматривается первая — таким образом, в неё попадают как аппаратные виды памяти (реализуемые на ЗУ), так и
структуры данных
, реализуемые в большинстве случаев программно.
Доступные операции с данными
Память только для чтения (
read-only memory, ROM
)
Память для чтения/записи.
Память на программируемых и перепрограммируемых ПЗУ (ППЗУ и ПППЗУ) не имеет общепринятого места в этой классификации. Её относят либо к подвиду памяти «только для чтения»
, либо выделяют в отдельный вид.
Также предлагается относить память к тому или иному виду по характерной частоте её перезаписи на практике: к RAM относить виды, в которых информация часто меняется в процессе работы, а к ROM — предназначенные для хранения относительно неизменных данных
.
Метод доступа
Последовательный доступ
(
англ.
sequential access memory, SAM
) — ячейки памяти выбираются (считываются) последовательно, одна за другой, в очерёдности их расположения. Вариант такой памяти —
стековая
память.
Произвольный доступ
(
англ.
random access memory, RAM
) — вычислительное устройство может обратиться к произвольной ячейке памяти по любому адресу.
Организация хранения данных и алгоритмы доступа к ним
— адресация осуществляется по местоположению данных.
Ассоциативная память
(
англ.
associative memory, content-addressable memory, CAM
) — адресация осуществляется по содержанию данных, а не по их местоположению (память проверяет наличие ячейки с заданным содержимым, и если таковая(ые) присутствует(ют) возвращает её(их) адрес(а) или другие данные с ней(ними) ассоциированные).
Матричная память
(
англ.
matrix storage
) — ячейки памяти расположены так, что доступ к ним осуществляется по двум или более координатам.
Объектная память
(
англ.
object storage
) — память, система управления которой ориентирована на хранение объектов. При этом каждый объект характеризуется типом и размером записи.
Семантическая память
(
англ.
semantic storage
) — данные размещаются и списываются в соответствии с некоторой структурой понятийных признаков.
Назначение
Буферная
память
(
англ.
buffer storage
) — память, предназначенная для временного хранения данных при обмене ими между различными устройствами или программами.
Временная (промежуточная) память
(
англ.
temporary (intermediate) storage
) — память для хранения промежуточных результатов обработки.
Кеш-память
(
англ.
cache memory
) — часть архитектуры устройства или программного обеспечения, осуществляющая хранение часто используемых данных для предоставления их в более быстрый доступ, нежели кэшируемая память.
Корректирующая память
(
англ.
patch memory
) — часть памяти ЭВМ, предназначенная для хранения адресов неисправных ячеек основной памяти. Также используются термины relocation table и remap table.
Управляющая память
(
англ.
control storage
) — память, содержащая управляющие программы или микропрограммы. Обычно реализуется в виде ПЗУ.
Разделяемая память
или
память коллективного доступа
(
англ.
shared memory, shared access memory
) — память, доступная одновременно нескольким пользователям, процессам или процессорам.
Организация адресного пространства
Реальная
или
физическая память
(
англ.
real (physical) memory
) — память, способ адресации которой соответствует физическому расположению её данных;
Виртуальная память
(
англ.
virtual memory
) — память, способ адресации которой не отражает физического расположения её данных;
Оверлейная память
(
англ.
overlayable storage
) — память, в которой присутствует несколько областей с одинаковыми адресами, из которых в каждый момент доступна только одна.
Удалённость и доступность для процессора
Первичная память
(сверхоперативная, СОЗУ) — доступна процессору без какого-либо обращения к внешним устройствам.
регистры процессора
(
процессорная
или
регистровая память
) — регистры, расположенные непосредственно в
АЛУ
;
кэш процессора
— кэш, используемый
процессором
для уменьшения среднего времени доступа к компьютерной памяти. Разделяется на несколько уровней, различающихся скоростью и объёмом (например, L1, L2, L3).
Вторичная память
— доступна процессору путём прямой адресации через
шину адреса
(
адресуемая память
). Таким образом доступна
оперативная память
(память, предназначенная для хранения текущих данных и выполняемых программ) и
порты ввода-вывода
(специальные адреса, через обращение к которым реализовано взаимодействие с прочей аппаратурой).
Третичная память
— доступна только путём нетривиальной последовательности действий. Сюда входят все виды
внешней памяти
— доступной через устройства ввода-вывода. Взаимодействие с третичной памятью ведётся по определённым правилам (протоколам) и требует присутствия в памяти соответствующих программ. Программы, обеспечивающие минимально необходимое взаимодействие, помещаются в ПЗУ, входящее во вторичную память (у
PC-совместимых
ПК — это ПЗУ
BIOS
).
Положение структур данных, расположенных в основной памяти, в этой классификации неоднозначно. Как правило, их вообще в неё не включают, выполняя классификацию с привязкой к традиционно используемым видам ЗУ
.
Доступность техническими средствами
Автономная память, Архив
(
англ.
off-line storage
) — память, доступ к которой требует внешних действий — например, вставку оператором архивного носителя с указанным программой идентифиткатором
Полуавтономная память
англ.
— то же, что автономная, но физическое перемещение носителей осуществляется роботом по команде системы, то есть не требует присутствия оператора
Прочие термины
Многоблочная память
(
англ.
multibank memory
) — вид оперативной памяти, организованной из нескольких независимых блоков, допускающих одновременное обращение к ним, что повышает её пропускную способность. Часто употребляется термин «интерлив» (транскрипция
англ.
interleave
— перемежать) и может встречаться в документации некоторых фирм «многоканальная память» (
англ.
multichanel
).
Память со встроенной логикой
(
англ.
logic-in-memory
) — вид памяти, содержащий встроенные средства логической обработки (преобразования) данных, например их масштабирования, преобразования кодов, наложения полей и др.
Многовходовая память
(
англ.
multiport storage memory
) — устройство памяти, допускающее независимое обращение с нескольких направлений (входов), причём обслуживание запросов производится в порядке их приоритета.
Многоуровневая память
(
англ.
multilevel memory
) — организация памяти, состоящая из нескольких уровней запоминающих устройств с различными характеристиками и рассматриваемая со стороны пользователей как единое целое. Для многоуровневой памяти характерна страничная организация, обеспечивающая «прозрачность» обмена данными между ЗУ разных уровней.
Память параллельного действия
(
англ.
parallel storage
) — вид памяти, в которой все области поиска могут быть доступны одновременно.
Страничная память
(
англ.
page memory
) — память, разбитая на одинаковые области — страницы. Операции записи-чтения на них осуществляются путём переключения страниц
контроллером памяти
.
↑
В. Фиоктистов.
(неопр.)
(21 июля 2006). Дата обращения: 19 августа 2009.
21 августа 2011 года.
Э. Таненбаум.
. — 4-е изд. —
СПб.
:
Питер
, 2003. — С. 68. — 698 с. —
ISBN 5-318-00298-6
.
11 января 2012 года.
(неопр.)
. Дата обращения: 19 августа 2009. Архивировано 11 января 2012 года.
Литература
Айен Синклер.
Память
// Словарь компьютерных терминов = Dictionary of Personal Computing / Пер. с англ. А. Помогайбо. —
М.
: Вече,
АСТ
, 1996. — 177 с. —
ISBN 5-7141-0309-2
.