Вентилі, тригери та суматори

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

Тригери та суматори – це відносно складні пристрої, що складаються з найпростіших елементів – вентилів.

Тригер здатний зберігати один двійковий розряд, за рахунок того, що може бути у двох стійких станах. В основному тригери використовують у регістрах процесора.

Суматори широко використовуються в арифметико-логічних пристроях (АЛП) процесора та виконують підсумовування двійкових розрядів.

Закони алгебри логіки

Для логічних величин зазвичай використовуються три операції:

1.Кон'юнкція – логічне множення (І) –and, &, ∧.

2.Диз'юнкція - логічне додавання (АБО) -or, , v.

3. Логічне заперечення (НЕ) -not,.

Логічні вирази можна перетворювати відповідно дозаконів алгебри логіки :

1.Закони рефлексивностіa ∨ a = a a ∧ a = a

2.Закони комутативностіa ∨ b = b ∨ a a ∧ b = b ∧ a

3.Закони асоціативності(a ∧ b) ∧ c = a ∧ (b ∧ c) (a ∨ b) ∨ c = a ∨ (b ∨ c)

4.Закони дистрибутивностіa ∧ (b ∨ c) = a ∧ b ∨ a ∧ c a ∨ b ∧ c = (a ∨ b) ∧ (a ∨ c)

5.Закон заперечення заперечення(a) = a

6.Закони де Моргана(a ∧ b) = a ∨ b (a ∨ b) = a ∧ b

7.Закони поглинанняa ∨ a ∧ b = a a ∧ (a ∨ b) = a

Логічні елементи. Вентилі

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

Найпростіший вентиль є транзисторним інвертором, який перетворює низьку напругу на високу або навпаки (високу на низьку). Це можна як перетворення логічного нуля в логічну одиницю чи навпаки. Тобто. отримуємо вентильНЕ.

З'єднавши пару транзисторів у різний спосіб, отримують вентиліАБО-НЕ іІ-НЕ. Ці вентилі приймають не один, а два і більше вхідних сигналу. Вихідний сигнал завжди один і залежить (видає високу чи низьку напругу) від вхідних сигналів. У разі вентиля АБО не отримати високу напругу (логічну одиницю) можна тільки за умови низької напруги на всіх входах. У разі вентиля І-НЕ все навпаки: логічна одиниця виходить, якщо всі вхідні сигнали будуть нульовими. Як видно, це назад таким звичним логічним операціям як І та АБО. Однак зазвичай використовуються вентилі І-НЕ та АБО-НЕ, т.к. їх реалізація простіше: І-НЕ та АБО-НЕ реалізуються двома транзисторами, тоді як логічні І та АБО трьома.

Вихідний сигнал вентиля можна як функцію від вхідних.

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

тригери

Суматор і напівсуматор

Арифметико-логічний пристрій процесора (АЛУ) обов'язково містить у своєму складі такі елементи як суматори. Ці схеми дозволяють складати двійкові числа.

Як відбувається додавання?Допустимо, потрібно скласти двійкові числа 1001 та 0011. Спочатку складаємо молодші розряди (останні цифри): 1+1=10. Тобто. у молодшому розряді буде 0, а одиниця – це перенесення до старшого розряду. Далі: 0 + 1 + 1 (від перенесення) = 10, тобто. у цьому розряді знову запишеться 0, а одиниця піде у старший розряд. На третьому етапі: 0 + 0 + 1 (від перенесення) = 1. У результаті сума дорівнює 1100.

Напівсуматор

Тепер не звертатимемо увагу на перенесення з попереднього розряду і розглянемо лише, як формується сума поточного розряду. Якщо були дані дві одиниці або два нулі, то сума поточного розряду дорівнює 0. Якщо одне з двох доданків дорівнює одиниці, то сума дорівнює одиниці. Отримати такі результати можна при використанні вентиля ВИКЛЮЧНОГО АБО.

Перенесення одиниці в наступний розряд відбувається, якщо два доданки дорівнюють одиниці. І це реалізовано вентилем І.

Тоді додавання в межах одного розряду (без урахування можливої ​​одиниці, що прийшла, з молодшого розряду) можна реалізувати зображеною нижче схемою, яка називаєтьсянапівсуматором. У напівсуматора два входи (для доданків) і два виходи (для суми та перенесення). На схемі зображено напівсуматор, що складається з вентилів ВИКЛЮЧАЮЧЕ АБО І.

суматори

Суматор

На відміну від напівсуматорасуматор враховує перенесення з попереднього розряду, тому має не два, а три входи.

Щоб врахувати перенесення, доводиться схему ускладнювати. По суті вона виходить, що складається із двох напівсуматорів.

суматори

Розглянемо один із випадків. Потрібно скласти 0 та 1, а також 1 з перенесення. Спочатку визначаємо суму поточного розряду. Судячи з лівої схеми ВИКЛЮЧНЕ АБО, куди входять a і b, на виході отримуємо одиницю. У наступне ВИКЛЮЧНЕ АБО вже входять дві одиниці. Отже, сумадорівнюватиме 0.

Тепер дивимося, що відбувається із перенесенням. В один вентиль І входять 0 та 1 (a та b). Отримуємо 0. У другий вентиль (правіше) заходять дві одиниці, що дає 1. Прохід через вентиль АБО нуля від першого І та одиниці від другого І дає нам 1.

Перевіримо роботу схеми простим додаванням 0 + 1 + 1 = 10. Тобто. 0 залишається у поточному розряді, і одиниця перетворюється на старший. Отже, логічна схема працює правильно.

Роботу даної схеми за всіх можливих вхідних значеннях можна описати наступною таблицею істинності.