Информатика и информационные технологии Электротехника История искусства Каталог графических примеров

Основы вычислительных комплексов

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

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

К числу ЭВМ, в которых широкое применение нашел конвейер команд, относится одна из лучших свое время машин БЭСМ-6. Она была в течение многих лет самой быстродействующей в стране благодаря целому ряду интересных решений, в том числе и конвейеру команд. Последний обеспечивался использованием восьми независимых модулей ОЗУ, работающих в системе чередования адресов, и большого числа быстрых регистров, предназначенных также и для буферизации командной информации. Это позволило получить на БЭСМ-6 производительность 1 млн. операций в секунду.

Определенный интерес представляет построение систем IВМ 360/91, а также более поздней и более современной IВМ 360/195. Пять основных устройств системы: ОЗУ, управления памятью с буферным ОЗУ, процессор команд, операционные устройства для выполнения операций с плавающей запятой, с фиксированной запятой и десятичной арифметики работают одновременно и независимо друг от друга. Оперативное ЗУ построено по многомодульному принципу (до 32 модулей), устройство управления памятью работает по принципу конвейера и обеспечивает 8- или 16-кратное чередование адресов при обращении процессора и каналов ввода – вывода информации к ОЗУ.

 

Рис. 2.1. Система STAR-100

 

Кроме конвейера команд в системах IВМ 360/91 и IВМ 370/195 в обоих ОУ используется также и конвейерная обработка данных. Однако в системе 360/195 конвейер получается довольно внушительный: в каждом цикле осуществляется выборка до 8 команд, расшифровка 16 команд, до 3 операций над адресами и до 3 процессорных операций. Всего в системе одновременно может обрабатываться до 50 команд.

Существенно более полно используется принцип магистральной обработки в системе STAR-100, разработанной фирмой СDС в 1973 г. Надо сказать, что фирма СDС в большинстве разрабатываемых и выпускаемых машин и систем использует принцип конвейерном обработки для повышения производительности, однако раньше использовался только командный конвейер, а в системе STAR-100 – оба типа конвейера. Система содержит три конвейерных процессора (рис. 3.1): ППЗ – процессор, содержащий конвейерные устройства сложения и умножения с плавающей запятой; ППФЗ – процессор, содержащий конвейерное устройство сложения с плавающей запятой, конвейерное многоцелевое устройство, выполняющее умножение с фиксированной запятой, деление и извлечение квадратного корня; СП – специальный конвейерный 16-разрядный процессор, выполняющий операции с фиксированной запятой и ряд логических операций.

Конвейерные процессоры оперируют с 64- или 32-разрядными числами и каждые 40 не выдают результаты в блок управления потоками данных и буферами. Оперативное ЗУ построено по модульному принципу (32-модуля памяти) и работает с чередованием адресов под управлением устройства УП (управление памятью). Каждый малый цикл обращения к памяти – 40 нc. (Полный цикл ОЗУ–1,28 мкс, т. е. 40X32 нc.)

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

Рис. 2.2. Конвейер системы АSС

 

Конвейерный умножитель включает в себя 8 сегментов, поэтому время выполнения операции умножения составляет 320 нс. Но при загрузке конвейерных процессоров длинной последовательностью операндов, над которыми производится одна и та же операция, результат выдается каждые 40 нс. Учитывая, что каждый из двух основных процессоров может выдавать по два 32-разрядных результата, нетрудно подсчитать, что система STAR-100 может в пределе выполнять до 100 млн. операций в секунду.

Устройства конвейерной обработки далеко не всегда выполняют с жесткой настройкой на одну определенную операцию. Чаще их делают многоцелевыми, вводя в конвейер сегменты, необходимые для реализации полного набора операций, в процессе выполнения которых весь тракт настраивается соответствующим образом. На рис. 3.2 представлена структура системы АSС фирмы «Техас Инструментс» и показано, какие сегменты универсальной цепочки работают при различных операциях.

Одной из наиболее высокопроизводительных вычислительных систем в мире общепризнанно считается система CRAY, созданная в 1976 г. В этой системе конвейерный принцип обработки используется в максимальной степени: имеется и конвейер команд, и конвейер арифметических и логических операций. Кроме того, в системе широко применяется совмещенная обработка информации несколькими устройствами. Все это позволило при решении научных задач достигнуть чрезвычайно высокой производительности – до 250 млн. операций в секунду

Рис. 2.3. Система СRAY

 

Система CRAY (рис. 2.3) состоит из четырех секций: функциональных устройств, регистров, управления программой, памяти и ввода – вывода. В системе 12 функциональных устройств, работающих в режиме конвейера, разбитых на 4 группы: адресную, скалярную, операций с плавающей запятой и векторную. Число сегментов в каждом функциональном устройстве (указано в скобках на схеме) сравнительно невелико, оно зависит от сложности операций и колеблется в пределах от 1 до 14 (вычисление обратной величины). Такое сравнительно небольшое число сегментов в каждом магистральном устройстве имеет определенные преимущества – они сравнительно быстро заполняются. Длительность цикла каждого сегмента составляет 12,5 нс: это значит, что каждые 12,5 нс любое функциональное устройство может выдавать результаты.

Оперативная память системы, выполненная на интегральных схемах, имеет емкость 1 млн. слов (позже была увеличена до 4 млн.) и организована в виде 16 блоков памяти с независимым управлением емкостью по 64 кслов. Каждый блок включает в себя 72 модуля, причем модуль содержит один разряд всех 64 кслов. Система работает с 64-разрядными словами, 8 разрядов используется для коррекции одиночных и обнаружения двойных ошибок, что обеспечивает высокую надежность хранения информации. Независимые блоки дают возможность организовать 16-кратное чередование адресов. Цикл обращения к памяти – 50 нс.

Существенную роль в достижении столь высокой производительности играют быстрые регистры. Они разделены на 3 группы: адресные – А-регистры, скалярные – S-регистры и векторные – V-регистры. Адресные регистры 24-разрядные, их всего восемь; 64-разрядных 5-регистров также восемь и восемь 64-элементных V-регистров, причем каждый элемент вектора содержит 64-разрядное слово. Время обращения к регистру всего лишь 6 нc. В системе имеется еще две группы промежуточных регистров (между ОЗУ и А-, S- и V-регистрами): 24-разрядные В-регистры и 64-разрядные Т-регистры, на рисунке не показанные. Все эти регистры позволяют конвейерным устройствам работать с максимальной скоростью без непосредственного обращения к ОЗУ: все операнды получаются из регистров и результаты отправляются также в регистры. Благодаря регистрам конвейерные устройства связываются в цепочки, т. е, поток результатов засылаемых в векторный регистр одним устройством, одновременно служит входным потоком операндов для другого устройства; исключаются промежуточные обращения к памяти. Это является еще одной отличительной особенностью системы CRAY, повышающей ее производительность.

Состав операций универсальный, только вместо деления используется операция вычисления обратной величины. Общее число операций 128. Команды двух форматов – 16 и 32 разряда. Арифметические и логические команды имеют 16-разрядный формат 7 разрядов – код операции и по 3 разряда для адресов регистров операндов и результата, причем 6 разрядов адресов регистров операндов в совокупности с дополнительными 16 разрядами используются для обращения к основной памяти и командам перехода.

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

Высокая производительность системы CRAY обеспечивается и другими факторами.

1. Конструкция ЭВМ весьма компактна, благодаря чему время передачи сигналов между устройствами мало, и это позволяет работать с тактом 12.5 нс.

2. Используется гибкая система адресации выборка из массивов может осуществляться по строкам, столбцам и диагоналям с произвольным постоянным шагом.

3. В состав системы входит подсистема дисковой памяти из четырех контроллеров, каждый из которых управляет четырьмя накопителями общей емкостью 76 854 млрд. бит.

4. Система имеет достаточно современное программное обеспечение, в том числе: операционную систему, рассчитанную на пакетную мультипрограммную обработку 63 задач; оптимизирующий компилятор с фортрана, автоматически распознающий циклы, удобные для реализации векторными командами; макроассемблер, библиотеку стандартных программ, загрузчик и другие средства.

Все это в совокупности и дает основание считать системы CRAY наиболее высокопроизводительными.

Начертательная геометрия и инженерная графика, перспектива