解決すべき問題とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 解決すべき問題の意味・解説 

解決すべき問題

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/06/02 00:56 UTC 版)

レジスタ・リネーミング」の記事における「解決すべき問題」の解説

プログラムは、何らかの値に何らかの操作をする命令並んだのである命令がそれらの値を区別するために、それぞれの値に名前をつける。たとえば、「X と Y を足して結果を Z に置く」という命令では、X、Y、Zが格納場所の名前である。 命令コンパクトにまとめるため、多くプロセッサ命令セットでは直接名前を指定でき、かつ高速読み書きできる特別な所を少しだけ用意している。これをレジスタと呼ぶ。 たとえば、x86命令セットアーキテクチャでは8個の整数レジスタがあり、x8664ビット版AMD64)では16個、PowerPC多くRISCでは32個、そしてIA-64では128用意している。小さなプロセッサでは、これらの場所の名前は直接レジスタファイルの中の場所に対応している一方命令の種類違えば、その処理にかかる時間異なる。たとえばプロセッサメモリからロードしようとしている間に何百という命令実行できるかもしれない。短い命令時間のかかるロード待っている間に行うと、命令プログラムが本来指定している順番とは違った順番進行していることになる。このようなアウト・オブ・オーダー実行性能上のために最近高性能CPUでよく行われている。 上述踏まえ、以下のようなコードアウト・オブ・オーダー実行CPU動作させることを考える。 レジスタ・リネーミング適用前#命令オペレーション1ロード メモリ1024番地からレジスタ1へ 2加算 レジスタ1へ 数値 2 を加算 3ストア レジスタ1の内容を1032番地へ 4ロード 2048番地からレジスタ1へ 5加算 レジスタ1へ 数値4 を加算 6ストア レジスタ1の内容を2056番地#4, 5, 6命令は #1, 2, 3 の命令はやろうとしていることに依存関係はない。しかし、命令#4命令#3完了しない実行できないさもなくば命令#3間違った値を書き込んでしまうかもしれないからである。具体的には、レジスタ1の内容が、命令#3読み取っている最中命令#4書き換えられてしまう可能性がある。 これは、レジスタの名前を変えるだけで解決可能である。 レジスタ・リネーミング適用後#命令オペレーション1ロード メモリ1024番地からレジスタ1へ 2加算 レジスタ1へ 数値 2 を加算 3ストア レジスタ1の内容を1032番地へ 4ロード 2048番地からレジスタ2へ 5加算 レジスタ2へ 数値4 を加算 6ストア レジスタ2の内容を2056番地へ これで命令#4,5,6命令#1,2,3は並行して実行できるようになり、プログラム高速化される。 レジスタ・リネーミング並行実行可能に成る#命令(X)オペレーション(X)命令(Y)オペレーション(Y)1ロード メモリ1024番地からレジスタ1へ NOPメモリからの読み出し並行実行不可) 2加算 レジスタ1へ 数値 2 を加算 ロード 2048番地からレジスタ2へ 3ストア レジスタ1の内容を1032番地加算 レジスタ2へ 数値4 を加算 4NOP 休止 ストア レジスタ2の内容を2056番地可能ならばコンパイラはこの種のリネーミングを行う工夫を行う。しかしレジスタ数はどのプロセッサでも少ないため、コンパイラ(ソフトウェア)でできること限られる多く高性能CPUは、公開されている仕様より多くの実レジスタ持っていて、レジスタをいわば仮想化命令が示すレジスタと実レジスタの対応をハードウェア動的に切り替えて( レジスタ リネーミングして )いる。このようなリネーミングにより並列性高めている。

※この「解決すべき問題」の解説は、「レジスタ・リネーミング」の解説の一部です。
「解決すべき問題」を含む「レジスタ・リネーミング」の記事については、「レジスタ・リネーミング」の概要を参照ください。

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



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

辞書ショートカット

すべての辞書の索引

「解決すべき問題」の関連用語

解決すべき問題のお隣キーワード
検索ランキング

   

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



解決すべき問題のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS