Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Методы контроля правильности выполнения операций




Кроме рассмотренных выше вычислительных операций, в состав системы команд ЭВМ включаются различные логические операции, например, логическое сложение, логическое умножение, сумма по модулю 2 и т.д.

Логические операции

Операция деления в дополнительных кодах

Особенности алгоритма:

1) Делимое и делитель хранятся в памяти в дополнительных кодах

и в этом же виде принимаются в АЛУ;

2) Операция вычитание выполняется по алгоритму ДД в дополни-

тельном модифицированном коде;

3) Цифры знака частного получаются автоматически в процессе деления на нулевом и первом тактах сравнения;

4) Переполнение разрядной сетки определяется по несовпадению

цифр в знаковых разрядах.

5) Результат записывается в память без всяких преобразований.

6) Правила формирования очередной цифры частного и остатка более сложные, чем в рассмотренном выше алгоритме деления в прямых кодах. Кроме того, эти правила различны на нулевом шаге сравнения и на всех последующих шагах.

7) Вычисляем C=A / B.

Правила на нулевом такте сравнения:

если ЗНА = ЗНВ, то С0 =0 R1 = А – В,

если ЗНА ¹ ЗНВ, то С0 = 1 R1 = А + В.

Правила на всех последующих i – тых тактах сравнения

если ЗНRi = ЗНВ, то Сi = 1 R i+1 = R i • 2 - В

если ЗНRi ¹ ЗНВ, то Сi = 0 R i+1 = Ri • 2 + В

Рассмотрим пример деления чисел, представленных в дополни

тельном коде, в соответствии с приведенным алгоритмом.

Зададим исходные данные для наглядности в десятичном коде.

С= А / В А= 15 / 32 В= - 24 / 32 очевидно С = -5 / 8.

Представим эти числа в двоичном дополнительном коде, то есть

в том виде, в котором они хранятся в ОЗУ и вводятся в регистры АЛУ.

[РГА]пм:= [А]дм =00.01111 [РГВ]пм:=[В]дм = 11.01000

(Условная точка отделяет знаковые разряды.)

Так как в соответствии с алгоритмом делитель должен либо складываться с остатком, либо вычитаться из остатка, то заготовим прямой и дополнительный коды делителя.

Итак, в первом случае будем прибавлять [РГВ]мп = 11.01000,

во втором - будем использовать [РГВ]мд = 00.11000

Процесс вычислений представим в виде табл. 1.7.

В нашем примере вычисления выполняются с точностью до 5-ти двоичных разрядов после запятой. В столбце Ci последовательно получаем цифры частного, начиная со старших разрядов в дополнительном модифицированном коде.

[C]мд =11.01011

для проверки запишем результат в прямом коде

[C]п = 1.10101

Переведем результат в десятичный код:

С = - 21/32 ~ -5/8

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

 

 

Таблица 1.7

Такт Сравнение знаков Вычисления Пояснение Сi
  ЗНА ¹ ЗНВ 00.01111 + 11.01000 РГВ 11.10111 A     R1 С0 = 1
  3НR1 = 3НВ 11.01110 + 00.11000 00.00110 R1 * 2   R2 C1 = 1
  3НR2 ¹ 3HB 00.01100 + 11.01000 11.10100 R2 * 2   R3 C2 = 0
  3HR3 = 3HB 11.01000 + 00.11000 00.00000 R3 * 2   R4 C3 = 1
  3HR4 ¹ 3HB 00.00000 + 11.01000 11.01000 R4 * 2   R5 C4 = 0
  3HR5 = 3HB 10.10000 + 00.11000 11.01000 R5 * 2   R6 C5 = 1
  3HR6 = 3HB 10.10000 R6 * 2 C6 = 1

Все эти операции поразрядные, т.е. результат в каждом разряде определяется только цифрами в соответствующих разрядах исходных операндов.

Например, логическое сложение:

S[1:n]=A[1:n]VB[1:n];

для каждого разряда находится

S[i] = A[i] V B[i].

Аналогично, для всех логических операций.

 

При поиске неисправностей в работе ЭВМ, контролируются, в основном, следующие операции:

- передача информации между устройствами, особенно между АЛУ и ОЗУ;

-сдвиг;

-инвертирование;

-сложение.

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

 

 




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 671; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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