Книги
чёрным по белому
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Книги
Археология Архитектура Бизнес Биология Ветеринария Военная промышленность География Геология Гороскоп Дизайн Журналы Инженерия Информационные ресурсы Искусство История Компьютерная литература Криптология Кулинария Культура Лингвистика Математика Медицина Менеджмент Металлургия Минералогия Музыка Научная литература Нумизматика Образование Охота Педагогика Политика Промышленные производства Психология Путеводители Религия Рыбалка Садоводство Саморазвитие Семиотика Социология Спорт Столярное дело Строительство Техника Туризм Фантастика Физика Футурология Химия Художественная литература Экология Экономика Электроника Энергетика Этика Юриспруденция
Новые книги
Цуканов Б.И. "Время в психике человека" (Медицина)

Суворов С. "Танк Т-64. Первенец танков 2-го поколения " (Военная промышленность)

Нестеров В.А. "Основы проэктирования ракет класса воздух- воздух и авиационных катапульных установок для них" (Военная промышленность)

Фогль Б. "101 вопрос, который задала бы ваша кошка своему ветеринару если бы умела говорить" (Ветеринария)

Яблоков Н.П. "Криминалистика" (Юриспруденция)
Реклама

Архитектура компьютера - Таненбаун Э.

Таненбаун Э. Архитектура компьютера — Спб.: Питер, 2007. — 844 c.
ISBN 5-469-01274-3
Скачать (прямая ссылка): arhkomputera2007.DjVu
Предыдущая << 1 .. 233 234 235 236 237 238 < 239 > 240 241 242 243 244 245 .. 422 >> Следующая

соответствовать ячейкам памяти с 0 по 4095.
5. Выполнение программы продолжится, как будто ничего необычного не
случилось.
Такая технология автоматического наложения называется страничной
организацией памяти, а фрагменты программы, которые считываются с диска,
- страницами.
Есть и другой, более сложный способ отображения адресов адресного
пространства программы на реальные адреса памяти. Адреса, к которым
программа может обращаться, мы будем называть виртуальным адресным
пространством, а реальные адреса памяти, реализованные аппаратно, -
физическим адресным пространством. В карте памяти, или таблице страниц,
виртуальные адреса соотносятся с физическими. Предполагается, что на
диске достаточно места для хранения полного виртуального адресного
пространства (или, по крайней мере, той его части, которая используется в
данный момент).
Программы пишутся так, как будто в основной памяти хватает места для
размещения всего виртуального адресного пространства, даже если это не
соответствует действительности. Программы могут загружать слова из
виртуального адресного пространства или записывать слова в виртуальное
адресное пространство, несмотря на то, что на самом деле физической
памяти для этого не хватает. Программист может писать программы, даже не
осознавая, что существует виртуальная память. Просто создается такое
впечатление, что объем памяти данного компьютера достаточно велик.
Позднее мы сопоставим страничную организацию памяти с процессом
сегментации, при котором программисту требуется знать о существовании
сегментов. Еще раз подчеркнем, что страничная организация памяти создает
иллюзию линейной основной памяти такого же размера, как адресное
пространство программы. В действительности основная память может быть
меньше (или больше), чем виртуальное адресное пространство. То, что
память большого размера про-
Виртуальная память 479
сто моделируется путем страничной организации памяти, нельзя определить
по программе (только за счет тестирования). При обращении к любому адресу
всегда появляются требуемые данные или нужная команда. Поскольку
программист может писать программы, ничего не зная о страничной
организации памяти, этот механизм называют прозрачным.
Ситуация, когда программист использует какой-либо виртуальный механизм и
даже не знает, как он работает, не нова. В архитектуры команд, например,
часто включается команда MUL (умножение), даже если аппаратно умножение
не поддерживается. Иллюзия того, что машина может перемножать числа,
создается микропрограммой. Точно так же операционная система может
создавать иллюзию, что все виртуальные адреса поддерживаются реальной
памятью, даже если это неправда. Только разработчикам и исследователям
операционных систем нужно знать, как строится такая иллюзия.
Реализация страничной организации памяти
Виртуальной памяти требуется диск для хранения всей программы и всех
данных. Копию программы, сохраненную на диске, удобнее рассматривать как
оригинал, а фрагменты, регулярно записываемые в основную память, - как
копии. Естественно, оригинал в таком случае должен оперативно
обновляться. Когда изменения вносятся в копию программы в основной
памяти, они в конечном итоге должны быть отражены в оригинале.
Виртуальное адресное пространство разбивается на ряд страниц равного
размера, обычно от 512 байт до 64 Кбайт, хотя иногда встречаются страницы
по 4 Мбайт. Размер страницы всегда должен быть степенью двойки.
Физическое адресное пространство тоже разбивается на части равного
размера таким образом, чтобы каждая такая часть основной памяти вмещала
ровно одну страницу. Эти части основной памяти называются страничными
кадрами. На рис. 6.2 основная память содержит только один страничный
кадр. На практике обычно имеются несколько тысяч страничных кадров.
На рис. 6.3, а показан один из возможных вариантов разделения первых 64
Кбайт виртуального адресного пространства на страницы по 4 Кбайт. Адрес
может быть байтом, а может быть словом, например, в компьютере, в котором
последовательно расположенные слова имеют последовательные адреса.
Виртуальную память, изображенную на рис. 6.3, можно реализовать
посредством таблицы страниц, в которой количество элементов равно
количеству страниц в виртуальном адресном пространстве. Здесь для
простоты мы показали только первые 16 элементов. Когда программа пытается
обратиться к слову из первых 64 Кбайт виртуальной памяти, чтобы вызвать
команду или данные или чтобы сохранить данные, сначала она генерирует
виртуальный адрес от 0 до 65 532 (предполагается, что адреса слов должны
делиться на 4). Для этого могут использоваться любые стандартные
механизмы адресации, в том числе индексирование и косвенная адресация.
На рисунке 6.3, б изображена физическая память, состоящая из восьми
страничных кадров по 4 Кбайт. Эту память можно ограничить до 32 К,
поскольку: 1) это вся память машины (для процессора, встроенного в
стиральную машину
Предыдущая << 1 .. 233 234 235 236 237 238 < 239 > 240 241 242 243 244 245 .. 422 >> Следующая