JPH0228722A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH0228722A
JPH0228722A JP17971888A JP17971888A JPH0228722A JP H0228722 A JPH0228722 A JP H0228722A JP 17971888 A JP17971888 A JP 17971888A JP 17971888 A JP17971888 A JP 17971888A JP H0228722 A JPH0228722 A JP H0228722A
Authority
JP
Japan
Prior art keywords
mode
operand
addressing mode
addressing
stage
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
Application number
JP17971888A
Other languages
English (en)
Inventor
Katsunori Suzuki
勝則 鈴木
Masahito Matsuo
雅仁 松尾
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP17971888A priority Critical patent/JPH0228722A/ja
Publication of JPH0228722A publication Critical patent/JPH0228722A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】
〔産業上の利用分野〕 この発明は、命令のオペレーションを指定するオペレー
ション指定フィールドと、汎用アドレッシングモードに
よってオペランド指定を行うことが可能なオペランド指
定フィールドを有するオペランド命令を処理するデータ
処理装置に関するものである。 〔従来の技術〕 直交化された命令セットを持つデータ処理装置では、任
意の命令の各オペランドに対して任意のアドレッシング
モードの使用が可能となっている。 しかし、実際には各命令の各オペランドに対して不適当
なアドレッシングモード指定か存在する。そして、命令
セットが複雑になるに従って禁止の組み合わせが多くな
る傾向にある。 従来この種のデータ処理装置としては、文献、例えは8
6年度版のNational Sem1conduct
or c。 rp 5eries 32000 Data book
等に示されており、特にシリーズ番号N532032て
は、第22図に示すように、5種類のアクセスクラス(
RE八へWRITE:、RMW・、ADDR・、REG
ADDR等)を定義し、各アクセスクラスでオペランド
に対する各アドレッシングモード(レジスタモート、相
対レジスタモト、メモリ相対モード1即値モード、絶対
モト、外部モート、トップ・オブ・スタック・モト、メ
モリ空間モード、スケールト・インデックス等)の解釈
を定義し、ている。 そして、これらのアドレッシングモードのうち、3種類
のアドレッシングモード(レジスタモト、即値モート、
トップ・オブ・スタック・モト)がオペランドのアドレ
スクラスによって影響を受ける。 以下、5種類のアクセスクラス(READ:、WRIT
ERMW: ADDR+、REGADDR:等)と各ア
ドレッシングモードにおける上述した3種類のアドレッ
シングモトの解釈について説明する。 (READ:) このアドレッシングモードは、リードされるかライトさ
れないオペランドとして解釈される。 レジスタモードを使用した場合は、指定したレジスタは
、そのオペランドを格納する。 また、即値モードを使用した場合は、このアクセスクラ
スのオペランドにのみ合法とする。 さらに、トップ・オブ・スタック・モートを使用した場
合は、スタックポインタはオペランドの長さに対応する
バイト数たり、ポストインクリメントされ、その結果ス
タックからそのオペランドを「ポツプ」する。 (WRITE:) このアドレッシングモードは、ライトされるがリードさ
れないオペランドとして解釈される。 レジスタモードを使用した場合は、指定したレジスタは
そのオペランドを受は取る。 また、即値モートを使用した場合は、このアクセスクラ
スに対して不定となる。 さらに、トップ・才ブ・スタック・モードを使用した場
合は、スタックポインタはオペランドの長さに対応する
バイト数だけ、ディクリメントされ、その結果オペラン
ドをスタックに「ブツシュjする。 (RMW : ) このアドレッシングモードは、リードされ修正され、そ
して同じ位置にライトされるオペランドとして解釈され
る。 また、レジスタモートを使用した場合は、指定したレジ
スタはそのオペランドを格納する。即値モートは、この
アクセスクラスには不定である。 さらに、トップ・オブ・スタック・モードを使用した場
合は、スタックポインタはそのオペランドのアドレスを
与えるが変更されない。 (ADDR:) このアドレッシングモードは、レジスタに保持すること
ができないオペランド、またはデータとしてフェッチさ
れているオペラアントに対応しない実効アドレス計算と
して解釈される。 レジスタモードを使用した場合、オペランドはメモリに
あり、指定したレジスタかそのアドレスを格納する。即
値モードはこのアクセスクラスについては不定である。 トップ・オブ・スタック・モードを指定すると、スタッ
クポインタはそのオペランドのアドレスを与えるが、変
更されない。 (REGADDR: ) このアドレッシングモードは、非標準サイズのデータ項
目を置くまたは整列するためのベースを指定すると解釈
される。 レジストモードを使用した場合、データ項目は指定した
レジスタ中に保持される。 また、即値モードは、このアクセスクラスについて不定
である。 さらに、トップ・オブ・スタック・モードを使用した場
合は、スタックポインタはそのオペランドのアドレスを
与えるが変更されない。 このようにアクセスクラスがREAD以外のオペランド
に対して即値モートが用いられた場合、その禁止モート
が指定されていても、不定値を返すたけて例外検出を行
っていない。 〔発明か解決しようとする課題〕 このため、この種のデータ処理装置において、より正確
な動作を保証するためには禁止アドレッシングモードに
対する例外検出が必要となる。実際に、この禁止アドレ
ッシングモードを検出する処理として、オペランド指定
フィールドも含めた命令コートを命令デコート用PLA
に入力し、禁止された組み合わせを検出していた。 しかし、オペレーション指定フィールドとオペランド指
定フィールドの両方を情報として命令デコート用のプロ
グラマブルロジックアレイ(PLA)に入力して、各命
令の各オペランドに対して妥当なアドレッシングモード
が用いられているかどうかを検出しようとすると、PA
Lの入力ビツト数か増大し、また詳細に組み合わせのチ
エツクを行う必要から、PALの積項数が増大して命令
デコードを行うPALのサイズが非常に大きくなってし
まう問題点があった。 この発明は、上記の問題点を解決するためになされたも
ので、オペレーション指定フィールドとアドレッシング
モード指定フィールドを別々にデコードし、オペレーシ
ョン指定フィールドをデコドするデコーダから出力され
る禁止アドレッシングモードの情報と、アドレッシング
モード指定フィールドをデコードするデコーダから出力
される使用アドレッシングモードの情報との比較を行う
ことにより、少ない容量て禁止アドレッシングモード指
定を検出てきる安価なデータ処理装置を得ることを目的
とする。 〔課題を解決するための手段) この発明に係るデータ処理装置は、オペレーション指定
フィールドの値を入力する第1のフィルド情報入力手段
と、この第1のフィールド情報入力手段より入力された
オペレーション指定フィールドの値を解析してオペレー
ション指定フィルドにより指定されるオペランドに対し
て禁止されたアドレス悄頼を出力する第1の出力手段と
、オペランド指定フィールドの値を入力する第2のフィ
ールド情報入力手段と、この第2のフィールド情報入力
手段より入力されたオペランド指定フィールドの値を解
析して指定されたアドレッシングモード情報を出力する
第2の出力手段と、第1または第2の出力手段から出力
されるオペランド指定フィールドの値とオペレーション
指定フィルトの値とに基づいて指定されたアドレッシン
グモードの異常を検出する検出手段とを設けたものであ
る。 〔作用〕 この発明においては、第1のフィールド情報入力手段お
よび第2のフィールド情報入力手段から入力されたオペ
レーション指定フィールドの値またはオペランド指定フ
ィールドの値により第1または第2の出力手段から出力
されるオペランド指定フィールドの値とオペレーション
指定フィールドの値とが出力されると、検出手段がオペ
ランド指定フィールドの値とオペレーション指定フィー
ルドの値とに基づいて指定されたアドレッシングモード
が異常かどうかを検出する。 〔実施例〕 第1図はこの発明の一実施例を示すデータ処理装置にお
けるパイプライン処理機構を説明するブロック図であり
、1は命令フェッチステージ(IFステージ)で、命令
のプリフェッチを行い、命令コード8を出力する。2は
デコードステージ(Dステージ)で、1段目の命令、す
なわち命令コード8をデコードし、Dコード9およびA
ニド10を出力する。 3はオペランドアドレス計算ステージ(Aステジ)で、
出力されるDコート9およびAコードから2段目の命令
デコードとオペランドのアドレス計算を行い、Rコード
11およびFコード12を出力する。4はオペランドフ
ェッチステージ(Fステージ)で、マイクロROMアク
セスを行うRステージ6、オペランドのブリフェッチを
行うオペランドフェッチステージ(OFステージ)7か
ら構成されている。5はEステージで、オベラントフェ
ッチステージ4から出力されるEニド13およびSコー
ド14から所定の命令を実行する。 なお、この実施例においては、5段構成によりパイプラ
イン処理を実行するため、Eステージ5ては1段のスト
アバッファがあるほか、高機能命令の一部は命令実行自
体をパイプライン化するため、実際には5段以上のパイ
プライン処理効果がある。 また、各段から出力されるコードについて以下説明する
。 IFステージ1からDステージ2に渡される情報は命令
コード8そのものである。Dステージ2からAステージ
3に渡される情報は命令で指定された演算に関するもの
Dコード9と、オペランドのアドレス計算に関するAコ
ード]Oとである。 また、Aステージ3からFステージ4に渡される情報は
、マイクロプログラムルーチンのエントリ番地やマイク
ロプログラムへのパラメータ等を含むRコート11と、
オペランドのアドレスとアクセス方法指示情報等を含む
Fコード12との2っである。 さらに、Fステージ4からEステージ5に渡される情報
は、演算制御情報とリテラル等を含むEコード13と、
オペランドやオペランドアドレス等を含むSコード14
との2つである。 なお、第1のフィールド情報入力手段および第2のフィ
ールド情報入力手段を兼ねる後述するラッチから入力さ
れたオペレーション指定フィールドの値(命令コード8
の一部により構成される)またはオペランド指定フィー
ルドの値(命令コト8の一部により構成される)により
第1または第2の出力手段(Dステージ2)から出力さ
れるオペランド指定フィールドの値とオペレーション指
定フィールドの値(Dコード9)とが出力されると、後
述する検出手段を有するAステージ3がオペランド指定
フィールドの値とオペレーション指定フィールドの値と
に基づいて指定されたアドレッシングモードが異常かど
うかを検出し、所定の例外処理を実行するように構成さ
れている。 また、各ステージは他のステージとは独立に動作し、理
論上は5つのステージが完全に独立して動作する。各ス
テージは1回の処理を最小2クロックで実行することが
できる。従って、理想的には2クロツク毎に次々とパイ
プライン処理が進行する。 さらに、メモリーメモリ間演算、メモリ間接アドレッシ
ング等においては、基本パイプライン処理1回だけでは
処理か行えない命令があるが、複数のメモリオペランド
を持つ命令に対してはメモリオペランドの数をもとにデ
コード段階で複数のパイプライン処理単位(ステップコ
ード)に分解してパイプライン処理を行う。なお、パイ
プライン処理単位の分解方法に関しては、特願昭612
36456号に詳しく記載されているため、詳細は省略
するが、以下、パイプライン処理単位について説明する
。 この実施例におけるパイプライン処理単位は、命令セッ
トのフォーマットの特徴を利用して決定されている。す
なわち、命令は、2バイト単位の可変長命令であり、基
本的には(2バイトの命令基本部+0〜4バイトのアド
レッシング拡張部)を1〜3回繰り返すことにより命令
が構成されている。 命令基本部には多くの場合、オペコード部とアドレッシ
ングモード指定部があり、インデックスアドレッシング
やメモリ間接アドレッシングが必要なときには、アドレ
ッシング拡張部の代わりに(2バイトの多段間接モード
指定部子0〜4バイトのアドレッシング拡張部)が任意
個数付加される。また、命令により2または4バイトの
命令固有の拡張部が最後に付加される。 命令基本部には、オペコード、基本アドレッシングモー
ド、リテラル等が含まれている。また、アドレッシング
拡張部はディスプレースメント、絶対アドレス、即値1
分岐命令の変位のいずれかである。命令固有の拡張部に
はレジスタマツプI−format命令の即値指定等が
ある。 なお、Dステージ2では、(2バイトの命令基本部子0
〜4バイトのアドレッシング拡張部)。 (多段間接モート指定部子アドレッシング拡張部)また
は命令固有の拡張部を1つのデコート単位として処理す
る。各回のデコード結果をステップコードと呼び、Aス
テージ3以降ではこのステップコートをバイブライン処
理の単位としている。 1つのステップコートに対して汎用アドレッシングモー
ドが指定可能なオペランドは1つは存在する。ステップ
コートの数は命令毎に固有であり、多段間接モード指定
を行わないとき、1つの命令は最小1個、最大3個のス
テップコードに別れる。多重間接モート指定があれはそ
れたけステップコートか増える。 次に第2図〜第15図を参照しながらこの実施例におけ
るアドレッシングモードについて説明する。 [基本アドレッシングモード」 第2図〜第15図はこの発明に適用するアドレッシング
モード種別および機能を説明するフォマット模式図であ
る。 これらの図において、Rnは汎用レジスタの番号を示し
、(sh )は6ビツトの短縮形アドレッシングモード
の指定方法を示し、(Ea )は8ヒツトの一般形アト
レッシングモードの指定を示す。なお、点線で囲まれた
部分は拡張部を示す。 この実施例におけるデータ処理装置において、サポート
されるアドレッシングモードは、レジスタ直接モート、
レジスタ間接モード、レジスタ相対間接モード、即値モ
ード、絶対モート、プログラムカウンタ相対間接モード
(PC相対間接モード)、スタックポツプモード、スタ
ックブツシュモードの計8つ等が定義されである。 このうち、レジスタ直接モードは、第2図に示すように
、レジスタの内容をそのままオペランドとする。 また、レジスタ間接モードは、第3図に示すように、レ
ジスタの内容をアドレスとするメモリの内容をオペラン
ドとする。 さらに、レジスタ相対間接モードは、第4図に示すよう
にディスプレースメント値が16ビツトか32ビツトか
により2種に識別され、それぞれレジスタの内容に16
ビツトまたは32ビツトのディスプレースメント値を加
えた値をアドレスとするメモリの内容をオペランドとす
る。なお、第4図中のdisp:1Bまたはdisp:
32は、それぞれ16ビツトのディスプレースメント値
または32ビツトのディスプレースメント値を示す。さ
らに、ビットのディスプレースメント値は符号付きとし
て取り扱う。 即値モードは、第5図に示すように、命令ニド中で指定
されるビットパターンをそのまま2進数と見なしてオペ
ランドとする。なお、第5図中のimm dataは即
値を示す。さらに、即値imm dataのサイズは、
オペランドサイズとして命令中で指定される。 絶対モードは、第6図に示すように、アドレス値が16
ビツトで示されるか32ヒツトで示されるかにより2種
類となる。そして、命令コート中で指定される16ビツ
トまたは32ヒツトのビットパターンをアドレスとした
メモリの内容をオペランドとする。第6図中のabs・
16とabs:32は、それぞれ16ビツト、32ビツ
トのアドレス値を示す。また、abs:16でアドレス
か示されるときには指定されたアドレス値を32ビツト
に符号拡張する。 PC相対間接モードは、第7図に示すように、ディスプ
レースメント値か16ビツトか32ヒツトかにより2種
類となり、それぞれプログラムカウンタの内容に16ビ
ツトまたは32ビツトのディスプレースメント値を加え
た値をアドレスとするメモリの内容をオペランドとする
。第7図中のdisp:16とdisp:32は、それ
ぞれ16ビツト 32ビツトのディスプレースメント値
を示す。なお、ディスプレースメント値は符号付きとし
て扱う。PC相対間接モートにおいて参照されるプログ
ラムカウンタの値は、そのオペランドを含む命令の先頭
アドレスである。多段間接アドレッシングモードにおい
て、プログラムカウンタの値が参照される場合にも同じ
ように命令先頭のアドレスをPC相対の基準値として使
用する。 スタックポツプモートは、第8図に示すように、スタッ
クポインタ(sp)の内容をアドレスとするメモリの内
容をオペランドとする。オペランドアクセス後、スタッ
クポインタ(sp)をオペランドサイズたけインクリメ
ントする。例えば32ビツトデータな扱う時には、オペ
ランドアクセス後にスタックポインタ(sp)が+4だ
け更新される。B、Hのサイズのオペランドに対するス
タックポツプモートの指定も可能であり、それぞれスタ
ックポインタ(sp)が+1.+2だけ更新される。な
お、オペランドに対してスタックポツプモートか意味を
持たないものに対しては。 予約命令例外を発生する。具体的に予約命令例外となる
のは、WRITEオペランド、readmodify−
writeオペランドに対するスタックモード指定であ
る。 スタックブツシュモートは、第9図に示すように、スタ
ックポインタ(sp)の内容をオペランドサイズたけデ
ィクリメントした内容をアドレスとするメモリの内容を
オペランドとする。スタックブツシュモードではオペラ
ンドアクセス前にスタックポインタ(sp)がディクリ
メントされる。例えば32ビツトデータを扱う時には、
オペランドアクセス前にスタックポインタ(sp)が4
だり更新される。B、Hのサイズのオペランドに対する
スタックブツシュモードの指定も可能であり、それぞれ
スタックポインタ(sp)か1、−2だけ更新される。 また、オペランドに対してスタックブツシュモートが意
味を持たないものに対しては、予約命令例外を発生する
。具体的に予約命令例外となるのは、readオペラン
ドおよびread−mod i fy−wr i te
オペランドに対するスタックブツシュモード指定である
。 「多段間接アドレッシングモード」 複雑なアドレッシングも、基本的には加算と間接参照の
組み合わせに分解することができる。従って、加算と間
接参照のオペレーションをアドレッシングのプリミティ
ブとして与えておき、それを任意に組み合わせることか
できれば、どんな複雑なアドレッシングモードをも実現
することがてきる。そこで、この実施例における多段間
接アドレッシングモードは、このような考え方にたった
アドレッシングモードである。複雑なアドレッシングモ
ードは、モジュール間のデータ参照やAI言語の処理系
に特に有用である。 多段間接アドレッシングモードを指定するとき、基本ア
ドレッシングモード指定フィールドでは、レジスタベー
ス多段間接モート、PCベース多段間接モート、絶対ベ
ース多段間接モートの3種類の指定方法のうちいずれか
1つを指定する。 レジスタベース多段間接モートは、第10図に示すよう
に、レジスタの値を、拡張する多段間接アドレッシング
のベース値とするアドレッシングモードである。 PCベース多段間接モードは、第11図に示すように、
プログラムカウンタの値を、拡張する多段間接アドレッ
シングのベース値とするアドレッシングモードである。 絶対ベース多段間接モードは、第12図に示すように、
拡張する多段間接アドレッシングのベス値とするアドレ
ッシングモードである。 拡張する多段間接モード指定フィールドは、第13図に
示すように、16ビツトを単位としており、これを任意
回繰り返す。1段の多段間接モトにより、ディスプレー
スメントの加算処理、インデクスレジスタのスケーリン
グ(xi、x2x4.x8)と加算処理、メモリの間接
参照処理等を行う。なお、各フィールドにおけるEの値
が「0」の場合には、多段間接モード継続を示し、Eの
値が「1」の場合には、アドレス計算終了を示し、すな
わち、中間値tmpをオペランドアドレスとする。また
、■「0」の場合は、メモリ間接参照なしを示し、中間
値tmpにディスプレスメント値(disp)を加算し
、更にインデックス値Rxにスケール値5caleを乗
算した値を加算した値を新規の中間値tmpと定義する
。 また、■が「1」の場合は、メモリ間接参照ありを示し
、中間値tmpにディスプレースメント値(disp)
を加算し、更にインデックス値Rxにスケール値5ca
leを乗算した値を加算した値で示されるアドレスの内
容を中間値tmpと定義する。 さらに、Mが「0」の場合は、インデックスを使用しな
いことを示し、Mが「1」の場合は、特殊なインデック
スとして処理し、インデックス値Rxが「0」の場合に
は、インデックス値の加算を実行せず、インデックス値
Rxが「1」の場合には、プログラムカウンタをインデ
ックス値として使用しくRx −PC) 、インデック
ス値R×が「2〜」の場合には、インデックス値を保持
する。 また、Dか「0」の場合は、多段間接モード中の4ビツ
トのフィールドd4の値を4倍してディスプレイスメン
ト値とし、これを加算しする。なお、フィールドd4の
値は符号付きとして扱い、オペランドのサイズとは関係
なく必ず4倍して使用する。 さらに、Dか「1」の場合は、多段間接モードの拡張部
で指定された値dispx  (16/32ビ・ント)
をディスプレイスメント値とし、これを加算する。拡張
部のサイズはd4フィールドとし、これを加算する。な
お、拡張部のサイズはd4フィールドの値で定義し、例
えばrQQOl、の場合には、値dispxを16ビツ
トとして処理し、d4フィールドの値がr 0010.
の場合には、値dispxを32ビ・ントとして処理す
る。 また、xxはインデックスのスケール(seal e 
= 1 / 2 / 4 / 8 )を示す。 このため、プログラムカウンタに対して×2X4.X8
のスケーリングを行った場合には、その段の処理終了後
の中間値t、 m pとして、不定値が入る。この多段
間接モートによって得られる実行アドレスは予測できな
い値となるが、例外は発生しない。プログラムカウンタ
に対するスケーリングの指定は行ってはいけない。 多段間接モートによる命令フォーマツトノ\リエション
を第14図および第15図に示し、多段間接モードが継
続するか終了するかのバリエーションが第14図に示さ
れ、ディスプレイスメントのサイズバリエーションが第
15図に示される。 任意段数の多段間接モードが利用できれば、コンパイラ
の中で段数による場合分けが不要となるのて、コンパイ
ラの負担が軽減されるというメリットがある。また、多
段の間接参照の願度が非常に少ないとしても、コンパイ
ラとしては必ず正しいコードを発生できなければならな
いからである。このため、フォーマット上、任意の段数
が可能になっている。 次に第16図〜第18図を参照しながらこの発明による
禁止アドレッシングモード検出処理について説明する。 第16図は、第1図に示したDステージ2とAステージ
3の構成を説明する詳細回路ブロック図であり、第1図
と同一のものには同し符号を付しである。以下、構成な
らびに動作について説明する。 IFステージ1に設けられた命令デコーダ・イン・ラッ
チ15から出力された命令コード8は、オペレーション
指定フィールド24とオペランド指定フィールド25と
が別々に、目礼デコート用のプログラマブルロジックア
レイ(PALAI)16 アドレッシングモード用のプ
ログラマブルロジックアレイ(PALA2)17によっ
て個別にデコートされる。 命令デコード用のプログラマブルロジックアレイ16の
出力信号および命令コード8のパラメタ26は、ランダ
ムロジック回路18に入力され、それぞれ中間コード2
7.切り出されたパラメータ29等を出力する。命令デ
コート用のプログラマブルロジックアレイ20には、中
間コート27と切り出されたパラメータ29が入力され
、禁止アドレッシングモードピットパターン30とマイ
クロ命令エントリ等を出力する。 また、命令デコード用のプログラマブルロジックアレイ
16からは、命令コード中にアドレッシングモードの指
定があるかどうかを示すEa侶信号4を出力する。アド
レッシングモード用のプログラマブルロジックアレイ1
7からは、イ吏用アドレッシングモードの情報を含む、
例えば6ビットの信号が出力される。 この6ビツト信号とEa信号34はランダムロジック回
路19に入力される。ランダムロジック回路19では、
Ea信号34と6ビツト信号の各々と論理積が取られて
使用アドレッシングモードビットパターン28として出
力される。 使用アドレッシングモードビットパターン28と禁止ア
ドレッシングモードビットパターン30を入力すると、
禁止アドレッシングモード検出部21 (検出手段)に
よって禁止アドレッシングモト指定のチエツクが行われ
、その出力信号は例外処理部23に入力される。禁止ア
ドレッシングモードの指定は予約命令例外として扱われ
、例外が検出された場合、例外処理部23から例外が検
出されたことを示ずEITフラグ32と、検出された例
外の種類を示すEIT番号33が上記Rコト11として
Fステージ4に送出される。なお、アドレッシングモー
ド用のプログラマブルロジックアレイ17およびランダ
ムロジック回路19てはオペランド指定フィールド25
をデコドすることによって、オペランド指定に使用され
ているアドレッシングモードに対応するビットを1にセ
ットアツプする。 第17図は、第16図に示した禁止アドレッシングモー
ド検出部21の一例を示す論理回路図であり、35〜4
0はモート信号て、モート信号35はメモリ一般モード
(MEM)に対応し、モード信号36はレジスタ直接モ
ード(REG)に対応し、モート信号37は即値モード
(IMM)に対応し、モート信号38はスタックポツプ
モート(pop)に対応し、モート信号39はスタック
ブツシュモード(PUSH)に対応し、モード信号40
は多段階間接アドレッシングモード(ADDM)に対応
し、このモード信号35〜40により6ビツトの使用ア
ドレッシングモードビットパターンが構成され、これら
かアンドケート(アンド回路)47〜52に入力される
。なお、モード信号35には、メモリ一般としてのレジ
スタ間接モード レジスタ相対間接モード、絶対モート
PC相対間接モート等を含み、モード信号40の多段階
間接アドレッシングモード(ADDM)k:は、レシス
タベース多段間接モート、PCベース多段間接モード、
絶対ベース多段間接干−ト等を含む。 41〜46は禁止アドレッシングモード信号で、禁止ア
ドレッシングモード信号41はメモリ一般モード(ME
M)に対応し、禁止アドレッシングモード信号42はレ
ジスタ直接モート(REG)に対応し、禁止アドレッシ
ングモード信号43は即値モード(IMM)に対応し、
禁止アドレッシングモード信号44はスタックポツプモ
ード(pop)に対応し、禁止アドレッシングモード信
号45はスタックブツシュモーF (PUSH)に対応
し、禁止アドレッシングモード信号46は多段階間接ア
ドレッシングモード(ADDM)に対応し、禁止アドレ
ッシングモード信号41〜46により禁止アドレッシン
グモードビットバタン30が構成され、この禁止アドレ
ッシングモトビットパターン30が命令デコード用のプ
ログラマブルロジックアレイ20からアンドゲート47
〜52に出力され、それらのアンド出力が後段のオアゲ
ート53に出力され、オールゼロチエツクが行われ、禁
止アドレッシングモードビットパターン30により使用
が禁止されているアドレッシングモードが使用されてい
ると、オアゲート(オア回路)53の出力が「1」とな
り、所定の例外に関する処理を行う。 なお、第1のフィールド情報入力手段および第2のフィ
ールド情報入力手段から入力されたオペレーション指定
フィールドの値(オペレーション指定フィールド24)
またはオペランド指定フィルトの値(オペランド指定フ
ィールド25)により第1または第2の出力手段となる
プログラマブルロジックアレイ17から出力されるオペ
ランド指定フィールドの値とプログラマブルロジックア
レイ16から出力されるオペレーション指定フィールド
の値とが出力されると、検出手段となる禁止アドレッシ
ングモード検出部21がオペランド指定フィールドの値
とオペレーション指定フィルドの値とに基づいて指定さ
れたアドレッシングモードが異常かどうかを命令デコー
ド用のプログラマブルロジックアレイ20から出力され
る禁止アドレッシングモードヒツトパターン3oとの論
理演算により検出する。 次に第18図を参照しながら禁止アドレッシングモード
について説明する。 第18図は禁止アドレッシングモードを説明する相対関
係図てあり、縦列は分類を示し、横列はモートを示す。 なお、この実施例においては、各アドレッシングモード
のオペランド指定に関して使用を禁止する。禁止しない
を独立して指定するものとして6種類に分類している。 すなわち、メモリ一般、レジスタ直接、即値、ブツシュ
、ポツプ、多段間接モード等の計6種類である。 この図において、×は特定のアクセス方法に対して禁止
されているアドレッシングモードをボし、○は特定のア
クセス方法に対して許可されているアドレッシングモー
ドを示し、※は特殊なアクセス方法を示す。 この図から分かるように、メモリ一般モードにおいては
、レジスタ間接モート、レジスタ相対間接モード、絶対
モード、PC相対間接モードを含んでおり、何れのモー
ドもメモリの内容をオペランドとするものであるため1
つにまとめられる。 即値モードにおいては、オペランドをメモリにもレジス
タにもアクセスするものではなく、命令コード中で指定
されるビットパターンをそのまま2進数と見なしてオペ
ランドとするもので、これは即値モード以外には存在し
ない。 ブツシュモードにおいては、スタックポインタ(sp)
の内容をアドレスとするメモリの内容をオペランドとす
る力八メモリの内容を読み込み(READ)を伴うアク
セスしか許されないため、メモリ一般と区別される。 ポツプモードにおいては、スタックポインタ(sp)の
内容をオペランドサイズだけディクリメントした内容を
アドレスとするメモリの内容をオペランドとするが、メ
モリに対して書き込みを伴うアクセスしか許されないの
で、メモリ一般とは区別される。 多段間接モートにおいては、レジスタベース多段間接モ
ード、pcベベー多段間接モード、絶対ベース多段間接
モードを含んでおり、メモリの内容をオペランドとする
が、メモリの内容を参照してアドレス計算を行うことが
あるため、メモリー般とは区別される。 なお、独立したアドレッシングモードの禁止の仕方には
10種類あり、例えばソースオペランドの内容なディス
ティネーションオペランドに転送するMOV命令では、
ソースオペランドはREADオペランドであり、第18
図の分類番号1で示されるようにブツシュモードは禁止
されている。 また、MOV命令のディスティネーションオペラントは
、WRITEオペランドであり、図中の分類番号2で示
されるように、即値およびポツプモードは禁止されてい
る。 さらに、JMP (ジャンプ)命令は、飛び先アドレス
を示すソースオペランドを持ち、そのオペランドアドレ
スにジャンプする命令である。 このオペランドでは計算されたアドレス自身がオペラン
ドとなり、図中の分類番号4で示されるようにレジスタ
直接、ブツシュ、即値、ポツプモトは禁止されている。 なお、特殊な命令では特定のアドレッシングモトのみを
許している。 次に上記実施例の動作について、ソースオペランドをレ
ジスタとしディスティネーションオペランドをメモリと
するデータ転送命令(MOV:S)を具体的な例として
本文アドレッシングモードチエツク処理について第19
図〜第21図を参照しながら説明する。 第19図はデータ転送命令(MOV:S)のビット構成
を説明する模式図であり、shは6ビツトの短縮形アド
レッシングモードでのオペランド指定ビットを示し、R
nはレジスタのオペランド番号を指定する指定ビットを
示し、WWは前記指定ビットshのオペランドのサイズ
を示すビットを示す。 先ず、最初にディスティネーションオペランドのアドレ
ッシングモード指定として絶対モードを使用した時には
以下のような動作を行う。なお、この時のビット割付け
は第20図に示すようになり、abs : 16、ab
s : 32は16ビツトおよび32ビツトのアドレス
値に対応する。 IFステージ1にWRITEオペランドが絶対モート指
定されたデータ転送命令コードがフェッチされる。 フェッチされた命令コード8はそのままDステラ2に渡
され、オペレーション指定フィールド24とオペランド
指定フィールド25とが別々にデコートされる。 オペレーション指定フィールド24は命令デコド用のプ
ログラマブルロジックアレイ16に入力される。オペラ
ンド指定フィールド25はアドレッシングモード用のプ
ログラマブルロジックアレイ17に入力される。命令デ
コード用のプログラマブルロジックアレイ16からの出
力および命令コード8のパラメータ26がランダムロジ
ック回路18に入力され、その結果中間コード27切り
出しパラメータ29を出力する。 アドレッシングモード用のプログラマブルロジックアレ
イ17の出力信号には、絶対モードに対するMEMフィ
ールドに「1」のフラグを立て、(MEM、REG、I
MM、POP、PUSHADDM)= (1,0,0,
0,0,0)なる信号を生成する。 また、このときEa信号34は「1」となっており、ア
ドレッシングモード用のプログラマブルロジックアレイ
17の出力信号はそのまま使用アドレッシングモードピ
ットパターン(MEM、REG  IMM、POP、P
USH,ADDM)=(1,O,O,O,O,O)とし
て出力される。 また、中間コート27と使用アドレッシングモトピット
パターン28および切り出しパラメータ29はDコード
9としてAステージ3に渡される。 Aステージ3に渡された中間コード27および切り出し
パラメータ29は命令デコード用のプログラマブルロジ
ックアレイ20に入力される。ディスティネーションオ
ペランドはWRITEオペランドなので、第18図に示
される分類番号2に対応し、禁止アドレッシングモード
ピットパタン30 ((EAPATNO,EAPATN
I、EAPATN2.EAPATN3.EAPATN4
.EAPATN5 ) = (0,0,1,1,O,O
))が生成される。さらに、Aステージ3において、こ
の禁止アドレッシングモードピットパターン30とDス
テラ2から渡された使用アドレッシングモードビットパ
ターンとなるモード信号35〜40が禁止アドレッシン
グモード検出部21に入力される。 禁止アドレッシングモード検出部21では、アントケー
ト47〜52により、使用アドレッシングモードビット
パターン(MEM、REG、IMM、POP、PUSH
,ADDM)= (1,Oo、o、o、o)と禁止アド
レッシングモードビ・ントバターン301E八P八TN
O,EAPATNI、EへPATN2EAPATN3.
EへPATN4.EAPATN5) = (0,0,1
,1,0,0))との各ピットがそれぞれ論理積されて
、それぞれが出力される。従って、後段のオアゲート5
3から「0」が出力され、使用アドレッシングモードが
正当である旨か例外処理部23に送出される。 一方、WRITEオペランドのアドレッシングモード指
定として即値モートを使用した時には、第21図に示す
ようなビット割付けとなり、特に図中のimmd da
taは即値を示す。 絶対モードと同様にIFステージ1にWRITEオペラ
ンドが即値モードで指定されたデータ転送命令コードが
フェッチされると、フェッチされた命令コート8はその
ままDステージ2に渡され、オペレーション指定フィー
ルド24.オペランド指定フィールド25とが別々にデ
コードされる。オペレーション指定フィールド24は命
令デコード用のプログラマブルロジックアレイ16に入
力され、オペランド指定フィールド25はアドレッシン
グモード用のプログラマブルロジックアレイ17に入力
される。このとき、命令デコード用のプログラマブルロ
ジックアレイ16からの出力および命令コード8のパラ
メータ26がランダムロジック回路18に入力され、そ
の結果中間コード27.切り出しパラメータ29を出力
する。 アドレッシングモード用のプログラマブルロジツクアレ
イ17の出力信号には、絶対モートに対するMEMフィ
ールドに「1」のフラグを立て、使用アドレッシングモ
ードヒツトパターンが(MEM   REG   IM
M   POP   PUSH,ADDM) −(0,
0,1,Olo、0)となる信号を生成する。また、こ
のとき、Ea信号34は「1」となっており、アドレッ
シングモード用のプログラマブルロジックアレイ17の
出力信号はそのまま使用アドレッシングモードビットパ
ターン28 (MEM、REG、IMM、POP、pu
SH,ADDM) −(0,0,1,0,0,0))と
して出力される。 このとぎ、中間コート27と使用アドレッシングモード
パターン2Bおよび切り出しパターン29はDコート9
としてAステージ3に引き渡される。 Aステージ3に渡された中間コート27および切り出し
パラメータ29は命令デコード用のプログラマブルロジ
ックアレイ2oに入力される。そして、上述の例と同様
に禁止アドレッシングモードビ・ントパターン30 (
(EAPATNO□E八PATN1.EへP八Tへ2、
EAPATN3.EAP八Tへ4.EAPATN5)=
  (0,0,0,1,0,0))、すなわち禁止アド
レッシングモード信号41〜46が生成される。 さらに、Aステージ3において、この禁止アドレッシン
グモードビットパターン30とDステラ2から引き渡さ
れた使用アドレッシングモードビットパターン28が禁
止アドレッシングモード検出部21に入力される。 そして、禁止アドレッシングモード検出部21ではアン
ド回路47〜52によって、使用アドレッシングモード
ビットパターン(MEM、REG、IMM、POP、P
USH,、ADDM)=(o、o、1,1.O,O)と
禁止アドレッシングモードビットパターン30 ((E
APATNO,EAPATNIEAP八TN2.EAP
AへN3.EAPATN4.EAPATN5)=  (
0,0,0,1゜0.0)) との各ビットがそれぞれ
論理積されて、即値とEAPATN2との論理積のみが
「1」となり、OR回路53から使用アドレッシングモ
ードが不当である旨の出力が後段の例外処理部23に送
出され、EITフラグ32がセットされるとともに、予
約命令例外に対応する例外番号がEIT番号33にセッ
トされて、Fステージ4に送出される。 このようにして、オペレーション指定フィールド24と
オペランド指定フィールド25とを別々にデコートし、
使用アドレッシングモードの情報と禁止アドレッシング
モードの情報との比較を取ることによって禁止アドレッ
シングモード指定の検出を確実に実行することができる
。 なお、上記実施例においては、2段で命令のデコードを
実行しているが、1段で実行しても良い。 また、上記実施例ではプログラマブルロジックアレイ4
7.20から出力された禁止アドレッシングモード情報
と指定アドレッシングモード情報との比較を論理積を取
ることによりて実行しているが、プログラマブルロジッ
クアレイを通して検出を行ったり、他のランダムロジッ
クで検出を行っても良い。 さらに、上記実施例では使用アドレッシングモドヒ゛ッ
トパターン28をAステージ3でイ也の目的にも使用す
るため、ランダムロジック回路19において、Ea信号
34とアドレッシングモード用のプログラムロジック1
7との出力信号との論理積を取って禁止アドレッシング
モード検出部21に入力しているが、禁止アドレッシン
グモードの検出を行うだけであれば、Ea信号34との
論理積を取る必要はなく、そのまま禁止アドレッシング
モード検出部21に入力しても良い。 〔発明の効果〕 以上説明したように、この発明はオペレーション指定フ
ィールドの値を入力する第1のフィールド情報入力手段
と、この第1のフィールド情報入力手段より入力された
オペレーション指定フィールドの値を解析してオペレー
ション指定フィールドにより指定されるオペランドに対
して禁止されたアドレス情報を出力する第1の出力手段
と、オペランド指定フィールドの値を入力する第2のフ
ィールド情報入力手段と、この第2のフィールド情報入
力手段より入力されたオペランド指定フィルドの値を解
析して指定されたアドレッシングモード情報を出力する
第2の出力手段と、第1または第2の出力手段から出力
されるオペランド指定フィールドの値とオペレーション
指定フィールドの値とに基づいて指定されたアドレッシ
ングモトの異常を検出する検出手段とを設けたので、命
令デコードを行うための論理回路のビット数を大幅に削
減てぎる。従って、安価な回路構成で高度な例外処理発
生を検出しながら所定のデータ処理を確実に実行できる
優れた効果を奏する。
【図面の簡単な説明】
第1図はこの発明の一実施例を示すデータ処理装置にお
けるパイプライン処理機構を説明するブロック図、第2
図〜第15図はこの発明に通用するアドレッシングモー
ド種別および機能を説明するフォーマット模式図、第1
6図は、第1図に示したDステージとAステージの構成
を説明する詳細回路ブロック図、第17図は、第16図
に示した禁止アドレッシングモード検出回路の一例を示
す論理回路図、第18図は禁止アドレッシングモードを
説明する相対関係図、第19図〜第21図はデータ転送
命令のビット割付は構成を説明する模式図、第22図は
従来のアトレツシンモート種別とアクセスクラスタとの
相対関係を説明する相関図である。 図中、1はIFステージ、2はDステージ、3はAステ
ージ、4はFステージ、5はFステラ、6はRステージ
、7はOFステージ、8は命令コード、9はDコード、
10はAコード、11はRコード、12はFコート、1
3はEコード、14はSコードである。 なお、各図中の同一符号は同一または相当部分を示す。 代理人 大 岩 増 雄    (外2名)区 区 1、事件の表示 特願昭 B3−17!371、 発明の名i6、 データ処理装置 3、補正をする者 事件との関係 特許出願人 住 所    東京都千代田区丸の内二丁目2番3号名
 称  (601)三菱電機株式会社代表者志岐守哉 4、代理人 住所 東京都千代田区丸の内二丁目2番3号 5、補正の対象 明細書全文および図面 6、補正の内容 (1)  明細書全文を別紙のように補正する。 (2)図面中、第13図、第16図および第1図を別紙
