(57)【要約】【課題】消費電力の増大を抑制することが可能な半導体装置及びそれを備えたプロセッサシステムを提供すること。【解決手段】一実施の形態によれば、半導体装置１０は、複数の処理ブロックＢ１〜Ｂｎと、複数の処理ブロックＢ１〜Ｂｎが発行する複数のデータ転送要求を調停する調停回路１２と、調停回路１２によって調停された複数のデータ転送要求を取り込んで、マスク期間経過後に順次出力するマスク制御回路１３と、マスク制御回路１３から順次出力される複数のデータ転送要求に基づいてＤＲＡＭ２０へのアクセスを行うとともに、マスク制御回路１３からデータ転送要求が所定期間出力されない場合にＤＲＡＭ２０のモードを省電力モードに切り替える、メモリコントローラ１４と、を備える。【選択図】図１
2014206956.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理回路と、
前記複数の処理回路が発行する複数のデータ転送要求を調停する調停回路と、
前記調停回路によって調停された前記複数のデータ転送要求を取り込んで、マスク期間の経過後に順次出力するマスク制御回路と、
前記マスク制御回路から順次出力される前記複数のデータ転送要求に基づいてメモリへのアクセスを行うとともに、前記マスク制御回路からデータ転送要求が所定期間出力されない場合に前記メモリのモードを省電力モードに切り替える、メモリコントローラと、を備えた、半導体装置。
【請求項２】
前記マスク制御回路は、
アクティブ及びインアクティブが周期的に切り替わるマスク信号を生成するマスク信号生成部と、
前記マスク信号がインアクティブの場合に、取り込んだ前記複数のデータ転送要求を順次出力する転送要求出力部と、を有する、請求項１に記載の半導体装置。
【請求項３】
前記マスク信号生成部は、
所定の閾値を格納するレジスタと、
カウンタと、
前記カウンタのカウント値と前記レジスタの閾値とを比較して比較結果を前記マスク信号として出力する比較器と、を有する、請求項２に記載の半導体装置。
【請求項４】
前記マスク制御回路は、
モニタリング期間に前記複数の処理回路が発行するデータ転送要求の総データ量をモニタする第１モニタと、
前記メモリが受け入れ可能な総データ量をモニタする第２モニタと、
アクティブ及びインアクティブが周期的に切り替わるマスク信号を生成するマスク信号生成部と、
前記マスク信号がインアクティブの場合に、取り込んだ前記複数のデータ転送要求を順次出力する転送要求出力部と、を有し、
前記マスク信号生成部は、前記第１及び前記第２モニタのモニタ結果に基づいて、前記マスク期間である前記マスク信号のアクティブ期間の長さを設定する、請求項１に記載の半導体装置。
【請求項５】
前記マスク信号生成部は、
あるモニタリング期間における前記第１及び前記第２モニタのモニタ結果に基づいて、次のモニタリング期間における前記マスク信号のアクティブ期間の長さを設定する、請求項４に記載の半導体装置。
【請求項６】
前記マスク信号生成部は、あるモニタリング期間にて前記メモリが受け入れ可能な残りのデータ量が少ない場合、次のモニタリング期間にて前記マスク信号のアクティブ期間を短くし、あるモニタリング期間にて前記メモリが受け入れ可能な残りのデータ量が多い場合、次のモニタリング期間にて前記マスク信号のアクティブ期間を長くする、請求項５に記載の半導体装置。
【請求項７】
前記各処理回路は、データ転送要求を発行するととともに、当該データ転送要求の優先度を示す優先度情報を発行し、
前記マスク制御回路は、取り込んだ前記データ転送要求をその優先度に応じて設定された長さのマスク期間経過後に出力する、請求項１に記載の半導体装置。
【請求項８】
前記マスク制御回路は、
アクティブ及びインアクティブが周期的に切り替わるマスク信号を生成するマスク信号生成部と、
前記マスク信号がインアクティブの場合に、取り込んだ前記データ転送要求を出力する転送要求出力部と、
前記優先度情報を格納する優先度情報格納部と、を有し、
前記マスク信号生成部は、前記優先度情報格納部に格納された優先度情報に基づいて、前記マスク期間である前記マスク信号のアクティブ期間の長さを設定する、請求項７に記載の半導体装置。
【請求項９】
前記マスク信号生成部は、
所定の閾値を格納するレジスタと、
カウンタと、
前記カウンタのカウント値と前記レジスタの閾値とを比較して比較結果を前記マスク信号として出力する比較器と、を有し、
前記カウンタは、前記優先度情報格納部に格納された優先度情報に基づいて設定されたカウント値からカウントアップ動作する、請求項８に記載の半導体装置。
【請求項１０】
前記メモリは、ＤＲＡＭである、請求項１に記載の半導体装置。
【請求項１１】
請求項１に記載の半導体装置と、
前記メモリと、を備えたプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置及びそれを備えたマルチプロセッサシステムに関し、例えば消費電力の増大を抑制するのに適した半導体装置及びそれを備えたプロセッサシステムに関する。
【背景技術】
【０００２】
携帯電話向けのベースバンドプロセッサ及びアプリケーションプロセッサの分野においては、必要とされる機能及び性能が増大している。その要求を満たすためにＤＲＡＭ等のメモリの容量を大きくしたりプロセッサの動作周波数を大きくしたりすると、消費電力が増大してしまうという問題があった。
【０００３】
例えば、特許文献１には、ＤＲＡＭと、当該ＤＲＡＭを制御するメモリコントローラと、を備えた電子機器が開示されている。
【０００４】
その他、特許文献２には、リード転送又はライト転送をしている間、制御回路に対して制御信号ＷＡＩＴを出力することにより当該制御回路からのアクセスを制限する、メモリ回路が開示されている。
【０００５】
特許文献３には、ＤＲＡＭに係るデータ転送に利用するバスの混雑度に応じて、当該ＤＲＡＭのリフレッシュのタイミングを調整する調整手段を備えたメモリ制御装置が開示されている。
【０００６】
特許文献４には、新たに記憶されるアクセス要求の優先順位に基づいて、既に記憶されているアクセス要求の優先順位を動的に変化させるアクセス調停回路が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１２−１３３６３８号公報
【特許文献２】特開２００４−１２０７８１号公報
【特許文献３】特開２００７−２５７７７４号公報
【特許文献４】特開２００７−９４６４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本願の発明者は、半導体装置及びそれを備えたプロセッサシステムの開発に際し、様々な課題を見出した。本願で開示される各実施の形態は、例えば、携帯電話等の無線通信端末に好適な半導体装置及びそれを備えたプロセッサシステムを提供する。さらに詳細な特徴は、本明細書の記述及び添付図面によって明らかにされる。
【課題を解決するための手段】
【０００９】
本明細書に開示される一つの態様は、調停回路によって調停された複数のデータ転送要求を取り込んで、マスク期間経過後に順次出力するマスク制御回路を備える。
【発明の効果】
【００１０】
前記一実施の形態によれば、良質な半導体装置及びそれを備えたプロセッサシステムを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１にかかるプロセッサシステムの構成例を示すブロック図である。
【図２】実施の形態１にかかるマスク制御回路の構成例を示すブロック図である。
【図３】実施の形態１にかかるプロセッサシステムの動作を示すタイミングチャートである。
【図４】実施の形態２にかかるマスク制御回路の構成例を示すブロック図である。
【図５】実施の形態２にかかるプロセッサシステムの動作を示すタイミングチャートである。
【図６】実施の形態３にかかるマスク制御回路の構成例を示すブロック図である。
【図７】実施の形態３にかかるプロセッサシステムの動作を示すタイミングチャートである。
【図８】本発明者らが検討したプロセッサシステムの構成例を示すブロック図である。
【図９】本発明者らが検討したプロセッサシステムの動作を示すタイミングチャートである。
【発明を実施するための形態】
【００１２】
＜発明者らによる事前検討＞
実施の形態の説明をする前に、本発明者らが事前検討した内容について説明する。
【００１３】
図８は、実施の形態に至る前の構想にかかるプロセッサシステム５０の構成例を示すブロック図である。図８に示すプロセッサシステム５０は、半導体装置５００と、ＤＲＡＭ６００と、によって構成される。
【００１４】
半導体装置５００は、ｎ（ｎは２以上の整数）個の処理ブロックＢ１〜Ｂｎと、バス５０１と、調停回路５０２と、メモリコントローラ５０４と、を少なくとも備える。
【００１５】
処理ブロックＢ１〜Ｂｎは、例えば、ＣＰＵ等の演算処理回路や、グラフィックスエンジン等のデータ処理回路である。処理ブロックＢ１〜Ｂｎは、ＤＲＡＭ６００へのデータ転送要求ＲＱ１〜ＲＱｎをそれぞれ任意のタイミングで発行する。これらデータ転送要求ＲＱ１〜ＲＱｎは、バス５０１及び調停回路５０２を介して、メモリコントローラ５０４に供給される。ここで、調停回路５０２は、（例えば、複数のデータ転送要求が同時に発行された場合に、）複数のデータ転送要求の優先順位を所定のルールに従って決定し、一つずつ順にメモリコントローラ５０４に出力する。
【００１６】
メモリコントローラ５０４は、調停回路５０２から順次出力されるデータ転送要求に基づいて、ＤＲＡＭ６００にアクセスを行う。例えば、メモリコントローラ５０４は、データ転送要求に基づいて、ＤＲＡＭ６００内の指定されたアドレスのメモリセルに記憶されたデータを読み出したり、ＤＲＡＭ６００内の指定されたアドレスのメモリセルにデータを書き込んだりする。そして、メモリコントローラ５０４は、ＤＲＡＭ６００から読み出されたデータ又はＤＲＡＭ６００へのデータ書き込み完了通知情報を、バス５０１を介して、データ転送要求の発行元の処理ブロックに出力する。
【００１７】
さらに、メモリコントローラ５０４は、あるデータ転送要求に基づくＤＲＡＭ６００へのアクセスが完了してから所定期間次のデータ転送要求が無い（受け取っていない）場合、ＤＲＡＭ６００のモードを通常動作モードから省電力モードに移行させ、次のデータ転送要求を受け取るまで省電力モードを維持させる。
【００１８】
なお、ＤＲＡＭ６００の省電力モードとは、所謂、セルフリフレッシュモードのことである。セルフリフレッシュモードでは、ＤＲＡＭ６００は、内蔵される又は接続されるタイマーにより、自律的にリフレッシュ動作を繰り返し実行する。このとき、ＤＲＡＭ６００には、電源が供給されるだけで、クロック信号は供給されない。それにより、ＤＲＡＭ６００の消費電力が低減される。
【００１９】
続いて、図９を参照して、図８に示すプロセッサシステム５０の動作について説明する。図９は、プロセッサシステム５０の動作を示すタイミングチャートである。
【００２０】
まず、処理ブロックＢ１から１回目のデータ転送要求ＲＱ１が発行される（時刻ｔ１１）。メモリコントローラ５０４は、データ転送要求ＲＱ１を受け取ると、当該データ転送要求ＲＱ１に基づいてＤＲＡＭ６００へのアクセスを行う（時刻ｔ１２〜ｔ１３）。メモリコントローラ５０４は、ＤＲＡＭ６００へのアクセスが完了してから所定期間Ｔ１次のデータ転送要求を受け取っていないため、ＤＲＡＭ６００のモードを通常動作モードから省電力モードに移行させる（時刻ｔ１４）。
【００２１】
次に、処理ブロックＢｎから１回目のデータ転送要求ＲＱｎが発行される（時刻ｔ２１）。メモリコントローラ５０４は、データ転送要求ＲＱｎを受け取ると、当該データ転送要求ＲＱｎに基づいてＤＲＡＭ６００へのアクセスを行う（時刻ｔ２２〜ｔ２３）。なお、メモリコントローラ５０４は、データ転送要求ＲＱｎを受け取ると、ＤＲＡＭ６００のモードを省電力モードから通常動作モードに移行させる（時刻ｔ２２）。メモリコントローラ５０４は、ＤＲＡＭ６００へのアクセスが完了してから所定期間Ｔ１経過するまでに次のデータ転送要求を受け取るため、ＤＲＡＭ６００のモードを省電力モードに移行させることなく通常動作モードに維持させる。
【００２２】
次に、処理ブロックＢｎから２回目のデータ転送要求ＲＱｎが発行される（時刻ｔ３１）。メモリコントローラ５０４は、データ転送要求ＲＱｎを受け取ると、当該データ転送要求ＲＱｎに基づいてＤＲＡＭ６００へのアクセスを行う（時刻ｔ３２〜ｔ３３）。なお、メモリコントローラ５０４は、ＤＲＡＭ６００へのアクセスが完了してから所定期間Ｔ１経過するまでに次のデータ転送要求を受け取るため、ＤＲＡＭ６００のモードを省電力モードに移行させることなく通常動作モードに維持させる。
【００２３】
次に、処理ブロックＢ１から２回目のデータ転送要求ＲＱ１が発行される（時刻ｔ４１）。メモリコントローラ５０４は、データ転送要求ＲＱ１を受け取ると、当該データ転送要求ＲＱ１に基づいてＤＲＡＭ６００へのアクセスを行う（時刻ｔ４２〜ｔ４３）。なお、メモリコントローラ５０４は、ＤＲＡＭ６００へのアクセスが完了してから所定期間Ｔ１経過するまでに次のデータ転送要求を受け取っていないため、ＤＲＡＭ６００のモードを通常動作モードから省電力モードに移行させる（時刻ｔ４４）。そして、メモリコントローラ５０４は、次のデータ転送要求（ＲＱｎ）を受け取るまで、省電力モードを維持させる（時刻ｔ４４〜ｔ５２）。
【００２４】
ここで、図８に示すプロセッサシステム５０では、ＤＲＡＭ６００へのアクセスの間隔や頻度によっては、ＤＲＡＭ６００のモードが省電力モードに設定される期間が短くなってしまう。例えば、ＤＲＡＭ６００へのアクセスが完了してから所定期間Ｔ１が経過する直前に次のデータ転送要求があった場合、ＤＲＡＭ６００のモードは通常動作モードに維持される。このような間隔でＤＲＡＭ６００へのアクセスが繰り返された場合、ＤＲＡＭ６００のモードが省電力モードに設定される期間は短くなってしまう。そのため、図８に示すプロセッサシステム５０は、消費電力の増大を十分に抑制することができないという問題があった。
【００２５】
以下、図面を参照しつつ、実施の形態について説明する。なお、図面は簡略的なものであるから、この図面の記載を根拠として実施の形態の技術的範囲を狭く解釈してはならない。また、同一の要素には、同一の符号を付し、重複する説明は省略する。
【００２６】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００２７】
さらに、以下の実施の形態において、その構成要素（動作ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等（個数、数値、量、範囲等を含む）についても同様である。
【００２８】
＜実施の形態１＞
図１は、実施の形態１にかかるプロセッサシステムの構成例を示すブロック図である。本実施の形態にかかるプロセッサシステム（及びそれに設けられた半導体装置）は、調停回路から出力される複数のデータ転送要求をマスク期間経過後に順次メモリコントローラに出力する、マスク制御回路を備える。それにより、本実施の形態にかかるプロセッサシステム（及びそれに設けられた半導体装置）は、メモリのモードを効率よく省電力モードに設定することができるため、消費電力の増大を抑制することができる。このプロセッサシステム（及びそれに設けられた半導体装置）は、例えば、携帯電話等の無線通信端末に適用される。以下、具体的に説明する。
【００２９】
図１に示すプロセッサシステム１は、半導体装置１０と、ＤＲＡＭ２０と、によって構成される。なお、ＤＲＡＭ２０は、ＳＲＡＭ、ＦＲＡＭ（登録商標）等の他のメモリであってもよい。半導体装置１０は、半導体チップであって、ｎ（ｎは２以上の整数）個の処理ブロック（処理回路）Ｂ１〜Ｂｎと、バス１１と、調停回路１２と、マスク制御回路１３と、メモリコントローラ１４と、を少なくとも備える。
【００３０】
処理ブロックＢ１〜Ｂｎは、例えば、ＣＰＵ等の演算処理回路や、グラフィックスエンジン等のデータ処理回路である。処理ブロックＢ１〜Ｂｎは、ＤＲＡＭ２０へのデータ転送要求ＲＱ１〜ＲＱｎをそれぞれ任意のタイミングで発行する。これらデータ転送要求ＲＱ１〜ＲＱｎは、バス１１及び調停回路１２を介して、マスク制御回路１３に供給される。ここで、調停回路１２は、（例えば、複数のデータ転送要求が同時に発行された場合に、）複数のデータ転送要求の優先順位を所定のルールに従って決定し、一つずつ順にマスク制御回路１３に出力する。
【００３１】
マスク制御回路１３は、調停回路１２から出力される複数のデータ転送要求を取り込んで、マスク期間経過後に、取り込んだ複数のデータ転送要求を順次メモリコントローラ１４に出力する。
【００３２】
（マスク制御回路１３の具体的構成例）
図２は、マスク制御回路１３の具体的構成例を示すブロック図である。図２に示すマスク制御回路１３は、マスク信号生成部１３１と、転送要求出力部１３２と、を備える。マスク信号生成部１３１は、レジスタ１３１１と、カウンタ１３１２と、比較器１３１３と、を有する。
【００３３】
マスク信号生成部１３１は、アクティブ及びインアクティブが周期的に切り替わるマスク信号を生成する。マスク信号生成部１３１において、カウンタ１３１２は、クロック信号に同期してカウント値を"１"ずつアップさせる。そして、カウンタ１３１２は、カウント値が最大値ＭＡＸになると、カウント値を"０"にクリアする。レジスタ１３１１は、所定の閾値Ｎｔを格納している。比較器１３１３は、カウンタ１３１２のカウント値と閾値Ｎｔとを比較する。具体的には、比較器１３１３は、カウンタ１３１２のカウント値が閾値Ｎｔ以下の場合、マスク信号をアクティブ（例えば、Ｈレベル）にし、カウンタ１３１２のカウント値が閾値Ｎｔより大きくなると、マスク信号をインアクティブ（例えば、Ｌレベル）にする。なお、マスク信号がアクティブの期間のことをマスク期間とも称し、マスク信号がインアクティブの期間のことをマスク解除期間とも称す。
【００３４】
転送要求出力部１３２は、調停回路１２から順次出力される複数のデータ転送要求を取り込んで、マスク信号がインアクティブの場合（マスク解除期間中に）、取り込んだ複数のデータ転送要求を順次出力する。なお、転送要求出力部１３２は、先に入力されたデータ転送要求を先に出力する構成（所謂ＦＩＦＯ）を少なくとも備える。
【００３５】
図１に戻り、メモリコントローラ１４は、マスク制御回路１３から順次出力されるデータ転送要求に基づいて、ＤＲＡＭ２０にアクセスを行う。例えば、メモリコントローラ１４は、データ転送要求に基づいて、ＤＲＡＭ２０内の指定されたアドレスのメモリセルに記憶されたデータを読み出したり、ＤＲＡＭ２０内の指定されたアドレスのメモリセルにデータを書き込んだりする。そして、メモリコントローラ１４は、ＤＲＡＭ２０から読み出されたデータ又はＤＲＡＭ２０へのデータ書き込み完了通知情報を、バス１１を介して、データ転送要求の発行元の処理ブロックに出力する。
【００３６】
さらに、メモリコントローラ１４は、あるデータ転送要求に基づくＤＲＡＭ２０へのアクセスが完了してから所定期間次のデータ転送要求が無い（受け取っていない）場合、ＤＲＡＭ２０のモードを通常動作モードから省電力モードに移行させ、次のデータ転送要求を受け取るまで省電力モードを維持させる。
【００３７】
なお、ＤＲＡＭ２０の省電力モードとは、所謂、セルフリフレッシュモードのことである。セルフリフレッシュモードでは、ＤＲＡＭ２０は、内蔵される又は接続されるタイマーにより、自律的にリフレッシュ動作を繰り返し実行する。このとき、ＤＲＡＭ２０には、電源が供給されるだけで、クロック信号は供給されない。それにより、ＤＲＡＭ２０の消費電力が低減される。
【００３８】
（本実施の形態にかかるプロセッサシステム１の動作）
続いて、図３を参照して、本実施の形態にかかるプロセッサシステム１の動作について説明する。図３は、本実施の形態にかかるプロセッサシステム１の動作を示すタイミングチャートである。
【００３９】
初期状態（時刻ｔ０）では、カウンタ１３１２は、初期値であるカウント値"０"からカウントアップ動作を開始する。同時に、マスク信号はアクティブになる。また、ＤＲＡＭ２０のモードは省電力モードに設定されている。
【００４０】
まず、処理ブロックＢ１から１回目のデータ転送要求ＲＱ１が発行される（時刻ｔ１１）。その後、処理ブロックＢｎから１回目のデータ転送要求ＲＱｎ、２回目のデータ転送要求ＲＱｎ、処理ブロックＢ１から２回目のデータ転送要求ＲＱ１が順に発行される（時刻ｔ１２，ｔ１３，ｔ１４）。この期間中、カウンタ１３１２のカウント値が閾値Ｎｔ以下であるため、マスク信号はアクティブ状態を維持している。したがって、マスク制御回路１３は、メモリコントローラ１４にデータ転送要求を出力しない（時刻ｔ１１〜ｔ１５）。そのため、メモリコントローラ１４は、ＤＲＡＭ２０のモードを通常動作モードに移行させることなく省電力モードに維持させる（時刻ｔ１１〜ｔ２１）。
【００４１】
その後、カウンタ１３１２のカウント値が閾値Ｎｔより大きくなると、マスク信号はアクティブからインアクティブに切り替わる（時刻ｔ１５）。それにより、マスク制御回路１３は、取り込んだ複数のデータ転送要求（図３の例では４つのデータ転送要求）をメモリコントローラ１４に順次出力する。そして、メモリコントローラ１４は、マスク制御回路１３から順次出力された複数のデータ転送要求に基づいてＤＲＡＭ２０へのアクセスを行う（時刻ｔ２１，ｔ２２，ｔ２３，ｔ２４）。なお、メモリコントローラ１４は、データ転送要求を受け取ると、ＤＲＡＭ２０のモードを省電力モードから通常動作モードに移行させる（時刻ｔ２１）
【００４２】
その後、カウンタ１３１２のカウント値が最大値ＭＡＸになると、カウンタ１３１２のカウント値は"０"にクリアされるため、マスク信号はインアクティブからアクティブに切り替わる（時刻ｔ２６）。それにより、マスク制御回路１３は、メモリコントローラ１４へのデータ転送要求の出力を停止する。なお、メモリコントローラ１４は、ＤＲＡＭ２０へのアクセスが完了してから所定期間Ｔ１次のデータ転送要求を受け取っていないため、ＤＲＡＭ２０のモードを通常動作モードから省電力モードに移行させる（時刻ｔ２５）。このような動作が繰り返される。
【００４３】
なお、カウント値の閾値Ｎｔ及び最大値ＭＡＸは任意に設定することができる。即ち、周期的に切り替わるマスク期間及びマスク解除期間の長さは任意に設定することができる。ただし、カウント値の閾値Ｎｔ及び最大値ＭＡＸは、複数の処理ブロックＢ１〜Ｂｎのすべての要求性能を満たすように、設定される必要がある。なお、ある処理ブロックの要求性能とは、例えば、ある処理ブロックがデータ転送要求を発行してからＤＲＡＭ２０から読み出されたデータ（又はデータ書き込み完了通知）を受け取るまでに要求される時間のことである。
【００４４】
また、マスク制御回路１３は、マスク解除期間中に、取り込んだデータ転送要求のすべてを出力できない場合には、出力できなかった残りのデータ転送要求を次のマスク解除期間中に出力する。
【００４５】
このように、本実施の形態にかかるプロセッサシステム１（及びそれに設けられた半導体装置１０）は、調停回路１２から出力される複数のデータ転送要求をマスク期間経過後に順次メモリコントローラ１４に出力する、マスク制御回路１３を備える。それにより、本実施の形態にかかるプロセッサシステム１（及びそれに設けられた半導体装置１０）は、ＤＲＡＭ２０のモードを効率よく省電力モードに設定することができるため、消費電力の増大を抑制することができる。
【００４６】
＜実施の形態２＞
続いて、実施の形態２にかかるプロセッサシステム１ａについて説明する。本実施の形態にかかるプロセッサシステム１ａは、実施の形態１にかかるプロセッサシステム１と比較して、マスク制御回路１３に代えてマスク制御回路１３ａを備える。プロセッサシステム１ａのその他の構成については、プロセッサシステム１の場合と同様であるため、その説明を省略する。
【００４７】
マスク制御回路１３ａは、モニタリング期間に複数の処理ブロックＢ１〜Ｂｎから発行されるデータ転送要求の総データ量に基づいて、動的にマスク期間を設定する。例えば、マスク制御回路１３ａは、モニタリング期間に複数の処理ブロックＢ１〜Ｂｎから発行されるデータ転送要求の総データ量が多い場合には、ＤＲＡＭ２０にアクセスが集中していると判断して、マスク期間を短くする。また、マスク制御回路１３ａは、モニタリング期間に複数の処理ブロックＢ１〜Ｂｎから発行されるデータ転送要求の総データ量が少ない場合には、ＤＲＡＭ２０へのアクセスが少ないと判断して、マスク期間を長くする。
【００４８】
（マスク制御回路１３ａの具体的構成例）
図４は、マスク制御回路１３ａの具体的構成例を示すブロック図である。図４に示すマスク制御回路１３ａは、マスク信号生成部１３１ａと、転送要求出力部１３２と、ＤＲＡＭ帯域モニタ（第１モニタ）１３３と、トランザクションモニタ（第２モニタ）１３４と、を備える。
【００４９】
ＤＲＡＭ帯域モニタ１３３は、クロック周波数情報やメモリコントローラ設定情報等に基づいて、ＤＲＡＭ２０が受け入れ可能な総データ量を算出する。
【００５０】
トランザクションモニタ１３４は、あるモニタリング期間にて発行されたデータ転送要求の総データ量（ｂｙｔｅ数）を測定する。
【００５１】
マスク信号生成部１３１ａは、ＤＲＡＭ帯域モニタ１３３のモニタ結果及びトランザクションモニタ１３４のモニタ結果に基づいて、あるモニタリング期間にてＤＲＡＭ２０が受け入れ可能な残りのデータ量を算出する。そして、マスク信号生成部１３１ａは、ＤＲＡＭ２０が受け入れ可能な残りのデータ量に対応する期間を、次のモニタリング期間でのマスク期間として設定する。
【００５２】
例えば、マスク信号生成部１３１ａは、あるモニタリング期間にてＤＲＡＭ２０が受け入れ可能な残りのデータ量が少ない場合、ＤＲＡＭ２０にアクセスが集中していると判断して、次のモニタリング期間でのマスク期間を短くする。また、マスク信号生成部１３１ａは、あるモニタリング期間にてＤＲＡＭ２０が受け入れ可能な残りのデータ量が多い場合には、ＤＲＡＭ２０へのアクセスが少ないと判断して、次のモニタリング期間でのマスク期間を長くする。
【００５３】
（本実施の形態にかかるプロセッサシステム１ａの動作）
続いて、図５を参照して、本実施の形態にかかるプロセッサシステム１ａの動作について説明する。図５は、本実施の形態にかかるプロセッサシステム１ａの動作を示すタイミングチャートである。
【００５４】
まず、モニタリング期間Ｐ１では、１１個のデータ転送要求が発行されている。図５の例では、これら１１個のデータ転送要求の総データ量は、ＤＲＡＭ２０が受け入れ可能な総データ量の８０％に相当する。換言すると、ＤＲＡＭ２０が受け入れ可能な残りのデータ量は全体の２０％に相当する。つまり、モニタリング期間Ｐ１でのＤＲＡＭ２０へのアクセスは比較的多い。それにより、次のモニタリング期間Ｐ２では、比較的短いマスク期間が設定される。
【００５５】
次に、モニタリング期間Ｐ２では、６個のデータ転送要求が発行されている。図５の例では、これら６個のデータ転送要求の総データ量は、ＤＲＡＭ２０が受け入れ可能な総データ量の４０％に相当する。換言すると、ＤＲＡＭ２０が受け入れ可能な残りのデータ量は全体の６０％に相当する。つまり、モニタリング期間Ｐ２でのＤＲＡＭ２０へのアクセスは、モニタリング期間Ｐ１でのＤＲＡＭ２０へのアクセスよりも少ない。それにより、次のモニタリング期間Ｐ３では、比較的長いマスク期間が設定される。
【００５６】
次に、モニタリング期間Ｐ３では、３個のデータ転送要求が発行されている。図５の例では、これら３個のデータ転送要求の総データ量は、ＤＲＡＭ２０が受け入れ可能な総データ量の２０％に相当する。換言すると、ＤＲＡＭ２０が受け入れ可能な残りのデータ量は全体の８０％に相当する。つまり、モニタリング期間Ｐ３でのＤＲＡＭ２０へのアクセスは、モニタリング期間Ｐ２でのＤＲＡＭ２０へのアクセスよりもさらに少ない。それにより、次のモニタリング期間では、さらに長いマスク期間が設定される。
【００５７】
このように、本実施の形態にかかるプロセッサシステム１ａ（及びそれに設けられた半導体装置）は、モニタリング期間に複数の処理ブロックＢ１〜Ｂｎから発行されるデータ転送要求の総データ量に基づいて動的にマスク期間を設定する、マスク制御回路１３ａを備える。それにより、本実施の形態にかかるプロセッサシステム１ａ（及びそれに設けられた半導体装置）は、ＤＲＡＭ２０のモードをさらに効率よく省電力モードに設定することができるため、消費電力の増大をさらに抑制することができる。
【００５８】
なお、本実施の形態では、あるモニタリング期間にて発行されたデータ転送要求の総データ量に基づいて、次のモニタリング期間でのマスク期間が設定される場合を例に説明したが、これに限られない。複数のモニタリング期間にて発行されたデータ転送要求の総データ量の平均値に基づいて、次のモニタリング期間でのマスク期間が設定されてもよい。
【００５９】
＜実施の形態３＞
続いて、実施の形態３にかかるプロセッサシステム１ｂについて説明する。本実施の形態にかかるプロセッサシステム１ｂは、実施の形態１にかかるプロセッサシステム１と比較して、マスク制御回路１３に代えてマスク制御回路１３ｂを備える。また、処理ブロックＢ１〜Ｂｎは、データ転送要求ＲＱ１〜ＲＱｎをそれぞれ出力するだけでなく、それらの優先度を示すＱｏＳ(Quality of Service)情報（以下、優先度情報と称す）ＰＲ１〜ＰＲｎをそれぞれ出力する。プロセッサシステム１ｂのその他の構成については、プロセッサシステム１の場合と同様であるため、その説明を省略する。
【００６０】
マスク制御回路１３ｂは、調停回路１２から出力されたデータ転送要求を、その優先度に応じて設定された長さのマスク期間経過後に、メモリコントローラ１４に出力する。例えば、マスク制御回路１３ｂは、あるデータ転送要求の優先度が高い場合にはマスク期間を短くし、あるデータ転送要求の優先度が低い場合にはマスク期間を長くする。
【００６１】
（マスク制御回路１３ｂの具体的構成例）
図６は、マスク制御回路１３ｂの具体的構成例を示すブロック図である。図６に示すマスク制御回路１３ｂは、マスク信号生成部１３１と、転送要求出力部１３２と、優先度情報格納部１３５と、を有する。
【００６２】
優先度情報格納部１３５は、調停回路１２から出力されたデータ転送要求に対応する優先度情報を格納する。なお、優先度情報格納部１３５は、先に入力されたデータ転送要求を先に出力する構成（所謂ＦＩＦＯ）を少なくとも備える。
【００６３】
ここで、マスク信号生成部１３１に設けられたカウンタ１３１２は、優先度情報格納部１３５に格納された優先度情報に基づいて設定されたカウント値からカウントアップ動作を開始する。
【００６４】
例えば、カウンタ１３１２は、優先度が高い場合には、高いカウント値からカウントアップ動作を開始し、優先度が低い場合には、低いカウント値からカウントアップ動作を開始する。それにより、優先度が高い場合には、マスク信号のアクティブ期間（マスク期間）は短くなり、優先度が低い場合には、マスク信号のアクティブ期間（マスク期間）は長くなる。
【００６５】
（本実施の形態にかかるプロセッサシステム１ｂの動作）
続いて、図７を参照して、本実施の形態にかかるプロセッサシステム１ｂの動作について説明する。図７は、本実施の形態にかかるプロセッサシステム１ｂの動作を示すタイミングチャートである。
【００６６】
初期状態（時刻ｔ０）では、カウンタ１３１２のカウント値は"０"に初期化されている。また、ＤＲＡＭ２０のモードは省電力モードに設定されている。
【００６７】
まず、処理ブロックＢ１から１回目のデータ転送要求ＲＱ１及びその優先度情報が発行される（時刻ｔ１１）。図７の例では、データ転送要求ＲＱ１の優先度が低いため、カウント値は"１"に設定される。したがって、カウンタ１３１２は、カウント値"１"からカウントアップ動作を開始する（時刻ｔ１１）。同時に、マスク信号はアクティブになる。その後、カウンタ１３１２のカウント値が閾値Ｎｔ（本例ではＮｔ＝５）より大きくなるまで、マスク信号はアクティブ状態を維持する（時刻ｔ１１〜ｔ１２）。したがって、マスク制御回路１３ｂは、メモリコントローラ１４にデータ転送要求ＲＱを出力しない（時刻ｔ１１〜ｔ１２）。
【００６８】
カウンタ１３１２のカウント値が閾値Ｎｔより大きくなると、マスク信号はアクティブからインアクティブに切り替わる（時刻ｔ１２）。それにより、マスク制御回路１３ｂは、取り込んだデータ転送要求ＲＱ１をメモリコントローラ１４に出力する。そして、メモリコントローラ１４は、マスク制御回路１３ｂから出力されたデータ転送要求ＲＱ１に基づいてＤＲＡＭ２０へのアクセスを行う（時刻ｔ１３）。なお、メモリコントローラ１４は、データ転送要求ＲＱ１を受け取ると、ＤＲＡＭ２０のモードを省電力モードから通常動作モードに移行させる（時刻ｔ１３）。
【００６９】
次に、処理ブロックＢｎから１回目のデータ転送要求ＲＱｎ及びその優先度情報が発行される（時刻ｔ２１）。図７の例では、データ転送要求ＲＱｎの優先度が低いため、カウント値は"１"に設定される。その後は、時刻ｔ１１〜ｔ１３と同様の流れで動作が進む（時刻ｔ２１〜ｔ２３）。
【００７０】
次に、処理ブロックＢｎから２回目のデータ転送要求ＲＱｎ及びその優先度情報が発行される（時刻ｔ３１）。図７の例では、データ転送要求ＲＱｎの優先度が高いため、カウント値は"６"に設定される。つまり、カウント値は閾値Ｎｔ（＝５）より高く設定されている。したがって、マスク信号はアクティブになることなくインアクティブ状態を維持する。それにより、マスク制御回路１３ｂは、取り込んだデータ転送要求ＲＱ１をマスクすることなく速やかにメモリコントローラ１４に出力する。そして、メモリコントローラ１４は、マスク制御回路１３ｂから出力されたデータ転送要求ＲＱｎに基づいてＤＲＡＭ２０へのアクセスを行う（時刻ｔ３３）。
【００７１】
次に、処理ブロックＢ１から２回目のデータ転送要求ＲＱ１及びその優先度情報が発行される（時刻ｔ４１）。図７の例では、データ転送要求ＲＱ１の優先度が低いため、カウント値は"１"に設定される。その後は、時刻ｔ１１〜ｔ１３と同様の流れで動作が進む（時刻ｔ４１〜ｔ４３）。
【００７２】
このように、本実施の形態にかかるプロセッサシステム１ｂ（及びそれに設けられた半導体装置）は、調停回路１２から出力されたデータ転送要求を、その優先度に応じて設定された長さのマスク期間経過後に、メモリコントローラ１４に出力する、マスク制御回路１３ｂを備える。それにより、本実施の形態にかかるプロセッサシステム１ｂ（及びそれに設けられた半導体装置）は、ＤＲＡＭ２０のモードを効率よく省電力モードに設定することができるため、消費電力の増大を抑制することができる。
【００７３】
以上のように、上記実施の形態１〜３にかかるプロセッサシステム及びそれに設けられた半導体装置は、調停回路から順次出力される複数のデータ転送要求を圧縮してマスク期間経過後に順次メモリコントローラに出力する、マスク制御回路を備える。それにより、本実施の形態にかかるプロセッサシステムは、メモリのモードを効率よく省電力モードに設定することができるため、消費電力の増大を抑制することができる。
【００７４】
（関連技術との差異）
特許文献１、特許文献２、特許文献３及び特許文献４の何れにも、マスク制御回路の構成は開示されていない。そのため、これら文献の構成では、消費電力の増大を十分に抑制することができない。それに対し、上記実施の形態にかかるプロセッサシステム及びそれに設けられた半導体装置は、このような問題は生じない。
【００７５】
なお、特許文献２に開示された構成は、メモリ回路がリード転送又はライト転送をしている間に制御回路に対して制御信号ＷＡＩＴを出力することにより、当該制御回路からのアクセスを制限するものであり、消費電力の増大を抑制することを目的としていない。また、メモリ回路のモードが省電力モードに移行するわけでもない。
【００７６】
また、特許文献３に開示された構成は、ＤＲＡＭに係るデータ転送に利用するバスの混雑度に応じて、当該ＤＲＡＭのリフレッシュのタイミングを調整するものであり、消費電力の増大を抑制することを目的としていない。また、ＤＲＡＭのモードが省電力モードに移行するわけでもない。
【００７７】
また、特許文献４に開示された構成は、新たに記憶されるアクセス要求の優先順位に基づいて、既に記憶されているアクセス要求の優先順位を動的に変化させるものであり、消費電力の増大を抑制することを目的としていない。また、メモリのモードが省電力モードに移行するわけでもない。
【００７８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【００７９】
１  プロセッサシステム
１ａ，１ｂ  プロセッサシステム
１０  半導体装置
１１  バス
１２  調停回路
１３  マスク制御回路
１３ａ，１３ｂ  マスク制御回路
１４  メモリコントローラ
２０  ＤＲＡＭ
１３１  マスク信号生成部
１３１ａ  マスク信号生成部
１３２  転送要求出力部
１３１１  レジスタ
１３１２  カウンタ
１３１３  比較器
１３３  ＤＲＡＭ帯域モニタ
１３４  トランザクションモニタ
１３５  優先度情報格納部
【図１】
2014206956.tif 000003
【図２】
2014206956.tif 000004
【図３】
2014206956.tif 000005
【図４】
2014206956.tif 000006
【図５】
2014206956.tif 000007
【図６】
2014206956.tif 000008
【図７】
2014206956.tif 000009
【図８】
2014206956.tif 000010
【図９】
2014206956.tif 000011