Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
модуль1_ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ.doc
Скачиваний:
49
Добавлен:
11.02.2015
Размер:
1.43 Mб
Скачать

Арифметические действия

При сложении двоичных чисел необходимо соблюдать правила:

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

  2. Знаковые разряды участвуют в сложении также как и значащие.

  3. Незначащие нули при преобразованиях изменяют свое значение по общему правилу

(с 0 на 1).

  1. При получении единицы переноса из старшего знакового разряда выполняются следующие действия: при использовании обратного кода эта единица складывается с младшим числовым разрядом, а при использовании дополнительного кода единица переноса теряется («игнорируется»).

Пример.

Вычислить 7(10)- 3(10)(абсолютная величина положительного разряда больше отрицательного).

В этом случае сложение в обратном и дополнительном кодах дает один и тот же результат. (При сложении чисел в дополнительном коде единица переноса игнорируется).

Если второе слагаемое по абсолютной величине больше первого [4(10)-7(10)], необходимо при проверке результата сложения в обратном и дополнительном кодах, выполнить перевод в прямой код.

Пример.Вычислить 4(10) – 7(10)

При выполнении операции перевода из дополнительного кода в обратный необходимо из младшего разряда дополнительного кода вычесть единицу, а для перевода обратного кода в прямой нужно обратный код инвертировать (0 на 1 или 1 на 0).

Двоичные логические элементы

ЭВМ и другие цифровые электронные устройства работают в строгом соответствии с четкими логическими законами, знание и понимание которых помогает в общении с компьютером. Основными составными частями любых цифровых схем являются логические элементы. Именно логические элементы образуют основу даже самых сложных современных ЭВМ. Логические элементы оперируют с двоичными числами, поэтому называются двоичными логическими элементами.

Термин «логический» обычно применяют по отношению к процедуре принятия решения. Следовательно, можно сказать, что логический элемент — это такая схема, которая «основываясь» на входных сигналах, «может решать», что ей ответить на выходе — «да» или «нет».

При записи тех или иных логических выражений используется специальный язык, который принят в математической логике. Основоположником математической логики является великий немецкий математик Готфрид Вильгельм Лейбниц (1646-1716 гг.). Он сделал попытку построить универсальный язык, с помощью которого споры между людьми можно было бы разрешить посредством вычислений. На заложенном Лейбницем фундаменте английский математик Джордж Буль построил здание новой науки – математической логики, которая в отличие от обычной алгебры оперирует не числами, а высказываниями. В честь Д. Буля логические переменные в языке программирования Паскаль впоследствии назвали булевыми.

Высказывание – это любое утверждение, относительно которого можно сказать истинно оно или ложно, т.е. соответствует оно действительности или нет. Таким образом,высказыванияявляютсядвоичнымиобъектами и поэтому часто истинному значению высказывания ставят в соответствие 1, а ложному – 0. Например, запись А=1 означает, что высказывание А истинно. Высказывания могут быть простыми и сложными. Простые высказывания соответствуют алгебраическим переменным, а сложные являются аналогом алгебраических функций. Функции могут получаться путем объединения переменных с помощью логических действий.

Самой простойлогической операцией является операцияНЕ(ее называют также отрицанием, дополнением или инверсией и обозначаютNOT). Логическая операция НЕ являетсяунарной, т.е. имеет всегоодиноперанд. Записывается в видеĀ. Основная функция схемы НЕ (инвертора) состоит в том, чтобы обеспечивать на выходе сигнал, противоположный сигналу на входе.

Операции И (AND) и ИЛИ (OR) являютсябинарными, т.к. представляют собой результаты действий наддвумялогическими величинами. ЛогическоеИчасто называютконъюнкцией, илилогическимумножением. В математической логике для обозначения конъюнкции используются знаки&или. Булево выражение записывается в виде АВ.

Операцию ИЛИ называют дизъюнкцией, или логическим сложением. В математической логике используется знак . Записывается в виде булевого выражения А  В.

Три основные логические операции И, ИЛИ, НЕ называют «тремя китами машинной логики». Они образуют полную систему логических операций, из которой можно построить сколь угодно сложное логическое выражение.

В вычислительной технике также часто используется операция исключающее ИЛИ(XOR), которая отличается от «обыкновенного» ИЛИ только при Х=1 иY=1 (сложение по модулю 2). ОперацияXORфактически сравнивает на совпадение два двоичных разряда. Булево выражение записывается АВ. Символ (псевдоплюс) означает, что входы (А и В) элемента связаны логической функциейисключающей ИЛИ.

Теоретически основными базовыми логическими операциями считаются именно: И, ИЛИ, НЕ, но на практике по технологическим причинам в качестве основного логического элемента используется элементИ-НЕ, который реализует логическую функцию И-НЕ (инвертированное И). Булево выражение записывается АВ. Логические элементы И-НЕ применяются очень широко и их можно использовать для реализации других логических функций.

Условные обозначения основных логических элементов приведены на рис.5.

И ИЛИ НЕ И-НЕ исключающее

ИЛИ

Рис.5. Условное обозначение основных логических элементов

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

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

Таким образом, существуют три основных инструмента для решения задач символической логики: условные обозначения (символы) логических элементов, таблицы истинности и булевы выражения.

Таблица истинности для логических элементов

Таблица 4

И

ИЛИ

НЕ

(инвертор)

Исключающее

ИЛИ

Входы

Выход

Входы

Выход

Вход

Выход

Входы

Входы

X

Y

Z

(X*Y)

X

Y

Z

(X+Y)

X

Z

(инвертированный вход X)

X

Y

Z

0

0

0

0

0

0

0

1

0

0

0

0

1

0

0

1

1

0

1

1

1

0

0

1

0

1

1

0

1

0

1

1

1

1

1

1

1

1

1

0

Законы алгебры логики

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

Элементарные высказывания:

x1=1

xx=1

x0=x

xx=x

x×0=0

x×1=x

x×x=0

x×x=x

В алгебре логики установлен целый ряд законов, с помощью которых возможно преобразование логической функции (ЛФ):

  • коммутативный (переместительный):

х122^x1; х1х22х1;

  • ассоциативный (сочетательный):

12) ^х3=(х13) ^х21^ (х23) (х1х2) х31 (х2х3).

Эти законы полностью идентичны законам обычной алгебры:

  • дистрибутивный (распределительный):

х1^ (х2х3)=х12х13 х1х23=(х1х2)(х1х3);

  • закон поглощения. В дизъюнктивной форме ЛФ конъюнкция меньшего ранга, т.е. с меньшим числом переменных, поглощает все конъюнкции большего ранга, если ее изображение содержится в них. Это же справедливо и для конъюнктивных форм:

х1х121 х1^ (х1х2)=x1;

  • законысклеивания:

х1 х2  х1 х2 = х1 ( х1  х2) (х1  х2 ) = х1;

FxFx=F (xF)(xF)=F,

где F – логическая функция общего вида, не зависящая от переменной х;

  • законсвертки:

х x F=x  F x (x  F) = x F;

  • правило де Моргана:

х1х2 = х1 ^ х2 х12 = х1  х2

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

Конструирование комбинационных логических схем

Комбинационныесхемы (КС) — это схемы, у которых выходные сигналыYв любой момент дискретного времени однозначно определяются совокупностью входных сигналов Х, поступающих в тот же момент времениt. Результат обработки информации зависит только откомбинации входных сигналовиформируется сразу же при поступлении входных сигналов. Одним из достоинств КС является их высокое быстродействие.

  1. Логические элементы с числом входов больше двух

а). Довольно часто бывает необходимо иметь логические элементы с числом входов больше двух, например, элемент И имеет три входа:

Булево выражение записывается как: A×B×C=Y. При наличии только двухвходовых логических элементов И схема соединения имеет вид:

б). При числе входов логического элемента И равном четырем, соединение элементов на основе двухвходовых элементов И имеет вид:

Задание: составить схему и таблицу истинности логического элемента ИЛИ с тремя входами, сформировав данный элемент на основе двухвходовых элементов ИЛИ.

2. Конструирование комбинационных логических схем на основе булевых выражений

Булевы выражения встречаются в двух основных формах: а) в видесуммы произведений (A×B+B×C=Y) и называется в технической литературедизъюнктивнойнормальной функцией (ДНФ); б) в видепроизведений сумм, например, (D+E)×(E+F)=Yи называетсяконъюнктивнойнормальной формой (КНФ).

Задание:составить логические схемы с использованием логических элементов И, ИЛИ и НЕ для следующих булевых выражений:

а) Ā×Ē+A×E=Y с) (A+E)×(Ā+Ē)=Y

d) (Ā+B)×C=Y b) Ā×Ē+A×E×C=Y

Решить логическую задачу.

