Физическая организация памяти компьютера

 

Одной из важнейших функций операционной системы является предоставление приложениям необходимых ресурсов. Одним из базовых ресурсов, без которого не может обойтись ни один процесс, является память. Память (Memory) – способность объекта обеспечивать хранение данных. Хранение осуществляется в запоминающих устройствах. Запоминающее устройство (компьютерная память, устройство хранения информации) – часть вычислительной машины, физическое устройство или среда для хранения данных, используемых в вычислениях, в течение определенного времени. Память (рис. 5.1.), как и центральный процессор, является неизменной частью компьютера с 1940-х годов.

       
 
а)
   
б)
 

 

 
 
Рис. 5.1.а) Накопитель на жестком магнитном диске объемом 45 Мб 1980-х годов выпуска и CompactFlash объёмом 2 Гб 2000-х годов выпуска; б) Модуль оперативной памяти, вставленный в материнскую плату.

 


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

- внутреннюю память – память, взаимодействующую с процессором, (различают три вида внутренней памяти: только читаемую память ROM (Read-Only Memory), в которую помещаются программы для запуска компьютера; память с произвольным доступом RAM (Random Access Memory), используемую для хранения обновляемых данных; кэш-память, применяемую для увеличения производительности процессора);

- внешнюю память (secondary storage, вторичную память) – вид памяти, который в отличие от основной памяти имеет большее время доступа, основывается на блочном обмене, характеризуется большим объемом и служит для разгрузки основной памяти.

Для того чтобы процессор мог выбирать и выполнять команды программы, они должны находиться в основной памяти, как и операнды (данные), ссылки на которые содержатся в выполняемой в данный момент команде. Важным свойством основной памяти является ее энэргозависимость – в случае сбоя питания вся хранящаяся в ней информация теряется. Поэтому разработчики систем стараются обеспечить своевременную запись критической информации на диск, чтобы предотвратить ее потерю.

Основная память (RAM) представляет собой упорядоченный массив однобайтовых[1] ячеек, каждая из которых имеет свой уникальный адрес. Во время работы приложения процессор берет команду из оперативной памяти, декодирует ее и выполняет. При выполнении команды возможны неоднократные обращения к ячейкам оперативной памяти. Внешнюю память[2] можно также рассматривать как одномерное линейное адресное пространство, состоящее из последовательности байтов. В отличие от оперативной памяти она является энергонезависимой, имеет большую емкость и используется в качестве расширения оперативной памяти.

 
 

Память, которая является одной из основных составляющих компьютерной системы, должна быть максимально быстрой, достаточно большой и дешевой. При создании системы памяти решаются задачи обеспечения требуемой емкости и высокого быстродействия за приемлемую цену. Наиболее распространенным подходом является построение системы памяти в виде иерархии слоев (рис. 5.2.). Входящие в ее состав запоминающие устройства различаются емкостью, быстродействием и стоимостью. Более высокий уровень меньше по емкости, быстрее и имеет большую стоимость в пересчете на бит, чем более низкий уровень. По мере движения по иерархической структуре уменьшается соотношение «стоимость/бит», возрастает емкость, растет время доступа, уменьшается частота обращения к памяти со стороны центрального процессора.

 

Верхний слой состоит из внутренних регистров центрального процессора, которые изготавливаются из того же материала, что и процессор. Регистры являются самыми быстродействующими, но имеют наименьшую емкость. Обращение к ним производится при выполнении почти каждой машинной команды. Внутренние регистры предоставляют возможность для хранения 32 х 32 бит на 32-разрядном процессоре и 64 х 64 бит на 64-разрядном процессоре. Программы сами могут управлять регистрами (то есть решать, что в них хранить) без вмешательства аппаратуры.

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

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

Для большей части программного обеспечения характерна значительная вероятность повторного обращения по одним тем же адресам в течение короткого промежутка времени[3]. Если повторное обращение произойдет быстро, нужные данные все еще будут в кэше и их не придется считывать из основной памяти. Такая ситуация называется попаданием в кэш. Передача данных между основной памятью и кэшем производится строками кэша, размер которых, как правило, составляет 32 или 64 байта. Пакетная передача (burst transfer) поддерживается аппаратно и обусловлена значительной вероятностью последовательного обращения по близким или подряд идущим адресам[4]

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

В однопроцессорной системе кэш является прозрачным для процессов, и для операционной системы, в мультипроцессорных системах управление памятью требует участия операционной системы. В кэше нескольких процессоров могут одновременно находиться одни и те же данные, допускающие обновление. В случае их обновления любым из процессоров, кэш-память всех процессоров и основная память должны быть согласованы. В настоящее время отдается предпочтение мультипроцессорным системам с согласованной (когерентной) кэш-памятью, в которых память является общей для всех процессоров, а кэш прозрачен для программного обеспечения. Но существуют и системы с неоднородным доступом к памяти (non-uniform memory access), в которых различным процессорам назначены разные области памяти.

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

В третьем слое находится основная память – главная рабочая область запоминающего устройства вычислительной системы. Основную память часто называют ОЗУ – оперативным запоминающим устройством или RAMRandom Access Memory (память с произвольным доступом). Все запросы центрального процессора, которые не могут быть выполнены кэш-памятью, поступают для обработки в основную память. Основная память удовлетворяет запросы кэш-памяти и служит в качестве интерфейса ввода/вывода.

Для оценки производительности основной памяти используются два параметра: задержка и полоса пропускания. Задержка памяти оценивается временем доступа (access time) и длительностью цикла памяти (cycle time). Время доступа представляет собой промежуток времени между выдачей запроса на чтение и моментом поступления запрошенного слова из памяти. Длительность цикла памяти определяется минимальным временем между двумя последовательными обращениями к памяти. Полоса пропускания или пропускная способность относится к вводу/выводу.

Основная память современных компьютеров реализуется на микросхемах статических и динамических запоминающих устройств. Микросхемы статических запоминающих устройств имеют меньшее время доступа и не требуют циклов регенерации. Микросхемы динамических запоминающих устройств характеризуются большей емкостью и меньшей стоимостью, но требуют схем регенерации и имеют значительно большее время доступа.

Организация работы основной памяти строится с учетом того, что часто возникает необходимость одновременного нахождения в памяти нескольких программ. Если, например, одна программа находится в заблокированном состоянии, ожидая окончания операции чтения данных с диска, то другая программа может в это время использовать центральный процессор. При одновременном нахождении в памяти нескольких программ возникает необходимость в решении двух задач:

- задачи реализации защиты программ друг от друга;

- задачи управления перемещением программ в памяти.

В процессе компилирования и компоновки программы компилятор и компоновщик не знают в какую область физической памяти будет загружена программа после завершения процесса, поэтому они обычно предполагают что программа начинается с адреса 0, и помещают туда первую инструкцию. Например, первая инструкция считывает из памяти слово по адресу 10000, а программа и данные к ней загружены начиная с адреса 30000. В результате при выполнении инструкции появится сообщение об ошибке (инструкция обращается по адресу 10000 вместо адреса 40000). Для решения этой проблемы нужно настроить программу таким образом, чтобы она находила все адреса и изменяла их в соответствии с реальной адресацией либо оперативно изменять адресацию во время работы программы.


Простейшее решение задач защиты и перемещения программ заключается в оборудовании компьютера двумя специальными регистрами: базовым и предельным (рис. 5.3. а)). Когда программа начинает работать, в базовый регистр загружается адрес начала исполняемого модуля программы, а в предельный регистр – информация о размере исполняемого модуля программы вместе с данными. При выборке команды из памяти аппаратура проверяет счетчик команд и если он меньше, чем предельный регистр, то добавляет к нему значение базового регистра, а сумму передает памяти. Когда программа хочет прочитать слово данных (например, из адреса 10000), аппаратура автоматически добавляет к этому адресу содержимое базового регистра (например, 30000) и передает сумму (40000) памяти. Базовый регистр дает возможность программе ссылаться на любую часть памяти, следующую за хранящимся в нем адресом. Предельный регистр запрещает программе обращение к любой части памяти после программы.

В результате проверки и преобразования данных формируется виртуальный адрес, который переводится в физический адрес используемый памятью. Устройство, которое выполняет проверку и преобразование, называется устройством управления памятью или диспетчером памяти (MMU, Memory Management Unit). Диспетчер памяти физически располагается в схеме процессора или близко к ней, но логически находится между процессором и памятью.

Более сложный диспетчер памяти состоит из двух пар базового и предельных регистров[5] (рис. 5.3. б): одна пара для текста программы, другая – для данных. Командный регистр и все другие ссылки на текст программы работают с парой 1, а ссылки на данные используют пару 2. Появляется возможность делить одну и ту же программу между несколькими пользователями и при этом хранить в памяти только одну копию программы, что было невозможно в первой схеме. При переключении от одной программы к другой регистры управления памятью должны меняться. Переключение от одной программы к другой называется переключением контекста.

В последнем слое находится дисковая память (магнитный диск, жесткий диск), которая дешевле ОЗУ и больше по величине, но случайный доступ к данным на диске занимает гораздо больше времени, чем в ОЗУ. Причиной низкой скорости жесткого диска является то, что диск представляет собой механическую конструкцию, состоящую из нескольких металлических пластин, которые вращаются со скоростью 5400, 7200 или 10800 оборотов в минуту. Информация на пластины записывается головками чтения/записи по концентрической окружности, называемой дорожкой. Каждая дорожка разделена на некоторое количество секторов объемом обычно по 512 байт. Совокупность дорожек диска с одинаковыми номерами называются цилиндром дискового накопителя. Перемещение головки от одного цилиндра к другому занимает около 1 мс, перемещение головки к произвольному цилиндру – от 5 до 10 мс. Когда головка чтения/записи располагается над нужной дорожкой, то следует еще подождать 5 – 10 мс, пока двигатель повернет диск так, чтобы над головкой встал заданный сектор. Процесс чтения-записи происходит со скоростью от 5 до 160 Мбайт/с.

Описанная иерархия памяти типична, но в некоторых вариантах могут присутствовать не все уровни или другие их виды (например, оптический диск, лазерный диск, магнитная лента и др.). Кроме описанных видов памяти во многих компьютерах имеется и другие виды памяти, например:

1.ПЗУ (постоянное запоминающее устройство) или ROM (Read Only Memory – память только для чтения). ПЗУ не теряет свое содержимое при выключении питания машины, программируется в процессе производства и его содержимое нельзя изменить. Обычно в ПЗУ находятся программы начальной загрузки, используемые при запуске компьютера, и карты ввода-вывода, используемые для управления низкоуровневыми устройствами.

2.EEPROM (Electrically Erasable ROM – электрически стираемое и программируемое запоминающее устройство) и флэш-ОЗУ (flash RAM). Устройства памяти энергонезависимы, их содержимое можно стирать и перезаписывать. Но запись данных на них требует намного больше времени, чем запись в оперативную память.

3.CMOS память. Память энергозависима и используется для хранения значений текущих даты и времени, может содержать конфигурационные параметры (например, указание, с какого жесткого диска производить загрузку). CMOS-память и часовая микросхема, которая отвечает за отсчет времени, получают питание от маленького аккумулятора, расположенного в компьютере.

Иерархическая организация памяти ведет к уменьшению общей стоимости при заданном уровне производительности. Справедливость этого утверждения вытекает из принципа локальности по обращению, который часто представляют в виде правила «90/10», где 90% времени работы программы связано с доступом к 10% адресного пространства этой программы. Локальность по обращению характеризуется тремя видами локальности:

- пространственной локальностью программы – расположением адреса очередной выполняемой команды программы либо следом за адресом, по которому была считана предыдущая команда, либо вблизи него;

- пространственной локальностью данных – хранением структур данных[6] в последовательных ячейках памяти;

- временной локальностью – значительной вероятностью повторного обращения по одним тем же адресам в течение короткого промежутка времени[7].

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

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

При доступе к командам и данным, например, для их считывания, сначала производится поиск в памяти верхнего уровня. Факт обнаружения нужной информации называют попаданием (hit), в противном случае промахом (miss). При промахе производится поиск в запоминающем устройстве следующего, более низкого уровня, где также возможно попадание или промах. После обнаружении запрошенных данных выполняется их последовательная пересылка с нижних уровней на верхние. Независимо от числа уровней иерархии пересылка информации может осуществляться только между двумя соседними уровнями.

При эффективной оценке иерархической организации памяти используются следующие характеристики:

- коэффициент попаданий (hit rate) – отношение числа обращений к памяти, при которых произошло попадание, к общему числу обращений к запоминающему устройству данного уровня иерархии;

- коэффициент промахов (miss rate) – отношение числа обращений к памяти, при которых имел место промах, к общему числу обращений к запоминающему устройству данного уровня иерархии;

- время обращения при попадании (hit time) – время, необходимое для поиска нужной информации в памяти верхнего уровня (включая выяснение, является ли обращение попаданием), плюс время на фактическое считывание данных;

- потери на промах (miss penalty) – время, требуемое для замены блока в памяти более высокого уровня на блок с нужными данными, расположенный в запоминающем устройстве следующего (более низкого) уровня. Потери на промах включают в себя: время доступа (access time) – время обращения к первому слову блока при промахе и время пересылки (transfer time) – дополнительное время для пересылки оставшихся слов блока. Время доступа обусловлено задержкой памяти более низкого уровня, в то время как время пересылки связано с полосой пропускания канала между запоминающими устройствами двух смежных уровней.

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

 

5.2. Основные характеристики запоминающих устройств.
Классификация запоминающих устройств

 

Функции памяти обеспечиваются запоминающими устройствами для записи, хранения, и чтения информации в процессе работы. Основные характеристики запоминающих устройств:

1.Место расположения. В зависимости от расположения в вычислительной системе различают:

- процессорные запоминающие устройства – представляют собой наиболее скоростные виды памяти (регистры, кэш-память первого уровня), обычно размещаются на общем кристалле с центральным процессором, а регистры общего назначения являются частью центрального процессора;

- внутренние запоминающие устройства – запоминающие устройства, которые расположены на системной плате (основная память, кэш-память второго и последующих уровней, кэш-память второго уровня может размещаться на кристалле процессора);

- внешние запоминающие устройства (внешняя память, External memory) – устройства, которые предназначены для длительного хранения программ и данных и непосредственно не доступны центральному процессору; доступ к ним осуществляется посредством обмена данными с оперативной памятью (магнитные и оптические диски, магнитные ленты).

2.Емкость. Запоминающие устройства характеризуются числом битов или байтов, которые они могут хранить. Основной единицей памяти является двоичный разряд – бит, который может содержать 0 или 1. Память состоит из ячеек – минимальных единиц, к которым можно обращаться. В последние годы производители выпускают компьютеры с 8-битными ячейками, называемыми байтами. Байты группируются в слова. Компьютер с 32-битными словами имеет 4 байта на каждое слово, а компьютер с 64-битными словами – 8 байтов на каждое слово[8]. Таким образом, 32-битная машина будет содержать 32-битные регистры и команды для манипуляций с 32-битными словами, 64-битная машина – 64-битные регистры и команды для перемещения, сложения, вычитания и других операций над 64-битными словами.

На практике используются более крупные единицы и для их обозначения к слову «байт» добавляются приставки: кило мeгa, гига, тера, пета, экза (kilo, mega, giga, tera, peta, exa). Стандартно эти приставки означают умножение основной единицы измерений на 103, 106, 109, 1012, 1015 1018 соответственно, в двоичной системе счисления они соответствуют степеням числа 2: 210, 220, 230, 240, 250 и 260.

3.Единица пересылки. Для основной памяти единица пересылки определяется шириной шины данных, то есть количеством битов, передаваемых по линиям шины параллельно. Обычно (не обязательно) единица пересылки равна длине слова. Применительно к внешней памяти, данные часто передаются единицами, превышающими размер слова, и такие единицы называются блоками.

4.Метод доступа. Различают четыре основных метода доступа:

- Последовательный доступ. Метод обращения к памяти компьютера ориентирован на хранение информации в виде последовательности блоков данных, называемых записями. Для доступа к нужному элементу (слову или блоку) необходимо прочитать все предшествующие ему данные. Время доступа зависит от положения требуемой записи в последовательности записей на носителе информации и позиции элемента внутри данной записи. Например, запоминающее устройство на магнитной ленте.

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

- Произвольный доступ. Каждая ячейка памяти имеет уникальный физический адрес. Обращение к любой ячейке занимает одно и то же время и может производиться в произвольной очередности. Например, запоминающие устройства основной памяти; винчестер, модули флэш-памяти с произвольным доступом DINOR (DIvided bit-line NOR – структура NOR с разделенными разрядными линиями), разработанные компанией Mitsubishi.

- Ассоциативный доступ. Вид доступа, который позволяет выполнять поиск ячеек содержащих информацию, в которой значение отдельных битов совпадает с состоянием одноименных битов в заданном образце. Сравнение осуществляется параллельно для всех ячеек памяти, независимо от ее емкости. По ассоциативному принципу построены некоторые блоки кэш-памяти.

- Блочный доступ. Вид доступа, который предполагает, что вся память разделена на блоки одинаковых размеров с произвольным доступом, характерен для винчестеров;

- Файловый доступ. Вид доступа, который использует абстракции – папки с файлами, в которых и хранятся данные, характерен для винчестеров.

5.Быстродействие. Для количественной оценки быстродействия обычно использую три параметра:

- время доступа: для памяти с произвольным доступом оно соответствует интервалу времени от момента получения адреса ячейки до момента, когда данные заносятся в память (или становятся доступными); для устройств с подвижным носителем информации – это время, затрачиваемое на установку головки записи/чтения в нужную позицию;

- длительность цикла памяти или период обращения (tц): в памяти с произвольным доступом понятие означает минимальное время между двумя последовательными обращениями к памяти; период обращения включает в себя время доступа и некоторое дополнительное время, которое может потребоваться для затухания сигналов на линиях и для восстановления считанной информации;

- скорость передачи – скорость, с которой данные могут передаваться в память или из нее (для памяти с произвольным доступом она равна 1/tц)).

6.Физический тип. Характеризуется технологиями изготовления (полупроводниковая память, память с магнитным или оптическим носителем информации и др.).

7.Физические особенности. В зависимости от технологии изготовления имеется ряд физических осо6енностей запоминающих устройств, например, энергозависимость.

8.Стоимость. Запоминающие устройства принято оценивать стоимостью хранения одного бита информации – отношением общей стоимости к емкости в битах.

В зависимости от назначения и особенностей реализации запоминающих устройств используются следующие классификационные характеристики[9]:

1.По возможностям записи и перезаписи запоминающие устройства подразделяется на следующие типы:

- запоминающие устройства с записью и считыванием (read-write memory) – тип памяти, дающей возможность помимо считывания данных производить их исходную запись, стирание и/или обновление: оперативная память (RAM), кэш-память (cache memory), программируемое постоянное запоминающее устройство (PROM, programmable read only memory);

- постоянно запоминающие устройства (ПЗУ) – типы памяти, предназначенные только для хранения и считывания данных (запись данных производится в процессе изготовления устройств памяти), наиболее распространены устройства, выполненные на интегральных микросхемах (БИС, СБИС) и оптических дисках CD-ROM и DVD-ROM.

