Статус
нашего
сайта:
ICQ Secrets Center is Online  ICQ Information Center


ICQ SHOP
     5-значные
     6-значные
     7-значные
     8-значные
     9-значные
     Rippers List
ОПЛАТА
СТАТЬИ
СЕКРЕТЫ
HELP CENTER
OWNED LIST
РОЗЫСК!New!
ICQ РЕЛИЗЫ
Протоколы ICQ
LOL ;-)
Настройка компьютера
Аватарки
Смайлики
СОФТ
     Mail Checkers
     Bruteforces
     ICQTeam Soft
     8thWonder Soft
     Other Progs
     ICQ Patches
     Miranda ICQ
ФорумАрхив!
ВАШ АККАУНТ
ICQ LiveJournal

Реклама

Наш канал:

irc.icqinfo.ru

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


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

Идея разделения понятий адресного пространства и адресов памяти состоит в следующем. В любой момент времени можно получить прямой доступ к 4096 словам памяти, но это не значит, что они непременно должны соответствовать адресам памяти от 0 до 4095. Например, мы могли бы сообщить компьютеру, что при обращении к адресу 4096 нужно использовать слово из памяти с адресом 0, при обращении к адресу 4097 — слово из памяти с адресом 1, при обращении к адресу 8191 — слово из памяти с адресом 4095 и т. д. Другими словами, мы отображаем адресное пространство на действительные адреса памяти (рис. 6.2).

Согласно этой схеме отображения адресов адресного пространства на фактические ячейки памяти, в машине с объемом памяти 4 Кбайт (без виртуальной памяти) между адресами от 0 до 4095 и словами памяти числом 4096 существует прямое соответствие. Возникает интересный вопрос: а что произойдет, если программа совершит переход к одному из адресов в диапазоне от 8192 по 12 287? В машине без виртуальной памяти произойдет ошибка, на экран будет выведено сообщение о несуществующем адресе памяти, и выполнение программы прервется.

1 Строго говоря, сверхбольшие интегральные микросхемы, на которых сейчас располагаются микропроцессоры, в том числе и упоминаемый автором процессор Pentium 4, не являются компьютерами. Компьютер должен содержать, помимо процессора, память и контроллер для управления ею, устройства ввода-вывода и соответствующие контроллеры для управления ими. — Примеч. научн. ред.

Рис. 6.2. Виртуальные адреса памяти с 4096 по 8191 отображаются на адреса основной

памяти с 0 по 4095

В машине с виртуальной памятью произойдет следующее:

1. Содержимое основной памяти будет сохранено на диске.

2. Слова с 8192 по 12 287 будут сохранены на диске.

3. Слова с 8192 до 12 287 будут загружены в основную память.

4. Отображение адресов изменится: адреса с 8192 по 12 287 будут соответствовать ячейкам памяти с 0 по 4095.

5. Выполнение программы продолжится, как будто ничего необычного не случилось.

Такая технология автоматического наложения называется страничной организацией памяти, а фрагменты программы, которые считываются с диска, — страницами.

Есть и другой, более сложный способ отображения адресов адресного пространства программы на реальные адреса памяти. Адреса, к которым программа может обращаться, мы будем называть виртуальным адресным пространством, а реальные адреса памяти, реализованные аппаратно, — физическим адресным пространством. В карте памяти, или таблице страниц, виртуальные адреса соотносятся с физическими. Предполагается, что на диске достаточно места для хранения полного виртуального адресного пространства (или, по крайней мере, той его части, которая используется в данный момент).

Программы пишутся так, как будто в основной памяти хватает места для размещения всего виртуального адресного пространства, даже если это не соответствует действительности. Программы могут загружать слова из виртуального адресного пространства или записывать слова в виртуальное адресное пространство, несмотря на то, что на самом деле физической памяти для этого не хватает. Программист может писать программы, даже не осознавая, что существует виртуальная память. Просто создается такое впечатление, что объем памяти данного компьютера достаточно велик.


⇐ Предыдущая страница| |Следующая страница ⇒

.