ロゴ
ユニオンペディア
コミュニケーション
Google Play で手に入れよう
新しい! あなたのAndroid™デバイスでユニオンペディアをダウンロードしてください!
無料
ブラウザよりも高速アクセス!
 

レジスタ・リネーミング

索引 レジスタ・リネーミング

レジスタ・リネーミング(register renaming)とは、コンピュータのプログラム内でレジスタを再利用しているために不必要な順序性が生じているのを、より多くの実在するレジスタを利用して再利用されているレジスタに割り当て、依存を無くす技術である。.

30 関係: Alpha 21264AMD Am29000AMD K5AMD K6並列計算仮想記憶レジスタ・ウィンドウレジスタファイル命令 (コンピュータ)命令レベルの並列性アウト・オブ・オーダー実行ウォーコンピュータ・アーキテクチャスタックマシンサイリックスCISCCyrix 6x86EPICアーキテクチャ遅延スロットP6マイクロアーキテクチャPOWER1PowerPC 970R10000R4000Reservation StationScoreboardingStreaming SIMD ExtensionsTomasuloのアルゴリズムWAWXOR交換アルゴリズム

Alpha 21264

Alpha 21264 のマイクロアーキテクチャ Alpha 21264 はディジタル・イクイップメント・コーポレーション (DEC) が開発・製造したRISCマイクロプロセッサであり、Alpha命令セットアーキテクチャ (ISA) を実装している。コード名 EV6 でも知られている。1996年10月に登場した。.

新しい!!: レジスタ・リネーミングとAlpha 21264 · 続きを見る »

AMD Am29000

AMD 29000マイクロプロセッサ AMD Am29000(Am29000、Am29kあるいは29kとも)は、AMDの32ビットRISCマイクロプロセッサ製品、またそれから派生した製品群。以下本稿では製品群全体、または製品としてのAm29000につきAm29kという。 この製品群は、1980年代から1990年代にかけて、Postscriptインタプリタと組み合わせて多くのメーカーのレーザープリンターに搭載されるなどRISCチップ市場で最も人気を誇った。しかし、1995年、AMDはAm29kの開発チームをx86互換チップ開発に異動させ、Am29kシリーズは終焉を迎えた。Am29kの様々なアイデアや回路がAMD K5の開発に使われた。組込応用市場用にはAm80186から派生した186ファミリを投入した。.

新しい!!: レジスタ・リネーミングとAMD Am29000 · 続きを見る »

AMD K5

AMD 5K86-P90 (SSA/5) マイクロプロセッサ AMD K5 PR166 K5は、AMDが開発したマイクロプロセッサ。インテルのx86命令セットを採用したAMDの第5世代の互換プロセッサである。K5の5は第5世代を表す。Kはクリプトンの頭文字だとされているが、製品内容との関係は全くない。当時のインテル製品の開発呼称はPと数字と組み合わせたもので、それに倣ったと考えられる。 インテルの同じく第5世代プロセッサであるPentiumプロセッサへの対抗として1993年に発表された製品であるが、実際の発売は遅れて1996年になった。設計はAm29000開発チームが手がけ、そのマイクロアーキテクチャをインテルのそれと比較するとPentiumシリーズのP5マイクロアーキテクチャよりもP6マイクロアーキテクチャ(Pentium Pro)に近く、Am29000の流れを汲むRISCコア(FPUを含む)にx86命令デコーダを組み合わせた構造となっている。430万トランジスタで構成されている。開発時期の関係でPentiumプロセッサの後期製品で実装されたMMX命令はK5には実装されておらず、次世代のK6プロセッサを待つこととなる。 Pentiumとの相対的な性能指標としてPレーティングを採用している。例えばP100はPentium 100 MHz相当の製品という意味を持つ。.

新しい!!: レジスタ・リネーミングとAMD K5 · 続きを見る »

AMD K6

AMD K6はAdvanced Micro Devices(以下、AMD)が開発したx86互換マイクロプロセッサである。.

新しい!!: レジスタ・リネーミングとAMD K6 · 続きを見る »

並列計算

並列計算(へいれつけいさん、parallel computing)は、コンピュータにおいて複数のプロセッサで1つのタスクを動作させること。並列コンピューティングや並列処理とも呼ばれる。問題を解く過程はより小さなタスクに分割できることが多い、という事実を利用して処理効率の向上を図る手法である。また、このために設計されたコンピュータを並列コンピュータという。ディープ・ブルーなどが有名。 関連する概念に並行計算(へいこうけいさん)があるが、並行計算は一つのタスクの計算を並列化することにとどまらず、複数の相互作用しうるタスクをスレッドなどをもちいて複数の計算資源にスケジューリングするといった、より汎用性の高い処理をさす。 特に、並列計算専用に設計されたコンピュータを用いずに、複数のパーソナルコンピュータやサーバ、スーパーコンピュータを接続することで並列計算を実現するものをコンピュータ・クラスターと呼ぶ。このクラスターをインターネットなどの広域ネットワーク上に分散させるものも、広義には並列計算に属すが、分散コンピューティングあるいはグリッド・コンピューティングと呼び、並列計算とは区別することが多い。.

新しい!!: レジスタ・リネーミングと並列計算 · 続きを見る »

仮想記憶

仮想記憶(かそうきおく、Virtual Memory、バーチャルメモリ)とは、コンピュータ分野におけるメモリ管理の仮想化技法の一種であり、オペレーティングシステムなどが物理的なメモリを、アプリケーション・ソフトウェア(プロセスなど)に対して、専用の連続した主記憶装置に見えるように提供する。 この技術により、物理的な主記憶装置に加えてハードディスク装置等の補助記憶装置を併用すれば、物理的な主記憶装置よりも大きな仮想メモリを提供する事ができる。またアプリケーション・プログラム側は、物理メモリ上のアドレスを意識しなくて良いため、マルチタスクの実現が容易である。このため現代のオペレーティングシステムの多くが仮想記憶をサポートしている。 仮想的に与えられたアドレスを仮想アドレス (virtual address) または論理アドレス (logical address)、実記憶上で有効なアドレスを物理アドレス (physical address) または実アドレス (real address) という。仮想アドレスの範囲を仮想アドレス空間、物理アドレスの範囲を物理アドレス空間という。.

新しい!!: レジスタ・リネーミングと仮想記憶 · 続きを見る »

レジスタ・ウィンドウ

レジスタウィンドウとは、コンピュータのCPUの一般的な動作であるプロシージャコールの性能を向上させる技法である。 この問題にハードウェアをつぎ込むことによってほとんど全てのコンピュータプログラムが高速に動作するようになる。 これはバークレーRISCの設計上の特長のひとつであり、後にSPARC、AMD 29000、Intel i960で商用化された。 多くのCPUの設計では、レジスタと呼ばれる小規模な超高速メモリを持っている。 レジスタは、長い命令列を実行中にCPUが一時的に値を保持しておくのに使われる。 レジスタが多ければ性能が向上するが、レジスタというのはCPUの命令セットと密接な関係がある。 一度CPUをリリースしてしまったら簡単にはレジスタを増やしたり出来ない。 レジスタは万能の性能向上策であるが、問題もある。 コンピュータプログラムの別々の箇所はそれぞれ一時的な値を持っているため、レジスタの使用が競合してしまう。 プログラムが実行時にどう動くかをよく理解することは困難である。 開発者が実際に開発中に、自分が書いているコードがどれだけレジスタを使ったらよいか、どれだけをプログラムの他の部分のために残しておいたらよいかを決めるのは容易ではない。 一般にそのような考慮は無視され、開発者あるいは彼らが使うコンパイラは見えている全てのレジスタを使うものである。 ここにレジスタウィンドウの使い道が出てくる。 プログラムの各部はそこだけで使えるレジスタを必要とするので、プログラムの各部分ごとにレジスタのセットを提供することに意味が出てくる。もちろん、レジスタのセット以外のレジスタもプログラムのある部分から見えるなら、それも使われてしまうだろう。 ここでのトリックはあるレジスタセット以外のレジスタを見えなくしてしまうことにある。 これは何か複雑なことのように聞こえるかもしれないが、実際は単純である。 プログラムのある部分から別の部分へプロシージャコールで移動するとCPUは簡単にそれを検知できる。一般にプロシージャコールはいくつかの決まった命令列で構成され、元に戻るときも決まった命令列を使う。 バークレーの設計では、プロシージャコールの命令列によって新たなレジスタセットがそれまでのレジスタセットと入れ替えられる。 また、プロシージャから元の場所に戻るときは、それまで使っていたレジスタセットに"dead"(あるいは"reusable")という印をつける。 バークレーRISCの設計では、全部で64本あるレジスタのうち 8本がプログラムから見えるようになっている。 レジスタ全体のことをレジスタファイルと呼び、8本のレジスタのことをウィンドウと呼ぶ。 このレジスタファイルによれば、最大で8レベルのプロシージャコールがレジスタファイル内で実行可能である。 プログラムが8レベル以上の深さでプロシージャをコールしない限りレジスタがあふれる(つまり主記憶かキャッシュに追い出される)ことはない。レジスタがあふれたときの処理はかなり時間を要する。 ほとんどのプログラムは6レベルまでの深さの範囲内で処理を行う。 比較のためサン・マイクロシステムズのSPARCアーキテクチャを説明する。 こちらの場合、8本のレジスタのセットが4個同時に見えるようになっている。 そのうち3セットがウィンドウとなっている。.

新しい!!: レジスタ・リネーミングとレジスタ・ウィンドウ · 続きを見る »

レジスタファイル

レジスタファイル(Register file)は、コンピュータの中央演算装置(CPU)にレジスタを多数集積したものである。 現代的な集積回路によるレジスタファイルは、高速なSRAMに複数のポートを持たせる形で実装されている。通常のマルチポートの SRAM は同じポートで読み書きするのに対して、このような RAM は専用の読み書きポートを持つ点で異なる。 CPU の命令セットアーキテクチャは、メモリとチップ上の機能ユニットとでデータを橋渡しするレジスタを定義するが、単純な CPU では「アーキテクチャ上のレジスタ」が CPU 内の物理的なレジスタに1:1で対応する。一方より複雑な CPU はレジスタ・リネーミングを用いて物理的なレジスタとアーキテクチャ上のレジスタの対応関係が実行時に動的に変化する。レジスタファイルは命令セットアーキテクチャの一部で、プログラマから見える存在であり、プログラマからは透過的に存在しており見えないキャッシュメモリとは異なる。.

新しい!!: レジスタ・リネーミングとレジスタファイル · 続きを見る »

命令 (コンピュータ)

ンピュータにおいて、命令(めいれい)とはCPUが処理する操作のこと。通常、命令操作部と複数のオペランドからなる。あるいは操作者がコンピュータに入力する簡易な書式による指示の総称として用いられることもある。.

新しい!!: レジスタ・リネーミングと命令 (コンピュータ) · 続きを見る »

命令レベルの並列性

命令レベルの並列性(Instruction-level parallelism、ILP)とは、プログラムの中で並行して実行できる処理がいくつあるかの尺度である。.

新しい!!: レジスタ・リネーミングと命令レベルの並列性 · 続きを見る »

アウト・オブ・オーダー実行

アウト・オブ・オーダー実行(-じっこう、out-of-order execution)とは、高性能プロセッサにおいてクロックあたりの命令実行数(IPC値)を増やし性能を上げるための手法の1つで、機械語プログラム中の命令の並び順に依らず、データなどの依存関係から見て処理可能な命令について逐次開始・実行・完了させるものである。頭文字で'OoO'あるいは'O-o-O'とも書かれる。「順序を守らない実行」の意である。 プロセッサの設計と実装において、命令レベルの並列性(Instruction-level parallelism; ILP)を高めることは1つの目標でありスーパースケーラにより1サイクルあたり2命令を越えることが可能になったが、フォンノイマンアーキテクチャの前提である逐次実行が、並列化を施す上での障壁となる。アウト・オブ・オーダー実行(以下、OoO)は、結果(意味)に影響を与えないことを保証しながら可能な限り順序に従わずどんどん実行することにより、複数命令の同時実行の可能性を広げる最適化手法の1つである。 アウト・オブ・オーダー実行に対して、順序通り実行することを、イン・オーダー実行と言う。.

新しい!!: レジスタ・リネーミングとアウト・オブ・オーダー実行 · 続きを見る »

ウォー

;WAR(w:WAR).

新しい!!: レジスタ・リネーミングとウォー · 続きを見る »

コンピュータ・アーキテクチャ

ンピュータ・アーキテクチャ(computer architecture)は、コンピュータ(特にハードウェア)における基本設計や設計思想などを意味する。アーキテクチャ(建築)には、単に「建築物」以外に、設計や様式という意味があるが、それから転じて、コンピュータ分野においても使われるようになった。「設計思想」などと意訳されることもある。技術者や研究者の用語としては(企業ごとの用語の違いにもよるが)「方式」という語が使われることもある。 1964年のSystem/360で最初に使われた用語で、その際の意味としては、入出力インタフェースを含むコンピュータシステムのハードウェア全体(周辺機器自体は含まない)の、ユーザー(プログラマ、OSを設計するプログラマも含む)から見たインタフェースの定義であり、具体的には使用できるレジスタの構成、命令セット、入出力(チャネルコントロールワード)などであり、実装は含まない。このアーキテクチャが同一のコンピュータ間や、上位互換のアーキテクチャを持つコンピュータへの移行や、上位互換の周辺機器への移行などは、ソフトウェアの互換性が原則として保証される。またハードウェアの内部設計や実装は、定義されたアーキテクチャを守る限り、技術の進歩に応じて自由に更新できる。この結果、コンピュータ・ファミリー(シリーズ)が形成可能となる。現在で言えばレイヤー定義であり仮想化の一種でもある。 また、システムアーキテクチャ、エンタープライズアーキテクチャ、ソフトウェアアーキテクチャ、ARMアーキテクチャなどの用語も増えている。.

新しい!!: レジスタ・リネーミングとコンピュータ・アーキテクチャ · 続きを見る »

スタックマシン

タックマシン(stack machine)とは、メモリがスタックの形式になっている計算モデルを意味する。 スタックマシンを実装あるいはシミュレートしている実在のコンピュータもスタックマシンと呼ぶ。 加えて、スタックマシンは「0オペランド」命令セットのマシンも意味する。0オペランドマシンでは、命令は暗黙のうちにスタックのトップおよびトップ近傍にある値を使って演算を行い、結果はやはりスタックに積む。 スタックマシン(0オペランド命令セット)がアキュムレータマシン(1オペランド命令セット)やレジスタマシン(2オペランド命令セット、3オペランド命令セット)に比較して優れているのは、0オペランド命令セットで書かれたプログラムのコード密度が他の命令セットで書かれた同じプログラムに比較して一般に高い点である。 コールスタックを使って入れ子になったサブルーチン呼び出しの局所変数群を管理する方式のコンピュータをスタックマシンとは呼ばない(普通は)。.

新しい!!: レジスタ・リネーミングとスタックマシン · 続きを見る »

サイリックス

イリックス (Cyrix) はかつて存在したアメリカ合衆国のCPU製造・販売会社である。コンピュータの80286、80386系の高性能の数値演算プロセッサ (FPU) の供給元であった。1988年に創設された。会社はテキサス・インスツルメンツ (TI) 出身の人員より構成され、長い期間、TIとのトラブルが生じていた。 サイリックスの創設者ジェリー・ロジャーは、技術者を積極的に集め支援し、30人と少数ながら、有能なデザインチームを構成した。 サイリックスは、1997年11月11日に、ナショナル セミコンダクターと合併した。.

