На вычислительные системы общего назначения, которые используются для научно-технических расчётов и моделирования возлагается выполнение широкого спектра задач. При этом вычислительная система должна реализовывать обширный набор функций над различными типами и структурами данных. Это могут быть функции: обработка целочисленных значений, действительных чисел, графической информации, текста, матричная обработка, трансляция программ, доступ к данным. Кроме того, для управления вычислительными процессами и функционированием необходимо реализовать специфические функции управляющих программ операционной системы. Это функции, например, управления виртуальной памятью, управление средствами ввода-вывода, управление средствами передачи данных, контроль и диагностика системы и другие функции. В ЭВМ первого и второго поколения все эти функции реализовывались одним процессором и интерпретировались им в виде арифметических и логических операций. Такое же положение сохранялось в основном и в ЭВМ третьего поколения, в которых лишь простейшие операции ввода-вывода снимались с центрального процессора и передавались специализированным устройствам каналам или процессорам ввода-вывода. Высокопроизводительные системы общего назначения создаются на основе многопроцессорных комплексов. Использование в таких системах однотипных процессоров аналогичных процессорам ЭВМ общего назначения оказывается неэкономичным. Наиболее экономичный способ построения многопроцессорной системы общего назначения – использование специализированных процессоров, которые ориентированы на реализацию определённых функций.
При этом, значительно сокращаются затраты оборудования системы и повышается его производительность.
Многопроцессорные вычислительные системы, построенные на основе разнотипных процессоров ориентированных на реализацию определённых функций называются функционально распределёнными вычислительными системами (ФРВС). Это неоднородные системы и строятся они как проблемно-ориентированные путём включения в их состав набора процессоров, соответствующего потребностям обрабатываемых задач.
Структура и организация
Структурная организация функционально-распределённых систем представлена на рисунке ниже:
Система состоит из совокупности процессоров, имеющих индивидуальную память, и основной памяти. Ядро системы обеспечивает информационное сопряжение всех устройств. Ядро может быть реализовано в виде системной шины, коммутационного поля или коммутатора основной памяти. В первых двух случаях процессор может обмениваться данными с любыми другими процессорами и с основной памятью. При использовании коммутатора основной памяти обмен данными производится только через память. В представленной на рисунке структуре управляющий процессор реализует супервизорные функции, т.е. управление ресурсами и задачами. Обрабатывающий процессор обработку числовых и символьных данных. Матричный процессор – матричную и векторную обработку. Языковой процессор – трансляцию программ. Процессоры баз данных – доступ к наборам данных и управление базами данных. Процессоры ввода-вывода обслуживают устройства ввода-вывода и телекоммуникационный процессор – обеспечивает передачу данных по каналам связи. Состав процессоров в конкретной системе зависит от класса решаемых задач. Так, в системе могут быть два обрабатывающих процессора или несколько языковых.
Обработка каждой задачи распределяется между процессорами. При этом функции управления данными реализуются процессорами изображёнными в нижней части рисунка. Разные этапы заданий программы и блоки программ выполняются обрабатывающими матричными и языковым процессорами. Распределение ресурсов между задачами и управление задачами производится управляющим процессором, который реализует управляющие программы операционной системы. Загрузка оборудования увеличивается за счёт мультипрограммирования и организации параллельных вычислений на уровне подзадач. Специализация процессоров обеспечивается на разных уровнях:
- на уровне структуры;
- микропрограммном;
- программном.
Специализация на уровне структуры достигается за счёт использования в операционной части процессора специальных регистровых структур и микроопераций. Такими являются матричные процессоры, содержащие совокупность арифметико-логических устройств, с помощью которых обрабатываются параллельно векторы и матрицы. Специализация на микропрограммном уровне сводится к созданию с помощью микропрограмм специализированного набора операций, ориентированного на вычисление заданного набора функций. При использовании ОЗУ для хранения микропрограмм специализация процессоров производится путём динамического микропрограммирования, т.е. загрузки в память соответствующего набора микропрограмм. В этом случае имеется возможность оперативно изменять конфигурацию системы, загружая структурно одинаковые процессоры необходимые наборы микропрограмм. Функциональная специализация процессоров на программном уровне достигается за счёт загрузки в процессор соответствующего набора программ. В функционально распределённых вычислительных системах используется как правило все три уровня специализации процессоров. Обрабатывающие и матричные процессоры имеют специализированную структуру. Остальные процессоры функционально специализируются на уровне микропрограмм или программ.
Системы с перестраиваемой структурой
Универсальный способ создания высокопроизводительных и высоконадежных вычислительных систем – объединение процессоров в многомашинные комплексы, при этом обеспечивается:
1. Параллелизм процессов управления доступа к данным и обработке.
2. Распределенность процессов между модулями системы, то есть децентрализованность управления работой системы и асинхронность взаимодействия процессоров и модулей.
3. Перестраиваемость структуры с целью адаптации систем к потребностям задач в ресурсах и повышения устойчивости к отказам элементов.
4. Открытость – возможность развития системы за счет подключения к ней дополнительных модулей без изменения принципа функционирования имеющихся модулей.
5. Модульность технических и программных средств и регулярность структуры.
Параллелизм вычислительных процессов и процессов управления создает основы для повышения производительности системы. Распределенность процессов позволяет строить высокопроизводительные системы из достаточно простых модулей(например из микро-модулей с небольшим быстродействием и ограниченной емкостью памяти). Перестраиваемость структур обеспечивает с одной стороны высокую производительность за счет ее адаптации как составу обрабатываемых задач, и с другой стороны живучесть системы при отказах элементов. Открытость системы позволяет в рамках фиксированной архитектуры создавать системы разной производительности за счет изменения числа модулей. Модульность технических и программных средств существенно упрощает разработку и производство элементов системы за счет чего снижается ее стоимость а также порождает регулярность структуры и упрощает управление системой. Последнее десятилетие ведутся интенсивные исследования параллельных распределенных открытых многомодульных систем с перестраиваемой структурой на основе которых разработано большое число систем повышенной производительности и надежности. Архитектура систем с рассматриваемыми свойствами имеет особое значение для использования микроэвм в качестве элементарной базы. Возможность неограниченного объединение микроэвм в системе эффективно адаптирующихся к потребностям задач позволило бы решить многие проблемы. Однако для создания таких систем необходимо решить комплекс проблем системного управления представляющих собой программно-аппаратную надстройку над базовыми микроэвм. Среди этих проблем важнейшей является:
1. Структурная организация систем обеспечивающая образования ансамбля процессоров, запоминающих устройств и каналов обмена данными соответствующих потребностям вычислительного процесса при умеренных затратах ресурсов на их организацию и координации.
2. Организация вычислительных процессов обеспечивающая их параллелизм, распределение по системе модулей и координацию асинхронно выполняемых под процессов при умеренных издержках.
3. Создание языков высокого уровня уписывающих алгоритмы в системно-независимой форме и сохраняющих представления о параллелизме вычислительного процесса.
Отметим что к настоящему времени данные проблемы не решены окончательно, а известные разработки вычислительных систем с перестраиваемой структурой лишь отчасти обладают нужными свойствами.
Структурная организация
Вычислительные системы с перестраиваемой структурой строятся на основе микропроцессорных модулей. Модуль должен реализовывать следующую функцию:
1. Обработку данных
2. Управление вычислительным процессом. Которая обеспечивает взаимодействие модуля с ансамблем модулей и с системой целых.
3. Установление соединений с другими модулями и передачу данных между ними для обеспечения вычислительных процессов.
С учетом указанных функций модуль вычислительной системы может рассматриваться как совокупность трех процессоров. В состав данного модуля входит обрабатывающий, управляющий и коммуникационный процессор. Физический модуль может реализовываться на основе одной микроэвм или на основе нескольких микропроцессоров между которыми разделяются данные функции. В вычислительных системах с перестраиваемой структурой модули объединяются простейшей структурой позволяющей легко определять пути соединения между ними. Наиболее подходящими для построения рассматриваемых систем является матричные, пирамидальные и кубические структуры. Модули в которых выделили коммутационный процессор соединяются посредством последнего в матрицу. Коммутационные процессоры и каналы связи образуют в совокупности коммутационное поле которое обеспечивает соединение модулей и передачу данных между ними. Другой способ структурной организации систем с перестраиваемой структурой на основе вычислительных комплексов имеющих коммутационное поле которое в свою очередь образовано совокупностью коммутатора с децентрализованным управлением.
Славика нету поэтому у сереги можно рисунок взять Многоуровневого коммутационного поля.
Здесь a1…a16 входы коммутатора к которым подсоединяются микропроцессорные модули. Штриховой линией показан пример соединения модулей через коммутатор. В таких полях нижний уровень коммутации обеспечивает соединение между соседними модулями. Следующий уровень коммутации соединение между соседними группами и так далее, многоуровневые коммутационные поля позволяют создавать соединения между любыми парами процессорных модулей с помощью умеренного числа коммутационных модулей в системах с матричной, кубической и пирамидальной структурами. Однако среднее число одновременно устанавливаемых соединений в многоуровневых коммутационных полях меньше среднего числа соединений обеспечиваемых матричными и аналогичными структурами что приводит к снижению степени параллелизма вычислительных процессов и следовательно к уменьшению производительности системы.