Предположим, что нужно сконструировать простой электронный замок. Замок должен открываться только в том случае, когда определенные электронные ключи замкнуты. Таблица значений положения ключей, приведена в табл.5.

Таблица истинности для электронного замка

Таблица 5

Входы

Выходы

С

B

A

0

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

0

1

0

0

1

1

0

1

0

1

1

0

0

1

1

1

1

Сформировать для электронного замка булево выражение в дизъюнктивной нормальной форме. Затем в соответствии с полученным булевым выражением составить логическую схему (единица на выходе означает, что замок замкнут).

Шифраторы и дешифраторы (комбинационные преобразователи, преобразователи кодов)

Практически все цифровые схемы в ЭВМ «понимают» только двоичные числа. Люди в основном пользуются десятичной системой счисления. Следовательно, необходимо иметь специальные электронные устройства, которые могли бы преобразовывать десятичные числа в двоичные и обратно. На рис.6 приведена система, которая реализует перевод десятичных чисел в двоичные и двоичные числа в десятичные.

Рис.6. Цифровая электронная система

Устройство, переводящее десятичные числа, набранные на клавиатуре, в двоичные числа называется шифратором, а устройство, преобразующее двоичные числа в десятичные, называетсядешифратором. В условно-графическом обозначении шифратора применяется символCD(от англ. сoder– шифратор), для обозначения дешифратораDC(от англ.decoder– дешифратор)

Комбинационные преобразователи кодов предназначены для преобразования m-элементного параллельного кода на входе вn- элементный код на выходе, Связь между входными и выходными сигналами можно задать таблицами истинности или логическими функциями. Шифратор и дешифратор являются наиболее распространенными видами преобразователей кодов.

Шифратор (кодер) преобразует единичный сигнал на одном из входов вn- разрядный двоичный код. Наибольшее применение он находит в устройствах ввода информации для преобразования десятичных чисел в двоичную систему счисления. При нажатии любой из клавиш на вход шифратора подается единичный сигнал (Х0…Х9). На выходе шифратора должен появиться двоичный код (У0…У3) этого десятичного числа. Как видно из таблицы истинности (табл.6), в этом случае нужен преобразователь с 10 входами и 4 выходами.

Таблица истинности для преобразователей кодов

Таблица 6

ШИФРАТОР

Десятичное число

Х

Двоичный код

У3

У2

У1

У0

0) 0

0

0

0

0

(y1) 1

0

0

0

1

(y2) 2

0

0

1

0

(y3) 3

0

0

1

1

(y4) 4

0

1

0

0

(y5) 5

0

1

0

1

(y6) 6

0

1

1

0

(y7) 7

0

1

1

1

(y8) 8

1

0

0

0

(y9) 9

1

0

0

1

3)

2)

1)

0)

ДЕШИФРАТОР

На выходе У0 единица должна появиться при нажатии любой нечетной клавиши:

Х1, Х3, Х5, Х7, Х9, т.е. У0=X1VX3VX5VX7VX9.

Состояние других выходов определяется логическими функциями:

У1= X2VX3VX6VX7

Y2=X4VX5VX6VX7

Y3=X8VX9

Следовательно, для реализации шифратора понадобится 4 элемента ИЛИ один на 5 входов; второй на 4 входа; третий на 2 входа (рис.7).

Рис.7. Шифратор

Дешифратор (декодер) – это узел, преобразующий код, поступающий на его входы, в сигнал только на одном из его выходов. Дешифраторы широко применяются в устройствах управления, в системах цифровой индикации.

Дешифратор двоичного n-разрядного кода имеет 2n выходов, т.к. каждому из 2nзначений входного кода должен соответствовать единичный сигнал на одном из выходов дешифратора.

Таблицу истинности для дешифратора 4-х разрядного двоичного кода можно получить из табл.6, если считать двоичный код (Х0, … Х3) входным словом, а десятичный – выходным. Схема дешифратора представлена на рис.8. Работу дешифратора описывают следующие логические функции:

Y0 = x3 x2 x1 x0

Y1 = x3 x2 x1 x0

Y2 = x3 x2 x1 x0

…..

Y15 = x3 x2 x1 x0

Рис.8. Дешифратор

Четыре входа каждого пятивходового элемента И – НЕ используются для реализации логической функции дешифрирования, а пятый вход нужен для стробирования входного сигнала. Наличие входов стробирования расширяет функциональные возможности дешифраторов. Благодаря им, на двух микросхемах можно построить дешифратор на 32 выхода.