新しい!!: レジスタ・リネーミングとサイリックス · 続きを見る »

CISC

CISC(しすく、Complex Instruction Set Computer)は、コンピュータの命令セットアーキテクチャ(ISA)の設計の方向性の一つである。単純な命令を指向したRISCが考案されたときに、対比して(レトロニム)従来のISAは複雑であるとして、"Complex" の語を用いた "CISC" と呼ばれる様になった。典型的なCISCのISAはしばしば、単一の命令で複数の処理を行う、可変長命令である、直交性がある、演算命令のオペランドにメモリを指定できる、などで特徴づけられる。 CISCを採用したプロセッサ(CPU)をCISCプロセッサと呼ぶ。CISCプロセッサに分類されるプロセッサとしては、マイクロプログラム方式を採用したSystem/360、PDP-11、VAXなどや、マイクロプロセッサの680x0、x86などがある。.

新しい!!: レジスタ・リネーミングとCISC · 続きを見る »

Cyrix 6x86

Cyrix 6x86 (コード名 M1)は、サイリックスが設計しIBMとSGS-Thomsonが製造した第6世代32ビットx86互換マイクロプロセッサである。1996年にリリースされた。.

新しい!!: レジスタ・リネーミングとCyrix 6x86 · 続きを見る »

EPICアーキテクチャ

EPICアーキテクチャ(Explicitly Parallel Instruction Computing Architecture、えぴっくあーきてくちゃ)は、VLIWをベースに改良を施したアーキテクチャで、インテルおよびヒューレット・パッカードが、IA-64(Itanium)で開発・採用した。.

新しい!!: レジスタ・リネーミングとEPICアーキテクチャ · 続きを見る »

遅延スロット

遅延スロット(ちえんスロット)またはディレイスロット(Delay slot)は、直前の命令が効力を発揮する前に実行される命令のスロット(位置)を指す。最も典型的な形態としては、RISCやDSPアーキテクチャでの分岐命令の直後の位置の命令がある。この命令は分岐が実際に行われる前に実行される。従って、その命令は(その場所が遅延スロットであることを理解していないと)無意味な位置にあるように見える。アセンブラは一般に自動的な命令の並べ替えを行い、コンパイラやプログラマが遅延スロットを気にせずにコードを書けるようにしている。.

新しい!!: レジスタ・リネーミングと遅延スロット · 続きを見る »

P6マイクロアーキテクチャ

P6マイクロアーキテクチャ (P6 Microarchitecture)はインテルのx86命令セットのCPUの6世代目の設計である。IA-32としては4世代目。 P6マイクロアーキテクチャを最初に採用した製品は1995年11月に発売されたPentium Proプロセッサ。2000年までインテルの主力製品のアーキテクチャとして使われた。その後、Pentium 4などに採用されたNetBurstマイクロアーキテクチャに市場の主流は移ったが、モバイル向けやブレード・サーバなど省電力低発熱が求められる市場ではそのまま継続された。そのアーキテクチャと市場はPentium MやIntel Coreに受け継がれている。.

新しい!!: レジスタ・リネーミングとP6マイクロアーキテクチャ · 続きを見る »

POWER1

POWER1(パワーワン)は、IBMが設計・製造した、POWER命令セットアーキテクチャを最初に持った、マルチチップのマイクロプロセッサである。POWER1は1990年に登場した。POWER1+(パワーワンプラス)とPOWER1++は改良版、RSCはシングルチップの派生製品、更にPowerPC 601はRSCの派生製品である。1993年には後継のPOWER2に置き換えられた。.

新しい!!: レジスタ・リネーミングとPOWER1 · 続きを見る »

PowerPC 970

