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

9.5 Обработка условного ввода / вывода (в/в)

1. Формирование адреса операнда производится в зависимости от типа адресации. При прямой адресации адрес операнда содержится в соответствующем регистре в виде указателя на область памяти. При относительной адресации адрес формируется путем суммирования значений базового адреса и смещения относительно него.

2. Если осуществляется чтение из устройства, то на шине данных выставляется адрес внешнего устройства, считывается состояние устройства и проверяется его готовность к передаче информации. При подтверждении готовности ВУ к передаче данных, осуществляется их выдача на системную шину. А затем данные с шины записываются в указанный регистр центрального процессора. По окончании строба чтения сигнал готовности снимается.

3. Если осуществляется запись в устройство, то на шине данных выставляется адрес внешнего устройства, считывается состояние устройства и проверяется его готовность к передаче информации. При подтверждении готовности ВУ к приему данных, осуществляется их выдача на системную шину из указанного регистра центрального процессора. По окончании строба записи сигнал готовности снимается.

9.6 Обработка безусловных переходов (б/п)

1. Формирование адреса операнда производится в зависимости от типа адресации. При прямой адресации адрес операнда содержится в соответствующем регистре в виде указателя на область памяти. При относительной адресации адрес формируется путем суммирования значений базового адреса и смещения относительно него.

2. Реализуется безусловный переход – счетчику команд присваивается значение сформированного адреса.

3. Новый командный цикл изменит последовательный ход программы.

9.7 Обработка условных переходов (у/п)

1. Формирование адреса операнда производится в зависимости от типа адресации. При прямой адресации адрес операнда содержится в соответствующем регистре в виде указателя на область памяти. При относительной адресации адрес формируется путем суммирования значений базового адреса и смещения относительно него.

2. В зависимости от кода операции, признак нулевого результата проверяется на соответствие с нулем или единицей.

3. Если проверка показала совпадение, реализуется переход – счетчику команд присваивается значение сформированного адреса. Новый командный цикл изменит последовательный ход программы.

9.8 Обработка прерываний

1. Контроллер прерывания устанавливает линию прерывания INT на системной шине.

2. Когда центральный процессор готов к обработке прерывания он устанавливает символ подтверждения прерывания на шине INTA для внешнего устройства. Считывается вектор прерывания по соответствующему адресу таблицы прерываний.

3. Центральный процессор удаляет вектор прерывания с шины

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

5. Определяется местонахождение нового счетчика команд, используя вектор прерывания в качестве индекса в таблице памяти. Новый счетчик команд указывает на начало программы обслуживания прерываний для устройства, вызвавшего прерывание.

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