JP6354333B2 - 情報処理装置及びタイマ設定方法 - Google Patents

情報処理装置及びタイマ設定方法 Download PDF

Info

Publication number
JP6354333B2
JP6354333B2 JP2014109550A JP2014109550A JP6354333B2 JP 6354333 B2 JP6354333 B2 JP 6354333B2 JP 2014109550 A JP2014109550 A JP 2014109550A JP 2014109550 A JP2014109550 A JP 2014109550A JP 6354333 B2 JP6354333 B2 JP 6354333B2
Authority
JP
Japan
Prior art keywords
information
time
hardware
processor
memory
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.)
Active
Application number
JP2014109550A
Other languages
English (en)
Other versions
JP2015225474A (ja
Inventor
豊 安井
豊 安井
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014109550A priority Critical patent/JP6354333B2/ja
Publication of JP2015225474A publication Critical patent/JP2015225474A/ja
Application granted granted Critical
Publication of JP6354333B2 publication Critical patent/JP6354333B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Executing Machine-Instructions (AREA)

Description

本発明は、設定された時刻に割り込みを生成するハードウエアのタイマ設定技術に関する。
設定された時刻に割り込みを生成するハードウエアは、ハードウエアタイマと呼ばれる。ハードウエアタイマに対する時刻の設定は、例えば、アプリケーションプログラムのプロセスがタイマ機能を利用するためのシステムコールを発行し、OS(Operating System)がハードウエアタイマのコンパレータ値を設定することによって行われる。
ハードウエアタイマを設定する処理は、CPU(Central Processing Unit)が低速なI/O(Input/Output)のチップセットにアクセスする処理を含むため、時間がかかる。そして、ハードウエアタイマを設定する処理に時間がかかると、アプリケーションプログラムを実行するCPUがシステムコールから復帰するタイミングが遅れ、アプリケーションプログラムの実行速度が落ちる。これは、特にアプリケーションプログラムを高速で実行すべき場合に問題になる。従来技術は、このような問題には着目していない。
特開2012−48379号公報
従って、本発明の目的は、1つの側面では、ハードウエアタイマを設定する処理によってアプリケーションプログラムの実行速度が落ちるのを抑制するための技術を提供することである。
本発明に係る情報処理装置は、アプリケーションプログラムを実行する第1のプロセッサと、第2のプロセッサと、メモリと、設定された時刻に割り込みを生成するハードウエアとを有する。そして、第1のプロセッサは、アプリケーションプログラムのプロセスから受け付けた第1の時刻の情報をメモリに格納すると共に、メモリに格納された識別情報をハードウエアのタイマ設定を要することを示す情報に変更し、第2のプロセッサは、識別情報を監視し、識別情報がハードウエアのタイマ設定を要することを示す情報に変更された場合に、第1の時刻の情報をメモリから読み出し、第1の時刻の情報に基づきハードウエアのタイマ設定を行う。
1つの側面では、ハードウエアタイマを設定する処理によってアプリケーションプログラムの実行速度が落ちるのを抑制できるようになる。
図1は、本実施の形態のシステム概要を示す図である。 図2は、キューに格納されるデータの構造を示す図である。 図3は、受付部が実行する処理の処理フローを示す図である。 図4は、設定スレッドが実行する処理の処理フローを示す図である。 図5は、割り込みハンドラが実行する処理の処理フローを示す図である。 図6は、本実施の形態と単一のCPUを用いた場合とを比較するための図である。
図1に、本実施の形態における情報処理装置1の構成を示す。情報処理装置1は、CPU12と、メモリ13と、CPU14と、ハードウエアタイマ15とを有する。
CPU12は、例えばハードディスクドライブ(HDD:Hard Disk Drive)等に格納されたアプリケーションプログラム及びOS10のプログラムを実行することにより、アプリケーションプログラムのプロセス11と、OS10における受付部101(例えばスレッド)とを実現する。メモリ13は、フラグ131が格納される領域と、キュー132の領域とを含む。CPU14は、例えばハードディスクドライブ等に格納されたOS10のプログラムを実行することにより、OS10における設定スレッド102及び割り込みハンドラ103を実現する。ハードウエアタイマ15は、例えば、マイクロ秒の精度を有するハードウエアタイマ(例えば、高精度イベントタイマ(HPET:High Precision Event Timer))である。ハードウエアタイマ15は、例えば、CPU12及び14と比較して低速なI/Oのチップセットに組み込まれている。
アプリケーションプログラムのプロセス11は、タイマ機能を利用するためのシステムコールを発行する。受付部101は、受け付けたシステムコールに基づき処理を行い、処理結果をキュー132に格納すると共に、フラグ131を更新する。設定スレッド102は、フラグ131が更新された場合に、キュー132に格納されたデータに基づき、ハードウエアタイマ15の設定を行う(すなわち、タイマ設定を行う)。ハードウエアタイマ15は、設定された時刻(本実施の形態においては、コンパレータ値とカウンタ値とが一致する場合)に割り込みを生成する。割り込みハンドラ103は、ハードウエアタイマ15からの割り込みにより呼び出された場合、キュー132に格納されたデータに基づき処理を実行する。
図2に、キュー132に格納されるデータの構造を示す。キュー132に格納されるデータは、リンクされたデータ構造(Linked Data Structure)を有する。ポインタ201は、最初に処理すべきデータ(図2の例では、データ202)を指し示す。各データは、満了時刻の情報と満了処理の情報とを含む。各データには、そのデータの次に処理すべきデータを指し示すポインタが付加される。満了時刻とは、ハードウエアタイマ15のタイムアウトの時刻であり、満了処理とは、満了時刻になった場合に割り込みハンドラ103が実行すべき処理である。満了時刻が早いデータほど先に処理される。従って図2の例では、満了時刻Aは満了時刻Bより早く、満了時刻Bは満了時刻Cより早い。
次に、図3乃至図6を用いて、情報処理装置1の動作について説明する。まず、図3を用いて、受付部101が実行する処理について説明する。
まず、アプリケーションプログラムのプロセス11は、タイマ機能を利用するためのシステムコールを発行する。受付部101は、アプリケーションプログラムのプロセス11からシステムコールを受け付ける(図3:ステップS1)。
受付部101は、アプリケーションプログラムのプロセス11から受け付けたシステムコールに基づき、満了時刻の情報及び満了処理の情報を含むデータを生成する(ステップS3)。
受付部101は、ステップS3において生成されたデータを、そのデータに含まれる満了時刻の情報に従いキュー132に格納する(ステップS5)。ステップS5においては、満了時刻が早いデータほど先に処理されるように、キュー132に格納されたデータに対してポインタの再設定が行われる。
受付部101は、キュー132に格納されたデータについての満了時刻のうち最も早い満了時刻が、ステップS5の処理によって変化したか判断する(ステップS7)。すなわち、ステップS5において格納したデータについての満了時刻が最も早い満了時刻であるか判断する。
最も早い満了時刻が変化していない場合(ステップS7:Noルート)、ハードウエアタイマ15の設定が行われなくてもよいので、処理を終了する。一方、最も早い満了時刻が変化した場合(ステップS7:Yesルート)、ハードウエアタイマ15の設定が行われるべきである。従って、受付部101は、メモリ13に格納されているフラグ131を更新する(ステップS9)。ステップS9においては、例えば、フラグの値(0又は1)を反転させる。そして処理を終了する。ここで、CPU12はシステムコールから復帰する。
以上のようにフラグを更新することで、ハードウエアタイマ15の設定を行うべきであることをCPU14に通知できるようになる。また、以上の処理を完了すればCPU12はシステムコールから復帰し、アプリケーションプログラムを実行することができるようになる。よって、ボトルネックを解消し、アプリケーションプログラムの実行速度が落ちるのを抑制できるようになる。
次に、図4を用いて、設定スレッド102が実行する処理について説明する。
まず、設定スレッド102は、メモリ13におけるフラグ131が更新されたか判断する(図4:ステップS11)。フラグ131が更新されていない場合(ステップS11:Noルート)、ハードウエアタイマ15の設定を行わなくてよいので、ステップS23の処理に移行する。
一方、フラグ131が更新された場合(ステップS11:Yesルート)、ハードウエアタイマ15の設定を行うため、設定スレッド102は、キュー132における先頭のデータ(すなわち、満了時刻が最も早いデータ)について、満了時刻までの残り時間を算出する(ステップS13)。ステップS13においては、残り時間とは、システム時計等から取得した現在時刻から満了時刻までの時間である。
設定スレッド102は、ステップS13において算出された残り時間を、ハードウエアタイマ15のカウンタ値に加算すべき値に変換する(ステップS15)。
設定スレッド102は、ハードウエアタイマ15のカウンタ値を、ハードウエアタイマ15から取得する(ステップS17)。そして、設定スレッド102は、ステップS15の処理による変換後の値を、ハードウエアタイマ15から取得したカウンタ値に加えることで、ハードウエアタイマ15のコンパレータ値に設定すべき値を算出する(ステップS19)。
設定スレッド102は、ステップS19において算出された値を、ハードウエアタイマ15のコンパレータ値として設定する(ステップS21)。
設定スレッド102は、監視命令を発行し(ステップS23)、メモリ13におけるフラグ131のアドレスを登録する。監視命令とは、例えば、Intel 64 アーキテクチャにおけるmonitor命令である。
設定スレッド102は、リスケジュール要求が有るかプロセススケジューラに確認する(ステップS25)。リスケジュール要求とは、他のスレッド等が動作すべき状態である場合に出される要求である。プロセススケジューラは、CPUの使用権の割り当てを行う。
リスケジュール要求が有る場合(ステップS25:Yesルート)、設定スレッド102は、プロセススケジューラに、CPU14の使用権を、設定スレッド102から他のスレッド等に移転させる(ステップS27)。これにより、設定スレッド102がCPU14を占有するのを防ぐことができる。
他のスレッド等によるCPU14の使用が完了すると、設定スレッド102は、CPU14の使用権を獲得する(ステップS29)。そしてステップS11の処理に戻る。
一方、リスケジュール要求が無い場合(ステップS25:Noルート)、設定スレッド102は、CPU待機命令を発行する(ステップS31)。CPU待機命令は、例えば、Intel 64 アーキテクチャにおけるmwait命令である。CPU待機命令により、設定スレッド102は、登録されたアドレスに何らかのアクセスがあるまで待機する(すなわち、フラグ131を監視しつつ休止状態に遷移する)。
設定スレッド102は、フラグ131の更新又は割り込みがあった場合に、CPU待機命令から復帰する(ステップS33)。これによりフラグ131の監視は終了する。そしてステップS11の処理に戻る。
以上のような処理を実行すれば、ハードウエアタイマ15を設定する処理をCPU12から委託されたCPU14が、適切に設定を行えるようになる。また、プロセススケジューラに確認をすることで、設定スレッド102がCPU14を占有するのを防ぐことができる。なお、CPU14の使用権を移転するのは、以下のような理由による。具体的には、設定スレッド102が直接CPU待機命令を発行して待機している状態は、OS10からは設定スレッド102が走行し続けている状態であると認識される。そのため、OS10の他のスレッドが動作できない(すなわち設定スレッド102がCPU14を独占する)からである。
次に、図5を用いて、割り込みハンドラ103が実行する処理について説明する。
ハードウエアタイマ15は、ハードウエアタイマ15のコンパレータ値とカウンタ値とが一致する場合に割り込みを生成する。CPU14が割り込みを検出すると、割り込みハンドラ103が呼び出される。割り込みハンドラ103は、未処理のデータがキュー132に有るか判断する(図5:ステップS41)。
未処理のデータがキュー132に無い場合(ステップS41:Noルート)、処理を終了する。一方、未処理のデータがキュー132に有る場合(ステップS41:Yesルート)、割り込みハンドラ103は、未処理のデータのうち満了時刻が最も早いデータを特定する(ステップS43)。
割り込みハンドラ103は、現在時刻が、ステップS43において特定されたデータについての満了時刻を経過したか判断する(ステップS45)。現在時刻が満了時刻を経過した場合(ステップS45:Yesルート)、割り込みハンドラ103は、ステップS43において特定されたデータに含まれる満了処理の情報に基づき、満了処理を実行する(ステップS47)。そしてステップS41の処理に戻る。
一方、現在時刻が満了時刻を経過していない場合(ステップS45:Yesルート)、割り込みハンドラ103は、ステップS43において特定されたデータについて、満了時刻までの残り時間を算出する(ステップS49)。ステップS49においては、残り時間とは、システム時計等から取得した現在時刻から満了時刻までの時間である。
割り込みハンドラ103は、ステップS49において算出された残り時間を、ハードウエアタイマ15のカウンタ値に加算すべき値に変換する(ステップS51)。
割り込みハンドラ103は、ハードウエアタイマ15のカウンタ値を、ハードウエアタイマ15から取得する(ステップS53)。そして、割り込みハンドラ103は、ステップS51の処理による変換後の値を、ハードウエアタイマ15から取得したカウンタ値に加えることで、ハードウエアタイマ15のコンパレータ値に設定すべき値を算出する(ステップS55)。
割り込みハンドラ103は、ステップS55において算出された値を、ハードウエアタイマ15のコンパレータ値として設定する(ステップS57)。そして処理を終了する。
以上のような処理を実行すれば、割り込みが発生した場合に割り込みハンドラ103が適切に満了処理を実行できるようになる。
図6を用いて、本実施の形態の効果について説明する。本実施の形態においては、ハードウエアタイマ15を設定する処理を、CPU12がフラグを用いてCPU14に委託する。従って、CPU12はシステムコールから早期に復帰するので、アプリケーションプログラムの実行が止まる時間を短くすることができる。また、CPU12はフラグを更新すれば(すなわち、メモリ13に1度アクセスすれば)CPU14に処理を委託できるので、CPU14に処理を委託することがアプリケーションプログラムの実行速度を落とすこともない。
一方、単一のCPUを利用する場合には、ハードウエアタイマ15を設定する処理が終わるまではシステムコールから復帰することができない。ハードウエアタイマ15を設定する処理のうち、ハードウエアタイマ15にアクセスする処理(例えば、ステップS17及びS21の処理)は特に時間がかかる処理であるので、アプリケーションプログラムの実行が止まる時間が長くなる。
なお、ハードウエアタイマ15へのアクセスに時間がかかることに鑑み、CPUが有する割り込み機構(例えば、Intel 64 アーキテクチャにおけるLocal APIC Timerなど)を利用することも考えられる。例えば、割り込み機構を有するCPUを1つ用意し、そのCPUに割り込みを発生させることが考えられる。しかし、割り込みを別のCPUに発生させることができないため、アプリケーションプログラムを実行するCPUが割り込み処理(例えば、満了処理及び次の割り込みの設定処理等)を実行せざるを得ず、アプリケーションプログラムの実行速度が落ちる。
また、割り込み機構を有するCPUを、アプリケーションプログラムを実行するCPUとは別に用意し、そのCPUに割り込みを発生させることも考えられる。しかし、アプリケーションプログラムを実行するCPUと、割り込みを発生させるCPUとの間の通信(例えばIPI(Inter-Processor Interrupt)等)において、種々の事前処理(例えば、割り込み先CPUの設定、相手のCPUが実行する関数、及び引数の設定など)を行うことになるため時間がかかる。
また、本実施の形態と同様に、スレッドを新たに起動し、そのスレッドに、CPU待機命令を使用せずスピンループによりフラグを監視させ、フラグが更新された場合にハードウエアタイマ15への設定を行わせることも考えられる。しかしこのようにすると、フラグを監視する処理がCPUを占有するため他のカーネルスレッドが動作できない場合があり、また、消費電力が本実施の形態と比較して多い。
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した情報処理装置1の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明したデータ保持構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
また、メモリ13上のフラグ131を介してCPU14に委託する処理は、ハードウエアタイマ15の設定に限られず、他の処理であってもよい。
また、CPU12及び14は、マルチコアプロセッサのコアであってもよい。マルチコアプロセッサにおける複数のコアの間で、タイマ設定に関連する処理の負荷を分散できるようになる。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態の第1の態様に係る情報処理装置は、(A)アプリケーションプログラムを実行する第1のプロセッサと、(B)第2のプロセッサと、(C)フラグを格納するメモリと、(D)設定された時刻に割り込みを生成するハードウエアとを有する。そして、(b1)第2のプロセッサは、フラグを監視し、(a1)第1のプロセッサは、アプリケーションプログラムのプロセスから受け付けた第1の時刻の情報をメモリに格納すると共に、フラグを更新し、(b2)フラグが更新された場合に、第2のプロセッサは、第1の時刻の情報をメモリから読み出し、第1の時刻の情報に基づきハードウエアの設定を行う。
このようにすれば、ハードウエアを設定する処理を第2のプロセッサに実行させることができるので、第1のプロセッサはアプリケーションプログラムの実行をすぐさま再開でき、アプリケーションプログラムの実行速度が落ちるのを抑制できるようになる。また、メモリに格納されたフラグを利用するので、プロセッサ間の通信を高速化できるようになる。
また、(b3)実行すべき他の処理がある場合に、第2のプロセッサは、フラグを監視する処理から実行すべき他の処理に、第2のプロセッサの使用権を移転してもよい。このようにすれば、フラグを監視する処理が第2のプロセッサを占有するのを抑制できるようになる。
また、(a2)第1のプロセッサは、アプリケーションプログラムのプロセスから、第1の時刻になった場合に実行すべき処理の情報を受け付け、メモリに格納し、(d1)第2のプロセッサにより設定された第1の時刻になった場合に、ハードウエアは、割り込みを生成し、(b4)割り込みが生成された場合に、第2のプロセッサは、第1の時刻になった場合に実行すべき処理の情報をメモリから取り出し、第1の時刻になった場合に実行すべき処理を実行してもよい。このようにすれば、割り込みが生成された場合に実行すべき処理を適切に行えるようになる。
また、上で述べたハードウエアの設定を行う処理において、(b21)第1の時刻までの時間を算出し、(b22)第1の時刻までの時間を、ハードウエアのカウンタ値に加算すべき値に変換し、(b23)ハードウエアのカウンタ値をハードウエアから取得し、(b24)ハードウエアのカウンタ値に、ハードウエアのカウンタ値に加算すべき値を加算した値である設定値を算出し、(b24)設定値を、ハードウエアのコンパレータ値に設定してもよい。このようにすれば、ハードウエアを適切に設定できるようになる。
また、上で述べたハードウエアは、(d2)高精度イベントタイマであってもよい。高精度イベントタイマを使用する場合にも対処できるようになる。
本実施の形態の第2の態様に係るタイマ設定方法は、アプリケーションプログラムを実行する第1のプロセッサと、第2のプロセッサと、フラグを格納するメモリと、設定された時刻に割り込みを生成するハードウエアとを有する情報処理装置により実行される。そして、本タイマ設定方法は、(E)第2のプロセッサは、フラグを監視し、(F)第1のプロセッサは、アプリケーションプログラムのプロセスから受け付けた第1の時刻の情報をメモリに格納すると共に、フラグを更新し、(G)フラグが更新された場合に、第2のプロセッサは、第1の時刻の情報をメモリから読み出し、第1の時刻の情報に基づきハードウエアの設定を行う処理を含む。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
アプリケーションプログラムを実行する第1のプロセッサと、
第2のプロセッサと、
メモリと、
設定された時刻に割り込みを生成するハードウエアと、
を有し、
前記第1のプロセッサは、前記アプリケーションプログラムのプロセスから受け付けた第1の時刻の情報を前記メモリに格納すると共に、前記メモリに格納された識別情報を前記ハードウエアのタイマ設定を要することを示す情報に変更し、
前記第2のプロセッサは、前記識別情報を監視し、前記識別情報が前記ハードウエアのタイマ設定を要することを示す情報に変更された場合に、前記第1の時刻の情報を前記メモリから読み出し、前記第1の時刻の情報に基づき前記ハードウエアのタイマ設定を行う
情報処理装置。
(付記2)
実行すべき他の処理がある場合に、前記第2のプロセッサは、前記識別情報を監視する処理から前記実行すべき他の処理に、前記第2のプロセッサの使用権を移転する
付記1記載の情報処理装置。
(付記3)
前記第1のプロセッサは、前記アプリケーションプログラムのプロセスから、前記第1の時刻になった場合に実行すべき処理の情報を受け付け、前記メモリに格納し、
前記ハードウエアは、前記第1の時刻になった場合に割り込みを生成し、
前記割り込みが生成された場合に、前記第2のプロセッサは、前記第1の時刻になった場合に実行すべき処理の情報を前記メモリから取り出し、前記第1の時刻になった場合に実行すべき処理を実行する
付記1記載の情報処理装置。
(付記4)
前記ハードウエアのタイマ設定を行う処理において、
前記第1の時刻までの時間を算出し、
前記第1の時刻までの時間を、前記ハードウエアのカウンタ値に加算すべき値に変換し、
前記ハードウエアのカウンタ値を前記ハードウエアから取得し、
前記ハードウエアのカウンタ値に、前記ハードウエアのカウンタ値に加算すべき値を加算した値である設定値を算出し、
前記設定値を、前記ハードウエアのコンパレータ値に設定する
付記1乃至3のいずれか1つ記載の情報処理装置。
(付記5)
前記ハードウエアは、高精度イベントタイマである
付記1乃至4のいずれか1つ記載の情報処理装置。
(付記6)
アプリケーションプログラムを実行する第1のプロセッサと、第2のプロセッサと、メモリと、設定された時刻に割り込みを生成するハードウエアとを有する情報処理装置により実行されるタイマ設定方法であって、
前記第1のプロセッサは、前記アプリケーションプログラムのプロセスから受け付けた第1の時刻の情報を前記メモリに格納すると共に、前記メモリに格納された識別情報を前記ハードウエアのタイマ設定を要することを示す情報に変更し、
前記第2のプロセッサは、前記識別情報を監視し、前記識別情報が前記ハードウエアのタイマ設定を要することを示す情報に変更された場合に、前記第1の時刻の情報を前記メモリから読み出し、前記第1の時刻の情報に基づき前記ハードウエアのタイマ設定を行う
処理を含むタイマ設定方法。
1 情報処理装置 10 OS
101 受付部 102 設定スレッド
103 割り込みハンドラ 11 アプリケーションプログラムのプロセス
12 CPU 13 メモリ
131 フラグ 132 キュー
14 CPU 15 ハードウエアタイマ

Claims (5)

  1. アプリケーションプログラムを実行する第1のプロセッサと、
    第2のプロセッサと、
    メモリと、
    設定された時刻に割り込みを生成するハードウエアと、
    を有し、
    前記第1のプロセッサは、前記アプリケーションプログラムのプロセスから受け付けた第1の時刻の情報を前記メモリに格納すると共に、前記メモリに格納された識別情報を前記ハードウエアのタイマ設定を要することを示す情報に変更し、
    前記第2のプロセッサは、前記識別情報を監視し、前記識別情報が前記ハードウエアのタイマ設定を要することを示す情報に変更された場合に、前記第1の時刻の情報を前記メモリから読み出し、前記第1の時刻の情報に基づき前記ハードウエアのタイマ設定を行い、
    実行すべき他の処理がある場合に、前記第2のプロセッサは、前記識別情報を監視する処理から前記実行すべき他の処理に、前記第2のプロセッサの使用権を移転する
    情報処理装置。
  2. アプリケーションプログラムを実行する第1のプロセッサと、
    第2のプロセッサと、
    メモリと、
    設定された時刻に割り込みを生成するハードウエアと、
    を有し、
    前記第1のプロセッサは、前記アプリケーションプログラムのプロセスから受け付けた第1の時刻の情報を前記メモリに格納すると共に、前記メモリに格納された識別情報を前記ハードウエアのタイマ設定を要することを示す情報に変更し、
    前記第2のプロセッサは、前記識別情報を監視し、前記識別情報が前記ハードウエアのタイマ設定を要することを示す情報に変更された場合に、前記第1の時刻の情報を前記メモリから読み出し、前記第1の時刻の情報に基づき前記ハードウエアのタイマ設定を行い、
    前記第1のプロセッサは、前記アプリケーションプログラムのプロセスから、前記第1の時刻になった場合に実行すべき処理の情報を受け付け、前記メモリに格納し、
    前記ハードウエアは、前記第1の時刻になった場合に割り込みを生成し、
    前記割り込みが生成された場合に、前記第2のプロセッサは、前記第1の時刻になった場合に実行すべき処理の情報を前記メモリから取り出し、前記第1の時刻になった場合に実行すべき処理を実行する
    情報処理装置。
  3. 前記ハードウエアのタイマ設定を行う処理において、
    前記第1の時刻までの時間を算出し、
    前記第1の時刻までの時間を、前記ハードウエアのカウンタ値に加算すべき値に変換し、
    前記ハードウエアのカウンタ値を前記ハードウエアから取得し、
    前記ハードウエアのカウンタ値に、前記ハードウエアのカウンタ値に加算すべき値を加算した値である設定値を算出し、
    前記設定値を、前記ハードウエアのコンパレータ値に設定する
    請求項1又は2記載の情報処理装置。
  4. アプリケーションプログラムを実行する第1のプロセッサと、第2のプロセッサと、メモリと、設定された時刻に割り込みを生成するハードウエアとを有する情報処理装置により実行されるタイマ設定方法であって、
    前記第1のプロセッサは、前記アプリケーションプログラムのプロセスから受け付けた第1の時刻の情報を前記メモリに格納すると共に、前記メモリに格納された識別情報を前記ハードウエアのタイマ設定を要することを示す情報に変更し、
    前記第2のプロセッサは、前記識別情報を監視し、前記識別情報が前記ハードウエアのタイマ設定を要することを示す情報に変更された場合に、前記第1の時刻の情報を前記メモリから読み出し、前記第1の時刻の情報に基づき前記ハードウエアのタイマ設定を行い、
    実行すべき他の処理がある場合に、前記第2のプロセッサは、前記識別情報を監視する処理から前記実行すべき他の処理に、前記第2のプロセッサの使用権を移転する
    処理を含むタイマ設定方法。
  5. アプリケーションプログラムを実行する第1のプロセッサと、第2のプロセッサと、メモリと、設定された時刻に割り込みを生成するハードウエアとを有する情報処理装置により実行されるタイマ設定方法であって、
    前記第1のプロセッサは、前記アプリケーションプログラムのプロセスから受け付けた第1の時刻の情報を前記メモリに格納すると共に、前記メモリに格納された識別情報を前記ハードウエアのタイマ設定を要することを示す情報に変更し、
    前記第2のプロセッサは、前記識別情報を監視し、前記識別情報が前記ハードウエアのタイマ設定を要することを示す情報に変更された場合に、前記第1の時刻の情報を前記メモリから読み出し、前記第1の時刻の情報に基づき前記ハードウエアのタイマ設定を行い、
    前記第1のプロセッサは、前記アプリケーションプログラムのプロセスから、前記第1の時刻になった場合に実行すべき処理の情報を受け付け、前記メモリに格納し、
    前記ハードウエアは、前記第1の時刻になった場合に割り込みを生成し、
    前記割り込みが生成された場合に、前記第2のプロセッサは、前記第1の時刻になった場合に実行すべき処理の情報を前記メモリから取り出し、前記第1の時刻になった場合に実行すべき処理を実行する
    処理を含むタイマ設定方法。
JP2014109550A 2014-05-27 2014-05-27 情報処理装置及びタイマ設定方法 Active JP6354333B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014109550A JP6354333B2 (ja) 2014-05-27 2014-05-27 情報処理装置及びタイマ設定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014109550A JP6354333B2 (ja) 2014-05-27 2014-05-27 情報処理装置及びタイマ設定方法

Publications (2)

Publication Number Publication Date
JP2015225474A JP2015225474A (ja) 2015-12-14
JP6354333B2 true JP6354333B2 (ja) 2018-07-11

Family

ID=54842174

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014109550A Active JP6354333B2 (ja) 2014-05-27 2014-05-27 情報処理装置及びタイマ設定方法

Country Status (1)

Country Link
JP (1) JP6354333B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7013447B2 (ja) * 2016-08-19 2022-01-31 オラクル・インターナショナル・コーポレイション 多様なソースからのエントロピの収集
JP6316522B1 (ja) 2017-01-25 2018-04-25 三菱電機株式会社 計算機装置、タスク起動方法およびタスク起動プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6421635A (en) * 1987-07-17 1989-01-25 Nec Corp Software timer management processor
JP2001202256A (ja) * 2000-01-20 2001-07-27 Denso Corp マイクロコンピュータ
JP2002268712A (ja) * 2001-03-12 2002-09-20 Omron Corp 制御装置及びネットワークシステム
JP2006048241A (ja) * 2004-08-02 2006-02-16 Hitachi Ltd 組込み制御装置

Also Published As

Publication number Publication date
JP2015225474A (ja) 2015-12-14

Similar Documents

Publication Publication Date Title
CN108701040B (zh) 用户级别线程暂停的方法、设备、和指令
US10877766B2 (en) Embedded scheduling of hardware resources for hardware acceleration
JP5963282B2 (ja) 割り込み分配スキーム
US11907762B2 (en) Resource conservation for containerized systems
JP6219445B2 (ja) 中央処理ユニット及び画像処理ユニットの同期機構
TWI493332B (zh) 用於電力管理的方法與設備及其平台與電腦可讀取媒體
US8713262B2 (en) Managing a spinlock indicative of exclusive access to a system resource
US10489188B2 (en) Method for reducing interrupt latency in embedded systems
US20210334228A1 (en) Managing network interface controller-generated interrupts
TW201423361A (zh) 處理器、資訊處理設備、及電力消耗管理方法
JP6354333B2 (ja) 情報処理装置及びタイマ設定方法
TWI512629B (zh) 用於表格驅動之多重被動跳脫平台被動熱管理之設備及方法、計算系統及電腦可讀媒體
CN110955503B (zh) 任务调度方法及装置
US9405549B2 (en) Deadlock avoidance method and deadlock avoidance mechanism
US11086658B2 (en) System performance enhancement with SMI on multi-core systems
US8601488B2 (en) Controlling the task switch timing of a multitask system
US11243800B2 (en) Efficient virtual machine memory monitoring with hyper-threading
US8185722B2 (en) Processor instruction set for controlling threads to respond to events
US20080229310A1 (en) Processor instruction set
JP6066807B2 (ja) 計算機システム、計算機システムの割込み処理プログラム及び計算機システムの割込み処理方法
JP2004127163A (ja) マルチプロセッサシステム
TWI571729B (zh) 基於優先順序之智慧型平台被動熱管理技術
JP2010140319A (ja) 半導体装置
TWI516982B (zh) 計算裝置及計算裝置之處理安全服務之方法
US20230108234A1 (en) Synchronous labeling of operational state for workloads

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180223

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180528

R150 Certificate of patent or registration of utility model

Ref document number: 6354333

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150