• ベストアンサー

なぜRISCが速い?

こんにちは。 前から疑問に思っていたことがあるので質問します。 MacのプロセッサってRISCプロセッサですよね? 確か、RISCプロセッサは「構造がCISCプロセッサより単純なのでクロックを上げやすい」というメリットがあると教わったのですが、実際はCISCプロセッサのPentiumよりもかなり低クロックです。なのに、「同クロックならMacの方がWinより速い」といわれているのは何故でしょう? 単純に考えれば、高クロックのCISCが低クロックのRISCに負けるはずがないと思うのですが、実際はそうではない理由は何でしょうか。お分かりの方、教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.7

マイクロプログラム方式こそがPentium系CPUを「RISCもどきのCISC」と言わしめている所以です。 通常、CPUは機械語命令コードを読み込んで実行します。 CPUが直接実行できる命令群を命令セットといいます。 しかし、CPUの内部では機械語命令コードをそのまま実行しているわけではありません。 CPUに取り込まれた機械語命令コードはより細かな命令セット(=マイクロコード)に変換されます。 実際に動作する命令は、このマイクロコードです。 機械語命令セットをマイクロコード命令セットに変換して実行する方式を「マイクロプログラム方式」と呼びます。 マイクロコードの命令セットはRISCの機械語命令セットに近い基本命令セットです。 そのため、マイクロコードはRISCと同じように1命令/1クロックで動作させる事が可能です。 IntelはPentium系CPUのマイクロコード、制御ロジックにRISC技術を大幅に取り入れ驚異的な多段パイプラインを実現させました。 そして、多段パイプラインを多重化することによりマイクロコードの並列実行を実現させています。 多重多段パイプラインはRISC系CPUではスーパースケーラ(スーパースカラとも言う)技術として1980年代から実現させていた技術です。 Intelは1980年代にI860RISCというCPUを計画しており、計画倒れに終わったIAPX432でRISC化CISCを実現する予定でした。 しかし、当時の集積技術ではRISC化CISCの実現は難しく、真のRISC化CISC(多段多重パイプライン)の実現はTualatine コアのPentiumIIIが初代となります。 (多段パイプラインや2重多段パイプラインは存在した)

kaeruchan
質問者

お礼

本当にありがとうございます。長年、ずっと疑問に思っていたことが解決いたしました。

その他の回答 (6)

  • biginer
  • ベストアンサー率24% (382/1537)
回答No.6

「同クロックならMacの方がWinより速い」とい われているのはRISCが速いからではなくG4という CPUがAltiVec (アルティ・ベック)別名Velocity Engine (ベロシティ・エンジン)という機能を持っているからです。 対応したソフトは128bit処理を行いますので速いのは当然です。 パソコンは普通32bit処理ですから。 http://www.atmarkit.co.jp/icd/root/83/65739483.html 8月発売予定のPowerMacG5は パーソナルコンピュータとして初めて64ビットプロセッサを搭載しています。 使用できるメモリ容量は最大8GBです。 http://www.apple.co.jp/powermac/index.html http://www.apple.co.jp/g5/index.html

参考URL:
http://www.apple.co.jp/powermac/index.html
kaeruchan
質問者

お礼

ありがとうございました。

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.5

CISCは複雑な命令セットを持つという特性上、1命令実行に擁するクロック数が多くなります。 RISCは命令セットを単純化し、1命令を1クロックで実行させる形態を取ります。 たとえば単純な足し算を考えた場合 RISC(各命令はは1クロック) アドレスAからレジスタ1にデータを取り込む アドレスBからレジスタ2にデータを取り込む レジスタ1とレジスタ2を足してレジスタ1に入れる レジスタ1のデータをアドレスAに書き込み CISC(足し算命令1つで数クロック) アドレスAとアドレスBのデータを足してアドレスAに書き込む こんな感じです。 実際にはパイプラインが有効に機能するので、RISC側では4クロックかかることはありません。 結果、この程度の処理で同一クロックの「単純なCISC」と「RISC」で比べた場合、CISCが勝つことはあり得ません。 Pentium系CPUはRISC技術を大幅に取り入れ、高度なパイプライン技術を誇りますが、Petium系CPUのRISC技術はCPU内部処理に限定されるため、外部インターフェース(主にメモリインターフェース)が足かせになります。 Intelは高度なキャッシュアルゴリズムと高速BUSインターフェースを開発しメモリインターフェースの遅延抑制に躍起です。 「Pentium系CPUは高速なBUSインターフェースと高度なキャッシュアルゴリズムに支えられたときに高パフォーマンスを得られる」という図式となります。 しかし、どれだけ頑張ってもパイプラインの乱れを0にすることは出来ず、キャッシュミスヒットをなくすことも出来ません。 結果、基本法則として(BUSインターフェースなど外部要因を取り除けば) ・CISCは動作クロック以上の命令実行パフォーマンスを得られることはない(1GhzのCPUが1秒間に1億命令を実行することはない。通常数分の1となる) ・RISCは動作クロック以上の命令実行パフォーマンスを持つ(1GhzのCPUは1秒間に1億以上の命令を実行できる) という2点が覆ることはありません。 命令体系の違い(同じ足し算でも実際に行う命令の数が違う)があるので単純な比較は無意味です。 「通常数分の1となる」の『数分の1』の逆数(1/4なら4)が命令個数の比と同じならRISCはCISCより早いと言えます。 冒頭の足し算の例(RISC=命令4つ,CISC=命令1つ)の場合、CISCの足し算命令が4クロックかかればRISCの方が速いことになります。 最終的にはここにプログラム最適化能力が加味されるので、選択するコンパイラの性能にも影響を受けます。

kaeruchan
質問者

お礼

ありがとうございました。何度も読み返し、理解致しました。

kaeruchan
質問者

補足

てっきり、CISCは1クロックで複雑な命令を処理できるものと思っていました。そこでまた質問で申し訳ないのですが、CISCで複雑な命令を数クロックで処理するというのと、「マイクロプログラム方式」というのは関係ありますか? このあたりが今ひとつ理解できていないので、ご存じであればお教え頂きたいです。

  • briony
  • ベストアンサー率29% (323/1090)
回答No.4

クロックだけで図れる時代ではなくなっていますし、実際Pentiumは内部処理はRISCになっていますので、単純比較ができないですが、処理能力ではMacプロセッサに負けていないはずです。 私は元マックユーザですが、体感的にPenの最近の処理のほうが、圧倒的に軽く感じます(もちろん他の処理もはいっていますが)。 RISCがCISCに勝っているという図式は、もう私の中にはなくなってしまいました。 ちなみにPentium Mがなぜあんなに低クロックで高速なのか、そのへんが鍵になると思います。

kaeruchan
質問者

お礼

ありがとうございました。

回答No.3

Reduced Instruction Set Computer (RISC) 命令セットが簡略化できるので、高速で動作できる。 Complex Instruction Set Computer (SISC) 複雑な命令を実現するために内部構造も複雑になり、処理速度の向上が難しくなる。Motorola社の680x0シリーズやIntel社の80x86シリーズなどがこれに該当する。高度な複合命令の数が多くなり、1つの命令の実行に時間がかかってスピードが上がらない。

kaeruchan
質問者

お礼

ありがとうございました。

  • kabasan
  • ベストアンサー率44% (264/588)
回答No.2

Pentiumはプログラム側から見ればCISCですが、内部はRISCです。 しかも、Pentium4になってからは、「1クロックあたりどれだけ処理できるか?」ではなく、「どんなふうに命令をRISC風命令に分ければクロックをあげやすいか?」に重点を置いているため、「1クロックあたり」では他のCPUより劣っているようです。その代わり、新しい拡張命令を用意して「この命令を使えば速いよ」みたいな事をしています。 今も昔もそうですが、基本的に「1クロックあたり」ならCISCのほうが上です。 では、「低クロックのCISC」と「高クロックのRISC」ならどうか? クロック差とクロックあたりの処理能力の差で結果はいろいろです。その辺のさじ加減のうまさが「設計力」なり「チューニング」だと思いますよ。

kaeruchan
質問者

お礼

ありがとうございました。

  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.1

CISCとRISCの処理の違いはパイプライン処理の違いに出てきます。ただその辺を生かすためには其れを生かせるコンパイラが必要になるのですがその辺にアップル社が取り組んだ結果最適化うぃ十分にできるこの姶良などを作ることができたとかなどがPowerPCを利用したマックでの速度の結果です。 其れとどうクロックでマックの方がWIndowsより早いというのはこれは難しい判断でphotosyopなどの処理を行うときにはG4などのベクトルエンジンが働いて同時に処理を行えることによって速度を得ることができます。 ただ、このチップのための最適化コンパイラの開発というのは結構難しくてたとえば苦手なわり算をかけ算に変更できたらするなどの処理を行えるようになって速度を結構得れるようになってきました。 Riscチップが優秀だったというよりRISCチップとその機能を十分に生かせる、特に本体の販売メーカーとOSの発売メーカーが一緒なのでそこがこの性能を十分に生かせるものを開発できたというところにアップル社のマックが「特定の処理の条件下において」同クロック数のWIndows用のマシンより高速に処理できるようになった理由かと思います。

参考URL:
http://www.atmarkit.co.jp/fsys/zunouhoudan/027zunou/end_of_risc.html
kaeruchan
質問者

お礼

いつも的確なご回答ありがとうございます。参考URL、大変役に立ちました。

関連するQ&A