計算機算術

高速な乗算器で使われるウォレスツリーの特徴として正しいものはどれか。

  1. A桁上げ保存加算器の木で部分積を並列に減らし、段数は対数程度
  2. B部分積を1つずつ順番に足していくので、回路は最も小さいが遅い
  3. C掛け算の結果を表から引くだけなので、加算器をまったく使わない
答えと解説を見る

正解:A. 桁上げ保存加算器の木で部分積を並列に減らし、段数は対数程度

nビットの掛け算ではn個の部分積ができます。ウォレスツリーは、桁上げ保存加算器で3つを2つにまとめる処理を各段で並列に行い、部分積の数をおよそ3分の2ずつ減らしていきます。そのため、2つになるまでの段数はビット数の対数に比例する程度で済み、順番に足す方式より大幅に速くなります。最後に残った2つの数を高速な加算器で足して完成です。順番に足すのは小さいが遅い配列型の方式で、表を引く方式は大きなビット数では使えません。

  • A. 正しい。部分積を並列に減らし、段数は対数程度で済みます。
  • B. 順番に足すのは、小さいが遅い別の方式です。
  • C. 表を引く方式は大きなビット数では現実的でありません。
この分野を解く 分野ページへ

計算機算術のほかの問題

  1. 乗算器で基数4のブースのアルゴリズム(ブース符号化)を使う主な効果はどれか。
  2. 符号なしの8ビットの数どうしを掛けたとき、結果を桁あふれなく表すのに必要なビット数はどれか。
  3. 整数 x を10倍する計算を、掛け算の命令を使わずにシフトと足し算で行う式として正しいものはどれか。
  4. 一般的な整数の除算器(1ビットずつ商を求める回復型・非回復型など)が、乗算器より遅くなりやすい理由として正しいものはどれか。
  5. 8ビットの符号付き整数で −8(1111 1000)を算術右シフトで1ビット右にずらした結果はどれか。