Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Эвм.doc
Скачиваний:
50
Добавлен:
02.12.2018
Размер:
2.13 Mб
Скачать

Выполнение операции «чтение»

По СБ с РВУ на РДК считывается очередной байт информации. По формуле (1) корректируются параметры канала.

Если СБ и Дл массива не равны нулю, то переходим к третьему этапу.

Если СБ = 0, а Дл массива ≠ 0, то это означает, что СБ заполнен полностью и по адресу с РКК производиться запись в память с РДК. Далее третий этап.

Если Дл массива =0, то РДК записывается в память и анализируется поле признаков (см. выполнение операции «запись»).

В мультиплексном канале существует 3 различных регистра для хранения адреса.

  1. РА – хранит адрес памяти подканала.

  2. РАКК – хранит адрес следующего управляющего слова.

  3. Адр в РКК – хранит адрес массива, который считывается или записывается в ОП.

Магистральный ввод/вывод

Через общую шину могут обслуживаться одновременно только 2 устройства. Поэтому, в отличие от предыдущего случая, параллельное совмещение по времени выполнения программы в ЦП и ввод/вывод невозможно.

В каждый момент времени одно устройство является ведущим, а остальные являются ведомыми, за исключением ОП, которая всегда ведомая.

В общей шине выделяют 4 группы шин:

  1. Шины данных

  2. Шины управления

  3. Адресные шины

  4. Шины арбитража

Шины данных:

По шинам данных в параллельном коде данные пересылаются между ведущим и ведомым устройствами.

Шины управления предназначены для передачи управляющих сигналов.

Адресные шины:

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

Шины арбитража(шина запроса на прерывание):

См. стековый механизм прерывания.

ВУ, готовое к приему или передаче 1-2 байт информации, выставляет сигнал прерывания на шину запроса. Запрос обрабатывается и в качестве программы обработки прерывания будет выступать программа в/в, под управлением которой 1-2 байта информации будут передаваться между двумя устройствами. Такой программно управляемый в/в характерен для медленных устройств. Для быстродействующих систем используют прямой доступ к памяти. Быстродействующие устройства подключаются к специальной шине запроса на прерывание, которая имеет наивысший приоритет. При поступлении запроса на шину прямого доступа к памяти общая шина освобождается для в/в. Однако программа, обрабатываемая в ЦП, с обработки не снимается, т.е. стековый механизм реализации прерывания в этом случае не работает.

Программно-управляемый ввод/вывод(для медленных ВУ)

ЦП

ЗПn

: ЗП1

:

РПn

ВУ

ВУ

РП1

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

В стэк записываются основные параметры прерванной программы(вектор состояния). По адресу вектора прерывания, который выдаёт ВУ, выбираются основные параметры прерывания во вводу/выводу(адрес 1-ой выполняемой команды, порог прерывания) и помещаются на регистры ЦП. В ЦП начинает выполняться программа прерывания по вводу/выводу. Под управлением этой программы происходит ввод/вывод 1-2 байта информации (обмен между ВУ и ОП или ЦП). После этого программа обработки прерываний завершает свою работу. Из стэка восстанавливаются основные параметры прерванной программы(вектор состояний), и она продолжает выполняться далее. Когда ВУ вновь будет готово принять или передать 1-2 байта информации , то оно вновь выставляет запрос на прерывание и т.д.

Параллельно ввод/вывод и обработка программы в ЦП выполняться не могут.

Прямой доступ к памяти(для быстродействующих ВУ)

Программа в ЦП не прерывается(стэковый механизм прерывания не задействуется). Непосредственно ввод/вывод осуществляется под управлением контроллера по вводу/выводу. При этом ВУ подаёт запрос на специальную шину: запрос прямого доступа к памяти. Эта линия всегда имеет самый высокий приоритет. В контроллере есть регистр адреса начала массива , регистр длины массива. Как только длина массива = 0 передача заканчивается.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]