Процесс ввода-вывода. Прерывание. Особенности обработки прерываний. Арбитр шины.
Процесс ввода-вывода.
Компьютерная система состоит из трех основных компонентов: центрального процессора, памяти (основной и вспомогательной) и устройств ввода-вывода (принтеров, сканеров и модемов). До сих пор мы рассматривали центральный процессор и память. Теперь мы поговорим об устройствах ввода-вывода и о том, как они соединяются с остальными компонентами системы.
Прерывание
Прерывания — это изменения в потоке управления, вызванные не самой программой, а чем-либо другим. Обычно прерывания связаны с процессом ввода-вывода. Например, программа может дать команду диску начать передачу информации и инициировать прерывание, как только передача данных завершится. Как и в случае исключений, при прерываниях работа программы останавливается, и управление передается программе обработки прерываний (Interrupt Service Routine, ISR), или обработчику прерываний, который выполняет определенные действия. После завершения этих действий обработчик прерываний передает управление прерванной программе.
Особенности обработки прерываний
Для того чтобы система “не растерялась”, решая какое прерывание обслуживать в первую очередь, существует специальная схема приоритетов. Каждому прерыванию назначается свой приоритет. Если происходит одновременно несколько прерываний, система отдает предпочтение самому высокоприоритетному, откладывая на время обработку остальных прерываний.
Арбитр шины
В реальных системах на роль ведущего вправе одновременно претендовать сразу несколько из подключенных к шине устройств, однако управлять шиной в каж¬дый момент времени может только одно из них. Чтобы исключить конфликты, шина должна предусматривать определенные механизмы арбитража запросов и правила предоставления шины одному из запросивших устройств. Решение обыч¬но принимается на основе приоритетов претендентов.
Арбитр системной шины — часть схемы компьютера, выполняющая синхронизацию работы процессоров-задатчиков в мультипроцессорных системах