Компьютерная память

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
НЖМД объёмом 44 Мб 1980-х годов выпуска и CompactFlash на 2 Гб 2000-х годов выпуска
Модуль оперативной памяти DRAM, вставленный в материнскую плату
Устройство хранения информации на флеш-памяти

Компью́терная па́мять (устройство хранения информации, запоминающее устройство) — часть вычислительной машины, физическое устройство или среда для хранения данных, используемая в вычислениях, в течение определённого времени. Память, как и центральный процессор, является неизменной частью компьютера с 1940-х. Память в вычислительных устройствах имеет иерархическую структуру и обычно предполагает использование нескольких запоминающих устройств, имеющих различные характеристики.

В персональных компьютерах «памятью» часто называют один из её видов — динамическая память с произвольным доступом (DRAM), — которая в настоящее время используется в качестве ОЗУ персонального компьютера.

Задачей компьютерной памяти является хранение в своих ячейках состояния внешнего воздействия, запись информации. Эти ячейки могут фиксировать самые разнообразные физические воздействия (см. ниже). Они функционально аналогичны обычному электромеханическому переключателю и информация в них записывается в виде двух чётко различимых состояний — 0 и 1 («выключено»/«включено»). Специальные механизмы обеспечивают доступ (считывание, произвольное или последовательное) к состоянию этих ячеек.

Процесс доступа к памяти разбит на разделённые во времени процессы — операцию записи (сленг. прошивка, в случае записи ПЗУ) и операцию чтения, во многих случаях эти операции происходят под управлением отдельного специализированного устройства — контроллера памяти.

Также различают операцию стирания памяти — занесение (запись) в ячейки памяти одинаковых значений, обычно 0016 или FF16.

Наиболее известные запоминающие устройства, используемые в персональных компьютерах: модули оперативной памяти (ОЗУ), жёсткие диски (винчестеры), дискеты (гибкие магнитные диски), CD- или DVD-диски, а также устройства флеш-памяти.

Функции памяти[править | править вики-текст]

Компьютерная память обеспечивает поддержку одной из функций современного компьютера, — способность длительного хранения информации. Вместе с центральным процессором запоминающее устройство являются ключевыми звеньями так называемой архитектуры фон Неймана, — принципа, заложенного в основу большинства современных компьютеров общего назначения.

Первые компьютеры использовали запоминающие устройства исключительно для хранения обрабатываемых данных. Их программы реализовывались на аппаратном уровне в виде жёстко заданных выполняемых последовательностей. Любое перепрограммирование требовало огромного объёма ручной работы по подготовке новой документации, перекоммутации, перестройки блоков и устройств и т. д. Использование архитектуры фон Неймана, предусматривающей хранение компьютерных программ и данных в общей памяти, коренным образом переменило ситуацию.

Любая информация может быть измерена в битах и потому, независимо от того, на каких физических принципах и в какой системе счисления функционирует цифровой компьютер (двоичной, троичной, десятичной и т. п.), числа, текстовая информация, изображения, звук, видео и другие виды данных можно представить последовательностями битовых строк или двоичными числами. Это позволяет компьютеру манипулировать данными при условии достаточной ёмкости системы хранения (например, для хранения текста романа среднего размера необходимо около одного мегабайта).

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

Физические основы функционирования[править | править вики-текст]

В основе работы запоминающего устройства может лежать любой физический эффект, обеспечивающий приведение системы к двум или более устойчивым состояниям. В современной компьютерной технике часто используются физические свойства полупроводников, когда прохождение тока через полупроводник или его отсутствие трактуются как наличие логических сигналов 0 или 1. Устойчивые состояния, определяемые направлением намагниченности, позволяют использовать для хранения данных разнообразные магнитные материалы. Наличие или отсутствие заряда в конденсаторе также может быть положено в основу системы хранения. Отражение или рассеяние света от поверхности CD, DVD или Blu-ray-диска также позволяет хранить информацию.

Классификация типов памяти[править | править вики-текст]