のように補正する。 以 上 明細書 力する第2の出力手段と、前記第1または第2の1、発
明の名称 データ処理装置 2、特許請求の範囲 命令のオペレーションを指定するオペレーション指定フ
ィールドと汎用アドレッシングモードによってオペラン
ド指定を行うことが可能なオペランド指定フィールドを
有するオペランド命令を処理するデータ処理装置におい
て、前記オペレーション指定フィールドの値を入力する
第1のフィールド情報入力手段と、この第1のフィール
ド情報入力手段より入力された前記オペレーション指定
フィールドの値を解析して前記オペレーション指定フィ
ールドにより指定されるオペランドに対して禁止された
アドレ・ンシングモード情報を出力する第1の出力手段
と、前記オペランド指定フィルドの値を入力する第2の
フィールド情報入力手段と、この第2のフィールド情報
入力手段より入力された前記オペランド指定フィールド
の値を解析して指定されたアドレッシングモード情報を
出て工指定されたアドレッシングモードの不為を検出す
る検出手段とを具備したことを特徴とするブタ処理装置
。 3、発明の詳細な説明 〔産業上の利用分野〕 この発明は、命令のオペレーションを指定するオペレー
ション指定フィールドと、汎用アドレッシングモードに
よってオペランド指定を行うことが可能なオペランド指
定フィールドを有するオペランド命令を処理するデータ
処理装置に関するものである。 (従来の技術) 直交化された命令セットを持つデータ処理装置では、任
意の命令の各オペランドに対して任意のアドレッシング
モードの使用が可能となっている。 しかし、実際には各命令の各オペランドに対して不適当
なアドレッシングモード指定が存在する。そして、命令
セットが複雑になるに従って禁止の組み合わせか多くな
る傾向にある。 従来この種のデータ処理装置としては、文献、例えば8
6年度版のNational Sem1conduct
or c。 rp 5eries 32000 Data book
等に示されており、特にシリーズ番号N532032で
は、第22図に示すように、5種類のアクセスクラス(
READWRITE:、RMW:、ADDR:、REG
八DへR:等)を定義し、各アクセスクラスでオペラン
ドに対する各アドレッシングモード(レジスタモード、
相対レジスタモト、メモリ相対モード、即値モード、絶
対子ド、外部モード、トップ・オブ・スタック・モート
、メモリ空間モート、スケールド・インデックス等)の
解釈を定義している。 そして、これらのアドレッシングモードのうち、3種類
のアドレッシングモード(レジスタモード、即値モード
、トップ・オブ・スタック・モード)がオペランドのア
ドレスクラスによって影響を受ける。 以下、5種類のアクセスクラス(READ・、WRIT
ERMW:、ADDR: REG八DへR:等)と各ア
ドレッシングモードにおける上述した3種類のアドレッ
シングモトの解釈について説明する。 (READ : ) このアドレッシングモードは、リードされるがライトさ
れないオペランドとして解釈される。 レジスタモードを使用した場合は、指定したレジスタか
ら、そのオペランドを読み出す。 また、即値モードを使用した場合は、このアクセスクラ
スのオペランドにのみ合法とする。 さらに、トップ・オブ・スタック・モードを使用した場
合は、スタックポインタはオペランドの長さに対応する
バイト数だけ、ポストインクリメントされ、その結果ス
タックからそのオペランドを「ポツプ」する。 (WRITE:) このアドレッシングモードは、ライトされるがリードさ
れないオペランドとして解釈される。 レジスタモードを使用した場合は、指定したしジスタは
そのオペランドを受は取る。 また、即値モートを使用した場合は、このアクセスクラ
スに対して不定となる。 さらに、トップ・オブ・スタック・モードを使用した場
合は、スタックポインタはオペランドの長さに対応する
バイト数だけ、ディクリメントされ、その結果オペラン
ドをスタックに「ブツシュ」する・ (BMW・) このアドレッシングモードは、リードされ修正され、そ
して同じ位置にライトされるオペランドとして解釈され
る。 また、レジスタモードを使用した場合は、指定したレジ
スタはそのオペランドを格納する。即値モードは、この
アクセスクラスには不定である。 さらに、トップ・オブ・スタック・モードを使用した場
合は、スタックポインタはそのオペランドのアドレスを
与えるが変更されない。 (ADDR:) このアドレッシングモードは、レジスタに保持すること
ができないオペランド、またはデータとしてフェッチさ
れているオペラアンドに対応しない実効アドレス計算と
して解釈される。 レジスタモードを使用した場合、オペランドはメモリに
あり、指定したレジスタがそのアドレスを格納する。即
値モードはこのアクセスクラスについては不定である。 トップ・オブ・スタック・モードを指定すると、スタッ
クポインタはそのオペランドのアドレスを与えるが、変
更されない。 <REGADDR:) このアドレッシングモードは、非標準サイズのデータ項
目を置くまたは整列するためのベースを指定すると解釈
される。 レジスタモードを使用した場合、データ項目は指定した
レジスタ中に保持される。 また、即値モードは、このアクセスクラスについて不定
である。 さらに、トップ・オブ・スタック・モードを使用した場
合は、スタックポインタはそのオペランドのアドレスを
与えるが変更されない。 このようにアクセスクラスがREAD以外のオペランド
に対して即値モードが用いられた場合、その禁止モード
が指定されていても、不定値を返すだけで例外検出を行
っていない。 〔発明が解決しようとする課題〕 このため、この種のデータ処理装置において、より正確
な動作を保証するためには禁止アドレッシングモードに
対する例外検出が必要となる。実際に、この禁止アドレ
ッシングモードを検出する処理として、オペランド指定
フィールドも含めた命令コードを命令デコード用PLA
に入力し、禁止された組み合わせを検出する方法が考え
られる。 しかし、オペレーション指定フィールドとオペランド指
定フィールドの両方を情報として命令デコード用のプロ
グラマブルロジックアレイ(PLA)に入力して、各命
令の各オペランドに対して妥当なアドレッシングモード
が用いられているかどうかを検出しようとすると、PA
Lの入力ビツト数か増大し、また詳細に組み合わせのチ
エツクを行う必要から、PALの積項数が増大して命令
デコードを行うPALのサイズが非常に大きくなってし
まう問題点があった。 この発明は、上記の問題点を解決するためになされたも
ので、オペレーション指定フィールドとアドレッシング
モード指定フィールドを別々にデコードし、オペレーシ
ョン指定フィールドをデコドするデコーダから出力され
る禁止アドレッシングモードの情報と、アドレッシング
モード指定フィールドをデコードするデコーダから出力
される使用アドレッシングモードの情報との比較を行う
ことにより、少ない容量で禁止アドレッシングモード指
定を検出できる安価なデータ処理装置を得ることを目的
とする。 〔課題を解決するための手段〕 この発明に係るデータ処理装置は、オペレーション指定
フィールドの値を入力する第1のフィルド情報入力手段
と、この第1のフィールド情報入力手段より入力された
オペレーション指定フィールドの値を解析してオペレー
ション指定フイルドにより指定されるオペランドに対し
て禁止されたアドレッシングモード情報を出力する第1
の出力手段と、オペランド指定フィールドの値を入力す
る第2のフィールド情報入力手段と、この第2のフィー
ルド情報入力手段より入力されたオペランド指定フィー
ルドの値を解析して指定されたアドレッシングモード情
報を出力する第2の出力手段と、第1または第2の出力
手段から出力された禁止アドレッシングモード情報と指
定アドレッシングモード情報に基ついて指定されたアド
レッシングモードの不当を検出する検出手段とを設けた
ものである。 〔作用〕 この発明においては、第1のフィールド情報入力手段お
よび第2のフィールド情報入力手段から入力されたオペ
レーション指定フィールドの値とオペランド指定フィー
ルドの値により第1または第2の出力手段から禁止アド
レッシングモード情報と指定アドレッシングモード情報
とが出力されると、禁止アドレッシングモード情報と指
定アドレッシングモード情報とに基づいて指定されたア
ドレッシングモードが不当かどうかを検出する。 (実施例) 第1図はこの発明の一実施例を示すデータ処理装置にお
けるパイプライン処理機構を説明するブロック図であり
、1は命令フェッチステージ(IFステージ)で、命令
のプリフェッチを行い、命令コード8を出力する。2は
デコードステラ(Dステージ)で、1段目の命令、すな
わち命令コード8をデコードし、Dコート9およびAコ
ード10を出力する。 3はオペランドアドレス計算ステージ(Aステラ)で、
出力されるDコード9およびAコード10から2段目の
命令デコードとオペランドのアドレス計算を行い、Rコ
ード11およびFコード12を出力する。4はオペラン
ドフェッチステージ(Fステージ)で、マイクロROM
アクセスを行うRステージ6、オペランドのブリフェッ
チを行うOFステージ7から構成されている。5はEス
テージで、オペランドフェッチステージ4から出力され
るEコード13およびSコード14から所定の命令を実
行する。 なお、この実施例においては、5段構成をパイプライン
処理の基本とする。Eステージ5では1段のストアバッ
ファがあるほか、高機能命令の一部は命令実行自体をパ
イプライン化するため、実際には5段以上のパイプライ
ン処理効果がある。 また、各段から出力されるコートについて以下説明する
。 1Fステージ1からDステージ2に渡される情報は命令
コード8そのものである。Dステージ2からAステージ
3に渡される情報は命令で指定された演算に関するもの
Dコード9と、オペランドのアドレス計算に関するAコ
ード10とである。 また、Aステージ3からFステージ4に渡される情報は
、マイクロプログラムルーチンのエントリ番地やマイク
ロプログラムへのパラメータ等を含むRコード11と、
オペランドのアドレスとアクセス方法指示情報等を含む
Fコード12との2つである。 さらに、Fステージ4からEステージ5に渡される情報
は、演算制御情報とリテラル等を含むEコード13と、
オペランドやオペランドアドレス等を含むSコード14
との2つである。 なお、第1のフィールド情報入力手段および第2のフィ
ールド情報入力手段を兼ねる後述するラッチから入力さ
れたオペレーション指定フィールドの値(命令コード8
の一部により構成される)またはオペランド指定フィー
ルドの値(命令コード8の一部により構成される)によ
り第1と第2の出力手段(Dステージ2とAステージ3
の一部)から出力される禁止アドレッシングモードの情
報と指定アドレッシングモードの情報とが出力されると
、後述する検出手段を有するAステージ3が禁止アドレ
ッシングモードの情報と指定アドレッシングモードの情
報とに基づいて指定されたアドレッシングモードが不当
かどうかを検出し、所定の例外処理を実行するように構
成されている。 また、各ステージは他のステージとは独立に動作し、理
論上は5つのステージか完全に独立して動作する。各ス
テージは1回の処理を最小2クロックで実行することが
できる。従って、理想的には2クロツク毎に次々とパイ
プライン処理が進行する。 さらに、メモリーメモリ間演算、メモリ間接アドレッシ
ング等においては、基本パイプライン処理1回だけでは
処理が行えない命令があるが、複数のメモリオペランド
を持つ命令に対してはメモリオペランドの数をもとにデ
コード段階で複数のパイプライン処理単位(ステップコ
ード)に分解してパイプライン処理を行う。なお、パイ
プライン処理単位の分解方法に関しては、特願昭612
36456号に詳しく記載されているため、詳細は省略
するが、以下、パイプライン処理単位について説明する
。 この実施例におけるパイプライン処理単位は、命令セッ
トのフォーマットの特徴を利用して決定されている。す
なわち、命令は、2バイト単位の可変長命令であり、基
本的には(2バイトの命令基本部子0〜4バイトのアド
レッシング拡張部)を1〜3回繰り返すことにより命令
が構成されている。 命令基本部には多くの場合、オペコード部とアドレッシ
ングモード指定部があり、インデックスアドレッシング
やメモリ間接アドレッシングが必要なときには、アドレ
ッシング拡張部の代わりに(2バイトの多段間接モード
指定部子0〜4バイトのアドレッシング拡張部)が任意
個数付加される。また、命令により2または4バイトの
命令固有の拡張部が最後に付加される。 命令基本部には、オペコード、基本アドレッシングモー
ド、リテラル等が含まれている。また、アドレッシング
拡張部はディスプレースメント、絶対アドレス、即値1
分岐命令の変位のいずれかである。命令固有の拡張部に
はレジスタマツプ。 I−format命令の即値指定等がある。 なお、Dステージ2ては、(2バイトの命令基本部+0
〜4バイトのアドレッシング拡張部)。 (多段間接子−ド指定部十アドレッシング拡張部)また
は命令固有の拡張部を1つのデコード単位として処理す
る。各回のデコード結果をステップコードと呼び、Aス
テージ3以降ではこのステップコードをパイプライン処
理の単位としている。 1つのステップコードに対して汎用アドレッシングモー
ドが指定可能なオペランドは1つは存在する。ステップ
コードの数は命令毎に固有であり、多段間接モード指定
を行わないとき、1つの命令は最小1個、最大3個のス
テップコードに別れる。多重間接モード指定があればそ
れだけステップコートが増える。 次に第2図〜第15図を参照しながらこの実施例におけ
るアドレッシングモードについて説明する。 「基本アドレッシングモード」 第2図〜第15図はこの発明に適用するアドレッシング
モード種別および機能を説明するフォマットオ莫弐図で
ある。 これらの図において、Rnは汎用レジスタの番号を示し
、(sh )は6ビツトの短縮形アドレッシングモード
の指定方法を示し、(Ea )は8ビツトの一般形アド
レッシングモードの指定方法を示す。なお、点線で囲ま
れた部分は拡張部を示す。 この実施例におけるデータ処理装置において、サポート
されるアドレッシングモードは、レジスタ直接モード、
レジスタ間接モード、レジスタ相対間接モード、即値モ
ード、絶対モード、プログラムカウンタ相対間接モード
(PCC相対間接トド、スタックポツプモード、スタッ
クブツシュモードの計8つ等が定義されている。 レジスタ直接モードは、第2図に示すように、レジスタ
の内容をそのままオペランドとする。 レジスタ間接モードは、第3図に示すように、レジスタ
の内容をアドレスとするメモリの内容をオペランドとす
る。 レジスタ相対間接モードは、第4図に示すようにディス
プレースメント値が16ビツトか32ビツトかにより2
種類ある。それぞれレジスタの内容に16ヒツトまたは
32ビツトのディスプレスメント値を加えた値をアドレ
スとするメモリの内容をオペランドとする。なお、第4
図中のdisp16とdisp・32は、それぞれ16
ビツトのディスプレースメント値と32ビツトのディス
プレースメント値を示す。なお、ディスプレースメント
値は符号付きとして取り扱う。 即値モートは、第5図に示すように、命令ニド中で指定
されるビットパターンをそのまま2進数と見なしてオペ
ランドとする。なお、第5図中のimm dataは即
値を示す。さらに、即値imm dataのサイズは、
オペランドサイズとして命令中で指定される。 絶対モードは、第6図に示すように、アドレス値が16
ビツトで示されるか32ビツトで示されるかにより2種
類となる。そして、命令コード中で指定される16ビツ
トまたは32ビツトのビットパターンをアドレスとした
メモリの内容をオペランドとする。第6図中のabs:
16とabs・32は、それぞれ16ビツト、32ビツ
トのアドレス値を示す。また、abs:16でアドレス
が示されるときには指定されたアドレス値を32ビツト
に符号拡張する。 PC相対間接モードは、第7図に示すように、ディスプ
レースメント値が16ビツトか32ビツトかにより2種
類となり、それぞれプログラムカウンタの内容に16ビ
ツトまたは32ビツトのディスプレースメント値を加え
た値をアドレスとするメモリの内容をオペランドとする
。第7図中のdisp:1Bとdisp:32は、それ
ぞれ16ビツト32ビツトのディスプレースメント値を
示す。なお、ディスプレースメント値は符号付きとして
扱う。PC相対間接モードにおいて参照されるプログラ
ムカウンタの値は、そのオペランドを含む命令の先頭ア
ドレスである。多段間接アドレッシングモードにおいて
、プログラムカウンタの値が参照される場合にも同じよ
うに命令先頭のアドレスをPC相対の基準値として使用
する。 スタックポツプモードは、第8図に示すように、スタッ
クポインタ(sp)の内容をアドレスとするメモリの内
容をオペランドとする。オペランドアクセス後、スタッ
クポインタ(sp)をオペランドサイズだけインクリメ
ントする。例えは32ビツトデータを扱う時には、オペ
ランドアクセス後にスタックポインタ(sp)か+4だ
け更新される。B、Hのサイズのオペランドに対するス
タックポツプモードの指定も可能であり、それぞれスタ
ックポインタ(sp)が+1.+2だけ更新される。な
お、オペランドに対してスタックポツプモートが意味を
持たないものに対しては。 予約命令例外を発生する。具体的に予約命令例外となる
のは、WRITEオペランド、readmodify−
writeオペランドに対するスタックモード指定であ
る。 スタックブツシュモートは、第9図に示すように、スタ
ックポインタ(sp)の内容をオペランドサイズだけデ
ィクリメントした内容をアドレスとするメモリの内容を
オペランドとする。スタックブツシュモードではオペラ
ンドアクセス前にスタックポインタ(sp)がディクリ
メントされる。例えば32ビツトデータを扱う時には、
オペランドアクセス前にスタックポインタ(sp)が4
だけ更新される。B、Hのサイズのオペランドに対する
スタックブツシュモードの指定も可能であり、それぞれ
スタックポインタ(sp)が1、−2だけ更新される。 また、オペランドに対してスタックブツシュモードが意
味を持たないものに対しては、予約命令例外を発生する
。具体的に予約命令例外となるのは、readオペラン
ドおよびread−modify−writeオペラン
ドに対するスタックブツシュモード指定である。 「多段間接アドレッシングモード」 複雑なアドレッシングも、基本的には加算と間接参照の
組み合わせに分解することができる。従って、加算と間
接参照のオペレーションをアドレッシングのプリミティ
ブとして与えておき、それを任意に組み合わせることが
できれば、どんな複雑なアドレッシングモードをも実現
することができる。そこで、この実施例における多段間
接アドレッシングモードは、このような考え方にたった
アドレッシングモードである。複雑なアドレッシングモ
ードは、モジュール間のデータ参照やAI言語の処理系
に特に有用である。 多段間接アドレッシングモードを指定するとき、基本ア
ドレッシングモード指定フィールドでは、レジスタベー
ス多段間接モード、PCベース多段間接モード、絶対ベ
ース多段間接モードの3種類の指定方法のうちいずれか
1つを指定する。 レジスタベース多段間接モードは、第10図に示すよう
に、レジスタの値を、拡張する多段間接アドレッシング
のベース値とするアドレッシングモードである。 PCヘース多段間接モードは、第11図に示すように、
プログラムカウンタの値を、拡張する多段間接アドレッ
シングのベース値とするアドレッシングモードである。 絶対ベース多段間接モードは、第12図に示すように、
拡張する多段間接アドレッシングのベース値とするアド
レッシングモードである。 拡張する多段間接モード指定フィールドは、第13図に
示すように、16ビツトを単位としており、これを任意
回繰り返す。1段の多段間接子ドにより、ディスプレー
スメントの加算処理、インデッスレジスタのスケーリン
グ(xl、x2x4.x8)と加算処理、メモリの間接
参照処理等を行う。第13図の各フィールドの意味を以
下に説明する。Eの値が「0」の場合には、多段間接モ
ード継続を示し、Eの値が「IJの場合には、アドレス
計算終了を示し、すなわち、中間値tmpをオペランド
アドレスとする。また、■が「0」の場合は、メモリ間
接参照なしを示し、中間値tmpにディスプレースメン
ト値(disp)を加算し、更にインデックス値Rxに
スケル値5caleを乗算した値との合計値を新規の中
間値tmpと定義する。 また、■が「1」の場合は、メモリ間接参照ありを示し
、中間値tmpにディスプレースメント値(diSp)
を加算し、更にインデックス値Rxにスケール値5ca
leを乗算した値との合計値をアドレスとするメモリの
内容を中間値tmpと定義する。 Mが「0」の場合は、Rxで示されるレジスタの内容(
Rx )をインデックスとして使用する。 Mが「1」の場合は、特殊なインデックスとしてIA理
し、(Rx )が「0」の場合には、インデックス値の
加算を実行せず、(Rx )が「1」の場合には、プロ
グラムカウンタをインデックス値として使用しくRx=
PC)、(Rx )がr2〜」の場合は、今回の実施例
では定義されていない。 Dが「0」の場合は、多段間接モード中の4ビツトのフ
ィールドd4の値を4倍してディスプレイスメント値と
し、これを加算しする。なお、フィルドd4の値は符号
付きとして扱い、オペランドのサイズとは関係なく必ず
4倍して使用する。 Dが「1」の場合は、多段間接モードの拡張部で指定さ
れた値dispx  (16/32ビツト)をディスプ
レイスメント値とし、これを加算する。なお、拡張部の
サイズはd4フィールドの値で定義し、d4−rooo
l、の場合には、値dispxを16ビットとして処理
し、d4・’0010.の場合には、値clispxを
32ビツトとして処理する。 Xxはインデックスのスケール(scale=1 /2
/4/B )を示す。 プログラムカウンタに対してx2.x4.X8のスケー
リングを行った場合には、その段の処理終了後の中間値
tmpとして、不定値が入る。この多段間接モードによ
って得られる実行アドレスは予測できない値となるが、
例外は発生しない。 プログラムカウンタに対するスケーリングの指定は行っ
てはいけない。 多段間接モードによる命令フォーマットバリエーション
を第14図および第15図に示し、多段間接モードが継
続するか終了するかのバリエーションが第14図に示さ
れ、ディスプレイスメントのサイズのバリエーションが
第15図に示される。 任意段数の多段間接モードが利用できれば、コンパイラ
の中で段数による場合分けが不要となるので、コンパイ
ラの負担が軽減されるというメリットかある。また、多
段の間接参照の頻度が非常に少ないとしても、コンパイ
ラとしては必ず正しいコートを発生てきなければならな
いからである。このため、フォーマット上、任意の段数
が可能になっている。 次に第16図〜第18図を参照しながらこの発明による
禁止アドレッシングモード検出処理について説明する。 第16図は、第1図に示したDステージ2とAステージ
3の構成を説明する詳細回路プロ・ンク図であり、第1
図と同一のものには同し符号を付しである。以下、構成
ならびに動作について説明する。 1Fステージ1に設けられた命令デコーダ・イン・ラッ
チ15から出力された命令コード8は、オペレーション
指定フィールド24とオペランド指定フィールド25と
が別々に、命令デコード用のプログラマブルロジックア
レイ(P LA 1 )16、アドレッシングモード用
のプログラマブルロジックアレイ(PLA2)+7によ
って個別にデコードされる。 命令デコード用のプログラマブルロジックアレイ16の
出力信号および命令コード8のパラメタ26は、ランダ
ムロジック回路18に入力され、それぞれ中間コード2
7.切り出されたパラメータ29等を出力する。命令デ
コード用のプログラマブルロジックアレイ20には、中
間コード27と切り出されたパラメータ29が入力され
、禁止アドレッシングモードピットパターン30とマイ
クロ命令エントリアドレス等を出力する。 また、命令デコード用のプログラマブルロジックアレイ
16からは、命令コード中にアドレッシングモードの指
定があるかどうかを示すEa信号34を出力する。アド
レッシングモード用のプログラマブルロジックアレイ1
7からは、使用アドレッシングモードの情報を含む、6
ビツトの信号か出力される。 この6ビツト信号とEa信号34はランダムロジック回
路19に入力される。ランダムロジック回路19では、
Ea信号34と6ビツト信号の各々と論理積が取られて
使用アドレッシングモードヒツトパターン2Bとして出
力される。 使用アドレッシングモードピットパターン28と禁止ア
ドレッシングモードビットパターン30を入力とすると
、禁止アドレッシングモード検出部21 (検出手段)
によりて禁止アドレッシングモード指定のチエツクが行
われ、その出力信号は例外処理部23に入力される。禁
止アドレッシングモードの指定は予約命令例外として扱
われ、例外か検出された場合、例外処理部23から例外
が検出されたことを示すEITフラグ32と、検出され
た例外の種類を示すEIT番号33がRコト11として
Fステージ4に送出される。なお、アドレッシングモー
ド用のプログラマブルロジックアレイ17およびランダ
ムロジック回路19ではオペランド指定フィールド25
をデコードすることによって、オペランド指定に使用さ
れているアドレッシングモードに対応するピットを1に
セットアツプする。 第17図は、第16図に示した禁止アトレッジングモー
ト検出部21の一例を示す論理回路図であり、35〜4
0はモード信号で、モート信号35はメモリ一般モード
(MEM)に対応し、モト信号36はレジスタ直接モー
ド(REG)に対応し、モード信号37は即値モード(
IMM)に対応し、モード信号38はスタックポツプモ
ト(pop)に対応し、モード信号39はスタックブツ
シュモード(PUSH)に対応し、モト信号40は多段
階間接アドレッシングモード(ADDM)に対応し、こ
のモード信号35〜40により6ビツトの使用アドレッ
シングモードビットパターンが構成され、これらがアン
ドゲト(アンド回路)47〜52に入力される。なお、
モード信号35のメモリ一般には、レジスタ間接モード
、レジスタ相対間接モード、絶対モト、PC相対間接モ
ード等を3み、モード信号40の多段階間接アドレッシ
ングモード(ADDM)には、レジスタベース多段間接
モード、PCベース多段間接モード、絶対ベース多段間
接モード等を含む。 41〜46は禁止アドレッシングモード信号で、禁止ア
ドレッシングモード信号41はメモリ一般モード(ME
M)に対応し、禁止アドレッシングモード信号42はレ
ジスタ直接モード(REG)に対応し、禁止アドレッシ
ングモード信号43は即値モード(IMM)に対応し、
禁止アドレッシングモード信号44はスタックポツプモ
ト(pop)に対応し、禁止アドレッシングモード信号
45はスタックブツシュモード(PUSH)に対応し、
禁止アドレッシングモード信号46は多段階間接アドレ
ッシングモード(ADDM)に対応し、禁止アドレッシ
ングモード信号41〜46により禁止アドレッシングモ
ードビットパターン30が構成され、この禁止アドレッ
シングモードビットパターン30が命令デコード用のプ
ログラマブルロジックアレイ20からアンドゲート47
〜52に出力され、それらのアンド出力が後段のオアケ
ート53に出力され、オールゼロチエツクが行われ、禁
止アドレッシングモードビットパターン30により使用
が禁止されているアドレッシングモードが使用されてい
ると、オアゲート(オア回路)53の出力が「1」とな
り、所定の例外に関する処理を行う。 なお、第1のフィールド情報入力手段および第2のフィ
ールド情報入力手段から入力されたオペレーション指定
フィールドの値(オペレーション指定フィールド24)
またはオペランド指定フィルドの値(オペランド指定フ
ィールド25)により第1の出力手段となるプログラマ
ブルロジックアレイ16 ランダムロジック回路18.
プログラマブルロジックアレイ20から出力される禁止
アドレッシングモード情報と、第2の出力手段となるプ
ログラマブルロジックアレイ17から出力される指定(
使用)アドレッシングモード情報を基にして、検出手段
となる禁止アドレッシングモード検出部21が論理演算
により検出する。 次に第18図を参照しながら禁止アドレッシングモード
について説明する。 第18図は禁止アドレッシングモードを説明する相関図
であり、縦列は分類を示し、横列はモドを示す。なお、
この実施例においては、各アドレッシングモードのオペ
ランド指定に関して使用を禁止する。禁止しないを独立
して指定するものとして6種類に分類している。すなわ
ち、メモリ一般、レジスタ直接、即値、ブツシュ、ポツ
プ多段間接モード等の計6種類である。 この図において、×は特定のアクセス方法に対して禁止
されているアドレッシングモードを示し、○は特定のア
クセス方法に対して許可されているアドレッシングモー
ドを示し、※は特殊なアクセス方法を示す。 メモリ一般モートにおいては、レジスタ間接モート、レ
ジスタ相対間接モード、絶対モードPC相対間接モード
を含んており、何れのモードもメモリの内容をオペラン
ドとするものであるため1つにまとめられる。 即値モートにおいては、オペランドをメモリにもレジス
タにもアクセスするものではなく、命令コード中で指定
されるビットパターンをそのまま2進数と見なしてオペ
ランドとするもので、これは即値モード以外には存在し
ない。 ブツシュモートにおいては、スタックポインタ(sp)
の内容をアドレスとするメモリの内容をオペランドとす
るが、メモリの内容を読み込み(READ)を伴うアク
セスしか許されないため、メモリ一般と区別される。 ポツプモードにおいては、スタックポインタ(sp)の
内容をオペランドサイズだけディクリメントした内容を
アドレスとするメモリの内容をオペランドとするが、メ
モリに対して書き込みを伴うアクセスしか許されないの
で、メモリ一般とは区別される。 多段間接モードにおいては、レジスタベース多段間接モ
ード、pcベベー多段間接モード、絶対ベース多段間接
モードを含んでおり、メモリの内容をオペランドとする
が、メモリの内容を参照してアドレス計算を行うことが
あるため、メモリー般とは区別される。 独立したアドレッシングモードの禁止の仕方には10種
類あり、例えばソースオペランドの内容をディスティネ
ーションオペラントに転送するMOV命令では、ソース
オペランドはREADオペランドであり、第18図の分
類番号1で示されるようにブツシュモートは禁止されて
いる。 また、MOV命令のディスティネーションオペランドは
、WRITEオペランドであり、図中の分類番号2て示
されるように、即値およびポツプモートは禁止されてい
る。 JMP (ジャンプ)命令は、飛び先アドレスを示すソ
ースオペランドを持ち、そのオペランドアドレスにジャ
ンプする命令である。 このオペランドでは計算されたアドレス自身がオペラン
ドとなり、図中の分類番号4で示されるようにレジスタ
直接、ブツシュ、即値、ポツプモトは禁止されている。 なお、特殊な命令では特定のアドレッシングモトのみを
許している。 次に上記実施例の動作について、ソースオペランドをレ
ジスタとしディスティネーションオペラントをメモリと
するデータ転送命令(MOVS)を具体的な例として本
文アドレッシングモトチエツク処理について第19図〜
第21図を参照しながら説明する。 第19図はデータ転送命令(MOV:S)のビット構成
を説明する模式図であり、shは6ビツトの短縮形アド
レッシングモードでのオペランド指定フィールドを示し
、Rnはレジスタのオペランド番号を指定する指定フィ
ールドを示し、WWは前記指定ビットshのオペランド
のサイズを示すフィールドを示す。 先ず、最初にディスティネーションオペランドのアドレ
ッシングモード指定として絶対モードを使用した時には
以下のような動作を行う。なお、この時のビット割付け
は第20図に示すようになり、abs:16.abs:
32は16ビツトおよび32ビツトのアドレス値に対応
する。 IFステージ1にWRITEオペランドが絶対モード指
定されたデータ転送命令コードがフェッチされる。 フェッチされた命令コード8はそのままDステ一ジ2に
渡され、オペレーション指定フィールド24とオペラン
ド指定フィールド25とか別々にデコートされる。 オペレーション指定フィールド24は命令デコド用のプ
ログラマブルロジックアレイ16に入力される。オペラ
ンド指定フィールド25はアドレッシングモード用のプ
ログラマブルロジックアレイ17に入力される。命令デ
コード用のプログラマブルロジックアレイ16からの出
力および命令コード8のパラメータ26がランダムロジ
ック回路18に入力され、その結果中間コード27切り
出しパラメータ29を出力する。 アドレッシングモード用のプログラマブルロジックアレ
イ17の出力信号には、絶対モードに対するMEMフィ
ールドに「1」のフラグを立て、(MEM、REG、I
MM、POP、PUSHADDM)= (1,O,O,
O,O,O)なる信号を生成する。 また、このときEa信号34は[IJとなっており、ア
ドレッシングモード用のプログラマブル0シツクアレイ
17の出力信号はそのまま使用アドレッシングモードビ
ットパターン(MEMREG、IMM、POP、PUS
H,ADDM)= (1,O,O,O,O,O)として
出力される。 また、中間コード27と使用アドレッシングモトビット
パターン28および切り出しパラメタ29はDコード9
としてAステージ3に渡される。 Aステージ3に渡された中間コード27および切り出し
パラメータ29は命令デコード用のプログラマブルロジ
ックアレイ20に入力される。ディスティネーションオ
ペランドはWRITEオペランドなので、第18図に示
される分類番号2に対応し、禁止アドレッシングモード
ビットバタン 3 0  ((EAPATNO,EAP
ATNI、EへPATN2 、EAPATN3 。 EAPATN4.EAPATN5 ) = (0,0,
1,1,O,O))が生成される。さらに、Aステージ
3において、この禁止アドレッシングモードビットパタ
ーン30とDステージ2から渡された使用アドレッシン
グモードビットパターン28が禁止アドレッシングモー
ド検出部21に入力される。 禁止アドレッシングモード検出部21では、アンドゲー
ト47〜52により、使用アドレッシングモードビット
パターン(MEM、REG、IMM、POP、PUSH
,ADDM)= (1,Oo、o、o、o)と禁止アド
レッシングモードビ・ントパターン30((EAPAT
NO、EAPATNI、EへPATN2 。 EAPATN3.EAPATN4.EAPATN5) 
= (0,0,1,1,0,0))との各ビットの項に
ついて論理積が取られて、それぞれ「0」が出力される
。従って、後段のオアゲート53から「0」が出力され
、使用アドレッシングモードが正当である旨が例外処理
部23に送出される。 次に、WRITEオペランドのアドレッシングモード指
定として即値モードを使用した時には、第21図に示す
ようなビット割付けとなる。図中のimmd clat
aは即値を示す。 絶対モートと同様にIFステージ1にWRITEオペラ
ンドが即値モートで指定されたデータ転送命令コードが
フェッチされると、フェッチされた命令コート8はその
ままDステージ2に渡され、オペレーション指定フィー
ルド24.オペランド指定フィールド25とが別々にデ
コートされる。オペレーション指定フィールド24は命
令デコード用のプログラマブルロジックアレイ16に入
力され、オペランド指定フィールド25はアドレッシン
グモード用のプログラマブルロジックアレイ17に入力
される。このとき、命令デコート用のプログラマブルロ
ジックアレイ16からの出力および命令コード8のパラ
メータ26がランダムロジック回路18に入力され、そ
の結果中間ニド2フ、切り出しパラメータ29を出力す
る。 アドレッシングモード用のプログラマブルロジックアレ
イ17の出力信号には、即値モードに対するIMMフィ
ールドに「1」のフラグを立て、使用アドレッシングモ
ードビットパターン28が(MEM、REG、IMM、
POP、PUSH,ADDM)= (0,0,1,0,
0,O)となる信号を生成する。また、このとぎ、Ea
信信子 734は「1」となっており、アドレッシングモト用の
プログラマブルロジックアレイ17の出力信号はそのま
ま使用アドレッシングモードビットパターン28 (M
EM、REG、IMM、POP、 PUSH,ADDM
) = (0,0,1,O,O,O))として出力され
る。 このとき、中間コート27と使用アドレッシングモード
パターン28および切り出しパターン29はDコード9
としてAステージ3に引き渡される。 Aステージ3に渡された中間コード27および切り出し
パラメータ29は命令デコート用のプログラマブルロジ
ックアレイ20に入力される。そして、上述の例と同様
に禁止アドレッシングモードビットパターン30 ((
EAPATNO,EAPATNI、EAPATN2、E
APATN3.EAPATN4.EAPATN5)= 
 (0,0,1,1,0,0))、すなわち禁止アドレ
ッシングモード信号41〜46が生成される。 さらに、Aステージ3において、この禁止アドレッシン
グモードビットパターン30とDステジ2から引き渡さ
れた使用アドレッシングモードビットパターン28が禁
止アドレッシングモード検出部21に入力される。 そして、禁止アドレッシングモード検出部21ではアン
ド回路47〜52によって、使用アドレッシングモード
ビットパターン28 (MEM、REG、IMM、PO
P、PUSH,ADDM)=(0,O,0,1,O,O
)と禁止アドレッシングモードビットパターン30 (
(EAPATNO,EAPATNI。 EAPATN2 、 EAPATN3 、EAPATN
4 、EAPATN5) = (0、0、1、10,0
))  との各ビットの項について論理積が取られ、I
MMとEAPATN2との論理積のみが「1」となり、
オア回路53から使用アドレッシングモードが不当であ
る旨の出力が後段の例外処理部23に送出され、EIT
フラグ32がセットされるとともに、予約命令例外に対
応する例外番号がEIT番号j3にセットされて、Fス
テージ4に送出される。 このようにして、オペレーション指定フィールド24と
オペランド指定フィールド25とを別々にデコートし、
使用アドレッシングモードの情報と禁止アドレッシング
モードの情報との比較を取ることによって禁止アドレッ
シングモード指定の検出を確実に実行することができる
。 なお、上記実施例においては、2段で命令のデコードを
実行しているが、1段で実行しても良い。 また、上記実施例ではプログラマブルロジックアレイ1
7.20から出力された禁止アドレッシングモード情報
と指定アドレッシングモード情報との比較を論理積を取
ることによって実行しているか、プログラマブルロジッ
クアレイを通して検出を行フたり、他のランダムロジッ
クで検出を行っても良い。 さらに、上記実施例では使用アドレッシングモドヒ゛ッ
トパターン28をAステージ3でイ也の目的にも使用す
るため、ランダムロジック回路19において、Ea信号
34とアドレッシングモード用のプログラマブルロジッ
クアレイ17の出力信号との論理積を取って禁止アドレ
ッシングモード検出部21に入力しているが、禁止アド
レッシングモードの検出を行うだけであれば、Ea信号
34との論理積を取る必要はなく、そのまま禁止アドレ
ッシングモード検出部21に入力しても良い。 〔発明の効果〕 以上説明したように、この発明はオペレーション指定フ
ィールドの値を入力する第1のフィールド情報入力手段
と、この第1のフィールド情報入力手段より入力された
オペレーション指定フィールドの値を解析してオペレー
ション指定フィールドにより指定されるオペランドに対
して禁止されたアドレッシングモード情報を出力する第
1の出力手段と、オペランド指定フィールドの値を入力
する第2のフィールド情報入力手段と、この第2のフィ
ールド情報入力手段より入力されたオペランド指定フィ
ールドの値を解析して指定されたアドレッシングモード
情報を出力する第2の出力手段と、第1または第2の出
力手段から出力された禁止アドレッシングモード情報と
指定アトレッジングモード情報に基づいて指定されたア
ドレッシングモードの不当を検出する検出手段とを設け
たので、命令デコードを行うための論理回路のビット数
を大幅に削減できる。従って、安価な回路構成で高度な
例外処理発生を検出しながら所定のブタ処理を確実に実
行できる優れた効果を有する。
【図面の簡単な説明】
第1図はこの発明の一実施例を示すデータ処理装置にお
けるパイプライン処理機構を説明するブロック図、第2
図〜第15図はこの発明に適用するアドレッシングモー
ド種別および機能を説明するフォーマット模式図、第1
6図は、第1図に示したDステージとAステージの構成
を説明する詳細回路ブロック図、第17図は、第16図
に示した禁止アドレッシングモード検出回路の一例を示
す論理回路図、第18図は禁止アドレッシングモトを説
明する相関図、第19図〜第21図はデータ転送命令の
ビット割付は構成を説明する模式図、第22図は従来の
アドレッシンモード種別とアクセスクラスタとの相対関
係を説明する相関図である。 図中、1はIFステージ、2はDステージ、3はAステ
ージ、4はFステージ、5はEステラ、6はRステージ
、7はOFステージ、8は命令コード、9はDコード、
10はAコート、11はRコード、12はFコード、1
3はEコード、14はSコードである。 なお、各図中の同一符号は同一または相当部分を示す。

