JP4262233B2 - 半導体装置とその制御方法 - Google Patents

半導体装置とその制御方法 Download PDF

Info

Publication number
JP4262233B2
JP4262233B2 JP2005303122A JP2005303122A JP4262233B2 JP 4262233 B2 JP4262233 B2 JP 4262233B2 JP 2005303122 A JP2005303122 A JP 2005303122A JP 2005303122 A JP2005303122 A JP 2005303122A JP 4262233 B2 JP4262233 B2 JP 4262233B2
Authority
JP
Japan
Prior art keywords
processor
processors
supply voltage
shared resource
access
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
Application number
JP2005303122A
Other languages
English (en)
Other versions
JP2007114856A (ja
Inventor
宏 中村
正章 近藤
Original Assignee
株式会社半導体理工学研究センター
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 株式会社半導体理工学研究センター filed Critical 株式会社半導体理工学研究センター
Priority to JP2005303122A priority Critical patent/JP4262233B2/ja
Publication of JP2007114856A publication Critical patent/JP2007114856A/ja
Application granted granted Critical
Publication of JP4262233B2 publication Critical patent/JP4262233B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Memory System (AREA)
  • Power Sources (AREA)

Description

本発明は、半導体装置、例えば複数のプロセッサを1チップに搭載したチップ・マルチ・プロセッサ(Chip Multi Processor:CMP)とその制御方法に関する。
近年、消費電力や発熱の増加に伴い、クロック周波数を増加することによるプロセッサの高性能化が望めなくなりつつある。このため、VLSIチップにおける性能向上手段として、CMPが今後の有効なアーキテクチャとして注目されている。複数のプロセッサコア(PU)を1チップに搭載したCMPにより、シングルタスクの並列処理、あるいは複数タスクの並行処理を行なうことにより、高い処理能力を得ることができる。したがって、周波数の増大によらずプロセッサの高性能化が可能であるため、性能あたりの消費電力効率が向上すると期待されている。
CMPではリソースを有効活用するため、複数のPUがあるメモリ階層以下(例えばL2キャッシュ以下)にあるキャッシュやバスを共有することが一般的である。この共有リソースの使用率はプログラムの性質に大きく依存し、同時に実行するプログラムの組み合わせによってはリソース競合が発生する。したがって、あるPUで実行されているプログラムの性能は、他のPU上で実行されているプログラムに大きく影響を受ける。
従来、CMPにおける共有キャッシュに着目し、PU間でのキャッシュ競合によるミスの増加を防ぐことによって、アプリケーション実行のスループットを向上させる手法が提案されている(例えば非特許文献1参照)。また、プログラムを単独で実行した場合、すなわち競合がない場合に比べて、CMP上で複数のプログラムを実行した際に、各プログラムの性能がどの程度低下するかの公平さを示す指標であるフェアネス(Fairness)を向上させる手法も提案されている(例えば非特許文献2参照)。これら従来技術は、キャッシュを論理的なパーティションに分割し、それらを各プログラム専用の領域として割り当てることで、キャッシュ上での競合を防ぎつつ効率的な実行を可能としている。競合が発生すると、特定のプロセスの性能が大きく低下する。このため、上記従来技術は、キャッシュ領域を分割することにより性能低下を防止してフェアネスを向上させている。また、チップ全体に関して、トータルのL2キャッシュミスを減少させることにより、高性能化を達成している。
G.E.Suh、 S.Devadas、 and L.Rudolph、 "A New Memory Monitoring Scheme for Memory-Aware Scheduling and Partitioning"、 In Proc. 8th high Performance Computer Architecture、 pp. 117-128、 Feb.2002. S.Kim、 D.Chandra、 and Y.Solihin、 "Fair Cache Sharing and Partitioning in a Chip Multiprocessor Architecture"、 In Proc. 13th PACT、 pp.111-122、 Oct. 2004.
しかし、共有リソースの競合はキャッシュ以外の共有リソースにおいても発生し、しかも競合が発生した場合消費エネルギーの増大を招く。このため、フェアネスを向上して性能(トータルスループット)も向上でき、しかも、低消費電力化が可能な技術の開発が望まれている。
本発明は、フェアネスを向上して高性能化及び低消費電力を実現することが可能な半導体装置とその制御方法を提供しようとするものである。
本発明の半導体装置の態様は、複数のプロセッサと、前記プロセッサに共有される共有リソースと、複数の前記プロセッサが前記共有リソースをアクセスする場合、アクセスが待たされたことを示すウェイト数を前記プロセッサ毎に検出する検出部と、複数の前記プロセッサのうち、前記検出部により検出されたウェイト数が小さいプロセッサの動作周波数と電源電圧を低下させ、ウェイト数が大きいプロセッサの動作周波数と電源電圧上昇させることにより、前記共有リソースのアクセス率を調整する制御部とを具備することを特徴とする。
本発明の半導体装置の態様は、複数のプロセッサと、前記プロセッサに共有される共有リソースと、複数の前記プロセッサが前記共有リソースをアクセスする場合、アクセスを阻害したことを示す阻害度を前記プロセッサ毎に検出する検出部と、複数の前記プロセッサのうち、前記検出部により検出された阻害度が大きいプロセッサの動作周波数と電源電圧を低下させ、阻害度が小さいプロセッサの動作周波数と電源電圧上昇させることにより、前記共有リソースのアクセス率を調整する制御部とを具備することを特徴とする。
本発明の半導体装置の製造方法の態様は、複数のプロセッサの共通リソースに対するアクセスが待たされたことを示すウェイト数をプロセッサ毎に検出し、複数の前記プロセッサのうち、前記検出されたウェイト数が小さいプロセッサの動作周波数と電源電圧を低下させ、ウェイト数が大きいプロセッサの動作周波数と電源電圧上昇させることにより、前記共通リソースのアクセス率を調整することを特徴とする。
本発明の半導体装置の製造方法の態様は、複数のプロセッサの共通リソースに対するアクセスを阻害したことを示す阻害度をプロセッサ毎に検出し、複数の前記プロセッサのうち、前記検出された阻害度が大きいプロセッサの動作周波数と電源電圧を低下させ、阻害度が小さいプロセッサの動作周波数と電源電圧上昇させることにより、前記共通リソースのアクセス率を調整することを特徴とする。
本発明によれば、フェアネスを向上して高性能化及び低消費電力を実現することが可能な半導体装置その制御方法を提供できる。
以下、本発明の実施の形態について、図面を参照して説明する。
本実施形態は、従来のように、キャッシュを分割するのではなく、各PUの動作周波数、及び電源電圧を動的電源電圧/周波数制御(Dynamic Voltage/Frequency Scaling:DVFS)手法によって制御することにより、フェアネスを向上し、高性能化及び低消費電力を実現する技術を提案する。一例として、キャッシュミス時にメモリバスの競合が多く発生して性能低下の大きな原因となることに着目し、バスの競合を監視して競合による性能低下を示すストール率を測定する。この測定したストール率に応じて、各PUの性能低下が一定となるよう、周波数、及び電源電圧を制御する。すなわち、あるプロセスのキャッシュミス率が高く、バスに対するアクセスが頻発する場合、他方のプロセスの性能低下が相対的に大きくなる。この場合、フェアネスを維持することが困難となる。このため、頻繁にバスをアクセスするPUの周波数、及び電源電圧を低下させることによりバスアクセスを抑制し、他のプロセスのバスアクセスを円滑化することで、フェアネスを向上させる。
(第1の実施形態)
図1は、第1の実施形態に係る構成図を示している。図1において、CMP11は、例えば2つのプロセッサコアPU0、PU1を有している。プロセッサコアの数は2つに限定されるものではない。PU0、PU1は、電源電圧、及び動作周波数が独立に制御可能とされている。さらに、PU0、PU1は、L2キャッシュ11−1を共有している。L2キャッシュ11−1は、アクセス率検出部12を介して共有リソースとしてのメモリバス13に接続されている。このメモリバス13には、主記憶としてのメモリ(例えばDRAM)14が接続されている。共有リソースとしては、メモリバス13、メモリ14以外に、図示せぬコプロセッサ等であってもよい。
前記アクセス率検出部12は、リクエストキュー12−1、カウンタ12−2、12−3、レジスタ12−4、信号生成回路12−5、カウンタ12−6、12−7により構成されている。前記リクエストキュー12−1は、例えばファースト・イン・ファースト・アウト・レジスタ12−1により構成され、L2キャッシュ11−1とメモリバス13の間に接続されている。このリクエストキュー12−1は、L2キャッシュから供給されるPU0、PU1のリクエストを記憶する。カウンタ12−2、12−3は、リクエストキュー12−1の入力端に接続され、PU0、PU1の未解決のバスリクエスト数Creq0、Creq1をそれぞれカウントする。すなわち、カウンタ12−2、12−3は、PU0、PU1においてキャッシュミスが発生し、バスリクエストが発生されると、このリクエスト数をカウントする。
また、レジスタ12−4は、リクエストキュー12−1の出力端に接続されている。リクエストキュー12−1は、バスリクエストとして、例えばアドレス(addr)と、このバスリクエストがどのPUからのものかを示すPU番号PU#i(i=0,1)を保持する。レジスタ12−4は、リクエストキュー12−1にリクエストが存在する場合、リクエストキュー12−1からメモリバス13へ転送されるバスリクエストに含まれるPU番号PU#iを保持する。
信号生成回路12−5の入力端には、カウンタ12−2、12−3からバスリクエスト数Creq0、Creq1が供給され、レジスタ12−4からPU番号PU#iが供給される。この信号生成回路12−5は、例えば比較回路により構成されている。
図2は、信号生成回路12−5の動作を示している。信号生成回路12−5は、前記バスサイクル毎に、カウンタ12−2、12−3から供給されるバスリクエスト数Creq0、Creq1とレジスタ12−4から供給されるPU番号PU#iとを比較する(S1)。仮に、カウンタ12−2から供給されるPU0のバスリクエスト数Creq0が1以上であり、レジスタ12−4から供給されるPU番号PU#iがPU0ではない場合、その時間、PU0はバス競合のため、リクエストが待たされたこととなる。信号生成回路12−5は、Creqi (i = 0、 1) > 0、且つPU# ≠ i である場合、カウンタをインクリメントするための信号を出力する(S2)。
信号生成回路12−5の出力端には、カウンタ12−6、12−7が接続されている。カウンタ12−6は、バスサイクル毎に信号生成回路12−5の出力信号をカウントし、PU0のリクエストが待たされたサイクル数をウェイト数Cwait0としてカウントする。同様に、カウンタ12−7は、バスサイクル毎に信号生成回路12−5の出力信号をカウントし、PU1のリクエストが待たされたサイクル数をウェイト数Cwait1としてバスサイクル毎にカウントする。ウェイト数Cwaiti(i=0、1)は、バス競合によるストール時間と考えられるため、Cwaitiを比較することにより、各プロセスの性能低下を予測できる。Cwaitiが相対的に大きい場合、性能低下が大きく、Cwaitiが小さい場合、性能低下が小さいこととなる。
カウンタ12−6、12−7の出力信号は、周波数決定回路15に供給される。この周波数決定回路15は、例えば2つの閾値Th、Thを有する比較回路により構成されている。周波数決定回路15は、一定のタイムインターバルTitvl毎に、カウンタ12−6、12−7から供給されるウェイト数Cwait0、Cwait1に基づき、PU0、PU1の周波数及び電源電圧を制御するための信号を出力する。
は、周波数決定回路15の動作を示すフローチャートである。フェアネスを維持するためには、Cwaitiが等しくなるようにPU0、PU1の周波数及び電源電圧を制御すればよい。
具体的には、Cwaitiが相対的に大きいPUの周波数を上げ、小さいPUの周波数を下げるように制御する。このため、周波数決定回路15は、先ず、一定のタイムインターバルTitvlを経過すると(S11)、式(1)で示すCwaitiの平均値Cwaitavgを算出する(S12)。
Cwaitavg=(Cwait0+Cwait1)/2 …(1)
この後、式(2)で示すPU毎のCwaitiと平均値Cwaitavgとの差分diffiが算出される(S13)。
diffi=Cwaitavg−Cwaiti …(2)
次に、差分diffiと上限の閾値Thとが比較される(S14)。この結果、差分diffiが上限の閾値Thより大きい場合、PUiの周波数及び電源電圧が1レベル低下される(S15)。
次いで、差分diffiと下限の閾値Thとが比較される(S16)。この結果、差分diffiが下限の閾値Thより小さい場合、PUiの周波数及び電源電圧が1レベル上昇される(S17)。上記比較の結果、いずれの場合でもない場合、周波数及び電源電圧は変更しない。
尚、カウンタ12−6、12−7は、タイムインターバルTitvl毎にリセットされる。
上記のようにして、周波数決定回路15から、PUiの周波数及び電源電圧を上昇又は低下させるための信号C又はCが出力される。この信号C又はCは、周波数制御回路16に供給される。この周波数制御回路16は、信号C又はCに基づき、PU0又はPU1の周波数及び電源電圧を上昇又は低下させる。
図4(a)(b)、及び図5は、第1の実施形態を評価するシミュレーションのパラメータを示している。図4(a)は、評価対象の各PUのシミュレーションパラメータの一例を示し、図4(b)は、共有L2キャッシュなど共有リソースのシミュレーションパラメータの一例を示している。また、PUの数は例えば2個である。PUの周波数、電源電圧は、例えばインテル社製 Pentium (登録商標)M プロセッサの設定をベースとして、図5に示す7通りのレベルを仮定した。
尚、電源電圧の低下には限界があるため、400MHz以下の電源電圧は同一値を用いた。また、タイムインターバルTitvl、下限の閾値Th、上限の閾値Thは、例えば次のように仮定した。
Titvl : 250000 bus-cycle = 625(μs)
Th : 20000、Th : 10000
上記仮定に基づき、第1の実施形態に係るCMPと、常に最高周波数で動作する通常のCMPとを比較する。
図6は、例えば36のベンチマークプログラムの組合せを評価した結果を示しており、オリジナルのフェアネスを1とした場合に対する第1の実施形態の制御方法による相対的なフェアネスの値を示している。フェアネスの値Fairijは、式(3)に示す通りである。
Fairij =|X−X| …(3)
ここで、X=IPSshri/IPSdedi、X=IPSshrj/IPSdedj、IPSdedi、IPSdedjは、リソース共有の影響がない場合でのプロセスi、jの性能、IPSshri、IPSshrjは、複数のプロセスが動作している状況下でのプロセスi、jの性能であり、nプロセスを実行した場合の性能である。
Fairijは、値が小さいほど良いこととなる。
図6に示すように、シミュレーションの結果、殆どのプログラムにおいて、フェアネスが向上していることが分かる。特にキャッシュミス率が比較的高いプログラムの組合せの場合にフェアネスの向上が大きい。キャッシュミス率が高い場合、バスへのアクセスが頻繁に生じ競合も発生しやすい。このため、オリジナルでは、フェアネスが悪くなることが多い。これに対して、第1の実施形態によれば、バスの競合による性能への影響を各プロセスで公平になるように周波数を制御しているため、フェアネスを大きく向上することができる。
図6において、art + apsi、 mcf + equake、及び lucas +bzip 2 のプログラムにおいて、フェアネスが悪化している。これらのプログラムは、オリジナルの場合、非常によいフェアネスを達成していたが、本実施形態により周波数を制御した結果、性能低下率の調整が過度であったため、フェアネスが悪化したものである。しかし、本実施形態の場合でも、両プログラムの性能低下率の差、すなわち、Fairij の絶対値はそれぞれ、0.05、0.02、0.06と非常に小さく、本実施形態でのフェアネスの悪化は殆ど問題とならない。
図7は、2PU構成の場合の性能(トータルスループット)IPStotalを通常のプロセッサの性能を1とした場合の相対値で示している。評価条件は、図6の場合と同様である。性能IPStotalは、次式(4)で表される。
N−1
IPStotal= ΣIPS …(4)
i=0
ここで、IPSは、コアiについてt(s)中に実行された命令の数がInstのときの性能であり、IPS=Inst/tで表される。
したがって、式(4)は、n個のコアを有するCMP全体の性能を表している。
図7に示すように、評価した36通りのプログラムの組合せ中、性能が向上したものが14個、性能が悪化したものが12個、オリジナルと同じ性能のものが10個という結果となった。平均では4%の性能向上を達成している。ここで、性能が低下したプログラムにおいても、フェアネスは向上している。この結果は、フェアネスの向上が必ずしも性能向上には結びつかないことを示している。しかし、プログラムlucas + swim 及び lucas + apsi を除いて性能低下の割合はそれほど大きくない。したがって、フェアネスと性能向上の両方を達成することが可能となっている。
図8は、2PU構成の場合の命令あたりの消費エネルギー削減率(Energy per committed Instruction : EPI)を示すものであり、通常のプロセッサのEPIに対する削減率を示している。評価条件は、図6と同様である。図8から明らかなように、本実施形態の場合、アクセス率が高いPUの周波数と電源電圧を低下させることにより、多くのプログラムにおいて消費エネルギー効率が向上している。したがって、性能及びエネルギー効率の両方が改善されているプログラムが多く、本実施形態はCMPにおいて有効な技術であると考えられる。
上記第1の実施形態によれば、各PUの共通リソースに対するアクセス率をウェイト数として検出し、この検出したウェイト数に応じて各PUの動作周波数、及び電源電圧を制御している。すなわち、頻繁にバスをアクセスして他のプロセスの実行を阻害しているプロセスの周波数を下げている。このため、フェアネス及び命令処理のスループットを向上させることが可能である。しかも、アクセス率が高いPUは、低い電源電圧で動作させているため、消費電力を削減でき、エネルギー効率を向上することが可能である。
(第2の実施形態)
図9、図10、図11は、第2の実施形態を示している。図9において、図1と同一部分には同一符号を付し、異なる部分についてのみ説明する。
第2の実施形態は、信号生成回路21が第1の実施形態と相違する。上記第1の実施形態において、信号生成回路12−5は、Creqi (i = 0、1) > 0、且つPU# ≠ i である場合、カウンタをインクリメントするための信号を出力していた。
これに対して、第2の実施形態の信号生成回路21は、図10に示すように、
Creqj (j ≠ i) > 0、PU# = i
である場合(S21)、信号を出力する(S22)。この条件は、バスで転送中のPU以外のPUに未解決のリクエストがある場合を示している。すなわち、PUiは、バス競合により、他のPUのリクエストを阻害していることとなる。したがって、信号生成回路21の出力端に接続されたカウンタ22、23は、リクエストを阻害していたサイクル数Cblock0、Cblock1をそれぞれカウントすることとなる。このため、カウンタ22、23によりカウントされたサイクル数Cblock0、Cblock1の値は、相対的に大きい場合、阻害度合いが大きく、相対的に小さい場合、阻害度合いが小さい。
図11は、周波数決定回路24の動作を示している。周波数決定回路24は、カウンタ22、23から供給されるサイクル数Cblock0、Cblock1を一定のタイムインターバルTitvl毎に演算する。すなわち、周波数決定回路24は、一定のタイムインターバルTitvlを経過すると(S31)、式(5)に示すように、Cblockiの平均値Cblockavgを算出する(S32)。
Cblockavg=(Cblock0+Cblock1)/2 …(5)
この後、式(6)に示すPU毎のCblockiと平均値Cblockavgとの差分diffiが算出される(S33)。
diffi=Cblocki−Cblockavg …(6)
次に、差分diffiと上限の閾値Thとが比較される(S34)。この結果、差分diffiが上限の閾値Thより大きい場合、PUiの周波数及び電源電圧が1レベル低下される(S35)。
次いで、差分diffiと下限の閾値Thとが比較される(S36)。この結果、差分diffiが下限の閾値Thより小さい場合、PUiの周波数及び電源電圧が1レベル上昇される(S37)。上記比較の結果、いずれの場合でもない場合、周波数及び電源電圧は変更しない。
周波数決定回路24から、PUiの周波数及び電源電圧を上昇又は低下させるための信号C又はCが出力される。この信号C又はCは、周波数制御回路16に供給される。この周波数制御回路16は、信号C又はCに基づき、PU0又はPU1の周波数及び電源電圧を上昇又は低下させる。
上記第2の実施形態によれば、各PUの共通リソースに対するアクセス率として阻害率を検出し、検出した阻害率に応じて各PUの動作周波数、及び電源電圧を制御している。すなわち、頻繁にバスをアクセスして他のプロセスの実行を阻害しているプロセスの周波数を下げている。したがって、第1の実施形態と同様に、フェアネス及び命令処理のスループットを向上させることができるとともに、消費電力を削減でき、エネルギー効率を向上することが可能である。
尚、上記第1、第2の実施形態は、共有リソースに対するアクセス率又は阻害率を検出することにより、各プロセッサの周波数、電圧を制御した。しかし、これに限定されるものではなく、例えば共有リソースへのアクセスイベントやイベント発生時刻をログとして記録し、そのログを解析することにより、PU毎のアクセス率や、阻害率を検出してもよい。
あるいは、実行させるプログラムのプロファイルを予め検出し、このプロファイルに応じてアクセス頻度などを予め求めておくことにより、実行時にその情報を用いることも可能である。
また、上記第1、第2の実施形態において、周波数、電源電圧は、一定のタイムインターバル毎に制御した。しかし、これに限定されるものではなく、例えば前記アクセス率検出部12にレジスタを設け、例えばプログラムのある区間のアクセス率などの情報を、このレジスタに記憶させ、再度、前記プログラムの前記区間に制御が移行された際、前記レジスタに記憶されたアクセス率と今回のアクセス率に基づき、PUの周波数、電源電圧を制御するように構成してもよい。
さらに、プログラムのコンパイル時などにおいて、予めプログラム中のある部分は、ある周波数で動作させるというようにPUの動作条件を予め設定し、この動作条件に基づきPUの周波数を制御することも可能である。
また、上記第1、第2の実施形態において、アクセス率検出部12、周波数決定回路15は、ハードウェアにより構成したが、ソフトウェアにより構成することも可能である。
その他、本発明の要旨を変えない範囲において、種々変形実施可能なことは勿論である。
第1の実施形態に係る半導体装置を示す構成図。 図1に示す信号生成回路の動作を示すフローチャート。 図1に示す周波数決定回路の動作を示すフローチャート。 図4(a)(b)は、シミュレーション条件を示す図。 シミュレーション条件を示す図。 第1の実施形態に係るフェアネスの評価結果を示す図。 第1の実施形態に係る性能の評価結果を示す図。 第1の実施形態に係る消費エネルギー削減率の評価結果を示す図。 第2の実施形態に係る半導体装置を示す構成図。 図9に示す信号生成回路の動作を示すフローチャート。 図9に示す周波数決定回路の動作を示すフローチャート。
符号の説明
11…CMP、12…アクセス率検出部、13…メモリバス、14…メモリ、15…周波数決定回路、16…周波数制御回路、PU0,PU1…プロセッサコア。

Claims (7)

  1. 複数のプロセッサと、
    前記プロセッサに共有される共有リソースと、
    複数の前記プロセッサが前記共有リソースをアクセスする場合、アクセスが待たされたことを示すウェイト数を前記プロセッサ毎に検出する検出部と、
    複数の前記プロセッサのうち、前記検出部により検出されたウェイト数が小さいプロセッサの動作周波数と電源電圧を低下させ、ウェイト数が大きいプロセッサの動作周波数と電源電圧上昇させることにより、前記共有リソースのアクセス率を調整する制御部と
    を具備することを特徴とする半導体装置。
  2. 前記検出部は、前記各プロセッサから前記共有リソースに出力されるリクエストを順次保持するリクエストキューと、
    前記各プロセッサに対応して設けられ、プロセッサ毎に前記共有リソースに対するリクエスト回数をカウントする複数の第1のカウンタと、
    前記リクエストキューから前記共有リソースに転送されるプロセッサの番号を保持するレジスタと、
    前記プロセッサの番号iに対応する前記第1のカウンタのカウント値が0より大きく、前記レジスタに保持されたプロセッサの番号がiと異なる場合、信号を生成する信号生成回路と、
    前記信号生成回路から出力される信号を前記プロセッサ毎にウェイト数としてカウントする複数の第2のカウンタと
    を具備することを特徴とする請求項1記載の半導体装置。
  3. 複数のプロセッサと、
    前記プロセッサに共有される共有リソースと、
    複数の前記プロセッサが前記共有リソースをアクセスする場合、アクセスを阻害したことを示す阻害度を前記プロセッサ毎に検出する検出部と、
    複数の前記プロセッサのうち、前記検出部により検出された阻害度が大きいプロセッサの動作周波数と電源電圧を低下させ、阻害度が小さいプロセッサの動作周波数と電源電圧上昇させることにより、前記共有リソースのアクセス率を調整する制御部と
    を具備することを特徴とする半導体装置。
  4. 前記検出部は、前記各プロセッサから前記共有リソースに出力されるリクエストを順次保持するリクエストキューと、
    前記各プロセッサに対応して設けられ、プロセッサ毎に前記共有リソースに対するリクエスト回数をカウントする複数の第1のカウンタと、
    前記リクエストキューから前記共有リソースに転送されるプロセッサの番号を保持するレジスタと、
    前記レジスタに保持されたプロセッサの番号がiであるとき、前記プロセッサの番号がj(j≠i)に対応する前記第1のカウンタのカウント値が0より大きい場合、信号を生成する信号生成回路と、
    前記信号生成回路から出力される信号を前記プロセッサ毎に阻害度としてカウントする複数の第2のカウンタと
    を具備することを特徴とする請求項3記載の半導体装置。
  5. 複数のプロセッサの共通リソースに対するアクセスが待たされたことを示すウェイト数をプロセッサ毎に検出し、
    複数の前記プロセッサのうち、前記検出されたウェイト数が小さいプロセッサの動作周波数と電源電圧を低下させ、ウェイト数が大きいプロセッサの動作周波数と電源電圧上昇させることにより、前記共通リソースのアクセス率を調整する
    ことを特徴とする半導体装置の制御方法。
  6. 複数のプロセッサの共通リソースに対するアクセスを阻害したことを示す阻害度をプロセッサ毎に検出し、
    複数の前記プロセッサのうち、前記検出された阻害度が大きいプロセッサの動作周波数と電源電圧を低下させ、阻害度が小さいプロセッサの動作周波数と電源電圧上昇させることにより、前記共通リソースのアクセス率を調整する
    ことを特徴とする半導体装置の制御方法。
  7. 前記共通リソースは、少なくともメモリバス、主記憶、コプロセッサのいずれかを含むことを特徴とする請求項1又は3記載の半導体装置。
JP2005303122A 2005-10-18 2005-10-18 半導体装置とその制御方法 Expired - Fee Related JP4262233B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005303122A JP4262233B2 (ja) 2005-10-18 2005-10-18 半導体装置とその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005303122A JP4262233B2 (ja) 2005-10-18 2005-10-18 半導体装置とその制御方法

Publications (2)

Publication Number Publication Date
JP2007114856A JP2007114856A (ja) 2007-05-10
JP4262233B2 true JP4262233B2 (ja) 2009-05-13

Family

ID=38096996

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005303122A Expired - Fee Related JP4262233B2 (ja) 2005-10-18 2005-10-18 半導体装置とその制御方法

Country Status (1)

Country Link
JP (1) JP4262233B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4353990B2 (ja) 2007-05-18 2009-10-28 株式会社半導体理工学研究センター マルチプロセッサ制御装置
JP5077067B2 (ja) * 2007-09-03 2012-11-21 セイコーエプソン株式会社 情報処理装置および半導体集積回路
JP5545376B2 (ja) * 2010-12-22 2014-07-09 富士通株式会社 マルチコアプロセッサシステム、および電力制御方法
US8830716B2 (en) * 2012-09-29 2014-09-09 Intel Corporation Intelligent far memory bandwith scaling

Also Published As

Publication number Publication date
JP2007114856A (ja) 2007-05-10

Similar Documents

Publication Publication Date Title
US11687139B2 (en) Multi-level CPU high current protection
Lee et al. TAP: A TLP-aware cache management policy for a CPU-GPU heterogeneous architecture
Sethia et al. Equalizer: Dynamic tuning of gpu resources for efficient execution
Mekkat et al. Managing shared last-level cache in a heterogeneous multicore processor
US6282614B1 (en) Apparatus and method for reducing the power consumption of a microprocessor with multiple levels of caches
Yang et al. Exploiting choice in resizable cache design to optimize deep-submicron processor energy-delay
Ebrahimi et al. Coordinated control of multiple prefetchers in multi-core systems
Kayiran et al. μC-States: Fine-grained GPU datapath power management
Feliu et al. Cache-hierarchy contention-aware scheduling in CMPs
Kandemir et al. Memory row reuse distance and its role in optimizing application performance
Bhati et al. Coordinated refresh: Energy efficient techniques for DRAM refresh scheduling
Dybdahl et al. A cache-partitioning aware replacement policy for chip multiprocessors
JP4262233B2 (ja) 半導体装置とその制御方法
Gupta et al. Spatial locality-aware cache partitioning for effective cache sharing
US10942850B2 (en) Performance telemetry aided processing scheme
Feliu et al. Understanding cache hierarchy contention in CMPs to improve job scheduling
Gupta et al. Timecube: A manycore embedded processor with interference-agnostic progress tracking
Lu et al. Premier: A concurrency-aware pseudo-partitioning framework for shared last-level cache
Ikeda et al. Application aware DRAM bank partitioning in CMP
Petoumenos et al. MLP-aware instruction queue resizing: The key to power-efficient performance
US7434001B2 (en) Method of accessing cache memory for parallel processing processors
Oh et al. An analytical performance model for co-management of last-level cache and bandwidth sharing
Moreto et al. Dynamic cache partitioning based on the MLP of cache misses
Sato et al. A voting-based working set assessment scheme for dynamic cache resizing mechanisms
Wu et al. Cache management with partitioning-aware eviction and thread-aware insertion/promotion policy

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080321

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081014

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081215

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081219

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: 20090127

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090206

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

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: 20130220

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140220

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees