
- •17.Стековая память
- •18.Ассоциативная память
- •20. Способы отображения оперативной памяти на кэш-память
- •22. Системы ввода/вывода
- •23. Модули ввода/вывода
- •25. Параллелизм
- •26. Клавиатура
- •27. Монитор
- •28. Принтер
- •29. Сканер
- •30. Плоттер/Модем
- •Isdn — модемы для цифровых коммутируемых телефонных линий
23. Модули ввода/вывода
Функции модуля
Модуль ввода/вывода в составе вычислительной машины отвечает за управление одним или несколькими ВУ и за обмен данными между этими устройствами с одной
стороны, и основной памятью или регистрами ЦП - с другой. Основные функции
МВБ можно сформулировать следующим образом:
- локализация данных;
- управление и синхронизация;
- обмен информацией;
- буферизация данных;
- обнаружение ошибок.
Структура модуля
Структура МВВ в значительной мере зависит от числа и сложности внешних устройств,
которыми он управляет, однако в самом общем виде такой модуль можно представить в форме, показанной на рис. 8,5.
Связь модуля ввода/вывода с ядром ВМ осуществляется посредством системной
или специализированной шины. С этой стороны в МВВ реализуется так называемый
"большой" интерфейс. Большие различия в архитектуре систем команд и шин ВМ являются причиной того, что со стороны "большого" интерфейса модули
ввода/вывода достаточно трудно унифицировать, и часто МВВ, созданные для одних ВМ, не могут быть использованы в других. Тем не менее в структурном плане
они достаточно схожи.
Данные, передаваемые в модуль и из него, буферизируются в регистре данных. Буферизация позволяет компенсировать различие в быстродействии ядра ВМ и внешних
устройств. Разрядность регистра, как правило, совпадает с шириной шины данных со стороны «большого» интерфейса (2, 4 или 8 байт). В свою очередь, большинство ВУ ориентировано на побайтовый обмен информацией. Побайтовая пересылка информации по «широкой» системной шине - крайне неэффективное решение, поэтому со стороны «малого» интерфейса регистр данных часто дополняют
узлом упаковки/распаковки (на схеме не показан). Этот узел при вводе обеспечивает
последовательное побайтовое заполнение регистра данных (упаковку), а при выводе — последовательную побайтовую выдачу содержимого регистра на ВУ (распаковку). В результате при обмене данными через «большой» интерфейс занята вся ширина шины данных. В МВБ, рассчитанных на работу с большим числом
ВУ, могут входить несколько регистров данных, что позволяет независимо хранить текущие данные каждого из внешних устройств.
24.
В ЭВМ находят применение три способа организации ввода/вывода (В/ВЫВ):
1) программно управляемый ввод/вывод;
2) ввод/вывод по прерываниям;
3) прямой доступ к памяти.
Программно управляемый ввод/вывод
В этом способе ввод/вывод происходит под полным контролем центрального процессора и выполняется для ввода по следующему алгоритму, реализуемому программно:
Для каждого читаемого слова ЦП должен оставаться в цикле проверки, пока не определит, что слово находится в регистре данных модулей ввода/вывода, то есть доступно для считывания.
В этом и состоит основной недостаток способа, т.к. происходит неэффективное использование процессора из-за ожидания готовности очередной порции информации, в течение которого никаких иных полезных действий ЦП не выполняет.
Достоинства:
1) простота модулей ввода/вывода, поскольку основные функции по управлению берет на себя процессор;
2) при одновременной работе с несколькими ВУ приоритет устройств легко изменить программными средствами (последовательностью опроса);
3) подключение к системе ввода/вывода новых внешних устройств или отключение ранее подключенных также реализуется без особых сложностей.
Ввод/вывод по прерываниям
Этот способ является альтернативой предыдущему. Здесь ЦП выдает команду В/ВЫВ, а затем продолжает делать другую полезную работу. Когда внешн.устр. готово к обмену данными, оно через модуль ВВ извещает об этом процессор с помощью запроса на прерывание. ЦП закончив выполнение текущей, считанной из памяти команды, определяет адрес внешн устр, выставившего запрос на прерывание, гасит этот запрос сигналом подтверждения прерывания, сохраняет в стеке содержимое своих основных регистров, соответствующее текущему состоянию программы, и передает управление подпрограмме обработки прерывания данного внешн устр. Эта подпрограмма выполняет обмен словом между внешн устр и памятью и выдает модулю ВВ команду на обмен следующим словом, если это требуется. По завершению подпрограммы ЦП восстанавливает контекст прерванной программы из стека и возобновляет ее выполнение.
Предыдущие способы страдают двумя недостатками:
1) скорость обмена ограничена скоростью, с которой ЦП в состоянии опросить и обслужить ВУ;
2) обмен между ВУ и ОП идет через ЦП.
Когда пересылаются большие объемы данных и с большой скоростью, требуется более эффективный способ ввода/вывода — прямой доступ к памяти (ПДП). ПДП предполагает наличие на системной шине дополнительного модуля — контроллера прямого доступа к памяти (КПДП), способного брать на себя функции ЦП по управлению системной шиной и обеспечивать прямую пересылку информации между ОП и ВУ, без участия центрального процессора. В сущности, КПДП — это и есть модуль ввода/вывода, реализующий режим прямого доступа к памяти.