JPH0991151A - コンパイル装置及びプロセッサ装置 - Google Patents

コンパイル装置及びプロセッサ装置

Info

Publication number
JPH0991151A
JPH0991151A JP7247097A JP24709795A JPH0991151A JP H0991151 A JPH0991151 A JP H0991151A JP 7247097 A JP7247097 A JP 7247097A JP 24709795 A JP24709795 A JP 24709795A JP H0991151 A JPH0991151 A JP H0991151A
Authority
JP
Japan
Prior art keywords
register
instruction
hardware
set architecture
invisible
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.)
Withdrawn
Application number
JP7247097A
Other languages
English (en)
Inventor
Masaki Arai
正樹 新井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP7247097A priority Critical patent/JPH0991151A/ja
Publication of JPH0991151A publication Critical patent/JPH0991151A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138Extension of register space, e.g. register cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【課題】命令セットアーキテクチャから見えないハード
ウェアレジスタを利用することで、アプリケーションプ
ログラムの中のレジスタの不足によるメモリアクセスを
低減して処理性能を向上する。 【解決手段】レジスタ割り当て時にレジスタファイル1
4に空きレジスタが存在しなかった場合、レジスタ生成
命令実行手段1がレジスタ生成命令(new RADDR) を実
行することにより、命令セットアーキテクチャから見え
ないハードウェアレジスタ18を割り当てて命令を実行
する。命令アーキテクチャから見えないハードウェアレ
ジスタ18の使用が済んだ際に、レジスタ削除実行手段
2は、レジスタ削除命令( delete R ADDR)の実行により
ハードウェアレジスタ18の割当てを解除する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、命令セットアーキ
テクチャから見えないハードウェアレジスタを利用して
命令を実行する命令コードをもつオブジェクトプログラ
ムを作成するコンパイラ装置及びそのオブジェクトプロ
グラムを実行するプロセッサ装置に関する。
【0002】
【従来の技術】従来、プロセッサによる命令の実行でメ
モリのアクセスにかかる時間は、レジスタのアクセスに
かかる時間よりも大きいので、可能な限りメモリアクセ
スを少なくしたほうがプログラムを早く実行できる。そ
こで、コンパイラでオブジェクトプログラムを作成する
際には、メモリアクセスを少なくするため、オブジェク
トプログラムを実行するプロセッサが持つレジスタを可
能な限り有効に使用するコードを出力する。
【0003】
【発明が解決しようとする課題】しかしながら、ある命
令セットアーキテクチャで定義して使用可能なレジスタ
ファイルには限りがあり、レジスタが足りない場合に
は、使用中のレジスタの内容をメモリに退避して空きレ
ジスタを確保しなければならない。このレジスタの内容
をメモリに退避するための命令をスピルコードとよぶ。
【0004】ところで、レジスタリネーミング機能など
を持つプロセッサは、命令セットアーキテクチャから指
定できるレジスタよりも多くのハードウェアレジスタを
持っており、必ずしも全てが使用されている訳ではな
い。このため命令セットアーキテクチャで定義されてい
ないレジスタに対しても使用可能な拡張機能が実現でき
れば、スピルコードによるメモリアクセスを更に低減し
てプロセッサの性能を向上させることができる。
【0005】本発明は、この点に鑑みてなされたもの
で、命令セットアーキテクチャから見えないハードウェ
アレジスタを利用することで、アプリケーションプログ
ラムの中のレジスタの不足によるメモリアクセスを低減
して処理性能を向上するようにしたコンパイラ装置及び
プロセッサ装置を提供することを目的とする。
【0006】
【課題を解決するための手段】図1は本発明の原理説明
図である。まず本発明は、プロセッサ装置でレジスタ使
用命令を実行した際に、命令セットアーキテクチャで定
義されたレジスタファイル14の中のレジスタを割り当
てて処理を実行し、レジスタファイル14に空きがなか
った場合は、使用中のレジスタの内容をメモリ16に退
避して空き状態とした後に、レジスタを割り当てて処理
を実行する命令コードをもつオブジェクトプログラムを
生成するコンパイル装置を対象とする。
【0007】このようなコンパイル装置につき本発明に
あっては、レジスタ割り当て時に空きレジスタが存在し
なかった場合、命令セットアーキテクチャから見えない
ハードウェアレジスタ18を割り当てるレジスタ生成命
令の命令コードを生成するレジスタ生成命令変換手段を
設けたことを特徴とする。このレジスタ生成命令コード
は、更に、命令セットアーキテクチャから見えないハー
ドウェアレジスタ18に空きレジスタが存在しなかった
場合、レジスタファイル14のいずれかのレジスタの内
容をメモリ16に退避して空き状態とした後にレジスタ
割当てを行う命令機能を含む。
【0008】更に、命令アーキテクチャから見えないハ
ードウェアレジスタ18の使用が済んだ際に、命令セッ
トアーキテクチャから見えないハードウェアレジスタの
割当てを解除するレジスタ削除命令の命令コードを生成
するレジスタ削除命令変換手段を設けたことを特徴とす
る。このレジスタ削除命令コードも、命令セットアーキ
テクチャから見えないハードウェアレジスタ18に空き
レジスタが存在しなかった場合、前記メモリ16に退避
して空き状態とレジスタ内容を使用が済んだレジスタに
帰す命令機能を含む。
【0009】即ち、本発明のコンパイル装置は、プロセ
ッサの命令セットアーキテクチャに次の2つの命令を追
加する。 レジスタ生成命令 new R ADDR;レジスタ番号Rのレジ
スタの値を命令セットアーキテクチャから見えない現在
使っていないハードウェアレジスタ18に退避する命令
である。もし、命令セットアーキテクチャから見えない
ハードウェアレジスタ18がすべて使用中ならば、レジ
スタ番号Rのレジスタの値をメモリ16の番地(ADDR)
に退避することを意味する。
【0010】レジスタ削除命令delete R ADDR ;レジス
タ番号Rのレジスタに、レジスタ生成命令(new R ADD
R)が使った命令セットアーキテクチャから見えないハ
ードウェアレジスタ18から値を復帰する命令である。
もし、レジスタ生成命令(new R ADDR)がメモリ18に
値を退避していれば、メモリ16の番地(ADDR )から値
を復帰する。
【0011】このため本発明のコンパイラによれば、ソ
ースプログラムからオブジェクトとしてのアプリケーシ
ョンプログラムを翻訳生成する際に、レジスタ番号Rの
レジスタの値を命令セットアーキテクチャから見えない
現在使っていないハードウェアレジスタ18に退避する
レジスタ生成命令(new R ADDR)の命令コードと、レジ
スタ番号Rのレジスタに、レジスタ生成命令(new R AD
DR)が使った命令セットアーキテクチャから見えないハ
ードウェアレジスタ18から値を復帰するレジスタ削除
命令(delete R ADDR )の命令コードを、アプリケーシ
ョンプログラムの中に生成する。
【0012】また本発明は、コンパイラ装置で作成され
たレジスタ生成命令(new R ADDR)の命令コードとレジ
スタ削除命令(delete R ADDR )の命令コードを含むオ
ブジェクトプログラムを実行するプロセッサ装置を提供
するものである。即ち、本発明は、オブジェクトプログ
ラムのレジスタ使用命令を実行した際に、命令セットア
ーキテクチャで定義されたレジスタファイル14の中の
レジスタを割り当てて処理を実行し、レジスタファイル
14に空きがなかった場合は、使用中のレジスタの内容
をメモリ16に退避して空き状態とした後に該レジスタ
を割り当てて処理を実行するプロセッサ装置を対象とす
る。
【0013】このようなプロセッサ装置につき本発明に
あっては、命令セットアーキテクチャから見えないハー
ドウェアレジスタ18を割り当てるレジスタ生成命令
(newR ADDR)を有し、レジスタ割り当て時にレジスタ
ファイル14に空きレジスタが存在しなかった場合、レ
ジスタ生成命令(new R ADDR) を実行することにより、
命令セットアーキテクチャから見えないハードウェアレ
ジスタ18を割り当てて命令を実行するレジスタ生成命
令実行手段1を設けたことを特徴とする。
【0014】ここでレジスタ生成命令(new R ADDR)は、
更に、命令セットアーキテクチャから見えないハードウ
ェアレジスタ18に空きレジスタが存在しなかった場
合、レジスタ内容をメモリ16に退避して空き状態とし
た後にレジスタ割当てを行う命令をもつ。更に、命令セ
ットアーキテクチャから見えないハードウェアレジスタ
18の割当てを解除する新規レジスタ削除命令( delete
R ADDR)を有し、命令アーキテクチャから見えないハー
ドウェアレジスタ18の使用が済んだ際に、レジスタ削
除命令( delete R ADDR)の実行によりハードウェアレジ
スタ18の割当てを解除するレジスタ削除実行手段2を
設ける。また命令セットアーキテクチャから見えないハ
ードウェアレジスタ18に空きレジスタが存在しなかっ
た場合、レジスタ削除実行手段2は、レジスタ削除命令
( delete R ADDR)の実行により、メモリ16に退避した
レジスタの内容を、使用が済んだレジスタに帰す。
【0015】このように、コンパイラによるレジスタ割
り当て時に、ハードウェアレジスタに割り当てることが
できない仮想レジスタをレジスタ生成命令(new R ADD
R)によってレジスタRに割り当てることにより、メモ
リアクセス命令を減らすことができる。またレジスタR
の元の値が必要になったならば、レジスタ削除命令(de
lete R ADDR )でレジスタ生成命令(new) の実行前のレ
ジスタR の値を復帰することができる。
【0016】この結果、命令セットアーキテクチャから
見えないハードウェアレジスタを利用することで、メモ
リへのアクセス回数を減らし、プログラムの実行時間を
短縮することができる。
【0017】
【発明の実施の形態】図2は本発明のコンパイル装置で
変換されたオブジェクトプログラムを実行するプロセッ
サ装置の命令実行機能のブロック図である。図2におい
て、プロセッサの命令実行部はデコーダ10とレジスタ
アドレス変換器12で構成される。デコーダ10はコン
パイルされたオブジェクトプログラム、即ちアプリケー
ションプログラムの命令列のコードを順次解読してお
り、解読結果から得られたレジスタ番号をレジスタアド
レス変換器12に通知する。レジスタアドレス変換器1
2に対しては、実行中の命令セットアーキテクチャで定
義されたレジスタファイル14が設けられている。また
命令セットアーキテクチャから見えないレジスタとして
ハードウェアレジスタ18が設けられる。さらにレジス
タアドレス変換器12は主記憶16にアクセス可能であ
り、レジスタファイル14あるいはハードウェアレジス
タ18に空きがないときにその内容を主記憶16に退避
して使用可能としている。
【0018】このレジスタアドレス変換器12は、図1
の原理説明図に示した本発明で新たに定義したレジスタ
生成命令「new R ADDR」のレジスタ生成命令
実行手段と、ジスタ削除命令「new R ADDR」
のレジスタ削除命令実行手段としての機能を備える。ま
ず図2の実施例における従来のレジスタ使用命令のコン
パイルを説明する。図3は従来のコンパイラによりコン
パイルされたレジスタ使用命令の命令列の一例である。
ここでHRはハードウェアレジスタを示し、PR0は仮
想レジスタを表わす。
【0019】図3において、命令(a)はハードウェア
レジスタHR1の内容とハードウェアレジスタHR2の
内容を加算し、加算結果を仮想レジスタPR0に格納す
る命令であり、仮想レジスタPR0に対してはハードウ
ェアレジスタの割付けが行われる。同様に、命令(b)
は仮想レジスタPR0の内容からハードウェアレジスタ
HR4の内容を引いた結果をハードウェアレジスタHR
5に格納する命令である。
【0020】しかしながら、命令(a)の実行で仮想レ
ジスタPR0にレジスタファイル14のハードウェアレ
ジスタを割り当てようとしたが、命令(a)と命令
(b)の間で空いているハードウェアレジスタが存在し
なかったとする。このような場合、従来のコンパイラに
あっては、図4のように、まずレジスタファイル14の
中のあるハードウェアレジスタHR0の値を主記憶16
のメモリ番地A0に退避するメモリアクセス命令(1)
を作成し、レジスタファイル14の中のハードウェアレ
ジスタHR0を一時的に使えるようにする。ここでハー
ドウェアレジスタHR0は、図3の命令(a)と命令
(b)の間では参照されないものと仮定する。
【0021】このようにして使用可能なハードウェアレ
ジスタを確保したならば、仮想レジスタPR0を確保し
たハードウェアレジスタHR0に変換した命令(a1)
と命令(b1)を生成する。そして最後に、元のハード
ウェアレジスタHR0の値を主記憶16のメモリ番地A
0から復帰する命令(2)を生成する。 このように従
来のレジスタファイル14に空きレジスタがなかった場
合の命令の実行は、主記憶に対するレジスタ内容の退避
と復旧を伴うことから、処理に時間がかかっている。
【0022】この図4の命令列を本発明でコンパイルす
ると、図5のような命令列のコードが生成できる。まず
本発明にあっては、レジスタ生成命令「new R A
DDR」とレジスタ削除命令「delete R AD
DR」が準備される。レジスタ生成命令「new R
ADDR」は、レジスタ番号Rのレジスタの値を命令セ
ットアーキテクチャから見えない現在使っていないハー
ドウェアレジスタSRに退避する命令であり、もし命令
セットアーキテクチャから見えないハードウェアレジス
タがすべて使用中ならば、レジスタ番号Rのレジスタの
値をメモリ番地ADDRに退避することを意味する。
【0023】またレジスタ削除命令「delete R
ADDR」は、レジスタ番号Rのレジスタにレジスタ
生成命令「new R ADDR」が使った命令セット
アーキテクチャから見えないハードウェアレジスタSR
からの値を復帰する命令である。もしレジスタ生成命令
「new R ADDR」が主記憶16に値を退避して
いれば、メモリ番地ADDRから値を復帰する。
【0024】図5の本発明の命令列について具体的に説
明すると次のようになる。本発明のコンパイラは、図3
の命令(a)と命令(b)の間でレジスタファイル14
のレジスタに空きがなかった場合には、命令セットアー
キテクチャから見えないレジスタ18であるハードウェ
アレジスタの中から命令(a)と命令(b)の間で参照
されないハードウェアレジスタを探す。
【0025】図5にあっては、このハードウェアレジス
タとしてハードウェアレジスタHR9を探し出してい
る。そして、このハードウェアレジスタHR9につい
て、レジスタ生成命令(1)を生成することにより、命
令セットアーキテクチャからは見えないハードウェアレ
ジスタHR9を一時的に使用可能とする。そして、命令
(a2)で仮想レジスタPR0をハードウェアレジスタ
HR9に割り当てて実行し、更に命令(b2)の実行が
済むとレジスタ削除命令(2)を生成し、ハードウェア
レジスタHR9で元の値を参照できるようにする。
【0026】図6は本発明のコンパイル装置により作成
されたレジスタ生成命令「newR ADDR」とレジ
スタ削除命令「delete R ADDR」を含むオ
ブジェクトプログラムを図2のプロセッサ装置で実行す
るときのレジスタアドレス変換器12のアルゴリズムを
示す。まずレジスタアドレス変換器12の状態STAT
E[R]は、現在のレジスタファイル14の使用状況を
表わす配列である。このレジスタファイル使用状態ST
ATE[R]が0ならば、レジスタRは普通に使われて
いる。レジスタファイル使用状況STATE[R]が1
ならば、レジスタRは一時的に命令セットアーキテクチ
ャから見えないレジスタ18を示している。
【0027】レジスタファイル使用状況STATE
[R]が2ならば、レジスタRのために一時的に命名セ
ットアーキテクチャから見えないレジスタ18を使おう
としたが、空いているレジスタがなかったので、レジス
タRの値を主記憶16のメモリ番地「ADDR」に退避
してレジスタRを使えるようにしていることを表わす。
まず図6のステップS1にあっては、レコーダ10から
の入力により命令コードop、レジスタ番号R、必要な
らば主記憶16に値を退避するためのメモリアドレスA
DDRを獲得する。続いてステップS2で、命令コード
opが本発明のレジスタ生成命令「new R ADD
R」か否かチェックする。命令コードが本発明のレジス
タ生成命令「new R ADDR」であればステップ
S3に進み、ハードウェアレジスタSRセット即ちレジ
スタ18の中に使用していないものがあるか否かチェッ
クする。
【0028】使用していないものがあればステップS4
に進み、レジスタRに使用していないハードウェアレジ
スタSRセットの中の1つを割り当て、レジスタファイ
ル使用状態STAT[R]を1にセットする。ステップ
S3でハードウェアレジスタSRセットに空きがなけれ
ば、主記憶16のメモリ番地「ADDR」にハードウェ
アレジスタSRセットの中の使用中の1つの値を退避す
る。
【0029】このようなレジスタ生成命令「new R
ADDR」の実行後に、ステップS1でデコーダ10
より本発明のレジスタ削除命令「delete R A
DDR」を受けると、ステップS2でオペコードを判別
し、ステップS6の処理に進む。ステップS6の処理に
あっては、オペコードopが本発明のレジスタ削除命令
「delete R ADDR」でなかった場合には、
ステップS7でレジスタファイル状態STATE[R]
が1か否かチェックする。
【0030】1でなければ、命令セットアーキテクチャ
から見えないハードウェアレジスタSRセットを使用し
ていないことから、ステップS8でレジスタファイル1
4のレジスタ番号Rのアドレスを返す。ステップS7で
1であった場合には、命令セットアーキテクチャから見
えないハードウェアレジスタSRセットを使用している
ことから、そのレジスタRに割り当てられたレジスタの
アドレスを返す。このステップS7,S8は、図5にお
ける命令(a2)あるいは命令(b2)の実行に対応す
る。
【0031】ステップS6でオペコードから本発明のレ
ジスタ削除命令「delete RADDR」を判別し
た場合には、ステップS10に進み、レジスタファイル
状態STATE[R]が2か否かチェックする。2でな
ければ、ステップS4でレジスタRにハードウェアレジ
スタSRセットの使用していないものを割り当てている
場合であることから、ステップS12で、レジスタRに
割り当てられたハードウェアレジスタSRセットの中の
レジスタを開放する。そしてステップS13で、レジス
タファイル状態STATE[R]を0に戻す。
【0032】一方、ステップS10で2であった場合に
は、ステップS5で主記憶16のメモリ番地ADDRに
レジスタRの値を退避した場合であることから、この値
をレジスタRに復帰し、ステップS3で0として処理を
終了する。このように本発明にあっては、命令セットア
ーキテクチャで指定するレジスタファイル14にレジス
タ空きがない場合には、命令セットアーキテクチャで見
えないハードウェアレジスタ18の中から空いているレ
ジスタを一時的に割り当てて使用することで、主記憶1
6に対するメモリアクセスを不要にしてプログラムの実
行時間を短縮できる。
【0033】また命令セットアーキテクチャで見えない
ハードウェアレジスタ18に空きがなければ、従来と同
様、レジスタファイル14の中のレジスタの値を主記憶
16に退避して使用可能とする処理となり、この結果、
もし命令セットアーキテクチャで見えないハードウェア
レジスタが全て使用中であっても、本発明のメモリ生成
命令「new R ADDR」とレジスタ削除命令「d
elete R ADDR」が通常のメモリアクセス命
令となって正しく実行することができる。
【0034】
【発明の効果】以上説明してきたように本発明によれ
ば、命令セットアーキテクチャで指定しているハードウ
ェアレジスタに空きがないときに、命令セットアーキテ
クチャから見えないハードウェアレジスタを利用するこ
とで、命令アクセス回数を減らし、プログラムの実行時
間を短縮することができる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明のプロセッサ装置のブロック図
【図3】レジスタ使用を伴なう命令列の一例の説明図
【図4】図3の命令列を従来のコンパイラで変換した命
令列の説明図
【図5】図3の命令列を本発明のコンパイラで変換した
命令列の説明図
【図6】図2のレジスタアドレス変換器による処理のフ
ローチャート
【符号の説明】 1:レジスタ生成命令実行手段 2:レジスタ削除命令実行手段 10:デコーダ 12:レジスタアドレス変換器 14:レジスタファイル 16:主記憶(メモリ) 16:ハードウェアレジスタ(命令セットアーキテクチ
ャから見えないレジスタSR)

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】プロセッサ装置でレジスタ使用命令を実行
    した際に、命令セットアーキテクチャで定義されたレジ
    スタファイルの中のレジスタを割り当てて処理を実行
    し、前記レジスタファイルに空きがなかった場合は、使
    用中のレジスタの内容をメモリに退避して空き状態とし
    た後に該レジスタを割り当てて処理を実行する命令コー
    ドをもつオブジェクトプログラムを生成するコンパイル
    装置に於いて、 前記レジスタ割り当て時に空きレジスタが存在しなかっ
    た場合、前記命令セットアーキテクチャから見えないハ
    ードウェアレジスタを割り当てるレジスタ生成命令の命
    令コードを生成するレジスタ生成命令変換手段を設けた
    ことを特徴とするコンパイル装置。
  2. 【請求項2】請求項1記載のコンパイル装置に於いて、
    前記レジスタ生成命令コードは、更に、前記命令セット
    アーキテクチャから見えないハードウェアレジスタに空
    きレジスタが存在しなかった場合、前記レジスタファイ
    ルの使用中のいずれかのレジスタの内容を前記メモリに
    退避して空き状態とした後にレジスタ割当てを行う命令
    機能を含むことを特徴とするコンパイル装置。
  3. 【請求項3】請求項1記載のコンパイル装置に於いて、
    更に、前記命令アーキテクチャから見えないハードウェ
    アレジスタの使用が済んだ際に、前記命令セットアーキ
    テクチャから見えないハードウェアレジスタの割当てを
    解除するレジスタ削除命令の命令コードを生成するレジ
    スタ削除命令変換手段を設けたことを特徴とするコンパ
    イル装置。
  4. 【請求項4】請求項3記載のコンパイル装置に於いて、
    前記レジスタ削除命令コードは、更に、命令セットアー
    キテクチャから見えないハードウェアレジスタに空きレ
    ジスタが存在しなかった場合、前記メモリ16に退避し
    て空き状態とレジスタ内容を使用が済んだレジスタに帰
    す命令機能を含むことを特徴とするコンパイル装置。
  5. 【請求項5】レジスタ使用命令を実行した際に、命令セ
    ットアーキテクチャで定義されたレジスタファイルの中
    のレジスタを割り当てて処理を実行し、前記レジスタフ
    ァイルに空きレジスタがなかった場合は、使用中のレジ
    スタの内容をメモリに退避して空き状態とした後に該レ
    ジスタを割り当てて処理を実行するプロセッサ装置に於
    いて、 前記命令セットアーキテクチャから見えないハードウェ
    アレジスタを割り当てるレジスタ生成命令を有し、前記
    レジスタ割り当て時に空きレジスタが存在しなかった場
    合、前記レジスタ割当て命令を実行することにより前記
    命令セットアーキテクチャから見えないハードウェアレ
    ジスタを割り当てて命令を実行するレジスタ生成命令実
    行手段を設けたことを特徴とするプロセッサ装置。
  6. 【請求項6】請求項5記載のプロセッサ装置に於いて、
    前記レジスタ生成命令は、更に、前記命令セットアーキ
    テクチャから見えないハードウェアレジスタに空きレジ
    スタが存在しなかった場合、前記レジスタファイルの使
    用中のいずれかのレジスタの内容を前記メモリに退避し
    て空き状態とした後にレジスタ割当てを行う命令実行機
    能を含むことを特徴とするプロセッサ装置。
  7. 【請求項7】請求項1記載のプロセッサ装置に於いて、
    更に、前記命令セットアーキテクチャから見えないハー
    ドウェアレジスタの割当てを解除するレジスタ削除命令
    を有し、前記命令アーキテクチャから見えないハードウ
    ェアレジスタの使用が済んだ際に、前記新規レジスタ削
    除命令の実行により前記ハードウェアレジスタの割当て
    を解除するレジスタ削除実行手段を設けたことを特徴と
    するプロセッサ装置。
  8. 【請求項8】請求項7記載のプロセッサ装置に於いて、
    前記レジスタ削除命令コードは、更に、命令セットアー
    キテクチャから見えないハードウェアレジスタに空きレ
    ジスタが存在しなかった場合、前記メモリに退避して空
    き状態とレジスタ内容を、使用が済んだレジスタに帰す
    命令実行機能を含むことを特徴とするコンパイル装置。
