ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.06.2025
Просмотров: 4496
Скачиваний: 2
Глава 1. Введение
в произвольные моменты времени. Цифровые системы могут быть дискретными во времени, в этом случае их называют синхронными. Синхронизация осуществляется с помощью тактового сигнала.
Благодаря ограничению в использовании конечного числа ам плитудных ступеней, цифровая система обладает высокой помехоза щищенностью. Подвергнувшиеся воздействию помех цифровые сиг налы могут быть однозначно приведены к первоначальным дискрет ным амплитудным значениям. Но, чтобы не возникла ошибка, по меха не должна превышать половину расстояния между двумя ам плитудными ступенями.
Цифровые системы имеют ряд преимуществ перед аналоговыми системами:
-При использовании цифровых сигналов не происходит воспро изведения их искажений, благодаря чему появляется возмож ность реализации систем любой степени сложности, например, микропроцессоров. Это свойство цифровых систем определяет их превосходство и при передаче на большие расстояния.
-Цифровые системы сравнительно легко проектировать, посколь ку способ их описания представляющий собой булеву алге бру — аппарат очень удобный для автоматизации. Сегодня разработка сложных цифровых систем автоматизирована по средством применения высокопроизводительных алгоритмов.
-Цифровые системы можно относительно просто тестировать. Недостаток цифровых систем:
-Цифровые системы являются более медленными системами, чем аналоговые. Поэтому в области высоких частот домини рует аналоговая техника.
ГЛАВА 2
КОДИРОВАНИЕ И СИСТЕМЫ СЧИСЛЕНИЯ
2.1.Коды
вцифровой технике коды используются для того, чтобы оптималь но представить сигнал для какого-либо случал применения. Код ото бражает символы одного множества через символы второго множе ства. При этом должна существовать возможность декодирования, чтобы из кодированных символов можно было получить исходные символы.
Известным примером кода является код Морзе. Определение ко да производится с помощью таблицы соответствия. Для кода Мор зе подобное соответствие отображено в табл. 2.1. Этот код является обратимым, поскольку из буквы можно получить символ Морзе, а из него можно вновь образовать букву. Но это справедливо только для текста, который написан строчными буквами, поскольку код Морзе не делает различия между прописными и строчными буквами. Стро го говоря, из кода Морзе нельзя восстановить путем декодирования текст, записанный с помощью строчных и прописных букв.
Таблица 2.1. Код Морзе. |
|||||||
Алфавит |
Код Морзе Алфавит |
Код Морзе |
Алфавит |
Код Морзе |
|||
а |
1 |
J |
s |
||||
b |
к |
1 ^ |
- |
||||
с |
_ . . . |
1 |
1 |
u |
|||
i |
d |
_ . . |
m |
V |
• • • - |
||
е |
n |
w |
|||||
f |
о |
X |
- • • - |
||||
g |
P |
у |
|||||
h |
q |
- - • - |
z |
||||
I |
r |
1 |
|||||
Глава 2. Кодирование и системы счисления
Для каждого применения имеется более или менее подходящий код. Так для проведения операций над числами в компьютере ра ционально применять другой код, чем для передачи чисел по линии связи. В данной главе исследуются различия между отдельными ко дами и даны указания по их специфическому применению.
Комбинацию нескольких символов кода называют словом (word). В последующем мы ограничимся технически важным случаем, в ко тором все слова одного кода имеют одинаковую длину п. В коде Морзе этот случай не имеет места. Если в код входит множество символов ЛГ, то N'^ различных слов могут иметь длину п. Если ис пользуются все N"^ возможных слов одного кода, то в этом случае говорят о минимальном коде. Если используют менее чем N^ слов, то его называют избыточным кодом. Ниже можно найти описание наиболее употребительных кодов, полное описание можно получить из [8].
2.2. Двоичный код
Двоичный код является важнейшим кодом в цифровых системах, по скольку он является универсальным. Благодаря ограничению, в со ответствии с которым применяются только символы 1 и О, стано вится возможной обработка сигналов с помощью схемных элемен тов, работающих как переключатели. Двоичный код позволяет так же пользоваться арифметикой, аналогичной арифметике десятич ных систем. Двоичную систему счисления можно рассматривать как кодирование десятичной системы. Двоичное число состоит из сло ва, которое образовано символом С{ Е {0,1}. Символы Сг одного слова называют в цифровой технике битами. Слово z в двоичном представлении формируется путем последовательного присоедине ния отдельных битов, как это показано ниже:
ZB = Cn-lCn-2'"CiCo,C-iC-2-"C-m-\-2C-m+lC-m |
(2.1) |
Двоичное число имеет п разрядов перед запятой и т разрядов после запятой. Отдельным битам присвоены, в соответствии с их позицией г в слове, весовые коэффициенты 2\ На основе этого можно рассчитать эквивалентное десятичное число ZIQ:
^Сп-хТ-^ + Сп-22^-2 + ... + ci2i 4- со20 + c_i2-^ + ... + с _ ^ 2 - ^ (2.2)
2.2, Двоичный код
Рассмотрим в качестве примера двоичное число 10110,001^, ко торое как двоичное число отмечено символом В (binary). Оно ин терпретируется как:
g{z2) = 1 • 2 4 О • 2 4 1 • 2^+ 1 • 2 4 О • 2^+ О • 2"^ + 1 • 2 - 4 1 • 2"^ = -2rio = 22,375io
Двоичный (или дуальный) код обозначается как взвешенный код, поскольку стояш;ие дальше влево биты обладают более высокими ве совыми коэффициентами. Уравнение (2.2) можно рассматривать как правило, в соответствии с которым производится преобразование двоичных чисел в десятичные числа.
Преобразование десятичных чисел в двоичные числа является более сложным. Оно может быть описано различными алгоритмами для целочисленной и дробной частей. В приведенном выше примере с числом 22,375io алгоритм должен быть представлен следуюш;им образом:
• Вначале формируется целочисленная часть двоичного числа. Для этого целочисленная часть десятичного числа последова тельно делится на 2 и записывается остаток, пока не будет получен 0.
2 2 : 2 : 1 |
остаток 0 |
К |
1 |
|
11 :2 = 5 |
остаток 1 |
« |
ОS |
«3 |
5 2 = 2 |
остаток 1 |
i |
5 |
|
S |
^ |
|||
2 2 == 1 |
остаток 0 |
t^ |
л |
о |
о |
||||
1 2 = 0 |
остаток 1 |
5 |
ь |
f4 |
tr |
W |
|||
tr |
о |
Соответствующее числу 22ю двоичное число представляет со бой 101102.
•Второй шаг заключается в преобразовании дробной части де сятичного числа в дробную часть двоичного числа. Вначале дробная часть десятичного числа умножается на 2. Целочи сленная часть отделяется, она образует разряды двоичного чи сла с наименьшими значениями.
Процесс повторяется, как это показано ниже.
0,375 2--= 0,75 |
+0 |
дробная часть |
|
0,75 2-.= 0,5 |
+1 |
двоичного числа |
|
0,5- 2- = 0 |
+1 |
||
Глава 2. Кодирование и системы счисления
В этом примере мы видим, что остаток равен 0. Но не обяза тельно так всегда бывает. В нормальном случае дробная часть экви валентного двоичного числа имеет бесконечно большое количество разрядов. В этом случае необходимо удовольствоваться определен ным числом разрядов после запятой и ограничить этим точность. В нашем случае 0,375io точно соответствует 0,0112.
На основе целочисленной и дробной частей получаем искомое двоичное число 10110,0112-
2.3.Арифметические операции с фиксированной запятой в двоичной системе
вданной главе описываются арифметические операции с числами с фиксированной запятой. Арифметические операции с фиксирован ной запятой означают, что в них запятая всегда стоит на фиксиро ванном месте. Нри этом место, на котором стоит запятая, ориенти руется на позицию в ЗУ, на которой находится число. В этом случае нет необходимости реализовать запятую в аппаратуре компьютера. Она существует только в голове программиста. Мы ограничиваемся постоянной длиной слова п, как это имеет место в компьютерах. На основе этого можно обсудить проблему переполнения допустимой области.
2.3.1.Целочисленное сложение в двоичной системе
Целочисленное сложение двух чисел А и В производится в двоичной системе точно так же, как и в десятичной системе — по разрядам. Как и там, в каждом разряде должны быть просуммированы обе двоичных цифры an и Ьп и перенос из предыдущего разряда Cn-i- При сложении возникают (табл. 2.2) новая сумма Sn и новый пе
ренос Сп- В этой таблице дискретной линией разделены входные и выход
ные величины. Например:
01111110
^00110101
- 1 0 1 1 0 0 1 1
перенос |
1 1 1 1 1 0 0 |
Необходимо следить, чтобы в приведенном вьппе примере сумми ровались два числа длиной по 8 бит и чтобы итог тоже имел длину 8 бит, чтобы не было переполнения допустимой зоны.
2.3. Арифметические операции с фиксированной запятой
Таблица 2.2. Сложение в двоичной системе со слагаемыми атг,ЬпИ перено сом из предыдущего разряда Сп-\- Сумма равна Ьп 5 новый перенос Си-
^п |
Ьп |
С п - 1 |
Сп |
Sn |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
2.3.2.Сложение чисел с фиксированной запятой
Вэтом случае, когда суммируются два числа с фиксированной за пятой, важным моментом является то, чтобы аналогично обычной процедуре в десятичной системе обе запятые стояли друг над дру гом. Так, при сложении двух чисел длиной в 8 бит запятая у обоих чисел должна стоять, например, на третьем месте.
Например:
0 1 1 0 0 , 0 1 0
0 0 1 1 0 , 1 1 1
= 1100,110 перенос 100 11,001
2.3.3. Представление с помощью обратного кода
Ц^ля того, чтобы иметь малые затраты на аппаратурную часть (hard ware) компьютера, были предприняты усилия по сведению к одно му алгоритму вычитания и сложения. Этого можно добиться, если применять двоичные цифры в их дополняющей форме. Различают единичное дополнение (обратный код, поразрядное дополнение) и двойное дополнение (точное дополнение).
Поразрядное дополнение формируется путем замены всех нулей на единицы и обратно. Следовательно, поразрядным дополнением (one's complement) 0001 является 1110. Ниже поразрядное дополне ние двоичного числа А обозначено -^А. Очевидно, что при предста влении п-битового слова имеем:
.А + Л - 2^ - 1 |
(2.3) |
24 Глава 2. Кодирование и системы счисления
Например, при представлении 8-битового слова имеем:
10110011 + 01001100 = 11111111 - 2 ^ - 1
Можно так преобразовать уравнение (2.3), чтобы получить фор мулу р^ля расчета поразрядного дополнения:
-.А = 2^ - 1 - А |
(2.4) |
2.3.4.Представление с помощью двойного дополнения (точное дополнение, two's complement)
Точное дополнение Ак2 образуется из поразрядного дополнения -^А путем прибавления 1:
Ак2 = --АЛ-1 |
(2.5) |
Следовательно, с учетом (2.4) будет справедливо:
Ак2 ^Т -А |
(2.6) |
Мы видим, что в данном представлении содержится «—А», благо даря чему оно удобно для проведения вычитания. Учтем также, что Т^ в двоичном представлении имеет п Л-\ разрядов. Ниже пример точного дополнения J\A^ 10101100:
Ак2 - - Л + 1 = 01010011 + 1 - 01010100
Представление 4-битовых двоичных слов в круговой форме, при веденное на рис. 2.1, позволяет показать числовой диапазон. Соот ветствующее данным значениям набольшее представляемое положи тельное число равно 7/), соответствующее данным значениям наи большее отрицательное число равно —8^). Следовательно, числовой диапазон построен несимметрично, поскольку отрицательное число занимает больше места, чем положительное. Наибольшее и наимень шее представляемые числа можно выразить как:
^тах ^^ ^ |
\^' * ) |
На рис. 2.1 можно видеть, что малые числа, сформированные на основе точного дополнения, содержат много ведущих единиц, ко гда они отрицательны, и содержат много ведущих нулей, когда они
2.3. Арифметические операции с фиксированной запятой
положительны. Соответствующие данным значениям большие чи сла, сформированные на основе точного дополнения, содержат да леко влево отстоящий нуль, когда они отрицательны, и далеко вле во отстоящий нуль, когда они положительны. Их собственным точ ным дополнением является число 1000^ (—8/)). Важно установить, что при представлении на основе точного дополнения имеем толь ко один 0. Это облегчает запрос, равен ли результат 0. Напротив, при представлении на основе поразрядного дополнения имеют ме сто двоичное число 0000^, соответствующее -i-Oo и двоичное число 1111^, соответствующее —0/^.
0000
1111 _ - # - - _ 0001
0010
2
1100 1 ^ |
л^от |
1001 |
• |
0111 |
1000 |
Рис . 2.1. Представление 4-битовых слов с помощью 4-битового дополнения.
2.3.5.Вычитание при представлении с помощью точного дополнения
Пусть должны были вычтены одно из другого два положительных двоичных числа А и В, При условии применения точного дополне ния в соответствии с уравнением (2.6) вычитание можно провести следующим образом:
А-В = А-В + Вк2-Вк2 = А-В-{-Вк2-{2''-В) |
(2.9) |
Раскрытие скобок в правой части уравнения дает:
А-В = А + Вк2-2'' |
(2.10) |
Что означает вычитание 2'^? Поясним это на примере операции вычитания 7—3 = 4 в 4-битовой двоичной системе. Сумма двоичного