Память компьютера предназначена для кратковременного и долговременного хранения информации — кодов команд и данных. В памяти информация хранится в массиве ячеек. Минимальной адресуемой единицей является байт — каждый байт памяти имеет свой уникальный адрес. Память можно рассматривать как иерархическую систему, простирающуюся от кэш-памяти процессора до ленточных архивов.
Со времени появления больших (по размерам) компьютеров сложилось деление памяти на внутреннюю и внешнюю. Под внутренней подразумевалась память, расположенная внутри процессорного «шкафа» (или плотно к нему примыкающая). Сюда входили и электронная и магнитная память (на магнитных сердечниках). Внешняя память представляла собой отдельные устройства с подвижными носителями — накопители на магнитных дисках (а сначала — на барабанах) и ленте. Со временем все устройства компьютера удалось «поселить» в один небольшой корпус, и прежнюю классификацию памяти применительно к PC можно переформулировать так:
♦ внутренняя память — электронная (полупроводниковая) память, устанав ливаемая на системной плате или на платах расширения;
♦ внешняя память — память, реализованная в виде устройств с различными принципами хранения информации, чаще всего с подвижными носителями; в настоящее время сюда входят устройства магнитной (дисковой и ленточ ной) памяти, оптической и магнитооптической памяти; устройства внешней памяти могут размещаться как в системном блоке компьютера, так и в от дельных корпусах, достигающих иногда размеров небольшого шкафа.
Для процессора непосредственно доступной является внутренняя память, доступ к которой осуществляется по адресу, заданному программой. Для внутренней памяти характерен одномерный (линейный) адрес, который представляет собой одно двоичное число определенной разрядности. Внутренняя память подразделяется на оперативную, информация в которой может изменяться процессором в любой момент времени, и постоянную, информацию в которой процессор может только считывать. Обращение к ячейкам оперативной памяти может происходить в любом порядке, причем как по чтению, так и по записи, поэтому оперативную память называют памятью с произвольным доступом (Random Access Memory, RAM) — в отличие от постоянной памяти (Read Only Memory, ROM).
Внешняя память адресуется более сложным образом — каждая ее ячейка имеет свой адрес внутри некоторого блока, который, в свою очередь, имеет многомерный адрес. В ходе физических операций обмена данными блок может быть считан или записан только целиком. В случае одиночного дискового накопителя физический адрес блока является трехмерным — он состоит из номера поверхности (головки), номера цилиндра и номера сектора. В современных накопителях этот трехмерный адрес часто заменяют линейным номером — логическим адресом блока, а его преобразованием в физический адрес занимается внутренний контроллер накопителя. Поскольку дисковых накопителей в компьютере может быть множество, в адресации дисковой памяти участвуют также номер накопителя и номер канала интерфейса. С такой сложной системой адресации процессор справляется только с помощью программного драйвера, в задачу которого в общем случае входит копирование некоторого блока данных из оперативной памяти в дисковую и обратно. Название «дисковая память» широко применяется для внешней памяти с прямым доступом; словосочетание «прямой доступ» подразумевает возможность обращения к блокам (но не к его ячейкам!) с чередованием операций чтения и записи в произвольном порядке. Память с последовательным доступом накладывает ограничения на свободу: в ней невозможны произвольное чередование операций чтения/записи и произвольность адресов. Ряд устройств запись вообще не выполняют (например, CD-ROM). Последовательный метод доступа используется в ленточных устройствах, а также в большинстве оптических дисков (CD, DVD). С такими неудобствами обращения мирятся только из-за того, что устройства последовательного доступа обеспечивают самое дешевое хранение больших объемов информации, к которой не требуется оперативного доступа:
Ниже перечислены наиболее важные параметры подсистемы памяти.
♦ Объем хранимой информации. Нет необходимости объяснять, что чем он боль ше, тем лучше. Максимальный (в принципе — неограниченный) объем ин формации хранят ленточные и дисковые устройства со сменными носителя ми, за ними идут дисковые накопители, и завершает этот ряд оперативная память.
♦ Время доступа — усредненная задержка начала обмена полезной информа цией относительно появления запроса на данные. Минимальное время досту па имеет оперативная память, за ней идет дисковая, после нее — ленточная.
♦ Скорость обмена при передаче потока данных (после задержки на время до ступа). Максимальную скорость обмена имеет оперативная память, за ней идет дисковая, после нее — ленточная.
♦ Удельная стоимость хранения единицы данных — цена накопителя (с носи телями), отнесенная к единице хранения (байту или мегабайту). Минималь ную стоимость хранения имеют ленточные устройства со сменными носите лями, их догоняют дисковые накопители, а самая дорогая — оперативная па мять.
Помимо этих имеется и ряд других характеристик — энергонезависимость (способность сохранения информации при отключении внешнего питания), устойчивость к внешним воздействиям, время хранения, конструктивные особенности (размер, вес) и т. п. У каждого типа памяти есть различные реализации со своими достоинствами и недостатками.