- •Задание 1.
- •Теоретическая часть.
- •Практическая часть.
- •Машинные коды.
- •Теоретическая часть.
- •Арифметические действия в машинных кодах.
- •Практическая часть.
- •Теория.
- •Теоретическая часть.
- •Практическая часть.
- •2) Для кнф и днф из лабораторной работы 3 построить функциональные схемы.
- •/R/s-триггер
- •Rs-триггер
- •D-Триггер
- •T-Триггер
- •Jk-Триггер
- •Полусумматор
- •Дешифратор
- •Шифратор
- •Компаратор
Арифметические действия в машинных кодах.
Сложение (вычитание). Операция вычитания приводится к операции сложения путем преобразования чисел в обратный или дополнительный код согласно таблице.
Требуемая операция |
Необходимое преобразование |
А+В |
А+В |
А-В |
А+(-В) |
-А+В |
(-А)+В |
-А-В |
(-А)+(-В) |
Здесь А и В неотрицательные числа.
Практическая часть.
Задание:
Взять две пары десятичных двузначных целых числа по желанию: А, В, С, D.
Вычислить (А-В)ок, (В-А)дк, (С-D)ок, (D-C)дк.
Пусть А=11, В=15, С=10, D=12.
(A-B)ок = A+(-B); (B-A)дк = B+(-A); (C-D)ок = C+(-D); (D-C)дк = D+(-C).
Прямой, обратный и дополнительный код для положительных чисел равен:
Aпр = Aок = Aдп = 0,1011
Bпр = Bок = Bдп = 0,1111
Cпр = Cок = Cдп = 0,1010
Dпр = Dок = Dдп = 0,1100
Для отрицательных чисел равен:
Aпр = 1,1011; Aок = 1,0100; Aдп = 1,0101.
Bпр = 1,1111; Bок = 1,0000; Bдп = 1,0001.
Cпр = 1,1010; Cок = 1,0101; Cдп = 1,0110.
Dпр = 1,1100; Dок = 1,0011; Dдп = 1,0100.
А теперь сложим полученные числа в соответствии с формулой:
По таблице необходимо преобразование А+(-В), в которой второй член преобразуется с учетом знака
-
Сложение в ОК
[A2]ок=0|1011
+[В2]ок=1|0000
----------------------
1|1011
+\------1
-----------------------
1|0100
K2=1|01002
По таблице необходимо преобразование В+(-А), в которой второй член преобразуется с учетом знака
-
Сложение в ДК
[B2]дк=0|1111
+[A2]дк=1|0101
----------------------
10|0100
-----------------------
0|0100
K2=0|01002
По таблице необходимо преобразование С+(-D), в которой второй член преобразуется с учетом знака
-
Сложение в ОК
[C2]ок=0|1010
+[D2]ок=1|0011
----------------------
1|1101
+\------1
-----------------------
1|0010
K2=1|00102
По таблице необходимо преобразование D+(-С), в которой второй член преобразуется с учетом знака
-
Сложение в ДК
[D2]дк=0|1100
+[C2]дк=1|0110
----------------------
10|0010
+\------1
-----------------------
0|0010
K2=0|00102
Задание 3.
Алгебра логики.
Теория.
Логическая функция f (x1,x2,...,xn) - это функция, принимающая значения 0 и 1, аргументы которой (x1,x2,...,xn) также принимают значения 0 и 1. Здесь 0 и 1 - не арифметические величины, а истинностные значения.
0 - "нет" - ЛОЖЬ;
1 - "да" - ИСТИНА.
Вторым названием логических функций является название булевы функции, которые названы так в честь английского математика Джорджа Буля, который впервые в 1849 описал использование подобных функций.
Табличный - Функция задается в виде таблицы истинности (соответствия), которая содержит 2n строк (по числу наборов аргументов), n столбцов по числу переменных и один столбец значений функции. В такой таблице каждому набору аргументов соответствует значение функции. n = 3, число строк 23 = 8, число возможных функций трех переменных 2= 28 = 256. |
|
|
Аналитический - Функция задается в виде алгебраического выражения, получаемого путем применения каких-либо логических операций к переменменным алгебры логики. применяя операции конъюнкции и дизъюнкции можно задать функцию выражением f ( x1, x2, x3 ) = x1x2 v x3. Способ получения такого аналитического описания булевой функции будет рассмотрен в последующих разделах.
Дизъюнктивная нормальная форма (ДНФ) - дизъюнкция элементарных произведений. Термин "нормальная" озачает, что в данном выражении отсутствуют групповые инверсии, т.е инверсия над несколькими переменными сразу. Пример ДНФ f = x1x2x3 v 1x3.
Конъюнктивная нормальная форма (КНФ) - конъюнкция элементарных сумм. Термин "нормальная" озачает, что в данном выражении отсутствуют групповые инверсии, т.е инверсия над несколькими переменными сразу. Пример КНФ f = ( x1 v x2 v x3 )· ( 1 v x3 ).
Так как в булевой алгебре функции принимают только два значения 0 и 1, то существует особый класс функций, являющихся инверсными по отношению к рассматриваемым функциям, т.е. на тех наборах, где данная функция принимает значение 0 ( 1 ), инверсная функция принимает значение 1 ( 0 ) соответственно.
На основании закона Де-Моргана можно сформулировать правило получения инверсной функции.
Для получения аналитического выражения инверсной функции необходимо в исходной функции все переменные заменить на инверсные им, все знаки дизъюнкции заменить на знаки конъюнкции и наоборот
Используя законы булевой алгебры, можно преобразовывать исходные ваыражения в более простые (минимизировать их). По упрощенным выражениям можно построить техническое устройство, имеющее минимальные аппаратные затраты.
Минимизация производится с помощью применения законов склеивания и поглощения.
Практика.
Для функций, заданных по Вашему варианту, построить таблицы истинности, аналитическое выражение в КФ и ДФ и попытаться его минимизировать. Записать инверсную функцию.
f (2,3,4,5) = 1 ; f (0,1,3,6,7) = 1 ; f (7,10,11,12,13,14,15) = 1;
Таблица истинности для данной функции f (2,3,4,5) = 1:
|
Х1 |
Х2 |
Х3 |
f(Х1,Х2,Х3) |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
0 |
2 |
0 |
1 |
0 |
1 |
3 |
0 |
1 |
1 |
1 |
4 |
1 |
0 |
0 |
1 |
5 |
1 |
0 |
1 |
1 |
6 |
1 |
1 |
0 |
0 |
7 |
1 |
1 |
1 |
0 |
ДНФ
f(x1,x2,x3) = 1x23 v 1x2x3 v x123 v x12x3 = 1x2(3 v x3) v x12(3 v x3) =
1x2*1 v x12*1 = 1x2 v x12
КНФ
f(x1,x2,x3) = 1x23 v 1x2x3 v x123 v x12x3 = 1x2 v x12 = (1 v 2) (x1 v x2)
Инверсные функции
ДНФ
_
f(x1,x2,x3) = (1v x2) (x1 v 2)
КНФ
_
f(x1,x2,x3) = 12 v x1x2
Таблица истинности для данной функции f (0,1,3,6,7) = 1:
|
Х1 |
Х2 |
Х3 |
f(Х1,Х2,Х3) |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
2 |
0 |
1 |
0 |
0 |
3 |
0 |
1 |
1 |
1 |
4 |
1 |
0 |
0 |
0 |
5 |
1 |
0 |
1 |
0 |
6 |
1 |
1 |
0 |
1 |
7 |
1 |
1 |
1 |
1 |
ДНФ
f(x1,x2,x3) = 123v 12x3 v 1х2х3v x1х23v x1x2x3 =
12(3v x3) v 1х2х3v x1x2 (3v x3) = 12v 1х2х3v x1x2 =
1(2v х2х3) v x1x2 = 1х2v 1х3v x1x2 = x2(1v x1) v 1х3 =x2 v 1х3
КНФ
f(x1,x2,x3) = 123v 12x3 v 1х2х3v x1х23v x1x2x3 = x2 v 1х3 = (x2 v 1) (x2 v х3)
Инверсные функции
ДНФ
_
f(x1,x2,x3) = x2(1 v х3)
КНФ
_
f(x1,x2,x3) = x21 v x2x3
Таблица истинности для данной функции f (7,10,11,12,13,14,15) = 1:
|
Х1 |
Х2 |
X3 |
Х4 |
f(Х1,Х2,Х3,X4) |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
2 |
0 |
0 |
1 |
0 |
0 |
3 |
0 |
0 |
1 |
1 |
0 |
4 |
0 |
1 |
0 |
0 |
0 |
5 |
0 |
1 |
0 |
1 |
0 |
6 |
0 |
1 |
1 |
0 |
0 |
7 |
0 |
1 |
1 |
1 |
1 |
8 |
1 |
0 |
0 |
0 |
0 |
9 |
1 |
0 |
0 |
1 |
0 |
10 |
1 |
0 |
1 |
0 |
1 |
11 |
1 |
0 |
1 |
1 |
1 |
12 |
1 |
1 |
0 |
0 |
1 |
13 |
1 |
1 |
0 |
1 |
1 |
14 |
1 |
1 |
1 |
0 |
1 |
15 |
1 |
1 |
1 |
1 |
1 |
ДНФ
f(x1,x2,x3) = 1x2x3x4 v x12x34v x12х3х4v x1х234v x1x2x34x v x1x2x34v x1x2x3x4 = 1x2(x3x4) v x12(x34v x3x4) v x1x2(34v 3x4 v x34v x3x4) =
1x2(x3x4) v x12(x34v x3x4) v x1x2((34v 3x4) v (x34v x3x4)) =
1x2x3x4 v x12(x3) v x1x2(3 v x3) = 1x2x3x4 v x12x3 v x1x23 v x1x2x3 = x2x3 (1x4 v x1) v x12x3 v x1x23 = x2x3x4 v x1x2x3 v x12x3 v x1x23 = x2(x4 v x1) v x1x3 =
x1x2 v x1x3 v x2x4
КНФ
f(x1,x2,x3) = 1x2x3x4 v x12x34v x12х3х4v x1х234v x1x23x4 v x1x2x34v x1x2x3x4 = x1x2 v x1x3 v x2x4 = (x1 v x4) (x2 v x3)
Инверсные функции
ДНФ
_
f(x1,x2,x3) = (x1 v x2) (x1 v x3) (x2 v x4)
КНФ
_
f(x1,x2,x3) = x1x4 v x2x3
Задание 4.
Тема: Схемотехническая реализация логических элементов. Построение логических схем.