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

4. Алгебра логики

В алгебре логики используются 4 основные логические операции, которые обязательно входят в перечень команд процессора:

- ИЛИ(OR) – логич. сложение (дизъюнкция). Эта команда устанавливает «1» в тех битах результата, в которых была «1» хотя бы у одного из исходных чисел. Например: нужно сложить два числаaиb.

a= 0 0 1 1

b = 0 1 0 1

результат: 0 1 1 1

- И(AND) – лог. умножение (конъюнкция). Эта команда устанавливает «1» в тех битах результата, в которых у обоих исходных чисел были «1».

Например: нужно перемножить два числа aиb.

a= 0 0 1 1

b = 0 1 0 1

результат: 0 0 0 1

- Исключающее ИЛИ (отрицание равнозначности) (XOR) - Эта команда устанавливает «1» в тех битах результата, в которых исходные числа отличались друг от друга. Она является частным случаем операции ИЛИ.

Например: выполнение этой операции над числами aиbдаст следующий результат.

a= 0 0 1 1

b = 0 1 0 1

результат: 0 1 1 0

- НЕ (NOT) – отрицание. Данная команда устанавливает обратное значение битов в числе, т. е. выполняетинверсию.

Например:

a = 0 1

результат: 1 0 (“не a”).

Для выполнения данных операций в любой цифровой электронике, в т.ч. и компьютере используются элементарные логические элементы, которые в свою очередь, могут объединяться в более сложные составные элементы. Например, в состав одноразрядного двоичного сумматора(полусумматора) входит: 2 эл-та «НЕ», 3 эл-та «И» и 1 эл-т «ИЛИ».

В соответствии с международным стандартом приняты следующие обозначения логических элементов:

ИЛИ – Логическое сложениеИ– Логическое умножение

НЕ– Инверсия (отрицание)

5. Циклический код Грея

Во многих практических приложениях, например при аналого-цифровом преобразовании данных, желательно пользоваться кодами, в которых все последовательные кодовые наборы отличаются друг от друга лишь одним разрядом (число несовпадающих разрядов между двумя кодами называют расстоянием Хэмминга). Коды, когда расстояние Хэмминга между последовательными кодовыми наборами = 1, называют циклическими. Особенно важным среди циклических кодов является код Грея. Его преимущество заключается в простоте перехода к двоичной системе и обратно.

Пусть gn...g2g1g0 - кодовый набор в коде Грея с (n+1) разрядами, а bn...b2b1b0 - соответствующее двоичное число, где индексы 0 и n обозначают младший и старший разряды соответственно. Тогда разряд gi можно выразить через соответствующее двоичное число следующим образом:

gi=bibi1, 0=< i <=(n-1), gn=bn,

где bi1 - следующий старший разряд после bi, - символ операции сложения по модулю два. При получении кода Грея следует учитывать, что:

00=0, 01=1, 10=1, 11=0. (1)

Например:

Дан двоичный код 1110010(2). Нужно получить из него код Грея.

Первый разряд слева пишем без изменения, т.е. = 1. А затем по формуле (1) суммируем между собой два соседние разряда:

11=0, 00=0, 10=1 и т.д. В итоге получим код Грея: 1001011(г).

Для перехода от кода Грея к двоичному коду следует просмотреть его, начиная с крайнего левого разряда, и принять bi=gi, если число единиц, предшествующих gi (т.е. слева), четно и, bi=~gi, если это число нечетно, (~gi – инверсия, отрицание gi). Отметим, что нулевое число единиц также считается четным.

Например: 111011(г)= 101101(2).

Код Грея относится к классу так называемых рефлексивных (отраженных) кодов. Термин "рефлексивный" используется для обозначения кодов, обладающих таким свойством, что для построения n-разрядного кода следует найти отображение (n-1)-разрядного кода (рис.3), где Д - двоичный код, Г - код Грея.

В первой колонке приведен исходный двоичный код. Во второй колонке приведен двухразрядный код Грея, который можно получить из двоичного. Трехразрядный код можно построить путем отражения двухразрядного кода относительно горизонтальной оси, расположенной ниже описывающей его таблицы, и присвоения наибольшему значащему разряду выше оси значения 0, а ниже оси - значения 1. Аналогично строится четырехразрядные, пятиразрядные и т.д. коды Грея.

Д

Г

Г

Г

00

00

0 00

0 000

01

01

0 01

10

11

0 11

11

10

0 10

100

1 10

101

1 11

1111

1 000

Рис.3. Рефлексивность кода Грея