ОСНОВНЫЕ ТИПЫ СТРУКТУРЫ СВЯЗЕЙ

 Несмотря на большое разнообразие вычислительных сис­тем, существует только три основных типа связей между цент­ральной частью и каналами ввода-вывода. В структурах первого типа («канал - центральный процессор») каналы подключаются к центральному процессору (рис. 3.8), и информация из канала поступает в процессор (процессор фактически управляет обме­ном между памятью и каналами). В структурах второго типа («ка­нал — основная память») все данные передаются непосредствен­но на входы основной памяти, в которой они могут накапли­ваться для обработки процессором или для выборки на какое-либо устройство (рис. 3.9). В структурах третьего типа («канал -системный контроллер») предусматривается центральный узел коммутации: все передачи данных к периферийным устройст­вам, центральным процессорам и главной памяти, а также все передачи данных от них осуществляются через и под управле­нием системного контроллера (рис. 3.10).

 

 

Основная память

 

Системный

 

Центральный процессор

 

контр

оллер

 

Контроллер ввода-вывода

Контроллер ввода-вывода

Контроллер ввода-вывода

Периферийные устройства

Рис. 3.8. Структура межпроцессорной связи «Канал - центральный процессор»

В конкретных вычислительных системах устройства, име­ющие одинаковые функции, могут отличаться с точки зрения деталей их функционирования, а также в названиях. На рис. 3.8­3. 1 0 изображены основные типы структур без каких-либо их деталей. В большинстве традиционных систем, в особенности однопроцессорных, каналы ввода-вывода подключены непосредственно к центральному процессору, при этом основ­ная память часто конструктивно совмещается с процессором. На рисунке 3.8 представлена структура с непосредственнымподключением трех независимых каналов к центральному про­цессору, с которым конструктивно совмещена основная память. Основным достоинством такого типа структуры является то, что требуется наименьшее количество оборудования, и что стоимость оказывается также наименьшей. Системы со структурой «канал - центральный процессор» наиболее целесообразно применять в тех случаях, когда требования к ресурсам систем должны или могут быть определены заранее и когда они не меняются в дина­мике работы. Это определяется тем обстоятельством, что все функции по управлению сосредоточены в процессоре (данные поступают в основную память и из основной памяти под управ­лением программы, выполняемой центральным процессором). Основной областью применения систем, в которых каналы под­ключены к центральному процессору, является пакетная обра­ботка, которая в настоящее время занимает главное место при использовании вычислительных машин.

Основным недостатком структуры «канал - центральный процессор» является требование повышенной производитель­ности центрального процессора, которое вытекает из необходимости быстрой обработки случайного потока преры­ваний. Этот недостаток влечет несколько других недостатков. Имеет место жесткое ограничение на число подключаемых ка­налов с точки зрения их эффективного использования, особен­но при одновременной работе, так как при большом числе кана­лов процессор большую часть времени затрачивает на обслужи­вание прерываний, связанных с вводом и выводом. Кроме это­го, при обработке со сложным взаимодействием процессов и при работе систем с виртуальной памятью типичным является положение, когда возникает большое число непланируемых зап­росов на ввод-вывод. В этих условиях при использовании сис­тем с подключением каналов к центральному процессору необ­ходима такая операционная система, которая бы компенси-ро-вала недостатки структуры. Наконец, ограничение на число ка­налов приводит, естественно, к ограничению числа обслужива­емых периферийных устройств. Проблема ограничений на чис­ло каналов и на число периферийных устройств может быть решена во многих случаях путем введения подканалов или пу­тем совместного использования каналов. Для повышения ско-рости обработки и пропускной способности системы требуется более тщательное и квалифицированное программирование и обоснованное распределение приоритетов между периферий­ными устройствами.

Рассмотрим структуру типа «канал - основная память» (рис. 3.9). В этом случае имеется прямой независимый доступ к ос­новной памяти, которая реализуется конструктивно как от­дельное устройство в виде двух или более компонент вычисли­тельной системы. Запись данных в основную память и считыва­ние их из нее осуществляются, логически и физически, без не­посредственного вмешательства центрального процессора. Все основные части системы, осуществляющие обработку и пере­дачу информации (центральные процессоры, процессоры вво­да-вывода и контроллеры ввода-вывода), представляют собой устройства, подключенные к соответствующим входам модулей основной памяти. Они работают независимо друг от друга. Эти устройства, с одной стороны, имеют дело с отдельными входа­ми основной памяти, а с другой стороны, - с периферийными устройствами.

Модуль основной

 

Модуль основной

памяти

 

памяти

Центральный процессор

Процессор ввода-вывода

 

Процессор ввода-вывода

1

1

Конт роллер ввода-вывода

 

Контроллер ввода-вывода

 

 

Периферийные устройства

Рис. 3.9. Структура связи «Канал основная память»

Главным достоинством данной структуры является одновре­менность операций ввода-вывода и вычислений благодаря неза­висимому доступу к основной памяти. Разделение ввода-выво­да и вычислений позволяет не только увеличить число каналов, с которыми может работать система, но и разгружает централь­ный процессор от большого числа прерываний. Вследствие та­кой независимости операций ввода-вывода и вычислений рас­сматриваемая структура наилучшим образом отвечает требова­ниям обработки со сложным взаимодействием процессов.

Системы со структурой «канал - основная память» облада­ют гораздо боль-шей гибкостью по сравнению с системами со структурой «канал - центральный процессор». Наращивание первых для уве-личения их мощ-ности достигается простым до­бавлением ком-понентов систем, при этом отпадает необходи­мость в сложных завязках. Напри-мер, для увеличения вычисли­тельной мощности обычно добавляется центральный процес­сор, который подключается к одному из входов основной памя­ти. В таких случаях ограничения могут быть вызваны только возможностями операционной системы по управлению получаемыми двух- или многопроцессорными системами.

Таким образом, структура типа «канал — основная память» позволяет иметь большое число дополнительных входов памя­ти, независимых контроллеров ввода-вывода, процессоров вво­да-вывода и других устройств. Все эти устройства, расширяя воз­можности системы, и, в частности, увеличивая ее гибкость, зна­чительно увеличивают стоимость системы. Так, например, каж­дый вход памяти должен иметь свой собственный интерфейс и управляющую логику, а процессор или контроллер ввода-выво­да — иметь интерфейс для обеспечения работы канала. Поэто­му дополнительные каналы повышают гибкость системы, но и приводят к высокой стоимости системы. Число входов памяти может быть достаточно большим, однако следует учитывать, что центральный процессор полностью занимает вход памяти или разделяет его с ограниченным числом периферийных устройств. Например, если каждый модуль памяти в системе имеет четыре входа, то один из входов закрепляется за центральным процес­сором. Три оставшихся входа обычно предоставляются для ра­боты с дисками, лентами и низкоскоростными устройствамисоответственно. В многопроцессорной системе, в которой каж­дый модуль памяти имеет, например, четыре входа, два входа выделяются центральным процессорам, а периферийные уст­ройства должны совместно разделять два оставшихся входа. Можно сохранить достоинства структуры с многовходовой па­мятью и обеспечить при этом низкую стоимость системы, если использовать мультиплексор. Мультиплексоры могут быть не­посредственно подключены ко входу памяти, чтобы обеспечить подключение дополнительных процессоров ввода-вывода и контроллеров ввода-вывода, или же они могут быть подключе­ны к процессорам ввода-вывода и контроллерам ввода-вывода, чтобы обеспечить подключение дополнительных каналов вво­да-вывода. Имеющиеся большие потенциальные возможности по организации работы множества каналов ввода-вывода не могут быть использованы из-за необходимости предоставления входов памяти в исключительное пользование центральным процессорам, причем, очевидно, чем больше центральных про­цессоров в системе, тем большее число входов основной памя­ти они занимают. Поэтому нередко каналам предоставляется только один или два остающихся входа памяти и, следователь­но, системы со структурой «канал - основная память» в этом случае обеспечивают по существу те же возможности по обслу­живанию каналов, что и системы с традиционной структурой «канал - центральный процессор». Существуют системы со структурой, которая может рассматриваться как вариант струк­туры «канал - центральная память». Такие системы имеют два центральных процессора, один из которых выполняет все функ­ции ввода-вывода, а другой - все функции по реализации вы­числений. Ясно, что такой подход представляет собой весьма дорогостоящий путь организации вычислительных систем.

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

Таким образом, структура «канал - системный контроллер» соединяет в себе особенности структур «канал - центральный процессор» и «канал - основная память». При этом, однако, си­стемный контроллер представляет собой самостоятельное фун­кциональное устройство, которое при правильном применении может обеспечить в системе сочетание достоинств двух после­дних структур.

 

 

Основная память

 

Системный

 

Центральный процессор

 

контр

оллер

 

Контроллер ввода-вывода

Контроллер ввода-вывода

Контроллер ввода-вывода

Периферийные устройства

Рис.3.10. Структура связи "Канал - системный контроллер".

Основное достоинство структуры «канал - системный конт­роллер» заключается в логической координации всех систем­ных действий. Центральный процессор имеет все возможности для выполнения вычислений, в то время как контроллер осущест­вляет жесткое управление системой. Одна из проблем, которая возникает для структуры «канал - центральный процессор», со­стоит в том, что требуется постоянно взаимодействовать с ка­налами и, как следствие, обслуживать с привлечением процес­сора большое число прерываний. Эти прерывания возникают в произвольные моменты времени, и их влияние на пропускную способность системы может быть самым различным. С другой стороны, в структуре «канал - основная память» имеются скры­тые потери, связанные с постоянным опросом со стороны цент­рального процессора о том, что произошло в течение последне­го цикла его работы.

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

В настоящее время наметилась тенденция распределенной обработки при помощи групп микропроцессоров. Микропро­цессорные компоненты системы, вероятно, не будут крупными фиксированными функциональными устройствами, явно отде­лёнными друг от друга, такими как традиционные устройства управления, арифметико-логические устройства и блоки ввода-вывода. Вместо этого они будут, по-видимому, динамически пе­рестраиваемыми элементами в целях решения некоторой зада­чи обработки информации. Например, если данная программа требует большого объема вычислений, то элементы пере­страиваются в устройства обработки. Если же, наоборот, тре­буется большое число операций ввода-вывода, то они перестра­иваются в устройства для ввода-вывода. Уже построено несколь­ко микропроцессорных систем с изменяемой структурой. Они занимают промежуточное положение между системами боль­шой и средней производительности. Будущие системы могут быть построены из элементов, имеющих различные возможно­сти - от ограниченных до самых широких. Распространению таких систем будет способствовать простота наращивания эле­ментов, количество которых будет ограничено лишь возможно­стями операционной системы по управлению этими элемента­ми.