русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Кодовый контроль по модулю


Дата добавления: 2014-11-28; просмотров: 1417; Нарушение авторских прав


 

Кодовый контроль по модулю относится к аппаратурным методам контроля и отличается от числового тем, что контрольное устройство выполняет действия с наименьшими остатками от суммы цифр двоичного числа без учёта занимаемого ими разряда. Слова входного алфавита контролируемого устройства, представленные в виде А=an an-1 ... a1 a0, преобразуются при этом в контрольные характеристики Sа в соответствии со следующим соотношением [14]:

Sа = [p -1 - mod p] mod p ,

где р - выбранный модуль контроля; = Na - сумма цифр слова А.

Вычет Sа является дополнением до величины p-1 наименьшего остатка от суммы цифр слова А по модулю р. Это делается для того, чтобы обнаруживать потерю слова А вместе с его контрольной характеристикой Sа.

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

Контроль выполнения операций при кодовом контроле основан на следующем свойстве двоичного представления чисел: общее количество единиц слагаемых равно сумме единиц результата и возникших в процессе сложения переносов.

Обозначив для операции С = А + В через Nа, Nb, Nc количество единиц в числах А, В и С соответственно, а через Nп - количество переносов, возникающих при сложении, будем иметь

Na + Nb = Nc + Nп .



Преобразуя это выражение и переходя к остаткам по модулю р, получаем

(Na + Nb - Nп) º Nc mod p .

Обозначив

Na º Sa mod p ; Nb º Sb mod p ;

Nc º Sc mod p ; Nп º Sп mod p ,

получим контрольное соотношение для проверки правильности операции сложения

Sa + Sb - Sп º Sc mod p .

При ориентации на модуль р = 2 (чётность), как наиболее распространённый, соотношение проверки правильности операции сложения можно записать следующим образом:

Sa Å Sb Å Sп = Sc.

Применительно к операции сложения кодовый контроль по модулю 2 состоит в следующем (рис.16.11). Необходимо для слов А и В найти контрольные характеристики (разряды чётности) Sa и Sb; параллельно с вычислением суммы С=А+В получить сумму S0 = Sa Å Sb. Кроме того, по мере возникновения переносов в сумматоре, сформировать величину Sп и сложить её с S0 по модулю 2, получив предполагаемую контрольную характеристику суммы S'c. Результат операции С свернуть и произвести сравнение Sc = S'c. При несовпадении Sc и S'c вырабатывается сигнал ошибки. Так же, как и при числовом контроле по модулю, контрольные характеристики Sa и Sb могут вычисляться заблаговременно, записываться в специально отведённые разряды и всюду сопровождать основные информационные разряды.

 

 

 

Рис.16.11. Схема контроля операции сложения

кодовым контролем по модулю 2

 

Пример 16.3. Для заданных двоичных чисел А = 01100111 и В = 01010011 определить контрольные коды самих чисел, их суммы и возникающих при суммировании переносов, если модуль кодового контроля р = 2 (чётность). Произвести кодовый контроль операции сложения.

Решение. Контрольные коды заданных чисел:

Sa = mod p = 5 mod 2 = 1 ,

Sb = mod p = 4 mod 2 = 0 .

Произведём операцию сложения двоичных чисел, определим их сумму и число возникающих переносов:

 

Nп = 4, Sп = 4 mod p = 4 mod 2 = 0 .

Sc = mod p = 5 mod 2 = 1 .

Осуществим проверку правильности выполнения операции сложения:

S'c = Sa Å Sb Å Sп = 1 Å 0 Å 0 = 1 .

Контрольные коды Sc и S'c совпадают, что свидетельствует о правильности выполнения операции.

Ответ: Sa = 1, Sb = 0, Sп = 0, Sc = S'c =1.

 

Поскольку операция арифметического умножения состоит из ряда сложений, а операция деления - из ряда сложений и вычитаний, то, контролируя правильность каждого сложения-вычитания, можно проконтролировать правильность выполнения данных операций.

 

 



<== предыдущая лекция | следующая лекция ==>
Числовой контроль по модулю | Циклические коды


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.