JP7247097A 1995-09-26 1995-09-26 コンパイル装置及びプロセッサ装置 Withdrawn JPH0991151A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7247097A JPH0991151A (ja) 1995-09-26 1995-09-26 コンパイル装置及びプロセッサ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7247097A JPH0991151A (ja) 1995-09-26 1995-09-26 コンパイル装置及びプロセッサ装置

Publications (1)

Publication Number Publication Date
JPH0991151A true JPH0991151A (ja) 1997-04-04

Family

ID=17158392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7247097A Withdrawn JPH0991151A (ja) 1995-09-26 1995-09-26 コンパイル装置及びプロセッサ装置

Country Status (1)

Country Link
JP (1) JPH0991151A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187120A (ja) * 2008-02-04 2009-08-20 Fujitsu Ltd プロセッサ、レジスタアクセス方法およびレジスタアクセスプログラム
CN102566973A (zh) * 2012-02-15 2012-07-11 上海大学 多核异构系统指令存储单元的动态分配方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009187120A (ja) * 2008-02-04 2009-08-20 Fujitsu Ltd プロセッサ、レジスタアクセス方法およびレジスタアクセスプログラム
CN102566973A (zh) * 2012-02-15 2012-07-11 上海大学 多核异构系统指令存储单元的动态分配方法

