В августе 1981 года фирма IBM выпустила свой первый персональный компьютер, основанный на микропроцессоре Intel 8088. Этот процессор способен был адресовать 1 Мбайт оперативной памяти, которой, как тогда казалось, персональным компьютерам хватит надолго. В связи с этим проблеме распределения памяти уделили меньше внимания, чем другим проблемам. С легкой руки компании Microsoft это распределение памяти "укоренилось" в мире и стало стандартом де-факто для всех Intel-совместимых компьютеров.
В памяти Intel-совместимых компьютеров можно выделить три зоны памяти:
Рассмотрим эти три зоны по-подробнее.
Со времен микропроцессора 8088 здесь находятся все исполняемые программы, в том числе и операционная система. Эта преемственность сохранилась до сих пор. В самом начале этой области находится:
Примечание: эта часть отсутствует в операционных системах Windows. Она целиком помещается в файле IO.SYS.
Вся остальная базовая память доступна для программ MS-DOS. Общий объем базовой памяти, занятой системными программами, не должен превышать 256 Кбайт, а рекомендуемый максимальный размер этой области - 128 Кбайт. Только при свободном объеме 512 Кбайт большинство программ DOS будут чувствовать себя комфортно.
Конечно, любой драйвер подключенного к компьютеру устройства, любая запущенная резидентная программа забирает под свои нужды определенную часть памяти, и лимит в 128 Кбайт может быть достигнут очень быстро. Чтобы избежать этого, возможны два сценария:
Любой из сценариев имеет свои достоинства и недостатки. Поэтому выбор любого сценария либо их комбинации должен решаться индивидуально.
Не вся область расширенной памяти доступна для выполнения программ. В этой области памяти находится зона теневого BIOS (Shadow RAM) и зона микропроцессора Weitec.
Из-за низкой скорости доступа к блокам ПЗУ процессор должен тратить несколько циклов ожидания на то, чтобы считать данные. При этом общая скорость работы приложения снижается. При использовании теневого BIOS программы из ПЗУ копируются в более быструю оперативную память (RAM) и там выполняются.
При создании теневого BIOS необходимо учитывать следующее: ПЗУ от ОЗУ отличается тем, что его содержимое нельзя изменить. Поэтому, в принципе, содержимое теневого BIOS можно изменить. Чтобы избежать этого, в настройках материнской платы необходимо запретить доступ программ "на запись" к теневому BIOS.
Зона теневого BIOS расположена по адресам памяти 00FE:0000h - 00FF:FFFFh. При этом зона системного BIOS расположена в первых 64 Кбайт этой области. Остальное пространство используется для теневого BIOS плат расширения. Весьма нежелательно, чтобы эта область памяти рагментировалась.
Микропроцессор Abacus фирмы Weitek спроектирован так, что он обменивается данными с центральным процессором через расширенную память. Для обмена данными используется диапазон адресов C000:0000h - C000:FFFFh. Центральный процессор просто пересылает данные в эту область, а затем считывает из нее готовые результаты.
При использовании микропроцессора Abacus часто возникает конфликт между ним и драйверами расширенной и дополнительной памяти. Чтобы избежать его, мало прописать в BIOS использование этого микропроцессора. Необходимо также установит опции поддержки микропроцессора Weitek в драйверах.
Примечание: стандартные драйверы расширенной и дополнительной памяти MS-DOS поддерживают этот микропроцессор начиная с версии DOS 6.0.
Назад | Содержание | Вперед