На программном уровне при выполнении частей одной и той же программы несколькими процессорами или при выполнении нескольких независимых программ (мультипрограммный режим параллельной обработки);
На уровне системного программного обеспечения при выполнении системных задач;
магистральные (конвейерные) системы. В качестве систем с поразрядной обработкой МКОДР можно представить системы с конвейером одноразрядных обрабатывающих устройств.
Многомашинные и многопроцессорные системы образуют класс систем с множественными потоками команд и данных, и с пословной обработкой МКМДС. В качестве систем с поразрядной обработкой МКМДР можно представить системы однобитовых процессоров, связанных между собой.
Последние три признака схемы классификации (рис. 1) определяют классы систем со сложной структурой. На схеме показаны классы пятого, шестого и седьмого уровней для реально существующих вычислительных систем.
При перехода к пятому уровню схемы происходит разделение на системы с низкой и высокой степенью связанности.
К шестому уровню - разделение на однородные и неоднородные системы.
И, наконец, при переходе к седьмому уровню, системы разделяются по типу связей между устройствами их центральной части.
Низкая степень связанности для систем типа ОКМДС означает, что обрабатывающие устройства имеют индивидуальные блоки оперативной памяти и связаны с устройством управления, но не имеют непосредственных связей между собой. Высокая степень связанности для систем такого класса означает, что обрабатывающие устройства имеют индивидуальные блоки оперативной памяти и, по меньшей мере, связаны линиями с соседними обрабатывающими устройствами. Типичные представители первых систем -ансамбли процессоров, а вторых матричные системы (а также системы с векторным потоком данных, имеющие общую оперативную память).
Наиболее сложную структуру имеют многомашинные и многопроцессорные системы. Первые из них характеризуются низкой степенью связанности, а вторые - высокой степенью связанности, поскольку многопроцессорные системы, в отличие от многомашинных, имеют общую оперативную память. Многомашинные системы содержат обычно конструктивно законченные выделительные машины и могут состоять как из машин одного типа, так и из машин различных типов. В состав многопроцессорных систем могут входить как однотипные так и разнотипные процессоры. Поэтому предусмотрены классы однородных и неоднородных, многомашинных и многопроцессорных систем (МКМДС/НсОр и Нр, МКМДС/ВсОр и Нр). соответственно.
Характерными типами связи в (однородных и неоднородных) многомашинных системах являются связи типа канал-канал (Кн) которые осуществляются при помощи адаптера, через внешнюю память (Пм), а т.ж. непосредственно между процессорами для обмена сигналами о состоянии друг друга, прерывания работы и для прямого управления (Пр). Многомашинные системы могут иметь различные комбинации этих типов связей, что условно показано на рис. 1 путем плотного расположения друг к другу узлов схемы Кн, Пм и
Характерными типами связей в (однородных и неоднородных) многопроцессорных системах между их процессорными модулями и модулями оперативной памяти являются связи, которые осуществляются при помощи одной шины (с разделением времени обмена информацией при помощи этой шины (Ош)), многошинные связи осуществляются, с применением многовходовых модулей оперативной памяти (Мш) и перекрестные связи осуществляются при помощи сосредоточенного/распределенного перекрестного (матричного) коммутатора (Пк). Отметим, что шины и матричный коммутатор используются и для присоединения внешних устройств.
Ряд параллельных вычислительных систем обладает признаками более чем одного класса. Так, например, ортогональные системы являются комбинацией систем типа ОКОДС и ОКМДР. Такого рода системы, с признаками отличающихся друг от друга классов, естественно считать системами с комбинированной структурой. Некоторые системы в процессе работы могут так изменять режим функционирования, что «переходят» из одного
класса в другой.? Такие системы естественно считать системами с перестраиваемой структурой.
1.4 Пословная и поразрядная обработка.
Современные вычислительные системы имеют сложную организацию структуры и функционирования. Описание систем на базе четырех классов ОКОД ОКМД, МКОД, МКМД оказывается слишком грубым. Для более детального описания целесообразно учитывать признаки пословной и поразрядной обработки следующим образом .
Схему четырех классов вычислительных систем ОКОД, ОКМД, МКОД, МКМД можно представить в виде квадрата (рис. 6). Верхняя вершина соответствует классу ОКОД.
Переход из нее к левой вершине связывается с размножением потока данных, в результате чего получается класс ОКМД, а переход от верхней к правой вершине связывается с размножением потока команд, в результате чего получается класс МКОД. Переход из левой и правой вершин к нижней связывается с размножением потока команд и потока данных соответственно, в результате чего получается один н тот же класс МКМД
Схема четырех классов обладает рядом недостатков. Так, например, структурно различные ассоциативные и матричные системы попадают в один и тот же класс ОКМД. Системы с комбинированной и перестраиваемой структурой могут занимать два и даже три
класса из четырех.
В целях улучшения схемы ее можно модифицировать так, чтобы обеспечивалось различие между пословной обработкой (С) и поразрядной обработкой (Р). Такая схема изображена на рис. 7. Она содержит восемь классов. Ассоциативные и матричные системы занимают в этой схеме разные классы - ОКМДР и ОКМДС соответственно. Схема обладает лучшими возможностями локализации классов систем с комбинированной и перестраиваемой структурой. Так, например, если в исходной схеме системы занимают два или три класса из четырех, то в модифицированной схеме они могут занимать два или три класса из восьми соответственно, т. е. их описание при помощи классификации становится более определенным, хотя, конечно, не однозначным.
Модифицированная схема восьми классов включена в базовую схему классификации и составляет ее четвертый уровень (рис. 1).
1.5. Основные структуры.
Упрощенные структурные схемы типовых представителей вычислительных систем указанных выше восьми классов изображены на рис. 8.Номера структурных схем вычислительных систем на этом рисунке соответствуют номерам классов вычислительных систем, представленных в четвертом уровне схемы классификации на рис. 1. Отметим, что разделение памяти по типам на рис. 8отражает, в первую очередь, ее функциональные признаки, а не конкретную конструкцию.
Системы ОКОДС и ОКОДР представляют собой обычный и одноразрядный процессоры соответственно и осуществляют последовательную обработку информации. Остальные системы являются параллельными и осуществляют параллельную обработку информации.
Параллельная обработка информации представляет собой одновременное выполнение двух или более частей одной и той программы Двумя или более процессорными модулями вычислительной системы. Ее следует отличать от мультипрограммирования, основное содержание которого составляет разделение времени и оборудования между двумя или более программами, функционирующими одновременно и размещенными полностью или частично в оперативной памяти. Возможен мультипрограммный режим параллельной обработки.
Вычислительные системы параллельной обработки информации или, более коротко, параллельные вычислительные системы содержат два или более процессорных модулей и подразделяются на три основных класса: ОКМД, МКОД и МКМД. Они представляют собой такие системы, в центральной части которых имеется два или более потока команд и (или) данных.
Системой типа ОКМД называется некоторая параллельная вычислительная система с единственным общим модулем управления работой множества процессорных модулей, причем все или часть этих модулей одновременно выполняют поток команд Такие системы подразделяются на системы с пословной обработкой ОКМДС и системы с поразрядной обработкой ОКМДР.
Основными типами систем ОКМДС являются ансамбли процессоров, системы с векторным потоком данных и матричные системы Характерной особенностью таких систем является то, что они обрабатывают данные параллельно и обращаются к ним при помощи адресов, а не при помощи тэгов (признаков - флажков, меток) или выборки по содержимому ячеек памяти.
Ансамбли процессоров представляют собой такие параллельные системы типа ОКМДС, в которых процессорные модули упорядочиваются общим потоком управления и обработки, как правило, это - сравнительно небольшие процессоры без взаимосвязей либо с низкой степенью связанности.
Системы с векторным потоком данных и матричные системы представляют собой такие параллельные системы типа ОКМДС, в которых процессорные модули упорядочиваются общим потоком управления и обработки, как правило, это - сравнительно небольшие процессоры с высокой степенью связанности. В первых системах процессоры обычно имеют общую оперативную память и являются фактически составными арифметико-логическими устройствами обработки, которые выполняют последовательно команду за командой над векторами операндов. Во вторых системах процессоры имеют индивидуальную оперативную память и составляют матричную конфигурацию со связями между непосредственными соседями.
Тот факт, что системы типа ОКМДС могут быть как с низкой, так и с высокой степенью связанности, отмечен условно на рисунке 8при помощи прерывистой линии, связывающей изображения процессоров.
Основным типом систем ОКМДР являются ассоциативные системы. Характерной особенностью таких систем является то, что их процессорные модули (или память с встроенной логической обработкой) реализуют адресацию на основе свойств содержимого данных в большей степени, чем с помощью адресов.
Ассоциативные системы подразделяются на системы с ассоциативной памятью и системы с ассоциативными процессорами (ассоциативные матричные системы). Системы с ассоциативной памятью представляют собой такие параллельные системы типа ОКМДР, которые оперируют с данными при доступе к ним помощи тэгов или выборки по содержимому ячеек памяти в большей степени, чем при помощи адресов.
ОКМДР, которые обычно оперируют со разрядов данных (срез разряда данных - это совокупность разрядов одной и той же фиксированной позиции в множестве слов данных).
Перейдем к вычислительным системам типа МКОД. К параллельным системам типа МКОДС относятся магистральные (конвейерные) системы - такие системы, в которых осуществляется одновременное выполнение нескольких команд при помощи последовательного прохождения слов потока данных через магистраль (конвейер) нескольких специализированных блоков обработки. При этом обработка разбивается на соответствующее число подзадач (этапов), каждая из которых выполняется на одном из указанных специализированных блоков обработки.
Принцип магистральной (конвейерной) обработки основан на разделении вычислительного процесса на несколько подпроцессов, каждый из которых выполняется на отдельном устройстве. При этом последовательные процессы могут выполняться одновременно на своих устройствах подобно тому, как это имеет место в промышленных технологических процессах. Принцип конвейерной обработки может применяться на различных уровнях иерархии вычислительного процесса, начиная с уровня построения логических схем устройств. В зависимости от уровня применения принципа конвейерной обработки можно выделить, рассматривая уровни снизу вверх, арифметико-магистральные, командно-магистральные и макро магистральные системы, а в зависимости от типа применяемых команд обработки среди магистральных систем можно выделить системы с обычными и системы с векторными командами.
Как отмечалось выше, в качестве систем МКОДР можно рассматривать системы с конвейером одноразрядных процессоров.
Системой типа МКМД называется некоторая параллельная вычислительная система с несколькими модулями управления работой нескольких процессорных модулей, причем эти модули выполняют несколько потоков команд. Число процессоров составляет обычно величину в пределах от 2 до 10, но может составлять и несколько десятков и более, в особенности для микропроцессорных систем. Основные типы систем МКМДС -многопроцессорные и многомашинные системы.
Многопроцессорной системой называется такая параллельная система типа МКМДС, которая содержит два или более сильно связанных центральных процессора, общую для них оперативную память и, целиком или частично, общие периферийные устройства, включая периферийные процессоры и каналы ввода-вывода, управление которыми, как единым комплексом, осуществляет единственная операционная система. В вычислительной системе могут быть несколько копий одной операционной системы. Таким образом, многопроцессорная вычислительная система содержит два или более процессорных модулей, функционирующих под единым управлением, и осуществляет одновременную обработку нескольких команд и данных при общей иерархической памяти.
Более подробно характерные черты многопроцессорных систем можно представить следующим образом.
Многопроцессорная система включает два иди несколько центральных устройств обработки информации - центральных процессорных модулей. Эти устройства могут иметь как одинаковые, так и различные характеристики. Основная память (оперативная память) должна находиться в общем пользовании и должна быть доступной для всех процессоров системы. Процессоры могут иметь некоторую собственную память. В системе должен быть общий доступ ко всем устройствам ввода-вывода, включая каналы, устройства управления и периферийное оборудование. В системе должна быть единая интегрированная операционная система, осуществляющая общее управление аппаратными и программными средствами. При этом должна быть предусмотрена возможность тесного взаимодействия аппаратных средств и программного обеспечения:
Следует отметить, что взаимодействие аппаратных и программных средств зависит не только от организации взаимных связей, но и от системного программного обеспечения и процедур обработки данных. Базовая структурная схема многопроцессорной системы изображена на рис. 9.
Многомашинной системой называется такая параллельная система типа МКМДС, которая содержит обычно две или более однопроцессорных или многопроцессорных слабо связанных между собой вычислительных систем с общей внешней памятью и/или со связями через каналы ввода-вывода, работающих совместно под управлением своих операционных систем. В системе возможны непосредственные связи между процессорами в целях управления. В ее состав могут входить однопроцессорные и многопроцессорные системы одного и того же или различных типов, а также такие вычислительные системы, как магистральные, матричные, ассоциативные и другие.
Как отмечалось выше, в качестве систем МКМДР можно рассматривать системы связанных между собой одноразрядных процессоров.
Системами с комбинированной структурой будем называть такие параллельные вычислительные системы, структуры которых характеризуются комбинацией признаков существенно отличающихся друг с друга классов.
Одним из наиболее известных типов систем с комбинированной структурой являются ортогональные системы. Они представляют собой такие параллельные системы, которые ведут обработку двумя процессорами - обычным процессором типа ОКОДС и ассоциативным процессором типа ОКМДР - и используют общую для них оперативную память в режиме разделения оборудования. Они являются системами с высокой степенью связанности, поскольку пара процессоров имеет общую оперативную память.
Системами с перестраиваемой структурой будем называть такие параллельные вычислительные системы, которые обладают возможностью в процессе работы изменять тип структуры и, в предельном случае, осуществлять переходы от одного класса к другим существенно отличным классам. Такие системы в последние годы получили быстрое развитие в связи с разработкой и созданием распределенных вычислительных систем на базе микропроцессоров.
Концепция распределенных вычислительных систем быстро развивается иизменяется иеще не является сложившейся. В настоящее время под такими системами понимается новый класс вычислительных систем, имеющих большое число рассредоточенных универсальных средств (ресурсов) аппаратного и программного обеспечения с возможностью быстрой и гибкой перестройки, функционирующих автономно, но, вместе с тем, согласованно под управлением операционной системы высокого уровня,
Объединяющей ИХ В единое Целое И Обеспечивающей ИХ ВЗаиМОДеЙСТВИе Через СеТЬ СВЯЗИ;.
Распределенные вычислительные системы воплощают дальнейшее развитие многомашинных и многопроцессорных систем с децентрализованным управлением, в том числе существующих мини- и микропроцессорных систем.
Следует выделить вычислительные сети. Они состоят из территориально разнесенных центров (узлов), образуемых самыми разнообразными вычислительными системами, и систем связи, линии которых соединяют центры в некоторую конфигурацию сети. Вычислительные центры функционируют втой или иной мере автономно друг от друга и взаимодействуют между собой через систему связи.
Вычислительные сети, в силу своих особенностей, существенно отличаются от других типов параллельных вычислительных систем и обладают ярко выраженной спецификой как в части организации структуры и функционирования, так и в части программного обеспечения. И будут рассмотрены в других курсах.
Различие между распределенной вычислительной системой и вычислительной сетью является, в принципе, вопросом о размерах, местоположении и функциях узлов, а также о количестве взаимодействий между ними. Если все компоненты системы относительно малы, зависимы и локализованы, то их можно считать частями одной распределенной вычислительной системы (машины). Бели, наоборот, они достаточно сложны и не зависимы, то их можно рассматривать как разные машины сети. Множество разнообразных смешанных форм, вероятно, станет обычным в ближайшие годы.
Возможно, что концепция центрального процессора устареет. Большая вычислительная машина будет в этом случае укомплектована десятками, сотнями или даже тысячами идентичных процессоров, выполненных на одном кристалле (или даже части кристалла), у каждого из которых будет своя функция. Некоторые из этих процессоров могут иметь микропрограммы для компиляции программ (для каждого языка - один процессор) для выполнения программ после компиляции (также со специализацией процессоров по языкам), для осуществления связи с пользователями в оперативном режиме, для управления большими базами данных, для аппаратной диагностики и для других целей.
Одно из направлений развития вычислительных систем имеет дело с высоко параллельными устройствами массовой обработки (на уровнях вплоть до самых элементарных операций), называемыми вычислительными средами. Вычислительная среда представляет собой совокупность простейших одинаковых автоматов, одинаковым образом соединенных между собой и программно настраиваемых на выполнение некоторой функции из функционально полного набора. Основные принципы построения вычислительных сред -параллельность, конструктивная однородность и программная изменяемость структуры.
Основные типы параллельных вычислительных систем представлены на рис. 10. На этом рисунке выделены однородные и неоднородные многопроцессорные вычислительные системы, поскольку характеристики однородности и неоднородности в большой степени влияют на структуру многопроцессорных систем в силу их сильной связанности.
Вычислительные системы с повышенной надежностью, а также распределенные вычислительные системы и сети показаны отдельно в связи с их спецификой.
1.6 Коммутация потоков и данных
В вычислительных системах типа ОКМД используется единственная память программ и несколько модулей памяти данных, устройств обработки и коммутаторов. При этом коммутируется только один поток команд, распределяемый между соответствующими устройствами обработки. Структурная схема системы типа ОКМД с учетом коммутации изображена на рис 11.
На схеме индексом 1 помечена память программ, индексом 2 - модули памяти данных, индексом 3 - коммутаторы и индексом 4 - устройства обработки (процессоры). Представленная система является ассоциативной. Каждый коммутатор при совпадении соответствующих признаков запрещает выполнение команды в. некоторых элементах ассоциативного устройства обработки, которое обычно включает в себя ассоциативную память. Пунктирной линией отмечен блок обработки в системе. Коммутация осуществляется внутри каждого блока обработки.
В вычислительных системах типа МКМД нередко используется общая (например, внешняя вспомогательная) память и несколько процессоров, которые могут иметь индивидуальную память команд и данных. Общая память коммутируется с каждым из процессоров. Для исключения конфликтов могут использоваться несколько копий одной и той же программы. Структурная схема системы типа МКМД с учетом коммутации изображена на рис 12. Здесь каждый. блок обработки содержит процессор с индивидуальной памятью команд и данных и работает в достаточной степени автономно по своей программе. Коммутаторы осуществляют внешние, по отношению к блокам обработки, функции переключения связей между этими блоками и общей памятью и составляют в вместе с ней необязательную часть системы, поскольку может быть организовано непосредственное взаимодействие между блоками обработки без участия общей памяти.
В системах типа К-МКМД информация о логической связи между сегментами программы используется для того, чтобы исключить конфликты при обращении к памяти программ со стороны различных процессоров. Каждый сегмент помещается в один из модулей памяти программ. Каждый модуль связан при помощи шин со всеми блоками обработки. Массив данных по частям располагается в обычно небольших индивидуальных модулях памяти каждого блока обработки.
При выполнении программы селекторные коммутаторы работают следующим образом. Селекторный коммутатор данного блока обработки подсоединяет к этому блоку (к микропроцессору блока) шины модулей памяти программы или же его индивидуальный модуль памяти данных для обеспечения доступа к содержимому памяти в соответствии со следующим правилом. Если требуется считать или написать слово данных, то коммутатор подключает к микропроцессору нижнюю шину (см. рис. 13), обеспечивая доступ к индивидуальной памяти данных. Бели же осуществляется выборка команды, то коммутатор подключает к микропроцессору шину соответствующего модуля памяти программы. Выбор шины осуществляется при помощи управляющего слова в регистре каждого блока обработки, которое управляет работой селекторного коммутатора. В обычном режиме управляющее слово не изменяется, поскольку блок обработки выполняет команды одного и того же сегмента программы над данными из индивидуального модуля памяти данных. Оно изменяется при переходе к выполнению блоком обработки следующего сегмента программы.
Применение изложенного способа коммутации потоков команд и данных обеспечивает возможность непрерывного выполнения сегментов программы блоками обработки. При этом не возникает конфликтов при обращении к памяти, хотя в системе не используются копии программ в различных модулях памяти.
2. Некоторые основные соотношения между структурами вычислительных систем
Примем в качестве Машины 1 обычную ЭВМ последовательной обработки информации, изображенную на рис. 14. Машина этого типа содержит устройство управления (УУ), процессорный модуль (ПрМ), память программ (ПмП) и память данных ,(ПмД) (разделение памяти для программ и данных - функциональное). Считывание данных из единственной памяти данных осуществляется путем выборки всех разрядов некоторого слова для их параллельной обработки в процессорном модуле.
Повернем условно на 90° память данных и процессорный модуль, причем структуру самих данных оставим в прежнем положении. Получим машину, изображенную на рис. 15. назовем ее Машиной П. Каждое слово данных все еще располагается горизонтально, поэтому их считывание из памяти данных теперь осуществляется путем выборки содержимого одного разряда всех слов (разрядного среза) вместо всех разрядов одного слова. Обычно в памяти Машины П размещаются разрядные срезы длиной, как правило, 128- 256 разрядов.
Можно говорить, что в Машине 1осуществляется последовательная обработка слов при параллельной обработке разрядов слова в горизонтальном процессорном модуле (горизонтальная обработка), а в Машине П - последовательная обработка рядных срезов при параллельной обработке входящего в содержимого множества слов в вертикальном процессорном модуле (вертикальная обработка). При этом адресация данных в Машине 1осуществляется по отношению к словам, а в Машине П - к разрядным срезам.
Структура Машины П лежит в основе структуры систем с ассоциативными процессорами, осуществляющих последовательную поразрядную обработку множества слов. Фактически имеет место не один процессорный модуль, а множество сравнительно простых устройств поразрядной обработки. Высокая скорость обработки информации такими системами обеспечивается за счет сравнительно большой длины разрядных срезов и достигается преимущественно при выполнении логических операций. Для выполнения арифметических операций, в большей степени свойственных Машине 1,процессорный модуль Машины И должен быть модифицирован так, чтобы получать необходимые результаты по завершении последовательной обработки всех разрядов каждого данного слова из памяти данных. Поэтому скорость выполнения арифметических операций Машиной П оказывается в этом случае сравнительно низкой. Соотношение скоростей выполнения операций Машиной 1 и Машиной П, при прочих сопоставимых условиях, определяется длиной слова и длиной разрядного среза.
Сравнивая Машины 1 и П, заметим, что в первом случае операции выполняются обычно над словами, причем внутри слова разряды связаны между собой смысловой зависимостью и обычно не имеют самостоятельного значения, тогда как во втором случае операции выполняются над соответствующими разрядами внутри каждого слова из множества слов, участвующих в обработке.
Структура Машины П характерна для структуры системы STARAN (за исключением ввода-вывода).
В целях объединения достоинств Машины 1 и Машины Пв одной вычислительной системе можно построить комбинацию этих двух машин, в результате чего получим Машину Ш (рис. 16).Эта Машина имеет два процессорных модуля - горизонтальный и вертикальный и модифицированную память данных, которая обеспечивает доступ как к словам, так и к разрядным срезам. Системы с такой структурой получили название ортогональных
Рассмотрим скорости работы Машин 1,II и 111. Пусть процессорные модули Машин 1и II построены так, что в первом приближении Машина 1 обрабатывает слово примерно за то. же время, в течение которого Машина П обрабатывает разрядный срез. Тогда, если память данных имеет структуру квадрата (п слов по п разрядов в каждом), обе Машины выполняют обработку всего содержимого памяти за одно и то же время, при этом каждая команда обеспечивает обработку очередного слова или очередного разрядного среза из памяти данных соответственно. Всякий раз, как некоторая команда Машины 1при сохранении скорости поступления команд обеспечивает обработку сразу нескольких слов, скорость обработки информации Машиной 1оказывается выше по сравнению с Машиной П.
Полагая структуру памяти данных в виде квадрата, мы не учитывали важную особенность Машины II, состоящую в том, что длина разрядного среза данных Машины П обычно намного больше длины слова данных Машины 1. Поэтому, как правило, Машина П обрабатывает одно и то же множество слов быстрее Машины 1
Пусть теперь увеличивается вертикальный размер памяти данных и сохраняется прежним горизонтальный размер, т. е. наращивается память путем увеличения числа ее слов при сохранении их длины. При этом соответственно наращивается процессорный модуль Машины П, и сохраняется неизменным процессорный модуль Машины 1. Тогда, с увеличением вертикального размера .памяти данных, время обработки всех данных памяти Машиной 1 будет увеличиваться, а для Машины П это время сохранится неизменным. При этом сначала, когда количество слов меньше числа разрядов в них, время работы Машины 1будет меньше времени работы Машины П, а в дальнейшем, когда число слов станет больше числа разрядов в них время работы Машины 1станет больше времени работы Машины П. Если ввести понятие относительной скорости обработки, всех данных в зависимости от объема памяти данных для фиксированной длины слов, то рассмотренные выше качественные, соотношения можно изобразить в виде графиков (рис. 17). Линия для Машины П параллельна оси абсцисс, а линия для Машины 1, с учетом дополнительных факторов обработки большого числа слов, монотонно снижается.
Машина Ш сочетает в себе достоинства Машин 1 и П. Горизонтальный процессорный модуль обеспечивает эффективное выполнение команд над словами памяти данных, в то время как вертикальный процессорный модуль обеспечивает эффективное выполнение команд над разрядными срезами памяти данных.
Структура Машины III характерна для вычислительных систем OMEN 60.
Если «размножить» процессорные модули и память данных Машины 1, то получим Машину IV, структура которой изображена рис. 18. Единственное устройство подает команду за командой всем процессорным модулям. Такую структуру, получившую название ансамбля процессоров, имеет вычислительная система PEPE (процессорный модуль PEPE состоит из двух отдельных основных частей г из устройства корреляционной обработки и арифметического устройства). Емкость модулей данных обычно фиксирована, и наращивание системы можно осуществлять путем добавления новых модулей памяти данных и соответствующих процессорных модулей. Поэтому относительная скорость обработки информации Машиной IV, подобно Машине П, является постоянной. Ее фактическое значение определяется выбранным объемом памяти данных и сложностью построения процессорных модулей.
Отличие концепций построения Машины П и Машины IV состоит в том, что если данное устройство обработки Машины П имеет дело, например, с форматом расположенных в линию 256 разрядов данных, то устройство обработки Машины IV имеет дело, соответственно, с форматом данных 16 X 16 разрядов. При этом в первом случае осуществляется последовательная поразрядная обработка, в то время как во втором случае разряды каждый раз обрабатываются параллельно.
Если ввести непосредственные линейные связи между соседними процессорными модулями Машины IV, расположенными, например, в виде матричной конфигурации, то получим машину с более универсальными возможностями обработки информации (рис. 19). Назовем ее Машиной V. Такая структура характерна для квадранта системы ILLIAC IV.
Относительная скорость обработки информации Машиной V, подобно Машинам Пи IV вляется постоянной. Вследствие имеющихся связей между процессорными модулями Машина V представляется, отчасти, более сложной по сравнению с Машиной ГУ.
При другом подходе к построению структуры вычислительной системы, когда хранение и обработка данных совмещаются одном устройстве, получаем Машину VI (рис.20).Она характеризуется наличием устройств памяти данных матричной конфигурации с встроенной логической обработкой. Подобно Машинам II, IV и V, Машина IV имеет постоянную относительную скорость обработки. Концепция Машины VI эквивалентна концепции Машины IV с модулями памяти данных только для одного слова в каждом из модулей.
Таким образом, можно отметить следующие основные соотношения между структурами рассмотренных вычислительных систем:
• Машина 1есть обычная ЭВМ с последовательной обработкой слов и параллельной обработкой разрядов;
• Машина П есть система с параллельной обработкой слов и последовательной обработкой разрядов (системы с ассоциативными процессорами)
• Машина Ш получается в результате комбинации Машин I и П (ортогональные системы);
• Машина IV получается в результате «размножения» процессорного модуля и памяти данных Машины 1 и имеет память программ, единственное устройство управления и множество процессорных модулей с индивидуальными модулями памяти данных (ансамбли процессоров);
• Машина V получается путем введения непосредственных линейных связей между соседними процессорными модулями Машины IV (матричные системы);
• Машина VI получается путем объединения логики обработки с элементами памяти данных Машины 1и имеет память программ, устройство управления и набор совмещенных ассоциативных запоминающих устройств и процессоров, использующих матрицы памяти с встроенной логикой.
3. Структура связей в параллельных вычислительных системах
3.1. Межпроцессорные связи в вычислительных системах и сетях и их классификация
Если рассмотреть связи для обмена информацией между процессорами на уровне оборудования, обеспечивающие соединение каждого процессора с любым другим в вычислительных системы и сетях, то можно построить схему классификации и структурную схему межпроцессорных связей, изображенную на рис. 21.Схема имеет пять уровней, первый из которых является исходным, второй определяет стратегию организации обмена информацией, третий - метод управления соединением трактов обмена, четвертый -структуру путей передачи информации, а пятый уровень определяет соответствующие типы структур вычислительных систем и сетей.
Первый уровень - исходный, он включает внутренние связи для обмена информацией. Второй уровень включает прямые и косвенные (непрямые) тракты обмена. В первом случае осуществляется прямая передача информации, когда передатчик выбирает путь, а приемник распознает предназначающиеся для него сообщения. При этом в канале связи никакой логики не предусмотрено, за исключением, возможно, буферных устройств и устройств повторения сообщений. Во втором случае осуществляется непрямая передача информации, когда между передатчиком и приемником предусматривается логика выбора одного из несколькихальтернативных путей передачи на промежуточных пунктах, а также, в некоторых случаях, дополнительное преобразование информации.
Управление соединением трактов обмена может быть централизованным и децентрализованным (третий уровень). При прямой передаче альтернатив не существует и не требуется управления соединением трактов обмена. Непрямая передача при помощи централизованного управления характеризуется тем, что все сообщения передаются через что осуществляется выбор одного из нескольких пунктов передачи информации.
Пятый уровень включает различные типы структур вычислительных систем и сетей (Шаг 1, 2,... 10).
Прямой передаче по раздельным путям соответствует кольцевая структура процессорных элементов без коммутаторов (№ IX каждый элемент которой имеет соседа-предшественника и соседа-преемника. Передача инициируется данным предшественником, после чего каждый последующий элемент проверяет адрес сообщения и, в случае необходимости, передает его по индивидуальному пути дальше своему преемнику. Передача прекращается в пункте назначения. Такая структура отличается логической простотой и обладает явно выраженной модульностью, но она не обладает высокой надежностью, а скорость передачи в ней ограничена из-за последовательного характера передачи информации по кольцу. В качестве примера можно указать кольцевую версию САМАС.
Другим типом структуры при прямой передаче по раздельным путям является структура с полным набором связей (№ 2.). В этом случав каждый источник имеет пути ко всем приемникам. Такая структура не отличается модульностью построения и характеризуется высокой стоимостью системы при большом числе элементов, но она обеспечивает высокую скорость обмена информацией при сравнительно простой логике организации этого обмена. Структуру с полным набором связей имеет вычислительная сеть MERIT, в которой соединены CDC 6500 и две машины IBM 360/67.
Прямой передаче с общим путем соответствует классическая многопроцессорная структура с общей основной памятью (№ 3). В таких системах все сообщения передаются через основную память. При этом обеспечивается очень высокая пропускная способность, поскольку обмен фактически представляет собой запись в оперативную память и чтение из нее. Если такая память используется также и для обработки данных, что является типичным случаем, то она оказывается нередко узким местом системы.
Другим типом структуры при прямой передаче с общим путем является структура с общей шиной (магистралью передачи), используется для связи со всеми системными элементами в режиме разделения ее времени (№ 4). Такие структуры часто применяются в авиационно-космических системах и системах военного) назначения, а также при построении автоматизированных систем в промышленности и научных лабораториях. Они отличаются простотой и явно выраженной модульностью, однако при их использовании требуется тщательное планирование занятия времени шины в целях повышения производительности всей системы. В качестве примера рассматриваемой структуры можно привести соответствующую конфигурацию САМАС.
Непрямой передаче по раздельным путям при централизованном управлении соответствует структура в виде звезды (№ 5). При передаче сообщения проходят через центральный коммутатор. Такая структура часто реализуется на основе матричного коммутатора, однако в некоторых случаях применяется также процессор как центральный элемент системы. Она отличается простотой логики работы, но не имеет высокой надежности.
В качестве примера можно указать вычислительную сеть ЮМ Network/440.
Другим типом структуры при непрямой передаче по раздельным путям при централизованном управлении является кольцевая структура процессорных элементов с центральным коммутатором (№ 6). Такая структура сочетает в себе особенности кольцевой структуры (№ 1) и структуры в виде звезды (Jfe 5). Пересылка сообщений осуществляется по кольцу через центральный коммутатор или же пересылка ведется по кольцу под управлением центрального коммутатора, который осуществляет адресацию пересылок. В качестве примера можно отметить экспериментальную систему обмена информацией SPIDER.
Непрямой передаче по общему пути при централизованном управлении соответствует структура с общей шиной и центральным коммутатором (№ 7). Такая структура в функциональном отношении эквивалентна структуре в виде звезды (№> 5). При этом главное отличие первой состоит в том, что процессоры связываются друг с другом не через индивидуальные тракты, соединяемые центральным коммутатором, а при помощи общей шины и организации доступа к ней.
При передаче информации процессорный элемент посылает сообщение через общую шину 'к центральному коммутатору, который переправляет его к процессорному элементу -приемнику данного сообщения. На время передачи сообщений между каким-либо процессорным элементом и центральным коммутатором шина занята этой передачей и другие процессорные элементы не имеют к ней доступа, т. е. заблокированы по входу и по выходу. Рассматриваемая структура сочетает в себе качества экономичности и логической простоты, но при ее применении приходится преодолевать некоторые трудности, связанные с невысокой степенью модульности и сравнительно невысокой надежностью.
Непрямой передаче по раздельным индивидуальным трактам при децентрализованном управлении соответствует регулярная структура (№ 8). Каждый процессорный элемент связан с ближайшим соседом слева, справа, сверху и снизу, причем регулярный характер связи сохраняется и для крайних процессорных элементов, которые соединяются с соответствующими им крайними процессорными элементами на противоположной стороне. Сообщения проходят через сеть от одного элемента к другому соседнему, причем каждый из процессорных элементов выбирает тракт для отсылки сообщения. Можно считать, что кольцевая структура без центрального коммутатора (№ 1) есть частный случай регулярной структуры, когда в последней каждый элемент имеет два связанных с ним соседних элемента и когда не принимается решений о выборе тракта для отсылки сообщения.
Модульность и высокие характеристики надежности определяются регулярным характером рассматриваемой структуры. Вместе с тем, такая структура требует сложной логики организации работы, выдвигает проблемы полной загрузки узлов сети и соединяющих их линий и другие. В настоящее время такие структуры представляют интерес, скорее, с точки зрения исследовании, однако перспективы их применения на практике представляются очень обнадеживающими.
Другим типом структуры при непрямой передаче по раздельным индивидуальным трактам и децентрализованном управлении является нерегулярная структура (№ 9). Она становится все более распространенной в таких системах, в которых процессоры и связи между ними имеют высокую стоимость. Здесь не требуется связь процессора с каждым соседним процессором, что усложняет логику переключений при передаче сообщений, но упрощает межпроцессорные связи. При использовании нерегулярной структуры достигается довольно высокая надежность системы и, одновременно, возможность ее наращивания новыми модулями.
Основное применение нерегулярная структура находит в вычислительных сетях с географически разнесенными узлами, пример - сеть АRРА.
Непрямой передаче по общему тракту при децентрализованном управлении соответствует структура с общей шиной и комбинированным подключением к ней коммутаторов и процессорных элементов (№ 10). Такая структура подобна нерегулярной структуре с точки зрения характеристик модульности и возможностей наращивания. Однако, она обладает более низкими характеристиками надежности и меньшими возможностями реконфигурации, поскольку процессорные элементы и коммутаторы используют единственный тракт передачи информации.
Структуры с общей шиной при комбинированном подключении к ней коммутаторов и процессорных элементов становятся все более распространенными, в особенности, в универсальных вычислительных системах на базе мини-ЭВМ В качестве примера системы с такой структурой можно отметить систему PLURIRUS, предназначенную для выполнения функций связи в узлах сети АRРА.
Направления дальнейшего развития и применений рассмотренных структур будут в значительной степени связаны с распределенными вычислительными системами и сетями.
Среди структур можно выделить по совокупности их основных характеристик четыре «доминирующие» структуры, а именно:
• кольцевую структуру (№ I),
• структуру с общей шиной (№ 4),
• структуру в виде звезды с коммутатором в центре и процессорными элементами в концах лучей (№ 5)
• нерегулярную структуру (№ 9).
Проведенный анализ показывает, что эта классификация или какая-либо подобная ей представляет собой полезный инструмент для выбора структуры системных связей и количественной оценки выбранной системы по нескольким основным показателям. Одно из достоинств классификации состоит в возможности систематического перебора и сравнения всех, вариантов. Рассмотренная классификация, как обычно, обладает определенной степенью условности. Некоторые существующие вычислительные системы и сети не могут быть однозначно отнесены к тому или иному виду структур и сочетают в себе признаки структур более чем одного типа.
3.2. Внутренние связи в многопроцессорных системах.
Рассмотрим несколько более подробно структуру внутрисистемных связей в многопроцессорных системах, т. е. структуру связей в центральной части таких систем. Можно выделить три основных типа структур, а именно:
• структуры с перекрестными связями (рис. 22),
• с многошинными связями (рис.23)
• со связями через общую шину (рис.24).
На рисунках через МПм и ПрМ обозначены модули памяти и процессорные модули соответственно. Периферийные устройства могут подключаться к центральной части при помощи схем аналогичной структуры.
Схема перекрестных связей является универсальной. Такая схема реализуется при помощи матричного коммутатора, который может быть построен как централизованным (полностью отделен от функциональных модулей), так и распределенным между соответствующими функциональными модулями системы. Коммутация может осуществляться в каждой точке матричной схемы, обеспечивая физическое подсоединение любого модуля памяти к любому процессору. При этом необходимо управлять очередями запросов на обмен между процессорными модулями и модулями памяти и разрешать конфликты, которые могут возникнуть. Обычно конфликты разрешаются при помощи приоритетов, которые могут быть переменными. Имеется возможность организовать несколько одновременно действующих путей передачи информации в матрице.
Матричный коммутатор представляет собой довольно сложное и дорогое устройство и является узким местом системы в том смысле, что через него проходят все обмены информацией между процессорными модулями и модулями памяти, так что выход его из строя означает отказ системы в целом. Поэтому в тех случаях, когда требуется повышенная надежность, матричный коммутатор может быть продублирован. Наконец, если число процессорных модулей и модулей памяти соответствует числу выходов коммутатора (максимальная комплектация), то дальнейшее наращивание системы такими модулями практически невозможно без конструктивных изменений. При этом наращивание системы от минимальной до максимальной комплектации не вызывает трудностей в силу модульности построения системы в целом.
Схемы с многошинными связями имеют меньшую стоимость по сравнению со схемами матричного коммутатора, поскольку первые содержат меньше точек пересечений, в которых нужно разрешать конфликты. Размер максимальной конфигурации схем с многошинными связями ограничивается числом входов в модулях памяти. Такие схемы нашли широкое применение в различных многопроцессорных системах.
Схема связей через общую шину (рис. 24) является наиболее простой из числа трех рассматриваемых основных схем. Ее реализация обходится наиболее дешево, она характеризуется высокой степенью модульности и наиболее хорошими возможностями наращивания. Управление может осуществляться при помощи стандартных методов разделения времени. Скорость обмена в такой схеме, однако, является наиболее низкой в силу разделения времени для передачи сообщений через одну шину. Схемы связи через общую шину получили наибольшее распространение в специализированных вычислительных системах и системах со сравнительно небольшой производительностью.
В заключение отметим, что рассмотренные типы схем внутренних связей являются базовыми и что существуют их разнообразные варианты.
3.3. Структура связей между, центральной частью вычислительных систем и каналами ввода-вывода
Связи между центральной частью и каналами ввода-вывода как однопроцессорных, так и многомашинных и многопроцессорных вычислительных систем организуются в большинстве случаев фактически по одним и тем же принципам, поэтому рассматриваемые здесь структуры связей относятся ко всем трем типам указанных вычислительных систем. В целях простоты изложение проводится, в основном, доя однопроцессорных конфигураций.
Связи между центральной частью вычислительных систем и каналами ввода-вывода рассматриваются особо, поскольку их структура, как правило, существенно отличается от связей внутри центральной части систем.
3.3.1. Основные типы структуры связей.
Несмотря на большое разнообразие вычислительных систем, существует только три основных типа связей между центральной частью и каналами ввода-вывода. В структурах первого типа («канал - центральный процессор») каналы подключаются к центральному процессору (рис. 25), и информация из канала поступает в процессор (процессор фактически управляет обменом между памятью и каналами). В структурах второго типа («канал -основная память») все данные передаются непосредственно на входы основной памяти, в которой они могут накапливаться для обработки процессором или для выборки на какое-либо устройство (рис. 26). В структурах третьего типа («канал - системный контроллер») предусматривается центральный узел коммутации: все передачи данных к периферийным устройствам, центральным процессорам и главной памяти, а также все передачи данных от них осуществляются через и под управлением системного контроллера (рис. 27).
В конкретных вычислительных системах устройства, имеющие одинаковые функции, могут отличаться с точки зрения деталей их функционирования, а также в названиях. На рис.25 - 27 изображены основные типы структур без каких-либо их деталей.
В большинстве традиционных систем, в особенности однопроцессорных, каналы ввода-вывода подключены непосредственно к центральному процессору, при этом основная память часто конструктивно совмещается с процессором. На рисунке 25 представлена структура с непосредственным подключением трех независимых каналов к центральному процессору, с которым конструктивно совмещена основная память.
Основным достоинством такого типа структуры является то, что требуется наименьшее количество оборудования и что стоимость оказывается также наименьшей. Системы со структурой «канал - центральный процессор» наиболее целесообразно применять в тех случаях, когда требования к ресурсам системы должны или могут быть определены заранее и когда они не меняются в динамике работы. Это определяется тем обстоятельством, что все функции по управлению сосредоточены в процессоре (данные поступают в основную память и из основной памяти под управлением программы, выполняемой центральным процессором). Основной областью применения систем, в которых каналы подключены к центральному процессору, является пакетная обработка, которая в настоящее время занимает главное место при использовании вычислительных машин.
Основным недостатком структуры «канал - центральный процессор» является требование повышенной производительности центрального процессора, которое вытекает из необходимости быстрой обработки случайного потока прерываний. Этот недостаток влечет несколько других недостатков. Имеет место жесткое ограничение на число подключаемых каналов с точки зрения их эффективного использования, особенно при одновременной работе, так как при большом числе каналов процессор большую часть времени затрачивает на обслуживание прерываний, связанных с вводом и выводом. Кроме этого, при обработке со сложным взаимодействием процессов и при работе систем с виртуальной памятью типичным является положение, когда возникает большое число не планируемых запросов на ввод-вывод. В этих условиях при использовании систем с подключением каналов к центральному процессору необходима такая операционная система, которая бы компенсировала недостатки структуры. Наконец, ограничение на число каналов приводит, естественно, к ограничению числа обслуживаемых периферийных устройств.
Проблема ограничений на число каналов и на число периферийных устройств может быть решена во многих случаях путем введения подканалов или путем совместного использования каналов. Для повышения скорости обработки и пропускной способности системы требуется более тщательное и квалифицированное программирование и обоснованное распределение приоритетов между периферийными устройствами.
Рассмотрим структуру типа «канал - основная память» (рис. 26). В этом случае имеется прямой независимый доступ к основной памяти, которая реализуется конструктивно как отдельное устройство в виде двух или более компонент вычислительной системы. Запись данных в основную память и считывание их из нее осуществляются, логически и физически, без непосредственного вмешательства центрального процессора. Все основные части системы, осуществляющие обработку и передачу информации (центральные процессоры, процессоры ввода-вывода и контроллеры ввода-вывода), представляют собой устройства, подключенные к соответствующим входам модулей основной памяти. Они работают независимо друг от друга. Эти устройства, с одной стороны, имеют дело с отдельными входами основной памяти, а с другой стороны, - с периферийными устройствами.
Главным достоинством данной структуры является одновременность операций ввода-вывода и вычислений благодаря независимому доступу к основной памяти. Разделение ввода-вывода и вычислений позволяет не только увеличить число каналов, с которыми может работать система, но и разгружает центральный процессор от большого числа прерывании Вследствие такой независимости операций ввода-вывода и вычислений рассматриваемая структура наилучшим образом отвечает требованиям обработки со сложным взаимодействием процессов.
Системы со структурой «канал - основная память» обладают гораздо большей гибкостью по сравнению с системами со структурой «канал - центральный процессор». Наращивание первых для увеличения их мощности достигается простым добавлением компонентов систем, при этом отпадает необходимость в сложных завязках. Например, для увеличения вычислительной мощности обычно добавляется центральный процессор, который подключается к одному из входов основной памяти. В таких случаях ограничения могут быть вызваны только возможностями операционной системы по управлению получаемыми двух- или многопроцессорными системами.
Таким образом, структура типа «канал - основная память» позволяет иметь большое число дополнительных входов памяти, независимых контроллеров ввода-вывода, процессоров ввода-вывода и других устройств. Все эти устройства, расширяя возможности системы, и, в частности, увеличивая ее гибкость, значительно увеличивают стоимость системы. Так например каждый вход памяти должен иметь свой собственный интерфейс и управляющую логику, а процессор или контроллер ввода-вывода иметь интерфейс для обеспечения работы канала. Поэтому дополнительные каналы повышают гибкость системы, но и приводят к высокой стоимости системы.
Число входов памяти может быть достаточно большим, однако следует учитывать, что центральный процессор полностью занимает вход памяти или разделяет его с ограниченным числом периферийных устройств. Например, если каждый модуль памяти в системе имеет четыре входа, то один из входов закрепляется за центральным процессором. Три оставшихся входа обычно предоставляются для работы с дисками, лентами и низкоскоросгными устройствами соответственно. В многопроцессорной системе, в которой каждый модуль памяти имеет, например, четыре входа, два входа выделяются центральным процессорам, а периферийные устройства должны совместно разделять два оставшихся входа.
Существуют системы со структурой, которая может рассматриваться как вариант структуры «канал - центральная память». Такие системы имеют два центральных процессора, один из которых выполняет все функции ввода-вывода, а другой - все функции по реализации вычислений (напомним, что такого типа системы рассматривались в п. 1.2). Ясно, что такой подход представляет собой весьма дорогостоящий путь организации вычислительных систем.
Перейдем и системам со структурой «канал - системный контроллер» (рис. 27). В такого типа системах центральным входом дня каналов ввода-вывода, центральных процессоров и модулей основной памяти служит системный контроллер, который управляет доступом к основной памяти как от каналов ввода-вывода, так и от центрального процессора. Этот контроллер является логическим связывающим звеном между основной памятью и центральным процессором и выполняет функции регулирования потоков информации в системе.
Рассматриваемая структура имеет сходство со структурой «канал - основная память» в том смысле, что в обоих случаях доступ к основной памяти со стороны каналов осуществляется без вмешательства центрального процессора. Вместе с тем системный контроллер обеспечивает доступ к основной памяти подобно тому, как это делает центральный процессор в системах со структурой «канал - центральный процессор», т. е. структура «канал - системный контроллер" с этой точки зрения подобна структуре «канал -центральный процессор». Таким образом, структура «канал - системный контроллер» соединяет в себе особенности структур «канал - центральный процессор» и «канал -основная память». При этом, однако, системный контроллер представляет собой самостоятельное функциональное устройство, которое при правильном применении может обеспечить в системе сочетание достоинств двух последних структур.
Основное достоинство структуры «канал - системный контроллер" заключается в логической координации всех системных действий. Центральный процессор имеет все возможности для выполнения вычислений, в то время как контроллер осуществляет жесткое управление системой. Одна из проблем, которая возникает для структуры «канал -центральный процессор», состоит в том, что требуется постоянно взаимодействовать с каналами и, как следствие, обслуживать с привлечением процессора большое число прерываний. Эти прерывания возникают в произвольные моменты времени и их влияние на пропускную способность системы может быть самым различным. С другой стороны, в структуре «канал - основная память» имеются скрытые потери, связанные с постоянным опросом со стороны центрального процессора о том, что произошло в течение последнего цикла его работы.
Системный контроллер не имеет отмеченных выше недостатков. Он освобождает центральный процессор от действий по низкоприоритетным вводам и выводам информации и в то же время обеспечивает постоянную готовность центрального процессора к обработке прерываний. Поскольку системный контроллер может устранить недостатки, обсуждавшиеся выше, структура с системным контроллером может считаться эффективной для выполнения как локальных вычислений, так и вычислений со сложным взаимодействием.
Ввиду того, что стоимость оборудования, составляющего системный контроллер, близка к стоимости центрального процессора, то стоимость системы минимальной конфигурации близка к стоимости двухпроцессорной системы. Кроме этого, алгоритм, управляющий работой системного контроллера, может либо давать преимущества вычислениям перед вводом-выводом, либо наоборот, вследствие чего возникают трудности в балансировке работы системы. Поэтому применение рассматриваемой структуры в ряде случаев может оказаться нерациональным, а эффективность - сильно зависящей от характера решаемых задач.
Существует ряд систем, в которых использованы варианты структуры с системными контроллерами. В некоторых из таких систем эти контроллеры выполняют функции общего интерфейса и управления доступом к памяти. В других системах они выполняют только функции коммутации и не обеспечивают приоритетного доступа к памяти, при этом вое требования обслуживаются в порядке их поступления. Эти системы могут быть настроены как на первоочередное выполнение вычислений, так и на первоочередное выполнение ввода-вывода в зависимости от требований конкретной области применения.
В настоящее время наметилась тенденция в направлении распределенной обработки при помощи групп микропроцессоров. Микропроцессорные компоненты системы, вероятно, не будут крупными фиксированными функциональными устройствами, явно отделенными друг от друга, такими как традиционные устройства управления, арифметико-логические устройства и блоки ввода-вывода. В место этого они будут, по-видимому, динамически перестраиваемыми элементами в целях решения некоторой задачи обработки информации. Например, если данная программа требует большого объема вычислений, то элементы перестраиваются в устройства обработки. Если же, наоборот, требуется больше число операций ввода-вывода, то они перестраиваются в устройства для ввода-вывода. Уже построено несколько микропроцессорных систем с изменяемой структурой. Они занимают промежуточное положение между системами большой и средней производительности. Будущие системы могут быть построены из элементов, имеющих различные возможности -от ограниченных до самых широких. Распространению таких систем будет способствовать простота наращивания элементов, количество которых будет ограничено лишь