Similar Documents

Publication Publication Date Title
Krall Efficient JavaVM just-in-time compilation
US6173444B1 (en) Optimizing compilation of pointer variables in the presence of indirect function calls
CA2166369C (en) Method and system for determining inter-compilation unit alias information
EP0416768A2 (en) Thread private memory storage for multi-thread digital data processors
US7089557B2 (en) Data processing system and method for high-efficiency multitasking
US6175935B1 (en) Software debugging method and recording medium to which debugging program has been recorded
US20080114941A1 (en) Code generation method and compiler
JP2000242551A (ja) メモリ管理のための方法および装置
US20070300210A1 (en) Compiling device, list vector area assignment optimization method, and computer-readable recording medium having compiler program recorded thereon
US5404531A (en) Method and apparatus for compiler processing on program related to data transfer and calculation, and method of managing memory
JPH0991151A (ja) コンパイル装置及びプロセッサ装置
JP3241214B2 (ja) 分散処理装置及びプロセス実行方法
JP3327674B2 (ja) プログラム翻訳装置及び方法
US6029003A (en) Method of assigning external variables to memories when compiling source program
JPH07105013A (ja) レジスタ割り付け方式
JP3481268B2 (ja) ライブラリのモジュール管理方式
JP2001142719A (ja) コンパイラ装置及びコンパイラプログラムを記録した記録媒体
JPH03135630A (ja) 命令スケジューリング方式
JPH0689187A (ja) インライン展開最適化方法
JP2000231494A (ja) ソフトウェア実行システム及びソフトウェア実行方法
JPH03164835A (ja) インタプリタ型言語処理系における大域変数処理のコンパイル方法
JPH06324882A (ja) コンパイラ装置
JPH07129408A (ja) 言語処理プログラムの実行方式
JP2002108628A (ja) プログラム変換装置
JP2002099424A (ja) レジスタを格納領域に利用するコンパイル方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20021203