JPH0997185A - 情報処理装置およびその方法 - Google Patents

情報処理装置およびその方法

Info

Publication number
JPH0997185A
JPH0997185A JP25224195A JP25224195A JPH0997185A JP H0997185 A JPH0997185 A JP H0997185A JP 25224195 A JP25224195 A JP 25224195A JP 25224195 A JP25224195 A JP 25224195A JP H0997185 A JPH0997185 A JP H0997185A
Authority
JP
Japan
Prior art keywords
register
contents
difference value
memory
restored
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
JP25224195A
Other languages
English (en)
Inventor
Yukihiro Tamura
征大 田村
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP25224195A priority Critical patent/JPH0997185A/ja
Publication of JPH0997185A publication Critical patent/JPH0997185A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 プログラム全体の実行時間の短縮を図ること
ができる情報処理装置を提供する。 【解決手段】 プロセスの切り換えが発生すると、レジ
スタの内容を主記憶装置14に退避して記憶する。レベ
ル領域7aには切り換え時のレベルカウンタ13のカウ
ント値が記憶され、データ領域7bにはデータ本体が記
憶される。レベルカウンタ13のカウント値は、プロセ
スの切り換えに応じてインクリメントされ、プロセスの
復帰に応じてディクリメントされる。プロセスの復帰の
際には、レベル領域7aのカウント値がレベルカウンタ
13のカウント値に比べて同じか大きいときに、それに
対応するデータのみが主記憶装置14からレジスタのデ
ータ領域7bに復帰される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置およ
びその方法に関し、特に、プロセスが切り換わる際の主
記憶部とレジスタとの間のデータ転送に特徴を有する情
報処理装置およびその方法に関する。
【0002】
【従来の技術】マイクロプロセッサなどでは、図5に示
すように、プロセス40を実行中に、他の手続の呼び出
しや例外処理あるいは割込処理などの要求が発生し、実
行するプロセスがプロセス40から他のプロセス41に
切り換わることがある。ところで、マイクロプロセッサ
には、高速アクセス可能なレジスタが設けられている
が、高価格であることからその数には限りがある。従っ
て、他の手続の呼び出しなどによってプロセス40から
プロセス41への切り換えを行う際に、図5に示すレジ
スタ内容退避処理42を行って、現在実行中のプロセス
40で使用していたレジスタの内容をレジスタファイル
として一時的にレジスタよりもアクセス速度は遅いが安
価な主記憶部に記憶し、次に実行されるプロセス41に
レジスタを開放する。
【0003】また、このように主記憶部にレジスタファ
イルとして記憶されたレジスタの内容は、呼び出された
プロセス41が完了して元のプロセス40に復帰する際
に、図5に示すように、レジスタ内容復帰処理43を行
うことでレジスタに書き戻される。従来では、レジスタ
内容復帰処理43において、主記憶部に退避したレジス
タファイルの内容を全てレジスタに復帰している。
【0004】
【発明が解決しようとする課題】しかしながら、レジス
タ内容退避処理42およびレエジスタ内容復帰処理43
ではアクセス速度の遅い主記憶部に対してのアクセスが
行われることから長い時間が費やされ、プロセスの切り
換えが頻繁に発生すると、プログラムの実行時間に対す
る主記憶部へのアクセス時間の割合が大きくなり、プロ
グラム全体の実行時間が長期化するという問題がある。
【0005】本発明は上述した従来技術の問題点に鑑み
てなされ、プログラム全体の実行時間の短縮を図ること
ができる情報処理装置およびその方法を提供することを
目的とする。
【0006】
【課題を解決するための手段】上述した従来技術の問題
点を解決し、上述した目的を達成するために、本発明の
情報処理装置は、プロセスを切り換える際にレジスタの
内容をメモリに退避させ、プロセスを復帰する際にメモ
リに退避しているレジスタの内容をレジスタに復帰する
情報処理装置であって、プロセスの切り換わりの回数と
プロセスの復帰の回数との差分に応じた差分値を生成す
る差分値生成手段と、メモリに退避したレジスタの内容
をレジスタに復帰する際に、前記差分値生成手段の差分
値とレジスタの内容に対応して記憶された書き込み時の
差分値とを用いて、次に復帰するプロセスが前回切り換
えられた後に更新されたレジスタの内容をレジスタに復
帰させるレジスタ内容復帰手段とを有する。
【0007】また、本発明の情報処理装置は、好ましく
は、前記差分値生成手段はアップダウンカウンタであ
り、前記差分値はアップダウンカウンタのカウント値で
ある。
【0008】また、本発明の情報処理方法は、プロセス
を切り換える際にレジスタの内容をメモリに退避させ、
プロセスを復帰する際にメモリに退避しているレジスタ
の内容をレジスタに復帰する情報処理方法であって、プ
ロセスの切り換わりの回数とプロセスの復帰の回数との
差分に応じた差分値を生成し、プロセスの復帰に応じて
メモリに退避したレジスタの内容をレジスタに復帰する
際に、前記生成された差分値とレジスタの内容に対応し
て記憶された書き込み時の差分値とを用いて、次に復帰
するプロセスが前回切り換えられた後に更新されたレジ
スタの内容をレジスタに復帰させる。
【0009】本発明の情報処理装置およびその方法で
は、所定のプロセスを実行中に、例えば他の手続の読み
出し命令などが実行されると、プロセスが切り換わる
が、このとき、差分値生成手段は、プロセスの切り換わ
り回数を例えば「1」だけ増加させ、差分値を例えば
「1」だけ増加させる。また、レジスタの内容がメモリ
に退避される。
【0010】次に、他の手続に関するプロセスが終了
し、元のプロセスに復帰する際に、差分値生成手段は、
プロセスの復帰回数を例えば「1」だけ増加させ、差分
値を例えば「1」だけ減少させる。また、レジスタ内容
復帰手段によって、レジスタの内容に対応して記憶され
た差分値と前記プロセスが復帰する前の差分値生成手段
の差分値とが比較され、双方の差分値が同じであるか、
前記対応して記憶された差分値の方が例えば大きい場合
に、当該退避したレジスタの内容がレジスタに復帰され
る。
【0011】
【発明の実施の形態】以下、本発明の実施の形態に係わ
るマイクロプロセッサについて説明する。図1に示すよ
うに、本実施形態に係わるマイクロプロセッサ1は、制
御部2、命令デコーダ3、プログラムカウンタ4、命令
レジスタ5、算術論理演算装置(ALU)6、汎用レジ
スタ7、バス8〜10、メモリアドレスレジスタ11、
メモリデータレジスタ12、レベルカウンタ13および
レジスタ内容復帰部15を有する。
【0012】図1に示すマイクロプロセッサ1では、プ
ログラムカウンタ4のカウント値に対応したアドレスに
記憶された命令(インストラクション)が主記憶装置
(メモリ)14から命令レジスタ5に出力される。命令
レジスタ5に記憶された命令は、命令デコーダ3におい
てデコードされ、このデコード結果に応じて制御部2が
制御される。マイクロプロセッサ1では、制御部2から
の制御において、命令に応じたデータ転送および演算処
理が行われる。プログラムカウンタ4のカウント値は命
令の実行経過に応じて順次にインクリメントされる。
【0013】命令に応じた制御部2の制御によって、例
えば、命令実行に必要なデータのアドレスがメモリアド
レスレジスタ11に出力され、そのアドレスに記憶され
たデータが主記憶装置14からメモリデータレジスタ1
2に出力される。メモリデータレジスタ12に出力され
たデータは、バス10を介して汎用レジスタ7に出力さ
れる。また、必要に応じて、汎用レジスタ7に記憶され
たデータがバス9を介してALU6に直接出力される。
ALU6では、命令デコーダ3におけるデコード結果に
応じて、入力したデータを用いて所定の演算が行われ、
演算結果がバス10を介して汎用レジスタ7に記憶され
る。
【0014】レベルカウンタ13には初期値として例え
ば「0」がセットされており、マイクロプロセッサ1に
おいてプログラムカウンタ4で示される連続したアドレ
スに記憶された一連の命令で構成されるプロセスを実行
中に、プロセス切換要求20が発生して現在実行中のプ
ロセスから他のプロセスに切り換わる際に、カウント値
を「1」だけインクリメントする。プロセス切換要求2
0は、例えば他の手続の呼び出し命令が実行されたり、
割り込み処理あるいは例外処理の要求がなされた場合に
発生する。また、レベルカウンタ13は、プロセス復帰
要求21が発生し、現在実行中のプロセスから以前実行
されていた別のプロセスに復帰する際に、カウント値を
「1」だけディクリメントする。レベルカウンタ13
は、差分値生成手段として機能し、カイント値がプロセ
スの切り換わり回数とプロセスの復帰回数との差分値と
なる。
【0015】汎用レジスタ7は、複数の汎用レジスタ群
で構成され、図2に示すように、データが書き込まれる
際にその時のレベルカウンタ13のカウント値を記憶す
るためのレベル領域7aと、データ本体が記憶されるデ
ータ領域7bとを備えている。
【0016】レジスタ内容復帰部15は、図4に示すよ
うに、比較回路15aおよびAND回路15bを有す
る。比較回路15aは、レベルカウンタ13からのカウ
ント値と、汎用レジスタ7のレベル領域7aに記憶され
たカウント値とを順に比較し、比較の結果、これらのカ
ウント値が同じかレベル領域7aのカウント値が大きい
場合に「1」をAND回路15bに出力し、そうでない
場合に「0」をAND回路15bに出力する。
【0017】AND回路15bは、2入力1出力の回路
であり、一方の入力端子が比較器15aの出力端子と接
続してあり、他方の入力端子からRELOAD信号を入
力する。RELOAD信号は、RELOAD命令が発生
されたときに「1」となり、そうでないときに「0」の
信号である。AND回路15bは、比較器15aからの
出力信号と、RELOAD信号との双方が「1」の場合
に出力信号として「1」を出力し、そうでない場合に
「0」を出力する。すなわち、RELOAD命令が発生
しており、なおかつ、レベル領域7aのカウント値とレ
ベルカウント13のカウント値とが同じかあるいはレベ
ル領域7aのカウント値が方が大きいときにAND回路
15bの出力信号は「1」になり、そうでない場合には
「0」になる。AND回路15bの出力信号が「1」に
なると、レジスタ内容復帰部15は、その時に比較して
いたレベル領域7aに対応したデータ領域7bに主記憶
装置14から対応するデータをレジスタに復帰させる。
【0018】以下、マイクロプロセッサ1の動作につい
て説明する。 〔レジスタの内容が更新された場合〕図1に示すマイク
ロプロセッサ1では、プロセスを実行中に、汎用レジス
タ7の内容が更新されると、すなわち汎用レジスタ7に
書き込みが行われると、更新された汎用レジスタ7のデ
ータ領域7bに新たなデータが記憶されると共に、それ
に対応するレベル領域7aに更新時におけるレベルカウ
ンタ13のカウント値が記憶される。
【0019】〔プロセス切換要求が発生した場合〕マイ
クロプロセッサ1では、所定のプロセスを実行中に、図
3に示すように、プロセス切換要求20が発生すると、
レベルカウンタ13はカウント値を「1」だけインクリ
メントする。そして、図3に示すように、汎用レジスタ
7のデータ領域7bの内容がバス10を介して主記憶装
置14に出力されて記憶(退避)される。その後は、図
1に示す汎用レジスタ7は、次のプロセスに開放され
る。
【0020】〔プロセス復帰要求が発生した場合〕マイ
クロプロセッサ1では、所定のプロセスを実行中に、図
4に示すように、プロセス復帰要求21が発生すると、
レベルカウンタ13はカウント値を「1」だけディクリ
メントする。そして、レジスタ内容復帰部15は、図4
に示した前述した手法により、汎用レジスタ7のレベル
領域7aのカウント値とレベルカウンタ13の現在のカ
ウント値とを順次に比較し、これらのカウント値が同じ
かあるいはレベル領域7aのカウント値の方が大きく、
かつ、RELOAD命令が発生している場合に、それに
対応する主記憶装置14のデータを対応する汎用レジス
タ7に復帰させる。
【0021】一方、レベル領域7aのカウント値の方が
小さい場合には、それに対応する主記憶装置14のデー
タは汎用レジスタ7には復帰しない。すなわち、復帰し
て次に実行するプロセスに関するデータのうち、次に実
行するプロセスあるいはそのプロセスから切り換えられ
たプロセスにおいて更新(書き込み)が行われたレジス
タの内容のみがレジスタに復帰され、それらのプロセス
において更新が行われていないレジスタの内容について
はレジスタの復帰処理は行わない。
【0022】従って、次に復帰して実行するプロセスが
以前に開始された時よりも前に開始されているプロセス
においてのみ更新が行われたレジスタの内容はレジスタ
に復帰されず、そのまま使用される。これは、次に復帰
して実行するプロセスが以前に開始された時よりも前に
開始されているプロセスにおいてのみ更新が行われたレ
ジスタの内容は、次に復帰して実行するプロセスが前回
切り換えられた時以後には更新されていないため、その
まま継続して使用することが可能であるからである。
【0023】そのため、マイクロプロセッサ1によれ
ば、次に実行するプロセスに関する主記憶装置14の内
容を全てレジスタに復帰する従来の手法に比べて、デー
タ転送量を削減することが可能となり、復帰処理に伴う
バスサイクルを小さくすることができ、プログラムの実
行時間が短縮される。
【0024】本発明は上述した実施形態には限定されな
い。例えば、本発明は、例えばレベルカウンタ13に初
期値として「10」などの所定の値を記憶しておき、プ
ロセスの切換要求の発生に応じたカウント値をディクリ
メントし、プロセス復帰要求に応じてカウント値をイン
クリメントするようにしてもよい。この場合には、レベ
ルカウンタ13のカウント値とレベル領域7aのカウン
ト値とが同じか、レベルカウンタ13のカウント値が大
きい場合、主記憶装置14から対応するデータをレジス
タに復帰する。
【0025】
【発明の効果】以上説明したように、本発明の情報処理
装置およびその方法によれば、プロセスの切り換わりが
生じた場合でも、レジスタと主記憶部との間のデータ転
送量を少なくすることができ、プログラム全体の実行時
間を短縮することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係わるマイクロプロセッサ
の構成図である。
【図2】汎用レジスタの構成を説明するための図であ
る。
【図3】汎用レジスタの内容を主記憶装置に退避する際
の処理を説明するための図である。
【図4】主記憶装置に退避したレジスタ内容をレジスタ
に復帰させる処理を説明するための図である。
【図5】マイクロプロセッサにおけるプロセスの切り換
え態様を説明するための図である。
【符号の説明】
1… マイクロプロセッサ 2… 制御部 3… 命令デコーダ 4… プログラムカウンタ 5… 命令レジスタ 6… ALU 7… 汎用レジスタ 7a… レベル領域 7b… データ領域 8,9,10… バス 11… メモリアドレスレジスタ 12… メモリデータレジスタ 13… レベルカウンタ 14… 主記憶装置 15… レジスタ内容復帰部

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】プロセスを切り換える際にレジスタの内容
    をメモリに退避させ、プロセスを復帰する際にメモリに
    退避しているレジスタの内容をレジスタに復帰する情報
    処理装置において、 プロセスの切り換わりの回数とプロセスの復帰の回数と
    の差分に応じた差分値を生成する差分値生成手段と、 メモリに退避したレジスタの内容をレジスタに復帰する
    際に、前記差分値生成手段の差分値とレジスタの内容に
    対応して記憶された書き込み時の差分値とを用いて、次
    に復帰するプロセスが前回切り換えられた後に更新され
    たレジスタの内容をレジスタに復帰させるレジスタ内容
    復帰手段とを有する情報処理装置。
  2. 【請求項2】前記差分値生成手段はアップダウンカウン
    タであり、前記差分値はアップダウンカウンタのカウン
    ト値である請求項1に記載の情報処理装置。
  3. 【請求項3】プロセスを切り換える際にレジスタの内容
    をメモリに退避させ、プロセスを復帰する際にメモリに
    退避しているレジスタの内容をレジスタに復帰する情報
    処理方法において、 プロセスの切り換わりの回数とプロセスの復帰の回数と
    の差分に応じた差分値を生成し、 プロセスの復帰に応じてメモリに退避したレジスタの内
    容をレジスタに復帰する際に、前記生成された差分値と
    レジスタの内容に対応して記憶された書き込み時の差分
    値とを用いて、次に復帰するプロセスが前回切り換えら
    れた後に更新されたレジスタの内容をレジスタに復帰さ
    せる情報処理方法。
JP25224195A 1995-09-29 1995-09-29 情報処理装置およびその方法 Pending JPH0997185A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25224195A JPH0997185A (ja) 1995-09-29 1995-09-29 情報処理装置およびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25224195A JPH0997185A (ja) 1995-09-29 1995-09-29 情報処理装置およびその方法

Publications (1)

Publication Number Publication Date
JPH0997185A true JPH0997185A (ja) 1997-04-08

Family

ID=17234483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25224195A Pending JPH0997185A (ja) 1995-09-29 1995-09-29 情報処理装置およびその方法

Country Status (1)

Country Link
JP (1) JPH0997185A (ja)

Similar Documents

Publication Publication Date Title
JPS63301339A (ja) コンピュ−タ装置
US4222103A (en) Real time capture registers for data processor
JP3970609B2 (ja) プロセッサシステム
JPH0997185A (ja) 情報処理装置およびその方法
JPH056281A (ja) 情報処理装置
JP2000029508A (ja) プログラマブルコントローラ
JP3005987B2 (ja) デジタル信号処理装置
JP3239042B2 (ja) マイクロコンピュータ
JPS5875250A (ja) デジタル情報処理装置
JP2574918B2 (ja) 割り込み復帰処理方式
JPS59144955A (ja) 情報処理装置
JP2985244B2 (ja) 情報処理装置
JPH0683986A (ja) シングルチップ・マイクロコンピュータ
JPH07110772A (ja) データ処理装置
JPS5914061A (ja) メモリバンク切換回路
JPS6086625A (ja) デ−タ処理装置
JPS59200356A (ja) プログラムトレ−ス方式
JPH06161781A (ja) 情報処理方法および情報処理装置
JPH08297583A (ja) 割り込み処理装置およびその方法
JPH0833825B2 (ja) マイクロプロセッサ
JPH03127126A (ja) 情報処理装置
JPS60126733A (ja) レジスタの読出しリセツト方式
JPH09160786A (ja) マイクロプロセッサ
JPS6410853B2 (ja)
JPH03129532A (ja) マイクロシーケンス回路