JP5484281B2 - 情報処理システム - Google Patents
情報処理システム Download PDFInfo
- Publication number
- JP5484281B2 JP5484281B2 JP2010211130A JP2010211130A JP5484281B2 JP 5484281 B2 JP5484281 B2 JP 5484281B2 JP 2010211130 A JP2010211130 A JP 2010211130A JP 2010211130 A JP2010211130 A JP 2010211130A JP 5484281 B2 JP5484281 B2 JP 5484281B2
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- information processing
- processing program
- unit
- control information
- 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
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
しかしながら、高性能を実現できるプロセッサは動作周波数が高く、消費電力が大きくなり、プロセッサにおける発熱量も大きくなる。
そして、プロセッサの発熱量が許容値を超えると、誤動作や故障につながる為、動作周波数を落として消費電力を下げて対策せざるを得ず、目標性能を達成できないという問題がある。
異なる範囲のアドレスに割り当てられる複数の副情報処理プログラムから構成される情報処理プログラムを実行し、実行中のアドレスを示す実行アドレスを出力する命令実行部と、
前記命令実行部が前記情報処理プログラム実行中にアクセスし、前記情報処理プログラムが使用する情報を一時的に記憶するキャッシュメモリと、
前記命令実行部が出力した実行アドレスを受け取り、前記実行アドレスを通知する実行アドレス通知部と、
前記複数の副情報処理プログラムの各副情報処理プログラムに対応して、前記キャッシュメモリの制御を行う為の情報であるキャッシュメモリ制御情報を記憶するキャッシュメモリ制御情報テーブルと、
前記実行アドレス通知部が通知した実行アドレスから、前記命令実行部が実行している副情報処理プログラムを判定し、判定された副情報処理プログラムに対応するキャッシュメモリ制御情報を前記キャッシュメモリ制御情報テーブルから読み取り、前記キャッシュメモリ制御情報を基に前記キャッシュメモリを制御するキャッシュメモリ制御部と
を備えたことを特徴とする。
例えば、FA(ファクトリー・オートメーション)で利用される情報処理システムを想定して、本実施の形態の概要を以下に説明する。
例えば、FAで利用される情報処理システム500は、外部からのデータ入力と外部へのデータ出力を行う入出力部504と、入出力部504の制御を行う入出力制御部503と、入出力部504からの入力データを基に演算を行い、演算結果を出力するCPU(セントラル・プロセッシング・ユニット、中央演算処理装置)501と、CPU501の演算結果等を記憶する主記憶部502とで構成される。
そして、CPU501は、本実施の形態の構成となっている。
FAで利用される情報処理システム500が実行する情報処理プログラム550は、図2に示すように1つの情報処理プログラム550が例えば5つの副情報処理プログラム1〜5 551a〜eから構成されている。情報処理システム500は、情報処理プログラム550開始時に初期化処理553を実施後、副情報処理プログラム1〜5 551a〜eを実施する。
副情報処理プログラム1〜5 551a〜eは、CPU501において、それぞれ異なる範囲のアドレスに割り振られる。すなわち副情報処理プログラム1〜5 551a〜eはそれぞれ異なる実行開始アドレスと実行終了終了アドレスを持つ。ここで実行開始アドレスとは副情報処理プログラムの実行を開始するアドレス(副情報処理プログラムが割り振られた先頭のアドレス)であり、実行終了アドレスとは副情報処理プログラムの実行を終了するアドレス(副情報処理プログラムが割り振られた後尾のアドレス)である。
ここで、本実施の形態では副情報処理プログラムの数を5つとして説明しているが、この例に限定されるものではない。1つの情報処理プログラムが複数の副情報処理プログラムから構成されている全ての場合に本実施の形態は有効である。
そして、情報処理プログラム550の終了条件を満たすまで、情報処理システム500は、この複数の副情報処理プログラム1〜5 551a〜eから構成された部分(副情報処理プログラムループ処理552)を繰り返し行うものが多い。
図3に示す初期化処理553は、図2に示す初期化処理553に対応している。また、図3に示すループ処理1周目552aは、図2に示す副情報処理プログラム1〜5 551a〜eの1周目の副情報処理プログラムループ処理552を示し、図3に示すループ処理N周目552bは、図2に示す副情報処理プログラム1〜5 551a〜eの2周目以降の副情報処理プログラムループ処理552を示す。
情報処理システム500で使用するCPU501は、キャッシュメモリ141、命令実行部101、実行アドレス通知部111、キャッシュメモリ制御情報テーブル121、キャッシュメモリヒット率閾値記憶部122、キャッシュメモリ使用判定部123、ライト制御判定部124、キャッシュメモリヒット率計算部125、キャッシュメモリ制御部131、メモリアクセス制御部151を備える。そして、メモリアクセス制御部151は、キャッシュメモリアクセス数カウント部152とキャッシュメモリヒット数カウント部153とを備える。
演算などの命令を実行する命令実行部101は、演算に必要なデータや命令などの情報を記憶部から呼び出さなくてはならない。しかし、主記憶部502は、命令実行部101からの情報呼び出し命令が有ってから、実際に情報が呼び出されるまでのアクセス時間が長い。その為に情報処理システム500の情報処理の速度は、低下する。
そこで、命令実行部101からの情報呼び出し命令が有ってから、実際に情報が呼び出されるまでのアクセス時間が短い記憶部であるキャッシュメモリ141をCPU501は、CPU501の内部に備える。そして、命令実行部101は、メモリアクセス制御部151を介して、キャッシュメモリ141に使用頻度の高い情報を書き込み、蓄積しておく。その結果、命令実行部101は、主記憶部502へのアクセスを減らす。その為に情報処理システム500の情報処理の速度は、向上する。
そして、命令実行部101がキャッシュメモリ141にアクセスして必要な情報を呼び出すことが出来たことをヒットといい、命令実行部101がキャッシュメモリ141にアクセスした回数に対するヒットの回数の比率を、キャッシュメモリヒット率という。
同じく、キャッシュメモリヒット数カウント部153は、キャッシュメモリ141におけるヒットの回数であるキャッシュメモリヒット数を測定し記憶する。
そして、キャッシュメモリヒット率計算部125は、キャッシュメモリヒット数とキャッシュメモリアクセス数の比率(キャッシュメモリヒット数÷キャッシュメモリアクセス数)を計算し、副情報処理プログラム毎のキャッシュメモリヒット率を導出する。
キャッシュメモリ使用判定部123は、キャッシュメモリヒット率閾値記憶部122が記憶しているキャッシュメモリヒット率閾値と、キャッシュメモリヒット率計算部125が導出した副情報処理プログラム毎のキャッシュメモリヒット率とを比較する。
本例においては、キャッシュメモリヒット率閾値は一つの値として説明するが、キャッシュメモリヒット率閾値記憶部122は、各副情報処理プログラムに対応した複数のキャッシュメモリヒット率閾値を記憶することも可能である。
そして、キャッシュメモリヒット率がキャッシュメモリヒット率閾値よりも少ない場合に、キャッシュメモリ使用判定部123は、キャッシュメモリ141を使用する必要が無い、すなわちキャッシュメモリ141の電源切断すると判断する。キャッシュメモリ制御情報テーブル121は、この判断結果をキャッシュメモリ制御情報の一部であるキャッシュメモリ電源制御情報として記憶する。
一方、キャッシュメモリヒット率がキャッシュメモリヒット率閾値以上の場合に、キャッシュメモリ使用判定部123は、キャッシュメモリ141を使用する必要が有る、すなわちキャッシュメモリ141の電源投入すると判断する。キャッシュメモリ制御情報テーブル121は、この判断結果をキャッシュメモリ制御情報の一部であるキャッシュメモリ電源制御情報として記憶する。
副情報処理プログラム3〜5 551c〜eも同様である。
すなわち、キャッシュメモリ電源制御情報が電源投入である副情報処理プログラムにおいて、キャッシュメモリ制御部131は、キャッシュメモリ141の電源投入する。そして、キャッシュメモリ電源制御情報が電源切断である副情報処理プログラムにおいて、キャッシュメモリ制御部131は、キャッシュメモリ141の電源切断する。
この主記憶部502に情報を書き込む方法には、ライトバック方式とライトスルー方式の2種類がある。
まず、ライトバック方式について説明する。命令実行部101は、主記憶部502の情報領域の内、命令実行部101が処理に用いる領域の情報を、メモリアクセス制御部151を介して、キャッシュメモリ141に書き込む。また、命令実行部101は、プログラム処理中に新規情報が生じた場合に、メモリアクセス制御部151を介して、キャッシュメモリ141に新規情報を書き込み、キャッシュメモリ141の情報を更新する。
そして、命令実行部101は、メモリアクセス制御部を介して、キャッシュメモリ141が記憶している情報が更新されている場合に、キャッシュメモリ141が記憶している情報を所定のタイミングで主記憶部502に書き込む(書き戻す)。ここで所定のタイミングとは、メモリアクセス制御部151が、キャッシュメモリ141が記憶していた情報に対応する主記憶部502の領域とは異なる主記憶部502の領域の情報をキャッシュメモリ141の情報に置き換えるタイミングである。
その為に、ライトバック方式は、主記憶部502へのアクセスが少ないためシステム性能が向上するという長所が有るが、書き戻しのタイミングが来るまでキャッシュメモリ141に記憶された新規情報は主記憶部502に書き込まれない。そして、書き戻しのタイミングが来ないまま、キャッシュメモリ141の電源切断になった場合、キャッシュメモリ141に記憶された新規情報は主記憶部502には記憶されない。
次に、ライトスルー方式について説明する。命令実行部101は、新規情報の書き込みを行う際に、メモリアクセス制御部151を介して、キャッシュメモリ141と主記憶部502との両方に新規情報を書き込む。その為に、ライトスルー方式は、キャッシュメモリ141と主記憶部502との間で情報が常に一致するという長所が有る。すなわち、急にキャッシュメモリ141の電源切断されても、キャッシュメモリ141に記憶された情報は主記憶部502にも記憶される。ただし、ライトスルー方式は、主記憶部502へのアクセスが増えるためシステム性能が低下する。
本例において、キャッシュメモリを制御する情報であるキャッシュメモリ制御情報は、副情報処理プログラム名、実行開始アドレス、実行終了アドレス、キャッシュメモリ電源制御情報、ライトバック/ライトスルー制御情報で構成されている。
本例では、副情報処理プログラムは、副情報処理プログラム1〜5 551a〜eの5つの場合である。
図2または図3に示す初期化処理553において、情報処理プログラム550に従い、命令実行部101は、副情報処理プログラム1〜5 551a〜eの副情報処理プログラム名と実行開始アドレスと実行終了アドレスとを出力する。
キャッシュメモリ制御情報テーブル121は、副情報処理プログラム名フィールド121aに、命令実行部101が出力した副情報処理プログラム1〜5 551a〜eの情報を記憶する。
また、命令実行部101は、出力した各副情報処理プログラムに対応する実行開始アドレスをキャッシュメモリ制御情報テーブル121の実行開始アドレスフィールド121bに記憶させる。同様に、命令実行部101は、出力した各副情報処理プログラムに対応する実行終了アドレスをキャッシュメモリ制御情報テーブル121の実行終了アドレスフィールド121cに記憶させる。ここで実際のアドレスは例えば16進数表記による001Dや、1023A0B1といった数値となるが、本例では説明の為に、単にアドレスという表記を用いている。
また、キャッシュメモリ制御情報テーブル121は、キャッシュメモリ電源制御情報フィールド121dにキャッシュメモリ使用判定部123が出力したキャッシュメモリの電源制御(電源投入もしくは電源切断)情報を記憶する。さらに、キャッシュメモリ制御情報テーブル121は、ライトバック/ライトスルー制御情報フィールド121eにライト制御判定部124が出力したライトバック/ライトスルー制御情報(メモリアクセス制御部151がキャッシュメモリ141の記憶した情報を主記憶部502に書き込む方式であるライトバックもしくはライトスルーの制御情報)を記憶する。
一方、副情報処理プログラム3 551cに対応するキャッシュメモリ電源制御情報が「電源投入」であり、副情報処理プログラム4 551dに対応するキャッシュメモリ電源制御情報が「電源切断」の場合は、副情報処理プログラム3 551c終了時において、キャッシュメモリ141の電源は切断される。その為、キャッシュメモリ141の電源を速やかに切断するには、メモリアクセス制御部151は、キャッシュメモリ141に記憶された情報を副情報処理プログラム3 551cの処理内で(もしくは副情報処理プログラム3 551c終了後短時間で)、主記憶部502に書き込み完了にする必要が有る。よって、副情報処理プログラム3 551cにおける主記憶部502への書き込み方法は、主記憶部502とキャッシュメモリ141それぞれに記憶されている情報の整合性が常にとれている「ライトスルー方式」にする必要が有る。
図3に示すように、情報処理プログラム550の流れを初期化処理553、ループ処理1周目552a、ループ処理N周目552bに分けて説明する。
初期化処理553において、情報処理プログラム550に従い、命令実行部101は、副情報処理プログラム1〜5 551a〜eの副情報処理プログラム名と実行開始アドレスと実行終了アドレスとを出力する。キャッシュメモリ制御情報テーブル121は、副情報処理プログラム名フィールド121aに、命令実行部101が出力した副情報処理プログラム1〜5 551a〜eの情報をキャッシュメモリ制御情報の一部として記憶する。
また、命令実行部101は、出力した各副情報処理プログラムに対応した実行開始アドレスをキャッシュメモリ制御情報の一部として、キャッシュメモリ制御情報テーブル121の実行開始アドレスフィールド121bに記憶させる。同様に、命令実行部101は、出力した各副情報処理プログラムに対応した実行終了アドレスをキャッシュメモリ制御情報の一部として、実行終了アドレスフィールド121cに記憶させる。
キャッシュメモリ使用判定部123は、各副情報処理プログラムに対応したキャッシュメモリ141の電源投入もしくは電源切断の電源制御の判定を行う。
キャッシュメモリ制御情報テーブル121は、その判定結果である各副情報処理プログラムに対応した形のキャッシュメモリ電源制御情報をキャッシュメモリ制御情報の一部として記憶する。
副情報処理プログラム実行中において、命令実行部101は、命令実行部101が実行中の命令のアドレスを示す実行アドレスを出力する。実行アドレス通知部111は、命令実行部101が出力した実行アドレスをキャッシュメモリ制御情報テーブル121とキャッシュメモリ制御部131に通知する。
キャッシュメモリ制御部131は、キャッシュメモリ制御情報テーブル121に記憶された副情報処理プログラム1〜5 551a〜eに対応した実行開始アドレスと実行終了アドレスを参照する。そして、通知された実行アドレスが該当する実行開始アドレスと実行終了アドレスの範囲を確定することで、キャッシュメモリ制御部131は、実行中の副情報処理プログラムを確定することが出来る。
ここで、キャッシュメモリ制御情報テーブル121も能動的にデータ処理や命令出力を行う機能を設けることが可能である。したがって、キャッシュメモリ制御情報テーブル121も、同様の処理で実行中の副情報処理プログラムを確定することが出来る。
図7のS600と図7のS618の「i=1;i≦5;i++」のiは繰り返し回数を示し、1〜5回まで1回ずつ(すなわち計5回)繰り返すことを示す。
実行アドレス通知部111は、実行アドレスをキャッシュメモリ制御部131とキャッシュメモリ制御情報テーブル121に通知する。一方、キャッシュメモリ制御情報テーブル121は、初期化処理553において、副情報処理プログラム1 551aの実行開始アドレス(図6のアドレスa_S)を記憶している。
キャッシュメモリ制御部131もしくはキャッシュメモリ制御情報テーブル121は、副情報処理プログラム1 551aの実行開始アドレス(図6のアドレスa_S)と通知された実行アドレスとを比較する。(図7のS602)
キャッシュメモリ制御情報テーブル121に記憶された副情報処理プログラム1 551aの実行開始アドレス(図6のアドレスa_S)と通知された実行アドレスとが一致するまで、S601〜S602の処理は繰り返される。
そして、実行開始アドレスと通知された実行アドレスとが一致すると、キャッシュメモリ制御部131もしくはキャッシュメモリ制御情報テーブル121は、キャッシュメモリアクセス数カウント部152が記憶しているカウント数(カウンタ)とキャッシュメモリヒット数カウント部153が記憶しているカウント数(カウンタ)とをゼロにする。(図7のS603)
ここで、命令実行部101は、キャッシュメモリ141または主記憶部502にアクセスして、命令実行の際に必要な情報を得る。
その際に、キャッシュメモリアクセス数カウント部152は、命令実行部101が要求したメモリアクセス数を測定(カウント)し、結果を記憶する。キャッシュメモリヒット数カウント部153は、命令実行部101が要求したメモリアクセスが主記憶部502ではなく、キャッシュメモリ141である場合の回数(すなわち、キャッシュメモリ141でヒットした回数であるキャッシュメモリヒット数)を測定(カウント)し、結果を記憶する。(図7のS604)
キャッシュメモリアクセス数カウント部152のカウントとキャッシュメモリヒット数カウント部153のカウントが開始されると、キャッシュメモリ制御部131もしくはキャッシュメモリ制御情報テーブル121は、実行アドレス通知部111が通知する実行アドレスと、キャッシュメモリ制御情報テーブル121に記憶された副情報処理プログラム1 551aの実行終了アドレス(図6のアドレスa_E)とを比較する。(図7のS605〜S606)
そして、実行終了アドレスと通知された実行アドレスとが一致すると、キャッシュメモリ制御部131もしくはキャッシュメモリ制御情報テーブル121は、キャッシュメモリアクセス数カウント部152のカウントとキャッシュメモリヒット数カウント部153のカウントを終了させる。
キャッシュメモリアクセス数カウント部152は、カウントを終了し、キャッシュメモリアクセス数をキャッシュメモリヒット率計算部125に通知する。
キャッシュメモリヒット数カウント部153は、カウントを終了し、キャッシュメモリヒット数をキャッシュメモリヒット率計算部125に通知する。
キャッシュメモリヒット率計算部125は通知されたキャッシュメモリアクセス数とキャッシュメモリヒット数から、キャッシュメモリヒット率を計算する。(キャッシュメモリヒット率=キャッシュメモリヒット数÷キャッシュメモリアクセス数)(図7のS607)
キャッシュメモリヒット率がキャッシュメモリヒット率閾値よりも小さい場合、キャッシュメモリ使用判定部123は、キャッシュメモリの電源切断と判定する。そして、キャッシュメモリ制御情報テーブル121は、その判定結果を副情報処理プログラム1 551aにおけるキャッシュメモリ電源制御情報フィールド121dに登録する。(図7のS609および図8(a))
キャッシュメモリヒット率がキャッシュメモリヒット率閾値よりも大きいまたは等しい場合、キャッシュメモリ使用判定部123は、キャッシュメモリの電源投入と判定する。そして、キャッシュメモリ制御情報テーブル121は、その判定結果を副情報処理プログラム1 551aにおけるキャッシュメモリ電源制御情報フィールド121dに登録する。(図7のS613および図8(b))
図10は、副情報処理プログラム2 551bのキャッシュメモリ電源制御情報が電源投入の場合のライトバック/ライトスルー制御情報をキャッシュメモリ制御情報テーブル121に記録した例を示す図である。((a)は副情報処理プログラム1 551aのキャッシュメモリ電源制御情報が電源切断の場合、(b)は副情報処理プログラム1 551aのキャッシュメモリ電源制御情報が電源投入の場合)
図11は、副情報処理プログラム5 551eのキャッシュメモリ電源制御情報が電源投入の場合のライトバック/ライトスルー制御情報をキャッシュメモリ制御情報テーブル121に記録した例を示す図である。
そして、繰り返し回数iが2回目以降の場合(すなわち副情報処理プログラム1 551a〜eの場合)で、キャッシュメモリ電源制御情報が電源投入の場合には、ライト制御判定部124は、ライトバック/ライトスルー制御情報を判定する。その判定結果は、各副情報処理プログラム1〜5 551a〜eにおけるキャッシュメモリ電源制御情報の設定によって変化する。
副情報処理プログラム2 551bのキャッシュメモリ電源制御情報が電源切断と設定された場合、ライト制御判定部124は、一つ前の副情報処理プログラム1 551aのキャッシュメモリ電源制御情報を参照する。
そして、一つ前の副情報処理プログラム1 551aのキャッシュメモリ電源制御情報が電源切断であるならば、S618からS600に戻り、次の副情報処理プログラム3 551cに命令実行部101は処理を移す。(図7のS611および図9(a))
一方、一つ前の副情報処理プログラム1 551aのキャッシュメモリ電源制御情報が電源投入であるならば、ライト制御判定部124は、副情報処理プログラム1 551aのライトバック/ライトスルー制御情報をライトスルー制御に設定する。(図7のS612および図9(b))
図9(b)の副情報処理プログラム2 551bではキャッシュメモリ電源切断となるため、キャッシュメモリ141の情報は消えてしまう。その為、書き込み方式の制御は、副情報処理プログラム1 551aの処理内もしくは処理終了後短時間でキャッシュメモリ141の情報が主記憶部502へ書き込まれるライトスルー制御とする。
副情報処理プログラム2 551bのキャッシュメモリ電源制御情報が電源投入と設定された場合、ライト制御判定部124は、一つ前の副情報処理プログラム1 551aのキャッシュメモリ電源制御情報を参照する。
そして、一つ前の副情報処理プログラム1 551aのキャッシュメモリ電源制御情報が電源切断であるならば、S618からS600に戻り、次の副情報処理プログラム3 551cに命令実行部101は処理を移す。(図7のS615および図10(a))
一方、一つ前の副情報処理プログラム1 551aのキャッシュメモリ電源制御情報が電源投入であるならば、ライト制御判定部124は、副情報処理プログラム1 551aのライトバック/ライトスルー制御情報をライトバック制御に設定する。(図7のS616および図10(b))
副情報処理プログラム2 551bではキャッシュメモリ電源切断する必要がないため、書き込み方式の制御は、性能的に有利であるライトバック制御とする。
ただし、副情報処理プログラム5 551eの後に副情報処理プログラム1 551aに戻って繰り返し処理を行う場合には、副情報処理プログラム5 551eに続く処理を副情報処理プログラム1 551aと考えることが出来る。そして、ライト制御判定部124は、副情報処理プログラム1 551aのキャッシュメモリ電源制御情報を参照して、副情報処理プログラム5 551eのライトバック/ライトスルー制御情報を設定することも出来る。
そして、キャッシュメモリ電源制御情報が電源投入の制御である副情報処理プログラムにおいて、キャッシュメモリ制御部131は、キャッシュメモリ141の電源を投入する。また、キャッシュメモリ電源制御情報が電源切断の制御である副情報処理プログラムにおいて、キャッシュメモリ制御部131は、キャッシュメモリ141の電源を切断する。
キャッシュメモリ141の電源制御をすることでキャッシュメモリ141(CPU501)の消費電力を低減する。
そして、副情報処理プログラム1 551aの実行開始アドレスと通知された実行アドレスとが一致すると、キャッシュメモリ制御部131は、キャッシュメモリ制御情報テーブル121の副情報処理プログラム1 551aにおけるキャッシュメモリ電源制御情報フィールド121dを参照する。(図12のS703)
キャッシュメモリ制御部131がライトバック/ライトスルー制御情報フィールド121eを参照した結果、ライトスルーであれば、キャッシュメモリ制御部131は、ライトスルー方式でキャッシュメモリ141から主記憶部502への書き戻しを行うようにメモリアクセス制御部151に通知する。(図12のS707)
ループ処理3周目以降が続く場合も、CPU501は、同様の処理を行う。
キャッシュメモリ使用判定部123が、任意の副情報処理プログラムにおいてキャッシュメモリ141を不要と判断すると、キャッシュメモリ制御部131は、キャッシュメモリ141の電源切断する。
この時、キャッシュメモリ141全体の電源切断すると、キャッシュメモリヒット率は0%から変化しない。その為、キャッシュメモリヒット率は、キャッシュメモリヒット率閾値を超えることが無く、キャッシュメモリ141の電源は再投入されない。
しかし、本実施の形態は、キャッシュメモリ制御情報テーブル121の情報に従って、キャッシュメモリ制御部131は、副情報処理プログラム毎にキャッシュメモリ141の電源を制御する。従って、キャッシュメモリ141の電源投入/電源切断に関係なく、キャッシュメモリ制御部131は、キャッシュメモリ141の電源制御が可能である。その為に、キャッシュメモリ制御部131は、キャッシュメモリ141全体の電源切断することが可能であり、CPU501は、消費電力をより大きく低減できる。
キャッシュメモリは、複数の部分から構成されており、CPU501は、キャッシュメモリの電源を部分的に切断して省電力化を図ることが可能である。しかし、局所的にキャッシュメモリが使用され、かつキャッシュメモリヒット率が低い場合には、CPU501は、部分的にキャッシュメモリの電源を切断するよりも、キャッシュメモリ全体の電源を切断した方が消費電力低減の効果が大きい。
そこで、例えば1次キャッシュメモリは情報処理速度向上の効果が大きいために常時電源を投入した状態とし、情報処理システムは、2次キャッシュメモリのみ電源制御を行う場合が想定される。
本実施の形態において、キャッシュメモリの種別は限定されないが、このように情報処理システムが局所的に使用する2次キャッシュメモリの制御を行う場合に、本実施の形態は、特に効果がある。
しかしながら、CPU501で実行する情報処理プログラム550は確定した内容で有り、あらかじめ副情報処理プログラムにおけるキャッシュメモリヒット率が分かっている場合が想定される。この場合であれば、キャッシュメモリ制御情報テーブル121の設定情報は、例えばCPU501の製造時に固定情報として記憶させることも可能である。情報処理プログラム550の実行時にキャッシュメモリ制御情報テーブル121の設定をする必要が無いために、コスト面は有利になる可能性がある。
キャッシュメモリは、電源を投入して使用可能になるまでには数マイクロ秒〜数十マイクロ秒程度の時間がかかると想定される。この時間キャッシュメモリが使えないことにより、CPU501は、性能面の損失が生じる。そこで、キャッシュメモリ制御情報テーブル121は、キャッシュメモリの電源を実行開始アドレスよりも早いタイミングであらかじめ電源投入するためのキャッシュメモリ電源投入開始アドレスの情報を備える。
図14は、キャッシュメモリ電源投入開始アドレスを用いた処理を示すフローチャートである。
例えば、図13において、副情報処理プログラム3 551cのキャッシュメモリ電源処理情報が電源投入となっている。しかし、副情報処理プログラム3 551cの実行開始アドレスであるアドレスc_Sにおいて、キャッシュメモリ141の電源投入しても実際にキャッシュメモリ141が機能するのは、電源投入から数マイクロ秒〜数十マイクロ秒程度の立ち上がり時間を要した後になってしまう。
そこで、命令実行部101もしくはキャッシュメモリ制御情報テーブル121は、副情報処理プログラム3 551cのキャッシュメモリ電源投入開始アドレスであるアドレスc_Lを設定する。このアドレスc_Lは、副情報処理プログラム3 551cの実行開始アドレスであるアドレスc_Sのタイミングよりも数マイクロ秒〜数十マイクロ秒程度前にキャッシュメモリ141の電源投入にするようなタイミングに設定される。
まず、キャッシュメモリ制御部131もしくはキャッシュメモリ制御情報テーブル121は、キャッシュメモリ制御情報テーブル121に記憶された副情報処理プログラム1 551aのキャッシュメモリ電源投入開始アドレス(図13のアドレスa_L)と実行アドレス通知部111から通知された実行アドレスとを比較する。(図14のS801〜S802)
ここでも、実行開始アドレスと実行アドレスが不一致な場合は、キャッシュメモリ制御部131もしくはキャッシュメモリ制御情報テーブル121は、次の実行アドレスの入力を待つ(S801に戻る)。そして、実行アドレスとキャッシュメモリ電源投入開始アドレスもしくは、実行アドレスと実行開始アドレスのどちらかが一致するまで、キャッシュメモリ制御部131は、処理を繰り返す。
ここで参照した結果が電源切断であれば、キャッシュメモリ電源投入開始アドレスは設定されているが、キャッシュメモリの電源切断で良い。よって、キャッシュメモリ制御部131は、キャッシュメモリ141の電源切断とし、次の副情報処理プログラム2 551bの処理に移る。
キャッシュメモリ141の電源投入の場合、キャッシュメモリ制御部131は、さらにライトバック/ライトスルー制御情報を参照する。(図14のS804)そして、キャッシュメモリ制御部131は、メモリアクセス制御部151へライトバックもしくはライトスルー制御の通知を行う。(図14のS807、S808)
ループ処理3周目以降が続く場合も、CPU501は、同様の処理を行う。
実施の形態1において、キャッシュメモリ制御情報テーブル121はループ処理1周目552aにおいて設定された。しかし、情報処理システムによっては、例えば入出力部504の状態等により、ループ処理N周目552b以降にキャッシュメモリ141の状態が安定する場合もある。
そこで、キャッシュメモリ制御情報テーブル121の設定をループ処理1周目552aに固定せず、ループ処理N周目(Nは任意の回数)にCPU501は、キャッシュメモリ制御情報テーブル121の設定をする。
図16は、ループ処理N周目に設定されるキャッシュメモリ制御情報テーブル121の例を示す図である。((a)はループ処理1周目からループ処理N−1周目、(b)はループ処理N周目以降)
また、テーブル生成指示部325は命令実行部101が実行しているループ処理の周回数をカウントする機能を有している。そして、初期化処理553において、テーブル生成指示部325は、ループ処理周回カウント数をゼロにする。
テーブル生成指示部325は、実行アドレス通知部111が通知した実行アドレスを受け取る。そして、テーブル生成指示部325は、実行アドレスと副情報処理プログラム1 551aの実行開始アドレスを比較し、両者が一致するとループ処理周回カウント数を1つ増やす。
命令実行部101がループ処理の回数を重ねる毎に、テーブル生成指示部325は、ループ処理周回カウント数をN−1まで増やす。
そして、テーブル生成指示部325は、キャッシュメモリ制御部131もしくはキャッシュメモリ制御情報テーブル121にキャッシュメモリ電源制御情報とライトバック/ライトスルー制御情報の生成を指示する。キャッシュメモリ電源制御情報とライトバック/ライトスルー制御情報の生成方法は実施の形態1と同様である。
命令実行部101がループ処理N周目の処理を完了すると、キャッシュメモリ制御部131もしくはキャッシュメモリ制御情報テーブル121は、図16(b)に示す例のようなキャッシュメモリ制御情報テーブル121を完了する。
周囲の環境変化や情報処理システム500の動作状況変化により、CPU501の温度が上昇することが想定される。このような温度上昇によるCPU501の誤動作や故障を回避する為に、CPU501は消費電力を低減する必要がある。
図18は、温度警告に対する処理を示すフローチャートである。
図19は、キャッシュメモリヒット率閾値テーブルを示す図である。
キャッシュメモリヒット率閾値を高く設定することで、キャッシュメモリの電源切断となる副情報処理プログラムを増やし、CPU501は消費電力を低くする。
キャッシュメモリヒット率閾値テーブル426は、キャッシュメモリヒット率閾値記憶部122から1回目の要求があると、まず閾値番号1に設定されている閾値1を返す。
また、キャッシュメモリヒット率閾値テーブル426は、キャッシュメモリヒット率閾値記憶部122からの要求回数を記憶しており、2回目に要求があると、閾値番号2に設定されている閾値1よりも高い値の閾値2を返す。(図18のS902、図19)
すなわち、キャッシュメモリヒット率閾値テーブル426に記憶されている閾値は、閾値1<閾値2<閾値3<閾値4<閾値5の関係となっている。
また、これらの閾値はキャッシュメモリヒット率閾値テーブル426が予め記憶している場合も有るし、情報処理プログラム550に設定されている値をキャッシュメモリヒット率閾値テーブル426が読み取ることも出来るし、入出力部504からユーザーが入力した値をキャッシュメモリヒット率閾値テーブル426が読み取ることも出来る。
その後も更に温度警告部427が警告信号を出力するようであれば、キャッシュメモリ制御部131もしくはキャッシュメモリ制御情報テーブル121は、3回目以降のキャッシュメモリ制御情報の再設定を行う。そして、キャッシュメモリヒット率閾値記憶部122は、より高いキャッシュメモリヒット率閾値を設定し、温度警告部427による警告信号が無くなるまで処理を繰り返す。
なお、図18では、閾値番号は1〜5としているが、更に閾値の設定数を増やすことが可能である。
また本例では温度変化に基づき、CPU501はキャッシュメモリヒット率閾値を変えているが、CPU501は、他の所定の条件(例えば電気料金)等を基準にして、キャッシュメモリヒット率閾値を変えることも可能である。
Claims (7)
- 主記憶部と、
異なる範囲のアドレスに割り当てられる複数の副情報処理プログラムから構成される情報処理プログラムを実行し、実行中のアドレスを示す実行アドレスを出力する命令実行部と、
前記命令実行部が前記情報処理プログラムを実行中にアクセスして、前記情報処理プログラムが使用する情報を一時的に記憶するキャッシュメモリと、
前記命令実行部が出力した実行アドレスを受け取り、前記実行アドレスを通知する実行アドレス通知部と、
前記複数の副情報処理プログラムの各副情報処理プログラムに対応して、前記キャッシュメモリの電源投入と電源切断とのいずれかを行う為のキャッシュメモリ電源制御情報を含む情報であるキャッシュメモリ制御情報を記憶するキャッシュメモリ制御情報テーブルと、
前記実行アドレス通知部が通知した実行アドレスから、前記命令実行部が実行している副情報処理プログラムを判定し、判定された副情報処理プログラムに対応するキャッシュメモリ制御情報を前記キャッシュメモリ制御情報テーブルから読み取り、前記キャッシュメモリ制御情報に含まれる前記キャッシュメモリ電源制御情報を基に前記キャッシュメモリを制御するキャッシュメモリ制御部と、
前記キャッシュメモリが記憶する情報を前記主記憶部に書き込むメモリアクセス制御部と、
前記メモリアクセス制御部が前記主記憶部に情報を書き込む方式をライトバック方式とライトスルー方式とのいずれの書き込み方式とするかを、各副情報処理プログラムに対応して判定するライト制御判定部とを備え、
前記キャッシュメモリ制御情報テーブルは、前記ライト制御判定部が判定した書き込み方式を前記キャッシュメモリ制御情報の一部として、各副情報処理プログラムに対応して記憶し、
前記ライト制御判定部は、前記複数の副情報処理プログラムから構成される情報処理プログラムを構成する任意の第1の副情報処理プログラムと、前記第1の副情報処理プログラムの次に処理される第2の副情報処理プログラムにおいて、
前記第1の副情報処理プログラムに対応する前記キャッシュメモリ電源制御情報が電源投入であり、かつ前記第2の副情報処理プログラムに対応する前記キャッシュメモリ電源制御情報が電源投入である場合に、前記第1の副情報処理プログラムに対応する書き込み方式をライトバック方式と判定し、
前記第1の副情報処理プログラムに対応する前記キャッシュメモリ電源制御情報が電源投入であり、かつ前記第2の副情報処理プログラムに対応する前記キャッシュメモリ電源制御情報が電源切断である場合に、前記第1の副情報処理プログラムに対応する書き込み方式をライトスルー方式と判定する
ことを特徴とする情報処理システム。 - 前記ライト制御判定部は、前記複数の副情報処理プログラムから構成される情報処理プログラムの中で、最後に実行される副情報処理プログラムに対応する書き込み方式をライトスルー方式と判定することを特徴とする請求項1記載の情報処理システム。
- 異なる範囲のアドレスに割り当てられる複数の副情報処理プログラムから構成される情報処理プログラムを実行し、実行中のアドレスを示す実行アドレスを出力する命令実行部と、
前記命令実行部が前記情報処理プログラムを実行中にアクセスして、前記情報処理プログラムが使用する情報を一時的に記憶するキャッシュメモリと、
前記命令実行部が出力した実行アドレスを受け取り、前記実行アドレスを通知する実行アドレス通知部と、
前記複数の副情報処理プログラムの各副情報処理プログラムに対応して、前記キャッシュメモリの電源投入と電源切断とのいずれかを行う為のキャッシュメモリ電源制御情報を含む情報であるキャッシュメモリ制御情報を記憶するキャッシュメモリ制御情報テーブルと、
前記実行アドレス通知部が通知した実行アドレスから、前記命令実行部が実行している副情報処理プログラムを判定し、判定された副情報処理プログラムに対応するキャッシュメモリ制御情報を前記キャッシュメモリ制御情報テーブルから読み取り、前記キャッシュメモリ制御情報に含まれる前記キャッシュメモリ電源制御情報を基に前記キャッシュメモリを制御するキャッシュメモリ制御部と、
前記キャッシュメモリへのアクセスの回数であるキャッシュメモリアクセス数を各副情報処理プログラムに対応して測定し、前記キャッシュメモリアクセス数を記憶するキャッシュメモリアクセス数カウント部と、
前記キャッシュメモリへのアクセスのうち前記命令実行部が要求したデータが前記キャッシュメモリに存在する回数であるキャッシュメモリヒット数を各副情報処理プログラムに対応して測定し、前記キャッシュメモリヒット数を記憶するキャッシュメモリヒット数カウント部と、
前記キャッシュメモリアクセス数カウント部が記憶した前記キャッシュメモリアクセス数と、前記キャッシュメモリヒット数カウント部が記憶した前記キャッシュメモリヒット数から、キャッシュメモリヒット率を各副情報処理プログラムに対応して計算するキャッシュメモリヒット率計算部と、
任意のキャッシュメモリヒット率閾値を記憶するキャッシュメモリヒット率閾値記憶部と、
前記キャッシュメモリヒット率計算部が計算した各副情報処理プログラムに対応するキャッシュメモリヒット率が前記キャッシュメモリヒット率閾値以上の場合には、前記キャッシュメモリ電源制御情報は電源投入であると判定し、前記キャッシュメモリヒット率が前記キャッシュメモリヒット率閾値未満の場合には、前記キャッシュメモリ電源制御情報は電源切断であると判定し、前記キャッシュメモリ制御情報テーブルに各副情報処理プログラムに対応して判定結果を記憶するキャッシュメモリ使用判定部と
を備えたことを特徴とする情報処理システム。 - 前記情報処理システムは、実行順序の決まった複数の副情報処理プログラムで構成される処理を複数回繰り返し、
前記キャッシュメモリ使用判定部は、前記キャッシュメモリヒット率を、前記実行順序の決まった複数の副情報処理プログラムで構成される処理を複数回繰り返す内の1回目のみに計算することを特徴とする請求項3記載の情報処理システム。 - 前記情報処理システムは、実行順序の決まった複数の副情報処理プログラムで構成される処理を複数回繰り返し、
前記キャッシュメモリ使用判定部は、前記キャッシュメモリヒット率を、前記実行順序の決まった複数の副情報処理プログラムで構成される処理を複数回繰り返す内の任意の回に計算することを特徴とする請求項3記載の情報処理システム。 - 前記キャッシュメモリ制御部は、キャッシュメモリヒット率閾値記憶部が記憶する前記キャッシュメモリヒット率閾値を所定の条件に基づいて変化させることを特徴とする請求項3〜5いずれか記載の情報処理システム。
- 異なる範囲のアドレスに割り当てられる複数の副情報処理プログラムから構成される情報処理プログラムを実行し、実行中のアドレスを示す実行アドレスを出力する命令実行部と、
前記命令実行部が前記情報処理プログラムを実行中にアクセスして、前記情報処理プログラムが使用する情報を一時的に記憶するキャッシュメモリと、
前記命令実行部が出力した実行アドレスを受け取り、前記実行アドレスを通知する実行アドレス通知部と、
前記複数の副情報処理プログラムの各副情報処理プログラムに対応して、前記キャッシュメモリの電源投入と電源切断とのいずれかを行う為のキャッシュメモリ電源制御情報を含む情報であるキャッシュメモリ制御情報を記憶するキャッシュメモリ制御情報テーブルと、
前記実行アドレス通知部が通知した実行アドレスから、前記命令実行部が実行している副情報処理プログラムを判定し、判定された副情報処理プログラムに対応するキャッシュメモリ制御情報を前記キャッシュメモリ制御情報テーブルから読み取り、前記キャッシュメモリ制御情報に含まれる前記キャッシュメモリ電源制御情報を基に前記キャッシュメモリを制御するキャッシュメモリ制御部とを備え、
前記キャッシュメモリ制御情報テーブルは、前記キャッシュメモリ制御情報として、
各副情報処理プログラムが割り当てられたアドレス範囲の先頭に位置する実行開始アドレスと、
前記実行開始アドレスが先頭に位置するアドレス範囲を割り当てられた各副情報処理プログラム実行時において、前記キャッシュメモリ制御部が前記キャッシュメモリの電源を投入するアドレスを示すキャッシュメモリ電源投入開始アドレスと
を含んでいることを特徴とする情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010211130A JP5484281B2 (ja) | 2010-09-21 | 2010-09-21 | 情報処理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010211130A JP5484281B2 (ja) | 2010-09-21 | 2010-09-21 | 情報処理システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012068740A JP2012068740A (ja) | 2012-04-05 |
JP5484281B2 true JP5484281B2 (ja) | 2014-05-07 |
Family
ID=46165991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010211130A Expired - Fee Related JP5484281B2 (ja) | 2010-09-21 | 2010-09-21 | 情報処理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5484281B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599210B2 (en) | 2017-06-29 | 2020-03-24 | Samsung Electronics Co., Ltd. | Processor, computing device including the same and method of selecting low power mode of the same |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9568986B2 (en) | 2013-09-25 | 2017-02-14 | International Business Machines Corporation | System-wide power conservation using memory cache |
JP6977473B2 (ja) * | 2017-10-20 | 2021-12-08 | 富士通株式会社 | ストレージ装置及びバックアッププログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07129464A (ja) * | 1993-11-05 | 1995-05-19 | Hitachi Ltd | 情報処理装置 |
DE60143194D1 (de) * | 2000-04-12 | 2010-11-18 | Dsp Group Switzerland Ag | Datenverarbeitungsschaltung mit cachespeicher und vorrichtung mit solcher schaltung |
JP4189402B2 (ja) * | 2005-02-21 | 2008-12-03 | パナソニック株式会社 | キャッシュ回路 |
JP4364878B2 (ja) * | 2005-03-31 | 2009-11-18 | 株式会社半導体エネルギー研究所 | 演算処理装置 |
JP2009093559A (ja) * | 2007-10-11 | 2009-04-30 | Nec Corp | プロセッサ、情報処理装置、プロセッサのキャッシュ制御方法 |
JP5167952B2 (ja) * | 2008-05-26 | 2013-03-21 | 富士通株式会社 | キャッシュメモリシステム |
-
2010
- 2010-09-21 JP JP2010211130A patent/JP5484281B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599210B2 (en) | 2017-06-29 | 2020-03-24 | Samsung Electronics Co., Ltd. | Processor, computing device including the same and method of selecting low power mode of the same |
Also Published As
Publication number | Publication date |
---|---|
JP2012068740A (ja) | 2012-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8402232B2 (en) | Memory utilization tracking | |
US7437513B2 (en) | Cache memory with the number of operated ways being changed according to access pattern | |
US9418721B2 (en) | Determining and storing bit error rate relationships in spin transfer torque magnetoresistive random-access memory (STT-MRAM) | |
KR102042859B1 (ko) | 반도체 장치 및 그 동작 방법 | |
KR102123178B1 (ko) | 기계학습 알고리즘 기반 cpu 온도 예측 방법 및 장치 | |
JP4189402B2 (ja) | キャッシュ回路 | |
US20090083551A1 (en) | Dynamically managing thermal levels in a processing system | |
CN107153455B (zh) | 缓存功率管理 | |
KR102568051B1 (ko) | 메모리 관리 | |
JP5484281B2 (ja) | 情報処理システム | |
JP4519151B2 (ja) | キャッシュ制御回路 | |
US11321097B2 (en) | Super-thread processor | |
CN113778520B (zh) | 偏移预取方法、执行偏移预取的装置、计算设备和介质 | |
EP2784684A1 (en) | Operation processing apparatus, information processing apparatus and method of controlling information processing apparatus | |
JP5045163B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
JP2018536230A (ja) | キャッシュへのアクセス | |
US11409346B2 (en) | Control circuit and method for fast setting power mode | |
JP2009251713A (ja) | キャッシュメモリ制御装置 | |
JP7408650B2 (ja) | ダイナミックランダムアクセスメモリランクのパワーダウンモードの投機的な終了 | |
JP7131156B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP6873942B2 (ja) | 推定装置、推定方法およびプログラム | |
JP2019164659A (ja) | 情報処理装置、情報処理方法およびプログラム | |
US11449428B2 (en) | Enhanced read-ahead capability for storage devices | |
JPWO2007099582A1 (ja) | プリフェッチ制御装置 | |
JP2012043202A (ja) | ストアマージ装置、情報処理装置、ストアマージ方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131112 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131217 |
|
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: 20140121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140218 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5484281 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |