JPH03204036A - 割込み処理後の動的再開機構を備えた計算機 - Google Patents

割込み処理後の動的再開機構を備えた計算機

Info

Publication number
JPH03204036A
JPH03204036A JP1344936A JP34493689A JPH03204036A JP H03204036 A JPH03204036 A JP H03204036A JP 1344936 A JP1344936 A JP 1344936A JP 34493689 A JP34493689 A JP 34493689A JP H03204036 A JPH03204036 A JP H03204036A
Authority
JP
Japan
Prior art keywords
processing
cache
area
stack
data
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
JP1344936A
Other languages
English (en)
Inventor
Masaro Nakamura
中村 正郎
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP1344936A priority Critical patent/JPH03204036A/ja
Publication of JPH03204036A publication Critical patent/JPH03204036A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Power Sources (AREA)
  • Retry When Errors Occur (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) この発明は、致命的割込みあるいは例外事象が発生した
り、割込み処理あるいは例外処理に関連するプロセッサ
状態の退避と回復に不当に時間がかかるといった状況の
ときのために、何らかの原因で走行中のプL7セスの実
行が中断されても、その時点でのプロセッサ状態を退避
することなく、そのような事態発生後の適当な時期に、
プロセスの実行過程ですでに動的に設定されている復帰
点に戻って、そのプロセスの実行を正常に再開できる機
構を備えた情報処理装置に関する。
(従来の技術の問題点) 従来の情報処理システムでは、プロセス実行中に電源異
常あるいはハスエラーなとの致命的障害か生じた場合の
回復の手段は殆となく、システl、によっては僅かにシ
ステム生成時に指定したチエツク・ポイントからの再開
かてきる程度である。
このためいったんこのような事態が起こると、もう−度
始めから処理をやりなおさな(ではならないのが普通で
あった。
また、致命的障害ではないにしても、走行中のプロセス
とは非同期に外部的要因による割込み原因が発生したと
きに、高性能の計算機はと、命令の実行途中でもできる
たけ早くそういった割込み原因に対処しようとしていた
。しかし、任意の時点で処理を中断すれば、処理再開の
ために退避すべきレジスタの内容なとのプロセッサ状態
の量が増大し、割込み処理時間の増大とハードウェア機
構の複雑化を招い−Cいた。
上記の問題点のうち致命的障害は、小数台数の処理装置
により構成される単独の計算機システムではまだしも、
多数の処理装置を擁するネットワーク構成の計算機シス
テムで、多数の処理装置か協調的に処理を進める処理形
態では特に問題である。そのようなシステムでは、1台
の処理装置の異常かネットワーク全体に波及するし、ハ
スエラーなとの発生頻度もンステj1規模の拡大に伴っ
て増大するのは必然なので、ネットワーク化の進展とと
もに次第に深刻な問題となろう。
またR I S C(Reduced In5truc
tion Set Compuling縮小命令系計算
)として知られる計算機構築方式では、簡単な命令だけ
でプログラムを構成するので、処理の高速化のためには
処理装置内に大量の内部レジスタを設けなければならず
、プロセッサ状態か増大するので、コンテキスト・スイ
ッチングすなわちプロセス実行環境切替えに要する時間
が大きな問題である。
(発明か解決しようとする問題点) 本発明は特に組み込み制御システム、マイクロプロセッ
サ・ネットワークを念頭に置いて、処理の高速化のため
に顕著になりつつあるプロセッサ状態の増大とそのため
に生ずるプロセス切り替え時間の増大という、処理装置
設計上の矛盾を解消し、処理の高速化とタスク切り替え
時間の短縮を同時に実現することを目的とする。
(問題点を解決するための手段) 本来のプログラム実行速度を損なわすに、要所要所でプ
ロセッサ状態を保存する手段を設ける。
このために、先ず高水準言語、中間言語あるいは機械語
命令の各レベルで、プロセッサ状態の保存に適した区切
り点を決める。この区切り点におけるプロセッサ状態を
表す情報は、プログラム・カウンタや実行中のプログラ
ムに関する各種制御モート情報を含む最小限のものとす
べきであり、アドレス計算や一般の算術論理演算の中間
結果を保持する各種レジスタの内容は、止むを得ないも
のは別として、原則的には含むへきでない。
つの区切り点におけるプロセッサ状態のうち次の区切り
点までのプログラム実行により変化する可能性のあるレ
ジスタ、フラグの類の内容はすべて保存するように、レ
ジスタを二重にするなとの手段を講じておく。そして退
避用のレジスタに納めたブロモ・ソサ状態情報は、必要
ならまとめて主記憶の指定した場所に格納したり、逆に
主記憶に退避しておいたブロモ・ノサ情報を一括してレ
ジスタにロートし直せるように、特別な命令を命令系の
中に含ませておく。聞届は主記憶装置の記憶内容など、
通常プロセッサ状態の一部とは考えない装置の状態であ
り、そのような状態も保存するソフトウェアならびにハ
ードウェア機構が必要なことである。
このためには、主記憶の使用内訳をコード領域、スタッ
ク領域、大域変数領域というように明確に区別する。コ
ード領域はプログラムの命令コードを収めた部分である
か、その命令コード実行の結果としてコードそのものが
書き換えられないようにプログラムを構成しておく。ス
タック領域は通常、手続き呼出しと実行に必要な一時的
情報を保持するのに使用する。スタック領域の内容保存
のために、区切り点におけるスタック・ポインタの値の
退避専用のレジスタを設けるほか、主記憶上のスタック
領域のうち、差し当たって使用すべき部分のコピーを一
定容量のスタック・キャッノユに写しとり、スタフクに
ついての演算は直接にはそのスタック・キャッシュに対
して行うようにする。大域変数領域については、その内
容を更新するプログラム位置が区切り点設定の一つの契
機となる。この理由に基づく過度に頻繁な区切り点設定
を避けたければ、大域変数についての演算に際して、入
城変数領域にその都度直接アクセスを行うのでなく、そ
の領域の部分的なコピーをデータ・キャッシュ内に作成
し、区切りの途中ではそのコピーを使って演算を行うよ
うにすればよい。
コピーの内容を入城変数領域に書き戻したか、それか不
要になったときが、次の区切り点設定の契機となる。
スタック・キャッシュとデータ・キャッシュの何れにつ
いても、演算の途中でキャッシュ内の任意のレジスタに
アクセスできるアドレス機構を設けて、演算の便に供す
るのが望ましい。
(作用) プロセス走行途中の区切り点でのプロセス状態の保存動
作は、通常のプログラム実行の処理と並行して行うので
、保存処理のためにプログラム実行速度が落ちることは
ない。主記憶の状態保存はスタック領域についてはスタ
ック・キャッシュ、入城変数領域についてはデータ・キ
ャッシュに、それぞれ主記憶の中の当面必要な部分のコ
ピを作り、そのコピーについて次の区切り点までの演算
を行い、主記憶の内容には手を加えないことにより解決
する。一般にスタック・キャッシュとかデータ・キャッ
シュに対するアクセスは、主記憶に対するアクセスより
、はるかに高速にできるので、主記憶とキャッシュとの
間のデータ転送に伴う処理効率の低下は、一般的には問
題にならない筈である。
上記のように、プロセッサ状態の保存をハートr″ノエ
アで支援するので、−歩進めてプログラムの要所要所で
ファイルなどに関する制御情報と状態やファイル内容の
保存も含む、より完全な復帰点の設定を行うのも容易に
なる。その結果、プログラム実行過程で生じた予期しな
い事態、あるいは好ましくない事態から脱して、状況に
応じ、システムが自動的に定めた再開復帰点あるいはプ
ログラムで用意した再開復帰点まで戻り、処理を再開で
きるような、柔軟性のあるプログラム環境が実現できる
(実施例) 主記憶装置を従来のように一元的、汎用的に構成するの
でなく、コード領域、スタック領域、入城変数領域ごと
に別々に構成する。それぞれの領域をさらにシステム共
通に使用するものと、個々のプロセスで使用するものと
に分けて構成してもよい。このように、用途ごとにメモ
リを構成することにより、コード領域とデータ・キャッ
シュ、スタック領域とスタック・キャッシュとの間のブ
ロック転送が、少なくともメモリの読出動作に関して、
同時に並行して行えるようになる。さらにこれらのメモ
リの一部を処理装置内に内蔵させ、キャッシュとの間の
ブロック転送の際のデータ幅をブロックの大きさに合わ
せるようにすれば、極めて高速なデータの入れ換え作業
が可能になる。
この方式は再開処理に関連してだけでなく、通常のプロ
グラム実行の過程で、主記憶とキャッシュあるいはレジ
スタ群との間のブロック単位でのデータ転送に要する時
間を大幅に短縮するのに役立つ。現在の集積回路技術で
は、処理装置内部に特定の用途専用のメモリを内蔵させ
ることは充分に実際的であり、目的に合わせて語長の異
なるメモリを内蔵させるこ上は、システノ、全体の性能
向上に大きく貢献することになる。
(発明の効果) 本発明の機構を用いれば、緊急を要する割込み処理に際
して、割り込まれた時点で走行していたプロセスに関す
るプロセッサ状態の退避が必ずしも必要でなく、その分
、素早い割込み処理が可能になる。この効果は連続して
割込み処理を行う場合に特にその効果を発揮する。一般
的に言って割込み処理は、取りあえず必要な処理だけを
、できるだけ短時間にすませ、その後に続く比較的時間
を要する処理は、実際にその処理を必要とする所で行う
べきであり、本発明の機構は割込み原因か発生した直後
のできるだけ早い時点て応急処理を行うのに適っている
本発明はしかし単に割込み処理時間の短縮といった量的
な部分的改良に止まらす、計算機構築技術の質的改良を
促すきっかけとなり得る。すなわち復帰点の設定を通じ
て、ソフトウェアならびにハードウェアを使っての処理
過程に区切り点を設けることは、ソフトウェア・システ
ム構築にあたって、一定のモジュール化の便宜を提供す
ることになる。RISCとCl5Cの何れがすぐれてい
るかという問題も、あるいはまたそれに関連したコンパ
イラ技術の問題も、モジュール化すれば対象とする範囲
か限定されるたけ、最善の解を見出しやすくなる。
再開処理も従来は電源投入時のリセット処理かそれに準
するものと、割込み時点での状態回復との2通りしかな
かった。しかし、本発明での復帰点を基に、さらにファ
イル・ヘースでの状態保存まで行うようにすわば、より
きめこまかな再開あるいは復帰処理の実現が可能になり
、それだけ変化する状況への柔軟な対処能力が増大する
。致命的障害からの回復機能は、特にネットワーク構成
の計算機システムの使用効率と信頼性を著しく向上させ
ることになる。

Claims (1)

    【特許請求の範囲】
  1. 1、高水準プログラミング言語あるいは中間言語を解釈
    実行するシステム、あるいは機械命令語を直接あるいは
    マイクロプログラムにより実行するシステムにおいて、
    特定の一群の命令コードの命令を実行する際に、同時に
    プログラム・カウンタの値などプロセス(またはタスク
    )の実行再開に必要な情報を退避用のレジスタに自動的
    に退避させ、種々の原因による割込みあるいは例外によ
    り走行中のプロセスの実行中断が生じたときに、割込み
    あるいは例外の原因、またはその後の処理内容によって
    は再開に必要な中断時点でのプロセッサ状態の退避と回
    復が不可能かあるいは適当でない場合には、割込みある
    いは例外の処理が終了したのちに、上記特定の命令コー
    ドの命令を実行したときに退避しておいた情報を用いて
    再開処理を行う動的再開支援機構つきの情報処理装置。
JP1344936A 1989-12-29 1989-12-29 割込み処理後の動的再開機構を備えた計算機 Pending JPH03204036A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1344936A JPH03204036A (ja) 1989-12-29 1989-12-29 割込み処理後の動的再開機構を備えた計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1344936A JPH03204036A (ja) 1989-12-29 1989-12-29 割込み処理後の動的再開機構を備えた計算機

Publications (1)

Publication Number Publication Date
JPH03204036A true JPH03204036A (ja) 1991-09-05

Family

ID=18373157

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1344936A Pending JPH03204036A (ja) 1989-12-29 1989-12-29 割込み処理後の動的再開機構を備えた計算機

Country Status (1)

Country Link
JP (1) JPH03204036A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007222311A (ja) * 2006-02-22 2007-09-06 Shimadzu Corp X線撮像装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007222311A (ja) * 2006-02-22 2007-09-06 Shimadzu Corp X線撮像装置

Similar Documents

Publication Publication Date Title
US3564506A (en) Instruction retry byte counter
US6256751B1 (en) Restoring checkpointed processes without restoring attributes of external data referenced by the processes
KR920003044B1 (ko) 가상 머신 시스템용의 게스트 머신 실행 제어 시스템
US6332199B1 (en) Restoring checkpointed processes including adjusting environment variables of the processes
JP3170472B2 (ja) レジスタ・リマップ構造を有する情報処理システム及び方法
JP4155052B2 (ja) エミュレータ、エミュレーション方法およびプログラム
JPH03204036A (ja) 割込み処理後の動的再開機構を備えた計算機
EP0212132A1 (en) Method and digital computer for recovering from errors
JP2513060B2 (ja) 故障回復型計算機
JP3595028B2 (ja) リアルタイムosの処理方法
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
JP2671160B2 (ja) 例外処理方式
JPH0646380B2 (ja) 情報処理装置
US20050216708A1 (en) Processor for performing context switching, a method for performing context switching, a computer program for perform context switching
JPH0285938A (ja) メモリダンプ方式
JPH01217635A (ja) レジスタ退避方式
WO2023169289A1 (zh) 一种进程的执行状态切换方法及装置
WO1990005951A1 (en) Method of handling unintended software interrupt exceptions
JPS61141047A (ja) 障害情報の退避方式
JP2574918B2 (ja) 割り込み復帰処理方式
JPS59172044A (ja) 命令制御方式
CN117555596A (zh) 一种软硬件结合的操作系统实时性优化方法
JPS6394339A (ja) 仮想計算機システム
JPH01175052A (ja) マイクロアドレスレジスタ機構
JPH0831039B2 (ja) カウンタ制御方式