Компьютерная память
Компью́терная па́мять (устройство хранения информации, запоминающее устройство) — часть вычислительной машины, физическое устройство или среда для хранения данных, используемая в вычислениях систем в течение определённого времени. Память и центральный процессор неизменно являются частью компьютера с 1940-х годов.
Память в вычислительных устройствах имеет иерархическую структуру и обычно предполагает использование нескольких запоминающих устройств, имеющих различные характеристики. В персональных компьютерах «памятью» часто называют один из её видов — динамическую память с произвольным доступом (DRAM), — которая используется в качестве ОЗУ персонального компьютера[1].
Задачей компьютерной памяти является хранение в своих ячейках состояния внешнего воздействия, запись информации. Эти ячейки могут фиксировать самые разнообразные физические воздействия (см. Запоминающее устройство). Они функционально аналогичны обычному электромеханическому переключателю и информация в них записывается в виде двух чётко различимых состояний — 0 и 1 («выключено»/«включено»). Специальные механизмы обеспечивают доступ (считывание, произвольное или последовательное) к состоянию этих ячеек.
Процесс доступа к памяти разбит на разделённые во времени процессы — операцию записи (сленг. прошивка, в случае записи ПЗУ) и операцию чтения, во многих случаях эти операции происходят под управлением отдельного специализированного устройства — контроллера памяти.
Также различают операцию стирания памяти — занесение (запись) в ячейки памяти одинаковых значений, обычно 0016 или FF16.
Наиболее известные запоминающие устройства, используемые в персональных компьютерах: модули оперативной памяти (ОЗУ), жёсткие диски (винчестеры), дискеты (гибкие магнитные диски), CD- или DVD-диски, а также устройства флеш-памяти. В перспективе их все должна заменить универсальная память — память, сочетающая в себе быстродействие и возможность большого числа циклов переключений, характерных для оперативной памяти, и энергонезависимость, характерную для внешней памяти (т. е. экономическую выгоду DRAM, скорость SRAM, энергонезависимость флеш-памяти), а также бесконечную надежность и долговечность.
Функции памяти
[править | править код]Компьютерная память обеспечивает поддержку одной из функций современного компьютера, — способность длительного хранения информации. Вместе с центральным процессором запоминающее устройство являются ключевыми звеньями так называемой архитектуры фон Неймана, — принципа, заложенного в основу большинства современных компьютеров общего назначения.
Первые компьютеры использовали запоминающие устройства исключительно для хранения обрабатываемых данных. Их программы реализовывались на аппаратном уровне в виде жёстко заданных выполняемых последовательностей. Любое перепрограммирование требовало огромного объёма ручной работы по подготовке новой документации, перекоммутации, перестройки блоков и устройств и т. д. Использование архитектуры фон Неймана, предусматривающей хранение компьютерных программ и данных в общей памяти, коренным образом переменило ситуацию.
Любая информация может быть измерена в битах и потому, независимо от того, на каких физических принципах и в какой системе счисления функционирует цифровой компьютер (двоичной, троичной, десятичной и т. п.), числа, текстовая информация, изображения, звук, видео и другие виды данных можно представить последовательностями битовых строк или двоичными числами. Это позволяет компьютеру манипулировать данными при условии достаточной ёмкости системы хранения (например, для хранения текста романа среднего размера необходимо около одного мегабайта).
К настоящему времени создано множество устройств, предназначенных для хранения данных, основанных на использовании самых разных физических эффектов. Универсального решения не существует, у каждого имеются свои достоинства и свои недостатки, поэтому компьютерные системы обычно оснащаются несколькими видами систем хранения, основные свойства которых обуславливают их использование и назначение.
Физические основы функционирования
[править | править код]В основе работы запоминающего устройства может лежать любой физический эффект, обеспечивающий приведение системы к двум или более устойчивым состояниям. В современной компьютерной технике часто используются физические свойства полупроводников, когда прохождение тока через полупроводник или его отсутствие трактуются как наличие логических сигналов 0 или 1. Устойчивые состояния, определяемые направлением намагниченности, позволяют использовать для хранения данных разнообразные магнитные материалы. Наличие или отсутствие заряда в конденсаторе также может быть положено в основу системы хранения. Отражение или рассеяние света от поверхности CD, DVD или Blu-ray-диска также позволяет хранить информацию.
Классификация типов памяти
[править | править код]Следует различать классификацию памяти и классификацию запоминающих устройств (ЗУ). Первая классифицирует память по функциональности, вторая же — по технической реализации. Здесь рассматривается первая — таким образом, в неё попадают как аппаратные виды памяти (реализуемые на ЗУ), так и структуры данных, реализуемые в большинстве случаев программно.
Доступные операции с данными
[править | править код]- Память только для чтения (read-only memory, ROM)
- Память для чтения/записи.
Память на программируемых и перепрограммируемых ПЗУ (ППЗУ и ПППЗУ) не имеет общепринятого места в этой классификации. Её относят либо к подвиду памяти «только для чтения»[2], либо выделяют в отдельный вид.
Также предлагается относить память к тому или иному виду по характерной частоте её перезаписи на практике: к RAM относить виды, в которых информация часто меняется в процессе работы, а к ROM — предназначенные для хранения относительно неизменных данных[2].
Метод доступа
[править | править код]- Последовательный доступ (англ. sequential access memory, SAM) — ячейки памяти выбираются (считываются) последовательно, одна за другой, в очерёдности их расположения. Вариант такой памяти — стековая память.
- Произвольный доступ (англ. random access memory, RAM) — вычислительное устройство может обратиться к произвольной ячейке памяти по любому адресу.
Организация хранения данных и алгоритмы доступа к ним
[править | править код]Повторяет классификацию структур данных:
- Адресуемая память — адресация осуществляется по местоположению данных.
- Ассоциативная память (англ. associative memory, content-addressable memory, CAM) — адресация осуществляется по содержанию данных, а не по их местоположению (память проверяет наличие ячейки с заданным содержимым, и если таковая(ые) присутствует(ют) возвращает её(их) адрес(а) или другие данные с ней(ними) ассоциированные).
- Магазинная (стековая) память (англ. pushdown storage) — реализация стека.
- Матричная память (англ. 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).
Положение структур данных, расположенных в основной памяти, в этой классификации неоднозначно. Как правило, их вообще в неё не включают, выполняя классификацию с привязкой к традиционно используемым видам ЗУ[3].
Доступность техническими средствами
[править | править код]- Автономная память, Архив (англ. off-line storage) — память, доступ к которой требует внешних действий — например, вставку оператором архивного носителя с указанным программой идентифиткатором
- Полуавтономная память англ. nearline storage — то же, что автономная, но физическое перемещение носителей осуществляется роботом по команде системы, то есть не требует присутствия оператора
Прочие термины
[править | править код]- Многоблочная память (англ. multibank memory) — вид оперативной памяти, организованной из нескольких независимых блоков, допускающих одновременное обращение к ним, что повышает её пропускную способность. Часто употребляется термин «интерлив» (транскрипция англ. interleave — перемежать) и может встречаться в документации некоторых фирм «многоканальная память» (англ. multichanel).
- Память со встроенной логикой (англ. logic-in-memory) — вид памяти, содержащий встроенные средства логической обработки (преобразования) данных, например их масштабирования, преобразования кодов, наложения полей и др.
- Многовходовая память (англ. multiport storage memory) — устройство памяти, допускающее независимое обращение с нескольких направлений (входов), причём обслуживание запросов производится в порядке их приоритета.
- Многоуровневая память (англ. multilevel memory) — организация памяти, состоящая из нескольких уровней запоминающих устройств с различными характеристиками и рассматриваемая со стороны пользователей как единое целое. Для многоуровневой памяти характерна страничная организация, обеспечивающая «прозрачность» обмена данными между ЗУ разных уровней.
- Память параллельного действия (англ. parallel storage) — вид памяти, в которой все области поиска могут быть доступны одновременно.
- Страничная память (англ. page memory) — память, разбитая на одинаковые области — страницы. Операции записи-чтения на них осуществляются путём переключения страниц контроллером памяти.
См. также
[править | править код]Примечания
[править | править код]- ↑ хотя при этом он имеет ещё как минимум два запоминающих устройства — микросхему с записанным BIOS и внешний накопитель (НЖМД/ССД); при этом имеются блоки памяти и в самом ЦП
- ↑ 1 2 В. Фиоктистов. Обзор технологий хранения информации. Часть 1. Принципы работы и классификация ЗУ (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.