Следует различать классификацию памяти и классификацию запоминающих устройств (ЗУ). Первая классифицирует память по функциональности, вторая же — по технической реализации. Здесь рассматривается первая — таким образом, в неё попадают как аппаратные виды памяти (реализуемые на ЗУ), так и структуры данных, реализуемые в большинстве случаев программно.

Доступные операции с данными[править | править вики-текст]

  • Память только для чтения (read-only memory, ROM)
  • Память для чтения/записи

Память на программируемых и перепрограммируемых ПЗУ (ППЗУ и ПППЗУ) не имеет общепринятого места в этой классификации. Её относят либо к подвиду памяти «только для чтения»[1], либо выделяют в отдельный вид.

Также предлагается относить память к тому или иному виду по характерной частоте её перезаписи на практике: к RAM относить виды, в которых информация часто меняется в процессе работы, а к ROM — предназначенные для хранения относительно неизменных данных.[1]

Метод доступа[править | править вики-текст]

  • Последовательный доступ (англ. 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).

Положение структур данных, расположенных в основной памяти, в этой классификации неоднозначно. Как правило, их вообще в неё не включают, выполняя классификацию с привязкой к традиционно используемым видам ЗУ.[2]

Управление процессором[править | править вики-текст]

  • Непосредственно управляемая (оперативно доступная) память (англ. on-line storage) — память, непосредственно доступная в данный момент времени центральному процессору.[источник не указан 1714 дней]
  • Автономная память — память, реализованная, например при помощи службы внешних носителей в Windows 2000, предусматривающей оперативное управление библиотеками носителей и устройствами с автоматической подачей дисков, облегчающей использование съёмных носителей типа магнитных лент и съёмных дисков, магнитных или оптических.[3]

Прочие термины[править | править вики-текст]

  • Многоблочная память (англ. multibank memory) — вид оперативной памяти, организованной из нескольких независимых блоков, допускающих одновременное обращение к ним, что повышает её пропускную способность. Часто употребляется термин «интерлив» (калька с англ. interleave — перемежать) и может встречаться в документации некоторых фирм «многоканальная память» (англ. multichanel).
  • Память со встроенной логикой (англ. logic-in-memory) — вид памяти, содержащий встроенные средства логической обработки (преобразования) данных, например их масштабирования, преобразования кодов, наложения полей и др.
  • Многовходовая память (англ. multiport storage memory) — устройство памяти, допускающее независимое обращение с нескольких направлений (входов), причём обслуживание запросов производится в порядке их приоритета.
  • Многоуровневая память (англ. multilevel memory) — организация памяти, состоящая из нескольких уровней запоминающих устройств с различными характеристиками и рассматриваемая со стороны пользователей как единое целое. Для многоуровневой памяти характерна страничная организация, обеспечивающая «прозрачность» обмена данными между ЗУ разных уровней.
  • Память параллельного действия (англ. parallel storage) — вид памяти, в которой все области поиска могут быть доступны одновременно.
  • Страничная память (англ. page memory) — память, разбитая на одинаковые области — страницы. Операции записи-чтения на них осуществляются путём переключения страниц контроллером памяти.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. 1 2 В. Фиоктистов. Обзор технологий хранения информации. Часть 1. Принципы работы и классификация ЗУ (21 июля 2006). Проверено 19 августа 2009. Архивировано из первоисточника 22 августа 2011.
  2. Э. Таненбаум. Архитектура компьютера. — 4-е изд. — СПб.: Питер, 2003. — С. 68. — 698 с. — ISBN 5-318-00298-6.
  3. Глава 7. Диски и файловые системы. Внешние хранилища данных // Microsoft Windows 2000: Server и Proffesional / А. Н. Чекмарев, Д. Б. Вишняков.. — СПб.: БХВ-Перербург, 2000. — 1056 с. — ISBN 5-8206-0107-6.

Литература[править | править вики-текст]

  • Айен Синклер. Память // Словарь компьютерных терминов = Dictionary of Personal Computing / Пер. с англ. А. Помогайбо. — М.: Вече, АСТ, 1996. — 177 с. — ISBN 5-7141-0309-2.

Ссылки[править | править вики-текст]