Блок (сегмент) векторных регистров
Блок (сегмент) векторных регистров
Помимо обычных регистров в процессоре предусматривался блок векторных регистров, предназначенных для обработки массивов за одну машинную команду с широким использованием конвейеров арифметических операций.
Векторный блок состоял из восьми 64-элементных векторных регистров, которые предназначались для хранения восьми операндов-векторов. Каждый такой операнд состоял из 64 компонент (элементов).
В свою очередь каждый компонент представлял собой 64-разрядное слово, в котором хранилось число с плавающей или фиксированной точкой.
В системе команд были предусмотрены специальные операции, в качестве операндов которых выступали многокомпонентные векторы. Не во всех задачах требуется обрабатывать 64-элементные векторы. Специальный управляющий регистр центрального процессора позволял указывать требуемую размерность. Этот регистр был программноуправляемым, что позволяло в процессе вычислений изменять размерность обрабатываемых векторов.
Кроме того, в центральном процессоре предусматривался регистр маски, с помощью которого можно было блокировать выполнение арифметических действий над некоторыми компонентами вектора.
Регистровый трёхадресный ассемблер
Для получения лучших временных характеристик большинство машинных команд было реализовано как команды с регистровыми операндами.
Система команд машины Сгау-1 прямо отражает регистровую структуру центрального процессора, своеобразие связей функциональных модулей с операционными регистрами и связи их с главной памятью. Команды машины Сгау-1 двух форматов: короткие команды — 16 разрядов и длинные — 32 разряда.
Семь первых разрядов определяют код операции, затем следуют трехразрядные поля i, j, к, определяющие соответственно номер регистра результата и номера регистров исходных операндов.