Числа с ПЗ представлены в ЦВМ двумя числовыми характеристиками – мантиссами и порядками, причем мантиссы изображаются в ПК и должны быть нормализованными.
Модели множительных устройств чисел с ПЗ можно условно разбить на два блока: блок для обработки мантисс и блок для обработки порядков. При этом в первом блоке надо перемножить мантиссы сомножителей, а во втором – сложить порядки.
Мантиссы, представленные в ПК, могут быть перемножены любым из четырех способов по правилам умножения чисел с ФЗ в ПК – будет получено 2n-разрядное произведение мантисс сомножителей. Этот алгоритм изучен студентами в лабораторной работе №1.
Рассмотрим подробнее блок для обработки порядков. Любой порядок – это целое число со знаком, представленное в ПК. Для выполнения операций с порядками отрицательные необходимо переводить в ОК или ДК, что в моделях реализуется по-разному. Рассмотрим оба варианта.
Если отрицательные порядки переводить в ОК через совокупность схем сложения по модулю 2, то в сумматоре порядков выход переноса CR необходимо замкнуть на вход переноса CRP. Если в результате действия получится отрицательный порядок, а для вывода на ШД его нужно преобразовать обратно в ПК, то достаточно перед выдачей результата просто инвертировать цифровую часть отрицательного порядка через схемы сложения по модулю 2.
Если отрицательные порядки переводить в ДК, для чего в модели также используется совокупность схем сложения по модулю 2 для формирования инверсии цифровой части отрицательного порядка, то в сумматоре порядков на вход переноса CRP подается «1» в том же такте, в котором подается управляющий сигнал на схему сложения по модулю 2. Таким образом, если в результате получится отрицательный порядок, то для преобразования в ПК необходимо вычесть единицу из текущего значения порядка (для этого результат сложения хранится в счетчике СТр) и инвертировать цифровую часть порядка через схему сложения по модулю 2. В программной модели реализован второй способ.
Поскольку отрицательный порядок может оказаться как в RG1p, так и в RG2p, то модели содержат мультиплексор MSp с двумя входными плечами и одним управляющим сигналом.
При проектировании устройств умножения чисел с ПЗ необходимо помнить, что в блоке обработки порядков возможна ситуация ПРС,которую надо отслеживать. Эта ситуация может возникнуть как при сложении порядков одинакового знака, так и при получении денормализованной мантиссы с максимальным значением порядка.
Однако, в лабораторном практикуме, чтобы не усложнять модели, предлагаются упрощённые схемы моделей, в которых ситуация ПРС порядков не отслеживается.
Особенность работы устройств обработки чисел с ПЗ – необходимость вывода результата операции с нормализованной мантиссой. Поэтому целесообразно результирующий порядок с выхода SMp заносить не в обычный регистр, а в счетчик. Это позволит после анализа мантиссы произведения на нормализованность выполнить нормализацию сдвигом мантиссы на один разряд влево с вычитанием единицы из порядка, занесенного в счетчик.
Отдельно следует сказать об округлении мантиссы результата. Шина данных (ШД) ориентирована на определенную разрядность операндов. В моделях лабораторного практикума для чисел с ПЗ определен следующий формат: мантисса со знаком – 8 разрядов, порядок со знаком – 5 разрядов. При умножении n-разрядных операндов в форме с ФЗ точное произведение получается 2n-разрядным, и его можно вывести через ШД за 2 такта машинного времени.
При умножении чисел с ПЗ точное произведение мантисс получается также 2n-разрядным, а под мантиссу произведения отведено n разрядов. В этом случае необходимо выполнить округление мантиссы. В теории погрешностей показано, что меньшую погрешность дает симметричное округление, которое технически реализовать непросто: нужно дополнительное оборудование, которое значительно усложнит модель.
Поэтому в моделях лабораторного практикума выполняется округление усечением путём отбрасывания младших n разрядов мантиссы, что увеличивает погрешность округления.