JPH10301793A - 情報処理装置及びスケジューリング方法 - Google Patents
情報処理装置及びスケジューリング方法Info
- Publication number
- JPH10301793A JPH10301793A JP9112825A JP11282597A JPH10301793A JP H10301793 A JPH10301793 A JP H10301793A JP 9112825 A JP9112825 A JP 9112825A JP 11282597 A JP11282597 A JP 11282597A JP H10301793 A JPH10301793 A JP H10301793A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- time
- specific
- auxiliary
- specific process
- 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
Links
- 238000000034 method Methods 0.000 title claims description 173
- 238000012545 processing Methods 0.000 claims abstract description 417
- 230000010365 information processing Effects 0.000 claims description 15
- 230000003247 decreasing effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 14
- 238000007796 conventional method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
(57)【要約】
【課題】 この発明は、中央処理装置のスケジューリン
グにしたがって補助処理装置で実行される特定の処理の
スケジューリングを最適化し、特定の処理を効率良く行
うことを課題とする。 【解決手段】 この発明は、補助処理装置3で実行され
ている先行する特定処理の進行状況、後続の特定処理の
処理時間ならびに終了時間に基づいて後続の特定処理を
開始する時間を中央処理装置2がスケジューリングする
ように構成される。
グにしたがって補助処理装置で実行される特定の処理の
スケジューリングを最適化し、特定の処理を効率良く行
うことを課題とする。 【解決手段】 この発明は、補助処理装置3で実行され
ている先行する特定処理の進行状況、後続の特定処理の
処理時間ならびに終了時間に基づいて後続の特定処理を
開始する時間を中央処理装置2がスケジューリングする
ように構成される。
Description
【0001】
【発明の属する技術分野】本発明は、中央処理装置と、
中央処理装置に設定された中央処理装置とは別の特定の
処理を中央処理装置と並列して処理する補助処理装置か
らなる情報処理装置において、補助処理装置が特定の処
理を効率良く行えるように中央処理装置がスケジューリ
ングする情報処理装置及びスケジューリング方法に関す
る。
中央処理装置に設定された中央処理装置とは別の特定の
処理を中央処理装置と並列して処理する補助処理装置か
らなる情報処理装置において、補助処理装置が特定の処
理を効率良く行えるように中央処理装置がスケジューリ
ングする情報処理装置及びスケジューリング方法に関す
る。
【0002】
【従来の技術】近年、音声、画像、通信といったマルチ
メディア処理をソフトウェアで処理する要求が高まって
いる。マルチメディア処理は、時間あたりの処理量の多
さと、並列処理の必要性から中央処理装置にマルチメデ
ィア処理専用の補助処理装置を追加し、中央処理装置と
補助処理装置を同時に動作させて処理している場合が多
い。このような構成において、中央処理装置は専らシス
テムの制御や、マルチメディア処理が時間的な制約を満
たすように効率良く補助処理装置に実行させるためのス
ケジューリングなどを行い、また、補助処理装置は中央
処理装置にスケジューリングされ、指定されたマルチメ
ディア処理のみを行うなど処理の分担が行われている。
メディア処理をソフトウェアで処理する要求が高まって
いる。マルチメディア処理は、時間あたりの処理量の多
さと、並列処理の必要性から中央処理装置にマルチメデ
ィア処理専用の補助処理装置を追加し、中央処理装置と
補助処理装置を同時に動作させて処理している場合が多
い。このような構成において、中央処理装置は専らシス
テムの制御や、マルチメディア処理が時間的な制約を満
たすように効率良く補助処理装置に実行させるためのス
ケジューリングなどを行い、また、補助処理装置は中央
処理装置にスケジューリングされ、指定されたマルチメ
ディア処理のみを行うなど処理の分担が行われている。
【0003】マルチメディア処理は、個々の処理時間が
比較的長く、並列処理が必要になる場合が多い。このよ
うな特徴を持つ処理を上記のような形態で行う場合は、
補助処理装置の状態によっては並列処理に滞りが発生
し、最悪の場合には所定の時間内に決められた処理がで
きなくなる場合が生じる。例えば、優先度の低いマルチ
メディア処理中に処理完了までのタイムリミットが近付
いた優先度の高いマルチメディア処理を行う必要が生じ
た場合がこの例である。この場合に、中央処理装置が行
う補助処理装置の処理スケジューリングとしては、従来
以下に示すような手法のいずれかが選択されて採用され
ていた。
比較的長く、並列処理が必要になる場合が多い。このよ
うな特徴を持つ処理を上記のような形態で行う場合は、
補助処理装置の状態によっては並列処理に滞りが発生
し、最悪の場合には所定の時間内に決められた処理がで
きなくなる場合が生じる。例えば、優先度の低いマルチ
メディア処理中に処理完了までのタイムリミットが近付
いた優先度の高いマルチメディア処理を行う必要が生じ
た場合がこの例である。この場合に、中央処理装置が行
う補助処理装置の処理スケジューリングとしては、従来
以下に示すような手法のいずれかが選択されて採用され
ていた。
【0004】(1)補助処理装置が現在行っている処理
を中断し、それまで行っていた処理の状態を保存する。
例えば使用されていた全てのレジスタのデータを退避さ
せる。その後優先度の高い処理を先に実行し、終了し次
第保存していた情報を復帰し、中断していた元の処理を
再開する。
を中断し、それまで行っていた処理の状態を保存する。
例えば使用されていた全てのレジスタのデータを退避さ
せる。その後優先度の高い処理を先に実行し、終了し次
第保存していた情報を復帰し、中断していた元の処理を
再開する。
【0005】(2)補助処理装置が現在行っている処理
を停止してそれまでの状態を全て破棄し、先に優先度の
高い処理を行う。処理が終了した後再度破棄した処理を
最初から実行する。あるいは破棄した処理を最初から実
行せずに処理をキャンセルして何らかの代替処理を行
う。
を停止してそれまでの状態を全て破棄し、先に優先度の
高い処理を行う。処理が終了した後再度破棄した処理を
最初から実行する。あるいは破棄した処理を最初から実
行せずに処理をキャンセルして何らかの代替処理を行
う。
【0006】(3)補助処理装置が現在行っている処理
が終了するのを待って次の処理を行う。
が終了するのを待って次の処理を行う。
【0007】(1)に示すスケジューリング手法は、通
常の多重処理でよく用いられる手法であるが、一般的な
マルチメディア処理は多量のレジスタを使用することが
多く、状態の保存と復帰のための処理は非常に多くの時
間がかかる場合がある。(2)に示すスケジューリング
手法は、マルチメディア処理においてはしばしば行われ
る手法であり、処理状態の破棄は保存に比べて費やされ
る時間が格段に少ないので(1)のスケジューリング手
法に比べて処理の切り替えが短時間に終了できる利点が
ある。また、最適な代替処理が行われると、システム全
体の負荷を下げる効果も期待できる。(3)に示すスケ
ジューリングは、実行中の処理の状態保存や破棄を行わ
ず、マルチメディア処理を切り替えるよりは最後まで処
理を終了してしまった方が結果的に高優先度の処理を早
く処理できる場合であり、実行中の処理の実行状況によ
っては有効である。
常の多重処理でよく用いられる手法であるが、一般的な
マルチメディア処理は多量のレジスタを使用することが
多く、状態の保存と復帰のための処理は非常に多くの時
間がかかる場合がある。(2)に示すスケジューリング
手法は、マルチメディア処理においてはしばしば行われ
る手法であり、処理状態の破棄は保存に比べて費やされ
る時間が格段に少ないので(1)のスケジューリング手
法に比べて処理の切り替えが短時間に終了できる利点が
ある。また、最適な代替処理が行われると、システム全
体の負荷を下げる効果も期待できる。(3)に示すスケ
ジューリングは、実行中の処理の状態保存や破棄を行わ
ず、マルチメディア処理を切り替えるよりは最後まで処
理を終了してしまった方が結果的に高優先度の処理を早
く処理できる場合であり、実行中の処理の実行状況によ
っては有効である。
【0008】このようなスケジューリング手法を用い
て、マルチメディア処理を行う補助処理装置のスケジュ
ーリングを柔軟に行えばシステム全体の処理を効率良く
行うことができるようになる。しかしながら、従来の補
助処理装置は、実行中の処理の進行状況を中央処理装置
に逐次通知する手段を持たなかった。このため、補助処
理装置が低い優先度のマルチメディア処理を実行してい
る時に高い優先度のマルチメディア処理を行う必要が生
じた場合に、中央処理装置では上述したいずれのスケジ
ューリングを選択すれば、システム全体の負荷を上昇さ
せずに高優先度のマルチメディア処理が必要な時間内で
終了できるかが判断できず、上記(1)又は(2)に示
すスケジューリングのいずれかで全てのスケジューリン
グを行っていた。
て、マルチメディア処理を行う補助処理装置のスケジュ
ーリングを柔軟に行えばシステム全体の処理を効率良く
行うことができるようになる。しかしながら、従来の補
助処理装置は、実行中の処理の進行状況を中央処理装置
に逐次通知する手段を持たなかった。このため、補助処
理装置が低い優先度のマルチメディア処理を実行してい
る時に高い優先度のマルチメディア処理を行う必要が生
じた場合に、中央処理装置では上述したいずれのスケジ
ューリングを選択すれば、システム全体の負荷を上昇さ
せずに高優先度のマルチメディア処理が必要な時間内で
終了できるかが判断できず、上記(1)又は(2)に示
すスケジューリングのいずれかで全てのスケジューリン
グを行っていた。
【0009】上記(1)に示すスケジューリングを採用
した場合に、図9(a)に示す例では、現在実行中の処
理Aを中断してそれまでの状態を保存した後、後続の処
理Bを実行し処理Bのタイムリミットまでに処理Bを終
了させることができる。一方、図9(b)に示す例で
は、処理Aの状態を保存している余裕はなく処理Bをタ
イムリミットまでに処理することが不可能となる。図9
(c)に示す例では、処理Bのタイムリミットまでには
処理が終了するが、処理Aの終了後に処理Bを実行して
も処理Bをタイムリミットまでに終了させることができ
る。またこの場合には、処理Bの終了後に処理Aの実行
再開のために状態の復帰を行わなくてはならない。この
ため結果的に意味のない処理の切り替え処理がシステム
全体の処理量を増加させてしまい、非効率的である。
した場合に、図9(a)に示す例では、現在実行中の処
理Aを中断してそれまでの状態を保存した後、後続の処
理Bを実行し処理Bのタイムリミットまでに処理Bを終
了させることができる。一方、図9(b)に示す例で
は、処理Aの状態を保存している余裕はなく処理Bをタ
イムリミットまでに処理することが不可能となる。図9
(c)に示す例では、処理Bのタイムリミットまでには
処理が終了するが、処理Aの終了後に処理Bを実行して
も処理Bをタイムリミットまでに終了させることができ
る。またこの場合には、処理Bの終了後に処理Aの実行
再開のために状態の復帰を行わなくてはならない。この
ため結果的に意味のない処理の切り替え処理がシステム
全体の処理量を増加させてしまい、非効率的である。
【0010】次に、上記(2)に示すスケジューリング
を採用した場合に、図10(a)に示す例では、現在実
行中の処理Aを中断してそれまでの状態を破棄した後、
後続の処理Bを実行し処理Bのタイムリミットまでに処
理Bを終了させることができる。しかし、この場合に
は、処理Aの実行は処理Bの終了後に再度始めから行わ
れるため、結果的に全体の処理量は非常に大きくなる。
図10(b)に示す例は、処理Aの保存を行っている余
裕がなく、処理Aの処理を再度最初から始めなくてはな
らなくても優先度の高い処理Bのタイムリミットまでに
処理Bを終了させるためにはやむを得ない処理である。
一方、図10(c)に示す例では、図9(c)に示す例
と同様であり、処理Aを最初から実行しなくてはなら
ず、意味のない処理の切り替え処理がシステム全体の処
理量を増加させてしまい、非効率的である。
を採用した場合に、図10(a)に示す例では、現在実
行中の処理Aを中断してそれまでの状態を破棄した後、
後続の処理Bを実行し処理Bのタイムリミットまでに処
理Bを終了させることができる。しかし、この場合に
は、処理Aの実行は処理Bの終了後に再度始めから行わ
れるため、結果的に全体の処理量は非常に大きくなる。
図10(b)に示す例は、処理Aの保存を行っている余
裕がなく、処理Aの処理を再度最初から始めなくてはな
らなくても優先度の高い処理Bのタイムリミットまでに
処理Bを終了させるためにはやむを得ない処理である。
一方、図10(c)に示す例では、図9(c)に示す例
と同様であり、処理Aを最初から実行しなくてはなら
ず、意味のない処理の切り替え処理がシステム全体の処
理量を増加させてしまい、非効率的である。
【0011】
【発明が解決しようとする課題】以上説明したように、
中央処理装置のスケジューリングにしたがってマルチメ
ディア処理等の特定の処理を専ら行う補助処理装置を備
えた従来の情報処理装置にあっては、中央処理装置は補
助処理装置が現在実行中の処理の進行状況を把握するこ
とができなかったため、いくつかのスケジューリング手
法の中からいずれか1つを選択し、選択したスケジュー
リング手法により補助処理装置が行う全ての特定の処理
をスケジューリングしていた。このため、最適なスケジ
ューリングができず、補助処理装置において特定の処理
を効率良く行うことができないという不具合を招いてい
た。
中央処理装置のスケジューリングにしたがってマルチメ
ディア処理等の特定の処理を専ら行う補助処理装置を備
えた従来の情報処理装置にあっては、中央処理装置は補
助処理装置が現在実行中の処理の進行状況を把握するこ
とができなかったため、いくつかのスケジューリング手
法の中からいずれか1つを選択し、選択したスケジュー
リング手法により補助処理装置が行う全ての特定の処理
をスケジューリングしていた。このため、最適なスケジ
ューリングができず、補助処理装置において特定の処理
を効率良く行うことができないという不具合を招いてい
た。
【0012】そこで、この発明は、上記に鑑みてなされ
たものであり、その目的とするところは、中央処理装置
のスケジューリングにしたがって補助処理装置で実行さ
れる特定の処理のスケジューリングを最適化し、特定の
処理を効率良く行うことができる情報処理装置及びスケ
ジューリング方法を提供することにある。
たものであり、その目的とするところは、中央処理装置
のスケジューリングにしたがって補助処理装置で実行さ
れる特定の処理のスケジューリングを最適化し、特定の
処理を効率良く行うことができる情報処理装置及びスケ
ジューリング方法を提供することにある。
【0013】
【課題を解決するための手段】請求項1記載の発明は、
中央処理装置と、該中央処理装置と並列に動作して前記
中央処理装置のスケジューリングに基づいて特定の処理
を行う補助処理装置を有し、 前記補助処理装置は、現
在実行中の特定の処理の進行状況を示す進行状況指示手
段と、前記補助処理装置の動作状態を示す動作状態指示
手段を備え、前記中央処理装置は、特定の処理の予め求
められた実行処理時間を記憶するデータベースと、前記
補助処理装置で特定の処理(先行の特定処理)が実行さ
れている際に先行の特定処理に比べて優先度の高い特定
の処理(後続の特定処理)を実行する場合は、後続の特
定処理を終了させるまでの制限時間と、前記データベー
スに基づいて得られた後続の特定処理の処理時間と、前
記補助処理装置の進行状況指示手段を参照して求められ
た先行の特定処理が終了するまでにかかる時間と、前記
補助処理装置で実行されている特定の処理を中断してそ
れまでの処理状態を保存又は破棄するために必要となる
時間とに基づいて、先行の特定処理の終了後、又は先行
の特定処理を中断して処理状態を保存した後、あるいは
先行の特定処理を中断して処理状態を破棄した後のいず
れかを選択して後続の特定処理の実行を開始する時間を
スケジューリングするスケジューリング手段を備えてい
ることを特徴とする。
中央処理装置と、該中央処理装置と並列に動作して前記
中央処理装置のスケジューリングに基づいて特定の処理
を行う補助処理装置を有し、 前記補助処理装置は、現
在実行中の特定の処理の進行状況を示す進行状況指示手
段と、前記補助処理装置の動作状態を示す動作状態指示
手段を備え、前記中央処理装置は、特定の処理の予め求
められた実行処理時間を記憶するデータベースと、前記
補助処理装置で特定の処理(先行の特定処理)が実行さ
れている際に先行の特定処理に比べて優先度の高い特定
の処理(後続の特定処理)を実行する場合は、後続の特
定処理を終了させるまでの制限時間と、前記データベー
スに基づいて得られた後続の特定処理の処理時間と、前
記補助処理装置の進行状況指示手段を参照して求められ
た先行の特定処理が終了するまでにかかる時間と、前記
補助処理装置で実行されている特定の処理を中断してそ
れまでの処理状態を保存又は破棄するために必要となる
時間とに基づいて、先行の特定処理の終了後、又は先行
の特定処理を中断して処理状態を保存した後、あるいは
先行の特定処理を中断して処理状態を破棄した後のいず
れかを選択して後続の特定処理の実行を開始する時間を
スケジューリングするスケジューリング手段を備えてい
ることを特徴とする。
【0014】請求項2記載の発明は、中央処理装置と、
該中央処理装置と並列に動作して前記中央処理装置のス
ケジューリングに基づいて特定の処理を行う補助処理装
置を有し、前記補助処理装置は、現在実行中の特定の処
理の進行状況を示す進行状況指示手段と、補助処理装置
の動作状態を示す動作状態指示手段を備え、前記中央処
理装置は、特定の処理の予め求められた実行処理時間を
記憶するデータベースと、前記補助処理装置で実行され
ている特定の処理(先行の特定処理)に比べて優先度の
高い特定の処理(後続の特定処理)の処理要求を受ける
と、処理要求を受けた時点から後続の特定処理を終了さ
せるまでの制限時間Taを求め、前記データベースに基
づいて後続の特定処理の処理時間Tbを求め、制限時間
Taから処理時間Tbを減算して後続の特定処理が制限
時間内に終了するために後続の特定処理を開始させる最
も遅い開始時間Tcを求め、前記補助処理装置の動作状
態指示手段を参照して処理要求を受けた時に前記補助処
理装置が特定の処理を実行している場合は、前記補助処
理装置の進行状況指示手段を参照して先行の特定処理が
終了するまでにかかる時間Tdを求め、Tc≧Tdであ
る場合は先行の特定処理が終了した後、後続の特定処理
の実行を開始し、前記補助処理装置で実行されている特
定の処理を中断してそれまでの処理状態を保存するため
に必要となる時間をTeとし、前記補助処理装置で実行
されている特定の処理を中断してそれまでの処理状態を
破棄するために必要となる時間をTfとすると、Tc<
TdかつTc≧Teである場合は先行の特定処理を中断
してそれまでの処理状態を保存した後、後続の特定処理
の実行を開始し、Tc<Td、Tc<TeかつTc≧T
fである場合は先行の特定処理を中断してそれまでの処
理状態を破棄した後、後続の特定処理の実行を開始させ
るように後続の特定処理をスケジューリングするスケジ
ューリング手段を備えていることを特徴とする。
該中央処理装置と並列に動作して前記中央処理装置のス
ケジューリングに基づいて特定の処理を行う補助処理装
置を有し、前記補助処理装置は、現在実行中の特定の処
理の進行状況を示す進行状況指示手段と、補助処理装置
の動作状態を示す動作状態指示手段を備え、前記中央処
理装置は、特定の処理の予め求められた実行処理時間を
記憶するデータベースと、前記補助処理装置で実行され
ている特定の処理(先行の特定処理)に比べて優先度の
高い特定の処理(後続の特定処理)の処理要求を受ける
と、処理要求を受けた時点から後続の特定処理を終了さ
せるまでの制限時間Taを求め、前記データベースに基
づいて後続の特定処理の処理時間Tbを求め、制限時間
Taから処理時間Tbを減算して後続の特定処理が制限
時間内に終了するために後続の特定処理を開始させる最
も遅い開始時間Tcを求め、前記補助処理装置の動作状
態指示手段を参照して処理要求を受けた時に前記補助処
理装置が特定の処理を実行している場合は、前記補助処
理装置の進行状況指示手段を参照して先行の特定処理が
終了するまでにかかる時間Tdを求め、Tc≧Tdであ
る場合は先行の特定処理が終了した後、後続の特定処理
の実行を開始し、前記補助処理装置で実行されている特
定の処理を中断してそれまでの処理状態を保存するため
に必要となる時間をTeとし、前記補助処理装置で実行
されている特定の処理を中断してそれまでの処理状態を
破棄するために必要となる時間をTfとすると、Tc<
TdかつTc≧Teである場合は先行の特定処理を中断
してそれまでの処理状態を保存した後、後続の特定処理
の実行を開始し、Tc<Td、Tc<TeかつTc≧T
fである場合は先行の特定処理を中断してそれまでの処
理状態を破棄した後、後続の特定処理の実行を開始させ
るように後続の特定処理をスケジューリングするスケジ
ューリング手段を備えていることを特徴とする。
【0015】請求項6記載の発明は、中央処理装置と並
列に動作して前記中央処理装置のスケジューリングに基
づいて補助処理装置で実行されている特定の処理(先行
の特定処理)に比べて優先度の高い特定の処理(後続の
特定処理)の処理要求を前記中央処理装置が受けると、
処理要求を受けた時点から後続の特定処理を終了させる
までの制限時間Taを求めるステップと、後続の特定処
理の処理時間Tbを求め、制限時間Taから処理時間T
bを減算して後続の特定処理が制限時間内に終了するた
めに後続の特定処理を開始させる最も遅い開始時間Tc
を求めるステップと処理要求を受けた時に前記補助処理
装置が特定の処理を実行している場合は、先行の特定処
理が終了するまでにかかる時間Tdを求めるステップ
と、Tc≧Tdである場合は先行の特定処理が終了した
後、後続の特定処理の実行を開始させるステップと、前
記補助処理装置で実行されている特定の処理を中断して
それまでの処理状態を保存するために必要となる時間を
Teとすると、Tc<TdかつTc≧Teである場合は
先行の特定処理を中断してそれまでの処理状態を保存し
た後、後続の特定処理の実行を開始させるステップと、
前記補助処理装置で実行されている特定の処理を中断し
てそれまでの処理状態を破棄するために必要となる時間
をTfとすると、Tc<Td、Tc<TeかつTc≧T
fである場合は先行の特定処理を中断してそれまでの処
理状態を破棄した後、後続の特定処理の実行を開始させ
るステップとを有して前記中央処理装置が後続の特定処
理をスケジューリングすることを特徴とする。
列に動作して前記中央処理装置のスケジューリングに基
づいて補助処理装置で実行されている特定の処理(先行
の特定処理)に比べて優先度の高い特定の処理(後続の
特定処理)の処理要求を前記中央処理装置が受けると、
処理要求を受けた時点から後続の特定処理を終了させる
までの制限時間Taを求めるステップと、後続の特定処
理の処理時間Tbを求め、制限時間Taから処理時間T
bを減算して後続の特定処理が制限時間内に終了するた
めに後続の特定処理を開始させる最も遅い開始時間Tc
を求めるステップと処理要求を受けた時に前記補助処理
装置が特定の処理を実行している場合は、先行の特定処
理が終了するまでにかかる時間Tdを求めるステップ
と、Tc≧Tdである場合は先行の特定処理が終了した
後、後続の特定処理の実行を開始させるステップと、前
記補助処理装置で実行されている特定の処理を中断して
それまでの処理状態を保存するために必要となる時間を
Teとすると、Tc<TdかつTc≧Teである場合は
先行の特定処理を中断してそれまでの処理状態を保存し
た後、後続の特定処理の実行を開始させるステップと、
前記補助処理装置で実行されている特定の処理を中断し
てそれまでの処理状態を破棄するために必要となる時間
をTfとすると、Tc<Td、Tc<TeかつTc≧T
fである場合は先行の特定処理を中断してそれまでの処
理状態を破棄した後、後続の特定処理の実行を開始させ
るステップとを有して前記中央処理装置が後続の特定処
理をスケジューリングすることを特徴とする。
【0016】
【発明の実施の形態】以下、図面を用いてこの発明の一
実施形態を説明する。
実施形態を説明する。
【0017】図1は請求項1又は2記載の発明の一実施
形態に係る情報処理装置の構成を示す図である。
形態に係る情報処理装置の構成を示す図である。
【0018】図1おいて、情報処理装置1は、中央処理
装置2と、この中央処理装置2と並列に動作して中央処
理装置2のスケジューリングに基づいて特定の処理とな
る例えばマルチメディア処理を行う補助処理装置3を有
している。補助処理装置3は、現在実行中の特定の処理
の進行状況を示す進行状況指示手段となる命令数カウン
タ(図示せず)と、補助処理装置3の動作状態を示す動
作状態指示手段となる動作状態レジスタ(図示せず)を
備えている。中央処理装置1は、マルチメディア処理の
予め求められた実行処理時間を記憶するデータベース
(図示せず)と、補助処理装置3で実行されているマル
チメディア処理(先行のマルチメディア処理)に比べて
優先度の高いマルチメディア処理(後続のマルチメディ
ア処理)の要求を受けると、後続のマルチメディア処理
の実行を開始する開始時間をスケジューリングするスケ
ジューリング手段(図示せず)を備えている。スケジュ
ーリング手段は、先行のマルチメディア処理に比べて優
先度の高い後続のマルチメディア処理の要求を受ける
と、処理要求を受けた時点から後続のマルチメディア処
理を終了させるまでの制限時間Taを求め、データベー
スに基づいて後続のマルチメディア処理の処理時間Tb
を求め、制限時間Taから処理時間Tbを減算して後続
のマルチメディア処理が制限時間内に終了するために後
続のマルチメディア処理を開始させる最も遅い開始時間
Tcを求め、補助処理装置3の動作状態レジスタを参照
して処理要求を受けた時に補助処理装置3がマルチメデ
ィア処理を実行している場合は、補助処理装置3の命令
数レジスタを参照して先行のマルチメディア処理が終了
するまでにかかる時間Tdを求め、Tc≧Tdである場
合は先行のマルチメディア処理が終了した後、後続のマ
ルチメディア処理の実行を開始し、補助処理装置3で実
行されているマルチメディア処理を中断してそれまでの
処理状態を保存するために必要となる時間をTeとし、
補助処理装置3で実行されているマルチメディア処理を
中断してそれまでの処理状態を破棄するために必要とな
る時間をTfとすると、Tc<TdかつTc≧Teであ
る場合は先行のマルチメディア処理を中断してそれまで
の処理状態を保存した後、後続のマルチメディア処理の
実行を開始し、Tc<Td、Tc<TeかつTc≧Tf
である場合は先行のマルチメディア処理を中断してそれ
までの処理状態を破棄した後、後続のマルチメディア処
理の実行を開始させるように後続のマルチメディア処理
をスケジューリングする。
装置2と、この中央処理装置2と並列に動作して中央処
理装置2のスケジューリングに基づいて特定の処理とな
る例えばマルチメディア処理を行う補助処理装置3を有
している。補助処理装置3は、現在実行中の特定の処理
の進行状況を示す進行状況指示手段となる命令数カウン
タ(図示せず)と、補助処理装置3の動作状態を示す動
作状態指示手段となる動作状態レジスタ(図示せず)を
備えている。中央処理装置1は、マルチメディア処理の
予め求められた実行処理時間を記憶するデータベース
(図示せず)と、補助処理装置3で実行されているマル
チメディア処理(先行のマルチメディア処理)に比べて
優先度の高いマルチメディア処理(後続のマルチメディ
ア処理)の要求を受けると、後続のマルチメディア処理
の実行を開始する開始時間をスケジューリングするスケ
ジューリング手段(図示せず)を備えている。スケジュ
ーリング手段は、先行のマルチメディア処理に比べて優
先度の高い後続のマルチメディア処理の要求を受ける
と、処理要求を受けた時点から後続のマルチメディア処
理を終了させるまでの制限時間Taを求め、データベー
スに基づいて後続のマルチメディア処理の処理時間Tb
を求め、制限時間Taから処理時間Tbを減算して後続
のマルチメディア処理が制限時間内に終了するために後
続のマルチメディア処理を開始させる最も遅い開始時間
Tcを求め、補助処理装置3の動作状態レジスタを参照
して処理要求を受けた時に補助処理装置3がマルチメデ
ィア処理を実行している場合は、補助処理装置3の命令
数レジスタを参照して先行のマルチメディア処理が終了
するまでにかかる時間Tdを求め、Tc≧Tdである場
合は先行のマルチメディア処理が終了した後、後続のマ
ルチメディア処理の実行を開始し、補助処理装置3で実
行されているマルチメディア処理を中断してそれまでの
処理状態を保存するために必要となる時間をTeとし、
補助処理装置3で実行されているマルチメディア処理を
中断してそれまでの処理状態を破棄するために必要とな
る時間をTfとすると、Tc<TdかつTc≧Teであ
る場合は先行のマルチメディア処理を中断してそれまで
の処理状態を保存した後、後続のマルチメディア処理の
実行を開始し、Tc<Td、Tc<TeかつTc≧Tf
である場合は先行のマルチメディア処理を中断してそれ
までの処理状態を破棄した後、後続のマルチメディア処
理の実行を開始させるように後続のマルチメディア処理
をスケジューリングする。
【0019】中央処理装置2が外部又は内部のタスクか
ら非同期な複数の処理要求を受け付け、スケジューリン
グの後、補助処理装置3にその処理を依頼し、結果を受
け取り外部に出力する又は内部のタスクに受け渡し、補
助処理装置3の動作状況として、図2に示すように補助
処理装置3で処理A(先行のマルチメディア処理)の実
行の最中に処理Aに比べて優先度の高い処理B(後続の
マルチメディア処理)の要求が例えば外部から発生した
場合を想定する。このような場合に、中央処理装置2
は、装置外部から処理Bの処理要求を受け付け、スケジ
ューリングの後補助処理装置3に処理の依頼をする。補
助処理装置3に備えられた命令数カウンタにより補助処
理装置3が実行中の処理の残りの実行時間が見積もれる
ため、図3のフローチャートに示す手順にしたがって後
続のマルチメディア処理がスケジューリングされる。
ら非同期な複数の処理要求を受け付け、スケジューリン
グの後、補助処理装置3にその処理を依頼し、結果を受
け取り外部に出力する又は内部のタスクに受け渡し、補
助処理装置3の動作状況として、図2に示すように補助
処理装置3で処理A(先行のマルチメディア処理)の実
行の最中に処理Aに比べて優先度の高い処理B(後続の
マルチメディア処理)の要求が例えば外部から発生した
場合を想定する。このような場合に、中央処理装置2
は、装置外部から処理Bの処理要求を受け付け、スケジ
ューリングの後補助処理装置3に処理の依頼をする。補
助処理装置3に備えられた命令数カウンタにより補助処
理装置3が実行中の処理の残りの実行時間が見積もれる
ため、図3のフローチャートに示す手順にしたがって後
続のマルチメディア処理がスケジューリングされる。
【0020】以下、図3を参照してスケジューリングの
手順を説明する。
手順を説明する。
【0021】まず、中央処理装置2は外部より補助処理
装置3を使用する処理Bの要求を受け付けると(ステッ
プS1)、処理内容に基づいて処理Bの終了までのタイ
ムリミットを計算する(ステップS2)。次に、予め処
理の最長実行時間をデータベース化しておき、このデー
タベースから処理Bの処理時間を得て、ステップS2で
求めたタイムリミットから処理時間を減算して処理開始
時間の最悪値を計算する(ステップS3)。次に、補助
処理装置3がアイドル状態でかつ処理を行うに十分な時
間がある場合は、処理Bを補助処理装置3に依頼してス
ケジューリングを終了し(ステップS4,S5,S6,
S7)、補助処理装置3がアイドル状態でかつ処理を行
うに十分な時間がない場合には、タイムリミットを越え
ても処理するか又は代替処理を行うように処理Bを補助
処理装置3に依頼してスケジューリングを終了する(ス
テップS8,S9) 一方、補助処理装置3が先行して別の処理Aを実行中で
あるならば、補助処理装置3の命令数カウンタの内容を
得て、この内容から現在の処理Aの終了時刻を得る(ス
テップS10)。次に、処理Bの実行を現在の処理Aの
終了後に実行してもタイムリミットに間に合う場合は、
補助処理装置3の処理キューに処理Bの要求を投入して
スケジューリングを終了する(ステップS11,S1
2,S13)。次に、処理Bの実行を現在の処理Aの終
了後に実行するとタイムリミットに間に合わず現在実行
中の処理Aを一時停止させる必要がある場合に、現在実
行中の処理Aの状態を保存をしている余裕があれば、処
理Aの状態を保存して処理Bを補助処理装置3に依頼し
スケジューリングを終了する(ステップS11,S1
4,S15,S16)。次に、現在実行中の処理Aの状
態を保存している余裕はないが処理Aを廃棄する余裕が
あれば処理Aの状態を破棄した後処理Bを開始するよう
に処理Bを補助処理装置3に依頼してスケジューリング
を終了する(ステップS14,S17,S18,S1
9)。次に、現在実行中の処理Aの状態を破棄して処理
Bの実行を開始しても処理Bをタイムリミットまでに終
了することができない場合には、タイムリミットを越え
てまで実行するか又は処理Bの代替処理を行うようにし
てスケジューリングを終了する(ステップS17,S2
0,S21)。
装置3を使用する処理Bの要求を受け付けると(ステッ
プS1)、処理内容に基づいて処理Bの終了までのタイ
ムリミットを計算する(ステップS2)。次に、予め処
理の最長実行時間をデータベース化しておき、このデー
タベースから処理Bの処理時間を得て、ステップS2で
求めたタイムリミットから処理時間を減算して処理開始
時間の最悪値を計算する(ステップS3)。次に、補助
処理装置3がアイドル状態でかつ処理を行うに十分な時
間がある場合は、処理Bを補助処理装置3に依頼してス
ケジューリングを終了し(ステップS4,S5,S6,
S7)、補助処理装置3がアイドル状態でかつ処理を行
うに十分な時間がない場合には、タイムリミットを越え
ても処理するか又は代替処理を行うように処理Bを補助
処理装置3に依頼してスケジューリングを終了する(ス
テップS8,S9) 一方、補助処理装置3が先行して別の処理Aを実行中で
あるならば、補助処理装置3の命令数カウンタの内容を
得て、この内容から現在の処理Aの終了時刻を得る(ス
テップS10)。次に、処理Bの実行を現在の処理Aの
終了後に実行してもタイムリミットに間に合う場合は、
補助処理装置3の処理キューに処理Bの要求を投入して
スケジューリングを終了する(ステップS11,S1
2,S13)。次に、処理Bの実行を現在の処理Aの終
了後に実行するとタイムリミットに間に合わず現在実行
中の処理Aを一時停止させる必要がある場合に、現在実
行中の処理Aの状態を保存をしている余裕があれば、処
理Aの状態を保存して処理Bを補助処理装置3に依頼し
スケジューリングを終了する(ステップS11,S1
4,S15,S16)。次に、現在実行中の処理Aの状
態を保存している余裕はないが処理Aを廃棄する余裕が
あれば処理Aの状態を破棄した後処理Bを開始するよう
に処理Bを補助処理装置3に依頼してスケジューリング
を終了する(ステップS14,S17,S18,S1
9)。次に、現在実行中の処理Aの状態を破棄して処理
Bの実行を開始しても処理Bをタイムリミットまでに終
了することができない場合には、タイムリミットを越え
てまで実行するか又は処理Bの代替処理を行うようにし
てスケジューリングを終了する(ステップS17,S2
0,S21)。
【0022】このようなスケジューリングを採用するこ
とにより、例えば図4(c)に示すように、先行する処
理Aの終了後に後続の処理Bを開始しても処理Bの制限
時間に間に合う場合は、一律にスケジューリングを決め
ていた従来に比べて処理Aの状態を保存したり破棄する
といった処理Aから処理Bに切り替えるための処理を行
うことなく処理Bを実行して制限時間内に終了すること
ができ、処理量を最小限に抑えることができる。また、
図4(a)に示すように、処理Aの状態を保存している
余裕がある場合には、処理Aの状態を破棄する場合に比
べて処理Aを再開する時に保存された状態を復帰させて
処理Aを中断させた状態から再開することができるた
め、破棄して最初から始める場合に比べて処理量が少な
くなるとともに処理Aを早く終了させることができる。
さらに、図4(b)に示すように、処理Bのタイムリミ
ットが迫っている場合には、処理Aの状態を破棄した後
処理Bを開始することにより処理Bを制限時間内に終了
させることができる。このように、先行する処理Aの進
行状況、後続の処理Bの処理時間ならびに処理の制限時
間にしたがって、処理Bの実行を開始する時間をスケジ
ューリングすることにより、一律にスケジューリングし
ていた従来に比べて後続の処理を格段に効率良く処理す
ることが可能となり、処理量の削減ならびに処理時間の
短縮を図ることができる。
とにより、例えば図4(c)に示すように、先行する処
理Aの終了後に後続の処理Bを開始しても処理Bの制限
時間に間に合う場合は、一律にスケジューリングを決め
ていた従来に比べて処理Aの状態を保存したり破棄する
といった処理Aから処理Bに切り替えるための処理を行
うことなく処理Bを実行して制限時間内に終了すること
ができ、処理量を最小限に抑えることができる。また、
図4(a)に示すように、処理Aの状態を保存している
余裕がある場合には、処理Aの状態を破棄する場合に比
べて処理Aを再開する時に保存された状態を復帰させて
処理Aを中断させた状態から再開することができるた
め、破棄して最初から始める場合に比べて処理量が少な
くなるとともに処理Aを早く終了させることができる。
さらに、図4(b)に示すように、処理Bのタイムリミ
ットが迫っている場合には、処理Aの状態を破棄した後
処理Bを開始することにより処理Bを制限時間内に終了
させることができる。このように、先行する処理Aの進
行状況、後続の処理Bの処理時間ならびに処理の制限時
間にしたがって、処理Bの実行を開始する時間をスケジ
ューリングすることにより、一律にスケジューリングし
ていた従来に比べて後続の処理を格段に効率良く処理す
ることが可能となり、処理量の削減ならびに処理時間の
短縮を図ることができる。
【0023】次に、命令数カウンタについて図5、図
6、図7ならびに図8を参照して説明する。
6、図7ならびに図8を参照して説明する。
【0024】図5は請求項3記載の発明の一実施形態に
係る命令数カウンタの構成ならびに動作を示す図であ
る。図5(a)において、補助処理装置3には中央処理
装置2から読み出しが可能な命令数カウンタ4が備えら
れており、補助処理装置3のプログラムカウンタ5の変
化のタイミングに合わせて1ずつ増加するよう補助処理
装置3のシステムクロック6に接続されている。図5
(b)は補助処理装置3で実行するプログラムをコード
サイズ又は処理時間をパラメータとして示したものであ
る。同図に示すプログラムは内部に3回のループのある
プログラムを想定し、簡単のためプログラムの実行時間
はプログラムのコード量に依存するものとした。図5
(c)は同図(b)のプログラム実行時における命令数
カウンタ4の値の変化を示すものである。命令数カウン
タ4はプログラム開始時に補助処理装置3により0に初
期化され、補助処理装置3でのプログラムの実行の進行
と共に増加する。カウンタの最大値は処理毎に最大値が
決まるため、中央処理装置2のスケジューリング手段は
その差から補助処理装置3の残りの処理量を見積もるこ
とができる。
係る命令数カウンタの構成ならびに動作を示す図であ
る。図5(a)において、補助処理装置3には中央処理
装置2から読み出しが可能な命令数カウンタ4が備えら
れており、補助処理装置3のプログラムカウンタ5の変
化のタイミングに合わせて1ずつ増加するよう補助処理
装置3のシステムクロック6に接続されている。図5
(b)は補助処理装置3で実行するプログラムをコード
サイズ又は処理時間をパラメータとして示したものであ
る。同図に示すプログラムは内部に3回のループのある
プログラムを想定し、簡単のためプログラムの実行時間
はプログラムのコード量に依存するものとした。図5
(c)は同図(b)のプログラム実行時における命令数
カウンタ4の値の変化を示すものである。命令数カウン
タ4はプログラム開始時に補助処理装置3により0に初
期化され、補助処理装置3でのプログラムの実行の進行
と共に増加する。カウンタの最大値は処理毎に最大値が
決まるため、中央処理装置2のスケジューリング手段は
その差から補助処理装置3の残りの処理量を見積もるこ
とができる。
【0025】図6は請求項4記載の発明の一実施形態に
係る命令数カウンタの構成ならびに動作を示す図であ
る。図6(a)において、図5に示す実施形態の命令数
カウンタ4との相違は、命令数カウンタ7の初期化とカ
ウンタの動作である。この実施形態では補助処理装置3
で実行されるマルチメディア処理の最大処理量を予め求
めておき、実行開始時に命令数カウンタ7にその値を設
定し、図6(b)及び同図(c)に示すように補助処理
装置3のプログラム実行に従って命令数カウンタ7を1
ずつ減算する。この場合は、命令数カウンタ7は常に残
りの処理量を示し、中央処理装置2のスケジューリング
手段はこの値から補助処理装置3の残りの処理量を見積
もることができる。
係る命令数カウンタの構成ならびに動作を示す図であ
る。図6(a)において、図5に示す実施形態の命令数
カウンタ4との相違は、命令数カウンタ7の初期化とカ
ウンタの動作である。この実施形態では補助処理装置3
で実行されるマルチメディア処理の最大処理量を予め求
めておき、実行開始時に命令数カウンタ7にその値を設
定し、図6(b)及び同図(c)に示すように補助処理
装置3のプログラム実行に従って命令数カウンタ7を1
ずつ減算する。この場合は、命令数カウンタ7は常に残
りの処理量を示し、中央処理装置2のスケジューリング
手段はこの値から補助処理装置3の残りの処理量を見積
もることができる。
【0026】図7及び図8は請求項5記載の発明の一実
施形態に係る命令数カウンタならびに動作を示す図であ
る。図7において、この実施形態の特徴とするところ
は、命令数カウンタ8の値を補助処理装置3のプログラ
ムにより実行されている処理の途中の所定の位置で再設
定できるようにしたことにある。補助処理装置3のプロ
グラム内には条件により実行が不要な箇所が存在し、ジ
ャンプ命令などでプログラムの実行をキャンセルする部
分がある。命令数カウンタ8は実行する命令数によって
1ずつ減算するため、ジャンプ命令などでプログラムの
実行をキャンセルした場合は、キャンセルした命令数分
の命令カウンタの減算までキャンセルされてしまうこと
になり、命令数カウンタ8が実行中の処理の正確な残量
を示さないことになる。補助処理装置3のプログラム中
での命令数カウンタ8の再設定は、命令数カウンタ8の
値と実際の残りの処理量とのずれを小さくするためのも
のである。
施形態に係る命令数カウンタならびに動作を示す図であ
る。図7において、この実施形態の特徴とするところ
は、命令数カウンタ8の値を補助処理装置3のプログラ
ムにより実行されている処理の途中の所定の位置で再設
定できるようにしたことにある。補助処理装置3のプロ
グラム内には条件により実行が不要な箇所が存在し、ジ
ャンプ命令などでプログラムの実行をキャンセルする部
分がある。命令数カウンタ8は実行する命令数によって
1ずつ減算するため、ジャンプ命令などでプログラムの
実行をキャンセルした場合は、キャンセルした命令数分
の命令カウンタの減算までキャンセルされてしまうこと
になり、命令数カウンタ8が実行中の処理の正確な残量
を示さないことになる。補助処理装置3のプログラム中
での命令数カウンタ8の再設定は、命令数カウンタ8の
値と実際の残りの処理量とのずれを小さくするためのも
のである。
【0027】図8(a)は補助処理装置3で実行される
処理のプログラム中に幾つかのジャンプ命令が存在した
場合に、図6に示す実施形態の方法で命令数カウンタ8
の値を変化させた際の様子を示している。図8(a)に
おいて、プログラムの実行を省略した命令数だけ命令数
カウンタが進まず、結果的に中央処理装置2は補助処理
装置3に実際より多い処理が残っているかのような判断
をしてしまい正確なスケジューリングができなくなる。
そこで、補助処理装置3で実行されるプログラムから命
令数カウンタ8の値を再設定するようにすれば、正確な
スケジューリングが可能になる。図8(b)はループの
直前と直後に予め求めておいた処理終了までの命令数を
再設定した場合の命令数カウンタ8の変化を示してい
る。ジャンプ命令が発生する毎に命令数カウンタ8と実
際の残りの命令数に差が現れるが、残りの命令数の再設
定により誤差がキャンセルされ、中央処理装置2は正確
なスケジューリングが可能になる。
処理のプログラム中に幾つかのジャンプ命令が存在した
場合に、図6に示す実施形態の方法で命令数カウンタ8
の値を変化させた際の様子を示している。図8(a)に
おいて、プログラムの実行を省略した命令数だけ命令数
カウンタが進まず、結果的に中央処理装置2は補助処理
装置3に実際より多い処理が残っているかのような判断
をしてしまい正確なスケジューリングができなくなる。
そこで、補助処理装置3で実行されるプログラムから命
令数カウンタ8の値を再設定するようにすれば、正確な
スケジューリングが可能になる。図8(b)はループの
直前と直後に予め求めておいた処理終了までの命令数を
再設定した場合の命令数カウンタ8の変化を示してい
る。ジャンプ命令が発生する毎に命令数カウンタ8と実
際の残りの命令数に差が現れるが、残りの命令数の再設
定により誤差がキャンセルされ、中央処理装置2は正確
なスケジューリングが可能になる。
【0028】
【発明の効果】以上説明したように、この発明によれ
ば、先行する特定処理の進行状況、後続の特定処理の処
理時間ならびに終了時間に基づいて後続の特定処理を開
始する時間をスケジューリングするようにしたので、一
律にスケジューリングしていた従来に比べて後続の処理
を格段に効率良く処理することが可能となり、処理量の
削減ならびに処理時間の短縮を図ることができる。
ば、先行する特定処理の進行状況、後続の特定処理の処
理時間ならびに終了時間に基づいて後続の特定処理を開
始する時間をスケジューリングするようにしたので、一
律にスケジューリングしていた従来に比べて後続の処理
を格段に効率良く処理することが可能となり、処理量の
削減ならびに処理時間の短縮を図ることができる。
【図1】請求項1,2記載の発明の一実施形態に係る情
報処理装置の構成を示す図である。
報処理装置の構成を示す図である。
【図2】図1に示す補助処理装置の動作状況を示す図で
ある。
ある。
【図3】請求項6記載の発明の一実施形態に係るスケジ
ューリング方法のフローを示す図である。
ューリング方法のフローを示す図である。
【図4】図1に示す情報処理装置における処理の流れを
示す図である。
示す図である。
【図5】請求項3記載の発明の一実施形態を示す図であ
る。
る。
【図6】請求項4記載の発明の一実施形態を示す図であ
る。
る。
【図7】請求項5記載の発明の一実施形態を示す図であ
る。
る。
【図8】請求項4又は5記載の発明の一実施形態を示す
図である。
図である。
【図9】先行処理の状態を保存した後、後続処理を実行
する流れを示す図である。
する流れを示す図である。
【図10】先行処理の状態を破棄した後、後続処理を実
行する流れを示す図である。
行する流れを示す図である。
1 情報処理装置 2 中央処理装置 3 補助処理装
置 4,7,8 命令数カウンタ 5 プログラムカウンタ
6 クロック
置 4,7,8 命令数カウンタ 5 プログラムカウンタ
6 クロック
Claims (6)
- 【請求項1】 中央処理装置と、該中央処理装置と並列
に動作して前記中央処理装置のスケジューリングに基づ
いて特定の処理を行う補助処理装置を有し、 前記補助処理装置は、現在実行中の特定の処理の進行状
況を示す進行状況指示手段と、 前記補助処理装置の動作状態を示す動作状態指示手段を
備え、 前記中央処理装置は、特定の処理の予め求められた実行
処理時間を記憶するデータベースと、 前記補助処理装置で特定の処理(先行の特定処理)が実
行されている際に先行の特定処理に比べて優先度の高い
特定の処理(後続の特定処理)を実行する場合は、後続
の特定処理を終了させるまでの制限時間と、前記データ
ベースに基づいて得られた後続の特定処理の処理時間
と、前記補助処理装置の進行状況指示手段を参照して求
められた先行の特定処理が終了するまでにかかる時間
と、前記補助処理装置で実行されている特定の処理を中
断してそれまでの処理状態を保存又は破棄するために必
要となる時間とに基づいて、先行の特定処理の終了後、
又は先行の特定処理を中断して処理状態を保存した後、
あるいは先行の特定処理を中断して処理状態を破棄した
後のいずれかを選択して後続の特定処理の実行を開始す
る時間をスケジューリングするスケジューリング手段を
備えていることを特徴とする情報処理装置。 - 【請求項2】 中央処理装置と、該中央処理装置と並列
に動作して前記中央処理装置のスケジューリングに基づ
いて特定の処理を行う補助処理装置を有し、 前記補助処理装置は、現在実行中の特定の処理の進行状
況を示す進行状況指示手段と、 補助処理装置の動作状態を示す動作状態指示手段を備
え、 前記中央処理装置は、特定の処理の予め求められた実行
処理時間を記憶するデータベースと、 前記補助処理装置で実行されている特定の処理(先行の
特定処理)に比べて優先度の高い特定の処理(後続の特
定処理)の処理要求を受けると、処理要求を受けた時点
から後続の特定処理を終了させるまでの制限時間Taを
求め、前記データベースに基づいて後続の特定処理の処
理時間Tbを求め、制限時間Taから処理時間Tbを減
算して後続の特定処理が制限時間内に終了するために後
続の特定処理を開始させる最も遅い開始時間Tcを求
め、前記補助処理装置の動作状態指示手段を参照して処
理要求を受けた時に前記補助処理装置が特定の処理を実
行している場合は、前記補助処理装置の進行状況指示手
段を参照して先行の特定処理が終了するまでにかかる時
間Tdを求め、Tc≧Tdである場合は先行の特定処理
が終了した後、後続の特定処理の実行を開始し、前記補
助処理装置で実行されている特定の処理を中断してそれ
までの処理状態を保存するために必要となる時間をTe
とし、前記補助処理装置で実行されている特定の処理を
中断してそれまでの処理状態を破棄するために必要とな
る時間をTfとすると、Tc<TdかつTc≧Teであ
る場合は先行の特定処理を中断してそれまでの処理状態
を保存した後、後続の特定処理の実行を開始し、Tc<
Td、Tc<TeかつTc≧Tfである場合は先行の特
定処理を中断してそれまでの処理状態を破棄した後、後
続の特定処理の実行を開始させるように後続の特定処理
をスケジューリングするスケジューリング手段を備えて
いることを特徴とする情報処理装置。 - 【請求項3】 前記進行状況指示手段は、前記補助処理
装置が特定の処理を開始する際に初期化され、特定の処
理が進行するのにともなって実行された命令数をカウン
トするカウンタからなることを特徴とする請求項1又は
2記載の情報処理装置。 - 【請求項4】 前記進行状況指示手段は、前記補助処理
装置が特定の処理を開始する際に特定の処理にかかる時
間を表す値が設定され、特定の処理の命令が実行される
毎に設定された値が減少するカウンタからなることを特
徴とする請求項1又は2記載の情報処理装置。 - 【請求項5】 前記進行状況指示手段は、特定の処理が
実行されている任意の時間において、設定された値が処
理の内容に応じて再設定されることを特徴とする請求項
4記載の情報処理装置。 - 【請求項6】 中央処理装置と並列に動作して前記中央
処理装置のスケジューリングに基づいて補助処理装置で
実行されている特定の処理(先行の特定処理)に比べて
優先度の高い特定の処理(後続の特定処理)の処理要求
を前記中央処理装置が受けると、 処理要求を受けた時点から後続の特定処理を終了させる
までの制限時間Taを求めるステップと、 後続の特定処理の処理時間Tbを求め、制限時間Taか
ら処理時間Tbを減算して後続の特定処理が制限時間内
に終了するために後続の特定処理を開始させる最も遅い
開始時間Tcを求めるステップと処理要求を受けた時に
前記補助処理装置が特定の処理を実行している場合は、
先行の特定処理が終了するまでにかかる時間Tdを求め
るステップと、 Tc≧Tdである場合は先行の特定処理が終了した後、
後続の特定処理の実行を開始させるステップと、 前記補助処理装置で実行されている特定の処理を中断し
てそれまでの処理状態を保存するために必要となる時間
をTeとすると、Tc<TdかつTc≧Teである場合
は先行の特定処理を中断してそれまでの処理状態を保存
した後、後続の特定処理の実行を開始させるステップ
と、 前記補助処理装置で実行されている特定の処理を中断し
てそれまでの処理状態を破棄するために必要となる時間
をTfとすると、Tc<Td、Tc<TeかつTc≧T
fである場合は先行の特定処理を中断してそれまでの処
理状態を破棄した後、後続の特定処理の実行を開始させ
るステップとを有して前記中央処理装置が後続の特定処
理をスケジューリングすることを特徴とするスケジュー
リング方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9112825A JPH10301793A (ja) | 1997-04-30 | 1997-04-30 | 情報処理装置及びスケジューリング方法 |
US09/067,900 US6349321B1 (en) | 1997-04-30 | 1998-04-29 | Data processing system and scheduling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9112825A JPH10301793A (ja) | 1997-04-30 | 1997-04-30 | 情報処理装置及びスケジューリング方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10301793A true JPH10301793A (ja) | 1998-11-13 |
Family
ID=14596485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9112825A Pending JPH10301793A (ja) | 1997-04-30 | 1997-04-30 | 情報処理装置及びスケジューリング方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6349321B1 (ja) |
JP (1) | JPH10301793A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007234017A (ja) * | 2006-02-28 | 2007-09-13 | Samsung Electronics Co Ltd | 優先順位による不揮発性メモリの演算処理装置及び方法 |
JP2014099183A (ja) * | 2013-12-13 | 2014-05-29 | Hitachi Ltd | 計算機システム、ストレージ管理計算機及びストレージ管理方法 |
JP2015130095A (ja) * | 2014-01-08 | 2015-07-16 | キヤノン株式会社 | 情報処理装置、情報処理方法及びコンピュータプログラム |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7805724B1 (en) * | 1998-05-27 | 2010-09-28 | Arc International I.P., Inc. | Apparatus, method and computer program for dynamic slip control in real-time scheduling |
US6411982B2 (en) * | 1998-05-28 | 2002-06-25 | Hewlett-Packard Company | Thread based governor for time scheduled process execution |
US7451447B1 (en) | 1998-08-07 | 2008-11-11 | Arc International Ip, Inc. | Method, computer program and apparatus for operating system dynamic event management and task scheduling using function calls |
US9753772B2 (en) * | 1999-06-21 | 2017-09-05 | Jia Xu | Method of computing latest start times to allow real-time process overruns |
US6738972B1 (en) * | 1999-12-30 | 2004-05-18 | Opentv, Inc. | Method for flow scheduling |
US7284064B1 (en) | 2000-03-21 | 2007-10-16 | Intel Corporation | Method and apparatus to determine broadcast content and scheduling in a broadcast system |
US7167895B1 (en) | 2000-03-22 | 2007-01-23 | Intel Corporation | Signaling method and apparatus to provide content on demand in a broadcast system |
US7275254B1 (en) | 2000-11-21 | 2007-09-25 | Intel Corporation | Method and apparatus for determining and displaying the service level of a digital television broadcast signal |
US20020144265A1 (en) * | 2001-03-29 | 2002-10-03 | Connelly Jay H. | System and method for merging streaming and stored content information in an electronic program guide |
US20020143591A1 (en) * | 2001-03-30 | 2002-10-03 | Connelly Jay H. | Method and apparatus for a hybrid content on demand broadcast system |
US20020144269A1 (en) * | 2001-03-30 | 2002-10-03 | Connelly Jay H. | Apparatus and method for a dynamic electronic program guide enabling billing broadcast services per EPG line item |
US7185352B2 (en) * | 2001-05-11 | 2007-02-27 | Intel Corporation | Method and apparatus for combining broadcast schedules and content on a digital broadcast-enabled client platform |
US20020194603A1 (en) * | 2001-06-15 | 2002-12-19 | Jay H. Connelly | Method and apparatus to distribute content using a multi-stage broadcast system |
US20020194585A1 (en) * | 2001-06-15 | 2002-12-19 | Connelly Jay H. | Methods and apparatus for providing ranking feedback for content in a broadcast system |
US20030005465A1 (en) * | 2001-06-15 | 2003-01-02 | Connelly Jay H. | Method and apparatus to send feedback from clients to a server in a content distribution broadcast system |
US7055165B2 (en) * | 2001-06-15 | 2006-05-30 | Intel Corporation | Method and apparatus for periodically delivering an optimal batch broadcast schedule based on distributed client feedback |
US7020893B2 (en) * | 2001-06-15 | 2006-03-28 | Intel Corporation | Method and apparatus for continuously and opportunistically driving an optimal broadcast schedule based on most recent client demand feedback from a distributed set of broadcast clients |
US20030005451A1 (en) * | 2001-06-15 | 2003-01-02 | Connelly Jay H. | Method and apparatus to distribute content descriptors in a content distribution broadcast system |
US7328455B2 (en) * | 2001-06-28 | 2008-02-05 | Intel Corporation | Apparatus and method for enabling secure content decryption within a set-top box |
US7363569B2 (en) * | 2001-06-29 | 2008-04-22 | Intel Corporation | Correcting for data losses with feedback and response |
JP4837844B2 (ja) * | 2001-07-19 | 2011-12-14 | 富士通株式会社 | シミュレーションシステム、方法、プログラム及び記録媒体 |
US20030046683A1 (en) * | 2001-08-28 | 2003-03-06 | Jutzi Curtis E. | Server-side preference prediction based on customer billing information to generate a broadcast schedule |
US7047456B2 (en) | 2001-08-28 | 2006-05-16 | Intel Corporation | Error correction for regional and dynamic factors in communications |
US7231653B2 (en) | 2001-09-24 | 2007-06-12 | Intel Corporation | Method for delivering transport stream data |
US20030061611A1 (en) * | 2001-09-26 | 2003-03-27 | Ramesh Pendakur | Notifying users of available content and content reception based on user profiles |
US20030066090A1 (en) * | 2001-09-28 | 2003-04-03 | Brendan Traw | Method and apparatus to provide a personalized channel |
US8943540B2 (en) * | 2001-09-28 | 2015-01-27 | Intel Corporation | Method and apparatus to provide a personalized channel |
US20030135605A1 (en) * | 2002-01-11 | 2003-07-17 | Ramesh Pendakur | User rating feedback loop to modify virtual channel content and/or schedules |
US20030135857A1 (en) * | 2002-01-11 | 2003-07-17 | Ramesh Pendakur | Content discovery in a digital broadcast data service |
US6985976B1 (en) | 2002-02-22 | 2006-01-10 | Teja Technologies, Inc. | System, method, and computer program product for memory management for defining class lists and node lists for allocation and deallocation of memory blocks |
US7039772B1 (en) | 2002-02-22 | 2006-05-02 | Teja Technologies, Inc. | System, method, and computer program product for processing reflective state machines |
US7320044B1 (en) | 2002-02-22 | 2008-01-15 | Arc International I.P., Inc. | System, method, and computer program product for interrupt scheduling in processing communication |
US7130936B1 (en) | 2002-02-22 | 2006-10-31 | Teja Technologies, Inc. | System, methods, and computer program product for shared memory queue |
US20070079077A1 (en) * | 2002-04-29 | 2007-04-05 | Baines Mandeep S | System, method, and computer program product for shared memory queue |
US7076781B2 (en) * | 2002-05-31 | 2006-07-11 | International Business Machines Corporation | Resource reservation for large-scale job scheduling |
US7613897B2 (en) * | 2005-03-30 | 2009-11-03 | International Business Machines Corporation | Allocating entitled processor cycles for preempted virtual processors |
US7877752B2 (en) * | 2005-12-14 | 2011-01-25 | Broadcom Corp. | Method and system for efficient audio scheduling for dual-decode digital signal processor (DSP) |
US7844970B2 (en) * | 2006-08-22 | 2010-11-30 | International Business Machines Corporation | Method and apparatus to control priority preemption of tasks |
US8024731B1 (en) * | 2007-04-25 | 2011-09-20 | Apple Inc. | Assigning priorities to threads of execution |
JP5212479B2 (ja) * | 2008-11-20 | 2013-06-19 | 富士通株式会社 | 無線基地局、無線端末、および特定情報配信方法 |
US8880479B2 (en) * | 2011-12-29 | 2014-11-04 | Bmc Software, Inc. | Database recovery progress report |
WO2013102956A1 (ja) * | 2012-01-06 | 2013-07-11 | 三菱電機株式会社 | 描画制御装置 |
US9779038B2 (en) * | 2013-01-31 | 2017-10-03 | Apple Inc. | Efficient suspend-resume operation in memory devices |
US9396088B2 (en) * | 2013-03-08 | 2016-07-19 | Sap Se | Computer execution progress indicator |
US10552215B1 (en) * | 2017-08-05 | 2020-02-04 | Jia Xu | System and method of handling real-time process overruns on a multiprocessor |
US11829913B2 (en) * | 2020-01-18 | 2023-11-28 | SkyKick, Inc. | Facilitating activity logs within a multi-service system |
JP2022187116A (ja) * | 2021-06-07 | 2022-12-19 | 富士通株式会社 | 多重制御プログラム、情報処理装置および多重制御方法 |
US12197294B1 (en) | 2021-08-12 | 2025-01-14 | Jia Xu | System and method of handling primary and backup overruns and underruns in a real-time embedded system which tolerates permanent hardware and software failures |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5386561A (en) * | 1992-03-31 | 1995-01-31 | International Business Machines Corporation | Method of integrated system load control through dynamic time-slicing in a virtual storage environment |
US5515538A (en) * | 1992-05-29 | 1996-05-07 | Sun Microsystems, Inc. | Apparatus and method for interrupt handling in a multi-threaded operating system kernel |
US5379428A (en) * | 1993-02-01 | 1995-01-03 | Belobox Systems, Inc. | Hardware process scheduler and processor interrupter for parallel processing computer systems |
US6006247A (en) * | 1995-03-21 | 1999-12-21 | International Business Machines Corporation | Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system |
US5963721A (en) * | 1995-12-29 | 1999-10-05 | Texas Instruments Incorporated | Microprocessor system with capability for asynchronous bus transactions |
US5949994A (en) * | 1997-02-12 | 1999-09-07 | The Dow Chemical Company | Dedicated context-cycling computer with timed context |
-
1997
- 1997-04-30 JP JP9112825A patent/JPH10301793A/ja active Pending
-
1998
- 1998-04-29 US US09/067,900 patent/US6349321B1/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007234017A (ja) * | 2006-02-28 | 2007-09-13 | Samsung Electronics Co Ltd | 優先順位による不揮発性メモリの演算処理装置及び方法 |
JP2014099183A (ja) * | 2013-12-13 | 2014-05-29 | Hitachi Ltd | 計算機システム、ストレージ管理計算機及びストレージ管理方法 |
JP2015130095A (ja) * | 2014-01-08 | 2015-07-16 | キヤノン株式会社 | 情報処理装置、情報処理方法及びコンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
US6349321B1 (en) | 2002-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10301793A (ja) | 情報処理装置及びスケジューリング方法 | |
JP3588485B2 (ja) | プロセススケジューリング方式 | |
US20090158293A1 (en) | Information processing apparatus | |
EP1282030A1 (en) | Computer system and computer-readable recording medium | |
JP2002215599A (ja) | マルチプロセッサシステムおよびその制御方法 | |
US10271326B2 (en) | Scheduling function calls | |
JP2009163658A (ja) | 入出力制御装置およびそのファームウェア更新方法 | |
US7590990B2 (en) | Computer system | |
US20020124043A1 (en) | Method of and system for withdrawing budget from a blocking task | |
JP2001236236A (ja) | タスク制御装置およびそのタスクスケジューリング方法 | |
JP2002073354A (ja) | タスク制御装置とタスク制御方法 | |
JP2000194683A (ja) | 共有メモリの調停回路およびその調停方法 | |
JP2008225641A (ja) | コンピュータシステム、割り込み制御方法及びプログラム | |
JPH10177489A (ja) | タスクのスケジュール方法 | |
JPH07191863A (ja) | マルチタスク実行管理方式 | |
JP7263746B2 (ja) | 情報処理装置 | |
US7293004B1 (en) | Method for tuning state-based scheduling policies | |
JP2001092676A (ja) | 組み込みプログラムにおけるタスク管理システム | |
KR100214238B1 (ko) | 인터럽트 요구를 처리하기 위한 데이타 처리장치 및 방법 | |
JPH0659915A (ja) | トランザクションの実行順序制御方法および装置 | |
JP5708273B2 (ja) | 通信装置、情報処理装置、データ送信方法 | |
JP2000276360A (ja) | タスクスケジューリング方法及び装置 | |
JPH08314740A (ja) | プロセスディスパッチ方法 | |
JPH06309180A (ja) | コンピュータシステムの割込制御装置 | |
JP4151449B2 (ja) | チャネルコントロール装置、データ転送装置、チャネルコントロール方法 |