Архитектура Cray-1

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

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

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

Поскольку к регистрам В и Т можно обращаться из программы, то их можно рассматривать как промежуточную, доступную для программы память, хранящую 24-разрядные операнды (В-регистры) и 64-разрядные операнды (Т- регистры). Пересылками между памятью к В- и Т-регистрами управляют программы пользователя. Это означает, что В- и Т-регистры можно рассматривать как программно управляемые буферы. В этом состоит отличие от механизма управления буферной памятью, принятого, например, в машинах IBM-370, который реализован аппаратным путем.

Кроме того, в состав центрального процессора машины Cray-1 входит регистровая буферная память значительного объема для промежуточного храпения команд программы, исполняемой в данный момент. Эта буферная память состоит из четырех секций, каждая по 16 слов. Последовательность команд программы предварительно поступает этот буфер. Если она содержит условный переход, то в буфере накапливаются также команды, относящиеся к последовательности, на которую возможен этот условный переход. Буфер команд является средством ускорения работы устройства управления, так как заметно минимизирует время ожидания команд из главной памяти.

Система команд машины Cray-1 прямо отражает регистровую структуру центрального процессора, своеобразие связи функциональных модулей с операционными регистрами и связи их с главной памятью. Команды машины Cray-1 двух форматов: короткие команды - 16 разрядов и длинные - 32 разряда.

Семь первых разрядов определяют код операции, затем следуют трехразрядные поля i, j, k, определяющие соответственно номер регистра результата и номера регистров исходных операндов.

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

К главным управляющим регистрам машины относятся следующие: счетчик команд, способный адресовать каждую четвертую часть слова, регистр базы (ВА), который служит для образования абсолютного адреса при обращении к памяти и одновременно является верхней границей адресного пространства программы; регистр границы адресов (LA), содержащий нижнюю границу доступных для текущей программы адресов, регистры ВА и LA служат для защиты памяти, выделенной для программы, активной в мультипрограммном режиме. Тем самым в машине Cray-1 применен метод защиты по границам, используемый во многих машинах, в частности в машине Минск-32.

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

Перейти на страницу: 1 2 3

Другое по технологическим наукам

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