Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие АиЛОВТ.doc
Скачиваний:
107
Добавлен:
11.05.2015
Размер:
5.6 Mб
Скачать

Логические основы вычислительной техники Двоичные переменные и булевы функции

Для формального описания устройств вычислительной техники при их анализе и синтезе используется аппарат алгебры логики. Алгебру логики называют также булевой алгеброй. Основными понятиями алгебры логики являются двоичные переменные и переключательные (булевы) функции.

Двоичные переменныемогут принимать только два значения: 0 (ложь) и 1 (истина) − и обозначаются символамиx1,x2, … ,xn. Двоичные (логические, булевы) переменные являются аргументами булевых (переключательных) функций.

Функция f, зависящая от n переменных x1, x2, ...., xn, называетсябулевой, или переключательной, если функция f и любой из ее аргументовxi, (i = 1...n) принимают значения только из множества {0, 1}.

Иначе говоря, булева функция – это функция, и аргументы и значение которой принадлежат множеству { 0, 1 }. Множество { 0, 1 } обозначим через B.

Булеву функцию от nаргументов можно рассматривать какn-местную алгебраическую операцию на множествеB. При этом алгебра<B;Ω>, гдеΩ– множество всевозможных булевых функций, называетсяалгеброй логики (булевой алгеброй).

Конечность области определения функции имеет существенное достоинство: такие функции можно задавать перечислением значений при различных значениях аргументов. Для того чтобы задать значение функции от nпеременных, надо определить значения для каждого из 2nвозможных наборов. Эти значения записывают в таблицу истинности в порядке соответствующих двоичных чисел (рассмотрим позже).

x1 x2 ... xn-1 xn f

0 0 ... 0 0 f(0,0,...,0,0)

0 0 ... 0 1 f(0,0,...,0,1)

0 0 ... 1 0 f(0,0,...,1,0)

0 0 ... 1 1 f(0,0,...,1,1)

... ... ... ... ... ...

1 1 ... 0 1 f(1,1,...,0,1)

1 1 ... 1 0 f(1,1,...,1,0)

1 1 ... 1 1 f(1,1,...,1,1)

Для того чтобы задать функцию, достаточно выписать значения f(0,0,...,0,0), f(0,0,...,0,1), f(0,0,...,1,0), f(0,0,...,1,1),...,f(1,1,...,0,0), f(1,1,...,0,1), f(1,1,...,1,0), f(1,1,...,1,1). Этот набор называютвектором значений функции.

Таким образом, булевы функции на конечном множестве своих аргументов могут принимать значения 0 и 1 и обозначаются f(x1,x2, … ,xn). Булевы функции могут служить аргументами более сложных логических функций.

Способы задания булевых функций

Для задания произвольной булевой функции широко используются табличный (матричный) ианалитический способы. При табличном способе булева функция f (х1, ...,хn) задается таблицей истинности (табл. 7), в левой части которой представлены все возможные двоичные наборы длины n, а в правой указываются значения функции на этих наборах.

Таблица 7

набора

х1х2х3

     f

0 1 2 3 4 5 6 7

000 001 010 011 100 101 110 111

0 1 0 0 1 1 0 1

Под двоичным набором понимается совокупность значений аргументов х12, ...,xnбулевой функции f. Двоичный набор имеет длину n, если он представлен n цифрами из множества {0,1}. В табл. 7 представлены все двоичные наборы длиной 3. Иногда двоичные наборы из таблицы истинности булевой функции удобно представлять их номерами. Запишем аргументы х12, ...,xnв порядке возрастания их индексов. Тогда любому двоичному набору можно поставить в соответствие целое десятичное число N, называемое номером набора. Например, двоичные наборы011и101имеют номера3и5соответственно. Булевы функции, зависящие от большого числа переменных, задавать таблицей истинности неудобно в силу ее громоздкости. Например, таблица истинности булевой функции 8 переменных будет содержать 28= 256 строк. Для задания функций многих переменных удобно использовать модификацию таблицы истинности. Рассмотрим способ построения такой таблицы истинности для функции n переменных. Множество из n переменных функции разбивается на два подмножества: х1, х2, ..., хj-1и хj, хj+1, ..., хn. Переменными x1, x2, ..., xnотмечают строки таблицы истинности, задавая в каждой строке значение соответствующего двоичного набора длины j-1. Переменными xj, xj+i, ..., xnотмечают ее столбцы, задавая в каждом столбце значения соответствующего двоичного набора длиной n-j+1. Значение функции записывается в клетке на пересечении соответствующей строки и столбца (табл. 8).

При аналитическом способе булева функция задается формулой, то есть аналитическим выражением, построенным из операций булевой алгебры. Аналитический способ задания булевых функций занимает особое место в проектировании цифровых автоматов. Фактически все преобразования над булевыми функциями, необходимые для построения цифровых автоматов, ведутся на аналитическом уровне.

Таблица 8

x1,x2,...xj-1

xj, xj+1, ...,xn

00...0

0...1

...

11...1

00...0

 1

00...1

...

11...1

0

 

 1