жуть оброблятися в цілому або дробовому форматах. Формат результату відповідає формату вхідних даних. Кожний операнд з фіксованою точкою може оброблятися як беззнаковий, так і знаковий (в додатковому коді). Якщо обидва вхідних операнда дробові і знакові, то помножувач автоматично зрушує результат вліво на один біт, щоб видалити надмірний знаковий біт. Тип вхідних даних визначається всередині команди помножувача. <В
6.2 Результати з фіксованою точкою
Операції з фіксованою точкою повертають 80-розрядні результати в регістр MR. Положення результату в 80-розрядному полі залежить від його формату: результат дробовий або цілий (див. рис.2.2). Якщо результат надсилається прямо в регістровий файл, то пересилаються ті 32 розряду, які відповідають формату вхідних даних: тобто розряди 63-32 для дробового результату або розряди 31-0 - для цілого. Вісім молодших біт 40-розрядного регістра реєстрового файлу заповнюються нулями. Перед передачею дробового результату в регістровий файл він може бути заокруглений до найближчого (див. далі). Якщо округлення не визначено, то непотрібні розряди 31-0 відкидаються, що відповідає усіканню дробового результату (округлення до нуля).
6.2.1 Регістри MR
Результат може пересилатися в один з двох 80-розрядних регістрів результатів (MR). Регістри MR мають однаковий формат - кожен ділиться на регістри MR2, MR1, MRO, вміст яких може окремо зчитуватися або записуватися в регістровий файл. Коли дані зчитуються з MR2, вони доповнюються за знаком до 32 біт (див. рис.2.3). Коли дані зчитуються з MR2, MR1, MR0 в регістровий файл, вісім молодших біт 40-розрядного регістра реєстровогофайлу заповнюються нулями. При запису даних у MR2, MR1, MR0 з регістра реєстрового файлу зчитуються 32 старших біта, а вісім молодших ігноруються. Дані, записані в MR1, доповнюються за знаком у MR2, тобто старші біти MR1 повторюються в 16 розрядах MR2. Однак записані в MR0 дані не доповнюються по знаку.
Два регістру MR позначаються як MRF (основний) і MRB (додатковий). Основний відноситься до тих регістрів, які зазвичай активуються бітом SRCU в регістрі MODEL Коли використовується тільки один регістр MR, біт SRCU активує або один, або інший регістр для швидкого контекстного перемикання. Однак, на відміну від інших регістрів, які мають додатковий набір, регістри MRF і MRB можуть використовуватися в один і той же час. Всі команди накопичення (з фіксованою точкою) можуть визначати будь-який регістр результату для накопичення незалежно від стану біта SRCU.Т.о., замість використання регістрів MR як основного і додаткового їх можна використовувати як два паралельних накопичувача. Ця особливість полегшує роботу з комплексними числами. p> Пересилання даних між регістрами MR і регістровим файлом розглядається як операція обчислювального пристрою, т.к вона задіють помножувач. Т.ч., хоча синтаксис команди передачі такої ж, як і для будь іншої команди передачі даних в регістровий файл або з нього, передача даних в MR розміщується в команді, в тому місці, де зазвичай розташовується обчислення. Наприклад, процесор може виконувати множення/накопичення паралельно зі зчитуванням даних з пам'яті: MRF = MRF-R5 * R0, R6 = DM (II, М2); або може виконувати пересилку даних в MR замість обчислення: R5 = MR1F, R6 = DM (I1, M2).
В
6.3 Операції з фіксованою точкою
Крім множення до операцій з фіксованою точкою відносяться накопичення, округлення і насичення. Існують три операції з вмістом регістра MR: обнулення (Clear), округлення (Round) і насичення (Saturate).
6.3.1 Обнулення регістру MR
Операція обнулення обнуляє заданий регістр MR. Обнулення виконується на початку операції множення/накопичення для видалення результатів, залишилися від попередньої операції.
6.3.2 Округлення вмісту регістра MR
Округлення результату з фіксованою точкою відбувається або як частина операцій множення і множення/накопичення, або як явна операція регістра MR. Операція округлення застосовується тільки до дробовим результатами (цілі результати не округлюються), 80-розрядне число в MR округляється до найближчого за рахунок біта 32, тобто кордону MR1-MR0. Округлений результат з MR1 може бути відправлений у регістровий файл або в той же самий регістр MR. Для округлення дробового результату до нуля (усічення) ви пересилаєте неокругленних результат з MR1, відкидаючи 32 молодших біта (MR0). b>
6.3.3 Насичення регістру MR при переповненні
Операція насичення встановлює максимальне значення в MR, якщо вміст MR переповнене. Переповнення відбувається, коли значення в MR більше максим ального значення даного формату (беззнаковий або в додатковій коді, цілий або дробовий). Нижче наведені шість можливих максимальних чисел, представлених у шестнадцатиричном форматі:
MR2MR1MR0
Максимальний дробове число в додатковому коді
00007...