-1

これらの 32 加算器乗算ハードウェアの両方がどのように機能するかについてのフローチャートの説明を探しています。

ここに画像の説明を入力

その他:

ここに画像の説明を入力

フローチャートでハードウェアを説明する方法の例を次に示します。

ここに画像の説明を入力

正直なところ、何が起こっているのかをよりよく理解できるように、フローチャートが好きです。

最高です、そしてありがとう!

4

1 に答える 1

1

最初の 2 つの図のうち、最初の図だけが部分的に正しいようです。Computer-Organization-Designの 2 番目の図を見たことがありますが、私にとっては正しくありません (または、少なくとも解読できません :-))。

では、最初の図だけ説明してみましょう

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 は、論理「AND」演算を実行しています。被乗数と乗数の最初のビット。たとえば、Mcand が 1101 で Mplier1 が 1 の場合、結果は 1101 になり、Mplier1 が 0 の場合、結果は 0000 になります。

右上の ALU には 2 つの入力があります。

  • 左の入力: 上で説明したように、Mcand.Mplier1 32 ビット値。
  • 右入力の 32 ビット値は、31 番目のビットがゼロであることが示されているように作成されます。残りの 30 ビットは、0 番目のビットを除く Mcand.Mplier0 の最上位ビットです。0 番目のビットは、Product0 ビット (つまり、Product レジスタの 0 番目のビット) を設定するために直接移動します。

ここで、2 番目の層 (または行) の ALU にも 2 つの入力があります。

  • 左の入力: Mcand.Mplier2 上で説明した 32 ビット値。
  • 右の入力の 31 番目のビットは、最初の ALU の「キャリーアウト」でなければなりません。図ではゼロに設定されていますが、これは正しくないようです。残りの 31 ビットは、最初の ALU の出力の上位 31 ビットから設定されます。最初の ALU の残りの 0 番目のビット出力は、直接 Product1 ビットを設定します。

これを残りの 30 個の ALU に対して繰り返します。

于 2015-10-16T01:52:53.897 に答える