Подсистема прерываний


Контроллеры внешних устройств

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

 

2) На рис.1 контроллер обслуживает одно устройство, но, в общем случае, возможно что иные контроллеры - будут обслуживать каждый по несколько устройств.

 

 

3) На контроллерах расположены "внешние регистры" (ВР). Это такие же ячейки для размещения данных как и универсальные регистры, специальные регистры, ячейки ОЗУ… также для адресации к этим регистрам - используются "адреса регистров"… Но только: эти регистры – размещены на контроллерах внешних устройств, и используются - в процессах ввода/вывода данных.

 

4) Имеется два типа внешних регистров, отличающихся по назначению:

а) внешние регистры управления

б) внешние регистры данных

 

5) Внешние регистры управления используются, например, для передачи команд на управление внешними устройствами. Программист записывает в эти регистры - определенные комбинации бит, каждый из которых - означает какую-либо команду, отдаваемую контроллеру или внешнему устройству.

 

6) Внешние регистры данных используются для "буферизации" данных при выполнении операций ввода/вывода. При вводе данных, вводимые данные сначала попадают в "внешние регистры данных" , и лишь затем программа считывает данные с внешних регистров данных и переписывает их в другие ячейки памяти – на длительное (постоянное) хранение. Если данные выводятся: сначала программист записывает выводимые данные во внешние регистры данных, и лишь затем (записав требуемую команду во внешний регистр управления) - выдаёт этим команду контроллеру внешнего устройства организовать передачу данных на внешнее устройство.

 

 

1) Задача подсистемы прерываний – обеспечить реакцию ЭВМ на "внешние события".

 

2) Внешние события – так называют любые события, происходящие на внешних устройствах (скажем, для примера – нажатие клавиши на клавиатуре).

 

3) Детали работы подсистемы прерываний будут разобраны позднее. Сейчас важно только понять только в общих чертах - в чём состоит "реакция ЭВМ" на "внешнее событие". Реакция - состоит в следующем:

- приостановка выполнения текущей программы

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

 

4) Так как внешних событий может быть много - и программ обработки внешних событий приходиться писать много – по программе на каждое внешнее событие. Каждая такая программа описывает алгоритмы, которые должны быть выполнены по факту возникновения того или иного внешнего события.