АЛУ обеспечивает стандартный набор арифметических и логических функций: сложение, вычитание, смену арифметического знака, инкремент, декремент, получение абсолютного значения, логическое И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ и инверсию. Также поддерживаются примитивы деления.
ОСОБЕННОСТИ АРИФМЕТИКО-ЛОГИЧЕСКОГО УСТРОЙСТВА (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 процессор может генерировать одновременно два адреса для обеспечения одновременной выборки двух операндов.