- •Кафедра информатики и компьютерных технологий информатика
- •Введение
- •1. Основы математической логики
- •1.1 Алгебра высказываний
- •1.2. Основные логические операции
- •1.3. Свойства логических операций
- •1.4. Логические переменные, функции алгебры логики
- •2. Приложения алгебры логики в технике
- •2.1. Описание комбинационных схем
- •2.2. Понятия и типы дискретных автоматов
- •2.2.1 Дискретные автоматы без памяти
- •2.2.2 Дискретные автоматы с памятью
- •2.4.. Принцип работы логического сумматора
- •3. Выполнение курсовой работы
- •3.1 Примеры решения задач
- •Задача 3. Анализ работы логического сумматора
- •3.2 Требования к отчету по курсовой работе
- •Библиографический список
- •Оглавление
2.4.. Принцип работы логического сумматора
Рассмотрим основные принципы работы автомата, предназначенного для получения суммы двух n-разрядных двоичных чисел. Он имеет два входа и один выход. На входы сумматора, начиная
с момента времени t=0, с интервалом τ поступают значения двоичных разрядов слагаемых x1(t), x2(t), на выходе появляются разряды двоичного кода суммы z(t). Очевидно, что значение выходного сигнала z в момент времени t зависит не только от значений входных сигналов x1 и x2 в этот момент времени, но и от того, имеет ли место перенос в суммируемые разряды единицы, полученной в предшествующий момент t-τ.
Рис. 9. Схема
сумматора
Обозначим значение этого переноса в момент времени t через y(t). Итак, на комбинационную часть сумматора (рис. 9) в момент времени t поступают значения суммируемых разрядов x1(t), x2(t) и значение переноса y(t-τ), сформированное при суммировании младших разрядов и хранимое в памяти сумматора.
Таблица истинности операции логического суммирования по модулю 2 имеет вид таблицы 7.
Таблица 7
Таблица истинности логического
суммирования
-
x1
x2
x1 x2
0
0
0
0
1
1
1
0
1
1
1
0
далее приводим рекуррентные соотношения для z(t) и y(t), характеризующие работу сумматора, которые можно получить с использованием этой таблицы [2].
(2.1)
(2.2)
Заметим, что y(0)=0.
В соответствии с этими соотношениями, если, например, в момент t=τ имеем x1(τ)=0 , x2(τ)=1, то y(τ)=(0·1)+(0·0)+(1·0)=0, а если, при t=2τ, x1(2τ)=1 , x2(2τ)=1, то y(2τ)=(1·1)+(1·0)+(1·0)=1.
Пример 2.3.
Пусть на входы логического сумматора подаются последовательности Х1(t)={10001} и Х2(t)={11101}. Найти значение z(t) на выходе сумматора.
Задача решается табличном процессоре MS Excel в несколько этапов.
1) Составляется таблица начальных данных. Это первые три столбца таблицы на рис. 10. В первый столбец вносятся номера тактов работы сумматора, начиная с 0. Во второй и третий столбцы вносятся элементы входных последовательностей Х1(t) и Х2(t). В первую ячейку четвертого столбца вносится значение y(0)=0.
2) Вычисляются значения Y(t), t=1..4. Для этого логическое выражение (2.2) записывается с помощью встроенных логических функций MS Excel. Заметим, что возможно записать это выражение, используя только функции «И» и «ИЛИ», но в этом случае результатом будет текстовое значение «ЛОЖЬ» или «ИСТИНА»
Рис. 10. Результат работы сумматора.
. Поэтому целесообразно использовать функцию «ЕСЛИ», у которой первым аргументом будет логическая функция, соответствующая выражению (2.2). Итак, в ячейку D3 вводится функция:
ЕСЛИ(ИЛИ(И(B3;C3);И(B3;D2);И(C3;D2));1;0),
которая затем копируется в нижний диапазон. Таким образом, заполнен четвертый столбец таблицы.
3) Для того, чтобы получить значения z(t), надо реализовать логическое суммирование (2.1). Сначала выполняется суммирование x1(t) x2(t), результат записывается в диапазон столбца Е. Затем этот результат суммируется с y(t-τ), и окончательно заполняется столбец F значениями выходной последовательности z(t).
В ячейку Е2 вводим функцию
=ЕСЛИ(ИЛИ(И(B2=0;C2=0);И(B2=1;C2=1));0;1),
затем копируем ее на весь диапазон Е3:Е6. Аналогично заполняем диапазон F2:F6 значениями функции
ЕСЛИ(ИЛИ(И(E2=0;D2=0);И(E2=1;D2=1));0;1).
Таким образом, результатом суммирования двоичных последовательностей Х1(t)={10001} и Х2(t)={11101} является последовательность Z={01101}.