Claims (1)

    【特許請求の範囲】
  1. 命令のオペレーションを指定するオペレーション指定フ
    ィールドと汎用アドレッシングモードによってオペラン
    ド指定を行うことが可能なオペランド指定フィールドを
    有するオペランド命令を処理するデータ処理装置におい
    て、前記オペレーション指定フィールドの値を入力する
    第1のフィールド情報入力手段と、この第1のフィール
    ド情報入力手段より入力された前記オペレーション指定
    フィールドの値を解析して前記オペレーション指定フィ
    ールドにより指定されるオペランドに対して禁止された
    アドレス情報を出力する第1の出力手段と、前記オペラ
    ンド指定フィールドの値を入力する第2のフィールド情
    報入力手段と、この第2のフィールド情報入力手段より
    入力された前記オペランド指定フィールドの値を解析し
    て指定されたアドレッシングモード情報を出力する第2
    の出力手段と、前記第1または第2の出力手段から出力
    されるオペランド指定フィールドの値と前記オペレーシ
    ョン指定フィールドの値とに基づいて指定されたアドレ
    ッシングモードの異常を検出する検出手段とを具備した
    ことを特徴とするデータ処理装置。
JP17971888A 1988-07-18 1988-07-18 データ処理装置 Pending JPH0228722A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17971888A JPH0228722A (ja) 1988-07-18 1988-07-18 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17971888A JPH0228722A (ja) 1988-07-18 1988-07-18 データ処理装置

