Обычная память (Conventional Memory). Сегменты оперативной памяти.
Оперативная память (ОЗУ, RAM) является одним из важнейших ресурсов персонального компьютера. В англоязычной технической литературе вы можете встретить три термина, характеризующие тип памяти, а именно: conventional memory, extended memory и expanded memory. У современных ПК они относятся к разным частям одного физического устройства и являются характеристиками способа доступа к этим частям. Различие способов доступа к отдельным частям памяти является специфической особенностью (родимым пятном) и одним из существенных недостатков семейства IBM PC. В чем именно оно заключается, описано в данном приложении.
Предельно допустимый объем памяти зависит от системной (материнской) платы ПК, точнее от набора микросхем (chip set), на базе которого она собрана. Реально существующий объем выводится на экран монитора в процессе загрузки ПК, когда BIOS проверяет (тестирует) память. В процессе работы ПК можно с помощью специальных задач узнать объем и текущее распределение пространства ОЗУ. Например, в состав DOS входит задача mem.exe, а в состав Norton Commander – sysinfo.exe. Прикладные задачи, нуждающиеся в больших объемах памяти, должны самостоятельно определять размер ее доступного пространства.
Conventional – общепринятый, обычный. Так называют младшую часть ОЗУ, занимающую первые 640 Кбайт пространства адресов и имеющую большое значение в обеспечении работоспособности ПК. В ней хранятся векторы прерываний, данные, используемые BIOS и DOS, рабочая область и резидентная часть DOS, драйверы внешних устройств, а также другие программы и данные, необходимые для поддержки нормальной работы ПК. Наконец, DOS загружает прикладные задачи только в обычную память. Если при отсутствии или неисправности дополнительной памяти ПК может выполнять свои функции, то при неисправности младшей части памяти его работа просто невозможна.
Сегменты оперативной памяти
Первые компьютеры IBM PC имели 16-разрядную шину данных, что соответствовало пространству адресов 64 Кбайт. У IBM PC/XT, собранного на базе процессора Intel 8086, адресная шина увеличилась на 4 разряда и появилась возможность работы с пространством адресов размером в 1 Мбайт. Однако основные регистры процессора остались 16-разрядными, поэтому 20-разрядные адреса в них просто не помещались. Для работы с пространством адресов в 1 Мбайт потребовалось создание специального механизма.
Разработчики выбрали не самое лучшее из возможных решений, ограничив предельный размер пространства адресов значением 1 Мбайт. Возможно, им казалось, что такой объем памяти удовлетворит нужды пользователей на многие годы. Так или иначе, но заведомо ограниченное решение стало стандартом и используется во всех без исключения компьютерах семейства IBM PC.
Режимы работы микропроцессора
Компьютеры IBM.PC/AT, собранные на базе процессора Intel 80286, уже обеспечивали доступ к пространству адресов размером в 16 Мбайт. Однако для реального использования такого пространства требовалось новое программное обеспечение. К этому времени было создано много системных и прикладных программ, ориентированных на возможности процессора Intel 8086, и изменять способ работы с адресами было слишком поздно. Разработчики пошли по другому пути. Начиная с модели 80286, все микропроцессоры Intel поддерживают два режима работы. Один из них называется реальным режимом (real-address mode), а другой защищенным режимом (protected-address mode).
Реальным режим назван потому, что используются физические адреса оперативной памяти и внешних устройств, значения которых не превышают 1 Мбайт. При включении ПК любой современный микропроцессор переключается в реальный режим. В нем он работает в точности как Intel 8086, только значительно быстрее.
Работа с дополнительным пространством адресов возможна только в защищенном режиме. При этом микропроцессор контролирует допустимость значений адресов, откуда и произошло название режима. Для распределения и контроля расширенного пространства адресов в состав микропроцессоров включены специальные регистры и команды для их обслуживания. Те и другие доступны только при работе микропроцессора в защищенном режиме.