· Хранение данных и команд для дальнейшей их передачи процессору для обработки. Информация может поступать из оперативной памяти не сразу на обработку процессору, а в более быструю, чем ОЗУ, кэш-память процессора.
· Хранение результатов вычислений, произведенных процессором.
· Считывание (или запись) содержимого ячеек.
Для характеристики памяти используются следующие параметры:
1. емкость памяти – максимальное количество хранимой информации в байтах;
2. быстродействие памяти – время обращения к памяти, определяемое временем считывания или временем записи информации.
Оперативная память может сохранять данные лишь при включенном компьютере. Поэтому при его выключении обрабатываемые данные следует сохранять на жестком диске или другом носителе информации. При запуске программ информация поступает в ОЗУ, например, с жесткого диска компьютера. Пока идет работа с программой она присутствуют в оперативной памяти (обычно). Как только работа с ней закончена, данные перезаписываются на жесткий диск. Другими словами, потоки информации в оперативной памяти очень динамичны.
ОЗУ представляет собой запоминающее устройство с произвольным доступом. Это означает, что прочитать/записать данные можно из любой ячейки ОЗУ за одинаковый интервал времени. Для сравнения, например, магнитная лента является запоминающим устройством с последовательным доступом.
Оперативная память (ОП) состоит их ячеек, каждая из которых имеет свой собственный адрес. Все ячейки содержат одинаковое число бит. Соседние ячейки имеют последовательные адреса. Адреса памяти также как и данные выражаются в двоичных числах. Обычно одна ячейка содержит 1 байт информации и является минимальной единицей информации, к которой возможно обращение. Однако многие команды работают с так называемыми словами. Слово представляет собой область памяти, состоящую из 4 или 8 байт (возможны другие варианты).
ОП является основной памятью для хранения информации. Она организована как одномерный массив ячеек памяти размером в 1 байт. Каждый из байтов имеет уникальный 20 битный физический адрес в диапазоне от 00000 до FFFFFh (здесь и далее для записи адресов используется шестнадцатеричная система счисления, признаком которой является символ h в конце кода). Таким образом, размер адресного пространства ОП составляет 220 = 1Мбайт. Любые два смежных байта в памяти могут рассматриваться как 16-битовое слово. Младший байт слова имеет меньший адрес, а старший - больший. Так шестнадцатеричное число 1F8Ah, занимающее слово, в памяти будет расположено в последовательности 8Ah, 1Fh. Адресом слова считается адрес его младшего байта. Поэтому 20 битовый адрес памяти может рассматриваться и как адрес байта, и как адрес слова.
Команды, байты и слова данных можно размещать по любому адресу, что позволяет экономить память вследствие ее более полного заполнения. Однако для экономии времени выполнения программ целесообразно размещать слова данных в памяти, начиная с четного адреса, так как микропроцессор передает такие слова за один цикл работы шины. Слово с четным адресом называется выровненным по границе слов. Не выровненные слова данных с нечетным адресом допустимы, но для их передачи требуется два цикла шины, что снижает производительность компьютера. Заметим, что необходимое количество циклов считывания слова данных инициируется микропроцессором автоматически. Следует иметь в виду, что при операциях со стеком слова данных должны быть выровнены, а указатель стека инициирован на четный адрес, так как в таких операциях участвуют только слова данных.
Поток команд разделяется на байты при заполнении очереди команд внутри микропроцессора. Поэтому выравнивание команд практически не влияет на производительность и не используется.
Адресное пространство ОП делится на сегменты. Сегмент состоит из смежных ячеек ОП и является независимой и отдельно адресуемой единицей памяти, которая в базовой архитектуре ПК имеет фиксированную емкость 216 = 64К байт. Каждому сегменту назначается начальный (базовый) адрес, являющийся адресом первого байта сегмента в адресном поле ОП. Значение физического адреса ячейки складывается из адреса сегмента и смещения ячейки памяти относительно начала сегмента (внутрисегментное смещение). Для хранения значений адреса сегмента и смещения используются 16-битовые слова.
Чтобы получить 20-битовый физический адрес, микропроцессор автоматически осуществляет следующие операции. Значение базового адреса сегмента умножается на 16 (сдвиг на 4 разряда влево) и суммируется со значением смещения в сегменте. В результате получается 20-битовое значение физического адреса. При суммировании может возникнуть перенос из старшего бита, который игнорируется. Это приводит к тому, что ОП оказывается как бы организованной по кольцевому принципу. За ячейкой с максимальным адресом FFFFFh следует ячейка с адресом 00000h.
Сегменты физически не привязаны к конкретному адресу ОП, и каждая ячейка памяти может принадлежать одновременно нескольким сегментам, так как базовый адрес сегмента может определяться любым 16-битовым значением. Сегменты могут быть смежными, неперекрывающимися, частично или полностью перекрывающимися. Вместе с тем, в соответствии с алгоритмом вычисления физического адреса, начальные адреса сегментов всегда кратны 16.