第3回分

生成と伝播の関係が分からない.なぜこのような複雑な考え方をするのか?利点は?

次回で紹介する「桁上げ先見加算器」で、よくわかるかと思いますので お楽しみに。

"でんぱん"は伝播ではなく伝搬では意味が変わってしまうのか?

おっと。そういわれてみればそうですね。 ちょっとしらべてみました。 たとえば ここによると、
「伝播(でんぱ)」は、「農耕文化が伝播する」のように文化等が伝わって
いくことを表す際に用い、「伝搬(でんぱん)」は、運ぶと言う意味を表す
「搬」の文字が使われているように、何か(例えばベクターや水等)の介在
のもとに、他へ伝わっていくことを表すように、私は考えています。
久能ら(1999)の「新編植物病理学概論」では「伝搬 dispersal」は病原が
宿主表面に付着するまでを、「伝染 spread」は伝搬+感染成立までの過程
が含まれると書かれていますが、このような言葉の使用法は微妙で、人によ
って異なることもありますので、あまり堅く考えない方が良いように思います。
とのことで、違いはないようですね。

”でんぱ”それとも”でんぱん”?

これも調べてみましたが、どちらでもよいようです。 (辞書によって書いてあることが違う・・・)

Sn = An Bn Cnなのは何故?

まあ真理値表をみてみてください。 (An Bn) Cnと書くと わかりやすいかもしれませんね。

Sn = An Bn Cn となるのは Cn = Gn + PnCn-1 のように数学的根拠はあるのか?

まあ真理値表をみてみてください。

半加算器に対する視点と全加算器に対する視点の捉え方が良く分からない

ちょっと抽象的な疑問ですね。 基本的に、半加算器は、途中過程のものと考えていいと思います。 つまり普段使うのは、全加算器だけ、と。

同一段のCとSの演算に時間差はないのか?

もちろん回路構成によって異なります。 たとえばHAを2段重ねる構成のFAでは、 Sは、2段分のHAを通って出てきますが、 Cは、2段のHAのC出力の、さらにの論理和をとるORゲートを通りますから、 Cのほうが余計に時間がかかるわけです。

ちなみにRCAでは、キャリーの伝播時間が、全体の演算時間を決めますから、 できるだけCは早く出てきたほうがうれしいわけで、 そういうわけで、加算器だけで何通りも作り方がある、わけです。

「Taylor展開で四則演算で近似」というところが分からない

たとえばex = 1 + x + x2/2! + x3/2! + ・・・ とTaylor展開できますよね。 この右辺は四則演算だけですから、 このTaylor展開を途中で区切り、それ以降を無視して近似とすれば、 四則演算だけでおわる、ということです。

sin x などは本当に加算だけでやっているのか?テーラー展開には誤差があるはずですが...

実はケースバイケースで、 本当にTaylor展開を途中まで計算する(もちろん必要な精度を確保するところまで) 方法のほか、対応表(x=**のときにはsin(x)=**、のような)を 思えておく、という方法があります。

コンピュータ上の関数演算はTaylor展開されたものを用いているのか?(MATLAB上で「sin(x)」と「sinxのX^2までのTaylor展開近似」の計算を行ったところ,sin(x)の方が処理速度が速かった)

PCだと、関数演算だけを高速にやるための回路(コプロセッサ)が 入っているものが多いので、こういう結果になるんでしょうね。

関数のTaylor展開自体は計算機上でどのように行うのか?

それは、プログラムとして書いておくわけです。

除算が減算の繰り返しなのは何故?繰り返し減算する値の算出方法は?

たとえば「12÷2=6」は、「12から、2を6回ひくことができる」 という意味ですよね。 ですから除算は減算の繰り返し、ということです。

1000(binary)をある値に乗算するときは加算ではなく,シフトでよいのでは?

ご指摘のとおりです。 2進数であらわすと2nをかける/割るのはシフトでできますので、 たしかに効率はいいですね。

なぜ Cn = Gn + P'nCn-1として良いのか?P'n = An + Bnでも良いのか?

すいません、今回の話で、少し混乱がありました。 現在Webページに載せてある内容 が正しいので、訂正・補足させてください。 (次回の第4回の最初に補足します)

Cn = Gn + P'nCnにするのは Pn = An Bn のAn = Bn =1の時を無視できて回路を小さく出来るからか?

そのとおりです。

4bitFAでは3つの数字を同時に計算したりするものはないか?

実はありますが(詳しくは次回)、 2つずつ足していくほうが、汎用性はありそうですね。

HAで桁数の多い加算が出来ないのは何故?

1つ下の桁からの桁上がりを加算できにないから、です。

実際のコンピュータにFAは何個入っているのか?

そうですね、いくつぐらいなんでしょう。 演算を行うALU以外にも、 たとえばプログラムカウンタ(PC)は順番に1ずつ自動的に増えていきますから、 ここにもFAが必要ですね。 こんなわけで、かなり多いかと・・・ 数えたことはありません、すいません。

キャリー発生時,次段に入力されるまでに遅延は生じるか?

厳密には生じます。(配線遅延など。ただし課題1では無視してかまいません)

全加算器内で半加算器の出力が次段の半加算器に入力される部分で遅延が生じないか?桁数の多い演算に影響は出ないのか?

もちろん生じます。 RCAでは、キャリーの伝播時間が全体の演算時間を決めますから、 かなりシビアですね。 キャリーを真っ先につくるような回路構成をとるのが現実的でしょう。

実際に演算にかかる時間はどの程度か?

回路構成や製造プロセスに依存しますが、 一般に加算は、プロセッサの中では1クロック周期で終わるようにする ものなので、 たとえば3GHzで動作するプロセッサならば、 その1周期分(=1/3GHz=300ps)程度で終わることになりますね。

FAはキャリーの伝搬があるときにもっとも演算時間が大きくなるのか?

FA、というか、RCAの演算時間、は、そのとおりですね。

今日の内容は既習であり,要点だけで良かった.ここまで丁寧に行ったのは何故か?

まだ先も長いので、復習がてらに・・・と。

RCAよりもっと効率の良いものは?

次回、いくつか紹介します。お楽しみに。

RCA構成の利点は?

ただ並べるだけで完成するところ、ですかね。

一般的に現在の設計では回路規模と速度ではどちらが重視される?

これはケースバイケースです。 性能重視とコスト・消費電力重視のどちらか、によって 変わってきます。 一般的には、携帯機器では回路規模重視、 ハイエンドの情報機器では速度重視、といったところでしょうか。

HAを用いないFAの論理回路図はどのようになるのか

興味のある方は、ぜひ調べてみてください。 それだけで1冊の本になるくらい、いろいろあります。

ANDゲート,ORゲート,INVゲートではどれが遅延が大きいのですか?

回路の作り方しだい、ですね。 一般には、入力数が多いほど遅延が大きいので、 AND=OR>INV、という順番でしょうか。

FAをHA2個で構成するとき,CnがHAの桁上がりの有無で決まることが理解しづらい

もう一度真理値表をよく見てみてください。

FAは何の略?

ちゃんと話を聞いておいてくださいな・・・ Full Adder、ですな。

宿題が多いのでは?

ってまだ1回目ですがな・・・

宿題の提出方法が少し面倒な気がする

そうですか?こんなもんかと・・・
戻る