Файл: Вводый курс цифровой электроники (К.Фрике, 2003).pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 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-битовой двоичной системе. Сумма двоичного