RISCの先駆者とは? わかりやすく解説

RISCの先駆者

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/04/03 09:53 UTC 版)

MIPSアーキテクチャ」の記事における「RISCの先駆者」の解説

1981年スタンフォード大学ジョン・L・ヘネシー率いチームは、後に最初MIPSプロセッサ生むプロジェクト開始した基本コンセプトは、命令パイプライン深くすることで劇的に性能向上させることである。IBM 801 などの研究先例この手法はよく知られていたが、その可能性が完全に解明されていなかった。一般にプロセッサは、命令デコーダ演算論理装置 (ALU)、メモリやりとりするロード/ストア・ユニットといった部分構成されている。パイプライン化されていない従来の「マイクロプロセッサの」設計では、1つ命令の処理を(ほぼ)完了させない次の命令の処理を開始できず、内部ではほとんどの時間を処理に関与せず待機するだけの回路多くなる。これに対して従来マイクロプロセッサ」ではない、例え1960年代IBM 7030の頃には実現されていた命令パイプライン方式では、1つ命令処理過程複数ステージ段階)に分割し各ステージ順次次のサブユニット送って複数サブユニットがオーバラップして動作できるようにする。1つ目の命令最初ステージの処理が終わると、次のステージの処理へ引き継がれる同時に2つ目の命令最初ステージの処理が平行して実行される3つ目の命令が入ると1つ目の命令は3ステージ先、2つ目の命令2ステージ先、3つ目の命令最初ステージで3つの処理が同時に行われる。すべてが最も効率的に動けば複数分割した処理過程内容関わらず1ステージの処理ごとに1つ命令完了できることになる。 命令パイプラインでは、乗算除算命令のように命令実行長い時間がかかる場合パイプライン次の命令取り込むのを待つ必要がある。この問題の解決策として、パイプライン各ステージが処理中であることを示せるようにして、パイプラインインターロックして、次の命令ステージ進行しないように止めなければならない。これがストールである。分岐命令実行すると、後続命令途中ステージまで進行していたもの取り消さなければならず、ストール加えて無駄となった処理時間分も加わる。これらがインターロックロスとなる。ストール発生しインターロックがかかると命令パイプライン足踏みするため、性能向上は望めないと考えられていた。MIPS設計上では、すべての命令単純化して実行処理が1クロックサイクル内で完了するよう計画された。そうできればインターロックをなくすことができる。 このような設計にすることで掛け算割り算などの複雑な命令1つ命令では実行できなくなるが、単純な命令だけであればプロセッサ与えクロック高速にでき早く動作させて、性能向上する予想された。また、インターロック回路加えると半導体チップ面積ダイサイズ)が増えてクロック上げることが困難になるため、クロック高速化のためにはインターロック排除することも必要だった複雑だ有用だった命令排除することは議論中心になった。多くの人が「複雑な掛け算単純な多く足し算にして、どうして速度向上するのか」と、この設計手法、そしてRISC一般謳い文句懐疑的誇大広告と言った。しかし、これらの意見は、この設計における速度上のポイント命令機能にあるのではなくパイプラインにあるということ無視したのだった時間のかかる処理にまつわる問題は、ディレイスロットで一応解決された。例えば、2クロックサイクルかかる命令があった場合次の命令ディレイスロットとし、そこに、前の命令依存関係の無い、つまり前の命令結果を必要とせず、かつ前の命令に関わっているレジスタ使用しない命令配置することで、パイプライン止めないようにした。これを実現するためには、プロセッサ与え命令列を生成するコンパイラが、あらかじめ各命令ごとのクロックサイクル数を把握して可能な限りディレイスロット有効な命令埋めるようにする必要があった。それでも大部分命令は1クロックサイクルで実行できた。また、コンパイラ技術進展ディレイスロット活用頻度を向上させた。 初期MIPS並びRISC典型であり代表とされるバークレーRISC英語版)(SPARCへの影響大きい)と比べると、サブルーチンコールの扱い方大きく異なる。バークレーRISC頻繁に実行され性能への影響大きいサブルーチンコールの性能向上を図るために、大きなレジスタファイルを持つと同時にレジスタ・ウィンドウというメカニズム導入したが、それによってサブルーチンコールの入れ子段数制限されている。サブルーチンコールは、それぞれのルーチン専用用いローカルレジスタ群を必要とし、その割り当てハードウェアサポートするということはチップさらなるリソースを必要とし、設計複雑化することを意味するヘネシーは、賢いコンパイラであればハードウェアでの実装頼らず使っていないレジスタ見つけ出すことができ、単にレジスタを有効利用できるだけでなく、あらゆるタスク性能向上にも寄与する考えたMIPSは最も典型的なRISCひとつだとされる、というよりも、RISCの提唱者であるヘネシーパターソンそれぞれ設計した命令セット命令セットアーキテクチャ)であるということ理由に、MIPSバークレーRISC設計が「典型的なRISC」だとされ、それらの特徴を以てRISCの定義」だとされているためであり、「MIPSは最も典型的なRISC」だという言明はその逆になっている。 命令語のビット数を節約するために、命令数を抑えることで、命令フォーマット中のオペコード部として必要となるビット数を抑えている。基本オペコードは、命令32ビットの中の6ビット使用し残り部分構成違いにより数種類分類がある。命令語の残り26ビット部分について、26ビット分岐アドレスとする命令フォーマット、5ビットフィールド4個で3つのレジスタシフト値を指定し残り6ビット追加オペコードとする命令フォーマット2つレジスタ16ビット即値指定する命令フォーマットがある。このような設計で、実行すべき命令必要なデータオペランド)を1サイクルロードできるようになった正確には、必要なデータレジスタ中にあるのであり、もし1サイクル全て揃えたいのなら特殊な技法が必要になる細かく言うと、「オペコードオペランド指定子」を(1サイクル32ビットメモリからロードできるように他の部分設計されていば)1サイクルロードできる)。

※この「RISCの先駆者」の解説は、「MIPSアーキテクチャ」の解説の一部です。
「RISCの先駆者」を含む「MIPSアーキテクチャ」の記事については、「MIPSアーキテクチャ」の概要を参照ください。

ウィキペディア小見出し辞書の「RISCの先駆者」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「RISCの先駆者」の関連用語

RISCの先駆者のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



RISCの先駆者のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのMIPSアーキテクチャ (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS