第6回分

CSAおいて4,5と加える数が上がっていった時、(A+B)+(C+D)と分けて計算するのか

どちらでもできますね。((A+B)+C)+D、としても求められます。

論理演算回路の構成でより一般的なのは(1)と(2)のどちらなのか

((1)=セレクタ利用, (2)=真理値表で構成)

論理演算回路は、みんな真理値表からつくるのか

セレクタをつかった論理演算ユニットより真理値表で作ったそれの方が絶対に効率が良いのか

論理演算回路の作り方その2で、XはS1、S0、A、Bの式で表せることはわかったのだが、この回路は複雑だと思う。もっと簡単な物はないのか

講義で出てきたALUの構成は簡単な回路だったが、実際のALUは高速化のためにもっと複雑な回路だったりするのか

論理回路の設計(簡略化など)は、実際にはかなり自動化が進んでいて、 設計者の負担は低いので、(2)のほうが現実的でしょうね。

選択信号を用いた加減算の切り替えが分かりにくかった

これはけっこうややこしいです。 なかなかうまい方法でもあるので、ぜひもう一度追いかけてみてください。

ALUの真理値表の構成がわからなかった

4種類の論理演算に対して、AとBから出力Xを求める、ということを 真理値表に書き込んでいけばOKです。

CSAの利点が良く分からなかった

加算器CSAで桁上げを後回しにすることでどういう利点があるのか

(A+B)+Cを、すべてRCAで作ってみると、まずA+Bでキャリーの全桁の伝搬があり、 続いて+Cのところでも、またキャリーの全桁の伝搬が起こります。 一方、CSAならば、「全桁の」キャリーの伝搬は、最後の1回だけ、ですね。 しかも最後の加算は、BCLAなどで行ってもよいので、全桁のキャリーの伝搬を ほとんどなくすこともできます。

CSAの構成が分からなかった

ぜひ復習を。 丹念に信号の流れを追いかければ、わかるはずです。

桁上げ保存加算回路において、X+Yと+Zの2回の加算をしていたが、X+Y+Zを一度には出来ないのか

もちろんできます。 3入力の全加算器を設計したときのように、4入力の加算器を設計すれば よいわけです。 ただし、せっかく全加算器があるので、これを使った構成をとってみたわけです。

性能比較がわかりやすかった

どうもありがとうございます。具体的な数値があるといいですよね。

論理演算でNORやNANDなどはどうすればよいのか

論理演算回路でNANDやNORなどの複合ゲートはどういう風に構成するのか

ORやANDをとった後、その結果に対してNOTをとることになります。 もちろん、これらの論理演算機能を持つALUを設計することもできますね。 (あまり見たことはありませんが)

今のコンピュータの中にはRCAとBCLAがどの程度の割合で入っているのか

どうなんでしょう。BCLAは結構多いんじゃないですかね。

「算術演算」には乗除算は含まれないのか

最初にお話したように、乗除算を行う回路はかなり大規模で複雑になるので、 乗算回路・除算回路として別に持つか、あるいは加算・減算の繰り返しとして プログラムで実行することが多いので、一般にはALUの機能には含めません。

減算回路は今日習ったEXORを用いたものしかないのか

もちろん減算回路を論理回路として作ることは、全加算器と同様に可能です。 しかし減算器が単体で必要となることはあまりなく、 加算器と併用となることがほとんどですので(加算を使わずに 減算のみを使ったプログラムを書くことを想像してみてください)、 せっかくいろいろノウハウのある加算器があるので、これを使って 構成するのが、いろいろな意味で現実的かと思います。

ALUの真理値表の必要でない部分はS0、S1の入力を操作して使わないように設定するのか

そういうことになりますね。

セレクタを用いたALUはOR,EXOR,NOT,ANDの4つすべてが入らないから無駄があると言う意味なのか

論理演算回路のセレクタをしようした方法のどのあたりが無駄が多いのかが良く分からなかった

そういうことです。必ずこのうち3つは使わないので、回路の動作率が低く、 またそこの動作に要する電力消費が無駄になります。

RCAとBCLAにMOSTr数が+50%に対して消費電力が+200%なのはなぜなのか

動作している=ON/OFFの切り替えが起こっているトランジスタ数が多い、という ことですね。 RCAでは、上位のほうの桁は、下からキャリーが伝搬してくるまで 値が変化しない=動作しない=(動的な)電力を消費しないためです。

算術演算回路で加減算と乗除算は別の回路ということだったがこの2つの回路も実際にはセレクタをつないでいるのか

もちろんそれでもできますが、ALUと乗算器、除算器は、個別に データバスに接続されることが多いようです。

B, S1, S0からB'(B or /B or 1 or 0)を求める真理値表の書き方がわからなかった

Bの値は0か1で、S1、S0も0か1です。ですので、それらに対応するB'の値を 表に入れていくことになります。
戻る