Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Частина 2.doc
Скачиваний:
80
Добавлен:
17.11.2019
Размер:
3.15 Mб
Скачать

4.3.5. Поняття булевої змінної та булевої функції

Для математичного опису роботи МП-пристроїв, синтезу і аналізу схем широко використовується алгебра логіки (алгебра висловлювань, булева алгебра [Джордж Буль (1815–1864) – англійський математик-самоучка в середині XIX століття створив математичний апарат алгебри висловлювань, заклавши тим самим основи для розробки комп’ютерів]). Предметом розгляду алгебри логіки є висловлювання (вивчається в дискретній математиці і математичній логіці).

Біт можна розглядати як логічне висловлювання, відносно якого можна говорити про його істинність. Він може набувати значення «1, істина», якщо висловлювання справедливе, і «0, не істина», у протилежному випадку. При такій інтерпретації відомі в логіці зв’язки кон’юнкції, диз’юнкції, імплікації, заперечення та інші можуть мати уявлення на мові бітів. І навпаки, бітові операції легко описуються на мові обчислення значення висловів.

Прості висловлювання, істинність яких не залежить від істинності іншого висловлювання і можуть мати лише одне із двох значень 0 і 1 є двійковими змінними.

Складні висловлювання, істинність яких залежить від істинності простих висловлювань, що входять до їх складу, є функціями від двійкових змінних (двійковими функціями, бінарними функціями, логічними функціями, булевими функціями, функціями алгебри логіки). Складові двійкових функцій (аргументи) пов’язуються логічними операціями (аналогічно арифметичним операціям в алгебраїчних виразах)

Основними логічними операціями над двійковими змінними є логічне заперечення, логічне множення, логічне додавання, додавання за модулем 2.

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

Логічні операції (булеві операції) лежать в основі обробки цифрових сигналів. А саме, за допомогою їх можна з одного або кількох сигналів на вході отримати на виході новий сигнал, який у свою чергу може бути поданий на вхід однієї або кількох наступним таким операціям. По суті, саме булеві операції у поєднанні з запам’ятовуючими елементами (наприклад, тригерами – далі буде), реалізують все різноманіття можливостей сучасної цифрової техніки.

Комп’ютерні обчислення природно розглядати як деякі інформаційні перетворення, на вхід яких подаються ланцюжки бітів, які перетворюються відповідно до тієї чи іншої формули. Однією з простих моделей комп’ютерних обчислень є комбінаційна схема, яка складається з більш простих обчислювальних елементів. Важливою рисою комбінаційних схем є те, що вони не мають внутрішньої пам’яті. Відповідно до цього, перетворення, яке реалізується комбінаційною схемою, розглядається як деяка логічна (булева) функція, яка, в свою чергу, складається з простіших булевих функцій.

Булеву функцію можна задати двома основними способами:

  • за допомогою таблиці істинності; таблиця істинності – це таблиця, яка ставить у відповідність кожній можливій комбінації аргументів певне значення функції.

  • аналітично через булеві вирази; булевий вираз визначає явну формулу, за якою можна обчислити функцію при певних значеннях змінних;

Булева функція від n змінних має тільки 2n можливих комбінацій значень аргументів, і таку функцію можна повністю описати в таблицею з 2n рядками. У кожному рядку буде наводитись комбінація значень аргументів і відповідне цій комбінації значення функції. Така таблиця називається таблицею істинності. Як правило, рядки таблиці істинності розташовують у порядку номерів, що утворюють значення аргументів, тобто для двох аргументів в порядку 00, 01, 10, 11; для трьох аргументів – 000, 001, 010, 011, 100, 101, 110, 111.

В

Таблиця 4.2.

Таблиця істинності для функції більшості.

табл. 4.2 показана таблиця істинності для булевої функції від трьох змінних: M = f(A, В, С). Це функція більшості, яка приймає значення 0, якщо більшість її аргументів дорівнює 0 та значення 1, якщо більшість аргументів дорівнює 1. Така функція взагалі називається мажоритарною.

A

B

C

M

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

1

Хоча будь-яка булева функція може бути визначена за допомогою таблиці істинності, зі зростанням кількості змінних такий тип запису стає громіздким. Тому замість таблиць істинності часто використається аналітичний спосіб визначення.

Будь-яку булеву функцію можна означити, вказавши, які комбінації значень аргументів дають значення функції 1. Для функції, наведеної в табл. 4.2, існує 4 комбінації змінних, які дають значення функції «1» (011, 101, 110, 111). Якщо вербально описати перший рядок табл. 4.2, в якому функція має значення 1, то це може бути такий вислів: «якщо одночасно A = 0, B = 1, С = 1, тобто цей вислів істина, то M = 1». Слово «одночасно» може бути замінене зв’язкою «і». Тоді матимемо: «якщо A = 0 і B = 1 і С = 1, то M = 1». Значення «1» функція може набути і в трьох інших випадках. Щоб і цю обставину врахувати, використовуємо зв’язку «або». Тоді остаточно формулюється вираз, який визначає одиничне значення функції: «якщо A = 0 і B = 1 і С = 1 або A = 1 і B = 0 і С = 1 або A = 1 і B = 1 і С = 0 або A = 1 і B = 1 і С = 1, то M = 1», тобто, функція М приймає значення «істина», якщо один із цих чотирьох часткових висловів «істина».

В аналітичному виразі для зображення 0-го значення змінної (аргументу або функції) прийнято зображувати над ним риску; зв’язку «і» позначають символом «» або опускають як у звичайній алгебрі знак множення; зв’язку «або» позначають символом «» або допускають позначення символом «+».

Використовуючи описані позначення можна записати сформульований вислів у вигляді формули:

.

Це компактний запис таблиці істинності, який описує булеву функцію.

Булева функція може реалізовуватися за допомогою електронної схеми (часто різними способами) з використанням сигналів, які представляють вхідні та вихідні змінні, та так званих логічних елементів, наприклад – І, АБО та НЕ.