1.10. Логические операции. Кроме рассмотренных выше вычислительных операций, в состав системы команд ЭВМ включаются различные логические операции, например, логическое сложение, логическое умножение, сумма по модулю 2 и т.д.
1. 10. Логические операции Кроме рассмотренных выше вычислительных операций, в состав системы команд ЭВМ включаются различные логические операции, например, логическое сложение, логическое умножение, сумма по модулю 2 и т. д. Все эти операции поразрядные, т. е. результат в каждом разряде определяется только цифрами в соответствующих разрядах исходных операндов. Например, логическое сложение: S[1: n]=A[1: n]VB[1: n]; для каждого разряда находится S[i] = A[i] V B[i]. Аналогично, для всех логических операций.
1. 11. Методы контроля правильности выполнения операций При поиске неисправностей в работе ЭВМ, контролируются, в основном, следующие операции: - передача информации между устройствами, особенно между АЛУ и ОЗУ; -сдвиг; -инвертирование; -сложение. Если в системе имеются аппаратные средства контроля указанных операций, то на их основе организуется контроль и более сложных арифметических процессов.
1. 11. 1. Контроль передачи информации Наиболее простым и распространенным способом проверки правильности передачи и хранения информации является так называемый принцип контроля по четности (нечетности), основанный на получении свертки по модулю 2 (суммы по мод. 2) многоразрядного двоичного кода (∑ M2). В соответствии с этим принципом передаваемый, например, из АЛУ в ОЗУ код данных размером ``n`` разрядов А [0: n} дополняется ``n+1`` - контрольным. При этом цифра в (n+1) разряде устанавливается по следующим правилам: если принят контроль по- четности, то ∑ M2 (A [0: n+1]) = 0, если принят контроль по- нечетности, то ∑ M2( A [0: n+1]) = 1.
В момент приема из ОЗУ в АЛУ кода А[0: n+1] выполняется проверка его правильности на основе принятого метода контроля. Контроль по- четности обнаруживает одиночные или нечетные ошибки. Существуют различные более сложные контролирующие и корректирующие коды, которые находят ошибку и исправляют ее. Для подсчета четности или нечетности количества единиц в многоразрядном коде используются логические элементы - сумматоры по модулю 2 (полусумматоры). Возможно построение полусумматоров двух типов: комбинационного и накапливающего. Многоразрядный сумматор по модулю 2 – функциональный узел, предназначенный для определения суммы по мод2 количества единиц в многоразрядном коде. Например, имеем двоичный код А = 1 0 1 1 0 0 1 1; Сумма по модулю 2 этого числа: Smod2 = M2 ( A) = 1. Иногда сумму по мод 2 многоразрядного кода называют ``остатком по мод 2`` или ``свёрткой по мод 2``. Многоразрядные сумматоры по модулю 2 используются в цифровых устройствах в системах контроля правильности выполнения операций передачи, хранения и приема информации, а также и вычислительных операций. Пусть имеется некоторый многоразрядный двоичный код: X = { X1 X2 X3… XN }, тогда сумма по модулю 2 M2 (X) = X1 Å X2 Å X3 Å …Å XN (1. 10) Способы получения М2(Х) последовательного и параллельного многоразрядных кодов различны. Для последовательного многоразрядного кода М2(Х) получается с помощью триггера со счетным входом. Получение суммы по модулю 2 для многоразрядного параллельного кода осуществляется с помощью комбинационных схем. Существует две основные комбинационные схемы многоразрядных сумматоров по модулю 2: последовательная и пирамидальная. Принцип построения обеих схем удобно пояснить посредством введения скобок в выражении (1. 10). Сумматор по модулю 2 последовательного действия строится в соответствии с логическим выражением:
M2 (X) = (…( ( ( X1 Å X2 ) Å X3 ) Å X4 ) … Å XN ) (1. 11) В схеме используется (N-1) одноразрядных сумматоров по модулю 2. Если через t1 обозначить задержку одноразрядного сумматора по модулю 2, то время срабатывания для этой схемы ТМ2 посл = t1 (N-1) Многоразрядный сумматор по модулю 2 пирамидального типа строится в соответствии с логическим выражением (1. 12). М2 (Х) = ( ( Х1 Å Х2 ) Å ( Х3 Å Х4 ) ) Å ( ( Х5 Å Х6 ) Å … (1. 12)
Время срабатывания для пирамидального сумматора M2: TM2пир = t1 × lg2N Пирамидальная схема многоразрядного сумматора по М2 обладает более высоким быстродействием и применяется чаще. В настоящее время выпускаются специальные интегральные микросхемы, реализующие операции суммирования по М2 многоразрядного кода. 1. 11. 2. Контроль сдвига Операция сдвига проверяется также с помощью схем контроля по четности. Для этой цели на выходе регистра сдвига РГА[0: n] устанавливается триггер со счетным входом, который представляет собой сумматор по М 2 накапливающего типа. Триггер контроля перебросится столько раз, сколько единиц будет в коде. На прямом выходе триггера будет значение, соответствующее М2 (РГА[0: n]). 1. 11. 3. Контроль сложения на основе остатков по М 2 Рассмотрим математическую постановку задачи. Ищем S = A + B. Представим слагаемые и сумму в векторной записи как последовательность двоичных коэффициентов: S = { Sn , Sn-1, … S1 , S0 } A = { an , an-1, … a1 , a0 } B = { bn , bn-1, … b1 , b0 } C = { cn , cn-1, … c1 , c0 } – перенос Si = ai Å bi Å ci S1 = a1 Å b1 Å c1 …………. Sk = ak Å bk Å ck Sn Å Sn-1 Å … S1 Å S0 = (an Å an-1 Å … a1 Å a0) Å (bn Å bn-1 Å … b1 Å b0) Å (cn Å cn-1 Å … c1 Å c0) Приведем это соотношение к более компактной записи M2 (S) = M2 (A) Å M2 (B) Å M2 (C) (1. 13) В соответствии с этими выражениями построена схема контроля по четности, обеспечивающая обнаружение ошибки при выполнении операции сложения. Как следует из (9. 5), необходимо также предусмотреть суммирование по мод 2 цифр переносов, которые возникают между разрядами при суммировании. Однако, как отмечалось выше, данный метод контроля, основанный на использовании операций с остатками суммирования по мод2, обеспечивает обнаружение лишь нечетных ошибок.
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|