
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).