- программируемые постоянно запоминающие устройства (ППЗУ) – типы памяти, в которых возможна запись или смена данных путем воздействия на носитель информации электрическими, магнитными и/или электромагнитными полями; различают ППЗУ с однократной записью и стираемые ППЗУ (EPROM, Erasable PROM) в том числе:

§ электрически программируемое ПЗУ (EAROM, Electrically Alterable Read Only Memory);

§ электрически стираемое программируемое ПЗУ (EEPROM, Electrically Erasable Programmable Read-Only Memory);

§ микросхемы флеш-памяти (flash memory), отличающиеся высокой скоростью доступа и возможностью быстрого стирания данных.

2.По энергозависимости запоминающие устройства подразделяется на следующие типы:

- запоминающие устройства с энергонезависимой памятью (nonvolatile storage) – записи в устройствах не стираются при отключении электропитания, к данному типу относятся все виды ПЗУ и ППЗУ;

- запоминающие устройства с энергозависимой памятью (volatile storage) – записи в устройствах стираются при отключении электропитания, к этому типу относятся ОЗУ и кэш-память; разновидности энергозависимой полупроводниковой памяти:

§ динамическая память (dynamic storage) – хранимая информация с течением времени разрушается, поэтому для сохранения записей необходимо производить их периодическое восстановление (регенерацию), которая выполняется под управлением специальных внешних схемных элементов;

§ статическая память (static storage) – для хранения информации достаточно сохранения питающего напряжения и регенерация не требуется.

3.По виду физического носителя запоминающие устройства подразделяется на следующие типы (некоторые виды памяти по принципу работы могут иметь два и более наименования):

- акустическая память (acoustic storage) – в качестве среды для записи и хранения данных используются замкнутые акустические линии задержки;

- голографическая память (holographic storage) – в качестве среды для записи и хранения используется пространственная графическая информация, отображаемая в виде интерференционных структур;

- емкостная память (capacitor storage) – в качестве среды для записи и хранения данных используются элементы электрической цепи – конденсаторы;

- криогенная память (cryogenic storage) – в качестве среды для записи и хранения данных используются материалы, обладающие сверхпроводимостью;

- лазерная память (laser storage) – запись и считывание данных производятся лучом лазера (CD-R/RW, DVD+R/RW, DVD-RAM);

- магнитная память (magnetic storage) – в качестве среды для записи и хранения данных используется магнитный материал (накопители на магнитных лентах, на магнитных жестких дисках, на магнитных гибких дисках), некоторые разновидности имеют собственные наименования:

§ память на магнитной проволоке (plated wire memory) – обладает высокой сохранностью даже при повреждении носителя, используется для авиационных черных ящиков;

§ память на магнитной пленке (thin-film memory) – пленка наносится на подложку, например стеклянную;

§ ферритовая память (core storage) – основана на ферритовых сердечниках, через которые пропущены тонкие медные проводники;

§ память на цилиндрических магнитных доменах – основана на генерации и управляемом перемещение в неподвижном магнитном материале областей намагниченности (доменов), энергонезависима, имеет последовательный доступ;

§ магнитооптическая память (magnetooptics storage) – основана на использовании магнитного материала, запись данных на который производится при нагреве до температуры порядка 1450 C лучом лазера;

§ сегнетоэлектрическая память (FRAM, Ferroelectric RAM) – статическая оперативная память с произвольным доступом, ячейки которой сохраняют информацию, используя сегнетоэлектрический эффект (ячейка памяти представляет собой две токопроводящие обкладки, и пленку из сегнетоэлектрического материала[10]; по сравнению с флеш-памятью, ячейки FRAM практически не деградируют – гарантируется до 1010 циклов перезаписи);

- молекулярная память (molecular storage) – основана на использовании технологии атомной туннельной микроскопии, в соответствии с которой запись и считывание данных производится на молекулярном уровне[11];

- полупроводниковая память (semiconductor storage) – в качестве средств записи и хранения данных используются микроэлектронные интегральные схемы (БИС и СБИС), которые характеризуется высоким быстродействием, и применяются в ПЗУ и ОЗУ.

