- •Министерство образования и науки украины
- •Содержание
- •Глава 1 Арифметико-логические основы эвм
- •1.1 Информационные процессы
- •1.2. Обмен информацией между различными информационными устройствами
- •1.3. Аппаратные средства хранения и обработки информации
- •Глава 2 представление числовой информации в цифровом автомате
- •2.1. Системы счисления и понятие кода
- •2.2. Выбор системы счисления
- •2.3. Формальные правила двоичной арифметики
- •2.4. Перевод числа из одной позиционной системы счисления в другую
- •Глава 3 формы представления чисел в цифровых автоматах
- •3.1. Форма представления двоичных чисел с фиксированной запятой
- •3.2. Представление отрицательных чисел в формате с фиксированной запятой
- •3.3. Форма представление чисел с плавающей запятой
- •3.4. Перевод чисел из формата с фиксированной запятой в формат с плавающей запятой и обратно
- •3.5. Погрешности представления чисел
- •20 [A]ф2n- 1 для целых чисел
- •Глава 4. Арифметические действия с двоичными числами
- •4.1. Сложение двоичных чисел
- •4.1.1. Алгебраическое сложение чисел, представленных в форме с фиксированной запятой
- •4.1.2. Переполнение разрядной сетки
- •4.1.3. Модифицированный прямой, обратный и дополнительный код
- •4.1.4. Алгебраическое сложение чисел, представленных в форме с плавающей запятой
- •4.2. Умножение двоичных чисел
- •4.2.1. Методы умножения двоичных чисел
- •4.2.2. Умножение чисел, представленных в форме с фиксированной запятой
- •4.2.3. Умножение чисел, представленных в форме с плавающей запятой
- •4.2.4. Ускорение операции умножения
- •4.3. Деление двоичных чисел
- •4.3.1. Деление двоичных чисел, представленных в форме с фиксированной запятой.
- •4.3.2. Деление двоичных чисел, представленных в форме с плавающей запятой.
- •4.4. Оценка точности выполнения арифметических операций
- •4.4.1. Погрешность округления
- •Глава 5. Выполнение операций над двоично-десятичными числами
- •5.1. Представление десятичных чисел в д-кодах
- •5.2. Формальные правила поразрядного сложения в д-кодах
- •5.3. Представление отрицательных чисел в д-кодах
- •5.4. Выполнение операций сложения и вычитания в д-кодах
- •5.5. Умножение чисел в д-кодах
- •5.6. Деление чисел в д-кодах
- •5.7. Перевод чисел из д-кода в двоичный и из двоичного в д-код
- •Глава 6 Информационные основы цифровых автоматов
- •6.1. Понятие об информации и её преобразованиях
- •6.2. Преобразования алфавитной информации
- •6.3 Понятие об алгоритме
- •6.4 Понятие о дискретном (цифровом) автомате
- •Глава 7 Основы логического проектирования ца. Основные понятия алгебры логики.
- •7.1. Свойства элементарных функций алгебры логики
- •7.2. Аналитическое представление функций алгебры логики
- •7.3. Совершенные нормальные формы
- •7.4. Системы функций алгебры логики
- •7.5. Числовое и геометрическое представление фал
- •Глава 8 Минимизация функций алгебры логики
- •8.1 Метод Квайна
- •Ядро: мднф:
- •8.2 Метод Квайна-Мак-Класки
- •Простые импликанты: *111, 111*, 0**1
- •8.3 Метод Нельсона
- •8.4 Метод диаграмм Вейча
- •8.5 Метод самопонижающихся циклов
- •8.6 Минимизация монотонных функций
- •8.7 Минимизация конъюнктивных нормальных форм
- •8.8 Минимизация частично определенных булевых функций
- •8.9 Минимизация функций в базисах и-не и или-не
- •8.10 Минимизация систем булевых функций
- •Глава 9 Абстрактная теория автоматов
- •9.2 Декомпозиция абстрактных автоматов
- •Глава 10 Структурная теория автоматов
- •10.1 Композиция автоматов
- •Глава 11 Проектирование асинхронных цифровых автоматов
- •11.1 Проектирование комбинационных схем (кс) с учетом кобъед по входу и по выходу
- •11.2 Проектирование кс на дешифраторах и мультиплексорах
- •11.3 Проектирование кс на пзу
- •11.4 Проектирование кс на плм
- •Глава 12 Канонический метод структурного синтеза ца с памятью
- •12.1 Кодирование
- •12.2 Выбор элементов памяти автомата
- •12.3 Выбор структурно-полной системы элементов
- •12.4 Построение уравнений булевых функций возбуждения и выходов автомата
- •12.5 Построение функциональной схемы автомата
- •Глава 13 Обеспечение устойчивости функционирования ца
- •13.2 Проблема синтеза надёжных схем из ненадёжных элементов
- •13.3 Коды Хэмминга
- •Глава 14 Микропрограммные автоматы
- •14.2 Граф-схемы алгоритмов
13.3 Коды Хэмминга
Коды позволяют исправлять одну ошибку в слове или обнаруживать две и исправлять одну ошибку.
Такие коды имеют несколько контрольных разрядов (КР), каждый из которых контролирует по чётности свою группу разрядов в слове. Эти группы формируются так, чтобы исследовательный опрос КР указал место сбоя. В КР записывается такая цифра, чтобы количество “1” в контролируемых разрядах было нечётным.
Представим кодовую комбинацию с числом разрядов n=15. Тогда схема формирования КР в коде Хэмминга имеет вид:
Контрольные разряды |
Номера разрядов | ||||||||||||||
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | |
A |
x |
|
x |
|
x |
|
x |
|
x |
|
x |
|
x |
|
x |
B |
|
x |
x |
|
|
x |
x |
|
|
x |
x |
|
|
x |
x |
C |
|
|
|
x |
x |
x |
x |
|
|
|
|
x |
x |
x |
x |
D |
|
|
|
|
|
|
|
x |
x |
x |
x |
x |
x |
x |
x |
КР А контролирует по чётности все нечётные разряды кода. В КРА записывается такая цифра, чтобы количество “1” в нечётных разрядах было нечётным. Таким образом КРА контролирует по чётности все разряды в номерах которых есть “1” в первом разряде (в двоичном представлении).
КР В контролирует по чётности разряды в номерах которых есть “1” во втором разряде.
КР С контролирует по чётности разряды в номерах которых есть в третьем разряде.
КР Д контролирует по чётности разряды в номерах которых есть в четвёртом разряде.
Контрольные разряды могут быть размещены среди информационных различными способами. Наиболее удобно их размещать на 1,2,4,…позициях, так как в этом случае каждый КР принадлежит только одной, соответствующей ему группе разрядов.
Если число КР=К, то длина кодовой комбинации nопределяется таким образом:
,
при k=4 . Отсюда можно найтиk, так как при работе кода возможныn+1 результатов: ошибки нет, ошибка в 1-м разряде, во 2-м разряде и так долее.
Пример 1. сформируем КР для слова х=01110100101. Длина словаm=11,k=4,n=15. следовательно код Хэмминга должен иметь вид:
АВ0С111D0100101
Для определения значений А, В, С, D решим уравнения:
А+0+1+1+0+0+1+1=1 (mod2)=1 А=1
В+0+1+1+1+0+0+1=1 (mod2)=1 В=1
С+1+1+1+0+1+0+1=1 (mod2)=1 С=0
D+0+1+0+0+1+0+1=1 (mod2)=1D=0
Таким образом, слово х в коде Хэмминга примет вид: 110011100100101.
Пример 2. найти ошибку в слове х=110011100101101. для этого сформируем суммы поmod2 разрядов, контролируемых разрядами А, В, С,D.
A=1+0+1+1+0+0+1+1 (mod 2)=1
B=1+0+1+1+1+0+0+1 (mod 2)=1
C=0+1+1+1+1+1+0+1 (mod 2)=0
D=0+0+1+0+1+1+0+1 (mod2)=0
Следовательно, ошибка в разряде с номером 1100. Если ошибки нет, то проверка по всем КР даёт номер разряда 0000, которой нет.
Пример 3. Сформируемпри наличии ошибок во 2-м и 5-м разрядах слова х=1110001, то есть принято словоx`=1010101.
A=1+1+1+1 (mod 2)=0
B=0+1+0+1 (mod 2)=0
C=0+1+0+1 (mod 2)=0
Таким образом, при двукратной ошибке декодирование даёт номер разряда 111, что неверно.
Незначительное увеличение избыточности кода путём введения дополнительного КР1, осуществляющего проверку на чётность всего кода, позволяет обнаружить все двукратные ошибки. Располагает КР1 на месте “0”–го разряда кода. Признаком наличия двукратной ошибки является равенство нулю функции x` при проверке всех разрядов кода на нечётность и равенство “1” хотя бы одной функции.
Пример 4. Найдём КР1 для слова х=1110001.
A=1+1+0+1=1
B=1+1+0+1=1
C=0+0+0+1=1
I+1+0+0+1 (mod2)=1I=1
Таким образом, слово примет вид 11110001.
Пусть принято слово x`=11010101 ошибки во 2-м и 5-м разрядам. Сформируем функции .
A=1+1+1+1 (mod2)=0
B=0+1+0+1 (mod2)=0
C=0+1+0+1 (mod2)=0
I=1+1+0+1+0+1+0+1=1x`=0
Таким образом, в коде присутствуют 2 ошибки.
Общий недостаток избыточных кодов – они не приспособлены для выполнения арифметической операции.