JPS6250934A - 処理装置の割込制御方式 - Google Patents

処理装置の割込制御方式

Info

Publication number
JPS6250934A
JPS6250934A JP60189637A JP18963785A JPS6250934A JP S6250934 A JPS6250934 A JP S6250934A JP 60189637 A JP60189637 A JP 60189637A JP 18963785 A JP18963785 A JP 18963785A JP S6250934 A JPS6250934 A JP S6250934A
Authority
JP
Japan
Prior art keywords
instruction
program
interrupt
execution
code
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.)
Granted
Application number
JP60189637A
Other languages
English (en)
Other versions
JPH0795278B2 (ja
Inventor
Yoshihiro Miyazaki
義弘 宮崎
Soichi Takatani
高谷 壮一
Masayuki Tanji
雅行 丹治
Atsuhiko Nishikawa
敦彦 西川
Shinichiro Yamaguchi
伸一朗 山口
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 JP60189637A priority Critical patent/JPH0795278B2/ja
Priority to US06/900,987 priority patent/US4764869A/en
Publication of JPS6250934A publication Critical patent/JPS6250934A/ja
Publication of JPH0795278B2 publication Critical patent/JPH0795278B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、処理装置の割込制御方式に関わり、特に、命
令実行途中での割込に関する。
〔発明の背景〕
文字処理やリスト処理を高速に実行するために、これら
の処理をファームウェア化することがあるが、この場合
、1つの命令の実行時間が非常に長いため、命令実行途
中で割込を入れることができなければ、外部に対する応
答性が落ちてしまう。
この命令実行途中割込の実現方法としては公知例1rV
AX  11 Architecture Handb
ookJ及び公知例2「米国特許第3401375号」
に述べられている方式がある。
公知例の該当部分を簡単に説明する。まず、一般の割込
は第2図(a)、第2図(b)に示すように、割込要求
があると命令の切れ目でプログラムカウンタ、プログラ
ムレベルの切換を行い、割込に対応した処理終了後、プ
ログラムカウンタ、プログラムレベルを回復する。これ
に対しVAXIIArchitecture Hand
book P 52 e P 53に記載のProce
ssor 5tatus Longwordでは、 F
 P D (FirstPart Done)フラグを
設け、第3図(a)、第3図(b)に示す如く制御する
ことにより命令実行途中での割込を可能としている。
しかし、本方式では、繰り返し処理の途中結果を汎用レ
ジスタを用いて保存するため、繰り返し処理を含んだ命
令の実行により、16本しかない汎用レジスタの中の数
本の内容が破壊されてしまう。そのため、汎用レジスタ
は他の目的にも使用するため、繰り返し処理を含んだ命
令実行の前に、あらかじめ、破壊される可能性のあるレ
ジスタの内容を退避し、同命令実行終了後回復する等の
無駄な処理を行わねばならないという欠点がある。
しかも、これらの命令は常に実行時間が長いわけではな
く、サーチやパターンマツチング等では実行時間が短い
ことも多く、退避2回復の時間の占める割合は大きい。
具体的には1例えば16バイトの転送に、これらの命令
を使うと、1回のメモリアクセスで4バイトの読出しま
たは書込みを行うとして、レジスタ退避用アクセス4回
、本来の目的のためのメモリアクセス8回、レジスタ回
復用アクセス4回で実にレジスタ退避9同復に50%の
時間を費やしてしまう。
〔発明の目的〕
本発明は、従来例の欠点を軽減した命令実行途中割込を
実現することを目的とする。
〔発明の概要〕
本発明は、外部からの割込要求で現在のプログラムレベ
ルより優先レベルの高い要求の有無を命令実行の途中で
検出した場合、処理を中新し命令実行途中割込を発生す
ること、この割込ではプログラムレベルを不変とするこ
と、従って割込先で前記割込要求が通常の割込として処
理されること、処理後、2回の復帰命令により、前記命
令実行途中から再開することを特徴とする。
第1図(a)、第1図(b)は本発明の概略制御方式を
示す。
図中口は1つのマクロ命令、他はマイクロ命令による処
理を示す。
〔発明の実施例〕
本発明の実施例を以下に説明する。
第4図は、基本処理機構2の構成概略を示す。
システムバスインタフェイス制御機構3は、システムバ
ス1を介して主記憶や入出力装置とのデータ転送を制御
する。命令解読ユニット4はマクロ命令を解読し、マイ
クロ命令先頭番地を生成する。
演算制御系5はマイクロ命令を制御する。演算ユニット
6はマイクロ命令の元で制御され、実際の演算を実行す
る。
第5図は、命令解読ユニット4の構成を示す。
プログラムカウンタ(PC)21は解読しようとしてい
るマクロ命令の主メモリ上の番地を指している。セレク
タ22は次のPCを選択するもので、分岐する場合には
B入力部ち演算ユニットから渡される値を、そうでない
場合はインクリメンタ23の出力結果を選択する。読み
出されたマクロ命令は命令バッファレジスタ24にセッ
トされ、その出力は命令解読器25によって解読されマ
クロ命令に対応する。マイクロプログラムの先頭番地3
1が生成される。一方、システムバスがらの割込要求信
号7は、コンコーダ28により最も高い割込レベルが計
算される。その結果32と固定パターン27とが合成さ
れ、割込のための処理を行うマイクロプログラムの先頭
番地33が生成される1割込レベル32とプログラムレ
ベル30は比較器29で比較され、その出力14は、割
込レベルがプログラムレベルより高く、割込を受付ける
べき場合にオン、そうでないときオフである。
セレクタ26はこの優先割込存在信号14がオンのとき
前記割込用先頭番地33を選択し、オフのとき前記マク
ロ命令用先頭番地31を選択し、次の処理のためのマイ
クロプログラム先頭番地13としている。この機構は、
マクロ命令の切れ目で割込を入れるために使用される。
更に、前記優先割込存在信号14は、演算制御系2に出
力されているが、これは、本発明のポイントである命令
実行途中割込に使用される。
第6図は、演算制御系5の構成を示す、マイクロプログ
ラムは制御記憶44に格納されている。
マイクロプログラムカウンタ(MPC)42は次に実行
しようとするマイクロ命令の制御記憶44上の番地を示
す、セレクタ41は次のMPCを選択するもので、次の
処理へ移るときは命令解読ユニットから渡される先頭番
地13を、演算結果で分岐するときは演算ユニットの出
力データ16を。
分岐のマイクロ命令実行時は、マイクロ命令の一部48
を、次の番地のマイクロ命令に進むときはインクリメン
タ43の出力を選択する。次番地制御系46はマイクロ
命令の一部49と条件成立信号50を元に前記セレクタ
41を制御する6セレクタ47は条件判定のためのセレ
クタであり、マイクロ命令の一部51でどの信号を選択
するか制御する。このセレクタ47の1人力に、前記優
先割込存在信号14が入力されており、マイクロ命令は
この信号のオン、オフを判定することができる。
第7図は、演算ユニット6の構成を示す5セレクタ61
はプログラムカウンタ10プログラムレベル12.シス
テムバースリードデータ9゜マイクロ命令の一部15の
いずれかを選択し、入力バス62にのせることができる
。マクロ命令用の汎用レジスタ(GRO−GR7)64
あるいはマイクロ命令用のワークレジスタ(WKO−W
K7)65の出力は入力バス62または入力バス63に
のせることができる。演算器66は入力バス62゜入力
バス63を入力し、演算結果を出力バス16に出力する
。このバスは汎用レジスタ(GRO〜GR7)64.’
7−クレジスタ (WKO〜WK7)65に入力される
と共に、他のユニットにも接続される。
第8図は、実行時間の長いマクロ命令(文字処理命令、
リスト処理命令等)のマイクロプログラムのフローチャ
ートを示す、ステップ101゜102ではオペランドを
ワークレジスタWKI。
WK2にセットする。このマイクロプログラムはWKI
、WK2をポインタとして使用し、更新しながらステッ
プ103からステップ105までを何回も繰り返し実行
し、ある条件が成立したときステップ106に抜け、命
令実行を終了する。ステップ103では、前記の優先割
込存在信号14がオンかどうか判定し、オン即ち、命令
途中で現在のプログラムレベルより優先レベルの高い割
込が発生したことを検出したとき、ステップ107に進
む。ステップ107では戻りのマイクロ命令番地として
、ステップ104の番地である1003をWK7にセッ
トする。実際はステップ107のマイクロ命令の定数部
15(第4図参照)を1003のパターンにしておき、
セレクタ61.演算器66を通してWK7にセットする
(第7図参照)・ステップ108では命令途中割込処理
マイクロプログラム訂INTに分岐する。
第9図は、前記命令途中割込処理マイクロプログラムの
フローチャートを示す。ステップ110では汎用レジス
タGR7(GR7はスタックポインタとして使用されて
いる)を4減算し、その結果をGR7及びMAR(メモ
リアドレスレジスタ:システムバスインタフェイス制御
機構2のレジスタで第4図の出力バス16を通して演算
ユニット6からセットできる)にセットする。WK7を
MWR(メモリライトデータレジスタ:システムバスイ
ンタフェイス制御機構2のレジスタで、出力バス16を
通して演算ユニット6からセットできる)にセットする
。それと同時にメモリライトを起動する(MWTの記号
で示す)。この起動によりMARで示される主メモリア
ドレスにMWRの内容がライトされる。即ちWK7がス
タックにブツシュされる。同様にしてステップ111で
WK2をスタックにブツシュし、ステップ112でWK
Iをスタックにブツシュする。ステップ110からステ
ップ112は内部の途中結果の退避処理である。ステッ
プ113では、識別コードとして「8」をスタックにブ
ツシュする。
(「8」のパターンはマイクロ命令の定数部15で生成
される。)ステップ114ではPCをスタックにブツシ
ュし、ステップ115ではプログラムレベルをスタック
にブツシュする。(PCはインタフェイス10を通して
、またプログラムレベルはインタフェイス12を通して
演算ユニット6に転送される。)ステップ117では命
令実行終了し次命令の実行を開始する。この時点におい
て、スタックには第10図のような退避情報が作られて
いる。次にステップ116では主メモリの32番地より
読み出したデータをPCにセットする。
主メモリの最初の数10番地は、第11図に示すように
割込ベクタテーブルになっており、32番地には命令途
中割込に対応するマクロプログラムの先頭番地(240
0)、、が格納されている。次にステップ117では命
令実行を終了する。
前記処理終了後、命令解読ユニットが生成したマイクロ
プログラム先頭アドレス13に従って次のマイクロプロ
グラムに分岐するが、このとき、優先割込存在信号14
はオンであったわけであるから、第5図で説明したよう
に、該優先割込に対応するマイクロプログラムの先頭番
地が命令解読ユニットにより生成される。
第12図は、優先割込に対応するマイクロプログラムの
フローチャートを示す。例として、レベル3割込に対応
するマイクロプログラムを示す。
ステップ120では識別コードとしてrOJをスタック
にブツシュする。ステップ121ではPCをスタックに
ブツシュする。ステップ122ではプログラムレベルを
スタックにブツシュする。この時点でスタックは第13
図のようになっている。
次にステップ123では主メモリの12番地(第11図
参照)より読み出したデータをPCにセットする。ステ
ップ124では割込レベルと等しい数である「3」をプ
ログラムレベルにセットする。
ステップ125では命令実行を終了し、次命令の実行を
開始する。
前記処理終了後、命令解読ユニットが生成するマイクロ
プログラム先頭アドレス13は、プログラムレベルが「
3」に上がったため優先割込存在信号14はオフである
ため、PCを元に読み出したマクロ命令のデコードによ
り生成されたアドレスである。PCにセットした値は、
第11図で示すように、(2180)1gである。
第14図は、 (2180)1.番地から始まるレベル
3割込対応のマクロプログラムである。このプログラム
の最終ステップ132では割込復帰命令が実行される。
第15図は割込復帰命令のマイクロプログラムを示す、
ステップ140ではスタックよりポツプした値(割込前
のプログラムレベル=O)をプログラムレベルにセット
する。ステップ141ではスタックよりポツプした値(
割込前のプロクラムカウンター (2400)□6)を
プログラムカウンタにセットする。ステップ142では
スタックよりポツプした値(識別コード=O)をWK3
にセットする。ステップ143ではWK3の値をチェッ
クする。ステップ144ではチェック結果が「0」かど
うか判定する。この場合WK3は「0」であるから条件
成立であり、ステップ145に進み命令実行を終了する
。この結果、 (2400)1.番地の命令途中割込対
応マクロプログラムに分岐する。
第16図は、(2400)、、番地から始まる命令途中
割込対応のマクロプログラムである。このプログラムで
は割込復帰命令のみが実行される。
第17図は割込復帰命令のマイクロプログラムを示す、
ただし前半は第15図に記載されており本図は命令途中
割込からの復帰に関する部分である。まず第15図のス
テップ140ではスタックよりポツプした値(割込前の
プログラムレベル=0)をプログラムレベルにセットす
る。ステップ141ではスタックよりポツプした値(次
のマクロ命令の先頭番地)をPCにセットする。ステッ
プ142ではスタックよりポツプした値(識別コード=
8)をWK3にセットする。ステップ143ではWK3
の値をチェックする。ステップ144ではチェック結果
がOかどうか判定する。
この場合WK3は「8〃」であるから条件不成立であり
第17図のステップ160に進む、ステップ160では
WK 3−8の値をチェックする。ステップ161では
チェック結果が「0」かどうか判定する。この場合WK
3は「8」であるから条件成立であり、ステップ162
に進む、ステップ162ではスタックよりポツプした値
(割込発生時のWKIの値)をWKIにセットする。ス
テップ163ではスタックよりポツプした値(割込発生
時のWK2の値)をWK2にセットする。ステップ16
4ではスタックよりポツプした値(再開すべきM P 
C= 1003)をWK7にセットする。ステップ16
5ではWK7をMPCにセットする。このセットは第4
図でセレクタ41が出力バス16を選択することにより
行われる。その結果、途中結果WKI、WK2の回復と
、中断したマイクロ命令の再開を実現する。
第18図(a)、第18図(b)は本発明の変形例を示
す。割込復帰命令は退避情報の中の識別コードで命令途
中割込かどうかを区別するのではなく、命令コードで区
別する。即ち、一般割込復帰命令の他に命令途中割込復
帰命令を設けることを特徴とする。
〔発明の効果〕
以上のように本発明によれば、汎用レジスタを途中結果
で破壊することなく、レジスタの無駄な退避・回復が不
要である。具体的には、16バイトの転送の場合、従来
ならばレジスタ退避用アクセス4回、本来の目的のため
のメモリアクセス8回、レジスタ回復用アクセス4回で
計16回のところを、本来の目的のためのメモリアクセ
ス8回のみですみ、高速化できる。
【図面の簡単な説明】
第1図は本発明の概略制御方式、第2図は一般的な割込
の制御方式、第3図は公知例の割込の制御方式、第4図
は基本処理機構の構成概略、第5図は命令解読ユニット
の構成、第6図は演算制御系の構成、第7図は演算ユニ
ットの構成、第8図は実行時間の長いマクロ命令のマイ
クロプログラム、第9図は命令途中割込処理マイクロプ
ログラム、第10図は命令途中割込のスタック退避情報
の構成、第11図は割込ベクタテーブルの構成、第12
図はレベル3割込対応マイクロプログラム、第13図は
レベル3割込のスタック退避情報の構成、第14図はレ
ベル3割込対応マクロプログラム、第15図は割込復帰
命令のマイクロプログラム、第16図は命令途中割込対
応マクロプログラム、第17図は割込復帰命令のマイク
ロプログラム(命令途中割込関係)、第18図(a)、
(b)は本発明の変形例の概略制御方式を示す図である
。 3・・・システムバスインタフェイス制御機構、4・・
・命令解読ユニット、5・・・演算制御系、6・・・演
算ユニット。

Claims (1)

    【特許請求の範囲】
  1. 1、外部からの割込要求で現在のプログラムレベルより
    優先レベルの高い要求の有無を命令実行の途中で検出し
    、前記検出時、内部の途中結果、および識別コードとし
    て命令終了後の割込で使用されるコードとは異なる第1
    のコードを主記憶装置に退避し、途中割込用にあらかじ
    め設定された値をプログラムカウンタに設定し、プログ
    ラムレベルは不変のまま、現命令の実行を終了し次命令
    の実行を開始し、分岐先のプログラムにおいて割込復帰
    命令が実行され、この中で前記識別コードを判定し、第
    1のコードである場合、主記憶装置に退避していた前記
    途中結果を回復し、命令実行の途中から処理再開するよ
    うにしたことを特徴とする、処理装置の割込制御方式。
JP60189637A 1985-08-30 1985-08-30 処理装置の割込制御方式 Expired - Lifetime JPH0795278B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP60189637A JPH0795278B2 (ja) 1985-08-30 1985-08-30 処理装置の割込制御方式
US06/900,987 US4764869A (en) 1985-08-30 1986-08-27 Method and apparatus for controlling interruption in the course of instruction execution in a processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60189637A JPH0795278B2 (ja) 1985-08-30 1985-08-30 処理装置の割込制御方式

Publications (2)

Publication Number Publication Date
JPS6250934A true JPS6250934A (ja) 1987-03-05
JPH0795278B2 JPH0795278B2 (ja) 1995-10-11

Family

ID=16244630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60189637A Expired - Lifetime JPH0795278B2 (ja) 1985-08-30 1985-08-30 処理装置の割込制御方式

Country Status (2)

Country Link
US (1) US4764869A (ja)
JP (1) JPH0795278B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0319027A (ja) * 1989-06-16 1991-01-28 Mitsubishi Electric Corp データ処理装置

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218703A (en) * 1988-07-07 1993-06-08 Siemens Aktiengesellschaft Circuit configuration and method for priority selection of interrupts for a microprocessor
US5291604A (en) * 1991-08-30 1994-03-01 Intel Corporation Transparent system interrupts with automated halt state restart
JPH06139031A (ja) * 1992-10-27 1994-05-20 Ricoh Co Ltd プリンタコントローラ
JP3135094B2 (ja) * 1993-03-13 2001-02-13 株式会社リコー 統合ビジネス用ネットワークシステム
US5440703A (en) * 1993-09-20 1995-08-08 International Business Machines Corporation System and method for saving state information in a multi-execution unit processor when interruptable instructions are identified
US5835743A (en) * 1994-06-30 1998-11-10 Sun Microsystems, Inc. Application binary interface and method of interfacing binary application program to digital computer
EP0732658B1 (en) * 1995-03-13 2000-09-27 Sun Microsystems, Inc. Virtual input/output processor
US5850556A (en) * 1996-12-26 1998-12-15 Cypress Semiconductor Corp. Interruptible state machine
FR2894693A1 (fr) * 2005-12-09 2007-06-15 St Microelectronics Sa Procede et dispositif de sauvegarde et de restauration d'une maniere interruptible d'un ensemble de registres d'un microprocesseur
JP2008299501A (ja) * 2007-05-30 2008-12-11 Sanyo Electric Co Ltd プロセッサ
US8392644B2 (en) * 2010-07-30 2013-03-05 Mips Technologies, Inc. System and method for automatic hardware interrupt handling

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50143446A (ja) * 1974-05-08 1975-11-18
JPS5199436A (ja) * 1975-02-28 1976-09-02 Hitachi Ltd
JPS55115159A (en) * 1979-02-24 1980-09-04 Nec Corp Information processing unit

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4429360A (en) * 1978-10-23 1984-01-31 International Business Machines Corporation Process and apparatus for interrupting and restarting sequential list-processing operations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50143446A (ja) * 1974-05-08 1975-11-18
JPS5199436A (ja) * 1975-02-28 1976-09-02 Hitachi Ltd
JPS55115159A (en) * 1979-02-24 1980-09-04 Nec Corp Information processing unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0319027A (ja) * 1989-06-16 1991-01-28 Mitsubishi Electric Corp データ処理装置

Also Published As

Publication number Publication date
JPH0795278B2 (ja) 1995-10-11
US4764869A (en) 1988-08-16

Similar Documents

Publication Publication Date Title
JP3176093B2 (ja) マイクロプロセッサの割込み制御装置
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
JPH0713772A (ja) データ処理装置
JPH0215369A (ja) ベクター処理システムの命令を実行する方法及び装置
JPS6250934A (ja) 処理装置の割込制御方式
JPS63261449A (ja) デ−タ処理装置
JPS645330B2 (ja)
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
JPH0810437B2 (ja) 仮想計算機システムのゲスト実行制御方式
JPS6217773B2 (ja)
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
US20050216708A1 (en) Processor for performing context switching, a method for performing context switching, a computer program for perform context switching
JPH04288625A (ja) マイクロコンピュータ
JP2531791B2 (ja) フエッチアクセス時の異常処理方法
JPH06324861A (ja) Cpu制御システム及び制御方法
JP2765831B2 (ja) データ処理装置
JP2843844B2 (ja) 並列演算処理装置
JPH03103924A (ja) データ処理装置
JP2574918B2 (ja) 割り込み復帰処理方式
JP2503210B2 (ja) マイクロプログラム制御装置
JPH04338825A (ja) 演算処理装置
JP2743947B2 (ja) マイクロプログラム制御方式
JPH0535499A (ja) データ処理装置及びデータ処理方法
JPH01175052A (ja) マイクロアドレスレジスタ機構
JPS63247834A (ja) 浮動小数点関数擬似命令処理方法