第3回分

◎の呼び方がはあるのか?

特にないようですが、BCL演算、と呼ぶこともあるようですね。

◎がよく分からない.

(Gn, Qn)と(gn-1, qn-1)から(gn, qn)を求める演算、ですね。 Cn = Gn + Qn・Cn-1から出てきたのでした。 もう一度見直しておいてください。

◎を3つ繋げたときの計算方法がわからない.代数における交換法則などは成立するか?

◎演算自体は、2項演算ですから、2つずつ順番に求めていくしかないですね。 交換法則は、ぜひ調べてみてください。

◎の演算はEXORなどとくらべてどのくらいの時間がかかる?

作り方に依存しますが、◎演算は、AND-ORの2段分のゲートを 通ります。 一般にEXORは、最も高速な回路構成では、1.5段分ですから、 ちょっと遅い、というところですかね。

QGブロックとHAブロックは同一なのでQGをHAと書いても良いですか?

確かにそのとおりですね。

CLAは僕の今の知識では思いつくことができないが,いずれ出来るようになるのか?

頭のいい人がおもいついた、と割り切るのも、1つの考え方かと思いますし、 ものごとの本質を、よく理解できる域に達することができれば、 別のものが思いつくかもしれませんね。

BCLAはどのように思いついたのだろうか?まだ未知の優れた計算方法もたくさんあるのか?

Webに載せてある講義資料には書いておきましたが、 BCLAは、多ビットの加算を、2項ずつの演算に置き換えることで、 logN段ですませています。

BCLAは,いつ誰が考案したのか?

BCLAが現在最も良いCLAなのか?

いまのところはそのようです。

BLCAはとても有用であるが,一般にRCAを使うことはあるか?

あまりビット数の多くない加算で、演算時間がそれほどシビアでなければ、 RCAの方が回路規模は小さいので、有用な場面もありますね。

BCLAのブロック図で(g7,q7)に(G-1,Q-1)が入ってないのは何故?

すいません、講義での図に一部間違いがありました。 ↓このように考えるといいかと思います。

2N桁以外の計算はBCLAで構成できるのか?

不要でも2N桁の加算器を構成するのが早そうですね。 ただし上の図のとおり、上位ビットの分を端折っておけば よさそうです。

BCLAの段数がN桁でlog2Nになるのは何故?

最後の加算器でなぜ急に3個飛ばしをするのか?

3個飛ばし、というより、まずは2個の◎、つづいて、その2個どおしの◎ (=1個とばし)、さらにその「2個どおしの◎を2組(=4個)どおしの◎」 となるので、4個ずつ、つまり3個飛ばし、になるわけです。

CLAとBCLAではどのくらい演算時間に差があるのか?

例えば8桁加算を4bitCLA2つを組み合わせたものと8bitBCLAではどちらが高速か?

次回、時間があれば触れましょう。

なぜCLAで桁数が増加してCLAブロックが複雑になっても演算時間はほぼ一定なのか?

実際には桁数が増えると、CLAブロックで、特に入力数の多い 論理ゲートが必要となるため、速度は実は遅くなります。 そのあたりも、あまり桁数の多いCLAが使われない理由でもあります。

CLAとBCLAではどちらが良く利用されるのか?

BCLAは実際どのような所で使用されるのか?

ケースバイケース、のようです。

BLCAは回路規模が大きくならないのか?

実はあまり大きくならないですね。 少なくともCLAとは違って、多入力の論理ゲートは必要ありません。

桁数が増えた場合,BCLAはCLAより設計し易いか?

BCLAは規則的な構造をしているので、多ビットの加算器でも 実は設計はそれほど大変ではありません。 LSIの回路構成では、規則的な構造、はとても楽チンなんです。

どうしてG-1=Q-1=C-1=0となるのか?

一番下の、さらに下の桁からの桁上がりは0なので、C-1=0、です。 同様に、G-1 = A-1・B-1のはずですが、A-1 = B-1 = 0と考えるのが 妥当でしょうね。

Cn=gn+qnとなるのは何故か?

そういう定義だから、です。

G-1+Q-1=g-1+q-1からG-1=g-1,Q-1=q-1としてのは仮定したものか,それとも論理的に成立するのか?

実際にはC-2が0でも1でもよいので、一意には定まらないのですが、 あとあとのことを考えて、このように定義しています。

下位桁からの伝搬の有無はCPUで判断しているのか?

いや、プログラムで求めるのではなく、論理回路で求めているわけですね。

計算機は演算終了をどのように判断するのか?遅延時間によっては誤判断をしないのか?

実は、一般の演算回路では、演算の終了を知る手段はありません。 設計時点で、どれぐらい時間がかかるか、を(主にワーストケースで) 見積もっておき、演算回路に入力を与えて、その時間だけ待ったら 結果が出ているはずだ、という判断で、次の処理に入る、という 構成をとります。

(課題で)演算時間を求めるのにSnを考慮しなくても良いのは何故?

あの課題では、SnとCnが同時に出てくる、という仮定をしています。 Snは、その桁で、求められたらおしまいですが、 Cnは、上の桁へと伝わっていくので、全体の演算時間に効いてくるわけです。

(課題で)遅延時間が最大でない場合としてどのような例があるか?

極端な話、0000+0000=0000では、キャリーの伝播が1桁もありませんから、 1段のFAの分だけの演算時間でおしまいですね。

図の量が多いので可能であればプリントを配布して欲しい.

そうですね、次回からは、たいへんそうな図は、そうしたいと思います。

授業の進行が少し早く感じた.

ちょっと考えたいとは思いますが、 これぐらいのペースはしかたないかな?という気もします。 ただし↑のとおり、図を板書から写す時間がかなりかかるようなので、 プリントを配るなどしたいと思います。

BLCAの復習を次週して欲しい.

さすがに時間がとれないので、Webやノートなどで、自分で 復習をしておいてください・・・ もちろん、質問などがあれば、どうぞ。

パン作りと同じで奥が深い...

そうですね、かめばかむほど味が出る、といいますか。
戻る