Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура средств ВТ / Литература / Цилькер / Организация ЭВМ и систем / Глава 7. Операционные устройства вычислительных машин.doc
Скачиваний:
386
Добавлен:
01.06.2015
Размер:
1.96 Mб
Скачать

Умножение

На начальном этапе умножения чисел с ПЗ производится проверка на равенство нулю одного из сомножителей. Если один из операндов равен нулю, в качестве Результата выдается 0, представленный в данном формате чисел с ПЗ. Следую­щий шаг — сложение порядков. Если в рассматриваемом формате используется смещенный порядок, то в полученной сумме будет содержаться удвоенное смещение, поэтому из нее необходимо вычесть величину смещения. Результатом дей­ствий с порядками может стать как переполнение порядка, так и потеря значимости. В обоих случаях выполнение операции прекращается и выдается соответствую­щее сообщение (возникает прерывание).

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

На последнем шаге производится нормализация и компоновка результата аналогично тому, как это имеет место при сложении и вычитании. Отметим, что при нормализации результата возможно переполнение порядка.

Деление

Сначала также проводится проверка на 0. Если нулю ранен делитель, в зависимости от реализации выдается сообщение о делении на 0, либо в качестве результат принимается бесконечность (для этого в некоторых форматах ПЗ имеется специ­альная кодовая комбинация). Когда нулю равно делимое, результат также прини­мается равным нулю.

Далее выполняется вычитание порядка делителя из порядка делимого, что при­водит к удалению смещения из порядка результата. Следовательно, для получе­ния смещенного порядка результата к разности должно быть добавлено смещение. После выполнения этих действий необходима проверка на переполнение поряд­ков и потерю значимости.

Следующий шаг — деление мантисс, за которым идут нормализация, округле­ние и компоновка числа из мантиссы и порядка.

Реализация логических операций

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

К базовым логическим операциям относятся: логическое отрицание (НЕ), ло­гическое сложение (ИЛИ) и логическое умножение (И). Этот набор, как правило, дополняют операцией сложения по модулю 2 (исключающее ИЛИ).

Рис. 7.55. Структура операционного блока для выполнения логических операций

Булева переменная в ВМ представляется едким битом, однако на практике логические операции в ОПУ выполняются сразу над совокупностью логических переменных, объединенных в рамках одного байта или машинного слова, причем над всеми битами этого слова выполняется одна и та же операция. Поскольку каждый бит совокупности логических переменных рассматривается как независимая переменная, никакие переносы между разрядами не формируются. Операционный блок (ОПБ) для выполнения логических операций обеспечивает реализацию всех перечисленных логических операций. Возможная структура подобного ОПБ по дамана рис 7.55.

Выбор нужной операции осуществляется с помощью двухразрядного управля­ющего кода L (l1l0). С учетом управляющего кода выходная функция Z может быть описана выражением: