JP2002536759A - マイクロプロセッサ及びマイクロプロセッサでのアドレッシング方法 - Google Patents
マイクロプロセッサ及びマイクロプロセッサでのアドレッシング方法Info
- Publication number
- JP2002536759A JP2002536759A JP2000598923A JP2000598923A JP2002536759A JP 2002536759 A JP2002536759 A JP 2002536759A JP 2000598923 A JP2000598923 A JP 2000598923A JP 2000598923 A JP2000598923 A JP 2000598923A JP 2002536759 A JP2002536759 A JP 2002536759A
- Authority
- JP
- Japan
- Prior art keywords
- microprocessor
- instruction
- assembler
- length
- relative
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 16
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 1
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/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- 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/30181—Instruction operation extension or modification
- G06F9/30196—Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
-
- 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/324—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address using program counter relative addressing
-
- 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/355—Indexed addressing
- G06F9/3557—Indexed addressing using program counter as base address
Abstract
(57)【要約】
種々のアセンブラーの処理用マイクロプロセッサにおいて、その際、マイクロプロセッサ内にパラメータが設けられており、該パラメータは、各々のアセンブラーコードを示し、当該パラメータのセットの仕方に依存して、種々異なる相対アドレッシングが行われ、マイクロプロセッサでの相対アドレッシング方法において、作動状態又は各々のアセンブラコード用のパラメータに依存して、相対アドレスが種々異なって求められる。
Description
【0001】 本発明は、種々のアセンブラーの処理用マイクロプロセッサ及びマイクロプロ
セッサでの相対アドレッシング方法に関する。
セッサでの相対アドレッシング方法に関する。
【0002】 マイクロプロセッサによって処理され得るコンピュータプログラムは、所謂ア
センブラコード、即ち、マイクロプロセッサ用に直接実施可能なプログラミング
言語に変換される必要がある。現在、市場で種々のアセンブラコード、例えば、
JAVA(登録商標)バイトコード(JAVA−Byte−Code)又はEC O 2000アセンブラが慣用されている。
センブラコード、即ち、マイクロプロセッサ用に直接実施可能なプログラミング
言語に変換される必要がある。現在、市場で種々のアセンブラコード、例えば、
JAVA(登録商標)バイトコード(JAVA−Byte−Code)又はEC O 2000アセンブラが慣用されている。
【0003】 従来技術のマイクロプロセッサは、唯一のアセンブラコードだけを処理するこ
とができるように構成されている。コンピュータプログラムは、各プロセッサに
対して、その際各々用いられるべきアセンブラコードに変換される必要があるの
で、このような構成は当然不利である。
とができるように構成されている。コンピュータプログラムは、各プロセッサに
対して、その際各々用いられるべきアセンブラコードに変換される必要があるの
で、このような構成は当然不利である。
【0004】 本発明は、種々異なるアセンブラコードを処理することができるマイクロプロ
セッサの開発に使用される。その際、大きな難点は、種々異なるアセンブラコー
ドでの相対アドレスの算出を種々異なるプログラムカウンタ定義に関係付ける点
にある。例えば、JAVAバイトコードでの相対アドレッシングは、常に実際の
アセンブラ命令、ECO 2000アセンブラの場合、常に命令カウンタ状態(
直ぐ次に実施すべきアセンブラ命令を示す)に関係付けられる。
セッサの開発に使用される。その際、大きな難点は、種々異なるアセンブラコー
ドでの相対アドレスの算出を種々異なるプログラムカウンタ定義に関係付ける点
にある。例えば、JAVAバイトコードでの相対アドレッシングは、常に実際の
アセンブラ命令、ECO 2000アセンブラの場合、常に命令カウンタ状態(
直ぐ次に実施すべきアセンブラ命令を示す)に関係付けられる。
【0005】 従って、本発明が基づく課題は、正確な相対ジャンプ先又は正確な相対データ
に達するために、各々のアセンブラコードに依存して常に正確な相対アドレス算
出を行う、マイクロプロセッサでの相対アドレッシング用のマイクロプロセッサ
及び方法を提供することにある。
に達するために、各々のアセンブラコードに依存して常に正確な相対アドレス算
出を行う、マイクロプロセッサでの相対アドレッシング用のマイクロプロセッサ
及び方法を提供することにある。
【0006】 本発明によると、この課題は、パラメータが設けられており、該パラメータは
、各々のアセンブラーコードを示し、当該パラメータに依存して、種々異なる相
対アドレッシングが行われる、種々異なるアセンブラの処理用のマイクロプロセ
ッサにより解決される。
、各々のアセンブラーコードを示し、当該パラメータに依存して、種々異なる相
対アドレッシングが行われる、種々異なるアセンブラの処理用のマイクロプロセ
ッサにより解決される。
【0007】 その際、本発明によると、例えば、複数のプログラムカウンタを設けて、パラ
メータに依存して、相対アドレスの算出のために、当該プログラムカウンタの各
々1つを作動状態にすることができる。
メータに依存して、相対アドレスの算出のために、当該プログラムカウンタの各
々1つを作動状態にすることができる。
【0008】 その際、本発明によると、特に有利には、プログラムカウンタがマルチプレク
サと接続されており、マルチプレクサは、パラメータにより制御され、このマル
チプレクサの出力側は、相対アドレス用の計算ユニットと接続されている。この
ようにして、正確なプログラムカウンタの選択を非常に容易に行うことができる
。
サと接続されており、マルチプレクサは、パラメータにより制御され、このマル
チプレクサの出力側は、相対アドレス用の計算ユニットと接続されている。この
ようにして、正確なプログラムカウンタの選択を非常に容易に行うことができる
。
【0009】 更に、本発明によると、プログラムカウンタと、相対アドレス用の計算ユニッ
トとの間に加算機構が配属されていて、該加算機構の一方の入力側がプログラム
カウンタと接続されており、該加算機構の他方の入力側が、パラメータによって
制御されるマルチプレクサを介して、命令長用のメモリ又は値0と接続され、当
該加算機構の出力側が命令ユニットと接続されていることにより、正確な相対ア
ドレッシングを行うことができる。
トとの間に加算機構が配属されていて、該加算機構の一方の入力側がプログラム
カウンタと接続されており、該加算機構の他方の入力側が、パラメータによって
制御されるマルチプレクサを介して、命令長用のメモリ又は値0と接続され、当
該加算機構の出力側が命令ユニットと接続されていることにより、正確な相対ア
ドレッシングを行うことができる。
【0010】 同様に、本発明によると、プログラムカウンタと、相対アドレス用の計算ユニ
ットとの間に減算機構が設けられており、この減算機構の一方の入力側は、パラ
メータにより制御されるマルチプレクサを介して、命令長用のメモリ又は値0と
接続されており、当該減算機構の出力側は、計算ユニットと接続されているよう
にして、正確な相対アドレッシングを達成することができる。
ットとの間に減算機構が設けられており、この減算機構の一方の入力側は、パラ
メータにより制御されるマルチプレクサを介して、命令長用のメモリ又は値0と
接続されており、当該減算機構の出力側は、計算ユニットと接続されているよう
にして、正確な相対アドレッシングを達成することができる。
【0011】 本発明の課題を解決するために、本発明によると、更に、作動状態又は各アセ
ンブラコード用のパラメータに依存して、相対アドレスを種々異なって検出する
、マイクロプロセッサでの相対アドレッシング用の方法が提案されている。
ンブラコード用のパラメータに依存して、相対アドレスを種々異なって検出する
、マイクロプロセッサでの相対アドレッシング用の方法が提案されている。
【0012】 そのために、本発明によると、有利には、種々の作動状態又はアセンブラコー
ドのために、複数のプログラムカウンタが設けられており、このプログラムカウ
ンタにより、作動状態又はアセンブラコードに依存して選択される。
ドのために、複数のプログラムカウンタが設けられており、このプログラムカウ
ンタにより、作動状態又はアセンブラコードに依存して選択される。
【0013】 同様に、本発明によると、有利には、種々の作動状態又はアセンブラコードに
依存して、相対アドレス算出用のプログラムカウンタ状態に対して命令長を付加
カウントしたり、又は減算したり、又は、プログラムカウンタ状態を変えないで
おくようにすることができる。
依存して、相対アドレス算出用のプログラムカウンタ状態に対して命令長を付加
カウントしたり、又は減算したり、又は、プログラムカウンタ状態を変えないで
おくようにすることができる。
【0014】 同様に、本発明によると、種々の作動状態又はオフセット値(通常、相対アド
レスの算出用に利用される)に対するアセンブラコードに依存して、命令長を付
加カウントしたり、又は、減算したり、又は、オフセット値をその都度変えない
ようにしておくことができる。
レスの算出用に利用される)に対するアセンブラコードに依存して、命令長を付
加カウントしたり、又は、減算したり、又は、オフセット値をその都度変えない
ようにしておくことができる。
【0015】 以下、本発明について図示の種々の実施例を用いて詳細に説明する。
【0016】 その際、 図1は、種々異なる命令カウンタ間で選択することができる本発明の回路を示す
図、 図2は、各々のアセンブラコードに依存して、命令長を命令カウンタ状態に付加
カウントするか、又は付加カウントしない、本発明の回路を示す図、及び、 図3は、命令長が命令カウンタ状態から減算されたり、減算されなかったりする
、相対アドレッシング用の命令カウンタ状態の算出用の回路を示す図 である。
図、 図2は、各々のアセンブラコードに依存して、命令長を命令カウンタ状態に付加
カウントするか、又は付加カウントしない、本発明の回路を示す図、及び、 図3は、命令長が命令カウンタ状態から減算されたり、減算されなかったりする
、相対アドレッシング用の命令カウンタ状態の算出用の回路を示す図 である。
【0017】 図1は、本発明の第1の変形実施例を示す: その際、マイクロプロセッサには、2つの命令カウンタ(PC,PCnext
)が設けられている。この命令カウンタは、各々相応のアセンブラコードに所属
の命令カウンタ状態を有している。カウンタ(PC)の1つは、常に、実際のプ
ログラム行(例えば、JAVAバイトコード)を示しており、別の命令カウンタ
(PCnext)は、常に、直ぐ次のアセンブラ命令のプログラム行を示してい
る(例えば、ECO 2000アセンブラ)。両命令カウンタ(PC,PCne
xt)の各出力側は、マルチプレクサユニット(MUX)と接続されており、該
マルチプレクサユニット(MUX)は、その都度丁度処理すべきアセンブラコー
ドに依存して、一方又は他方の命令カウンタ状態を、当該マルチプレクサユニッ
トの出力側に導通接続し、該出力側は、相対アドレス用の計算ユニット(10)
と接続されている。
)が設けられている。この命令カウンタは、各々相応のアセンブラコードに所属
の命令カウンタ状態を有している。カウンタ(PC)の1つは、常に、実際のプ
ログラム行(例えば、JAVAバイトコード)を示しており、別の命令カウンタ
(PCnext)は、常に、直ぐ次のアセンブラ命令のプログラム行を示してい
る(例えば、ECO 2000アセンブラ)。両命令カウンタ(PC,PCne
xt)の各出力側は、マルチプレクサユニット(MUX)と接続されており、該
マルチプレクサユニット(MUX)は、その都度丁度処理すべきアセンブラコー
ドに依存して、一方又は他方の命令カウンタ状態を、当該マルチプレクサユニッ
トの出力側に導通接続し、該出力側は、相対アドレス用の計算ユニット(10)
と接続されている。
【0018】 図2には、本発明の別の実施例が示されている。その際、実際の命令行を常に
示している1つの命令カウンタ(PC)しか設けられていない。付加的に、ここ
では、マイクロプロセッサに、命令長(演算コード長)を有している、別のレジ
スタを設ける必要がある。このレジスタ(12)の出力側は、ここでは、マルチ
プレクサユニット(MUX)に接続されており、このマルチプレクサユニットは
、各々のアセンブラコードを示すパラメータによって制御される。このマルチプ
レクサの他方の入力側には、値”0”が供給されている。このマルチプレクサの
出力側は、加算機構(ADD)に接続され、該加算機構の他方の入力側は、命令
カウンタ(PC)と接続されている。その際、加算機構(ADD)の出力側は、
相対アドレス用の計算ユニット(10)と接続されている。
示している1つの命令カウンタ(PC)しか設けられていない。付加的に、ここ
では、マイクロプロセッサに、命令長(演算コード長)を有している、別のレジ
スタを設ける必要がある。このレジスタ(12)の出力側は、ここでは、マルチ
プレクサユニット(MUX)に接続されており、このマルチプレクサユニットは
、各々のアセンブラコードを示すパラメータによって制御される。このマルチプ
レクサの他方の入力側には、値”0”が供給されている。このマルチプレクサの
出力側は、加算機構(ADD)に接続され、該加算機構の他方の入力側は、命令
カウンタ(PC)と接続されている。その際、加算機構(ADD)の出力側は、
相対アドレス用の計算ユニット(10)と接続されている。
【0019】 図3には、本発明の別の実施例が示されている。その際、同様に、レジスタ(
12)が設けられており、このレジスタは、アセンブラ命令の長さ(演算コード
長)を有している。ここでも、このレジスタの出力側はマルチプレクサユニット
に接続されており、小のマルチプレクサユニットは、各々のアセンブラコードを
示すパラメータによって制御される。このマルチプレクサユニットの他方の入力
側には、ここでも、値0が供給されている。
12)が設けられており、このレジスタは、アセンブラ命令の長さ(演算コード
長)を有している。ここでも、このレジスタの出力側はマルチプレクサユニット
に接続されており、小のマルチプレクサユニットは、各々のアセンブラコードを
示すパラメータによって制御される。このマルチプレクサユニットの他方の入力
側には、ここでも、値0が供給されている。
【0020】 図2の実施例とは異なり、マルチプレクサユニットの出力側は、ここでは減算
機構(Sub)と接続されている。この減算機構の他方の入力側は、命令カウン
タと接続されている。しかし、この命令カウンタは、実際のアセンブラ命令行で
なく、直ぐ次のアセンブラ命令を示す。
機構(Sub)と接続されている。この減算機構の他方の入力側は、命令カウン
タと接続されている。しかし、この命令カウンタは、実際のアセンブラ命令行で
なく、直ぐ次のアセンブラ命令を示す。
【0021】 減算機構(Sub)の出力側は、ここでも、相対アドレス計算用の計算ユニッ
ト(10)と接続されている。
ト(10)と接続されている。
【0022】 図示していない、本発明の別の実施例によると、命令長の値は、相対アドレス
の計算のために利用されるオフセット値に対しても付加的にカウント、又は、こ
のオフセット値から減算される。
の計算のために利用されるオフセット値に対しても付加的にカウント、又は、こ
のオフセット値から減算される。
【0023】 アセンブラコードは、マイクロプロセッサによって処理される以前に、最近の
マイクロプロセッサシステムでは、作業メモリ内の種々の個所に記憶することが
できるので、アドレッシングを相対的に、即ち、アセンブラコードの各々の構成
に関して、作業メモリ内に指示する必要がある。そのために、相対的なアドレッ
シングが使用され、その際、アセンブラコード内の他のアドレスを指示する全て
の命令に対して、所定のオフセット値が付加的に算出される。このオフセット値
は、通常、作業メモリ内のアセンブラコードの間隔に相応し、この作業メモリに
は、作動システムのプログラムが記憶されている。その際、このオフセットを用
いて、アセンブラコード内に設けられている相対的なジャンプアドレスが、各々
のプログラム行の実際の物理的なメモリロケーションに相応して配属されている
。
マイクロプロセッサシステムでは、作業メモリ内の種々の個所に記憶することが
できるので、アドレッシングを相対的に、即ち、アセンブラコードの各々の構成
に関して、作業メモリ内に指示する必要がある。そのために、相対的なアドレッ
シングが使用され、その際、アセンブラコード内の他のアドレスを指示する全て
の命令に対して、所定のオフセット値が付加的に算出される。このオフセット値
は、通常、作業メモリ内のアセンブラコードの間隔に相応し、この作業メモリに
は、作動システムのプログラムが記憶されている。その際、このオフセットを用
いて、アセンブラコード内に設けられている相対的なジャンプアドレスが、各々
のプログラム行の実際の物理的なメモリロケーションに相応して配属されている
。
【0024】 本発明によると、相対アドレッシングの整合は、当然、演算コード長がオフセ
ット値に付加的にカウントされるか、又は、このオフセット値から減算されるよ
うに構成されて行われる。
ット値に付加的にカウントされるか、又は、このオフセット値から減算されるよ
うに構成されて行われる。
【0025】 本発明によると、例えば、実際の命令行のアドレスをマイクロプロセッサの命
令カウンタ内で用いる際、任意に、命令長をオフセット値に付加的にカウントす
ることができる(アセンブラが使用されている場合に、その規則に応じて、命令
カウンタが直ぐ次のアセンブラ命令を指示する必要がある)。
令カウンタ内で用いる際、任意に、命令長をオフセット値に付加的にカウントす
ることができる(アセンブラが使用されている場合に、その規則に応じて、命令
カウンタが直ぐ次のアセンブラ命令を指示する必要がある)。
【0026】 同様に、直ぐ次のアセンブラ命令がプロセッサの命令カウンタ内で監視される
場合、命令長をオフセット値から減算することができる(アセンブラが処理され
る場合、命令カウンタが常に実際のアセンブラ命令を指示する必要がある)。
場合、命令長をオフセット値から減算することができる(アセンブラが処理され
る場合、命令カウンタが常に実際のアセンブラ命令を指示する必要がある)。
【0027】 本発明によると、相対的なアドレッシングの場合、基準ソース、命令カウンタ
が制御されて、正確な計算規則を選択することができる。その際、実際の命令カ
ウンタにも、直ぐ次のアセンブラ命令を指示する命令カウンタにもアクセスして
、種々異なる計算規則を考慮することができる。その際、丁度処理すべき命令(
PC)の命令カウンタか、又は、直ぐ次の命令を指示する(PCnext)命令
カウンタが選択されるか、又は、その都度命令カウンタ状態の1つに基づいて、
各々所属の他の値が計算される。
が制御されて、正確な計算規則を選択することができる。その際、実際の命令カ
ウンタにも、直ぐ次のアセンブラ命令を指示する命令カウンタにもアクセスして
、種々異なる計算規則を考慮することができる。その際、丁度処理すべき命令(
PC)の命令カウンタか、又は、直ぐ次の命令を指示する(PCnext)命令
カウンタが選択されるか、又は、その都度命令カウンタ状態の1つに基づいて、
各々所属の他の値が計算される。
【0028】 両命令カウンタ(PC及びPCnext)を2つのレジスタに構成することが
できるか、又は、両命令カウンタ状態の一方の公知の命令長を用いて算出するこ
とができる。その際、実際の命令カウンタ状態から、直ぐ次の命令を指示する命
令カウンタ状態の命令長を付加カウントすることによって計算することができる
か、又は、直ぐ次に実行すべき命令を示す命令カウンタから、実際の命令カウン
タ状態(PC)の命令長の減算によって計算することができる。更に、別の変形
実施例では、命令カウンタ内に実際のアセンブラ命令のアドレスが記憶されてい
て、アセンブラコードが直ぐ次に実行すべき命令のアドレスを必要とする場合、
命令長をオフセット値に付加することができるか、又は、プロセッサの命令カウ
ンタが常に直ぐ次に実行すべきアセンブラ命令を指示する場合、アセンブラコー
ド用の実際のアセンブラ命令のアドレスを使用することができる。
できるか、又は、両命令カウンタ状態の一方の公知の命令長を用いて算出するこ
とができる。その際、実際の命令カウンタ状態から、直ぐ次の命令を指示する命
令カウンタ状態の命令長を付加カウントすることによって計算することができる
か、又は、直ぐ次に実行すべき命令を示す命令カウンタから、実際の命令カウン
タ状態(PC)の命令長の減算によって計算することができる。更に、別の変形
実施例では、命令カウンタ内に実際のアセンブラ命令のアドレスが記憶されてい
て、アセンブラコードが直ぐ次に実行すべき命令のアドレスを必要とする場合、
命令長をオフセット値に付加することができるか、又は、プロセッサの命令カウ
ンタが常に直ぐ次に実行すべきアセンブラ命令を指示する場合、アセンブラコー
ド用の実際のアセンブラ命令のアドレスを使用することができる。
【0029】 本発明によると、従って、種々異なるアセンブラプログラミング言語が、CP
U内の命令カウンタに較べた相対的な目標用の種々異なる命令規則を用いること
ができるように構成することができる。
U内の命令カウンタに較べた相対的な目標用の種々異なる命令規則を用いること
ができるように構成することができる。
【図1】 種々異なる命令カウンタ間で選択することができる本発明の回路を示す命令長
が命令カウンタ状態から減算されたり、減算されなかったりする、相対アドレッ
シング用の命令カウンタ状態の算出用の回路を示す図
が命令カウンタ状態から減算されたり、減算されなかったりする、相対アドレッ
シング用の命令カウンタ状態の算出用の回路を示す図
【図2】 各々のアセンブラコードに依存して、命令長を命令カウンタ状態に付加カウン
トするか、又は付加カウントしない、本発明の回路を示す図
トするか、又は付加カウントしない、本発明の回路を示す図
【図3】 命令長が命令カウンタ状態から減算されたり、減算されなかったりする、相対
アドレッシング用の命令カウンタ状態の算出用の回路を示す図
アドレッシング用の命令カウンタ状態の算出用の回路を示す図
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成13年3月1日(2001.3.1)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0003
【補正方法】変更
【補正の内容】
【0003】 従来技術のマイクロプロセッサは、唯一のアセンブラコードだけを処理するこ
とができるように構成されている。コンピュータプログラムは、各プロセッサに
対して、その際各々用いられるべきアセンブラコードに変換される必要があるの
で、このような構成は当然不利である。 ヨーロッパ特許公開第0747808号公報からは、種々異なる命令セットを
使用可能なプロセッサが公知である。制御ビットを用いて、種々異なるアドレス
形成機構に切り換えられる。 ヨーロッパ特許公開第070767号公報からは、種々異なるアーキテクチュ
アの命令セットを構成できることが公知である。その際、命令の最初の3つのビ
ットは、その都度の命令セットを示す。32ビット命令の相対アドレッシング及
び処理の際、64−Bit−命令用のアドレス空間が形成され、その結果、問題
は生じない。
とができるように構成されている。コンピュータプログラムは、各プロセッサに
対して、その際各々用いられるべきアセンブラコードに変換される必要があるの
で、このような構成は当然不利である。 ヨーロッパ特許公開第0747808号公報からは、種々異なる命令セットを
使用可能なプロセッサが公知である。制御ビットを用いて、種々異なるアドレス
形成機構に切り換えられる。 ヨーロッパ特許公開第070767号公報からは、種々異なるアーキテクチュ
アの命令セットを構成できることが公知である。その際、命令の最初の3つのビ
ットは、その都度の命令セットを示す。32ビット命令の相対アドレッシング及
び処理の際、64−Bit−命令用のアドレス空間が形成され、その結果、問題
は生じない。
Claims (9)
- 【請求項1】 種々のアセンブラーの処理用マイクロプロセッサにおいて、
マイクロプロセッサ内にパラメータが設けられており、該パラメータは、各々の
アセンブラーコードを示し、当該パラメータのセットの仕方に依存して、種々異
なる相対アドレッシングが行われることを特徴とするマイクロプロセッサ。 - 【請求項2】 複数のプログラムカウンタ(PC,PCnext)が設けら
れており、パラメータに依存して、前記マイクロプロセッサ(PC,PCnex
t)の各々1つが、相対アドレスの算出時に作動される請求項1記載のマイクロ
プロセッサ。 - 【請求項3】 プログラムカウンタ(PC,PCnext)は、マルチプレ
クサ(MUX)と接続されており、該マルチプレクサは、パラメータによって制
御され、前記マルチプレクサの出力側は、相対アドレッシング用の計算ユニット
(10)と接続されている請求項2記載のマイクロプロセッサ。 - 【請求項4】 プログラムカウンタ(PC)と相対アドレス用の計算ユニッ
ト(10)との間に、加算機構(Add)が配設されており、前記加算機構の一
方の入力側は、前記プログラムカウンタ(PC)と接続されており、前記加算機
構の他方の入力側は、パラメータによって制御されるマルチプレクサ(MUX)
を介して、命令長(演算コード長:Opcode length)用のメモリ(
12)又は値0と接続されており、前記加算機構の出力側は、前記計算ユニット
(10)と接続されている請求項1記載のマイクロプロセッサ。 - 【請求項5】 プログラムカウンタ(PCnext)と相対アドレス用の計
算ユニット(10)との間に、減算機構(Sub)が配設されており、前記減算
機構の一方の入力側は、前記プログラムカウンタ(PCnext)と接続されて
おり、他方の入力側は、パラメータによって制御されるマルチプレクサ(MUX
)を介して、命令長(演算コード長:Opcode length)用のメモリ
(12)又は値0と接続されており、前記減算機構の出力側は、前記計算ユニッ
ト(10)と接続されている請求項1記載のマイクロプロセッサ。 - 【請求項6】 作動状態又は各々のアセンブラコード用のパラメータに依存
して、相対アドレスを種々異なって求めることを特徴とするマイクロプロセッサ
での相対アドレッシング方法。 - 【請求項7】 種々異なる作動状態又はアセンブラコードに対して、複数の
プログラムカウンタ(PC,PCnext)が設けられており、該プログラムカ
ウンタは、前記作動状態又は前記アセンブラコードに依存して選択される請求項
6記載の方法。 - 【請求項8】 種々異なる作動状態又はアセンブラコードに依存して、相対
アドレス計算用のプログラムカウンタ状態に対して、命令長(演算コード長)を
付加的にカウントし、又は、減算し、又は、プログラムカウンタ状態を変えない
請求項6記載の方法。 - 【請求項9】 種々異なる作動状態又はアセンブラコードに依存して、通常
相対アドレスの算出用に利用されるオフセット値に対して、1命令長(演算コー
ド長)を付加的にカウントし、又は、減算し、又は、オフセット値を変えない請
求項6記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19905510.6 | 1999-02-10 | ||
DE19905510A DE19905510A1 (de) | 1999-02-10 | 1999-02-10 | Mikroprozessor und Verfahren zur Adressierung in einem Mikroprozessor |
PCT/DE2000/000291 WO2000048071A1 (de) | 1999-02-10 | 2000-02-01 | Mikroprozessor und verfahren zur adressierung in einem mikroprozessor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002536759A true JP2002536759A (ja) | 2002-10-29 |
Family
ID=7897047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000598923A Pending JP2002536759A (ja) | 1999-02-10 | 2000-02-01 | マイクロプロセッサ及びマイクロプロセッサでのアドレッシング方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20020078324A1 (ja) |
EP (1) | EP1159675B1 (ja) |
JP (1) | JP2002536759A (ja) |
KR (1) | KR20010112267A (ja) |
DE (2) | DE19905510A1 (ja) |
WO (1) | WO2000048071A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3985746B2 (ja) * | 2003-08-26 | 2007-10-03 | トヨタ自動車株式会社 | 内燃機関の制御装置 |
US20100070951A1 (en) * | 2008-09-15 | 2010-03-18 | Horizon Semiconductors Ltd. | Generic assembler |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2939175A1 (de) * | 1979-09-27 | 1981-04-23 | Siemens AG, 1000 Berlin und 8000 München | Anordnung zur bestimmung der adressierungsart von arbeitsregistern in mikroprozessoren |
JPS62226232A (ja) * | 1986-03-28 | 1987-10-05 | Toshiba Corp | 分岐先アドレス算出回路 |
US4821183A (en) * | 1986-12-04 | 1989-04-11 | International Business Machines Corporation | A microsequencer circuit with plural microprogrom instruction counters |
US4819165A (en) * | 1987-03-27 | 1989-04-04 | Tandem Computers Incorporated | System for performing group relative addressing |
US4926323A (en) * | 1988-03-03 | 1990-05-15 | Advanced Micro Devices, Inc. | Streamlined instruction processor |
US5430862A (en) * | 1990-06-29 | 1995-07-04 | Bull Hn Information Systems Inc. | Emulation of CISC instructions by RISC instructions using two pipelined stages for overlapped CISC decoding and RISC execution |
US5317745A (en) * | 1992-01-10 | 1994-05-31 | Zilog, Inc. | Minimal interrupt latency scheme using multiple program counters |
AU6701594A (en) * | 1993-05-07 | 1994-12-12 | Apple Computer, Inc. | Method for decoding sequences of guest instructions for a host computer |
US5781750A (en) * | 1994-01-11 | 1998-07-14 | Exponential Technology, Inc. | Dual-instruction-set architecture CPU with hidden software emulation mode |
US6496922B1 (en) * | 1994-10-31 | 2002-12-17 | Sun Microsystems, Inc. | Method and apparatus for multiplatform stateless instruction set architecture (ISA) using ISA tags on-the-fly instruction translation |
US5774686A (en) * | 1995-06-07 | 1998-06-30 | Intel Corporation | Method and apparatus for providing two system architectures in a processor |
JP3451595B2 (ja) * | 1995-06-07 | 2003-09-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 二つの別個の命令セット・アーキテクチャへの拡張をサポートすることができるアーキテクチャ・モード制御を備えたマイクロプロセッサ |
US5920713A (en) * | 1995-10-06 | 1999-07-06 | Advanced Micro Devices, Inc. | Instruction decoder including two-way emulation code branching |
JP3872196B2 (ja) * | 1998-01-09 | 2007-01-24 | 株式会社ルネサステクノロジ | マイクロコンピュータ |
-
1999
- 1999-02-10 DE DE19905510A patent/DE19905510A1/de not_active Ceased
-
2000
- 2000-02-01 EP EP00908974A patent/EP1159675B1/de not_active Expired - Lifetime
- 2000-02-01 DE DE50000702T patent/DE50000702D1/de not_active Expired - Fee Related
- 2000-02-01 WO PCT/DE2000/000291 patent/WO2000048071A1/de not_active Application Discontinuation
- 2000-02-01 KR KR1020017010159A patent/KR20010112267A/ko not_active Application Discontinuation
- 2000-02-01 JP JP2000598923A patent/JP2002536759A/ja active Pending
-
2001
- 2001-08-10 US US09/928,011 patent/US20020078324A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
DE19905510A1 (de) | 2000-08-31 |
US20020078324A1 (en) | 2002-06-20 |
DE50000702D1 (de) | 2002-12-05 |
EP1159675A1 (de) | 2001-12-05 |
EP1159675B1 (de) | 2002-10-30 |
WO2000048071A1 (de) | 2000-08-17 |
KR20010112267A (ko) | 2001-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5481734A (en) | Data processor having 2n bits width data bus for context switching function | |
US5560036A (en) | Data processing having incircuit emulation function | |
US6865667B2 (en) | Data processing system having redirecting circuitry and method therefor | |
US5522053A (en) | Branch target and next instruction address calculation in a pipeline processor | |
US5381531A (en) | Data processor for selective simultaneous execution of a delay slot instruction and a second subsequent instruction the pair following a conditional branch instruction | |
US5148529A (en) | Pipelined multi-stage data processor including an operand bypass mechanism | |
TW201530320A (zh) | 資料處理裝置及半導體積體電路裝置 | |
US5193156A (en) | Data processor with pipeline which disables exception processing for non-taken branches | |
JPH01237837A (ja) | データ処理装置 | |
KR100413651B1 (ko) | 복수레지스터의데이터전송을워드길이가짧은명령으로실현하는정보처리장치및그정보처리방법 | |
US5301285A (en) | Data processor having two instruction registers connected in cascade and two instruction decoders | |
US6757809B1 (en) | Data processor having 2n bits width data bus for context switching functions | |
US7139857B2 (en) | Method and apparatus for handling interrupts | |
JP2002536759A (ja) | マイクロプロセッサ及びマイクロプロセッサでのアドレッシング方法 | |
GB2352308A (en) | Conditional instruction execution | |
US7191430B2 (en) | Providing instruction execution hints to a processor using break instructions | |
JP2847688B2 (ja) | プログラム変換装置およびプロセッサ | |
JP3599499B2 (ja) | 中央処理装置 | |
US5212779A (en) | System for guarantee reexecution after interruption by conditionally used store buffer if microinstruction being executed is a memory write and last microinstruction | |
US6721867B2 (en) | Memory processing in a microprocessor | |
EP0265948A2 (en) | Data processor capable of immediately calculating branch address in relative address branch | |
US6952711B2 (en) | Maximally negative signed fractional number multiplication | |
US7103751B1 (en) | Method and apparatus for representation of an address in canonical form | |
JPH02144626A (ja) | マイクロプロセッサ | |
JPH1165622A (ja) | プログラマブルコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040430 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040526 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20041029 |