4 МИ Архитектура ЭВМ
Лабораторная работа № 1
СЛОЖЕНИЕ И ВЫЧИТАНИЕ ДВОИЧНЫХ ЧИСЕЛ В ЭВМ
Цели работы:
Изучить принцип построения функциональных схем полусумматора и полувычитателя, полного сумматора и полного вычитателя комбинационного типа и исследовать их работу.
Изучить принцип выполнения сложения и вычитания двоичных чисел.
При подготовке к работе необходимо выполнить следующее:
Изучить рекомендуемую литературу и данные указания.
Повторить правила сложения и вычитания двойных чисел основные логические функции и правила алгебры логики.
Зарисовать в тетради схемы исследуемых устройств с указанием цоколевки используемых ИМС.
Ответить на контрольные вопросы.
Теоретическая часть
В цифровой ЭВМ арифметические и логические операции выполняются в арифметико-логических устройствах (АЛУ). Основной частью АЛУ являются сумматоры (SM), выполняющие операции суммирования, вычитания, умножения и деления над двоичными числами. Сумматоры также используются для выполнения некоторых логических операций, например, сравнения, проверки на четность.
Правила двоичного сложения |
Правила двоичного вычитания |
0+0=0 0+1=1 1+0=1 1+1=10 |
0-0=0 1-0=1 1-1=0 10-1=1 |
В данной работе изучается один из вариантов сумматора комбинационного типа, построенный на логических элементах (ЛЭ). Основным элементом сумматора является полусумматор, выполняющий арифметическое суммирование двух одноразрядных двоичных чисел A и B и вырабатывающий перенос в более старший разряд. Он имеет два входа для чисел А и В и два выхода для результата суммирования S и переноса P. Его обозначение на схемах дано на рис.1. Ввиду того, что полусумматор имеет два входа, на которые поступают слагаемые A и B (вход, на который должен поступать перенос из предыдущего разряда, отсутствует), его можно использовать только в самом младшем разряде (СМР). Для суммирования двух чисел в более старших разрядах требуется комбинационная схема, учитывающая возможный перенос из более младшего разряда. Такая схема называется полным сумматором или просто сумматором и имеет три входа, на два из которых подаются слагаемые и Bi; а на третий – перенос от предыдущего разряда .
Для сложения многоразрядных чисел используются многоразрядные сумматоры. На рис.4 показана одна из схем параллельного многоразрядного сумматора с последовательным переносом, построенная из одноразрядных сумматоров комбинационного типа. На вход сумматора параллельно (одновременно) подаются оба многоразрядных слагаемых ( и ), и в каждом разряде образуются предварительные разрядные суммы без учета переноса, и лишь после появления и распространения переносов суммы приобретают окончательные значения. Быстродействие таких сумматоров определяется временем распространения сигнала переноса, при условии, что он возникает в каждом разряде. Если tp – время распространения переноса в одном разряде, то максимальное время суммирования можно выразить следующим образом:
, где n – количество разрядов многоразрядного числа.
Т
Таблица 1
А
В
D
З
0
0
0
0
0
1
1
1
1
0
1
0
1
1
0
0
Для вычитания двоичных чисел можно использовать или специальные устройства – вычитатели, или сумматоры (применение которых для вычитания чисел будет рассмотрено в последующих работах). Вычитатели, также как и сумматоры, подразделяются на полувычитатели и полные вычитатели, причем первые могут использоваться только в СМР. Таблица истинности (таблица 1) одноразрядного полувычитателя составлена на основании правил вычитания двоичных чисел. В ней А-уменьшаемое, В-вычитаемое, D-разность (без учета знака), З – заем из соседнего старшего разряда, возникающий в данном разряде.
Знак получаемой разности можно определить по уровню сигнала заема. Если З = 0, то А ≥ B, и их разность положительна (или равна 0), при З = 1 А < В и получаемая разность отрицательна. Запишем логические функции для D и З:
(1)
(2)
Для практической реализации этих логических функций требуются три ЛЭ: исключающие ИЛИ, конъюнктор и инвертор (рис. 2).
П
Таблица 2
Аi
Вi
Зi-1
Di
Зi
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
1
0
0
1
1
0
0
0
1
1
1
1
1
Запишем логические функции для разности и заема:
(3)
(4)
Минимизируя (3) и (4) , получим:
(5)
(6)
На основании полученных логических функций (5) и (6) можно создать схему полного вычитателя (рис.6).