Информатика – 1. Аппаратное и программное обеспечение компьютерной техники Лекция 3. Элементная база компьютера. Булева алгебра. Определение Булева алгебра или алгебра логики или исчисление высказываний – специальный математический аппарат, описывающий основу работы схем и устройств компьютера. Высказывание – любое утверждение, о котором можно сказать, что оно истинно или ложно. Полное соответствие между логическими высказываниями в булевой алгебре и цифрами в двоичной системе счисления позволяет описывать работу логических схем компьютера, проводить их анализ и синтез с помощью математического аппарата алгебры логики. 2 Булева алгебра. Всякое устройство компьютера, выполняющее арифметические или логические операции, можно рассматривать как функциональный преобразователь, входными переменными (аргументами) которого являются исходные двоичные числа x(i) (i=1,n), а выходными функциями – y(j) (j=1,m): 3 Булева алгебра. Функциями yj = f(x1,x2,…xn), где: xi – i-й вход; n – число входов; yj – j-й выход; m – число выходов, можно описывать алгоритм работы любого устройства компьютера. Как входные переменные, так и выходные функции могут принимать лишь одно из двух возможных значений: 0 или 1, иначе говоря, аргументы и функции определены на множестве из двух чисел: 0 и 1 (это записывается как xi,yi{0,1}). 4 Булева алгебра. Логические функции Так как каждая переменная xi равна 0 или 1, то для n переменных образуется множество разнообразных сочетаний или наборов входных переменных. Количество функций N от n аргументов выражается следующей зависимостью: 2n N2 (1.2.1) Для n=0 определены две основные функции, не зависящие от какихлибо переменных: y0, тождественно равную нулю (y00); y1, тождественно равную единице (y11). Техническая интерпретация: y11 – генератор импульсов (при отсутствии входных сигналов на выходе этого устройства всегда имеются импульсы – 1); y00 – отключенная схема, сигналы от которой не поступают ни к каким устройствам. 5 Булева алгебра. Логические функции (одна переменная) При n=1 зависимость (1.2.1) дает N=4. Представим зависимость значений этих функций от значения аргумента x в виде специальной таблицы истинности, определяющей значение функции в зависимости от комбинации входных сигналов: yj x1 0 1 y0 y1 y2 y3 0 0 0 1 1 0 1 1 6 Булева алгебра. Логические функции (одна переменная) Значения функций: y0 – тот же смысл, что функция y0 для n=0; y1=x повторяет значение x; y2 выдает значение, обратное значению x, и называется инверсией, или отрицанием x (отрицание обозначается как = 0, если х = 1 , и = 1, если x = 0); y3 – тот же смысл, что функция y1 для n=0. Техническая интерпретация: схема, реализующая зависимость у = х – повторитель ; схема , реализующая зависимость у = – инвертор. 7 Булева алгебра. Логические функции (две переменных) При n=2, значение N равно 16, т.е. от двух переменных можно построить шестнадцать различных логических функций y1, y2,..., y16: xi yj x1 x2 y0 y1 y2 y3 y4 y5 y6 y7 y8 y9 y10 y11 y12 y13 y14 y15 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 8 Булева алгебра. Логические функции. Тривиальные функции двух переменных Тривиальные функции: функции y0 (0,0,0,0) и y15 (1,1,1,1) являются, как и функции y0 и y3 для одной переменной, соответственно тождественно равными 0 и 1: y0 0; y15 1. функции y10 (0,1,0,1) и y12 (0,0,1,1), как и функция y1 для одной переменной, повторяют соответственно переменные x2 и x1: y10 x2; y12 x1. функции y3 (1,1,0,0)и y5 (1,0,1,0), как и функция y2 для одной переменной, являются соответственно отрицаниями переменных x1 и x2: y3 = x1 ; y5 = x 2 . 9 Булева алгебра. Логические функции. Конъюнкция Функция y8 (0,0,0,1) – конъюнкция (логическое умножение, или операция И) переменных x1, х2, которая обращается в единицу только в том случае, если аргументы x1 и х2 одновременно равны 1, и в 0 – во всех остальных случаях, то есть если хотя бы один аргумент равен 0. Функция конъюнкции равна min(x1 , х2). Обозначается конъюнкция знаком "", который читается как «и». Значение конъюнкции для заданных аргументов находится по правилам логического умножения: 00 0 01 0 1 0 0 11 1 x00 x 1 x xx x xx0 10 Булева алгебра. Логические функции. Конъюнкция В общем случае, функцию конъюнкции можно определить для любого числа аргументов, т.е. x1 x2 x3 ... . Знак "" может быть опущен или заменен точкой. Для обозначения операции конъюнкции используется также символ "&". Примеры записи конъюнкции: Выражения x1 x2 x3 и x1 x2 x3 и x1 x2 x3 и x1 & x2 & x3 эквивалентны. 11 Булева алгебра. Логические функции. Дизъюнкция Функция y14 (0,1,1,1) – дизъюнкция (логическое сложение, или операция ИЛИ) обращается в 0 только в том случае, если аргументы x1 и x2 одновременно равны 0, и в 1, если хотя бы один аргумент равен 1. Функция дизъюнкции равна max(x1,x2). Обозначается дизъюнкция знаком "", который читается как «или». Значение дизъюнкции для заданных аргументов находится по правилам логического сложения: 0 0 0 x0 x 01 1 x11 1 0 1 xx x 1 1 1 xx 1 12 Булева алгебра. Логические функции. Дизъюнкция В общем случае, функцию дизъюнкции можно определить для любого числа аргументов, т.е. x1 x2 x3 ... . Знак " " может быть заменен знаком +. Примеры записи дизъюнкции: Выражения x1 x2 x3 и x1 + x2 + x3 эквивалентны. 13 Булева алгебра. Логические функции. Отрицание конъюнкции и дизъюнкции Функция y7 (1,1,1,0) – отрицание конъюнкции (операция ИНЕ), т.е. x1 x2 . Данная функция обращается в нуль только в том случае, если аргументы x1 и x2 одновременно равны единице, и в единицу, если хотя бы один из аргументов равен нулю. Эту функцию называют также «штрих Шеффера». Функция y1 (1,0,0,0) – отрицание дизъюнкции (операция ИЛИ-НЕ), т.е. x1 x2 . Данная функция обращается в единицу только в том случае, если аргументы x1 и x2 одновременно равны нулю, во всех остальных случаях она равна нулю. Эту функцию называют также «штрих Пирса». 14 Булева алгебра. Логические функции. Эквивалентность и отрицание эквивалентности Функция y9 (1,0,0,1) – эквивалентность (или равнозначность) переменных x1 и x2. Данная функция обращается в 1 в том случае, если совпадают значения аргументов x1 и x2; в остальных случаях она равна 0. Обозначается эквивалентность знаком "~", который читается «равнозначно». Функция y6 (0,1,1,0) – отрицание эквивалентности (или неравнозначность) переменных x1 и x2. Запись читается как «x1 неравнозначно x2». Эта функция равна 1 только в том случае, если значения x1 и x2 не равны. 15 Булева алгебра. Логические функции. Импликация Функция y11 (1,1,0,1) – импликация x1 в x2, которая обращается в нуль только в том случае, если переменная x1 равна 1, а x2 – 0; в остальных случаях функция импликации x1 в x2 равна 1. Данная функция обозначается x1 x2 и читается как «если x1, то x2». Функция y13 (1,0,1,1) – импликация x2 в x1, которая обращается в нуль только в том случае, если переменная x2 равна 1, а x1 – 0; в остальных случаях функция импликации x2 в x1 равна 1. Данная функция обозначается x2 x1 и читается как «если x2, то x1»: 16 Булева алгебра. Логические функции. Отрицание импликации Функция y4 (0,0,1,0) – отрицание импликации x1 в x2, т. е. . x1 x2. Данную функцию можно рассматривать как функцию запрета со стороны входной переменной x2. Это означает, что выходная функция обращается в 1 только в том случае, если входная переменная x1 равна 1, а x2 – 0; в остальных случаях функция импликации x1 в x2 равна 0. Функция y2 (0,1,0,0)– отрицание импликации x2 в x1, т. е. . x2 x1 . Эта функция обращается в 1 только в том случае, если переменная x2 равна 1, а x1 – 0, в остальных случаях функция импликации x2 в x1 равна 0. 17 Булева алгебра. Логические функции. Нормальные формы (1) Табличное представление логических функций существенно усложняется с увеличением числа аргументов, например для трех аргументов будет = 256 логических функций. В этом случае, особенно при анализе и синтезе логических устройств компьютера, более удобным является аналитическое представление логических функций с помощью нормальных форм. Наиболее распространенными формами являются: дизъюнктивная нормальная форма; конъюнктивная нормальная форма. Если в этих функциях конъюнкции или дизъюнкции содержат все без исключения переменные в прямом или инверсном значении, то такая форма функций называется совершенной. 18 Булева алгебра. Законы В булевой алгебре определен целый ряд законов, с помощью которых возможно преобразование логических функций: 1. Коммутативный (переместительный) закон: x1·x2 = x2·x1; x1x2 = x2x1; 2. Ассоциативный (сочетательный) закон: (x1·x2)·x3 = (x1· x3) ·x2 = x1·(x2· x3); (x1x2)x3 = x1(x2 x3); Эти законы идентичны аналогичным законам алгебры. 3. Дистрибутивный (распределительный) закон: x1·(x2 x3) = x1·x2x1· x3; x1x2· x3 = (x1x2) ·(x1 x3); 19 обычной Булева алгебра. Законы 4. Закон поглощения. В дизъюнктивной форме логической функции конъюнкция меньшего ранга, т.е. с меньшим числом переменных, поглощает все конъюнкции большего ранга, если ее изображение содержится в них. Это же справедливо и для конъюнктивных форм: x1 x1·x2 = x1; x1 ·(x1 x2) = x1; 5. Закон склеивания: x1 x2 x1 x2 x1 ; ( x1 x2 ) ( x1 x2 ) x1 6. Правило де Моргана: x1 x2 x1 x 2 x1 x 2 x1 x2 20 Комбинационные схемы. Определение В комбинационной схеме набор выходных сигналов – выходное слово Y (y1, y2, ..., ym) в любой момент времени полностью определяется набором входных сигналов – входным словом X (x1, x2, ..., xn) , поступающих в тот же момент времени. Таким образом, в комбинационной схеме результат обработки информации зависит только от комбинации входных сигналов и вырабатывается одновременно с их поступлением. 21 Цифровые автоматы. Определение В цифровых автоматах набор выходных сигналов Y(y1, y2, ..., ym) зависит не только от набора входных сигналов X(x1, x2, ..., xn), но и от внутреннего состояния Q(q1, q2, ..., qk) данного устройства. Цифровые автоматы имеют память, фиксирующую состояния автомата. Наборы переменных X, Y и Q называются соответственно входным, выходным и внутренним алфавитами. Обычно значения этих алфавитов разделяют по временным интервалам t = 0,1,2, ..., называемым тактами. В течение такта состояния всех трех алфавитов сохраняются неизменными. 22 Структурные элементы компьютера. Термины При конструировании и анализе функционирования компьютера обычно выделяют следующие структурные единицы компьютера: элементы; узлы; блоки; устройства. 23 Структурные элементы компьютера. Термины Элементы компьютера Элементы компьютера выполняют функции простейших преобразователей информации. Они реализуют различные логические операции над сигналами входных двоичных переменных, а также обеспечивают запоминание, формирование и преобразование этих сигналов. Узлы компьютера Функционально взаимосвязанные группы таких элементов образуют различные узлы компьютера, которые оперируют с многоразрядными двоичными кодами, например машинными словами или их частями. Элементы и узлы являются основой для построения блоков компьютера. 24 Структурные элементы компьютера. Термины Блоки Блоки реализуют некоторую последовательность в обработке информационных слов, обеспечивающую некоторую функцию, например, выборку команд или выполнение операций записи и чтения данных. Устройства В свою очередь, устройства, состоящие из блоков, являются теми наибольшими структурными единицами из которых состоит компьютер, например, процессор, дисплей, клавиатура и т.д. Типовые узлы компьютера Основными типовыми узлами компьютера являются: регистры; счетчики; дешифраторы; сумматоры. Типовые узлы компьютера. Регистр Регистр - функциональный узел компьютера, предназначенный для запоминания многоразрядных кодов и выполнения над ними некоторых логических преобразований. Регистр включает в себя: отдельные триггеры, количество которых соответствует числу разрядов двоичного кода; вспомогательные схемы. Регистры обычно используются в составе процессора и других устройств : для хранения системной информации; как сверхбыстрая память при обработке данных. Типовые узлы компьютера. Счетчик Счетчик - функциональный узел, предназначенный для подсчета числа входных сигналов и запоминания кода этого числа соответствующими триггерами. Число разрядов счетчика определяет количество его различных устойчивых состояний, которое называется коэффициентом пересчета. В зависимости. от значения коэффициента пересчета счетчики бывают двоичные и с произвольным коэффициентом пересчета. По назначению счетчики делятся на: суммирующие; вычитающие; реверсивные. Дешифратор. Определение, использование, принцип действия Дешифратор – комбинационная логическая схема, преобразующая поступающий на входы код в сигнал только на одном из ее выходов. Если количество двоичных разрядов дешифрируемого кода обозначить через n, то число выходов дешифратора должно быть 2n. Использование дешифраторов в компьютере: выборка необходимых ячеек запоминающих устройств; расшифровка кодов операций с выдачей соответствующих управляющих сигналов и другие операции. По принципу действия дешифраторы бывают: одноступенчатыми (однокаскадными); многоступенчатыми (многокаскадными). Сумматор Сумматор – узел компьютера, выполняющий арифметическое суммирование кодов чисел. Операция суммирования осуществляется в сумматорах поразрядно с использованием одноразрядных суммирующих схем – одноразрядных сумматоров. В одноразрядном сумматоре в каждом разряде требуется выполнить сложение трех двоичных цифр (битов): бит данного разряда первого слагаемого; бит этого же разряда второго слагаемого; бит переноса из соседнего младшего разряда. Иногда такое суммирование разбивают на две операции: суммирование двух битов слагаемых; суммирование полученного результата с битом переноса из соседнего младшего разряда. Каждая из этих операций выполняется схемой, называемой полусумматором.