JP2005267640A - 機能を呼び出す方法と装置 - Google Patents
機能を呼び出す方法と装置 Download PDFInfo
- Publication number
- JP2005267640A JP2005267640A JP2005076175A JP2005076175A JP2005267640A JP 2005267640 A JP2005267640 A JP 2005267640A JP 2005076175 A JP2005076175 A JP 2005076175A JP 2005076175 A JP2005076175 A JP 2005076175A JP 2005267640 A JP2005267640 A JP 2005267640A
- Authority
- JP
- Japan
- Prior art keywords
- handler
- instruction
- program
- native
- computer program
- 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
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/3005—Arrangements for executing specific machine instructions to perform operations for flow control
- G06F9/30054—Unconditional branch instructions
-
- 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/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
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)
- Advance Control (AREA)
Abstract
【解決手段】データ処理システム2は、データ処理動作を遂行する処理論理と、処理論理を制御するプログラム命令を復号する命令復号器18を含み、命令復号器は、ハンドラのベースアドレスHBAとインデックス値フィールドに依存して、ハンドラポインタを計算した後、そのハンドラポインタの位置に分岐するハンドラ分岐命令HLB、HBLPに応答する。分岐目標にあるハンドラ・プログラム24、26が実行されると、ハンドラ分岐命令を実行した時格納したリンクアドレス値を用いてハンドラ分岐命令に続くアドレスに処理が復帰する。
【選択図】図2
Description
データ処理動作を遂行するように動作可能な処理論理と、
プログラム命令によって指定されたデータ処理動作を遂行する前記処理論理を制御する前記プログラム命令を復号するように動作可能な命令復号器と、
を含み、
前記命令復号器は、ハンドラ分岐命令に応答して、
(i)ベース・アドレス・レジスタ内に格納されたベース・アドレスと、前記ハンドラ分岐命令内のインデックス値フィールドによって指定されるインデックス値とからハンドラ・ポインタを計算し、
(ii)前記ハンドラ・ポインタによって指示された位置にあるメモリに格納されたハンドラ・プログラムのプログラム命令の実行に分岐し、
(iii)前記ハンドラ・プログラムから復帰すると実行されるプログラム命令を格納するメモリ位置を指示する復帰アドレスを格納する。
前記処理論理を制御する前記命令復号器によって復号されたハンドラ分岐命令に応答して、
(i)ベース・アドレス・レジスタ内に格納されたベース・アドレスと、前記ハンドラ分岐命令内のインデックス値フィールドによって指定されるインデックス値とからハンドラ・ポインタを計算するステップと、
(ii)前記ハンドラ・ポインタによって指示された位置にあるメモリに格納されたハンドラ・プログラムのプログラム命令の実行に分岐するステップと、
(iii)前記ハンドラ・プログラムから復帰すると実行されるプログラム命令を格納するメモリ位置を指示する復帰アドレスを格納するステップと、
を含む。
前記命令復号器によって復号可能であるとともに、前記処理論理を制御するハンドラ分岐命令であって、
(i)ベース・アドレス・レジスタ内に格納されたベース・アドレスと、前記ハンドラ分岐命令内のインデックス値フィールドによって指定されるインデックス値とからハンドラ・ポインタを計算し、
(ii)前記ハンドラ・ポインタによって指示された位置にあるメモリに格納されたハンドラ・プログラムのプログラム命令の実行に分岐し、
(iii)前記ハンドラ・プログラムから復帰すると実行されるプログラム命令を格納するメモリ位置を指示する復帰アドレスを格納する、
ハンドラ分岐命令を含む。
前記処理論理を制御して、
(i)ベース・アドレス・レジスタ内に格納されたベース・アドレスと、前記ハンドラ分岐命令内のインデックス値フィールドによって指定されるインデックス値とからハンドラ・ポインタを計算し、
(ii)前記ハンドラ・ポインタによって指示された位置にあるメモリに格納されたハンドラ・プログラムのプログラム命令の実行に分岐し、
(iii)前記ハンドラ・プログラムから復帰すると実行されるプログラム命令を格納するメモリ位置を指示する復帰アドレスを格納する、
前記命令復号器によって復号可能なハンドラ分岐命令を含む。
4 メモリ
6 プロセッサ
8 コプロセッサ
10 レジスタ・ファイル、
14 乗算器
16 加算器
18 命令復号器
20 命令パイプライン
22 コプロセッサ構成レジスタ
24、26 ハンドラ・プログラム
44 Javaバイトコード・プログラム
46 Java仮想マシン
50 Thumb−2命令(変換されたプログラム)
Claims (60)
- データ処理動作を遂行するように動作可能な処理論理と、
プログラム命令によって指定されたデータ処理動作を遂行する前記処理論理を制御する前記プログラム命令を復号するように動作可能な命令復号器と、
を含むデータ処理装置において、
前記命令復号器は、ハンドラ分岐命令に応答して、
(i)ベース・アドレス・レジスタ内に格納されたベース・アドレスと、前記ハンドラ分岐命令内のインデックス値フィールドによって指定されるインデックス値とからハンドラ・ポインタを計算し、
(ii)前記ハンドラ・ポインタによって指示された位置にあるメモリに格納されたハンドラ・プログラムのプログラム命令の実行に分岐し、
(iii)前記ハンドラ・プログラムから復帰すると実行されるプログラム命令を格納するメモリ位置を指示する復帰アドレスを格納する、
データ処理装置。 - 請求項1に記載の装置において、前記ベース・アドレス・レジスタは、コプロセッサ構成レジスタである前記装置。
- 請求項1に記載の装置において、前記インデックス値は、前記ハンドラ・ポインタを計算するために使用される前に左方向論理シフトを受ける前記装置。
- 請求項1に記載の装置において、前記ハンドラ・ポインタは、前記ベース・アドレスと前記インデックス値とに依存する値の合計から計算される前記装置。
- 請求項1に記載の装置において、前記ハンドラ分岐命令は、即値フィールドを含み、前記命令復号器は、前記ハンドラ分岐命令に応答して前記処理論理を制御し、即値が前記ハンドラ・プログラムに対してアクセス可能であるように、前記即値フィールド内に格納された値に依存する即値を、所定のレジスタの中に格納する前記装置。
- 請求項5に記載の装置において、前記命令復号器は、第1の長さのインデックス値フィールドと即値フィールドとを含む第1の型式のハンドラ分岐命令と、前記第1の長さより長い第2の長さのインデックス値フィールドを含み即値フィールドを含まない第2の型式のハンドラ分岐命令とに応答する前記装置。
- 請求項1に記載の装置において、前記ハンドラ・プログラムは、前記命令復号器によって直接復号可能ではない非ネイティブ・プログラム命令である1つまたは複数のプログラム命令をエミュレートするように動作可能である前記装置。
- 請求項7に記載の装置において、各種型式の非ネイティブ・プログラム命令は、各種インデックス値に応答して分岐した先の各種ハンドラ・プログラムでエミュレートされる前記装置。
- 請求項8に記載の装置において、
所定の型式の非ネイティブ・プログラム命令の1つまたは複数は所定のハンドラ・プログラムによってエミュレートされ、
複数型式の非ネイティブ・プログラム命令の1つまたは複数は所定のハンドラ・プログラムによってエミュレートされ、
所定の型式の非ネイティブ・プログラム命令の1つまたは複数は、前記所定の型式の非ネイティブ・プログラム命令に関連する1つまたは複数のパラメータに依存して選択された、複数のハンドラ・プログラムの1つによってエミュレートされる、
前記装置。 - 請求項7に記載の装置において、前記非ネイティブ・プログラム命令は、対マシン独立型プログラム命令である前記装置。
- 請求項10に記載の装置において、前記対マシン独立型プログラム命令は、
Javaバイトコード、
MSILバイトコード、
CILバイトコード、
.NETバイトコード、
のなかの1つである前記装置。 - 請求項7に記載の装置において、前記非ネイティブ命令は、異なるデータ処理装置のネイティブ・プログラム命令である前記装置。
- 請求項12に記載の装置において、前記処理論理と前記命令復号器は、RISCプロセッサの一部であり、前記非ネイティブ命令はCISCプロセッサのネイティブ命令である前記装置。
- 請求項1に記載の装置において、前記ハンドラ・ポインタは、前記ハンドラ・プログラムの開始アドレスである前記装置。
- 請求項1に記載の装置において、前記ハンドラ・ポインタは、前記ハンドラ・プログラムの開始アドレスに実行を飛び越させるように動作可能な飛び越し命令のアドレスである前記装置。
- データ処理動作を遂行するように動作可能な処理論理と、プログラム命令によって指定されたデータ処理動作を遂行する前記処理論理を制御する前記プログラム命令を復号するように動作可能な命令復号器とを有するデータ処理装置を使用してデータを処理する方法であって、
前記処理論理を制御する前記命令復号器によって復号されたハンドラ分岐命令に応答して、
(i)ベース・アドレス・レジスタ内に格納されたベース・アドレスと、前記ハンドラ分岐命令内のインデックス値フィールドによって指定されたインデックス値とからハンドラ・ポインタを計算するステップと、
(ii)前記ハンドラ・ポインタによって指示された位置にあるメモリに格納されたハンドラ・プログラムのプログラム命令の実行に分岐するステップと、
(iii)前記ハンドラ・プログラムから復帰すると実行されるプログラム命令を格納するメモリ位置を指示する復帰アドレスを格納するステップと、
を含む方法。 - 請求項16に記載の方法において、前記ベース・アドレス・レジスタは、コプロセッサ構成レジスタである前記方法。
- 請求項16に記載の方法において、前記インデックス値は、前記ハンドラ・ポインタを計算するために使用される前に左方向論理シフトを受ける前記方法。
- 請求項16に記載の方法において、前記ハンドラ・ポインタは、前記ベース・アドレスと前記インデックス値とに依存する値の合計から計算される前記方法。
- 請求項16に記載の方法において、前記ハンドラ分岐命令は、即値フィールドを含み、前記命令復号器は、前記ハンドラ分岐命令に応答して前記処理論理を制御し、即値が前記ハンドラ・プログラムに対してアクセス可能であるように、前記即値フィールド内に格納された値に依存する即値を、所定のレジスタの中に格納する前記方法。
- 請求項20に記載の方法において、前記命令復号器は、第1の長さのインデックス値フィールドと即値フィールドとを含む第1の型式のハンドラ分岐命令と、前記第1の長さより長い第2の長さのインデックス値フィールドを含み即値フィールドを含まない第2の型式のハンドラ分岐命令とに応答する前記方法。
- 請求項16に記載の方法において、前記ハンドラ・プログラムは、前記命令復号器によって直接復号可能ではない非ネイティブ・プログラム命令である1つまたは複数のプログラム命令をエミュレートするように動作可能である前記方法。
- 請求項22に記載の方法において、各種型式の非ネイティブ・プログラム命令は、各種インデックス値に応答して分岐した先の各種ハンドラ・プログラムでエミュレートされる前記方法。
- 請求項23に記載の方法において、所定の型式の非ネイティブ・プログラム命令の1つまたは複数は所定のハンドラ・プログラムによってエミュレートされ、
複数型式の非ネイティブ・プログラム命令の1つまたは複数は所定のハンドラ・プログラムによってエミュレートされ、
所定の型式の非ネイティブ・プログラム命令の1つまたは複数は、前記所定の型式の非ネイティブ・プログラム命令に関連する1つまたは複数のパラメータに依存して選択された複数のハンドラ・プログラムの1つによってエミュレートされる、前記方法。 - 請求項22に記載の方法において、前記非ネイティブ・プログラム命令は、対マシン独立型プログラム命令である前記方法。
- 請求項25に記載の方法において、前記対マシン独立型プログラム命令は、
Javaバイトコード、
MSILバイトコード、
CILバイトコード、
.NETバイトコード、
のなかの1つである前記方法。 - 請求項22に記載の方法において、前記非ネイティブ命令は、異なるデータ処理装置のネイティブ・プログラム命令である前記方法。
- 請求項27に記載の方法において、前記処理論理と前記命令復号器は、RISCプロセッサの一部であり、前記非ネイティブ命令はCISCプロセッサのネイティブ命令である前記方法。
- 請求項16に記載の方法において、前記ハンドラ・ポインタは、前記ハンドラ・プログラムの開始アドレスである前記方法。
- 請求項16に記載の方法において、前記ハンドラ・ポインタは、前記ハンドラ・プログラムの開始アドレスに実行を飛び越させるように動作可能な飛び越し命令のアドレスである前記方法。
- データ処理動作を遂行するように動作可能な処理論理と、プログラム命令によって指定されたデータ処理動作を遂行する前記処理論理を制御する前記プログラム命令を復号するように動作可能な命令復号器とを有するデータ処理装置を制御するように動作可能なコンピュータプログラムを含むコンピュータプログラム製品であって、
前記処理論理を制御して、
(i)ベース・アドレス・レジスタ内に格納されたベース・アドレスと、前記ハンドラ分岐命令内のインデックス値フィールドによって指定されるインデックス値とからハンドラ・ポインタを計算し、
(ii)前記ハンドラ・ポインタによって指示された位置にあるメモリに格納されたハンドラ・プログラムのプログラム命令の実行に分岐し、
(iii)前記ハンドラ・プログラムから復帰すると実行されるプログラム命令を格納するメモリ位置を指示する復帰アドレスを格納する、
前記命令復号器によって復号可能なハンドラ分岐命令を含むコンピュータプログラム製品。 - 請求項31に記載のコンピュータプログラム製品において、前記ベース・アドレス・レジスタは、コプロセッサ構成レジスタである前記コンピュータプログラム製品。
- 請求項31に記載のコンピュータプログラム製品において、前記インデックス値は、前記ハンドラ・ポインタを計算するために使用される前に左方向論理シフトを受ける前記コンピュータプログラム製品。
- 請求項31に記載のコンピュータプログラム製品において、前記ハンドラ・ポインタは、前記ベース・アドレスと前記インデックス値とに依存する値の合計から計算される前記コンピュータプログラム製品。
- 請求項31に記載のコンピュータプログラム製品において、前記ハンドラ分岐命令は、即値フィールドを含み、前記命令復号器は、前記ハンドラ分岐命令に応答して前記処理論理を制御し、即値が前記ハンドラ・プログラムに対してアクセス可能であるように、前記即値フィールド内に格納された値に依存する即値を、所定のレジスタの中に格納する前記コンピュータプログラム製品。
- 請求項35に記載のコンピュータプログラム製品において、前記命令復号器は、第1の長さのインデックス値フィールドと即値フィールドとを含む第1の型式のハンドラ分岐命令と、前記第1の長さより長い第2の長さのインデックス値フィールドを含み即値フィールドを含まない第2の型式のハンドラ分岐命令とに応答する前記コンピュータプログラム製品。
- 請求項31に記載のコンピュータプログラム製品において、前記ハンドラ・プログラムは、前記命令復号器によって直接復号可能ではない非ネイティブ・プログラム命令である1つまたは複数のプログラム命令をエミュレートするように動作可能である前記コンピュータプログラム製品。
- 請求項37に記載のコンピュータプログラム製品において、各種型式の非ネイティブ・プログラム命令は、各種インデックス値に応答して分岐した先の各種ハンドラ・プログラムでエミュレートされる前記コンピュータプログラム製品。
- 請求項38に記載のコンピュータプログラム製品において、所定の型式の非ネイティブ・プログラム命令の1つまたは複数は所定のハンドラ・プログラムによってエミュレートされ、
複数型式の非ネイティブ・プログラム命令の1つまたは複数は所定のハンドラ・プログラムによってエミュレートされ、
所定の型式の非ネイティブ・プログラム命令の1つまたは複数は、前記所定の型式の非ネイティブ・プログラム命令に関連する1つまたは複数のパラメータに依存して選択された複数のハンドラ・プログラムの1つによってエミュレートされる、
前記コンピュータプログラム製品。 - 請求項37に記載のコンピュータプログラム製品において、前記非ネイティブ・プログラム命令は、対マシン独立型プログラム命令である前記コンピュータプログラム製品。
- 請求項40に記載のコンピュータプログラム製品において、前記対マシン独立型プログラム命令は、
Javaバイトコード、
MSILバイトコード、
CILバイトコード、
.NETバイトコード、
のなかの1つである前記コンピュータプログラム製品。 - 請求項37に記載のコンピュータプログラム製品において、前記非ネイティブ命令は、異なるデータ処理装置のネイティブ・プログラム命令である前記コンピュータプログラム製品。
- 請求項42に記載のコンピュータプログラム製品において、前記処理論理と前記命令復号器は、RISCプロセッサの一部であり、前記非ネイティブ命令はCISCプロセッサのネイティブ命令である前記コンピュータプログラム製品。
- 請求項31に記載のコンピュータプログラム製品において、前記ハンドラ・ポインタは、前記ハンドラ・プログラムの開始アドレスである前記コンピュータプログラム製品。
- 請求項31に記載のコンピュータプログラム製品において、前記ハンドラ・ポインタは、前記ハンドラ・プログラムの開始アドレスに実行を飛び越させるように動作可能な飛び越し命令のアドレスである前記コンピュータプログラム製品。
- 非ネイティブ・プログラム命令を変換し、データ処理動作を遂行するように動作可能な処理論理と、プログラム命令によって指定されたデータ処理動作を遂行する前記処理論理を制御する前記プログラム命令を復号するように動作可能な命令復号器とを有するデータ処理装置によって直接復号可能なネイティブ・プログラム命令を形成するように動作可能なコンピュータプログラムを含むコンピュータプログラム製品であって、
前記処理論理を制御して、
(i)ベース・アドレス・レジスタ内に格納されたベース・アドレスと、前記ハンドラ分岐命令内のインデックス値フィールドによって指定されるインデックス値とからハンドラ・ポインタを計算し、
(ii)前記ハンドラ・ポインタによって指示された位置にあるメモリに格納されたハンドラ・プログラムのプログラム命令の実行に分岐し、
(iii)前記ハンドラ・プログラムから復帰すると実行されるプログラム命令を格納するメモリ位置を指示する復帰アドレスを格納する、
前記命令復号器によって復号可能なハンドラ分岐命令を含むコンピュータプログラム製品。 - 請求項46に記載のコンピュータプログラム製品において、前記ベース・アドレス・レジスタは、コプロセッサ構成レジスタである前記コンピュータプログラム製品。
- 請求項46に記載のコンピュータプログラム製品において、前記インデックス値は、前記ハンドラ・ポインタを計算するために使用される前に左方向論理シフトを受ける前記コンピュータプログラム製品。
- 請求項46に記載のコンピュータプログラム製品において、前記ハンドラ・ポインタは、前記ベース・アドレスと前記インデックス値とに依存する値の合計から計算される前記コンピュータプログラム製品。
- 請求項46に記載のコンピュータプログラム製品において、前記ハンドラ分岐命令は、即値フィールドを含み、前記命令復号器は、前記ハンドラ分岐命令に応答して前記処理論理を制御し、即値が前記ハンドラ・プログラムに対してアクセス可能であるように、前記即値フィールド内に格納された値に依存する即値を、所定のレジスタの中に格納する前記コンピュータプログラム製品。
- 請求項50に記載のコンピュータプログラム製品において、前記命令復号器は、第1の長さのインデックス値フィールドと即値フィールドとを含む第1の型式のハンドラ分岐命令と、前記第1の長さより長い第2の長さのインデックス値フィールドを含み即値フィールドを含まない第2の型式のハンドラ分岐命令とに応答する前記コンピュータプログラム製品。
- 請求項46に記載のコンピュータプログラム製品において、前記ハンドラ・プログラムは、前記命令復号器によって直接復号可能ではない非ネイティブ・プログラム命令である1つまたは複数のプログラム命令をエミュレートするように動作可能である前記コンピュータプログラム製品。
- 請求項52に記載のコンピュータプログラム製品において、各種型式の非ネイティブ・プログラム命令は、各種インデックス値に応答して分岐した先の各種ハンドラ・プログラムでエミュレートされる前記コンピュータプログラム製品。
- 請求項53に記載のコンピュータプログラム製品において、
所定の型式の非ネイティブ・プログラム命令の1つまたは複数は所定のハンドラ・プログラムによってエミュレートされ、
複数型式の非ネイティブ・プログラム命令の1つまたは複数は所定のハンドラ・プログラムによってエミュレートされ、
所定の型式の非ネイティブ・プログラム命令の1つまたは複数は、前記所定の型式の非ネイティブ・プログラム命令に関連する1つまたは複数のパラメータに依存して選択された複数のハンドラ・プログラムの1つによってエミュレートされる、前記コンピュータプログラム製品。 - 請求項52に記載のコンピュータプログラム製品において、前記非ネイティブ・プログラム命令は、対マシン独立型プログラム命令である前記コンピュータプログラム製品。
- 請求項55に記載のコンピュータプログラム製品において、前記対マシン独立型プログラム命令は、
Javaバイトコード、
MSILバイトコード、
CILバイトコード、
.NETバイトコード、
のなかの1つである前記コンピュータプログラム製品。 - 請求項52に記載のコンピュータプログラム製品において、前記非ネイティブ命令は、異なるデータ処理装置のネイティブ・プログラム命令である前記コンピュータプログラム製品。
- 請求項57に記載のコンピュータプログラム製品において、前記処理論理と前記命令復号器は、RISCプロセッサの一部であり、前記非ネイティブ命令はCISCプロセッサのネイティブ命令である前記コンピュータプログラム製品。
- 請求項46に記載のコンピュータプログラム製品において、前記ハンドラ・ポインタは、前記ハンドラ・プログラムの開始アドレスである前記コンピュータプログラム製品。
- 請求項46に記載のコンピュータプログラム製品において、前記ハンドラ・ポインタは、前記ハンドラ・プログラムの開始アドレスに実行を飛び越させるように動作可能な飛び越し命令のアドレスである前記コンピュータプログラム製品。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB0406157A GB2412192B (en) | 2004-03-18 | 2004-03-18 | Function calling mechanism |
GB0406157.8 | 2004-03-18 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005267640A true JP2005267640A (ja) | 2005-09-29 |
JP4799016B2 JP4799016B2 (ja) | 2011-10-19 |
Family
ID=32117986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005076175A Active JP4799016B2 (ja) | 2004-03-18 | 2005-03-17 | 機能を呼び出す方法と装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7647489B2 (ja) |
JP (1) | JP4799016B2 (ja) |
GB (1) | GB2412192B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014081783A (ja) * | 2012-10-16 | 2014-05-08 | Renesas Electronics Corp | マイクロコントローラ、ハンドラアドレス特定方法及びプログラム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080177979A1 (en) * | 2006-03-01 | 2008-07-24 | Gheorghe Stefan | Hardware multi-core processor optimized for object oriented computing |
US7979685B1 (en) | 2007-11-27 | 2011-07-12 | Oracle America, Inc. | Multiple instruction execution mode resource-constrained device |
US9116685B2 (en) | 2011-07-19 | 2015-08-25 | Qualcomm Incorporated | Table call instruction for frequently called functions |
WO2013100999A1 (en) * | 2011-12-28 | 2013-07-04 | Intel Corporation | Enabling and disabling a second jump execution unit for branch misprediction |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01503181A (ja) * | 1987-03-24 | 1989-10-26 | インシグニア・ソリューションズ・リミテッド | コンピュータ |
JP2000267861A (ja) * | 1999-03-18 | 2000-09-29 | Toshiba Corp | インタプリタの実装方法及びインタプリタプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2001508909A (ja) * | 1997-10-02 | 2001-07-03 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | バーチャルマシン命令を処理するためのデータ処理装置 |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3889243A (en) | 1973-10-18 | 1975-06-10 | Ibm | Stack mechanism for a data processor |
US4236204A (en) | 1978-03-13 | 1980-11-25 | Motorola, Inc. | Instruction set modifier register |
US4587632A (en) | 1980-05-27 | 1986-05-06 | At&T Bell Laboratories | Lookahead stack oriented computer |
US4922414A (en) | 1982-12-17 | 1990-05-01 | Symbolics Inc. | Symbolic language data processing system |
US4862351A (en) * | 1983-09-01 | 1989-08-29 | Unisys Corporation | Method of executing called activities via depictor-linked low level language microcode, hardware logic, and high level language commands; and apparatus for same |
US5222221A (en) * | 1986-06-17 | 1993-06-22 | Yeda Research And Development Co., Ltd. | Method and apparatus for implementing a concurrent logic program |
DE3788877T2 (de) * | 1987-03-24 | 1994-06-23 | Insignia Solutions Ltd | Einrichtung zur software-emulation. |
DE3726192A1 (de) | 1987-08-06 | 1989-02-16 | Otto Mueller | Stacksteuerung |
US5136696A (en) | 1988-06-27 | 1992-08-04 | Prime Computer, Inc. | High-performance pipelined central processor for predicting the occurrence of executing single-cycle instructions and multicycle instructions |
US5440749A (en) | 1989-08-03 | 1995-08-08 | Nanotronics Corporation | High performance, low cost microprocessor architecture |
US5249280A (en) * | 1990-07-05 | 1993-09-28 | Motorola, Inc. | Microcomputer having a memory bank switching apparatus for accessing a selected memory bank in an external memory |
JP3333196B2 (ja) * | 1991-07-08 | 2002-10-07 | セイコーエプソン株式会社 | トラップ処理方法 |
EP0534597B1 (en) * | 1991-09-23 | 2000-04-26 | Intel Corporation | Computer system having software interrupt (INTN) instructions selectively operating in a virtual mode |
US5455775A (en) | 1993-01-25 | 1995-10-03 | International Business Machines Corporation | Computer design system for mapping a logical hierarchy into a physical hierarchy |
US5517651A (en) * | 1993-12-29 | 1996-05-14 | Intel Corporation | Method and apparatus for loading a segment register in a microprocessor capable of operating in multiple modes |
GB2289353B (en) | 1994-05-03 | 1997-08-27 | Advanced Risc Mach Ltd | Data processing with multiple instruction sets |
US5638525A (en) | 1995-02-10 | 1997-06-10 | Intel Corporation | Processor capable of executing programs that contain RISC and CISC instructions |
US5752035A (en) | 1995-04-05 | 1998-05-12 | Xilinx, Inc. | Method for compiling and executing programs for reprogrammable instruction set accelerator |
US5619665A (en) | 1995-04-13 | 1997-04-08 | Intrnational Business Machines Corporation | Method and apparatus for the transparent emulation of an existing instruction-set architecture by an arbitrary underlying instruction-set architecture |
US5819063A (en) * | 1995-09-11 | 1998-10-06 | International Business Machines Corporation | Method and data processing system for emulating a program |
US6112253A (en) * | 1995-10-12 | 2000-08-29 | International Business Machines Corporation | Object-oriented method maintenance mechanism that does not require cessation of the computer system or its programs |
US5838948A (en) | 1995-12-01 | 1998-11-17 | Eagle Design Automation, Inc. | System and method for simulation of computer systems combining hardware and software interaction |
US6038643A (en) | 1996-01-24 | 2000-03-14 | Sun Microsystems, Inc. | Stack management unit and method for a processor having a stack |
WO1997027544A1 (en) | 1996-01-24 | 1997-07-31 | Sun Microsystems, Inc. | Processor with accelerated array access bounds checking |
KR100529416B1 (ko) | 1996-01-24 | 2006-01-27 | 선 마이크로시스템즈 인코퍼레이티드 | 스택기반컴퓨터를위한명령폴딩방법및장치 |
EP0976029A2 (en) | 1996-01-24 | 2000-02-02 | Sun Microsystems, Inc. | A processor for executing instruction sets received from a network or from a local memory |
US5742802A (en) | 1996-02-16 | 1998-04-21 | International Business Machines Corporation | Method and system for efficiently mapping guest instruction in an emulation assist unit |
US6031992A (en) | 1996-07-05 | 2000-02-29 | Transmeta Corporation | Combining hardware and software to provide an improved microprocessor |
US5926832A (en) | 1996-09-26 | 1999-07-20 | Transmeta Corporation | Method and apparatus for aliasing memory data in an advanced microprocessor |
JP3330378B2 (ja) | 1996-11-13 | 2002-09-30 | ラツ,ヤイール | リアルタイムプログラム言語アクセラレータ |
US5937193A (en) | 1996-11-27 | 1999-08-10 | Vlsi Technology, Inc. | Circuit arrangement for translating platform-independent instructions for execution on a hardware platform and method thereof |
US5953741A (en) | 1996-11-27 | 1999-09-14 | Vlsi Technology, Inc. | Stack cache for stack-based processor and method thereof |
US6009499A (en) | 1997-03-31 | 1999-12-28 | Sun Microsystems, Inc | Pipelined stack caching circuit |
US5875336A (en) | 1997-03-31 | 1999-02-23 | International Business Machines Corporation | Method and system for translating a non-native bytecode to a set of codes native to a processor within a computer system |
US6272615B1 (en) * | 1997-05-02 | 2001-08-07 | Texas Instruments Incorporated | Data processing device with an indexed immediate addressing mode |
US6088786A (en) | 1997-06-27 | 2000-07-11 | Sun Microsystems, Inc. | Method and system for coupling a stack based processor to register based functional unit |
US5892966A (en) | 1997-06-27 | 1999-04-06 | Sun Microsystems, Inc. | Processor complex for executing multimedia functions |
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 |
US6317872B1 (en) | 1997-07-11 | 2001-11-13 | Rockwell Collins, Inc. | Real time processor optimized for executing JAVA programs |
US5870575A (en) * | 1997-09-22 | 1999-02-09 | International Business Machines Corporation | Indirect unconditional branches in data processing system emulation mode |
EP1359501A3 (en) | 1997-10-02 | 2007-11-21 | Koninklijke Philips Electronics N.V. | A processing device for executing virtual machine instructions |
US6009509A (en) | 1997-10-08 | 1999-12-28 | International Business Machines Corporation | Method and system for the temporary designation and utilization of a plurality of physical registers as a stack |
US6070173A (en) | 1997-11-26 | 2000-05-30 | International Business Machines Corporation | Method and apparatus for assisting garbage collection process within a java virtual machine |
US6122638A (en) | 1997-11-26 | 2000-09-19 | International Business Machines Corporation | Object-oriented processor and method for caching intermediate data in an object-oriented processor |
US6148391A (en) | 1998-03-26 | 2000-11-14 | Sun Microsystems, Inc. | System for simultaneously accessing one or more stack elements by multiple functional units using real stack addresses |
US6374286B1 (en) | 1998-04-06 | 2002-04-16 | Rockwell Collins, Inc. | Real time processor capable of concurrently running multiple independent JAVA machines |
JP2000122875A (ja) * | 1998-10-19 | 2000-04-28 | Internatl Business Mach Corp <Ibm> | 例外処理方法およびシステム |
US6332215B1 (en) | 1998-12-08 | 2001-12-18 | Nazomi Communications, Inc. | Java virtual machine hardware for RISC and CISC processors |
US6338134B1 (en) | 1998-12-29 | 2002-01-08 | International Business Machines Corporation | Method and system in a superscalar data processing system for the efficient processing of an instruction by moving only pointers to data |
US6363522B1 (en) * | 1999-04-23 | 2002-03-26 | Sun Microsystems, Inc. | Method and apparatus for handling exceptions as normal control flow |
US6907511B2 (en) * | 2001-06-11 | 2005-06-14 | Fujitsu Limited | Reducing transitions on address buses using instruction-set-aware system and method |
CN100382017C (zh) * | 2002-07-09 | 2008-04-16 | 徐肇昌 | 子序网模块及其调用方法 |
-
2004
- 2004-03-18 GB GB0406157A patent/GB2412192B/en not_active Expired - Lifetime
-
2005
- 2005-03-14 US US11/078,446 patent/US7647489B2/en active Active
- 2005-03-17 JP JP2005076175A patent/JP4799016B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01503181A (ja) * | 1987-03-24 | 1989-10-26 | インシグニア・ソリューションズ・リミテッド | コンピュータ |
JP2001508909A (ja) * | 1997-10-02 | 2001-07-03 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | バーチャルマシン命令を処理するためのデータ処理装置 |
JP2000267861A (ja) * | 1999-03-18 | 2000-09-29 | Toshiba Corp | インタプリタの実装方法及びインタプリタプログラムを記録したコンピュータ読み取り可能な記録媒体 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014081783A (ja) * | 2012-10-16 | 2014-05-08 | Renesas Electronics Corp | マイクロコントローラ、ハンドラアドレス特定方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
GB0406157D0 (en) | 2004-04-21 |
GB2412192A (en) | 2005-09-21 |
US7647489B2 (en) | 2010-01-12 |
US20050210226A1 (en) | 2005-09-22 |
GB2412192B (en) | 2007-08-29 |
JP4799016B2 (ja) | 2011-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1019794B1 (en) | Data processing device for processing virtual machine instructions | |
EP0950216B1 (en) | A processing device for executing virtual machine instructions | |
EP0938703B1 (en) | Real time program language accelerator | |
JP4485198B2 (ja) | Javaアクセラレータを備えたプロセッサシステム | |
US7080362B2 (en) | Java virtual machine hardware for RISC and CISC processors | |
US7200741B1 (en) | Microprocessor having main processor and co-processor | |
TWI279715B (en) | Method, system and machine-readable medium of translating and executing binary of program code, and apparatus to process binaries | |
JP4833499B2 (ja) | レジスタ内へのスタックオペランドの格納 | |
JP3786644B2 (ja) | バイトコンパイルされたJava(R)コードを実行するためのマイクロプロセッサ | |
JP2001195250A (ja) | 命令トランスレータ、トランスレータ付命令メモリおよびそれらを用いたデータ処理装置 | |
JP3193650B2 (ja) | オペレーティング・システムに影響を与えないエミュレーション・コンテキストの保管と復元を行う方法およびシステム | |
JP4799016B2 (ja) | 機能を呼び出す方法と装置 | |
JP4035004B2 (ja) | 情報処理装置 | |
JP4684571B2 (ja) | エミュレーションコンピュータ技術を実行する直接命令 | |
KR100867564B1 (ko) | 프로그램 제어 흐름에서 변경들을 이루기 위한 장치 및 방법 | |
KR100267434B1 (ko) | 제 1 처리 환경내에서 제 1 명령어를 에뮬레이션 환경내에서의제 2 명령어 처리 개시에 응하여 처리하는 방법 및 시스템 | |
JP2000330792A (ja) | バイトコードプログラム実行制御システム | |
US7930526B2 (en) | Compare and branch mechanism | |
JP2000122876A (ja) | 情報処理装置 | |
JP2003196085A (ja) | 情報処理装置 | |
JP4418509B2 (ja) | Javaアクセラレータを備えたプロセッサシステム | |
JP2005011350A (ja) | 未解決命令解決 | |
Cooper | The direct execution of intermediate languages on an Eclipse computer | |
JP2008004132A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070412 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100614 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100622 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100921 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100927 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101022 |
|
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: 20110726 |
|
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: 20110802 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140812 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4799016 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |