Меню сайта

Урок 148. Базовая система ввода/вывода

В предыдущей главе изучалась аппаратураIBM PC. Фирма IBM
— — — поставляет стандартные управляющиепрограммы для рассмотренных выше
— — — аппаратных компонент. Эти программынаходятся в ПЗУ на системной
— — — плате и носят название BIOS (BasicInput/Output System, базовая
— — — система ввода-вывода). В этой главеобъясняются функции,
— — — обеспечиваемые BIOS. Материалом этой главынужно пользоваться
— — — вместе с гл.3 и приложением A техническогоописания IBM PC. В гл.3
— — — описана базовая системы ввода-вывода, вчастности некоторые ее
— — — функции, а в приложении A приведен полныйассемблерный листинг BIOS
— — — IBM PC.

— — — — — В данной книге программы BIOS изучаются подвум причинам: их
— — — использование дает пример техникипрограммирования на языке
— — — ассемблера, особенно в случае управлениясистемной аппаратурой, и
— — — еще существенней то, что программы BIOSиграют важную роль в
— — — разработке программ на языке ассемблерадля IBM PC. В предыдущих
— — — главах уже использовались некоторыефункции программы BIOS- и,
— — — поскольку фирма IBM внесла эти функции вBIOS, дублировать их не
— — — стоит. Их надо использовать всюду, где этовозможно.

— — — — — Вторая причина использования BIOS — этотранспорта- бельность.
— — — Фирма IBM, поставляя BIOS, диктует уровеньсистемного интерфейса
— — — программисту, работающему на языкеассемблера. Когда фирма IBM
— — — разрабатывала свою персональную ЭВМ,системные конструкторы знали,
— — — что не важно, насколько хорошо делается ихработа первый раз, так
— — — как ее всегда можно сделать лучше. Времяидет, и эволюция
— — — технологии позволяет делать ту же работулучше.

— — — — — По мере того, как разрабатывается новаяаппаратура для
— — — персональной ЭВМ, появляются и новыепрограммные интерфейсы для
— — — нее. И если вы пишите программы, используянепосредственно
— — — аппаратуру, вам придется корректироватьпрограммы каждый раз, когда
— — — изменяется системная аппаратура. Это не имеетособого значения в
— — — случае индивидуального использования вашихпрограмм, но важно, если
— — — вы пишите программы, которые будутиспользоваться многими. Или,
— — — если вы собираетесь тиражировать вашупрограмму, вам бы хотелось,
— — — чтобы она использовалась длительное время-т.е. вы не захотите
— — — поставлять новые версии программы всякийраз, когда кто-то создает
— — — новую системную аппаратуру.

— — — — — Интерфейс с BIOS — попытка разрешить этупроблему. Фирма IBM
— — — определила интерфейс с различнымикомпонентами системы.
— — — Изготовители стараются поддерживать такойинтерфейс для своей новой
— — — аппаратуры, а это означает, что даже еслиаппаратура и изменится,
— — — интерфейс с BIOS останется прежним. Вашапрограмма не потребует
— — — изменений.

— — — — — По мере того, как будут появляться новыеаппаратные функции,
— — — вам нужно будет изменять программу длятого, чтобы воспользоваться
— — — ими. В этом случае, вероятно, фирма IBMрасщирит интерфейсы с BIOS.
— — — Но ваши старые программы, которые хорошоработали на старых
— — — машинах, будут продолжать работать и нановых машинах. Конечно, они
— — — не будут использовать новые функции, ноесли раньше ваша программа
— — — была полезной, весьма вероятно, что будетиспользоваться и далее.

— — — — — Предположим теперь, что фирма IBM решиламодифицировать плату
— — — контроллера дисковода. Это могло быпотребоваться по разным
— — — причинам. Или фирма захотела уменьшитьстоимость изготовления
— — — платы, или расширить возможности платыконтроллера. В любом случае
— — — программный интерфейс с платой, который мырассматривали в
— — — предыдущей главе, может оказаться другим.Но ПЗУ с BIOS, которое
— — — фирма IBM будет поставлять с таким новымконтроллером, будет иметь
— — — тот же самый интерфейс. Это означает, чтовызывающая
— — — последовательность и передача параметровчерез интерфейс останутся
— — — теми же. Если вы написали программу,использующую дискеты, и
— — — обращаетесь к BIOS при всех видах доступак дискете, ваша программа
— — — будет выполняться правильно. Если же вынаписали эту программу так,
— — — что она непосред
ственно работает сконтроллером дисковода, скорее
— — — всего, она не будет работать с новымконтроллером.

— — — — — BIOS состоит из нескольких различныхчастей. Первая часть —
— — — процедура самопроверки при включениипитания POST. Эта программа
— — — выполняется всякий раз, когда включаетсяпитание, или когда
— — — делается системный сброс (одновременноенажатие клавиш
— — — CTL-ALT-DEL). Программа POST проверяет аппаратурусистемы и
— — — инициализирует для нормальной работынекоторые узлы.

— — — — — BIOS также содержит драйверы устройств.Эти программы управляют
— — — работой устройств. Фирма IBM поставляетпрограммы управления для
— — — всех часто используемых устройств. Новообще для всех устройств
— — — фирмы IBM драйверы не поставляются. Крометого, не все желательные
— — — функции доступны. Просто в ПЗУ нет места,чтобы реализовать все
— — — нужные вам функции.

— — — — — И наконец, BIOS содержит ряд программсистемного сервиса. Эти
— — — программы непосредственно не управляют ниодним устройством, но они
— — — многое делают для работы системы.

— — — — — Эта глава описывает различные компонентыBIOS. Мы начнем с
— — — программы POST, поскольку она — первая влистинге ассемблера и
— — — первой выполняется при включении питания.Программы системного
— — — сервиса все связаны с системной платой, ипоэтому они будут
— — — рассматриваться далее. И в конце мырассмотрим, как фирма IBM
— — — обеспечивает работу различных функцийввода-вывода системы.

Категория: Программирование на Ассемблере | Дата: 06.03.13

Меню раздела
Блок