|
|||
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 система ввода/вывода, как правило, организуется в со-
Достоинства выделенного адресного пространства:
- адрес внешнего устройства в команде ввода/вывода может быть коротким.
В большинстве СВВ количество внешних устройств намного меньше количества ячеек памяти. Короткий адрес ВУ подразумевает такие же короткие команды ввода/вывода и простые дешифраторы;
- программы становятся более наглядными, так как операции ввода/вывода вы-
полняются с помощью специальных команд;
- разработка СВВ может проводиться отдельно от разработки памяти.
Недостатки выделенного адресного пространства:
- ввод/вывод производится только через аккумулятор центрального процессо-
Для передачи информации от ВУ в РОН, если аккумулятор занят, требуется выполнение четырех команд (сохранение содержимого аккумулятора, ввод из ВУ, пересылка из аккумулятора в РОН, восстановление содержимого аккумулятора); -перед обработкой содержимого ВУ это содержимое нужно переслать в ЦП.
Внешние устройства
Связь ВМ с внешним миром осуществляется с помощью самых разнообразных внешних устройств. Каждое ВУ подключается к МВБ посредством индивидуальной шины. Интерфейс, по которому организуется такое взаимодействие МВБ и ВУ, часто называют мал ым. Индивидуальная шина обеспечивает обмен данными и уп-
|
||
|
||