Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
процессоры.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
1.6 Mб
Скачать

127

  1. Логические основы цифровой электроники

    1. Кодирование цифровой информации

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

Известно большое количество кодов, систематизация и классификация которых из-за их многочисленных признаков является довольно затруднительной. Мы рассмотри лишь некоторые разновидности кодов [7]. Все коды можно разделить на две самостоятельные группы. К первой относятся коды, в которых используются все возможные комбинации – неизбыточные коды. В литературе их называют еще простыми и первичными. Ко второй относятся коды, в которых используется лишь часть всех возможных комбинаций. Такие коды называются избыточными. Оставшаяся часть комбинаций не несет информации о числах, а служит для обнаружения ошибок, возникающих при передаче или обработке сообщений.

Те и другие коды, в свою очередь, подразделяются на равномерные и неравномерные. Равномерные коды – это коды, все комбинации которых содержат постоянное количество разрядов. Неравномерные коды содержат кодовые комбинации с различным числом разрядов. Типичным представителем неравномерных кодов является используемая в телеграфии азбука Морзе, в которой каждому символу соответствует разное общее количество тире и точек. Ввиду ограниченного применения неравномерных кодов в дальнейшем их рассматривать не будем.

Все коды, служащие для представления чисел, можно разбить на две группы – взвешенные и не взвешенные коды. Взвешенные коды – такие коды, в которых каждому разряду присваивается определенный вес. Например, натуральный двоичный код является взвешенным кодом, поскольку каждому разряду соответствует вес, равный степени числа 2. Невзвешенные коды – это коды, разрядам которых нельзя присвоить веса, а соответствие кода и числа устанавливается каким-либо иным способом.

Двоично-десятичные коды. Для выражения каждой десятичной цифры (0, 1, 2, …, 9) нужны четыре двоичные цифры, то есть четыре бита, которые позволяют получить 24 = 16 комбинаций. Так как из 16 комбинаций 6 являются избыточными, то общее число всех возможных кодов из 4 бит равно 16!/6! ≈ 2,9 ∙ 1010 [1]. Однако на практике используются только такие коды, которые обеспечивают самую рациональную и простую обработку цифровой информации. Чаще всего используются взвешенные двоично-десятичные коды, позволяющие достаточно просто переводить десятичные цифры (Х)10 в двоичные (Х)2 по формуле

(Х)10 = a3 x3 + a2 x2 + a1 x1 + a0 x0, (1.1)

где символы a3a0 являются постоянными весовыми коэффициентами соответствующего кода, а символы x3x0 – двоичные цифры 1 или 0. Существуют различные взвешенные двоично-десятичные коды a3a0 , например: 8421, 7421, 7321, 6421, 6321, 6311, 6221, 5421, 5311, 5221, 5211, 4421, 4321, 4311, 4221 и 3331. В коде 8421 a3 = 8, a2 = 4, a1 = 2, a0 = 1. Кодовые комбинации, соответствующие тем или иным символам, в различных кодах легко определяются из выражения (1.1). Например,

(7)10 = 8 ∙ 0 + 4 ∙ 1 + 2 ∙ 1 + 1 ∙ 1 = (0111) 8421;

(7)10 = 5 ∙ 1 + 2 ∙ 1 + 1 ∙ 0 + 1 ∙ 0 = (1100) 5211;

(7)10 = 5 ∙ 1 + 2 ∙ 0 + 1 ∙ 1 + 1 ∙ 1 = (1011) 5211.

Как видно, представление числа в коде 5211 не является однозначным, т.е. одному и тому же числу соответствуют две кодовых комбинаций. Неоднозначность имеют все взвешенные двоично-десятичные коды, за исключением кода 8421. При использовании не однозначных кодов необходимо заранее обусловливать, какая комбинация соответствует данной цифре. В таблице 1.1 приведены кодовые комбинации, соответствующие представлению десятичных цифр в различных двоично-десятичных кодах.

Коды I – IV, VI, VII являются взвешенными, коды V и VIII – невзвешенными.

Т а б л и ц а 1.1