JPH04211838A - デジタルデータプロセッサおよびその作動方法 - Google Patents

デジタルデータプロセッサおよびその作動方法

Info

Publication number
JPH04211838A
JPH04211838A JP3010338A JP1033891A JPH04211838A JP H04211838 A JPH04211838 A JP H04211838A JP 3010338 A JP3010338 A JP 3010338A JP 1033891 A JP1033891 A JP 1033891A JP H04211838 A JPH04211838 A JP H04211838A
Authority
JP
Japan
Prior art keywords
interrupt
register
type
status
occurred
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
JP3010338A
Other languages
English (en)
Other versions
JP2972355B2 (ja
Inventor
Robert B Cohen
ロバート・ビー・コヘン
Robert E Garner
ロバート・イー・ガーナー
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=23833181&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH04211838(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Motorola Inc filed Critical Motorola Inc
Publication of JPH04211838A publication Critical patent/JPH04211838A/ja
Application granted granted Critical
Publication of JP2972355B2 publication Critical patent/JP2972355B2/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
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30123Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
    • 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/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Bus Control (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、一般的には、戻りの危
険性(recursion  jeopardy)を防
止するための方法および装置に関する。より特定的には
、本発明は、割込みのような、例外処理を取扱い、かつ
マイクロプロセッサにおける戻りの危険性を防止するた
めの方法および装置に関する。
【0002】
【従来の技術】マイクロプロセッサおよび他のデジタル
プロセッサのような装置においては、中央処理ユニット
(CPU)が処理動作のために利用されている。CPU
はオンチップ(on−chip)レジスタセットを含み
、これは該CPUによって当業者によく知られた方法で
、通常動作および例外処理の双方の間に利用される。 いずれかの従前の動作が割込み動作のような例外処理に
よって中断された時には常に戻りの危険性の問題がある
が、これは割込み処理プログラムが同じレジスタを使用
しかつその中の値の幾つかを変えてしまうかもしれない
からである。この問題に対する伝統的な解決方法は割込
みの処理の開始に先立ち幾つかまたはすべてのレジスタ
の現在の値をメモリに保存し(これはまた「スタッキン
グ」とも言及される)、かつこれらの保存された値を割
込み処理が完了した時にメモリからレジスタに戻す(こ
れはまた「アンスタッキング」とも言及される)ことで
ある。この解決方法は時間を浪費しかつ比較的多くのソ
フトウェアによるサポートを必要とする。しかしながら
、この解決方法は無制限の数の「ネストされた(nes
ted)」割込み(即ち、他の割込みプログラムに割込
む割込み)を取扱うことが理論的に可能である。
【0003】幾つかのマイクロプロセッサは幾つかの交
替用のオンチップレジスタセット(これはまたレジスタ
バンクとして知られている)を割込み処理の間に使用す
るために設けている。割込みプログラムは単に割込まれ
たプログラムによって使用されていたのと異なる組(セ
ット)のレジスタを使用し、これによりレジスタの内容
をスタックする必要性を除去する。
【0004】
【発明が解決しようとする課題】この手法はネストされ
た割込みの問題を考える時シリコン領域に関し非常に高
価になる。合理的な数のネストされた割込みを許容する
ためにすべての必要なレジスタを2重化することは不合
理な数のレジスタを要求することになる。
【0005】さらに、多重レジスタバンクを有するマシ
ンにおいてさえも、すべてのバンクが使用されている場
合(戻りの危険性が存在する場合)を判定しかつその問
題に対する何らかの解決方法を提供するために何らかの
メカニズムを設けなければならない。
【0006】従って、本発明の目的は、マイクロプロセ
ッサその他における戻りの危険性を防止するための装置
および方法を提供することにある。
【0007】本発明の他の目的は、マイクロプロセッサ
その他における戻りの危険性を表示するための装置を提
供することにある。
【0008】本発明のさらに他の目的は、制限された数
のオンチップレジスタを利用して無制限の数のネストさ
れた割込みに供することにある。
【0009】
【課題を解決するための手段および作用】これらおよび
他の目的は、第1のレジスタバンク、第2のレジスタバ
ンク、第1のステータスビット、第2のステータスビッ
ト、および割込み信号を受ける割込みロジックを含むデ
ジタルデータを処理するためのプロセッサシスタムにお
いて実現される。受信された割込み信号が第1のタイプ
のものであるかあるいは第2のタイプのものであるかに
応じてかつ2つのステータスビットの値に応じて、割込
みロジックはバンク切換動作を行なうべきか否かを決定
し、スタッキング動作を行なうべきか否かを決定し、か
つまた前記第1および第2のステータスビットに対する
新しい値を選択する。
【0010】
【実施例】本発明のこれらおよび他の目的および利点は
以下の詳細な説明から当業者に明らかになるであろう。 以下の説明において、用語「セット(set)」および
「クリア(clear)」はステータスビットまたは同
様の装置をそれぞれその論理的に真(true)の状態
または論理的に偽(false)の状態にすることを言
及する場合に使用される。
【0011】図1を参照すると、デジタルデータ処理シ
ステム10が図示されており、これはこの単純化した形
式において通常用レジスタセット16、交替用レジスタ
セット18、アンプライム(unprime)レジスタ
20、プライム(prime)レジスタ22、および他
のレジスタ24を含むCPU14を有する半導体チップ
12を具備する。該CPUはバス40に接続され、該バ
ス40はまたオフチップ(off−chip)、即ち外
部、メモリスタック50に接続されている。ある特定の
プロセッサシステムにおいてはメモリスタック50およ
びバス40はオンチップに含まれてもよくかつオフチッ
プ・メモリスタックは例示のためだけに示されているこ
とが理解できるであろう。メモリスタック50はアクセ
スされるためにはバス40の動作が必要でありかつレジ
スタセットのアクセスは高速動作であり一方バス40を
介するメモリスタックのアクセスは比較的低速の動作で
あることも理解できるであろう。従って、処理中にでき
るだけ多くのレジスタを利用しかつメモリスタックは必
須の場合にのみ利用することが望ましい。
【0012】デジタルデータプロセッサシステム10に
おいては、ある割込みがいずれかの他の割込みの対し優
先度を持つか否かを決定する複数の割込みレベルがある
。従って、より高い優先度を有する割込みはより低い優
先度を有する割込みより早く処理されることになりより
低い優先度の割込みは処理を待たなければならない。 割込みの優先度の概念は当業者によく知られている。も
ちろんこの特定の実施例は複数の割込みが同じレジスタ
資源を使用しようと試みる場合に生じ得る戻りの危険性
を取扱うが、開示された発明は任意の形式の集積回路に
おける任意の記憶手段における戻りの危険性を防止する
ために使用できることが理解されるべきである。
【0013】デジタルデータ処理システム10は2つの
形式の割込みを利用する。即ち、伝統的な割込み(co
nventional  interrupts)およ
び高速割込み(fast  interrupts)で
ある。割込みの形式は割込み処理ルーチンが通常用のレ
ジスタセット16または交替用レジスタセット18の使
用をデフォールトするかを決定する。伝統的な割込みは
通常用レジスタセット16の使用をデフォールトしかつ
高速割込みは交替用レジスタセット18の使用をデフォ
ールトする。割込み形式は優先度機構に影響を与えない
。 伝統的な割込みは通常の動作またはより低い優先レベル
を有するいずれかの他の割込みに割込みをかける。同様
にして、高速割込みは通常の動作またはより低い優先レ
ベルを有するいずれかの他の割込みに割込みをかける。
【0014】図2を参照すると、通常用レジスタセット
16は8個のデータレジスタ(D0〜D7)および8個
のアドレスレジスタ(A0〜A7)を有し、最後のアド
レスレジスタA7はまたユーザスタックポインタとして
も動作する。交替用レジスタセット18は通常用レジス
タセット16におけるレジスタを2重化または複製(d
uplicate)する。CPUは通常用レジスタセッ
ト16または交替用レジスタセット18にアクセスしか
つ使用するが、決して両方のレジスタセットを同時にア
クセスおよび使用しない。CPUに対するソフトウェア
を作るユーザの見地から、どのレジスタセットが使用さ
れているかは比較的よく分っている。即ち、ユーザは単
に特定の命令がオペランドのソースまたはオペレーショ
ンのディスティネーションとしてデータレジスタD2を
使用することを指令すればよい。ハードウェアが通常用
レジスタセット16のD2レジスタまたは交替用セット
18のD2レジスタのいずれがアクセスされるかを決定
するであろう。いずれかのモトローラ社の68000フ
ァミリのマイクロプロセッサ(例えば、MC68000
、MC68010、MC68020およびMC6803
0であって、すべてアメリカ合衆国テキサス州オースチ
ンのモトローラ・インコーポレイテッドから入手可能な
もの)のユーザには明らかなように、CPUはユーザモ
ードまたはスーパバイザモードのいずれかで動作する。 動作モードはステータスレジスタSRに位置するビット
によって制御される。
【0015】再び図2を参照すると、アンプライムレジ
スタ20はステータスレジスタ(SR)、コンテクスト
切換制御レジスタ(CSC)31およびプログラムカウ
ンタ(PC)を有する。図3を参照すると、プライムレ
ジスタ22はアンプライムレジスタ20を複製しており
、例外としてFO(高速割込み発生)ステータスビット
26、FF(最初の高速割込み)ステータスビット28
、およびCF(現在の高速割込み)ステータスビット3
0がCSCレジスタ31にある。FOステータスビット
26、FFステータスビット28、およびCFステータ
スビットは複製されていない。CPUはアンプライムレ
ジスタ20またはプライムレジスタ22のいずれかにア
クセスしかつ使用するが、決して同時に両方のレジスタ
セットにアクセスしかつ使用することはない。CSCレ
ジスタ31またはCSC′レジスタ32のいずれかへの
アクセスは同じFOステータスビット26、FFステー
タスビット28、およびCFステータスビット30がア
クセスされる結果となるであろう。しかしながら、A/
Nビット34は複製されている。これらの種々のビット
の識別および使用は以下に説明される。
【0016】図3を参照すると、A/Nビット34はC
SCレジスタ31に配置されている。複製されたA/N
′ビット36がCSC′レジスタ32に配置されている
。CPU14がアンプライムレジスタ20を使用してい
る時、A/Nビット34のみがアクセスできる。同様に
して、CPUがプライムレジスタ22を使用している場
合には、A/N′ビット36のみがアクセスされ得る。 A/Nビット34およびA/N′ビット36のいずれも
ユーザモードにおいてソフトウェアによってアクセスで
きないが、CPU14のハードウェアは常にこれらのビ
ットのステータスを読むことができる。この特定の実施
例においては、A/Nビット34またはA/N′ビット
36がスーパバイザモードにおいてCPUに通常用レジ
スタ16または交替用レジスタ18の対応するセットを
使用させるために制御ビットとしてアクセス可能である
。これは本発明を実施するために必要とされない付加的
な特徴である。明瞭化のため、以後の説明においてはA
/Nビット34およびA/N′ビット36はCPU14
のハードウェアによりリードオンリ・ステータスビット
として使用されているものと仮定する。
【0017】A/Nビット34またはA/N′ビット3
6のいずれかがCPU14が現在通常用レジスタセット
16または交替用レジスタセット18のいずれを使用し
ているかを表示する。“0”の値は交替用レジスタセッ
ト18が使用されていることを表示しかつ“1”の値は
通常用レジスタセット16が使用されていることを示す
。もしA/Nビット34またはA/N′ビット36が通
常用レジスタセット16あるいは交替用レジスタセット
18のいずれかからの情報と共にスタックされれば、C
PU14のハードウェアまたはソフトウェアルーチンは
それがアンスタックされて情報が通常用レジスタセット
16に復帰されるべきかあるいは交替用レジスタセット
18に復帰されるべきかを決定する場合にA/Nビット
34またはA/N′ビット36を使用することができる
【0018】アンプライムレジスタ20はいずれの高速
割込みも処理を始めていない場合にのみ使用される。い
ったん高速割込みが受信されかつ処理を始めると、プラ
イムレジスタ22が最初の高速割込みおよびいずれの新
しい入力高速または伝統的な割込みに対しても排他的に
使用される。CPU14は最初の高速割込みが完了しそ
れ以上の処理すべき高速割込みがなくなるまでアンプラ
イムレジスタ20の使用に戻らない。また、より高い優
先度の割込みがより低い優先度の割込みの処理に割込む
たびごとに、A/N′ビット36、FOステータスビッ
ト26、FFステータスビット28、およびCFステー
タスビット30を含む、プライムレジスタ22はCPU
14のハードウェアによりメモリスタック50に自動的
にスタックされる。このスタッキングは常に必要である
が、それはプライムレジスタ22はより低い優先度の割
込みの処理を完了するのに必要な情報を含んでいるから
である。
【0019】この特定の実施例においては、通常用レジ
スタセット16および交替用レジスタセット18に比較
してアンプライムレジスタ20およびプライムレジスタ
22の間に重要な区別がある。CPU14はいったん高
速割込みが受信されるとすべての割込み処理の間プライ
ムレジスタ22を使用し、これに対しCPU14は、割
込みのタイプに応じて、割込み処理の間に通常用レジス
タセット16または交替用レジスタセット18のいずれ
かを使用することができる。この区別はこの特定の実施
例における便宜のためになされたものである。アンプラ
イムレジスタ20およびプライムレジスタ22を具備す
るレジスタは新しいより高い優先度の割込みが受信され
た時は常にスタックされなければならない情報を含むレ
ジスタであるから、この特定の実施例におけるCPU1
4は自動的にソフトウェアの処理時間を節約するために
戻りの危険性がある時にこれらのレジスタをスタックす
る。これに対し、通常用レジスタセット16および交替
用レジスタセット18はもし新しいより高い優先度の割
込みがその特定のレジスタにある情報を変更しようとし
ておれば特定のレジスタがスタックされることを要求す
るのみのデータおよびアドレスレジスタである。従って
、通常用レジスタセット16および交替用レジスタセッ
ト18におけるいずれかのレジスタのスタッキングはソ
フトウェア制御を使用するプログラマに委ねられており
、それにより不必要なスタッキングに費やされる処理時
間がなくなる。
【0020】図2を参照すると、他のレジスタ24は複
製されずかつCPU14によって任意の時に該CPUが
通常動作を行なっているかあるいは割込み処理を行なっ
ているかにかかわりなく使用することができるレジスタ
からなる。複製がないから、割込みルーチンがこれらの
他のレジスタ24のいずれかにおけるデータに影響を与
える場合には常に割込みルーチンはそれが影響を与えよ
うとしているレジスタをスタックしなければならない。 1つまたはそれ以上の他のレジスタ24を使用している
1つのソフトウェアルーチンが1つまたはそれ以上の該
他のレジスタ24を使用する他のソフトウェアルーチン
に割込む可能性がある場合には、常に戻りの危険性の可
能性が存在する。他のレジスタ24に対する戻りの危険
性の問題を取扱う上で助けになるステータスビットまた
は制御回路はない。戻りの危険性が実際に存在するか否
かを決定する方法がないから、他のレジスタ24を使用
する各ソフトウェアルーチンは常に戻りの危険性があり
かつ該割込みソフトウェアルーチンが影響を与えるであ
ろういずれの他のレジスタ24をもスタックしなければ
ならないものと推測しなければならない。この特定の実
施例においては、他のレジスタ24はCPU14がスー
パバイザモードにある場合にのみ使用されるものである
。他のレジスタ24は大部分のアプリケーションにおい
てめったにスタックされる必要がないレジスタであり、
かつ従って該レジスタを複製するシリコン領域を浪費す
る理由がなくかつCPUに自動的にこれらのレジスタを
スタックさせる処理時間を浪費する理由もない。
【0021】ここに述べられたレジスタには3つの「ク
ラス」があることが明らかである。即ち、複製されかつ
常に自動的にスタックされるもの(アンプライムおよび
プライムレジスタ)、複製されるが必要に応じてのみか
つソフトウェア制御によりスタックされるもの(通常用
および交替用レジスタ)、そして複製されずかつ必要に
応じてのみかつソフトウェア制御によってスタックされ
るもの(他のレジスタ)がある。本発明を適用できる多
くの異なるレジスタ構成があることが理解されるべきで
ある。この明細書において説明されたレジスタ構成は使
用できる多くの可能なレジスタ構成の内の1つの構成に
すぎない。例えば、上の説明は容易に多重レジスタバン
クの場合に拡張できるであろう。この場合は、戻り危険
性が生ずる前に幾つかのネストされた割込みがあるであ
ろう。しかしながら、原理は同じである。また、メモリ
スタック50に情報をスタックしかつメモリスタック5
0から情報をアンスタックするためにソフトウェア命令
あるいはCPU14のハードウェアのをいずれを使用す
ることも可能であることが理解されるべきである。
【0022】図3を参照すると、FOステータスビット
26、FFステータスビット28、およびCFステータ
スビット30はすべてCPU14の動作によって自動的
にセットされるリードオンリステータスビットである。 3つのステータスビットの内の最初のもの、FO(高速
インターラプト発生)26、は1つまたはそれ以上の高
速割込みが開始されたがまだ終了していない場合にセッ
トされる。このビットは本発明のシステムにおける戻り
の危険性を表示しかつすべての現在の高速割込み処理の
完了に応じてクリアされるまでセットされたままになっ
ている。3つのステータスビットの内の第2のもの、F
F(最初の高速割込み)28、は高速割込みが発生しか
つ他の高速割込みが処理されていない場合(即ち、それ
が最初の高速割込みである場合)にセットされる。それ
は最初の高速割込みの後のすべての後続の割込みに対し
クリアされる。3つのステータスビットの内の第3のも
の、CF(現在の高速割込み)30、はCPU14が高
速割込みモードの動作にある間にのみセットされる。C
Fステータスビット30は処理されている割込みが伝統
的な割込みであるかあるいは高速割込みであるかを決定
するためにハードウェアおよびソフトウェアの双方によ
って使用され得る。従って、3つのステータスビット、
FOステータスビット26、FFステータスビット28
、およびCFステータスビット30、は通常用レジスタ
セット16、交替用レジスタセット18、アンプライム
レジスタ20およびプライムレジスタ22の戻りの危険
性の状態に関する情報を発生しかつ維持する。ステータ
スビットはCPU14によって監視することができかつ
プログラミングの間に通常用レジスタセット16、交替
用レジスタセット18、アンプライムレジスタ20、プ
ライムレジスタ22、およびメモリスタック50の最適
な使用を提供するために利用することができる。
【0023】通常用レジスタセット16が通常動作およ
び伝統的な割込みのために使用されかつ交替用レジスタ
セット18が高速割込みのために使用される本発明の実
施例においては、もし1つの割込みが他の割込みによっ
て割込まれた場合には戻りの危険性があるが、これは第
2の割込みはレジスタの情報を保存することなく第1の
割込みと同じレジスタセットを使用しようと試みるかも
しれないからである。割込みに関するステータスを提供
することにより、ソフトウェアを、(1)レジスタセッ
トの一部または全部に格納されている情報がメモリスタ
ック50に保存されなければならないことを検出するた
め、(2)先に格納された情報がアンスタックされかつ
1つまたはそれ以上のレジスタにリストアされなければ
ならないことを検出するため、そして(3)どのような
形式の割込みが現在処理されているかを検出するために
書くことができる。伝統的な割込みが通常動作中に受け
られた場合にも戻りの危険性があるが、それは伝統的な
割込みの処理は同じ通常用レジスタセット16および同
じプライムレジスタ22を使用するからである。最初の
高速割込みが受信された時には戻りの危険性はないが、
それは最初の高速割込みはCPU14を通常用レジスタ
セット16の使用から交替用レジスタセット18の使用
へと切換えさせかつアンプライムレジスタ20の使用か
らプライムレジスタ22の使用に初めて切換えさせるか
らである。
【0024】この特定の実施例においては、CPU14
のハードウェアはFOステータスビット26、FFステ
ータスビット28、およびCFステータスビット30を
、アンプライムレジスタ20およびプライムレジスタ2
2の間で切換えるか、あるいはプライムレジスタ22を
スタックしかつ次にプライムレジスタ22を使用するか
を決定するために係属中の割込みの割込みタイプと共に
使用する。この決定はまたソフトウェアで行なうことも
できる。この特定の実施例においては、CPU14は最
初の高速割込みが受信された時にプライムレジスタ22
の使用へとスイッチする。もし何らかの付加的な高速ま
たは伝統的な割込みがその最初の高速割込みが処理を終
了する前に受信されれば、CPUはプライムレジスタ2
2を使用し続ける。CPU14は係属中の高速割込みル
ーチンが処理を終了するまでアンプライムレジスタ20
の使用に戻るよう切換えない。
【0025】CPU14のハードウェアは決して通常用
レジスタセット16または交替用レジスタセット18の
レジスタのいずれのものをもスタックしない。必要とさ
れるこれらのレジスタのいずれのスタッキングもソフト
ウェアにより行なうようにユーザに委ねられている。し
かしながら、CPU14のハードウェアルーチンは、C
PU14が通常動作を行なっているか、伝統的な割込み
を処理しているか、あるいは高速割込みを処理している
かにもとづきアンプライムレジスタ20およびプライム
レジスタ22の間で切換えるか否かを決定する。再び、
1組のレジスタをスタックするか否かあるいは他のセッ
トのレジスタに切換えるか否かの決定もまたソフトウェ
アまたはCPU14のハードウェアのいずれかを用いて
行なうことができる。
【0026】通常用レジスタセット16は伝統的な割込
みのためのみならず通常動作のために使用されるから、
汚されるかもしれない情報は伝統的な割込み処理ルーチ
ンの最初の動作の時に通常用レジスタセット16からス
タックされなければならない。しかしながら、交替用レ
ジスタセット18は高速割込みのためにのみ利用される
から、処理される最初の高速割込みのために交替用レジ
スタセット18から情報をスタックする必要はない。し
かしながら、いったん高速割込みが交替用レジスタセッ
ト18を用いて処理されれば、戻りの危険性があるが、
それはより高い優先度を有する高速割込みが現在の高速
割込みに割込みを行ないかつ従って同じレジスタセット
を用いることを試みるかもしれないからである。従って
、汚染されるかもしれない情報は常により高い優先度の
高速割込みが受信されかつ常にそれに対して処理が完了
していない1つまたはそれ以上の高速割込みがあれば交
替用レジスタセット18からスタックされなければなら
ない。
【0027】前に述べたように、FOステータスビット
26は1つまたはそれ以上の高速割込みの処理が開始さ
れているが今だ完了していないかどうかを表示する。F
Oステータスビット26はすべての高速割込みの処理が
完了するまでセットされたままでありクリアされない。 FOステータスビット26は従って交替用レジスタセッ
ト18およびプライムレジスタ22に対し戻りの危険性
があるか否かを判定するために用いることができる。交
替用レジスタセット18およびプライムレジスタ22の
スタッキングは両方の戻りの危険性がある場合および入
力割込みが高速割込みである場合に必要とされる。CP
Uの回路それ自体がレジスタ情報のすべてまたは一部を
スタックするか否かあるいはスタッキングがソフトウェ
ア命令を用いて行なうようユーザに委ねられているか否
かは任意選択的なものである。
【0028】FFステータスビット28は「最初の」高
速割込みに対してのみセットされ、これはFOステータ
スビット26の前の状態がクリアされた状態であり現在
係属中の高速割込みがなかったことを示している場合に
のみ生ずる。FOステータスビット26はまたFFステ
ータスビット28をセットする最初の高速割込みによっ
てセットされるから、該最初の高速割込みが完了する前
に開始されるより高い優先レベルのいずれの高速割込み
も戻りの危険性の状況を生じさせ交替用レジスタセット
18に位置する最初の高速割込みからの情報が割込み処
理ルーチンの最初の動作時にスタックされる(即ち、メ
モリスタック50に転送される)ことを要求する。FO
ステータスビット26、FFステータスビット28、C
Fステータスビット30、およびA/N′ビット36を
含むプライムレジスタ22の情報もまたスタックされる
。第2の高速割込み動作の終了に応じて、最初の高速割
込み動作のためのレジスタおよびステータスビット情報
がアンスタックされ(即ち、メモリスタック50から取
出され)かつ最初の高速割込み動作が回復されるであろ
う。最初の高速割込みはFFステータスビット28がセ
ットされる唯一の高速割込みであろう。すべての他の高
速割込みの処理の間は、FFステータスビット28はク
リアされるであろう。従って、FFステータスビット2
8は係属中のいずれかの他の高速割込みがあるか否かお
よびスタックに残っている1つまたはそれ以上の高速割
込みからの情報があるか否かを決定するために使用でき
る。CPU14の回路それ自体がレジスタ情報のすべて
または一部をアンスタックするか否かあるいはアンスタ
ッキングがソフトウェア命令を用いて行なうようユーザ
に委ねられているか否かは任意選択的なものである。
【0029】CFステータスビット30は高速割込みが
現在処理されていることを示すために用いられる。CF
ステータスビット30はCPU14が現在高速割込みを
処理している場合にセットされかつ該高速割込みが完了
した時あるいはより高い優先レベルの伝統的な割込みが
高速割込みに割込みを行ないかつ現在処理されている場
合にクリアされる。
【0030】当業者はもちろん付加的なレジスタセット
を半導体チップ10上に設けメモリスタック50へのセ
ーブ動作への要求を低減することができることを理解す
るであろう。しかしながら、問題は与えられたレジスタ
セットの数にかかわらず余分のレジスタセットがスタッ
キング無しに収容できるよりもう1つ上のレベルのネス
トされた割込みが常にあるかもしれないということであ
る。スタッキングが要求されないほど多くのレジスタセ
ットを与えることは決して効率的ではない。もし高レベ
ルのネスティングがそれほど頻繁に発生しなければ、開
示された2つのオンチップレジスタセットを設けネステ
ィングの間メモリスタック50を利用するのが一般によ
り効率的である。この場合、割込み動作の間のメモリス
タック50へのセービングまたはメモリスタック50か
らの回復に関連するオーバヘッドの大部分が除去される
が、それは通常用レジスタセット16および/または交
替用レジスタセット18における情報はネスティングが
起こらない限りメモリスタック50にセーブされる必要
がないからである。
【0031】この考えを“N”の深さのセットのレジス
タに拡張すると、戻りの危険性は“N”の深さの割込み
のネスティングがある時に起こり、それによりネスティ
ングにおける“N+1”の割込みが前の割込み動作がメ
モリスタックに格納されることを要求するであろう。こ
の場合、最初のステータスビットは「処理中の少なくと
もNの深さのネストされた割込み」を表示し(または、
戻りの危険を表示し)かつCPUが他のレジスタバンク
に切換えるべきか否かあるいはレジスタのすべてが使用
されておりCPUはレジスタバンクを使用する前にもっ
と時間を消費するスタッキング手順を行なわなければな
らないか否かを表示するであろう。第2のステータスビ
ットはどの割込みが「最初の割込み」であるかを表示し
それによりCPUはもはや係属中の割込みがなくなった
時を知るであろう。もし複数タイプの割込みがある時に
は付加的なステータスビットを任意選択的に使用するこ
とができる。例えば、CPUが現在伝統的な割込みを処
理しているかあるいは高速割込みを処理しているかを表
示するために第3のステータスビットを使用することが
できる。これらのビットの取扱いは同じでよく、従って
最初の割込みに対しては、「最初の割込み」ステータス
ビットがセットされ、かつN番目のネスティングに応じ
て「戻りの危険性(recursion  hazar
d)」ステータスビットがセットされるであろう。「戻
りの危険性」ステータスビットは少なくとも処理中の“
N”の深さのネストされた割込みがある限りセットされ
続けるであろう。「最初の割込み」ステータスビットは
いずれかの後続の割込みによってまたは「最初の割込み
」ステータスビットのセッティングを引起した最初の割
込みの完了によりクリアされるであろう。
【0032】次に、図4を参照すると、割込みネスティ
ングの例のフローチャートが示されている。この例にお
いては、通常動作が優先レベル“w”を有する高速割込
みによって割込まれている。これが最初の高速割込みで
あるから、CPU14はアンプライムレジスタ20の使
用からプライムレジスタ22の使用へとスイッチする。 交替用レジスタセット18は高速割込み動作用に使用さ
れかつ現在戻りの危険性はないから、CPU14はスタ
ックしないが、その代わり、レジスタバンクを切換えか
つレベル“w”の高速割込みの開始に先立ち交替用レジ
スタセット18を選択する。また、これが最初の高速割
込みでありかつCPU14は現在高速割込みモードにあ
るから、FOステータスビット26、FFステータスビ
ット28、およびCFステータスビット30はすべてセ
ットされる。
【0033】レベル“w”の高速割込み動作が完了され
る前に、優先レベル“x”(これは優先レベルwより大
きい)を有する高速割込みが要求され引続き開始される
。交替用レジスタセット18はイネーブルされたままで
あるが、それは入力している割込みが高速割込みである
からである。CPU14のハードウェアはレベル“w”
の割込みに関連する情報をプライムレジスタ22からメ
モリスタック50にスタックする。ユーザは、ソフトウ
ェアにより、新しい割込み“x”によって汚染されるか
もしれないレベル“w”の割込みに関連する何らかの情
報を交替用レジスタセット18からメモリスタック50
にスタックするオプションを有している。CPU14は
次にレベル“x”の高速割込み動作をスタートすること
ができる。FFステータスビット28がクリアされるが
、それはCPU14が「最初の高速割込み」をもはや処
理していないからである。しかしながら、FOステータ
スビット26およびCFステータスビット30はセット
されたままであり、これは高速割込みが開始されたがま
だ完了しておらずかつCPU14が現在高速割込みを処
理しているからである。
【0034】レベル“x”の高速割込み動作が完了する
前に、優先レベル“y”(これは優先レベルxより大き
い)を有する伝統的な割込みが要求される。CPU14
のハードウェアはレベル“x”の割込みに関連する情報
をプライムレジスタ22からメモリスタック50にスタ
ックする。CPUは交替用レジスタセット18の使用か
ら通常用レジスタセット16の使用へとスイッチするが
、これは通常用レジスタセット16がすべての伝統的な
割込みに使用されるからである。ユーザは、ソフトウェ
アにより、新しい割込み“y”によって汚染されるかも
しれない通常動作に関連する任意の情報を通常用レジス
タセット18からメモリスタック50にスタックするオ
プションを有している。レベル“y”の伝統的な割込み
の開始と共に、CFステータスビット30がクリアされ
るが、これはCPU14が現在伝統的な割込みを処理し
ているからである。
【0035】レベル“y”の伝統的な割込み動作が完了
する前に、優先レベル“z”(これは優先レベルyより
大きい)を有する高速割込みが要求される。CPU14
のハードウェアはレベル“y”の割込みに関連する情報
をプライムレジスタ22からメモリスタック50にスタ
ックする。CPU14は通常用レジスタセット16の使
用から交替用レジスタセット18の使用へと切換えるが
、これは交替用レジスタセット18がすべての高速割込
みに対して使用されるからである。ユーザは、ソフトウ
ェアにより、新しい割込み“z”によって汚染されるか
もしれないレベル“x”の割込みに関連する任意の情報
を交替用レジスタセット18からメモリスタック50へ
とスタッキングするオプションを有している。CPU1
4はレベル“z”の高速割込み動作を開始しかつCFス
テータスビット30が再びセットされるが、これはCP
U14は現在高速割込みを処理しているからである。
【0036】これ以上の割込みは要求されずかつCPU
14はレベル“z”の高速割込み動作を完了することを
許容される。もしユーザが、ソフトウェアにより、レベ
ル“z”の割込み処理の始めにレベル“x”の高速割込
み動作に関連する任意の情報をスタックすれば、レベル
“x”の高速割込み動作に関連するその情報はレベル“
z”の割込み処理の終わりにアンスタックされかつ回復
されなければならないことに注意を要する。いったんレ
ベル“z”の高速割込み動作が完了すると、レベル“y
”の伝統的な割込み動作に関連する情報がメモリスタッ
ク50からアンスタックされかつプライムレジスタ22
にロードされる。CFステータスビット30は残りの割
込みが伝統的な割込みであり通常用レジスタセット16
を使用すべきであるか、あるいは残りの割込みが高速割
込みでありかつ交替用レジスタセット18を使用すべき
であるかを決定するために利用できる。アンスタックさ
れたCFステータスビット30は次の割込みが伝統的な
割込み(レベル“y”)であることを示しかつこの動作
に対する情報がまだ通常用レジスタセット16にあるか
ら、CPU14は通常用レジスタセット16をイネーブ
ルしかつレベル“y”の伝統的な割込み動作を継続する
【0037】レベル“y”の伝統的な割込みの完了の前
に、ユーザは、ソフトウェアにより、メモリスタック5
0から通常用レジスタセット16に先にスタックされた
通常動作に関連する何らかの情報をアンスタックしなけ
ればならない。いったんレベル“y”の伝統的な割込み
が完了すると、レベル“x”の高速割込み動作に関連す
るメモリスタック50に保存された情報はプライムレジ
スタ22に転送し戻される。CFステータスビット30
のアンスタックされた値はこの残っている割込みが高速
割込みであることを示すから、レベル“x”の高速割込
み動作に関連する情報を含む、交替用レジスタセット1
8がイネーブルされかつレベル“x”の高速割込み動作
が継続される。
【0038】レベル“x”の割込みルーチンの終わりに
、ユーザは、ソフトウェアにより、先にスタックされた
レベル“w”の高速割込み動作に関連する何らかの情報
をメモリスタック50から交替用レジスタセット18に
アンスタックしなければならない。いったんレベル“x
”の高速割込み動作が完了すると、レベル“w”の高速
割込み動作に関連する情報がメモリスタック50からア
ンスタックされかつプライムレジスタ22にロードされ
る。アンスタックされたCFステータスビット30は次
の割込みが高速割込み(レベル“w”)であることを示
すから、かつこの動作のための情報は常に交替用レジス
タセット18に置かれているから、CPU14は交替用
レジスタセット18をイネーブルされた状態に保ちかつ
レベル“w”の高速割込み動作を継続する。FFステー
タスビット28がレベル“w”の高速割込みのためにセ
ットされるから、この割込みが処理されている最後に残
っている高速割込みであることを知ることができる。
【0039】いったんレベル“w”の最初の高速割込み
の処理が終了すると、CPU14はアンプライムレジス
タ20の使用に戻るよう切換える。最初の高速割込み動
作は何らのスタッキングも行なう必要がないが、これは
それが常に交替用レジスタセット18およびプライムレ
ジスタ22の両方を使用するための最初のプロセスであ
るためである。最初の高速割込み動作の完了により、C
PU14は通常動作に自由に戻ることができる。通常用
レジスタセット16は既に通常動作に関連する情報を含
んでおりかつCPU14が通常動作を回復する時に単に
イネーブルされるだけである。
【0040】上に説明したネスティング手順にわたり、
ステータスビットFO  26、FF28、およびCF
  30はCPU14の現在の状態およびネスティング
手順の進行を表示するために使用されたことに注意すべ
きである。さらに、3つのステータスビット、ネスティ
ング手順、および通常用レジスタセット16、交替用レ
ジスタセット18、アンプライムレジスタ20、プライ
ムレジスタ22、およびメモリスタック50の内容の間
の相関が理解されるべきである。従って、当業者には通
常用レジスタセット16、交替用レジスタセット18、
アンプライムレジスタ20、プライムレジスタ22、お
よびメモリスタック50の内容および動作はステータス
ビットFO  26、FF  28、およびCF  3
0の使用により簡単にかつ効率的に制御できることが理
解できるであろう。
【0041】次に図5および図6を参照すると、これら
の図は戻りの危険性を処理するために使用できるステー
タスビットに対する2つの可能な状態図表現である。図
5はこの明細書で説明されているようにFOステータス
ビット26、FFステータスビット28、およびCFス
テータスビット30を用いる好ましい実施例の状態図4
0である。矢印は割込みの発生を表わしている。その特
定の割込みの処理が完了した時、先の割込みに対するス
テータスビットが回復されかつ従ってCPU14はその
元の状態に戻る。
【0042】状態“000”は何らの高速割込みも処理
されていない状態を表わす。状態“111”は、1つだ
けの高速割込みが発生しかつ発生する最も最近の割込み
が高速割込みであった状態を表わしている。状態“10
1”は、1つより多くの高速割込みが発生しかつ発生す
る最も最近の割込みは高速割込みであった状態を表わし
ている。状態“110”は、1つだけの高速割込みが発
生しかつ発生する最も最近の割込みが伝統的な割込みで
あった状態を表わしている。状態“100”は、1つよ
り多くの高速割込みが発生しかつ発生する最も最近の割
込みが伝統的な割込みであった状態を表わしている。こ
れらの特定の状態および対応するビット表現はソフトウ
ェアのプログラミングの容易さのために選択されたが、
他の状態および他のビット表現もまた可能である。
【0043】図6を参照すると、状態図50は2つだけ
のステータスビットを用いて戻りの危険性を処理するこ
とも可能であることを示している。リセットから出てく
ると、2つのステータスビットは状態“00”でスター
トするであろう。伝統的な割込みはステータスビットに
何らの変化も起こさないが、高速割込みはステータスビ
ットの値を“01”に変えるであろう。いったん状態“
01”に入ると、高速割込みは該ステータスビットの値
を“10”に変え、一方伝統的な割込みは該ステータス
ビットの値を“11”に変えるであろう。状態“10”
においては、高速割込みはステータスビットの値を変え
ないが、伝統的な割込みはステータスビットの値を“1
1”に変えるであろう。状態“11”においては、伝統
的な割込みはステータスビットの値を変えないが、高速
割込みはステータスビットの値を“10”に変えるであ
ろう。CPU14のハードウェアまたはソフトウェアの
プログラマは戻り危険性があったか否か、割込みが最初
の高速割込みであるか、そして最も最近の割込みが高速
割込みであったかあるいは伝統的な割込みであったかを
2つのステータスビットの値を見ることにより常に知る
ことができる。状態“00”は高速割込みに対し何らの
戻りの危険性もない唯一の状態である。状態“01”は
現在の割込みが最初の高速割込みであることを示す。そ
して、状態“01”および“10”は高速割込みのみに
対応するものであり、一方状態“00”および“11”
は伝統的な割込みにのみ対応するものである。
【0044】
【発明の効果】この発明は、(1)戻りの問題が生ずる
時を決定し、それにより資源を利用しようとする何らか
のさらに他の試みが戻りの制限にさらされない同様の資
源に向けられるようにする、および(2)急速な戻りの
問題の危険からの回復がある時を決定し、それにより戻
りの問題の可能性を有していた資源を再び利用できるよ
うにする、機構を提供することにより戻りの危険性にさ
らされる資源の実施および使用を許容する。このことは
戻りの危険性にさらされるものの、戻りの危険性を有し
ない第2の資源よりもより高い性能の解決を与える資源
の実施を許容する。さらに、本発明により、依然として
より例外的なケースの戻りの危険性を解決しながら、よ
り高い性能の資源が全体のシステムの性能の増強を与え
るよう十分な深さを有するように装置を構成することが
できる。
【0045】本発明の特定の実施例が示されかつ説明さ
れたが、さらに別の変更および改善も当業者には可能で
あろう。従って、この発明は上に示された特定の形式に
制限されるものではなくかつ添付の請求の範囲において
本発明の精神および範囲から離れることのないすべての
修正を含むことを理解すべきである。
【図面の簡単な説明】
【図1】本発明の特定の実施例を含むデジタルデータプ
ロセッサシステムを示す単純化された機能的ブロック図
である。
【図2】図1のデジタルデータプロセッサシステム内に
含まれるレジスタを示す説明図である。
【図3】図2に示される2つの特定のレジスタ内に含ま
れるビットを示す説明図である。
【図4】本発明に係わる装置および方法を用いた割込み
ネスティングの例を示すフローチャートである。
【図5】種々の状態を区別するためにステータスビット
を使用しかつデジタルデータプロセッサが割込み処理を
取扱いかつ戻りの危険性を避けることができる2つの可
能な方法の内の1つを示す状態図である。
【図6】種々の状態を区別するためにステータスビット
を使用しかつデジタルデータプロセッサが割込み処理を
取扱いかつ戻りの危険性を避けることができる可能な方
法の内の他の1つを表わす状態図である。
【符号の説明】
12  半導体チップ 14  CPU 16  通常用レジスタセット 18  交替用レジスタセット 20  アンプライムレジスタ 22  プライムレジスタ 24  他のレジスタ 40  バス 50  外部メモリスタック 10  デジタルデータ処理システム 26  FOステータスビット 28  FFステータスビット 30  CFステータスビット 31  CSCレジスタ 32  CSC′レジスタ 34  A/Nビット 36  A/N′ビット

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】  第1の格納手段、第2の格納手段、第
    1のステータスビット、第2のステータスビット、そし
    て前記第1または第2の格納手段の1つを用いるための
    要求を受け、前記第1および第2のステータスビットお
    よび前記要求が第1の記憶手段に対するものかまたは第
    2の記憶手段に対するものかにもとづき、バンク切換動
    作を行なうべきかおよびスタッキング動作を行なうべき
    かを決定し、かつ、前記第1および第2のステータスビ
    ットおよび前記要求が前記第1の格納手段に対するもの
    かまたは前記第2の格納手段に対するものかにもとづき
    、前記第1および第2のステータスビットに対する新し
    い値を決定するための論理手段、を具備することを特徴
    とする集積回路。
  2. 【請求項2】  第1のレジスタバンク、第2のレジス
    タバンク、第1のステータスビット、第2のステータス
    ビット、および要求信号を受け、前記第1のステータス
    ビットおよび前記要求信号が第1の形式のものかまたは
    第2の形式のものかにもとづき、バンク切換動作を行な
    うべきかおよびスタッキング動作を行なうべきかを決定
    し、かつ、前記第1および第2のステータスビットおよ
    び前記要求信号は第1の形式のものかまたは第2の形式
    のものかにもとづき、前記第1および第2のステータス
    ビットに対する新しい値を決定するための論理手段、を
    具備することを特徴とするデジタルデータプロセッサ。
  3. 【請求項3】  第1の種類の割込みの間に使用される
    第1の組のレジスタ、第2の種類の割込みの間に使用さ
    れる第2の組のレジスタ、第1のステータスビット、第
    2のステータスビット、を具備し、前記第1および第2
    のステータスビットは、前記第2の種類の割込みが何ら
    発生していない第1の状態、前記第2の種類の割込みが
    1つだけ発生しておりかつ発生した最も最近の割込みが
    前記第2の種類の割込みであった第2の状態、1つより
    多くの前記第2の種類の割込みが発生しておりかつ発生
    した最も最近の割込みが前記第2の種類の割込みの1つ
    であった第3の状態、および少なくとも1つの前記第2
    の種類の割込みが発生しておりかつ発生した最も最近の
    割込みが前記第1の種類の割込みであった第4の状態、
    の1つを表わす、デジタルデータプロセッサを作動させ
    るための方法であり、該方法は、前記第1および第2の
    ステータスビットから切換え動作が必要であるかおよび
    スタッキング動作が必要であるかを決定する段階、そし
    て前記第1および第2のステータスビットに対する直前
    の値にもとづきかつ前記第1または前記第2の種類の割
    込みが発生したかにもとづき前記第1および第2のステ
    ータスビットに対する新しい値を決定する段階、を具備
    することを特徴とするデジタルデータプロセッサを作動
    させるための方法。
  4. 【請求項4】  第1の種類の割込みの間に使用される
    第1の組のレジスタ、第2の種類の割込みの間に使用さ
    れる第2の組のレジスタ、第1のステータスビット、第
    2のステータスビット、第3のステータスビット、を具
    備し、前記第1、第2および第3のステータスビットは
    、前記第2の種類の割込みが発生していない第1の状態
    、前記第2の種類の割込みが1つだけ発生しておりかつ
    発生した最も最近の割込みが前記第2の種類の割込みで
    あった第2の状態、1つより多くの前記第2の種類の割
    込みが発生しておりかつ発生した最も最近の割込みが前
    記第2の種類の割込みであった第3の状態、前記第2の
    種類の割込みが1つだけ発生しておりかつ発生した最も
    最近の割込みが前記第1の種類の割込みであった第4の
    状態、1つより多くの前記第2の種類の割込みが発生し
    ておりかつ発生した最も最近の割込みが前記第1の種類
    の割込みであった第5の状態、の1つを表わす、デジタ
    ルデータプロセッサを作動させるための方法であり、該
    方法は、前記第1および第2のステータスビットから切
    換え動作が必要であるかおよびスタッキング動作が必要
    であるかを決定する段階、そして前記第1および第2の
    ステータスビットに対する直前の値にもとづきかつ前記
    第1または第2の種類の割込みが発生したかにもとづき
    前記第1および第2のステータスビットに対する新しい
    値を決定する段階、を具備することを特徴とするデジタ
    ルデータプロセッサを作動させるための方法。
JP3010338A 1990-01-05 1991-01-04 デジタルデータプロセッサおよびその作動方法 Expired - Lifetime JP2972355B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/461,587 US5115506A (en) 1990-01-05 1990-01-05 Method and apparatus for preventing recursion jeopardy
US461,587 1990-01-05

Publications (2)

Publication Number Publication Date
JPH04211838A true JPH04211838A (ja) 1992-08-03
JP2972355B2 JP2972355B2 (ja) 1999-11-08

Family

ID=23833181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3010338A Expired - Lifetime JP2972355B2 (ja) 1990-01-05 1991-01-04 デジタルデータプロセッサおよびその作動方法

Country Status (6)

Country Link
US (1) US5115506A (ja)
EP (1) EP0441054B1 (ja)
JP (1) JP2972355B2 (ja)
KR (1) KR0185979B1 (ja)
DE (1) DE69031558T2 (ja)
HK (1) HK1003604A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940001878B1 (ko) * 1990-03-08 1994-03-10 가부시끼가이샤 히다찌세이사꾸쇼 멀티 프로세서시스템 및 인터럽션 제어장치
JP2507833B2 (ja) * 1990-12-25 1996-06-19 三菱電機株式会社 マイクロコンピュ−タ
JP3110866B2 (ja) * 1992-06-01 2000-11-20 株式会社東芝 マイクロプロセッサ
US5313640A (en) * 1992-09-23 1994-05-17 International Business Machines Corporation Method and system for the efficient response to multiple different types of interrupts
US5388226A (en) * 1992-10-05 1995-02-07 Motorola, Inc. Method and apparatus for accessing a register in a data processing system
US5386563A (en) * 1992-10-13 1995-01-31 Advanced Risc Machines Limited Register substitution during exception processing
JPH0713772A (ja) * 1993-06-29 1995-01-17 Mitsubishi Electric Corp データ処理装置
US5642516A (en) * 1994-10-14 1997-06-24 Cirrus Logic, Inc. Selective shadowing of registers for interrupt processing
US5812868A (en) * 1996-09-16 1998-09-22 Motorola Inc. Method and apparatus for selecting a register file in a data processing system
US5903919A (en) * 1997-10-07 1999-05-11 Motorola, Inc. Method and apparatus for selecting a register bank
US5901309A (en) * 1997-10-07 1999-05-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for improved interrupt handling within a microprocessor
US6493781B1 (en) * 1999-08-19 2002-12-10 Koninklijke Philips Electronics N.V. Servicing of interrupts with stored and restored flags
US7133951B1 (en) * 2000-02-29 2006-11-07 Bourekas Philip A Alternate set of registers to service critical interrupts and operating system traps
KR100852563B1 (ko) 2000-10-18 2008-08-18 코닌클리즈케 필립스 일렉트로닉스 엔.브이. 디지털 신호 처리 장치 및 방법
US7552261B2 (en) * 2001-10-12 2009-06-23 Mips Technologies, Inc. Configurable prioritization of core generated interrupts
US7487339B2 (en) * 2001-10-12 2009-02-03 Mips Technologies, Inc. Method and apparatus for binding shadow registers to vectored interrupts
US20050166031A1 (en) * 2002-04-26 2005-07-28 Holmberg Anders P. Memory access register file
JP2005537580A (ja) * 2002-09-03 2005-12-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ スタックタイプのスナップショットバッファがネスト化されたインタラプトを処理すること
US7493478B2 (en) * 2002-12-05 2009-02-17 International Business Machines Corporation Enhanced processor virtualization mechanism via saving and restoring soft processor/system states
US7680990B2 (en) * 2003-05-30 2010-03-16 Hewlett-Packard Development Company, L.P. Superword memory-access instructions for data processor
TW200511111A (en) 2003-07-30 2005-03-16 Koninkl Philips Electronics Nv Microcontroller with an interrupt structure having programmable priority levels with each priority level associated with a different register set
CN101075219B (zh) * 2007-06-19 2010-08-11 北京中星微电子有限公司 一种中断处理方法及系统
US8151095B1 (en) * 2008-07-18 2012-04-03 Nvidia Corporation System and method for context migration across CPU threads
US9195497B2 (en) * 2012-03-21 2015-11-24 Microchip Technology Incorporated Microcontroller with context switch

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58129658A (ja) * 1982-01-29 1983-08-02 Nec Corp マイクロプログラム制御装置
JPS60214044A (ja) * 1984-04-09 1985-10-26 Nec Corp マイクロコンピュ−タ
JPS6177936A (ja) * 1984-09-26 1986-04-21 Nec Corp 情報処理装置
JPS63245529A (ja) * 1987-03-31 1988-10-12 Toshiba Corp レジスタ退避復元装置
JPH01214939A (ja) * 1988-02-23 1989-08-29 Nec Corp シングルチップマイクロコンピュータ

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3858182A (en) * 1972-10-10 1974-12-31 Digital Equipment Corp Computer program protection means
US4217638A (en) * 1977-05-19 1980-08-12 Tokyo Shibaura Electric Co., Ltd. Data-processing apparatus and method
JPS5616248A (en) * 1979-07-17 1981-02-17 Matsushita Electric Ind Co Ltd Processing system for interruption
US4434461A (en) * 1980-09-15 1984-02-28 Motorola, Inc. Microprocessor with duplicate registers for processing interrupts
EP0163096B1 (de) * 1984-04-26 1988-11-17 BBC Brown Boveri AG Einrichtung zur Rettung eines Rechnerzustandes
JPS61206043A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd 仮想計算機システムにおける割込制御方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58129658A (ja) * 1982-01-29 1983-08-02 Nec Corp マイクロプログラム制御装置
JPS60214044A (ja) * 1984-04-09 1985-10-26 Nec Corp マイクロコンピュ−タ
JPS6177936A (ja) * 1984-09-26 1986-04-21 Nec Corp 情報処理装置
JPS63245529A (ja) * 1987-03-31 1988-10-12 Toshiba Corp レジスタ退避復元装置
JPH01214939A (ja) * 1988-02-23 1989-08-29 Nec Corp シングルチップマイクロコンピュータ

Also Published As

Publication number Publication date
DE69031558T2 (de) 1998-03-26
KR0185979B1 (ko) 1999-05-15
EP0441054B1 (en) 1997-10-08
HK1003604A1 (en) 1998-10-30
US5115506A (en) 1992-05-19
JP2972355B2 (ja) 1999-11-08
EP0441054A1 (en) 1991-08-14
KR910014802A (ko) 1991-08-31
DE69031558D1 (de) 1997-11-13

Similar Documents

Publication Publication Date Title
JP2972355B2 (ja) デジタルデータプロセッサおよびその作動方法
US6088740A (en) Command queuing system for a hardware accelerated command interpreter engine
JP2539199B2 (ja) デジタルプロセッサ制御装置
JP3074178B2 (ja) プログラム・モジュール・ロード及び実行方法
US6209085B1 (en) Method and apparatus for performing process switching in multiprocessor computer systems
US4493034A (en) Apparatus and method for an operating system supervisor in a data processing system
JPH0242569A (ja) ベクター処理システムに用いる文脈スイッチング方法及び装置
US5948097A (en) Method and apparatus for changing privilege levels in a computer system without use of a call gate
CN101271409A (zh) 用于迁移逻辑分区的装置和方法以及产品
JP4507791B2 (ja) 複数のプロセッサにソフトウェアをロードするシステムおよび方法
JPH0816395A (ja) 格納要求処理方法および取出し/格納バッファ
GB2348306A (en) Batch processing of tasks in data processing systems
US11734079B2 (en) Methods of hardware and software-coordinated opt-in to advanced features on hetero ISA platforms
JP2004258840A (ja) 仮想化されたi/oデバイスをもつ計算機システム
US20040122834A1 (en) Apparatus and method for switching mode in a computer system
JPS61182160A (ja) デ−タ処理装置
US6112274A (en) Method and apparatus for processing more than one interrupts without reinitializing the interrupt handler program
JP4756599B2 (ja) データ処理装置
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
US5201052A (en) System for transferring first and second ring information from program status word register and store buffer
JP2001101014A (ja) 浮動割込みを保留できる情報処理装置および割込み条件変更命令実行方法
JPS61184643A (ja) 仮想計算機の起動制御方式
JPH0377137A (ja) 情報処理装置
JPS6097459A (ja) デ−タ処理システム同期方法
JPH0567973B2 (ja)

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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: 20070827

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080827

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090827

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100827

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20110827

Year of fee payment: 12