
- •Самостоятельное изучение
- •Модели и система параметров логических элементов
- •2. Типы выходных каскадов цифровых элементов: логический выход.
- •3. Типы выходных каскадов цифровых элементов: выходы с тремя состояниями.
- •Типы выходных каскадов цифровых элементов: выход с открытым коллектором.
- •Паразитные связи цифровых элементов по цепям питания, фильтрация питающих напряжений в схемах цифровых устройств.
- •6 Типовые ситуации при построении цифровых устройств на имс
- •7 Согласование уровней сигналов. Сопряжение кмоп и тлл схем.
- •8 Схемы низковольтной кмоп-логики и их сопряжение с другими схемами.
- •8 Схемы низковольтной кмоп-логики и их сопряжение с другими схемами. (продолжение)
- •9 Элементы индикации
- •9 Элементы индикации (продолжение)
- •10 Риски в комбинационных схемах.
- •11. Дешифраторы, преобразователи кодов
- •12. Шифраторы
- •13. Мультиплексоры.
- •14. Демультиплексоры
- •Компараторы (схемы сравнения).
- •16.Синхронизация в цифровых устройствах.
- •17. Регистры.
- •18. Счетчики. Двоичные счетчики.
- •18. Счетчики. Двоичные счетчики. (продолжение)
- •19. Двоично-кодированные счетчики с произвольным модулем.
- •20. Счетчики с недвоичным кодированием.
- •20. Счетчики с недвоичным кодированием. (продолжение)
- •21. Полиномиальные счетчики.
- •2 1. Полиномиальные счётчики (продолжение)
- •22. Представление чисел с фиксированной запятой.
- •23. Представление чисел с плавающей запятой.
- •24. Погрешности представления чисел.
- •25. Кодирование двоичных чисел со знаком: прямой код
- •26. Кодирование двоичных чисел со знаком: дополнительный код.
- •27. Кодирование двоичных чисел со знаком: обратный код.
- •28. Сложение и вычитание двоичных чисел в форме с фиксированной запятой со знаком в прямых кодах. Особенности выполнения операций над числами без знака.
- •29. Сложение и вычитание двоичных чисел в форме с фиксированной запятой со знаком в дополнительных кодах.
- •30. Сложение и вычитание двоичных чисел в форме с фиксированной запятой со знаком в обратных кодах.
- •30. Сложение и вычитание двоичных чисел в форме с фиксированной запятой со знаком в обратных кодах. (продолжение)
- •31. Переполнение при сложении чисел с фиксированной запятой. Модифицированные коды. [лекции, стр.26-28]
- •31. Переполнение при сложении чисел с фиксированной запятой. Модифицированные коды. [лекции, стр.26-28] (продолжение)
- •32.Умножение чисел с фиксированной запятой: общая схема целочисленного умножения. [подробнее с примерами – лекции, стр. 28-3 , но это след. Вопросы]
- •33. Методы умножения двоичных чисел без знака: умножение с младших разрядов множителя со сдвигом множимого.
- •34. Методы умножения двоичных чисел без знака: умножение с младших разрядов множителя со сдвигом суммы частичных произведений
- •35. Методы умножения двоичных чисел без знака: умножение со старших разрядов множителя со сдвигом множимого.
- •36. Методы умножения двоичных чисел без знака: умножение со старших разрядов множителя со сдвигом суммы частичных произведений.
- •Умножение двоичных чисел со знаком. Умножение чисел в дополнительном коде.
- •38. Логические методы ускорения умножения: алгоритм Бута.
- •39 Логические методы ускорения умножения: модифицированный алгоритм Бута, алгоритм Лемана
- •40. Логические методы ускорения умножения: умножение с обработкой двух разрядов множителя за шаг (умножение на два разряда одновременно)
- •41.Деление чисел с фиксированной запятой: общая схема целочисленного деления.
- •42. Методы деления двоичных чисел без знака: деление с восстановлением остатка.
- •43. Методы деления двоичных чисел без знака: деление без восстановления остатка.
- •44. Деление двоичных чисел со знаком. Деление чисел в дополнительном коде.
- •Сложение и вычитание двоичных чисел в форме с плавающей запятой.
- •46.Умножение чисел с плавающей запятой.
- •47. Деление чисел с плавающей запятой.
- •48.Выполнение операций сложение и вычитание в двоично-десятичном коде.
- •49.Сложение в двоично-десятичном коде чисел со знаком.
- •50.Сумматоры. Одноразрядный сумматор. Многоразрядные сумматоры.
- •50.Сумматоры. Одноразрядный сумматор. Многоразрядные сумматоры. (продолжение)
- •51.Арифметико-логические устройства (алу).
38. Логические методы ускорения умножения: алгоритм Бута.
Методы ускорения умножения можно условно разделить на логические и аппаратные.
Логические методы ускорения умножения. Логические подходы к убыстрению умножения можно подразделить на две группы:
– методы, позволяющие уменьшить количество сложений в ходе умножения;
– методы, обеспечивающие обработку нескольких разрядов множителя за шаг.
Алгоритм Бута. В основе алгоритма Бута лежит следующее соотношение, характерное для последовательностей двоичных цифр: 2m + 2m-1 + … + 2k = 2m+1 – 2k,
где m и k – номера крайних разрядов в группе из последовательных единиц. Например, 011110 = 25 - 21. Это означает, что при наличии в множителе групп из нескольких единиц (комбинаций вида 011110), последовательное добавление к СЧП множимого с нарастающим весом (от 2k до 2m) можно заменить вычит. из СЧП множимого с весом 2k и прибавлением к СЧП множимого с весом 2m+1.
Алгоритм предполагает три операции: сдвиг, сложение и вычитание. Помимо сокращения числа сложений (вычитаний) у него есть еще одно достоинство – он в равной степени применим к числам без знака и со знаком. Алгоритм Бута сводится к перекодированию множителя из системы (0, 1) в избыточную систему (-1, 0, 1), из-за чего его часто называют перекодированием Бута (Booth recoding). В записи множителя в новой системе 1 означает добавление множимого к сумме частичных произведений, -1 – вычитание множимого и 0 не предполагает никаких действий. Во всех случаях после очередной итерации производится сдвиг множимого влево или суммы частичных произведений вправо. Реализация алгоритма предполагает последовательный в направлении справа налево анализ пар разрядов множителя – текущего bi и предшествующего bi-1 (bi bi-1). Для младшего разряда множителя (i = 0) считается, что предшествующий разряд равен 0, то есть имеет место пара b00. На каждом шаге i (i = 0, 1,…, n - 1) анализируется текущая
комбинация bi bi-1.
Комбинация 10 означает начало цепочки последовательных единиц, и в этом случае производится вычитание множимого из СЧП.
Комбин. 01 соотв. завершению цепочки единиц, и здесь множимое прибавляется к СЧП.
Комбинация 00 свидетельствует об отсутствии цепочки единиц, а 11 – о нахождении внутри такой цепочки. В обоих случаях никакие арифметические операции не производятся.
По завершении описанных действий осуществляется сдвиг множимого влево либо суммы частичных произведений вправо, и цикл повторяется для следующей пары разрядов множителя. Описанную процедуру рассмотрим на примерах (используется вариант со сдвигом множимого влево). В приведенных примерах операция вычитания, как это принято в реальных умножителях, выполняется путем сложения с множителем, взятым с противоположным знаком и представленным в дополнительном коде.
Пример. Умножить два целых числа со знаком по алгоритму Бута: A = -4, B = 3, n = 4.
Решение. [A]пр = 0.00000100; [A]доп = 1.11111100; [-A]доп = 0.00000100;
[B]пр = [B]доп = 0.0011
Шаг |
Мт |
Мн и СЧП |
Действие |
0 |
0011 |
0.00000000 |
СЧП0=0 |
1 |
00110 -1 |
0.00000100 0.00000100 1.11111000 |
Начало цепочки единиц (-Мн) СЧП1 Сдвиг Мн влево |
2 |
0011 0 |
---------- 0.00000100 1.11110000 |
Внутри цепочки единиц СЧП2 Сдвиг Мн влево |
3 |
0011 1 |
1.11110000 1.11110100 1.11100000 |
Конец цепочки единиц (+Мн) СЧП3 Сдвиг Мн влево |
4 |
0101 0
|
-------- 1.11110100 |
Вне цепочки единиц [P]доп = СЧП4 |
|
|
1.00001100 |
[P]пр |