Основы вычислительных систем
Учебный центр атомной энергетики

 

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

 

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

К числу ЭВМ, в которых широкое применение нашел конвейер команд, относится одна из лучших свое время машин БЭСМ-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 наиболее высокопроизводительными.

Основы вычислительных систем
Учебный центр атомной энергетики

Физика лабы
Элементарная математика Кратные интегралы Математический анализ
Векторный анализ Аналитическая геометрия Пределы функции Изучение функции Конспекты по математике Комплексные числа Дифференциальные уравнения Определенные интегралы Лекции по высшей математике Исследование функций Вычисление объема с помощью интегралов Алгеброические структуры