- фазоинверсная память (PCR, Phase Change Rewritable storage) – разновидность лазерной (дисковой) памяти, использующей свойства полимерных материалов в точке лазерного нагрева в зависимости от температуры изменять фазовое состояние вещества и характеристики отражения[12].

- электростатическая память (electrostatic storage) – основана на использовании диэлектрика, на поверхности которого носителями данных являются накопленные заряды статического электричества.

4.По назначению и организации запоминающие устройства подразделяется на следующие типы:

- автономное запоминающее устройство (off-line storage) – устройство, к которому со стороны центрального процессора не допускается прямой доступ, управление памятью производится вводом специальных команд через оперативную память;

- адресуемая память (addressed memory) – устройство, к которому может непосредственно обращаться центральный процессор.

- ассоциативное запоминающее устройство (associative memory, content-addressable memory) – устройство, в котором адресация осуществляется не по местоположению данных, а на основе их содержания с целью ускорения поиска записей; поиск производится по поисковым признакам (словам, словосочетаниям, символам и пр.)[13];

- буферное запоминающее устройство (buffer storage) – устройство предназначенное для временного хранения данных;

- виртуальная память (virtual memory) – ресурсы оперативной или внешней памяти, выделяемые прикладной программе операционной системой;

- временная память (temporary storage) – часть памяти оперативной или внешней, резервируемой для хранения промежуточных результатов обработки данных, или специальное запоминающее устройство;

- вспомогательная память (auxiliary storage) – часть памяти компьютера, охватывающая внешнюю и наращенную оперативную память;

- гибкая память (elastic storage) – вид памяти, позволяющей хранить переменное число данных, пересылать (выдавать) их в той же последовательности, в которой принимает, и варьировать скорость вывода;

- дополнительная память (add-in memory) – устройство, предназначенное для увеличения объема основной оперативной или внешней памяти;

- иерархическая память (hierarchical storage) – вид памяти, имеющей иерархическую структуру, на верхнем уровне которой используется сверхоперативное запоминающее устройство, на нижнем уровне – архивное запоминающее устройство большой емкости;

- кэш память (cache memory) – промежуточный буфер с быстрым доступом, содержащий копию информации, которая хранится в оперативной памяти или один из элементов микроархитектуры процессоров для хранения данных и отслеживания исполнения команд;

- память коллективного доступа (shared memory) – память, доступная многим пользователям (они могут обращаться к ней одновременно или последовательно), или память, связанная одновременно с несколькими процессорами для обеспечения их взаимодействия при совместно решаемых ими задачах;

- корректирующая память (patch memory, relocation table, remap table) – часть памяти компьютера, предназначенная для хранения адресов неисправных ячеек основной памяти;

- локальная память (local memory) – внутренняя память устройства компьютера (процессора, канала и пр.), предназначенная для хранения управляющих этим устройством команд и сведений о состоянии устройства;

- магазинная (стековая) память (pushdown storage) – память абстрактного типа, являющаяся аппаратной реализацией стека, запись и считывание в котором осуществляются через одну и ту же ячейку (вершину стека);

- матричная память (matrix storage) – вид памяти, доступ к ячейкам которой осуществляется по двум или более координатам;

- многоблочная память (multibunk memory) или многоканальная память (multichanel memory) – вид оперативной памяти, организованной из нескольких независимых блоков, допускающих одновременное обращение к ним, что повышает ее пропускную способность;

- многовходовая память (multiport storage) – устройство памяти, допускающее независимое обращение с нескольких направлений (входов), обслуживание запросов производится в порядке их приоритета;

- многоуровневая память (multilevel memory) – память, состоящая из нескольких уровней запоминающих устройств с различными характеристиками и рассматриваемая со стороны пользователей как единое целое;

- оперативно доступная память (on-line storage memory) – память, которая в данный момент времени доступна центральному процессору;

- объектно-ориентированная память (object storage) – память, система управления которой ориентирована на хранение объектов, каждый из которых характеризуется типом и размером записи;

