Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольная работа ОЭВМ.doc
Скачиваний:
61
Добавлен:
01.05.2014
Размер:
634.88 Кб
Скачать

Арифметические действия в машинных кодах.

Сложение (вычитание). Операция вычитания приводится к операции сложения путем преобразования чисел в обратный или дополнительный код согласно таблице.

Требуемая операция

Необходимое преобразование

А+В

А+В

А-В

А+(-В)

-А+В

(-А)+В

-А-В

(-А)+(-В)


Здесь А и В неотрицательные числа.

Практическая часть.

Задание:

  1. Взять две пары десятичных двузначных целых числа по желанию: А, В, С, D.

  2. Вычислить (А-В)ок, (В-А)дк, (С-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.

Тема: Схемотехническая реализация логических элементов. Построение логических схем.