Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Электронные устройства автоматики основы цифровой электроники. Курс лекций

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
тат в форме светящихся десятичных цифр. Однако как те, так и другие строятся на однотипных схемных элементах и узлах, способ функцио­нирования которых базируется на математической логике. Таким об­разом, становится понятным, почему отдельные элементы и узлы цифровых электронных устройств и сами эти устройства называются логическими. Так основным функциональным узлом ЭЦВМ
является АЛУ (арифметико-логическое устройство), выполняющее все вычис­лительные операции, как арифметические, так и логические.
1.2. Коды и кодирование информации
Понятия кода и кодирования являются фундаментальными в вы­числительной технике и автоматике. Термины код и кодирование взаимосвязаны. Поясним эти термины на простом примере.
Пусть имеются два множества: предметов (понятий, действий
т.д.) и условных обозначений, состоящих из каких-то символов или
и их комбинаций. Можно представить себе процесс установления со­ответствия между каждым предметом и условным обозначением. Этот процесс и называется кодированием, а условные обозначения – кодом данного предмета (или кодовой комбинацией). Таким образом, можно дать следующее определение кода. Код – это набор
знаков в совокупности со схемой кодирования для представления информа­ции. Кодом являются отдельные слова языка, числа и другие услов­ные обозначения понятий, явлений, действий и т.п. Кодом являются и китайские иероглифы, и элементы клинописи, и любой другой письменный язык.
С понятием кода связан ряд определений.
Основание кода Р – это число
различных элементарных символов,
из которых образуются кодовые комбинации. В большинстве евро­пейских языков таких символов – букв около 30, при написании чи­словой информации используются десять элементарных символов – цифр. В вычислительной технике широко используются коды с осно­ванием два (нуль и единица).
Алфавит кода – это перечень всех элементарных символов (букв
языка, цифр
Разрядность кода
и т.п.).
n – это длина (число символов) в кодовой ком-
бинации, имеющей самостоятельное смысловое значение (например, число букв в слове, число цифр в многозначном числе).
По разрядности коды делят на две группы: с одинаковой длиной для всех используемых кодовых комбинаций и с различной. К пер­вой группе относятся, например, коды букв и других
символов при
передаче информации по телетайпу, к второй – слова русского языка,
11
состоящие из различного количества букв. Коды одинаковой длины более предпочтительны в технике.
Способ комбинирования. Под этим понимается, все ли возможные кодовые комбинации (при данном основании кода и разрядности (их количество равно р
n
) используются в процессе кодирования. Если ис­пользуются не все, то открывается возможность обнаружения или ис­правления ошибок при написании (или приеме) кодовых комбинаций.
Правила сопоставления понятий кодовым комбинациям. Один и тот же набор элементарных символов, например 1111, при основа­нии кода 2 (т.е. при бинарном или двоичном коде) может означать различные
величины (например, десятичные числа 15, 9 или 10
в табл. 1.1).
Таблица 1.1
Деся-
тичное
число
8-4-2-1 2-4-2-1 5-1-2-1
16-рич-
ный
0 0 0000 0000 0000 0000 0000 0011 1 1 0001 0001 0001 0001 0001 0100 2 2 0010 0011 0010 0010 0010 0101 3 3 0011 0010 0011 0011 0011 0110 4 4 0100 0110 0100 0100 0111 0111 5 5 0101 0111 0101 0101 1000 1000 6 6 0110 0101 0110 1100 1001 1001 7 7 0111 0100 0111 1101 1010 1010 8 8 1000 1100 1000 1110 1011 1011
9 9 1001 1101 1001 1111 1111 1100 10 А 1010 1111 11 В 1011 1110 12 С 1100 1010 13 D 1101 1011 14 Е 1110 1001 15 F 1111 1000
двоич-
ный
Грея двоично-десятичный с весом с избытком 3
Код
Кодовые комбинации в технике очень часто передаются по элек­трическим каналам связи (по проводам, по радиоканалу и т.д.). Это относится и к передаче информации между отдельными узлами вы­числительной машины.
Определенному символу (букве) кода должны соответствовать электрический сигнал определенной формы. Например, при передаче двоичных кодов символу 1 может соответствовать импульс опреде
12
-
ленной длительности и полярности, а символу 0 – отсутствие им­пульса или импульс другой полярности или длительности.
Передачу кодовых комбинаций можно осуществлять двумя спо­собами: передавать одновременно все символы кодовой комбинации или поочередно. Последовательная передача символов кодовой ком­бинации требует при прочих равных условиях больше времени, чем одновременная. Не вдаваясь в физические аспекты
передачи, отме­тим, что одновременная передача всех символов кодовой комбина­ции не обязательно требует многих проводов (по числу разрядов ко­довой комбинации). При последовательной передаче кодов с различ­ной длиной слов приходится вводить еще один символ (или группу символов), соответствующий пробелу между словами, или выбирать такие кодовые комбинации, чтобы более
короткие комбинации не
были началом более длинных (например, код 1,01,001 и 000).
В вычислительной технике значительную часть при обработке со­ставляет цифровая (численная) информация. Передача и обработка такой информации тесно связана с методами ее кодирования, т.е. с системами счисления.
1.3. Системы счисления
Современные цифровые устройства обрабатывают информацию, представленную в удобной для них
форме. При общении человека с человеком или ЭВМ используются буквы алфавита, десятичные цифры, символы, обозначающие определенные операции (сложения, вычитания и т.п.), и ряд других служебных символов.
При программировании ЭВМ широко используют числа, записан­ные в 16-тиричной системе счисления, в которой для изображения цифр, кроме привычных десятичных цифр, используют символы ла тинского алфавита А, В, С, D, E, F, соответствующие цифрам этого алфавита, равным числам 10, 11, 12, 13, 14 и 15 десятичной системы счисления. Внутри же ЭВМ обработка чисел ведется сигналами, со­ответствующими двоичной системе счисления с цифрами 0 и 1.
Систему счисления, используемую в современном мире, относят к числу позиционных и именуют по количеству различных цифр, ис­пользуемых в данной системе (двоичная, десятичная, шестнадцате­ричная). В позиционных системах счисления вес каждой цифры в числе определяется местом ее положения. Например, в десятичном числе 777 левая семерка означает число сотен, средняя – число де-
-
13
сятков, правая – число единиц, т.е. каждая позиция многоразрядного
...
k
i
MA A A A
i
числа имеет свой вес (в этом примере – сто, десять, единица).
Общий принцип построения позиционных систем счисления
можно выразить формулой
1
k
−
αα
=+ ++=
kkk i
11 2 2 00
−− − −
αα
∑
i
=
, (1.1)
0
где
– цифры (символы) данной системы счисления; i – номер раз-
A
i
α
ряда;
– разрядные веса.
Разрядные веса могут задаваться различно, но при построении
систем счисления вес разряда строится как α
= рi, где р – основание
i
(число различных символов или цифр) системы счисления.
Для того чтобы можно было различать, в какой системе написано число, ставят букву, означающую систему счисления: В – двоичная (бинарная), Q – восьмеричная, D – десятичная, Н – 16-ричная. Если после числа буква не стоит, его трактуют как десятичное.
Шестнадцатеричное число при вводе информации в
ЭВМ необхо­димо записывать так, чтобы оно всегда начиналось с цифры, т.е. вме­сто А5Н надо записать ØА5Н (цифра «нуль» перечеркивается, чтобы ее не путать с буквой О). Иногда в качестве указателя системы счис­ления вводится не буква, а нижний индекс, например 101 число, 101
– десятичное, 10116 – 16-ричное.
10
– двоичное
2
Для перевода чисел из одной системы счисления в другую суще­ствуют определенные правила. Перевод из n-ричной системы в десятичную производится по формуле (1.1). Например, двоичное число 1001 записывается как 1·2 число 1В5Н переводится в десятичное следующим образом:
2
1·16
+ 11·161 + 5·160 = 437. Обратный перевод (из десятичной в n-
3
+ 0·22 + 0·21 + 1·20 = 9 или
ричную) производится методом последовательного деления числа (или промежуточных остатков) на основание этой системы. Символы (цифры) n-ричной системы являются окончательными остатками
процесса деления. При этом старший разряд числа соответствует по­следнему остатку. Поясним это на примере:
14
Чтобы перевести десятичное число 26 в двоичное, производим
деление. Окончательные остатки образуют двоичное число 11010 В.
Для уменьшения числа делений можно сделать промежуточный перевод в 8-ричную систему счисления, а затем каждую цифру этой системы (т.е. от 0 до 7) записать трехразрядным двоичным числом.
Перевод числа 26 в 8-ричную систему запишется так:
т.е. 26 D = 32 Q =011 010 В =11010 В.
Переведем в 16-ричную систему число 437:
Итак, 437 D = 1В5 Н.
Кроме указанных систем счисления часто используется так назы­ваемая двоично-десятичная система счисления, в которой каждая десятичная цифра записывается четырехразрядным двоичным кодом
15
(если не оговариваются веса, то с весами 8-4-2-1). Например, число 275 в двоично-десятичном коде записывается 0010.0111.0101.
В цифровых приборах используют двоично-десятичный код с ве­сами 5-1-2-1 и 2-4-2-1. Эти коды отличаются тем, что самая большая десятичная цифра 9 соответствует самой тяжелой кодовой комбина­ции 1111 В. В некоторых технических приборах (например, при счи­тывании информации
с кодового диска) важно, чтобы соседние по величине числа отличались друг от друга только в одном разряде. В этом случае применяют двоичный рефлексный код (код Грея).
Алгоритм получения кода Грея из обычного двоичного состоит из поразрядного сложения по модулю 2, т.е. по правилам 0 + 0 = 1 + 1 = 0 и 0 + 1 = 1 + 0 = 1 комбинации двоичного числа с числом, полученным
из исходного сдвигом вправо на один разряд
(младший разряд после сдвига выбрасывается). Поразрядное сложе-
ние по модулю 2 обозначается символом ⊕. Например, преобразуем число 7, т.е. 0111, в комбинацию кода Грея:
Обратное преобразование производится в несколько шагов. Младший разряд получается путем сложения по модулю 2 всех сим­волов комбинации кода Грея. После этого отбрасывается младший разряд в коде Грея и для нахождения следующего разряда двоичного кода производится аналогичное действие и т.д. вплоть до старшего разряда. Например, преобразуем код Грея 1011 в двоичный. Значение младшего разряда равно 1⊕ 0 ⊕ 1 ⊕ 1 = 1. Более старший разряд бу- дет равен 1 ⊕ 0 ⊕ 1 = 0, следующий 1 ⊕ 0 = 1 и, наконец, старший равен 1. Таким образом, получим двоичное число 1101, что соответ­ствует десятичному 13 (см. табл. 1.1). Код с избытком 3 получается из комбинаций двоично-десятичного кода 8-4-2-1 арифметическим сложением этих чисел с числом 0011. Этот код обладает свойством самодополняемости, т.е. сложение чисел 0 + 9 или 1 + 8 или 2 + 7 или 3 + 6 или 4 + 5 дает двоичное число 1111.
Запись чисел от 0 до 15 в различных кодах показана в табл. 1.1.
Кроме рассмотренных кодов в технике применяются коды с по­стоянным весом, т.е. с постоянным числом единиц в кодовой комби-
16
нации (например, распределительный код
1
C , в котором на n пози-
n
циях (разрядах) находится только одна единица). Так, 5-разрядный распределительный код имеет следующие кодовые комбинации: 00001, 00010, 00100, 01000 и 10000. Количество различных комбина­ций n-разрядного кода с постоянным весом m равно числу сочетаний
m
С
n
десяти цифр используют код
от 00011, 00101 и до 11000, так как
n
=
, отсюда и обозначение таких кодов. Для кодирования
)!(!!mnm
−
2
C или
5
3
C с кодовыми комбинациями
5
!5
3
2
5
5
.
10
=== CC
!3!2
В ряде случаев используется число–импульсный унитарный код, в котором число единиц, начиная с младшего разряда, соответствует десятичному числу (0D – 0000, 1D – 0001, 2D – 0011, 3D – 0111 и т.д.). Такой код (за исключением кода цифры нуль, которая коди­руется десятью единицами) используется в телефонии (при работе номеронабирателя).
17
2. КРАТКИЕ СВЕДЕНИЯ ИЗ АЛГЕБРЫ ЛОГИКИ
2.1. Логические функции и способы их задания
Математическим аппаратом анализа и синтеза дискретных авто­матов является алгебра логики. Алгебра логики изучает свойства функций принимающих, как и их аргументы, значения из двухэле­ментного множества {0;1}, что гармонично сочетается с практикой дискретных автоматов, работающих по принципу: есть сигнал – нет
сигнала; включено – выключено; открыто – закрыто, или обобщенно да – нет. Состоянию да в алгебре логики присвоено значение 1,
состоянию нет – значение 0.
Логическая функция полностью определяется заданием ее значе­ний на всех наборах аргументов. Число наборов определяется как
n
N = 2
, где n – число аргументов. Существует ряд способов задания
логических функций, из них наиболее употребительны следующие:
1) словесный метод описания, при котором дается словесное опи­сание автомата, т.е. перечисление выходов при заданных (или всех) наборах аргументов;
2) аналитический, при котором функция задается алгебраическим выражением, являющимся результатом логических операций над ар­гументами. (
Аналитическая форма записи будет рассмотрена позже.);
3) табличный, представляемый в виде таблиц истинности (соот­ветствия). Таблица истинности функции n переменных состоит
n
строк, в каждой из которых представляется набор переменных,
из 2 упорядоченный обычно по возрастанию двоичных чисел, образован­ных аргументами, и значение функции на этом наборе (табл. 2.1). Одной таблицей истинности может быть задано несколько функций
(табл. 2.2);
4) в форме карт Карно (КК). Карта Карно – это та же таблица со-
ответствий, но представленная в щей из 2
n
клеток, где n – число переменных. Карты Карно очень
форме координатной сетки, состоя-
удобны для представления функций, содержащих не более четырех переменных; при n ≥ 5 они становятся громоздкими и теряют свои основные достоинства – наглядность и простоту обработки. Поясним строение карты Карно на примере функций четырех переменных
(рис. 2.1, а).
18
Таблица 2.1
X1 X2 X3 Z
0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0
Таблица 2.2
X1 X2 X3 Z1 Z2 Z3
0 0 0 0 1 0 0 0 1 0 1 1 0 1 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 1
Рис. 2.1. Карты Карно для четырех (а и б), трех (в)
и двух (г) переменных
Для разметки координатной сетки набор переменных расчленяет­ся на две части, например, X пример X другая – Х
, определяет координату клетки по горизонтали (строку),
1X2
– по вертикали (столбец). Обе части набора упорядочи-
3Х4
1X2X3X4
= (X1X2)(X3X4). Одна из них, на-
ваются в коде Грея и записываются сверху и слева. Вместо перечис-
19
ления наборов можно отметить те столбцы и строки, где указанная
2
переменная принимает значение 1 (рис. 2.1, б). Карта Карно для трех переменных строится обычно в прямоугольной форме (рис. 2.1, в), для двух – в квадратной форме (рис. 2.1, г).
Внутри каждой клетки представляется значение функций на дан­ном наборе аргументов. Зачастую функция определена не на всех наборах переменных. На некоторых наборах ее значение безразлич­но. В таком случае в соответствующих клеточках проставляется ка­кой-либо символ, например, «~» (тильда), как показано на рис. 2.1, б.
Очевидно, что таблицу истинности легко преобразовать в карту Карно и наоборот.
2.2. Элементарные логические функции
Количество функций М от n переменных определяется количест-
наборов переменных N, образованных на базе бинарного множе-
вом ства {0;1}: М = 2
N
=
n
)2(
, так как N = 2n . Таким образом, количество
функций одной переменной равно 4, двух переменных – 16, трех пе­ременных – 256, четырех – 65536 и т.д.
Логические функции одной переменной представлены таблицей истинности (табл. 2.3). Функции f
и f4, значения которых не зависят
1
от значения аргумента, называются константа 0 и константа 1 соот­ветственно. Функция f
повторением X (Z = X). Наконец, функция f
, повторяющая значение аргумента, называется
2
, принимающая противо-
3
положные значения аргумента, называется инверсией (отрицанием) X
и читается: Z есть не X. Условные графические обозначе-
)( XZ =
ния логического повторения и инверсии изображены на рис. 2.2.
Таблица 2.3
X f
0 0 0 1 1 1 0 1 0 1
f2 f3 f4
1
Рис. 2.2. Условные обозначения повторителя (а) и инвертора (б)
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]