- оверлейная память (overlayable storage) – вид памяти с перекрытием вызываемых в разное время программных модулей;

- память параллельного действия (parallel storage) – вид памяти, в которой все области поиска могут быть доступны одновременно.

- перезагружаемая управляющая память (reloadable control storage) – вид памяти, предназначенный для хранения микропрограмм управления и допускающий многократную смену содержимого;

- перемещаемая память (data-carrier storage) – вид архивной памяти, в которой данные хранятся на перемещаемом носителе;

- память последовательного действия (sequential storage) – вид памяти, в которой данные записываются и выбираются последовательно;

- память процессора, процессорная память (processor storage) - память, являющаяся частью процессора и предназначенная для хранения данных, непосредственно участвующих в выполнении операций, реализуемых арифметико-логическим устройством и устройством управления;

- функциональная память (logic-in-memory) – память со встроенной логикой, которая содержит встроенные средства логической обработки данных;

- рабочая (промежуточная) память (working (intermediate) storage) – часть памяти компьютера, предназначенная для размещения или хранения временных наборов данных;

- реальная память (real storage) – вся физическая память компьютера (основная и внешняя), которая доступна для центрального процессора и предназначена для размещения программ и данных;

- регистровая память (register storage) – вид памяти, состоящей из регистров общего назначения и регистров с плавающей запятой (обычно находится внутри процессора);

- свободная (доступная) память (free space) – часть памяти, которая в данный момент может быть выделена для загрузки программы или записи данных;

- семантическая память (semantic storage) – вид памяти, в которой данные размещаются и списываются в соответствии с определенной структурой понятийных признаков;

- разделяемая память (shareable storage) – совместно используемая память, допускающая одновременное использование несколькими процессорами;

- защищенное запоминающее устройство (protected storage) – память, имеющая встроенные средства защиты от несанкционированного доступа;

- память с пословной организацией (word-organized memory) – вид памяти, в которой адресация, запись и выборка данных производится пословно;

- статическая память (static storage) – вид памяти, в котором положение данных и их значение не изменяются в процессе хранения и считывания;

- страничная память (page memory) – память, разбитая на одинаковые области (страницы), обмен с которой осуществляется страницами.

- управляющая память (control storage) – память, содержащая управляющие программы или микропрограммы, обычно реализуется в виде ПЗУ.

Различные типы памяти (рис. 5.4.) обладают разными преимуществами, из-за чего в большинстве современных компьютеров используются сразу несколько типов устройств хранения данных.

 

Модуль памяти Kingmax DDR2 PC6400 1Gb

Модуль памяти DDR2, объемом 1Gb. Работает с частотой 800Mhz.

 

Модуль памяти Kingston KHX6400D2LLK2/4G 2*2Gb

Модули памяти DDR2, общим объемом 4Gb. Работают с частотой 800Mhz.

 

Модуль памяти Corsair TWIN2X4096-8500C5 2*2Gb

Модули памяти DDR2, общим объемом 4Gb. Работают с частотой 1066Mhz.

 

Модуль памяти Corsair TWIN2X2048-8500C5D 2*1Gb

Модули памяти DDR2, общим объёмом 2Gb. Работают с частотой 1066Mhz.

 

Модуль памяти Kingston SODIMM DDR1 PC3200 512Mb

Модуль памяти для ноутбука DDR1, объемом 512Mb. Работает с частотой 400Mhz.

 

Модуль памяти Patriot DDR2 PC6400 2Gb

Модуль памяти DDR2, объемом 2Gb. Работает с частотой 800Mhz.

 

Модуль памяти Kingston KVR800D2S6/1G 1*1Gb

Модуль памяти DDR2, объемом 1Gb. Работает с частотой 800Mhz.

 

Модуль памяти Corsair TR3X6G1333C9 3*2Gb

Модули памяти DDR3, общим объемом 6Gb. Работают с частотой 1333Mhz.

 

Рис. 5.4. Модули оперативной памяти