Publications (1)

Publication Number Publication Date
JPH0228722A true JPH0228722A (ja) 1990-01-30

Family

ID=16070659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17971888A Pending JPH0228722A (ja) 1988-07-18 1988-07-18 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0228722A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57157356A (en) * 1981-03-25 1982-09-28 Fujitsu Ltd Instruction decorder error detector
JPS6334643A (ja) * 1986-07-29 1988-02-15 Nec Corp 情報処理装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57157356A (en) * 1981-03-25 1982-09-28 Fujitsu Ltd Instruction decorder error detector
JPS6334643A (ja) * 1986-07-29 1988-02-15 Nec Corp 情報処理装置

Similar Documents

Publication Publication Date Title
KR100323191B1 (ko) 다중명령세트를이용한데이터프로세싱장치
KR100266337B1 (ko) 정보처리회로,반도체집적회로장치,마이크로컴퓨터,및전자기기
US8195920B2 (en) Active memory command engine and method
US5784585A (en) Computer system for executing instruction stream containing mixed compressed and uncompressed instructions by automatically detecting and expanding compressed instructions
JP2002540523A (ja) マイクロコントローラ命令セット
JP3543181B2 (ja) データ処理装置
JPS6339931B2 (ja)
JPH0766324B2 (ja) データ処理装置
US5682531A (en) Central processing unit
JPS6298429A (ja) デ−タ処理システム
US20020108027A1 (en) Microprocessor and method of processing unaligned data in microprocessor
KR100465388B1 (ko) Risc 구조의 8비트 마이크로 제어기
US6631459B1 (en) Extended instruction word folding apparatus
JPH01214932A (ja) データ処理装置
JPH09505427A (ja) ワード・アラインされた分岐目標を有する処理システム
JPH07120278B2 (ja) データ処理装置
US5966514A (en) Microprocessor for supporting reduction of program codes in size
US6499099B1 (en) Central processing unit method and apparatus for extending general instructions with extension data of an extension register
JPH07120284B2 (ja) データ処理装置
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
US8583897B2 (en) Register file with circuitry for setting register entries to a predetermined value
JP2556182B2 (ja) デ−タ処理装置
US7631166B1 (en) Processing instruction without operand by inferring related operation and operand address from previous instruction for extended precision computation
JPH0228722A (ja) データ処理装置
JP2877468B2 (ja) 電子計算機