Работа с дискамиРефераты >> Кибернетика >> Работа с дисками
- Чтение состояния прерывания
|
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
- Определение параметров
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
1 |
- Чтение состояния накопителя
|
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
HDS |
DS1 |
DS0 |
- Поиск
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
|
0 |
0 |
0 |
0 |
0 |
HDS |
DS1 |
DS0 |
Первые несколько команд имеют одинаковый формат параметров и одинаковые байты результата.
Приведем байты параметров, которые должны следовать за командами и байты результата, которые процессор должен считать после выполнения команды.
|
Команда |
Байты параметров |
Байты результата |
|
Чтение данных Чтение удаленных данных Запись данных Запись удаленных данных Чтение данных с дорожки Сканирование до "равно" Сканирование до "меньше" или "равно" Сканирование до "больше" или "равно" |
C, H, R, N, EOT,EOT, GPL, DTL |
ST0, ST1, ST2,C, H, R, N |
|
Форматирование дорожки |
N, SC, GPL, D |
ST0, ST1, ST2,C, H, R, N |
|
Чтение индексных данных |
Отсутствуют |
ST0, ST1, ST2,C, H, R, N |
|
Инициализация |
Отсутствуют |
Отсутствуют |
|
Чтение состояния прерывания |
Отсутствуют |
ST0, PCN |
|
Определить параметры |
1 байт: мл. тетрада - HUT ст. тетрада - SRT 2 байт: бит 0 - ND биты 1-7 - HLT |
Отсутствуют |
|
Чтение состояния накопителя |
Отсутствуют |
ST3 |
|
Поиск |
C |
Отсутствуют |
После выполнения команды центральный процессор должен получить от контроллера байты результата. Среди них - содержимое внутренних регистров состояния контроллера ST0, ST1, ST2, ST3. Опишем назначение отдельных бит этих регистров.
Формат регистра ST0:
|
Биты |
Название |
Назначение |
|
1, 0 |
US1, US2 |
Код НГМД |
|
2 |
HD |
Номер головки |
|
3 |
NC |
Устанавливается, если НГМД не готов выполнить команду чтения или записи |
|
4 |
EC |
Сбой оборудования |
|
5 |
SE |
Завершена команда "Поиск" |
|
7, 6 |
I, C |
Код прерывания: 00 - нормальное завершение; 01 - аварийное завершение; 10 - неправильная команда; 11 - нет готовности НГМД |
Формат регистра ST1:
|
Биты |
Название |
Назначение |
|
0 |
MA |
Пропуск адресной метки. Этот бит устанавливается в 1, если контроллер не может найти адресную метку |
|
1 |
NN |
Защита записи. Устанавливается, если при выполнении операции контроллер получает от НГМД сигнал защиты записи |
|
2 |
ND |
Сектор не найден |
|
3 |
- |
Зарезервировано |
|
4 |
OR |
Переполнение. Процессор не успевает выполнять обмен данными с контроллером |
|
5 |
DE |
Ошибка в данных при проверке контрольной суммы |
|
6 |
- |
Зарезервировано |
|
7 |
EN |
Несуществующий сектор, устанавливается, когда контроллер пытается прочесть сектор со слишком большим адресом |
