(57)【要約】【課題】パワーゲーティング技術を用いる際にオーバーヘッドを最小にして消費電力を最大限削減する。【解決手段】レジスタからの複数の命令を読み取って、前記命令のそれぞれの処理に用いる論理回路を選定し、前記複数の命令のうち、最小限維持すべき順序を決定し、前記最小限維持すべき順序を維持しつつ、前記複数の命令の処理の順序を入れ替えた組み合わせ処理を複数設定し、前記複数の組み合わせ処理の順序におけるオーバーヘッドを計算し、前記複数の組み合わせ処理のうち、前記オーバーヘッドが最小となるものを実行する。【選択図】図２
2013228907.tif 000002
【特許請求の範囲】
【請求項１】
少なくともスケジューラと、一以上の論理回路と、パワーゲーティング制御回路と、を有し、
前記スケジューラは、
前記一以上の論理回路における処理の順序によるオーバーヘッドの大小を判別し、前記判別により前記オーバーヘッドが最小となる命令順序を決定し、
決定した前記命令順序に従って前記パワーゲーティング制御回路を動作させつつ、前記一以上の論理回路に前記命令を処理させるプロセッサを有する半導体装置。
【請求項２】
レジスタからの複数の命令を読み取って、前記命令のそれぞれの処理に用いる一または複数の論理回路を選定し、
前記複数の命令のうち、最小限維持すべき順序を決定し、
前記最小限維持すべき順序を維持しつつ、前記複数の命令の処理の順序を入れ替えた組み合わせ処理を複数設定し、
前記複数の組み合わせ処理の順序においてパワーゲーティング時のオーバーヘッドを計算し、
前記複数の組み合わせ処理のうち、前記オーバーヘッドが最小となるものを実行することを特徴とする半導体装置の駆動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関する。本明細書において、半導体装置とは、半導体素子自体または半導体素子を含むものをいい、このような半導体素子として、例えば薄膜トランジスタが挙げられる。従って、液晶表示装置及び記憶装置なども半導体装置に含まれる。
【背景技術】
【０００２】
近年、モバイルコンピュータなどの可搬型の半導体装置が急速に普及している。このような可搬型の半導体装置は蓄電部を有しており、該蓄電部からの給電により動作するが、該蓄電部の充放電容量は有限である。そのため、可能な限り消費電力を低減したいという要請がある。
【０００３】
一方で、半導体装置が高性能化するに伴い、プロセッサにおける消費電力も増大してきている。そのため、処理を行っていない論理回路への給電を停止して消費電力を抑制する（パワーゲーティング）技術を用いることで、プロセッサの消費電力の低減を図る試みがなされている（例えば、特許文献１を参照）。
【０００４】
しかしながら、パワーゲーティング技術では、電源からの給電の遮断時と電源からの給電の復帰時におけるパワースイッチのオンオフと、データの退避動作により電力を消費する。このときに消費する電力のオーバーヘッドが電源からの給電の遮断による電力の削減分よりも大きいと、結果的に消費電力の低減が困難であるという問題がある（例えば、特許文献２、特に［０００３］段落を参照。）
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１７２２３０号公報
【特許文献２】特開２０１１−１８６９３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の一態様は、パワーゲーティング技術を用いる際にオーバーヘッドを最小にしてトータルの消費電力を最大限削減することを課題とする。
【課題を解決するための手段】
【０００７】
本発明の一態様は、少なくともスケジューラと、一以上の論理回路と、パワーゲーティング制御回路と、を有し、前記スケジューラは、前記一以上の論理回路における処理の順序によるオーバーヘッドの大小を判別し、前記判別により前記オーバーヘッドが最小となる命令順序を決定し、決定した前記命令順序に従って前記パワーゲーティング制御回路を動作させつつ、前記一以上の論理回路に前記命令を処理させるプロセッサを有する半導体装置である。
【０００８】
本発明の一態様は、レジスタからの複数の命令を読み取って、前記命令のそれぞれの処理に用いる一または複数の論理回路を選定し、前記複数の命令のうち、最小限維持すべき順序を決定し、前記最小限維持すべき順序を維持しつつ、前記複数の命令の処理の順序を入れ替えた組み合わせ処理を複数設定し、前記複数の組み合わせ処理の順序においてパワーゲーティング時のオーバーヘッドを計算し、前記複数の組み合わせ処理のうち、前記オーバーヘッドが最小となるものを実行することを特徴とする半導体装置の駆動方法である。
【０００９】
なお、本明細書において、組み合わせ処理とは、複数の命令を組み合わせた一群の命令をいい、複数の命令の塊ともいえるものである。
【００１０】
換言すると、本発明の一態様は、パワーゲーティング技術を用いるに際して、複数の命令の処理を組み合わせてすべての命令順序について組み合わせを試行し、オーバーヘッドが最小となる組み合わせを採用する半導体装置の駆動方法またはこのような駆動方法を採用した半導体装置である。
【発明の効果】
【００１１】
パワーゲーティング技術を用いる際にオーバーヘッドを最小にしてトータルの消費電力を最大限削減することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一態様である半導体装置を説明する図。
【図２】本発明の一態様である半導体装置の駆動方法を説明する図。
【図３】実施例１の従来構成によるパワーゲーティング時の消費電力を説明する図。
【図４】実施例１の本発明の一構成例によるパワーゲーティング時の消費電力を説明する図。
【図５】実施例１の本発明の一構成例によるパワーゲーティング時の消費電力を説明する図。
【発明を実施するための形態】
【００１３】
以下では、本発明の実施の形態について図面を用いて詳細に説明する。ただし、本発明は以下の説明に限定されず、本発明の趣旨及びその範囲から逸脱することなくその形態及び詳細を様々に変更し得ることは、当業者であれば容易に理解される。したがって、本発明は、以下に示す実施の形態の記載内容に限定して解釈されるものではない。
【００１４】
本実施の形態では、本発明の一態様である半導体装置とその駆動方法について、図１及び図２を参照して説明する。
【００１５】
図１には、本発明の一態様である半導体装置の概略図を示す。図１に示す半導体装置１００は、プロセッサ１０２を有する。プロセッサ１０２は、命令レジスタ１０４と、デコーダ１０６と、スケジューラ１０８と、論理回路群１１０と、パワーゲーティング制御回路１１２と、を有する。
【００１６】
命令レジスタ１０４は、プロセッサ１０２の外部から受け取った命令を一時的に保持するためのレジスタであり、論理回路群１１０に処理させる命令を記憶させることができるものであれば、特定の構成に限定されず、あらゆる構成のものを採用することができる。
【００１７】
デコーダ１０６は、命令レジスタ１０４からの命令をデコードする機能を有する。
【００１８】
スケジューラ１０８は、パワーゲーティング技術を用いる際にオーバーヘッドを最小にするために論理回路群１１０への命令を参照し、パワーゲーティング制御回路１１２を制御する機能を有する。
【００１９】
論理回路群１１０は、第１の論理回路１１０Ａ及び第２の論理回路１１０Ｂをはじめとして、第Ｎの論理回路１１０ＮまでのＮ個の論理回路を有する。論理回路群１１０が有する論理回路のそれぞれは特定のものに限定されず、あらゆる機能及び構成のものを採用することができる。
【００２０】
図２は、本発明の一態様である半導体装置の駆動方法を説明する図である。詳細には、図１のスケジューラ１０８の動作を説明するフローチャートである。図１のスケジューラ１０８の動作について、図１及び図２を参照して以下に説明する。
【００２１】
まず、命令レジスタ１０４が複数の命令を外部から受け取り（フェッチ２０２）、デコーダ１０６にて前記複数の命令をデコードする（デコード２０４）。デコードされた前記複数の命令は、スケジューラ１０８に伝達される。
【００２２】
スケジューラ１０８では、まず、前記複数の命令のそれぞれに対して、論理回路群１１０中のいずれの論理回路を使用するか（いずれの論理回路を活性化するか）についての解析を行って論理回路の選定を行う（活性化解析処理２０６）。そして、前記複数の命令間の同期を解析する（同期解析処理２０８）。
【００２３】
なお、ここで、前記複数の命令間の前記同期は、複数の命令間の依存性または実行すべき順序のことである。すなわち、同期解析処理２０８では、複数の命令間における最小限維持すべき順序を決定する。
【００２４】
次に、前記複数の命令間における前記最小限維持すべき順序を維持しつつ、前記複数の命令の処理の順序を入れ替えた一の組み合わせ処理を設定し、前記一の組み合わせ処理においてパワーゲーティングを行った場合のオーバーヘッドを計算する（オーバーヘッド解析処理２１０）。
【００２５】
次に、前記複数の命令間の前記最小限維持すべき順序を保ちつつ命令の実行順序を入れ替える（命令順序の最適化２１２）。そして、順序を入れ替えられた命令の前記実行順序に従って設定された組み合わせ処理について再度オーバーヘッドを計算する（オーバーヘッド解析処理２１０）。そして、再度、前記複数の命令間の前記最小限維持すべき順序を保ちつつ命令の実行順序を入れ替える（命令順序の最適化２１２）。これをすべての組み合わせ処理に至るまで繰り返す。
【００２６】
なお、上記した方式は、「命令順序逐次設定方式」とも呼ぶことができるものであり、命令順序を逐次決定していくため、処理に用いるプロセッサ１０２内の記憶部の容量を小さくすることができるというメリットがある。
【００２７】
ただし、本発明の一態様は、前記命令順序逐次設定方式に限定されない。はじめにすべての組み合わせ処理の設定を行って該組み合わせ処理のすべてを記憶しておき、オーバーヘッド計算をまとめて行ってもよい。このような方式では、処理に用いるプロセッサ１０２内の記憶部の容量は前記命令順序逐次設定方式よりも大きくする必要があるが、処理の速度は速い。
【００２８】
このように、命令順序の最適化２１２とオーバーヘッド解析処理２１０を複数回繰り返し、入れ替え可能なすべての命令順序で組み合わせ処理を複数設定し、複数の組み合わせ処理のすべてにおいてオーバーヘッドを計算する。そして、すべての計算結果を比較して、オーバーヘッドが最小である命令の実行順序（組み合わせ処理）を決定する。
【００２９】
そして、決定した前記命令の実行順序を論理回路群１１０とパワーゲーティング制御回路１１２に出力する（出力２１４）。論理回路群１１０は、出力された前記命令の実行順序に従って処理を行い、パワーゲーティング制御回路１１２は、出力された前記命令の実行順序に従って論理回路群１１０に設けられた論理回路のパワーゲーティングの制御を行う。
【００３０】
以上説明したように、パワーゲーティング技術を用いる際にオーバーヘッドを最小にすることができるため、消費電力を最大限削減することができる。
【実施例１】
【００３１】
本実施例では、本発明の一態様である半導体装置において、具体的な命令を処理する場合について図３乃至図５を参照して説明する。なお、説明に用いる半導体装置は、図１の半導体装置１００である。
【００３２】
本実施例では、論理回路群１１０は、第１の論理回路１１０Ａ、第２の論理回路１１０Ｂ及び第３の論理回路１１０Ｃを有する。また、処理する命令は、第１乃至第３の命令である。
【００３３】
なお、本実施例では、一のオーバーヘッドによる電力量（一回あたりのオーバーヘッド電力とオーバーヘッド時間の積）は、概ね等しいものと仮定する。そのため、オーバーヘッドの回数のみについて考慮するものとする。
【００３４】
また、図３乃至図５には、オーバーヘッドが起こっているタイミングを白抜きの矢印で示している。
【００３５】
まず、命令レジスタ１０４が第１乃至第３の命令を受け取り（フェッチ２０２）、デコーダ１０６にて第１乃至第３の命令をデコードし（デコード２０４）、デコードされた命令をスケジューラ１０８に伝達する。
【００３６】
そして、スケジューラ１０８において、いずれの論理回路を使用するか（いずれの論理回路を活性化するか）についての解析を行って論理回路の選定を行う（活性化解析処理２０６）。そして、前記複数の命令間の同期を解析し、複数の命令間における最小限維持すべき順序を決定する（同期解析処理２０８）。
【００３７】
ここで、活性化解析処理２０６の結果、第１の命令は、第１の論理回路１１０Ａを使用し、第２の命令は、第２の論理回路１１０Ｂを使用し、第３の命令は、第１の論理回路１１０Ａ及び第３の論理回路１１０Ｃを使用することが判明したものとする。
【００３８】
そして、同期解析処理２０８の結果、第３の命令では、第１の命令の処理結果を用いることが判明したものとする。そのため、第１の命令を処理した後に第３の命令を処理するという実行順序は守らなければならない。以上説明した、処理する命令と用いる論理回路の関係を表１に示す。
【００３９】
【表１】
2013228907.tif 000003
【００４０】
次に、パワーゲーティングを行った場合のオーバーヘッドを計算する（オーバーヘッド解析処理２１０）。オーバーヘッド解析処理２１０の結果、命令１の処理後に命令２の処理を行い、その後命令３の処理を行う場合（第１の処理順序）と、命令１の処理後に命令３の処理を行い、その後命令２の処理を行う場合（第２の処理順序）では、後者のオーバーヘッドのほうが小さいため、命令の実行順序を入れ替える（命令順序の最適化２１２）。
【００４１】
なお、図３には、第１の処理順序における消費電力を示し、図４には、第２の処理順序における消費電力を示している。図３（Ａ）には、第１の論理回路１１０Ａのオーバーヘッドを示し、図３（Ｂ）には、第２の論理回路１１０Ｂのオーバーヘッドを示し、図３（Ｃ）には、第３の論理回路１１０Ｃのオーバーヘッドを示す。同様に、図４（Ａ）には、第１の論理回路１１０Ａのオーバーヘッドを示し、図４（Ｂ）には、第２の論理回路１１０Ｂのオーバーヘッドを示し、図４（Ｃ）には、第３の論理回路１１０Ｃのオーバーヘッドを示す。
【００４２】
すなわち、図３には、第１の命令３０１の後に第２の命令３０２を行い、第２の命令３０２の後に第３の命令３０３を行う形態を示している。図４には、第１の命令３０１の後に第３の命令３０３を行い、第３の命令３０３の後に第２の命令３０２を行う形態を示している。
【００４３】
従来ではオーバーヘッドを考慮して命令順序を決定していなかったため、図３は、従来構成によるパワーゲーティング時の消費電力を説明する図であるともいえる。本発明の一態様を適用することで、オーバーヘッドを考慮して命令順序を決定することができるため、図４は、本発明の一構成例によるパワーゲーティング時の消費電力を説明する図であるともいえる。
【００４４】
なお、これに限定されず、図５に示すように、第２の命令３０２の後に第１の命令３０１を行い、第１の命令３０１の後に第３の命令３０３を行ってもよい（第３の処理順序）。この場合のオーバーヘッドは図４と同様であるため、図４を適用した場合と同程度の消費電力の低減を行うことができる。なお、図５（Ａ）には、第１の論理回路１１０Ａのオーバーヘッドを示し、図５（Ｂ）には、第２の論理回路１１０Ｂのオーバーヘッドを示し、図５（Ｃ）には、第３の論理回路１１０Ｃのオーバーヘッドを示す。
【００４５】
以上説明したように、本発明の一態様である半導体装置では、本発明の一態様である半導体装置の駆動方法を適用することで、パワーゲーティング技術を用いる際にオーバーヘッドを最小にすることができるため、消費電力を最大限削減することができる。
【００４６】
なお、処理する命令の数が多い場合には、複数の命令を任意の大きさに分割して本発明の一態様を適用すればよい。
【符号の説明】
【００４７】
１００    半導体装置
１０２    プロセッサ
１０４    命令レジスタ
１０６    デコーダ
１０８    スケジューラ
１１０    論理回路群
１１０Ａ    第１の論理回路
１１０Ｂ    第２の論理回路
１１０Ｃ    第３の論理回路
１１０Ｎ    第Ｎの論理回路
１１２    パワーゲーティング制御回路
２０２    フェッチ
２０４    デコード
２０６    活性化解析処理
２０８    同期解析処理
２１０    オーバーヘッド解析処理
２１２    命令順序の最適化
２１４    出力
３０１    第１の命令
３０２    第２の命令
３０３    第３の命令
【図１】
2013228907.tif 000004
【図２】
2013228907.tif 000005
【図３】
2013228907.tif 000006
【図４】
2013228907.tif 000007
【図５】
2013228907.tif 000008