ФЭА / АИТ / Основные булевы операции.
(автор - student, добавлено - 8-01-2014, 21:47)
Основные булевы операции. Существуют четыре основные булевы операции: ИЛИ, И, ИСКЛЮЧАЮЩЕЕ ИЛИ и НЕ. Операция ИЛИ. Если обе входные переменные А и В вентиля ИЛИ имеют значение 0, то на выходе его появится 0. Во всех остальных случаях выход принимает значение 1. Для обозначения операции используются символы "+" или "V". Входы Выход = А В =А V В 0 0 0 0 1 1 1 0 1 1 1 1 Операция И. Если обе входные переменные А и В вентиля И принимают значение 1, то на выходе будет 1. Во всех остальных случаях выход принимает значение 0. Операция обозначается символами “.” или “٨”. Входы Выход = А В =А . В 0 0 0 0 1 0 1 0 0 1 1 1
Из таблицы истинности для операции И следует, что реализуемая функция ведет себя как функция И для единиц на входе и как функция ИЛИ для нулей на входе. И, наоборот, из таблицы истинности для операции ИЛИ видно, что для единиц на входе это функция ИЛИ, а для нулей на входе это функция И. Операция ИСКЛЮЧАЮЩЕЕ ИЛИ. Если обе входные переменные А и В вентиля ИСКЛЮЧАЮЩЕЕ ИЛИ имеют одинаковое значение, то выход принимает значение 0. В остальных случаях выход равен 1. Операция обозначается символами "О' или "V". Входы Выходы = А В = А О В 0 0 0 0 1 1 1 0 1 1 1 0 Операция НЕ. Данная операция инвестирует любую двоичную цифру или группу цифр, т.е. НЕ 1 =0 НЕ 0=1 Остальные логические функции реализуются с использованием четырех основных логических операций. Для осуществления различных операций с переменными булевой алгебры требуется знать определенные правила вычислений, с помощью которых можно упорядочивать и упрощать сложные логические функции сумм и произведений. Эти правила вычислений сводятся к следующим: А+0 = А А*0 = 0 А+1=1 А*1=А А+А =А А*А=А
А+Â=1 А+В=В+А А+В*С=(А+В)(А+С) А+А*В=А А*В=В*А А*(В+С)=А*В+А*С А*(А+В)=А А*(А+В)=А*В А*(А+В)=А*В А*А=А А*В+А*В=А*В А+А*В=А+В Кроме этого в булевой алгебре широко применяется теорема Де Моргана, состоящая из двух постулатов: 1 Дополнение суммы равно произведению дополнений переменных, т.е. А+В+С=А*В*С. 2. Дополнение произведения равно сумме дополнений переменных, т.е. А*В*С = А+В+С.
Для уточнения этих постулатов следует пояснить понятие дополнения. Если А является переменной, то ее дополнение будет равно А. В булевой алгебре справедливы также следующие законы: • ассоциативный закон: (А+В)+С=(А+С)+В (А*В)*С=(А*С)*В. • коммутативный закон: А+В=В+А, А*В=В*А. • дистрибутивный закон: А*(В+С)=А*В=А*С. При разработке логических схем часто требуется минимизировать необходимое число элементарных схем. Это можно сделать с помощью правил булевой алгебры, а также с помощью карт Карно, диаграмм Хаффмена и состояний. Двоичное сложение. При сложении двух двоичных цифр существуют четыре возможных исхода: Первое Второе слагаемое + слагаемое = Результат + Перенос 0+ 0 = 0 0+ 1 = 1 1+ 0 = 1 1+ 1 = 1 + 1 Например, 0101 0011 (83) + 0011 1000 (56) 1000 1011 (139) Двоичное вычитание. Данная операция выполняется с применением двоичного дополнения. Двоичное дополнение (дополнительный код) двоичного числа можно получить, заменив в числе нули единицами, а единицы - нулями и прибавив затем единицу. Например, 00100111 (39) 00001101 (13) С помощью дополнительного кода это вычитание можно выполнить следующим образом: вычитаемое 0001 1010 (26) обратный код 1110 0101 + 1 дополнение 1110 0110 Теперь производим сложение 0010 0111 (39) + 1110 0110 (дополнение числа 26) 1 00001101 (13) Игнорируемый перенос означает, что результат положительный. Отсутствие цифры переноса означает, что результат имеет отрицательный знак. Системы, в которых применяются МП часто используются для вычисления сложных математических функций в широком диапазоне чисел. Рассмотрим задачу представления положительных и отрицательных чисел 8-разрядными словами. Их диапазон ограничивается величинами + 127. Первые 128 чисел, от 0 до 127, определяются как положительные числа. Отрицательные числа получаются обратным отсчетом от нуля, как в реверсивном счетчике - если содержимое регистра равно 0000 0000 и происходит уменьшение этого числа на единицу, то следующим показанием счетчика будет 1111 1111 (FF в шестнадцатеричной системе). Следовательно, FF в этой системе представляет число -1. Такое представление носит название дополнения до двух (или дополнительного кода числа). Дополнительные коды очень удобны для арифметических действий. Выражающие их числа при сложении, вычитании, умножении и делении также дают числа в дополнительном коде. Обычно они используются в МП системах, которые должны оперировать как с положительными, так и с отрицательными числами. Для расширения диапазона чисел используемых в МЛ системах увеличивают количество двоичных разрядов в представлении каждого числа. Это достигается использованием двойного слова, что позволяет представлять числа в диапазоне от 0 до 65535, или от -32767 до +32767. Двойная точность расширяет диапазон целых чисел, но как быть с промежуточными (дробными) числами. Существует два способа представления таких значений в форме с фиксированной запятой и в форме с плавающей запятой. Первый способ для запоминания чисел использует два байта - один для целой части числи, другой- для дробной. Однако, разрешающая способность для дробных чисел при этом способе представления незначительна н ограничена величиной 1/256 (примерно 0.004). Для работы с числами, изменяющимися в широком диапазоне, применяют второй способ - с использованием экспоненциального представления, при котором отдельно представляются мантисса и порядок числа. Также для представления каждого числа используются 2 байта: один отводится для мантиссы, а другой - для порядка числа. Диапазон представляемых таким образом чисел составляет очень широкую область значений 127 -127 От 10 до 10 Большинство МП систем оснащаются десятичными устройствами ввода-вывода (клавиатура, дисплей), для которых применяется так называемая двоично-десятичная система кодирования десятичных чисел. Каждая из десятичных цифр независимо преобразуется в два 4-разрядных двоичных числа, которые затем упаковываются в один байт. Например, 28 = 0010 1000 При этом двоичные значения от 1010 до 1111 никогда не употребляются. Большинство МП снабжено специальными командами для обработки двоично-десятичных чисел. Многие МП системы должны производить действия не только над цифрами, но и над буквами. Для этого существует широко распространенный код АSСII, по которому каждому символу присваивается определенное двоичное значение. |
|