Раздел 2.Тема 2.1.
Раздел
2. Архитектура и принципы работы основных логических блоков
системы
Тема 2.1. Логические основы ЭВМ, элементы и узлы
Логические
операции. Дизъюнкция, конъюнкция и отрицание
Так
как же связываются между собой простые логические высказывания, образуя сложные?
В естественном языке мы используем различные союзы и другие части речи.
Например, «и», «или», «либо», «не», «если», «то», «тогда». Пример сложных
высказываний: «у него есть знания и навыки», «она приедет во
вторник,либо в среду», «я
буду играть тогда, когда
сделаю уроки», «5 не равно 6». Как мы решаем, что
нам сказали правду или нет? Как-то логически, даже где-то неосознанно, исходя из
предыдущего жизненного опыта, мы понимает, что правда при союзе «и» наступает в
случае правдивости обоих простых высказываний. Стоит одному стать ложью и все
сложное высказывание будет лживо. А вот, при связке «либо» должно быть правдой
только одно простое высказывание, и тогда все выражение станет
истинным.
Булева
алгебра переложила этот жизненный опыт на аппарат математики, формализовала его,
ввела жесткие правила получения однозначного результата. Союзы стали называться
здесь логическими операторами.
Алгебра
логики предусматривает множество логических операций. Однако три из них
заслуживают особого внимания, т.к. с их помощью можно описать все остальные, и,
следовательно, использовать меньше разнообразных устройств при конструировании
схем. Такими операциями являются конъюнкция (И),дизъюнкция (ИЛИ) и отрицание (НЕ). Часто конъюнкцию
обозначают &,
дизъюнкцию - ||, а
отрицание - чертой над переменной, обозначающей
высказывание.
При
конъюнкции истина сложного выражения возникает лишь в случае истинности всех
простых выражений, из которых состоит сложное. Во всех остальных случаях сложное
выражение будет ложно.
При
дизъюнкции истина сложного выражения наступает при истинности хотя бы одного
входящего в него простого выражения или двух сразу. Бывает, что сложное
выражение состоит более, чем из двух простых. В этом случае достаточно, чтобы
одно простое было истинным и тогда все высказывание будет
истинным.
Отрицание
– это унарная операция, т.к выполняется по отношению к одному простому выражению
или по отношению к результату сложного. В результате отрицания получается новое
высказывание, противоположное исходному.
Таблицы
истинности
Логические
операции удобно описывать так называемыми таблицами истинности, в которых
отражают результаты вычислений сложных высказываний при различных значениях
исходных простых высказываний. Простые высказывания обозначаются переменными
(например, A и B).
Логические основы компьютера
В ЭВМ используются различные устройства, работу которых прекрасно описывает алгебра логики. К таким устройствам относятся группы переключателей, триггеры, сумматоры.
Кроме того, связь между булевой алгеброй и компьютерами лежит и в используемой в ЭВМ системе счисления. Как известно она двоичная. Поэтому в устройствах компьютера можно хранить и преобразовывать как числа, так и значения логических переменных.
Переключательные схемы
В ЭВМ применяются электрические схемы, состоящие из множества переключателей. Переключатель может находиться только в двух состояниях: замкнутом и разомкнутом. В первом случае – ток проходит, во втором – нет. Описывать работу таких схем очень удобно с помощью алгебры логики. В зависимости от положения переключателей можно получить или не получить сигналы на выходах.
Вентили, триггеры и сумматоры
Вентиль представляет собой логический элемент, который принимает одни двоичные значения и выдает другие в зависимости от своей реализации. Так, например, есть вентили, реализующие логическое умножение (конъюнкцию), сложение (дизъюнкцию) и отрицание.
Триггеры и сумматоры – это относительно сложные устройства, состоящие из более простых элементов – вентилей.
Триггер способен хранить один двоичный разряд, за счет того, что может находиться в двух устойчивых состояниях. В основном триггеры используется в регистрах процессора.
Сумматоры широко используются в арифметико-логических устройствах (АЛУ) процессора и выполняют суммирование двоичных разрядов.
В основе построения компьютеров, а точнее аппаратного обеспечения, лежат так называемые вентили. Они представляют собой достаточно простые элементы, которые можно комбинировать между собой, создавая тем самым различные схемы. Одни схемы подходят для осуществления арифметических операций, а на основе других строят различную память ЭВМ.
Вентель - это устройство, которое выдает результат булевой операции от введенных в него данных (сигналов).
Простейший вентиль представляет собой транзисторный инвертор, который преобразует низкое напряжение в высокое или наоборот (высокое в низкое). Это можно представить как преобразование логического нуля в логическую единицу или наоборот. Т.е. получаем вентиль НЕ.
Соединив пару транзисторов различным способом, получают вентили ИЛИ-НЕ и И-НЕ. Эти вентили принимают уже не один, а два и более входных сигнала. Выходной сигнал всегда один и зависит (выдает высокое или низкое напряжение) от входных сигналов. В случае вентиля ИЛИ-НЕ получить высокое напряжение (логическую единицу) можно только при условии низкого напряжении на всех входах. В случае вентиля И-НЕ все наоборот: логическая единица получается, если все входные сигналы будут нулевыми. Как видно, это обратно таким привычным логическим операциям как И и ИЛИ. Однако обычно используются вентили И-НЕ и ИЛИ-НЕ, т.к. их реализация проще: И-НЕ и ИЛИ-НЕ реализуются двумя транзисторами, тогда как логические И и ИЛИ тремя.
Выходной сигнал вентиля можно выражать как функцию от входных.
Транзистору требуется очень мало времени для переключения из одного состояния в другое (время переключения оценивается в наносекундах). И в этом одно из существенных преимуществ схем, построенных на их основе.
Для логических величин обычно используются три операции:
-
Конъюнкция – логическое умножение (И) – and, &, ∧.
-
Дизъюнкция – логическое сложение (ИЛИ) – or, |, v.
-
Логическое отрицание (НЕ) – not,.
Логические выражения можно преобразовывать в соответствии с законами алгебры логики:
-
Законы рефлексивности
a ∨ a = a
a ∧ a = a -
Законы коммутативности
a ∨ b = b ∨ a
a ∧ b = b ∧ a -
Законы ассоциативности
(a ∧ b) ∧ c = a ∧ (b ∧ c)
(a ∨ b) ∨ c = a ∨ (b ∨ c) -
Законы дистрибутивности
a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)
a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c) -
Закон отрицания отрицания
( a) = a -
Законы де Моргана
(a ∧ b) = a ∨ b
(a ∨ b) = a ∧ b -
Законы поглощения
a ∨ (a ∧ b) = a
a ∧ (a ∨ b) = a
Всякая логическая формула определяет некоторую булевую функцию. С другой стороны, для всякой булевой функции можно записать бесконечно много формул, ее представляющих. Одна из основных задач алгебры логики — нахождение канонических форм (т. е. формул, построенных по определенному правилу, канону), а также наиболее простых формул, представляющих булевы функции.
Если логическая функция выражена через дизъюнкцию, конъюнкцию и отрицание переменных, то такая форма представления называется нормальной. Среди нормальных форм выделяют такие, в которых функции записываются единственным образом. Их называют совершенными.
Особую роль в алгебре логики играют классы дизъюнктивных и конъюнктивных совершенных нормальных форм. В их основе лежат понятия элементарной дизъюнкции и элементарной конъюнкции.
Формулу называют элементарной конъюнкцией, если она является конъюнкцией одной или нескольких переменных, взятых с отрицанием или без отрицания. Одну переменную или ее отрицание считают одночленной элементарной конъюнкцией.
Формула называется элементарной дизъюнкцией, если она является дизъюнкцией (быть может, одночленной) переменных и отрицаний переменных.