JPH09212371A - レジスタ退避及び復元システム - Google Patents

レジスタ退避及び復元システム

Info

Publication number
JPH09212371A
JPH09212371A JP8020338A JP2033896A JPH09212371A JP H09212371 A JPH09212371 A JP H09212371A JP 8020338 A JP8020338 A JP 8020338A JP 2033896 A JP2033896 A JP 2033896A JP H09212371 A JPH09212371 A JP H09212371A
Authority
JP
Japan
Prior art keywords
register
contents
saving
registers
bit
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
JP8020338A
Other languages
English (en)
Inventor
Masakazu Chiba
雅一 千葉
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP8020338A priority Critical patent/JPH09212371A/ja
Priority to US08/796,057 priority patent/US5974512A/en
Publication of JPH09212371A publication Critical patent/JPH09212371A/ja
Pending 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/461Saving or restoring of program or task context
    • G06F9/463Program control block organisation

Abstract

(57)【要約】 (修正有) 【課題】 マルチタスク処理を行うマイクロプロセッサ
において、タスク切替え時におけるレジスタの内容のコ
ンテキスト領域への退避処理に要する時間を極力少なく
して、OSのオーバーヘッドを減少させる。 【解決手段】 複数のレジスタ100に夫々対応して、
ダーティビット104,105を設け、レジスタの内容
が変化したときに対応ビットを“1”とし、変化しない
ときは“0”とする。タスク切替えが発生したときに各
レジスタ内容をコンテキスト領域へ退避する場合、各ビ
ットを参照して、“0”であれば、退避命令を実行しな
い。すなわち、レジスタの内容の退避も退避のための格
納アドレスの更新も行わない。よって、それだけ処理時
間が少なくなる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はレジスタ退避及び復
元システムに関し、特にマルチタスク処理を行うOS
(オペレーティングシステム)を使用したマイクプロセ
ッサにおけるタスク切替え時レジスタ内容の退避/復元
処理の制御を行うレジスタ退避及び復元システムに関す
るものである。
【0002】
【従来の技術】現在、マイクロプロセッサを効率良く使
用するために、マルチプログラミングの方式が用いられ
ている。マルチプログラミング方式では、プログラムを
実行単位であるタスクに分割し、OSが種々の状況に応
じてタスクを選択し、CPUの実行権を割り当ててい
る。OSがあるタスクにCPUの実行権を割り当てる際
には、現在CPUが使用しているタスクのコンテキスト
をメモリ上の格納領域に退避し、割り当てるタスクのコ
ンテキスト領域からコンテキストを復元する。この時の
動作を図6,7を参照しながら説明する。
【0003】図6はCPUのレジスタの例を示したもの
である。このCPUは32ビット長のレジスタを32本
持つものである。また、CPUはこれ等のレジスタの退
避及び復元を命令で実行するものとする。
【0004】図7はCPUの実行権を移す際のフローを
示したものである。今、タスクは簡単のためにタスクA
とタスクBの2つとする。初めはタスクAにCPUの実
行権があり、タスクAからタスクBにCPUの実行権が
移るものとする。また、タスクのコンテキストを図6に
示したレジスタとし、コンテキストの格納領域はタスク
コントロールブロック内に確保されているものとする。
【0005】CPUの実行権を切り換えるために(ステ
ップ701)、OSはタスクAのタスクコントロールブ
ロックアドレスを得る(ステップ702)。この時OS
はこのタスクコントロールブロック内にタスクAのコン
テキストを格納するために、レジスタの退避命令を実行
する。この命令によってCPUは32本のレジスタの内
容をレジスタR0から順にレジスタR31まで全てを退
避せしめてメモリ上の退避領域に格納する(ステップ7
03)。
【0006】次に、メモリ上の他の領域における実行待
ちの行列の先頭から、タスクBのタスクコントロールブ
ロックアドレスを得る(ステップ704)。OSはこの
タスクコントロールブロック内のタスクBのコンテキス
トをCPUのレジスタに格納するために、レジスタの復
帰命令を実行する。この命令によってCPUはタスクコ
ントロールブロック内に格納してあるデータをレジスタ
R0からR31に格納する(ステップ705)。この様
にして、OSはタスクAからタスクBにCPUのコンテ
キストを入れ替える。
【0007】別の従来例を説明する。この例は特開平4
−211837号公報に開示のものであり、この従来例
では、前述の従来例同様に、OSはレジスタの内容を退
避させるための退避命令を実行する。CPUはレジスタ
R0から順に退避格納するが、この際各レジスタに対応
して予め設けられているモディファイビットの状態を参
照する。
【0008】モディファイビットとは実行中のタスク内
でレジスタの内容に変更があった場合に[1]がセット
されるビットのことである。
【0009】先ず、CPUはレジスタR0に対応したモ
ディファイビットをチェックする。この場合、モディフ
ァイビットが[1]であったとする。よって、このレジ
スタR0の内容は変更されているので、CPUはレジス
タR0の内容をコンテキスト格納領域に退避格納し、次
のレジスタR1のための格納アドレスを更新する。
【0010】次に、レジスタR1のモディファイビット
をチェックする。この場合、レジスタR1のモディファ
イビットが[0]であったとする。よって、このレジス
タR1の内容は変更されていないので、レジスタR1の
内容は格納せず、格納アドレスのみを更新する。
【0011】この様に、モディファイビットが[1]の
場合は、CPUは対応するレジスタの内容をコンテキス
ト格納領域に格納し、格納アドレスを更新し、モディフ
ァイビットが[0]の場合は、CPUは対応するレジス
タの内容を格納せず、格納アドレスのみを更新する。以
上のように、CPUはレジスタの退避を行う。
【0012】次に、OSはタスクBのタスクコントロー
ルブロックアドレスを得る。OSはタスクコントロール
ブロックに格納してあるタスクBのコンテキストをCP
Uのレジスタに格納するために、レジスタの復元命令を
実行する。
【0013】この命令によってCPUは、モディファイ
ビットを全て[0]にし、コンテキスト格納領域に格納
してあるデータを全てのレジスタに格納する。この様に
して、OSはタスクAからタスクBにコンテキストを入
れ替える。
【0014】
【発明が解決しようとする課題】マイクロプロセッサは
内部におけるコンテキストの転送を非常に高速に行う。
しかし、マルチタスク処理を行うマイクロプロセッサに
おいては、タスクを入れ替える度にレジスタの内容をメ
モリに退避格納し、次に実行するタスクのコンテキスト
をレジスタに復元する必要がある。
【0015】その際に、マイクロプロセッサの外部バス
を使用するためにマイクロプロセッサ内部のように高速
にデータ転送が行えない。マイクロプロセッサを使用し
たシステムにおいて、外部アクセスを用いるアクセスが
生じると性能が低下する。
【0016】また、先の特開平4−211837号公報
のモディファイビットを用いたレジスタシステムにおい
ても、レジスタの本数分の退避領域への格納アドレスを
更新し、復元の際にはレジスタの本数分コンテキストを
レジスタに戻すために、外部アクセス時間がOSの処理
時間内のオーバーヘッドとなってしまう。
【0017】本発明の目的は、マルチタスクの切替え時
におけるレジスタ内容の退避/復元処理のオーバーヘッ
ドを極力少なくするようにしたレジスタ退避復元システ
ムを提供することである。
【0018】
【課題を解決するための手段】本発明によるレジスタ退
避システムは、複数のレジスタを有し、これ等レジスタ
の格納内容をメモリ上の退避領域に退避するレジスタ退
避システムであって、前記レジスタの各々に対応して設
けられ対応レジスタの内容が変化したことを示すビット
群と、前記レジスタの内容の退避時に、前記ビット群を
参照してそのビットが内容の変化を示すときは前記退避
領域への格納アドレスの更新を行って対応レジスタの内
容の退避を行い、内容の変化を示さないときは前記格納
アドレスの更新及び対応レジスタの退避を行わないよう
制御する手段とを含むことを特徴としている。
【0019】そして、前記退避時に、前記ビット群の内
容を全て退避するようにしたことを特徴としている。
【0020】また、本発明によるレジスタ退避及び復元
システムは、複数のレジスタを有し、これ等レジスタの
格納内容をメモリ上の退避領域に退避し、また退避領域
の退避中の内容を前記レジスタに復元するようにしたレ
ジスタ退避及び復元システムであって、前記レジスタの
各々に対応して設けられ対応レジスタの内容が変化した
ことを示すビット群と、前記レジスタの内容の退避時
に、前記ビット群を参照してそのビットが内容の変化を
示すときは前記退避領域への格納アドレスの更新を行っ
て対応レジスタの内容の退避を行い、内容の変化を示さ
ないときは前記格納アドレスの更新及び対応レジスタの
退避を行わないよう制御する手段と、前記退避時に前記
ビット群の内容を全て退避するよう制御する手段と、前
記退避領域の退避内容の前記レジスタへの復元時に、前
記退避中のビッド群を参照してそのビットが内容の変化
を示すときは前記退避領域から読出すべき復元アドレス
の更新を行って対応復元データの対応レジスタへの復元
を行い、内容の変化を示さないときは前記復元アドレス
の更新及び対応レジスタへの復元を行わないよう制御す
る手段とを含むことを特徴としている。
【0021】そして、前記復元の終了に応答して、前記
レジスタの各々に対応して設けられたビット群を全てク
リアするようにしたことを特徴としている。
【0022】このビット群クリア処理をなす代わりに、
前記退避中のビッド群の参照に際して、前記退避中のビ
ット群の内容を順次ビットシフトしつつシフトアウトし
たビットの内容を参照し、前記ビット群の内容が全てク
リア状態になった時に前記復元処理を終了するようにし
たことを特徴としている。
【0023】
【発明の実施の形態】本発明の作用について述べる。レ
ジスタの内容に変化がない場合には、退避や復元の必要
もないために、変化のあったレジスタの内容のみを退避
や復元処理すると共に、その時のみメモリ上の退避領域
への退避格納アドレスの更新や復元アドレスの更新を行
うことで、OSのオーバーヘッドを極力少なくすること
が可能となる。
【0024】本発明の実施例を図面を参照しながら説明
する。
【0025】図1は本発明の一実施例に用いるレジスタ
システム構成を示したものである。図で使用しているレ
ジスタシステム100は、一つのレジスタが32ビット
構成であり、32本で構成されている。
【0026】また、一般使用を目的とした32本のレジ
スタとは別に、各レジスタの変化を示す32個のダーテ
ィビットを並べたダーティビット群レジスタ103を有
する。このダーティビットは、例えば、レジスタR0や
R1に対して夫々ダーティビット104や105という
ように、各レジスタに対して1対1に用意される。
【0027】そして、タスクAを実行中にレジスタR0
の内容を変更した場合、レジスタR0に対応するダーテ
ィビット104が[1]にセットされる。また、タスク
Aの最中にレジスタR0の内容が変化しなかった場合、
ダーティビット104の[0]の値は変化しない。同様
に、全てのダーティビットの値がタスクAの実行中に決
定される。
【0028】タスクAからタスクBに変更する際、コン
テキストを入れ替える必要があるが、OSは図2に示す
退避格納アルゴリズムに従ってレジスタの内容を退避す
る退避命令を実行することでこれを行う(ステップ30
1)。CPUはレジスタR0の内容から順に退避格納す
るが、この際に各レジスタに対応したダーティビットを
参照する。先ず、CPUはレジスタR0に対応したダー
ティビットをチェックする(ステップ302,30
3)。
【0029】この例では、ダーティビット104の値を
[1]、ダーティビット105の値を[0]とする。よ
ってCPUはレジスタR0の内容をコンテキスト格納領
域に格納し(ステップ305)、格納アドレスを更新す
る(ステップ306)。
【0030】次に、CPUはレジスタR1のダーティビ
ットをチェックする。レジスタR1のダーティビットは
[0]である。よってレジスタR1の内容は格納せず、
格納アドレスも更新しない。
【0031】以上のようにレジスタR31までの処理を
繰り返し(ステップ307,308)、CPUはレジス
タの退避を行う。レジスタR31の処理の後、ダーティ
ビット群のレジスタ103の内容もコンテキスト格納領
域に格納し(ステップ309)、格納アドレスを更新す
る(ステップ310)。
【0032】次にOSは、タスクBのタスクコントロー
ルブロックアドレスを得る。この時、タスクBのコンテ
キスト格納領域の内容は図3に示す如くであるとする。
OSはタスクコントロールブロックに格納してあるタス
クBのコンテキスト200をCPUのレジスタに格納す
るために、レジスタの復元命令を実行する。この命令に
よってCPUは、先ずコンテキスト格納領域に格納して
あるタスクBのダーティビット群のレジスタ(図1の1
03)に格納する。
【0033】つまりこのレジスタ203は、タスクBの
コンテキストの内、コンテキスト格納領域から復元すべ
きコンテキスト内容を示している。
【0034】タスクBからの他のタスクに切り替わると
きに、コンテキスト格納領域に退避格納した値が図3に
示す如くなっているわけであり、つまりタスクBの最中
に変化のなかったレジスタに関しては対応するダーティ
ビットが[0]となり、格納の際に格納アドレスを更新
していないために、ダーティビットが[1]の値のレジ
スタの内容のみが格納されていることになる。
【0035】図3では、レジスタのR0,R2の各内容
が格納されていて、それに対応するダーティビット20
4,206は夫々[1]になっている。また、レジスタ
R1の内容は格納されておらず、よってそれに対応する
ダーティビット205は[0]になっている。
【0036】この様に本発明の実施例では、タスク実行
中に変更のあったコンテキストのみをコンテキスト格納
領域に退避格納している。
【0037】次に復元命令によって、タスクのコンテキ
ストが入れ替わる様子を図4の復元アルゴリズムに従っ
て説明する。CPUが復元命令を実行すると(ステップ
401)、先ず、コンテキスト格納領域に格納された3
2ビットのダーティビット群203をCPU内のダーテ
ィビット用の32ビットのダーティビットレジスタ10
3に格納する(ステップ402)。
【0038】次に、CPUはコンテキスト格納領域から
32ビットずつレジスタの内容を読出し格納するが、そ
の際は先に格納したダーティビットレジスタ103の内
容を参照し(ステップ403,404)、ダーティビッ
トが[1]になっているレジスタのみに格納を行い(ス
テップ405,406)、復元アドレスを更新する(ス
テップ407)。全てのダーティビットのチェックが終
了すると(ステップ408,409)、ダーティビット
群103を全て[0]クリアする(ステップ410)。
【0039】この様にしてOSは、タスクのコンテキス
トを入れ替える(ステップ411)。
【0040】次に、図5を用いて本発明の他の実施例を
説明する。尚、図5において、図4と同等ステップは同
一符号を付してその説明を省略する。
【0041】先の実施例である図4に示した復元アルゴ
リズムでは、タスクのコンテキストをコンテキスト格納
領域から復元する際は、ダーティビットレジスタの内容
を基に各レジスタにコンテキストを格納し、その後全て
のダーティビットをチェックする際に、ダーティビット
レジスタ(図1の103)の内容を1ビットずつ左にシ
フトし(ステップ503)、キャリーアウトした値をチ
ェックするようにする(ステップ505)。この時、最
下位ビットには1ビットの左シフトの度に0を右から詰
めていく(ステップ504)。
【0042】また、左シフト動作の直後に毎回ダーティ
ビットレジスタの値が全て[0]になっていないかをチ
ェックする(ステップ508)。コンテキストの復元の
最中にダーティビットレジスタの内容が全て[0]にな
ったら、コンテキストの復元命令は終了する。
【0043】本実施例では、コンテキストを復元する命
令の最後のダーティビットの0クリアが必要ないこと
と、ダーティビットのチェックの順番で最後の[1]を
チェックした後の余分なチェックを省略することができ
る。
【0044】尚、本発明のより良い理解のために、追加
的に説明を加える。コンテキストの切替えが発生する
と、レジスタ(汎用レジスタ)の内容をメモリ上に退避
するが、この時、メモリ上の退避箇所のアドレスが必要
となる。従来においては、ストア命令等を用いてメモリ
上の退避領域へ格納して行くが、その際のアドレスはソ
フトウェア上で更新しながら行われる。
【0045】つまり、上述した32本のレジスタが存在
するようなハードウェアの場合、32回のアドレス更新
を行うストア命令を実行して退避が行われることにな
る。
【0046】しかし、本発明では、メモリ上の格納場所
を節約するためにも、内容が変化していないレジスタに
関するストア命令を実行しないようにしたものであり、
よって内容が変化しないレジスタに関しては、退避及び
そのアドレス更新も行わないようにしているのである。
【0047】
【発明の効果】以上述べた如く、本発明によれば、内容
に変更のあったレジスタのみをコンテキスト格納領域に
格納し、復元する際も変更のあったレジスタの内容のみ
を復元しているために、余計なメモリアクセス、つまり
外部バスのアクセスが必要最小限になり、従って、OS
の処理時間内のオーバーヘッドを最小に押さえられるた
め、コンテキストの変更によるOS性能のロスを最小限
に押さえることができるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施例におけるレジスタの構成を示す
図である。
【図2】本発明の実施例の退避処理動作を示すフローチ
ャートである。
【図3】本発明の実施例におけるタスクBのコンテキス
ト格納領域内の内容を示す図である。
【図4】本発明の実施例の復元処理動作の一例を示すフ
ローチャートである。
【図5】本発明の実施例の復元処理動作の他の例を示す
フローチャートである。
【図6】従来例を説明するためのレジスタの構成図であ
る。
【図7】従来のコンテキスト入れ替え処理時の動作を示
すフローチャートである。
【符号の説明】
100 レジスタ 103 ダーティビットレジスタ 104,105 ダーティビット 200 コンテキスト格納領域の内容 203 ダーティビット群の内容 204〜206 ダーティビット

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数のレジスタを有し、これ等レジスタ
    の格納内容をメモリ上の退避領域に退避するレジスタ退
    避システムであって、前記レジスタの各々に対応して設
    けられ対応レジスタの内容が変化したことを示すビット
    群と、前記レジスタの内容の退避時に、前記ビット群を
    参照してそのビットが内容の変化を示すときは前記退避
    領域への格納アドレスの更新を行って対応レジスタの内
    容の退避を行い、内容の変化を示さないときは前記格納
    アドレスの更新及び対応レジスタの退避を行わないよう
    制御する手段とを含むことを特徴とするレジスタ退避シ
    ステム。
  2. 【請求項2】 前記退避時に、前記ビット群の内容を全
    て退避するようにしたことを特徴とする請求項1記載の
    レジスタ退避システム。
  3. 【請求項3】 複数のレジスタを有し、これ等レジスタ
    の格納内容をメモリ上の退避領域に退避し、また退避領
    域の退避中の内容を前記レジスタに復元するようにした
    レジスタ退避及び復元システムであって、前記レジスタ
    の各々に対応して設けられ対応レジスタの内容が変化し
    たことを示すビット群と、前記レジスタの内容の退避時
    に、前記ビット群を参照してそのビットが内容の変化を
    示すときは前記退避領域への格納アドレスの更新を行っ
    て対応レジスタの内容の退避を行い、内容の変化を示さ
    ないときは前記格納アドレスの更新及び対応レジスタの
    退避を行わないよう制御する手段と、前記退避時に前記
    ビット群の内容を全て退避するよう制御する手段と、前
    記退避領域の退避内容の前記レジスタへの復元時に、前
    記退避中のビッド群を参照してそのビットが内容の変化
    を示すときは前記退避領域から読出すべき復元アドレス
    の更新を行って対応復元データの対応レジスタへの復元
    を行い、内容の変化を示さないときは前記復元アドレス
    の更新及び対応レジスタへの復元を行わないよう制御す
    る手段とを含むことを特徴とするレジスタ退避及び復元
    システム。
  4. 【請求項4】 前記復元の終了に応答して前記レジスタ
    の各々に対応して設けられたビット群を全てクリアする
    ようにしたことを特徴とする請求項3記載のレジスタ退
    避及び復元システム。
  5. 【請求項5】 前記退避中のビッド群の参照に際して、
    前記退避中のビット群の内容を順次ビットシフトしつつ
    シフトアウトしたビットの内容を参照するようにしたこ
    とを特徴とする請求項3記載のレジスタ退避及び復元シ
    ステム。
  6. 【請求項6】 前記ビット群の内容が全てクリア状態に
    なった時に前記復元処理を終了するようにしたことを特
    徴とする請求項5記載のレジスタ退避及び復元システ
    ム。
JP8020338A 1996-02-07 1996-02-07 レジスタ退避及び復元システム Pending JPH09212371A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP8020338A JPH09212371A (ja) 1996-02-07 1996-02-07 レジスタ退避及び復元システム
US08/796,057 US5974512A (en) 1996-02-07 1997-02-07 System for saving and restoring contents of a plurality of registers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8020338A JPH09212371A (ja) 1996-02-07 1996-02-07 レジスタ退避及び復元システム

Publications (1)

Publication Number Publication Date
JPH09212371A true JPH09212371A (ja) 1997-08-15

Family

ID=12024361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8020338A Pending JPH09212371A (ja) 1996-02-07 1996-02-07 レジスタ退避及び復元システム

Country Status (2)

Country Link
US (1) US5974512A (ja)
JP (1) JPH09212371A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003233508A (ja) * 2002-01-04 2003-08-22 Microsoft Corp コンピューティングシステム中のコプロセッサの計算リソースを制御するための方法およびコンピューティング装置
WO2004063925A1 (ja) 2003-01-09 2004-07-29 Japan Science And Technology Agency コンテキスト切り替え方法・装置・プログラム・記憶媒体、中央演算装置
US7412590B2 (en) 2004-09-21 2008-08-12 Sanyo Electric Co., Ltd. Information processing apparatus and context switching method
JP2015534188A (ja) * 2012-09-28 2015-11-26 インテル・コーポレーション ユーザレベルのスレッディングのために即時のコンテキスト切り替えを可能とする新規の命令および高度に効率的なマイクロアーキテクチャ

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6408325B1 (en) * 1998-05-06 2002-06-18 Sun Microsystems, Inc. Context switching technique for processors with large register files
GB2369693B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Protection for memory modification tracking
US20030088761A1 (en) * 2001-11-02 2003-05-08 Paver Nigel C. Register context usage indicator
US20030177342A1 (en) * 2002-03-15 2003-09-18 Hitachi Semiconductor (America) Inc. Processor with register dirty bits and special save multiple/return instructions
US7130997B2 (en) * 2003-05-29 2006-10-31 International Business Machines Corporation Method of registering a portion of RAM with firmware to preserve the portion during reboot
EP1622009A1 (en) * 2004-07-27 2006-02-01 Texas Instruments Incorporated JSM architecture and systems
US8171268B2 (en) * 2005-09-19 2012-05-01 Intel Corporation Technique for context state management to reduce save and restore operations between a memory and a processor using in-use vectors
US8407715B2 (en) * 2007-04-30 2013-03-26 National Tsing Hua University Live range sensitive context switch procedure comprising a plurality of register sets associated with usage frequencies and live set information of tasks
US8762692B2 (en) * 2007-09-27 2014-06-24 Intel Corporation Single instruction for specifying and saving a subset of registers, specifying a pointer to a work-monitoring function to be executed after waking, and entering a low-power mode
CN103890713B (zh) * 2011-10-01 2018-08-24 英特尔公司 用于管理处理系统内的寄存器信息的装置及方法
US9898330B2 (en) * 2013-11-11 2018-02-20 Intel Corporation Compacted context state management
US9817664B2 (en) 2015-02-19 2017-11-14 Apple Inc. Register caching techniques for thread switches
US10740108B2 (en) 2017-04-18 2020-08-11 International Business Machines Corporation Management of store queue based on restoration operation
US10963261B2 (en) 2017-04-18 2021-03-30 International Business Machines Corporation Sharing snapshots across save requests
US10540184B2 (en) 2017-04-18 2020-01-21 International Business Machines Corporation Coalescing store instructions for restoration
US10782979B2 (en) * 2017-04-18 2020-09-22 International Business Machines Corporation Restoring saved architected registers and suppressing verification of registers to be restored
US10564977B2 (en) 2017-04-18 2020-02-18 International Business Machines Corporation Selective register allocation
US10552164B2 (en) * 2017-04-18 2020-02-04 International Business Machines Corporation Sharing snapshots between restoration and recovery
US10572265B2 (en) 2017-04-18 2020-02-25 International Business Machines Corporation Selecting register restoration or register reloading
US10545766B2 (en) 2017-04-18 2020-01-28 International Business Machines Corporation Register restoration using transactional memory register snapshots
US10489382B2 (en) 2017-04-18 2019-11-26 International Business Machines Corporation Register restoration invalidation based on a context switch
US10649785B2 (en) 2017-04-18 2020-05-12 International Business Machines Corporation Tracking changes to memory via check and recovery
US11010192B2 (en) * 2017-04-18 2021-05-18 International Business Machines Corporation Register restoration using recovery buffers
US10838733B2 (en) 2017-04-18 2020-11-17 International Business Machines Corporation Register context restoration based on rename register recovery
US10403351B1 (en) * 2018-02-22 2019-09-03 Advanced Micro Devices, Inc. Save and restore scoreboard

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4099234A (en) * 1976-11-15 1978-07-04 Honeywell Information Systems Inc. Input/output processing system utilizing locked processors
JPH04211837A (ja) * 1990-03-28 1992-08-03 Nec Corp レジスタ退避方式
US5680570A (en) * 1991-06-12 1997-10-21 Quantum Corporation Memory system with dynamically allocatable non-volatile storage capability
US5689732A (en) * 1994-06-21 1997-11-18 Sony Corporation Apparatus for recording and reproducing data having a single recording and reproducing unit and a plurality of detachable interfaces for connecting to different types of computer ports
US5682517A (en) * 1994-06-21 1997-10-28 Pitney Bowes Inc. Method of transferring data to a memory medium in a mailing machine
US5680640A (en) * 1995-09-01 1997-10-21 Emc Corporation System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003233508A (ja) * 2002-01-04 2003-08-22 Microsoft Corp コンピューティングシステム中のコプロセッサの計算リソースを制御するための方法およびコンピューティング装置
WO2004063925A1 (ja) 2003-01-09 2004-07-29 Japan Science And Technology Agency コンテキスト切り替え方法・装置・プログラム・記憶媒体、中央演算装置
US8020169B2 (en) 2003-01-09 2011-09-13 Japan Science And Technology Agency Context switching system having context cache and a register file for the save and restore context operation
US7412590B2 (en) 2004-09-21 2008-08-12 Sanyo Electric Co., Ltd. Information processing apparatus and context switching method
JP2015534188A (ja) * 2012-09-28 2015-11-26 インテル・コーポレーション ユーザレベルのスレッディングのために即時のコンテキスト切り替えを可能とする新規の命令および高度に効率的なマイクロアーキテクチャ

Also Published As

Publication number Publication date
US5974512A (en) 1999-10-26

Similar Documents

Publication Publication Date Title
JPH09212371A (ja) レジスタ退避及び復元システム
JPH0353328A (ja) レジスタ退避回復方法ならびに処理装置
JPS63156236A (ja) レジスタ装置
US5928356A (en) Method and apparatus for selectively controlling groups of registers
JPS62221732A (ja) 情報処理装置
JPH1011301A (ja) マルチタスク処理装置及びマルチタスク処理制御方法
JP2003058381A (ja) プログラムによる例外処理設定を可能にしたプロセッサ
JPH1083349A (ja) キャッシュ・メモリ・バンク制御装置
EP0953905B1 (en) Method and apparatus for switching tasks
JPS62151940A (ja) レジスタ退避/復帰方式
JPH1139171A (ja) マルチタスク処理装置、マルチタスク処理制御方法及び制御プログラム記憶媒体
JPH11167494A (ja) 演算処理装置、及び演算処理装置のレジスタ管理方法
JPH044630B2 (ja)
JP3278624B2 (ja) ベクトル処理装置及び最大ベクトル長制御方法
JPH0333954A (ja) 情報処理装置
JPH04211837A (ja) レジスタ退避方式
JPH0497433A (ja) ベクトル計算機
JPH04293159A (ja) ベクトルデータ処理装置
JP2639988B2 (ja) データ駆動型データ処理装置
JPH03280132A (ja) 中央処理装置
JP2799528B2 (ja) マルチプロセッサシステム
JPH03182945A (ja) 主記憶内データ転送方式
JPH05143331A (ja) 仮想記憶制御における命令中断情報制御方式
JP2001084151A (ja) 中央処理装置
JPH08166887A (ja) 割込み処理からの復帰方法