Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основной текст лекций.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆
      1. Сегментно-страничная организация памяти.

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

Виртуальная память была первоначально реализована на «больших» ЭВМ, однако по мере развития микропроцессоров в них также использовались идеи страничной и сегментной организации памяти.

    1. Внешняя память

Доступ к данным, расположенным в разноуровневой памяти, существенно отличается по времени. Доступ к регистровой памяти измеряется несколькими наносекундами, к основной памяти – десятками наносекунд, к вторичной или внешней памяти доступ может измеряться секундами, даже минутами.

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