Leave a comment

rvp74 January 22 2007, 07:13:21 UTC
Буквально за пару дней до этого поста я рассматривал схему конвеерного суматора чисел с плавающей запятой. Это был экзамен по архитектуре ВМ. :)

Reply

thesz January 22 2007, 07:33:10 UTC
И как, у меня похоже на правду? ;)

Reply

rvp74 January 22 2007, 07:38:30 UTC
Порядок операций тот же. А программу я еще не анализировал - читается тяжело

Reply

thesz January 22 2007, 07:42:28 UTC
Сумматора, как такового, там нет. Там есть его имитация.

Reply

rvp74 January 22 2007, 07:50:51 UTC
Так и в лекции нет сумматора. А лишь его упрощенная схема.

Reply

thesz January 22 2007, 07:53:46 UTC
У меня вообще только число стадий задаётся. ;)

Reply

rvp74 January 22 2007, 07:48:34 UTC
Есть, правда, небольшое отличие: нормализация выполняется в две стадии:

сначала определяется число лидирующих нулей, после чего идет стадия сдвига.

Reply

thesz January 22 2007, 07:53:24 UTC
Значит, у тебя длина конвейера получится 5, а не 4. Но почему-то все делают 3-х- или 4-хстадийную схему.

Reply

rvp74 January 22 2007, 07:55:07 UTC
Возможно. Но я не знаю как можно сделать нормализацию в один такт.

Reply

thesz January 22 2007, 08:15:49 UTC
За счёт увеличения площади, наверное.

Мы можем определить, сколько ведущих нулей, параллельно проводя сдвиги на все возможные варианты. Потом выбрать селектором нужный.

output = shifted_0 & leadingzeroes_0
| shifted_1 & leadingzeroes_1 и тп.

Спрошу у арифметчиков, как они делают. ;)

Reply

rvp74 January 22 2007, 10:56:50 UTC
В принципе, комбинационную схему вычислителя количества лидирующих нулей я уже набрасал. Думаю и сдвиг комб. схемой несложно сделать. Вот только не стоит забывать что длительность такта выставляется по самому медленному этапу. С другой стороны увеличение длины конвеера увеличивает время разгона . В общем только моделирование покажет, что быстрее будет

Reply

thesz January 22 2007, 11:32:32 UTC
А ты её в чём бросаешь?

Reply

rvp74 January 22 2007, 11:39:16 UTC
На бумаге. Сидел готовился к экзамену по моделированию и решил немного расслабиться :)

Reply

thesz January 22 2007, 11:59:58 UTC
Ага. Я тут планирую про получение чего-то наподобие netlists написать. Посмотрим.

Reply

rvp74 January 22 2007, 12:00:29 UTC
У меня в контрольной было задание построить комбинационный сумматор, суммирующий 17 одноразрядных чисел. По сути, это подсчет единичных разрядов. Эту схему нетрудно усовершенствовать, чтобы она только лидирующие нули считала.

Reply

thesz January 22 2007, 12:10:43 UTC
В общем, да. Это получится логарифмическая глубина. У сдвига в нормализации глубина будет константной (но большая площадь), у схемы выбора одного результата тоже глубина будет логарифмической (но каждая ветвь будет иметь площадь N). Итого: глубина схемы O(logN), площадь NlogN.

Reply


Leave a comment

Up