JPH04163628A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH04163628A
JPH04163628A JP28834890A JP28834890A JPH04163628A JP H04163628 A JPH04163628 A JP H04163628A JP 28834890 A JP28834890 A JP 28834890A JP 28834890 A JP28834890 A JP 28834890A JP H04163628 A JPH04163628 A JP H04163628A
Authority
JP
Japan
Prior art keywords
instruction
address calculation
information processing
implicit
executed
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
JP28834890A
Other languages
English (en)
Other versions
JP2956707B2 (ja
Inventor
Akihiro Yoshitake
吉竹 昭博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2288348A priority Critical patent/JP2956707B2/ja
Priority to PCT/JP1991/001460 priority patent/WO1992008190A1/ja
Priority to EP19910918593 priority patent/EP0507958A4/en
Priority to KR1019920701544A priority patent/KR950014160B1/ko
Publication of JPH04163628A publication Critical patent/JPH04163628A/ja
Application granted granted Critical
Publication of JP2956707B2 publication Critical patent/JP2956707B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30163Decoding 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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [概 要〕 パイプライン処理により命令を解釈実行する情報処理装
置に関し、 明示のアドレス計算指示および暗黙のアドレス計算指示
を有する命令を効率的なパイプライン処理により高速に
解釈実行することを目的とし、明示のアドレス計算指示
のフィールドを有すると共に、命令コードにより暗黙の
アドレス計算指示を有することがある命令を含む命令列
をパイプライン処理により解釈実行する情報処理装置で
あって、前記命令のアドレッシングフィールドをデコー
ドするデコーダを具備し、該デコーダは、アドレス計算
指示を出力する際、デコードした命令が明示のアドレス
計算指示および暗黙のアドレス計算指示の両方を有して
いる場合には、その命令コードにより該明示のアドレス
計算指示或いは該暗黙のアドレス計算指の何れを先に行
うかを判定し、順次アドレス計算指示を出力するように
構成する。
〔産業上の利用分野] 本発明は、情報処理装置に関し、特に、パイプライン処
理により命令を解釈実行する情報処理装置に関する。
近年、情報処理装置(マイクロプロセッサ)の高速化の
要求に伴って、パイプライン処理により命令を解釈実行
する情報処理装置が提供されている。ところで、情報処
理装置におけるパイプライン処理により解釈実行される
命令として、明示のアドレス計算指示のフィールドを有
すると共に、命令コードにより暗黙のアドレス計算指示
を有することがあるような命令が存する。そして、近年
、この明示のアドレス計算指示および暗黙のアドレス計
算指示を有する命令を効率的なパイプライン処理により
高速に解釈実行することが要望されている。
〔従来の技術〕
近年、命令の実行を高速化するために、パイプラインに
よる並列処理を行うようにした情報処理装置が提供され
ている。このパイプライン処理は、命令を順番に実行す
ることを前提としているため、例えば、命令中に明示の
アドレス計算指示のフィールドを有し、その命令コード
により暗黙のアドレス計算指示を有する命令(例えば、
第12図に示すようなスタックに対してプッシュ、ポツ
プを行なうPUSH、POP命令)を有する命令列を解
釈実行する情報処理装置においては、明示・暗黙の2つ
のアドレス計算を持つ命令は効率的パイプライン処理を
行うことができなかった。
第12図は情報処理装置におけるPOP 、PUSH命
令の動作を示す図であり、同図(a)はpop命令の場
合を示し、同図(b)はPUSH命令の場合を示してい
る。
まず、第12図(a)はpop命令の動作を示すもので
、ディスティネーション(dest )がレジスタまた
はメモリであり、スタックからデータを取り出す場合を
示している。具体的に、「POP @ Rn Jは、レ
ジスタ間接によるメモリ参照を示し、スタックにおいて
、スタックポインタSPが指している位置(Old S
P)の内容(オペランド)をレジスタhが示すメモリの
番地(address)に書き込み、さらに、スタック
ポインタspが指す位置をそれまでの位置(Old S
P)よりも1つ下の位置(New SP)に移すように
するものである。
次に、第12図(b)はPUSH命令の動作を示すもの
で、ソース(src)がレジスタ、イミディエートまた
はメモリであり、スタックに対してデータを与える場合
を示している。具体的に、r PUSH@ RnJは、
レジスタ間接によるメモリ参照を示し、レジスタhが示
すメモリ上の内容をオペランドとしてスタックに与え、
さらに、スタックにおいて、その与えられたオペランド
を所定の位置、例えば、それまでのスタックポインタS
Pが指していた位置(Old SP)よりも1つ上の位
置に書き込み、その新たな位置(New SP)をスタ
ックポインタSPが指すようにするものである。ここで
、これらのPoP命令およびPUSH命令は、通常、C
PUが解釈する命令コードとして割り当てられている。
〔発明が解決しようとする課題〕
第13図は従来の情報処理装置において、上述した第1
2図に示すようなPOP 、PUSH命令を実行した場
合のシーケンスを示す図であり、5段のパイプラインの
動作を示すものである。
第13図(a)に示されるように、PoP命令による実
行シーケンスは、例えば、第1のサイクルC1で命令デ
コード(DC)を行い、第2のサイクルC2でPOP命
令のアドレッシングフィールドで規定される明示のアド
レス計算(AC,)を行い、第3のサイクルC3でマイ
クロ命令の第1ステップ読み出しくMid)を行ってい
る。さらに、第4のサイクルC4でマイクロ命令の第2
ステップ読み出しくMi2)を行うと共にMixからの
指示により、暗黙のアドレス計算(AC2)を行い、そ
して、第5のサイクルC5でマイクロ命令の第3ステッ
プ読み出しくMi3)を行うと共にMi2からの指示に
より、暗黙のアドレス計算によるオペランドフェッチ(
OF2)を行う。また、第6のサイクルC6でMi3か
らの指示により命令の実行(明示のアドレス計算アドレ
スへのライト指示、0E3)を行い、第7のサイクルC
7で明示のアドレス計算アドレスへのライト実行(OW
3)を行うようになっている。
この第13図(a)に示すpop命令による実行シーケ
ンスにおいて、次命令は、第5のサイクルC5がら開始
されることになる。従って、pop命令を第1のサイク
ルC1から実行する場合、次命令は、4サイクル後の第
5のサイクルC5がらでないと開始することができなか
った。この第13図(a)に示す実行シーケンスは、デ
ィスティネーションがメモリの場合を示すが、レジスタ
の場合も空きステージ(第2のサイクルC2)が存在す
るため、次命令は、第5のサイクルC5からでないと開
始することができなかった。
第13図(b)に示されるように、PUSH命令による
実行シーケンスは、例えば、第Iのサイクルc1で命令
デコード(DC)を行い、第2のサイクルc2で明示の
アドレス計算(Act ’)を行い、第3のサイクルC
3でマイクロ命令の第1ステップ読み出しくMid)を
行うと共に、明示のアドレス計算によるオペランドフェ
・ンチ(OF、 )を行っている。さらに、第4のサイ
クルC4でマイクロ命令の第2ステップ読み出しくMi
2)を行うと共に、Milからの指示により暗黙のアド
レス計算(AC2)を行い、また、第5のサイクルC5
でMi2からの指示により命令の実行(暗黙のアドレス
計算アドレスへのライト指示:0E2)を行い、そして
、第6のサイクルC6で暗黙のアドレス計算アドレスへ
のライト実行(OW2)を行うようになっている。
この第13図(b)に示すPUSH命令による実行シー
ケンスにおいて、次命令は、第4のサイクルC4から開
始されることになる。従って、PUSH命令を第1のサ
イクルC1から実行する場合、次命令は、3サイクル後
の第4のサイクルC4からでないと開始することができ
なかった。
このように、従来の情報処理装置においては、デコーダ
(特に、アドレッシングフィールドをデコードするアド
レッシングデコーダ)より、明示のアドレス計算を指示
すると共に、命令コード部をデコードするデコーダより
マイクロエントリアドレスを出力し、マイクロプログラ
ムを起動する。
さらに、起動されたマイクロプログラムは、暗黙のアド
レス計算を行ない、その後、命令を実行(PUSH命令
の場合は、明示のアドレス計算によるオペランドデータ
を暗黙のアドレス計算によるアドレスへ転送し、pop
命令の場合は、暗黙のアドレス計算によるオペランドデ
ータを明示のアドレス計算によるアドレスへ転送)する
。このような場合、従来の情報処理装置においては、マ
イクロプログラムによる実行ステップが複数ステップと
なり、高速に命令を実行出来ないという解決すべき課題
があった。
本発明は、上述した従来の情報処理装置が有する課題に
鑑み、明示のアドレス計算指示および暗黙のアドレス計
算指示を有する命令を効率的なパイプライン処理により
高速に解釈実行することを目的とする。
〔課題を解決するための手段] 本発明によれば、明示のアドレス計算指示のフィールド
を有すると共に、命令コードにより暗黙のアドレス計算
指示を有することがある命令を含む命令列をパイプライ
ン処理により解釈実行する情報処理装置であって、前記
命令のアドレッシングフィールドをデコードするデコー
ダを具備し、該デコーダは、アドレス計算指示を出力す
る際、デコードした命令が明示のアドレス計算指示およ
び暗黙のアドレス計算指示の両方を有している場合には
、その命令コードにより該明示のアドレス計算指示或い
は該暗黙のアドレス計算指の何れを先に行うかを判定し
、順次アドレス計算指示を出力するようにしたことを特
徴とする情報処理装置が提供される。
〔作 用〕
本発明の情報処理装置によれば、命令のアドレッシング
フィールドをデコードするデコーダは、アドレス計算指
示を出力するにあたり、デコードした命令が、明示と暗
黙の2つのアドレス計算指示を有している場合には、そ
の命令コードにより、明示・暗黙いずれかのアドレス計
算指示を先に行なうかを判定し、順時アドレス計算指示
を出力するようになっている。これによって、明示・暗
黙のアドレス計算を有する命令を高速に実行することが
できる。
例えば、POP 、PUSH命令の場合は、2つのアド
レス計算をデコーダの指示により行うため、マイクロは
命令の実行を行うだけでよく、そのマイクロ命令もPO
P 、PUSH命令、さらに、MOV命令と共通に処理
することができることになる。
〔実施例〕
以下、図面を参照して本発明に係る情報処理装置の実施
例を説明する。
第1図は本発明に係る情報処理装置における実行シーケ
ンスの一例を示す図であり、5段のバイブラインにおけ
る動作を示すものである。ここで、第1図はディスティ
ネーションおよびソースがメモリの場合を示している。
第1図(a)に示されるように、ディスティネーション
がメモリの場合、POP命令による実行シーケンスは、
例えば、第1のサイクルC1で命令デコード(DC)を
行い、第2のサイクルC2で暗黙のアドレス計算(AC
l)を行い、第3のサイクルC3で明示のアドレス計算
(AC2)を行うと共に、暗黙のアドレス計算によるオ
ペランドフェッチ(OFI)を行っている。さらに、第
4のサイクルC4でマイクロ命令の読み出しくMi)を
行うと共に、明示のアドレス計算によるライト権チエツ
ク(WA2)を行う。また、第5のサイクルC5で命令
の実行(○E:ソース(暗黙アクセス)をディスティネ
ーション(明示アクセス)へ転送)を行い、そして、第
6のサイクルC6でディスティネーションのライト実行
(○W)を行うようになっている。
この第1図(a)に示すpop命令による実行シーケン
スにおいて、次命令は、第3のサイクルC3から開始さ
れることになる。従って、pop命令を第1のサイクル
C1から実行する場合、次命令は、2サイクル後の第3
のサイクルC3から開始されることになり、第13図(
a)に示す従来の情報処理装置における場合と比較して
、次命令の実行開始を2サイクル分だけ短縮することが
できる。
第1図(b)に示されるように、ソースがメモリの場合
、PUSH命令による実行シーケンスは、例えば、第1
のサイクルC1で命令デコード(DC)を行い、第2の
サイクルC2で明示のアドレス計算(ACI)を行い、
第3のサイクルC3で暗黙のアドレス計算(AC2)を
行うと共に、明示のアドレス計算によるオペランドフェ
ッチ(OFI)を行っている。さらに、第4のサイクル
C4でマイクロ命令の読み出しくMi)を行うと共に、
暗黙のアドレス計算によるライト権チエツク(WA2)
を行う。また、第5のサイクルC5で命令の実行(OE
:ソース(明示アクセス)をディスティネーション(暗
黙アクセス)へ転送)を行い、そして、第6のサイクル
C6でディスティネーションのライト実行(OW)を行
うようになっている。
この第1図(b)に示すPTJSH命令による実行シー
ケンスにおいて、次命令は、第3のサイクルC3から開
始されることになる。従って、PUSH命令を第1のサ
イクルC1から実行する場合、次命令は、2サイクル後
の第3のサイクルC3から開始されることになり、第1
3図(b)に示す従来の情報処理装置における場合と比
較して、次命令の実行開始を1サイクル分だけ短縮する
ことができる。
第2図は本発明に係る情報処理装置における実行シーケ
ンスの他の例を示す図であり、5段のバイブラインにお
ける動作を示すものである。ここで、第2図はディステ
ィネーションおよびソースがレジスタの場合を示してい
る。
第2図(a)に示されるように、ディスティネーション
がレジスタの場合、PoP命令による実行シーケンスは
、例えば、第1のサイクルC1で命令デコード(DC)
を行い、第2のサイクルC2で暗黙のアドレス計算(A
C)を行い、第3のサイクルC3でマイクロ命令の読み
出しくML)を行うと共に、暗黙のアドレス計算による
オペランドフェッチ(OF)を行う。
また、第4のサイクルC4で命令の実行(OE:ソース
(暗黙アクセス)をディスティネーションへ転送)を行
い、そして、第5のサイクルC5でディスティネーショ
ンのライト実行(OW:レジスタへ)を行うようになっ
ている。
この第2図(a)に示すpop命令による実行シーケン
スにおいて、次命令は、第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のサイクルC
でディスティネーションのライト実行(OW)を行うよ
うになっている。
この第2図(b)に示すPUSH命令による実行シーケ
ンスにおいて、次命令は、第2のサイクルC2から開始
されることになる。従って、PUSH命令を第1のサイ
クルC1から実行する場合、次命令は、1サイクル後の
第2のサイクルC2から開始されることになり、第13
図(b)に示す従来の情報処理装置における場合と比較
して、次命令の実行開始を2サイクル分だけ短縮するこ
とができる。
第3図は本発明の情報処理装置による一命令の実行シー
ケンスを示す図であり、同図(a)はMOV命令(メモ
リーレジスタ)による実行シーケンスを示し、同図(b
)はMOV命令(レジスターメモリ)による実行シーケ
ンスを示し、そして、□同図(c)はMOV命令(メモ
リ→メモリ)による実行シーケンスを示す。
このように、本発明の情報処理装置は、第3図と第1図
および第2図とを比較することにより、第1図および第
2図を参照して説明したPOP 、PUSH命令の実行
シーケンスを通常の転送命令(NOV命令)の実行シー
ケンスと同様なパイプラインステージにより実現するこ
とができる。
すなわち、第3図(a)のNOV命令(メモリーレジス
タ)による実行シーケンスは、第2図(a)のPOP 
Rnによる実行シーケンスと同様であり、第3図(b)
の静v命令(レジスターメモリ)による実行シーケンス
は、第2図(b)のPUSHRnまたはPUSHイミデ
ィエートによる実行シーケンスと同様であり、そして、
第3図(c)のMOV命令(メモリ→メモリ)による実
行シーケンスは、第1図(a)および(b)のpop命
令およびPUSH命令(メモリ)による実行シーケンス
と同様であり、パイプラインにおける無駄なステージ(
オーバーヘッド)を削減することができるようになって
いる。
第4図は本発明に係る情報処理装置の一例の全体的な構
成を示すブロック図である。同図に示されるように、情
報処理装置は、命令制御部41.命令実行部42.メモ
リ制御部43.および、バス制御部44を備えている。
命令制御部41は、命令のフェッチ、デコード2実行の
ための制御を行うもので、命令キュー411゜デコーダ
412.パイプライン制御部413.マイクロプログラ
ム414を備えている。命令キュー411は、可変長命
令を効率良く処理するもので、該命令キュー411に空
きがなくなるまで命令ブリフェッチが続けられる。ここ
で、命令ブリフェッチは、命令の実行とは独立に行われ
る。命令デコーダ412では、命令形式・種別やアドレ
ッシングモードの解析が行われ、パイプライン制i、オ
ペランドアドレス計算、マイクロプログラムの起動のた
めの制御情報が与えられる。パイプライン制御部413
では、命令を1マシンサイクル単位に独立した5つのス
テージに分割し、連続して処理するようになっている。
命令実行部42は、オペランドアドレスの計算とオペラ
ンドの演算を行うもので、アドレス発生部421、レジ
スタフアイル4222演算部423を備えている。アド
レス発生部421では、アドレッシングモードに従った
アドレス計算が行われ、生成されたアドレスは、メモリ
制御部43に供給される。また、レジスタファイル42
2は、汎用レジスタ、スタックポインタおよび作業レジ
スタ等を含んでいる。
そして、演算部423は、基本演算の他にさらに、ビッ
トフィールド操作命令2乗除算命令および10進演夏強
化命令を効率的に実現する回路を有し、マイクロプログ
ラム414からの制御情報によりオペランドの処理を行
うようになっている。
メモリ制御部43は、命令アクセス制御部431および
オペランドアクセス制御部432により構成され、各々
にキャシュメモリ、TLB、メモリプロテクションチエ
ツク機能を有し、命令制御部41からの起動に従ってそ
れぞれ独立に動作するようになっている。命令実行によ
るデータの書き込みは、ストアスル一方式で行われ、ま
た、チップバスが使用中のときは、データ送出が可能に
なるまでストアバッファにそのアドレスとデータが保持
される。
バス制御部44は、チップバスを経由して外部の工10
やメモリとの間のデータ転送をデータ送受部443を介
して制御するもので、さらに、1ブロツクをキャッシュ
メモリへ高速に転送するブロックアクセス機能(バス監
視制御部442)および外部メモリとの一致を取るため
にチップバス上の書き込みアドレスを監視するアドレス
モニタ機能(アドレス制御部441)を備えている。
第5図は情報処理装置における通常の命令実行シーケン
スを示す図である。同図に示されるように、本情報処理
装置は、5段のパイプラインステージで構成され、通常
の命令実行シーケンスは、命令デコードステージ(DC
)、オペランドアドレス計算ステージ(AC)、マイク
ロプログラム読み出しおよびオペランドフェッチステー
ジ(計れ命令実行ステージ(OE:演算ステージ)、お
よびオペランドライトステージ(OW:結果の書込ステ
ージ)の各ステージがパイプライン処理されて、命令を
実行するようになっている。すなわち、通常の命令実行
の場合、デコードの結果得られたアドレッシング情報に
よりACステージでアドレス計算を行ない、オペランド
データのアクセスをMiステージで行なうと共に、マイ
クロアドレスをMiステージで出力し、OEステージで
マイクロプログラムを読み出すことによって、OWステ
ージの制御を行うようになっている。
第6図は本発明の情報処理装置に使用する命令フォーマ
ットの具体例を示す図である。同図(a)〜(c)に示
されるように、本情報処理装置が解釈実行する命令は、
Gフォーマットと呼ばれる一般形と、使用頻度の高い命
令とアドレッシングモードが短い命令となるようにした
短縮形とにより構成され、一般形は、POP 、PUS
H命令等の1つのオペランドを有する1オペランド形(
Glフォーマット)とNOV 、ADD命令等の大多数
の命令が含まれる2オペランド形(G2フォーマット)
と、固定長ビットフィールド命令とACB、SCBと呼
ばれるループ命令等の3オペランド以上のオペランドを
有する拡張オペランド形に分けられる。短縮形は、一般
形の命令の内、使用頻度の高い命令とアドレッシングモ
ードに対して短い命令となるように割り当てたもので、
主にメモリーレジスタ間のオペランドおよびレジスター
レジスタ間のオペランドを対象とする命令に分けられる
命令フォーマントの内、オペランド指定部は、第6図(
b)に示すようなアドレッシング指定が可能で、この中
で付加モードと呼ばれるアドレッシングモードは、多重
間接やスケーリングが使用できるアドレッシングモード
である。また、オペランドアドレスは、基本的に以下の
式で求められ、rベースアドレス士インデックス×スケ
ール+ディスプレースメント」。このアドレス計算を繰
り返し適用することにより、多重間接を実現することが
できる。従って、−段目のベースアドレスを基本部のオ
ペランド指定部により指定し、インデックス、スケール
、ディスプレースメントを一段毎に、第6図(c)のフ
ォーマットで拡張部に連結して指定するようになってい
る。
第7図は本発明の情報処理装置に使用するpop 。
PUSH命令のフォーマットを示す図である。同図(a
)に示されるように、pop命令は、スタックポインタ
(SP)をポストインクリメントすると共に、スタック
のデータをアドレッシングフィールドで指定されたオペ
ランドに転送するようになっている。
また、同図(b)に示されるように、PUSH命令は、
アドレッシングフィールドで指定されたオペランドを、
スタックポインタをブリデクリメントすると共に、スタ
ックに転送するようになっている。
ここで、本実施例では、POP 、PUSH命令共オペ
ランドにメモリを指定することができるのはもちろんで
ある。
従って、前述した第1図および第2図のように、オペラ
ンドがメモリの場合は2回のアドレス計算を行い、また
、メモリでない場合(レジスタまたはイミディエートの
場合)は1回のアドレス計算を行なうことになる。そし
て、本実施例では、POP命令の時はソースオペランド
に相当するスタックポインタの計算を先に行い、その後
、アドレッシングによるアドレス計算を行うようになっ
ており、また、PUSH命令では、アドレッシングによ
るアドレス計算を先に行い、その後、ディスティネーシ
ョンオペランドに相当するスタックポインタの計算を行
うようになっている。ここで、アドレッシングがメモリ
以外の場合はスタックポインタの計算のみを行なってい
る。
第8図は本発明の情報処理装置に適用されるデコーダの
一例を示すブロック図である。デコーダ412は、第6
図に示すような命令フォーマットより成る命令列を16
ビツトを基本長として解読するもので、その命令列は命
令キュー411を介して供給されるようになっている。
そして、デコーダ412は、供給された命令の形式やア
ドレッシングモードを解読し、パイプライン制?II、
オペランドアドレス計算およびマイクロプログラムアド
レス等の制御情報を与えるようになっている。
第8図に示されるように、デコーダ412は、例えば、
第1命令デコード部61.第2命令デコード部62.ア
ドレッシングデコード部63.次ステージ遷移要求デコ
ード部64.付加モードデコード部65゜デコードシー
ケンサ部66、ラッチ部670〜679およびセレクト
部68を備えている。また、参照符号IQBSは、命令
キューパスを示している。
命令デコーダ412により解読される命令コードは、1
6ビツトが基本長とされ、最大3つの基本部1命令によ
り定められる基本フォーマットで構成される。そして、
基本部は最初の16ビツトから順にOPI〜OP3と呼
ばれ、さらに、命令コードは基本部が指定したモードに
応じて追加される拡張部を有している。ここで1、拡張
部は、イミディエート、ディスプレースメントまたは付
加モードである。また、命令は可変の長さを持つことか
ら、デコーダ412は命令を構成要素に分解して、シー
ケンサのステージに従ってデコードを行なう。
次に、第8図中、本発明の中心となるアドレッシングデ
コード部63を第9図に示し、デコードシーケンサ部6
6を第10図に示す。
第9図は第8図のデコーダにおけるアドレッシングデコ
ード部の主要個所を示すブロック回路図である。同図に
示されるように、アドレッシングデコード部63は、P
LA631および複数の論理ゲートで構成され、各種の
信号を出力するようになっている。ここで、出力信号A
AFSLはレジスタ間接指示を示し、 DSPSZ16
は16ビツトデイスプレースメント指示、 DSPSZ
32は32ビツトデイスプレースメント指示、 APC
3Lはプログラムカウンタ相対指示。
ASPSLはスタックポツプまたはスタックプッシュを
示し、 ASPDECはスタックプッシュのアドレス計
算を示し、例えば、16ビツトレジスタ相対間接の場合
はAAFSLおよびDSPSZ16の2本がアサートさ
れるようになっている。
一方、第9図中、信号5PSLilおよび5PSLi 
2は暗黙のアドレス計算指示を示し、両者の違いは、明
示のアドレス計算のプライオリティを示す。すなわち、
5PSLilは暗黙が優先し、また、5PSLi2は明
示が優先する。さらに、信号MEMSLはアドレッシン
グフィードでメモリが指定されたことを示し、明示のア
ドレス計算を行なうことを示す。これら5PSLil信
号、 5PSLi2信号およびMEMSL信号によって
、暗黙のアドレス計算指示が有るかどうか、並びに、暗
黙のアドレス計算指示が有る場合に、明示のアドレス計
算指示と暗黙のアドレス計算指示との何れを先に行うか
ということが示されるようになっている。
第10図は第8図のデコーダにおけるデコードシーケン
サ部を示すブロック回路図である。同図に示されるよう
に、デコードシーケンサ部66は、複数の論理ゲートお
よびラッチ回路等で構成され、以下に示す7つの状態を
取ることができるようになっている。
OPI・・・命令の先頭(OPI)からデコードを行う
ステージ、 OP2・・・命令の第2基本部(OP2)をデコードす
るステージ、 OP3・・・命令の第3基本部(OP3)をデコードす
るステージ、 ADDM・・・付加モードのデコードステージ、1MM
2−・・  ロングデータのイミディエートデータの2
ワード目を抜取るステージ、 1MM3−−・ ロングデータのイミディエートデータ
の3ワード目を抜取るステージ、および、ACWAiT
・・・デコード1サイクルに対し、2つのアドレッシン
グモード計算を行なうため、2回目のアドレス計算指示
を行なうステージである。
第11図は本発明の情報処理装置におけるpop 。
PUSH命令のデコードタイムチャートを示す図であり
、同図(a)はPOP (!(Ro:B、 R1:X、
 disp:32) (7)デコードタイムチャートを
示し、また、同図(b)はPUSH(!(Ro:B、 
R4:X、 disp:32)のデコードタイムチャー
トを示している。
まず、第11図(a)に示されるように、POP (!
(RO:B、 R4:X、 disp:32)を実行す
る場合、アドレッシングデコード部63における3つの
5PSLil信号。
5PSLi2信号およびMEMSL信号によって、具体
的に、5PSLil信号およびff1L信号がアサート
されることによって、明示のアドレス計算指示および暗
黙のアドレス計算指示が有って暗黙のアドレス計算指示
が優先することが示され、デコードシーケンサ部66は
、上述した7つの状態の内、「OP1→ACWAiT 
−+ ADDM→」を実行するように演算指示が行われ
る。すなわち、例えば、pop命令でメモリ指定の場合
、5PSLil信号およびMEMSL信号がアサートさ
れ、先に、OP1ステージでスタックポツプの演算指示
が行われ、その後、AαAiTステージおよびADDM
ステージで@(R□:B、 R1:X、 disp:3
2)のアドレス計算指示(付加モードによるアドレス計
算指示)が行われるようになっている。
また、第11図(b)に示されるように、PUSH@(
R(、:B、 R1:X、 disp:32)を実行す
る場合、アドレッシングデコード部63における3つの
5PSLil信号。
5PSLi2信号およびMEMSL信号によって、具体
的に、5PSLi2信号およびmL倍信号アサートされ
ることによって、明示のアドレス計算指示および暗黙の
アドレス計算指示が有って明示のアドレス計算指示が優
先することが示され、デコードシーケンサ部66は、上
述した7つの状態の内、「OP1→ADDM−+AC%
VAiT→」を実行するように演算指示が行われる。す
なわち、先に、OPIおよびADDMステージにおイテ
、(!(Ro:B、 R1:X、 di−sp:32)
(7) 7ドレス計算指示(付加モードのアドレス計算
指示)が行われ、その後、ACWAiTステージでスタ
ックプッシュの演算指示を行われる。
以上において、命令デコード部より出力されるマイクロ
命令アドレスは、例えば、通常の転送命令< yv命令
)と同一となるのは前述した通りである。このように、
明示と暗黙のアドレス計算を有する命令のアドレス計算
をデコーダでプライオリティを取って出力することによ
り、性能の向上が図れると共に、後継のステージを共通
化したため、ハードウェアの削減に効果がある。
〔発明の効果〕
以上、詳述したように、本発明の情報処理装置は、明示
・暗黙いずれかのアドレス計算指示を先に行なうかを判
定し、順時アドレス計算指示を出力することによって、
明示のアドレス計算指示および暗黙のアドレス計算指示
を有する命令を効率的なパイプライン処理により高速に
解釈実行することができる。
【図面の簡単な説明】
第1図は本発明に係る情報処理装置における実行シーケ
ンスの一例を示す図、 第2図は本発明の情報処理装置における実行シーケンス
の他の例を示す図、 第3図は本発明の情報処理装置による一命令の実行シー
ケンスを示す図、 第4図は本発明に係る情報処理装置の一例の全体的な構
成を示すブロック図、 第5図は情報処理装置における通常の命令実行シーケン
スを示す図、 第6図は本発明の情報処理装置に使用する命令フォーマ
ットの具体例を示す図、 第7図は本発明の情報処理装置に使用するpop 。 PUSH命令のフォーマットを示す図、第8図は本発明
の情報処理装置に適用されるデコーダの一例を示すブロ
ック図、 第9図は第8図のデコーダにおけるアドレッシングデコ
ード部の主要個所を示すブロック回路図、第10図は第
8図のデコーダにおけるデコードシーケンサ部を示すブ
ロック回路図、 第11図は本発明の情報処理装置におけるpop。 PUSH命令のデコードタイムチャートを示す図、第1
2図は情報処理装置におけるPOP 、PUSH命令の
動作を示す図、 第13図は従来の情報処理装置におけるPOP 、PU
SH命令の実行シーケンスを示す図である。 (符号の説明) 41・・・命令制御部、 42・・・命令実行部、 43・・・メモリ制御部、 44・・・バス制御部、 61・・・第1命令デコード部、 62・・・第2命令デコード部、 63・・・アドレッシングデコード部、64・・・次ス
テージ遷移要求デコード部、65・・・付加モードデコ
ード部、 66・・・デコードシーケンサ部、 670〜679・・・ラッチ部、 68・・・セレクト部、 411・・・命令キュー、 412・・・デコーダ、 413・・・バイブライン制御部。 DC−命令デコード AC+−ソースのアドレス計算 ○E −命令の実行(ソースをディスティネーションへ
転送)臥−ディスティネーションのライト実行[MOV
  命令(メモリ→メモリ)(こよる実行シーケンス]
(c) 本発明の情報処理装置1こよる一命令の実行シーケンス
を示す図 第3図 DC−命令デコード AC−オペランドアドレス計算 M↓ −マイクロプログラム読み出しオペランドフェッ
チOE−命令実行 ○W−オペランドライト 情報処理装置1こおける通常の命令実行シーケンスを示
す図 第5図

Claims (1)

  1. 【特許請求の範囲】 1、明示のアドレス計算指示のフィールドを有すると共
    に、命令コードにより暗黙のアドレス計算指示を有する
    ことがある命令を含む命令列をパイプライン処理により
    解釈実行する情報処理装置であって、 前記命令のアドレッシングフィールドをデコードするデ
    コーダを具備し、該デコーダは、アドレス計算指示を出
    力する際、デコードした命令が明示のアドレス計算指示
    および暗黙のアドレス計算指示の両方を有している場合
    には、その命令コードにより該明示のアドレス計算指示
    或いは該暗黙のアドレス計算指の何れを先に行うかを判
    定し、順次アドレス計算指示を出力するようにしたこと
    を特徴とする情報処理装置。 2、前記情報処理装置は、スタックに対するプッシュ命
    令およびポップ命令を含む命令列を解釈実行するように
    なっており、該解釈実行される命令がプッシュ命令の場
    合は、そのアドレッシングフィールドで指示された明示
    のアドレス計算を先に実行し、その後、スタックポイン
    タに対する暗黙のアドレス計算を行い、また、該解釈実
    行される命令がポップ命令の場合は、スタックポインタ
    に対する暗黙のアドレス計算を先に実行し、その後、ア
    ドレッシングフィールドで指示された明示のアドレス計
    算を行ない、そして、デコーダより起動されるマイクロ
    命令を通常の転送命令と同一のマイクロ命令によって実
    行するようにした請求項第1項に記載の情報処理装置。 3、前記情報処理装置は、スタックに対するプッシュ命
    令およびポップ命令を含む命令列を解釈実行するように
    なっており、該解釈実行される命令がプッシュ命令の場
    合、そのアドレッシングフィールドで指示されたオペラ
    ンドがメモリ参照の時は、明示のアドレス計算を先に実
    行し、その後、スタックポインタに対する暗黙のアドレ
    ス計算を行ない、また、オペランドがメモリ参照でない
    時は、スタックポインタに対する暗黙のアドレス計算の
    みを行なうようにした請求項第1項に記載の情報処理装
    置。 4、前記情報処理装置は、スタックに対するプッシュ命
    令およびポップ命令を含む命令列を解釈実行するように
    なっており、該解釈実行される命令がポップ命令の場合
    、そのアドレッシングフィールドで指示されたオペラン
    ドがメモリ参照の時は、スタックポインタに対する暗黙
    のアドレス計算を先に実行し、その後、アドレッシング
    フィールドで指示された明示のアドレス計算を行ない、
    また、オペランドがメモリ参照でない時は、スタックポ
    インタに対する暗黙のアドレス計算のみを行なうように
    した請求項第1項に記載の情報処理装置。 5、前記デコーダより起動されるマイクロ命令は、通常
    の転送命令と同一のマイクロ命令によって実行されるよ
    うにした請求項第3項または第4項のいずれか1項に記
    載の情報処理装置。
JP2288348A 1990-10-29 1990-10-29 情報処理装置 Expired - Lifetime JP2956707B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2288348A JP2956707B2 (ja) 1990-10-29 1990-10-29 情報処理装置
PCT/JP1991/001460 WO1992008190A1 (en) 1990-10-29 1991-10-25 Device for processing information
EP19910918593 EP0507958A4 (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 true JPH04163628A (ja) 1992-06-09
JP2956707B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017079078A (ja) * 2011-04-01 2017-04-27 インテル コーポレイション ベクトルフレンドリ命令フォーマット及びその実行
US10157061B2 (en) 2011-12-22 2018-12-18 Intel Corporation Instructions for storing in general purpose registers one of two scalar constants based on the contents of vector write masks

Family Cites Families (3)

* Cited by examiner, † Cited by third party
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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017079078A (ja) * 2011-04-01 2017-04-27 インテル コーポレイション ベクトルフレンドリ命令フォーマット及びその実行
US10795680B2 (en) 2011-04-01 2020-10-06 Intel Corporation Vector friendly instruction format and execution thereof
US11210096B2 (en) 2011-04-01 2021-12-28 Intel Corporation Vector friendly instruction format and execution thereof
US11740904B2 (en) 2011-04-01 2023-08-29 Intel Corporation Vector friendly instruction format and execution thereof
US10157061B2 (en) 2011-12-22 2018-12-18 Intel Corporation Instructions for storing in general purpose registers one of two scalar constants based on the contents of vector write masks

Also Published As

Publication number Publication date
EP0507958A4 (en) 1993-12-22
EP0507958A1 (en) 1992-10-14
WO1992008190A1 (en) 1992-05-14
JP2956707B2 (ja) 1999-10-04

Similar Documents

Publication Publication Date Title
JP2616182B2 (ja) データ処理装置
JP2834837B2 (ja) プログラマブルコントローラ
US5163139A (en) Instruction preprocessor for conditionally combining short memory instructions into virtual long instructions
US7694109B2 (en) Data processing apparatus of high speed process using memory of low speed and low power consumption
US5717946A (en) Data processor
EP1001335B1 (en) Data processing unit with coprocessor interface
EP0782071A2 (en) Data processor
US4897787A (en) Data processing system
KR19980018072A (ko) 벡터 레지스터의 복수 뱅크를 사용한 단일 명령 복수 데이터 처리
JPH0926878A (ja) データ処理装置
JP3543181B2 (ja) データ処理装置
JPH0766324B2 (ja) データ処理装置
US5502827A (en) Pipelined data processor for floating point and integer operation with exception handling
JPH07120278B2 (ja) データ処理装置
JP2002215387A (ja) 命令トランスレータを備えたデータ処理装置およびメモリインタフェース装置
JP4502532B2 (ja) データ処理装置
JP2556182B2 (ja) デ−タ処理装置
JPH096614A (ja) データ処理装置
US20210089305A1 (en) Instruction executing method and apparatus
JPH04163628A (ja) 情報処理装置
JP2504312B2 (ja) プライオリティエンコ―ダ及びそれを備えたデ―タ処理装置
US5187782A (en) Data processing system
JPH04104350A (ja) マイクロプロセッサ
JPH0769806B2 (ja) データ処理装置
KR950014160B1 (ko) 정보처리장치