- •Основы прикладной теории цифровых автоматов
- •Основы прикладной теории цифровЫх автоматов
- •Оглавление
- •Предисловие
- •Глава 1. Информационные основы цифровых автоматов
- •1.1. Информация и общие принципы ее преобразования
- •1.2. Обмен информацией между различными информационными устройствами
- •1.3. Аппаратные средства хранения и обработки информации
- •1.4. Общие понятия о цифровом автомате и алгоритме
- •Глава 2. Представление числовой информации в цифровом автомате
- •2.1. Системы счисления и понятие кода
- •2.2. Выбор системы счисления
- •2.3. Формальные правила двоичной арифметики
- •2.4. Перевод числа из одной позиционной системы счисления в другую
- •Глава 3. Формы представления чисел в цифровых автоматах
- •3.1. Форма представления двоичных чисел с фиксированной запятой
- •3.2. Представление отрицательных чисел в формате с фиксированной запятой
- •3.3. Форма представление чисел с плавающей запятой
- •3.4. Перевод чисел из формата с фиксированной запятой в формат с плавающей запятой и обратно
- •3.5. Погрешности представления чисел
- •20 [A]ф 2n - 1 для целых чисел
- •Глава 4. Арифметические действия с двоичными числами
- •4.1. Сложение двоичных чисел
- •4.1.1. Алгебраическое сложение чисел, представленных в форме с фиксированной запятой
- •4.1.2. Переполнение разрядной сетки
- •4.1.3. Модифицированный прямой, обратный и дополнительный код
- •4.1.4. Алгебраическое сложение чисел, представленных в форме с плавающей запятой
- •4.2. Умножение двоичных чисел
- •4.2.1. Методы умножения двоичных чисел
- •4.2.2. Умножение чисел, представленных в форме с фиксированной запятой
- •4.2.3. Умножение чисел, представленных в форме с плавающей запятой
- •4.2.4. Ускорение операции умножения
- •4.3. Деление двоичных чисел
- •4.3.1. Деление двоичных чисел, представленных в форме с фиксированной запятой.
- •4.3.2. Деление двоичных чисел, представленных в форме с плавающей запятой.
- •4.4. Оценка точности выполнения арифметических операций
- •4.4.1. Погрешность округления
- •Глава 5. Выполнение операций над десятичными числами
- •5.1. Представление десятичных чисел в д-кодах
- •5.2. Формальные правила поразрядного сложения в д-кодах
- •5.3. Представление отрицательных чисел в д-кодах
- •5.4. Выполнение операций сложения и вычитания в д-кодах
- •5.5. Умножение чисел в д-кодах
- •5.6. Деление чисел в д-кодах
- •5.7. Перевод чисел из д-кода в двоичный и из двоичного в д-код
- •Глава 6 контроль работы цифрового автомата
- •6.1. Основные понятия теории кодирования
- •6.2. Кодирование по методу четности-нечетности
- •6.3. Коды Хеминга
- •6.4. Контроль по модулю
- •6.5. Контроль арифметических операций
- •Глава 7. Основы алгебры логики
- •7.1. Основные понятия алгебры логики
- •7.2. Свойства элементарных функций алгебры логики
- •7.3. Аналитическое представление функций алгебры логики
- •7.4. Совершенные нормальные формы
- •7.5. Системы функций алгебры логики
- •7.6. Числовое и геометрическое представление логических функций
- •Глава 8. Упрощение и минимизация логических функций
- •8.1. Задача минимизации
- •8.2. Метод Квайна и импликантные матрицы
- •8.3. Метод Карно (диаграммы Вейча)
- •Глава 9. Методы анализа и синтеза логических электронных схем
- •9.1. Логические операторы электронных схем или цепей
- •9.1.1. Задачи анализа и синтеза электронных схем
- •9.2. Синтез логических схем с одним выходом
- •9.3. Электронные схемы с несколькими выходами
- •9.4. Временные булевы функции и последовательностные автоматы
- •Глава 10. Введение в теорию автоматов и структурный синтез цифровых автоматов
- •10.1. Основные понятия и определения
- •10.2. Методы структурного синтеза и языки описания цифровых автоматов
- •10.3. Элементарный автомат (триггерный элемент)
- •10.4. Синтез цифрового автомата с памятью
- •Глава 11 алгоритмы реализации арифметических действий в цифровых автоматах
- •11.1. Общие принципы разработки алгоритмов
- •11.2. Алгоритмы реализации арифметических действий с операндами, представленными в форме с фиксированной запятой
- •11.2.1.Сложение и вычитание
- •11.2.2. Умножение
- •11.2.3. Деление
- •11.3 Алгоритмы реализации арифметических действий с операндами, представленными в форме с плавающей запятой
- •11.3.1. Сложение и вычитание
- •11.3.2. Умножение
- •11.3.3. Деление
- •11.4. Блок-схемы регистра накапливающего сумматора
- •11.4.1. Для работы с обратным кодом
- •11.4.2. Для работы с дополнительным кодом
- •11.5. Алгоритм извлечения квадратного корня операнда с плавающей запятой
- •Определения основных понятий и терминов
- •Литература
7.3. Аналитическое представление функций алгебры логики
Существуют различные способы представления логических функций.
Представление (описание) функции на словах. Например: функция трех аргументов принимает значение 1, если два любых аргумента или все три равны 1. Во всех остальных случаях функция рвана 0.
Табличный способ. Для представления логической функции можно использовать, так называемый, табличный способ когда функция представляется своей таблицей истинности. Приведем пример такой таблицы для некоторой логической функции трех аргументов f(x1, x2, x3):
Т а б л и ц а 7.3.
№ Набор Значение
набора x1 x2 x3 функции
0 0 0 0 1
1 0 0 1 0
2 0 1 0 0
3 0 1 1 1
4 1 0 0 1
5 1 0 1 0
6 1 1 0 1
7 1 1 1 0
Обычно в таблице истинности столбец с номером набора не приводится.
Теперь рассмотрим пример простой таблицы истинности элементарных функций AND - f1(A,B), OR - f7(A,B), XOR - f6(A,B) (из Таблицы 7.2):
Т а б л и ц а 7.4.
A B f1(A,B) f7(F=D) f6(F=D)
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0
Алгебраический или аналитический способ. Табличный способ максимально наглядный, но в случае сложных функций алгебры логики (ФАЛ) достаточно некомпактный. Проще выглядит аналитическая запись в виде формул. До рассмотрения аналитической формы представления ФАЛ введем несколько новых понятий.
Переменные и их инверсии часто называют литералами.
Терм - это группа логических переменных в прямой или инверсной форме, т.е. группа литерал, объединенных одним и тем же знаком логической связки: логического сложения или же логического умножения. В терме каждая переменная или ее отрицание встречается только один раз, т.е. в терм может входить или переменная, или ее отрицание.
Дизъюнктивный терм (макстерм) - это логическая функция, связывающая все переменные в прямой или инверсной форме, т.е. литералы, знаком дизъюнкции.
Например:
H1 = A +B + C +D; H2 = A B.
Макстерм называют также конституентой нуля, т.к. эта логическая функция равна 0 только тогда, когда все ее аргументы равны 0 одновременно.
Конъюнктивный терм (минтерм) - это логическая функция, связывающая переменные в прямой или инверсной форме, т.е. литералы, знаком конъюнкци.
Например:
F1 =A & B &C & D; F2 = A B C.
Минтерм называют также конституентой единицы, т.к. эта функция равна 1 только тогда, когда все ее аргументы одновременно равны единице.
Ранг терма - r, определяется количеством литерал, входящих в данный терм.
Например, для минтерма F =ABCDE r = 5, а для макстерма H ==A + B + C r = 3.
Любая таблично заданная ФАЛ может быть представлена аналитически в виде дизъюнкции конечного числа минтермов, на каждом из которых функция равна единице:
f(x1, x2,..., xn) = F1 F2 ... Fn = Fi = Fi, (7.1)
1
где i - номера наборов, на которых функция равна 1, - знак дизъюнкции, объединяющий все минтермы Fi.
Пример: записать в аналитическом виде функцию, заданную таблично:
x1 x2 x3 f(x1, x2, x3) x1 x2 x3 f(x1, x2, x3)
0 0 0 1 1 0 0 1
0 0 1 0 1 0 1 0
0 1 0 0 1 1 0 0
0 1 1 1 1 1 1 0
Как уже отмечалось, такого типа таблицы, в которых приводятся все возможные комбинации значений всех логических переменных (аргументов) логической функции и все ее значения, - называются таблицами истинности.
Р е ш е н и е: Согласно (7.1)
f(x1, x2, x3) = F1(0, 0, 0) + F2(0, 1, 1) + F3(1, 0, 0) =x1x2x3 +x1x2x3 + x1x2x3.
Ответ:f(x1, x2, x3) =x1x2x3 +x1x2x3 + x1x2x3.
F1 F2 F3
Здесь надо отметить, что функция, представленная таблицей истинности, может быть определена не только ее единичными значениями, но и нулевыми.
Например, в случае предыдущей функции имеем:
f(x1, x2, x3) = f1(0, 0, 1) + f2(0, 1, 0) + f3(1, 0, 1) + f4(1, 1, 0) + f5(1, 1, 1).
Любая таблично заданная ФАЛ может быть задана аналитически в виде конъюнкции конечного числа макстермов, на каждом из которых функция равна нулю:
f(x1, x2,..., xn) = H1 H2 \\\ Hn = Hi = Hi.
0
Например, используя правила двойственности, результат предыдущего решения можно представить в следующем виде:
f(x1, x2, x3) = (x1 + x2 +x3)&(x1 +x2 + x3)&(x1 + x2 +x3)&(x1 +x2 + x3) &(x1 +x2 +x3).
H1 H2 H3 H4 H5
Нормальная дизъюнктивная форма (НДФ) это дизъюнктивное объединение минтермов различных рангов, включая ранг равный единице.
Например: f(x1,x2,x3) = x3 +x1x2 + x2x3 +x1x2x3.
Нормальная конъюнктивная форма (НКФ) это конъюнктивное объединение макстермов, включающее в себя макстермы различных рангов.
Например: f(x1,x2,x3) = (x1 +x2)(x2 + x3)(x1 +x2 + x3).
Каждая логическая функция в общем случае может иметь несколько НДФ или НКФ.
Различают также минимальные НДФ и НКФ логических функций. В частности, НДФ заданной фунции называется минимальной, если количество букв (литерал), которые она содержит, будет не больше, чем в любой другой НДФ той же функции. Именно букв, а не переменных. Например, НДФ
xy xy z yx содержит семь букв или литерал, но три переменные: x, y, z.
Минимальная форма представления ФАЛ это такая форма, которая содержит минимальное количество термов, которые имеют минимальные ранги.
Ранее мы рассмотрели процедуру формирования аналитической формы ФАЛ по ее таблице истинности. Теперь рассмотрим обратную процедуру: построение таблицы истинности по логическому выражению.
Если в логическом выражении n аргументов, то для них в таблице предусматривается n колонок и одна колонка для значений функции. Для 2n наборов аргументов выделяется такое же количество строк. После этого, начиная с нулевого набора, каждый набор вписывается в таблицу и для него вычисляется значение функции, которое также заносится в таблицу.