Вопрос 21.Адресация пространства системы ввода/вывода.

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

Технически система ввода/вывода в рамках ВМ реализуется совокупностью моду­лей ввода/вывода (МВВ). Модуль ввода/вывода выполняет сопряжение ПУ с ядром вычислительной машины и различные коммуникационные операции между ними. Две основные функции МВВ:

- обеспечение интерфейса с ЦП и памятью («большой» интерфейс);

- обеспечение интерфейса с одним или несколькими периферийными устройства­ми («малый» интерфейс).

 
  Вопрос 21.Адресация пространства системы ввода/вывода. - student2.ru

Анализируя архитектуру известных ВМ, можно выделить три основных способа подключения СВВ к ядру вычислительной машины (рис. 6.1)

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

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

Третий тип архитектуры ВМ предполагает подключение СВВ к системной шине на общих правах с процессором и памятью (см. рис. 6.1, в). Преимущества и недостатки такого подхода обсуждались при рассмотрении вопросов организации шин. Потенциально возможен также вариант подключения периферийных устройств к системной шине напрямую, без использования МВВ, но против него можно вы­двинуть сразу несколько аргументов. Во-первых, в этом случае ЦП пришлось бы оснащать универсальными схемами для управления любым ПУ. При большом разнообразии периферийных устройств, имеющих к тому же различные принци­пы действия, такие схемы оказываются чересчур сложными и избыточными. Во- вторых, пересылка данных при вводе и выводе происходит значительно медлен­нее, чем при обмене между ЦП и памятью, и было бы невыгодно задействовать для обмена информацией с ПУ высокоскоростную системную шину. И наконец, в ПУ часто используются иные форматы данных и длина слова, чем в ВМ, к которым они подключены.

Адресное пространство ввода/вывода может быть совмещено с адресным простран­ством памяти или может быть выделенным.

При совмещении адресного пространства для адресации модулей ввода/вывода отводится определенная область адресов (рис. 6.2). Обычно все операции с моду­лем ввода/вывода осуществляются с использованием входящих в него внутренних регистров: управления, состояния, данных. Фактически процедура ввода/вывода сводится к записи информации в одни регистры МВВ и считыванию ее из других регистров. Это позволяет рассматривать регистры МВВ как ячейки основной па­мяти и работать с ними с помощью обычных команд обращения к памяти, при этом в системе команд ВМ вообще могут отсутствовать специальные команды ввода и вывода. Так, модификацию регистров МВВ можно производить непосредственно с помощью арифметических и логических команд. Адреса регистрам МВВ назна­чаются в области адресного пространства памяти, отведенной под систему ввода/ вывода.

Вопрос 21.Адресация пространства системы ввода/вывода. - student2.ru

Рис. 6.2. Распределение совмещенного адресного пространства

Такой подход представляется вполне оправданным, если учесть, что ввод/вывод обычно составляет малую часть всех операций, выполняемых вычислительной ма­шиной, чаще всего не более 1% от общего числа команд в программе.

К достоинствам совмещенного адресного пространства можно отнести:

■ унификацию операций обращения к памяти и периферийным устройствам;

■ возможность увеличения числа подключаемых периферийных устройств;

■ возможность внепроцессорного обмена данными между периферийными устрой­ствами, если в системе команд есть команды пересылки между ячейками памяти;

■ возможность обмена информацией не только с аккумулятором, но и с любым регистром центрального процессора.

Недостаткисовмещенного адресного пространства:

■ сокращение области адресного пространства памяти;

■ усложнение декодирующих схем адресов в СВВ;

■ трудности распознавания операций передачи информации при вводе/выводе среди других операций.

Совмещенное адресное пространство используется в вычислительных машинах MIPSи SPARC.

В случае выделенного адресного пространства для обращения к модулям ввода/ вывода применяются специальные команды и отдельная система адресов. Это по­зволяет разделить тракты для работы с памятью и тракты ввода/вывода, что дает возможность совмещать во времени обмен с памятью и ввод/вывод. Кроме того, адресное пространство памяти может быть использовано по прямому назначению в полном объеме. В вычислительных машинах фирмы IBMи ВМ на базе процессо­ров фирмы Intelсистема ввода/вывода, как правило, организуется в соответствии с концепцией выделенного адресного пространства.

Достоинства выделенного адресного пространства:

■ адрес периферийного устройства в команде ввода/вывода может быть коротким, благодаря чему сокращается длина таких команд и упрощаются схемы дешиф­рации адреса;

■ программы становятся более наглядными, так как операции ввода/вывода вы­полняются с помощью специальных команд;

■ разработка СВВ может проводиться отдельно от разработки памяти.

Недостатки выделенного адресного пространства:

■ ввод/вывод производится только через аккумулятор центрального процессора;

■ малая разрядность адреса периферийного устройства ограничивает число под­ключаемых ПУ.

Наши рекомендации