
- •1. Понятие системы счисления
- •2. Перевод чисел из одной системы счисления в другую
- •3. Представление чисел с фиксированной и плавающей запятой в эвм.
- •4. Форматы данных, прямой, обратный, дополнительный код.
- •5. Сложение (вычитание) двоичных чисел с фиксированной запятой.
- •6 Арифметика чисел с плавающей запятой.
- •7 Умножение двоичных чисел с фиксированной запятой
- •9. Деление в прямых кодах.
- •8 Метод пропуска такта суммирования
- •10. Деление в доп. Кодах.
- •11. Ускоренные методы операции деления.
- •12. Извлечение квадратного корня из двоичных чисел.
- •13. Двоично-десятичные коды, их разновидности, области применения.
- •14. Особенности выполнения операции сложения в d-кодах.
- •15. Получение дополнительного кода чисел в d-кодах.
- •16. Операция умножения чисел в d-кодах.
- •17. Деление в d-кодах
- •18. Бинарные отношения. Способы задания.
- •19. Свойства бинарных отношений
- •20. Толерантность, эквивалентность, отношения порядка.
- •25. Специальные классы булевых функций
- •26. Днф.
- •27 Скнф.
- •28 Метод Квайна-Мак-Класки
- •31.1 Минизация систем переключательных функций
- •33. Комбинированные схемы
- •35 .Реализация комбинации в базисах и-не
- •36 .Реализация комбинации в базисах или-не
9. Деление в прямых кодах.
Деление осуществляется следующим образом.
Определяется знак частного путем сложения по модулю два знаков делимого и делителя. Затем производится собственно деление. При этом цифры частного определяются последовательно, разряд за разрядом, начиная со старшего разряда, путем вычитания, например, сдвинутого на один разряд вправо делителя из остатка, полученного от предыдущего вычитания. При определении первой цифры частного, за остаток принимается все делимое со знаком плюс. После каждого вычитания делитель сдвигается вправо на один разряд по отношению к делимому и образующимся остаткам. Если остаток от вычитания положительный или равен нулю, то в соответствующий разряд частного заносится 1. Если остаток отрицательный, то соответствующая цифра частного равна О. Для того, чтобы получить следующую после нуля цифру частного, можно из последнего положительного остатка вычесть делитель, дополнительно сдвинутый на один разряд вправо. Однако в этом случае необходимо выполнить дополнительную операцию сложения для восстановления последнего положительного остатка.
8 Метод пропуска такта суммирования
Данный метод применим к любой схеме выполнения операции умножения. Сущность его заключается в том, что если очередной анализируемый разряд множителя равен нулю, то такт суммирования пропускается и без задержки на время суммирования Ts вырабатывается устройством управления очередной сигнал сдвига, обеспечивающий сдвиг на один разряд множителя и накопленной суммы частичных произведений или множимого в зависимости от схемы умножения. Если принять, что в двоичном коде множителя в любом разряде с равной вероятностью может находиться как 0, так и 1, то среднее кол-во тактов суммирования при перемножении двух n разрядных чисел сокращается вдвое
Метод расшифровки и одновременного умножения на два разряда множителя
Метод основан на одновременном сдвиге в каждом цикле вычисления множителя на два разряда вправо (в сторону младших разрядов), анализе двух сдвинутых младших разрядов множителя и выполнении при этом не более одной операции сложения. Одновременная расшифровка и умножение более чем на два разряда множителя не дает заметного уменьшения времени выполнения операции умножения. При разбиении множителя, начиная с младших его разрядов, на группы по два разряда в каждой возможны следующие равновероятные комбинации: 00; 01; 10; 11, которые можно выразить следующим образом: 00=0; 01=20; 10=21;11=22-20. В зависимости от результатов анализа пары разрядов множителя необходимо выполнить следующие операции: при комбинации 00 произвести сдвиг на два разряда вправо предшествующей суммы частичных произведений; при комбинации 01 к предшествующей сумме частичных произведений прибавить множимое, и новую сумму частичных произведений сдвинуть на два разряда вправо; при комбинации 10 к предшествующей сумме частичных произведений прибавить удвоенное, то есть сдвинутое на один разряд влево множимое, и новую сумму частичных произведений сдвинуть на два разряда вправо; при комбинации 11 из предшествующей суммы частичных произведений вычесть множимое, и новую сумму частичных произведений сдвинуть на два разряда вправо. В самом деле, комбинация 11=21+20 может быть представлена следующим образом: 11=22-20=100-01. При таком представлении следует, что отрицательный член правой части рассматриваемого равенства должен учитываться путем вычитания множимого из накопленной суммы частичных произведений, а член 100 представляет собой единицу младшего разряда следующей анализируемой пары разрядов множителя и должен учитываться при её расшифровке. Для этого данная единица должна запоминаться в схеме анализа. При обработке следующей пары разрядов множителя эта запомненная единица учитываться путем прибавления к младшему разряду этой пары по обычным правилам:
00+01=01;01+01=10; 10+01=11;11+01=00+100
Очевидно, что в последнем случае старший член правой части 100 представляет собой единицу младшего разряда следующей анализируемой пары разрядов множителя. Для пояснения описанного метода рассмотрим пример выполнения операции умножения при анализе одновременно двух разрядов множителя. Пусть множимое [X]пр = 0,11110101, а
множитель [Y]пр = 0,100001101. Будем считать, что множимое может передаваться в сумматор со сдвигом на один разряд влево. Тогда для исключения переполнения разрядной сетки сумматора добавим в него перед знаковыми разрядами один дополнительный разряд, а для округления результата добавим в сумматор еще один младший дополнительный разряд. Сложение будем производить в модифицированном обратном коде. Полагаем, что в сумматоре возможен сдвиг за один такт на два разряда вправо. С учетом сделанных оговорок последовательность действий в сумматоре можно представить следующим образом.
В соответствии с поставленной выше задачей выполнения операции умножения одновременно на два разряда множителя представим операнды в следующем виде: |X|=11110101; |Y|=y8 y7 y6 y5 y4 y3 y2 y1 = 10001101. Схема реализации операции ускоренного умножения представлена ниже. Легко проверить, что результат умножения сомножителей X и Y по обычной схеме дает аналогичный результат, то есть Z=X*Y = 0,10000111.