JP3910422B2 - Management apparatus and management method - Google Patents
Management apparatus and management method Download PDFInfo
- Publication number
- JP3910422B2 JP3910422B2 JP2001363898A JP2001363898A JP3910422B2 JP 3910422 B2 JP3910422 B2 JP 3910422B2 JP 2001363898 A JP2001363898 A JP 2001363898A JP 2001363898 A JP2001363898 A JP 2001363898A JP 3910422 B2 JP3910422 B2 JP 3910422B2
- Authority
- JP
- Japan
- Prior art keywords
- execution
- program
- interrupt
- unit
- selection
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Description
【0001】
【発明の属する技術分野】
この発明は、システムの処理速度を低下させることなくシステムの消費電力を抑えて、プログラムを実行する処理システムに関するものである。
【0002】
【従来の技術】
図10は、例えば特開平7−141074号に記載されたブロック図である。
図において、601は半導体集積回路、602は主電源端子612で受け取った電源を電源分配制御信号に従って対応する各機能ブロック604〜611に分配する電源制御部、603は電源分配制御信号が設定される電源制御レジスタ、604〜611は機能ブロック、612は主電源端子である。
【0003】
次に動作について説明する。
電源制御部602は主電源端子612に供給された電源を、電源制御レジスタ603に設定された電源分配制御信号に従って指定された機能ブロック604〜611に分配する。例えば、電源制御レジスタの“1”は対応する機能ブロックへの電源供給を、“0”は対応する機能ブロックへの電源無供給をそれぞれ示す。
【0004】
【発明が解決しようとする課題】
従来の処理システムは、低消費電力を図るための回路を備えているが同回路を制御するための処理手順が特定されていない。
【0005】
この発明は、低消費電力を図るための回路をスケジューラで制御することにより、システムの処理速度を低下させることなく低消費電力化を図ることを目的とする。
【0006】
【課題を解決するための手段】
本発明に係る管理装置は、
複数のプログラム実行装置に接続され、前記複数のプログラム実行装置を管理する管理装置であって、
プログラム実行装置によるプログラム実行の対象となる実行対象プログラムを入力する入力部と、
前記実行対象プログラムの実行中の割込みが可能か否かを判断する割込み可否判断部と、
前記複数のプログラム実行装置の中から、前記実行対象プログラムを実行するプログラム実行装置を選択プログラム実行装置として選択する選択部と、
前記選択プログラム実行装置に前記実行対象プログラムの実行を開始させるとともに、前記割込み可否判断部が前記実行対象プログラムについて割込み不可と判断した場合に、前記選択プログラム実行装置以外の他のプログラム実行装置の稼動を停止させる稼動制御部とを有することを特徴とする。
【0007】
前記稼動制御部は、前記割込み可否判断部が前記実行対象プログラムについて割込み可能と判断した場合に、前記選択プログラム実行装置以外の他のプログラム実行装置の稼動を停止させないことを特徴とする。
【0008】
前記管理装置は、前記複数のプログラム実行装置がプログラム実行時に使用する複数のレジスタ装置を管理し、
前記選択部は、前記選択プログラム実行装置を選択するとともに、前記複数のレジスタ装置の中から、前記選択プログラム実行装置が使用するレジスタ装置を選択レジスタ装置として選択し、
前記稼動制御部は、前記割込み可否判断部により割込み不可と判断された場合に、前記選択レジスタ装置以外の他のレジスタ装置の稼動を停止させることを特徴とする。
【0009】
前記管理装置は、更に、前記選択プログラム実行装置による前記実行対象プログラムの実行状況を監視し、前記実行対象プログラムの実行中に発生した割込み要求を検出する割込み要求検出部を有し、
前記選択プログラム実行装置による実行後に前記実行対象プログラムが再度前記入力部により入力された場合に、前記割込み可否判断部は、前記実行対象プログラムの実行中に前記割込み要求検出部により割込み要求が検出されたか否かに基づき前記実行対象プログラムの実行中の割込みが可能か否かを判断することを特徴とする。
【0010】
前記選択部は、前記割込み可否判断部が前記実行対象プログラムについて割込み不可と判断した場合に、前記選択プログラム実行装置による前記実行対象プログラムの実行開始時期と実行終了時期を決定し、
前記稼動制御部は、前記実行開始時期に前記選択プログラム実行装置に前記実行対象プログラムの実行を開始させ、前記実行終了時期に前記選択プログラム実行装置の稼動を停止させることを特徴とする。
【0011】
前記選択部は、前記割込み可否判断部が前記実行対象プログラムについて割込み不可と判断した場合に、前記選択プログラム実行装置による前記実行対象プログラムの実行開始時期と実行終了時期とを決定し、前記実行開始時期に、前記選択プログラム実行装置による前記実行対象プログラムの実行開始を指示する開始指示を出力し、前記実行終了時期に、前記選択プログラム実行装置の稼動停止を指示する停止指示を出力し、
前記稼動制御部は、前記開始指示に従って前記選択プログラム実行装置に前記実行対象プログラムの実行を開始させ、前記停止指示に従って前記選択プログラム実行装置の稼動を停止させることを特徴とする。
【0012】
本発明に係る管理方法は、
複数のプログラム実行装置を管理する管理方法であって、
プログラム実行装置によるプログラム実行の対象となる実行対象プログラムを入力する入力ステップと、
前記実行対象プログラムの実行中の割込みが可能か否かを判断する割込み可否判断ステップと、
前記複数のプログラム実行装置の中から、前記実行対象プログラムを実行するプログラム実行装置を選択プログラム実行装置として選択する選択ステップと、前記選択プログラム実行装置に前記実行対象プログラムの実行を開始させるとともに、前記割込み可否判断ステップにより前記実行対象プログラムについて割込み不可と判断された場合に、前記選択プログラム実行装置以外の他のプログラム実行装置の稼動を停止させる稼動制御ステップとを有することを特徴とする。
【0013】
【発明の実施の形態】
実施の形態1.
図1は本実施の形態の処理システムの構成を示す構成図である。
図において、101は処理待ちのプログラム情報を格納した管理テーブル、102は実行するプログラムコード、103はプログラム実行単位の実行順序を制御するスケジューラ、104は演算処理に使用するデータを格納するレジスタファイル(レジスタ群)、105〜107はプログラムコードを実行する実行ユニット(例えば、加算器や乗算器など)、108は各実行ユニットの稼動/停止を制御する制御信号である。
管理テーブル101は、スケジューリング対象となるプログラム実行単位と、該プログラム実行単位が含まれるプログラム及び該プログラム実行単位を実行する際の割込みモードを格納する。
なお、各プログラム実行単位ごとのプログラムは、繰り返し実行されるものとし、スケジューラ103では、プログラムコード102が入力されるたびに、管理テーブル101の情報を参照して該当するプログラム実行単位について割込みモードを判断する。
ここで、スケジューラ103は、管理装置に相当し、各実行ユニット105〜107は、プログラム実行装置に相当し、レジスタファイル104は複数のレジスタ装置に相当する。
また、プログラムコード102は、複数のプログラム実行単位より構成される。スケジューラ103に入力されるプログラムコード102内の各プログラム実行単位ごとのプログラムが実行対象プログラムに相当する。
【0014】
図2は、スケジューラ103の内部構成を示す図である。
図において、1はプログラムコード102を入力する入力部である。2は、入力部1で入力されたプログラムコード102についてプログラム実行単位ごとに管理テーブル101の情報を参照して割込みモードを判断する割込み可否判断部である。3は、プログラム実行単位ごとに実行ユニット105〜107を選択する選択部である。なお、選択部3により選択された実行ユニットは、選択プログラム実行装置に相当する。4は、所定の場合に、制御信号108を出力して実行ユニット及びレジスタファイルの稼動/停止を制御する稼動制御部である。
【0015】
図3は、スケジューラ103等の動作を示すフローチャートである。
図において、S201は割込み可能モードか否かを判定するステップ、S202はペンディングしている割込みがあるか否かを判定するステップ、S203は割込み処理を実行するステップ、S204は使用する実行ユニットを解析するステップ、S205はプログラムを実行するステップ、S206はプログラムの終了を判定するステップ、S207は使用する実行ユニットを解析するステップ、S208は使用しない実行ユニットを停止するステップ、S209はプログラムを実行するステップ、S210は全実行ユニットを稼動させるステップである。
【0016】
次に図3のフローチャートを用いて動作について説明する。
スケジューラ103では、入力部1がプログラムコード102を受け付けると、割込み可否判断部2が管理テーブル101の情報を参照してそれぞれのプログラム実行単位について割込み可能モードか否かを判断する(S201)。
割込み可否判断部2は、割込み可能モードであればペンディングされている割込みがあるか否かをチェックし(S202)、割込みがある場合は選択部3が割込み処理を行う実行ユニットを選択し、稼動制御部4が制御信号を出力して割込み処理を担当する実行ユニットに割込み処理を実行させる(S203)。
割込み処理を実行後、プログラム実行単位ごとにプログラム内容を解析し、実行ユニットを選択し(S204)、受け付けたプログラムコード102をプログラム実行単位ごとに実行ユニット105〜107並びにレジスタファイル104を使用して実行する(S205)。
具体的には、選択部3が、プログラム実行単位ごとにプログラム内容を解析し、解析結果に基づいて実行ユニットを選択し、稼動制御部4が選択された実行ユニットに制御信号を出力して各プログラム実行単位について実行処理を行わせる。
次に、プログラム実行後プログラム終了か否かをチェックし(S206)、終了でなければ次のプログラムコード102を受け付ける。
S201で割込み不可モードの場合、選択部3はプログラム実行単位ごとに使用する実行ユニットを解析する(S207)。具体的には、プログラム実行単位に含まれる命令コード、レジスタ番地を解析し、使用する実行ユニットとレジスタを選択する。
選択結果から稼動制御部4は、制御信号108を用いて使用しない実行ユニットやレジスタを停止させる(S208)。停止させる方法は特定しないが、例えばクロックの供給を停止する、又は電力の供給を停止するといった方法でもよい。
さらに、S209で、稼動制御部4は、選択された実行ユニットに制御信号108を出力して各プログラム実行単位ごとにプログラムの実行を開始させる。
また、稼動制御部4は、各プログラム実行単位ごとにプログラムが実行された後、制御信号108を使用して停止していた実行ユニット105〜107やレジスタファイル104を稼動させる(S210)。
プログラム実行後プログラム終了か否かをチェックし(S206)、終了でなければ次のプログラムコード102を受け付ける。
【0017】
以上のように、スケジューラが使用しない実行ユニットを停止するようにしているので、無駄な電力を消費する必要がなく、システム全体の消費電力を低減することができる。
【0018】
実施の形態2.
以上の実施の形態1では、プログラム実行単位の割込みモードはスケジューリング時固定であるが、次に動的にモードを変更する実施の形態を示す。
図4は、本実施の形態の処理システムの構成を示す構成図である。
図において、図1と同一の符号は同一又は相当の部分を示す。
301は処理待ちのプログラム情報を格納した管理テーブルである。管理テーブル301では、実施の形態1で示した管理テーブル101と比較して、割込み要求の有無の実績を示す項目が追加されている点が異なる。
302は、プログラム実行単位の実行順序を制御するスケジューラである。
【0019】
図5は、本実施の形態に係るスケジューラ302の内部構成を示す図である。
入力部1、割込み可否判断部2、選択部3、稼動制御部4は実施の形態1で示したものと同様である。本実施の形態では、実施の形態1のスケジューラ103に割込み要求監視部5が追加されている構成となっている。
割込み要求監視部5は、各プログラム実行単位ごとにプログラム実行中に割込み要求が発生するか否かを監視し、監視結果を管理テーブル301に書き込む。
【0020】
次に動作について説明する。
スケジューラ302では、入力部1がプログラムコード102を受け付けると、割込み可否判断部2が管理テーブル301の情報を参照して、プログラム実行単位が割込み可能モードか否かを判断する(S201)。その際、割込みモードと割込み有無が異なる場合は、割込み有無の設定にしたがって割込みモードを選択する。前述したように、各プログラム実行単位のプログラムは繰り返し実行されるため、入力部に入力されたプログラムコード102内のプログラム実行単位が過去に実行されたものであれば、管理テーブル301に前回の実行時の割込み要求の有無が記録されている。図4の例では、プログラム実行単位A1は割込みモードが可であるが割込み有無が無なので、割込み不可と判断し、プログラム実行単位A2は割込みモードが不可であるが割込み有無が有なので、割込み可能と判断し、プログラム実行単位A3は割込みモードが不可で割込み有無が無なので、割込み不可と判断する。つまり、割込み有無で有となっていれば割込み可能と判断し、無となっていれば割込み不可と判断する。
次に、割込み可否判断部2により割込み可能と判断された場合は、ペンディングされている割込みがあるか否かをチェックし(S202)、割込みがある場合は割込み処理を実行する(S203)。割込み処理を実行後、使用実行ユニットの解析を行い(S204)、受け付けたプログラムコード102を実行ユニット105〜107並びにレジスタファイル104を使用して実行する(S205)。
ここで、割込み要求監視部5は、実行ユニットによるプログラム実行単位の実行中に割込み要求が発生するか否かを監視し、プログラム実行後、割込み要求の有無を管理テーブル301に書き込む。その後プログラム終了か否かをチェックし(S206)、終了でなければ次のプログラムコード102を受け付ける。
一方、割込み可否判断部2により割込み不可と判断された場合、選択部3がプログラム実行単位ごとに使用する実行ユニットを解析する(S207)。具体的には、プログラム実行単位に含まれる命令コード、レジスタ番地から使用する実行ユニットとレジスタを選択する。選択結果から稼動制御部4は、制御信号108を用いて使用しない実行ユニットやレジスタを停止させる。
次に稼動制御部4は、選択された実行ユニットに制御信号108を出力して各プログラム実行単位ごとにプログラムの実行を開始させる(S209)。
ここで、割込み要求監視部5は、実行ユニットによるプログラムの実行中に割込み要求が発生するか否かを監視し、プログラム実行後、割込み要求の有無を管理テーブル301に書き込む。
プログラムの実行後、稼動制御部4は、制御信号108を使用して停止していた実行ユニット105〜107やレジスタファイル104を稼動させる(S210)。
その後プログラム終了か否かをチェックし(S206)、終了でなければ次のプログラムコード102を受け付ける。
【0021】
以上のように、管理テーブル301に最新の割込み発生情報を格納するようにしたため、プログラム実行中に実働に即した割込みモードの設定が可能となり、システム性能を低下させることなくシステム全体の消費電力を低減することができる。
【0022】
実施の形態3.
図6は、本実施の形態の処理システムの構成を示す構成図である。
図において、図1と同一の符号は同一又は相当の部分を示す。401はプログラム実行単位の実行順序を制御するスケジューラ、402はタイマの設定値を保持するタイマレジスタ、403はタイマ、404は実行ユニットの稼動/停止を制御する実行ユニット制御部である。
本実施の形態では、スケジューラ401、タイマレジスタ402、タイマ403、実行ユニット制御部404を合わせたものが管理装置に相当する。
【0023】
図7は、本実施の形態に係るスケジューラ401の内部構成を示す図である。
入力部1、割込み可否判断部2、選択部3、は実施の形態1で示したものと同様である。本実施の形態では、実施の形態1で示した稼動制御部4はスケジューラの内部になく、タイマレジスタ402、タイマ403、実行ユニット制御部404が実施の形態1で示した稼動制御部4の役割を果たす。
また、本実施の形態では、選択部3は、プログラム実行単位ごとに使用する実行ユニットを決定するだけでなく、実行ユニットにおける稼動時間(実行開始時期、実行終了時期)を設定する。
【0024】
次に動作について説明する。
スケジューラ401では、入力部1がプログラムコード102を受け付けると、割込み可否判断部2が管理テーブル101の情報を参照して、プログラム実行単位が割込み可能モードか否かを判断する(S201)。
割込み可能モードの場合は、実施の形態1で説明した割込み可能モードの処理手順(S202〜S206)と同様の処理を行う。
割込み不可モードの場合、スケジューラ401の選択部3はプログラム実行単位ごとに使用する実行ユニットを解析する(S207)。具体的には、プログラム実行単位に含まれる命令コード、レジスタ番地から使用する実行ユニットとレジスタを選択する。また、選択部3は、各プログラム実行単位の実行の際に使用する実行ユニットの稼動時間(実行開始時期と実行終了時期)をタイマレジスタ402に設定する。
設定される時間は、タイマ403が起動されてから実行ユニットが稼動する相対時間である。実行ユニット制御部404は、タイマレジスタ402とタイマ403の値にしたがって該当する実行ユニット105〜107とレジスタファイル104の稼動/停止を制御する(S209)。すなわち、実行ユニット制御部404は、実行開始時期に、該当する実行ユニットにプログラム実行処理の開始を指示する制御信号を出力し、実行終了時期に、該当する実行ユニットに稼動停止を指示する制御信号を出力して稼動を停止させる。また、実施の形態1で示したのと同様に、実行ユニット制御部404はプログラム実行単位の実行に先立ち、又は実行と同時に、プログラム実行単位の実行に使用しない実行ユニット及びレジスタファイルに制御信号を出力して、これら実行ユニット、レジスタファイルの稼動を停止させておく(S208)。
その後、プログラムの実行後(S209)、全実行ユニットを稼動させた後(S210)、プログラム終了か否かをチェックし(S206)、終了でなければ次のプログラムコード102を受け付ける。
【0025】
以上のように、スケジューラ401が各実行ユニットの稼動/停止時間を設定し、実行ユニット制御部404が同設定値にしたがって実行ユニットを制御するようにしているので、使用しない実行ユニットを停止でき、システム全体の消費電力低減できる。
【0026】
実施の形態4.
図8は本実施の形態の処理システムの構成を示す構成図である。
図において、図1及び図6と同一の符号は同一又は相当の部分を示す。501はプログラム実行単位の実行順序を制御するスケジューラ、502は実行ユニット制御部の設定値を保持する設定レジスタである。
本実施の形態では、スケジューラ501、設定レジスタ502、実行ユニット制御部404を合わせたものが管理装置に相当する。
【0027】
図9は、本実施の形態に係るスケジューラ501の内部構成を示す図である。
入力部1、割込み可否判断部2、選択部3は実施の形態1で示したものと同様である。但し、選択部3は、プログラム実行単位ごとに使用する実行ユニットを決定するだけでなく、実行ユニットにおける稼動時間(実行開始時期、実行終了時期)を設定する。
また、6はタイマレジスタであり、7はタイマである。タイマレジスタ6は、選択部3により設定された稼動時間(実行開始時期、実行終了時期)を記憶する。
また、本実施の形態では、実施の形態1で示した稼動制御部4はスケジューラの内部になく、設定レジスタ502、実行ユニット制御部404が実施の形態1で示した稼動制御部4の役割を果たす。
【0028】
次に動作について説明する。
スケジューラ501では、入力部1がプログラムコード102を受け付けると、割込み可否判断部2が管理テーブル101の情報を参照して、プログラム実行単位が割込み可能モードか否かを判断する(S201)。
割込み可能モードの場合は、実施の形態1で説明した割込み可能モードの処理手順(S202〜S206)と同様の処理を行う。
割込み不可モードの場合、スケジューラ401の選択部3はプログラム実行単位ごとに使用する実行ユニットを解析する(S207)。具体的には、プログラム実行単位に含まれる命令コード、レジスタ番地から使用する実行ユニットとレジスタを選択する。また、選択部3は、各プログラム実行単位の実行の際に使用する実行ユニットの稼動時間(実行開始時期と実行終了時期)をタイマレジスタ6に設定する。
その後、選択部3は、タイマレジスタ6とタイマ7の値に従い、実行開始時期になると、設定レジスタ502に実行開始を指示する値(開始指示)を設定する。設定する値は、使用する実行ユニットを示す値及びその実行ユニットの稼動状態を示す値である。
実行ユニット制御部404は、設定レジスタ502の値にしたがって該当する実行ユニット105〜107とレジスタファイル104の稼動を制御する。
また、選択部3は、タイマレジスタ6とタイマ7の値に従い、実行終了時期になると、設定レジスタ502に稼動停止を指示する値(停止指示)を設定する。設定する値は、稼動を停止する実行ユニットを示す値及びその実行ユニットの稼動停止状態を示す値である。
実行ユニット制御部404は、設定レジスタ502の値にしたがって該当する実行ユニット105〜107とレジスタファイル104の稼動停止を制御する。プログラムの実行後(S209)、プログラム終了か否かをチェックし(S206)、終了でなければ次のプログラムコード102を受け付ける。
【0029】
以上のように、スケジューラ501が各実行ユニットの稼動/停止時間を設定し、実行ユニット制御部503が同設定値にしたがって実行ユニットを制御するようにしているので、使用しない実行ユニットを停止でき、システム全体の消費電力低減できる。
【0030】
以上の実施の形態1〜4では、本発明に係る管理装置について説明したが、実施の形態1〜4に示した処理と同様の処理を行うことにより、本発明に係る管理方法も実現することができる。
【0031】
ここで、実施の形態1〜4で示した処理システムの特徴を再言する。
【0032】
実施の形態1に係る処理システムは、プログラム実行単位を割込み可能モードと割込み不可モードにスケジューリングするスケジューラを備えた処理システムにおいて、割込み不可モード内にスケジューリングされたプログラム実行単位が使用する実行ユニットを解析し、同解析結果に従って各プログラム実行単位が使用していない実行ユニットを停止させるスケジューラを備えることを特徴とする。
【0033】
実施の形態2に係る処理システムは、プログラム実行中に、各プログラム実行単位の開始/完了と割込みの発生を監視し、同監視手段の結果に基づいてプログラム実行単位毎のモードへのスケジューリングを変更するスケジューラを備えることを特徴とする。
【0034】
実施の形態3に係る処理システムは、タイマ値に従って各実行ユニットの稼動/停止を制御する制御手段と、割込み不可モードで実行するプログラム実行単位の処理時間と割込み不可モード開始から各実行単位が使用する実行ユニットの稼動/停止時間を算出しタイマに設定する手段とを備えることを特徴とする。
【0035】
実施の形態4に係る処理システムは、各実行ユニットの稼動/停止を直接制御するレジスタと、プログラム実行単位を実行する際に実行ユニットを稼動し処理完了の際に実行ユニットの稼動を停止させるために同レジスタに設定値を設定する手段を備えることを特徴とする。
【0036】
【発明の効果】
以上のように、本発明によれば、割込み可否の判断にしたがって選択プログラム実行装置以外のプログラム実行装置の稼動を停止させるため、システム全体の消費電力が低減できるという効果がある。
【0037】
また、本発明によれば、プログラム実行時の割込み要求発生の有無を割込み可否の判断に反映することにより、プログラム実行の実働に沿った割込み可否の判断を行うことができ、システム性能を低下させることなく消費電力低減できるという効果がある。
【0038】
また、本発明によれば、選択プログラム実行装置による実行対象プログラムの実行開始時期と実行終了時期を決定し、実行開始時期に実行対象プログラムの実行を開始させ、実行終了時期に選択プログラム実行装置の稼動を停止させるため、選択プログラム実行装置の稼動においても消費電力の節約を図れるため、システム全体の消費電力を低減できるという効果がある。
【図面の簡単な説明】
【図1】 実施の形態1に係る処理システムの構成を示す図。
【図2】 実施の形態1に係るスケジューラの内部構成を示す図。
【図3】 実施の形態1に係るスケジューラ等の処理を示すフローチャート図。
【図4】 実施の形態2に係る処理システムの構成を示す図。
【図5】 実施の形態2に係るスケジューラの内部構成を示す図。
【図6】 実施の形態3に係る処理システムの構成を示す図。
【図7】 実施の形態3に係るスケジューラの内部構成を示す図。
【図8】 実施の形態4に係る処理システムの構成を示す図。
【図9】 実施の形態4に係るスケジューラの内部構成を示す図。
【図10】 従来の処理システムの構成を示す図。
【符号の説明】
1 入力部、2 割込み可否判断部、3 選択部、4 稼動制御部、5 割込み要求監視部、6 タイマレジスタ、7 タイマ、101 管理テーブル、102 プログラムコード、103 スケジューラ、104 レジスタファイル、105 実行ユニット、106 実行ユニット、107 実行ユニット、108 制御信号、301 管理テーブル、302 スケジューラ、401 スケジューラ、402 タイマレジスタ、403 タイマ、404 実行ユニット制御部、501 スケジューラ、502 設定レジスタ。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a processing system that executes a program while suppressing power consumption of the system without reducing the processing speed of the system.
[0002]
[Prior art]
FIG. 10 is a block diagram described in, for example, Japanese Patent Laid-Open No. 7-141074.
In the figure, 601 is a semiconductor integrated circuit, 602 is a power control unit that distributes the power received at the
[0003]
Next, the operation will be described.
The
[0004]
[Problems to be solved by the invention]
A conventional processing system includes a circuit for reducing power consumption, but a processing procedure for controlling the circuit is not specified.
[0005]
An object of the present invention is to reduce power consumption without reducing the processing speed of a system by controlling a circuit for reducing power consumption with a scheduler.
[0006]
[Means for Solving the Problems]
The management device according to the present invention is:
A management device connected to a plurality of program execution devices and managing the plurality of program execution devices,
An input unit for inputting an execution target program to be executed by the program execution device;
An interrupt enable / disable determining unit that determines whether an interrupt during execution of the execution target program is possible;
A selection unit that selects a program execution device that executes the execution target program as a selection program execution device from the plurality of program execution devices;
When the selected program execution device starts execution of the execution target program and the interrupt availability determination unit determines that the execution target program cannot be interrupted, operation of a program execution device other than the selected program execution device And an operation control unit for stopping the operation.
[0007]
The operation control unit does not stop the operation of a program execution device other than the selected program execution device when the interrupt possibility determination unit determines that the execution target program can be interrupted.
[0008]
The management device manages a plurality of register devices used by the plurality of program execution devices during program execution,
The selection unit selects the selection program execution device, and selects a register device used by the selection program execution device as a selection register device from the plurality of register devices,
The operation control unit stops operation of a register device other than the selected register device when the interrupt enable / disable determining unit determines that an interrupt is impossible.
[0009]
The management device further includes an interrupt request detection unit that monitors an execution status of the execution target program by the selected program execution device and detects an interrupt request generated during execution of the execution target program,
When the execution target program is input again by the input unit after execution by the selected program execution device, the interrupt availability determination unit detects an interrupt request by the interrupt request detection unit during execution of the execution target program. It is determined whether or not an interruption during execution of the execution target program is possible based on whether or not the execution target program is executed.
[0010]
The selection unit determines an execution start time and an execution end time of the execution target program by the selection program execution device when the interrupt enable / disable determination unit determines that an interrupt is not possible for the execution target program,
The operation control unit causes the selected program execution device to start executing the execution target program at the execution start time, and stops the operation of the selection program execution device at the execution end time.
[0011]
The selection unit determines an execution start time and an execution end time of the execution target program by the selected program execution device when the interrupt enable / disable determination unit determines that an interrupt is not possible for the execution target program, and the execution start At the time, a start instruction for instructing execution start of the execution target program by the selected program execution device is output, and at the execution end time, a stop instruction for instructing operation stop of the selected program execution device is output,
The operation control unit causes the selection program execution device to start executing the execution target program according to the start instruction, and stops the operation of the selection program execution device according to the stop instruction.
[0012]
The management method according to the present invention includes:
A management method for managing a plurality of program execution devices,
An input step for inputting an execution target program to be executed by the program execution device;
An interrupt enable / disable determining step for determining whether an interrupt during execution of the execution target program is possible;
A selection step of selecting a program execution device that executes the execution target program as a selection program execution device from among the plurality of program execution devices, and causing the selection program execution device to start executing the execution target program, An operation control step for stopping the operation of a program execution device other than the selected program execution device when it is determined in the interruption availability determination step that the execution target program is not interruptible.
[0013]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a configuration diagram showing the configuration of the processing system of the present embodiment.
In the figure, 101 is a management table storing program information waiting to be processed, 102 is a program code to be executed, 103 is a scheduler that controls the execution order of program execution units, and 104 is a register file that stores data used for arithmetic processing ( Register groups) 105 to 107 are execution units (for example, an adder and a multiplier) for executing the program code, and 108 is a control signal for controlling operation / stop of each execution unit.
The management table 101 stores a program execution unit to be scheduled, a program including the program execution unit, and an interrupt mode when executing the program execution unit.
The program for each program execution unit is repeatedly executed, and the
Here, the
The
[0014]
FIG. 2 is a diagram illustrating an internal configuration of the
In the figure,
[0015]
FIG. 3 is a flowchart showing the operation of the
In the figure, S201 is a step for determining whether or not it is an interruptible mode, S202 is a step for determining whether or not there is a pending interrupt, S203 is a step for executing interrupt processing, and S204 is an analysis of an execution unit to be used. S205 is a step of executing the program, S206 is a step of determining the end of the program, S207 is a step of analyzing the execution unit to be used, S208 is a step of stopping the execution unit that is not used, and S209 is a step of executing the program S210 is a step of operating all execution units.
[0016]
Next, the operation will be described with reference to the flowchart of FIG.
In the
In the interrupt enable mode, the interrupt enable / disable
After executing the interrupt processing, the program contents are analyzed for each program execution unit, an execution unit is selected (S204), and the received
More specifically, the
Next, it is checked whether or not the program is finished after the program is executed (S206). If the program is not finished, the
In the case of the interrupt disabled mode in S201, the
From the selection result, the
Furthermore, in S209, the
Further, after the program is executed for each program execution unit, the
After the program execution, it is checked whether or not the program is finished (S206). If the program is not finished, the
[0017]
As described above, since the execution units not used by the scheduler are stopped, it is not necessary to consume useless power, and the power consumption of the entire system can be reduced.
[0018]
In the first embodiment described above, the interrupt mode of the program execution unit is fixed at the time of scheduling. Next, an embodiment in which the mode is dynamically changed will be described.
FIG. 4 is a configuration diagram showing the configuration of the processing system of the present embodiment.
In the figure, the same reference numerals as those in FIG. 1 denote the same or corresponding parts.
A management table 301 stores program information waiting for processing. The management table 301 is different from the management table 101 shown in the first embodiment in that an item indicating the presence / absence of an interrupt request is added.
A
[0019]
FIG. 5 is a diagram showing an internal configuration of the
The
The interrupt
[0020]
Next, the operation will be described.
In the
Next, when it is determined by the interrupt enable / disable determining
Here, the interrupt
On the other hand, when it is determined by the interrupt enable / disable determining
Next, the
Here, the interrupt
After executing the program, the
Thereafter, it is checked whether or not the program is finished (S206). If it is not finished, the
[0021]
As described above, since the latest interrupt occurrence information is stored in the management table 301, it is possible to set an interrupt mode according to actual operation during program execution, and to reduce the power consumption of the entire system without degrading the system performance. Can be reduced.
[0022]
FIG. 6 is a configuration diagram showing the configuration of the processing system of the present embodiment.
In the figure, the same reference numerals as those in FIG. 1 denote the same or corresponding parts. 401 is a scheduler that controls the execution order of program execution units, 402 is a timer register that holds a set value of a timer, 403 is a timer, and 404 is an execution unit control unit that controls operation / stop of an execution unit.
In the present embodiment, a combination of the
[0023]
FIG. 7 is a diagram showing an internal configuration of the
The
In the present embodiment, the
[0024]
Next, the operation will be described.
In the
In the case of the interruptible mode, the same processing as the processing procedure (S202 to S206) of the interruptable mode described in the first embodiment is performed.
In the interrupt disabled mode, the
The set time is a relative time during which the execution unit operates after the
Thereafter, after the execution of the program (S209), after all the execution units are operated (S210), it is checked whether or not the program is finished (S206). If it is not finished, the
[0025]
As described above, the
[0026]
FIG. 8 is a configuration diagram showing the configuration of the processing system of the present embodiment.
In the figure, the same reference numerals as those in FIGS. 1 and 6 denote the same or corresponding parts.
In this embodiment, a combination of the
[0027]
FIG. 9 is a diagram showing an internal configuration of the
The
6 is a timer register, and 7 is a timer. The
Further, in the present embodiment, the
[0028]
Next, the operation will be described.
In the
In the case of the interruptible mode, the same processing as the processing procedure (S202 to S206) of the interruptable mode described in the first embodiment is performed.
In the interrupt disabled mode, the
Thereafter, the
The execution
Further, the
The execution
[0029]
As described above, the
[0030]
In the above first to fourth embodiments, the management apparatus according to the present invention has been described. However, the management method according to the present invention is also realized by performing the same processing as the processing described in the first to fourth embodiments. Can do.
[0031]
Here, the characteristics of the processing system shown in the first to fourth embodiments will be described again.
[0032]
The processing system according to the first embodiment analyzes an execution unit used by a program execution unit scheduled in the interrupt disable mode in a processing system including a scheduler that schedules a program execution unit in an interrupt enable mode and an interrupt disable mode. And a scheduler for stopping execution units not used by each program execution unit according to the analysis result.
[0033]
The processing system according to the second embodiment monitors the start / completion of each program execution unit and the occurrence of an interrupt during program execution, and changes the scheduling to the mode for each program execution unit based on the result of the monitoring means It is characterized by having a scheduler which performs.
[0034]
The processing system according to the third embodiment uses a control unit that controls the operation / stop of each execution unit according to a timer value, the processing time of the program execution unit executed in the interrupt disabled mode, and the execution unit used from the start of the interrupt disabled mode. Means for calculating an operation / stop time of the execution unit to be set and setting it in a timer.
[0035]
The processing system according to the fourth embodiment has a register that directly controls the operation / stop of each execution unit, and operates the execution unit when executing the program execution unit, and stops the operation of the execution unit when the processing is completed. And a means for setting a set value in the register.
[0036]
【The invention's effect】
As described above, according to the present invention, since the operation of the program execution devices other than the selected program execution device is stopped according to the determination of whether interrupt is possible, there is an effect that the power consumption of the entire system can be reduced.
[0037]
In addition, according to the present invention, it is possible to determine whether or not an interrupt is possible in accordance with the actual execution of program execution by reflecting the presence or absence of an interrupt request during program execution in the determination of whether or not interrupt is possible, thereby reducing system performance. There is an effect that power consumption can be reduced without any problems.
[0038]
Further, according to the present invention, the execution start time and the execution end time of the execution target program by the selection program execution device are determined, the execution of the execution target program is started at the execution start time, and the execution of the selection program execution device at the execution end time. Since the operation is stopped, the power consumption can be saved even in the operation of the selected program execution device, so that the power consumption of the entire system can be reduced.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a processing system according to a first embodiment.
FIG. 2 is a diagram showing an internal configuration of a scheduler according to the first embodiment.
FIG. 3 is a flowchart showing processing of a scheduler and the like according to the first embodiment.
FIG. 4 is a diagram showing a configuration of a processing system according to a second embodiment.
5 is a diagram showing an internal configuration of a scheduler according to
FIG. 6 is a diagram showing a configuration of a processing system according to a third embodiment.
7 is a diagram showing an internal configuration of a scheduler according to
FIG. 8 is a diagram showing a configuration of a processing system according to a fourth embodiment.
FIG. 9 is a diagram showing an internal configuration of a scheduler according to the fourth embodiment.
FIG. 10 is a diagram showing a configuration of a conventional processing system.
[Explanation of symbols]
1 input unit, 2 interrupt enable / disable determination unit, 3 selection unit, 4 operation control unit, 5 interrupt request monitoring unit, 6 timer register, 7 timer, 101 management table, 102 program code, 103 scheduler, 104 register file, 105 execution unit , 106 execution unit, 107 execution unit, 108 control signal, 301 management table, 302 scheduler, 401 scheduler, 402 timer register, 403 timer, 404 execution unit control unit, 501 scheduler, 502 setting register.
Claims (7)
プログラム実行装置によるプログラム実行の対象となる実行対象プログラムを入力する入力部と、
前記実行対象プログラムの実行中に他のプログラムの割込みが可能か否かを判断する割込み可否判断部と、
前記複数のプログラム実行装置の中から、前記実行対象プログラムを実行するプログラム実行装置を選択プログラム実行装置として選択する選択部と、
前記選択プログラム実行装置に前記実行対象プログラムの実行を開始させるとともに、前記割込み可否判断部が前記実行対象プログラムについて他のプログラムの割込みが不可と判断した場合に、前記選択プログラム実行装置以外の他のプログラム実行装置の稼動を停止させる稼動制御部とを有することを特徴とする管理装置。A management device connected to a plurality of program execution devices and managing the plurality of program execution devices,
An input unit for inputting an execution target program to be executed by the program execution device;
An interrupt enable / disable determining unit that determines whether an interrupt of another program is possible during execution of the execution target program;
A selection unit that selects a program execution device that executes the execution target program as a selection program execution device from the plurality of program execution devices;
When the selected program execution device starts execution of the execution target program and the interrupt availability determination unit determines that interruption of another program is not possible for the execution target program, other than the selected program execution device A management apparatus comprising: an operation control unit that stops operation of the program execution apparatus.
前記選択部は、前記選択プログラム実行装置を選択するとともに、前記複数のレジスタ装置の中から、前記選択プログラム実行装置が使用するレジスタ装置を選択レジスタ装置として選択し、
前記稼動制御部は、前記割込み可否判断部により前記実行対象プログラムについて他のプログラムの割込みが不可と判断された場合に、前記選択レジスタ装置以外の他のレジスタ装置の稼動を停止させることを特徴とする請求項1に記載の管理装置。The management device manages a plurality of register devices used by the plurality of program execution devices during program execution,
The selection unit selects the selection program execution device, and selects a register device used by the selection program execution device as a selection register device from the plurality of register devices,
The operation control unit is configured to stop the operation of another register device other than the selected register device when the interrupt enable / disable determining unit determines that an interrupt of another program is not possible for the execution target program. The management device according to claim 1.
前記選択プログラム実行装置による実行後に前記実行対象プログラムが再度前記入力部により入力された場合に、前記割込み可否判断部は、前記実行対象プログラムの実行中に前記割込み要求検出部により割込み要求が検出されたか否かに基づき前記実行対象プログラムの実行中の他のプログラムの割込みが可能か否かを判断することを特徴とする請求項1に記載の管理装置。The management device further includes an interrupt request detection unit that monitors an execution status of the execution target program by the selected program execution device and detects an interrupt request generated during execution of the execution target program,
When the execution target program is input again by the input unit after execution by the selected program execution device, the interrupt availability determination unit detects an interrupt request by the interrupt request detection unit during execution of the execution target program. The management apparatus according to claim 1, wherein it is determined whether interruption of another program being executed on the execution target program is possible based on whether the execution target program is executed.
前記稼動制御部は、前記実行開始時期に前記選択プログラム実行装置に前記実行対象プログラムの実行を開始させ、前記実行終了時期に前記選択プログラム実行装置の稼動を停止させることを特徴とする請求項1に記載の管理装置。The selection unit determines an execution start time and an execution end time of the execution target program by the selected program execution device when the interrupt enable / disable determination unit determines that another program can not interrupt the execution target program. ,
The operation control unit causes the selected program execution device to start executing the execution target program at the execution start time and stops the operation of the selection program execution device at the execution end time. The management apparatus as described in.
前記稼動制御部は、前記開始指示に従って前記選択プログラム実行装置に前記実行対象プログラムの実行を開始させ、前記停止指示に従って前記選択プログラム実行装置の稼動を停止させることを特徴とする請求項1に記載の管理装置。The selection unit determines an execution start time and an execution end time of the execution target program by the selected program execution device when the interrupt enable / disable determination unit determines that another program can not interrupt the execution target program. Then, at the execution start time, a start instruction for instructing execution start of the execution target program by the selected program execution device is output, and at the execution end time, a stop instruction for instructing operation stop of the selected program execution device is output. Output,
The operation control unit causes the selection program execution device to start executing the execution target program according to the start instruction, and stops the operation of the selection program execution device according to the stop instruction. Management device.
プログラム実行装置によるプログラム実行の対象となる実行対象プログラムを入力する入力ステップと、
前記実行対象プログラムの実行中に他のプログラムの割込みが可能か否かを判断する割込み可否判断ステップと、
前記複数のプログラム実行装置の中から、前記実行対象プログラムを実行するプログラム実行装置を選択プログラム実行装置として選択する選択ステップと、
前記選択プログラム実行装置に前記実行対象プログラムの実行を開始させるとともに、前記割込み可否判断ステップにより前記実行対象プログラムについて他のプログラムの割込みが不可と判断された場合に、前記選択プログラム実行装置以外の他のプログラム実行装置の稼動を停止させる稼動制御ステップとを有することを特徴とする管理方法。A management method for managing a plurality of program execution devices,
An input step for inputting an execution target program to be executed by the program execution device;
An interrupt enable / disable determination step for determining whether interrupt of another program is possible during execution of the execution target program;
A selection step of selecting, as a selection program execution device, a program execution device that executes the execution target program from among the plurality of program execution devices;
When the selected program execution device starts execution of the execution target program, and it is determined by the interrupt enable / disable determination step that interruption of another program is not possible for the execution target program, other than the selected program execution device And an operation control step for stopping the operation of the program execution apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001363898A JP3910422B2 (en) | 2001-11-29 | 2001-11-29 | Management apparatus and management method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001363898A JP3910422B2 (en) | 2001-11-29 | 2001-11-29 | Management apparatus and management method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003167750A JP2003167750A (en) | 2003-06-13 |
JP3910422B2 true JP3910422B2 (en) | 2007-04-25 |
Family
ID=19174159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001363898A Expired - Fee Related JP3910422B2 (en) | 2001-11-29 | 2001-11-29 | Management apparatus and management method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3910422B2 (en) |
-
2001
- 2001-11-29 JP JP2001363898A patent/JP3910422B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003167750A (en) | 2003-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3507822B2 (en) | Computer device and power saving control method thereof | |
US6820155B1 (en) | Interruption managing device and interruption managing method | |
KR0177536B1 (en) | Information processing apparatus, processing method thereof, and power supply control method therefor | |
KR950005217B1 (en) | Clock signal control method and data processing system | |
KR100746797B1 (en) | Processor and information processing method | |
US7346791B2 (en) | Method for controlling a clock frequency of an information processor in accordance with the detection of a start and a end of a specific processing section | |
US20080307248A1 (en) | Cpu Clock Control Device, Cpu Clock Control Method, Cpu Clock Control Program, Recording Medium, and Transmission Medium | |
JP2000047872A (en) | Microprocessor equipped with low-power-consumption operating function | |
US20110016247A1 (en) | Multiprocessor system and multiprocessor system interrupt control method | |
JP4609113B2 (en) | Processor | |
JP2007164421A (en) | Parallel processors, parallel processing method and parallel processing program | |
JP3910422B2 (en) | Management apparatus and management method | |
US20050066093A1 (en) | Real-time processor system and control method | |
JP2008225641A (en) | Computer system, interrupt control method and program | |
US20100107169A1 (en) | Periodical task execution apparatus, periodical task execution method, and storage medium | |
CN114556120A (en) | Method, arrangement and computer program product for organizing the excitation of a processing path for testing microcircuits | |
JP3830133B2 (en) | Power control apparatus and method, and power control program | |
JP3027526B2 (en) | Job scheduling method | |
EP1341092A1 (en) | Method and arrangement for virtual direct memory access | |
JPS6368934A (en) | Task scheduing system | |
JP2001147821A (en) | Processor | |
JPH08137703A (en) | Task switching device | |
JP2002312302A (en) | Peripheral device | |
JP4535663B2 (en) | State machine control method and state machine | |
JPS59146387A (en) | Stack control system of multiprocessing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040518 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040924 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041019 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061024 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061130 |
|
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: 20070123 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070124 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100202 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110202 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |