Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
16-30.docx
Скачиваний:
3
Добавлен:
02.08.2019
Размер:
62.6 Кб
Скачать

23. Модули ввода/вывода

Функции модуля

Модуль ввода/вывода в составе вычислительной машины отвечает за управление одним или несколькими ВУ и за обмен данными между этими устройствами с одной

стороны, и основной памятью или регистрами ЦП - с другой. Основные функции

МВБ можно сформулировать следующим образом:

- локализация данных;

- управление и синхронизация;

- обмен информацией;

- буферизация данных;

- обнаружение ошибок.

Структура модуля

Структура МВВ в значительной мере зависит от числа и сложности внешних устройств,

которыми он управляет, однако в самом общем виде такой модуль можно представить в форме, показанной на рис. 8,5.

Связь модуля ввода/вывода с ядром ВМ осуществляется посредством системной

или специализированной шины. С этой стороны в МВВ реализуется так называемый

"большой" интерфейс. Большие различия в архитектуре систем команд и шин ВМ являются причиной того, что со стороны "большого" интерфейса модули

ввода/вывода достаточно трудно унифицировать, и часто МВВ, созданные для одних ВМ, не могут быть использованы в других. Тем не менее в структурном плане

они достаточно схожи.

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

устройств. Разрядность регистра, как правило, совпадает с шириной шины данных со стороны «большого» интерфейса (2, 4 или 8 байт). В свою очередь, большинство ВУ ориентировано на побайтовый обмен информацией. Побайтовая пересылка информации по «широкой» системной шине - крайне неэффективное решение, поэтому со стороны «малого» интерфейса регистр данных часто дополняют

узлом упаковки/распаковки (на схеме не показан). Этот узел при вводе обеспечивает

последовательное побайтовое заполнение регистра данных (упаковку), а при выводе — последовательную побайтовую выдачу содержимого регистра на ВУ (распаковку). В результате при обмене данными через «большой» интерфейс занята вся ширина шины данных. В МВБ, рассчитанных на работу с большим числом

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

24.

В ЭВМ находят применение три способа организации ввода/вывода (В/ВЫВ):

1) программно управляемый ввод/вывод;

2) ввод/вывод по прерываниям;

3) прямой доступ к памяти.

Программно управляемый ввод/вывод

В этом способе ввод/вывод происходит под полным контролем центрального процессора и выполняется для ввода по следующему алгоритму, реализуемому программно:

Для каждого читаемого слова ЦП должен оставаться в цикле проверки, пока не определит, что слово находится в регистре данных модулей ввода/вывода, то есть доступно для считывания.

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

Достоинства:

1) простота модулей ввода/вывода, поскольку основные функции по управлению берет на себя процессор;

2) при одновременной работе с несколькими ВУ приоритет устройств легко изменить программными средствами (последовательностью опроса);

3) подключение к системе ввода/вывода новых внешних устройств или отключение ранее подключенных также реализуется без особых сложностей.

Ввод/вывод по прерываниям

Этот способ является альтернативой предыдущему. Здесь ЦП выдает команду В/ВЫВ, а затем продолжает делать другую полезную работу. Когда внешн.устр. готово к обмену данными, оно через модуль ВВ извещает об этом процессор с помощью запроса на прерывание. ЦП закончив выполнение текущей, считанной из памяти команды, определяет адрес внешн устр, выставившего запрос на прерывание, гасит этот запрос сигналом подтверждения прерывания, сохраняет в стеке содержимое своих основных регистров, соответствующее текущему состоянию программы, и передает управление подпрограмме обработки прерывания данного внешн устр. Эта подпрограмма выполняет обмен словом между внешн устр и памятью и выдает модулю ВВ команду на обмен следующим словом, если это требуется. По завершению подпрограммы ЦП восстанавливает контекст прерванной программы из стека и возобновляет ее выполнение.

Предыдущие способы страдают двумя недостатками:

1) скорость обмена ограничена скоростью, с которой ЦП в состоянии опросить и обслужить ВУ;

2) обмен между ВУ и ОП идет через ЦП.

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

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