JP2011018120A - 情報処理装置及びベクトル型情報処理装置 - Google Patents
情報処理装置及びベクトル型情報処理装置 Download PDFInfo
- Publication number
- JP2011018120A JP2011018120A JP2009160931A JP2009160931A JP2011018120A JP 2011018120 A JP2011018120 A JP 2011018120A JP 2009160931 A JP2009160931 A JP 2009160931A JP 2009160931 A JP2009160931 A JP 2009160931A JP 2011018120 A JP2011018120 A JP 2011018120A
- Authority
- JP
- Japan
- Prior art keywords
- register
- logical
- physical
- registers
- renaming
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 90
- 230000004044 response Effects 0.000 claims description 5
- 230000007423 decrease Effects 0.000 abstract description 2
- 238000000034 method Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 11
- 238000005457 optimization Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000003247 decreasing effect Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3838—Dependency mechanisms, e.g. register scoreboarding
- G06F9/384—Register renaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】レジスタ・リネーミング機構を実装すると共に、図1(a)に示すレジスタの使用状況の下で、ユーザ(プログラマ等)は、命令セットに導入した専用命令(論理レジスタに割り当てが可能な未使用の仮想レジスタの数を増加または減少させる命令)を発行し、実行させる。これにより、未使用の仮想レジスタの数を図1(b)、図1(c)に示すように変更できるので、ソフトウェアによって、それ自身のプログラム特性に最適化したレジスタの利用を図ることが可能となる。また、レジスタ上のデータをメモリへ退避するようなメモリアクセスの発生や、レジスタの解放待ち時間の発生が抑制されるので、処理性能を向上させることができるようになる。
【選択図】図1
Description
但し、以下の説明においても、レジスタをカテゴライズする符号は前述のとおりとし、即ち、アーキテクチャとしてソフトウェアに公開されているレジスタをSVR(Software Visible Register) とし、そのうちソフトウェアが現在使用可能なレジスタをSUR(Software Usable Register)とする。また、ハードウェア上に実装されたレジスタをHR(Hardware Register) とし、そのうちSURの物理的な格納先となるレジスタをSR(Software Register) 、レジスタ・リネーミングに用いられるレジスタをRR(Renaming Register) とする。
例えば、RR数を増やすことで、レジスタの解放待ち時間を少なくし、処理性能を向上させることができる。また、SURの数も、ソフトウェアが任意のタイミングで変更することができるので、プログラム全体の特性や、プログラム内の局所的な特性に適合させてSR及びRRの比率を細かく決定する最適化が実施できることになり、高い実行性能を期待することができるようになる。
同図に示すように、ハードウェア上に実装されたレジスタは、ソフトウェアが使用するレジスタSRと、ハードウェアがレジスタ・リネーミングとして使用するレジスタRRとに分類される。図1(a)では、ハードウェア上に実装されている20個のHRのうち、16個がSRとしてソフトウェアで使用されており、ソフトウェアが使用していない残りの4個のレジスタがRRとして使用されることを示している。
本発明の課題は、SURの数を変更できるようにすることであったが、以下、これについて説明する。
以下では、SSVRをSVRの集合とし、SSURをSURの集合とする。また、SSVRを構成する元である各SURは、ハードウェア上に実装された全レジスタの集合HRを構成する元Rに対し、全単射の写像f(後述するように、具体的には対応テーブル)によって対応付けられるものとする。
この関係は、下記の(1)式〜(5)式で表現することができる。
SSVR={SVR|ハードウェアがソフトウェアに見せるレジスタの集合の元} …………………………………………(1)
HHR={R|ハードウェアが実装しているレジスタの集合の元} ……………………………………………………………(2)
SSUR=SSVR ………………(3)
HHR=HSR+HRR …………(4)
f:SSUR→HSR …………(5)
ここで、SSVR及びHHRはハードウェア構成から一意的に決まる不変な集合であるものとする。
そこで、本発明では上記の各集合を示す関係式を下記の(6)〜(8)式のように書き換えることで、HSRやHRRの元の数の変更を可能にする
SSUR⊆SSVR ………………(6)
HHR=HSR+HRR …………(7)
f:SSUR→HSR ……………(8)
同図に示す情報処理装置は、リネーム前命令バッファ1と、リネーミング処理部2と、発行待ち命令バッファ3と、命令発行部4と、リネーミング・テーブル制御部5と、を備えて構成されている。
リネーミング処理部2は、命令解析&リクエスト生成部21と、レジスタ番号リネーム部22と、投機レベル管理部23と、を備える。
リネーミング・テーブル制御部5は、使用中物理レジスタ管理部51と、リネーミング・テーブル52と、を備える。
リネーム前命令バッファ1は、CPUの主制御部(図示は省略)がフェッチした命令を蓄える。
リネーミング処理部2は、リネーム前命令バッファ1に蓄えられた命令に対し、レジスタのリネーミングを実施する。
発行待ち命令バッファ3は、リネーミング処理部2によってレジスタ・リネーミングされた命令を蓄える。
命令発行部4は、発行待ち命令バッファ3に蓄えられた命令を発行する。
リネーミング・テーブル制御部5は、リネーミング・テーブル52を制御する。
以下、リネーミング・テーブル52の機能について、さらに説明する。
リネーミング・テーブル52は、集合SSURの集合HSRへの写像fの役割を担う対応テーブルを有する構成要素である。つまり、リネーミング・テーブル52は、SURとSRとの対応付けを行い、またSURのレジスタ番号から、対応付けられたSRのレジスタ番号を求める機能を有する。
以下の説明において、例えば、符号P(×××)と示した箇所は、情報×××または信号×××を示すものとする。
以下、本発明の実施形態に係る情報処理装置の動作を説明する。
まず、図4を参照し、基本的な動作であるレジスタ・リネーミングの動作について説明する。
リネーム前命令バッファ1に蓄えられた命令は、P1(リネーム前命令)に含められてリネーミング処理部2の命令解析&リクエスト生成部21へ送出される。
命令解析&リクエスト生成部21は、上記の命令から、P11(物理レジスタ新規確保リクエスト)を、リネーミング・テーブル制御部5の使用中物理レジスタ管理部51に送出する。ここで、P11(物理レジスタ新規確保リクエスト)は、抽出したライト先の論理レジスタの番号(書き込みアクセスする論理レジスタの番号)を含む情報である。
発行待ち命令バッファ3に蓄えられた命令は、命令発行部4より、P9(発行命令)として、Out-of-Orderで発行されて行く。
本発明は、前述のとおり、レジスタ・リネーミング機構を実装するプロセッサにおいて、上記SUR及びRRの数を、実行処理するソフトウェア(プログラム)によってフレシキブルに変更できるようにしたことを特徴としている。
本発明ではSUR及びRRの数を変更するために、命令セットに新設の専用命令を含めており、この専用命令を発行することにより、上記のSUR及びRRの数を変更できるようにしている。
a.専用命令−1
この専用命令は、命令のオペランドにおいて、SUR上の任意のレジスタ番号を指定する。指定されたレジスタ番号以降のレジスタは全て解放され、どのSRとも関連付けられない未使用の状態にする。なお、未使用の状態のレジスタに対するリードは許されない。本専用命令は、SURの数を減らさせるだけの機能を有する。
この専用命令は、専用命令−1と同様、SUR上の任意のレジスタ番号をオペランドにて指定する。本専用命令では、指定されたSURレジスタのみを解放し、これを未使用な状態にするものとする。専用命令−1と同様、未使用の状態のレジスタに対するリードは許されず、本命令もまた、SURを減らすのみである。
この専用命令も、オペランドにて任意のレジスタ番号をオペランドにて指定する。さらに、オペランドには「解放」動作または「確保」動作のいずれか1つを指示するためのビット情報も指定する。
「解放」動作が指示された場合には、専用命令−1と同様に、オペランドにて指定されたレジスタ以降のレジスタを解放する。但し、解放された未使用の状態のレジスタに対するリードは許されない。
他方、「確保」動作が指示された場合には、指定されたSURレジスタ番号までに存在する未使用なSURレジスタに対し、SR上のレジスタへの関連付けを行わさせる。なお、関連付けられはしたが、未だデータを書き込んでいない状態でレジスタをリードした場合には、その値は不定とする。
本専用命令も、オペランドにて任意のレジスタ番号を指定する。さらに、オペランドには「解放」及び「確保」を識別するビットを有する。「解放」動作においては、専用命令−2と同様に、オペランドにて指定されたレジスタに対してのみレジスタの解放動作を実施する。また、「確保」動作においても同様に、指定されたSUR上のレジスタに対してのみSRとの関連付けを実施する。なお、既に解放されているSURレジスタへの解放指示、及び、既に確保されているレジスタへの確保指示に対しては、ノーオペレーションとなり、何も動作しないものとする。
SUR数を減らすには、例えば、前述のレジスタ開放の専用命令−1を発行する。リネーム前命令バッファ1を介して、このレジスタ解放の専用命令を受けた命令解析&リクエスト生成部21は、リネーミング・テーブル52に対し、P5(論理レジスタ解放指示)を送出する。
このP5(論理レジスタ解放指示)を受けたリネーミング・テーブル52は、図6に示すように、それ以降のレジスタを解放し、さらに使用中物理レジスタ管理部51へと、P13(物理レジスタ解放指示)を送出し、解放された論理レジスタに関連付けられていた仮想レジスタSRを未使用な状態へと変更させる。以上の動作によって、SURが減り、その結果、SRが減り、RRを増やすことができる。他の専用命令(専用命令−2〜専用命令−4)を発行する場合においても、1つの専用命令で解放するレジスタの数が1つか、それとも複数かの違いが有る以外は、上記と同様の動作となる。
この場合、例えば、前述のレジスタ開放の専用命令−3を発行する。
リネーム前命令バッファ1を介して、このレジスタ解放の専用命令を受けた命令解析&リクエスト生成部21は、前述のリネーミングの動作を利用する。即ち、前述のリネーミングの動作では、SURとSRとの関連付けは書き込み先レジスタとしてSUR が指定される度に行われる。このことを利用し、未使用なSURレジスタを選んで、書き込みを行う命令の書き込み先レジスタとして指定されたSURを、該未使用のSURレジスタにリネームする。
同図に示すように、SURレジスタとSRとの関連付けが行われることでSURが増え、結果としてSRを増やし、RRを減らすことができるようになる。
なお、上記の説明では、分岐命令が無いケースで説明したが、本実施形態に係る情報処理装置は、分岐命令が有る場合の最適化機能(即ち、投機実行を制御する機能)も備えている。
投機とは、分岐の際に分岐先を予測し、分岐先が決定する前に予測した先の分岐先の命令を実行するものである。周知の技術として、一般的に実施されている技術であるため、ここでは投機に関する詳細な説明は省くが、本実施形態では、この投機実行に備えて、投機レベルを設けて制御している。
本実施形態に係る情報処理装置によれば、メモリアクセス命令を削減することで、処理性能の向上が図れる効果が得られる。以下、この効果について、更に詳細に説明する。
図8(a)の右端に示す命令列(左側のタイムチャートに対応)では、SUR数(=SR数)が不足のため、命令列上でレジスタ上のデータ退避のためのLoad/Store命令が発生している。
そこで、本実施形態に係る情報処理装置では、図8(b)に示すように、SUR数(=SR数)を増やすことができる。
また、本実施形態に係る情報処理装置によれば、レジスタ解放待ち時間が無くなることで、性能向上が図れる効果が有る。
図9(a)の右端に示す命令列(左側のタイムチャートに対応)は、小さな命令列のループとなっており、RRを利用した投機実行が行われている。しかし、RRが不足しているために、レジスタの解放待ち時間が発生している。
そこで、本実施形態に係る情報処理装置では、図9(b)に示すように、SUR数(=SR数)を増やすことができる。
また、本実施形態に係る情報処理装置によれば、SURの数をソフトウェアによって任意のタイミングで変更可能であるため、プログラム全体の特性や、プログラム内の局所的な特性に合わせてSR及びRRの比率を細かく最適化できることになり、高い実行性能が得られる効果がある。
さらに、本実施形態に係る情報処理装置によれば、上記の効果に関連し、ハードウェアリソースが削減されるため、消費電力を減らすことができる効果も生じる。
本発明に係る情報処理装置は、ベクトル計算機としても実現することができる。
図10は、本発明の他の実施形態に係る情報処理装置(ベクトル計算機)の全体構成を示す構成図である。
同図に示す情報処理装置(ベクトル計算機)は、前述の実施形態に係る情報処理装置(図4)に、ポインタ・リスト制御部25が追加された構成を備える。
ポインタ・リスト制御部25は、使用中物理レジスタ管理部251と、ポインタ・リスト252と、を備える。
また、便宜的にリネーミング・テーブル制御部の管理するレジスタを仮想ベクトルレジスタとし、51を使用中仮想レジスタ管理部とする。
使用中物理レジスタ管理部251の機能及び動作は、前述の使用中仮想レジスタ管理部51の機能及び動作に準ずるものである。
また、使用中ポインタ・リスト252には、仮想ベクトルレジスタと物理レジスタとの対応関係(仮想ベクトルレジスタ中の各要素の物理レジスタへの割り付け状況)を示すテーブル(図示は省略)が備えられている。
前述の各実施形態では、最も標準的なレジスタ・リネーミング機構の構成を示したが、レジスタ・リネーミング機構を実現する構成は、これまでに様々な手法が考えられており、また、その構成自体は本発明の本質とは直接関係しないので、前述の集合論の符号による関係式で説明できる構成でありさえすればよく、その実現方法は特に限定されない。
また、本発明は、オブジェクトがパイプライン処理されることを前提とするコンパイラ等が実行する最適化方法としても好適である。
2 リネーミング処理部
3 発行待ち命令バッファ
4 命令発行部
5 リネーミング・テーブル制御部
21 命令解析&リクエスト生成部
22 レジスタ番号リネーム部
23 投機レベル管理部
25 ポインタ・リスト制御部
51 使用中物理レジスタ管理部
52 リネーミング・テーブル
Claims (8)
- 物理レジスタへの論理レジスタの割り付けを実行することで管理し、未使用の論理レジスタが所定の命令セットに属する命令で指定された際に、未使用の物理レジスタに対し関連付けを実施することの出来るレジスタ・リネーミング手段を備えた情報処理装置であって、
所定の命令セットに属する専用命令として、前記論理レジスタの物理レジスタへの割り付けに対し、指定される論理レジスタの物理レジスタへの割り付けを全て解除させ、未使用の論理レジスタ及び物理レジスタとするものを備え、
論理レジスタのうちソフトウェアで使用するレジスタの量及び、リネーミング時に論理レジスタのリネーム先として使用できる物理レジスタ量を変更、最適化することが出来ることを特徴とする情報処理装置。 - 物理レジスタへの論理レジスタの割り付けを実行することで管理し、未使用の論理レジスタが所定の命令セットに属する命令で指定された際に、未使用の物理レジスタに対し関連付けを実施することの出来るレジスタ・リネーミング手段を備えた情報処理装置であって、
所定の命令セットに属する専用命令として、前記論理レジスタの物理レジスタへの割り付けに対し、指定される未使用の論理レジスタを未使用の物理レジスタに対し全て割り付けを実施させるものと、
所定の命令セットに属する専用命令として、前記論理レジスタの物理レジスタへの割り付けに対し、指定される論理レジスタの物理レジスタへの割り付けを全て解除させ、未使用の論理レジスタ及び物理レジスタとするものを備え、
論理レジスタのうちソフトウェアで使用するレジスタの量及び、リネーミング時に論理レジスタのリネーム先として使用できる物理レジスタ量を変更、最適化することが出来ることを特徴とする情報処理装置。 - 物理レジスタへの論理レジスタの割り付けを実行し、管理するリネーミング手段を備えた情報処理装置であって、
所定の命令セットに属する専用命令として、前記論理レジスタの物理レジスタへの割り付けに対し、指定される未使用の論理レジスタを未使用の物理レジスタに対し全て割り付けを実施させるものと、
所定の命令セットに属する専用命令として、前記論理レジスタの物理レジスタへの割り付けに対し、指定される論理レジスタの物理レジスタへの割り付けを全て解除させ、未使用の論理レジスタ及び物理レジスタとするものを備え、
論理レジスタのうちソフトウェアで使用するレジスタの量及び、リネーミング時に論理レジスタのリネーム先として使用できる物理レジスタ量を変更、最適化することが出来ることを特徴とする情報処理装置。 - 物理レジスタへの論理レジスタの割り付けを実行し、管理するリネーミング手段を備えた情報処理装置であって、
命令セットアーキテクチャとしてソフトウェアに対し公開される論理レジスタ数が、実装されている物理レジスタ数と等しいことを特徴とする、請求項1乃至請求項3記載の情報処理装置。 - 物理レジスタへの論理レジスタの要素毎の割り付けを実行することで管理し、未使用の論理レジスタが所定の命令セットに属する命令で指定された際に、該論理レジスタの各要素を未使用の物理レジスタに対し関連付けを実施することの出来るレジスタ・リネーミング手段を備えたベクトル型の情報処理装置であって、
所定の命令セットに属する専用命令として、前記論理レジスタの各要素と物理レジスタの割り付けに対し、指定される使用中論理レジスタの各要素の物理レジスタへの割り付けを全て解除させ、未使用の論理レジスタ及び物理レジスタとするものを備え、
論理レジスタのうちソフトウェアで使用するレジスタの量及び、リネーミング時に論理レジスタの要素毎のリネーム先として使用できる物理レジスタ量を変更、最適化することができることを特徴とするベクトル型情報処理装置。 - 物理レジスタへの論理レジスタの要素毎の割り付けを実行することで管理し、未使用の論理レジスタが所定の命令セットに属する命令で指定された際に、該論理レジスタの各要素を未使用の物理レジスタに対し関連付けを実施することの出来るレジスタ・リネーミング手段を備えたベクトル型の情報処理装置であって、
所定の命令セットに属する専用命令として、前記論理レジスタの各要素の物理レジスタへの割り付けに対し、指定される未使用論理レジスタの各要素を未使用の物理レジスタに対して全て割り付けを実施させるものと、
所定の命令セットに属する専用命令として、前記論理レジスタの各要素と物理レジスタの割り付けに対し、指定される使用中論理レジスタの各要素の物理レジスタへの割り付けを全て解除させ、未使用の論理レジスタ及び物理レジスタとするものを備え、
論理レジスタのうちソフトウェアで使用するレジスタの量及び、リネーミング時に論理レジスタの要素毎のリネーム先として使用できる物理レジスタ量を変更、最適化することができることを特徴とするベクトル型情報処理装置。 - 物理レジスタへの論理レジスタの要素毎の割り付けを実行し、管理するリネーミング手段を備えたベクトル型の情報処理装置であって、
所定の命令セットに属する専用命令として、前記論理レジスタの各要素の物理レジスタへの割り付けに対し、指定される未使用論理レジスタの各要素を未使用の物理レジスタに対して全て割り付けを実施させるものと、
所定の命令セットに属する専用命令として、前記論理レジスタの各要素の物理レジスタへの割り付けに対し、指定される使用中論理レジスタ内の各要素の物理レジスタへの割り付けを全て解除させ、未使用の論理レジスタ及び物理レジスタとするものを備え、
論理レジスタのうちソフトウェアで使用するレジスタの量及び、リネーミング時に論理レジスタ内の各要素のリネーム先として使用できる物理レジスタ量を変更、最適化することができることを特徴とするベクトル型情報処理装置。 - 物理レジスタへの論理レジスタの要素毎の割り付けを実行し、管理するリネーミング手段を備えたベクトル型の情報処理装置であって、
命令セットアーキテクチャとしてソフトウェアに対し公開される論理レジスタ内の各要素の総数が、実装されている物理レジスタ数と等しいことを特徴とする、請求項5乃至請求項7記載のベクトル型情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009160931A JP4830164B2 (ja) | 2009-07-07 | 2009-07-07 | 情報処理装置及びベクトル型情報処理装置 |
US12/829,146 US20110010528A1 (en) | 2009-07-07 | 2010-07-01 | Information processing device and vector information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009160931A JP4830164B2 (ja) | 2009-07-07 | 2009-07-07 | 情報処理装置及びベクトル型情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011018120A true JP2011018120A (ja) | 2011-01-27 |
JP4830164B2 JP4830164B2 (ja) | 2011-12-07 |
Family
ID=43428351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009160931A Expired - Fee Related JP4830164B2 (ja) | 2009-07-07 | 2009-07-07 | 情報処理装置及びベクトル型情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110010528A1 (ja) |
JP (1) | JP4830164B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140113307A (ko) * | 2013-03-15 | 2014-09-24 | 삼성전자주식회사 | 벡터 레지스터 파일의 동적 재명명 기반의 레지스터 재구성 |
US9542185B2 (en) | 2013-07-19 | 2017-01-10 | International Business Machines Corporation | Allocation method, apparatus, and program for managing architectural registers and physical registers using mapping tables |
JP2019169082A (ja) * | 2018-03-26 | 2019-10-03 | 日本電気株式会社 | プロセッサコア、命令制御方法、プログラム |
JP2022542630A (ja) * | 2019-08-05 | 2022-10-06 | アーム・リミテッド | データ構造放棄 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09179737A (ja) * | 1995-12-14 | 1997-07-11 | Internatl Business Mach Corp <Ibm> | スーパスカラ・プロセッサのリネーム・バッファを効率よく使用する方法及び装置 |
JP2002175181A (ja) * | 2000-09-28 | 2002-06-21 | Toshiba Corp | プロセッサおよびリネーミング装置 |
JP2008539472A (ja) * | 2005-02-25 | 2008-11-13 | クゥアルコム・インコーポレイテッド | スタック型レジスタファイルの一部分をシャットダウンすることによる電力低減 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6314511B2 (en) * | 1997-04-03 | 2001-11-06 | University Of Washington | Mechanism for freeing registers on processors that perform dynamic out-of-order execution of instructions using renaming registers |
US6003126A (en) * | 1997-07-01 | 1999-12-14 | International Business Machines | Special instruction register including allocation field utilized for temporary designation of physical registers as general registers |
US6393552B1 (en) * | 1998-06-19 | 2002-05-21 | International Business Machines Corporation | Method and system for dividing a computer processor register into sectors |
US7206923B2 (en) * | 2003-12-12 | 2007-04-17 | International Business Machines Corporation | Method and apparatus for eliminating the need for register assignment, allocation, spilling and re-filling |
US7360063B2 (en) * | 2006-03-02 | 2008-04-15 | International Business Machines Corporation | Method for SIMD-oriented management of register maps for map-based indirect register-file access |
US7363469B2 (en) * | 2006-03-28 | 2008-04-22 | International Business Machines Corporation | Method and system for on-demand scratch register renaming |
US20080148022A1 (en) * | 2006-12-13 | 2008-06-19 | Arm Limited | Marking registers as available for register renaming |
JP5130757B2 (ja) * | 2007-03-16 | 2013-01-30 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
US8578136B2 (en) * | 2010-06-15 | 2013-11-05 | Arm Limited | Apparatus and method for mapping architectural registers to physical registers |
-
2009
- 2009-07-07 JP JP2009160931A patent/JP4830164B2/ja not_active Expired - Fee Related
-
2010
- 2010-07-01 US US12/829,146 patent/US20110010528A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09179737A (ja) * | 1995-12-14 | 1997-07-11 | Internatl Business Mach Corp <Ibm> | スーパスカラ・プロセッサのリネーム・バッファを効率よく使用する方法及び装置 |
JP2002175181A (ja) * | 2000-09-28 | 2002-06-21 | Toshiba Corp | プロセッサおよびリネーミング装置 |
JP2008539472A (ja) * | 2005-02-25 | 2008-11-13 | クゥアルコム・インコーポレイテッド | スタック型レジスタファイルの一部分をシャットダウンすることによる電力低減 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140113307A (ko) * | 2013-03-15 | 2014-09-24 | 삼성전자주식회사 | 벡터 레지스터 파일의 동적 재명명 기반의 레지스터 재구성 |
JP2014182830A (ja) * | 2013-03-15 | 2014-09-29 | Samsung Electronics Co Ltd | ベクトルレジスターファイルの動的再命名基盤のレジスター再構成 |
KR101952209B1 (ko) | 2013-03-15 | 2019-04-22 | 삼성전자주식회사 | 벡터 레지스터 파일의 동적 재명명 기반의 레지스터 재구성 |
US9542185B2 (en) | 2013-07-19 | 2017-01-10 | International Business Machines Corporation | Allocation method, apparatus, and program for managing architectural registers and physical registers using mapping tables |
US9891925B2 (en) | 2013-07-19 | 2018-02-13 | International Business Machines Corporation | Allocation method, apparatus, and program for managing architectural registers and physical registers using mapping tables |
JP2019169082A (ja) * | 2018-03-26 | 2019-10-03 | 日本電気株式会社 | プロセッサコア、命令制御方法、プログラム |
JP2022542630A (ja) * | 2019-08-05 | 2022-10-06 | アーム・リミテッド | データ構造放棄 |
Also Published As
Publication number | Publication date |
---|---|
US20110010528A1 (en) | 2011-01-13 |
JP4830164B2 (ja) | 2011-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10061588B2 (en) | Tracking operand liveness information in a computer system and performing function based on the liveness information | |
US8418180B2 (en) | Thread priority method for ensuring processing fairness in simultaneous multi-threading microprocessors | |
JP4712877B2 (ja) | 並列プロセッサのためのタスクマネージャ | |
US8316190B2 (en) | Computer architecture and method of operation for multi-computer distributed processing having redundant array of independent systems with replicated memory and code striping | |
KR101025354B1 (ko) | 가상 트랜잭션 메모리를 위한 글로벌 오버플로우 방법 | |
US6330661B1 (en) | Reducing inherited logical to physical register mapping information between tasks in multithread system using register group identifier | |
US10620988B2 (en) | Distributed computing architecture | |
US20090100249A1 (en) | Method and apparatus for allocating architectural register resources among threads in a multi-threaded microprocessor core | |
US11275614B2 (en) | Dynamic update of the number of architected registers assigned to software threads using spill counts | |
US9378069B2 (en) | Lock spin wait operation for multi-threaded applications in a multi-core computing environment | |
WO2011148553A1 (ja) | 情報処理装置および情報処理方法 | |
US11620215B2 (en) | Multi-threaded pause-less replicating garbage collection | |
JP2005018760A (ja) | アプリケーションのプロファイリングを容易にするシステムおよび方法 | |
US9405596B2 (en) | Code versioning for enabling transactional memory promotion | |
JP4830164B2 (ja) | 情報処理装置及びベクトル型情報処理装置 | |
KR20060120312A (ko) | 자바 가상 머신에서 바이트 코드의 수행 시간을 줄이는시스템 및 방법 | |
CN110515659B (zh) | 一种原子指令的执行方法和装置 | |
JP5818824B2 (ja) | デュアル・モード・リーダ・ライタ・ロック | |
US20150089149A1 (en) | Arithmetic processing device and control method for arithmetic processing device | |
CN108027736B (zh) | 使用通过对物理寄存器预分配的乱序重命名的运行时代码并行化 | |
CN116414458A (zh) | 指令处理方法以及处理器 | |
US20030014558A1 (en) | Batch interrupts handling device, virtual shared memory and multiple concurrent processing device | |
JP5553685B2 (ja) | 情報処理装置および情報処理方法 | |
JP2010244332A (ja) | マルチコアシステムのためのタスク割り当て手段、その方法及びそのプログラム | |
JP4846226B2 (ja) | 情報処理装置、情報処理方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110405 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110419 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110614 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110728 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110823 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110901 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4830164 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140930 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |