第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やノートなどで、自分で
復習をしておいてください・・・
もちろん、質問などがあれば、どうぞ。
パン作りと同じで奥が深い...
そうですね、かめばかむほど味が出る、といいますか。
戻る