Запоминающие устройства (ЗУ), или память, хранят команды и данные. Память делится на ячейки, или слова, состоящие обычно из фиксированного числа двоичных разрядов — битов (последовательность из 8 двоичных цифр — байт). Ячейки нумеруются последовательными целыми числами n=0,1,2,… Номера ячеек принято называть адресами. Объем ЗУ обычно выражается в килобайтах (Кбайт или сокращенно К) или мегабайтах (Мбайт). Поскольку адресация большинства ЗУ осуществляется в двоичной системе счисления, в качестве килобайта удобно брать 1024 = 210 байт. Соответственно, под мегабайтом обычно понимается величина 220 байт.
Запоминающие устройства с произвольным доступом характеризуются одним и тем же временем доступа в произвольную ячейку независимо как от ее адреса, так и от предыдущих обращений в память. Под временем доступа здесь понимается время, необходимое для установления соединения данной ячейки запоминающего устройства с некоторым буферным регистром. Добавляя к этому времени время, необходимое для фактического перемещения информации из ЗУ в регистр или обратно, получают соответственно времена цикла чтения и цикла записи. Возможность в любой момент времени считать или записать информацию в любую ячейку памяти делает ЗУ с произвольным доступом естественным партнером центрального процессора в качестве оперативного хранилища информации. Это привело к закреплению за ними наименования оперативного запоминающего устройства (ОЗУ).
При высоком быстродействии процессора время цикла для ОЗУ может явиться ограничивающим фактором для скорости работы системы ОЗУ — процессор. В качестве выхода из этого положения строятся двухуровневые памяти, когда относительно медленное ОЗУ большого объема взаимодействует непосредственно не с процессором, а со специальной сверхоперативной памятью (СОЗУ), представляющей собой память с произвольным доступом относительно небольшого объема, но существенно более быструю, чем ОЗУ.
В ЗУ последовательного доступа доступ осуществляется последовательно в порядке роста или убывания адресов ячеек. Поэтому после обращения в ячейку с адресом п следующее соединение будет установлено либо с (п+1)–й, либо с (n–1)–й ячейкой. Последовательные ЗУ характеризуются помимо объема также скоростью передачи информации, которая в этом случае существенным образом зависит как от ее месторасположения в памяти,так и от адреса предыдущего соединения с ЗУ. Примером ЗУ последовательного доступа является магнитная лента.
ЗУ с прямым доступом комбинируют черты устройств с произвольным и последовательным доступом. Обладая возможностью перехода от одного адреса к любому другому, они вместе с тем гораздо быстрее открывают ячейки с последовательными адресами. Поэтому в их характеристику, помимо максимального времени произвольного доступа, входит, как и в последовательных ЗУ, независимая от этого времени скорость передачи информации.
При построении ЭВМ часто оказывается удобным использовать ЗУ магазинного типа, называемые также стеками: при вводе (записи) нового слова уже заполненные слова сдвигаются на один шаг в глубь магазина; при выводе (чтении) процесс протекает в обратном направлении. Таким образом, реализуется принцип: последнее слово из записанных читается первым.
Для ряда приложений очень удобна так называемая ассоциативная память. Запись в нее осуществляется в произвольную ячейку, выбираемую самим ЗУ. Доступ к нужному элементу данных осуществляется не по адресу, а по запоминаемому вместе с этим элементом признаку. Конструктивно такая память выполняется в виде матрицы с булевыми первичными ячейками. Вторичные (составные) ячейки (адресуемые индексом i) образуют строки этой матрицы, тогда как столбцы (адресуемые индексом j) несут в себе соответствующие разряды признаков всех строк, запомненных в ЗУ. Для реализации, помимо обычного (адресного) доступа по строкам матрицы, ассоциативного доступа достаточно реализовать доступ по второму индексу — адресу столбца матрицы (с соответствующей схемой анализа выбранного столбца).
Иерархия запоминающих устройств. Принцип кэширования данных. Память ЭВМ представляет собой иерархию запоминающих устройств (внутренние регистры процессора, различные типы сверхоперативной и оперативной памяти, диски, ленты), отличающихся средним временем доступа и стоимостью хранения данных в расчете на один бит (рисунок 5.1).
Рисунок 5.1 — Иерархия ЗУ
Пользователю хотелось бы иметь и недорогую и быструю память. Кэш–память представляет некоторое компромиссное решение этой проблемы. Кэш–память — это способ организации совместного функционирования двух типов запоминающих устройств, отличающихся временем доступа и стоимостью хранения данных, который позволяет уменьшить среднее время доступа к данным за счет динамического копирования в «быстрое» ЗУ наиболее часто используемой информации из «медленного» ЗУ. Кэш–памятью часто называют не только способ организации работы двух типов запоминающих устройств, но и одно из устройств — «быстрое» ЗУ. Оно стоит дороже и, как правило, имеет сравнительно небольшой объем. Важно, что механизм кэш–памяти является прозрачным для пользователя, который не должен сообщать никакой информации об интенсивности использования данных и не должен никак участвовать в перемещении данных из ЗУ одного типа в ЗУ другого типа, все это делается автоматически системными средствами.