JP3209560B2 - マイクロプロセッサ・システムの割込管理方法 - Google Patents

マイクロプロセッサ・システムの割込管理方法

Info

Publication number
JP3209560B2
JP3209560B2 JP02422692A JP2422692A JP3209560B2 JP 3209560 B2 JP3209560 B2 JP 3209560B2 JP 02422692 A JP02422692 A JP 02422692A JP 2422692 A JP2422692 A JP 2422692A JP 3209560 B2 JP3209560 B2 JP 3209560B2
Authority
JP
Japan
Prior art keywords
interrupt
processing
handler
interrupt handler
address
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
JP02422692A
Other languages
English (en)
Other versions
JPH05224951A (ja
Inventor
康夫 中島
智洋 山脇
信夫 熱海
Original Assignee
富士通コミュニケーション・システムズ株式会社
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 富士通コミュニケーション・システムズ株式会社 filed Critical 富士通コミュニケーション・システムズ株式会社
Priority to JP02422692A priority Critical patent/JP3209560B2/ja
Publication of JPH05224951A publication Critical patent/JPH05224951A/ja
Application granted granted Critical
Publication of JP3209560B2 publication Critical patent/JP3209560B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はマイクロプロセッサ・シ
ステムの割込管理方法に関する。近年、多くのマイクロ
プロセッサ・システムが使用されているが、マイクロプ
ロセッサ・システムにおいてはマイクロプロセッサ(以
下、CPUと記す)がプログラムの処理を実行中に外部
デバイスまたは外部装置(以下、外部装置と総称する)
から割込要求が行われたときに実行中のプログラム処理
を中断して外部装置の割込要求を処理することが多い。
【0002】外部要求で処理する内容は外部装置ごとに
異なるので、ユーザが外部装置ごとに割込処理ルーチン
(以下、割込ハンドラと記す)を作成しておき、割込要
求があったときにCPUが割込要求を行った外部装置を
識別し、該当する割込ハンドラを呼び出して処理させる
方法が用いられている。
【0003】外部割込の発生によりCPUが実行中のプ
ログラム処理を中断する際には、再開するプログラムの
番地や、それまで使用していたCPUの内部レジスタの
内容を保存してから割込処理を実行し、割込処理が終了
したときにこれらのレジスタを元の状態に復してプログ
ラムを再開するが、前記割込ハンドラの中で内部レジス
タの退避処理を記述することは割込ハンドラの作成を煩
雑にするため、これらの処理はOS(オペレーティング
・システム)の割込管理機能によって行うのが普通であ
る。
【0004】しかし、現在普及しているマイクロプロセ
ッサ・システムでは割込要求を受けたCPUがハード的
に割込ハンドラを起動するようになっているため、もし
そのまま割込ハンドラによって割込処理が開始されると
OSは割り込みの発生を知ることができず、レジスタ類
の保存を行うこともできなくなる。このため、割込ハン
ドラ側からOSを呼び出して(システムコールと呼ぶ)
OSにレジスタの保存などの処理を行ってもらい、これ
らの処理の終了後に再び割込ハンドラに処理を戻して割
込処理を行う方法が用いられている。割込処理の終了時
も同様に割込ハンドラからシステムコールを行い、OS
がレジスタ等の復帰を行ったのち、中断していたプログ
ラムを再開させる。なお、このシステムコールによって
OSは割込処理の状態を管理することが可能となってい
る。
【0005】一方、ユーザが作成する割込ハンドラは現
在では高級言語によって書かれるのが普通であるが、高
級言語によって前記のシステムコールを含めて記述する
と、機械語に翻訳した時点で、モジュール(ハンドラ)
の先頭で必ずスタックの操作と、いくつかのCPU内レ
ジスタの書き替えが行われるようになっている。このた
め、CPUのレジスタは内容を退避する前に使用される
こととなる。割込処理の終了時にも同様な問題が発生す
る。
【0006】このような状態を避けるためにはシステム
コールに前後する部分を高級言語でなくアセンブラ言語
を用いて記述する必要がある。しかし、現在ではアセン
ブラ言語による記述は一般的でないため、正確な記述を
行うのが難しく、加えて割込ハンドラの内部で分岐など
があると終了時の処理に誤りが生じ易い。
【0007】このため、割込ハンドラを高級言語のみで
記述することが可能で、処理誤りが発生し難いマイクロ
プロセッサ・システムの割込管理方法が必要となってい
る。
【0008】
【従来の技術】図6はマイクロプロセッサ・システム構
成図、図7は従来技術のシステム構成図、図8は従来技
術のメモリ構成図、図9は従来技術の処理移行状態の説
明図、図10は従来技術のフロー図である。
【0009】図6は本発明が適用されるマイクロプロセ
ッサ・システムの構成の一例を示している。図6のCP
U1は8086シリーズのマイクロプロセッサ(CP
U)を用いて構成されたマイクロプロセッサ・システム
の例を示しているが、CPU1はバス6を介してRAM
(ランダムアクセス・メモリ)4、ROM(読出専用メ
モリ)5、割込コントローラ(以下、PICと記す)2
及び8台の外部装置(I/O)3-1〜3-8と接続されて
いる。
【0010】PIC2は8台の外部装置3-1〜3-8のう
ちの複数からIR0 〜IR7 線を介して同時に割込要求
があった場合に優先順位などを比較し、同時に一つの割
込要求のみがCPU1に行われるように調停する役割を
もち、割込要求はINTR線を通してCPU1に送出さ
れる。1つのPIC2には8台の外部装置が接続できる
が、PIC2をカスケードに接続することにより最大2
56台までの外部装置を接続することができる。
【0011】図7は従来技術におけるマイクロプロセッ
サ・システムの割込処理関連部分のシステム構成を図示
し、図8は図7の各部のメモリ(図7では図示省略)上
の記憶状態の例を図示しているが、以下、図7及び図8
により従来技術を説明する。なお、図7及び図8では2
台の外部装置3-1〜3-2のみを記載している。
【0012】図7の構成部分の一部は図8に示すように
RAMとROMにより構成されるメモリ上に記憶され、
CPU1がこれらを読み出しながら各機能を動作させ
る。プログラム類はRAMまたはROMのいずれにも記
憶可能なものが多いが、ここでは説明の便から、ROM
にはOS60を構成する割込ハンドラ起動処理部61、割込
ハンドラ終了処理部62及び実行管理部63のみが記憶さ
れ、割込ハンドラ81及びアプリケーション・プログラム
(以下、APと記す)82はRAMに記憶されるものとす
る。なお、以下において単にOSと記した場合にはOS
60全体またはその一部(主として実行管理部63)を指す
ものとする。
【0013】いま、CPU1がOSの実行管理部63との
共同動作によりAP82の1200番地の命令を実行中である
とすると、CPU1内のプログラムカウンタ(以下、P
Cと記す)1aは図8に示すように実行中の番地の次の12
01番地を指している。
【0014】この状態で外部装置3-1より割込要求があ
り、PIC2が他の割込要求と優先度などを比較してこ
の割込要求を優先することを確認すると、これをCPU
1に伝える。割込要求の内容は外部装置ごとに異なるた
め、どの外部装置からの割込要求であるかを識別する必
要があるが、以下、割込要求を行った外部装置を割込番
号で識別することとし、外部装置3-1及び3-2の割込要
求をそれぞれ割込番号1及び割込番号2とする。
【0015】図8の割込ベクタ領域71は各割込番号の割
込処理内容を規定する割込ハンドラ81が記憶されている
メモリ領域の先頭番地(ベクタと呼ばれる)を記憶して
いるメモリ領域であり、割込番号ごとに4バイト(セグ
メントとオフセット各2バイト)のアドレス情報を記憶
している。
【0016】外部装置は最大256まで接続できるた
め、割込ベクタ領域71には0から255までの番号をも
つ256の領域が確保されている。この番号をタイプナ
ンバと呼び、各タイプナンバへの割り込みをタイプ0割
込〜タイプ255割込と呼んでいる。実際にはユーザが
使用できるタイプナンバの範囲は限定されているが、こ
こでは説明の便から、割込番号1をタイプ0割込、割込
番号2をタイプ1割込に対応させて説明する。
【0017】ベクタ領域71の物理アドレス(バイトアド
レス)には例えば 00000〜 003FF番地(16進数)が使
用され、各タイプナンバごとに割り当てられた4バイト
の先頭番地がアドレスとして使用される。従って、割込
番号1は 00000番地、割込番号2は 00004番地を使用し
て割込ベクタ領域71にアクセスする。
【0018】外部装置3-1の割込要求がPIC2を介し
てCPU1に伝えられると、CPU1は図6のINTA
線に割込要求を受け付けたことを知らせ、PIC2より
割込要求元を識別する情報として前記タイプ0割込のア
ドレス情報 "00000"が送られる。これによりCPU1は
00000番地にアクセスし、その内容を読み取る。
【0019】タイプ0割込に記憶されている割込ハンド
ラの先頭番地が 3000番地であるとすると、CPU1は
この番地、即ち、割込ハンドラ81の処理に移るが、それ
に先立ち、中断するAP82の情報を退避させる。
【0020】図8では退避先のメモリ領域はRAM上の
スタック領域83に確保されており、CPU1 内のスタッ
クポインタ(以下、SPと記す)1bが退避情報を記憶さ
せる番地を指している。退避する情報は割込処理が終了
したときに復帰すべき番地であり、この場合はPC1aが
指しているアドレスの"1201"となる。
【0021】CPU1がこの"1201"をスタック領域83に
記憶させるとSP1bは次の番地に移動し、更に高位の割
り込みに備える。これを終了したのち、PC1aは割込番
号1用の割込ハンドラの先頭番地である3000番地に跳
び、処理が割込ハンドラ81に移る。ここまでの処理はO
S60が関与せずにCPU1によって行われる。
【0022】割込ハンドラ81は処理を開始すると、先ず
前述したシステムコールを行うのでCPU1はOS60の
一部を構成する割込ハンドラ起動処理部61によりレジス
タ類(図示省略)の退避、即ち、AP82で使用していた
レジスタの内容の退避を開始する。
【0023】このとき、OS60は割込ハンドラ81から起
動されたが、起動した割込ハンドラがどの外部装置のも
のであるか知らされていないため、PIC2にアクセス
し、その内部レジスタ(図示省略)を読むことによって
確認する。これによってOSは、現在どの割込処理が行
われているかを管理することが可能となり、多重割込が
行われた場合などに対処することができる。しかし、こ
の割込要因の解析は、外部装置数が多く、PIC2がカ
スケード接続されているような場合には時間を要し、O
Sのオーバーヘッドが大きくなる原因となる。
【0024】内部レジスタ類の保存と割込要因の解析を
終了すると、CPU1は再び処理の実行を割込ハンドラ
81に移し、割込ハンドラ81によって実質的な割込処理が
行われる。なお、割込ハンドラ81による割込処理の実行
中に高位の割込が発生すると、CPU1及びOSは前記
と同様な処理により高位の割込ハンドラを起動し、その
割込処理を実行させるたのち、前の割込ハンドラに処理
を戻す。OSはこのような多重割込などに備え、常に割
込状態を管理する。
【0025】割込処理が終了すると割込ハンドラ81は再
びシステムコールをかけ、これによりOSの割込ハンド
ラ終了処理部62がレジスタ類の復帰やPIC2の終了処
理を行い、スタック領域83に記憶されているアドレス情
報"1201"をPC1aに移すことにより中断していたAP82
の処理が再開される。
【0026】以上においては説明を省略したが、現在の
マイクロプロセッサ・システムが使用できるメモリ空間
は極めて大きいため、アドレスの桁数が長大になること
を避ける手段としてアドレスをセグメント(他と区別す
る場合はデータ・セグメントと呼ばれる)とオフセット
に分け、セグメントを予めタスクごとに割り当てておく
方法が使用されている。これにより、各プログラムはセ
グメントを意識することなく、オフセットのみを使用し
て作成することができる。しかし、アプリケーション・
プログラムの処理から割込処理に移る場合にはセグメン
トが変わることとなるため、割り込みの際には割込ハン
ドラ81とOS60の間でセグメントの付け替えについての
手順が取り決められる。
【0027】図9は割込処理の際の処理の移行状態を示
しているが、図示のように、APの処理実行中に割込要
求が発生すると、APの処理が中断されて割込ハンドラ
が起動される。割込ハンドラは起動されるとシステムコ
ールによってOSを呼び出し、OSによるレジスタの保
存などが終了するとOSより実行が移されて本来の割込
処理を実行する。割込処理を終了すると再びシステムコ
ールを行い、以後OSがレジスタの復帰などを行って中
断していたAPの処理を再開する。
【0028】図10は以上におけるCPUとOSの処理の
フロー図で、S11〜S14及びS21〜S23はフローの各ス
テップを示す記号である。図10の(1) は割込ハンドラ起
動時のフローを示しているが、割込処理の開始時は図示
のように、割込ベクタにより割込ハンドラを起動し(S
11) 、割込ハンドラよりのシステムコールによりOSの
割込ハンドラ起動処理部がCPU内部レジスタの保存
(S12) と割込要因の解析(S13) を行い、処理を割込
ハンドラに移して(S14) 処理を終了する。
【0029】図10の(2) は割込ハンドラ終了時のフロー
であり、割込ハンドラよりのシステムコールにより処理
の終了を通知された割込ハンドラ終了処理部が終了処理
を行うが、多重割込が行われていた場合はスタック領域
に保存されていた中断中の割込ハンドラのアドレスを管
理領域に復帰させ(S21) 、PIC2の終了処理(S2
2) と内部レジスタの復帰(S23) を行い、中断してい
た処理を再開する。
【0030】
【発明が解決しようとする課題】以上のように、従来技
術ではOSがもつ割込要因解析機能、レジスタ保存機能
及び割込状態管理機能を用いてユーザが作成した割込ハ
ンドラに割込処理を行わせているが、次のような問題を
有している。
【0031】(1) ユーザが作成する割込ハンドラは起
動後にシステムコールを行ってOSにレジスタの保存な
どを行わせているが、割込ハンドラを高級言語で記述す
るとシステムコールの際に先ず処理に必要な数値を転送
し、保存し終わっていないレジスタを使用する可能性が
あるため、高級言語のみで割込ハンドラを作成すること
ができない。
【0032】(2) 割込ハンドラの中で分岐などが行わ
れていると、終了処理が正確に行われず、終了時のシス
テムコールに誤りが発生し易いため、ユーザは割り込み
の状態を意識して割込ハンドラを作成する必要がある。
【0033】(3) 割り込みの際にデータ・セグメント
を変更する必要が生ずるため、OSとの間でデータ・セ
グメントの設定についての手順が必要となり、割込ハン
ドラの作成が複雑となる。
【0034】(4) 割込要因の解析の際にOSのオーバ
ーヘッドが大きくなる。即ち、従来技術は割込ハンドラ
の作成が難しく、OSのオーバーヘッドが大きいという
欠点を有している。
【0035】本発明は、割込ハンドラの作成が容易で、
OSのオーバーヘッドが少ない割込管理方法を提供する
ことを目的とする。
【0036】
【課題を解決するための手段】図1は本発明の基本構成
図である。図中、1はマイクロプロセッサ(CPU)、
10はオペレーティング・システム(OS)、31は外部割
込における割込要因ごとの処理を規定する割込ハンド
ラ、20は外部装置(図示省略)より割込要求を受けた前
記マイクロプロセッサ1より起動されたときにソフト割
込を指定して前記割込ハンドラ31への処理移行前に前記
オペレーティングシステム10に処理を移行させる二重割
込指定手段である。
【0037】11は前記オペレーティングシステム10内に
おいて、前記二重割込指定手段20を介して処理を移行さ
れたときに、割込要因の解析と前記マイクロプロセッサ
1の内部レジスタ類(図示省略)の保存を行ったのち、
前記割込ハンドラ31を起動する割込ハンドラ起動処理手
段、12は前記オペレーティングシステム10内において、
前記割込ハンドラ31より割込処理の終了を通知されたと
きに、前記内部レジスタ類の復帰と前記外部装置に対す
る割込終了処理を行ったのち、中断した前記プログラム
処理を再開させる割込ハンドラ終了処理手段である。
【0038】
【作用】図1において、OS10を介してプログラム処理
を実行中のCPU1が外部装置より割込要求を受ける
と、実行中のプログラム処理を中断して二重割込指定手
段20にアクセスする。
【0039】二重割込指定手段20はCPU1に対して割
込ハンドラ31が記憶されている番地を直接知らせずに、
ソフト割込の実行を指定する。このため、外部装置より
の割込要求により直接割込ハンドラ31に処理が移され
ず、ソフト割込処理が開始される。
【0040】ソフト割込処理は外部割込に優先して行わ
れるが、その際、ユーザが作成した割込ハンドラ31の代
わりにOS10内部において割込処理の役割をもつ割込ハ
ンドラ起動処理手段11が記憶されている番地を指定す
る。これにより、割込要求が行われたときに、CPU1
のハード的な動作によって割込ハンドラ31に直接処理が
移されずにOS10に処理が移される。
【0041】処理を移されたOS10内の割込ハンドラ起
動処理手段11は割込要因の解析とCPU1の内部レジス
タ類の保存を行ったのち、前記割込ハンドラ31を起動す
る。前記割込要因の解析によって割込要求を行った外部
装置が識別され、以後、OSが割込状態を管理すること
が可能となるが、この割込要因の解析は外部装置側にア
クセスすることなく簡単な方法で行われる(詳細後
述)。
【0042】起動された割込ハンドラ31は割込処理を実
行し、処理を終了するとOS10内の割込ハンドラ終了処
理手段12に割込処理の終了を通知する。割込ハンドラ終
了処理手段12は前記内部レジスタ類の復帰と前記外部装
置に対する割込終了処理を行ったのち、中断した前記プ
ログラム処理を再開させる。
【0043】以上のように、図1の構成においては外部
割込が発生したときにCPU1が直接割込ハンドラ31に
処理を移さずにOS10内の割込ハンドラ起動処理手段11
に処理を移し、内部レジスタ類の保存と割込要因の解析
を行ってから割込ハンドラ31を起動する。
【0044】このため、割込ハンドラ31はシステムコー
ルによってレジスタの保存などを要求する必要がなくな
り、割込処理の内容のみをすべて高級言語で作成するこ
とが可能となる。また、OSにおける割込要因の解析が
簡単となるため、OSのオーバーヘッドが小さくなる。
【0045】
【実施例】図2は本発明の実施例のシステム構成図、図
3は本発明の実施例のメモリ構成図、図4は本発明の実
施例の処理移行状態を説明する図、図5は本発明の実施
例のフロー図である。
【0046】全図を通じ、同一記号は同一対象物を示
し、1はマイクロプロセッサ(CPU)、1aはプログラ
ムカウンタ(PC)、1bはスタックポインタ(SP)、
2は割込コントローラ(PIC)、3-1,3-2は外部装
置、10はOS、11〜13はOS10を構成する各部で、11は
割込ハンドラ起動処理部、12は割込ハンドラ終了処理
部、13は実行管理部、14は割込ハンドラアドレステーブ
である。
【0047】21, 22は二重割込指定部20を構成する部分
で、21は割込ベクタ領域、22は二重割込指定テーブルで
ある。また、31は割込ハンドラ、32はアプリケーション
・プログラム(AP)、33はRAM上に設けらるスタッ
ク領域である。
【0048】図2はCPU1として8086シリーズの
マイクロプロセッサを使用した本発明の実施例のマイク
ロプロセッサ・システムの構成図を示している。説明の
便から図2及び図3には2台の外部装置3-1, 3-2のみ
を記載している。以下、図2及び図3により本発明の実
施例を説明するが、従来技術と重複する部分については
説明を省略する。
【0049】いま、CPU1がOS10の管理のもとでA
P32の1200番地を実行中であり、PC1aが次の1201番地
を指している状態で外部装置3-1より割込要求があった
ものとする。PIC2がこれをCPU1に伝えると、C
PU1は従来技術におけると同様、SP1bが指している
スタック領域33にPC1aの指している番地情報"1201"を
中断するAP32の再開アドレスとして退避させる。これ
とともにSP1bはスタック領域33内の次の番地に進み、
多重割込に備える。
【0050】次いで、CPU1は従来技術と同様、割込
ベクタ領域21のタイプ0の番地にアクセスし、記憶され
ているアドレス情報"12340" を読み出す。これによって
PC1aは 12340番地の次の 12342番地に移るが、前記の
12340番地は従来技術と異なり、割込番号に対応する割
込ハンドラ23の先頭番地ではなく、二重割込指定テーブ
ル22の割込番号1に対応する番地である。
【0051】二重割込指定テーブル22は必要な割込番号
の数だけ用意されるが、各割込番号に対応するメモリに
は同一内容、即ち、ソフト割込の命令が記憶されてい
る。このソフト割込は外部装置よりの割り込みよりも優
先度が高いものであるが、この割り込みも外部割込と同
様、割込ベクタ領域21にアクセスして処理ルーチンが記
憶されているメモリ領域の先頭番地を得るようになって
いる。ここではソフト割込の割込ベクタ領域21へのアク
セスにタイプ255(物理アドレスは003FC)を使用する
ことが機械語によって設定されている。
【0052】上記ソフト割込により二重割込が行われた
ことになるため、最初の割込でPC1aが移っていたアド
レス値"12342" をSP1bが指しているスタック領域33に
記憶し、SP1bは次の番地に移る。
【0053】ソフト割込が割込ベクタ領域21より得る情
報、例えば"20000" は図示のようにOS10の一部を構成
する割込ハンドラ起動処理部11の先頭番地となってい
る。割込ハンドラ起動処理部11は大別して、割込要因解
析部11a とレジスタ保存処理部11b により構成される
が、先のアドレス"20000" は割込要因解析部11a の先頭
番地となっており、ここで割込要因の解析が行われる。
【0054】割込要因解析部11a には割込番号ごとの割
込ハンドラの先頭番地が2バイト間隔のアドレスに記憶
されているので、割込番号を算出すれば「 30000+
(割込番号) −2」の式により割込番号に対応する割込
ハンドラのアドレスが判るようになっている。
【0055】前記割込番号は、スタック領域33に記憶し
たアドレス値"12342" から割込ベクタ領域21の先頭に記
憶されているアドレス値の"12340" を引き、2で割るこ
とにより得られる。即ち、割込要因の解析は簡単な演算
を実行するのみで行われ、PIC2の内部レジスタ(図
示省略)にアクセスするが必要がないため、OSに大き
なオーバーヘッドを生ずることがない。
【0056】この例では上記の演算により“1”が得ら
れ、この割り込みが割込番号1であることが識別され
る。そして 20000番地からの処理(割込要因解析部11a)
において、先に求めた割込番号1と割込ハンドラアドレ
ステーブル14から、割込ハンドラ31の処理に移ることが
できるが、それに先立ち、レジスタ保存処理部11b がC
PU1の内部レジスタの保存を行う。
【0057】内部レジスタ類の保存処理は従来技術にお
いて割込ハンドラよりのシステムコールによって行う内
容と同じであるが、本発明では割込ハンドラ31が関与せ
ずにすべてOS内部のみで行うことができるため、ユー
ザがレジスタ類の退避に配慮して割込ハンドラを作成す
る必要がない。なお、このとき、データ・セグメントの
付け替えなども行われる(詳細説明は省略)。
【0058】レジスタ保存処理部11b はレジスタの保存
などが終わると割込ハンドラ31を呼び出すが、これは
込要因解析部11a が割込番号1と割込ハンドラアドレス
テーブル14から得たアドレス値により行うが、アドレス
値が例えば"3000"であれば、処理を3000番地に移すこと
により割込ハンドラ31による処理が開始される。
【0059】処理が割込ハンドラ31に移されたのちにも
し高位の割込要求があったときにはその割込処理に移
る。そのため、OS10は割込ハンドラ31による割込処理
中も割込状態即ち、現在の割込処理がどの外部装置より
の要求のものであるかを管理する必要があるが、これは
先に割込要因解析部11a により識別された割込番号をO
S内部に保存することにより可能である。
【0060】以上のように、割込ハンドラ31はOSによ
って行われる処理がすべて終了したのちに起動されるた
め、CPU1の内部レジスタを保存したり、セグメント
の付け替えのためにアセンブラ言語を使用したり、特別
な手順を記述する必要がなく、割込処理内容のみを高級
言語だけを用いて記述することができる。その結果、こ
の割込ハンドラ31は通常のサブルーチンと同様に取り扱
うことができる。
【0061】割込処理が終了する場合も割込ハンドラ31
は内部レジスタやセグメントに関する特別な記述を行う
必要がなく、サブルーチンからメインルーチンに戻す場
合に通常使用される命令、例えばRETURN命令でO
Sに処理を戻すことができ、これによりOSは割込処理
が終了したことを知ることができる。
【0062】割込ハンドラ31よりの割込終了通知により
OSの割込ハンドラ完了処理部12はレジスタの復帰など
の処理を行い、中断していたAP32の処理を再開させる
が、その処理内容は従来技術とほぼ同一であるので説明
を省略する。
【0063】図4は以上における処理の移行状態を図示
したものであるが、図示のように、割込ハンドラは割込
処理の際にCPUがレジスタの保存などの処理をすべて
終了したのちに呼び出されるため、割込ハンドラ23の処
理内容は非常に簡単になる。
【0064】図5は以上における割込ハンドラ起動時の
CPUとOSの処理をフロー図に示したものであり、S
1〜S5はフローの各ステップを示す。割込が発生する
とCPUのハード処理によって二重割込指定テーブルに
無条件で分岐(S1) させたのち、二重割込指定テーブ
ルにおいてタイプ255のソフト割込を発生(S2)さ
せ、割込ハンドラ起動処理部において割込要因の解析
(S3)とCPU内部レジスタの保存(S4)を行う。
これらの処理が終わった時点で割込ハンドラを起動する
(S5)。
【0065】割込ハンドラの処理終了時の細部の処理は
前述のように従来技術と若干異なるが、フロー図上では
差がないので説明を省略する。以上、図2乃至図5によ
り本発明の実施例を説明したが、図2乃至図5はあくま
で本発明の一実施例を示したものに過ぎず、本発明が図
示したものに限定されるものでないことは勿論である。
【0066】例えば、上記の説明は8086シリーズの
マイクロプロセッサを例として行ったが、本発明がマイ
クロプロセッサの名称如何に関わらず同様な構成をもつ
マイクロプロセッサを使用するマイクロプロセッサ・シ
ステムに適用可能であることは明らかである。
【0067】また、図3に示したメモリ構成におけるR
AMの記憶内容の一部をROMに移しても本発明の効果
が変わらないことは明らかであり、また、アドレスや記
憶内容が図示のものに限定されないことは当然である。
更に、OSが保存または付け替え処理を行う対象はレジ
スタやデータ・セグメントのみに限定されるものではな
く、他の名称を有する同種の構成要素を含むことは勿論
であり、本発明はマイクロプロセッサ・システムの構成
の変形を排除するものではない。
【0068】
【発明の効果】以上説明したように、本発明において
は、OSが内部レジスタ類の保存などの処理をすべて終
了したのちに割込ハンドラを起動するため、割込ハンド
ラにレジスタの退避やデータ・セグメント付け替えのた
めの手順を記述する必要がない。このため、ユーザは外
部割込の処理内容を規定する割込ハンドラをすべて高級
言語で記述することができ、かつ、記述の簡明化にとも
ない誤処理が発生する可能性が減少する。また、割込要
因の解析が割込コントローラ(PIC)にアクセスする
ことなく簡単な演算によって行われるため、OSのオー
バーヘッドが減少する。
【0069】即ち、本発明は、割込管理を行うマイクロ
プロセッサ・システムにおける割込ハンドラの作成効率
と割込処理の効率の向上に大きく貢献する。
【図面の簡単な説明】
【図1】 本発明の基本構成図
【図2】 本発明の実施例システム構成図
【図3】 本発明の実施例メモリ構成図
【図4】 本発明の実施例処理移行状態説明図
【図5】 本発明の実施例フロー図
【図6】 マイクロプロセッサ・システム構成図
【図7】 従来技術のシステム構成図
【図8】 従来技術のメモリ構成図
【図9】 従来技術の処理移行状態説明図
【図10】 従来技術のフロー図
【符号の説明】
1 マイクロプロセッサ(CPU) 1a プログラムカウンタ(PC) 1b スタックポインタ(SP) 2 割込コントローラ(PIC) 3-1〜3-8 外部装置(I/O) 10 オペレーティング・システム(OS) 11 割込ハンドラ起動処理手段 12 割込ハンドラ終了処理手段 13 実行管理部14 割込ハンドラアドレステーブル 20 二重割込指定手段 21 割込ベクタ領域 22 二重割込指定テーブル 31 割込ハンドラ 32 アプリケーション・プログラム(AP) 33 スタック領域
───────────────────────────────────────────────────── フロントページの続き (72)発明者 熱海 信夫 神奈川県横浜市港北区新横浜三丁目9番 18号 富士通コミュニケーション・シス テムズ株式会社内 (56)参考文献 特開 平2−158839(JP,A) 特開 平2−133828(JP,A) 特開 昭62−274434(JP,A) 特開 昭59−62937(JP,A) 特開 平2−299030(JP,A) 特開 昭63−296140(JP,A) 特開 昭61−196336(JP,A) 特開 昭51−27745(JP,A) インターフェース、Vol.16、N o.6,CQ出版株式会社(1990年)、 pp.131〜144(特許庁CSDB文献番 号:CSNW199800225001) C MAGAZINE、Vol.2、 No.2、株式会社日本ソフトバンク (1990年)、pp.86〜92(特許庁CS DB文献番号:CSNW199800150012) (58)調査した分野(Int.Cl.7,DB名) G06F 9/46 G06F 13/24 CSDB(日本国特許庁)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 オペレーティングシステム(10)を介して
    プログラム処理を実行中のマイクロプロセッサ(1) が外
    部装置より割込要求を受けたときに実行中のプログラム
    処理を中断して割込要因ごとの処理を規定する割込ハン
    ドラ(31)に割込処理を行わさせるマイクロプロセッサ・
    システムにおいて、 割込要求を受けた前記マイクロプロセッサ(1) より起動
    されたときにソフト割込を指定して前記割込ハンドラ(3
    1)への処理移行前に前記オペレーティングシステム(10)
    に処理を移行させる二重割込指定手段(20)と、 前記オペレーティングシステム(10)内において、前記二
    重割込指定手段(20)を介して処理を移行されたときに、
    割込要因の解析と前記マイクロプロセッサ(1)の内部レ
    ジスタ類の保存を行ったのち、前記割込ハンドラ(31)を
    起動する割込ハンドラ起動処理手段(11)と、 前記オペレーティングシステム(10)内において、前記割
    込ハンドラ(31)より割込処理の終了を通知されたとき
    に、前記内部レジスタ類の復帰と前記外部装置に対する
    割込終了処理を行ったのち、中断した前記プログラム処
    理を再開させる割込ハンドラ終了処理手段(12)を備えた
    ことを特徴とするマイクロプロセッサ・システムの割込
    管理方法。
JP02422692A 1992-02-12 1992-02-12 マイクロプロセッサ・システムの割込管理方法 Expired - Fee Related JP3209560B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02422692A JP3209560B2 (ja) 1992-02-12 1992-02-12 マイクロプロセッサ・システムの割込管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02422692A JP3209560B2 (ja) 1992-02-12 1992-02-12 マイクロプロセッサ・システムの割込管理方法

Publications (2)

Publication Number Publication Date
JPH05224951A JPH05224951A (ja) 1993-09-03
JP3209560B2 true JP3209560B2 (ja) 2001-09-17

Family

ID=12132357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02422692A Expired - Fee Related JP3209560B2 (ja) 1992-02-12 1992-02-12 マイクロプロセッサ・システムの割込管理方法

Country Status (1)

Country Link
JP (1) JP3209560B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3600095B2 (ja) * 1999-12-07 2004-12-08 松下電器産業株式会社 割り込み管理装置及び割り込み管理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
C MAGAZINE、Vol.2、No.2、株式会社日本ソフトバンク(1990年)、pp.86〜92(特許庁CSDB文献番号:CSNW199800150012)
インターフェース、Vol.16、No.6,CQ出版株式会社(1990年)、pp.131〜144(特許庁CSDB文献番号:CSNW199800225001)

Also Published As

Publication number Publication date
JPH05224951A (ja) 1993-09-03

Similar Documents

Publication Publication Date Title
JP3659062B2 (ja) 計算機システム
US6513057B1 (en) Heterogeneous symmetric multi-processing system
US5634046A (en) General purpose use of a stack pointer register
US6711605B2 (en) Multi OS configuration method and computer system
US5594903A (en) Operating System architecture with reserved memory space resident program code identified in file system name space
US5452454A (en) Generic remote boot for networked workstations by creating local bootable code image
US5369770A (en) Standardized protected-mode interrupt manager
US5675795A (en) Boot architecture for microkernel-based systems
US5701493A (en) Exception handling method and apparatus in data processing systems
JP2644780B2 (ja) 処理依頼機能を持つ並列計算機
JPH1124943A (ja) 計算機再起動方法および計算機停止方法
JP2539913B2 (ja) デ―タ処理システム
JPH0544054B2 (ja)
JP2001290665A (ja) プロセッサシステム
JP2821345B2 (ja) 非同期i/o制御方式
JP2991242B2 (ja) マルチプロセッサコンピュータシステム使用方法
JP3209560B2 (ja) マイクロプロセッサ・システムの割込管理方法
US6263421B1 (en) Virtual memory system that is portable between different CPU types
JP2001216172A (ja) マルチos構成方法
JPS6049352B2 (ja) デ−タ処理装置
JP3163196B2 (ja) 仮想記憶制御における命令中断情報格納制御方法
JPH06332864A (ja) マルチプロセッサシステムにおけるcpu間通信方式
JPH09231069A (ja) 情報処理方法及び装置
JPH0219494B2 (ja)
JP3029445B2 (ja) 起動受付装置及び方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090713

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees