Чем больше емкость, тем ниже стоимость хранения бита, но больше время доступа.
Наиболее распространенным подходом здесь является построение системы памяти по иерархическому принципу.
Иерархическая память состоит из ЗУ различных типов (рис. 1), которые, в зависимости от характеристик, относят к определенному уровню иерархии.
Более высокий уровень меньше по емкости, быстрее и имеет большую стоимость в пересчете на бит, чем более низкий уровень.
Уровни иерархии взаимосвязаны: все данные на одном уровне могут быть также найдены на более низком уровне, и все данные на этом более низком уровне могут быть найдены на следующем нижележащем уровне и т. д.
Рисунок -Иерархия запоминающих устройств
По мере движения вниз по иерархической структуре:
1. Уменьшается соотношение «стоимость/бит».
2. Возрастает емкость.
3. Растет время доступа.
4. Уменьшается частота обращения к памяти со стороны центрального процессора.
Иерархическая организация ведет к уменьшению общей стоимости при заданном уровне производительности. Справедливость этого утверждения вытекает из принципа локальности по обращению. Он включает в себя пространственную локальность программ, данных и временную локальность.
Если рассмотреть процесс выполнения большинства программ, то можно заметить, что с очень высокой вероятностью адрес очередной команды программы либо следует непосредственно за адресом, по которому была считана текущая команда, либо расположен вблизи него. Такое расположение адресов называется пространственной локальностью программы.
Обрабатываемые данные, как правило, структурированы, и такие структуры обычно хранятся в последовательных ячейках памяти. Данная особенность программ называется пространственной локальностью данных.
Кроме того, программы содержат множество небольших циклов и подпрограмм. Это означает, что небольшие наборы команд могут многократно повторяться в течение некоторого интервала времени, то есть имеет место временная локальность.
Принцип локальности часто облекают в численную форму и представляют в виде так называемого правила «90/10»: 90% времени работы программы связано с доступом к 10% адресного пространства этой программы.
Из свойства локальности вытекает, что программу разумно представить в виде последовательно обрабатываемых фрагментов — компактных групп команд и данных. Это позволяет хранить большие программы и массивы данных на медленных, емких, но дешевых ЗУ, а в процессе обработки активно использовать сравнительно небольшую быструю память, увеличение емкости которой сопряжено с высокими затратами.
На каждом уровне иерархии информация разбивается на блоки, выступающие в качестве наименьшей информационной единицы, пересылаемой между двумя соседними уровнями иерархии. Размер блоков может быть фиксированным либо переменным. При фиксированном размере блока емкость памяти обычно кратна его размеру. Размер блоков на каждом уровне иерархии чаще всего различен и увеличивается от верхних к нижним уровням.
При доступе к командам и данным, например, для их считывания, сначала производится поиск в памяти верхнего уровня. Факт обнаружения нужной информации называют попаданием (hit), в противном случае говорят о промахе (miss). При промахе производится поиск в ЗУ следующего более низкого уровня, где также возможны попадание или промах. После обнаружении необходимой информации выполняется последовательная пересылка блока, содержащего искомую информацию, с нижних уровней на верхние. Следует отметить, что независимо от числа уровней иерархии пересылка информации может осуществляться только между двумя соседними уровнями.
Основная память
Основная память (ОП) представляет собой единственный вид памяти, к которой ЦП может обращаться непосредственно. Исключение составляют лишь регистры центрального процессора.
Информация, хранящаяся на внешних ЗУ, становится доступной процессору только после того, как будет переписана в основную память.
Основную память образуют запоминающие устройства с произвольным доступом.
Такие ЗУ образованы как массив ячеек. «Произвольный доступ» означает, что обращение к любой ячейке занимает одно и то же время и может производиться в произвольной последовательности.
Каждая ячейка содержит фиксированное число запоминающих элементов и имеет уникальный адрес, позволяющий различать ячейки при обращении к ним для выполнения операций записи и считывания.
Следствием огромных успехов в области полупроводниковых технологий стало изменение элементной базы основной памяти. На смену ЗУ на базе ферромагнитных колец пришли полупроводниковые микросхемы, использование которых в наши дни стало повсеместным. В полупроводниковых ЗУ применяются запоминающие элементы на основе: биполярных транзисторов; приборов со структурой «металл-окисел-полупроводник» (МОП - транзисторов), приборов со структурой «металл – нитрид – окисел - полупроводник» (МНОП); приборов с зарядовой связью (ПЗС); МОП - транзисторов с изолированным затвором и др.
Основная память может включать в себя два типа устройств: оперативные запоминающие устройства (ОЗУ) + постоянные запоминающие устройства (ПЗУ).
Преимущественную долю основной памяти образует ОЗУ, называемое оперативным, т.к. допускает как запись, так и считывание информации, причем обе операции выполняются однотипно, практически с одной и той же скоростью, и производятся с помощью электрических сигналов.
В англоязычной литературе ОЗУ соответствует аббревиатура RAM — Random Access Memory, то есть «память с произвольным доступом», что не совсем корректно, поскольку памятью с произвольным доступом являются также ПЗУ и регистры процессора. Для большинства типов полупроводниковых ОЗУ характерна энергозависимость - даже при кратковременном прерывании питания хранимая информация теряется. Микросхема ОЗУ должна быть постоянно подключена к источнику питания и поэтому может использоваться только как временная память.
Вторую группу полупроводниковых ЗУ основной памяти образуют энергонезависимые микросхемы ПЗУ (ROM — Read-Only Memory). ПЗУ обеспечивает считывание информации, но не допускает ее изменения (в ряде случаев информация в ПЗУ может быть изменена, но этот процесс сильно отличается от считывания и требует значительно большего времени).
По физическому принципу действия различают динамическую память DRAM и статическую память SRAM. Ячейки динамической памяти можно представить в виде микроконденсаторов, способных накапливать электрический заряд. Недостатки памяти DRAM: медленнее происходит запись и чтение данных, требует постоянной подзарядки. Преимущества: простота реализации и низкая стоимость.
Ячейки статической памяти можно представить как электронные микроэлементы - триггеры, состоящие из транзисторов. В триггере сохраняется не заряд, а состояние (включенный/ выключенный). Преимущества памяти SRAM: значительно большее быстродействие. Недостатки: технологически более сложный процесс изготовления, и соответственно, большая стоимость.
Микросхемы динамической памяти используются как основная оперативная память, а микросхемы статической - для кэш-памяти.
Каждая ячейка памяти имеет свой адрес, выраженный числом. В современных ПК на базе процессоров Intel Pentuim используется 32-разрядная адресация. Это означает, что всего независимых адресов есть 232, то есть возможное адресное пространство составляет 4,3 Гбайт. Однако это еще не означает, что именно столько оперативной памяти может быть в системе. Предельный размер объема памяти определяется чипсетом материнской платы и обычно составляет несколько сотен мегабайт.
Оперативная память в компьютере размещена на стандартных панельках, которые называются модулями. Модули оперативной памяти вставляют в соответствующие разъемы на материнской плате. Конструктивно модули памяти имеют два выполнения - однорядные (SIMM - модули) и двурядные (DIMM - модули). На компьютерах с процессорами Pentium однорядные модули можно применять лишь парами (количество разъемов для их установления на материнской плате всегда четное). DIMM - модули можно устанавливать по одному. Комбинировать на одной плате разные модули нельзя.
Основные характеристики модулей оперативной памяти:
- объем памяти,
- время доступа.
SIMM - модули имеют объем 4, 8, 16, 32, 64 мегабайт; DIMM - модули - 16, 32, 64, 128, 256, 512 Мбайт. Время доступа показывает, сколько времени необходимо для обращения к ячейкам памяти, чем меньше, тем лучше. Измеряется в наносекундах. SIMM - модули - 50-70 нс, DIMM - модули - 7-10 нс.