Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Традиционный сервис BIOS






Традиционный дисковый сервис работает в 16-разрядном режиме процессора, все параметры вызова передаются через регистры процессора. Адрес сектора задается в системе CHS и размещен весьма специфично. Сервис вызывается программным прерыванием Int 13h, при вызове принимаются следующие соглашения:

номер функции задается в регистре АН и не должен превышать 3Fh;

логический номер диска задается в регистре DL (бит 7 = 0 — признак обращения к НГМД);

номер цилиндра (О-1023) задается в регистре СН (младшие8бит)иСЦ7: 6] (стар­
шие 2 бита);

номер головки (0-255) задается в регистре DH;

номер начального сектора (1-63) задается в регистре CL [ 5: 0];

количество секторов, участвующих в операции, 8 бит — в регистре AL (0-255);

♦ указатель на начало буфера оперативной памяти для считываемых и записы­
ваемых данных (address of buffer) — в регистрах Е S: ВХ;

результат выполнения операции определяется по флагу переноса: С F = 0 —успешное выполнение операции, CF = 1 — обнаружены ошибки (код состояния возвращается в регистре АН, код завершения последней операции с дискетами хранится по адресу 40: 4lh, с жесткими дисками — 40: 74h);

таблица параметров диска для дискет (DPT) задана указателем в памяти по
адресу 0: 78h, для жестких дисков (HDPT) — 0: 104h или 0: 118h.



Глава 12. Архитектурные компоненты IBM PC-совместимого компьютера


Список функций традиционного сервиса приведен в табл. 12.7, подробнее они описаны в [4, 9]. Устройства могут не поддерживать некоторые функции, о чем драйверы должны «честно сообщить» кодом возврата Olh.

Таблица 12.7. Функции традиционного дискового сервиса



12.8. Сервисы и прерывания BIOS

1 Только для фиксированных дисков.

2 Только для дискет и других сменных носителей.

3 Назначение отличается от обычного.

Формально традиционный сервис позволяет работать с дисками, имеющими до 1024 х 256 х 63 = 16 515 072 секторов (около 8, 4 Гбайт). Ряд операционных сис­тем имеет ошибку, не позволяющую использовать полный объем, допустимый дан­ным сервисом. Для дисков объемом более 15 481 935 секторов следует пользо­ваться только функциями расширенного сервиса (см. ниже). Однако при работе с устройствами АТА имеется еще и барьер в 528 Мбайт. Дело в том, что контрол­лер жесткого диска АТА, на который ориентированы драйверы Int 13h, имеет только 4-битный регистр номера головки (а в BIOS — 6 бит). Правда, этот же кон­троллер способен принимать 16-битный номер цилиндра (в BIOS — 10 бит). По­нятно, что непосредственно без искажений через эти два фильтра (формат вызова и формат регистров контроллера) может пройти только вызов с самыми жестки­ми ограничениями по каждой координате. Тогда ограничение, полученное тем же перемножением диапазонов координат, получается около 528 миллионов байт:


(210 = 1024 цилиндра) х (24 - 528 482 304 байт.


16 головок) х (26 - 1 = 63 сектора) х 512 байт =


Для преодоления 528-мегабайтного барьера дисков АТА, не трогая программного интерфейса, в BIOS ввели расширение традиционного дискового сервиса. Интер-


490______ Глава 12. Архитектурные компоненты IBM PC-совместимого компьютера

фейс АТА в трехмерной геометрии позволяет реализовать довольно большой (но уже не запредельный) объем диска:

(216 = 65 536 цилиндров) х (24 = 16 головок) х (28 - 1 = 255 сектора) х 512 байт = - 136, 9 Гбайт.

Чтобы достичь хотя бы интерфейсного ограничения BIOS (8, 4 Гбайт), стали при­менять трансляцию параметров вызова функций Int 13h, которые будем теперь называть логическими, в физические* параметры, передаваемые контроллерам АТА-дисков. В функции, которая сообщает параметры диска (функция 8), производит­ся обратная трансляция, так что на стороне вызова программного интерфейса Int 13h присутствуют только логические параметры. Естественно, логический объем диска не может превышать физического: (С х Н х S )ЛОГ ≤ (С х Н х 8)ФИЗ-

Подробнее о преодолении барьеров и способах трансляции (LBA, Large Disk, ЕСН5)см.в[1, 4, 9]


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал