Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
konspekt-s-30-po-51.docx
Скачиваний:
3
Добавлен:
02.09.2019
Размер:
12.84 Mб
Скачать

5. Системы с конвейерной обработкой информации

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

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

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

На рис. 35а показана схема четырехэтапной арифметика-магистральной обработки, когда каждая команда выполняется последовательно на четырех устройствах, а последовательность четырех соседних команд заполняет арифметическую магистраль системы так, что одновременно на последнем четвертом устройстве выполняется завершающий четвертый этап первой команды, на третьем устройстве - третий этап второй команды, на втором устройстве - второй этап третьей команды и на первом устройстве -начальный, первый этап четвертой команды. После завершения выполнения устройствами своих этапов обработки первая команда оказывается выполненной и выводится из магистрали, вторая, третья и четвертая команды поступают на очередные четвертый, третий и второй этапы соответственно, а в первое устройство поступает очередная пятая команда для начала выполнения на первом этапе и так далее. Арифметико-магистральная обработка реализована в системах STAR 100 и ASC, в первой из которых используется четырехэтапная магистраль для сложения и шестиэтапная магистраль для умножения, а во второй -магистраль - из восьми этапов общего назначения.

Более высокий уровень магистральной обработки представляет собой командно-магистральная обработка (рис. 356). В этом случае каждая команда потока команд выполняется на соответствующем ей функциональном обрабатывающем устройстве, которые могут работать одновременно. Ясно, что для эффективной работы обрабатываемые команды должны быть независимыми, а их состав в динамике счета - по возможности идентичным составу функциональных устройств, чтобы одновременно загружать как можно большее число функциональных устройств. Такой способ магистральной обработки является развитием способа опережающего просмотра команд в обычных ЭВМ и называется также способом «параллелизма функциональных устройств», Наиболее известным примером реализации командно-магистральной обработки является система CDC 6600, в которой имеется 10 специализированных устройств обработки (устройства умножения с плавающей запятой, сложения целых чисел, приращения и другие). На практике оказалось, что в среднем загружена примерно четвертая часть ее функциональных устройств одновременно. Концепция макромагастральной обработки (рис. 35в) основана на следующих соображениях. Пусть множество данных может быть обработано посредством решения последовательно двух (или более) различных задач. Тогда эту обработку можно осуществить при помощи двух различных процессоров, каждый из которых выполняет решение одной из задач. Данные га буфера поступают на исполнение в первый процессор, который выполняет решение первой задачи, после чего результаты поступают в следующий буфер, откуда они передаются во второй процессор для решения второй задачи. В это же время следующий массив данных поступает из первого буфера в первый процессор для решения первой задачи и так далее, в результате чего оба процессора работают одновременно (в наиболее благоприятном случае -без перерывов). Ясно, что макромагистральная обработка может быть реализована при помощи обычных процессоров. Таким образом, все три вида обработки характерны тем, что имеется магистраль (конвейер) обработки с независимыми компонентами, которые при заполнении магистрали работают, по возможности, одновременно и без перерывов. Магистральные системы можно различать не только по способу магистральной обработки, но и по типу конфигурации магистрали - статические и динамические с аппаратной или с программной перестройкой, а также по типу команд - с обычными или векторными командами. Функциональные возможности магистральной обработки наиболее полно проявляются при векторной обработке данных, когда при помощи так называемых векторных команд выполняются однотипные операции над упорядоченной группой данных.

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

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

1) число конвейерных процессоров в системе определяется алгоритмическими возможностями решаемых задач, надежностью управляющего устройства и технико-экономическими ограничениями; это число существенно меньше 10;

2) число модулей в одном конвейерном процессоре не может быть произвольно большим, что следует, например, из алгоритмов решения сложных задач и неабсолютной надежности электронных компонентов; это число порядка 10;

3) число секций в любом модуле (при реализации конвейерного способа обработки информации на микроуровне) ограничивается алгоритмами выполнения арифметических операций и имеет порядок 10.

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

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