3.5.2. Контроль передачі кодів
Найчастіше використовують різні надлишкові двійкові коди. У них до інформаційних розрядів додається один або декілька контрольних розрядів. Простий надлишковий код має один контрольний розряд. За допомогою такого коду можна контролювати паритет інформації, яка передається.
контроль по парності.
- контроль по непарності.
Якщо в процесі передачі коду виникає одиночна помилка (у одному двійковому розряді), то її можна виявити, оскільки при цьому порушується парність/непарність. Але виправити не можемо, оскільки не відомий номер помилкового розряду. Для визначення залишку ділення числа на вибраний модуль (в даному випадку - 2) використовуються схеми згортки по відповідному модулю. Наприклад, 155ИП2 шукає залишок 8-розрядного двійкового коду по модулю 2. Для того, щоб виправити одиночну помилку, необхідно визначити номер розряду, в якому виникла ця помилка і виправити інформацію в ньому на протилежну.
Для вирішення такого завдання необхідно мати надлишковий код, в якому мінімальна кодова відстань dmin > 2. Мінімальна кодова відстань - число двійкових розрядів, які потрібно змінити, щоб з однієї кодової інформації отримати іншу допустиму. Звичайний не надлишковий двійковий код має dmin = 1, тобто змінюючи інформацію в будь-якому розряді коду, ми отримуємо нову дозволену комбінацію в цьому коді. Надлишковий код з одним контрольним розрядом має dmin = 2, тобто змінюючи інформацію в одному розряді ми порушуємо парність/непарність, а це недопустима комбінація. Щоб виправити помилки, треба мати код з dmin > 2. У якості коду, у котрого dmin = 3, використовують надлишковий код Хеммінга, в якому використовується декілька контрольних розрядів. Якщо ви хочете виявити помилку кратності R, то ви повинні мати код з dmin = R+1, а якщо виправити, то - dmin = 2R+1.
У коді Хеммінга є група контрольних розрядів, які розподілені серед інформаційних розрядів і займають певні місця. Кожен контрольний розряд визначає парність деякої групи розрядів коду Хеммінга. Щоб в кожне контрольне співвідношення входив лише один контрольний розряд, місця розташування контрольних розрядів дорівнюють цілій мірі двійки (1,2,4,8). Перший контрольний розряд контролює парність розрядів коду Хеммінга, двійкові номери яких мають одиницю в молодшому або в першому розряді. Наприклад, 1,3,5,7-й розряди. Другий контрольний розряд коду Хеммінга контролює парність розрядів, номери яких мають одиницю в другому розряді (2,3,6,7). Третій контрольний розряд контролює парність розрядів 4,5,6,7.
Наприклад, якщо загальне число розрядів m = 7. Тоді кількість контрольних розрядів k = [log2(m+1)] = 3. Кількість інформаційних розрядів m- k = n = 4.
7 | 6 | 5 | 4 | 3 | 2 | 1 |
ІР 2 | ІР 3 | ІР 2 | КР 3 | ІР 1 | КР 2 | КР 1 |
Хай на стороні, що передає, маємо 10.
1 | 0 | 1 | 0 | 0 | 1 | 0 |
Щоб передати 10, треба обчислити контрольні розряди.
Е1 = 1 3 5 7 = 0 mod 2
0 0 1 1
Е2 = 2 3 6 7 = 0 mod 2
1 0 0 1
Е3 = 4 5 6 7 = 0 mod 2
0 1 0 1
Е3 Е2 Е1
00 0 - немає помилок.
10 1 - помилка в 5 розряді.
Хай ми прийняли:
1 | 0 | 0 | 0 | 0 | 1 | 0 |
Е1 = 0 0 0 1 = 1 mod 2
Е2 = 1 0 0 1 = 0 mod 2 помилка в 5 розряді, інформацію
Е3 = 0 0 0 1 = 1 mod 2 міняємо на протилежну
Якщо до коду Хеммінга додати ще один контрольний розряд, який контролюватиме парність/непарність всього коду, то ми зможемо за допомогою такого коду виправляти одиночні помилки і виявляти подвійні. Контрольні співвідношення E1 можна обчислювати за допомогою схем складання по модулю 2 згідно з рис. 3.19.
Рис. 3.19 - Схема складання по модулю два
Схема, за допомогою якої можна виправляти 7-розрядний двійковий код, складається з 7-розрядного вхідного регістра, 3х КС і дешифратора (3 входи/8 виходів) (рис. 3.20).
Рис. 3.20 - Схема, за допомогою якої можна виправляти 7-розрядний двійковий код
У вхідному регістрі використовуються двотактні універсальні JR - тригери, які працюють як тригери типу Т. Інформація заноситься по RS - входах. Після занесення інформації в цей регістр визначається контрольні співвідношення Е1 - - Е3, які подаються на дешифратор. Якщо високий потенціал на нульовому виході, то немає помилок, якщо на інших виходах - помилка у відповідному розряді. За допомогою синхросигналу можна значення коду у відповідному регістрі поміняти на протилежне.
- Комп’ютерна схемотехніка. Архітектура комп’ютерів 2 зміст
- 2.1. Класифікація, призначення та основні характеристики пам'яті
- 2.2. Оперативна пам’ять (оп)
- 2.2.2. Статична пам'ять на біполярних транзисторах
- 2.3. Постійна пам'ять (пп)
- 2.9. Зовнішня оптична пам'ять
- 1. Представлення та обробка інформації
- Класифікація засобів обчислювальної техніки
- 1.2. Класифікація комп’ютерів
- 1.3. Структурна схема компю’терів, що використовують спільну шину
- 1.4. Системи числення
- 1.4.1. Базові параметри та класифікація систем числення
- 1.4.2.Загальні принципи побудови систем з послідовним обчисленням символів
- 1.4.3. Загальні принципи побудови систем числення з паралельним обчисленням символів
- 1.5. Кодування знакозмінної інформації. Коротка характеристика груп кодів, родинних прямому, зворотному, додатковому. Особливості застосування в комп'ютерах
- 1.6. Формати даних і команд сучасних комп’ютерів
- 1.7. Процесори
- 1.7.1. Склад і призначення пристроїв
- 1.7.2. Блок додавання чисел у формі з фіксованою крапкою
- 1.7.3. Особливості виконання складання чисел у формі з плаваючою крапкою
- 1.7.4. Реалізація процесора двійкового множення. Загальні положення
- 1.7.5. Реалізація множення в прямому коді
- I варіант.
- II варіант.
- III варіант.
- IV варіант
- 1.7.6. Реалізація в процесорі операції множення в додатковому коді
- 1.7.7. Реалізація методів прискореного множення в процесорах
- 1.7.8. Схемні методи прискореного множення
- 1.7.9. Особливості виконання множення чисел з плаваючою крапкою
- 1.8. Реалізація двійкового ділення в процесорі
- 1.8.1. Реалізація ділення чисел з фіксованою крапкою в прямому коді
- 1.8.2. Особливості ділення чисел у формі з плаваючою крапкою
- 1.9. Добування квадратного кореня
- Частина 2. Пам'ять комп'ютерів
- 2.1. Класифікація, призначення та основні характеристики пам'яті
- 2.2 Оперативна пам’ять (оп)
- 2.2.1 Внутрішня організація оп
- 2.2.2.Статична пам'ять на біполярних транзисторах
- 2.2.3. Статична пам'ять на езл-інтегральних схемах (іс)
- 2.2.4. Статична пам'ять на уніполярних транзисторах (на мон іс)
- 2.2.5. Динамічна пам’ять (дп) на моп транзисторах
- 2.2.6. Побудова пам’яті необхідної розмірності
- 2.3. Постійна пам'ять (пп)
- 2.3.1. Типи пп
- 2.3.2. Масочні пп (мпп)
- 2.3.3. Однократнопрограмована пам'ять
- 2.3.4. Репрограмована пам'ять
- 2.3.5. Flash-пам'ять
- 2.4. Зп с послідовним доступом(зппд)
- 2.4.1. Зппд на регістрах зсуву
- 2.4.2. Елемент зп з послідовним доступом на мон-транзисторах
- 2.4.3. Буферний зп типу "черга" (бп)
- 2.4.4. Пам'ять типу "список"/"стек"
- 2.5. Асоціативна пам'ять
- 2.6. Зовнішня пам'ять (зп)
- 2.6.1. Типи зп
- 2.6.2. Зовнішня магнітна пам'ять (змп)
- 2.6.3. Способи цифрового магнітного запису
- 2.7. Зовнішня пам'ять з прямим доступом(зпПрД)
- 2.7.1. Накопичувачі на гнучких магнітних дисках(нгмд)
- 2.7.2. Накопичувачі на жорстких магнітних дисках(нжмд)
- 2.7.3. Raid – дискові масиви
- 2.8. Зовнішні зп з послідовним доступом. Накопичувачі на магнітних стрічках(нмс). Стримери
- 2.9. Зовнішня оптична пам'ять
- 2.9.1. Оптичні диски типу cd
- 2.9.2. Оптичні диски типу dvd
- 2.10. Контроль роботи пристроїв пам’яті
- 3.1. Пристрій управління
- 3.1.1 Склад пристрою управління
- 3.1.2. Пу з жорсткою логікою
- 3.1.3. Мікропрограмний пристрій управління (пристрій управління з гнучкою логікою)
- 3.1.4. Мікропрограмний пристрій управління зі змінною тривалістю реалізації мікрокоманд.
- 3.2. Системи переривань
- 3.2.1. Типи і основні характеристики системи переривань
- 3.3. Система управління вводом/виводом
- 3.4. Організація мультипрограмного режиму роботи в сучасних комп’ютерах
- 3.4.1. Форми обслуговування користувачів і види мультипрограмування (мпр)
- 3.4.2. Динамічний розподіл пам'яті
- 3.4.3. Система захисту пам’яті (сзп)
- 0 1 2 3 4 5 6 7
- 3.5. Системи автоматичного контролю
- 3.5.1. Види помилок і способи контролю
- 3.5.2. Контроль передачі кодів
- 3.5.3. Контроль роботи комбінаційних схем
- 3.5.4. Контроль виконання операцій в процесорах
- 3.5.5. Контроль роботи процесорів по модулю 3