第9回分

符号拡張するとき、ある負の数の最上位ビットのみを1にして残りを0にしたらだめですか。1なら1で全部決まりなのですか。

4桁ぐらいの数で考えてもらうと分かると思いますが、 すべて1にしないと正しくないです。

Yj=1のとき、i=N-1でAn+j=XN-1になって、ANj=xN-1と同じになってしまします。

??

X・Yともに負でも計算可能ですか。

Xはもともと正でも負でもよいので、大丈夫です。

SIBやSELからxN-1を出力させることにどのようなメリットがあるのですか。

SIB,SELの式がややこしかった。集積回路上でもxN-1が通り抜けるような配線をするのですか。

並べるときに、つなぎやすいから、ですね。

Aijは各ビットだが、各ビットにマイナスというものが存在するのですか。

いえ、最上位のみが、その数の符号をあらわすことになります。

ANjとAijの違いがよくわからなかった。回路を作るのに必要ということですか。

Aijでi=0〜Nが、Yjを構成するビットなわけですが、 ANjは最上位ビットで符号をあらわすので、別に書いてあります。

X・YjをAijとおくのはなぜですか。

そうおくと、後の話がとおりやすくなるから、ですね。

ブースのアルゴリズムを用いた除算器の所在について。

除算器は、どうなんでしょう。 興味があれば、ぜひ調べてみてください。

桁数合わせは考慮しないのですか。

XとYの桁数はあっている、という前提です。

ブースのアルゴリズムにある加算や、シフト演算は専用に回路をつくって乗算器の中に組み込むのですか。それとも、すでにある演算回路の配線をつなぐような形にするのですか。

基本的には、乗算器は、専用の回路にします。

xNとかの関係がよくわからなかった。

ぜひもう一度復習をしてみてください。

<(N-2)/2でNが奇数だとしたらどうするのですか

Nが奇数の場合は考えません。 Nが偶数の場合のみ、設計ができます。

SIBとは何の略ですか。

BTDとは何の略ですか。

さあ、なんなんでしょうね・・・

CMOSは基本否定的な設定になっているのが気になりました。

CMOSはNAND、NOR、NOTを作りやすいんですね。

Zj=X・Yj・2^2j=(-1・Anj+ΣAij・2^i+Cj)×2^2jのCjは任意の数ですか。-1がわかりません。またなんでこうなったのですか。

Cjは、後述のように、負の数が出てくるときに つじつまを合わせるために設定する数です。 -1は、ANjが符号を表すことから出てくる表記ですね。

Z=ΣZjの証明が理解できませんでした。符号拡張する意味がわからなかったです。

Z=ΣZjは、ぜひもう一度式を追ってみてください。 符号拡張は、例をあげて計算してみると分かるかと思います。

その他・要望・感想

計算していく過程をたどってもらえるのは非常にうれしい。ブースのアルゴリズムとか、思いつくのはどういうときなのか気になりました。

たしかにどういう発想なんでしょうね。不思議です。

ブースのアルゴリズムのZjを式で表した部分などがわかりにくい。

最後のほうがあまり理解できなかった。

ぜひ復習を。

乗算器の話なのでしょうが、直感的にわからなくて今後が怖いです。

まあここまで大規模だと、直感的には見通しにくいですね。 あまり気にしなくてよいと思います。

授業とは関係ないのですが、出席点はどのようにつけるのでしょうか。

一応、この質問表を、ちゃんと書いて出していたら出席、にしています。

この規模のものを加算器と並べて大丈夫なのだろうかと。

ええ、全体がちゃんとつながっていれば、もちろん大丈夫ですよ。 それが大規模集積回路というものです。
戻る