JP2017016427A - プロセッサシステム、メモリ制御回路およびメモリシステム - Google Patents
プロセッサシステム、メモリ制御回路およびメモリシステム Download PDFInfo
- Publication number
- JP2017016427A JP2017016427A JP2015133013A JP2015133013A JP2017016427A JP 2017016427 A JP2017016427 A JP 2017016427A JP 2015133013 A JP2015133013 A JP 2015133013A JP 2015133013 A JP2015133013 A JP 2015133013A JP 2017016427 A JP2017016427 A JP 2017016427A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- nonvolatile memory
- power supply
- core
- supply voltage
- 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.)
- Granted
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)
- Memory System (AREA)
Abstract
【課題】処理能力を低下させずに消費電力を削減するプロセッサシステムを提供する。
【解決手段】プロセッサシステム1は、それぞれ処理能力が異なる複数のコア部を複数個ずつ有するプロセッサコア(第1コア7、第2コア8)と、プロセッサコアによってアクセスされる不揮発メモリ3と、不揮発メモリに対するアクセス制御を行うとともに、動作中のコア部の数と、コア部の重み係数と、不揮発メモリに対する単位時間当たりのアクセス回数と、の少なくとも一つに基づいて、不揮発メモリに電源電圧を供給するか否かを制御するメモリコントローラ4と、を備える。
【選択図】図1
【解決手段】プロセッサシステム1は、それぞれ処理能力が異なる複数のコア部を複数個ずつ有するプロセッサコア(第1コア7、第2コア8)と、プロセッサコアによってアクセスされる不揮発メモリ3と、不揮発メモリに対するアクセス制御を行うとともに、動作中のコア部の数と、コア部の重み係数と、不揮発メモリに対する単位時間当たりのアクセス回数と、の少なくとも一つに基づいて、不揮発メモリに電源電圧を供給するか否かを制御するメモリコントローラ4と、を備える。
【選択図】図1
Description
本発明の実施形態は、プロセッサシステムに関する。
最近のプロセッサシステムでは、コアが動作していないときに、コアへの電源供給を段階的に遮断するパワーゲーティングを行って、低消費電力化を図っている。
しかしながら、既存のプロセッサシステムのキャッシュメモリは、揮発メモリであるSRAM(Static Random Access Memory)で構成されているため、SRAM内のデータをメインメモリに待避させた後でなければ、SRAMの電源を遮断することはできない。SRAMは、メインメモリとして用いられるDRAM(Dynamic Random Access Memory)よりも高速アクセスが可能だが、消費電力が大きい。このため、パワーゲーティングを行っても、SRAMの消費電力を減らさない限り、プロセッサシステム全体の消費電力を減らすことはできない。
本発明が解決しようとする課題は、処理能力を低下させずに消費電力を削減することが可能なプロセッサシステムを提供することである。
本実施形態によれば、それぞれ処理能力が異なる複数のコア部を複数個ずつ有するプロセッサコアと、プロセッサコアによってアクセスされる不揮発メモリと、不揮発メモリに対するアクセス制御を行うとともに、動作中のコア部の数と、コア部の重み係数と、不揮発メモリに対する単位時間当たりのアクセス回数と、の少なくとも一つに基づいて、不揮発メモリに電源電圧を供給するか否かを制御するメモリコントローラと、を備えるプロセッサシステムが提供される。
以下、図面を参照しながら、本発明の実施形態を説明する。
(第1の実施形態)
図1は第1の実施形態によるプロセッサシステム1の概略構成を示すブロック図である。図1のプロセッサシステム1は、プロセッサコア2と、不揮発メモリ3と、メモリコントローラ4と、電源管理ユニット5と、メモリバッファ(データ記憶部)6とを備えている。
図1は第1の実施形態によるプロセッサシステム1の概略構成を示すブロック図である。図1のプロセッサシステム1は、プロセッサコア2と、不揮発メモリ3と、メモリコントローラ4と、電源管理ユニット5と、メモリバッファ(データ記憶部)6とを備えている。
プロセッサコア2は、それぞれ処理能力が異なる複数のコア部を複数個ずつ有する。ここで、処理能力とは、コア部の処理速度である。処理能力が高いほど、処理速度が速いが、その反面、消費電力がより高くなる。
例えば、図1の例では、プロセッサコア2は、第1コア7と、第1コア7よりも処理能力の低い第2コア8とを有する。第1コア7は、複数の第1コア部9と、これら第1コア部9によって共用される2次キャッシュメモリ(以下、L2キャッシュまたは第1キャッシュメモリ)10とを有する。第2コア8は、複数の第2コア部11と、これら第2コア部11によって共用されるL2キャッシュ(第1キャッシュメモリ)10とを有する。第1コア部9は、第2コア部11よりも処理速度が速いが、消費電力が大きい。図1では、相対的に処理能力の高い第1コア部9をbigと表記し、相対的に処理能力の低い第2コア部11をlittleと表記している。
第1コア部9と第2コア部11のそれぞれは、不図示の1次キャッシュメモリ(以下、L1キャッシュ)を内蔵している。
なお、プロセッサコア2内のコア部の種類は、図1に示した2つに限定されるものではない。3種類以上のコア部を複数個ずつプロセッサコア2の内部に設けてもよい。
L1キャッシュとL2キャッシュ10は、例えばSRAM等の高速の揮発メモリである。不揮発メモリ3は、例えばMRAM(Magnetoresistive Random Access Memory)である。MRAMの中でも、動作速度が速いSTT(Spin Transfer Torque)−MRAMが望ましい。
図1の例では、不揮発メモリ3を3次キャッシュメモリ(以下、L3キャッシュメモリまたは第2キャッシュメモリ)として用いている。L3キャッシュ3は、L2キャッシュ10よりもアクセス順位が低くて、メインメモリ13よりもアクセス順位の高いメモリである。なお、L2キャッシュ10を不揮発メモリにして、後述する電源電圧の制御を行ってもよい。以下では、L3キャッシュ3を不揮発メモリとして電源電圧の制御を行う例を説明する。
図1に示すように、プロセッサコア2とL2キャッシュ10との間には、高速でデータ転送を行う内部バス12が設けられている。プロセッサコア2内の第1コア部9と第2コア部11は、メモリアクセスの必要性が生じると、まずは、各コア部の内部にあるL1キャッシュにアクセスし、L1キャッシュにデータがなければ、複数の第1コア部9で共用するL2キャッシュ10、あるいは複数の第2コア部11で共用するL2キャッシュ10にアクセスする。L2キャッシュ10にもデータがない場合には、内部バス12を介してL3キャッシュ3にアクセスする。L3キャッシュ3にもデータがない場合には、メインメモリ13にアクセスする。
電源管理ユニット5は、プロセッサコア2に対する電源管理を行う。より具体的には、電源管理ユニット5は、プロセッサコア2が動作していないときに、プロセッサコア2に供給する電力を段階的に削減するパワーゲーティングを行う。
メモリコントローラ4は、不揮発メモリ3に対するアクセス制御を行う。また、メモリコントローラ4は、動作中のコア部の数と、コア部の重み係数と、不揮発メモリ3に対する単位時間当たりのアクセス回数と、の少なくとも一つに基づいて、不揮発メモリ3に電源電圧を供給するか否かを制御する。
特に、第1の実施形態によるメモリコントローラ4は、動作中のコア部の数に応じて、不揮発メモリ3に電源電圧を供給するか否かを制御する。
メモリバッファ6は、メモリコントローラ4が不揮発メモリ3への電源供給を停止している間に、プロセッサコア2から不揮発メモリ3への書込み要求があったときに、書込み要求のあったデータを一時的に記憶する。メモリバッファ6に記憶されたデータは、その後に不揮発メモリ3に電源電圧が供給された後に不揮発メモリ3に書き込まれる。あるいは、所定時間経過しても不揮発メモリ3に電源電圧が供給されない場合は、メモリバッファ6からメインメモリ13にデータを書き込んでもよい。メモリバッファ6のメモリ容量は、不揮発メモリ3のメモリ容量よりも少ない。例えば,メモリバッファ6のメモリ容量は、不揮発メモリ3の数個のキャッシュライン分程度でもよい。これにより、メモリバッファ6を例えばSRAMで構成しても、メモリバッファ6での電力消費は少なくて済む。
図2は電源管理ユニット5とメモリコントローラ4が行う電源管理の一具体例を示す図である。電源管理ユニット5は、プロセッサコア2に対する電源管理を、例えばC0〜C7までの複数段階に分けて行う。まず、プロセッサコア2が動作を停止すると、C0からC1に移行し、プロセッサコア2に供給するコアクロックを停止する。その後、C1からC2に移行し、コアクロックを生成するための不図示のPLL回路とL1キャッシュへの電源電圧の供給を停止する。その後、C2〜C3に移行し、さらに第1コア部9と第2コア部11への電源電圧をV0に下げる。その後、C3からC6に移行し、L2キャッシュ10への電源電圧の供給を停止するとともに、第1コア部9と第2コア部11への電源電圧をV0未満のV1まで下げる。その後、C6からC7に移行し、プロセッサコア2を完全に停止させる。
一方、メモリコントローラ4は、プロセッサコア2がC0〜C7のどの状態であっても、不揮発メモリ3に対する電源管理を行う。すなわち、プロセッサコア2がC0〜C7のどの状態であっても、不揮発メモリ3への電源電圧の供給を停止しても差し支えない場合には、積極的に電源供給を停止する。
図3は第1の実施形態によるメモリコントローラ4の電源管理処理を示すフローチャートである。まず、動作中の第1コア部9の数N_bigと、動作中の第2コア部11の数N_littleとを計測する(ステップS1)。プロセッサコア2の動作状態は、電源管理ユニット5が常にモニタしているため、メモリコントローラ4は、電源管理ユニット5から、動作中の第1コア部9と第2コア部11の情報を受け取り、上述したステップS1の処理を行う。
次に、動作中の第1コア部9の数N_bigが閾値N_Ac_bigより大きく、かつ動作中の第2コア部11の数N_littleが閾値N_Ac_littleより大きいか否かを判定する(ステップS2)。ステップS2の判定がYESの場合、プロセッサコア2の処理量が多いと判断されるため、メモリコントローラ4は、不揮発メモリ3への電源供給を行う(ステップS3)。
一方、ステップS2の判定がNOの場合は、プロセッサコア2の処理量が少ないと判断されるため、メモリコントローラ4は、不揮発メモリ3への電源供給を停止する(ステップS4)。
このように、ステップS4では、N_big≦N_Ac_bigとN_little≦N_Ac_littleとの少なくとも一方の条件を満たす場合は、不揮発メモリ3への電源供給を停止する。
不揮発メモリ3での電源供給を停止した後に、プロセッサコア2が不揮発メモリ3に書込み要求を行ったとしても、上述したように、メモリバッファ6に一時的にデータを書き込むことで、データの整合性を維持することができる。
図4はメモリコントローラ4が行う書込み要求処理の一例を示すフローチャートである。メモリコントローラ4は、プロセッサコア2からの書込み要求があったときに、図4の処理を実行する。
まず、不揮発メモリ3への電源供給が停止中か否かを判定する(ステップS11)。停止中でなければ、書込み要求に応じて、不揮発メモリ3への書込みを行う(ステップS12)。
ステップS11において、停止中と判定された場合は、メモリバッファ6にアクセスし、書込み要求のあったアドレスのデータがすでにメモリバッファ6に書き込まれているか否かを判定する(ステップS13)。書き込まれていると判定されると、メモリバッファ6上の同じアドレスのデータを更新する(ステップS14)。ステップS13で書き込まれていないと判定されると、メモリバッファ6上に新規のエントリを追加し、書き込み要求のあったデータを一時的に格納する(ステップS15)。
ステップS14またはS15の処理が終了すると、メモリバッファ6が満杯になったか否かを判定する(ステップS16)。満杯でなければ処理を終了し、満杯であれば、不揮発メモリ3への電源供給を再開して、メモリバッファ6内のデータを不揮発メモリ3に転送する(ステップS17)。
なお、プロセッサシステム1が電源遮断状態から電源供給状態に遷移した場合にも、メモリバッファ6内のデータは不揮発メモリ3に転送される。また、メモリコントローラ4は、各プロセッサコアの動作状況が変化するたびに、図3の処理を行う。そして、ステップS2の判定がYesの場合には、メモリコントローラ4は、不揮発メモリ3への電源供給を再開する。この時、メモリバッファ6内のデータを不揮発メモリ3に転送する。
このように、第1の実施形態では、動作中の第1コア部9の数と動作中の第2コア部11の数とに基づいて、プロセッサコア2の処理量が多いか否かを判定し、判定結果によってプロセッサコア2の処理量が少ないと判断される場合には、不揮発メモリ3への電源供給を停止する。動作中の第1コア部9と第2コア部11の数だけで、プロセッサコア2の処理量を判断するため、不揮発メモリ3への電源供給を停止するか否かの判断を迅速に行うことができる。
このように、本実施形態では、階層化されたキャッシュメモリ中の少なくとも1階層のキャッシュメモリを不揮発メモリ3とし、プロセッサコア2の処理量に応じて、不揮発メモリ3への電源供給を制御するため、キャッシュメモリでの消費電力を削減できる。特に、本実施形態では、STT−MRAM等の高速の不揮発メモリ3をキャッシュメモリとして用いるため、従来のようにSRAMにてキャッシュメモリを構成する場合と比べて、アクセス性能を低下させずに、大幅に消費電力を削減できる。SRAMは揮発メモリであり、SRAMへの電源電圧を停止させるには、事前にSRAM内のデータを待避させるなどの処理が必要となるが、本実施形態のように、不揮発メモリ3を用いる場合は、電源電圧の供給を停止しても、不揮発メモリ3内のデータは消失しないため、SRAMよりも簡易な制御で不揮発メモリ3への電源供給を停止できる。これはすなわち、より長期間にわたって不揮発メモリ3への電源供給を停止できることなり、その分消費電力の削減が図れる。
(第2の実施形態)
第2の実施形態は、動作中のコア部の数とコア部の重み係数とに基づいて、不揮発メモリ3に電源電圧を供給するか否かを判断するものである。
第2の実施形態は、動作中のコア部の数とコア部の重み係数とに基づいて、不揮発メモリ3に電源電圧を供給するか否かを判断するものである。
図5は第2の実施形態によるメモリコントローラ4の電源管理処理を示すフローチャートである。まず、動作中の第1コア部9の数N_bigおよび重み係数α_bigと、動作中の第2コア部11の数N_littleおよび重み係数α_littleとを取得する(ステップS21)。ここで、重み係数α_big、α_littleとは、第1コア部9または第2コア部11の処理量を数値化したものである。重み係数に、動作中のコア部の数を乗じた乗算値は、動作中の第1コア部9または第2コア部11の全処理量に相当する。重み係数は、各コア部に依存した固定値であるため、予め、メモリコントローラ4が重み係数をレジスタ等に記憶しておけばよい。一方、動作中の第1コア部9および第2コア部11の数は、上述したように、電源管理ユニット5から取得する。
次に、各コア部ごとに、重み係数α_big、α_littleに動作中のコア部の数N_big、N_littleを乗じた乗算値を算出するとともに、各コア部の乗算値を足し合わせた合算値Wを算出する(ステップS22)。この合算値Wは、プロセッサコア2の全体での処理量に相当し、以下の(1)式で表される。
合算値W=N_big×α_big+N_little×α_little …(1)
次に、合算値Wが所定の閾値β_onoffより大きいか否かを判定する(ステップS23)。大きい場合には、プロセッサコア2の処理量が多いと判断して、メモリコントローラ4は、不揮発メモリ3への電源供給を行う(ステップS24)。ステップS23で、合算値Wが閾値β_onoff以下と判定されると、プロセッサコア2の処理量が少ないと判断して、メモリコントローラ4は、不揮発メモリ3への電源供給を停止する(ステップS25)。
このように、第2の実施形態では、動作中の第1コア部9と第2コア部11の数と重み係数とを乗じることにより、プロセッサコア2の処理量を簡易かつ精度よく見積もることができる。よって、不揮発メモリ3への電源供給を停止するタイミングを最適化できる。
(第3の実施形態)
第3の実施形態は、不揮発メモリ3に対する単位時間当たりのアクセス回数に基づいて、不揮発メモリ3に電源電圧を供給するか否かを判断するものである。
第3の実施形態は、不揮発メモリ3に対する単位時間当たりのアクセス回数に基づいて、不揮発メモリ3に電源電圧を供給するか否かを判断するものである。
図6は第3の実施形態によるメモリコントローラ4の電源管理処理を示すフローチャートである。まず、メモリコントローラ4は、不揮発メモリ3に対する単位時間当たりのアクセス回数を計測する(ステップS31)。ここでは、アクセス回数として、リード要求の回数N_a_readを計測する。リード要求の回数N_a_readを計測するのは、不揮発メモリ3への電源供給を停止するか否かを判断する指標としては、書込み要求の回数よりも、リード要求の回数N_a_readの方が重要なためである。また、不揮発メモリ3への電源供給を停止したとしても、書込み要求については、不揮発メモリ3の代わりにメモリバッファ6にデータを書き込めるため、アクセス処理上の問題は起きない。
次に、アクセス回数N_a_readが所定の閾値γ_onoffより大きいか否かを判定する(ステップS32)。アクセス回数N_a_readが閾値γ_onoffより大きいと判断される場合には、プロセッサコア2の処理量が多いと判断して、不揮発メモリ3への電源供給を行う(ステップS33)。一方、ステップS32で、アクセス回数N_a_readが閾値γ_onoff以下と判断される場合には、プロセッサコア2の処理量は少ないと判断して、不揮発メモリ3への電源供給を停止する(ステップS34)。
このように、第3の実施形態によるメモリコントローラ4は、不揮発メモリ3に対するアクセス回数によって、不揮発メモリ3への電源供給を停止するか否かを判断する。例えば、プロセッサコア2の処理量が比較的多い場合であっても、不揮発メモリ3に対するリード要求がほとんどない場合は、不揮発メモリ3への電源電圧の供給を停止しても、実害はない。そこで、本実施形態では、プロセッサコア2の処理量に関係なく、不揮発メモリ3に対するリード要求の頻度が少ない場合に不揮発メモリ3への電源供給を停止するため、より消費電力を削減できる。
(第4の実施形態)
第4の実施形態は、不揮発メモリ3への電源供給を部分的に切り替えるものである。
第4の実施形態は、不揮発メモリ3への電源供給を部分的に切り替えるものである。
図7は第4の実施形態による不揮発メモリ3の構造を模式的に示す図である。図7の不揮発メモリ3は、複数のメモリ領域を有する。以下、これらのメモリ領域をウェイw1〜w8と呼ぶ。各ウェイは、それぞれ専用の不図示のタグメモリによってアクセス可能である。メモリコントローラ4は、各ウェイに電源電圧を供給するか否かを個別独立に制御することができる。
図8は第4の実施形態によるメモリコントローラ4の電源管理処理を示すフローチャートである。図8の電源管理処理は、第1の実施形態と同様に、動作中のコア部の数に応じて、不揮発メモリ3への電源供給を判断するものである。
まず、動作中の第1コア部9の数N_bigと、動作中の第2コア部11の数N_littleとを計測する(ステップS41)。次に、動作中の第1コア部9の数N_bigが閾値(第1閾値)N_Ac_bigより大きく、かつ動作中の第2コア部11の数N_littleが閾値(第1閾値)N_Ac_littleより大きいか否かを判定する(ステップS42)。ステップS42の判定がYESの場合、プロセッサコア2の処理量が多いと判断されるため、メモリコントローラ4は、不揮発メモリ3への電源供給を行う(ステップS43)。
ステップS42の判定がNOの場合、動作中の第1コア部9の数N_bigが閾値(第2閾値)N_HalfAc_bigより大きく、かつ動作中の第2コア部11の数N_littleが閾値(第2閾値)N_HalfAc_littleより大きいか否かを判定する(ステップS44)。閾値N_HalfAc_bigは、例えば閾値N_Ac_bigより小さい値(例えば、半分の値)であり、閾値N_HalfAc_littleは、例えば閾値N_Ac_littleより小さい値(例えば、半分の値)である。
ステップS44の判定がYESの場合、不揮発メモリ3内の一部のウェイの電源供給を停止し、残りのウェイのみに電源供給を行う(ステップS45)。
ステップS44の判定がNOの場合、不揮発メモリ3内のすべてのウェイの電源供給を停止する(ステップS46)。
なお、図8の電源管理処理では、動作中の各コア部の数N_big、N_littleを、それぞれ2種類の閾値と比較して、不揮発メモリ3への電源供給を制御しているが、3種類以上の閾値を設けて、不揮発メモリ3への電源供給をより細かく制御してもよい。
このように、第4の実施形態では、不揮発メモリ3内の複数のメモリ領域への電源供給を細かく切替制御するため、プロセッサコア2の処理量に応じて、不揮発メモリ3への電源供給をより細かく制御できる。
(第5の実施形態)
第5の実施形態は、第2の実施形態において、不揮発メモリ3への電源供給を部分的に切り替えることができるようにしたものである。
第5の実施形態は、第2の実施形態において、不揮発メモリ3への電源供給を部分的に切り替えることができるようにしたものである。
図9は第5の実施形態によるメモリコントローラ4の電源管理処理を示すフローチャートである。まず、動作中の第1コア部9の数N_bigおよび重み係数α_bigと、動作中の第2コア部11の数N_littleおよび重み係数α_littleとを取得する(ステップS51)。
次に、各コア部ごとに、重み係数α_big、α_littleに動作中のコア部の数N_big、N_littleを乗じた乗算値を算出するとともに、各コア部の乗算値を足し合わせた合算値Wを算出する(ステップS52)。
次に、合算値Wが所定の閾値(第3閾値)β_onoffより大きいか否かを判定する(ステップS53)。大きい場合には、プロセッサコア2の処理量が多いと判断して、メモリコントローラ4は、不揮発メモリ3への電源供給を行う(ステップS54)。ステップS13で、合算値が閾値β_onoff以下と判定されると、合算値Wが閾値(第4閾値)β_Half_onoffより大きいか否かを判定する(ステップS55)。
合算値Wが閾値β_Half_onoffより大きい場合には、不揮発メモリ3内の一部のウェイの電源供給を停止し、残りのウェイのみに電源供給を行う(ステップS56)。閾値β_Half_onoffは、例えば閾値β_onoffの半分の値である。
合算値Wが閾値β_Half_onoff以下の場合には、不揮発メモリ3内のすべてのウェイの電源供給を停止する(ステップS57)。
なお、図9の電源管理処理では、合算値Wを2種類の閾値と比較して、不揮発メモリ3への電源供給を制御しているが、3種類以上の閾値を設けて、不揮発メモリ3への電源供給をより細かく制御してもよい。
このように、第5の実施形態では、動作中のコア部の数および重み係数に応じて、不揮発メモリ3への電源供給をより細かく切替制御することができる。
(第6の実施形態)
第5の実施形態は、第3の実施形態において、不揮発メモリ3への電源供給を部分的に切り替えることができるようにしたものである。
第5の実施形態は、第3の実施形態において、不揮発メモリ3への電源供給を部分的に切り替えることができるようにしたものである。
図10は第6の実施形態におけるメモリコントローラ4の電源管理処理を示すフローチャートである。まず、メモリコントローラ4は、不揮発メモリ3に対する単位時間当たりのアクセス回数(例えばリード要求の回数)N_a_readを計測する(ステップS61)。
次に、アクセス回数N_a_readが所定の閾値(第5閾値)γ_onoffより大きいか否かを判定する(ステップS62)。アクセス回数N_a_readが閾値γ_onoffより大きいと判断される場合には、プロセッサコア2の処理量が多いと判断して、不揮発メモリ3への電源供給を行う(ステップS63)。一方、ステップS62で、アクセス回数N_a_readが閾値γ_onoff以下と判断される場合には、アクセス回数N_a_readが閾値(第6閾値)γ_Half_onoffより大きいか否かを判定する(ステップS64)。閾値γ_Half_onoffは、例えば閾値γ_onoffの半分の値である。
アクセス回数N_a_readが閾値γ_Half_onoffより大きい場合には、不揮発メモリ3内の一部のウェイの電源供給を停止し、残りのウェイのみに電源供給を行う(ステップS65)。アクセス回数N_a_readが閾値γ_Half_onoff以下の場合には、不揮発メモリ3内のすべてのウェイの電源供給を停止する(ステップS66)。
なお、図10の電源管理処理では、アクセス回数N_a_readを2種類の閾値と比較して、不揮発メモリ3への電源供給を制御しているが、3種類以上の閾値を設けて、不揮発メモリ3への電源供給をより細かく制御してもよい。
このように、第6の実施形態では、不揮発メモリ3へのアクセス回数に応じて、不揮発メモリ3への電源供給をより細かく切替制御することができる。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1 プロセッサシステム、2 プロセッサコア、3 不揮発メモリ、4 メモリコントローラ、5 電源管理ユニット、6 メモリバッファ、7 第1コア、8 第2コア、9 第1コア部、10 L2キャッシュ、11 第2コア部、12 内部バス、13 メインメモリ、
Claims (18)
- それぞれ処理能力が異なる複数のコア部を複数個ずつ有するプロセッサコアと、
前記プロセッサコアによってアクセスされる不揮発メモリと、
前記不揮発メモリに対するアクセス制御を行うとともに、動作中の前記コア部の数と、前記コア部の重み係数と、前記不揮発メモリに対する単位時間当たりのアクセス回数と、の少なくとも一つに基づいて、前記不揮発メモリに電源電圧を供給するか否かを制御するメモリコントローラと、を備えるプロセッサシステム。 - 前記処理能力が異なる前記コア部ごとに設けられる複数の第1キャッシュメモリを備え、
同一の処理能力を有する複数の前記コア部は、対応する前記第1キャッシュメモリにアクセスし、
前記メモリコントローラは、前記不揮発メモリと前記複数の第1キャッシュメモリとに対するアクセス制御を行う請求項1に記載のプロセッサシステム。 - 前記メモリコントローラは、前記複数のコア部のうち処理能力が異なるもののそれぞれについて、動作中のコア部の数が対応する閾値より大きいか否かを判定して前記不揮発メモリに電源電圧を供給するか否かを制御する請求項1に記載のプロセッサシステム。
- 前記メモリコントローラは、処理能力が異なる前記複数のコア部の中の少なくとも一つについて、動作中のコア部の数が前記閾値以下であれば、前記不揮発メモリへの電源電圧の供給を停止する請求項3に記載のプロセッサシステム。
- 前記メモリコントローラは、前記複数のコア部のうち処理能力が異なるもののそれぞれについて、動作中のコア部の数に、対応する重み係数を乗じた乗算値を演算し、これら乗算値に基づいて、前記不揮発メモリに電源電圧を供給するか否かを制御する請求項1に記載のプロセッサシステム。
- 前記メモリコントローラは、前記複数のコア部のうち処理能力が異なるものごとに計算された前記乗算値を足し合わせた合算値が所定の閾値以下の場合には、前記不揮発メモリへの電源電圧の供給を停止する請求項5に記載のプロセッサシステム。
- 前記重み係数は、対応する前記コア部の処理量に応じた値である請求項5または6に記載のプロセッサシステム。
- 前記メモリコントローラは、前記不揮発メモリに対する単位時間当たりのアクセス回数が所定の閾値以下の場合には、前記不揮発メモリへの電源電圧の供給を停止する請求項1に記載のプロセッサシステム。
- 前記アクセス回数は、前記プロセッサコアによる前記不揮発メモリに対する読出要求の回数である請求項8に記載のプロセッサシステム。
- 前記不揮発メモリは、電源電圧を供給するか否かを個別独立に切替可能な複数のメモリ領域を有し、
前記メモリコントローラは、動作中の前記コア部の数と、前記コア部の重み係数と、前記不揮発メモリに対する単位時間当たりのアクセス回数と、の少なくとも一つに基づいて、前記不揮発メモリ中のすべての前記メモリ領域に電源電圧を供給するか、一部の前記メモリ領域への電源電圧の供給を停止するか、前記不揮発メモリ中のすべての前記メモリ領域への電源電圧の供給を停止するかを制御する請求項1に記載のプロセッサシステム。 - 前記メモリコントローラは、前記複数のコア部のうち処理能力が異なるもののそれぞれについて、動作中のコア部の数が第1閾値より大きい場合には前記不揮発メモリ中のすべての前記メモリ領域に電源電圧を供給し、前記数が前記第1閾値以下で第2閾値より大きい場合には前記不揮発メモリ中の一部の前記メモリ領域への電源電圧の供給を停止し、前記数が前記第2閾値以下の場合には、前記不揮発メモリ中のすべての前記メモリ領域への電源電圧の供給を停止する請求項10に記載のプロセッサシステム。
- 前記メモリコントローラは、前記複数のコア部のうち処理能力が異なるものごとに、動作中のコア部の数に、対応する前記コア部の重み係数を乗じた乗算値を演算し、これら乗算値を処理能力が異なる前記コア部ごとに足し合わせた合算値が第3閾値より大きい場合には前記不揮発メモリ中のすべての前記メモリ領域に電源電圧を供給し、前記合算値が前記第3閾値以下で第4閾値より大きい場合には、前記不揮発メモリ中の一部の前記メモリ領域への電源電圧の供給を停止し、前記合算値が前記第4閾値以下の場合には、前記不揮発メモリ中のすべての前記メモリ領域への電源電圧の供給を停止する請求項10に記載のプロセッサシステム。
- 前記メモリコントローラは、前記不揮発メモリに対する単位時間当たりのアクセス回数が第5閾値より大きい場合には前記不揮発メモリ中のすべての前記メモリ領域に電源電圧を供給し、前記アクセス回数が前記第5閾値以下で第6閾値より大きい場合には、前記不揮発メモリ中の一部の前記メモリ領域への電源電圧の供給を停止し、前記アクセス回数が前記第6閾値以下の場合には、前記不揮発メモリ中のすべての前記メモリ領域への電源電圧の供給を停止する請求項10に記載のプロセッサシステム。
- 前記不揮発メモリは、前記複数のコア部がメインメモリよりも優先してアクセスする第2キャッシュメモリである請求項1乃至13のいずれかに記載のプロセッサシステム。
- 前記複数のコア部のそれぞれに設けられた1次キャッシュメモリと、
前記1次キャッシュメモリよりアクセス優先度が低く、かつ前記メインメモリよりもアクセス優先度が高い、2次キャッシュメモリを含む高次キャッシュメモリと、を有し、
前記第2キャッシュメモリは、前記高次キャッシュメモリに含まれる少なくとも1階層のキャッシュメモリである請求項14に記載のプロセッサシステム。 - 前記複数のコア部のそれぞれに設けられた1次キャッシュメモリと、
処理能力が異なる前記コア部ごとに設けられ、前記1次キャッシュメモリの次に優先してアクセスされる複数の2次キャッシュメモリと、
前記複数の2次キャッシュメモリよりアクセス優先度が低く、かつ前記メインメモリよりアクセス優先度が高い、3次キャッシュメモリを含む高次キャッシュメモリと、を備え、
前記第2キャッシュメモリは、前記高次キャッシュメモリに含まれる少なくとも1階層のキャッシュメモリである請求項14に記載のプロセッサシステム。 - 前記メモリコントローラが前記不揮発メモリへの電源電圧の供給を停止している間に、前記不揮発メモリに対して書込み要求のあったデータを記憶するデータ記憶部を備える請求項1乃至16のいずれかに記載のプロセッサシステム。
- 前記不揮発メモリは、MRAM(Magnetoresistive Random Access Memory)である請求項1乃至17のいずれかに記載のプロセッサシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015133013A JP6074463B2 (ja) | 2015-07-01 | 2015-07-01 | プロセッサシステム、メモリ制御回路およびメモリシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015133013A JP6074463B2 (ja) | 2015-07-01 | 2015-07-01 | プロセッサシステム、メモリ制御回路およびメモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017016427A true JP2017016427A (ja) | 2017-01-19 |
JP6074463B2 JP6074463B2 (ja) | 2017-02-01 |
Family
ID=57830673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015133013A Active JP6074463B2 (ja) | 2015-07-01 | 2015-07-01 | プロセッサシステム、メモリ制御回路およびメモリシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6074463B2 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008243049A (ja) * | 2007-03-28 | 2008-10-09 | Toshiba Corp | 情報処理装置および同装置のメモリ制御方法 |
WO2010137164A1 (ja) * | 2009-05-29 | 2010-12-02 | 富士通株式会社 | キャッシュ制御装置およびキャッシュ制御方法 |
JP2013235576A (ja) * | 2012-05-08 | 2013-11-21 | Samsung Electronics Co Ltd | マルチcpuシステムとそれを含むコンピューティングシステム |
WO2014067866A1 (en) * | 2012-10-29 | 2014-05-08 | St-Ericsson Sa | Methods for compilation, a compiler and a system |
JP2015022330A (ja) * | 2013-07-16 | 2015-02-02 | 株式会社東芝 | メモリ制御回路およびプロセッサ |
-
2015
- 2015-07-01 JP JP2015133013A patent/JP6074463B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008243049A (ja) * | 2007-03-28 | 2008-10-09 | Toshiba Corp | 情報処理装置および同装置のメモリ制御方法 |
WO2010137164A1 (ja) * | 2009-05-29 | 2010-12-02 | 富士通株式会社 | キャッシュ制御装置およびキャッシュ制御方法 |
JP2013235576A (ja) * | 2012-05-08 | 2013-11-21 | Samsung Electronics Co Ltd | マルチcpuシステムとそれを含むコンピューティングシステム |
WO2014067866A1 (en) * | 2012-10-29 | 2014-05-08 | St-Ericsson Sa | Methods for compilation, a compiler and a system |
JP2015022330A (ja) * | 2013-07-16 | 2015-02-02 | 株式会社東芝 | メモリ制御回路およびプロセッサ |
Also Published As
Publication number | Publication date |
---|---|
JP6074463B2 (ja) | 2017-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6030085B2 (ja) | キャッシュメモリおよびプロセッサシステム | |
KR101902651B1 (ko) | 이용 트렌드에 기초한 다중 세트 그룹들 내의 통로에 의한 캐시 메모리의 동적 전력 공급 | |
JP6364365B2 (ja) | 半導体記憶装置 | |
US9557801B2 (en) | Cache device, cache system and control method | |
KR20160139000A (ko) | 에너지 효율적 동적 dram 캐시 사이징 | |
US8484418B2 (en) | Methods and apparatuses for idle-prioritized memory ranks | |
US10162762B2 (en) | Managing memory based on hint data generated from mapping data entries | |
US20180046389A1 (en) | Memory controller and memory system including the same | |
CN108572799B (zh) | 一种双向哈希链表的异构内存***数据页迁移方法 | |
KR101298171B1 (ko) | 메모리 시스템 및 그 관리 방법 | |
Quan et al. | Prediction table based management policy for STT-RAM and SRAM hybrid cache | |
TW201805930A (zh) | 快取功率管理 | |
US9645635B2 (en) | Selective power gating to extend the lifetime of sleep FETs | |
US10606517B2 (en) | Management device and information processing device | |
JP5992592B1 (ja) | キャッシュメモリシステム | |
JP6074463B2 (ja) | プロセッサシステム、メモリ制御回路およびメモリシステム | |
JP2019164629A (ja) | モデル生成装置、情報処理装置、モデル生成方法およびプログラム | |
JP5699847B2 (ja) | 制御装置及び方法 | |
JP2019164659A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2019164630A (ja) | 推定装置、推定方法およびプログラム | |
TWI663543B (zh) | Memory system | |
KR101502998B1 (ko) | 메모리 시스템 및 그 관리 방법 | |
US20190095122A1 (en) | Memory management system, computing system, and methods thereof | |
US20160154736A1 (en) | Cache controlling method for memory system and cache system thereof | |
JP5477384B2 (ja) | 半導体集積回路装置および半導体集積回路装置の制御方法、ならびに、キャッシュ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20161209 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170106 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6074463 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |