JPS60225943A - 例外割込み処理方式 - Google Patents

例外割込み処理方式

Info

Publication number
JPS60225943A
JPS60225943A JP59081757A JP8175784A JPS60225943A JP S60225943 A JPS60225943 A JP S60225943A JP 59081757 A JP59081757 A JP 59081757A JP 8175784 A JP8175784 A JP 8175784A JP S60225943 A JPS60225943 A JP S60225943A
Authority
JP
Japan
Prior art keywords
trap
processing
task
address
contents
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
JP59081757A
Other languages
English (en)
Inventor
Shigechika Tsutsui
筒井 茂義
Yumiko Sugita
杉田 由美子
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59081757A priority Critical patent/JPS60225943A/ja
Publication of JPS60225943A publication Critical patent/JPS60225943A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 【発明の利用分野〕 本発明は、単一の計算機システムにおいて、特に複数の
オペレーティングシステム(OperatingSys
tem、以下O8という)を効率よく制御するための制
御方式に関するものである。
〔発明の背景〕
従来より単一の計算機システムを多目的に利用する方法
として、それぞれ目的に合致する複数のO8を作成し、
それらのO8を一つの計算機システム(実計算機)の下
で時分割に動作させて目的ごとのアプリケーションプロ
グラムを実行するという仮想計算機方式が採用されてい
る(例えば、山谷他著「仮想計算機」共立出版参照)。
第1図は、仮想計算機の構成例を示した図である。実計
算機1は第tOSで動く第1仮想計算機2と、第208
で動く第2仮想計算機3からなり。
これら2つのO8が動作して、処理を行う仮想計算機で
ある。
第2図は、上記仮想計算機システムにおける各種プログ
ラムの構成を示した図である。
第2図の制御プログラム(CP)21は、第10822
および第20823に対する仮想環境を実現するための
プログラムで、その主な機能は。
i)客仮想計算機のOSが有効に働くように仮想計算機
をスケジューリングすること、11)スケジューリング
に従って、仮想計算機に制御を与えること、111)外
部からの割込みに対して、各仮想計算機のO8に連絡す
ること等であり、ユーザプログラムを直接制御する機能
はない。ユーザタスク24−1・・・24−kからなる
第2ユーザタスク群24およびユーザタスク25−1・
・・25−nからなる第2ユーザタスク群25は、それ
ぞれ第1O822および第20823によって制御され
る。
例えば、ユーザタスク24−1がO8に対する要求であ
るスーパバイザ・コール(Super VigorCa
ll、以下SvCという)割込みを送出した場合の制御
例を第3図に示す。第3図に示したように。
ユーザタス¥24−1の870割込みが制御プログラム
(CP)21で受理された後、第1O822に処理が渡
され、再び制御プログラム(cp)21を経由して、ユ
ーザタスク24−1に戻るので、第10822のSvC
処理の他の制御プログラム(CP)21間とのオーバヘ
ッドが加わり、O8全体のオーバヘッドが増加するとい
う問題がある。
上記の問題を解決する方法に、特許順(特願昭57−G
λ墜31号)「計算機システムの制御方式」昭和57年
4月16日がある。
その内容を第4図に示す計算機システムの構成により説
明する。
第4図において、4はプロセッサ、5は主メモリ、6は
入出力装置、7はパスライン、51は中核OS、52セ
カンダリOSタスク、53はユーザタスク群である。
第4図に示したこの方式では、前述した制御プログラム
(CP)21を設けず、中核0851とその制御のもと
に動くセカンダリOSタスク52との構成により、O8
全体のオーバヘッドを減少させている。
第4viに主メモリ5に格納されるプログラムは第5図
に示す内容である。
第5図において、51−1は割込みベクタテーブル、5
1−2はディスパッチャ、51−3はトラップ・マツピ
ング・テーブル、51−4はI10タスク、52−1は
セカンダリO8,52−2はセカンダリタスク群、52
−3はトラップエントリ、52−4はイニシャルエント
リ、52−5はI10割込みエントリ、52−6.53
−1はフラグ・レジスタである。
第5図の中核0851は、リアルタイム・アプリケーシ
ョンプログラムのユーザタスク群53を制御するもので
、オーバヘッドの小さい通常のリアルタイムO8である
。その構成は、SvCトラレプ2例外トラップ、外部割
込みなどの割込みに対するO8へのエントリアドレスを
示すテーブルで普通′i±計算機のメモリアドレスの若
番地に設ける割込みベクタテーブル51−1と、各トラ
ップ種別に対し、固有の処理が行えるように、各タスク
ごとの処理アドレスを定義するトラップ・マツピング・
テーブル51−3と、ディスパッチャ51−2と、I1
0タスク51−4等からなっている。中核0851は例
えばユーザタスク群53からのO8要求である870割
込みに対し、割込みベクタテーブル51−1で示すエン
トリアドレスの処理ルーチンを実行した後に、ディスパ
ッチャ51−2を経由して、元のユーザタスクまたは、
他のユーザタスクに制御を渡すという流れで動作を行う
一方、セカンダリOSタスク52はセカンダリ0f95
2−1、セカンダリタスク群52−2等で ”構成され
る。セカンダリ0852〜1と上記O8のものに制御さ
れ、マルチプログラミングで動作するセカンダリタスク
群52−2は、ユーザタスク群53と基本的に同様な位
置付けで中核0851によって制御される。
セカンダリ0852−1への主要なエントリは、3つあ
る。第1のエントリは、中核0851のスケジューリン
グによって、最初にディスパッチされたときの実行番地
であるイニシャルエントリ52−4である。第2のエン
トリは、トラップ・マツピング・テーブル51−3のア
ドレスで入ってくるトラップエントリ52−3である。
第3のエントリは、I10タスク51−4からのI10
割込みエントリ52−5である。
今、セカンダリタスク群の処理実行中に、5vC1また
はバスエラー特権命令違反等によるトラップが発生した
場合には、その内容で定まる中核0851の割込みベク
タテーブル51−1のアドレスに従って、中核0.85
1内のトラップエントリに入り、その後、トラップ・マ
ツピング・テーブル51−3で示すSvCまたはトラッ
プ処理用タスクのアドレスが、トラップエントリ52−
3を経由して、セカンダリ0852−1に送られ、処理
される。
上記のような動作の流れで処理されるので、処理時間が
長くなるという問題がある。
〔発明の目的〕
本発明の目的は、上記のような従来技術の問題点を解決
するため、計算機システムの構成を書軍したり、あるい
はO8のプログラムを複雑化することなく、OSタスク
におけるトラップの処理を高速に行うことができる例外
割込み処理方式を提供することにある。
〔発明の概要〕
上記目的を達成するため、本発明の例外割込′み処理方
式は、複数のO8を有して、割込みベクタテーブルを用
いて割込み処理を行う計算機システムにおいて、該シス
テムで実行中プログラムの属性を記憶する記憶手段と、
トラップ処理のタスクアドレスをセットしているトラッ
プ・マツピング・テーブルを指示することのできるトラ
ップ・ベクタテーブルとを有し、前記記憶手段に記憶時
に発行したトラップに対し、前記割込みベクタテーブル
のかわりに、前記トラップ・ベクタテーブル内容によっ
て、トラップ・マツピング・テーブルからトラップ要因
に対応するタスクのアドレスを得て、処理を行うことに
特徴がある。
〔発明の実施例〕
以下、本発明の実施例を図面により説明する。
本発明における計算機システムの主メモリに格納するプ
ログラムの構成は前述した第5図と同様である。第6図
は本発明におけるレジスタの構成を示し、第7図は本発
明に基づくトラップ割込み処理の動作フローチャートを
示したものであり、いずれも−5図を補足説明するため
の図である。
第6図のフラグレジスタ61には、第5図のセカンダリ
OSタスク52が処理実行中にはu 1 n、その他の
タスク時には1′O#がセットされ、ポインタ・レジス
タ62にはトラップ・マツピング・テーブル63の番地
内容がセットされ、次にステータスレジスタ64 (5
tatus Register、以下SRという)の1
3bit目には、スーパバイザモード時は′1″、ユー
ザモード時はat O##がそれぞれセットされる。ま
たトラップ・マツピング・テーブル63には、第5図の
トラップ・マツピング・テーブル51−3と同様に、S
vCなどのトラップ要因に対応する処理タスクのアドレ
スがセットされている。
前記フラグレジスタ61に対するat 1 #のセット
を、中核0851がセカンダリOSタスク52をディス
パッチングするときに行うので、計算機は実行中のタス
クの属性を識別することができる。
次に、第5図および第6図の動作の流れを第7図により
説明するが、必要に応じて第4図の計算機システムの構
成を示す図を参照することとする。
SvCなどのトラップが発生したとき計算機は、フラグ
レジスタ61の内容が1または0がを判断する(71)
。その内容が“0′°の場合には、セカンダリOSタス
ク52以外からのトラップであることから、前述した通
常の動作の流れ、つまりプログラム・カウンタ(以下P
Cという)および5R64の内容をシステムスタックに
退避し、5R64をスーパバイザモードにセットした後
、割込みベクタテーブル51−1のアドレス内容でトラ
ップ処理を実行する動作となる(74,75゜76)。
また、フラグレジスタ61の内容がII I Hの場合
には、セカンダリOSタスク52からのトラップである
ことから、まずPCおよび5R64の内容を現在使用中
のスタックに退避した後、従来技術で行っていた割込み
ベクタテーブル51−1のアドレス参照の処理をせずに
、直接にポインタレジスタ62で示す番地のトラップ・
マツピング・テープ・ル63の内容参照を行い、トラッ
プ要因に対応す忘トラップ処理用タスクのアドレスに直
接移行する制御となる(72.73)。
なお、通常のトラップ処理では、トラップが発生した場
合、計算機の実行モードを独立・無条件に発生以前の状
態、いわゆるスーパバイザモードにしているのに対し、
本発明によるトラップ処理では、実行モードの変更を行
っていない。それはフラグレジスタ61がM I Hの
ときのセカンダリOSタスク51からのトラップ発生を
中核oS51に対して報告せずに、セカンダリOSタス
ク51内で連続してトラップ処理を実行するためである
また、フラグレジスタ61を独立なレジスタとして扱っ
ているが、5R64の未使用ビットを充当するなどでも
実現できる− さらにトラップ・マツピング・テーブル63を、ポイン
タレジスタ62に示す番地に設けたが、固定の番地でも
よく、ハードウェアレジスタ群の構成でも実現すること
ができる。
このように、第6図に示す本発明のレジスタ構成を用い
ることにより、セカンダリOSタスク52からのトラッ
プ発生を中核0851による介入なく、高速にセカンダ
リOSタスク52による処理が可能となり、トラップ処
理のオーバヘッドの減少およびセカンダリOSタスク5
2の性能アップを計ることができる。
本発明のレジスタ構成が通常タスクすなわちフラグレジ
スタ61に1′1”をセットしないタスクに悪影響を与
えることは何もなく、また実施例で引用したところの第
1O8のもとに第2O8を構成する場合に限らず、トラ
ップをタスク内にて高速処理する場合などにも応用する
ことができる汎用 。
性をもつ機能である。
〔発明の効果〕
以上説明したように、本発明の例外割込み処理方式によ
れば、フラグ、ポインタ、ステータスの各レジスタを設
けることにより、計算機のシステム構成を変更したり、
O8で複雑なプログラムを作成したりすることなく、O
Sタスクにおけるトラップの処理を高速に行うことがで
きる。
【図面の簡単な説明】
第1図は仮想計算機の構成例を示す図、第2図は仮想針
、算機システムのプログラムのプログラム構成図、第3
図はSvC処理動作を説明するための図、第4図は計算
機システムの構成図、第5図はトラップ等の処理動作を
説明するための図、第6図は本発明におけるレジスタの
構成図、第7図は本発明によるトラップ処理の動作フロ
ーチャートである。 1・・・実計算機、2,3・・・仮想計算機、4・・・
プロセッサ、5・・・主メモリ、6・・・入出力装置、
7・・・パスライン、21・・・制御プログラム(CP
)、22゜23・・・O8,24,25・・・ユーザタ
スク、51・・・中核O8,52・・・セカンダリOS
タスク、53・・・ユーザタスク、61・・・フラグレ
ジスタ、62・・・ポインタレジスタ、63・・・トラ
ップ・マツピング・′!61 図 第 2 口 第゛3 目 1 ′!J 4 図 vJ S 目 vl 6 邑 − 4−I

Claims (1)

  1. 【特許請求の範囲】 1、複数のO8を有し、割込みベクタテーブルを用いて
    割込み処理を行う計算機システムにおいて、iシステム
    で実行中プログラムの属性を記憶する手段と、トラップ
    処理のタスクアドレスをセットしているトラップ・マツ
    ピング・テーブルを指示するトラップ・ベクタテーブル
    とを有し、前記記憶手段に記憶時に発行したトラップに
    対し、前記割込みベクタテーブルを用いる代りに、前記
    トラップ・ベクタテーブル内容によって、トラップ・マ
    ツピング・テーブルからトラップ要因に対応するタスク
    のアドレスを得て、処理を行うことを特徴とする例外割
    込み処理方式。 2、前記トラップ・ベクタテーブル内容でトラップ処理
    を行う場合、計算機の実行モードを変更しないことを特
    徴とする特許請求の範囲第1項記載の例外割込み処理方
    式。
JP59081757A 1984-04-25 1984-04-25 例外割込み処理方式 Pending JPS60225943A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59081757A JPS60225943A (ja) 1984-04-25 1984-04-25 例外割込み処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59081757A JPS60225943A (ja) 1984-04-25 1984-04-25 例外割込み処理方式

Publications (1)

Publication Number Publication Date
JPS60225943A true JPS60225943A (ja) 1985-11-11

Family

ID=13755313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59081757A Pending JPS60225943A (ja) 1984-04-25 1984-04-25 例外割込み処理方式

Country Status (1)

Country Link
JP (1) JPS60225943A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573425A (ja) * 1991-09-12 1993-03-26 Fuji Xerox Co Ltd 仮想計算機のアドレス変換方式
US5328278A (en) * 1992-07-28 1994-07-12 Brother Kogyo Kabushiki Kaisha Printing apparatus for printing data based on input program
US5448705A (en) * 1991-07-08 1995-09-05 Seiko Epson Corporation RISC microprocessor architecture implementing fast trap and exception state
US5560032A (en) * 1991-07-08 1996-09-24 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution
US5689720A (en) * 1991-07-08 1997-11-18 Seiko Epson Corporation High-performance superscalar-based computer system with out-of-order instruction execution
US5961629A (en) * 1991-07-08 1999-10-05 Seiko Epson Corporation High performance, superscalar-based computer system with out-of-order instruction execution
US6230254B1 (en) 1992-09-29 2001-05-08 Seiko Epson Corporation System and method for handling load and/or store operators in a superscalar microprocessor
US6434693B1 (en) 1992-09-29 2002-08-13 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
JP2006506752A (ja) * 2002-11-18 2006-02-23 エイアールエム リミテッド 安全処理システムにおける例外タイプ
US7685402B2 (en) 1991-07-08 2010-03-23 Sanjiv Garg RISC microprocessor architecture implementing multiple typed register sets
US7802074B2 (en) 1992-03-31 2010-09-21 Sanjiv Garg Superscalar RISC instruction scheduling
US7979678B2 (en) 1992-12-31 2011-07-12 Seiko Epson Corporation System and method for register renaming
US8074052B2 (en) 1992-12-31 2011-12-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028161B2 (en) 1991-07-08 2006-04-11 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution
US7739482B2 (en) 1991-07-08 2010-06-15 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US5448705A (en) * 1991-07-08 1995-09-05 Seiko Epson Corporation RISC microprocessor architecture implementing fast trap and exception state
US5481685A (en) * 1991-07-08 1996-01-02 Seiko Epson Corporation RISC microprocessor architecture implementing fast trap and exception state
US5560032A (en) * 1991-07-08 1996-09-24 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution
US5689720A (en) * 1991-07-08 1997-11-18 Seiko Epson Corporation High-performance superscalar-based computer system with out-of-order instruction execution
US5961629A (en) * 1991-07-08 1999-10-05 Seiko Epson Corporation High performance, superscalar-based computer system with out-of-order instruction execution
US6038653A (en) * 1991-07-08 2000-03-14 Seiko Epson Corporation High-performance superscalar-based computer system with out-of-order instruction execution and concurrent results distribution
US6038654A (en) * 1991-07-08 2000-03-14 Seiko Epson Corporation High performance, superscalar-based computer system with out-of-order instruction execution
US6092181A (en) * 1991-07-08 2000-07-18 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US6101594A (en) * 1991-07-08 2000-08-08 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US6128723A (en) * 1991-07-08 2000-10-03 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US7941635B2 (en) 1991-07-08 2011-05-10 Seiko-Epson Corporation High-performance superscalar-based computer system with out-of order instruction execution and concurrent results distribution
US6934829B2 (en) 1991-07-08 2005-08-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US6272619B1 (en) 1991-07-08 2001-08-07 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US6282630B1 (en) 1991-07-08 2001-08-28 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution
US6915412B2 (en) 1991-07-08 2005-07-05 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US6647485B2 (en) 1991-07-08 2003-11-11 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US7685402B2 (en) 1991-07-08 2010-03-23 Sanjiv Garg RISC microprocessor architecture implementing multiple typed register sets
US7555632B2 (en) 1991-07-08 2009-06-30 Seiko Epson Corporation High-performance superscalar-based computer system with out-of-order instruction execution and concurrent results distribution
US6256720B1 (en) 1991-07-08 2001-07-03 Seiko Epson Corporation High performance, superscalar-based computer system with out-of-order instruction execution
US6941447B2 (en) 1991-07-08 2005-09-06 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US6948052B2 (en) 1991-07-08 2005-09-20 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US6959375B2 (en) 1991-07-08 2005-10-25 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US7487333B2 (en) 1991-07-08 2009-02-03 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US6986024B2 (en) 1991-07-08 2006-01-10 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
US7162610B2 (en) 1991-07-08 2007-01-09 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
JPH0573425A (ja) * 1991-09-12 1993-03-26 Fuji Xerox Co Ltd 仮想計算機のアドレス変換方式
US7802074B2 (en) 1992-03-31 2010-09-21 Sanjiv Garg Superscalar RISC instruction scheduling
US5328278A (en) * 1992-07-28 1994-07-12 Brother Kogyo Kabushiki Kaisha Printing apparatus for printing data based on input program
US6965987B2 (en) 1992-09-29 2005-11-15 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US6434693B1 (en) 1992-09-29 2002-08-13 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US6230254B1 (en) 1992-09-29 2001-05-08 Seiko Epson Corporation System and method for handling load and/or store operators in a superscalar microprocessor
US6735685B1 (en) 1992-09-29 2004-05-11 Seiko Epson Corporation System and method for handling load and/or store operations in a superscalar microprocessor
US7979678B2 (en) 1992-12-31 2011-07-12 Seiko Epson Corporation System and method for register renaming
US8074052B2 (en) 1992-12-31 2011-12-06 Seiko Epson Corporation System and method for assigning tags to control instruction processing in a superscalar processor
JP2006506752A (ja) * 2002-11-18 2006-02-23 エイアールエム リミテッド 安全処理システムにおける例外タイプ
US7661105B2 (en) 2002-11-18 2010-02-09 Arm Limited Exception types within a secure processing system
US7949866B2 (en) 2002-11-18 2011-05-24 Arm Limited Exception types within a secure processing system

Similar Documents

Publication Publication Date Title
US5361375A (en) Virtual computer system having input/output interrupt control of virtual machines
US5666523A (en) Method and system for distributing asynchronous input from a system input queue to reduce context switches
US5161226A (en) Microprocessor inverse processor state usage
US4812967A (en) Method and apparatus for controlling interrupts in a virtual machine system
US6895460B2 (en) Synchronization of asynchronous emulated interrupts
JPS5841538B2 (ja) マルチプロセツサシステム ノ ユウセンセイギヨホウシキ
JPS60225943A (ja) 例外割込み処理方式
US7010671B2 (en) Computer system and method for executing interrupt instructions in two operating modes
JPH06243112A (ja) マルチプロセッサ装置
US11429424B2 (en) Fine-grained application-aware latency optimization for virtual machines at runtime
JPH0895798A (ja) データ処理装置
JPS61184643A (ja) 仮想計算機の起動制御方式
JPH01195562A (ja) 入出力装置割当て制御方式
JPS60163134A (ja) 仮想計算機システム
JPH03204731A (ja) 仮想計算機システムのエミュレーション実行装置及び方法
JP2931327B2 (ja) コンピュータシステムにおける表示処理の実行方法
JPS61160147A (ja) 仮想計算機制御方式
JPH0567972B2 (ja)
JPH0447853B2 (ja)
JPH02146634A (ja) 仮想計算機システムにおける割込み制御方式
JPS6313218B2 (ja)
JPH0444131A (ja) 複数os走行システムにおけるプロセッサ間通信の実行装置および方法
JPS60225944A (ja) 仮想計算機システム
JPS6116338A (ja) 仮想計算機システムにおける割込み処理方式
JPS6325736A (ja) 仮想計算機システムにおける割込み制御方式