Выбрать главу

АЛУ обеспечивает стандартный набор арифметических и логических функций: сложение, вычитание, смену арифметического знака, инкремент, декремент, получение абсолютного значения, логическое И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ и инверсию. Также поддерживаются примитивы деления.

ОСОБЕННОСТИ АРИФМЕТИКО-ЛОГИЧЕСКОГО УСТРОЙСТВА (ALU)

• Сложение, вычитание, изменение знака, инкремент, декремент, получение абсолютного значения, логические операции И, ИЛИ, Исключающее ИЛИ, НЕ

• Операции для работы с битами, константами

• Средства для работы с математикой повышенной точности

• Примитивы деления

• Режим насыщения для работы при переполнении

• Вспомогательные регистры для сохранения контекста за один цикл

• Примеры команд:

♦ IF EQ AR = АХ0 + AY0;

♦ AF = MR1 XOR AY1;

♦ AR = TGLBIT 7 OF АХ1;

Рис. 7.9

MAC способен выполнить за один машинный цикл операцию умножения, умножения/сложения или умножения/вычитания. Он также содержит 40-разрядный аккумулятор, который обеспечивает дополнительные 8 разрядов для накопления результата без потери информации; данное решение допускает возникновение 256-ти переполнений, прежде чем произойдет потеря данных. Специальные команды обеспечивают поддержку блочной плавающей точки, при которой одна экспонента приписывается некоторому набору данных. Для ускорения обработки прерываний в MAC также может использоваться набор вспомогательных регистров. Если после окончания процедуры обработки сигнала установлен флаг MV, это означает, что регистр результата содержит слово, длина которого больше 32 разрядов. В этом случае значение, содержащееся в регистре, может быть заменено максимально или минимально возможной величиной, представимой в пределах 32-хразрядной сетки формате 1.32, в зависимости от природы переполнения.

ОСОБЕННОСТИ УМНОЖИТЕЛЯ-НАКОПИТЕЛЯ (MAC)

• Выполнение умножения, умножения со сложением или умножения с вычитанием за один цикл

• 40-битный аккумулятор для защиты от переполнения (В процессорах семейства 219х имеется второй 40-битный аккумулятор)

• Команда насыщения выполняет обработку ситуации переполнения за один цикл

• Вспомогательные регистры для быстрого переключения контекста

• Примеры команд MAC:

♦ MR = МХ0 * MY0(US);

♦ IF MV SAT MR;

♦ MR = MR — AR * MY1(SS);

♦ MR = MR + MX1 * MY0(RND);

♦ IF LT MR = МХ0 * MX0(UU);

Рис. 7.10

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

ОСОБЕННОСТИ РЕГИСТРА СДВИГА

• Нормализация (преобразование из формата с фиксированной точкой в формат с плавающей точкой)

• Денормализация (преобразование из формата с плавающей точкой в формат с фиксированной точкой)

• Арифметические и логические сдвиги

• Поддержка блочной плавающей точки

• Получение экспоненты

• Вспомогательные регистры для быстрого переключения контекста

• Примеры команд регистра сдвига

♦ SR = ASHIFT SI BY — 6(LO); {Арифметический сдвиг}

♦ SR = SR OR LSHIFT SI BY 3(HI); {Логический сдвиг}

♦ SR = NORM MRl(LO); {Нормализация}

Рис. 7.11

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

АДРЕСНЫЕ ГЕНЕРАТОРЫ И УСТРОЙСТВО УПРАВЛЕНИЯ ПОСЛЕДОВАТЕЛЬНОСТЬЮ ВЫПОЛНЕНИЯ КОМАНД (СЕКВЕНСЕР)

Два специализированных адресных генератора и мощный секвенсер делают использование вычислительных блоков еще более эффективным. Адресные генераторы (DAG) вычисляют адреса при перемещении данных из памяти в регистры и обратно. Каждый генератор DAG обладает четырьмя регистрами-указателями. Всякий раз, когда указатель используется для адресации данных (косвенная адресация), он модифицируется значением, содержащимся в специализированном регистре-модификаторе. Для реализации автоматической циклической буферизации каждому регистру-указателю приписывается регистр, хранящий длину циклического буфера. При использовании двух независимых адресных генераторов DAG процессор может генерировать одновременно два адреса для обеспечения одновременной выборки двух операндов.