3 8 8 Глава 8. Системы ввода/вывода
Рис. 8 .1 . Место системы ввода/вывода в архитектуре вычислительной машины ^ — раздель­ными шинами памяти и ввода/вывода; б — с совместно используемыми линиями данных и адреса; в — подключение на общих правахс процессором и памятью
Второй вариант — с совместно используемыми линиями данных и адреса (см. рис. 8.1, б). Память и СВВ имеют общие для них линии адреса и линии данных, разделяя их во времени. В то же время управление памятью и СВВ, а также синх­ронизация их взаимодействия с процессором осуществляются независимо по раз­дельным линиям управления. Это позволяет учесть особенности процедур обра­щения к памяти и к модулям ввода/вывода и добиться наибольшей эффективности доступа к ячейкам памяти и внешним устройствам.
Последний тип архитектуры ВМ предполагает подключение СВВ к системной шине на общих правах с процессором и памятью (см. рис. 8,1, в). Преимущества и недостатки такого подхода обсуждались при рассмотрении вопросов организации шин (глава 4). Потенциально возможен также вариант подключения внешних устройств к системной шине напрямую, без использования МВВ, но против него можно выдви­нуть сразу несколько аргументов. Во-первых, в этом случае ЦП пришлось бы осна­щать универсальными схемами для управления любым ВУ. При большом разнооб­разии внешних устройств, имеющих к тому же различные принципы действия, такие схемы оказываются чересчур сложными и избыточными. Во-вторых, пересылка дан­ных при вводе и выводе происходит значительно медленнее, чем при обмене между ЦП и памятью, и было бы невыгодно задействовать для обмена информацией с ВУ высокоскоростную системную шину. И, наконец, в ВУ часто используются иные форматы данных и длина слова, чем в ВМ, к которым они подключены.
Адресное пространство системы ввода/вывода
Как и обращение к памяти, операции ввода/вывода также предполагают наличие некоторой системы адресации, позволяющей выбрать один из модулей СВВ, атакже одно из подключенных к нему внешних устройств. Адрес модуля и ВУ является
Адресное пространство системы ввода/вывода 3 8 9
составной частью соответствующей команды, в то время как расположение дан­ных на внешнем устройстве определяется пересылаемой на ВУ информацией.
Адресное пространство ввода/вывода может быть совмещено с адресным про­странством памяти или быть выделенным.
Присовжег^еиммафесиогой/?ост/?аиствадляадресациимодулейввода/выво-да отводится определенная область адресов (рис. 8.2). Обычно все операции с моду­лем ввода/вывода осуществляются с использованием входящих в него внутренних регистров: управления, состояния, данных. Фактически процедура ввода/вывода сводится к записи информации в одни регистры МВБ и считыванию ее из других регистров. Это позволяет рассматривать регистры МВБ как ячейки основной па­мяти и работать с ними с помощью обычных команд обращения к памяти, при этом в системе команд ВМ вообще могут отсутствовать специальные команды ввода в вывода. Так, модификацию регистров МВБ можно производить непосредствен­но с помощью арифметических и логических команд. Адреса регистрам МВБ на­значаются в области адресного пространства памяти, отведенной под систему вво­да/вывода.
Рис. 8.2. Распределение совмещенного адресного пространства
Такой подход представляется вполне оправданным, если учесть, что ввод/вы­вод обычно составляет малую часть всех операций, выполняемых вычислитель­ной машиной, чаще всего не более 1% от общего числа команд в программе.
Реализация концепции совмещенного адресного пространства в ВМ с кэш-па­мятью и виртуальной адресацией сопряжена с определенными проблемами. В част­ности, усложняется отображение виртуального адреса устройства ввода/вывода на физическое ВУ. Сложности также возникают и с кэшированием регистров МВБ.
Сформулируем преимущества и недостатки совмещенного адресного простран­ства.
Достоинства совмещенного адресного пространства:
-  расширение набора команд для обращения к внешним устройствам, что позво-
ляет сократить длину программы и повысить быстродействие;
-  значительное увеличение количества подключаемых внешних устройств;
-  возможность внепроцессорного обмена данными между внешними устройства-
ми, если в системе команд есть команды пересылки между ячейками памяти;
-возможность обмена информацией не только с аккумулятором, но и с любым регистром центрального процессора.
3 9 0 Глава 8. Системы ввода/вывода
Недостатки совмещенного адресного пространства:
-  сокращение области адресного пространства памяти;
-  усложнение декодирующих схем адресов в СВВ;
-  трудности распознавания операций передачи информации при вводе/выводе
среди других операций. Сложности в чтении и отладке программы, в которой простые команды вызывают выполнение сложных операций ввода/вывода;
-  трудности при построении СВВ на простых модулях ввода/вывода: сигналы
управления не смогут координировать сложную процедуру ввода/вывода. По­этому МВБ часто должны генерировать дополнительные сигналы под управ­лением программы.
Совмещенное адресное пространство используется в вьгаислительных маши­нах MIPS и SPARC.
В случае выделенного адресного пространства для обращения к модулям вво­да/вывода применяются специальные команды и отдельная система адресов. Это позволяет разделить шины для работы с памятью и шины ввода/вывода, что дает возможность совмещать во времени обмен с памятью и ввод/вывод. Кроме того, адресное пространство памяти может бьпь использовано по прямому назначению в полном объеме. В вьгаислительных машинах фирмы IBM и микроЭВМ на базе процессоров фирмы Intel система ввода/вывода, как правило, организуется в со-
Достоинства выделенного адресного пространства:
-  адрес внешнего устройства в команде ввода/вывода может быть коротким.
В большинстве СВВ количество внешних устройств намного меньше количе­ства ячеек памяти. Короткий адрес ВУ подразумевает такие же короткие ко­манды ввода/вывода и простые дешифраторы;
-  программы становятся более наглядными, так как операции ввода/вывода вы-
полняются с помощью специальных команд;
-  разработка СВВ может проводиться отдельно от разработки памяти.
Недостатки выделенного адресного пространства:
-  ввод/вывод производится только через аккумулятор центрального процессо-
Для передачи информации от ВУ в РОН, если аккумулятор занят, требует­ся выполнение четырех команд (сохранение содержимого аккумулятора, ввод из ВУ, пересылка из аккумулятора в РОН, восстановление содержимого акку­мулятора); -перед обработкой содержимого ВУ это содержимое нужно переслать в ЦП.
Внешние устройства
Связь ВМ с внешним миром осуществляется с помощью самых разнообразных внешних устройств. Каждое ВУ подключается к МВБ посредством индивидуаль­ной шины. Интерфейс, по которому организуется такое взаимодействие МВБ и ВУ, часто называют мал ым. Индивидуальная шина обеспечивает обмен данными и уп-
Hosted by uCoz