Иллюстрированный самоучитель по теории операционных систем

Запоминающие устройства прямого доступа

Контроллер гибких дисков ДВК

В качестве простейшего дискового контроллера рассмотрим микросхему К1801ВП1-097 [МикроЭВМ 1988] (Эта микросхема является советским функциональным аналогом микросхемы контроллера гибких магнитных дисков, разработанной фирмой DEC для использования в мини – и микрокомпьютерах семейства PDP-11. К сожалению, автору не удалось найти маркировку оригинальной микросхемы и ссылку на документацию о ней).

Микросхема допускает подключение четырех приводов 5-дюймовых гибких дисков и содержит в себе порты управления основным и шаговым электродвигателями привода, сдвиговый регистр, модулятор и демодулятор МФМ, логику обнаружения маркеров, генератор циклической контрольной суммы и интерфейс системной шины Q-Bus. У микросхемы есть два 16-разрядных регистра, регистр управления и регистр данных. Описание битов регистра управления приведено в табл. 9.6.

Таблица 9.6. Управляющий регистр К1801ВП1-097.

Бит Описание Комментарий
00 (W) Выбор накопителя 0  
00 (R) Дорожка 0 Головка чтения/записи установлена на дорожку 0
01 (W) Выбор накопителя 1  
01 (R) Накопитель готов  
02 (W) Выбор накопителя 2  
02 (R) Запись запрещена На дискете установлена защита записи
03 (W) Выбор накопителя 3  
04 Включение двигателя  
05 Поверхность Если 1, запись (чтение) происходите верхней поверхности диска
06 Направление шага При записи 1, направление к оси диска
07 (W) Шаг При записи 1 в этот бит, головка перемещается на один шаг и бит очищается
07 (R) Данные готовы Контроллер выставляет этот бит, когда считано или записано очередное слово данных. ЦПУ должно прочитать или записать следующее слово сектора
08 Частичный сброс  
09 Запись маркера  
10 Включение внешней схемы прекоррекции фазовых искажений  
14 Успех операции 0, если операция завершилась ошибкой
15 Начало дорожки  

Видно, что микросхема предусматривает работу с ней центрального процессора в режиме опроса. Более сложный контроллер КМД (Контроллер МиниДисков), основанный на этой микросхеме, содержит микропроцессор, ПЗУ с программой для него и 2Кб ОЗУ (которое может использоваться и для промеж, точных данных программы микропроцессора, и для хранения самих данных передаваемого блока) [МикроЭВМ 1988]. Работа с этим контроллером осуществляется посредством двух регистров, команды/состояния и данных.

Центральный процессор записывает в эти регистры команду (табл. 9.7) и адрес блока параметров в основном ОЗУ. Контроллер в режиме ПДП считывает блок параметров и пытается выполнить операцию, передавая данные, если это необходимо, также в режиме ПДП. Указатель на блок данных содержится в блоке параметров. Одной операцией можно прочитать или записать несколько последовательных секторов. После завершения передачи контроллер генерирует прерывание.

Таблица 9.7. Список команд контроллера КМД, цит. по [МикроЭВМ 1988].

Код Мнемоника Описание
0h RD Чтение
1h WR Запись
2h RDM Чтение с маркером
3h WRM Запись с маркером
4h RDTR Чтение дорожки
5h RDID Чтение заголовка
6h FORMAT Форматирование дорожки
7h SEEK Подача головки
8h SET Установка параметров
9h RDERR Чтение состояния и ошибок
Fh LOAD Загрузка
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.