JPH08202584A - トラップ機能を有するプロセッサ装置 - Google Patents
トラップ機能を有するプロセッサ装置Info
- Publication number
- JPH08202584A JPH08202584A JP7008778A JP877895A JPH08202584A JP H08202584 A JPH08202584 A JP H08202584A JP 7008778 A JP7008778 A JP 7008778A JP 877895 A JP877895 A JP 877895A JP H08202584 A JPH08202584 A JP H08202584A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- trap
- bit
- processor
- valid
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【目的】 トラップ命令用に特別な退避領域メモリを用
いるのではなく、通常処理状態の分岐命令と同様に取り
扱えるトラップ機能を有するプロセッサ装置を提供する
こと。 【構成】 プロセッサ命令格納メモリ40に記憶される
命令をプロセッサが解読し実行するプロセッサ装置にお
いて、当該命令のビット列に命令トラップを判別するビ
ットを設け、当該プロセッサに、当該命令トラップビッ
トの有効/無効を判断するトラップビット判定部10
と、当該命令トラップビットが有効であるときは例外処
理アドレスを出力する例外処理用アドレス出力部20と
を設け、当該プロセッサは、当該命令トラップビットが
有効であるときは当該命令処理アドレスにジャンプする
ことを特徴としている。
いるのではなく、通常処理状態の分岐命令と同様に取り
扱えるトラップ機能を有するプロセッサ装置を提供する
こと。 【構成】 プロセッサ命令格納メモリ40に記憶される
命令をプロセッサが解読し実行するプロセッサ装置にお
いて、当該命令のビット列に命令トラップを判別するビ
ットを設け、当該プロセッサに、当該命令トラップビッ
トの有効/無効を判断するトラップビット判定部10
と、当該命令トラップビットが有効であるときは例外処
理アドレスを出力する例外処理用アドレス出力部20と
を設け、当該プロセッサは、当該命令トラップビットが
有効であるときは当該命令処理アドレスにジャンプする
ことを特徴としている。
Description
【0001】
【産業上の利用分野】本発明は命令トラップが容易に実
行できるようにしたプロセッサ装置の改良に関する。
行できるようにしたプロセッサ装置の改良に関する。
【0002】
【従来の技術】マイクロプロセッサとして、例えばモト
ローラ社製の68000が知られている。このようなマイク
ロプロセッサでは、処理状態として通常、例外並びにホ
ルトの3種類のいずれかの状態にある。通常処理状態で
は、命令を実行しており、メモリ参照によって、命令や
オペランドをフェッチして、その結果を格納している。
例外処理状態は、割り込み、トラップ命令、トレース及
びその他の例外的な処理に関するもので、プロセッサが
異常状態に対して効率よく処理の流れを切り替えられる
ように設計されている。ホルト処理状態は、致命的なハ
ードウェア上の異常により発生する。
ローラ社製の68000が知られている。このようなマイク
ロプロセッサでは、処理状態として通常、例外並びにホ
ルトの3種類のいずれかの状態にある。通常処理状態で
は、命令を実行しており、メモリ参照によって、命令や
オペランドをフェッチして、その結果を格納している。
例外処理状態は、割り込み、トラップ命令、トレース及
びその他の例外的な処理に関するもので、プロセッサが
異常状態に対して効率よく処理の流れを切り替えられる
ように設計されている。ホルト処理状態は、致命的なハ
ードウェア上の異常により発生する。
【0003】ここでトラップ命令は、プロセッサの正常
動作中にトラップを発生する命令で、例えばユーザプロ
グラムからシステムコールを行うのに利用する。尚、単
にトラップという時は、トラップ命令の他に、プロセッ
サが命令実行時異常状態を検出して発生する場合も含む
概念である。
動作中にトラップを発生する命令で、例えばユーザプロ
グラムからシステムコールを行うのに利用する。尚、単
にトラップという時は、トラップ命令の他に、プロセッ
サが命令実行時異常状態を検出して発生する場合も含む
概念である。
【0004】図3はトラップ命令の使用例を示すプログ
ラムリスト図で、左欄には本来の命令、右欄にはトラッ
プ命令に貼り替えた場合を表している。プログラムのデ
バック時に、本来の命令をトラップ命令に貼り替えて、
貼り替えられた命令までに動作の過誤が発生していない
か確認する。ここでは、第1段落第4行目の”BRA$
20000”を”TRAP #0”に貼り替え、第2段
落第4行目の”BRA,S $30000”を”TRA
P #7”に貼り替え、第3段落第3行目の”MOV
E,W #$0000,D2”を”TRAP #16”
に貼り替えている。尚、”TRAP #0”に記載され
た#0は例外のベクタ番号であって、このベクタ番号毎
に退避領域メモリ内に固有の記憶領域が割当てられてい
る。尚、単一のベクタ番号を複数個使用しても差し支え
ない。
ラムリスト図で、左欄には本来の命令、右欄にはトラッ
プ命令に貼り替えた場合を表している。プログラムのデ
バック時に、本来の命令をトラップ命令に貼り替えて、
貼り替えられた命令までに動作の過誤が発生していない
か確認する。ここでは、第1段落第4行目の”BRA$
20000”を”TRAP #0”に貼り替え、第2段
落第4行目の”BRA,S $30000”を”TRA
P #7”に貼り替え、第3段落第3行目の”MOV
E,W #$0000,D2”を”TRAP #16”
に貼り替えている。尚、”TRAP #0”に記載され
た#0は例外のベクタ番号であって、このベクタ番号毎
に退避領域メモリ内に固有の記憶領域が割当てられてい
る。尚、単一のベクタ番号を複数個使用しても差し支え
ない。
【0005】図4はトラップ命令に貼り替えた本来の命
令を退避しておく退避領域メモリの記憶図である。トラ
ップ命令に貼り替えられた本来の命令は、例外スタック
フレームと呼ばれるフォーマット形式で退避領域メモリ
に記憶される。この例外スタックフレームには、ステー
タス・レジスタとプログラム・カウンタが含まれてお
り、ショート・フォーマットと呼ばれる形式では4ワー
ドの情報がスタックされる。プログラム・カウンタに
は、まだ実行していない次の命令を指す値が記憶されて
おり、命令の実行の再開を可能にしている。
令を退避しておく退避領域メモリの記憶図である。トラ
ップ命令に貼り替えられた本来の命令は、例外スタック
フレームと呼ばれるフォーマット形式で退避領域メモリ
に記憶される。この例外スタックフレームには、ステー
タス・レジスタとプログラム・カウンタが含まれてお
り、ショート・フォーマットと呼ばれる形式では4ワー
ドの情報がスタックされる。プログラム・カウンタに
は、まだ実行していない次の命令を指す値が記憶されて
おり、命令の実行の再開を可能にしている。
【0006】
【発明が解決しようとする課題】しかし、トラップ命令
に貼り替えられた本来の命令を記憶する退避領域メモリ
が必要になるが、標準のμプロセッサでは退避領域メモ
リの容量に限界があり、上述の例では16個に限られて
いた。他方、工業用の制御装置では割り込み動作が多用
されるので、そのプログラムのデバックにも標準的な用
途に比較して多数のトラップ命令が用いられる。そこ
で、デバックを効率良く行うため、トラップ命令の設定
個数に実質的に制限のない装置が望まれていた。
に貼り替えられた本来の命令を記憶する退避領域メモリ
が必要になるが、標準のμプロセッサでは退避領域メモ
リの容量に限界があり、上述の例では16個に限られて
いた。他方、工業用の制御装置では割り込み動作が多用
されるので、そのプログラムのデバックにも標準的な用
途に比較して多数のトラップ命令が用いられる。そこ
で、デバックを効率良く行うため、トラップ命令の設定
個数に実質的に制限のない装置が望まれていた。
【0007】本発明はこのような課題を解決したもの
で、トラップ命令用に特別な退避領域メモリを用いるの
ではなく、通常処理状態の分岐命令と同様に取り扱える
トラップ機能を有するプロセッサ装置を提供することを
目的とする。
で、トラップ命令用に特別な退避領域メモリを用いるの
ではなく、通常処理状態の分岐命令と同様に取り扱える
トラップ機能を有するプロセッサ装置を提供することを
目的とする。
【0008】
【課題を解決するための手段】上記の目的を達成する本
発明は、プロセッサ命令格納メモリ40に記憶される命
令をプロセッサが解読し実行するプロセッサ装置におい
て、当該命令のビット列に命令トラップを判別するビッ
トを設け、当該プロセッサに、当該命令トラップビット
の有効/無効を判断するトラップビット判定部10と、
当該命令トラップビットが有効であるときは例外処理ア
ドレスを出力する例外処理用アドレス出力部20とを設
け、当該プロセッサは、当該命令トラップビットが有効
であるときは当該命令処理アドレスにジャンプすること
を特徴としている。
発明は、プロセッサ命令格納メモリ40に記憶される命
令をプロセッサが解読し実行するプロセッサ装置におい
て、当該命令のビット列に命令トラップを判別するビッ
トを設け、当該プロセッサに、当該命令トラップビット
の有効/無効を判断するトラップビット判定部10と、
当該命令トラップビットが有効であるときは例外処理ア
ドレスを出力する例外処理用アドレス出力部20とを設
け、当該プロセッサは、当該命令トラップビットが有効
であるときは当該命令処理アドレスにジャンプすること
を特徴としている。
【0009】
【作用】本発明の構成によれば、トラップビット判定部
10でプロセッサが解読し実行する命令の記載されたビ
ット列に命令トラップを判別するビットの有効/無効を
判別する。また例外処理用アドレス出力部20で、トラ
ップビット判定部10で命令トラップビットが有効であ
るときと判断したときは例外処理アドレスを出力してい
る。そこで、プロセッサは命令トラップビットが有効で
あるときは当該命令処理アドレスにジャンプして、命令
トラップを実行する。
10でプロセッサが解読し実行する命令の記載されたビ
ット列に命令トラップを判別するビットの有効/無効を
判別する。また例外処理用アドレス出力部20で、トラ
ップビット判定部10で命令トラップビットが有効であ
るときと判断したときは例外処理アドレスを出力してい
る。そこで、プロセッサは命令トラップビットが有効で
あるときは当該命令処理アドレスにジャンプして、命令
トラップを実行する。
【0010】
【実施例】以下図面を用いて、本発明を説明する。図1
は本発明の一実施例を示す構成ブロック図である。図に
おいて、プロセッサ命令格納用メモリ40は、プロセッ
サが解読し実行する命令を記憶しており、例えば図3の
左欄に表された通常動作時のプログラムが命令トラップ
ビットと共に記憶されている。プロセッサはプロセッサ
標準機能部30に加えて、トラップビット判定部10と
例外処理用アドレス出力部20を有している。トラップ
ビット判定部10は、命令トラップビットの有効/無効
を判断する。例外処理用アドレス出力部20は、当該命
令トラップビットが有効であるときは例外処理アドレス
をアドレスバスに出力する。尚、図3のようにベクタ番
号をトラップ命令と共に付している場合には、ベクタ番
号定義部を設けて、このベクタ番号定義部に各ベクタ番
号毎の例外処理アドレスを記憶させておくとよい。
は本発明の一実施例を示す構成ブロック図である。図に
おいて、プロセッサ命令格納用メモリ40は、プロセッ
サが解読し実行する命令を記憶しており、例えば図3の
左欄に表された通常動作時のプログラムが命令トラップ
ビットと共に記憶されている。プロセッサはプロセッサ
標準機能部30に加えて、トラップビット判定部10と
例外処理用アドレス出力部20を有している。トラップ
ビット判定部10は、命令トラップビットの有効/無効
を判断する。例外処理用アドレス出力部20は、当該命
令トラップビットが有効であるときは例外処理アドレス
をアドレスバスに出力する。尚、図3のようにベクタ番
号をトラップ命令と共に付している場合には、ベクタ番
号定義部を設けて、このベクタ番号定義部に各ベクタ番
号毎の例外処理アドレスを記憶させておくとよい。
【0011】図2はプロセッサ命令格納用メモリ40に
記憶された命令のビット列で,(A)は32ビット全
体、(B)はOPTION部分の割付を表している。3
2ビットの先頭31ビット目から24ビット目までの8
ビットについては、命令コードが割り当てられている。
命令コードは、MOVE,SUB,ADD,COMP等
の命令集合中の命令を表すために用いられるコードをい
う。続く23ビット目から16ビット目まではOPTI
ONが割り当てられている。ここでは、23ビット目が
回路先頭フラグ、22ビット目が例外処理発生フラグ
で、本発明の命令トラップビットに相当している。21
ビット目から19ビット目までの3ビットは実行フラグ
で、マクロ命令MCやアキュムレータACCの条件によ
り実行したり非実行にするなどの制御命令となってい
る。18ビット目から16ビット目までの3ビットは命
令のステップ数を表すもので、後続するOPERAND
として何ステップ割り当てられているかを定義する。O
PERANDは演算が行われる対象となるものを表すも
ので、ここでは15ビット目から0ビット目までの16
ビットを割り当てているが、8ビット単位で増減して差
し支えない。また、必要に応じてアドレスが記載されて
いる。
記憶された命令のビット列で,(A)は32ビット全
体、(B)はOPTION部分の割付を表している。3
2ビットの先頭31ビット目から24ビット目までの8
ビットについては、命令コードが割り当てられている。
命令コードは、MOVE,SUB,ADD,COMP等
の命令集合中の命令を表すために用いられるコードをい
う。続く23ビット目から16ビット目まではOPTI
ONが割り当てられている。ここでは、23ビット目が
回路先頭フラグ、22ビット目が例外処理発生フラグ
で、本発明の命令トラップビットに相当している。21
ビット目から19ビット目までの3ビットは実行フラグ
で、マクロ命令MCやアキュムレータACCの条件によ
り実行したり非実行にするなどの制御命令となってい
る。18ビット目から16ビット目までの3ビットは命
令のステップ数を表すもので、後続するOPERAND
として何ステップ割り当てられているかを定義する。O
PERANDは演算が行われる対象となるものを表すも
ので、ここでは15ビット目から0ビット目までの16
ビットを割り当てているが、8ビット単位で増減して差
し支えない。また、必要に応じてアドレスが記載されて
いる。
【0012】このように構成された装置においては、命
令トラップすべき命令については、プロセッサ命令格納
用メモリ40の該当する命令の上述した22ビット目の
例外処理発生フラグ(命令トラップビット)をセットし
ておく。
令トラップすべき命令については、プロセッサ命令格納
用メモリ40の該当する命令の上述した22ビット目の
例外処理発生フラグ(命令トラップビット)をセットし
ておく。
【0013】すると、プロセッサがプロセッサ命令格納
用メモリ40のプログラムを順次実行していく際に、命
令トラップビットがクリアであればそのまま命令に従っ
た処理をし、命令トラップビットがセットされていれ
ば、トラップビット判定部10はがこれを認識して、例
外処理用アドレス出力部20から当該命令トラップビッ
トの例外処理アドレスとして指定されたアドレスをアド
レスバスに出力する。これにより、プロセッサは例外処
理を実行するので、命令トラップが実現される。しか
も、ここでは図4にしめす特別の退避領域メモリは不要
であるから、メモリが有効に利用できるという効果があ
る。
用メモリ40のプログラムを順次実行していく際に、命
令トラップビットがクリアであればそのまま命令に従っ
た処理をし、命令トラップビットがセットされていれ
ば、トラップビット判定部10はがこれを認識して、例
外処理用アドレス出力部20から当該命令トラップビッ
トの例外処理アドレスとして指定されたアドレスをアド
レスバスに出力する。これにより、プロセッサは例外処
理を実行するので、命令トラップが実現される。しか
も、ここでは図4にしめす特別の退避領域メモリは不要
であるから、メモリが有効に利用できるという効果があ
る。
【0014】
【発明の効果】以上説明したように、本発明によればプ
ロセッサ命令の1ビットとして命令トラップビットを設
けて、これにより命令トラップの有無がプロセッサに認
識できるようにしているので、従来必要であった特別の
退避領域メモリは不要となり、命令トラップの設定個数
に制限がなくなってプログラムのデバックが容易になる
と共に、メモリが有効に利用できるという効果がある。
ロセッサ命令の1ビットとして命令トラップビットを設
けて、これにより命令トラップの有無がプロセッサに認
識できるようにしているので、従来必要であった特別の
退避領域メモリは不要となり、命令トラップの設定個数
に制限がなくなってプログラムのデバックが容易になる
と共に、メモリが有効に利用できるという効果がある。
【図1】本発明の一実施例を示す構成ブロック図であ
る。
る。
【図2】プロセッサ命令格納用メモリ40に記憶された
命令のビット列の説明図である。
命令のビット列の説明図である。
【図3】トラップ命令の使用例を示すプログラムリスト
図である。
図である。
【図4】トラップ命令に貼り替えた本来の命令を退避し
ておく退避領域メモリの記憶図である。
ておく退避領域メモリの記憶図である。
10 トラップビット判定部 20 例外処理用アドレス出力部 30 プロセッサ標準機能 40 プロセッサ命令格納用メモリ
Claims (1)
- 【請求項1】プロセッサ命令格納メモリ(40)に記憶
される命令をプロセッサが解読し実行するプロセッサ装
置において、 当該命令のビット列に命令トラップを判別するビットを
設け、 当該プロセッサに、当該命令トラップビットの有効/無
効を判断するトラップビット判定部(10)と、当該命
令トラップビットが有効であるときは例外処理アドレス
を出力する例外処理用アドレス出力部(20)とを設
け、 当該プロセッサは、当該命令トラップビットが有効であ
るときは当該命令処理アドレスにジャンプすることを特
徴とするプロセッサ装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7008778A JPH08202584A (ja) | 1995-01-24 | 1995-01-24 | トラップ機能を有するプロセッサ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7008778A JPH08202584A (ja) | 1995-01-24 | 1995-01-24 | トラップ機能を有するプロセッサ装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08202584A true JPH08202584A (ja) | 1996-08-09 |
Family
ID=11702347
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7008778A Pending JPH08202584A (ja) | 1995-01-24 | 1995-01-24 | トラップ機能を有するプロセッサ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08202584A (ja) |
-
1995
- 1995-01-24 JP JP7008778A patent/JPH08202584A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6189094B1 (en) | Recirculating register file | |
| US5978910A (en) | Performing pending interrupts or exceptions when interruptible jumps are detected | |
| EP0742517B1 (en) | A program translating apparatus and a processor which achieve high-speed execution of subroutine branch instructions | |
| US8484446B2 (en) | Microprocessor saving data stored in register and register saving method | |
| US5325494A (en) | Computer | |
| JP2003058381A (ja) | プログラムによる例外処理設定を可能にしたプロセッサ | |
| JPH08202584A (ja) | トラップ機能を有するプロセッサ装置 | |
| JPH0895798A (ja) | データ処理装置 | |
| JP2002014868A (ja) | メモリ参照動作検出機構を有するマイクロプロセッサおよびコンパイル方法 | |
| JPS6051947A (ja) | 仮想記憶計算機における命令先取方式 | |
| JP2876791B2 (ja) | 例外処理装置および例外処理方法 | |
| KR100329780B1 (ko) | 인터럽트 응답 시간을 줄인 인터럽트 처리 장치 | |
| JPS62267869A (ja) | ベクトル・プロセツサにおける演算例外時の処理方式 | |
| JPH05173788A (ja) | 計算機装置 | |
| JPS6116334A (ja) | デ−タ処理装置 | |
| JPS62219128A (ja) | デ−タ処理装置 | |
| JP2597744B2 (ja) | 分岐制御方法 | |
| JP2745519B2 (ja) | データ駆動型制御方法 | |
| JPH0553879A (ja) | プログラム障害情報収集方式 | |
| JPH11259293A (ja) | データ処理装置 | |
| JPH0323938B2 (ja) | ||
| JPH03196220A (ja) | 情報処理装置 | |
| JPH0659916A (ja) | 命令プリフェッチ装置 | |
| JPS62151936A (ja) | マイクロプロセツサに内蔵されるキヤツシユ回路 | |
| JPH04180126A (ja) | プログラム制御装置 |