Адресное пространство PC и XT Сегментные и линейные адреса DOS Память VGA BIOS видеоадаптеров Платы сетевых адаптеров Базовая система ввода/вывода Карты ПЗУ IBM BIOS Дополнительная память Предотвращение конфликтов резидентные программы
Кэш-память - имеет малое время доступа, служит для временного хранения промежуточных результатов и содержимого наиболее часто используемых ячеек ОП и регистров МП.

Поскольку эта ошибка вызывала проблемы при работе многих программ реального режима, в которых использовался "возврат" адреса, при проектировании компьютера AT был найден способ отключения линии А20 в реальном и ее активизации в защищенном режиме. Для этого были использованы несколько свободных контактов контроллера клавиатуры 8042 на системной плате. Этот контроллер предназначен для обработки скэн-кодов клавиатуры и передачи их в процессор, но часть его выводов не использовались при реализации этой основной функции. Инженеры фирмы IBM нашли способ заставить контроллер включать и выключать линию А20, что дало возможность "дефектному" процессору 286 в реальном режиме точно воспроизводить поведение МП 8086 и 8088.

В фирме Microsoft догадались, что можно заставить контроллер 8042 снова включить линию А20 и использовать дефект процессора для доступа к первым 64 К (без 16 байт) расширенной памяти без длительного и сложного переключения в защищенный режим. В результате появились драйвер HIMEM.SYS и НМА. Драйвер HIMEM.SYS должен следить за системой и либо выключать линию А20 для совместимости с некоторыми программами, либо включать ее для обращения к НМА и при работе в защищенном режиме. По существу, драйвер HIMEM.SYS является управляющей программой для линии А20 (через контроллер 8042).

Дополнительная память (expanded memory)

В некоторых старых программах может использоваться еще одна разновидность памяти — EMS (Expanded Memory Specification). В отличие от основной (в пределах первого мегабайта) и расширенной (от 2-го и до 16-го или 4096-го мегабайта) памяти, дополнительную память процессор непосредственно адресовать не может. К ней можно обращаться только через небольшое окно размером 64 К, образуемое в области верхней памяти (UMA). Дополнительная память — это один из многих коммутируемых сегментов специальной дополнительной платы памяти, на которой, помимо ИС ОЗУ, установлены и собственные схемы переключения и адресации. Свободный сегмент в UMA "приписывается" плате EMS-памяти. После заполнения этих 64 К данными плата сама заменяет использованный сегмент на новый, пустой. Сегменты переставляются циклически, заполняясь по мере необходимости. Так как в любой момент времени можно работать только с одним сегментом, EMS-память оказывается очень неэффективной для программных кодов, и обычно используется только для хранения данных. Маршрутизация с использованием масок Использование масок для структуризации сети Алгоритм маршрутизации усложняется, когда в систему адресации узлов вносятся дополнительные элементы - маски. В чем же причина отказа от хорошо себя зарекомендовавшего в течение многих лет метода адресации, основанного на классах? Таких причин несколько, и одна из них - потребность в структуризации сетей.

Окно для EMS-памяти обычно открывается в сегменте D000 (в пределах первого мегабайта). Фирмы Lotus, Intel и Microsoft, создатели спецификации LIM (LIM EMS) для дополнительной памяти, выбрали этот адрес потому, что он не используется большинством адаптеров. Использующие EMS-память программы разрабатываются специально (с учетом обмена сегментов), и в указанный сегмент обычно записываются только данные, поскольку он находится за пределами доступного для DOS непрерывного пространства памяти 640 К. Например, не может быть выполнена программа, чей код записан в выведенном в данный момент из окна сегменте, поскольку процессор его "не видит". Одним словом, дополнительная память может быть полезна только в компьютерах, где нет расширенной (адресуемой процессором) памяти.

Взаимное расположение дополнительной, основной и расширенной памяти показано на рис. 7.1.

Рис. 7.1. Основная, расширенная и дополнительная память

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

Базовая система ввода/вывода Логическая организация памяти ПК Программирование в среде С++ Интегрированная среда разработки