В принципе, комбинационную схему вычислителя количества лидирующих нулей я уже набрасал. Думаю и сдвиг комб. схемой несложно сделать. Вот только не стоит забывать что длительность такта выставляется по самому медленному этапу. С другой стороны увеличение длины конвеера увеличивает время разгона . В общем только моделирование покажет, что быстрее будет
У меня в контрольной было задание построить комбинационный сумматор, суммирующий 17 одноразрядных чисел. По сути, это подсчет единичных разрядов. Эту схему нетрудно усовершенствовать, чтобы она только лидирующие нули считала.
В общем, да. Это получится логарифмическая глубина. У сдвига в нормализации глубина будет константной (но большая площадь), у схемы выбора одного результата тоже глубина будет логарифмической (но каждая ветвь будет иметь площадь N). Итого: глубина схемы O(logN), площадь NlogN.
Reply
Reply
Reply
Reply
Reply
Reply
сначала определяется число лидирующих нулей, после чего идет стадия сдвига.
Reply
Reply
Reply
Мы можем определить, сколько ведущих нулей, параллельно проводя сдвиги на все возможные варианты. Потом выбрать селектором нужный.
output = shifted_0 & leadingzeroes_0
| shifted_1 & leadingzeroes_1 и тп.
Спрошу у арифметчиков, как они делают. ;)
Reply
Reply
Reply
Reply
Reply
Reply
Reply
Leave a comment