JP2010021793A - 半導体集積回路装置および消費電力制御方法 - Google Patents
半導体集積回路装置および消費電力制御方法 Download PDFInfo
- Publication number
- JP2010021793A JP2010021793A JP2008180431A JP2008180431A JP2010021793A JP 2010021793 A JP2010021793 A JP 2010021793A JP 2008180431 A JP2008180431 A JP 2008180431A JP 2008180431 A JP2008180431 A JP 2008180431A JP 2010021793 A JP2010021793 A JP 2010021793A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- clock
- request
- master
- bus master
- 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.)
- Pending
Links
Images
Landscapes
- Electronic Switches (AREA)
- Logic Circuits (AREA)
Abstract
【課題】追加回路を最小限に抑えた設計で消費電力を効果的に削減する消費電力制御を行う半導体集積回路装置を提供する。
【解決手段】バスマスタ3、4は、バスアクセス要求を発行して、かつアクセス許可がない場合は、クロックゲーティング回路6にクロック遮断要求を発行し、バスアービタ2は、バスアクセス許可を発行したとき、該バスアクセス許可の発行先のバスマスタに関するクロック遮断解除要求をクロックゲーティング回路に発行し、クロックゲーティング回路6は、クロック遮断要求を発行したバスマスタへのクロック供給を遮断し、クロック供給が遮断されたバスマスタに関するクロック遮断解除要求が発行されたとき該バスマスタへのクロック供給の遮断を解除する。
【選択図】 図2
【解決手段】バスマスタ3、4は、バスアクセス要求を発行して、かつアクセス許可がない場合は、クロックゲーティング回路6にクロック遮断要求を発行し、バスアービタ2は、バスアクセス許可を発行したとき、該バスアクセス許可の発行先のバスマスタに関するクロック遮断解除要求をクロックゲーティング回路に発行し、クロックゲーティング回路6は、クロック遮断要求を発行したバスマスタへのクロック供給を遮断し、クロック供給が遮断されたバスマスタに関するクロック遮断解除要求が発行されたとき該バスマスタへのクロック供給の遮断を解除する。
【選択図】 図2
Description
この発明は、消費電力制御を行うバスシステムをもつ半導体集積回路装置および消費電力制御方法に関する。
システムLSIなどの半導体集積回路装置における消費電力削減のために一般的に適用される手法に、クロックゲーティングと、電源遮断とがある。
クロックゲーティングは、フリップフロップへ供給するクロックを適宜遮断して消費電力を抑える手法であるが、従来は、バス回路とそのペリフェラル回路(バスマスタおよびバススレーブ)を備える半導体集積回路装置にクロックゲーティングを適用する場合、クロック供給制御信号もしくは信号伝播のゲーティング信号の生成は、ペリフェラル回路内部(例えば特許文献1参照)、もしくは追加された専用回路が行っていた。
しかしながら、ペリフェラル回路内部でクロック供給制御信号を生成する方法によれば、ペリフェラル回路の内部回路へのクロック供給遮断の判断をしているため、1つのペリフェラル回路全体が動作する必要のないときに該ペリフェラル回路へのクロック供給を停止することができないという問題がある。そのため、ペリフェラル回路を単位としたクロックゲーティングを行える効果の高いクロック供給遮断を行う技術の開発が求められていた。
また、専用回路を追加する手法によれば、専用回路を必要とするため設計期間がのび、制御回路が大幅に増加するため、専用回路の電力消費が加わり、結果的に半導体集積回路装置全体としては電力削減効果が下がってしまうという問題がある。また、回路規模が大きくなるため半導体集積回路装置のコストも増大してしまうという問題がある。そのため、より規模の小さい回路の追加でクロック供給遮断を行う技術の開発が求められていた。
電源遮断をする手法に関しても、従来は電源遮断を制御するために専用回路を必要としていた。そのため、設計期間、回路規模増大によりコストが増大するという問題がある。また、複数のペリフェラル回路にわたる大きな範囲を単位とした電源遮断を行っているため、さらに消費電力を低減できる余地があった。そのため、より規模の小さい回路の追加でペリフェラル回路を単位とした細かな電源遮断制御を行い、より消費電力を低減する技術の開発が求められてきた。
本発明は、追加回路を最小限に抑えた設計で消費電力を効果的に削減する消費電力制御を行う半導体集積回路装置および消費電力制御方法を提供することを目的とする。
本願発明の一態様によれば、バスに接続された複数のバスマスタと、複数のバスマスタからのバスアクセス要求を調停して複数のバスマスタに順次バスアクセス許可を発行するバスアービタと、バスマスタへのクロック供給をバスマスタ単位で遮断するクロックゲーティング回路と、を備え、前記夫々のバスマスタは、バスアクセス要求を発行して、かつアクセス許可がない場合は前記クロックゲーティング回路にクロック遮断要求を発行し、前記バスアービタは、バスアクセス許可を発行したとき、該バスアクセス許可の発行先のバスマスタに関するクロック遮断解除要求を前記クロックゲーティング回路に発行し、前記クロックゲーティング回路は、クロック遮断要求を発行したバスマスタへのクロック供給を遮断し、前記クロック供給が遮断されたバスマスタに関するクロック遮断解除要求が前記バスアービタから発行されたとき該バスマスタへのクロック供給の遮断を解除する、ことを特徴とする半導体集積回路装置が提供される。
また、本願発明の一態様によれば、バスに接続された複数のバスマスタおよび1つ以上のバススレーブと、複数のバスマスタからのバスアクセス要求を調停して複数のバスマスタに順次バスアクセス許可を発行するとともに、前記バスアクセス許可が発行されたバスマスタが他のバスマスタまたはバススレーブをアクセス対象として前記バスにアクセスしたとき、前記アクセス対象のバスマスタまたはバススレーブにアクセス通知を前記アクセス対象のバスマスタまたはバススレーブに発行するバスアービタと、バスマスタおよびバススレーブへの電源供給をバスマスタ単位およびバススレーブ単位で遮断する電源遮断回路と、を備え、前記バスアービタは、最後にバスアクセス要求を発行した時刻またはアクセス通知が発行された時刻のうち最新の時刻からの経過時間をバスマスタ毎に計測し、該経過時間が所定の時間を超過したバスマスタに第1の電源遮断要求を発行し、最後にアクセス通知が発行されてからの経過時間をバススレーブ毎に計測し、該経過時間が所定の時間を超過したバススレーブに関する第2の電源遮断要求を前記電源遮断回路に発行し、前記第1の電源遮断要求が発行されたバスマスタは、自身がバスアクセス要求を発行する準備動作を行っていない場合、前記電源遮断回路に第3の電源遮断要求を発行し、前記電源遮断回路は、前記バスアービタが前記第2の電源遮断要求を発行したとき、該第2の電源遮断要求に対応するバススレーブへの電源供給を遮断し、バスマスタが前記第3の電源遮断要求を発行したとき、該バスマスタへの電源供給を遮断する、ことを特徴とする半導体集積回路装置が提供される。
また、本願発明の一態様によれば、バスに接続された複数のバスマスタと、複数のバスマスタからのバスアクセス要求を調停して複数のバスマスタに順次バスアクセス許可を発行するバスアービタと、バスマスタへのクロック供給をバスマスタ単位で遮断するクロックゲーティング回路と、を備える半導体集積回路装置の消費電力制御方法であって、バスマスタがバスアクセス要求を発行したとき前記クロックゲーティング回路にクロック遮断要求を発行する第1ステップと、前記クロックゲーティング回路が、前記クロック遮断要求を発行したバスマスタへのクロック供給を遮断する第2ステップと、前記バスアービタが、前記バスマスタにバスアクセス許可を発行したとき、前記バスマスタに関するクロック遮断解除要求を前記クロックゲーティング回路に発行する第3ステップと、前記クロックゲーティング回路が、前記クロック遮断解除要求が前記バスアービタにより発行されたとき、前記バスマスタへのクロック供給の遮断を解除する第4ステップと、を含むことを特徴とする半導体集積回路装置の消費電力制御方法が提供される。
本発明によれば、追加回路を最小限に抑えた設計で消費電力を効果的に削減する消費電力制御を行う半導体集積回路装置および消費電力制御方法を提供することができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる半導体集積回路の最良な実施の形態を詳細に説明する。理解を助けるため、一般的な半導体集積回路の構成を示して、1つのバスを複数のバスペリフェラルで使用するためのアービトレーションの論理を説明する。
図1は、一般的な半導体集積回路装置の構成を示すブロック図である。図1において、半導体集積回路装置1000は、バス1と、バスアービタ2と、バスマスタ3、バスマスタ4、バススレーブ5と、を有する。バスアービタ2、および各バスペリフェラル(バスマスタ3、バスマスタ4、ならびにバススレーブ5)は、バス1に接続されている。
ここで、バスマスタ3およびバスマスタ4とは、バス1に対するバスアクセス要求をバスアービタ2に発行し、バスアービタ2からバスアクセス許可が発行されたときバス1を介してアクセス対象のバスペリフェラルにアクセスすることができる回路であって、例えば各種暗号化ブロックや、PCIバスインターフェース回路や、MAC回路や、CPUなどが挙げられる。また、バススレーブ5は、バス1を介してバスマスタ3またはバスマスタ4からアクセスを受ける回路であって、例えばメモリコントローラ回路などが挙げられる。ただし、上述したバスマスタの例のうちCPUを除く例、つまり各種暗号化ブロックや、PCIバスインターフェース回路や、MAC回路は、バス1にアクセスすることができるとともに、他のバスマスタからのアクセスを受け付けることもできる。つまり、バススレーブとしても動作することができる。以下の説明においては、バスマスタ3およびバスマスタ4は、このようにバススレーブとしても動作できるバスマスタであるとする。
バスペリフェラルは、別のバスペリフェラルに要求や許可を発行するとき、相手と自身とを接続する信号をアサートし、発行を終了するとき、この信号をデアサートする。
バスマスタ3およびバスマスタ4とバスアービタ2との間は、バスアクセス要求を行う信号(REQ信号)であるREQ11およびREQ14で夫々接続されている。バスマスタ3およびバスマスタ4は、バス1へアクセスをしたい場合は、夫々REQ11およびREQ14をアサートする。
バスアービタ2とバスマスタ3およびバスマスタ4との間は、バスアクセス許可を行う信号(GNT信号)であるGNT12およびGNT15で夫々接続されている。バスアービタ2は、バスマスタにバス1へのアクセスを許可する際に、該バスマスタに接続されているGNT信号をアサートする。バスアービタ2は、複数のバスアクセス要求が発行されている、つまりREQ11およびREQ14がアサートされている場合、固定優先方式やラウンドロビン方式など所定のアービトレーション方式を用いてバス1へのアクセスの許可を与えるバスマスタをひとつ決定し、該決定したバスマスタに接続されているGNT信号をアサートする。REQ信号をアサートしていたバスマスタは、次のバスアクセス要求を行うときに備え、例えばGNT信号がアサートされたときREQ信号をデアサートする。
GNT信号をアサートされたバスマスタはバス1へのアクセスを行う。該アクセスが終了すると、バスアービタ2は、アクセスが終了したバスマスタへのGNT信号をデアサートするとともに、前記する所定のアービトレーション方式に従ってREQ信号をアサートしている他のバスマスタからバスアクセス許可を与えるバスマスタを選択し、該バスマスタに対するGNT信号をアサートする。
バスアービタ2とバスマスタ3、バスマスタ4、およびバススレーブ5との間は、アドレス通知を行うアドレスデコード信号(ADDRDEC信号)であるADDRDEC13、ADDRDEC16、およびADDRDEC17で夫々接続されている。バスアービタ2は、バスマスタ3やバスマスタ4がバス1へアクセスした際のアドレスをデコードしてアクセス先のバスペリフェラルを検出し、該検出したペリフェラルのアドレスデコード信号をアサートすることによって、アクセス対象のバスペリフェラルにアクセス通知を行う。ADDRDEC信号がアサートされたバスペリフェラルは、該信号がアサートされた時点におけるバス1に対してアクセス権を有するバスマスタからのアクセスを受けることとなる。バスマスタからのバスペリフェラルへのアクセスが終了すると、バスアービタ2は該当するアドレスデコード信号をデアサートする。
以上のような構成と論理により、一般的な半導体集積回路装置においては、1つのバス1を複数のバスペリフェラルで使用することが可能なようにアービトレーションが行われる。本実施の形態では、このアービトレーションの論理を利用し、少ない追加回路でバスペリフェラル毎のクロックゲーティングまたは電源遮断を行うことが主たる特徴となっている。
(第1の実施の形態)
図2は、本発明の第1の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。
図2は、本発明の第1の実施の形態にかかる半導体集積回路装置の構成を示すブロック図である。
図2において、本発明の第1の実施の形態にかかる半導体集積回路装置1001は、図1に示す一般的な半導体集積回路装置1000と同様の構成に加え、クロック生成系(図示せず)から各ペリフェラルに供給されるクロックを、ペリフェラル単位で遮断するクロックゲーティング制御を行うクロックゲーティング回路6を備える。
バスマスタ3およびバスマスタ4とクロックゲーティング回路6との間は、クロック遮断を要求する信号(CLKGATEEN信号)であるCLKGATEEN21およびCLKGATEEN23で夫々接続されている。バスマスタ3およびバスマスタ4は、クロック供給の遮断(クロックゲーティング)を要求する場合に、CLKGATEEN21およびCLKGATEEN23を夫々アサートする。
バスアービタ2とクロックゲーティング回路6との間は、クロック遮断解除を要求する信号(CLKGATEOFF信号)であるCLKGATEOFF22およびCLKGATEOFF24で接続されている。バスアービタ2は、バスマスタ3のクロックゲーティングを解除する場合はCLKGATEOFF22をアサートし、バスマスタ4のクロックゲーティングを解除する場合はCLKGATEOFF24をアサートする。
クロックゲーティング回路6は、CLKGATEEN信号がバスマスタ3またはバスマスタ4によってアサートされたとき、CLKGATEEN信号をアサートしたバスマスタに供給されるクロックを遮断し、CLKGATEOFF信号がバスアービタ2によってアサートされたとき、CLKGATEOFF信号がクロックゲーティング解除を要求するバスマスタに対するクロック遮断を停止する。
以上のように構成される第1の実施の形態の半導体集積回路装置1001において、CLKGATEEN信号およびCLKGATEOFF信号をアサート/デアサートするために追加される回路と、これらの信号に基づいてクロックゲーティングを行うか否かを判断するために追加される回路と、を説明する。図3は、該追加される回路を説明する図である。ここでは、煩雑さを避けるため、バスマスタ3に関するクロックゲーティングに係る追加回路についてのみ説明する。
図3に示すように、バスマスタ3には、REQ11、GNT12、およびADDRDEC13の状態と、現在バスマスタ3が動作(例えば直前のアクセスに対する後処理など)中か否かを示す情報(EN25)と、に基づき、CLKGATEEN21の値を変化させるクロック遮断要求信号生成回路300が追加されている。クロック遮断要求信号生成回路300がEN25を取得する方法はどのようなものであってもかまわないが、例えばクロック遮断要求信号生成回路300がバスマスタ3の内部の所定のレジスタを監視することによってバスマスタ3が動作中か否かを判定するようにしてよい。
クロック遮断要求信号生成回路300は、REQ11がアサートされ、かつGNT12およびADDRDEC13が共にデアサートされ、かつバスマスタ3が動作中ではない時、CLKGATEEN21をアサートした状態とし、REQ11がデアサートされているか、GNT12およびADDRDEC13のうち少なくとも1つがアサートされているか、またはバスマスタ3が動作中であるか、のうち何れか1つでも満たすとき、CLKGATEEN21をデアサートした状態とする。
バスアービタ2には、GNT12およびADDRDEC13の状態に基づき、CLKGATEOFF22の値を変化させるクロックゲーティング解除信号生成回路200が追加されている。クロックゲーティング解除信号生成回路200は、GNT12またはADDRDEC13のうち少なくとも1つがアサートされている時、CLKGATEOFF22をアサートした状態とし、GNT12およびADDRDEC13が共にデアサートされている時、CLKGATEOFF22をデアサートした状態とする。
クロックゲーティング回路6には、CLKGATEEN21およびCLKGATEOFF22の値に基づき、バスマスタ3に対してクロックゲーティングを有効にするか無効にするかを判断するクロック供給・停止判断回路600が追加されている。クロック供給・停止判断回路600は、CLKGATEEN21がアサートされ、かつCLKGATEOFF22がデアサートされた状態のとき、バスマスタ3に対するクロックゲーティング、すなわちクロック供給を停止する信号であるクロック停止信号26をアサートした状態とし、CLKGATEEN21がデアサートされている状態またはCLKGATEOFF22がアサートされている状態のうち少なくとも1つを満たす状態のとき、クロック停止信号26をデアサートした状態とする。
クロックゲーティング回路6は、クロック停止信号26がアサートされている状態のとき、バスマスタ3に対するクロックゲーティングを行った状態にし、クロック停止信号26がデアサートされている状態のとき、バスマスタ3に対するクロックゲーティングを停止した状態にする。
以上のように、バスアービタ2、バスマスタ3、およびクロックゲーティング回路6には、夫々簡単な回路が追加されている。次に、このように追加されている簡単な回路を使用して半導体集積回路装置がクロックゲーティングを行う動作を、例を示して説明する。
バスマスタ3およびバスマスタ4がREQ信号をアサートし、バスアービタ2がGNT15をアサートしたとき、バスマスタ3のバスアクセス許可は下りないので、REQ11がアサートされているが、GNT12はデアサートされた状態となる。この状態になったとき、バスマスタ3は動作を行っていない場合、クロック遮断要求信号生成回路300は、CLKGATEEN11をアサートする。
ここで、バスマスタ3がバスアクセス許可が下りているバスマスタ4のアクセス対象となっていない場合、ADDRDEC13はデアサートされた状態のまま動かない。このとき、クロックゲーティング解除信号生成回路200は、GNT12とADDRDEC13とがデアサートされている状態となっているので、CLKGATEOFF22をデアサートしている状態となっている。
クロック供給・停止判断回路600は、CLKGATEOFF22がデアサートされた状態でCLKGATEEN21がアサートされたので、クロック停止信号26をデアサートされていた状態からアサートし、クロックゲーティング回路6は、バスマスタ3へのクロックゲーティングを開始する。
バスマスタ3へのクロックゲーティングが行われている間、クロック遮断要求信号生成回路300を含むバスアービタ2の回路の動作は全て停止する。ただし、バスマスタ3に対するクロック供給が停止されているだけであるので、クロックゲーティングが有効な間はCLKGATEEN21の状態はアサートされた状態のまま変化しない。
バスマスタ4のバス1へのアクセスが終了し、バスアービタ2がGNT15をデアサートするとともにGNT12をアサートすると、クロックゲーティング解除信号生成回路200は、CLKGATEOFF22をアサートする。すると、クロック供給・停止判断回路600は、クロック停止信号26をデアサートし、クロックゲーティング回路6は、バスマスタ3へのクロックゲーティングを無効にする。そして、バスマスタ3は、REQ11をアサートした動作に対応するバス1へのアクセスを開始する。
また、バスマスタ3へのクロックゲーティングが有効となっている最中にバスマスタ4のアクセス対象となり、ADDRDEC13がアサートされると、クロックゲーティング解除信号生成回路200はCLKGATEOFF22をアサートし、クロック供給・停止判断回路600は、クロック停止信号26をデアサートし、クロックゲーティング回路6は、バスマスタ3へのクロックゲーティングを無効にする。
このように、簡単な回路の追加により、半導体集積回路装置1001は、バスマスタ3の効果的なクロックゲーティングを行うことができるようになる。
なお、以上の説明においては、バスマスタ3のクロックゲーティングに係る追加回路について説明したが、バスマスタ4に関するクロックゲーティングを実行するためには、バスマスタ4にクロック遮断要求信号生成回路300と同様の回路を追加し、クロックゲーティング解除信号生成回路200およびクロック供給・停止判断回路600がバスマスタ3に対する処理と同様の処理をバスマスタ4に対しても行うように構成すればよい。
このように、第1の実施の形態によれば、アービトレーションの論理を利用し、バスマスタは、自身がアクセス対象となっていない状態かつバスアクセス要求を発行しているがバスアクセス許可が発行されていない状態に移行したとき、クロックゲーティング回路に自身に対するクロックゲーティングを開始させ、バスアービタは、前記するバスマスタにアクセス許可を発行したときまたは該バスマスタがアクセス対象となったとき、クロックゲーティング回路に該バスマスタに対するクロックゲーティングを解除させるように構成したので、追加回路を最小限に抑えた設計で消費電力を効果的に削減する消費電力制御を行うことができる。
ところで、第1の実施の形態においては、バスマスタ3およびバスマスタ4はバススレーブとしても動作できるバスマスタであるとして説明した。バスマスタが、例えばCPUのようにバススレーブとしては動作しないタイプである場合、該バスマスタは、REQ信号をアサートしたときCLKGATEEN信号をアサートし、バスアービタ2は、該バスマスタに対するGNT信号をアサートしたとき該バスマスタに対するCLKGATEOFF信号をアサートするように構成するとよい。また、この場合、CLKGATEOFF信号のアサート/デアサートの状態は、GNT信号のアサート/デアサートの状態と常に等しいので、さらに簡単に、クロックゲーティング解除信号とGNT信号とを接続し、クロックゲーティング回路6は、GNT信号のアサート/デアサートをクロックゲーティング解除信号のアサート/デアサートと解釈するようにしてもよい。このように、バスマスタは、バスアクセス要求を発行しているがバスアクセス許可が発行されていない状態に移行したとき、クロックゲーティング回路に自身に対するクロックゲーティングを開始させ、バスアービタは、該バスマスタにバスアクセス許可を発行したとき、クロックゲーティング回路にクロックゲーティングを解除させることができ、バススレーブとしては動作しないバスマスタを有する半導体集積回路装置においても、追加回路を最小限に抑えた設計で消費電力を効果的に削減する消費電力制御を行うことができるようになる。
(第2の実施の形態)
図4は、本発明の第2の実施の形態にかかる半導体集積回路装置の構成を追加されている機能回路とともに示すブロック図である。
図4は、本発明の第2の実施の形態にかかる半導体集積回路装置の構成を追加されている機能回路とともに示すブロック図である。
図4において、第2の実施の形態にかかる半導体集積回路装置1002は、図2の半導体集積回路装置1001の構成と同様に、クロックゲーティング回路6を有する構成となっている。なお、第2の実施の形態は、バスアービタ2のクロックゲーティングに関するので、図4ではバスマスタ3およびバスマスタ4に関する信号を省略している。
バスアービタ2とバススレーブ5との間は、ADDRDEC17で接続されている。バスアービタ2は、バス1のアドレス信号をデコードすることで、バススレーブ5がアクセスを受けると判断するとADDRDEC31をアサートする。ADDRDEC17は、さらに、クロックゲーティング回路6へ接続されており、クロックゲーティング回路6は、ADDRDEC17のアサート/デアサートをバススレーブ5のクロックゲーティング解除信号CLKGATEOFFのアサート/デアサートとして解釈する。
また、バススレーブ5とクロックゲーティング回路6との間はクロックゲーティング要求信号であるCLKGATEEN31で接続されている。バススレーブ5には、クロック遮断要求信号生成回路500が追加されており、クロック遮断要求信号生成回路500は、バススレーブ5が動作処理(例えば直前のアクセスに対する後処理など)を行っておらず、かつADDRDEC31がアサートされていない場合に、CLKGATEEN31をアサートした状態とし、バススレーブ5が動作処理を行っている状態か、またはADDRDEC17がアサートされている状態か、のうち少なくとも1つの状態の場合、CLKGATEEN31をデアサートした状態とする。
クロックゲーティング回路6には、CLKGATEOFFおよびCLKGATEEN31の状態に基づいてバススレーブ5に対してクロックゲーティングを行うか否かを判断するクロック供給・停止判断回路601が追加されている。クロック供給・停止判断回路601は、CLKGATEOFFがデアサートされ、かつCLKGATEEN31がアサートされている状態のとき、バススレーブ5に対してアクセスがなく、かつバススレーブ5は動作処理を行っていないので、バススレーブ5に対するクロックゲーティングを有効にする信号を出力し、クロックゲーティング回路6は、バススレーブ5に対するクロックゲーティングを行う。バススレーブ5のクロックゲーティングが行われている間、クロック遮断要求信号生成回路500を含めたバススレーブ5の回路は動作せず、CLKGATEEN31の状態もアサートのまま変化しない。
クロックゲーティングが有効になっているときにバススレーブ5に対してアクセスがあると、バスアービタ2によりADDRDEC17がアサートされる。ADDRDEC17がアサートされると、クロック供給・停止判断回路601は、CLKGATEOFFがアサートされたと解釈する。CLKGATEOFFがアサートされた状態となるので、クロック供給・停止判断回路601は、バススレーブ5に対するクロックゲーティングを無効にする信号を出力し、クロックゲーティング回路6はバススレーブ5に対するクロックゲーティングを無効にする。
このように、第2の実施の形態によれば、アービトレーションの論理を利用し、バススレーブは、自身がアクセス対象となっておらず、かつ動作を行っていない状態に移行したとき、クロックゲーティング回路に自身に対するクロックゲーティングを開始させ、バスアービタは、前記するバススレーブがアクセス対象となったときクロックゲーティング回路に該バススレーブに対するクロックゲーティングを解除させるように構成したので、追加回路を最小限に抑えた設計で消費電力を効果的に削減する消費電力制御を行うことができる。
(第3の実施の形態)
図5は、本発明の第3の実施の形態にかかる半導体集積回路装置の構成を追加されている機能回路とともに示すブロック図である。
図5は、本発明の第3の実施の形態にかかる半導体集積回路装置の構成を追加されている機能回路とともに示すブロック図である。
図5において、第3の実施の形態の半導体集積回路装置1003は、図1の半導体集積回路装置1000の構成に加えて、各ペリフェラルに供給される電源をペリフェラル単位で遮断する電源制御を行う電源遮断回路7を有する。
バスアービタ2とバスマスタ3およびバスマスタ4との間は、第1の電源遮断要求信号であるSLEEP41およびSLEEP43で夫々接続されている。バスアービタ2には、さらに計時回路201が追加されている。計時回路201は、REQ信号を最後にアサートした時刻か、またはADDRDEC信号が最後にアサートされた時刻のうち、新しい時刻からの経過時間をバスマスタ毎に計測し、該経過時間が所定の期間を超過したバスマスタに対して、第1の電源遮断要求信号をアサートする。
バスマスタ3およびバスマスタ4と電源遮断回路7との間は、第3の電源遮断要求信号であるSLEEPEN42およびSLEEPEN44で夫々接続されている。バスマスタ3には電源遮断信号生成回路301が追加されており、バスマスタ4には電源遮断信号生成回路401が追加されている。電源遮断信号生成回路301は、SLEEP41がアサートされ、かつ自身が動作(例えばREQ11信号をアサートするための準備処理)を行っていない状態に移行したとき、SLEEPEN42をアサートする。電源遮断信号生成回路401も同様に、SLEEP43がアサートされ、かつ自身が動作を行っていない状態に移行したとき、SLEEPEN44をアサートする。
電源遮断回路7は、SLEEPEN42がアサートされるとバスマスタ3への電源供給を遮断し、SLEEPEN44がアサートされるとバスマスタ4への電源供給を遮断する。
バスアービタ2と電源遮断回路7との間は、第2の電源遮断要求信号であるSLEEP45で接続されている。バスアービタ2が備える計時回路201は、バススレーブ5に対するADDRDEC信号が最後にアサートされた時刻からの経過時間を計測し、経過時間が予め設定されている所定の時間を超過したとき、SLEEP45をアサートする。電源遮断回路7は、SLEEP45がアサートされると、バススレーブ5への電源供給を遮断する。
なお、第3の実施の形態の半導体集積回路装置1003はバススレーブを一つしか備えていない構成であるが、バススレーブを複数備える構成の場合、計時回路201は、バススレーブ毎にADDRDEC信号が最後にアサートされた時刻からの経過時間を計測し、経過時間が予め設定されている所定の時間を超過したとき、該当するバススレーブへの電源遮断要求信号をアサートするようにする。
このように、第3の実施の形態によれば、電源遮断制御がハードウェアにより自動的に実行される。各バスペリフェラルに対する電源供給再開は、ソフトウェアによる制御で行うようにする。例えば、ソフトウェアから電源遮断回路7に所定のバスペリフェラルの電源遮断を停止する信号を送信するようにし、電源遮断回路7は、この信号をトリガとして該当するバスペリフェラルに対する電源遮断を解除するようにするとよい。
なお、計時回路201が第1の電源遮断要求をアサートするために経過時間と比較する所定の時間と、第3の電源遮断要求をアサートするために経過時間と比較する所定の時間とは、異なる値が設定されるようにしてもかまわない。さらに、第1および第3の電源遮断要求をアサートするために使用される所定の時間は、バスペリフェラル毎に異なる値が設定されるようにしてもかまわない。
このように、第3の実施の形態によれば、アービトレーションの論理を利用することによってバスペリフェラル単位の電源制御を行うように構成したので、追加回路を最小限に抑えた設計で消費電力を効果的に削減する消費電力制御を行うことができる。
1 バス、2 バスアービタ、3 バスマスタ、4 バスマスタ、5 バススレーブ、6 クロックゲーティング回路、7 電源遮断回路、200 クロックゲーティング解除信号生成回路、201 計時回路、300 クロック遮断要求信号生成回路、301、401 電源遮断信号生成回路、500 クロック遮断要求信号生成回路、600、601 クロック供給・停止判断回路、1000〜1003 半導体集積回路装置
Claims (4)
- バスに接続された複数のバスマスタと、
複数のバスマスタからのバスアクセス要求を調停して複数のバスマスタに順次バスアクセス許可を発行するバスアービタと、
バスマスタへのクロック供給をバスマスタ単位で遮断するクロックゲーティング回路と、
を備え、
前記夫々のバスマスタは、バスアクセス要求を発行して、かつアクセス許可がない場合は前記クロックゲーティング回路にクロック遮断要求を発行し、
前記バスアービタは、バスアクセス許可を発行したとき、該バスアクセス許可の発行先のバスマスタに関するクロック遮断解除要求を前記クロックゲーティング回路に発行し、
前記クロックゲーティング回路は、クロック遮断要求を発行したバスマスタへのクロック供給を遮断し、前記クロック供給が遮断されたバスマスタに関するクロック遮断解除要求が前記バスアービタから発行されたとき該バスマスタへのクロック供給の遮断を解除する、
ことを特徴とする半導体集積回路装置。 - 前記バスアービタは、前記バスアクセス許可が発行されたバスマスタが他のバスマスタをアクセス対象として前記バスにアクセスしたとき、前記アクセス対象のバスマスタにアクセス通知を発行し、アクセス通知を発行したかまたはバスアクセス許可を発行したとき、発行先のバスマスタに関するクロック遮断解除要求を前記クロックゲーティング回路に発行し、
前記バスマスタは、自身に対するアクセス通知が発行されていない状態かつバスアクセス要求を発行している状態となったとき、前記クロックゲーティング回路にクロック遮断要求を発行し、
前記クロックゲーティング回路は、クロック遮断要求を発行したバスマスタへのクロック供給を遮断し、前記クロック供給を遮断したバスマスタに関するクロック遮断解除要求が前記バスアービタから発行されたとき該バスマスタへのクロック供給の遮断を解除する、
ことを特徴とする請求項1に記載の半導体集積回路装置。 - バスに接続された複数のバスマスタおよび1つ以上のバススレーブと、
複数のバスマスタからのバスアクセス要求を調停して複数のバスマスタに順次バスアクセス許可を発行するとともに、前記バスアクセス許可が発行されたバスマスタが他のバスマスタまたはバススレーブをアクセス対象として前記バスにアクセスしたとき、前記アクセス対象のバスマスタまたはバススレーブにアクセス通知を前記アクセス対象のバスマスタまたはバススレーブに発行するバスアービタと、バスマスタおよびバススレーブへの電源供給をバスマスタ単位およびバススレーブ単位で遮断する電源遮断回路と、
を備え、
前記バスアービタは、最後にバスアクセス要求を発行した時刻またはアクセス通知が発行された時刻のうち最新の時刻からの経過時間をバスマスタ毎に計測し、該経過時間が所定の時間を超過したバスマスタに第1の電源遮断要求を発行し、最後にアクセス通知が発行されてからの経過時間をバススレーブ毎に計測し、該経過時間が所定の時間を超過したバススレーブに関する第2の電源遮断要求を前記電源遮断回路に発行し、
前記第1の電源遮断要求が発行されたバスマスタは、自身がバスアクセス要求を発行する準備動作を行っていない場合、前記電源遮断回路に第3の電源遮断要求を発行し、
前記電源遮断回路は、前記バスアービタが前記第2の電源遮断要求を発行したとき、該第2の電源遮断要求に対応するバススレーブへの電源供給を遮断し、バスマスタが前記第3の電源遮断要求を発行したとき、該バスマスタへの電源供給を遮断する、
ことを特徴とする半導体集積回路装置。 - バスに接続された複数のバスマスタと、複数のバスマスタからのバスアクセス要求を調停して複数のバスマスタに順次バスアクセス許可を発行するバスアービタと、バスマスタへのクロック供給をバスマスタ単位で遮断するクロックゲーティング回路と、を備える半導体集積回路装置の消費電力制御方法であって、
バスマスタがバスアクセス要求を発行したとき前記クロックゲーティング回路にクロック遮断要求を発行する第1ステップと、
前記クロックゲーティング回路が、前記クロック遮断要求を発行したバスマスタへのクロック供給を遮断する第2ステップと、
前記バスアービタが、前記バスマスタにバスアクセス許可を発行したとき、前記バスマスタに関するクロック遮断解除要求を前記クロックゲーティング回路に発行する第3ステップと、
前記クロックゲーティング回路が、前記クロック遮断解除要求が前記バスアービタにより発行されたとき、前記バスマスタへのクロック供給の遮断を解除する第4ステップと、
を含むことを特徴とする半導体集積回路装置の消費電力制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008180431A JP2010021793A (ja) | 2008-07-10 | 2008-07-10 | 半導体集積回路装置および消費電力制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008180431A JP2010021793A (ja) | 2008-07-10 | 2008-07-10 | 半導体集積回路装置および消費電力制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010021793A true JP2010021793A (ja) | 2010-01-28 |
Family
ID=41706259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008180431A Pending JP2010021793A (ja) | 2008-07-10 | 2008-07-10 | 半導体集積回路装置および消費電力制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010021793A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9152213B2 (en) | 2011-07-25 | 2015-10-06 | Samsung Electronics Co., Ltd. | Bus system in SoC and method of gating root clocks therefor |
US9984019B2 (en) | 2014-12-09 | 2018-05-29 | Samsung Electronics Co., Ltd. | System on chip (SoC), mobile electronic device including the same, and method of operating the SoC |
US10248155B2 (en) | 2016-01-25 | 2019-04-02 | Samsung Electronics Co., Ltd. | Semiconductor device including clock generating circuit and channel management circuit |
US10282317B2 (en) | 2017-09-19 | 2019-05-07 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit |
US10296065B2 (en) | 2016-01-25 | 2019-05-21 | Samsung Electronics Co., Ltd. | Clock management using full handshaking |
US10303203B2 (en) | 2016-01-25 | 2019-05-28 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and method for operating semiconductor device |
US10430372B2 (en) | 2015-05-26 | 2019-10-01 | Samsung Electronics Co., Ltd. | System on chip including clock management unit and method of operating the system on chip |
US10969854B2 (en) | 2016-01-25 | 2021-04-06 | Samsung Electronics Co., Ltd. | Semiconductor device including clock management unit for outputing clock and acknowledgement signals to an intellectual property block |
US11275708B2 (en) | 2015-05-26 | 2022-03-15 | Samsung Electronics Co., Ltd. | System on chip including clock management unit and method of operating the system on chip |
US11314278B2 (en) | 2016-01-25 | 2022-04-26 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and method for operating semiconductor device |
-
2008
- 2008-07-10 JP JP2008180431A patent/JP2010021793A/ja active Pending
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9886414B2 (en) | 2011-07-25 | 2018-02-06 | Samsung Electronics Co., Ltd. | Bus system in SoC |
US9152213B2 (en) | 2011-07-25 | 2015-10-06 | Samsung Electronics Co., Ltd. | Bus system in SoC and method of gating root clocks therefor |
US10671562B2 (en) | 2011-07-25 | 2020-06-02 | Samsung Electronics Co., Ltd. | Clock gating circuit |
US10579564B2 (en) | 2014-12-09 | 2020-03-03 | Samsung Electronics Co., Ltd. | System on chip (SoC), mobile electronic device including the same, and method of operating the SoC |
US9984019B2 (en) | 2014-12-09 | 2018-05-29 | Samsung Electronics Co., Ltd. | System on chip (SoC), mobile electronic device including the same, and method of operating the SoC |
US10229079B2 (en) * | 2014-12-09 | 2019-03-12 | Samsung Electronics Co., Ltd. | System on chip (SoC), mobile electronic device including the same, and method of operating the SoC |
US11275708B2 (en) | 2015-05-26 | 2022-03-15 | Samsung Electronics Co., Ltd. | System on chip including clock management unit and method of operating the system on chip |
US10430372B2 (en) | 2015-05-26 | 2019-10-01 | Samsung Electronics Co., Ltd. | System on chip including clock management unit and method of operating the system on chip |
US10853304B2 (en) | 2015-05-26 | 2020-12-01 | Samsung Electronics Co., Ltd. | System on chip including clock management unit and method of operating the system on chip |
US10928849B2 (en) | 2016-01-25 | 2021-02-23 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and method for operating semiconductor device |
US10296065B2 (en) | 2016-01-25 | 2019-05-21 | Samsung Electronics Co., Ltd. | Clock management using full handshaking |
US10303203B2 (en) | 2016-01-25 | 2019-05-28 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and method for operating semiconductor device |
US10296066B2 (en) | 2016-01-25 | 2019-05-21 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system, and method of operating the semiconductor device |
US10969854B2 (en) | 2016-01-25 | 2021-04-06 | Samsung Electronics Co., Ltd. | Semiconductor device including clock management unit for outputing clock and acknowledgement signals to an intellectual property block |
US10248155B2 (en) | 2016-01-25 | 2019-04-02 | Samsung Electronics Co., Ltd. | Semiconductor device including clock generating circuit and channel management circuit |
US11314278B2 (en) | 2016-01-25 | 2022-04-26 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and method for operating semiconductor device |
US11340685B2 (en) | 2016-01-25 | 2022-05-24 | Samsung Electronics Co., Ltd. | Semiconductor device including clock management unit for outputting clock and acknowledgment signals to an intelectual property block |
US11747853B2 (en) | 2016-01-25 | 2023-09-05 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and method for operating semiconductor device |
US11789515B2 (en) | 2016-01-25 | 2023-10-17 | Samsung Electronics Co., Ltd. | Semiconductor device |
US10282317B2 (en) | 2017-09-19 | 2019-05-07 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010021793A (ja) | 半導体集積回路装置および消費電力制御方法 | |
US6560712B1 (en) | Bus arbitration in low power system | |
US8438416B2 (en) | Function based dynamic power control | |
US7155618B2 (en) | Low power system and method for a data processing system | |
KR20140001902A (ko) | 처리 노드의 열 제어를 위한 방법 및 장치 | |
JP5102789B2 (ja) | 半導体装置及びデータプロセッサ | |
JPH07152450A (ja) | コンピュータシステム、ならびに周辺バスクロック信号を制御するためのシステムおよび方法 | |
JP2011095978A (ja) | バスシステム及びバス制御方法 | |
JP2013106166A (ja) | クロックゲーティング回路およびバスシステム | |
US8984198B2 (en) | Data space arbiter | |
JP2007058716A (ja) | データ転送バスシステム | |
JP5981004B2 (ja) | 半導体装置 | |
JP2000020462A (ja) | コンピュータシステムに適用するバスシステム | |
US9329998B2 (en) | Information processing apparatus and scheduling method | |
JP2007018280A (ja) | バスシステムの制御方法及び制御回路 | |
JP5805546B2 (ja) | 半導体装置 | |
US9916243B2 (en) | Method and apparatus for performing a bus lock and translation lookaside buffer invalidation | |
JP5630886B2 (ja) | 半導体装置 | |
KR101285665B1 (ko) | 수면 모드를 지원하는 멀티 코어 시스템 온 칩 | |
JP2010049718A (ja) | 半導体装置 | |
JP5464676B2 (ja) | 半導体装置 | |
US11836026B1 (en) | System-on-chip with DVFM protection circuit | |
JP2008097462A (ja) | 情報処理装置及び情報処理方法 | |
JP2003271260A (ja) | コンピュータシステム及びその動作制御方法 | |
JP2008186096A (ja) | バス調停装置 |