PowerPC 970FX PowerPC 970シリーズは、IBMが2002年に発表した PowerPC アーキテクチャのスーパースカラ型64ビットRISCマイクロプロセッサである。 970シリーズはIBMとアップルにより共同で開発された。このプロジェクトはGP-UL、またの名を Giga Processor Ultra Light という開発名の下で進められた。Giga Processor とはこのコアの元となった POWER4 の開発名である。アップルは PowerMac G5 に採用し、このプロセッサは5年にも亘る共同開発の成果であり、将来複数世代にわたって採用することになると述べていたが、このプロセッサのマッキントッシュでの利用は3年間と短命に終わった。IBM が CPU の高速化に失敗した為、アップルは G5 のリリース後1年で3GHzのプロセッサを生産するという約束を撤回しなければならなかった。IBMは、ポータブルコンピュータに合うように、プロセッサの消費電力を十分に落とすことができなかった。アップルはこのプロセッサの派生品を3つ採用したに過ぎない。 PowerPC は伝統的にビッグエンディアンとリトルエンディアンを切り替えることができるバイエンディアンとして設計されているが、PowerPC 970 はビッグエンディアンのみをサポートするように設計が変更された。このため、 PowerPC のリトルエンディアンモードを使用していたマイクロソフトの Virtual PC は設計を変更しなければならず、発売が遅れることとなった。 IBMのブレードサーバ用モジュールであるJS20/JS21といくつかのローエンドワークステーション、System p サーバは PowerPC 970 を利用している。このプロセッサはマーキュリー社の Momentum XSA-200 のようなハイエンド組み込みシステムでもまたいくつか使われた。PowerPC 970 はしばしばマイクロソフトの Xbox 360 に採用されているIBMの Xenon のコア、もしくはCell の Power Processing Element(PPE)と同じであると誤解されることがある。しかし、両者のマイクロアーキテクチャはPowerPC 970とは完全に異なり、単にVMX命令に対応した64ビットPowerPCであるという仕様が共通しているにすぎない。.

新しい!!: レジスタ・リネーミングとPowerPC 970 · 続きを見る »

R10000

NEC VR10000 R10000 は、MIPS IV命令セットアーキテクチャ (ISA) を実装したRISCマイクロプロセッサで、当時シリコングラフィックス (SGI) の子会社となっていたミップス・テクノロジーズ (MTI) が開発した。開発コード名は "T5"。チーフデザイナーは Chris Rowen と Kenneth C. Yeager。R10000のマイクロアーキテクチャは ANDES(Architecture with Non-sequential Dynamic Execution Scheduling、非逐次的動的実行スケジューリング・アーキテクチャ)と名付けられている。ハイエンドではR8000、それ以外ではR4400の後継として、それらに取って代わった。MTIはファブレス企業であり、実際の製造は日本電気 (NEC) と東芝が行った。R4000/R4400以上に設備投資がかかるため、それまでMIPSアーキテクチャのマイクロプロセッサを手がけていたIDTなどの半導体企業はR10000を製造しなかった。.

新しい!!: レジスタ・リネーミングとR10000 · 続きを見る »

R4000

R4000は、MIPS III命令セットアーキテクチャ (ISA) を実装したマイクロプロセッサで、ミップス社が設計した。1991年10月1日に正式発表された"MIPS To Show Off Three R4000 RISC Chips This Week".

新しい!!: レジスタ・リネーミングとR4000 · 続きを見る »

Reservation Station

Reservation Station とは、CPUのマイクロアーキテクチャにおいてレジスタ・リネーミングを可能にするための機能で、動的な命令スケジューリングを行うTomasuloのアルゴリズムで使用される。 Reservation station を設けると、演算器によって計算されたデータがレジスタに格納された後再度ロードされるのを待つことなく、計算された直後にデータを取り出し再利用することを可能になる。これによって、複数の命令が同じレジスタに書き込む必要がある場合にも、論理的に最後の命令のみの書き込みを行い他の命令は先に進むことができる。 Tomasuloのアルゴリズムでは、各機能ユニット(加算器、乗算器など)に、それぞれ専用の Reservation Station を持たせる。機能ユニットの出力は Common Data Bus に接続され、Reservation Station が処理対象のデータを利用できるかどうか監視する。命令は Reservation Station に対して順次発行され、Reservation Station は命令そのものとその処理対象をバッファする。処理の対象データがまだ利用できない場合には、Reservation Station は Common Data Bus を監視し、対象が利用できるようになると、実行が可能な状態にする。 Reservation station は、実行を開始する前に処理対象のデータが利用できるかどうか(RAW ハザードが発生していないか)実行ユニットが空いているかどうか(構造的ハザードが発生していないか)を確認する。準備ができると命令は実行され、結果は命令を実行した機能ユニットを元に識別される。機能ユニットから返される全ての結果を Reservation Station が保持する全てのアドレスと比較するフルアソシアティブな構造であるため、比較器の演算コストが非常に高くなるという問題がある。 Category:CPU.

新しい!!: レジスタ・リネーミングとReservation Station · 続きを見る »

Scoreboarding

Scoreboarding とは、CDC 6600で用いられた、命令の衝突がなくハードウェアが利用できる状態のときにアウト・オブ・オーダー実行を行うためにパイプラインを中央管制的にスケジュールするための方法である。Scoreboarding では、すべての命令のデータ依存性が記録され、各命令は過去に発行したまだ完了していない命令との衝突がないとスコアボードが判断した場合のみ解放される。ある命令の実行が安全ではないと判断され、実行を停止した場合には、その命令が発行されたときに存在していたすべての依存関係が解決するまでスコアボードが実行のフローを監視しつづける。.

新しい!!: レジスタ・リネーミングとScoreboarding · 続きを見る »

Streaming SIMD Extensions

トリーミングSIMD拡張命令 (Streaming SIMD Extensions, SSE) は、インテルが開発したCPUのSIMD拡張命令セット、およびその拡張版の総称である。.

新しい!!: レジスタ・リネーミングとStreaming SIMD Extensions · 続きを見る »

Tomasuloのアルゴリズム

Tomasulo のアルゴリズムとは、1967 年にIBMのRobert Tomasuloによって考案されたコンピュータハードウェアのためのアルゴリズムで、連続した複数の命令が互いの依存関係が解けるまで実行できないような状況で、順序を入れ替えることにより実行できるようにする (アウト・オブ・オーダー実行)ためのものである。このアルゴリズムは、IBM System/360 Model 91 の浮動小数点演算ユニットで最初に実装された。 このアルゴリズムは レジスタ・リネーミングを用いるという点で、CDC 6600のScoreboardingとは異なる。Scoreboardingは、書き込み後の書き込み (WAW) と 読み込み後の書き込み (WAR) によるハザードを、命令の実行を一時停止させることで解決するが、レジスタリネーミングでは命令を連続して発行し続けることが可能である。また、Tomasuloのアルゴリズムは計算結果を必要とするすべての Reservation Station に対してブロードキャストを行うcommon data bus (CDB) と呼ばれる仕組みを用いる。これによって、Scoreboardingを用いた場合には停止してしまうような命令列が、より多く並列実行可能になる。 Robert Tomasuloは、1997年このアルゴリズムによりエッカート・モークリー賞を受賞した。.

新しい!!: レジスタ・リネーミングとTomasuloのアルゴリズム · 続きを見る »

WAW

WAW, WaW.

新しい!!: レジスタ・リネーミングとWAW · 続きを見る »

XOR交換アルゴリズム

XOR交換(エックスオアこうかん、XOR swap)は、コンピュータ・プログラミングのアルゴリズムの一種であり、排他的論理和(XOR)を使用して一時変数を使わずに同じデータ型のふたつの変数の(異なる)値を交換する操作である。 このアルゴリズムはXORの対称差という性質を利用したものである。すなわち、任意のA, Bについて、(A XOR B) XOR B.

新しい!!: レジスタ・リネーミングとXOR交換アルゴリズム · 続きを見る »

ここにリダイレクトされます:

ハザード (コンピュータ)レジスタリネーミング

出ていきます入ってきます
ヘイ!私たちは今、Facebook上です! »