- •Приложение Булевой алгебры к синтезу комбинационных схем
- •Основные законы (тождества)
- •Разнообразие Булевых функций.
- •Некоторые функции от трех переменных.
- •Нормальные формы Булевых функций
- •Разнообразие двоичных алгебр
- •Числовое представление Булевых функций
- •Преобразование произвольной аналитической формы Булевой функции в нормальную
- •Приведение произвольных нормальных форм Булевой функции к каноническим
- •Минимизация булевых функций на картах Карно(см. Практику).
- •Кубическое представление булевых функций.
- •Определения.
- •Геометрическая интерпретация кубов малой размерности. Графическое представление булевых функций.
- •Покрытия булевых функций.
- •Цена покрытия.
- •Нулевое покрытие булевой функции и получение минимальной кнф.
- •Импликанты булевой функции. Системы импликант.
- •Аналогия между импликантами и кубическим представлением Булевой функции
- •Функциональная полнота системы булевых функций.
- •Синтез комбинационных схем. Понятие логического элемента. Типовые логические элементы и их обозначения на функциональных схемах.
- •Понятие двоичного сигнала. Способы его кодирования.
- •Понятие логической системы. Типы логических систем.
- •Задачи анализа и синтеза комбинационных схем.
- •Построение комбинационных схем (кс) по минимальным нормальным формам в различных базисах.
- •Задача факторизации (факторного преобразования) булевой функции.
- •Оценка эффекта факторизации.
- •Построение одновыходных схем. Декомпозиция булевых функций.
- •Синтез многовыходных комбинационных схем.
- •Минимизация системы Булевых функций
- •Совместная минимизация
- •Факторизация системы Булевых функций
- •Декомпозиция системы Булевых функций
- •Арифметические основы эвм.
- •Двоичные числа с фиксированной запятой.
- •Диапазон предоставления чисел
- •Диапазон представления дробных чисел.
- •1 £Aдрнепр£2-2-(n-1) Числа с плавающей запятой.
- •Диапазон представления чисел с плавающей запятой.
- •Точность представления чисел
- •Погрешность двоичной дроби
- •Точность представления для коротких форматов в эвм различных типов
- •Методы округления чисел с плавающей запятой
- •Принципы выполнения арифметических операций в эвм. Основы двоичной арифметики. Операция сложения целых чисел.
- •Операция вычитания целых чисел.
- •Переполнение при вычитании и способы его фиксации.
- •Сложение и вычитание чисел с плавающей запятой.
- •Вычитание
- •Операция умножения целых чисел и принципы ее реализации в эвм Основные положения двоичного умножения
- •Особенности реализации умножения в эвм
- •Способы (схемы) реализации умножения
- •Упрощенная схема операционного устройства для реализации умножения по второму способу
- •Операция деления и ее реализация в эвм Особенности двоичного деления
- •Особенности реализации деления в эвм. (по отношению к целым числам)
- •Деление знаковых.
- •Деление в дополнительных кодах.
Функциональная полнота системы булевых функций.
Система булевых функций S={y1,y2,...,ym}называется функционально полной ,если с помощью функций этой системы можно выразить любую сколь угодно сложную булеву функцию с использованием метода суперпозиции, возможно многократно.
Под суперпозицией в отношении булевых функций понимается подстановка одних функций в другие вместо их аргумента.
Примерами полных систем являются :
1)S1 ={ù,&,Ú}(булев базис)
Обоснованность утверждения о функциональной полноте этой системы базируется на возможности представления любой булевой функции в нормальной форме ,которая является комбинацией операций отрицания ,конъюнкции и дизъюнкции, применительно к аргументу этой функции.
Система S1 ={ù,&,Ú} является избыточной так как из нее можно удалить одну из функций (& или Ú) без нарушения функциональной полноты.
Получаемые при этом системы S2 ={ù,&} и S3{ù,&,Ú}обычно называют сокращенным булевым базисом .
Недостающие операции( Ú в системе S2 и & в системе S3 ) могут быть выражены с помощью следствий из законов
____
Де Моргана : x1V x2= 12
_____
x1 x2= 1 v2
Функциональная полнота системы булевых функций называется минимальной ,если удаление из нее какой-либо функции приводит к нарушению свойства функциональной полноты.
Системы из одной функции S4=¯(стрелка Пирса)
S5=|(штрих Шеффера)
которые принято называть универсальным базисом.
2)Базис Жегалкина S6= {&, Å, 1}
Понятие функциональной полноты системы булевых функций связано с аналогичным понятием для системы логических элементов.
Эта связь заключается в следующем :
Если каждой функции из некоторой функционально полной системы сопоставить логический элемент, реализующий эту функцию ,то система логических элементов соответствующая некоторой функционально полной системе булевых функций естественным образом оказывается тоже функционально полной .
Задача синтеза комбинационных схем с использованием функционально полной системы логических элементов можно построить комбинационную схему реализующую любую наперед заданную ,сколь угодно сложную булеву функцию.
Доказательство функциональной полноты некоторой системы
булевых функций можно осуществлять одним из двух способов:
С использованием теоремы о функциональной полноте .
С использованием конструктивного подхода .
Теорема о функциональной полноте (Пост - Яблонского).
Для того, чтобы система булевых функций была функционально полной необходимо и достаточно чтобы она содержала хотя бы одну функцию не:
cохраняющую константу ноль
cохраняющую константу единица
линейную функцию
монотонную функцию
самодвойственную функцию.
Замечательные классы булевых функций.
Булева функция называется сохраняющей константу ноль , если на нулевом наборе аргументов она принимает значение равное нулю, то есть f(0,0,0,...,0) = 0;
В противном случае функция относится к классу не cохраняющих константу ноль.
К функциям ,сохраняющим константу ноль относятся
f(x1,x2)= x1 v x2
f(x1,x2)= x1 * x2
К функциям не cохраняющим константу ноль относятся
f(x)=и f(x1,x2)=x1~x2
2.Булева функция называется сохраняющей константу единица , если на единичном наборе аргументов она принимает значение равное единице, то есть f(1,1,1,...,1)= 1;
В противном случае функция относится к классу не cохраняющих константу единица.
К функциям ,сохраняющим константу единица относятся
f(x1,x2)= x1 v x2
f(x1,x2)= x1 * x2
К функциям не cохраняющим константу единица относятся
f(x)=и f(x1,x2)=x1Åx2
3. Булева функция называется линейной если она представима полиномом Жегалкина первой степени.
В булевой алгебре доказывается теорема о возможности представления любой булевой функции от n переменных с помощью полинома Жегалкина n-ой степени.
В общем случае полином имеет вид :
fn (x) = K0 ÅK1x1 Å...ÅKn xn Å...
...ÅKn+1x1x2 ÅKn+2x1x3 Å...ÅKn+lxn-1xn Å...
...
...ÅKn+mx1x2...xn
K0 ,K1 ,Kn+m -являются коэффициентами и представляют собой логические константы нуля или единицы.
В алгебре Жегалкина одноименной полином можно считать канонической нормальной формой для булевой алгебры.
Полином Жегалкина является линейным (1-ой степени) если все коэффициенты общего полинома ,начиная с Kn+1=Kn+2 =...=Kn+m =0
В отношении функции от 2-х переменных полином Жегалкина имеет вид (линейный): f2(x)=K0ÅK1x1ÅK2x2
Примерами линейных функций являются:
y= x1Åx2 (K0=0,K1=K2=1)
_____
y= x1~x2=x1Åx2=1Åx1Åx2 (K0=K1=K2)
y= =1Åx1 (K0=K1=1 ,K2=0)
Примеры нелинейных функций:
y= x1*x2
____
y= x1lx2 =x1*x2=1Åx1*x2
4.Булева функция называется монотонной если при возрастании наборов аргументов она принимает неубывающие значения.
A=(a1,a2,...,an)>B=(b1,b2,...,bn)
f(A)³f(B)
Между наборами аргументов А и В имеет место отношение возрастания в том и только том случае , если имеет место отношение не убывания для всех компонент этого набора:
___
ai³bi (i=1, n )
и по крайней мере для одной компоненты имеет место отношение возрастания.
Примеры наборов ,для которых имеет место отношение возрастания: (1011)>(0011)
(1011)>(0001)
(0001)>(0000)
Пример несопоставимых наборов (1011) и (0111)
В отношении функции от 2-х переменных несопоставимыми являются наборы (01) и (10)
Пример немонотонных функций: y=
y= x1Åx2
5.Две булевы функции fn(x) и gn(x) называются двойственными если для любых наборов аргументов выполняется равенство
____
fn(x) =gn(x) то есть функции f и g на противоположных наборах аргументов х и принимает противоположные значения.
Два набора аргументов называются противоположными если любая из их компонент принимает противоположные значения.
x=(0101) =(1010)
Булева функция называется самодвойственной если она является двойственной по отношению к самой себе то есть принимает противоположные значения на противоположных наборах аргументов.
Примером самодвойственной функции является : у=
Примеры не самодвойственных функций: у=х1*х2
у=х1vх2
у=х1Åх2
Принадлежность базовых булевых функций и логических констант к замечательным классам представлена таблицей.
К0 + сохраняет константу ноль ,- не сохраняет константу ноль
К1 + сохраняет константу единица ,- не сохраняет константу
Кл + линейная ,- нелинейная
Км + монотонная , - не монотонная
Кс + самодвойственная ,- не самодвойственная
Функция |
К0 |
К1 |
Кл |
Км |
Кс |
0 |
+ |
- |
+ |
+ |
- |
1 |
- |
+ |
+ |
+ |
- |
- |
|
|
|
| |
х1*х2 |
+ |
+ |
- |
+ |
- |
х1vх2 |
+ |
+ |
|
+ |
- |
х1Åх2 |
+ |
- |
+ |
- |
- |
х1~х2 |
- |
|
+ |
|
- |
х1Dх2 |
+ |
|
|
- |
|
х1®х2 |
- |
|
|
|
|
х1|х2 |
- |
|
- |
|
|
х1¯х2 |
- |
|
|
|
|
Конструктивный подход к доказательству функциональной полноты некоторой системы булевых функций.
Подход основан на доказательстве реализуемости функций булева базиса с помощью функций этой системы.
При этом естественно предполагать ,и это действительно так, что булев базис образует функционально полную систему.
Пример :S5={|}
_ ____
x =x * x= x|x
====
x1*x2 = x1*x2 =( x1|x2)|( x1|x2)
______
x1vx2=1 *2 =( x1|x1)|( x2|x2)