Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ВМСС / Глава 2.doc
Скачиваний:
40
Добавлен:
02.05.2014
Размер:
2.11 Mб
Скачать

2.3.4. Арифметические операции над двоично-десятичными кодами чисел

При обработке больших массивов экономической информации пере­воды чисел из десятичной системы в двоичную и обратно могут тре­бовать значительного машинного времени. Некоторые образцы ЭВМ поэтому имеют или встроенные, или подключаемые блоки, которые обрабатывают десятичные целые числа в их двоично-десятичном пред­ставлении. Действия над ними также приводятся к операции алгебра­ического сложения отдельных цифр чисел, представленных дополни­тельными кодами в соответствии с табл. 2.3.

Существует несколько алгоритмов сложения двоично-десятичных кодов десятичных чисел. Приведем один из алгоритмов сложения, ко­торый получил довольно широкое распространение.

1. Сложение чисел начинается с младших цифр (тетрад) и произво­дится с учетом возникающих переносов из младших разрядов в старшие.

2. Знак суммы формируется специальной логической схемой по знаку большего слагаемого.

3. Для того чтобы при сложении двоично-десятичных цифр возни­кали переносы, аналогичные при сложении чисел в десятичном пред­ставлении, необходимо проводить так называемую десятичную кор­рекцию. Для этого к каждой тетраде первого числа прибавляется до­полнительно по цифре 610=01102, что позволяет исключить шесть не­используемых комбинаций (1010—1111)2, так как они кодируют шестнадцатеричные цифры АF (числа 10—1510).

4. После операции суммирования осуществляется корректировка суммы. Из тех тетрад суммы, из которых не было переносов, изыма­ются ранее внесенные избытки 610=01102. Для этого проводится вто­рая коррекция. Операция вычитания заменяется, как и обычно, опе­рацией сложения с числом -6, представленным дополнительным ко­дом 10102, но только в тех разрядах, в которых отсутствовали пере­носы. При этой второй коррекции переносы из тетрад блокируются.

5. Операция вычитания реализуется достаточно своеобразно. По общему правилу сложения (см. п. 1—4) к тетрадам числа с большим модулем прибавляются дополнительные коды тетрад другого числа. При этом первая коррекция не проводится, так как в дополнениях тет­рад она учитывается автоматически. Знак результата определяется по знаку числа с большим модулем.

Пример 2.14. Сложить два числа Аю = 177; В10 =418.

2.4.Логические основы эвм

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

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

Вся информация в ЭВМ представляется в двоичной системе счисле­ния. Поставим в соответствие входным сигналам отдельных устройств ЭВМ значения переменных хi (i = 1, n), а выходным сигналам — значе­ния функций yj (j=1,m) (рис. 2.1).

Рис. 2.1. Представление схемы ЭВМ

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

где: хi, — i-й вход;

п — число входов;

уj —j-й выход;

т — число выходов в устройстве,

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

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

(2.3)

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

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

Таблица 2.4. Таблица функций от одной переменной

Таблицы истинности получили такое название, потому что они определяют значение функции в зависимости от комбинации вход­ных сигналов. В этой таблице, как и ранее, у0≡0 и y1≡1. Функция у2=х, а функция у3=x (инверсия х).

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

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

Таблица 2.5 Таблица функций от двух переменных

Заметим, что в левой части таблицы перечислены всевозможные комбинации входных переменных (наборы значений), а в правой — возможные реакции выходных сигналов. В табл. 2.5 представлены функции у03, полностью соответствующие функциям из табл. 2.4, а также новые, часто используемые и интересные функции у49. При этом местоположение функций и их нумерация в таблице особого зна­чения не имеют. По данной таблице нетрудно составить аналитичес­кое выражение (зависимость) для каждой функции от двух аргумен­тов вида (2.2). Для этого наборы переменных, на которых функция принимает значение единицы, записываются как конъюнкции (логи­ческое умножение) и связываются знаками логического сложения. Такие формы функций получили название дизъюнктивных нормаль­ных форм (ДНФ). Если в этих функциях конъюнкции содержат все без исключения переменные в прямом или инверсном значении, то та­кая форма функций называется совершенной.

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

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

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

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

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

У6 = х1х2.

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

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

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

Функция у9 является инверсной функцией по отношению к у8

Она принимает значение единицы, если ее переменные имеют про­тивоположные значения. Далее будет показано, что функции у8 и у9 являются основой для построения сумматоров, так как они соответ­ствуют правилам формирования цифр двоичных чисел при сложении (вычитании).

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

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

Соседние файлы в папке Лекции по ВМСС