Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АВМиС - бывшее АПЭВМ / apvem / всякаявсячина.doc
Скачиваний:
42
Добавлен:
15.09.2014
Размер:
670.72 Кб
Скачать

7.Структура conventional памяти

В самых младших адресах памяти (первые 1024 ячейки) размещается таблица векторов прерываний Это связано с аппаратной реализацией процессора 18088, на котором была реализована ПК. В последующих процессорах (начиная с i80286) адрес таблицы прерываний определяется через содержимое соответст­вующего регистра, но для обеспечения полной совместимости с первым процес­сором при включении или аппаратном сбросе в этот регистр заносятся нули. При желании, однако, в случае использования современных микропроцессоров 180x86 можно разместить векторы прерываний и в другой области. Вторая часть памяти отводится для размещения программных модулей самой MS-DOS и для программ пользователя. Рассмотрим их размещение чуть ниже. Здесь, однако, заметим, что эта область памяти называется Conventional Memory (основная,стандартная память). Поскольку размер основной памяти (conventional memory) относительно неболь­шой, то очень часто системы программирования реализуют оверлейные структу­ры. Для этого в MS-DOS есть специальные вызовы.

9. Обработчики 09h и 16h клавиатуры

Управление клавиатурой возможно через порты 60h, 61h, 64h; прерывание INT 09h; прерывание INT 15h; функции DOS (INT 21h). Доступ к клавиатуре через порты ввода-вывода является самым низкоуровневым методом доступа. Такой метод используется обычно только прерываниями INT 09h, INT 15h и драйверами клавиатуры.

С помощью порта 61h можно определить, доступен ли контроллер клавиатуры, и разрешить (запретить) доступ к нему. Причем, если значение, возвращаемое из порта 61h, содержит в седьмом разряде нуль, то контроллер клавиатуры не доступен. Пример работы с портом 61h из прерывания INT 09h:

Порт 60h предназначен для чтения данных с клавиатуры и сохранен для совместимости с клавиатурой PC XT.

С помощью порта 64h можно читать данные с клавиатуры (коды клавиш и статус), программировать и осуществлять настройку клавиатуры.

Команды контроллера клавиатуры: EDh Установить индикаторы состояния; EEh Эхо (средство диагностирования); F0h Выбрать альтернативный режим; EFh-F1h Резерв - холостые команды (NOP); F2h Идентификатор расширенной клавиатуры; F3h Установить частоту повторения клавиши; F4h Разрешить клавиатуру; F5h Запрет по умолчанию; F6h Установить условия по умолчанию; F7h-FAh Установить все клавиши; FBh-FDh Установить отдельные клавиши; FEh Послать повторно; FFh Сброс.

Рекомендуется использовать порт 60h для чтения сканкодов, а 64h – для определения статуса и программирования клавиатуры. Такое разделение функций обеспечит максимальную гибкость программам.

При программировании контроллера клавиатуры необходимо первоначально в порт 64h записать код команды, сделать задержку и затем записать байт данных.

10. Extended память

По мере развития программного обеспечения компьютеров, была разработана новая элементная база. Фирма Intel выпустила новый процессор Intel 80286. Центральный процессор 80286 уже имеет возможность адресовать 16 мегабайт оперативной памяти. Однако, чтобы получить к ней доступ, процессор должен работать в защищенном режиме. Процессор Intel 8086 не имеет защищенного режима, поэтому все программное обеспечение (в том числе и операционная система MS-DOS), разработанное на момент появления Intel 80286 не могло использовать новые возможности процессора Intel 80286.

Для совместимости с процессором Intel 8086 и созданным на тот момент программным обеспечением процессор Intel 80286 сразу после включения питания работает в реальном режиме. В реальном режиме процессор Intel 80286 становится улучшенным аналогом старого процессора Intel 8086, и может адресовать только первые 1024 килобайта памяти.

Память компьютера, расположенная за первыми 1024 килобайтами, называется расширенной памятью. Расширенную память могут иметь компьютеры с процессорами Intel 80286, 80386, 80486, Pentium. Компьютеры IBM PC и IBM XT, имеющие процессоры Intel 8086 и 8088 расширенной памяти не содержат.

Начальный участок расширенной памяти от 1024 до 1088 килобайт называется областью старшей памяти (High Memory Area - HMA). Эти первые 64 килобайта расширенной памяти операционная система MS-DOS начиная с версии 5.0 может использовать для размещения части своего ядра, области данных и буферов. При этом процессор все время остается в реальном режиме.

Остальная расширенная память, которая находится за границей 1088 килобайт, не доступна в реальном режиме процессора. Обычно в компьютерах с процессорами 80286 и выше установлено как минимум 384 килобайта расширенной памяти.

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

Операционная система Microsoft Windows 3.1 работает в защищенном режиме процессора и может свободно использовать всю доступную память компьютера, и основную и расширенную, для хранения программ и данных.