Одна из разновидностей многопроцессорных ЦВМ — однородные вычислительные среды.
ß Рис.13. Однородная вычислительная среда
Однородные вычислительные среды (ОВС) предназначены для массовой обработки информации и представляют собой совокупность простейших одинаковых логических автоматов, регулярным образом соединенных между собой и программно настраиваемых на выполнение некоторой функции. На рис.13 показана двухмерная решетчатая структура, в узлах которой располагаются функциональные устройства обработки информации, имеющие связи с четырьмя соседними и представляющие собой логиче- ские автоматы — вычислительные ячейки (ВЯ). Вычислительная ячейка выполняет набор элементарных операций. Для согласования во времени параллельно протекающих вычислительных процессов в структуру ОВС могут быть введены элементарные запоминающие ячейки (ЗЯ), существляющие хранение данных определенное количество тактов. При решении с помощью ОВС конкретной задачи могут задействоваться не все физические связи с соседними функциональными устройствами: логические взаимосвязи между ВЯ являются переменными и определяются логической организацией решаемой задачи. В состав ВЯ обычно входят одноразрядный процессорный элемент, программируемые коммутаторы связей с соседними ВЯ, блок транзитной передачи данных через ВЯ (рис.14).
Рис.14. Структура вычислительной ячейки
Блок транзитной передачи является логическим устройством, обеспечивающим передачу данных от одной ВЯ к другой, если между ними нет физической связи. Структура ЗЯ аналогична структуре ВЯ, только место процессорного элемента занимает запоминающее устройство, длительность хранения в котором задается программно.
ОВС может находиться в двух состояниях: настройки и решения задачи.
При настройке ОВС производится подготовка ВЯ к реализации определенных
операций и устанавливаются логические связи между ВЯ. Для этого в составе
ВЯ предусмотрена специальная настроечная память (регистр команд), в которой запоминается выполняемая операция, программно формируются связи с соседними ВЯ, определяется направление дальнейшей передачи настроечной информации. Программа настройки формируется вне ОВС и хранится в устройстве управления вычислительной средой, которое может представлять собой отдельную ЦВМ. Перенастройка может производиться как перед решением задачи, так и в процессе решения. В первом случае ОВС настраивается и остается неизменной до начала настройки на следующую задачу. При перенастройке ОВС в процессе решения задачи должно быть выделено дополнительное время, а решение задачи приостановлено. По сравнению с фиксированной настройкой схема переменной настройки отличается большей гибкостью, но вместе с тем и большей сложностью. По окончании режима настройки осуществляется решение функциональной задачи.
Потенциальное быстродействие ОВС определяется быстродействием ВЯ и их общим количеством. При решении конкретных задач обычно функционирует лишь часть от общего количества ВЯ, так как распараллеливание вычислительного процесса всегда имеет определенные пределы. Средним количеством функционирующих ВЯ и определяется реальная производительность ОВС.
При построении комплексов бортового оборудования чаще всего применяют многомашинные системы. В состав многомашинных систем в качестве отдельных элементов могут входить БЦВМ или вычислители всех рассмотренных типов. Структура и характеристики многомашинных систем очень разнообразны и определяются требованиями конкретного применения.
Общими чертами многомашинных систем являются:
- многоуровневая иерархическая организация;
- модульность структуры и конструкции;
- наличие унифицированных средств информационного обмена.
Еще более автономные структуры класса MIMD представляют собой вычислительные сети, которые состоят из территориально разнесенных узлов и соединяющих их линий связи.
Промежуточное положение между многопроцессорными системами с общей памятью и многомашинными системами занимают многопроцессорные системы с распределенной памятью. В этих машинах память распределяется между узлами (процессорными элементами) и все узлы соединяются между собой посредством того или иного типа сети. Доступ к памяти может быть локальным или удаленным. Специальные контроллеры, размещаемые в узлах сети, могут на основе анализа адреса обращения принять решение о том, находятся ли требуемые данные в локальной памяти данного узла, или размещаются в памяти удаленного узла. В последнем случае контроллеру удаленной памяти посылается сообщение для обращения к требуемым данным. Хотя многопроцессорные машины на базе общей шины все еще доминируют, тенденции направлены на использование преимуществ распределенной памяти.