Опубликован: 19.11.2012 | Уровень: для всех | Доступ: платный | ВУЗ: Национальный исследовательский университет "Высшая Школа Экономики"
Лекция 14:

Информационно-логические основы ЭВМ

< Лекция 13 || Лекция 14: 1234 || Лекция 15 >

Логические основы ЭВМ

Основные сведения из алгебры логики

Теоретической основой построения ЭВМ служат специальные математические дисциплины. Одной из них является алгебра логики, или булева алгебра (Дж. Буль - английский математик XIX в., основоположник этой дисциплины). Ее аппарат широко используют для описания схем ЭВМ, их проектирования и оптимизации.

Вся информация в ЭВМ представляется в двоичной системе счисления. Поставим в соответствие входным сигналам отдельных устройств ЭВМ соответствующие значения x_j(i=\overline{1,n}) , а выходным сигналам - значения функций y_j(j=\overline{1,m}) (рис.14.1).

В этом случае зависимостями

y_J=f{x_l,x_2,\dots,x_i,\dots,x_n), ( 14.2)

где x_i - i- й вход;

n - число входов;

y_j -j-й выход;

т - число выходов в устройстве, можно описывать алгоритм работы любого устройства ЭВМ. Каждая такая зависимость у_j является "булевой функцией, у которой число возможных состояний и каждой ее независимой переменной равно двум" (стандарт ISO 2382/2-76), т.е. функцией алгебры логики, а ее аргументы определены на множестве \{0,1\}. Алгебра логики устанавливает основные законы формирования и преобразования логических функций. Она позволяет представить любую сложную функцию в виде композиции простейших функций. Рассмотрим наиболее часто употребляемые из них.

Входные и выходные сигналы в схемах компьютера

Рис. 14.1. Входные и выходные сигналы в схемах компьютера

Известно, что количество всевозможных функций N от n аргументов выражается зависимостью:

N=2^{2^n} ( 14.3)

При n = 0 можно определить две основные функции (N = 2), не зависящие от каких-либо переменных: y_0, тождественно равную нулю (y_0 \equiv 0), и y_1, тождественно равную единице (y_1 \equiv 1). Технической интерпретацией функции y_1 \equiv 1 может быть генератор импульсов. При отсутствии входных сигналов на выходе этого устройства всегда имеются импульсы (единицы). Функция y_0 \equiv 0 может быть интерпретирована как отключенная схема, сигналы от которой не поступают ни к каким устройствам.

При n=1 зависимость (14.3) дает N=4. Представим зависимость значений этих функций от значения аргумента x в виде специальной таблицы истинности (табл. 14.4).

Таблица 14.4. Таблица функций от одной переменной
X Y_j Y0 Y1 Y2 Y3
0 0 1 0 0
1 0 1 1 0

Таблицы истинности получили такое название, потому что они определяют значение функции в зависимости от комбинации входных сиг-налов. В этой таблице, как и ранее, y_0 \equiv 0 и y_1 \equiv 1. Функция y_2 = x, а функция y_3 =\bar x (инверсия x).

Этим функциям соответствуют определенные технические аналоги. Схема, реализующая зависимость y_2 =x, называется повторителем, а схема y_3 = \bar x - инвертором.

При n = 2, N = 16, т.е. от двух переменных можно построить шестнадцать различных функций. В табл. 14.5 представлена часть из них, имеющая фундаментальное значение при построении основных схем ЭВМ.

Таблица 14.5. Таблица функций от двух переменных
Y_jX1 Y0 Y1 Y2 Y3 \dots Y4 Y5 Y6 Y7 Y8 Y9 \dots Y15
X2
00 0 1 0 1 0 1 0 1 1 0
01 0 1 0 1 1 0 0 1 0 1
10 0 1 1 0 1 0 0 1 0 1
11 0 1 1 0 1 0 1 0 1 0

