メモリやディスク等であれば、記憶回路を小さくすれば
たくさんの回路を詰め込むことができるので容量が大きくなることが理解できます。
一方で、CPUでプロセス微細化を行ったとしても、
単に回路を詰め込めば処理が速くなるというというものではないと理解しています。
もちろん消費電力の低減やコアクロックの引き上げ等
メリットがあるのは理解していますが、コアクロックもすでに限界まで来ているし、
メモリほどのメリットがあるように感じられません。
そこで質問です。
1)
CPUに使われる回路(トランジスタ)の総数は増えているのでしょうか?
増えた分の回路は何に使われているのでしょうか?
コア数を増やすなどの用途は考えられますが、
だとすると、プロセスの長さが今の100倍の時と比べて
今頃は100コアになってないとおかしいので、計算が合いません。
2)
CPUの速度は基本的にはクロックで決まるはずなので、
微細化でクロックが上がらなくなった今
単純にプロセス微細化や回路の詰め込みだけでは性能向上していないと理解しています。
このプロセス微細化と性能向上の関係について教えてください。
1)
CPUに使われる回路(トランジスタ)の総数は増えているのでしょうか?
増えた分の回路は何に使われているのでしょうか?
まず、ひとつの命令が複雑になります。
1クロックで処理できることが多くなる。
過去の用語ですが、数値演算プロセッサや RISC チップといったあたりが分かりやすいと思います(古過ぎ?)。
ビット幅が大きくなったのも、これに入りますよね。
少し新しくなると、マイクロアーキテクチャーとかになるんでしたっけ。
それから、パイプライン。
命令を処理するフェッチ、デコード、演算といったステージが同時に動ける。
もちろん、多重で動く分、回路は必要です。
さらに、スーパースケーラー。
複数の命令について、フェッチやデコードなどを並列に処理します。
パイプラインの処理をするには、バッファに使う CPU 内のキャッシュも必要です。
多ければ良いというものではありませんが、並列で処理している処理の同期を取るために使われます。
2)
CPUの速度は基本的にはクロックで決まるはずなので、
微細化でクロックが上がらなくなった今
単純にプロセス微細化や回路の詰め込みだけでは性能向上していないと理解しています。
同じ回路であれば、クロック周波数で速度は決まるでしょうが、回路(使われてる技術、と言った方が良いのかな)も変わってきています。
単純に詰め込んでいるだけではなく、集積度が上がることで複雑な処理を基盤に構築したから速くなってきたと思います。
# と、(1) の方でも、同じようなことを書きました
プロセスルールの微細化は、回路の総数には直接関係があるけれど、性能向上については、ひとつの要因でしかない、というのが答えになるかと思います。
ぼくはソフトウェアの世界に生きている人なので、パイプラインのような処理を、回路でどうやって組むのだろうというのは、想像もつかないですが、あのソフトウェア的な動作を回路にするのは、チョイ足しくらいではないのだろうなあ、と思います。
2015/02/16 17:14:39集積度合とか、回路で使われている面積とか、面白い着眼点ですね。
どこかに情報が落ちてないか、探してみようかな。
引き続きコメントありがとうございます。今回の質問自体は、回路の勉強をしていて「あれ、CPUがこの仕組みで動作しているんだったら小型化って高速化と関係ないんじゃ?」っていう疑問から始まりました。どこかに具体的な情報が転がっていたらいいんですが、わりとしっかりと解説されているものにほとんど出会わないんですよね…。
2015/02/16 17:21:46