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

データ処理装置

Info

Publication number
JPH0752392B2
JPH0752392B2 JP63170645A JP17064588A JPH0752392B2 JP H0752392 B2 JPH0752392 B2 JP H0752392B2 JP 63170645 A JP63170645 A JP 63170645A JP 17064588 A JP17064588 A JP 17064588A JP H0752392 B2 JPH0752392 B2 JP H0752392B2
Authority
JP
Japan
Prior art keywords
interrupt
processing
macro service
program
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP63170645A
Other languages
English (en)
Other versions
JPH01152540A (ja
Inventor
肇 佐久間
重達 香取
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP63170645A priority Critical patent/JPH0752392B2/ja
Publication of JPH01152540A publication Critical patent/JPH01152540A/ja
Publication of JPH0752392B2 publication Critical patent/JPH0752392B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マイクロコンピュータを含むデータ処理装置
に関する。
〔従来の技術〕 マイクロコンピュータを含む通常のデータ処理装置は、
メモリ内に格納されるプログラムを順次読出して実行す
ることにより一連のデータ処理を行なう。プログラム処
理以外の要因に起因する処理要求に対しては、データ処
理装置は通常割り込み要求の受付けにより上記のプログ
ラム処理を中断し、新しく割り込み要求に対応したプロ
グラムを読出して実行することにより処理している。
第8図は従来のデータ処理装置(マイクロコンピュー
タ)ブロック図である。
割り込みソース800は、割り込みコントローラ(以下INT
Cと記す。)802を介してCPU801に対し割り込み要求を発
生する。割り込みソース800は通常複数個存在するが本
従来例では、同一構成として1割り込みソースのみを図
示している。INTC802は、複数存在する割り込みソース
から発生する各々の割り込み要求毎に割り込み要求フラ
グ803を有し、割り込み要求フラグ803をセットすること
によりCPU801に対して割り込み処理要求が発生したこと
を通知する。割り込み要求フラグ803は、CPU801による
割り込み要求の受付けにより後述するCRQ信号804に同期
してクリアされる。また、後述するVCRD信号805に同期
してアドレスバス806上に割り込みベクタアドレスを出
力する。INTC802は、複数の割り込みソースから入力す
る割り込み要求の中から各時点での最も優先順位の高い
処理要求を選択してCPU801に対して通知するが、優先順
位指定に関するタイミング制御回路は図示していない。
CPU801は、テンポラリレジスタ801−1、算術論理演算
ユニット(以下ALUと記す。)801−2、汎用レジスタ80
1−3、命令レジスタ(以下IRと記す。)801−4、PC80
1−5、PSW801−6、タイミング制御回路801−7を含
む。CPU801は、タイミング制御回路801−7の制御の下
に命令処理を行ない、各命令処理を最後のタイミングで
後述する割り込み要求信号807のサンプル処理を行な
う。プログラムメモリ808には、CPU801が実行するプロ
グラムが格納されている。データメモリ809には処理デ
ータが格納される。
なお、CPU801、プログラムメモリ808、データメモリ80
9、INTC802は、それぞれデータバス810とアドレスバス8
06で相互に接続されている。また、INTC802からタイミ
ング制御回路801−7へは割り込み要求フラグ803の内容
を示す割り込み要求信号807が、またタイミング制御回
路801−7からINTC802へはCRQ信号804とVCRD信号805が
それぞれ出力されている。
次に、本従来例における割り込み処理の動作を説明す
る。
CPU801は、命令処理の最後のタイミングで割り込み要求
信号807をサンプルし、割り込み要求が発生していなけ
れば命令処理を継続し、割り込み要求が発生している場
合には、ただちに割り込み処理に移行する。割り込み処
理では、まず、それまでに実行していたプログラムの状
態を退避させるため、PC801−5とPSW801−6をデータ
メモリ809上に退避する。続いて、VCRD信号805に同期し
てアドレスバス806上に出力される割り込みベクタアド
レスをPC801−5に設定し、割り込みサービスプログラ
ムに分岐する。この割り込みサービスプログラムでは、
割り込みが発生した時点の汎用レジスタ801−3を破壊
しないために、通常、割り込みサービスプログラムの先
頭で汎用レジスタ801−3の内容をデータメモリ809上に
退避する。
以上の一連の退避処理を経て、実際に割り込み要求に対
応するプログラム処理を開始する。処理終了時には、退
避した汎用レジスタ801−3を復帰させ、割り込み発生
時点に制御を戻すための命令を実行することで、PC801
−5、PSW801−6の値を復帰させる。
第9図はこのマイクロコンピュータ上でのプログラム実
行例を示す図である。
プログラムP1は、メイン処理の実行を繰り返し、状態フ
ラグが変更されると、プログラムP2に遷移する。プログ
ラムP2も同様に、メイン処理2の実行を繰り返し、状態
フラグが変更されると、その他のプログラムに移行す
る。ここで、状態フラグは、割り込みプログラムが、そ
れぞれの割り込み要求に応じた割り込み処理を実行した
のち変更を行なうもので、割り込みが発生し、プログラ
ムの実行状態の変化を示すためのフラグである。
第10図は、第9図で示したプログラムの制御の流れを示
したもので、プログラムP1の実行途中で、発生した割り
込み処理要求により割り込みプログラムに制御が移り、
割り込みプログラム実行後は、プログラムP1にまた制御
を戻し、状態フラグの判定で、プログラムP2に制御を移
すことを示している。
このように、プログラム制御の流れは、割り込みが発生
することにより変化することがよくあるが、メイン処理
では非同期に発生する割り込みプログラムにより、状態
の変化がいつ発生したかを絶えず判定する必要がある。
〔発明が解決しようとする課題〕
上述した従来のデータ処理装置は、割り込みソースから
の割り込み要求がCPUに通知された後、実際にCPUが割り
込みサービスルーチンを開始するまでには、PC、PSWの
退避処理や、汎用レジスタの退避処理を行なうため、多
大な時間を必要としており、特に、PC,PSWの退避処理や
汎用レジスタの退避処理は、割り込みサービスプログラ
ムを実際にスタートさせるための準備処理で本来の割り
込みに係わるデータ処理とは無関係であり、CPUのデー
タ処理能力を著しく低下させる大きな原因となってお
り、また、メイン処理では割り込みの発生による状態の
変化を検知するために、絶えず割り込み状態を監視する
必要があり、これも本来の処理とは無関係な処理で、メ
イン処理それ自体の処理能力を低下させる原因となって
いる。
〔課題を解決するための手段〕
本発明のデータ処理装置は、命令の実行アドレスを保持
するプログラムカウンタとプログラムの実行状態を保持
するプログラムステータスワードと汎用レジスタとを含
むCPUと、CPUへ非同期的に処理要求を発生する割り込み
要求発生回路と、前記割り込み要求発生回路からの割り
込み要求を制御する割り込み制御装置と、データメモリ
を有するデータ処理装置において、 前記割り込み発生回路は所定のデータ処理の処理要求を
発生する手段を備え、前記データ処理を制御するための
割り込み制御情報が格納される制御情報格納部が設けら
れ、前記割り込み制御装置は、前記割り込み要求発生回
路が前記データ処理の処理要求を前記CPUに対し発生し
た時、前記割り込み制御装置の制御により命令実行処理
を中断し、前記データ処理を起動し、前記制御情報格納
部中の割り込み制御情報に応じた処理を連続的に実行
し、前記割り込み制御情報の指定に応じて、前記プログ
ラムカウンタと前記プログラムステータスワードと前記
汎用レジスタの内容を所定の値に設定することにより、
命令実行を再開する制御手段とを備えている。
〔作用〕
本発明は、割り込み処理要求が発生した際、PC、PSW、
汎用レジスタの退避処理をせずに、事前に設定された割
り込み制御情報に応じた処理を連続的に実行し、割り込
み制御の終了情報の指定に応じてPC、PSW、汎用レジス
タに新たな内容を設定することで、プログラムの流れを
変更して行くものである。
〔実施例〕
次に、本発明の実施例について図面を参照して説明す
る。
第1図は本発明のデータ処理装置の一実施例のブロック
図、第2図はデータメモリ109内の割り付け図である。
割り込みソース100は、INTC102を介してCPU101に対して
割り込み要求を発生する。割り込みソースは通常複数個
存在するが本実施例では、同一構成として1割り込みソ
ースのみを図示している。INTC102は、複数存在する割
り込みソースから発生する各々の割り込み要求毎に割り
込み要求フラグ103−1と形態指定フラグ103−2を有
し、割り込み要求フラグ103−1がセット状態で、かつ
形態指定フラグ103−2がセット状態の場合には本発明
独自の処理要求(以下、マクロサービス処理要求と記
す。)を、また、割り込み要求フラグ103−1がセット
状態で、かつ形態指定フラグ103−2がクリア状態の場
合には従来の割り込み処理要求をそれぞれ指定する。割
り込み要求フラグ103−1は、CPU101による割り込み要
求の受付けにより後述するCRQ信号104−1に同期してク
リアされる。また、形態指定フラグ103−2は、後述す
るCME信号104−2に同期してクリアされ、さらに、後述
するVCRD信号105に同期してアドレスバス106上に割り込
みベクタアドレスまたは、後述するマクロサービス制御
ワード格納アドレスを出力する。INTC102は、複数の割
り込みソースから入力するマクロサービス要求信号と割
り込み処理要求の中から各時点での最も優先順位の高い
処理要求を選択してCPU101に対して通知するが、優先順
位指定に関するタイミング制御回路は図示していない。
CPU101は、テンポラリレジスタ101−1、ALU101−2、
汎用レジスタ101−3、命令レジスタ101−4、PC101−
5、PSW101−6、タイミング制御回路101−7を含む。C
PU101は、タイミング制御回路101−7の制御の下に命令
処理を行ない、各命令処理の最後のタイミングで割り込
み要求信号107−1と形態指定信号107−2のサンプル処
理を行なう。割り込み要求信号107−1がアクティブ状
態で、かつ形態指定信号107−2がインアクティブレベ
ルであるのを検出した場合には、PSW101−6とPC101−
5の内容をデータメモリ109に退避し、続いて所定割り
込みベクタへ分岐する通常の割り込み処理を、また割り
込み要求信号107−1がアクティブ状態で、かつ形態指
定信号107−2がアクティブレベルであるのを検出した
場合には、PSW101−6、PC101−5、汎用レジスタ101−
3の内容を保持したままマクロサービス処理を開始す
る、プログラムメモリ108には、CPU101が実行するプロ
グラムが格納される。データメモリ109は処理データの
格納用メモリで、本発明に基づく制御データブロックを
含む。なお、CPU101、プログラムメモリ108、データメ
モリ109、INTC102は、それぞれデータバス110とアドレ
スバス106で相互に接続されている。また、INTC102から
タイミング制御回路101−7へは割り込み要求フラグ104
−1の内容を示す割り込み要求信号107−1と形態指定
フラグ107−2の内容を示す形態指定信号107−2が、ま
たタイミング制御回路101−7からINTC102へはCRQ信号1
04−1とCME信号104−2とVCRD信号105がそれぞれ出力
されている。
次に、CPU101における命令処理手順について説明する。
CPU101は、PC101−5の内容をアドレスバス106上に出力
し、プログラムメモリ108内の指定アドレスロケーショ
ンから命令コードをデータバス110経由で読出し、IR101
−4に設定することによりタイミング制御回路101−7
がALU101−2や汎用レジスタ101−3などの各ハードウ
ェアのタイミング制御を行なう。タイミング制御回路10
1−7、次の命令コードの読出しアドレスロケーション
の生成のため、PC101−5の内容を命令コード語長分だ
け加算処理を行なう。更に、命令処理の最後のタイミン
グで割り込み要求信号107−1をサンプルし、割り込み
要求を検出しなかった場合には、再びPC101−5の内容
をアドレスバス106上に出力してプログラムメモリ108か
ら命令コードを読出し、再び命令処理を行なう。
次に、割り込み要求が発生した場合の動作を説明する。
タイミング制御回路101−7は、命令処理の最後のタイ
ミングで割り込み要求信号107−1がアクティブ状態
で、かつ形態指定信号107−2がインアクティブレベル
であるのを検出すると、IR101−4に強制的に通常の割
り込み処理コードを設定し、割り込み処理に移行する。
この割り込み処理では、タイミング制御回路101−7
は、PC101−5とPSW101−6をデータバス110を介してデ
ータメモリ109に退避し、続いて、VCRD信号105をアクテ
ィブにして割り込みベクタの読出しを行なう。INTC102
は、VCRD信号105に同期して、アドレスバス106上に割り
込みベクタ情報を出力し、タイミング制御回路101−7
は、アドレスバス106上のベクタを読み込んでPC101−5
に設定し、ベクタアドレスへ分岐して割り込み処理ルー
チンの実行を開始する。
次に、本発明によるマクロサービス処理における動作を
説明する。
なお、本マクロサービス処理に際し、データメモリ109
上には、第2図に示す制御情報が予め設定されているも
のとする。
第2図において、マクロサービス制御ワード200はデー
タメモリ109上にマクロサービス要求数分設定され、1
マクロサービス要求に対し、制御情報200−1と次に説
明するマクロサービスコマンドワードのベースアドレス
200−2の2バイトで構成される。受け付けられたマク
ロサービス要求に対応するマクロサービス制御ワード20
0へのアドレスは、INTC102により直接発生される。マク
ロサービスコマンドワード201、202、203はそれぞれ1
マクロサービス処理に対応し、1つのマクロサービスコ
マンドワードは、マクロサービスモード情報201−1、2
02−1、203−1とメモリポインタ情報201−2、202−
2、203−2の2バイトで構成される。なお、メモリポ
インタ情報は、マクロサービスで使用するバッファ領域
のアドレスを指定する。
次に、第1図と第2図を参照してマクロサービス動作を
説明する。
タイミング制御回路101−7は、命令処理の最後のタイ
ミングで割り込み要求信号107−1がアクティブ状態
で、かつ形態指定信号107−2がアクティブレベルであ
るのを検出すると、IR101−4に強制的にマクロサービ
ス処理コードを設定し、以下に説明する手順でマクロサ
ービス処理を開始する。まず、タイミング制御回路101
−7はVCRD信号105をアクティブにする。INTC102は、タ
イミング制御回路101−7から出力されるVCRD信号105に
同期して、アドレスバス106上にデータメモリ109内のマ
クロサービス制御ワード格納アドレスを出力する。タイ
ミング制御回路101−7は、アドレスバス106上に出力さ
れたマクロサービス制御ワード格納アドレス情報を読み
込み、マクロサービス制御ワード格納アドレス情報に基
づいてデータメモリ109からマクロサービス制御ワード2
00を読出す。マクロサービス制御ワード200内の制御情
報200−1はIR101−4に転送され、タイミング制御回路
101−7は以下に説明するマクロサービス初期化処理を
開始する。IR101−4に設定された制御情報に基づき、
このマクロサービス制御ワード200に含まれるマクロサ
ービスコマンドブロックのベースアドレス情報200−2
をテンポラリレジスタ101−1に格納すると共に同アド
レス情報をアドレスバス106上に出力し、データメモリ1
09内のマクロサービスコマンドワード201からマクロサ
ービスモード情報201−1を読出す。IR101−4内にマク
ロサービスモード情報401−1を設定することにより所
定のマクロサービス処理を開始する。
マクロサービス処理の具体的な例として、CPU101内のPS
W101−6や汎用レジスタ101−3の内容を保持したま
ま、マクロサービスコマンドワード201内に設定されて
いるメモリポインタ201−2で指定されるバッファ領域2
04内でのデータ転送やALU演算などがあるが、詳細な説
明は省略する。
1つのマクロサービス処理を終了すると次のマクロサー
ビス処理の準備として以下の処理を行なう。
テンポラリレジスタ101−1内に格納されるマクロサー
ビスコマンドワードのベースアドレス情報を1ワード分
更新し、更新されたマクロサービスコマンドワード202
内に含まれる新しいマクロサービスモード情報202−1
を読出す。IR101−4内にマクロサービスモード情報202
−1を設定することにより次のマクロサービス処理を開
始する。
以上説明したように、マクロサービスモード情報201−
1、202−1、203−1を順次読出して実行することによ
り一連のマクロサービス処理を実行する。
本実施例では上記の処理を繰り返し、一連のマクロサー
ビスの処理を行なった後、これらのマクロサービスが実
行される前のCPU状態に戻るのではなく、異なった処理
を新たに再開するために、マクロサービスモード情報20
3−1においては、EXGコマンドの読出しにより一連のマ
クロサービス処理の終了処理に移行する。
EXGコマンドは、マクロサービス処理要求が発生した時
点でのプログラムの実行環境、即ち、PC101−5、PSW10
1−6、汎用レジスタ101−3類を、データメモリ109中
の所定のエリア(このエリアは図示していない。)に退
避したのち、メモリポインタ情報203−2の内容で指さ
れる実行状態保持領域205に予め設定されているPC、PS
W、汎用レジスタ類の値をそれぞれPC101−5、PSW101−
6、汎用レジスタ101−3に再設定することで、処理を
終了する。
マクロサービスの終了処理では、INTC102へ通知するた
め、CRQ信号104−1をアクティブにすることで割り込み
要求フラグ103−1をクリアにし、CME信号104−2をア
クティブにすることにより、形態指定フラグ103−2を
クリアする。この場合には、マクロサービス要求処理の
完了の後、CPU101は新たに設定されたPC、PSW、汎用レ
ジスタ値を基に新たなプログラム処理を継続する。
第3図は本発明のデータ処理装置の第2の実施例のブロ
ック図、第4図はデータメモリ309の割り付け図であ
る。
割り込みソース300、INTC302、要求フラグ303−1と形
態指定フラグ303−2、CRQ信号304−1、CME信号304−
2、割り込み要求信号307−1と形態指定信号307−2、
VCRD信号305、アドレスバス306、データバス310、プロ
グラムメモリ308、データメモリ309は第1の実施例と同
様の機能を果す。また、CPU301内構造も、テンポラリレ
ジスタ301−1、ALU301−2、IR301−4、PC301−5、P
SW301−6、タイミング制御回路301−7に関しては、第
1の実施例と同様であるが、レジスタバング群301−3
は、レジスタセットを複数備えており、セレクタ301−
8は、複数のレジスタセット中、1つのレジスタセット
を選択するためのものである。CPU301における命令処理
手順については、第1の実施例と同様であるため、これ
も説明は省略する。また、割り込み要求が発生した場合
の動作も第1の実施例と同様であるため、これも説明は
省略する。
次に、本発明によるマクロサービス処理における動作を
説明する。
なお、本マクロサービス処理に際し、データメモリ309
上には、第4図に示す制御情報が予め設定されているも
のとする。
第4図においての、マクロサービス制御ワード400、制
御情報400−1、マクロサービスコマンドワードのベー
スアドレス400−2、マクロサービスコマンドワード40
1,402,403,404、マクロサービスモード情報401−1,402
−1,403−1,404−1とメモリポインタ情報401−2,402−
2,403−2,404−2およびバッファ領域405は、第1の実
施例で説明した構成と同様である。
次に、第3図と第4図を参照してマクロサービス動作を
説明する。
タイミング制御回路301−7は、命令処理の最後のタイ
ミングで割り込み要求信号307−1がアクティブレベル
で、かつ形態指定信号307−2がアクティブレベルであ
るのを検出すると、IR301−4に強制的にマクロサービ
ス処理コードを設定し、以下に説明する手順でマクロサ
ービス処理を開始する。
まず、タイミング制御回路301−7は、第1の実施例の
時と同様に、アドレスバス306上に出力されたマクロサ
ービス制御ワード格納アドレス情報を読み込む。タイミ
ング制御回路301−7は、マクロサービス制御ワード格
納アドレス情報に基づいてデータメモリ309からマクロ
サービス制御ワード400を読出す。以下、第1の実施例
と同様に、マクロサービスの初期処理を開始する。IR30
1−4に設定されさ制御情報に基づき、このマクロサー
ビス制御ワード400に含まれるマクロサービスコマンド
のベースアドレス情報400−2をテンポラリレジスタ301
−1に格納すると共に同アドレス情報をアドレスバス30
6上に出力し、データメモリ309内のマクロサービスコマ
ンドワード401からマクロサービスモード情報401−1を
読出す。IR301−4内にマクロサービスモード情報401−
1を設定することにより所定のマクロサービス処理を開
始する。以上の処理によりマクロサービス処理が開始さ
れる。
1つのマクロサービス処理を終了するとつぎのマクロサ
ービス処理の準備として以下の処理を行なう。
テンポラリレジスタ301−1内に格納されるマクロサー
ビスコマンドワードのベースアドレス情報を1ワード分
更新し、更新されたマクロサービスコマンドワード402
内に含まれる新しいマクロサービスモード情報402−1
を読出し、IR301−4内にマクロサービスモード情報402
−1を設定することにより次のマクロサービス処理を開
始する。
マクロサービスモード情報402−1は分岐コマンドであ
るため、CPU301は分岐条件の判定をし、条件が満足しな
ければテンポラリレジスタ301−1内に格納されるマク
ロサービスコマンドワードのベースアドレス情報を1ワ
ード分更新し、更新されたマクロサービスコマンドワー
ド403内に含まれる新しいマクロサービス情報403−1を
読出す。マクロサービスモード情報403−1はENDコマン
ドであるため、マクロサービス終了処理を実行する。マ
クロサービス終了処理では、INTC302へ通知するため、C
RQ信号304−1をアクティブにすることで、割り込み要
求フラグ303−1をクリアにし、CME信号304−2をアク
ティブにすることにより、形態指定フラグ303−2をク
リアする。この場合には、マクロサービス要求処理の完
了の後、CPU301はマクロサービス処理要求が発生した時
点のPC、PSW、汎用レジスタ値からプログラムの処理を
継続する。
マクロサービスモード情報402−1の分岐コマンドで条
件が満足した場合、タイミング制御回路301−7は、次
に実行するマクロサービスコマンドワードのベースアド
レス情報402−2で指される、マクロサービスコマンド
ワード404内のマクロサービスモード情報404−1を読出
し、実行する。
本実施例において、マクロサービスモード情報404−1
は、レジスタバンクの切り換え指定コマンドであるBEXG
コマンドであるため、タイミング制御回路301−7は、
マクロサービス処理要求が発生した時点のPC301−5、P
SW301−6の値を、セレクタ301−8で選択されているレ
ジスタバンク群301−3中のレジスタバンク内に設定さ
れている退避エリア(詳細は図示していない。)にそれ
ぞれ退避し、レジスタアンクアドレス情報404−2で示
されたレジスタバンクアドレスをセレクタ301−8に設
定することで、新たにレジスタバンクを選択し、かつ新
たに選択されたレジスタバンク中に事前に格納されてい
たPC値、PSW値をそれぞれPC301−5、PSW301−6に設定
し、マクロサービスの終了処理を行なう。
マクロサービスの終了処理では、INTC302へ通知するた
め、CRQ信号304−1をアクティブにすることで、割り込
み要求フラグ303−1をクリアにし、CME信号304−2を
アクティブにすることにより、形態指定フラグ303−2
にクリアする。この場合には、マクロサービス要求処理
の完了の後、CPU301は新たに設定されたPC、PSW、レジ
スタバンク中の汎用レジスタを基に新たなプログラム処
理を継続する。
第5図は、以上説明したマクロサービス処理で、プログ
ラムを実行させた場合のプログラムの制御の流れを示す
図である。
第5図(a)は、分岐条件が満足されずENDコマンドを
実行した場合で、マクロサービス処理の終了で、マクロ
サービス処理要求が発生した時点の状態から、マクロサ
ービス実行前に処理中であったプログラムAが再開して
いる。第5図(b)は、分岐条件が満足し、BEXGコマン
ドを実行した結果、マクロサービス処理要求が発生した
時点の状態がレジスタバンク中に保存され、新たなPC、
PSW、汎用レジスタ値から、マクロサービス実行前に処
理中であったプログラムAとは異なるプログラムBが実
行された場合を示している。第5図(b)は、従来例の
プログラムの流れを示した第10図に比較すると、1つの
プログラム実行中、割り込み処理要求またはマクロサー
ビス処理要求が発生した結果、割り込みプログラムの実
行またはマクロサービス処理の実行後、他のプログラム
に制御を移すまでの流れが改善され、簡素化されている
ことを表わしている。
次に、本発明に基づく第3の実施例を、第6図及び第7
図を参照して説明する。
本実施例は、第3図で示した構成と全く同一構成のハー
ドウェア上で動作するものとし、ハードウェア構成の詳
細な説明は省略する。
第1の実施例が、シーケンシャルなマクロサービス処
理、第2の実施例が条件分岐付きマクロサービス処理の
例であるのに対し、第3の実施例では、多方向分岐のマ
クロサービス処理の例を示している。
第3図のCPU301に於ける命令処理手順については、実施
例1と同様であるため、説明は省略する。また、割り込
み要求が発生した場合の動作も実施例1と同様であるた
め、これも説明は省略する。
次に本発明によるマクロサービス処理に於ける動作を説
明する。
尚、本マクロサービス処理に際し、データメモリ309上
には、第6図に示す制御情報が予め設定されているもの
とする。
第6図に於いての、マクロサービス制御ワード600、制
御情報600−1、マクロサービスコマンドワードのベー
スアドレス600−2、マクロサービスコマンドワード60
1,602,603、マクロサービスモード情報601−1,602−1,6
03−1とメモリポインタ情報601−2、レジスタバンク
アドレス情報601−2,603−2、及びバッファ領域604
は、実施例2で説明した構成と同様である。
次に第3図と第6図を参照してマクロサービス動作を説
明する。
タイミング制御回路301−7は、命令処理の最後のタイ
ミングで割り込み要求信号307−1がアクティブレベル
で、かつ形態指定信号307−2がアクティブレベルであ
ると検出すると、IR301−4に強制的にマクロサービス
処理コードを設定し、以下に説明する手順でマクロサー
ビス処理を開始する。
まず、タイミング制御回路301−7は、アドレスバス306
上に出力されたマクロサービス制御ワード格納アドレス
情報を読み込む。
タイミング制御回路301−7は、マクロサービス制御ワ
ード格納アドレス情報に基づいてデータメモリ309から
マクロサービス制御ワード600を読み出す。以下、実施
例2と同様に、マクロサービスの初期処理を開始する。
IR301−4に設定された制御情報に基づき、このマクロ
サービス制御ワード600に含まれるマクロサービスコマ
ンドのベースアドレス情報600−2をテンポラリレジス
タ301−1に格納すると共に同アドレス情報をアドレス
バス306上に出力し、データメモリ309内のマクロサービ
スコマンドワード601からマクロサービスモード情報601
−1を読み出す。
IR301−4内にマクロサービス情報601−1を設定する事
により所定のマクロサービス処理を開始する。以上の処
理によりマクロサービス処理が開始される。
マクロサービスモード情報601−1に設定されている転
送かつ分岐コマンドは、転送処理と分岐処理の複合処理
で、データ転送処理を実行した後、そのデータを元に次
のマクロサービスコマンドワードのアドレスを求めて、
次の処理に移行するマクロサービス処理である。
まず転送処理では、本割込みソースに対応するハードウ
ェアから(例えばシリアル受信バッファ)データを引き
取り、バッファ領域604に格納する。
次の分岐処理では、データの格納処理と同時に、タイミ
ング制御回路301−7の指令で、データバス310上にのっ
たデータから、ALU301−2を用いて次に選択すべきマク
ロサービスコマンドワードへのアドレスを算出する。
転送処理でのデータとマクロサービスコマンドワードへ
のアドレスとの対応は、例えばデータに対し、そのデー
タを2倍したものにベースアドレスを加算するという修
飾を施して、マクロサービスコマンドワードのアドレス
を生成する。このような方法を用いることで、データ値
に応じて、複数のマクロサービスコマンドワードのアド
レスを直接生成することができ、多方向分岐に相当する
処理を行なうことが可能となる。
マクロサービスモード情報602−1は、レジスタバンク
の切り換え指定コマンドであるBEXGコマンドであるた
め、タイミング制御回路301−7は、マクロサービス処
理要求が発生した時点のPC301−5、PSW301−6の値
を、セレクタ301−8で選択されているレジスタバンク
群301−3中のレジスタバンク内に設定されている退避
エリア(詳細は図示していない。)に夫々退避し、レジ
スタバンクアドレス情報602−2で示された、レジスタ
バンクアドレスをセレクタ301−8に設定することで、
新たにレジスタバンクを選択し、且つ新たに選択された
レジスタバンク中に事前に格納されていたPC値、PSW値
を夫々、PC301−5、PSW301−6に設定し、マクロサー
ビスの終了処理を行なう。
一連のマクロサービス終了処理では、INTC302へ通知す
るために、CRQ信号304−1をアクティブにすることで、
割り込み要求フラグ303−1をクリアにし、CME信号304
−2をアクティブにする事により、形態指定フラグ303
−2をクリアする。
以上説明した一連の処理を実行することで、マクロサー
ビス要求処理の完了の後、CPU301は新たに設定されたP
C、PSW、汎用レジスタ値を基に新たなプログラム処理を
継続することができる。
第7図は、割込み処理プログラムの一例で、割込みが発
生すると割込み発生元ハードウェアから(例えばシリア
ルの受信バッファ)データを引き取り、このデータの内
容に基づき、割込み処理から復帰する際、夫々異なった
プログラムに制御を移す場合で、データがaの時、プロ
グラムAに、データがbの時プログラムBへ制御を移す
ことを示している。
前述した、方法を利用することで、第7図で示した様な
割込みプログラムは、総て本実施例のマクロサービス処
理として記述することが可能で、割込み発生で自動的
に、データの転送と各プログラムに対応したレジスタバ
ンクに切り換えることが出来、プログラム記述の省力化
ができ、且つ割込み発生に対する処理の応答性が、格段
に向上する。
〔発明の効果〕
以上説明したように本発明は、各マクロサービス処理
(所定のデータ処理)要求に必要なマクロサービス処理
を起動するための複数個のマクロサービス制御コマンド
を設定することにより、単一のマクロサービス要求で複
数のマクロサービス処理をプログラマブルに設定し、か
つ連続的に実行することができるので、従来、割り込み
処理プログラムとして命令の組合せで記述していた場合
に発生する、PC、PSWやその他の割り込み発生時点での
実行環境の退避処理、設定処理を削除することが可能
で、割り込み発生時のCPU処理能力を大幅に向上させる
ことができ、また単一のマクロサービス要求で複数のマ
クロサービス処理を連続的に実行できることにより、大
半の割り込み処理プログラムは、連続したマクロサービ
ス処理として、事前にマクロサービス制御コマンドを設
定しておくことで実現でき、かつマクロサービスの終了
処理でPC、PSW、汎用レジスタなどのプログラム実行環
境を再設定する手段を用いることで、マクロサービス処
理要求を契機として1つのプログラムから他のプログラ
ムへ制御を遷移させることが可能となり、メイン処理プ
ログラムで外部から非同期に発生する割り込み要求を意
識する必要がなく、プログラム作成でき、プログラム記
述性も格段に向上する効果がある。
【図面の簡単な説明】
第1図は本発明のデータ処理装置の第1の実施例のブロ
ック図、第2図は第1図のデータメモリ109の割り付け
図、第3図は本発明のデータ処理装置の第2の実施例の
ブロック図、第4図は第3図のデータメモリ309の割り
付け図、第5図は第2の実施例に基づいたプログラムの
制御の流れ図、第6図は、第3の実施例で使用するデー
タメモリの割り付け図。第7図は、第3の実施例に基づ
いたプログラムの制御の流れ図、第8図はデータ処理装
置の従来例のブロック図、第9図は第8図の従来のデー
タ処理装置上でのプログラム例を示す図、第10図は第8
図の従来例に基づいたプログラムにおける制御の流れ図 100,300,800……割り込みソース、101,301,801……CP
U、102,302,802……INTC、103−1,303−1,803……割り
込み要求フラグ、103−2,303−2……形態指定フラグ、
104−1,304−1,804……CRQ信号、104−2,304−2……CM
E信号、105,305,805……VCRD信号、106,306,806……ア
ドレスバス、107−1,307−1,807……割り込み要求信
号、107−2,307−2……形態指定信号、108,308,808…
…プログラムメモリ、109,309,809……データメモリ、1
10,310,810……データバス、101−1,301−1,801−1…
…テンポラリレジスタ、101−2,301−2,801−2……AL
U、101−3,801−3……汎用レジスタ、301−3……レジ
スタバンク群、101−4,301−4,801−4……IR、101−5,
301−5,801−5……PC、101−6,301−6,801−6……PS
W、101−7,301−7,801−7……タイミング制御回路、30
1−8……セレクタ、200,400,600……マクロサービス制
御ワード、200−1,400−1,600−1……制御情報、200−
2,400−2,600−2……マクロサービスコマンドワードの
ベースアドレス、201,202,203,401,402,403,404,601,60
2,603……マクロサービスコマンドワード、201−1,202
−1,203−1,401−1,402−1,403−1,404−1,601−1,602
−1,603−1……マクロサービスモード情報、201−2,20
2−2,203−2,401−2,402−2,403−2,404−2,601−2…
…メモリポインタ情報、204,405,604……バッファ領
域、205……実行状態保持領域、602−2,603−2……レ
ジスタバンクアドレス情報。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】命令の実行アドレスを保持するプログラム
    カウンタとプログラムの実行状態を保持するプログラム
    ステータスワードと高速記憶手段とを有する中央処理装
    置と、前記中央処理装置へ非同期に処理要求を発生する
    割り込み要求発生回路と、前記割り込み要求発生回路か
    らの割り込み要求を制御する割り込み制御装置と、前記
    中央処理装置でのデータ処理を制御するための割り込み
    制御情報を格納する制御情報格納部を有するメモリ部と
    を備え、前記割り込み要求発生回路が前記データ処理の
    処理要求を発生に応じて前記割り込み制御装置の制御に
    より命令実行処理を中断して、前記データ処理であって
    前記制御情報格納部中の割り込み制御情報に応じた処理
    を実行するデータ処理装置において、 前記割り込み制御情報はモード情報部を有し、前記中央
    処理装置は、前記割り込み要求に応じて前記モード情報
    部から第1又は第2のモード情報を取り出し、前記第1
    のモード情報に応じて、一つの前記割り込み制御情報に
    応じた処理と他の前記割り込み制御情報に応じた処理と
    を連続して実行し、前記割り込み制御情報の第2のモー
    ド情報に応じて前記割り込み制御情報に応じた処理を終
    了すると共に、前記プログラムカウンタと前記プログラ
    ムステータスワードと前記高速記憶手段の内容を所定の
    値に設定し、前記命令実行処理を再開する制御手段を更
    に有することを特徴とするデータ処理装置。
JP63170645A 1987-09-10 1988-07-08 データ処理装置 Expired - Fee Related JPH0752392B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63170645A JPH0752392B2 (ja) 1987-09-10 1988-07-08 データ処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP22760987 1987-09-10
JP62-227609 1987-09-10
JP63170645A JPH0752392B2 (ja) 1987-09-10 1988-07-08 データ処理装置

Publications (2)

Publication Number Publication Date
JPH01152540A JPH01152540A (ja) 1989-06-15
JPH0752392B2 true JPH0752392B2 (ja) 1995-06-05

Family

ID=26493581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63170645A Expired - Fee Related JPH0752392B2 (ja) 1987-09-10 1988-07-08 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0752392B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2835896B2 (ja) * 1992-10-02 1998-12-14 株式会社ピーエフユー テストプログラムの実行制御方式

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60183662A (ja) * 1984-03-02 1985-09-19 Nec Corp 情報処理装置
JPS60183661A (ja) * 1984-03-02 1985-09-19 Nec Corp 情報処理装置

Also Published As

Publication number Publication date
JPH01152540A (ja) 1989-06-15

Similar Documents

Publication Publication Date Title
JP2655615B2 (ja) 情報処理装置
WO1997022987A1 (en) Method and apparatus for dynamic appending of direct memory access chain descriptors
JPH0212432A (ja) データ処理装置
JPH0752392B2 (ja) データ処理装置
JP2003058381A (ja) プログラムによる例外処理設定を可能にしたプロセッサ
JPS6027031A (ja) 情報処理装置
JPH0520104A (ja) 仮想クラスタ間通信処理装置
JP2871171B2 (ja) マイクロコンピュータ
JP2720427B2 (ja) ベクトル処理装置
JP3139310B2 (ja) ディジタル信号処理装置
JPH02110739A (ja) マルチタスク用中央処理装置
JP2844624B2 (ja) データ処理装置
JP2876629B2 (ja) データ処理装置
JPH05233525A (ja) I/o処理装置
JPH0351929A (ja) 情報処理装置及び情報処理システム
JPH0375832A (ja) 仮想計算機制御方式
JPS61210461A (ja) デ−タチェイン方式
JPH0683640A (ja) 割込応答処理方式
JPS616704A (ja) プログラマブル・コントロ−ラ
JPS6120139A (ja) 割込み制御方式
JPH02189632A (ja) 情報処理装置
JPH0883187A (ja) データ処理装置
JPS63282869A (ja) チャネルクロスコ−ル装置
JP2003076559A (ja) 情報処理装置
JPS63268003A (ja) プログラマブルコントロ−ラ

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees