Лекция 3. Элементная база компьютера. Информатика – 1. компьютерной техники

advertisement
Информатика – 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
N2
(1.2.1)
Для n=0 определены две основные функции, не зависящие от какихлибо переменных:
 y0, тождественно равную нулю (y00);
 y1, тождественно равную единице (y11).
Техническая интерпретация:
 y11 – генератор импульсов (при отсутствии входных сигналов на
выходе этого устройства всегда имеются импульсы – 1);
 y00 – отключенная схема, сигналы от которой не поступают ни к
каким устройствам.
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).
Обозначается конъюнкция знаком "", который читается как
«и». Значение конъюнкции для заданных аргументов
находится по правилам логического умножения:
00  0
01 0
1 0  0
11  1
x00
x 1  x
xx  x
xx0
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
x0 x
01  1
x11
1 0  1
xx  x
1 1  1
xx 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; x1x2 = x2x1;
2. Ассоциативный (сочетательный) закон:
(x1·x2)·x3 = (x1· x3) ·x2 = x1·(x2· x3);
(x1x2)x3 = x1(x2 x3);
Эти законы идентичны аналогичным законам
алгебры.
3. Дистрибутивный (распределительный) закон:
x1·(x2 x3) = x1·x2x1· x3;
x1x2· x3 = (x1x2) ·(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.
Использование дешифраторов в компьютере:
 выборка необходимых ячеек запоминающих устройств;
 расшифровка кодов операций с выдачей соответствующих
управляющих сигналов
и другие операции.
По принципу действия дешифраторы бывают:
 одноступенчатыми (однокаскадными);
 многоступенчатыми (многокаскадными).
Сумматор
Сумматор – узел компьютера, выполняющий арифметическое
суммирование
кодов
чисел.
Операция
суммирования
осуществляется в сумматорах поразрядно с
использованием
одноразрядных суммирующих схем – одноразрядных сумматоров.
В одноразрядном сумматоре в каждом разряде требуется
выполнить сложение трех двоичных цифр (битов):
 бит данного разряда первого слагаемого;
 бит этого же разряда второго слагаемого;
 бит переноса из соседнего младшего разряда.
Иногда такое суммирование разбивают на две операции:
 суммирование двух битов слагаемых;
 суммирование полученного результата с битом переноса из
соседнего младшего разряда.
Каждая из этих операций выполняется схемой, называемой
полусумматором.
Download