Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
рыбак.docx
Скачиваний:
43
Добавлен:
21.09.2019
Размер:
2.35 Mб
Скачать

2.5.6. Устройства с блочной передачей данных.

Блочная передача данных – режим, позволяющий передавать несколько команд чтения/записи за одно прерывание.

К блочным относятся такие устройства, которые хранят информацию в блоках фиксированной длины, у каждого из которых есть свой собственный адрес. Обычно размеры блоков варьируются от 512 до 32 768 байт. Вся передача данных ведется пакетами из одного или нескольких целых (последовательных) блоков. Важным свойством блочного устройства является то, что оно способно читать или записывать каждый блок независимо от всех других блоков. Среди блочных устройств встречаются устройства чтения с магнитной ленты, жесткие диски, приводы компакт-дисков и флэш-накопители USB.

Обычно все дисковые устройства организованы на основе плоских магнитных поверхностей, называемых тарелками (platters). Поверхность делится на концентрические кольца, называемые дорожками, каждая из которых подразделяется на секторы. Сектор — наименьшая адресуемая единица, обычно он способен хранить значительное число машинных слов.

С целью адресации пространства, поверхности пластин диска делятся на дорожки — концентрические кольцевые области. Каждая дорожка делится на равные отрезки — секторы. Адресация CHS (Cylinder, Head, Sector - Сектор на жёстком диске адресуется кортежем из трёх чисел: цилиндр-головка-сектор, именно так, как этот блок физически расположен на диске) предполагает, что все дорожки в заданной зоне диска имеют одинаковое число секторов.

Цилиндр — совокупность дорожек, равноотстоящих от центра, на всех рабочих поверхностях пластин жёсткого диска. Номер головки задает используемую рабочую поверхность (то есть конкретную дорожку из цилиндра), а номер сектора — конкретный сектор на дорожке.

2.5.7. Прямой доступ к памяти и его использование для ввода-вывода.

2.6. Синхронные прерывания (исключительные ситуации) и их обработка.

Прерывание — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.

Синхронные или внутренние прерывания — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль или переполнение, обращение к недопустимым адресам или недопустимый код операции;

Внутренние прерывания вызываются событиями, которые связаны с работой процессора и являются синхронными с его операциями, а именно прерывание происходит, когда:

- при нарушении адресации (в адресной части выполняемой команды указан запрещенный или несуществующий адрес, обращение к отсутствующему сегменту или странице при организации механизмов виртуальной памяти);

- при наличии в поле кода не задействованной двоичной комбинации.

- при делении на нуль.

- при переполнении или исчезновении порядка.

- при обнаружении ошибок четности, ошибок в работе различных устройств аппаратуры средствами контроля.

Механизм обработки прерываний

При обработке каждого прерывания должна выполняться следующая последовательность действий:

- Восприятие запроса на прерывание: прием сигнала и идентификация прерывания.

- Запоминание состояния прерванного процесса: определяется значением счетчика команд (адресом следующей команды) и содержимым регистров процессора.

- Передача управления прерывающей программе (в счетчик команд заносится начальный адрес подпрограммы обработки прерываний, а в соответствующие регистры – информация из слова состояния процессора). Обработка прерывания.

- Восстановление прерванного процесса и возврат в прерванную программу.

Главные функции механизма прерывания:

  • распознавание или классификация прерываний.

  • передача управления соответственно обработчику прерываний.

  • корректное возвращение к прерванной программе (перед передачей управления обработчику прерываний содержимое регистров процессора запоминается либо в памяти с прямым доступом либо в системном стеке).