Примеры конвейерных систем.
Система STAR-100
Магистральная ВС STAR-100 (рисунок 12.37) разработана фирмой CDC в 1970 г., поставлена в 1973 г.
Рисунок 12.37.
Быстродействие – 108 оп./сек, стоимость 15 млн. долларов, вес 75т. Система STAR-100 состоит из двух подсистем. Первая подсистема осуществляет переработку данных, вторая обеспечивает функциональные операции системы. Ядром первой подсистемы является процессор, образуемый из нескольких магистралей. В реализованном варианте STAR-100 процессор состоит из трех магистралей М1, М2, М3. Магистрали частично специализированы: две из них (М1,М2) служат для выполнения групповых операций, а третья (М3) предназначена для выполнения негрупповых операций над операндами. Иными словами, М1 и М2 – магистрали, каждая из которых служит для выполнения операций (с плавающей запятой) над парами векторов данных, М3 – магистраль для обработки обычных операндов не организованных в векторы. М1 и М2 выполняют основной объем вычислений.
Каждая магистраль Мi, , может включать в себя приблизительно 30 блоков обработки информации. Все блоки работают параллельно, но каждая из них оперирует с вполне определенными элементами векторов данных, либо со своими скалярными операндами. Состав блоков любой магистрали выбран с учетом распределения вероятностей использования операций различных типов.
В магистралях М1 и М2 путем введения служебного булевского вектора обеспечена избирательная обработка элементов векторов. Единица в i-м разряде булевского вектора означает, что операция над i-ми координатами соответствующей пары рабочих векторов производиться не будет. Память может включать в себя до 32 модулей и относиться к классу памятей с перемежающимися адресами. Модули допускают одновременное обращение.
Существует четыре виртуальных канала обращения к памяти. Два канала используются для чтения операндов (для каждой из магистрали М1 и М2, работающих параллельно, из памяти выбирается по два 64-разрядных операнда); один для записи результатов (64 разряда); один для обмена информации с устройствами ввода/вывода.
Использование буферной памяти вызвано тем, что быстродействие памяти существенно ниже быстродействия процессора.
Назначение канала прямого доступа в память (КПДП) и мультиплексного канала следует из структуры связей между устройствами STAR-100.
Был реализован модифицированный вариант- система SUPERSTAR, в 2-3 раза производительней и более компактной.
Использовалась в системе противовоздушной обороны США.
Система CRAY 1-3.
Первый экземпляр системы CRAY-1поставлен в Лос-Аламос в 1976 г. Её особенностью является малые размеры. Машина состоит из цилиндрической стойки диаметром 1,76 м, высотой 1,98 м и диаметром в основании на уровне поля ≈2,74 м. Центральная стойка делится на три 900 сегмента, в каждый из которых входят четыре клинообразные стойки, содержащие схемные модули. Каждый модуль содержит пару печатных плат, смонтированных на противоположных сторонах медной теплопроводящей пластины. Пластины вставляются в вертикальные литые алюминиевые штанги охлаждения. Охлаждение фреоновое (на уровне 25ºС на пластине и 48º-54º С в модуле). Максимальная скорость вычисления равна 160 мфлоп/сек (≈16∙108 оп/сек).
Машина является глубоко конвейеризированной, имеющей все элементы показанной на типовой схеме конвейерной векторной ЭВМ. Набор команд – комбинация векторных и скалярных команд. Элементы векторов могут размещаться в памяти регулярно, причем имеются некоторые средства, основанные на двоичных векторах, для селективного запоминания и проверки векторов. Локальная память доступна программисту. Архитектура CRAY-1 показана на рисунке 12.38.
Рис
Рисунок 12.38.
Процессор обработки команд содержит все скалярные регистры и осуществляет декодирование команд и управление системой. Функцию локальной памяти выполняют восемь векторных регистров. Каждый векторный регистр может содержать до 64 слов (элементов вектора). Имеется 12 функциональных устройств (все конвейеризованы), производящих любые вычислительные действия, необходимые для использования команд. Шесть из этих устройств используются только процессором обработки команд для адресных вычислений, сложения целочисленных адресов, логические операции и операции сдвига, а также для сканирования двоичных векторов. Это последнее устройство – устройство подсчета нулей в старших разрядах 64 двоичного вектора, либо общее число нулей и единиц в двоичном векторе.
Из остальных шести функциональных устройств три используются только для векторных операций над целочисленными и логическими данными, а три других выполняют все операции с плавающей запятой, как для векторных, так и для скалярных команд. Все они являются линейными конвейерами с числом ступеней от 2 до 14. Большинство векторных команд имеет тот же формат, что и их скалярные эквиваленты – 16 разрядная команда, которая содержит 7 разрядный код операции и задает три векторных регистра. В число возможных операций входят: сложение, вычитание, умножение, вычисление обратной величины и сдвиги. Все они выполняются поэтапно. Например, если выбраны векторные регистры vi, vj и vk, то m-е элементы регистров vj и vk прогоняются через соответствующие устройства, а результат заносится в m-й элемент vi. Регистр длины вектора в процессоре обработки команд, содержит максимальное значение m, которое не может быть больше 64. Векторные регистры могут использоваться повторно, так что векторная программа может целиком исполняться, оперируя данными, находящимися в этих регистрах, без обращения к основной памяти. Всего команд 120. Все команды, кроме 18 имеют 16 разрядов, а те – 32 разряда. Команды обращения к адресам памяти (24 разряда) являются 32- разрядными.
Регистр векторной маски содержит 64 разрядный вектор для использования в операции, подобной селективному запоминанию и называемой слиянием. Содержимое m-го разряда регистра векторной маски определяет, какой из двух векторных регистров будет использован для выдачи m-го элемента в регистр результата (слияние двух векторов). К числу других применений этого регистра относится хранение результата векторной команды проверки. Каждый элемент выбранного векторного регистра проверяется на выполнение некоторого условия, и если он удовлетворяет этому условию, то в соответствующий разряд регистра маски заносится 1. Результат может затем использоваться последующей командой слияния или же скалярными командами, которые имеют возможность получать доступ к выбранным элементам векторного регистра. Имеются отдельные команды для передачи данных между векторным регистром и основной памятью. Эти команды задают начальный адрес памяти, промежуток между элементами и векторный регистр. Передача происходит по одному элементу за период синхронизации. Одной командой может быть передано не более 64 слов. Векторные операции над векторами, длиной более 64, должны программироваться явно, а векторы разбиваются на части, длиной меньше 64. Система CRAY-1имеет некоторые уникальные свойства. Первое состоит в том, что векторные команды, которые не используют ни одного общего векторного регистра, могут использоваться почти одновременно (используя разные функциональные устройства). Другое свойство называется зацеплением, когда регистр результата одной векторной команды совпадает с одним из входных регистров следующей команды. Если эти команды используют различные функциональные устройства, то это эквивалентно построению нового конвейера. Система команд позволяет организовать зацепление более чем двух команд. При этом в цепочке могут быть не только арифметические операции, но и векторные: обмен между памятью и векторными регистрами. Память системы представляет собой 16-кратную расслоенную структуру.
Дата добавления: 2015-08-14; просмотров: 681;