Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория 2 / 5 Архитектура вычислительных систем и сетей / Архитектура вычислительных систем и сетей.docx
Скачиваний:
125
Добавлен:
11.04.2015
Размер:
644.3 Кб
Скачать

2) Конвейерные вычислительные системы.

Этот метод обработки подобен функционированию сборочного конвейера и особенно удобен для работы с векторами и массивами. Конвейер состоит из набора функциональных устройств (ФУ), которые реализуют различные операции, и могут работать одновременно. Когда операция k завершается, она передает свой результат операции (k + 1) и ожидает от операции (k-1) нового задания. Если каждая операция занимает t единиц времени и всего n операций, то завершение конвейерной обработки одного операнда потребует n*t единиц времени. Однако, если на конвейерную обработку продолжают поступать новые операнды, результаты могут выдаваться со скоростью один в каждые t единиц времени.

Пример Конвейер для сложения двух чисел с плавающей точкой. Конвейер образуют следующие операции:

1.Выделить экспоненты обоих чисел.

2.Сравнить экспоненты.

3.Сдвинуть точку в числе с меньшей экспонентой для их уравнения.

4.Сложить дроби.

5.Нормализовать результат.

Этот конвейер позволяет выполнять до пяти сложений одновременно. 

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

Конвейерная обработка также может быть и асинхронной. В асинхронном конвейере процесс обработки может быть ускорен по сравнению с синхронным. Результат операции k асинхронного конвейера может быть послан операции (k+1), как только операция k выполнена, а операция (k+1) свободна. Обычно асинхронный конвейер предполагает наличие регистров. Операция использует значение своего входного регистра для вычисления значения выходного регистра.

При этом ФУ возобновляет свою работу, когда его входной регистр заполнен новым значением, а само ФУ и его выходной регистр свободны. Передача содержимого выходного регистра k-того ФУ во входной регистр k+1-вого ФУ может произойти, если выходной регистр k-того ФУ заполнен, а входной регистр k+1-вого ФУ и само ФУ свободны.

3) Матричные вычислительные системы.

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

Между матричными и векторными системами есть существенная разница. Матричный процессор интегрирует множество идентичных функциональных блоков (ФБ), логически объединенных в матрицу и работающих в SIMD-стиле. Не столь существенно, как конструктивно реализована матрица процессорных элементов — на едином кристалле или на нескольких. Важен сам принцип - ФБ логически скомпонованы в матрицу и работают синхронно, то есть присутствует только один поток команд для всех. Векторный процессор имеет встроенные команды для обработки векторов данных, что позволяет эффективно загрузить конвейер из функциональных блоков. В свою очередь, векторные процессоры проще использовать, потому что команды для обработки векторов — это более удобная для человека модель программирования, чем SIMD.

Структуру матричной вычислительной системы можно представить в следующем виде.

Обобщенная модель матричной ВС

Рассмотрим компоненты обобщенной модели матричной ВС.

*Массив процессоров (МПр) осуществляет параллельную обработку множественных элементов данных.

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

*Сигналы управления используются для синхронизации команд и пересылок, а также для управления процессом вычислений, в частности определяют, какие процессоры массива должны выполнять операцию, а какие - нет.

*Шина широковещательной рассылки служит для передачи команд, данных и сигналов управления из КМП в массив процессоров.

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

*Интерфейсная ВМ (front-end computer)

служит для обеспечения пользователя удобным интерфейсом при создании и отладке программ. В роли такой ВМ выступает универсальная вычислительная машина, на которую дополнительно возлагается задача загрузки программ и данных в КМП. Кроме того, загрузка программ и данных в КМП может производиться и напрямую с устройств ввода/вывода, например с магнитных дисков. После загрузки КМП приступает к выполнению программы, транслируя в МПр по широковещательной шине соответствующие SIMD-команды

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

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