2015-04-16 4 views
0

Я ищу блок-схема алгоритма объяснения того, как оба из этих 32-сумматор Умножение аппаратных частей работы:мне нужна блок-схема, которая описывает эти 32-сумматор Умножение Hardware

enter image description here

другой:

enter image description here

пример того, как блок-схема может описывать оборудование видно здесь:

enter image description here

Я был бы честно так же, как блок-схема, поэтому я лучше понимаю, что происходит.

Лучшее, и спасибо!

+0

Что именно вы пытаетесь сделать? –

+0

В схемах нет последовательного управления, а только комбинаторной логики. Никакая блок-схема не применяется. Тем не менее, они выглядят как неряшливые раздаточные материалы, в лучшем случае: цифры не складываются. На первой диаграмме он говорит «Продукт 64 бит» - с 31 однобитовыми линиями к нему и явно помечен 32 из самого левого «ALU». (Предоставление «0» -входов к АЛУ, но наименее значимый - это бонус - от того же самого надзора/заблуждения.) Второй - реальный отключение, добавляя 32-битные значения различной значимости в 32-битных ALU, которые никогда не беспокоятся о переносе из менее значительных частичных продуктов. – greybeard

ответ

0

Из первых двух диаграмм, только первый, кажется, частично правильный. Я видел вторую диаграмму в Computer-Organization-Design, и для меня это тоже не правильно (или, по крайней мере, я не могу расшифровать это :-)).

Итак, позвольте мне попытаться объяснить только первая диаграмма

Mcand = Multiplicand register 

Mplier0 = 0th bit of the Multiplier register (lsb) 

Mplier1 = 1st bit of the Multiplier register 

Mplier31 = 31st bit of the Multiplier register (msb) 

Mcand.Mplier1 выполняет логическое «И» операция множимого и множителя первый бит. например если Mcand является 1101 и Mplier1 является 1 результат 1101, и если Mplier1 является 0, то результат 0000

Теперь верхний правый наиболее ALU имеет два входа

  • Левый вход: Mcand.Mplier1 32-битное значение, как описано выше.
  • 32-битное значение правого ввода составляет 31-й бит, как показано на рисунке. Остальные 30 бит являются наиболее значимыми битами Mcand.Mplier0, кроме 0-го бита. 0-й бит идет напрямую, чтобы установить бит Product0 (т. Е. 0-й бит регистра продукта)

Теперь ALU на втором уровне (или в строке) имеет два входа.

  • Левый вход: Mcand.Mplier2 32-битное значение, как объяснялось выше.
  • 31-й бит правого ввода должен быть «выполнением» первого ALU, диаграмма устанавливает его в ноль, что кажется неправильным. Остальные 31 бит устанавливаются из наиболее значимых 31 бит вывода первого ALU. Оставшийся 0-й бит выход первого ALU идет непосредственно, чтобы установить бит Product1.

Это повторяется для остальных 30 ALU.