JP2956707B2 - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JP2956707B2 JP2956707B2 JP2288348A JP28834890A JP2956707B2 JP 2956707 B2 JP2956707 B2 JP 2956707B2 JP 2288348 A JP2288348 A JP 2288348A JP 28834890 A JP28834890 A JP 28834890A JP 2956707 B2 JP2956707 B2 JP 2956707B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address calculation
- information processing
- processing apparatus
- implicit
- 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.)
- Expired - Lifetime
Links
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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30163—Decoding the operand specifier, e.g. specifier format with implied specifier, e.g. top of stack
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
Description
【発明の詳細な説明】 〔概 要〕 パイプライン処理により命令を解釈実行する情報処理
装置に関し、 明示のアドレス計算指示および暗黙のアドレス計算指
示を有する命令を効率的なパイプライン処理により高速
に解釈実行することを目的とし、 明示のアドレス計算指示のフィールドを有すると共
に、命令コードにより暗黙のアドレス計算指示を有する
ことがある命令を含む命令列をパイプライン処理により
解釈実行する情報処理装置であって、前記命令のアドレ
ッシングフィールドをデコードするデコーダを具備し、
該デコーダは、アドレス計算指示を出力する際、デコー
ドした命令が明示のアドレス計算指示および暗黙のアド
レス計算指示の両方を有している場合には、その命令コ
ードにより該明示のアドレス計算指示或いは該暗黙のア
ドレス計算指の何れを先に行うかを判定し、順次アドレ
ス計算指示を出力するように構成する。
装置に関し、 明示のアドレス計算指示および暗黙のアドレス計算指
示を有する命令を効率的なパイプライン処理により高速
に解釈実行することを目的とし、 明示のアドレス計算指示のフィールドを有すると共
に、命令コードにより暗黙のアドレス計算指示を有する
ことがある命令を含む命令列をパイプライン処理により
解釈実行する情報処理装置であって、前記命令のアドレ
ッシングフィールドをデコードするデコーダを具備し、
該デコーダは、アドレス計算指示を出力する際、デコー
ドした命令が明示のアドレス計算指示および暗黙のアド
レス計算指示の両方を有している場合には、その命令コ
ードにより該明示のアドレス計算指示或いは該暗黙のア
ドレス計算指の何れを先に行うかを判定し、順次アドレ
ス計算指示を出力するように構成する。
本発明は、情報処理装置に関し、特に、パイプライン
処理により命令を解釈実行する情報処理装置に関する。
処理により命令を解釈実行する情報処理装置に関する。
近年、情報処理装置(マイクロプロセッサ)の高速化
の要求に伴って、パイプライン処理により命令を解釈実
行する情報処理装置が提供されている。ところで、情報
処理装置におけるパイプライン処理により解釈実行され
る命令として、明示のアドレス計算指示のフィールドを
有すると共に、命令コードにより暗黙のアドレス計算指
示を有することがあるような命令が存する。そして、近
年、この明示のアドレス計算指示および暗黙のアドレス
計算指示を有する命令を効率的なパイプライン処理によ
り高速に解釈実行することが要望されている。
の要求に伴って、パイプライン処理により命令を解釈実
行する情報処理装置が提供されている。ところで、情報
処理装置におけるパイプライン処理により解釈実行され
る命令として、明示のアドレス計算指示のフィールドを
有すると共に、命令コードにより暗黙のアドレス計算指
示を有することがあるような命令が存する。そして、近
年、この明示のアドレス計算指示および暗黙のアドレス
計算指示を有する命令を効率的なパイプライン処理によ
り高速に解釈実行することが要望されている。
近年、命令の実行を高速化するために、パイプライン
による並列処理を行うようにした情報処理装置が提供さ
れている。このパイプライン処理は、命令を順番に実行
することを前提としているため、例えば、命令中に明示
のアドレス計算指示のフィールドを有し、その命令コー
ドにより暗黙のアドレス計算指示を有する命令(例え
ば、第12図に示すようなスタックに対してプッシュ、ポ
ップを行なうPUSH,POP命令)を有する命令列を解釈実行
する情報処理装置においては、明示・暗黙の2つのアド
レス計算を持つ命令は効率的パイプライン処理を行うこ
とができなかった。
による並列処理を行うようにした情報処理装置が提供さ
れている。このパイプライン処理は、命令を順番に実行
することを前提としているため、例えば、命令中に明示
のアドレス計算指示のフィールドを有し、その命令コー
ドにより暗黙のアドレス計算指示を有する命令(例え
ば、第12図に示すようなスタックに対してプッシュ、ポ
ップを行なうPUSH,POP命令)を有する命令列を解釈実行
する情報処理装置においては、明示・暗黙の2つのアド
レス計算を持つ命令は効率的パイプライン処理を行うこ
とができなかった。
第12図は情報処理装置におけるPOP,PUSH命令の動作を
示す図であり、同図(a)はPOP命令の場合を示し、同
図(b)はPUSH命令の場合を示している。
示す図であり、同図(a)はPOP命令の場合を示し、同
図(b)はPUSH命令の場合を示している。
まず、第12図(a)はPOP命令の動作を示すもので、
ディスティネーション(dest)がレジスタまたはメモリ
であり、スタックからデータを取り出す場合を示してい
る。具体的に、『POP@Rn』は、レジスタ間接によるメ
モリ参照を示し、スタックにおいて、スタックポインタ
SPが指している位置(Old SP)の内容(オペランド)を
レジスタRnが示すメモリの番地(address)に書き込
み、さらに、スタックポインタSPが指す位置をそれまで
の位置(Old SP)よりも1つ下の位置(New SP)に移す
ようにするものである。
ディスティネーション(dest)がレジスタまたはメモリ
であり、スタックからデータを取り出す場合を示してい
る。具体的に、『POP@Rn』は、レジスタ間接によるメ
モリ参照を示し、スタックにおいて、スタックポインタ
SPが指している位置(Old SP)の内容(オペランド)を
レジスタRnが示すメモリの番地(address)に書き込
み、さらに、スタックポインタSPが指す位置をそれまで
の位置(Old SP)よりも1つ下の位置(New SP)に移す
ようにするものである。
次に、第12図(b)はPUSH命令の動作を示すもので、
ソース(src)がレジスタ,イミディエートまたはメモ
リであり、スタックに対してデータを与える場合を示し
ている。具体的に、『PUSH@Rn』は、レジスタ間接によ
るメモリ参照を示し、レジスタRnが示すメモリ上の内容
をオペランドとしてスタックに与え、さらに、スタック
において、その与えられたオペランドを所定の位置、例
えば、それまでのスタックポインタSPが指していた位置
(Old SP)よりも1つ上の位置に書き込み、その新たな
位置(New SP)をスタックポインタSPが指すようにする
ものである。ここで、これらのPOP命令およびPUSH命令
は、通常、CPUが解釈する命令コードとして割り当てら
れている。
ソース(src)がレジスタ,イミディエートまたはメモ
リであり、スタックに対してデータを与える場合を示し
ている。具体的に、『PUSH@Rn』は、レジスタ間接によ
るメモリ参照を示し、レジスタRnが示すメモリ上の内容
をオペランドとしてスタックに与え、さらに、スタック
において、その与えられたオペランドを所定の位置、例
えば、それまでのスタックポインタSPが指していた位置
(Old SP)よりも1つ上の位置に書き込み、その新たな
位置(New SP)をスタックポインタSPが指すようにする
ものである。ここで、これらのPOP命令およびPUSH命令
は、通常、CPUが解釈する命令コードとして割り当てら
れている。
第13図は従来の情報処理装置において、上述した第12
図に示すようなPOP,PUSH命令を実行した場合のシーケン
スを示す図であり、5段のパイプラインの動作を示すも
のである。
図に示すようなPOP,PUSH命令を実行した場合のシーケン
スを示す図であり、5段のパイプラインの動作を示すも
のである。
第13図(a)に示されるように、POP命令による実行
シーケンスは、例えば、第1のサイクルC1で命令デコー
ド(DC)を行い、第2のサイクルC2でPOP命令のアドレ
ッシングフィールドで規定される明示のアドレス計算
(AC1)を行い、第3のサイクルC3でマイクロ命令の第
1ステップ読み出し(Mi1)を行っている。さらに、第
4のサイクルC4でマイクロ命令の第2ステップを読み出
し(Mi2)を行うと共にMi1からの指示により、暗黙のア
ドレス計算(AC2)を行い、そして、第5のサイクルC5
でマイクロ命令の第3ステップ読み出し(Mi3)を行う
と共にMi2からの指示により、暗黙のアドレス計算によ
るオペランドフェッチ(OF2)を行う。また、第6のサ
イクルC6でMi3からの指示により命令の実行(明示のア
ドレス計算アドレスへのライト指示:OE3)を行い、第7
のサイクルC7で明示のアドレス計算アドレスへのライト
実行(OW3)を行うようになっている。
シーケンスは、例えば、第1のサイクルC1で命令デコー
ド(DC)を行い、第2のサイクルC2でPOP命令のアドレ
ッシングフィールドで規定される明示のアドレス計算
(AC1)を行い、第3のサイクルC3でマイクロ命令の第
1ステップ読み出し(Mi1)を行っている。さらに、第
4のサイクルC4でマイクロ命令の第2ステップを読み出
し(Mi2)を行うと共にMi1からの指示により、暗黙のア
ドレス計算(AC2)を行い、そして、第5のサイクルC5
でマイクロ命令の第3ステップ読み出し(Mi3)を行う
と共にMi2からの指示により、暗黙のアドレス計算によ
るオペランドフェッチ(OF2)を行う。また、第6のサ
イクルC6でMi3からの指示により命令の実行(明示のア
ドレス計算アドレスへのライト指示:OE3)を行い、第7
のサイクルC7で明示のアドレス計算アドレスへのライト
実行(OW3)を行うようになっている。
この第13図(a)に示すPOP命令による実行シーケン
スにおいて、次命令は、第5のサイクルC5から開始され
ることになる。従って、POP命令を第1のサイクルC1か
ら実行する場合、次命令は、4サイクル後の第5のサイ
クルC5からでないと開始することができなかった。この
第13図(a)に示す実行シーケンスは、ディスティネー
ションがメモリの場合を示すが、レジスタの場合も空き
ステージ(第2のサイクルC2)が存在するため、次命令
は、第5のサイクルC5からでないと開始することができ
なかった。
スにおいて、次命令は、第5のサイクルC5から開始され
ることになる。従って、POP命令を第1のサイクルC1か
ら実行する場合、次命令は、4サイクル後の第5のサイ
クルC5からでないと開始することができなかった。この
第13図(a)に示す実行シーケンスは、ディスティネー
ションがメモリの場合を示すが、レジスタの場合も空き
ステージ(第2のサイクルC2)が存在するため、次命令
は、第5のサイクルC5からでないと開始することができ
なかった。
第13図(b)に示されるように、PUSH命令による実行
シーケンスは、例えば、第1のサイクルC1で命令デコー
ド(DC)を行い、第2のサイクルC2で明示のアドレス計
算(AC1)を行い、第3のサイクルC3でマイクロ命令の
第1ステップ読み出し(Mi1)を行うと共に、明示のア
ドレス計算によるオペランドフェッチ(OF1)を行って
いる。さらに、第4のサイクルC4でマイクロ命令の第2
ステップ読み出し(Mi2)を行うと共に、Mi1からの指示
により暗黙のアドレス計算(AC2)を行い、また、第5
のサイクルC5でMi2からの指示により命令の実行(暗黙
のアドレス計算アドレスへのライト指示:OE2)を行い、
そして、第6のサイクルC6で暗黙のアドレス計算アドレ
スへのライト実行(OW2)を行うようになっている。
シーケンスは、例えば、第1のサイクルC1で命令デコー
ド(DC)を行い、第2のサイクルC2で明示のアドレス計
算(AC1)を行い、第3のサイクルC3でマイクロ命令の
第1ステップ読み出し(Mi1)を行うと共に、明示のア
ドレス計算によるオペランドフェッチ(OF1)を行って
いる。さらに、第4のサイクルC4でマイクロ命令の第2
ステップ読み出し(Mi2)を行うと共に、Mi1からの指示
により暗黙のアドレス計算(AC2)を行い、また、第5
のサイクルC5でMi2からの指示により命令の実行(暗黙
のアドレス計算アドレスへのライト指示:OE2)を行い、
そして、第6のサイクルC6で暗黙のアドレス計算アドレ
スへのライト実行(OW2)を行うようになっている。
この第13図(b)に示すPUSH命令による実行シーケン
スにおいて、次命令は、第4のサイクルC4から開始され
ることになる。従って、PUSH命令を第1のサイクルC1か
ら実行する場合、次命令は、3サイクル後の第4のサイ
クルC4からでないと開始することができなかった。
スにおいて、次命令は、第4のサイクルC4から開始され
ることになる。従って、PUSH命令を第1のサイクルC1か
ら実行する場合、次命令は、3サイクル後の第4のサイ
クルC4からでないと開始することができなかった。
このように、従来の情報処理装置においては、デコー
ダ(特に、アドレッシングフィールドをデコードするア
ドレッシングデコーダ)より、明示のアドレス計算を指
示すると共に、命令コード部をデコードするデコーダよ
りマイクロエントリアドレスを出力し、マイクロプログ
ラムを起動する。さらに、起動されたマイクロプログラ
ムは、暗黙のアドレス計算を行ない、その後、命令を実
行(PUSH命令の場合は、明示のアドレス計算によるオペ
ランドデータを暗黙のアドレス計算によるアドレスへ転
送し、POP命令の場合は、暗黙のアドレス計算によるオ
ペランドデータを明示のアドレス計算によるアドレスへ
転送)する。このような場合、従来の情報処理装置にお
いては、マイクロプログラムによる実行ステップが複数
ステップとなり、高速に命令を実行出来ないという解決
すべき課題があった。
ダ(特に、アドレッシングフィールドをデコードするア
ドレッシングデコーダ)より、明示のアドレス計算を指
示すると共に、命令コード部をデコードするデコーダよ
りマイクロエントリアドレスを出力し、マイクロプログ
ラムを起動する。さらに、起動されたマイクロプログラ
ムは、暗黙のアドレス計算を行ない、その後、命令を実
行(PUSH命令の場合は、明示のアドレス計算によるオペ
ランドデータを暗黙のアドレス計算によるアドレスへ転
送し、POP命令の場合は、暗黙のアドレス計算によるオ
ペランドデータを明示のアドレス計算によるアドレスへ
転送)する。このような場合、従来の情報処理装置にお
いては、マイクロプログラムによる実行ステップが複数
ステップとなり、高速に命令を実行出来ないという解決
すべき課題があった。
本発明は、上述した従来の情報処理装置が有する課題
に鑑み、明示のアドレス計算指示および暗黙のアドレス
計算指示を有する命令を効率的なパイプライン処理によ
り高速に解釈実行することを目的とする。
に鑑み、明示のアドレス計算指示および暗黙のアドレス
計算指示を有する命令を効率的なパイプライン処理によ
り高速に解釈実行することを目的とする。
本発明によれば、明示のアドレス計算指示のフィール
ドを有すると共に、命令コードにより暗黙のアドレス計
算指示を有することがある命令を含む命令列をパイプラ
イン処理により解釈実行する情報処理装置であって、前
記命令のアドレッシングフィールドをデコードするデコ
ーダを具備し、該デコーダは、アドレス計算指示を出力
する際、デコードした命令が明示のアドレス計算指示お
よび暗黙のアドレス計算指示の両方を有している場合に
は、その命令コードにより該明示のアドレス計算指示或
いは該暗黙のアドレス計算指の何れを先に行うかを判定
し、順次アドレス計算指示を出力するようにしたことを
特徴とする情報処理装置が提供される。
ドを有すると共に、命令コードにより暗黙のアドレス計
算指示を有することがある命令を含む命令列をパイプラ
イン処理により解釈実行する情報処理装置であって、前
記命令のアドレッシングフィールドをデコードするデコ
ーダを具備し、該デコーダは、アドレス計算指示を出力
する際、デコードした命令が明示のアドレス計算指示お
よび暗黙のアドレス計算指示の両方を有している場合に
は、その命令コードにより該明示のアドレス計算指示或
いは該暗黙のアドレス計算指の何れを先に行うかを判定
し、順次アドレス計算指示を出力するようにしたことを
特徴とする情報処理装置が提供される。
本発明の情報処理装置によれば、命令のアドレッシン
グフィールドをデコードするデコーダは、アドレス計算
指示を出力するにあたり、デコードした命令が、明示と
暗黙の2つのアドレス計算指示を有している場合には、
その命令コードにより、明示・暗黙いずれかのアドレス
計算指示を先に行なうかを判定し、順時アドレス計算指
示を出力するようになっている。これによって、明示・
暗黙のアドレス計算を有する命令を高速に実行すること
ができる。
グフィールドをデコードするデコーダは、アドレス計算
指示を出力するにあたり、デコードした命令が、明示と
暗黙の2つのアドレス計算指示を有している場合には、
その命令コードにより、明示・暗黙いずれかのアドレス
計算指示を先に行なうかを判定し、順時アドレス計算指
示を出力するようになっている。これによって、明示・
暗黙のアドレス計算を有する命令を高速に実行すること
ができる。
例えば、POP,PUSH命令の場合は、2つのアドレス計算
をデコーダの指示により行うため、マイクロは命令の実
行を行うだけでよく、そのマイクロ命令もPOP,PUSH命
令、さらに、MOV命令と共通に処理することができるこ
とになる。
をデコーダの指示により行うため、マイクロは命令の実
行を行うだけでよく、そのマイクロ命令もPOP,PUSH命
令、さらに、MOV命令と共通に処理することができるこ
とになる。
以下、図面を参照して本発明に係る情報処理装置の実
施例を説明する。
施例を説明する。
第1図は本発明に係る情報処理装置における実行シー
ケンスの一例を示す図であり、5段のパイプラインにお
ける動作を示すものである。ここで、第1図はディステ
ィネーションおよびソースがメモリの場合を示してい
る。
ケンスの一例を示す図であり、5段のパイプラインにお
ける動作を示すものである。ここで、第1図はディステ
ィネーションおよびソースがメモリの場合を示してい
る。
第1図(a)に示されるように、ディスティネーショ
ンがメモリの場合、POP命令による実行シーケンスは、
例えば、第1のサイクルC1で命令デコード(DC)を行
い、第2のサイクルC2で暗黙のアドレス計算(AC1)を
行い、第3のサイクルC3で明示のアドレス計算(AC2)
を行うと共に、暗黙のアドレス計算によるオペランドフ
ェッチ(OF1)を行っている。さらに、第4のサイクルC
4でマイクロ命令の読み出し(Mi)を行うと共に、明示
のアドレス計算によるライト権チェック(WA2)を行
う。また、第5のサイクルC5で命令の実行(OE:ソース
(暗黙アクセス)をディスティネーション(明示アクセ
ス)へ転送)を行い、そして、第6のサイクルC6でディ
スティネーションのライト実行(OW)を行うようになっ
ている。
ンがメモリの場合、POP命令による実行シーケンスは、
例えば、第1のサイクルC1で命令デコード(DC)を行
い、第2のサイクルC2で暗黙のアドレス計算(AC1)を
行い、第3のサイクルC3で明示のアドレス計算(AC2)
を行うと共に、暗黙のアドレス計算によるオペランドフ
ェッチ(OF1)を行っている。さらに、第4のサイクルC
4でマイクロ命令の読み出し(Mi)を行うと共に、明示
のアドレス計算によるライト権チェック(WA2)を行
う。また、第5のサイクルC5で命令の実行(OE:ソース
(暗黙アクセス)をディスティネーション(明示アクセ
ス)へ転送)を行い、そして、第6のサイクルC6でディ
スティネーションのライト実行(OW)を行うようになっ
ている。
この第1図(a)に示すPOP命令により実行シーケン
スにおいて、次命令は、第3のサイクルC3から開始され
ることになる。従って、POP命令を第1のサイクルC1か
ら実行する場合、次命令は、2サイクル後の第3のサイ
クルC3から開始されることになり、第13図(a)に示す
従来の情報処理装置における場合と比較して、次命令の
実行開始を2サイクル分だけ短縮することができる。
スにおいて、次命令は、第3のサイクルC3から開始され
ることになる。従って、POP命令を第1のサイクルC1か
ら実行する場合、次命令は、2サイクル後の第3のサイ
クルC3から開始されることになり、第13図(a)に示す
従来の情報処理装置における場合と比較して、次命令の
実行開始を2サイクル分だけ短縮することができる。
第1図(b)に示されるように、ソースがメモリの場
合、PUSH命令による実行シーケンスは、例えば、第1の
サイクルC1で命令デコード(DC)を行い、第2のサイク
ルC2で明示のアドレス計算(AC1)を行い、第3のサイ
クルC3で暗黙のアドレス計算(AC2)を行うと共に、明
示のアドレス計算によるオペランドフェッチ(OF1)を
行っている。さらに、第4のサイクルC4でマイクロ命令
の読み出し(Mi)を行うと共に、暗黙のアドレス計算に
よるライト権チェック(WA2)を行う。また、第5のサ
イクルC5で命令の実行(OE:ソース(明示アクセス)を
ディスティネーション(暗黙アクセス)へ転送)を行
い、そして、第6のサイクルC6でディスティネーション
のライト実行(OW)を行うようになっている。
合、PUSH命令による実行シーケンスは、例えば、第1の
サイクルC1で命令デコード(DC)を行い、第2のサイク
ルC2で明示のアドレス計算(AC1)を行い、第3のサイ
クルC3で暗黙のアドレス計算(AC2)を行うと共に、明
示のアドレス計算によるオペランドフェッチ(OF1)を
行っている。さらに、第4のサイクルC4でマイクロ命令
の読み出し(Mi)を行うと共に、暗黙のアドレス計算に
よるライト権チェック(WA2)を行う。また、第5のサ
イクルC5で命令の実行(OE:ソース(明示アクセス)を
ディスティネーション(暗黙アクセス)へ転送)を行
い、そして、第6のサイクルC6でディスティネーション
のライト実行(OW)を行うようになっている。
この第1図(b)に示すPUSH命令による実行シーケン
スにおいて、次命令は、第3のサイクルC3から開始され
ることになる。従って、PUSH命令を第1のサイクルC1か
ら実行する場合、次命令は、2サイクル後の第3のサイ
クルC3から開始されることになり、第13図(b)に示す
従来の情報処理装置における場合と比較して、次命令の
実行開始を1サイクル分だけ短縮することができる。
スにおいて、次命令は、第3のサイクルC3から開始され
ることになる。従って、PUSH命令を第1のサイクルC1か
ら実行する場合、次命令は、2サイクル後の第3のサイ
クルC3から開始されることになり、第13図(b)に示す
従来の情報処理装置における場合と比較して、次命令の
実行開始を1サイクル分だけ短縮することができる。
第2図は本発明に係る情報処理装置における実行シー
ケンスの他の例を示す図であり、5段のパイプラインに
おける動作を示すものである。ここで、第2図はディス
ティネーションおよびソースがレジスタの場合を示して
いる。
ケンスの他の例を示す図であり、5段のパイプラインに
おける動作を示すものである。ここで、第2図はディス
ティネーションおよびソースがレジスタの場合を示して
いる。
第2図(a)に示されるように、ディスティネーショ
ンがレジスタの場合、POP命令による実行シーケンス
は、例えば、第1のサイクルC1で命令デコード(DC)を
行い、第2のサイクルC2で暗黙のアドレス計算(AC)を
行い、第3のサイクルC3でマイクロ命令の読み出し(M
i)を行うと共に、暗黙のアドレス計算によるオペラン
ドフェッチ(OF)を行う。また、第4のサイクルC4で命
令の実行(OE:ソース(暗黙アクセス)をディスティネ
ーションへ転送)を行い、そして、第5のサイクルC5で
ディスティネーションのライト実行(OW:レジスタへ)
を行うようになっている。
ンがレジスタの場合、POP命令による実行シーケンス
は、例えば、第1のサイクルC1で命令デコード(DC)を
行い、第2のサイクルC2で暗黙のアドレス計算(AC)を
行い、第3のサイクルC3でマイクロ命令の読み出し(M
i)を行うと共に、暗黙のアドレス計算によるオペラン
ドフェッチ(OF)を行う。また、第4のサイクルC4で命
令の実行(OE:ソース(暗黙アクセス)をディスティネ
ーションへ転送)を行い、そして、第5のサイクルC5で
ディスティネーションのライト実行(OW:レジスタへ)
を行うようになっている。
この第2図(a)に示すPOP命令による実行シーケン
スにおいて、次命令は、第2のサイクルC2から開始され
ることになる。従って、POP命令を第1のサイクルC1か
ら実行する場合、次命令は、1サイクル後の第2のサイ
クルC2から開始されることになり、第13図(a)に示す
従来の情報処理装置における場合と比較して、次命令の
実行開始を3サイクル分だけ短縮することができる。
スにおいて、次命令は、第2のサイクルC2から開始され
ることになる。従って、POP命令を第1のサイクルC1か
ら実行する場合、次命令は、1サイクル後の第2のサイ
クルC2から開始されることになり、第13図(a)に示す
従来の情報処理装置における場合と比較して、次命令の
実行開始を3サイクル分だけ短縮することができる。
第2図(b)に示されるように、ソースがレジスタま
たはイミディエートの場合、PUSH命令による実行シーケ
スは、例えば、第1のサイクルC1で命令デコード(DC)
を行い、第2のサイクルC2で暗黙のアドレス計算(AC)
を行い、第3のサイクルC3でマイクロ命令の読み出し
(Mi)を行うと共に、暗黙のアドレス計算によるライト
権チェック(WA)を行う。また、第4のサイクルC4で命
令の実行(OE:ソース(レジスタまたはイミディエー
ト)をディスティネーション(暗黙アクセス)へ転送)
を行い、そして、第5のサイクルC5でディスティネーシ
ョンのライト実行(OW)を行うようになっている。
たはイミディエートの場合、PUSH命令による実行シーケ
スは、例えば、第1のサイクルC1で命令デコード(DC)
を行い、第2のサイクルC2で暗黙のアドレス計算(AC)
を行い、第3のサイクルC3でマイクロ命令の読み出し
(Mi)を行うと共に、暗黙のアドレス計算によるライト
権チェック(WA)を行う。また、第4のサイクルC4で命
令の実行(OE:ソース(レジスタまたはイミディエー
ト)をディスティネーション(暗黙アクセス)へ転送)
を行い、そして、第5のサイクルC5でディスティネーシ
ョンのライト実行(OW)を行うようになっている。
この第2図(b)に示すPUSH命令による実行シーケン
スにおいて、次命令は、第2のサイクルC2から開始され
ることになる。従って、PUSH命令を第1のサイクルC1か
ら実行する場合、次命令は、1サイクル後の第2のサイ
クルC2から開始されることになり、第13図(b)に示す
従来の情報処理装置における場合と比較して、次命令の
実行開始を2サイクル分だけ短縮することができる。
スにおいて、次命令は、第2のサイクルC2から開始され
ることになる。従って、PUSH命令を第1のサイクルC1か
ら実行する場合、次命令は、1サイクル後の第2のサイ
クルC2から開始されることになり、第13図(b)に示す
従来の情報処理装置における場合と比較して、次命令の
実行開始を2サイクル分だけ短縮することができる。
第3図は本発明の情報処理装置による一命令の実行シ
ーケンスを示す図であり、同図(a)はMOV命令(メモ
リ→レジスタ)による実行シーケンスを示し、同図
(b)はMOV命令(レジスタ→メモリ)による実行シー
ケンスを示し、そして、同図(c)はMOV命令(メモリ
→メモリ)による実行シーケンスを示す。
ーケンスを示す図であり、同図(a)はMOV命令(メモ
リ→レジスタ)による実行シーケンスを示し、同図
(b)はMOV命令(レジスタ→メモリ)による実行シー
ケンスを示し、そして、同図(c)はMOV命令(メモリ
→メモリ)による実行シーケンスを示す。
このように、本発明の情報処理装置は、第3図と第1
図および第2図とを比較することにより、第1図および
第2図を参照して説明したPOP,PUSH命令の実行シーケン
スを通常の転送命令(MOV命令)の実行シーケンスと同
様なパイプラインステージにより実現することができ
る。
図および第2図とを比較することにより、第1図および
第2図を参照して説明したPOP,PUSH命令の実行シーケン
スを通常の転送命令(MOV命令)の実行シーケンスと同
様なパイプラインステージにより実現することができ
る。
すなわち、第3図(a)のMOV命令(メモリ→レジス
タ)による実行シーケンスは、第2図(a)のPOP Rnに
よる実行シーケンスと同様であり、第3図(b)のMOV
命令(レジスタ→メモリ)による実行シーケンスは、第
2図(b)のPUSH RnまたはPUSHイミディエートによる
実行シーケンスと同様であり、そして、第3図(c)の
MOV命令(メモリ→メモリ)による実行シーケンスは、
第1図(a)および(b)のPOP命令およびPUSH命令
(メモリ)による実行シーケンスと同様であり、パイプ
ラインにおける無駄なステージ(オーバーヘッド)を削
減することができるようになっている。
タ)による実行シーケンスは、第2図(a)のPOP Rnに
よる実行シーケンスと同様であり、第3図(b)のMOV
命令(レジスタ→メモリ)による実行シーケンスは、第
2図(b)のPUSH RnまたはPUSHイミディエートによる
実行シーケンスと同様であり、そして、第3図(c)の
MOV命令(メモリ→メモリ)による実行シーケンスは、
第1図(a)および(b)のPOP命令およびPUSH命令
(メモリ)による実行シーケンスと同様であり、パイプ
ラインにおける無駄なステージ(オーバーヘッド)を削
減することができるようになっている。
第4図は本発明に係る情報処理装置の一例の全体的な
構成を示すブロック図である。同図に示されるように、
情報処理装置は、命令制御部41,命令実行部42,メモリ制
御部43,および,バス制御部44を備えている。
構成を示すブロック図である。同図に示されるように、
情報処理装置は、命令制御部41,命令実行部42,メモリ制
御部43,および,バス制御部44を備えている。
命令制御部41は、命令のフェッチ,デコード,実行の
ための制御を行うもので、命令キュー411,デコーダ412,
パイプライン制御部413,マイクロプログラム414を備え
ている。命令キュー411は、可変長命令を効率良く処理
するもので、該命令キュー411に空きがなくなるまで命
令プリフェッチが続けられる。ここで、命令プリフェッ
チは、命令の実行とは独立に行われる。命令デコーダ41
2では、命令形式・種別やアドレッシングモードの解析
が行われ、パイプライン制御,オペランドアドレス計
算,マイクロプログラムの起動のための制御情報が与え
られる。パイプライン制御部413では、命令を1マシン
サイクル単位に独立した5つのステージに分割し、連続
して処理するようになっている。
ための制御を行うもので、命令キュー411,デコーダ412,
パイプライン制御部413,マイクロプログラム414を備え
ている。命令キュー411は、可変長命令を効率良く処理
するもので、該命令キュー411に空きがなくなるまで命
令プリフェッチが続けられる。ここで、命令プリフェッ
チは、命令の実行とは独立に行われる。命令デコーダ41
2では、命令形式・種別やアドレッシングモードの解析
が行われ、パイプライン制御,オペランドアドレス計
算,マイクロプログラムの起動のための制御情報が与え
られる。パイプライン制御部413では、命令を1マシン
サイクル単位に独立した5つのステージに分割し、連続
して処理するようになっている。
命令実行部42は、オペランドアドレスの計算とオペラ
ンドの演算を行うもので、アドレス発生部421,レジスタ
ファイル422,演算部423を備えている。アドレス発生部4
21では、アドレッシングモードに従ったアドレス計算が
行われ、生成されたアドレスは、メモリ制御部43に供給
される。また、レジスタファイル422は、汎用レジス
タ,スタックポインタおよび作業レジスタ等を含んでい
る。そして、演算部423は、基本演算の他にさらに、ビ
ットフィールド操作命令,乗除算命令および10進演算強
化命令を効率的に実現する回路を有し、マイクロプログ
ラム414からの制御情報によりオペランドの処理を行う
ようになっている。
ンドの演算を行うもので、アドレス発生部421,レジスタ
ファイル422,演算部423を備えている。アドレス発生部4
21では、アドレッシングモードに従ったアドレス計算が
行われ、生成されたアドレスは、メモリ制御部43に供給
される。また、レジスタファイル422は、汎用レジス
タ,スタックポインタおよび作業レジスタ等を含んでい
る。そして、演算部423は、基本演算の他にさらに、ビ
ットフィールド操作命令,乗除算命令および10進演算強
化命令を効率的に実現する回路を有し、マイクロプログ
ラム414からの制御情報によりオペランドの処理を行う
ようになっている。
メモリ制御部43は、命令アクセス制御部431およびオ
ペランドアクセス制御部432により構成され、各々にキ
ャッシュメモリ,TLB,メモリプロテクションチェック機
能を有し、命令制御部41からの起動に従ってそれぞれ独
立に動作するようになっている。命令実行によるデータ
の書き込みは、ストアスルー方式で行われ、また、チッ
プバスが使用中のときは、データ送出が可能になるまで
ストアバッファにそのアドレスとデータが保持される。
ペランドアクセス制御部432により構成され、各々にキ
ャッシュメモリ,TLB,メモリプロテクションチェック機
能を有し、命令制御部41からの起動に従ってそれぞれ独
立に動作するようになっている。命令実行によるデータ
の書き込みは、ストアスルー方式で行われ、また、チッ
プバスが使用中のときは、データ送出が可能になるまで
ストアバッファにそのアドレスとデータが保持される。
バス制御部44は、チップバスを経由して外部のI/Oや
メモリとの間のデータ転送をデータ送受部443を介して
制御するもので、さらに、1ブロックをキャッシュメモ
リへ高速に転送するブロックアクセス機能(バス監視制
御部442)および外部メモリとの一致を取るためにチッ
プバス上の書き込みアドレスを監視するアドレスモニタ
機能(アドレス制御部441)を備えている。
メモリとの間のデータ転送をデータ送受部443を介して
制御するもので、さらに、1ブロックをキャッシュメモ
リへ高速に転送するブロックアクセス機能(バス監視制
御部442)および外部メモリとの一致を取るためにチッ
プバス上の書き込みアドレスを監視するアドレスモニタ
機能(アドレス制御部441)を備えている。
第5図は情報処理装置における通常の命令実行シーケ
ンスを示す図である。同図に示されるように、本情報処
理装置は、5段のパイプラインステージで構成され、通
常の命令実行シーケンスは、命令デコードステージ(D
C)、オペランドアドレス計算ステージ(AC)、マイク
ロプログラム読み出しおよびオペランドフェッチステー
ジ(Mi)、命令実行ステージ(DE:演算ステージ)、お
よびオペランドライトステージ(OW:結果の書込ステー
ジ)の各ステージがパイプライン処理されて、命令を実
行するようになっている。すなわち、通常の命令実行の
場合、デコードの結果得られたアドレッシング情報によ
りACステージでアドレス計算を行ない、オペランドデー
タのアクセスをMiステージで行なうと共に、マイクロア
ドレスをMiステージで出力し、OEステージでマイクロプ
ログラムを読み出すことによって、OWステージの制御を
行うようになっている。
ンスを示す図である。同図に示されるように、本情報処
理装置は、5段のパイプラインステージで構成され、通
常の命令実行シーケンスは、命令デコードステージ(D
C)、オペランドアドレス計算ステージ(AC)、マイク
ロプログラム読み出しおよびオペランドフェッチステー
ジ(Mi)、命令実行ステージ(DE:演算ステージ)、お
よびオペランドライトステージ(OW:結果の書込ステー
ジ)の各ステージがパイプライン処理されて、命令を実
行するようになっている。すなわち、通常の命令実行の
場合、デコードの結果得られたアドレッシング情報によ
りACステージでアドレス計算を行ない、オペランドデー
タのアクセスをMiステージで行なうと共に、マイクロア
ドレスをMiステージで出力し、OEステージでマイクロプ
ログラムを読み出すことによって、OWステージの制御を
行うようになっている。
第6図は本発明の情報処理装置に使用する命令フォー
マットの具体例を示す図である。同図(a)〜(c)に
示されるように、本情報処理装置が解釈実行する命令
は、Gフォーマットと呼ばれる一般形と、使用頻度の高
い命令とアドレッシングモードが短い命令となるように
した短縮形とにより構成され、一般形は、POP,PUSH命令
等の1つのオペランドを有する1オペランド形(G1フォ
ーマット)とMOV,ADD命令等の大多数の命令が含まれる
2オペランド形(G2フォーマット)と、固定長ビットフ
ィールド命令とACB,SCBと呼ばれるループ命令等の3オ
ペランド以上のオペランドを有する拡張オペランド形に
分けられる。短縮形は、一般形の命令の内、使用頻度の
高い命令とアドレッシングモードに対して短い命令とな
るように割り当てたもので、主にメモリ−レジスタ間の
オペランドおよびレジスタ−レジスタ間のオペランドを
対象とする命令に分けられる。
マットの具体例を示す図である。同図(a)〜(c)に
示されるように、本情報処理装置が解釈実行する命令
は、Gフォーマットと呼ばれる一般形と、使用頻度の高
い命令とアドレッシングモードが短い命令となるように
した短縮形とにより構成され、一般形は、POP,PUSH命令
等の1つのオペランドを有する1オペランド形(G1フォ
ーマット)とMOV,ADD命令等の大多数の命令が含まれる
2オペランド形(G2フォーマット)と、固定長ビットフ
ィールド命令とACB,SCBと呼ばれるループ命令等の3オ
ペランド以上のオペランドを有する拡張オペランド形に
分けられる。短縮形は、一般形の命令の内、使用頻度の
高い命令とアドレッシングモードに対して短い命令とな
るように割り当てたもので、主にメモリ−レジスタ間の
オペランドおよびレジスタ−レジスタ間のオペランドを
対象とする命令に分けられる。
命令フォーマットの内、オペランド指定部は、第6図
(b)で示すようなアドレッシング指定が可能で、この
中で付加モードと呼ばれるアドレッシングモードは、多
重間接やスケーリングが使用できるアドレッシングモー
ドである。また、オペランドアドレスは、基本的に以下
の式で求められ、『ベースアドレス+インデックス×ス
ケール+ディスプレースメント』。このアドレス計算を
繰り返し適用することにより、多重間接を実現すること
ができる。従って、一段目のベースアドレスを基本部の
オペランド指定部により指定し、インデックス,スケー
ル,ディスプレースメントを一段毎に、第6図(c)の
フォーマットで拡張部に連結して指定するようになって
いる。
(b)で示すようなアドレッシング指定が可能で、この
中で付加モードと呼ばれるアドレッシングモードは、多
重間接やスケーリングが使用できるアドレッシングモー
ドである。また、オペランドアドレスは、基本的に以下
の式で求められ、『ベースアドレス+インデックス×ス
ケール+ディスプレースメント』。このアドレス計算を
繰り返し適用することにより、多重間接を実現すること
ができる。従って、一段目のベースアドレスを基本部の
オペランド指定部により指定し、インデックス,スケー
ル,ディスプレースメントを一段毎に、第6図(c)の
フォーマットで拡張部に連結して指定するようになって
いる。
第7図は本発明の情報処理装置に使用するPOP,PUSH命
令のフォーマットを示す図である。同図(a)に示され
るように、POP命令は、スタックポインタ(SP)をポス
トインクリメントすると共に、スタックのデータをアド
レッシングフィールドで指定されたオペランドに転送す
るようになっている。また、同図(b)に示されるよう
に、PUSH命令は、アドレッシングフィールドで指定され
たオペランドを、スタックポインタをプリデクリメント
すると共に、スタックに転送するようになっている。こ
こで、本実施例では、POP,PUSH命令共オペランドにメモ
リを指定することができるのはもちろんである。
令のフォーマットを示す図である。同図(a)に示され
るように、POP命令は、スタックポインタ(SP)をポス
トインクリメントすると共に、スタックのデータをアド
レッシングフィールドで指定されたオペランドに転送す
るようになっている。また、同図(b)に示されるよう
に、PUSH命令は、アドレッシングフィールドで指定され
たオペランドを、スタックポインタをプリデクリメント
すると共に、スタックに転送するようになっている。こ
こで、本実施例では、POP,PUSH命令共オペランドにメモ
リを指定することができるのはもちろんである。
従って、前述した第1図および第2図のように、オペ
ランドがメモリの場合は2回のアドレス計算を行い、ま
た、メモリでない場合(レジスタまたはイミディエート
の場合)は1回のアドレス計算を行なうことになる。そ
して、本実施例では、POP命令の時はソースオペランド
に相当するスタックポインタの計算を先に行い、その
後、アドレッシングによるアドレス計算を行うようにな
っており、また、PUSH命令では、アドレッシングによる
アドレス計算を先に行い、その後、ディスティネーショ
ンオペランドに相するスタックポインタの計算を行うよ
うになっている。ここで、アドレッシングがメモリ以外
の場合はスタックポインタの計算のみを行なっている。
ランドがメモリの場合は2回のアドレス計算を行い、ま
た、メモリでない場合(レジスタまたはイミディエート
の場合)は1回のアドレス計算を行なうことになる。そ
して、本実施例では、POP命令の時はソースオペランド
に相当するスタックポインタの計算を先に行い、その
後、アドレッシングによるアドレス計算を行うようにな
っており、また、PUSH命令では、アドレッシングによる
アドレス計算を先に行い、その後、ディスティネーショ
ンオペランドに相するスタックポインタの計算を行うよ
うになっている。ここで、アドレッシングがメモリ以外
の場合はスタックポインタの計算のみを行なっている。
第8図は本発明の情報処理装置に適用されるデコーダ
の一例を示すブロック図である。デコーダ412は、第6
図に示すような命令フォーマットより成る命令列を16ビ
ットを基本長として解読するもので、その命令列は命令
キュー411を介して供給されるようになっている。そし
て、デコーダ412は、供給された命令の形式やアドレッ
シングモードを解読し、パイプライン制御,オペランド
アドレス計算およびマイクロプログラムアドレス等の制
御情報を与えるようになっている。
の一例を示すブロック図である。デコーダ412は、第6
図に示すような命令フォーマットより成る命令列を16ビ
ットを基本長として解読するもので、その命令列は命令
キュー411を介して供給されるようになっている。そし
て、デコーダ412は、供給された命令の形式やアドレッ
シングモードを解読し、パイプライン制御,オペランド
アドレス計算およびマイクロプログラムアドレス等の制
御情報を与えるようになっている。
第8図に示されるように、デコーダ412は、例えば、
第1命令デコード部61,第2命令デコード部62,アドレッ
シングデコード部63,次ステージ遷移要求デコード部64,
付加モードデコード部65,デコードシーケンサ部66,ラッ
チ部670〜679およびセレクト部68を備えている。また、
参照符号IQBSは、命令キューバスを示している。
第1命令デコード部61,第2命令デコード部62,アドレッ
シングデコード部63,次ステージ遷移要求デコード部64,
付加モードデコード部65,デコードシーケンサ部66,ラッ
チ部670〜679およびセレクト部68を備えている。また、
参照符号IQBSは、命令キューバスを示している。
命令デコーダ412により解読される命令コードは、16
ビットが基本長とされ、最大3つの基本部1命令により
定められる基本フォーマットで構成される。そして、基
本部は最初の16ビットから順にOP1〜OP3と呼ばれ、さら
に、命令コードは基本部が指定したモードに応じて追加
される拡張部を有している。ここで、、拡張部は、イミ
ディエート,ディスプレースメントまたは付加モードで
ある。また、命令は可変の長さを持つことから、デコー
ダ412は命令を構成要素に分解して、シーケンサのステ
ージに従ってデコードを行なう。
ビットが基本長とされ、最大3つの基本部1命令により
定められる基本フォーマットで構成される。そして、基
本部は最初の16ビットから順にOP1〜OP3と呼ばれ、さら
に、命令コードは基本部が指定したモードに応じて追加
される拡張部を有している。ここで、、拡張部は、イミ
ディエート,ディスプレースメントまたは付加モードで
ある。また、命令は可変の長さを持つことから、デコー
ダ412は命令を構成要素に分解して、シーケンサのステ
ージに従ってデコードを行なう。
次に、第8図中、本発明の中心となるアドレッシング
デコード部63を第9図に示し、デコードシーケンサ部66
を第10図に示す。
デコード部63を第9図に示し、デコードシーケンサ部66
を第10図に示す。
第9図は第8図のデコーダにおけるアドレッシングデ
コード部の主要個所を示すブロック回路図である。同図
に示されるように、アドレッシングデコード部63は、PL
A631および複数の論理ゲートで構成され、各種の信号を
出力するようになっている。ここで、出力信号AAFSLは
レジスタ間接指示を示し,DSPSZ16は16ビットディスプレ
ースメント指示,DSPSZ32は32ビットディスプレースメン
ト指示,APCSLはプログラムカウンタ相対指示,ASPSLはス
タックポンプまたはスタックプッシュを示し,ASPDECは
スタックプッシュのアドレス計算を示し、例えば、16ビ
ットレジスタ相対間接の場合はAAFSLおよびDSPSZ16の2
本がアサートされるようになっている。
コード部の主要個所を示すブロック回路図である。同図
に示されるように、アドレッシングデコード部63は、PL
A631および複数の論理ゲートで構成され、各種の信号を
出力するようになっている。ここで、出力信号AAFSLは
レジスタ間接指示を示し,DSPSZ16は16ビットディスプレ
ースメント指示,DSPSZ32は32ビットディスプレースメン
ト指示,APCSLはプログラムカウンタ相対指示,ASPSLはス
タックポンプまたはスタックプッシュを示し,ASPDECは
スタックプッシュのアドレス計算を示し、例えば、16ビ
ットレジスタ相対間接の場合はAAFSLおよびDSPSZ16の2
本がアサートされるようになっている。
一方、第9図中、信号SPSLi1およびSPSLi2は暗黙のア
ドレス計算指示を示し、両者の違いは、明示のアドレス
計算のプライオリティを示す。すなわち、SPSLi1は暗黙
が優先し、また、SPSLi2は明示が優先する。さらに、信
号MEMSLはアドレッシングフィードでメモリが指定され
たことを示し、明示のアドレス計算を行なうことを示
す。これらSPSLi1信号,SPSLi2信号およびMEMSL信号によ
って、暗黙のアドレス計算指示が有るかどうか、並び
に、暗黙のアドレス計算指示が有る場合に、明示のアド
レス計算指示と暗黙のアドレス計算指示との何れを先に
行うかということが示されるようになっている。
ドレス計算指示を示し、両者の違いは、明示のアドレス
計算のプライオリティを示す。すなわち、SPSLi1は暗黙
が優先し、また、SPSLi2は明示が優先する。さらに、信
号MEMSLはアドレッシングフィードでメモリが指定され
たことを示し、明示のアドレス計算を行なうことを示
す。これらSPSLi1信号,SPSLi2信号およびMEMSL信号によ
って、暗黙のアドレス計算指示が有るかどうか、並び
に、暗黙のアドレス計算指示が有る場合に、明示のアド
レス計算指示と暗黙のアドレス計算指示との何れを先に
行うかということが示されるようになっている。
第10図は第8図のデコーダにおけるデコードシーケン
サ部を示すブロック回路図である。同図に示されるよう
に、デコードシーケンサ部66は、複数の論理ゲートおよ
びラッチ回路等が構成され、以下に示す7つの状態を取
ることができるようになっている。
サ部を示すブロック回路図である。同図に示されるよう
に、デコードシーケンサ部66は、複数の論理ゲートおよ
びラッチ回路等が構成され、以下に示す7つの状態を取
ることができるようになっている。
OP1…命令の先頭(OP1)からデコードを行うステー
ジ、 OP2…命令の第2基本部(OP2)をデコードするステー
ジ、 OP3…命令の第3基本部(OP3)をデコードするステー
ジ、 ADDM…付加モードのデコードステージ、 iMM2…ロングデータのイミディエートデータの2ワー
ド目を抜取るステージ、 iMM3…ロングデータのイミディエートデータの3ワー
ド目を抜取るステージ、および、 ACWAiT…デコード1サイクルに対し、2つのアドレッ
シングモード計算を行なうため、2回目のアドレス計算
指示を行なうステージである。
ジ、 OP2…命令の第2基本部(OP2)をデコードするステー
ジ、 OP3…命令の第3基本部(OP3)をデコードするステー
ジ、 ADDM…付加モードのデコードステージ、 iMM2…ロングデータのイミディエートデータの2ワー
ド目を抜取るステージ、 iMM3…ロングデータのイミディエートデータの3ワー
ド目を抜取るステージ、および、 ACWAiT…デコード1サイクルに対し、2つのアドレッ
シングモード計算を行なうため、2回目のアドレス計算
指示を行なうステージである。
第11図は本発明の情報処理装置におけるPOP,PUSH命令
のデコードタイムチャートを示す図であり、同図(a)
はPOP@(R0:B,P1:X,disp:32)のデコードタイムチャー
トを示し、また、同図(b)はPUSH@(R0:B,R1:X,dis
p:32)のデコードタイムチャートを示している。
のデコードタイムチャートを示す図であり、同図(a)
はPOP@(R0:B,P1:X,disp:32)のデコードタイムチャー
トを示し、また、同図(b)はPUSH@(R0:B,R1:X,dis
p:32)のデコードタイムチャートを示している。
まず、第11図(a)に示されるように、POP@(R0:B,
R1:X,disp:32)を実行する場合、アドレッシングデコー
ド部63における3つのSPSLi1信号,SPSLi2信号およびMEM
SL信号によって、具体的に、SPSLi1信号およびMEMSL信
号がアサートされることによって、明示のアドレス計算
指示および暗黙のアドレス計算指示が有って暗黙のアド
レス計算指示が優先することが示され、デコードシーケ
ンス部66は、上述した7つの状態の内、『OP1→ACWAiT
→ADDM→』を実行するように演算指示が行われる。すな
わち、例えば、POP命令でメモリ指定の場合、SPSLi1信
号およびMEMSL信号がアサートされ、先に、OP1ステージ
でスタックポップの演算指示が行われ、その後、ACWAiT
ステージおよびADDMステージで@(R0:B,R1:X,disp:3
2)のアドレス計算指示(付加モードによるアドレス計
算指示)が行われるようになっている。
R1:X,disp:32)を実行する場合、アドレッシングデコー
ド部63における3つのSPSLi1信号,SPSLi2信号およびMEM
SL信号によって、具体的に、SPSLi1信号およびMEMSL信
号がアサートされることによって、明示のアドレス計算
指示および暗黙のアドレス計算指示が有って暗黙のアド
レス計算指示が優先することが示され、デコードシーケ
ンス部66は、上述した7つの状態の内、『OP1→ACWAiT
→ADDM→』を実行するように演算指示が行われる。すな
わち、例えば、POP命令でメモリ指定の場合、SPSLi1信
号およびMEMSL信号がアサートされ、先に、OP1ステージ
でスタックポップの演算指示が行われ、その後、ACWAiT
ステージおよびADDMステージで@(R0:B,R1:X,disp:3
2)のアドレス計算指示(付加モードによるアドレス計
算指示)が行われるようになっている。
また、第11図(b)に示されるように、PUSH@(R0:
B,R1:X,disp:32)を実行する場合、アドレッシングデコ
ード部63における3つのSPSLi1信号,SPSLi2信号およびM
EMSL信号によって、具体的に、SPSLi2信号およびMEMSL
信号がアサートされることによって、明示のアドレス計
算指示および暗黙のアドレス計算指示が有って明示のア
ドレス計算指示が優先することが示され、デコードシー
ケンス部66は、上述した7つの状態の内、『OP1→ADDM
→ACWAiT→』を実行するように演算指示が行われる。す
なわち、先に、OP1およびADDMステージにおいて、@(R
0:B,R1:X,disp:32)のアドレス計算指示(付加モードの
アドレス計算指示)が行われ、その後、ACWAiTステージ
でスタックプッシュの演算指示を行われる。
B,R1:X,disp:32)を実行する場合、アドレッシングデコ
ード部63における3つのSPSLi1信号,SPSLi2信号およびM
EMSL信号によって、具体的に、SPSLi2信号およびMEMSL
信号がアサートされることによって、明示のアドレス計
算指示および暗黙のアドレス計算指示が有って明示のア
ドレス計算指示が優先することが示され、デコードシー
ケンス部66は、上述した7つの状態の内、『OP1→ADDM
→ACWAiT→』を実行するように演算指示が行われる。す
なわち、先に、OP1およびADDMステージにおいて、@(R
0:B,R1:X,disp:32)のアドレス計算指示(付加モードの
アドレス計算指示)が行われ、その後、ACWAiTステージ
でスタックプッシュの演算指示を行われる。
以上において、命令デコード部より出力されるマイク
ロ命令アドレスは、例えば、通常の転送命令(MOV命
令)と同一となるのは前述した通りである。このよう
に、明示と暗黙のアドレス計算を有する命令のアドレス
計算をデコーダでプライオリティを取って出力すること
により、性能の向上が図れると共に、後継のステージを
共通化したため、ハードウェアの削減に効果がある。
ロ命令アドレスは、例えば、通常の転送命令(MOV命
令)と同一となるのは前述した通りである。このよう
に、明示と暗黙のアドレス計算を有する命令のアドレス
計算をデコーダでプライオリティを取って出力すること
により、性能の向上が図れると共に、後継のステージを
共通化したため、ハードウェアの削減に効果がある。
以上、詳述したように、本発明の情報処理装置は、明
示・暗黙いずれかのアドレス計算指示を先に行なうかを
判定し、順次アドレス計算指示を出力することによっ
て、明示のアドレス計算指示および暗黙のアドレス計算
指示を有する命令を効率的なパイプライン処理により高
速に解釈実行することができる。
示・暗黙いずれかのアドレス計算指示を先に行なうかを
判定し、順次アドレス計算指示を出力することによっ
て、明示のアドレス計算指示および暗黙のアドレス計算
指示を有する命令を効率的なパイプライン処理により高
速に解釈実行することができる。
第1図は本発明に係る情報処理装置における実行シーケ
ンスの一例を示す図、 第2図は本発明の情報処理装置における実行シーケンス
の他の例を示す図、 第3図は本発明の情報処理装置による一命令の実行シー
ケンスを示す図、 第4図は本発明に係る情報処理装置の一例の全体的な構
成を示すブロック図、 第5図は情報処理装置における通常の命令実行シーケン
スを示す図、 第6図は本発明の情報処理装置に使用する命令フォーマ
ットの具体例を示す図、 第7図は本発明の情報処理装置に使用するPOP,PUSH命令
のフォーマットを示す図、 第8図は本発明の情報処理装置に適用されるデコーダの
一例を示すブロック図、 第9図は第8図のデコーダにおけるアドレッシングデコ
ード部の主要個所を示すブロック回路図、 第10図は第8図のデコーダにおけるデコードシーケンサ
部を示すブロック回路図、 第11図は本発明の情報処理装置におけるPOP,PUSH命令の
デコードタイムチャートを示す図、 第12図は情報処理装置におけるPOP,PUSH命令の動作を示
す図、 第13図は従来の情報処理装置におけるPOP,PUSH命令の実
行シーケンスを示す図である。 (符号の説明) 41……命令制御部、 42……命令実行部、 43……メモリ制御部、 44……バス制御部、 61……第1命令デコード部、 62……第2命令デコード部、 63……アドレッシングデコード部、 64……次ステージ遷移要求デコード部、 65……付加モードデコード部、 66……デコードシーケンサ部、 670〜679……ラッチ部、 68……セレクト部、 411……命令キュー、 412……デコーダ、 413……パイプライン制御部。
ンスの一例を示す図、 第2図は本発明の情報処理装置における実行シーケンス
の他の例を示す図、 第3図は本発明の情報処理装置による一命令の実行シー
ケンスを示す図、 第4図は本発明に係る情報処理装置の一例の全体的な構
成を示すブロック図、 第5図は情報処理装置における通常の命令実行シーケン
スを示す図、 第6図は本発明の情報処理装置に使用する命令フォーマ
ットの具体例を示す図、 第7図は本発明の情報処理装置に使用するPOP,PUSH命令
のフォーマットを示す図、 第8図は本発明の情報処理装置に適用されるデコーダの
一例を示すブロック図、 第9図は第8図のデコーダにおけるアドレッシングデコ
ード部の主要個所を示すブロック回路図、 第10図は第8図のデコーダにおけるデコードシーケンサ
部を示すブロック回路図、 第11図は本発明の情報処理装置におけるPOP,PUSH命令の
デコードタイムチャートを示す図、 第12図は情報処理装置におけるPOP,PUSH命令の動作を示
す図、 第13図は従来の情報処理装置におけるPOP,PUSH命令の実
行シーケンスを示す図である。 (符号の説明) 41……命令制御部、 42……命令実行部、 43……メモリ制御部、 44……バス制御部、 61……第1命令デコード部、 62……第2命令デコード部、 63……アドレッシングデコード部、 64……次ステージ遷移要求デコード部、 65……付加モードデコード部、 66……デコードシーケンサ部、 670〜679……ラッチ部、 68……セレクト部、 411……命令キュー、 412……デコーダ、 413……パイプライン制御部。
Claims (13)
- 【請求項1】明示のアドレス計算指示のフィールドを有
すると共に、命令コードにより暗黙のアドレス計算指示
を有することがある命令を含む命令列をパイプライン処
理により解釈実行する情報処理装置であって、 前記命令のアドレッシングフィールドをデコードするデ
コーダを具備し、該デコーダは、アドレス計算指示を出
力する際、デコードした命令が明示のアドレス計算指示
および暗黙のアドレス計算指示の両方を有している場合
には、その命令コードにより該明示のアドレス計算指示
或いは該暗黙のアドレス計算指の何れを先に行うかを判
定し、順次アドレス計算指示を出力するようにしたこと
を特徴とする情報処理装置。 - 【請求項2】前記情報処理装置は、スタックに対するポ
ップ命令を含む命令列を解釈実行するようになってお
り、該ポップ命令を解釈実行する場合、スタックポイン
タに対する暗黙のアドレス計算を先に実行し、その後、
当該ポップ命令のアドレッシングフィールドで指示され
た明示のアドレス計算を行うようにした請求項第1項に
記載の情報処理装置。 - 【請求項3】前記デコーダにより起動されるマイクロ命
令は、通常の転送命令と同一のマイクロ命令によって実
行され、前記情報処理装置は、スタックに対するプッシ
ュ命令を含む命令列を解釈実行するようになっており、
該プッシュ命令を解釈実行する場合、当該プッシュ命令
のアドレッシングフィールドで指示された明示のアドレ
ス計算を先に実行し、その後、スタックポインタに対す
る暗黙のアドレス計算を行うようにした請求項第2項に
記載の情報処理装置。 - 【請求項4】前記デコーダにより起動されるマイクロ命
令は、通常の転送命令と同一のマイクロ命令によって実
行するようにした請求項第2項または第3項のいずれか
1項に記載の情報処理装置。 - 【請求項5】前記情報処理装置は、スタックに対するポ
ップ命令を含む命令列を解釈実行するようになってお
り、該ポップ命令を解釈実行する場合、当該ポップ命令
のアドレッシングフィールドで指示されたオペランドが
メモリ参照の時は、スタックポインタに対する暗黙のア
ドレス計算を先に実行し、その後、当該ポップ命令のア
ドレッシングフィールドで指示された明示のアドレス計
算を行い、また、当該ポップ命令のアドレッシングフィ
ールドで指示されたオペランドがメモリ参照でない時
は、スタックポインタに対する暗黙のアドレス計算のみ
を行うようにした請求項第1項に記載の情報処理装置。 - 【請求項6】前記情報処理装置は、前記ポップ命令のア
ドレッシングフィールドで指示されたディスティネーシ
ョンがレジスタの時は、スタックポインタに対する暗黙
のアドレス計算のみを行うようにした請求項第5項に記
載の情報処理装置。 - 【請求項7】前記情報処理装置は、スタックに対するプ
ッシュ命令を含む命令列を解釈実行するようになってお
り、該プッシュ命令を解釈実行する場合、当該プッシュ
命令のアドレッシングフィールドで指示されたオペラン
ドがメモリ参照の時は、明示のアドレス計算を先に実行
し、その後、スタックポインタに対する暗黙のアドレス
計算を行い、また、当該プッシュ命令のアドレッシング
フィールドで指示されたオペランドがメモリ参照でない
時は、スタックポインタに対する暗黙のアドレス計算の
みを行うようにした請求項第1項に記載の情報処理装
置。 - 【請求項8】前記情報処理装置は、前記プッシュ命令の
アドレッシングフィールドで指示されたソースがレジス
タまたはイミディエートの時は、スタックポインタに対
する暗黙のアドレス計算のみを行うようにした請求項第
7項に記載の情報処理装置。 - 【請求項9】前記情報処理装置は、パイプラインステー
ジにより構成されている請求項第1項に記載の情報処理
装置。 - 【請求項10】前記情報処理装置は、前記デコーダを含
み命令のフェッチ,デコード,および,実行のための制
御を行う命令制御部と、オペランドアドレスの計算およ
びオペランドの演算を行う命令実行部と、メモリの制御
を行うメモリ制御部と、チップバスを経由して外部のI/
Oやメモリとの間のデータ転送を制御するバス制御部を
備えたワンチップマイクロプロセッサとして構成されて
いる請求項第1項に記載の情報処理装置。 - 【請求項11】前記命令制御部は、命令をプリフェッチ
する命令キューと、命令形式や種別およびアドレッシン
グモードの解析を行って、パイプライン制御,オペラン
ドアドレス計算、マイクロプログラムの起動のための制
御情報を与えるデコーダと、命令を1マシンサイクル単
位に独立した所定数のステージに分割してパイプライン
処理を制御するパイプライン制御部と、マイクロ命令が
格納されたマイクロプログラムとを備えている請求項第
10項に記載の情報処理装置。 - 【請求項12】前記デコーダは、第1命令デコード部,
第2命令デコード部,アドレッシングデコード部,次ス
テージ遷移要求デコード部,付加モードデコード部,デ
コードシーケンサ部,ラッチ部,および,セレクト部を
備えて構成されている請求項第11項に記載の情報処理装
置。 - 【請求項13】前記アドレッシングデコード部が出力す
る信号は、暗黙のアドレス計算指示を示す信号および明
示のアドレス計算指示を示す信号を含み、これらの信号
によって、暗黙のアドレス計算指示が有るかどうか、並
びに、暗黙のアドレス計算指示が有る場合に、明示のア
ドレス計算指示と暗黙のアドレス計算指示との何れを先
に行うかが示されるようになっている請求項第12項に記
載の情報処理装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2288348A JP2956707B2 (ja) | 1990-10-29 | 1990-10-29 | 情報処理装置 |
EP19910918593 EP0507958A4 (en) | 1990-10-29 | 1991-10-25 | Device for processing information |
PCT/JP1991/001460 WO1992008190A1 (en) | 1990-10-29 | 1991-10-25 | Device for processing information |
KR1019920701544A KR950014160B1 (ko) | 1990-10-29 | 1991-10-25 | 정보처리장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2288348A JP2956707B2 (ja) | 1990-10-29 | 1990-10-29 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04163628A JPH04163628A (ja) | 1992-06-09 |
JP2956707B2 true JP2956707B2 (ja) | 1999-10-04 |
Family
ID=17729044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2288348A Expired - Lifetime JP2956707B2 (ja) | 1990-10-29 | 1990-10-29 | 情報処理装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0507958A4 (ja) |
JP (1) | JP2956707B2 (ja) |
WO (1) | WO1992008190A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2943248T3 (es) * | 2011-04-01 | 2023-06-12 | Intel Corp | Formato de instrucción compatible con vectores y ejecución del mismo |
CN104011670B (zh) | 2011-12-22 | 2016-12-28 | 英特尔公司 | 用于基于向量写掩码的内容而在通用寄存器中存储两个标量常数之一的指令 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0769805B2 (ja) * | 1988-10-04 | 1995-07-31 | 三菱電機株式会社 | データ処理装置 |
JPH0769806B2 (ja) * | 1988-10-14 | 1995-07-31 | 三菱電機株式会社 | データ処理装置 |
US5142633A (en) * | 1989-02-03 | 1992-08-25 | Digital Equipment Corporation | Preprocessing implied specifiers in a pipelined processor |
-
1990
- 1990-10-29 JP JP2288348A patent/JP2956707B2/ja not_active Expired - Lifetime
-
1991
- 1991-10-25 WO PCT/JP1991/001460 patent/WO1992008190A1/ja not_active Application Discontinuation
- 1991-10-25 EP EP19910918593 patent/EP0507958A4/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP0507958A1 (en) | 1992-10-14 |
JPH04163628A (ja) | 1992-06-09 |
WO1992008190A1 (en) | 1992-05-14 |
EP0507958A4 (en) | 1993-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2931890B2 (ja) | データ処理装置 | |
JP2616182B2 (ja) | データ処理装置 | |
JP2834837B2 (ja) | プログラマブルコントローラ | |
JPH03129433A (ja) | 並列処理装置および並列処理方法 | |
US4897787A (en) | Data processing system | |
JP2013522749A (ja) | 複数の命令セットにより使用されるレジスタ間のマッピング | |
JP3543181B2 (ja) | データ処理装置 | |
JPH04260950A (ja) | キャッシュメモリ装置 | |
JPH0766324B2 (ja) | データ処理装置 | |
JP2581236B2 (ja) | データ処理装置 | |
JPH0496825A (ja) | データ・プロセッサ | |
US6687808B2 (en) | Data processor using indirect register addressing | |
JPH081602B2 (ja) | データ処理装置 | |
JP2669158B2 (ja) | データ処理装置 | |
JPH10232821A (ja) | データ処理装置 | |
JPH07120284B2 (ja) | データ処理装置 | |
US5768553A (en) | Microprocessor using an instruction field to define DSP instructions | |
JP3345787B2 (ja) | データ処理装置 | |
JP4502532B2 (ja) | データ処理装置 | |
JP2556182B2 (ja) | デ−タ処理装置 | |
JP2956707B2 (ja) | 情報処理装置 | |
JPH096614A (ja) | データ処理装置 | |
JP2504312B2 (ja) | プライオリティエンコ―ダ及びそれを備えたデ―タ処理装置 | |
US5187782A (en) | Data processing system | |
KR950014160B1 (ko) | 정보처리장치 |