JPH0228722A - Data processor - Google Patents

Data processor

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
Japanese (ja)
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/en
Publication of JPH0228722A publication Critical patent/JPH0228722A/en
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To detect prohibition addressing mode designation with a small quantity by comparing prohibition and addressing mode information which respectively decode and output the mode designation fields of operation and addressing. CONSTITUTION:A prohibition addressing mode bit pattern 30 is outputted from a programmable logic array for instruction decoding (PLA)20. The present or absent signal for addressing mode designation 34 is inputted from PLA16 and the six bit signal of use addressing mode information from addressing PLA17 to a logic circuit 19 and an addressing mode bit pattern 28 is outputted. When the patterns 28 and 30 are inputted to a prohibition addressing mode detection part 21, prohibition addressing mode designation are compared. The output is inputted to an exception processing part 23, and the designation of a prohibition addressing mode is treated as a contract instruction exception. When the exception is detected, a flag 32 showing the effect and a number 33 showing a type are transmitted to an operand fetch stage as parameter codes R11.

Description

【発明の詳細な説明】[Detailed description of the invention]

〔産業上の利用分野〕 この発明は、命令のオペレーションを指定するオペレー
ション指定フィールドと、汎用アドレッシングモードに
よってオペランド指定を行うことが可能なオペランド指
定フィールドを有するオペランド命令を処理するデータ
処理装置に関するものである。 〔従来の技術〕 直交化された命令セットを持つデータ処理装置では、任
意の命令の各オペランドに対して任意のアドレッシング
モードの使用が可能となっている。 しかし、実際には各命令の各オペランドに対して不適当
なアドレッシングモード指定か存在する。そして、命令
セットが複雑になるに従って禁止の組み合わせが多くな
る傾向にある。 従来この種のデータ処理装置としては、文献、例えは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の出力手段から出力
されるオペランド指定フィールドの値とオペレーション
指定フィールドの値とに基づいて指定されたアドレッシ
ングモトの異常を検出する検出手段とを設けたので、命
令デコードを行うための論理回路のビット数を大幅に削
減てぎる。従って、安価な回路構成で高度な例外処理発
生を検出しながら所定のデータ処理を確実に実行できる
優れた効果を奏する。
[Field of Industrial Application] The present invention relates to a data processing device that processes an operand instruction, which has an operation specification field that specifies the operation of the instruction, and an operand specification field that allows operand specification using a general-purpose addressing mode. be. [Prior Art] In a data processing device having an orthogonalized instruction set, it is possible to use any addressing mode for each operand of any instruction. However, in reality, there is an inappropriate addressing mode specification for each operand of each instruction. As the instruction set becomes more complex, the number of prohibited combinations tends to increase. Conventionally, this type of data processing device has been published in the literature, for example 8
6th edition of National Sem1 conduct
or c. rp 5eries 32000 Data book
In particular, the series number N532032 has five types of access classes (as shown in Figure 22).
WRITE to RE8:,RMW・,ADDR・,REG
ADDR, etc.) and define each addressing mode (register mote, relative register mote, memory relative mode 1 immediate mode, absolute mote, external mote, top of stack mote, memory space mode, scale) for the operand in each access class. (e.g. index, index, etc.). Of these addressing modes, there are three types of addressing modes (register mode, immediate value mode,
top of stack moto) is affected by the address class of the operand. Below are five types of access classes (READ:, WRIT
ERMW: ADDR+, REGADDR: etc.) and the interpretation of the above three types of addressing mode in each addressing mode will be explained. (READ:) This addressing mode is interpreted as an operand that is either read or not written. When register mode is used, the specified register stores the operand. Also, if immediate value mode is used, it is legal only for operands of this access class. Additionally, if a top-of-stack mote is used, the stack pointer is incremented by a number of bytes corresponding to the length of the operand, or post-incremented, thereby ``popping'' the operand from the stack. (WRITE:) This addressing mode is interpreted as an operand that is written but not read. When register mode is used, the specified register receives and receives the operand. Also, if an immediate value mote is used, it becomes undefined for this access class. In addition, if you use the top stack mode, the stack pointer is decremented by the number of bytes corresponding to the length of the operand, thus pushing the operand onto the stack. The addressing mode is interpreted as an operand that is read, modified, and written to the same location. Also, if a register mote is used, the specified register stores the operand. Immediate motes use this access class. is undefined. Additionally, when using top-of-stack mode, the stack pointer gives the address of its operand, but is unchanged. , or as an effective address calculation that does not correspond to the operand being fetched as data. When using register mode, the operand is in memory and stores the specified register or its address. Immediate mode uses this access class When top-of-stack mode is specified, the stack pointer gives the address of its operand, but is unchanged. If register mode is used, the data item is held in the specified register. Immediate mode is also unspecified for this access class. Additionally, the top of If stack mode is used, the stack pointer gives the address of the operand, but is not changed.If an immediate mote is used for an operand with an access class other than READ, the prohibited mote is specified. However, in this type of data processing device, in order to guarantee more accurate operation, exception detection is not performed even though it returns an undefined value. Exception detection is required.Actually, as a process to detect this prohibited addressing mode, the instruction code, including the operand specification field, is transferred to the PLA for instruction decoding.
, and a prohibited combination was detected. However, both the operation specification field and the operand specification field should be input as information to a programmable logic array (PLA) for instruction decoding to detect whether a valid addressing mode is used for each operand of each instruction. Then, P.A.
Since the number of input bits of L increases and it is necessary to check combinations in detail, the number of product terms of the PAL increases and the size of the PAL used for instruction decoding becomes extremely large. The present invention was made to solve the above-mentioned problems, and includes separately decoding an operation specification field and an addressing mode specification field, and obtaining information about prohibited addressing modes output from a decoder that decodes the operation specification field. To provide an inexpensive data processing device capable of detecting prohibited addressing mode designation with a small capacity by comparing information of a used addressing mode outputted from a decoder that decodes an addressing mode designation field. [Means for Solving the Problems] A data processing device according to the present invention includes a first field information input means for inputting a value of an operation designation field, and an operation designation field input from the first field information input means. a first output means for analyzing the value of and outputting a prohibited address request for the operand specified by the operation specification field; and a second field information input means for inputting the value of the operand specification field. a second output means that analyzes the value of the operand specification field inputted from the second field information input means and outputs designated addressing mode information; and an operand outputted from the first or second output means. Detection means for detecting an abnormality in a designated addressing mode based on the value of the designated field and the value of the operation designation filter is provided. [Operation] In this invention, the value of the operation designation field or the value of the operand designation field input from the first field information input means and the second field information input means is outputted from the first or second output means. When the value of the operand specification field and the value of the operation specification field are output, the detection means detects whether the specified addressing mode is abnormal based on the value of the operand specification field and the value of the operation specification field. [Embodiment] FIG. 1 is a block diagram illustrating a pipeline processing mechanism in a data processing device showing an embodiment of the present invention. Reference numeral 1 denotes an instruction fetch stage (IF stage), which performs prefetching of instructions. Outputs code 8. 2 is a decode stage (D stage), which decodes the first stage instruction, that is, instruction code 8, and decodes D code 9 and A
Output Nido 10. 3 is the operand address calculation stage (A stage),
Second-stage instruction decoding and operand address calculation are performed from the output D code 9 and A code, and R code 11 and F code 12 are output. Reference numeral 4 denotes an operand fetch stage (F stage), which is composed of an R stage 6 that performs micro ROM access, and an operand fetch stage (OF stage) 7 that performs a pre-fetch of operands. 5 is an E stage, which executes a predetermined instruction from the E nid 13 and S code 14 output from the overrant fetch stage 4. Note that in this embodiment, pipeline processing is executed using a five-stage configuration, so the E stage 5 has a one-stage store buffer, and some of the high-performance instructions are configured so that the instruction execution itself is pipelined. , there is actually a pipeline processing effect of five or more stages. Further, the codes output from each stage will be explained below. The information passed from IF stage 1 to D stage 2 is instruction code 8 itself. The information passed from the D stage 2 to the A stage 3 is a D code 9 related to the operation specified by the instruction, and an A code 9 related to address calculation of the operand. Further, the information passed from the A stage 3 to the F stage 4 is an R coat 11 including the entry address of the microprogram routine, parameters to the microprogram, etc.
The F code 12 includes the operand address and access method instruction information. Furthermore, the information passed from the F stage 4 to the E stage 5 includes an E code 13 including arithmetic control information and literals, etc.
S code 14 including operands, operand addresses, etc.
There are two. Note that the value of the operation designation field (instruction code 8
) or the value of the operand specification field output from the first or second output means (D stage 2) according to the value of the operand specification field (consisted of a part of instruction code 8). When the value of the operation designation field (D code 9) is output, the A stage 3 having a detection means described later determines whether the specified addressing mode is abnormal based on the value of the operand designation field and the value of the operation designation field. The system is configured to detect whether the exception occurs and to perform predetermined exception handling. Also, each stage operates independently of the other stages, and in theory the five stages operate completely independently. Each stage can perform one process in a minimum of two clocks. Therefore, ideally, pipeline processing progresses one after another every two clocks. Furthermore, in inter-memory operations, memory indirect addressing, etc., there are instructions that cannot be processed with just one basic pipeline process, but for instructions with multiple memory operands, processing is performed based on the number of memory operands. At the decoding stage, pipeline processing is performed by breaking down into multiple pipeline processing units (step codes). Regarding the decomposition method of pipeline processing units, please refer to Japanese Patent Application No. 612.
Since it is described in detail in No. 36456, the details will be omitted, but the pipeline processing unit will be explained below. The pipeline processing unit in this embodiment is determined using the format characteristics of the instruction set. That is, the instruction is a variable-length instruction in 2-byte units, and is basically configured by repeating (2-byte instruction basic part + 0 to 4-byte addressing extension part) one to three times. The instruction basic part often has an opcode part and an addressing mode specification part, and when index addressing or memory indirect addressing is required, instead of the addressing extension part (a 2-byte multi-stage indirect mode specification part 0 to 4 bytes) Addressing extension part) is added in any number. Also, depending on the instruction, a 2 or 4-byte instruction-specific extension section is added at the end. The basic instruction part includes opcodes, basic addressing modes, literals, etc. Additionally, the addressing extensions include displacement, absolute address, and immediate value 1.
Any displacement of a branch instruction. Instruction-specific extensions include immediate value specification for register map I-format instructions. Note that in D stage 2, (2-byte instruction basic part 0
~4-byte addressing extension). (Multi-stage indirect mote specification part addressing extension part) or an instruction-specific extension part is processed as one decoding unit. The decoding result of each time is called a step code, and from A stage 3 onwards, this step code is used as a unit of vibe line processing. There is one operand for which a general addressing mode can be specified for one step code. The number of step codes is unique for each instruction, and when multi-stage indirect mode is not specified, one instruction is divided into a minimum of 1 step code and a maximum of 3 step codes. If multiple indirect motes are specified, the number of step coats will increase accordingly. Next, the addressing mode in this embodiment will be explained with reference to FIGS. 2 to 15. [Basic Addressing Mode] FIGS. 2 to 15 are schematic format diagrams illustrating addressing mode types and functions applied to the present invention. In these figures, Rn indicates the number of a general-purpose register, (sh) indicates how to specify the 6-bit abbreviated addressing mode, and (Ea) indicates how to specify the 8-bit general addressing mode. Note that the portion surrounded by dotted lines indicates an expanded portion. In the data processing device in this embodiment, the supported addressing modes are register direct mode,
A total of eight modes are defined: register indirect mode, register relative indirect mode, immediate value mode, absolute mode, program counter relative indirect mode (PC relative indirect mode), stack pop mode, and stack bush mode. Of these, in the register direct mode, as shown in FIG. 2, the contents of the register are used as operands. Further, in the register indirect mode, as shown in FIG. 3, the contents of the memory whose address is the contents of the register are used as the operands. Furthermore, the register relative indirect mode is classified into two types depending on whether the displacement value is 16 bits or 32 bits, as shown in Figure 4.
The operand is the contents of the memory whose address is the bit or the value added with the 32-bit displacement value. In addition, disp:1B or disp: in FIG.
32 indicates a 16-bit displacement value or a 32-bit displacement value, respectively. Furthermore, bit displacement values are treated as signed. In the immediate value mode, as shown in FIG. 5, the bit pattern specified in the instruction is treated as a binary number and used as an operand. Note that imm data in FIG. 5 indicates an immediate value. Furthermore, the size of the immediate value imm data is
Specified in the instruction as the operand size. In absolute mode, the address value is 16 as shown in Figure 6.
There are two types depending on whether it is indicated by bits or 32 hits. Then, the contents of the memory whose address is a 16-bit or 32-bit bit pattern specified in the instruction code are used as operands. abs・ in Figure 6
16 and abs:32 indicate 16-bit and 32-bit address values, respectively. Further, when an address is indicated by abs:16, the specified address value is sign-extended to 32 bits. As shown in Figure 7, there are two types of PC relative indirect mode depending on whether the displacement value is 16 bits or 32 bits, and the address is the sum of the contents of the program counter and the 16 bit or 32 bit displacement value. The operand is the contents of the memory. disp:16 and disp:32 in FIG. 7 indicate displacement values of 16 bits and 32 bits, respectively. Note that the displacement value is treated as signed. The value of the program counter referenced in PC relative indirect mode is the start address of the instruction containing the operand. In the multi-stage indirect addressing mode, when the value of the program counter is referenced, the address at the beginning of the instruction is similarly used as the PC-relative reference value. As shown in FIG. 8, the stack pop moat uses the contents of the memory whose address is the contents of the stack pointer (sp) as an operand. After operand access, the stack pointer (sp) is incremented by the operand size. For example, when handling 32-bit data, the stack pointer (sp) is updated by +4 after operand access. It is also possible to specify a stack pointer for operands of size B and H, each with a stack pointer (sp) of +1. Updated by +2. In addition, for operands that are stack popmots or have no meaning. Generates a reserved instruction exception. Specifically, reserved instruction exceptions include the WRITE operand and readmodify-
This is the stack mode specification for the write operand. As shown in FIG. 9, the stack bush moat uses as an operand the contents of a memory whose address is the contents obtained by decrementing the contents of the stack pointer (sp) by the operand size. In stack bush mode, the stack pointer (sp) is decremented before operand access. For example, when handling 32-bit data,
Stack pointer (sp) is 4 before operand access
updated. It is also possible to specify stack bush mode for operands of size B and H, and the stack pointer (sp) is updated by 1 and -2, respectively. In addition, a reserved instruction exception is generated for operands for which the stack command has no meaning. Specifically, the reserved instruction exceptions are the read operand and the read-mod i fy-wr i te.
This is a stack bush mode specification for the operand. "Multi-stage indirect addressing mode" Even complex addressing can basically be broken down into a combination of addition and indirect reference. Therefore, if addition and indirect reference operations are given as addressing primitives and can be combined arbitrarily, any complex addressing mode can be realized. Therefore, the multi-stage indirect addressing mode in this embodiment is an addressing mode based on this idea. Complex addressing modes are particularly useful for inter-module data references and AI language processing systems. When specifying the multi-stage indirect addressing mode, the basic addressing mode specification field specifies one of three types of specification methods: register-based multi-stage indirect mote, PC-based multi-stage indirect mote, and absolute-based multi-stage indirect mote. As shown in FIG. 10, the register-based multi-stage indirect mode is an addressing mode in which the value of a register is used as the base value for multi-stage indirect addressing to be expanded. In the PC-based multi-stage indirect mode, as shown in Fig. 11,
This is an addressing mode in which the value of the program counter is used as the base value for extended multi-stage indirect addressing. The absolute base multi-stage indirect mode is as shown in FIG.
This is an addressing mode that provides the best value for expanding multi-stage indirect addressing. As shown in FIG. 13, the multi-stage indirect mode designation field to be expanded has a unit of 16 bits, and this is repeated an arbitrary number of times. The one-stage multi-stage indirect motor performs displacement addition processing, index register scaling (xi, x2x4.x8) and addition processing, memory indirect reference processing, and the like. Note that when the value of E in each field is "0", it indicates that the multi-stage indirect mode is continued, and when the value of E is "1", it indicates that the address calculation has been completed, that is, the intermediate value tmp is used as the operand address. shall be. In addition, ■ "0" indicates that there is no memory indirect reference, and the value obtained by adding the displacement value (disp) to the intermediate value tmp, and further adding the value obtained by multiplying the index value Rx by the scale value 5cale is added to the new value. It is defined as an intermediate value tmp. In addition, if ■ is "1", it indicates that there is memory indirect reference, and the displacement value (disp) is set to the intermediate value tmp.
and further add the scale value 5ca to the index value Rx.
The content of the address indicated by the value obtained by adding the value multiplied by le is defined as the intermediate value tmp. Furthermore, when M is "0", it indicates that the index is not used, when M is "1", it is treated as a special index, and when the index value Rx is "0", it indicates that the index value is not used. If no addition is performed and the index value Rx is "1", use the program counter as the index value (Rx-PC), and if the index value Rx is "2~", retain the index value. . If D is "0", the value of the 4-bit field d4 in the multi-stage indirect mode is multiplied by 4 to obtain a displacement value, and this is added. Note that the value of field d4 is treated as signed, and is always multiplied by 4 and used regardless of the size of the operand. Furthermore, in the case of D or "1", the value dispx (16/32 bits) specified in the extended part of the multi-stage indirect mode
Let be the displacement value and add this. The size of the extension part is d4 field, and this is added. Note that the size of the extension part is defined by the value of the d4 field. For example, in the case of rQQOl, the value dispx is processed as 16 bits, and the value of the d4 field is r0010.
In this case, the value dispx is treated as a 32-bit value. Also, xx is the index scale (seal e
= 1/2/4/8). Therefore, ×2×4. X8
When scaling is performed, an indefinite value is entered as the intermediate value t, mp after the processing of that stage is completed. Although the execution address obtained by this multi-stage indirect mote is an unpredictable value, no exception occurs. Do not specify scaling for the program counter. 14 and 15 show the instruction format variations using the multi-stage indirect mode, the variations of whether the multi-stage indirect mode continues or ends are shown in FIG. 14, and the displacement size variations are shown in FIG. 15. shown. If a multi-stage indirect mode with an arbitrary number of stages can be used, there is no need for the compiler to differentiate between cases based on the number of stages, which has the advantage of reducing the burden on the compiler. Furthermore, even if the degree of desire for multi-stage indirect references is very low, the compiler must always be able to generate correct code. For this reason, any number of stages is possible in terms of format. Next, the prohibited addressing mode detection process according to the present invention will be explained with reference to FIGS. 16 to 18. FIG. 16 is a detailed circuit block diagram illustrating the configuration of the D stage 2 and A stage 3 shown in FIG. 1, and the same components as in FIG. 1 are given the same reference numerals. The configuration and operation will be explained below. The instruction code 8 output from the instruction decoder-in-latch 15 provided in the IF stage 1 has an operation specification field 24 and an operand specification field 25 separated from each other in the programmable logic array (PALAI) 16 for address decoding. It is individually decoded by the programmable logic array (PALA2) 17 for the mode. The output signal of the programmable logic array 16 for instruction decoding and the parameter 26 of the instruction code 8 are input to the random logic circuit 18, and the intermediate code 2 is input to the random logic circuit 18.
7. The extracted parameters 29 and the like are output. The intermediate code 27 and extracted parameters 29 are inputted to the programmable logic array 20 for instruction decoding, and the inhibited addressing mode pit pattern 30, microinstruction entry, etc. are outputted. Further, the programmable logic array 16 for instruction decoding outputs an Ea signal 4 indicating whether an addressing mode is specified in the instruction code. Programmable logic array 1 for addressing mode
From 7 onwards, it contains information on the addressing mode for officials.
For example, a 6-bit signal is output. This 6-bit signal and the Ea signal 34 are input to the random logic circuit 19. In the random logic circuit 19,
The Ea signal 34 is ANDed with each of the 6-bit signals and output as the used addressing mode bit pattern 28. After inputting the used addressing mode bit pattern 28 and the prohibited addressing mode bit pattern 30,
The prohibited addressing mode detection section 21 (detection means) checks whether the prohibited addressing mode is specified, and its output signal is input to the exception processing section 23. The designation of the prohibited addressing mode is treated as a reserved instruction exception, and when an exception is detected, the exception handling unit 23 sends an EIT flag 32 indicating that an exception has been detected, and an EIT number 33 indicating the type of exception detected. is sent to the F stage 4 as the above R code 11. Note that the programmable logic array 17 and random logic circuit 19 for addressing mode have an operand specification field 25.
By decoding , the bit corresponding to the addressing mode used to specify the operand is set to 1. FIG. 17 is a logic circuit diagram showing an example of the prohibited addressing mode detection section 21 shown in FIG.
0 is the mote signal, mote signal 35 corresponds to memory general mode (MEM), mode signal 36 corresponds to register direct mode (REG), mote signal 37 corresponds to immediate value mode (IMM), mote signal 38 corresponds to the stacked push mode (POP), the mote signal 39 corresponds to the stuck push mode (PUSH), and the mode signal 40 corresponds to the stuck push mode (PUSH).
corresponds to the multi-stage indirect addressing mode (ADDM), and these mode signals 35-40 constitute a 6-bit addressing mode bit pattern, which is input to AND gates (AND circuits) 47-52. Note that the mode signal 35 includes a register indirect mode as a general memory, a register relative indirect mode, an absolute mode, a PC relative indirect mode, etc., and the mode signal 40's multi-stage indirect addressing mode (ADDM) k: is a register-based multi-stage indirect mode. mote, PC-based multi-stage indirect mode,
Includes absolute base multistage drying, etc. 41 to 46 are prohibited addressing mode signals, and the prohibited addressing mode signal 41 is the memory general mode (ME
M), the inhibited addressing mode signal 42 corresponds to register direct mote (REG), the inhibited addressing mode signal 43 corresponds to immediate value mode (IMM),
The prohibited addressing mode signal 44 corresponds to the stack pop mode (POP), the prohibited addressing mode signal 45 corresponds to the stack button mode F (PUSH), and the prohibited addressing mode signal 46 corresponds to the multi-stage indirect addressing mode (ADDM). Correspondingly, the inhibit addressing mode signals 41-46 constitute a inhibit addressing mode bit button 30, and the inhibit addressing mode bit pattern 30 is transferred from the programmable logic array 20 for instruction decoding to the AND gate 47.
52, their AND output is output to the subsequent OR gate 53, an all-zero check is performed, and if an addressing mode prohibited by the prohibited addressing mode bit pattern 30 is used, an OR gate (OR gate 53) is output. The output of the circuit) 53 becomes "1", and processing related to a predetermined exception is performed. Note that the value of the operation designation field (operation designation field 24) input from the first field information input means and the second field information input means
Or, depending on the value of the operand specification filter (operand specification field 25), the value of the operand specification field output from the programmable logic array 17 serving as the first or second output means and the value of the operation specification field output from the programmable logic array 16. When this is output, the prohibited addressing mode detection unit 21 serving as a detection means detects whether the specified addressing mode is abnormal based on the value of the operand specification field and the value of the operation specification field. This is detected by logical operation with the prohibited addressing mode hit pattern 3o outputted from 20. Next, the prohibited addressing mode will be explained with reference to FIG. FIG. 18 is a relationship diagram illustrating prohibited addressing modes, where the vertical columns indicate classifications and the horizontal columns indicate motes. Note that in this embodiment, the use of operand specifications for each addressing mode is prohibited. It is classified into six types, which are independently designated as not prohibited. That is, there are six types in total, including general memory, register direct, immediate value, bush, pop, and multi-stage indirect modes. In this figure, × indicates an addressing mode that is prohibited for a specific access method, ○ indicates an addressing mode that is permitted for a specific access method, and * indicates a special access method. As can be seen from this figure, the memory general mode includes register indirect mode, register relative indirect mode, absolute mode, and PC relative indirect mode, and since all modes use the memory contents as operands,
It can be summarized as follows. In immediate mode, the operand is not accessed to memory or registers, but the bit pattern specified in the instruction code is treated as a binary number and used as an operand, and this does not exist in any mode other than immediate mode. . In boot mode, the stack pointer (sp)
It is distinguished from general memory because only access that involves reading (READ) the contents of Rikihachi memory is allowed, with the contents of memory as an address and the contents of memory as an operand. In pop mode, the operand is the contents of the memory whose address is the contents of the stack pointer (sp) decremented by the operand size, but it is distinguished from general memory because only accesses that involve writing to the memory are allowed. be done. Multi-stage indirect mode includes register-based multi-stage indirect mode, PC Bebe multi-stage indirect mode, and absolute-based multi-stage indirect mode, and uses the memory contents as an operand, but it is not possible to perform address calculation by referring to the memory contents. Therefore, it is distinguished from memory in general. There are 10 ways to prohibit independent addressing modes. For example, in the MOV instruction that transfers the contents of the source operand to the destination operand,
The source operand is the READ operand, and the 18th
As shown by classification number 1 in the figure, bush mode is prohibited. The destination operand of the MOV instruction is the WRITE operand, and as shown by classification number 2 in the figure, immediate value and pop modes are prohibited. Furthermore, the JMP (jump) instruction is an instruction that has a source operand indicating a jump destination address and jumps to that operand address. In this operand, the calculated address itself becomes the operand, and as shown by classification number 4 in the figure, register direct, bush, immediate, and pop-up are prohibited. Note that special instructions allow only specific addressing modes. Next, we will discuss the operation of the above embodiment using a data transfer instruction (MOV:S) in which the source operand is a register and the destination operand is a memory, and the text addressing mode check process will be described in the 19th section.
This will be explained with reference to FIGS. FIG. 19 is a schematic diagram illustrating the bit configuration of the data transfer instruction (MOV:S), where sh indicates the operand designation bit in the 6-bit abbreviated addressing mode, and R
n represents a designated bit that designates the operand number of the register, and WW represents a bit that represents the size of the operand of the designated bit sh. First, when the absolute mode is first used to specify the addressing mode of the destination operand, the following operation is performed. The bit allocation at this time is as shown in Fig. 20, abs: 16, ab
s: 32 corresponds to 16-bit and 32-bit address values. In IF stage 1, a data transfer instruction code in which the WRITE operand is designated as absolute mode is fetched. The fetched instruction code 8 is passed as is to the D Stella 2, and the operation designation field 24 and operand designation field 25 are separately decoded. Operation specification field 24 is input to programmable logic array 16 for instruction decoding. Operand specification field 25 is input to programmable logic array 17 for addressing mode. The output from the programmable logic array 16 for instruction decoding and the parameters 26 of the instruction code 8 are input to the random logic circuit 18, which outputs the intermediate code 27 cutting parameters 29 as a result. For the output signal of the programmable logic array 17 for the addressing mode, a flag of "1" is set in the MEM field for the absolute mode, and (MEM, REG, I
MM, POP, PUSHADDM) = (1,0,0,
0,0,0). Also, at this time, the Ea signal 34 is "1", and the output signal of the programmable logic array 17 for the addressing mode is used as is.
USH, ADDM) = (1, O, O, O, O, O). Further, the intermediate coat 27, the addressing moto pit pattern 28 used, and the cutout parameters 29 are passed to the A stage 3 as the D code 9. The intermediate code 27 and cutting parameters 29 passed to the A stage 3 are input to a programmable logic array 20 for instruction decoding. Since the destination operand is the WRITE operand, it corresponds to classification number 2 shown in FIG.
I, EAPATN2. EAPATN3. EAPATN4
.. EAPATN5) = (0,0,1,1,O,O
)) is generated. Furthermore, in the A stage 3, this prohibited addressing mode pit pattern 30 and mode signals 35 to 40, which are used addressing mode bit patterns passed from the D Stella 2, are input to the prohibited addressing mode detection section 21. In the prohibited addressing mode detection unit 21, the used addressing mode bit patterns (MEM, REG, IMM, POP, PUSH
, ADDM) = (1, Oo, o, o, o) and prohibited addressing mode bit pattern 301E8P8TN
O, EAPATNI, E to PATN2EAPATN3.
PATN4 to E. EAPATN5) = (0,0,1
, 1, 0, 0)) are logically ANDed and each is output. Therefore, the later OR gate 5
3 outputs "0", which is sent to the exception handling unit 23 to confirm that the addressing mode used is valid. On the other hand, when the immediate value mote is used as the addressing mode specification of the WRITE operand, the bit assignment is as shown in Figure 21, and in particular, the immd da
ta indicates an immediate value. Similar to the absolute mode, when a data transfer instruction code with the WRITE operand specified in immediate mode is fetched in IF stage 1, the fetched instruction code 8 is passed as is to D stage 2, and the operation specification field 24. Operand specification field 25 is decoded separately. The operation designation field 24 is input to the programmable logic array 16 for instruction decoding, and the operand designation field 25 is input to the programmable logic array 17 for addressing mode. At this time, the output from the programmable logic array 16 for instruction decoding and the parameters 26 of the instruction code 8 are input to the random logic circuit 18, and as a result, the intermediate code 27. The cutting parameter 29 is output. In the output signal of the programmable logic array 17 for addressing mode, a flag of "1" is set in the MEM field for absolute mode, and the addressing mode hit pattern used is (MEM REG IM
M POP PUSH, ADDM) −(0,
0, 1, Olo, 0). Also, at this time, the Ea signal 34 is "1", and the output signal of the programmable logic array 17 for addressing mode is used as is.
SH, ADDM) - (0, 0, 1, 0, 0, 0)). At this point, the intermediate coat 27, the addressing mode pattern 2B to be used, and the cutting pattern 29 are the D coat 9.
will be transferred to A stage 3. The intermediate code 27 and cutting parameters 29 passed to the A stage 3 are input to the programmable logic array 2o for instruction decoding. Then, similarly to the above example, the prohibited addressing mode bint pattern 30 (
(EAPATNO□E8PATN1.E to P8T2,
EAPATN3. 4. To EAP 8T. EAPATN5) =
(0,0,0,1,0,0)), that is, inhibited addressing mode signals 41 to 46 are generated. Furthermore, in the A stage 3, this prohibited addressing mode bit pattern 30 and the used addressing mode bit pattern 28 delivered from the D Stella 2 are input to the prohibited addressing mode detection section 21. Then, in the prohibited addressing mode detection unit 21, the AND circuits 47 to 52 detect the used addressing mode bit patterns (MEM, REG, IMM, POP, POP,
USH,, ADDM) = (o, o, 1, 1. O, O) and prohibited addressing mode bit pattern 30 ((E
APATNO,EAPATNIEAP8TN2. EAP
N3 to A. EAPATN4. EAPATN5) = (
0, 0, 0, 1゜0.0)) are respectively ANDed, and only the AND of the immediate value and EAPATN2 becomes "1", and the OR circuit 53 informs that the addressing mode used is invalid. The output is sent to the subsequent exception processing unit 23, the EIT flag 32 is set, and the exception number corresponding to the reserved instruction exception is set to the EIT number 33, and the output is sent to the F stage 4. In this way, the operation specification field 24 and the operand specification field 25 are decoded separately,
By comparing the information on the used addressing mode and the information on the prohibited addressing mode, it is possible to reliably detect the designation of the prohibited addressing mode. In the above embodiment, instruction decoding is executed in two stages, but it may be executed in one stage. Furthermore, in the above embodiment, the programmable logic array 4
Although the prohibited addressing mode information output from 7.20 and the specified addressing mode information are compared by taking a logical product, it is possible to perform detection through a programmable logic array or by using other random logic. It's okay. Furthermore, in the above embodiment, since the used addressing mode hit pattern 28 is also used for other purposes in the A stage 3, the Ea signal 34 and the addressing mode program logic 1 are used in the random logic circuit 19.
7 and the output signal is inputted to the prohibited addressing mode detection section 21. However, if only the prohibited addressing mode is to be detected, there is no need to perform the logical product with the Ea signal 34. It may be input to the prohibited addressing mode detection section 21 as is. [Effects of the Invention] As explained above, the present invention includes a first field information input means for inputting the value of the operation specification field, and a method for analyzing the value of the operation specification field input from the first field information input means. a first output means for outputting prohibited address information for the operand specified by the operation specification field; a second field information input means for inputting the value of the operand specification field; a second output means that analyzes the value of the operand specification field inputted from the information input means and outputs specified addressing mode information; and a value of the operand specification field outputted from the first or second output means. Since the present invention is provided with a detection means for detecting an abnormality in the addressing mode specified based on the value of the operation specification field, the number of bits of a logic circuit for decoding an instruction can be significantly reduced. Therefore, it is possible to reliably perform predetermined data processing while detecting the occurrence of sophisticated exception processing with an inexpensive circuit configuration.

【図面の簡単な説明】[Brief explanation of the drawing]

第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の出
力手段から出力された禁止アドレッシングモード情報と
指定アトレッジングモード情報に基づいて指定されたア
ドレッシングモードの不当を検出する検出手段とを設け
たので、命令デコードを行うための論理回路のビット数
を大幅に削減できる。従って、安価な回路構成で高度な
例外処理発生を検出しながら所定のブタ処理を確実に実
行できる優れた効果を有する。
FIG. 1 is a block diagram illustrating a pipeline processing mechanism in a data processing device showing one embodiment of the present invention, and FIG.
Figures 1 to 15 are schematic format diagrams explaining addressing mode types and functions applicable to this invention.
6 is a detailed circuit block diagram illustrating the configuration of the D stage and A stage shown in FIG. 1, and FIG. 17 is a logic circuit diagram showing an example of the prohibited addressing mode detection circuit shown in FIG. Figure 18 is a relative relationship diagram explaining the prohibited addressing mode, Figures 19 to 21 are schematic diagrams explaining the configuration of bit assignments of data transfer commands, and Figure 22 is a diagram of conventional atression mode types and access clusters. It is a correlation diagram explaining the relative relationship of. In the figure, 1 is IF stage, 2 is D stage, 3 is A stage, 4 is F stage, 5 is F Stella, 6 is R stage, 7 is OF stage, 8 is instruction code, 9 is D code,
10 is A code, 11 is R code, 12 is F coat, 1
3 is the E code, and 14 is the S code. Note that the same reference numerals in each figure indicate the same or corresponding parts. Agent: Masuo Oiwa (2 others), Ward 1, Patent Application Showa B3-17!371, Name of the invention i6, Data processing device 3, Relationship with the person making the amendment Patent applicant address Tokyo 2-2-3 Marunouchi, Chiyoda-ku, Tokyo Name (601) Mitsubishi Electric Co., Ltd. Representative Moriya Shiki 4, Agent address: 2-2-3-5 Marunouchi, Chiyoda-ku, Tokyo Full text of the specification subject to amendment and drawings 6. Contents of amendment (1) The entire specification shall be amended as shown in the attached sheet. (2) In the drawings, Figures 13, 16, and 1 will be corrected as shown in the attached sheet. Operand specification is performed using the second output means for outputting the above specification, the first or second 1, the title of the invention data processing device 2, the operation specification field for specifying the operation of the claim instruction, and the general-purpose addressing mode. In a data processing device that processes an operand instruction having an operand specification field that can be performed, a first field information input means for inputting a value of the operation specification field; a first output means for analyzing the value of the operation specification field and outputting prohibited addressing mode information for the operand specified by the operation specification field; and a first output means for inputting the value of the operand specification field. 2 field information input means, and the value of the operand specification field inputted from the second field information input means is analyzed to obtain specified addressing mode information, and malfunction of the specified addressing mode is detected. What is claimed is: 1. A pig processing device comprising a detection means for detecting. 3. Detailed Description of the Invention [Field of Industrial Application] This invention processes an operand instruction that has an operation specification field that specifies the operation of the instruction, and an operand specification field that allows operand specification using a general-purpose addressing mode. The present invention relates to a data processing device. (Prior Art) In a data processing device having an orthogonalized instruction set, it is possible to use any addressing mode for each operand of any instruction. However, in reality, there are inappropriate addressing mode specifications for each operand of each instruction. As the instruction set becomes more complex, the number of prohibited combinations tends to increase. Conventionally, this type of data processing device has been disclosed in the literature, for example, 8
6th edition of National Sem1 conduct
or c. rp 5eries 32000 Data book
In particular, the series number N532032 has five types of access classes (
READWRITE:, RMW:, ADDR:, REG
8D to R: etc.), and define each addressing mode (register mode, register mode, etc.) for the operand in each access class.
It defines the interpretation of relative register mode, memory relative mode, immediate mode, absolute child mode, external mode, top of stack mode, memory space mode, scaled index, etc.). Of these addressing modes, three types of addressing modes (register mode, immediate value mode, and top of stack mode) are affected by the address class of the operand. Below, there are five types of access classes (READ, WRIT).
ERMW:, ADDR: REG8D to R:, etc.) and the interpretation of the above three types of addressing mode in each addressing mode will be explained. (READ:) This addressing mode is interpreted as an operand that is read but not written. If register mode is used, the operand is read from the specified register. Also, if immediate value mode is used, it is legal only for operands of this access class. Additionally, when using top-of-stack mode, the stack pointer is post-incremented by a number of bytes corresponding to the length of the operand, thereby ``popping'' the operand from the stack. (WRITE:) This addressing mode is interpreted as an operand that is written but not read. When register mode is used, the specified register receives its operand. Also, if an immediate value mote is used, it becomes undefined for this access class. In addition, when using top-of-stack mode, the stack pointer is decremented by a number of bytes corresponding to the length of the operand, thus ``butching'' the operand onto the stack. (BMW) This addressing The mode is interpreted as an operand that is read, modified, and written to the same location. When register mode is used, the specified register stores the operand. Immediate mode is unspecified for this access class. Additionally, when using top-of-stack mode, the stack pointer gives the address of its operand but is not changed. (ADDR:) This addressing mode is interpreted as an effective address calculation that does not correspond to an operand that cannot be held in a register, or an operand that is being fetched as data. When using register mode, the operand is in memory and the specified register stores its address. Immediate mode is unspecified for this access class. When you specify top-of-stack mode, the stack pointer gives the address of its operand, but is not modified. <REGADDR:) This addressing mode is interpreted to specify a base for placing or aligning data items of non-standard size. When using register mode, data items are held in specified registers. Also, the immediate mode is undefined for this access class. Additionally, when using top-of-stack mode, the stack pointer gives the address of its operand but is not changed. In this way, when the immediate value mode is used for an operand whose access class is other than READ, even if the prohibited mode is specified, only an undefined value is returned and no exception detection is performed. [Problems to be Solved by the Invention] Therefore, in this type of data processing device, exception detection for the prohibited addressing mode is required in order to guarantee more accurate operation. In fact, as a process to detect this prohibited addressing mode, the instruction code including the operand specification field is transferred to the PLA for instruction decoding.
One possible method is to input the information into the following information and detect prohibited combinations. However, both the operation specification field and the operand specification field should be input as information to a programmable logic array (PLA) for instruction decoding to detect whether a valid addressing mode is used for each operand of each instruction. Then, P.A.
Since the number of input bits of L increases and it is necessary to check combinations in detail, the number of product terms of the PAL increases and the size of the PAL used for instruction decoding becomes extremely large. The present invention was made to solve the above-mentioned problems, and includes separately decoding an operation specification field and an addressing mode specification field, and obtaining information about prohibited addressing modes output from a decoder that decodes the operation specification field. The purpose of the present invention is to obtain an inexpensive data processing device capable of detecting prohibited addressing mode designation with a small capacity by comparing information on the used addressing mode outputted from a decoder that decodes an addressing mode designation field. [Means for Solving the Problems] A data processing device according to the present invention includes a first field information input means for inputting a value of an operation designation field, and an operation designation field input from the first field information input means. The first one parses the value of and outputs prohibited addressing mode information for the operand specified by the operation specification field.
a second field information input means for inputting the value of the operand specification field; and a second field information input means for inputting the value of the operand specification field, and analyzing the value of the operand specification field input from the second field information input means to obtain specified addressing mode information. A second output means for outputting the output, and a detection means for detecting invalidity of the specified addressing mode based on the prohibited addressing mode information and the specified addressing mode information output from the first or second output means. It is. [Operation] In this invention, prohibited addressing is performed from the first or second output means based on the value of the operation designation field and the value of the operand designation field input from the first field information input means and the second field information input means. When the mode information and designated addressing mode information are output, it is detected whether the designated addressing mode is invalid based on the prohibited addressing mode information and the designated addressing mode information. (Embodiment) FIG. 1 is a block diagram illustrating a pipeline processing mechanism in a data processing device showing an embodiment of the present invention. Reference numeral 1 denotes an instruction fetch stage (IF stage), which performs prefetching of instructions and Outputs code 8. 2 is a decode stellar (D stage) which decodes the first stage instruction, that is, instruction code 8, and outputs D code 9 and A code 10. 3 is the operand address calculation stage (A Stella),
Second-stage instruction decoding and operand address calculation are performed from the output D code 9 and A code 10, and R code 11 and F code 12 are output. 4 is the operand fetch stage (F stage), which is a micro ROM
It consists of an R stage 6 that performs access, and an OF stage 7 that performs operand brief fetching. 5 is an E stage, which executes a predetermined instruction from the E code 13 and S code 14 output from the operand fetch stage 4. In this embodiment, a five-stage configuration is used as the basis of pipeline processing. E stage 5 has a one-stage store buffer, and some of the high-performance instructions pipeline the instruction execution itself, so there is actually a pipeline processing effect of five or more stages. Further, the coats output from each stage will be explained below. The information passed from 1F stage 1 to D stage 2 is instruction code 8 itself. The information passed from the D stage 2 to the A stage 3 is a D code 9 related to the operation specified by the instruction, and an A code 10 related to address calculation of the operand. Further, the information passed from the A stage 3 to the F stage 4 includes an R code 11 including the entry address of the microprogram routine, parameters to the microprogram, etc.
There are two types: an operand address and an F code 12 containing access method instruction information and the like. Furthermore, the information passed from the F stage 4 to the E stage 5 includes an E code 13 including arithmetic control information and literals, etc.
S code 14 including operands, operand addresses, etc.
There are two. Note that the value of the operation designation field (instruction code 8
The first and second output means (D stage 2 and A stage 3
When the information on the prohibited addressing mode and the information on the specified addressing mode are output from the (a part of the The system is configured to detect whether the addressing mode specified by the address is invalid and to execute predetermined exception handling. Also, each stage operates independently of the other stages, and in theory five stages can operate completely independently. Each stage can perform one process in a minimum of two clocks. Therefore, ideally, pipeline processing progresses one after another every two clocks. Furthermore, in inter-memory operations, memory indirect addressing, etc., there are instructions that cannot be processed with just one basic pipeline process, but for instructions with multiple memory operands, processing is performed based on the number of memory operands. At the decoding stage, pipeline processing is performed by breaking down into multiple pipeline processing units (step codes). Regarding the decomposition method of pipeline processing units, please refer to Japanese Patent Application No. 612.
Since it is described in detail in No. 36456, the details will be omitted, but the pipeline processing unit will be explained below. The pipeline processing unit in this embodiment is determined using the format characteristics of the instruction set. In other words, an instruction is a variable-length instruction in 2-byte units, and is basically constructed by repeating (2-byte instruction basic part, 0 to 4-byte addressing extension part) 1 to 3 times. . The instruction basic part often has an opcode part and an addressing mode specification part, and when index addressing or memory indirect addressing is required, instead of the addressing extension part (a 2-byte multi-stage indirect mode specification part 0 to 4 bytes) Addressing extension part) is added in any number. Also, depending on the instruction, a 2 or 4-byte instruction-specific extension section is added at the end. The basic instruction part includes opcodes, basic addressing modes, literals, etc. Additionally, the addressing extensions include displacement, absolute address, and immediate value 1.
Any displacement of a branch instruction. Register maps for instruction-specific extensions. There are immediate value specifications for I-format commands, etc. In addition, in D stage 2, (2 bytes of basic instruction part + 0
~4-byte addressing extension). (Multi-stage indirection code specifying section + addressing extension section) or an instruction-specific extension section is processed as one decoding unit. The decoding result of each time is called a step code, and from the A stage 3 onwards, this step code is used as the unit of pipeline processing. There is one operand for which a general addressing mode can be specified for one step code. The number of step codes is unique for each instruction, and when multi-stage indirect mode is not specified, one instruction is divided into a minimum of 1 step code and a maximum of 3 step codes. If multiple indirect mode is specified, the number of step coats increases accordingly. Next, the addressing mode in this embodiment will be explained with reference to FIGS. 2 to 15. "Basic Addressing Mode" FIGS. 2 to 15 are format diagrams for explaining addressing mode types and functions applied to the present invention. In these figures, Rn indicates the number of the general-purpose register, (sh) indicates the method of specifying the 6-bit abbreviated addressing mode, and (Ea) indicates the method of specifying the 8-bit general addressing mode. Note that the portion surrounded by dotted lines indicates an expanded portion. In the data processing device in this embodiment, the supported addressing modes are register direct mode,
A total of eight modes are defined: register indirect mode, register relative indirect mode, immediate value mode, absolute mode, program counter relative indirect mode (PCC relative indirect mode, stack pop mode, stack bush mode, etc.).Register direct mode is , as shown in Figure 2, the contents of the register are used as the operands.In the register indirect mode, as shown in Figure 3, the contents of the memory whose address is the contents of the register are used as the operands.Register relative indirect mode is 2 depending on whether the displacement value is 16 bits or 32 bits, as shown in Figure 4.
There are different types. The contents of the memory whose address is the value obtained by adding a 16-bit or 32-bit displacement value to the contents of each register are used as operands. In addition, the fourth
Disp16 and disp・32 in the diagram are each 16
A bit displacement value and a 32-bit displacement value are shown. Note that the displacement value is treated as signed. As shown in FIG. 5, the immediate value mote regards the bit pattern specified in the instruction as it is as a binary number and uses it as an operand. Note that imm data in FIG. 5 indicates an immediate value. Furthermore, the size of the immediate value imm data is
Specified in the instruction as the operand size. In absolute mode, the address value is 16 as shown in Figure 6.
There are two types depending on whether it is indicated by bits or 32 bits. Then, the contents of the memory whose address is a 16-bit or 32-bit bit pattern specified in the instruction code are used as operands. abs in Figure 6:
16 and abs.32 indicate 16-bit and 32-bit address values, respectively. Further, when an address is indicated by abs:16, the specified address value is sign-extended to 32 bits. As shown in Figure 7, there are two types of PC relative indirect modes depending on whether the displacement value is 16 bits or 32 bits, and the address is the sum of the contents of the program counter and the 16 bit or 32 bit displacement value. The operand is the contents of the memory. disp:1B and disp:32 in FIG. 7 indicate displacement values of 16 bits and 32 bits, respectively. Note that the displacement value is treated as signed. The value of the program counter referenced in PC relative indirect mode is the start address of the instruction that includes the operand. In the multi-stage indirect addressing mode, when the value of the program counter is referenced, the address at the beginning of the instruction is similarly used as the PC-relative reference value. In the stack pop mode, as shown in FIG. 8, the contents of the memory whose address is the contents of the stack pointer (sp) are used as operands. After accessing the operand, the stack pointer (sp) is incremented by the operand size. For example, when handling 32-bit data, the stack pointer (sp) is updated by +4 after operand access. It is also possible to specify stack pop mode for operands of size B and H, each with a stack pointer (sp) of +1. Updated by +2. In addition, for those where the stack pop moat has no meaning for the operand. Generates a reserved instruction exception. Specifically, reserved instruction exceptions include the WRITE operand and readmodify-
This is the stack mode specification for the write operand. As shown in FIG. 9, the stack bush moat uses as an operand the contents of the memory whose address is the contents obtained by decrementing the contents of the stack pointer (sp) by the operand size. In stack bush mode, the stack pointer (sp) is decremented before operand access. For example, when handling 32-bit data,
Stack pointer (sp) is 4 before operand access
will be updated only. It is also possible to specify stack bush mode for operands of size B and H, and the stack pointer (sp) is updated by 1 and -2, respectively. Furthermore, a reserved instruction exception is generated for operands for which the stacked bush mode has no meaning. Specifically, the reserved instruction exception is the stack bush mode specification for the read operand and read-modify-write operand. "Multi-stage indirect addressing mode" Even complex addressing can basically be broken down into a combination of addition and indirect reference. Therefore, if addition and indirect reference operations are given as addressing primitives and can be combined arbitrarily, any complex addressing mode can be realized. Therefore, the multi-stage indirect addressing mode in this embodiment is an addressing mode based on this idea. Complex addressing modes are particularly useful for inter-module data references and AI language processing systems. When specifying the multi-stage indirect addressing mode, the basic addressing mode specification field specifies one of three types of specification methods: register-based multi-stage indirect mode, PC-based multi-stage indirect mode, and absolute-based multi-stage indirect mode. As shown in FIG. 10, the register-based multi-stage indirect mode is an addressing mode in which a register value is used as a base value for multi-stage indirect addressing to be expanded. The PC Hose multi-stage indirect mode is as shown in FIG.
This is an addressing mode in which the value of the program counter is used as the base value for extended multi-stage indirect addressing. The absolute base multi-stage indirect mode is as shown in FIG.
This is an addressing mode that is used as the base value for expanded multi-stage indirect addressing. As shown in FIG. 13, the multi-stage indirect mode designation field to be expanded has a unit of 16 bits, and this is repeated an arbitrary number of times. The one-stage multi-stage indirection performs displacement addition processing, index register scaling (xl, x2x4.x8) and addition processing, memory indirect reference processing, and the like. The meaning of each field in FIG. 13 will be explained below. When the value of E is "0", it indicates that the multi-stage indirect mode is continued, and when the value of E is "IJ", it indicates that the address calculation has been completed, that is, the intermediate value tmp is used as the operand address. If is "0", it indicates that there is no memory indirect reference, and the total value of adding the displacement value (disp) to the intermediate value tmp and further multiplying the index value Rx by the scale value 5cale is used as the new intermediate value. It is defined as tmp. In addition, if ■ is "1", it indicates that there is memory indirect reference, and the displacement value (diSp) is set to the intermediate value tmp.
and further add the scale value 5ca to the index value Rx.
The content of the memory whose address is the sum of the value multiplied by le is defined as an intermediate value tmp. If M is “0”, the contents of the register indicated by Rx (
Rx ) as an index. When M is "1", it is treated as a special index, when (Rx) is "0", the index value is not added, and when (Rx) is "1", Use the program counter as an index value Rx=
PC), (Rx) is r2~'' is not defined in this embodiment. When D is "0", the value of the 4-bit field d4 in the multi-stage indirect mode is multiplied by 4 to obtain a displacement value, and this is added. Note that the value of field d4 is treated as signed, and is always multiplied by 4 and used regardless of the size of the operand. When D is "1", the value dispx (16/32 bits) specified in the extended section of the multi-stage indirect mode is set as a displacement value, and this is added. Note that the size of the extension part is defined by the value of the d4 field, d4-rooo
l, the value dispx is treated as 16 bits, and d4·'0010. In this case, the value crispx is treated as 32 bits. Xx is the index scale (scale=1/2
/4/B). x2 for program counter. x4. When scaling by X8 is performed, an undefined value is entered as the intermediate value tmp after the processing of that stage is completed. The execution address obtained by this multi-stage indirect mode is an unpredictable value, but
No exception occurs. Do not specify scaling for the program counter. Instruction format variations due to the multi-stage indirect mode are shown in FIGS. 14 and 15, variations on whether the multi-stage indirect mode continues or ends are shown in FIG. 14, and variations in displacement size are shown in FIG. 15. It will be done. If a multi-stage indirect mode with an arbitrary number of stages can be used, there is no need for the compiler to differentiate between cases based on the number of stages, which has the advantage of reducing the burden on the compiler. Furthermore, even if the frequency of multiple indirect references is very low, the compiler must always generate the correct code. For this reason, any number of stages is possible in terms of format. Next, the prohibited addressing mode detection process according to the present invention will be explained with reference to FIGS. 16 to 18. FIG. 16 is a detailed circuit diagram explaining the configuration of the D stage 2 and A stage 3 shown in FIG.
Components that are the same as those in the figures are given the same reference numerals. The configuration and operation will be explained below. The instruction code 8 output from the instruction decoder-in-latch 15 provided in the 1F stage 1 has an operation designation field 24 and an operand designation field 25 separately, and is transferred to a programmable logic array (P LA 1 ) 16 for instruction decoding. , are individually decoded by the programmable logic array (PLA2)+7 for addressing mode. The output signal of the programmable logic array 16 for instruction decoding and the parameter 26 of the instruction code 8 are input to the random logic circuit 18, and the intermediate code 2 is input to the random logic circuit 18.
7. The extracted parameters 29 and the like are output. The intermediate code 27 and extracted parameters 29 are inputted to a programmable logic array 20 for instruction decoding, and outputs a prohibited addressing mode pit pattern 30, a microinstruction entry address, and the like. Further, the programmable logic array 16 for instruction decoding outputs an Ea signal 34 indicating whether or not an addressing mode is specified in the instruction code. Programmable logic array 1 for addressing mode
From 7 onwards, 6 contains information on the addressing mode used.
A bit signal is output. This 6-bit signal and the Ea signal 34 are input to the random logic circuit 19. In the random logic circuit 19,
The Ea signal 34 is ANDed with each of the 6-bit signals and outputted as the used addressing mode hit pattern 2B. When the used addressing mode pit pattern 28 and the prohibited addressing mode bit pattern 30 are input, the prohibited addressing mode detection unit 21 (detection means)
A check is made to designate the prohibited addressing mode, and the output signal thereof is input to the exception processing section 23. The designation of the prohibited addressing mode is treated as a reserved instruction exception, and if an exception is detected, the exception handling unit 23 sends an EIT flag 32 indicating that an exception has been detected and an EIT number 33 indicating the type of exception detected. It is sent to F stage 4 as R code 11. Note that in the programmable logic array 17 and the random logic circuit 19 for addressing mode, the operand specification field 25 is
The bit corresponding to the addressing mode used to specify the operand is set to 1 by decoding. FIG. 17 is a logic circuit diagram showing an example of the prohibited attrending mote detection unit 21 shown in FIG.
0 is a mode signal, mote signal 35 corresponds to memory general mode (MEM), moto signal 36 corresponds to register direct mode (REG), and mode signal 37 corresponds to immediate mode (
IMM), mode signal 38 corresponds to stacked push mode (POP), mode signal 39 corresponds to stacked bush mode (PUSH), and moto signal 40 corresponds to multi-stage indirect addressing mode (ADDM). The mode signals 35-40 constitute a 6-bit addressing mode bit pattern, which is input to AND gates (AND circuits) 47-52. In addition,
In general, the memory of the mode signal 35 includes register indirect mode, register relative indirect mode, absolute moto, PC relative indirect mode, etc., and the multi-stage indirect addressing mode (ADDM) of the mode signal 40 includes register-based multi-stage indirect mode, Includes PC-based multi-stage indirect mode, absolute-based multi-stage indirect mode, etc. 41 to 46 are prohibited addressing mode signals, and the prohibited addressing mode signal 41 is the memory general mode (ME
M), the inhibited addressing mode signal 42 corresponds to the register direct mode (REG), the inhibited addressing mode signal 43 corresponds to the immediate value mode (IMM),
A prohibited addressing mode signal 44 corresponds to a stacked push mode (POP), a prohibited addressing mode signal 45 corresponds to a stuck push mode (PUSH),
The prohibited addressing mode signal 46 corresponds to the multi-stage indirect addressing mode (ADDM), and the prohibited addressing mode signals 41 to 46 constitute a prohibited addressing mode bit pattern 30, and this prohibited addressing mode bit pattern 30 is used in programmable logic for instruction decoding. Array 20 to AND gate 47
52, their AND output is output to the subsequent OR gate 53, an all zero check is performed, and if an addressing mode prohibited by the prohibited addressing mode bit pattern 30 is used, an OR gate (OR gate) is output. The output of the circuit) 53 becomes "1", and processing related to a predetermined exception is performed. Note that the value of the operation designation field (operation designation field 24) input from the first field information input means and the second field information input means
Or a programmable logic array 16 that becomes the first output means depending on the value of the operand specification field (operand specification field 25).Random logic circuit 18.
The prohibited addressing mode information output from the programmable logic array 20 and the designation (
Use) Based on the addressing mode information, the prohibited addressing mode detecting section 21 serving as a detecting means detects by logical operation. Next, the prohibited addressing mode will be explained with reference to FIG. FIG. 18 is a correlation diagram illustrating prohibited addressing modes, where vertical columns indicate classifications and horizontal columns indicate modes. In addition,
In this embodiment, use of operand specifications for each addressing mode is prohibited. It is classified into six types, which are independently designated as not prohibited. That is, there are six types in total, including general memory, register direct, immediate value, bush, and pop multistage indirect modes. In this figure, × indicates an addressing mode that is prohibited for a specific access method, ○ indicates an addressing mode that is permitted for a specific access method, and * indicates a special access method. The memory general mode includes a register indirect mode, a register relative indirect mode, and an absolute mode PC relative indirect mode, all of which are combined into one mode because they use the contents of the memory as an operand. In immediate mode, the operand is not accessed to memory or registers, but the bit pattern specified in the instruction code is treated as a binary number and used as an operand, and this only exists in immediate mode. . In Bushmot, the stack pointer (sp)
The operand is the contents of the memory whose address is the contents of the memory, but it is distinguished from general memory because only access that involves reading (READ) the contents of the memory is permitted. In pop mode, the operand is the contents of the memory whose address is the contents of the stack pointer (sp) decremented by the operand size, but it is distinguished from general memory because only accesses that involve writing to the memory are allowed. be done. The multi-stage indirect modes include register-based multi-stage indirect mode, PC Bebe multi-stage indirect mode, and absolute-based multi-stage indirect mode, and the memory contents are used as operands, but addresses can be calculated by referring to the memory contents. Therefore, it is distinguished from memory in general. There are 10 ways to prohibit independent addressing modes. For example, in the MOV instruction that transfers the contents of the source operand to the destination operand, the source operand is the READ operand, as shown by classification number 1 in Figure 18. Bushmot is prohibited. Further, the destination operand of the MOV instruction is the WRITE operand, and as shown by classification number 2 in the figure, immediate values and popmots are prohibited. The JMP (jump) instruction is an instruction that has a source operand indicating a jump destination address and jumps to that operand address. In this operand, the calculated address itself becomes the operand, and as shown by classification number 4 in the figure, register direct, bush, immediate, and pop-up are prohibited. Note that special instructions allow only specific addressing modes. Next, regarding the operation of the above embodiment, using a data transfer instruction (MOVS) in which the source operand is a register and the destination operand is a memory, as a specific example, the text addressing moto check process will be described in FIGS.
This will be explained with reference to FIG. FIG. 19 is a schematic diagram explaining the bit configuration of the data transfer instruction (MOV:S), where sh indicates the operand specification field in the 6-bit abbreviated addressing mode, and Rn indicates the specification specifying the operand number of the register. WW indicates a field indicating the size of the operand of the specified bit sh. First, when the absolute mode is first used to specify the addressing mode of the destination operand, the following operation is performed. The bit allocation at this time is as shown in FIG. 20, abs: 16. abs:
32 corresponds to 16-bit and 32-bit address values. A data transfer instruction code in which the WRITE operand specifies absolute mode is fetched into IF stage 1. The fetched instruction code 8 is passed as is to the D stage 2, and the operation designation field 24 and operand designation field 25 are decoded separately. Operation specification field 24 is input to programmable logic array 16 for instruction decoding. Operand specification field 25 is input to programmable logic array 17 for addressing mode. The output from the programmable logic array 16 for instruction decoding and the parameters 26 of the instruction code 8 are input to the random logic circuit 18, which outputs the intermediate code 27 cutting parameters 29 as a result. For the output signal of the programmable logic array 17 for the addressing mode, a flag of "1" is set in the MEM field for the absolute mode, and (MEM, REG, I
MM, POP, PUSHADDM) = (1, O, O,
0, O, O). Also, at this time, the Ea signal 34 is [IJ], and the output signal of the programmable 0-thick array 17 for the addressing mode is used as is.
H, ADDM) = (1, O, O, O, O, O). In addition, the intermediate code 27, the addressing motobit pattern 28 used, and the cutout parameter 29 are the D code 9.
It will be transferred to A stage 3. The intermediate code 27 and cutting parameters 29 passed to the A stage 3 are input to a programmable logic array 20 for instruction decoding. Since the destination operand is the WRITE operand, it corresponds to classification number 2 shown in FIG.
ATNI, PATN2, EAPATN3 to E. EAPATN4. EAPATN5) = (0,0,
1,1,O,O)) is generated. Furthermore, in the A stage 3, this prohibited addressing mode bit pattern 30 and the used addressing mode bit pattern 28 passed from the D stage 2 are input to the prohibited addressing mode detection section 21. In the prohibited addressing mode detection unit 21, AND gates 47 to 52 detect the used addressing mode bit patterns (MEM, REG, IMM, POP, PUSH
, ADDM) = (1, Oo, o, o, o) and prohibited addressing mode bit pattern 30 ((EAPAT
NO, EAPATNI, PATN2 to E. EAPATN3. EAPATN4. EAPATN5)
= (0, 0, 1, 1, 0, 0)) for each bit term, and "0" is output for each. Therefore, "0" is output from the OR gate 53 at the subsequent stage, and a message indicating that the used addressing mode is valid is sent to the exception processing unit 23. Next, when the immediate value mode is used as the addressing mode specification of the WRITE operand, the bit allocation will be as shown in FIG. immd clat in the diagram
a indicates an immediate value. Similar to the absolute mote, when a data transfer instruction code with the WRITE operand specified in the immediate mote is fetched in IF stage 1, the fetched instruction code 8 is passed as is to the D stage 2, and the operation specification field 24. Operand specification field 25 is decoded separately. The operation designation field 24 is input to the programmable logic array 16 for instruction decoding, and the operand designation field 25 is input to the programmable logic array 17 for addressing mode. At this time, the output from the programmable logic array 16 for instruction decoding and the parameter 26 of the instruction code 8 are input to the random logic circuit 18, and as a result, the intermediate node 2 and the cutout parameter 29 are output. In the output signal of the programmable logic array 17 for the addressing mode, a flag of "1" is set in the IMM field for the immediate mode, and the addressing mode bit pattern 28 used is (MEM, REG, IMM,
POP, PUSH, ADDM) = (0, 0, 1, 0,
0, O). Also, this time, Ea
Nobuko 734 is "1", and the output signal of the programmable logic array 17 for addressing mode is used as is. Addressing mode bit pattern 28 (M
EM, REG, IMM, POP, PUSH, ADDM
) = (0,0,1,O,O,O)). At this time, the intermediate coat 27, the used addressing mode pattern 28, and the cutting pattern 29 are D code 9.
will be transferred to A stage 3. The intermediate code 27 and cutting parameters 29 passed to the A stage 3 are input to a programmable logic array 20 for instruction decoding. Then, similarly to the above example, the prohibited addressing mode bit pattern 30 ((
EAPATNO, EAPATNI, EAPATN2, E
APATN3. EAPATN4. EAPATN5)=
(0,0,1,1,0,0)), that is, inhibited addressing mode signals 41 to 46 are generated. Furthermore, in the A stage 3, this prohibited addressing mode bit pattern 30 and the used addressing mode bit pattern 28 delivered from the D stage 2 are input to the prohibited addressing mode detection section 21. Then, in the prohibited addressing mode detection unit 21, the AND circuits 47 to 52 detect the used addressing mode bit pattern 28 (MEM, REG, IMM, PO
P, PUSH, ADDM) = (0, O, 0, 1, O, O
) and prohibited addressing mode bit pattern 30 (
(EAPATNO, EAPATNI. EAPATN2, EAPATN3, EAPATN
4, EAPATN5) = (0, 0, 1, 10, 0
)) is ANDed for each bit term with I
Only the logical product of MM and EAPATN2 is "1",
An output indicating that the addressing mode used is invalid is sent from the OR circuit 53 to the exception handling section 23 in the subsequent stage, and the EIT
The flag 32 is set, the exception number corresponding to the reserved instruction exception is set to the EIT number j3, and the EIT is sent to the F stage 4. In this way, the operation specification field 24 and the operand specification field 25 are decoded separately,
By comparing the information on the used addressing mode and the information on the prohibited addressing mode, it is possible to reliably detect the designation of the prohibited addressing mode. In the above embodiment, instruction decoding is executed in two stages, but it may be executed in one stage. Furthermore, in the above embodiment, the programmable logic array 1
The prohibited addressing mode information output from 7.20 and the designated addressing mode information are compared by performing a logical AND operation, or the detection is performed through a programmable logic array, or by other random logic. Also good. Furthermore, in the above embodiment, since the used addressing mode hit pattern 28 is also used for the purpose of the A stage 3, the Ea signal 34 and the output signal of the programmable logic array 17 for addressing mode are connected in the random logic circuit 19. The logical product is calculated and input to the prohibited addressing mode detection section 21, but if only the prohibited addressing mode is to be detected, there is no need to perform the logical product with the Ea signal 34, and the prohibited addressing mode detecting section 21 is inputted as is. You can also enter . [Effects of the Invention] As explained above, the present invention includes a first field information input means for inputting the value of the operation specification field, and a method for analyzing the value of the operation specification field input from the first field information input means. a first output means for outputting prohibited addressing mode information for the operand specified by the operation specification field; a second field information input means for inputting the value of the operand specification field; a second output means that analyzes the value of the operand specification field inputted from the field information input means and outputs designated addressing mode information; and prohibited addressing mode information outputted from the first or second output means. Since the present invention is provided with a detection means for detecting invalidity of the specified addressing mode based on the specified addressing mode information, the number of bits of the logic circuit for decoding instructions can be significantly reduced. Therefore, it has an excellent effect of being able to reliably execute predetermined pig processing while detecting the occurrence of sophisticated exception processing with an inexpensive circuit configuration.

【図面の簡単な説明】[Brief explanation of the drawing]

第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コードである。 なお、各図中の同一符号は同一または相当部分を示す。
FIG. 1 is a block diagram illustrating a pipeline processing mechanism in a data processing device showing one embodiment of the present invention, and FIG.
Figures 1 to 15 are schematic format diagrams explaining addressing mode types and functions applied to this invention.
6 is a detailed circuit block diagram illustrating the configuration of the D stage and A stage shown in FIG. 1, and FIG. 17 is a logic circuit diagram showing an example of the prohibited addressing mode detection circuit shown in FIG. 16. Figure 18 is a correlation diagram explaining the prohibited addressing mode, Figures 19 to 21 are schematic diagrams explaining the configuration of bit assignments of data transfer commands, and Figure 22 is a diagram showing the relationship between conventional addressing mode types and access clusters. It is a correlation diagram explaining a relationship. In the figure, 1 is IF stage, 2 is D stage, 3 is A stage, 4 is F stage, 5 is E Stella, 6 is R stage, 7 is OF stage, 8 is instruction code, 9 is D code,
10 is A coat, 11 is R code, 12 is F code, 1
3 is the E code, and 14 is the S code. Note that the same reference numerals in each figure indicate the same or corresponding parts.

Claims (1)

【特許請求の範囲】[Claims] 命令のオペレーションを指定するオペレーション指定フ
ィールドと汎用アドレッシングモードによってオペラン
ド指定を行うことが可能なオペランド指定フィールドを
有するオペランド命令を処理するデータ処理装置におい
て、前記オペレーション指定フィールドの値を入力する
第1のフィールド情報入力手段と、この第1のフィール
ド情報入力手段より入力された前記オペレーション指定
フィールドの値を解析して前記オペレーション指定フィ
ールドにより指定されるオペランドに対して禁止された
アドレス情報を出力する第1の出力手段と、前記オペラ
ンド指定フィールドの値を入力する第2のフィールド情
報入力手段と、この第2のフィールド情報入力手段より
入力された前記オペランド指定フィールドの値を解析し
て指定されたアドレッシングモード情報を出力する第2
の出力手段と、前記第1または第2の出力手段から出力
されるオペランド指定フィールドの値と前記オペレーシ
ョン指定フィールドの値とに基づいて指定されたアドレ
ッシングモードの異常を検出する検出手段とを具備した
ことを特徴とするデータ処理装置。
In a data processing device that processes an operand instruction, the data processing device has an operation specification field that specifies an operation of the instruction and an operand specification field that allows operand specification using a general-purpose addressing mode, and a first field into which a value of the operation specification field is input. information input means; and a first field information input means for analyzing the value of the operation specification field inputted by the first field information input means and outputting prohibited address information for the operand specified by the operation specification field. an output means, a second field information input means for inputting the value of the operand specification field, and addressing mode information specified by analyzing the value of the operand specification field input from the second field information input means. The second output
output means, and detection means for detecting an abnormality in the designated addressing mode based on the value of the operand designation field and the value of the operation designation field output from the first or second output means. A data processing device characterized by:
JP17971888A 1988-07-18 1988-07-18 Data processor Pending JPH0228722A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP17971888A JPH0228722A (en) 1988-07-18 1988-07-18 Data processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17971888A JPH0228722A (en) 1988-07-18 1988-07-18 Data processor

