JP2003099254A - 異種実行環境における計算機システム構成方法、および、異種実行環境で実行させるためのプログラム - Google Patents

異種実行環境における計算機システム構成方法、および、異種実行環境で実行させるためのプログラム

Info

Publication number
JP2003099254A
JP2003099254A JP2001290986A JP2001290986A JP2003099254A JP 2003099254 A JP2003099254 A JP 2003099254A JP 2001290986 A JP2001290986 A JP 2001290986A JP 2001290986 A JP2001290986 A JP 2001290986A JP 2003099254 A JP2003099254 A JP 2003099254A
Authority
JP
Japan
Prior art keywords
program
execution
error code
execution environment
code
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
Application number
JP2001290986A
Other languages
English (en)
Other versions
JP4755371B2 (ja
JP2003099254A5 (ja
Inventor
Satoshi Mitsusaka
智 三坂
Kazuo Aisaka
一夫 相坂
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2001290986A priority Critical patent/JP4755371B2/ja
Priority to US10/075,381 priority patent/US6934892B2/en
Publication of JP2003099254A publication Critical patent/JP2003099254A/ja
Publication of JP2003099254A5 publication Critical patent/JP2003099254A5/ja
Application granted granted Critical
Publication of JP4755371B2 publication Critical patent/JP4755371B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE

Abstract

(57)【要約】 【課題】計算機システムの異なった実行環境で実行させ
るときのアプリケーション・プログラムにエラーコード
を返す際に、既存の命令セットの体系を活かしながら、
その共通化コードのインプリメントのためのROM効率
を良くし、むだな命令を挿入することのないようにす
る。 【解決手段】実行環境差異吸収プログラムから、アプリ
ケーション・プログラムに対応する実行プログラムに返
すための共通化エラーコードを、CPUの命令セットと
定義されているImmediateロード命令で設定可
能な数値範囲内の値として定めて、共通化エラーコード
を、Immediateロード命令の命令コード内に保
持するようにする。特に、共通化エラーコードの値をI
mmediateロード命令の設定部のMSBを0とな
る範囲内に収まるようにする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、異種実行環境にお
ける計算機システム構成方法に係り、アプリケーション
・プログラムに、異なった実行環境の共通のエラーコー
ドを返すようにするときに、実行プログラムのメモリ効
率がよく、実行速度を低下させることなく、計算機シス
テムを実装できるような計算機システム構成方法に関す
る。
【0002】
【従来の技術】従来、異なった環境でコンピュータシス
テムを実行させるために、開発や移植を容易におこなう
ための技術が提案されている。
【0003】このような技術の例として、特開平8―6
3363号公報の「仮想実行環境システム」がある。
【0004】以下では、図1を用いてこの仮想実行環境
システムについて説明する。図1は、特開平8―633
63号公報の「仮想実行環境システム」のシステム概要
図である。
【0005】ユーザ(プログラマ)が作成するアプリケ
ーション・ソフトウェアのソースコードとしては、プロ
グラム本体11と置換情報記述部12がある。
【0006】プログラム本体は、アプリケーション・ソ
フトウェアの目的ごとに異なるソースコードであり、置
換情報記述部12は、プログラム本体11中に記述され
た情報を、仮想実行環境が実現される既存オペレーティ
ング・システム60の機種毎に対応して適切な情報に置
換える部分である。
【0007】オペレーティング・システム60で実行す
るためには、これらのプログラム本体11と置換情報記
述部12に記述された置換情報を、既存オペレーティン
グ・システム用コンパイラを利用して、実行可能プログ
ラム30にし、それを実行部22が実行する。翻訳部2
1は、そのための仮想実行環境上で実行可能な実行可能
プログラムに翻訳する部分である。
【0008】その際に、ソースプログラムをC言語で記
述するときには、置換情報記述部12は、コンパイラの
プリプロセッサとして処理されるマクロ定義を利用する
ことができる。
【0009】このようにして、アプリケーションソフト
ウェア10のプログラム本体11を変更する事無く、様
々な環境用に作成された実行可能プログラム30を既存
オペレーティング・システム60上で動作させることが
可能となる。
【0010】次に、図2を用いて、より詳細に異種実行
環境において従来技術の計算機システムを構成し、実行
する場合について説明する。図2は、異種実行環境にお
いてソフトウェア開発をおこなうときの概念図である。
【0011】ここでは、C言語により、アプリケーショ
ンを開発する場合を想定する。図1の置換情報記述部1
2にあたる部分に、C言語の共通関数102が提供され
る。
【0012】システムとして、図2の様に計算機システ
ム−A105a、計算機システム−B105bがあり、
そこでプログラムを実行する環境を実行環境−A104
a、実行環境−B104bと言うことにする。実行環境
−A104aは、具体的には、ハードウェア−A106
aと、ハードウェアを制御しアプリケーションプログラ
ムとハードウェアの仲立ちをするOS−A107aであ
る。
【0013】アプリケーション本体100は、ユーザが
個々のアプリケーションを記述するソースコードであ
り、システムから機能の提供を受けるときには、共通化
関数102を呼出す。ここで、注意することは、アプリ
ケーション本体100を記述するユーザは、共通化関数
インタフェース101を意識すればよく、個々の環境に
よってコーディングを変えなくても良いことである。し
たがって、アプリケーション本体100は、ソースレベ
ルでの互換性が保たれることになる。
【0014】共通化関数102、開発用ライブラリ関数
として提供され、ユーザには、共通化関数インタフェー
スが公開されることになる。共通化関数は、この様に環
境に依らない統一したインタフェースをユーザに提供す
るためのものである。
【0015】そして、ユーザが記述したソースをコンパ
イル・リンク作業をおこなって、実行形式を作成するこ
とになるが、実行環境−A104aで実行させるときに
は、図2に示される様に、コンパイラ−A108aでコ
ンパイルし、実行環境−B104bで実行させるときに
は、コンパイラ−B108bでコンパイルする。
【0016】また、同様に実行環境−A用のリンカA1
09aにより、実行環境プログラム−A103aをリン
クする。実行環境プログラム−A103aは、実行環境
−A104aで実行させるためのプログラムであり、こ
のなかで、OS−A107aのシステムコールがコール
されることになる。実行環境−B104bについても同
様である。
【0017】ユーザのソースコードであるアプリケーシ
ョン本体100に対して、コンパイル、リンクがおこな
われ、この例では、実行環境−A104aと実行環境−
B104b用に、それぞれ実行プログラム−A110a
と、実行プログラム−B110bが生成される。
【0018】そして、共通化関数102をコンパイルし
たモジュールと、実行環境プログラム−A103a、実
行環境プログラム−B103bは、コンパイル・リンク
の作業を経て、それぞれの固有の実行環境で実行可能な
実行環境差異吸収プログラム−A111aと実行環境差
異吸収プログラム−B111bになる。
【0019】次に、このようにして作成した実行プログ
ラムを、計算機システムの実行環境のもとで動作させる
場合について概説する。
【0020】例えば、実行プログラム−A110aを、
実行環境−Aのもとで実行するときには以下のようにな
る。すなわち、実行プログラム−A110aでは、共通
化インターフェース102により、実行環境差異吸収プ
ログラム−A111aを呼出す。この実行環境差異吸収
プログラム−A111aは、アプリケーションから見た
OSの差異を吸収し、インターフェースを共通化される
ために設けられるモジュールである。呼び出された実行
環境差異吸収プログラム−A111aは、OS−A10
7aの機能を実現するためのシステムコールを呼出し
て、所望のOSの機能をハードウェア−A106aによ
り実現する。ハードウェア−A106aの動作が終了す
ると、OS−A107aは、実行環境差異吸収プログラ
ム−A111aに制御を戻す。最後に、実行環境差異吸
収プログラム−A111aは、制御を実行プログラム−
A110aに戻す。
【0021】実行プログラム−B110bを、実行環境
−B104bのもとで実行させるときも、同様の動作を
するが、実行環境−B104bは、計算機システム−B
でさせるときの環境であるので、前提となるOSやハー
ドウェアが異なっている。例えば、ハードウェア−A1
06aとハードウェア−B106bでは、機械語命令体
系が異なり、実行環境プログラム−A103aと実行環
境プログラム−B103bでは、OSの機能を呼出すた
めのシステムコールが異なっている。
【0022】共通化インタフェース102は、プログラ
ム本体11に変更を加える事無く、異なるOS上に実装
してもプログラム本体11から、ほぼ同一のOS機能を
呼び出して、異なるOS107に依存しない共通化エラ
ーコードをプログラム本体11に伝えることを可能にす
るものである。なお、ここで、共通化エラーコードと言
っているのは、OSに依存するエラーコードを、実行環
境差異吸収プログラムで、そのまま、あるいは、書き換
えて、アプリケーションから見たときには、環境によら
ない共通化されたエラーコードにするためである。
【0023】共通化インタフェース102の仕様を定義
することでOS機能の呼び出し方やプログラミング記述
が統一され、プログラム本体11を別のアプリケーショ
ンソフトウェアに再利用させることが容易になる。
【0024】
【発明が解決しようとする課題】上記従来技術は、異な
った計算機システムの環境に、アプリケーションソフト
ウェアを開発して実行するシステムに関するものであっ
た。
【0025】ここで、図3ないし図7を用いて上記従来
技術の動作において、エラーコードの取扱いに関し問題
点が生ずることを説明する。図3は、計算機システム−
A105aで取扱われるデータ、プログラムコードと、
レジスタ、メモリなどの関連をあらわす図である。
【0026】計算機システム−A105aは、ハードウ
ェア−A106aと、OS−A107aと、実行環境差
異吸収プログラム−A111aと、実行プログラム−A
110aで構成されることは前述した。
【0027】ハードウェア−A106aには、図3に示
されるように命令を実行するCPU−A121aと、プ
ログラムやデータを格納するROM−A122aとRA
M−A123aが搭載されている。そして、CPU−A
121aは、複数の汎用レジスタを有している。
【0028】すなわち、各用途により、ユーザの記述し
た引数を渡すための引数格納用途レジスタ124、一時
変数を格納する一時変数格納用途レジスタ125、C関
数の戻り値を返すための戻り値格納用途レジスタ12
6、ユーザに提供されるユーザ使用汎用レジスタ127
などがある。
【0029】また、CPU−A121aは、RAM−A
123a上に実装されているスタック領域130内の番
地を指すスタックポインタレジスタ128、ROM−A
122aまたはRAM−A123a上に実装されたプロ
グラムの現在実行中の命令の次のアドレスを指すプログ
ラムカウンタレジスタ129を有している。
【0030】一般に、C言語などのコンパイラが、CP
Uの汎用レジスタをデータや引数に割り付けるときに
は、大別してユーザに対してある関数を呼出した前後の
値の存在を保証して、ユーザが使用しても良いとする
(すなわち、アセンブラでレジスタの値を直接操作をし
ても良い)レジスタと、システム上で利用する汎用レジ
スタがある。この汎用レジスタは、ユーザに対しては、
ある関数を呼出した前後の値の存在は保証していない。
【0031】ここでは、任意のC関数が呼ばれた時点の
前後で値の一貫性を保証しないレジスタとして、引数格
納用途レジスタ124、一時変数格納用途レジスタ12
5、戻り値格納用途レジスタ126がある。また、一
方、値の一貫性を保証するレジスタは、ユーザ使用汎用
レジスタ127、スタックポインタレジスタ128、プ
ログラムカウンタレジスタ129がある。
【0032】引数格納用途レジスタ124、一時変数格
納用途レジスタ125、戻り値格納用途レジスタ12
6、ユーザ使用汎用レジスタ127、スタックポインタ
レジスタ128は、通常は、それぞれ、同じ大きさの値
を扱える分のレジスタ長になっている。
【0033】ここで、ROM−A122a上に、実行プ
ログラム−A110aのプログラムコードである実行プ
ログラムコード−A131aと、実行環境差異吸収プロ
グラム−A111aのプログラムコードである実行環境
差異吸収プログラムコード−A132aと、OS−A1
07aのプログラムコードであるOSプログラムコード
−A133aが格納されるものとする。これは、図2に
示した様に、コンパイラA108aにより、実行環境−
A用にコンパイルされたものである。そして、実行プロ
グラム−A110aを実行させるためには、実行プログ
ラムコード−A131aの命令語が解釈・実行される。
また、同様に、実行環境差異吸収プログラム−A111
aを実行させるためには、実行環境差異吸収プログラム
コード−A132a命令語が、 OS−A107aのプ
ログラムを実行するためには、OSプログラムコード−
A133aが、それぞれ解釈・実行される。
【0034】また、ROM−A122a上は、定数格納
領域−A134aが実装されており、OS−A107a
の機能に依存したOS依存エラーコード135aと、実
行環境差異吸収プログラムで共通化されて提供される共
通化エラーコード136が格納されている。
【0035】さらに、RAM−A123a上には、既述
のようにスタック領域130が実装されている。
【0036】実行プログラムコード−A131aを実行
するときには、CPU−A121aにより、実行プログ
ラム開始番地137から始まり、実行プログラム終了番
地138までにある命令語が解釈・実行される。その
際、プログラムカウンタレジスタ129は、現在動作さ
せている機械語命令の次に動作させる機械語命令の格納
番地を指しており、スタックポインタレジスタ128
は、現在使用しているスタック領域130内の任意のメ
モリ番地を指している。
【0037】プログラムカウンタレジスタ129は、実
行プログラムコード−A131a内にプログラムされた
共通化インターフェース102部の入口部に到達する
と、ジャンプ命令139によって、その共通化インター
フェース102に対応する実行環境差異吸収プログラム
コード−A132aの先頭番地を指してCPU−A12
1aを実行する。
【0038】同じく、プログラムカウンタレジスタ12
9は、実行環境差異吸収プログラムコード−A132a
内にプログラムされたOS−A107aのシステムコー
ルの入口部に到達すると、ソフトウェア割り込み命令ま
たはジャンプ命令140により、そのシステムコールに
対応するOSプログラムコード−A133aの先頭番地
を指して、CPU−A121aを実行する。
【0039】OSプログラムコード−A133aが所定
の機能を実行し終えると、実行環境差異吸収プログラム
−A111aに伝えるため、OS−A107a依存エラ
ーコード135aを、戻り値格納用途レジスタ126に
戻り値を格納する。OS−A107a依存エラーコード
135aは、OS107aのプログラムが正常終了した
のか、 OS107aのプログラムや計算機システム−
A105a内部でどのような異常が発生したかを示すた
めの情報である。
【0040】OS−Aプログラムコード−A133aに
よる戻り値の格納作業を終えると、プログラムカウンタ
レジスタ129は、実行環境差異吸収プログラムコード
−A132aへの戻り先番地142を指して、リターン
命令141を実行することにより、実行環境差異吸収プ
ログラムコード−A132aに制御を移す。
【0041】実行環境差異吸収プログラムコード−A1
32aに制御が戻ると、戻り値格納用途レジスタ126
には、OS−A107a依存エラーコード135aが戻
り値として入っている。一方、ROM−A122a内の
或るOS−A107a依存エラーコード135aを一時
変数格納用途レジスタ125にロードして、そして比較
命令144で戻り値格納用途レジスタ126と一時変数
格納用途レジスタ125に格納されている値を比較す
る。そして、全く等価なエラーコードが見つかったとき
には、実行環境差異吸収プログラムコード−A132a
から、実行プログラムコード−A131aに制御が戻る
ときに、その全く等価なエラーコードに対応する共通化
エラーコード136を、戻り値格納用途レジスタ126
に格納して、実行プログラム−A110aに渡すことに
する。見つからなかったときには、次の或るOS−A1
07a依存エラーコード135aを一時変数格納用途レ
ジスタ125にロードして、比較命令144を繰りかえ
す。ここで、言う等価なエラーコードを見つけるとは、
例えば、OS−A107a依存エラーコード135a
が、「メモリエラー」を意味するときには、同じ「メモ
リエラー」を意味する共通化エラーコードを見つけると
言うことである。
【0042】ここで、ポイントになるのは、実行環境−
A104aと実行環境−B104bとは、エラーコード
は、共通化されており、実行プログラム−A110aと
実行プログラム−B110bには、同じエラーコードが
渡されると言うことである。そのため、アプリケーショ
ンを記述する者にとっては、環境の差異により返される
エラーコードが変わると言うことがなくなり、環境の差
異によるコーディングの変更を気にしなくても良いと言
うメリットが生ずる。
【0043】なお、実行開発環境104によっては、O
S依存エラーコード135と共通化エラーコード136
は、それぞれ、定数格納領域134内ではなく、実行プ
ログラムコード131、実行環境差異吸収プログラムコ
ード132の途中等に実装されることもある。
【0044】上記従来技術では、実行環境の差異を吸収
するレイヤを設けたため、OSに依存しない共通化エラ
ーコードを定義して、ユーザにアプリケーションの移植
・記述の容易性を提供することができた。しかしなが
ら、エラーコードのインプリメントに関しては、考慮さ
れていない。
【0045】というのも、共通化エラーコード136
は、ROM−A122aの定数格納領域134、そし
て、実行プログラムコード131、および、実行環境差
異吸収プログラムコード132の内部に格納されるため
に、ROM効率が悪くなるためである。この問題点は、
共通化エラーコード136を大きな格納領域を要する値
で定義した場合には、より大きくなるためである。
【0046】このために、共通化エラーコード136の
値を小さくすることが有効であるが、そのようにする
と、CPUの命令セットの仕様から新たな問題点を生じ
る。以下、それについて、図4ないし図7を用いて説明
する。図4は、汎用レジスタでゼロ拡張する際の説明図
である。図5は、ゼロ拡張された汎用レジスタの値を負
にする際の説明図である。図6は、汎用レジスタで符号
拡張する際の説明図である。図7は、符号拡張された汎
用レジスタの値をもとに戻す際の説明図である。
【0047】CPUの命令セットの仕様としては、汎用
レジスタに格納可能な範囲より比較的小さな値を格納す
る際に先ずゼロ拡張するもの、同じく先ず符号拡張する
ものが現存する。
【0048】図4のように、命令セットの仕様として、
小さな値を汎用レジスタにロードするときには、ゼロ拡
張されるものがある。このときには、上の例では、CP
U121αは、小さな正の値である定数データを、戻り
値格納用途レジスタ126または一時変数格納用途レジ
スタ125の下位部161に格納し、上位部162をゼ
ロ拡張する作業を1命令でおこなうことになる。
【0049】また、図5に示されように、ゼロ拡張され
た汎用レジスタの値を負にするためには、上位部に0を
2の補数変換処理命令163を施すなどの処理が必要に
なる。
【0050】したがって、共通化エラーコード136の
値を小さくしても、共通化エラーコード136の値を負
のコードで定義して、しかも、レジスタにロードすると
きの命令セットの仕様が、上記のようにゼロ拡張するも
のであるときには、2の補数変換処理命令163等が追
加することが必要になり、その分だけ、実行プログラム
コード−A131aや実行環境差異吸収プログラムコー
ド−A132aの命令数が増え、ROM効率が悪くなる
と言う問題点が生ずる。
【0051】一方、図6のように、命令セットの仕様と
して、小さな値を汎用レジスタにロードするときには、
符号拡張されるものがある。このときには、上の例で
は、CPU121βは、小さな正の値である定数データ
を、戻り値格納用途レジスタ126または一時変数格納
用途レジスタ125の下位部161に格納する。そし
て、小さな値の符号ビットが0(正)のときには、レジ
スタの上位部を0にし、1(負)のときには、レジスタ
の上位部を1にする。この一連の動作は、一命令でおこ
なわれることになる。
【0052】図7は、負に符号拡張された汎用レジスタ
の値を、もとに戻す処理を示している。もし、小さな値
の定数データのMSB(Most Significant Bit)が1で
あるとする。このときに、この定数データを符号無しデ
ータとみなすか、符号付きデータでみなすかで表してい
る数値の意味が異なってくる。
【0053】そして、小さな値の定数データが、MSB
が1の符号無しデータであり、かつ、図6に示したよう
に符号拡張されたときには、上位部の1を再び0にする
必要が生じる。
【0054】このように、共通化エラーコード136の
値を小さくして、共通化エラーコード136の値を符号
無しのコードで定義しても、レジスタにロードするとき
の命令セットの仕様が、上記のように符号拡張するもの
であるときには、上位部に0をパックする命令165等
が追加することが必要になり、その分だけ、実行プログ
ラムコード−A131aや実行環境差異吸収プログラム
コード−A132aの命令数が増え、ROM効率が悪く
なると言う問題点が生ずる。
【0055】本発明は、上記問題点を解決するためにな
されたもので、その目的は、計算機システムの異なった
実行環境で実行させるときのアプリケーション・プログ
ラムにエラーコードを返す際に、既存の命令セットの体
系を活かしながら、その共通化コードのインプリメント
のためのROM効率を良くし、むだな命令を挿入するこ
とのない計算機システム構成方法を提供することにあ
る。
【0056】
【課題を解決するための手段】本発明では、実行環境の
差異を吸収するために定義されている共通化エラーコー
ド136を、定数格納領域134に格納しなくても良い
ようにするため、実行環境差異吸収プログラムコード1
32からの戻り値と共通化エラーコード136の値を同
じ値にし、CPU121の実行できるImmediat
eロード命令181に埋め込める範囲内とするという手
段を採る。
【0057】また、命令セットの仕様として、小さな値
を汎用レジスタにロードするときには、ゼロ拡張される
ようになっているとき、2の補数変換処理命令163等
を追加しなくても良いようにするために、共通化エラー
コード136を符号無しの正のデータとして定義する。
【0058】このように共通化エラーコード136を符
号無しの正のデータと定義することで、2の補数変換処
理命令163を追加しなくても良くなる。
【0059】したがって、実行プログラムコード131
や実行環境差異吸収プログラムコード132において、
そのような命令を追加しなくても良くなり、ROM効率
を良くすることができ、そのような命令を実行しなくて
良いため、性能の低下も防止できる。
【0060】また、命令セットの仕様として、小さな値
を汎用レジスタにロードするときには、符号拡張される
ようになっているとき、ゼロ埋め込み命令165を追加
しなくても良いようにするため、共通化エラーコード1
36の値を、Immediate設定部182のMSB
をゼロとして表せる数値範囲内にする。
【0061】このように共通化エラーコード136の値
を、Immediate設定部182のMSBをゼロと
して表せる数値範囲内にすることで、ゼロ埋め込み命令
165を追加しなくても良くなる。
【0062】したがって、共通化エラーコード136
を、Immediate設定部182のMSBをゼロと
して表せる範囲の値に定義することで、ゼロ埋め込み命
令165の追加は考慮せずに済むことが可能となる。
【0063】したがって、実行プログラムコード131
や実行環境差異吸収プログラムコード132において、
そのような命令を追加しなくても良くなり、ROM効率
を良くすることができ、そのような命令を実行しなくて
良いため、性能の低下も防止できる。
【0064】上記のように共通化エラーコード136を
設定することで、命令セットとして、 Immedia
teロード命令を備えるCPU121に対し、実行プロ
グラムコード131や実行環境差異吸収プログラムコー
ド132に、機械語命令を追加したり、定数格納領域1
34の容量を増加させることなく、ROM効率を向上さ
せることが可能になる。
【0065】
【発明の実施の形態】以下、本発明に係る一実施形態
を、図8ないし図16を用いて説明する。 〔開発環境とハードウェア〕先ず、図8および図9を用
いて本発明に係る異種実行環境における計算機システム
構成方法のソフトウェア開発環境と、それを動作させる
ためのハードウェアについて説明する。なお、本実施形
態では、ソースプログラムの記述を、C言語でおこなっ
た場合を想定するものとする。図8は、本発明に係る異
種実行環境における計算機システム構成方法のソフトウ
ェア開発環境の処理の流れを説明するための図である。
図9は、本発明に係る異種実行環境における計算機シス
テム構成方法を実行するためのハードウェア構成図であ
る。
【0066】本発明は、複数の異なったOSでの開発環
境210を前提としている。
【0067】ソフトウェアの開発者は、アプリケーショ
ンのプログラムが記述したアプリケーション本体100
と、共通化関数102のソースコードを入力して、通常
の開発手順の通り、プリプロセッサ211、Cコンパイ
ラ212、アセンブラ213、リンカ214と言うソフ
トウェアツールにより、実行プログラムを作成する。
【0068】プリプロセッサ211は、条件によって加
工したり、読み飛ばしたり、他プログラムを組み込んだ
りマクロ定義処理などをおこなうCコンパイラに入る前
の前処理のためのツールである。Cコンパイラ212
は、記述されたテキストコードに対して、構文解析・意
味解析などをおこない、適当なアセンブラコードを生成
するものである。アセンブラ213は、アセンブラコー
ドをCPU121で実行させる機械語に変換するツール
である。
【0069】リンカ214は、ライブラリ190から適
当なプログラムコードを選び、数種のプログラムコード
ファイルを結合して最終的にハードウェア上で実行させ
る実行プログラムを作成する。本実施形態の例では、ア
プリケーション本体100をコンパイルした実行プログ
ラムコード131、実行環境差異吸収プログラムコード
132、および、OSのコードといった必要なモジュー
ルと、定数格納領域134、スタック領域130などの
データ部分とを結合させて、実際にCPU121に実行
させる実行形式のモジュールを作成する。このライブラ
リ190には、実効環境に依存する実行環境プログラム
コードが含まれていて、機能に応じてリンカ214によ
り適当なプログラムが取りこまれて結合される。
【0070】OSコンフィグレータ191は、アプリケ
ーションソフトウェア開発者に、ターゲットとするOS
107の諸機能を選択および設定させカスタマイズ化さ
れたOS107のプログラムコードを作成するソフトウ
ェアツールである。
【0071】ハードウェア106は、CPU121、D
evice201、ワーキングメモリ202から構成さ
れている。
【0072】最終的にCPU121上で実行する実行プ
ログラムとOS107は、ワーキングメモリ202に配
置される。
【0073】ワーキングメモリ202は、ROMとRA
Mであり、実行形式のモジュールとして、ユーザの実行
プログラムと実行環境差異吸収プログラム、OSのモジ
ュールが格納される。また、データとしては、定数格納
領域134、スタック領域130が格納される。
【0074】本実施形態のソフトウェア開発環境は、メ
インフレーム、パーソナルコンピュータやワークステー
ション等の汎用計算機上に実装することが可能である。
【0075】最終的に実行プログラムを動作させること
のできるハードウェア106を作成する手順を示すと以
下の様になる。
【0076】すなわち、アプリケーションソフトウェア
開発者は、汎用計算機上に定義されているターゲットの
OS107に対応するOS別プログラム開発環境210
を選択する。そして、選択されたOS別プログラム開発
環境210に付随しているOSコンフィグレータ191
を用いてカスタマイズしたOS107のプログラムコー
ドを作成する。
【0077】次に、そのOS107のOSプログラムコ
ード133と実行プログラムコード131と実行環境差
異吸収プログラムコード132をリンクしてできあがっ
たプログラムコード全体をワーキングメモリ202に組
み込む。また、予めOS107のOSプログラムコード
133が搭載されたワーキングメモリ202に、後から
実行プログラムコード131と実行環境差異プログラム
コード132をリンクしてできあがったプログラムコー
ドを組み込み、動的にリンクしながら実行させるように
しても良い。
【0078】ここで、ハードウェア106は、実行プロ
グラムを実行できるような機構を備えていれば良いが、
本実施形態では、主にプログラムをワーキングメモリに
組み込んだシステムLSIなどを想定している。
【0079】以下、図9を用いてこのハードウェア10
6の構成の例について詳細に説明する。
【0080】CPU121は、命令を実行し、計算をお
こなうハードウェア106のメインのコンポーネントで
あり、図3で説明したような汎用レジスタ群222を備
えている。汎用レジスタ群222に含まれるのは、引数
格納用途レジスタ124、一時変数格納用途レジスタ1
25と、戻り値格納用途レジスタ126、ユーザ使用汎
用レジスタ127、スタックポインタレジスタ128、
プログラムカウンタレジスタ129などである。
【0081】RAM123は、いつでも書き込みが可能
なメモリエリアである。このRAM123に、スタック
領域205が実装されている。ROM122は、通常は
書きこむことができず、読みだし専用のメモリエリアで
ある。例えば、LSIの製造時にのみ情報を書きこみ、
通常の実行時には、このメモリエリアからは、情報を読
むだけである。ROM122には、定数格納領域134
が実装される。そして、ROM203bまたはRAM1
23の一部には、実行プログラム110と実行環境差異
プログラム111とOSのプログラムコードが組み込ま
れ、CPU121に読み出されて実行される。
【0082】デバイス201は、各種機能を持つハード
ウェア106のコンポーネントであり、ハードウェア1
06がシステムLSIの場合には、LSI上に構成され
る特殊機能の処理回路である。具体的には、I/O(In
put/Output),ASIC(Application Specific Integ
rated Circuits),FPGA(Field Programmable Gat
e Arrays),DSP(Digital Signal Processor)など
が考えられる。
【0083】I/Oは、例えば、A/D変換器、D/A
変換器、RS232−C処理回路、SCSI処理回路で
ある。ASICは、例えば、MPEG Video符号
器、MP3復号器等の専用処理回路である。FPGA
は、ハードウェア構成を可変にできるICを言う。DS
Pは、ディジタル信号処理専用のICである。
【0084】これらのコンポーネントは、信号の共通の
通り道であるバス203により、情報のやり取りをす
る。 〔Immediateロード命令〕本発明は、実行環境
の差異を吸収するレイヤにおいて、共通エラーコードを
返すときに、Immediateロード命令を用いるこ
とに特徴がある。そのため、次に、図10ないし図12
を用いてImmediateロード命令の形式と機能に
ついて説明する。図10は、Immediateロード
命令の形式を示した図である。図11は、Immedi
ateロード命令の他の形式を示した図である。図12
は、本発明に係る計算機システム構成方法において、共
通化エラーコードとImmediateロード命令の関
係を示す図である。
【0085】Immediateロード命令181i
は、Immediate値(即値、定数データ)を、指
定されたレジスタに持ってくる命令である。その命令語
としての形式は、例えば、図10に示されるようにIm
mediate設定部182と汎用レジスタ選択部18
3とオペコード部184で構成される。オペコード部1
84は、命令の種類および機能を表すコードが入る部分
である。汎用レジスタ選択部183は、ロードするレジ
スタの番号を指定する。Immediate設定部18
2は、Immediate値を保持する部分である。
【0086】CPU121は、オペコード部184か
ら、命令の種類および機能がImmediateロード
命令181であることを判別し、Immediate設
定部182に指定されたImmediate値を、汎用
レジスタ選択部183で指定された汎用レジスタに格納
する。
【0087】したがって、コンパイルする以前に共通化
エラーコード136の値と実行環境差異吸収プログラム
コード132の戻り値をImmediate設定部18
2の扱える範囲の数値と定義しておくと、例えば、Cコ
ンパイラ108は、定数格納領域データロード命令14
3の代わりに、実行環境の差異を吸収するための共通化
エラーコード136を、ユーザが記述したアプリケーシ
ョンに返すために、戻り値格納レジスタに設定する命令
などについて、その共通化エラーコード136をImm
ediate設定部182に保持するImmediat
eロード命令181を作成してくれる。
【0088】本発明では、図12に示したように、Im
mediateロード命令181のImmediate
設定部182に共通化エラーコード136を定義してお
き、そのImmediate設定部182のMSBを0
として表せる正の値の範囲に設定する。
【0089】また、CPUの命令セットとして、図10
に示した形式のImmediateロード命令181i
の他に、図11に示した形式を持ち、ロードする汎用レ
ジスタを複数設定できるImmediateロード命令
181jを有することもあるが、このImmediat
eロード命令181jを、共通化エラーコード136の
設定のために、Immediateロード命令181i
と全く同様に使用することができる。 〔共通化エラーコードの具体例〕次に、図13を用いて
本発明で設定する共通化エラーコードの具体例について
説明する。図13は、本発明の計算機システム構成方法
に係る共通化エラーコードの具体例を示す図である。
【0090】図13に示した共通化エラーコードは、I
mmediateロード命令181のImmediat
e選択部182として、例えば、1バイト長、2バイト
長の場合が想定できる。 〔プログラムコードとImmediateロード命令の
関係〕次に、図14を用いてプログラムコードとImm
ediateロード命令の関係を説明する。図14は、
プログラムコードにImmediateロード命令が埋
め込まれているときの計算機システム−A105aで取
扱われるデータ、プログラムコードと、レジスタ、メモ
リなどの関連をあらわす図である。
【0091】実行プログラムコード131は、アプリケ
ーション本体をコンパイルして作られる実行形式のモジ
ュールであり、実行環境差異吸収プログラムコード13
2は、共通関数をコンパイルしてり、必要なモジュール
をリンクして得られる実行形式のモジュールである。こ
れらの実行形式のモジュールは、ハードウェア106の
ROM122またはRAM123上に実装される。
【0092】図14に示された実行プログラムコード1
31および実行環境差異吸収プログラムコード132に
は、図4により説明した定数格納領域データロード命令
143の代わりに、Immediateロード命令18
1が利用される。そのImmediateロード命令1
81内部のImmediate選択部182は、MSB
164が0になっている。そして、MSB164以外の
Immediate部281には、共通化インターフェ
ース102により定められている共通化エラーコード1
36が埋め込まれている。
【0093】したがって、この場合に、共通化エラーコ
ードを定数格納領域に保持する必要がなくなる。 〔Cソースプログラムの例〕次に、図15および図16
を用いて本発明の計算機システム構成方法の開発環境で
準備されるCソースプログラムの例について説明する。
図15は、本発明の開発環境の共通化関数のCソースプ
ログラムの例を示した図である。図16は、本発明の開
発環境のアプリケーションソフトウェアのCソースプロ
グラムの例を示した図である。
【0094】共通化関数101は、ユーザにシステムの
機能を提供する関数であり、ユーザに対する関数インタ
フェースとしては、共通化インターフェース102を公
開する。共通化インターフェース102は、実質上、C
言語仕様でいう関数定義のことであり、インターフェー
ス機能名称242、引数のデータ型243、戻り値のデ
ータ型244を定義している。この図15に示す例で
は、インターフェース機能名称242は、「WPR_Wait_M
ail」であり、引数は二つであり、引数のデータ型24
3として、共に「int」型、戻り値のデータ型244
は、「unsigned int」型である。
【0095】共通化関数のCソースプログラム241に
は、実行環境の差異を吸収するためのコーディングがな
される。例えば、計算機システム−A105aの実行開
発環境−A104a上で動作させる場合には、そのOS
−A107aのシステムコール245aをコールするコ
ーディングがなされる。また、計算機システム−B10
5bの実行開発環境−B104b上で動作させる場合に
は、そのOS−B107bのシステムコール245aを
コールするコーディングがなされる。
【0096】このように共通化関数101を用いること
により、ユーザに対して実行環境の差異を隠蔽すること
が可能であり、ユーザのアプリケーションからすると共
通化インタフェース102とその関数の機能のみを意識
すれば良い。
【0097】実行開発環境−A104a上で動作させる
共通化関数101の内部の処理としては、図15に示さ
れるように、例えばシステムコール245aを介して所
望の処理をおこない、その結果、OS−A107aから
戻されるシステムコールのOS−A107a依存エラー
コード135u,135vを判別して、共通化インター
フェース102定義の共通化エラーコード136u,1
36v,136wを共通化関数101から戻り値として
返すことにする。これまで述べてきたように、共通化エ
ラーコード136の数値は、実行開発環境104および
計算機システム105に全く依存しないように、共通化
した定義を用いる。
【0098】そして、共通化エラーコード136の値
を、Immediateロード命令181におけるIm
mediate設定部182のMSBを0として表せる
数値範囲であり、かつ、符号無しと定義するので、戻り
値のデータ型244と共に少なくともC言語仕様でデー
タ型として用いられるunsigned型で宣言する。図15の
共通化関数101では、汎用レジスタ群222と同じb
it長とし、unsigned int型で記述しているが、共通化
エラーコード136をunsigned short型、 unsigned ch
ar型といった汎用レジスタ群222のbit長よりも短
く定義しても構わない。
【0099】次に、この共通化関数101を呼出すアプ
リケーションソフトウェアのCソースプログラムを示す
と、図16のようになる。この例では、アプリケーショ
ンプログラム関数261「ApplicationTask」が、共通
化関数101「WPR_Wait_Mail」を呼出している。
【0100】このアプリケーションプログラム関数26
1は、内部で共通化関数101を呼出すだけであり、実
行環境に依存するコーディング入れないため、アプリケ
ーションレベルの開発においては、全く実行環境、O
S、実行される計算機を意識する必要はない。
【0101】図16に示した例では、アプリケーション
プログラム関数261「ApplicationTask」が、共通化
関数101「WPR_Wait_Mail」を呼出し、戻り値をerror
_stateという変数263に入れて、その後、それが共通
化エラーコード136u,136vのどれにあたるを判
定し、その処理を分岐させている。戻り値をerror_stat
eと言う変数の型は、当然、共通化関数101「WPR_Wai
t_Mail」の戻り値の型と同じであり、共通化エラーコー
ド136の定義した型であるunsigned int型である。ま
た、共通化エラーコード136の型が、他のunsigned s
hort型、unsigned char型等のときには、その宣言した変
数263に格納する。変数263は、アプリケーション
プログラム関数261でC言語仕様のローカル変数宣言
またはグローバル変数宣言されているかどうかに従い、
OS別プログラム開発環境201によりそれぞれ、局所
変数及び一時変数としてスタック領域130またはグロ
ーバル変数としてスタック領域130以外のRAM領域
に実装される。
【0102】
【発明の効果】本発明によれば、計算機システムの異な
った実行環境で実行させるときのアプリケーション・プ
ログラムにエラーコードを返す際に、既存の命令セット
の体系を活かしながら、その共通化コードのインプリメ
ントのためのROM効率を良くし、むだな命令を挿入す
ることのない計算機システム構成方法を提供することが
できる。
【図面の簡単な説明】
【図1】特開平8―63363号公報の「仮想実行環境
システム」のシステム概要図である。
【図2】異種実行環境においてソフトウェア開発をおこ
なうときの概念図である。
【図3】計算機システム−A105aで取扱われるデー
タ、プログラムコードと、レジスタ、メモリなどの関連
をあらわす図である。
【図4】汎用レジスタでゼロ拡張する際の説明図であ
る。
【図5】ゼロ拡張された汎用レジスタの値を負にする際
の説明図である。
【図6】汎用レジスタで符号拡張する際の説明図であ
る。
【図7】符号拡張された汎用レジスタの値をもとに戻す
際の説明図である。
【図8】本発明に係る異種実行環境における計算機シス
テム構成方法のソフトウェア開発環境の処理の流れを説
明するための図である。
【図9】本発明に係る異種実行環境における計算機シス
テム構成方法を実行するためのハードウェア構成図であ
る。
【図10】Immediateロード命令の形式を示し
た図である。
【図11】Immediateロード命令の他の形式を
示した図である。
【図12】本発明に係る計算機システム構成方法におい
て、共通化エラーコードとImmediateロード命
令の関係を示す図である。
【図13】本発明の計算機システム構成方法に係る共通
化エラーコードの具体例を示す図である。
【図14】プログラムコードにImmediateロー
ド命令が埋め込まれているときの計算機システム−A1
05aで取扱われるデータ、プログラムコードと、レジ
スタ、メモリなどの関連をあらわす図である。
【図15】本発明の開発環境の共通化関数のCソースプ
ログラムの例を示した図である。
【図16】本発明の開発環境のアプリケーションソフト
ウェアのCソースプログラムの例を示した図である。
【符号の説明】
10…アプリケーションソフトウェア 11…プログラム本体 12…置換情報記述部 20…仮想実行環境実現システム 21…翻訳部(既存OS用コンパイラ) 22…実行部(仮想実行環境実現部) 30…実行可能プログラム 60…既存オペレーティング・システム 100…アプリケーション本体 101…共通化インターフェース 102…共通化関数 103…実行環境プログラム 104…実行環境 105…計算機システム 106…ハードウェア 107…OS 108…Cコンパイラ 109…リンカ 110…実行プログラム 111…実行環境差異吸収プログラム 121…CPU 122…ROM 123…RAM 124…引数格納用途レジスタ 125…一時変数格納用途レジスタ 126…戻り値格納用途レジスタ 127…ユーザ使用汎用レジスタ 128…スタックポインタレジスタ 129…プログラムカウンタレジスタ 130…スタック領域 131…実行プログラムコード 132…実行環境差異吸収プログラムコード 133…OSプログラムコード 134…定数格納領域 135…OS依存エラーコード 136…共通化エラーコード 137…実行プログラム開始番地 138…実行プログラム終了番地 139…ジャンプ命令 140…ソフトウェア割り込み命令またはジャンプ命令 141…リターン命令 142…実行環境差異吸収プログラムコードへの戻り先
番地 143…定数格納領域データロード命令 144…比較命令 145…実行プログラムへの戻り先番地 161…下位部 162…上位部 163…2の補数変換処理命令 164…MSB 165…ゼロ埋め込み命令 181…Immediateロード命令 182…Immediate設定部 183…汎用レジスタ選択部 184…オペコード部 190…ライブラリ 191…OSコンフィグレータ 201…デバイス 202…ワーキングメモリ 203…バス 210…OS別プログラム開発環境 211…プリプロセッサ 212…Cコンパイラ 213…アセンブラ 214…リンカ 222…汎用レジスタ群 241…共通化関数のCソースプログラム 242…インターフェース機能名称 243…引数のデータ型 244…戻り値のデータ型 245…システムコール 261…アプリケーションプログラム関数 262…引数 263…変数 281…MSB以外のImmediate部

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 計算機システムの異なった実行環境で実
    行させるときのアプリケーション・プログラムにエラー
    コードを返す際の異種実行環境における計算機システム
    構成方法において、 この計算機システムは、ハードウェアとして汎用レジス
    タを有するCPUと、そのハードウェア上で実行させる
    オペレーティングシステムとを持ち、 前記CPUの命令セットとしては、前記汎用レジスタに
    Immediate値を格納するImmediateロ
    ード命令を含み、 前記オペレーティングシステム上で実行させる実行プロ
    グラムとしては、前記アプリケーション・プログラムに
    対応する実行プログラムと、異なった実行環境の差異を
    吸収する実行環境差異吸収プログラムとからなり、 前記実行環境差異吸収プログラムから前記アプリケーシ
    ョン・プログラムに対応する実行プログラムに、制御が
    戻るときに返すエラーコードを実行環境によらない共通
    化エラーコードとして定義しておき、 しかも、この共通化エラーコードを、前記Immedi
    ateロード命令で設定可能な数値範囲内の値として定
    め、 前記共通化エラーコードを、前記Immediateロ
    ード命令の命令コード内に保持することを特徴とする異
    種実行環境における計算機システム構成方法。
  2. 【請求項2】 前記共通化エラーコードを、前記Imm
    ediate値のMSBをゼロとした数値範囲内で定め
    ることを特徴とする請求項1記載の異種実行環境におけ
    る計算機システム構成方法。
  3. 【請求項3】 前記命令セットの仕様として、前記汎用
    レジスタのビット数より小さいデータを、前記汎用レジ
    スタにロードするときに、そのデータの先頭部を自動的
    にゼロ拡張するようになっているときに、 前記共通化エラーコードを、符号無しの正の数で定める
    ことを特徴とする請求項1記載の異種実行環境における
    計算機システム構成方法。
  4. 【請求項4】 前記命令セットの仕様として、前記汎用
    レジスタのビット数より小さいデータを、前記汎用レジ
    スタにロードするときに、そのデータの先頭部を自動的
    に符号拡張するようになっているときに、 前記共通化エラーコードを、前記Immediate値
    のMSBをゼロとした数値範囲内で定めることを特徴と
    する請求項1記載の異種実行環境における計算機システ
    ム構成方法。
  5. 【請求項5】 計算機システムの異なった実行環境で実
    行させるときのアプリケーション・プログラムにエラー
    コードを返す際の異種実行環境で実行させるためのプロ
    グラムにおいて、 この計算機システムは、ハードウェアとして汎用レジス
    タを有するCPUと、そのハードウェア上で実行させる
    オペレーティングシステムとを持ち、 前記CPUの命令セットとしては、前記汎用レジスタに
    Immediate値を格納するImmediateロ
    ード命令を含み、 前記オペレーティングシステム上で実行させる実行プロ
    グラムとしては、前記アプリケーション・プログラムに
    対応する実行プログラムと、異なった実行環境の差異を
    吸収する実行環境差異吸収プログラムとからなり、 前記実行環境差異吸収プログラムから前記アプリケーシ
    ョン・プログラムに対応する実行プログラムに、制御が
    戻るときに返すエラーコードを実行環境によらない共通
    化エラーコードとして定義しておき、 しかも、この共通化エラーコードを、前記Immedi
    ateロード命令で設定可能な数値範囲内の値として定
    め、 前記共通化エラーコードを、前記Immediateロ
    ード命令の命令コード内に保持して、 前記アプリケーション・プログラムに対応する実行プロ
    グラム内のコードと前記実行環境差異吸収プログラム内
    のコードにのみ共通化エラーコードの情報を含むことを
    特徴とする異種実行環境で実行させるためのプログラ
    ム。
JP2001290986A 2001-09-25 2001-09-25 計算機システム Expired - Fee Related JP4755371B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001290986A JP4755371B2 (ja) 2001-09-25 2001-09-25 計算機システム
US10/075,381 US6934892B2 (en) 2001-09-25 2002-02-15 Computing system construction method under execution environment to be dependent on OS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001290986A JP4755371B2 (ja) 2001-09-25 2001-09-25 計算機システム

Publications (3)

Publication Number Publication Date
JP2003099254A true JP2003099254A (ja) 2003-04-04
JP2003099254A5 JP2003099254A5 (ja) 2006-03-16
JP4755371B2 JP4755371B2 (ja) 2011-08-24

Family

ID=19113205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001290986A Expired - Fee Related JP4755371B2 (ja) 2001-09-25 2001-09-25 計算機システム

Country Status (2)

Country Link
US (1) US6934892B2 (ja)
JP (1) JP4755371B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012194845A (ja) * 2011-03-17 2012-10-11 Fujitsu Semiconductor Ltd ラッパープログラム及び集積回路装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006024233B4 (de) * 2006-05-23 2016-11-10 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren und Vorrichtung für ein Fehlertoleranzmanagement einer Softwarekomponente
WO2014158161A1 (en) * 2013-03-28 2014-10-02 Hewlett-Packard Development Company, L.P. Error coordination message for a blade device having a logical processor in another system firmware domain
CN110096339B (zh) * 2019-05-10 2020-08-04 重庆八戒电子商务有限公司 一种基于系统负载实现的扩缩容配置推荐系统及方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863363A (ja) 1994-08-25 1996-03-08 Fujitsu Ltd 仮想実行環境実現システム
JP2001101033A (ja) * 1999-09-27 2001-04-13 Hitachi Ltd オペレーティングシステム及びアプリケーションプログラムの障害監視方法
US6523137B1 (en) * 1999-10-12 2003-02-18 Cisco Technology, Inc. Method and system for remote testing of application program interfaces
US6769115B1 (en) * 2000-05-01 2004-07-27 Emc Corporation Adaptive interface for a software development environment
US7496896B2 (en) * 2003-07-17 2009-02-24 Computer Associates Think, Inc. Accessing return values and exceptions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012194845A (ja) * 2011-03-17 2012-10-11 Fujitsu Semiconductor Ltd ラッパープログラム及び集積回路装置
US8898524B2 (en) 2011-03-17 2014-11-25 Fujitsu Semiconductor Limited Computer-readable medium storing wrapper program and integrated circuit apparatus

Also Published As

Publication number Publication date
JP4755371B2 (ja) 2011-08-24
US20030061543A1 (en) 2003-03-27
US6934892B2 (en) 2005-08-23

Similar Documents

Publication Publication Date Title
US8423976B2 (en) Extreme pipeline and optimized reordering technology
US8832672B2 (en) Ensuring register availability for dynamic binary optimization
US5586328A (en) Module dependency based incremental compiler and method
US5933642A (en) Compiling system and method for reconfigurable computing
US9495136B2 (en) Using aliasing information for dynamic binary optimization
EP1145111B1 (en) Method for directly inlining virtual calls without on-stack replacement
JPH0731604B2 (ja) 目標コンピュータ・システム、異なるコンピュータ・システム間でプログラムを実行する方法
KR20070118663A (ko) 고유 명령어를 이용한 레지스터 화일로서의 오퍼랜드스택에 대한 마이크로프로세서 엑세스
JPH0731605B2 (ja) コンピュータ・プログラムの第一バージョン処理方法
US20040003377A1 (en) Converting byte code instructions to a new instruction set
JP4041248B2 (ja) コンパイラ装置、コンパイルプログラムが記録されたコンピュータ読み取り可能な記録媒体及びコンパイル方法
Jones et al. Programming issues raised by a multiprocessor
Conway et al. Code generation for Mercury
US8549466B2 (en) Tiered register allocation
JP2003099254A (ja) 異種実行環境における計算機システム構成方法、および、異種実行環境で実行させるためのプログラム
JP2002182927A (ja) 異種実行環境におけるレジスタの割当て方法、異種実行環境におけるソフトウェア開発方法、および、それを実行するプログラムが組み込まれたlsi
US6941549B1 (en) Communicating between programs having different machine context organizations
Engel et al. Using a low-level virtual machine to improve dynamic aspect support in operating system kernels
Anderson et al. Supporting high level language semantics within hardware resident threads
Iliasov Templates-based portable just-in-time compiler
Kaur et al. Role of Compilers in Computer Architecture
CN116932085A (zh) 一种启动WebAssembly程序的方法、计算机设备及存储介质
CN116909652A (zh) 一种启动WebAssembly程序的方法、计算机设备及存储介质
Cores IAR C/C++ Compiler
Family IAR C/C++ Development Guide

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060130

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060130

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080502

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090409

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090810

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090825

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110414

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: 20110527

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140603

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees