Программно-управляемый обмен данными в компьютере означает передачу информации с внешними устройствами с использованием команд процессора. dozen.mephi.ru Передача данных происходит через регистры процессора. dozen.mephi.ru
Процесс пересылки блока данных из периферийного устройства в оперативную память включает следующую последовательность шагов: intuit.ru
- Сформировать начальный адрес области обмена. intuit.ru
- Занести длину передаваемого массива данных в один из внутренних регистров, который будет играть роль счётчика. intuit.ru
- Выдать команду чтения информации из периферийного устройства. intuit.ru При этом на шину адреса из процессора выдаётся адрес периферийного устройства, на шину управления — сигнал чтения данных, а считанные данные заносятся во внутренний регистр процессора. intuit.ru
- Выдать команду записи информации в оперативную память. intuit.ru При этом на шину адреса из процессора выдаётся адрес ячейки оперативной памяти, на шину управления — сигнал записи данных, а на шину данных выставляются данные из регистра процессора, в который они были помещены при чтении из периферийного устройства. intuit.ru
- Модифицировать регистр, содержащий адрес оперативной памяти. intuit.ru
- Уменьшить счётчик длины массива на длину переданных данных. intuit.ru
- Если переданы не все данные, то повторить шаги 3–6, в противном случае закончить обмен. intuit.ru
Программно-управляемый обмен может инициироваться несколькими причинами: dozen.mephi.ru
- Процессором, точнее соответствующей командой в его программе. dozen.mephi.ru
- Запросом аппаратного прерывания. dozen.mephi.ru Аппаратные прерывания вызываются внешними устройствами и теми компонентами компьютера, которые требуют немедленной обработки своей информации и приходят асинхронно по отношению к исполняемой программе. dozen.mephi.ru
- Опросом готовности одного или нескольких внешних устройств (polling) по периодическим прерываниям, например, от системного таймера. dozen.mephi.ru Готовое устройство обслуживается, неготовое пропускается до следующего прерывания. dozen.mephi.ru