Вы находитесь на странице: 1из 5

Схемы логических элементов

Краткое напоминание

В прошлый раз мы говорили о составлении автоматов из других автоматов. Ещё


более известный способ композиции вычислительных устройств – составление их из
логических элементов.
Утверждается, что из элементарных логических элементов можно составить
схему, выполняющую любое заданное преобразование битов (двоичных единиц)
данных. Нужно понимать, что под «любым» подразумеваются не только логические
схемы в обычном смысле, но и любое преобразование вообще. Например, возьмём
просмотр фильмов. Компьютер (упрощённо) берёт файл фильма на диске и
преобразует его в последовательность кадров – прямоугольных массивов пикселей,
которые затем отправляются в видеопамять. Т.е. преобразует один набор единиц и
нулей (файл) в другой набор единиц и нулей (коды всех кадров всех пикселей
фильма). Собственно «вычислительная часть» показа фильма состоит в этом.
Что подразумевается под «элементарными» логическими элементами –
кирпичиками, из которых составляются схемы? Обычно говорят о трёх элементах –
И, Или и Не, в соответствии с элементарными операциями в логике высказываний.
Часто также добавляют, что эти три элемента можно свести к одному – например,
Или-Не (или И-Не), что можно составить каждый из трёх указанных выше элементов
в виде набора элементов Или-Не, и таким образом строить всю сколь угодно
сложную логическую схему из «кирпичиков» одного вида. И то, и другое верно,
логические схемы можно строить из элементов одного или нескольких видов – тут
вопрос скорее технический, какие элементы проще создать на основе используемой
технологии. Но принципиально действительно достаточно элементов одного вида –
например, Или-Не либо И-Не.
Логические схемы изображают в виде фигур, обозначающих элементы,
прямоугольников или более сложных, в зависимости от стандарта, соединённых
линиями, обозначающими передачу сигналов между выходами одних элементов и
входами других. Вид элемента обозначается формой фигуры и/или значком на
элементе, например, элемент И может обозначаться значком «И», «&» или «»
(обычное логическое обозначение операции «И»). Пример схемы:

Здесь изображено составление схемы, выполняющей операцию «Или» из


элементов «И» (обозначено «») и «Не» (обозначено «» - принятый в логике
символ для обозначения «Не»).
Схема соответствует выражению

,
«Не (Не a И Не b)» и эквивалентна операции , «a Или b». Можно убедиться в
правильности такого равенства по «таблицам истинности» для каждой операции:

Или () И () Не ()


A B AB A B AB A A
0 0 0 0 0 0 0 1
0 1 1 0 1 0 1 0
1 0 1 1 0 0
1 1 1 1 1 1
Таблицы показывают, каков будет сигнал на выходе элемента при заданных
сигналах на входе.
Как видите, если на схему выше подать хотя бы один из двух входящих
сигналов – 1, то на «И» будет хотя бы один 0, на выходе «И» будет 0 и на выходе
всей схемы – 1. И только если подать на входы схемы два нуля, то на входах «И»
будут единицы, на выходе единица и на выходе всей схемы – нуль. Точно как
должно быть для элемента «Или».
Мы с вами познакомились выше с тремя способами описания логических схем –
схемой-рисунком, логическим выражением и таблицами истинности. Каждый
способ удобен для своих задач. Добавим ещё несколько используемых в данной
области терминов. Логическое «И» называется «конъюнкцией», логическое «Или» -
«Дизъюнкцией».
Схема выше и соответствующее выражение может быть получено из законов
де Моргана.

Пользуясь данными законами легко получить, например, выражение


логического «И» из элементов «Или-Не».
Синтезировать произвольный логический элемент из трёх базовых удобно с
помощью СДНФ – совершенной дизъюнктивной нормальной формы. Покажем
на примере синтеза XOR. XOR, «Исключающее Или», имеет таблицу истинности
XOR
A B A B
0 0 0
0 1 1
1 0 1
1 1 0

Правила использования СДНФ следующие:


1. Для каждой строчки таблицы, где выход – единица, пишем входящие сигналы
(A и B, и другие, если входов больше) объединённые элементом «И», сигнал
пишется с отрицанием ( ), если в строчке для входа этого сигнала стоит 0 и без
отрицания, как есть, если единица.
2. Затем все полученные выражения объединяем через элемент «Или».
Для XOR получим, соответственно таблицы истинности:
,

первая скобка построена по строке таблицы для входов 01, вторая – для 10. И
соответственно, схема:

Кроме дизъюнктивной формы существует и совершенная конъюнктивная


нормальная форма.
Ещё одним примером логического элемента является импликация - «Если-То»,
обозначается стрелкой . В отличие от элементов «И», «Или», которые часто
пишутся в виде , , импликацию обычно не читают как ,
т.е. «выражение «Если A, то B» равно…» или «выражение «Если A, то B»
истинно/ложно…». Тем не менее, импликация является логическим элементом со
своей таблицей истинности, т.е. выражение «Если A, то B» может быть истинным
или ложным как целое.
Импликация (→)
A B A→B
0 0 1
0 1 1
1 0 0
1 1 1

Т.е. выражение «Если A, то B» истинно, когда и A, и B истинны (это понятно) и


когда A ложно при каком угодно B.
Из логических элементов, как сказано выше, можно конструировать не только
собственно логические схемы. Например, из элементарных логических ячеек
конструируются арифметические устройства.
Пример. Полусумматор. При сложении двоичных чисел в каждом разряде
числа́ нужно сложить биты этого разряда, добавить к ним бит переноса из
предыдущего разряда (то что в десятичном школьном счёте было «один в уме»),
если он есть, получить сумму и передать бит переноса, если он есть, в следующий
разряд. Такая схема называется сумматором, мы разберём упрощённую схему, без
получения бита переноса из предыдущего разряда, такая схема подходит для
младшего разряда при сложении двоичных чисел и называется полусумматором.
Итак, полусумматор должен получать два бита, A и B, и выдать их сумму и бит
переноса. Таблицы истинности для этих двух выходов имеют вид
S (сумма) P (перенос)
A B A+B A B P
0 0 0 0 0 0
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 1 1 1
Таблица истинности для бита суммы полного сумматора имеет следующий вид,
где P – бит переноса с предыдущего разряда.

S(сумма)
P A B S
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
И представляет собой пример логической
ячейки с тремя входами. Всего у полного сумматора три входа и два выхода.

Задачи

1. Получение «И», «Или» и «Не» из «Или-Не». Элемент «Не» из «Или-Не»


получается простым соединением входов в один общий. Постройте схему получения
из элементов «Или-Не» элемента «Или». Наконец, пользуясь законами де Моргана,
получите выражение и постройте схему для составления элемента «И» из
имеющихся у вас «Или» и «Не» (можете использовать и элемент «Или-Не» обычным
для него способом).

2. Построить схему, реализующую логическое выражение .

3. Построить используя СДНФ логическое выражение и схему для импликации.

4. Таблицы истинности для логического элемента с двумя входами содержат 4


строки, для комбинаций входящих сигналов 00, 01, 10 и 11. Сколько всего
существует таблиц истинности для элемента с двумя входами, т.е. сколько всего
существует разных логических элементов с двумя входами? Какие из этих
элементов (с каким последним столбцом таблицы истинности – можете просто
перечислить 4 цифры – для 00, 01,10 и 11) на самом деле являются элементами с
одним входом, т.е. зависят только от одного входа? Являются элементами, не
принимающими входные сигналы вообще?
5. С какими логическими элементами совпадают таблицы истинности S и P для
полусумматора? Постройте схему полусумматора (два входа, два выхода) из этих
элементов.

Вам также может понравиться