Publications (1)

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

Family

ID=16070659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17971888A Pending JPH0228722A (en) 1988-07-18 1988-07-18 Data processor

Country Status (1)

Country Link
JP (1) JPH0228722A (en)

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 (en) * 1986-07-29 1988-02-15 Nec Corp Information processor

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 (en) * 1986-07-29 1988-02-15 Nec Corp Information processor

Similar Documents

Publication Publication Date Title
KR100323191B1 (en) Data processing device with multiple instruction sets
KR100266337B1 (en) Data processing circuit, semiconductor integrated circuit device, microcomputer, and electronic equipment
US8195920B2 (en) Active memory command engine and method
JP2002540523A (en) Microcontroller instruction set
JP3543181B2 (en) Data processing device
JPS6339931B2 (en)
JPH0766324B2 (en) Data processing device
JPS6298429A (en) Data processing system
US5682531A (en) Central processing unit
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
KR100465388B1 (en) Eight-bit microcontroller having a risc architecture
US20020108027A1 (en) Microprocessor and method of processing unaligned data in microprocessor
US6631459B1 (en) Extended instruction word folding apparatus
JPH01214932A (en) Data processor
JPH07120278B2 (en) Data processing device
JPH09505427A (en) Processing system with word aligned branch targets
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 (en) Data processing device
JP2556182B2 (en) Data processing device
US7631166B1 (en) Processing instruction without operand by inferring related operation and operand address from previous instruction for extended precision computation
US8583897B2 (en) Register file with circuitry for setting register entries to a predetermined value
JPH0228722A (en) Data processor
JP2877468B2 (en) Electronic computer
JP3199603B2 (en) Code size reduction microprocessor