Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_na_voprosy_po_VSST.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
3.73 Mб
Скачать

2.3.2.Векторные конвейеры

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

Типичное использование векторного конвейера – это процесс, вырабатывающий по двум исходным векторам А и В результирующий вектор С для арифметической операции С = А + В. В этом случае на конвейер поступает множество одинаковых команд.

Векторная команда в этом примере реализуется с помощью специального управляющего вектора. Если n-й разряд управляющего вектора установлен в 1, то операция Cn = Ап + Вп выполняется и Сn записывается в результирующий вектор. Как видно из примера, по мере вычисления адресов пары операндов могут непрерывно вводиться в арифметическое устройство. В такой конвейерной архитектуре требуются регистры или управляющие векторы, хранящие необходимую информацию до тех пор, пока можно начать выполнение команды. Подготовка данных для векторной обработки может потребовать выполнения нескольких операций загрузки регистров. Необходимое для этого время называют временем подготовки ts. Время от момента декодирования векторной команды до появления на выходе конвейера первого элемента результирующего вектора называют временем разгона конвейера tf. Если длина обрабатываемого векторного поля равна l, а время обработки на самой медленной ступени равно tb, то общее время выполнения на конвейере векторной команды составляет

tvp = ts + tf +(l - 1) tb

Для того чтобы выполнить ту же обработку на последовательном конвейере, потребовалось бы использовать его l раз. По сравнению с векторными конвейерами выборка операндов на последовательных конвейерах реализуется менее эффективно. Эквивалентом оценки tvp в последовательном конвейере является величинаtsq = tfs +(l - 1) tbs

где tsq, tfs и tbs соответственно время обработки на последовательном конвейере, время его разгона и время обработки на самой медленной его ступени. Сравнивая tvp и tsq, получаем

ts + tf +(l - 1) tb tfs +(l - 1) tbs ,

если справедливо соотношение

l 1 + (ts + tf - tfs)/( tbs - tb)

Приведенные характеристики показывают, в каких случаях векторный конвейер имеет преимущества по сравнению с последовательным. В работе [8] установлено, что знаменатель, как правило, составляет около одной десятой числителя, что соответствует значению l 10.

11. Классификация архитектур вычислительных систем

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

Наиболее удачной считается классификация Флина, которая строится по признаку одинарности или множественности потоков команд и данных.

Однопроцессорная ЭВМ. Структура обыкновенной однопроцессорной ЭВМ (рисунок 2.5) содержит одинарный поток команд и одинарный поток данных (структура ОКОД или SISD).

Рисунок 2.5 - Структура SISD

Матричная МПС – структура типа ОКМД (или SIMD). Система содержит некоторое число одинаковых сравнительно простых быстродействующих процессоров, соединенных друг с другом и с памятью данных регулярным образом так, что образуется сетка (матрица), в узлах которой размещаются процессоры (см. рисунок 2.6). В системе образуется несколько потоков данных и один общий поток команд. Здесь возникает сложная задача распараллеливания алгоритмов решаемых задач для обеспечения загрузки процессоров.

Рисунок 2.6 - Структура типа SIMD

К типу SIMD принадлежит обширный класс новых архитектур. Основная структура машин этого класса состоит из одного (центрального) контроллера, управляющего рядом одинаковых процессоров. Если эти процессоры организованы так, что при выполнении заданных вычислений, инициированных контроллером, они работают параллельно, то система называется матричным процессором. Если соединить каждый процессор непосредственно с его памятью и работать в режиме поиска по все­му массиву, то получим ассоциативный процессор. Параллельная обработка является общим признаком всех машин класса SIMD. Для архитектуры SIMD требуются соединения двух типов:

  1. между самими процессорными элементами;

  2. между процессорными элементами и запоминающими устройствами.

Для соединительных сетей, обеспечивающих связи между процессорными элементами, в литературе установилось название маршрутных (routing), а для сетей, связывающих процессорные элементы с запоминающими устройствами, — название выравнивающих (alignment).

В зависимости от возможностей контроллера и процессорных элементов, числа процессоров, организации режима поиска и характеристик маршрутных и выравнивающих сетей архитектуры типа SIMD подразделяются на четыре типа:

а) матричные процессоры;

б) ассоциативные процессоры;

в) процессорные ансамбли;

г) конвейерные процессоры.

Матричные процессоры используются для решения векторных и матричных (сеточных) задач и в общем случае для реализации алгоритмов, соответствующих характеристикам архитектуры SIMD. К этим задачам относятся в основном задачи числовой обработки. Для решения нечисловых задач используются ассоциативные процессоры. Процессорные ансамбли применимы как для числовой, так и нечисловой обработки. Конвейерные и векторные процессоры могут быть отнесены к архитектуре SIMD, но их можно причислить также и к другим типам архитектур.

Конвейерная МПС – структура типа МКОД (или MISD) (рисунок 2.7). Система имеет регулярную структуру в виде цепочки последовательно соединенных процессоров или специальных вычислительных блоков (СВБ), так что информация на выходе одного процессора является входной информацией для следующего в конвейерной цепочке. Процессоры (СВБ) образуют конвейер, на вход которого одинарный поток данных доставляет операнды из памяти. Каждый процессор обрабатывает соответствующую часть задачи, передавая результаты соответствующему процессору, который использует их в качестве исходных данных. Таким образом, решение задач для некоторых исходных данных развертывается последовательно в конвейерной цепочке. Это обеспечивает подведение к каждому процессору (СВБ) своего потока команд, то есть имеется множественный поток команд.

Рисунок 2.7 - Структура типа MISD

Общий случай МПС – структура типа МКМД (или MIMD). На рисунке 2.8 представлен общий случай структуры МПС, в которой существуют несколько потоков данных и несколько потоков команд.

Рисунок 2.8 – Структура типа MIMD

К классу MIMD могут быть отнесены, хотя и не всегда однозначно, следующие конфигурации:

  • мультипроцессорные системы;

  • системы с мультиобработкой;

  • многомашинные системы;

  • компьютерные сети.

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

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

12. Мультипроцессорные системы

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]