В левой части таблицы перечислены все возможные комбинации входных переменных (наборы значений), а в правой - возможные реак-ции выходных сигналов. В табл. 14.5 представлены функции y_0 - y_3, полностью соответствующие функциям табл. 14.4, а также новые, часто используемые и интересные функции y_4 - y_9. При этом местоположение функций и их нумерация в таблице особого значения не имеют. По данной таблице нетрудно составить аналитическое выражение (зависимость) для каждой функции от двух аргументов вида (14.2). Для этого наборы переменных, на которых функция принимает значение единицы, записываются как конъюнкции (логическое умножение) и связываются знаками логического сложения. Такие формы функций получили название дизъюнктивных нормальных форм (ДНФ). Если в этих функциях конъюнкции содержат все без исключения переменные в прямом или инверсном значениях, то такая форма функций называется совершенной.

Функция y_4 представляет собой функцию логического сложения, дизъюнкцию. Она принимает значение единицы, если значение единицы имеет хотя бы одна переменная х_1 или х_1:

у_4=x_1 \bar x_2 /vee \bar x_1 x_2 \vee x_1x_2=x_1 \vee x_2

Тождественность приведенных аналитических зависимостей можно установить, пользуясь законами алгебры логики, приведенными ниже.

Функция y_5 является инверсной функцией по отношению к y_4:

y_5=\bar y_4=\overline{x_1 \vee x_2}=\bar x_1*\bar x_2

Она имеет название отрицание дизъюнкции. Иногда в литературе встречается ее специальное название "стрелка Пирса", по имени математика, исследовавшего ее свойства.

Функция y_6 является функцией логического умножения, конъюнкцией. Она очень похожа на операцию обычного умножения и принимает значение единицы в тех случаях, когда все ее переменные равны единице:

y_6=x_1*x_2

Функция y_7 является инверсной функцией по отношению y_6:

y_7=\bar y_6=\overline{x_1*x_2}=\bar x_1\vee \bar x_2

Она называется отрицание конъюнкции или "штрих Шеффера".

Функция y_8 называется логической равнозначностью, она принимает значение единицы, если все ее переменные имеют одинаковое значение (или 0 или 1):

y_4=\bar x_1*\bar x_2 \vee x_1*x_2

Функция y_9 является инверсной по отношению y_8 и называется не-равнозначностью:

y_9=\bar y_8=\overline{\bar x_1*\bar x_2 \vee x_1*x_2}=\bar x_1*x_2 \vee x_1* \bar x_2

Она принимает значение единицы, если ее переменные имеют противоположные значения. Функции y_8 и y_9 являются основой для построения сумматоров, так как они соответствуют правилам формирования цифр двоичных чисел при сложении и вычитании (табл. 14.2).

Из перечисленных функций двух переменных можно строить сколь угодно сложные зависимости, отражающие алгоритмы преобразования информации, которая представлена в двоичной системе счисления. Алгебра логики устанавливает правила формирования логически полного базиса простейших функций, из которых могут строиться любые более сложные. Наиболее привычным базисом является набор трех функций {инверсия - \lceil, дизъюнкция - \vee, конъюнкция - \wedge или &}. Работа с функциями, представленными в этом базисе, очень похожа на использование операций обычной алгебры.

Алгебра логики устанавливает, что существуют и другие комбинации простейших логических функций, обладающих свойством логической полноты. Например, наборы логических функций {инверсия, дизъюнкция} и {инверсия, конъюнкция} также являются логически полными. Наиболее интересны минимальные базисы, включающие по одной операции {"отрицание дизъюнкции (\bar {\vee})", {"отрицание конъюнкции (\bar {\wedge})"}или (&). Однако работа с функциями, представленными в указанных базисах, требует от специалистов по проектированию ЭВМ определенных навыков.

< Лекция 13 || Лекция 14: 1234 || Лекция 15 >
Фахруддин хемракулыев
Фахруддин хемракулыев
Шерхон Давлатов
Шерхон Давлатов

Почему тесты (1,2,3..) не работают. Хочу пройти тест но не получается

Денис Шаяхметов
Денис Шаяхметов
Россия, г. Нижневартовск
Кирилл Коршук
Кирилл Коршук
Беларусь, Минск, Международный университет МИТСО