説明

演算処理装置、演算処理装置の電源制御方法

【課題】CPU等の構成部品である演算器に対して、分割して電源の制御を実施できるようにして一度に発生する電圧変動量を減少させることで、電圧変動が大きくなる問題を解決する。
【解決手段】電源制御シーケンサー302は、電源制御信号301が電源の切断を指示した場合には、各IC303、305に対して入力側の信号値の固定化を指示し、その後に、CNT4〜CNT1信号により、MSB側のBLOCK304から段階的に電源の切断を指示すると共に、対応するOC306に対して出力側の信号値の固定化を指示する。電源制御信号301が電源の投入を指示した場合には、電源制御シーケンサー302は、LSB側のBLOCK304から段階的に電源の投入を指示すると共に、対応するOC306に対して出力側の信号値の固定化の解除を指示し、その後に、CNT5信号により、各IC303、305に対して入力側の信号値の固定化の解除を指示する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体素子の低消費電力化のための電源制御技術に関する。
【背景技術】
【0002】
半導体素子の微小化に伴い、トランジスタのソース端子とドレイン端子間等を流れる漏れ電流であるリーク電流が、相対的に増加し回路の動作電流に比較して無視できなくなってきている。特に、高性能CPU(中央演算処理装置)は、消費電力が大きく、その放熱が大きな問題となっている。
【0003】
低消費電力化のためには、従来は、ゲートやトランジスタのスイッチング動作を止めるという方策が採用されたりしていた。しかし、トランジスタがオフの状態でも流れるリーク電流においては、最近はその影響が無視できないほど大きくなってきており、トランジスタのスイッチングを制御する方法だけでは足りなくなってきている。このため電力削減方法として、LSI動作時であっても、命令を処理するにあたって、有効な処理がない回路を一時的に電源を切断し、必要になった時点で電源を再投入したりすることが注目されてきている。
【0004】
図18は、一般的に考えられる電源制御技術の従来技術の構成図である。
従来は、このサイズのブロックでは、電源を制御する場合には、対象ブロック1801に対して一度に電源の投入や切断の操作がなされていた。
【0005】
電源の切断指示は、命令制御部1803からの電源制御信号1804により行われる。対象ブロック1801を構成する例えば#0〜#3の各ブロック(BLOCK)1802への電源VDDが、電源制御信号1804に基づいて動作する給電用FET1805により、一度に落とされる。
【0006】
これと同時に、受信側にも信号(図中では電源制御信号1804と同一の信号)が送られ、これに基づいて動作する受信側での入力固定回路1806により、出力信号がゲートされる。電源が切断された対象ブロック1801では、出力信号が駆動されなくなることにより、そのブロックから出力される値が不定となる。他の演算器またはレジスタ等1807においては、不定な値が電源切断された対象ブロック1801から到来しても、受信側での入力固定回路1806において入力信号がゲートされて値が確定されることによって、動作に問題が起きないように構成されている。
【0007】
【特許文献1】特開平8−202468号公報
【特許文献2】特開平7−271477号公報
【特許文献3】特開平2006−244519号公報
【特許文献4】特開平2006−303579号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
CMOS(Complementary Metal−Oxide Semiconductor:相補型金属酸化物半導体)技術では、電源の投入や切断時に、突入電流の一種として大きな電流が流れることがあり、このとき電源電圧が瞬間的に大きく変化する。この電圧変動が誤動作の要因となることがあり、問題とされている。
【0009】
このような場合には、電源に応答性のよいキャパシタを大量に接続することで時定数を大きなものとすることにより対応することは可能であるが、変動量に比例してより大容量のキャパシタが必要となり、あまり実用的ではないという問題点を有していた。
【課題を解決するための手段】
【0010】
本発明の課題は、CPU等の構成部品である演算器に対して、分割して電源の制御を実施できるようにして一度に発生する電圧変動量を減少させることで、電圧変動が大きくなる問題を解決することにある。
【0011】
本発明の第1の態様は、演算対象データにおけるビット位置に基づいて分割された複数の各分割演算対象データに対する演算をそれぞれ実行しそれぞれ電源の投入および切断を行う機能を有する複数の演算回路ブロック(図3、図5の304)を具備する演算処理装置、または当該演算処理装置の電源制御方法を前提とする。
【0012】
信号値固定回路(図3、図5の303、306)は、各演算回路ブロック毎に設けられ、その各演算回路ブロックの入力または出力の何れか一方又は両方の信号値を固定化する。
【0013】
電源制御シーケンサー回路(図3、図5の302)は、演算処理装置に対する演算命令の投入を制御する命令制御回路(図1の102)から与えられる電源制御信号(図3、図5の301)に基づいて、各信号値固定回路に対する信号値の固定化および固定化の解除の指示と、各演算回路ブロック毎に段階的に電源の投入または切断の指示を行う。
【0014】
この電源制御シーケンサー回路は例えば、電源制御信号が電源の切断を指示した場合には、各信号値固定回路に対して入力側の信号値の固定化を指示した後に、演算対象データの最上位ビット側の演算回路ブロックから段階的に各演算回路ブロックに対してそれぞれの電源の切断を指示する。また、電源制御信号が電源の投入を指示した場合には、電源制御シーケンサー回路は例えば、演算対象データの最下位ビット側の演算回路ブロックから段階的に各演算回路ブロックに対してそれぞれの電源の投入を指示した後に、各信号値固定回路に対して入力側の信号値の固定化の解除を指示する。
【0015】
あるいは、電源制御シーケンサー回路は例えば、電源制御信号が電源の切断を指示した場合には、各信号値固定回路に対して入力側の信号値の固定化を指示した後に、演算対象データの最上位ビット側の演算回路ブロックから段階的に各演算回路ブロックに対してそれぞれの電源の切断を指示すると共にその電源の切断を指示した演算回路ブロックに対応する信号値固定回路に対して出力側の信号値の固定化を指示する。また、電源制御信号が電源の投入を指示した場合には、電源制御シーケンサー回路は例えば、演算対象データの最下位ビット側の演算回路ブロックから段階的に各演算回路ブロックに対してそれぞれの電源の投入を指示すると共にその電源の投入を指示した演算回路ブロックに対応する信号値固定回路に対して出力側の信号値の固定化の解除を指示した後に、各信号値固定回路に対して入力側の信号値の固定化の解除を指示する。
【0016】
本発明の第2の態様は、演算対象データにおけるビット位置に基づいて分割された第1の分割演算対象データに対する演算を行う第1の演算回路と、演算対象データにおけるビット位置に基づいて分割された第1のデータとは異なる第2の分割演算対象データに対する演算を行う第2の演算回路と、第1及び第2の演算回路を制御する制御回路を有する演算処理装置を前提とする。
【0017】
第1の演算回路は、第1の分割演算対象データが入力され、第1の固定値制御信号に基づいて、第1の分割演算対象データ又は第1の固定入力値のいずれかを出力する第1の入
力値固定回路と、第1の分割演算対象データに対して第1の演算を行い、第1の分割演算出力データを出力する第1の分割演算回路を有する。
【0018】
第2の演算回路は、第2の分割演算対象データが入力され、第2の固定値制御信号に基づいて、第2の分割演算対象データ又は第2の固定入力値のいずれかを出力する第2の入力値固定回路と、第2の分割演算対象データに対して第2の演算を行い、第2の分割演算出力データを出力する第2の分割演算回路を有する。
【0019】
制御回路は、制御回路の外部から入力された外部制御信号に基づいて、第1の固定値制御信号を第1の演算回路に出力し、第2の固定値制御信号を第2の演算回路に出力する。
上述の第2の態様の構成において、第1の演算回路はさらに、第2の演算回路に、桁上がり信号固定回路を介して接続されるとともに、第2の演算回路に対して桁上がり信号を出力し、桁上がり信号固定回路は、制第2の固定値制御信号に基づいて、第1の演算回路から第2の演算回路に出力される桁上がり信号を抑止し、第3の固定値を出力するように構成することができる。
【0020】
また、ここまでの第2の態様の構成において、第1の演算回路はさらに、第1の分割演算出力データが入力され、第1の固定値制御信号に基づいて、第1の分割演算出力データ又は第2の固定出力値のいずれかを出力する第1の出力値固定回路と、第2の分割演算出力データが入力され、第2の固定値制御信号に基づいて、第2の分割演算出力データ又は第2の固定出力値のいずれかを出力する第2の出力値固定回路を有するように構成することができる。
【0021】
また、ここまでの第2の態様の構成において、制御回路はさらに、制御回路の外部から入力された外部制御信号に基づいて、第1の演算回路の電源を制御する第1の電源制御信号を第1の演算回路に出力し、第2の演算回路の電源を制御する第2の電源制御信号を第2の演算回路に出力するように構成することができる。
【発明の効果】
【0022】
上記本演算処理装置、演算処理装置の電源制御方法の態様の構成により、演算処理装置を構成する演算回路ブロックに対して分割して電源の制御を実施することが可能となり、一度に発生する電圧変動量を減少させることが可能となる。
【発明を実施するための最良の形態】
【0023】
以下、図面を参照しながら、本演算処理装置、演算処理装置の電源制御方法を実施するための最良の形態を詳細に説明する。
図1は、本実施形態の一例が対象とするCPUの概略構成図である。
【0024】
CPU101は、命令制御部102、演算/実行部103、キャッシュ/主記憶制御部104などからなる。本実施形態は、演算/実行部103にある演算器103−1に対する電源制御が本演算処理装置、演算処理装置の電源制御方法に特に関連する。演算器は、CPUを構成する一部品として使われることが多く、計算やデータの加工を実行する機能ブロックである。同等の演算器であれば、図1の演算/実行部103に示されるような構成に限らず本実施例は適用可能である。
【0025】
CPU101内の命令制御部102は、命令のデコード部102−1、命令の実行に関連する各種キュー群102−2、実行中の命令を管理する実行中命令管理部102−3もしくはそれらに類する状態管理機構を有する。本実施形態では、命令制御部102が、演算/実行部103の状態を把握し、電源の切断および再投入の意志決定を行う。
【0026】
また、命令制御部102は、有効な処理命令がない場合には保持する値がほとんど存在しないという特徴があるため、電源を切断する際に状態を保存しなくてすみので、電源制御を実行するうえで、比較的容易にその制御を実現できる機能ブロックである。
【0027】
演算/実行部103内の演算器103−1は、命令制御部102からの指令で処理を実行する。命令制御部102は演算器103−1の状態を管理しているため、演算器103−1に対する電源制御信号を生成するのは、命令制御部102が都合が良い。
【0028】
本実施形態は、演算器103−1に対して分割して電源の制御を実施できるようにして、一度に発生する電圧変動量を減少させることで、電圧変動が大きくなる問題を解決するものである。
【0029】
図2は、本実施形態における電源切断時の全体制御を示す動作フローチャートである。
まず、図1の命令制御部102において電源切断指令が発行される(図2のステップS201)。
【0030】
次に、図1の演算器103−1内の各演算ブロック(以下単に、「ブロック」という)への入力信号が固定される(図2のステップS202)。本実施形態では、演算器103−1の後述する各ブロックに対する入力信号を固定する論理回路が設けられることにより、電源シーケンス時に、入力信号の変化により予定外の電流が流れないようにされる。
【0031】
そして、電源の切断がMSB(Most Significant Bit:最上位ビット)側から実行される(図2のステップS203)。この制御により、信号を抑える回路の追加を不要として保護機構にかかる電力が抑制される。更に、電源が切断された各ブロックからの出力信号を一定の値に保つ回路が追加され、後段の他のブロックに対して電源断時の状態が既知の状態にされることにより、通電中のブロックに対して特別な状態を通知するための回路を不要にできるようにした。加えて、本実施形態は、後述するように(図12参照)、ブロックの出力部の電源をブロックから切り離して制御できるようにすることにより、ブロックの出力ドライバの電源断と出力の値の固定化を電源制御信号によって同時に制御できるように構成される。こうすることで、受信側において通信バス上のデータが不確定になることがなくなり、受信側で特別な制御回路を設ける必要がなくなる。
【0032】
上記のようにして、LSIの動作時に、特定の演算器ブロックの電源を切断する際の電源に対する電流変動の負荷を最小限にされる。
図3は、電源制御機能を有する図1の演算器103−1とその周辺回路の実施形態を示す構成図である。この演算器103−1の例は、加算器を示しているが、他の演算を行う演算器でも同様に構成できる。
【0033】
OP1、OP2は、加算器である演算器103−1への入力オペランドデータバスを示す。また、resultは、演算器103−1の加算結果の出力データを示す。
電源制御シーケンサー302は、外部からの電源ON/OFFの指令を電源制御信号301により受け取り、電源制御信号CNT1、CNT2、CNT3、CNT4および、入力信号制御信号CNT5を制御する。
【0034】
#0〜#3のブロック(BLOCK)304は、加算演算器が4つに分割された各部を示す。例えば64ビット加算器の場合には、1つの例としては16ビットずつの分割が実施れ、BLOCK304(#0)がビット15〜0を担当するブロックとされ、BLOCK304(#1)がビット31〜16を担当するブロックとされ、BLOCK304(#2)がビット47〜32を担当するブロックとされ、BLOCK304(#3)がビット
63〜48を担当するブロックとされる。
【0035】
IC303(#0〜#3)、305(#0〜#3)は、入力信号を固定値に確定させるための回路ブロックである。図4は、入力信号401の如何に関わらず、制御信号403に基づいて、出力信号402を固定値0に確定させる回路の構成図である。この回路は、アンド回路404によって構成され、入力信号のビット分用意される。制御信号403がハイレベルの場合には、出力信号402の値は入力信号401の値に等しいが、制御信号403がローレベルの場合には、出力信号402は固定値0に確定される。制御信号403は、図3のCNT5信号に対応する。
【0036】
BLOCK304(#0)とBLOCK304(#1)間のIC305(#1)、BLOCK304(#1)とBLOCK304(#2)間のIC305(#2)、およびBLOCK304(#2)とBLOCK304(#3)間のIC305(#3)は、それぞれBLOCK間の桁上げ(キャリー)信号の固定化回路である。
【0037】
図3および図4の構成を有する本実施形態の電源断動作について説明する。
まず、命令制御部102(図1)からの電源制御信号301により、電源断(power−off)が通知される。
【0038】
次に、CNT5信号がローレベルに設定され、#0〜#3のIC303および#1〜#3のIC305において、入力信号およびキャリー信号が全て固定化される。
次に、CNT4信号がハイレベルに設定され、BLOCK304(#3)の電源が切断される。
【0039】
次に、CNT3信号がハイレベルに設定され、BLOCK304(#2)の電源が切断される。
次に、CNT2信号がハイレベルに設定され、BLOCK304(#1)の電源が切断される。
【0040】
最後に、CNT1信号がハイレベルに設定され、BLOCK304(#0)の電源が切断される。
図3および図4の構成を有する本実施形態の電源再投入動作について説明する。
【0041】
まず、命令制御部102(図1)からの電源制御信号301により、電源投入(power−on)が通知される。
次に、CNT1信号がローレベルに設定され、BLOCK304(#0)の電源が投入される。
【0042】
次に、CNT2信号がローレベルに設定され、BLOCK304(#1)の電源が投入される。
次に、CNT3信号がローレベルに設定され、BLOCK304(#2)の電源が投入される。
【0043】
次に、CNT4信号がローレベルに設定され、BLOCK304(#3)の電源が投入される。
最後、CNT5信号がハイレベルに設定され、#0〜#3のIC303および#1〜#3のIC305において、入力信号およびキャリー信号の固定化が全て解除される。
【0044】
図5は、電源制御機能を有する図1の演算器103−1とその周辺回路の他の実施形態を示す構成図である。
この図に示される構成は、図3に示される構成から、BLOCK304間の桁上げ(キャリー)信号の固定化回路IC305が省かれた構成となっている。
【0045】
図3の説明で示したように、電源の切断時は最初に入力信号OP1、OP2がIC303にて全て固定値に抑えられてから各BLOCK304の電源が切断され、電源の投入時は各BLOCK304の電源が投入された後に入力信号OP1、OP2の固定化が解除されることにより、BLOCK304間のキャリー信号は、変化せずに固定値を持つようになる。また、電源の切断時はMSB側のBLOCK304から電源が切断され、電源の投入時はLSB側のBLOCK304から電源が投入されるというシーケンスが採用されることにより、電源が投入されているBLOCK304に電源がOFFになっているBLOCK304からの(値が中間レベルになる可能性がある)キャリー信号が直接流入することが回避される。このため、キャリー伝搬路のIC305を省略することが可能となる。
【0046】
図6は、図3または図5に示される電源制御シーケンサー302の構成例を示す図である。この構成はシフトレジスタ式の構成を有する。
図中、SIG1は、電源制御信号301であり(図3等参照)、電源切断時には1にされ、電源投入時には0にされる。
【0047】
電源制御信号SIG1は、図3に示される命令制御部102内の実行中命令管理部102−3にて生成され、図1の演算/実行部103内の演算器103−1に対し、実行命令がない時に電源の切断指示を行うための信号である。
【0048】
実行中命令管理部102−3の詳細な動作については、図13〜図17の説明において後述するが、命令制御部102内には、実行部が現在何れかの命令を実行中であるとかいつ次の命令が投入できるかを管理するための実行管理キューや次に実行したい命令を準備しておく命令キュー、もしくはそれに類する情報をもっており、演算/実行部103がどういう状態にあるかを管理している。そのため、実行中命令管理部102−3は、演算/実行部103に実行中の命令が存在せず、かつその演算/実行部103を使用するような命令がない状態にあることを知ることができる。
【0049】
図6において、CNT1、CNT2、CNT3、CNT4は、電源制御のための信号で、CNT5は、入力信号切離しのための信号である。CNT1〜CNT4は、その値が0になると、対応するBLOCK304(図3等参照)の電源を投入する信号である。CNT5は、その値が0になると全てのBLOCK304への各入力信号をカットして各入力に固定値を設定する信号である。
【0050】
図6において、電源制御信号SIG1をインバータ601で反転させた信号は、#1〜#5のセレクト回路602を制御する。各セレクト回路602は、インバータ601の出力信号が、ローレベルのときには上側(「1」と表記されていない側)の入力を選択し、ハイレベルのときには下側(「1」と表記されている側)の入力を選択する。
【0051】
#1〜#5の各セレクト回路602の出力は、それぞれ#1〜#5のラッチ回路603にラッチされる。#1〜#4の各ラッチ回路603の出力は、それぞれ#1〜#4のインバータ604に入力される。#1〜#4の各インバータ604の出力は、それぞれCNT1、CNT2、CNT3、およびCNT4の各信号として出力される(図3参照)。#5のラッチ回路603の出力は、CNT5信号として出力される(図3参照)。
【0052】
セレクト回路602(#1)の上側の入力には、電源制御信号SIG1が入力される。セレクト回路602(#2)の上側の入力には、ラッチ回路603(#1)の出力が入力される。セレクト回路602(#3)の上側の入力には、ラッチ回路603(#2)の出
力が入力される。セレクト回路602(#4)の上側の入力には、ラッチ回路603(#3)の出力が入力される。セレクト回路602(#5)の上側の入力には、ラッチ回路603(#4)の出力が入力される。
【0053】
セレクト回路602(#5)の下側の入力には、ローレベルと等価なグランドレベル(GND)が入力される。セレクト回路602(#4)の下側の入力には、ラッチ回路603(#5)の出力が入力される。セレクト回路602(#3)の下側の入力には、ラッチ回路603(#4)の出力が入力される。セレクト回路602(#2)の下側の入力には、ラッチ回路603(#3)の出力が入力される。セレクト回路602(#1)の下側の入力には、ラッチ回路603(#2)の出力が入力される。
【0054】
図3または図5に示されるように、最初に電源を投入するBLOCK304(#0)にCNT1信号が供給され、2番目に電源を投入するBLOCK304(#1)にCNT2信号が供給され、3番目に電源を投入するBLOCK304(#2)にCNT3信号が供給され、4番目に電源を投入するBLOCK304(#3)にCNT4信号が供給され、各BLOCK304の入力信号およびキャリー信号を固定化するための#0〜#3のIC303および#1〜#3のIC305に、CNT5信号が供給される。
【0055】
図7は、図6の構成を有する電源制御シーケンサー302(図3等参照)の電源投入時の動作タイミングチャートである。図8は、電源制御シーケンサー302の電源切断時の動作タイミングチャートである。また、図9は、電源制御シーケンサー302が電源切断シーケンスの途中で電源投入シーケンスに切り替えた場合の動作タイミングチャートである。
【0056】
図6の構成を有する電源制御シーケンサー302の具体的な動作について、図7〜図9の動作タイミングチャートを用いて説明する。
(1)電源断(power−off)状態から電源投入(power−on)状態に移行するためには、電源制御信号SIG1信号の値が1にされる。図7のタイミング1の状態への遷移である。この結果、図6において、1クロック後:SIG1−>セレクト回路602(#1)−>ラッチ回路603(#1)、2クロック後:ラッチ回路603(#1)−>セレクト回路602(#2)−>ラッチ603(#2)、3クロック後:ラッチ回路603(#2)−>セレクト回路602(#3)−>ラッチ603(#3)、4クロック後:ラッチ回路603(#3)−>セレクト回路602(#4)−>ラッチ603(#4)、5クロック後:ラッチ回路603(#4)−>セレクト回路602(#5)−>ラッチ603(#5)という伝搬が起こり、#1〜#4のインバータ604を介してCNT1信号、CNT2信号、CNT3信号、CNT4信号の順に各値が0となり、最後にCNT5信号の値が1になる。
【0057】
(2)power−on状態からpower−off状態に移行するためには、SIG1信号の値が0にされる。図8のタイミング1の状態への遷移である。この結果、図6において、#1〜#5の各セレクト回路602の選択状態が下側入力の選択に切り替わり、1クロック後:GNDレベル−>セレクト回路602(#5)−>ラッチ回路603(#5)、2クロック後:ラッチ回路603(#5)−>セレクト回路602(#4)−>ラッチ603(#4)、3クロック後:ラッチ回路603(#4)−>セレクト回路602(#3)−>ラッチ603(#3)、4クロック後:ラッチ回路603(#3)−>セレクト回路602(#2)−>ラッチ603(#2)、5クロック後:ラッチ回路603(#2)−>セレクト回路602(#1)−>ラッチ603(#1)という伝搬が起こり、まず、CNT5信号の値が0になり、その後、#4〜#1のインバータ604を介してCNT4信号、CNT3信号、CNT2信号、CNT1信号の順に各値が1となる。
【0058】
また、(2)のpower−offシーケンスの途中で再度power−on状態に移行する必要が生じた場合には、電源制御信号SIG1の値が1にされることで、制御信号が即座に電源投入シーケンスに切り替わり、電源が未だ投入されていないBLOCK304の電源投入シーケンスから開始するのでロスなくpower−onシーケンスに移行できる。この動作の一例が図9に示されている。
【0059】
このシーケンサーの本来のpower−offシーケンスは、タイミング1から5までかかるのだが、タイミング4の時点で電源制御信号SIG1の値が1にされてpower−onシーケンスに移行させられたのが、図9である。タイミング4で電源制御信号SIG1の値が1に変化したため、本来のpower−offシーケンスであれば図8に示されるようにタイミング5のタイミングでCNT2信号の値が1になるところが、図9の例ではタイミング5のタイミングでCNT3信号の値が0にされるように動作している。このケースでは、power−onシーケンスに3τ(τはクロック単位)を費やしているが、power−onへの遷移も本来の5τから3τに縮まっていてロスがないことがわかる。
【0060】
また、図10は、図6の構成を有する図3(または図5)の電源制御シーケンサー302の機能がソフトウェア動作として示された場合の動作フローチャートである。
図10では、左側にpower−onシーケンスの動作フローが記述されており、右側にはpower−offシーケンスの動作フローが記述されている。シーケンスの途中で、逆のシーケンスへの移行指示に変更があった場合は、各ステップ毎後にSIG1の信号が参照されて分岐するという動作になる。
【0061】
シーケンスの途中で、逆のシーケンスへの移行指示が出る場合というのは、図1の実行中命令管理部102−3が、演算/実行部103に投入する命令がなく休止してもよいと判断してpower−off指示を出したあとで、演算/実行部103へ投入する命令が新たに現れた場合、つまり、新たにキュー群102−2に該当命令が追加されたような場合である。この場合に、power−offシーケンスの完了を待ってpower−onシーケンスを開始する方法もあるが、上述したように、power−offシーケンスを即座に中止し、power−onシーケンスに移れるほうが命令投入までの待ち時間が少なくなって好ましい。
【0062】
電源の投入・切断をする機能ブロックから、外部に対して信号を出力している場合に、電源断時にそのブロックの出力信号が駆動されなくなるので、そのブロックから信号を受けているブロックでは送り手のブロックが動作状態にいるかどうかを知らなければ誤動作をする危険がある。これを避けるには、電源OFF状態にあることを受け手のブロックに通知して信号を無視するようにするのが従来からある手法である。ここでは、電源断時や、電源シーケンス実行時の出力信号を一定の値に保持するようにして、受け手に特別な信号送らなくていいようにする方法について説明する。
【0063】
1つの方法は、図11に示されるように、BLOCK304(図3等参照)の出力側にpull down FET1104を設けることにより、電源断時に、BLOCK304の出力信号の値を強制的に接地(GND)レベルに固定する方法である。
【0064】
pull down FET1104は、電源制御信号CNT(図3等のCNT1〜CNT4に対応)によって制御され、電源が切断されて電源制御信号CNTの値がハイレベルに移行(図8等参照)と同時に、BLOCK304の出力信号線がGNDに短絡される。これにより、電源断時に、BLOCK304の出力は、GNDレベルに固定される。
【0065】
BLOCK304自体の電源は、電源制御信号CNTの反転入力によって制御される給
電用FET1101によって制御される。電源が投入されて電源制御信号CNTの値がローレベルの状態(図7等参照)の時には、給電用FET1101が導通することにより、BLOCK用電源1102が電源VDDに接続される。電源が切断されて電源制御信号CNTの値がハイレベルに移行すると、給電用FET1101により、BLOCK用電源1102が電源VDDから切り離されてる。
【0066】
なお、入力データ固定化用のアンドゲート404(入力ビット線ごとに設けられる)は、図4で説明したものと同様であり、CNT5信号によって制御される。
出力信号を一定値に保持するためのもう1つの方法は、図12に示される。
【0067】
図12に示される構成では、給電用第1FET1101(図11の1101と同じ)と給電用第2FET1202によって、BLOCK304(図3等参照)の本体と、BLOCK304の出力ドライバ部1201との給電線が分割される。そして、出力ドライバ部1201のVDD電源と出力信号線の間にクランプダイオード1203が設けられる。また、出力ドライバ部1201のVDD電源に、接地(GND)への短絡用FET1204が設けられる。
【0068】
電源が投入されて電源制御信号CNTの値がローレベルの状態(図7等参照)の時には、その反転入力によって給電用第1FET1101および給電用第2FET1202がそれぞれ導通することにより、BLOCK304および出力ドライバ部1201が、それぞれ電源VDDに接続される。また、この場合には、短絡用FET1204は導通しないため、出力ドライバ部1201の出力信号線は、BLOCK304からの有効値を出力する。
【0069】
電源が切断されて電源制御信号CNTの値がハイレベルに移行すると、その反転入力に基づいて動作する給電用第1FET1101および給電用第2FET1202によって、BLOCK304および出力ドライバ部1201が、それぞれ電源VDDから切り離される。また、この場合には、電源制御信号CNTによって短絡用FET1204が導通することにより、クランプダイオード1203を通じて、出力ドライバ部1201の出力信号線がGNDに短絡される。これにより、電源断時に、BLOCK304の出力は、GNDレベルに固定される。
【0070】
BLOCK304の出力部の電源をBLOCK304から切り離して制御できるようにすることにより、出力ドライバ部1201の電源断と出力の値の確定回路を、電源制御信号CNTに基づいて同時に制御できるようになる。こうすることで、受信側において通信バス上のデータが不確定にならないようにし、受信側で特別な制御回路を設けなくてもよくできる。
【0071】
図13は、図1の命令制御部102内のキュー群102−2の構成例を示す図である。
1つのIQ(Issue Que)1301と、#1〜#Nの1305として示されるように、演算器103−1(図1参照)毎に、RS(Reservation Station)1302、EQ(Execution Que)1303、およびCQ(Commit Que)1304を1つずつ有する。
【0072】
IQ1301は発行待ち命令キュー、RS1302は発行済みで実行待ちのキュー、EQ1303は実行中命令の管理キュー、CQ1304は演算器103−1での実行が完了し命令としての完了を待つキューである。
【0073】
命令の処理手順について、以下に説明する。
プログラムの命令は、デコード部102−1(図1参照)にてデコードされた後、発行
待ち命令キューIQ1301に一旦保持される。発行待ちキューIQ1301に保持された命令は、実行に必要なオペランドデータがレジスタに準備される等、命令実行条件が揃ったことが確認されたのちに、対応する演算器103−1(図1)に対して発行される。
【0074】
発行された命令は、発行済みで実行待ちのキューRS1302に移された後、対応する演算器103−1にて順次実行される。このとき対応するRS1302に空きが無い場合は、IQ1301からの発行は空きができるまで延期される。
【0075】
RS1302は、FIFO(First−In First−Out)形式のキューで、先に入った命令が先に出てゆく。RS1302に保持された命令は、EQ1303に空きができればEQ1303に移され、対応する演算器103−1で処理が開始される。
【0076】
ただし、電源制御が実施される場合には、電源がオフの状態からオンの状態に復帰するnτ(nは自然数)の間は、命令はRS1302からEQ1303には移行できない。図7および図8で示したシーケンス例では、5τで電源投入または切断が完了するので、5τもしくは電源オフの期間のうちの短い方の時間は、EQ1303への命令投入が待機される。
【0077】
EQ1303内の命令は、対応する演算器103−1での処理が終わると、CQ1304に移される。処理が固定時間で終わる命令の場合には、当該命令は、EQ1303内で固定時間だけ待機の後にCQ1304に移される制御方式が通常であるが、演算器103−1からの完了報告を待ってEQ1303内の命令がCQ1304に移される制御方式もあり、その制御方式は実際のインプリメントに依存する。処理に長時間かかる命令では、後者の制御方式が採用される場合が多い。
【0078】
CQ1304内の命令は、処理によって得られる例外情報や演算結果がプログラムからアクセス可能なレジスタやメモリに反映された後に完了となり、CQ1304から削除される。
【0079】
実際のインプリメントでは、CQ1304とEQ1303が共通のキューとして構成される実装や、RS1302が存在せずにIQ1301から直接EQ1303に移される実装も存在する。
【0080】
電源制御のための電源制御信号301(図3等参照)は、図1に示される実行中命令管理部102−3が、キュー群102−2を構成する図13のIQ1301、RS1302、およびEQ1303を監視することにより、生成する。なお、IQ1301まで監視するのが処理的に負荷が高い場合には、RS1302とEQ1303のみを監視する方式も実現可能である。
【0081】
図14は、電源制御に必要なIQ1301(図13)のエントリフォーマットの一例を示す図である。
IQ1301に保持される命令データには、そのエントリが有効であることを示すV(Valid)情報、ビット命令の発行準備が未だ整っていないことを示すW(Wait)情報、ビット命令の種類を示すTYPE(もしくは命令コード)情報が、少なくとも格納されている。TYPE情報の簡単実現例としては、個々の演算器103−1(図1参照)(図14中ではユニットA〜Fの演算器103−1が存在すると仮定されている)に対応したビットマップとして表現できる。ビットマップの一例としては、対応する演算器103−1のフィールドには1がセットされ、その他の演算器103−1のフィールドには0がセットされるというものである。その他の例としては、個々の演算器103−1に番号が付与されその番号がTYPE情報として設定されるというものも実現可能である。
【0082】
IQ1301に保持される命令データには、このほかに命令のオペランドデータの格納先や、他の命令との依存関係等が格納されたりするが、電源制御の説明には特に必要としないので、ここでは省略する(図中では、「その他の情報」と記載されている)。
【0083】
RS1302、EQ1303(図13)における電源制御で必要な情報は、IQ1301のエントリフォーマットにおけるV(Valid)情報のみである。
電源を切断できる条件は、RS1302、EQ1303のみを監視して制御が行われる場合には、EQ1303、RS1302にV(Valid)情報がオンである有効なエントリが存在しないことである。
【0084】
IQ1301の条件をも含めた制御が行われる場合には、次のような方法でIQ1301に関する電源切断条件が抽出される。
即ち、電源を切断できる条件は、IQ1301において、TYPE情報のデコード結果が当該演算器103−1を指しており、かつV情報がオン、かつW情報がオフの命令エントリ(active命令)が保持されていないことである。
【0085】
なお、W情報がオンとなる場合としては、現代の高速プロセッサでは非常に時間(CPUクロック数)のかかる、主記憶からデータをレジスタにロードする等の処理であって、W情報が解除されるための時間が非常に長い場合があり得る。
【0086】
電源制御を少しさぼるなら、IQ1301におけるW情報を参照しないで、TYPE情報のデコード結果が当該演算器103−1を示しており、かつV情報がオンの命令エントリが保持されていないことを条件とすることも可能である。
【0087】
EQ1303、RS1302、IQ1301共に電源切断可能という条件が抽出できた場合には、当該演算器103−1(図1)に対し電源断信号を指す電源制御信号301(図3等)が、実行中命令管理部102−3(図1)から演算器103−1(図1)内の電源制御シーケンサー302(図3等)に対して送出される。図6〜図10等の例では、ローレベルの電源制御信号SIG1が出力される。
【0088】
図15は、IQ1301(図13)における演算器103−1(図1)に対するactive命令の検出回路の一例を示す図であり、実行中命令管理部102−3(図1)内に実装される。
【0089】
図15は、演算器103−1(ユニットA)を使用するactive命令の存在を抽出する論理回路を示している。
IQ1301の各命令エントリ(entry 1〜entry n)において、V=1およびW=0はアンド回路1501にて判定され、ユニットAの演算器103−1を使用する命令であることは、TYPE情報をデコードするマッチ回路(TYPEAmatch)1502を介して検出される。
【0090】
図15では、ユニットAを使用する命令であれば、TYPEAを示すパターンがIQ1301のTYPE情報(図14)に格納されており、マッチ回路(TYPEAmatch)1502は、TYPE情報がTYPEAであれば1を出力し、それ以外では0を出力するような回路である。
【0091】
アンド回路1501は、その命令エントリがV=1かつW=0かつTYPE=TYPEAのときに1を出力する(W情報は論理が反転されてアンド回路1501に入力される)。IQ1301内の全ての命令エントリentry 1〜entry nについての検出情報は、各エントリのアンド回路1501の出力をまとめるオア回路1503によって集められる。図15では、IQ_ACTIVE_FOR_TYPEAと名付けた信号が、ユニットAの演算器103−1を使用するactive命令の存在を示し、IQ1301内に当該active命令が存在する場合には、IQ_ACTIVE_FOR_TYPEAが1になる。
【0092】
図16は、EQ1303またはRS1302(図13)における演算器103−1(図1)に対する有効命令の検出回路の一例を示す図であり、実行中命令管理部102−3(図1)内に実装される。
【0093】
図16では、EQ1303またはRS1302内の各命令エントリ(entry 1〜entry n)のV(valid)情報がオア回路1601によって全てOR演算されることにより、有効命令の存在が検出される。V=1の命令エントリが1つでもあれば、オア回路1601の出力ACTIVEが1になり有効命令の存在が示される。図16に示される構成は、V情報のみを判定するため、V情報によって条件を判断するRS1302とEQ1303の双方に対して適用することができる。
【0094】
図17は、IQ1301、RS1302、EQ1303のそれぞれに対応する有効命令検出信号から電源制御信号power control sigを作成する構成と、電源切断の期間をカウントする構成と、RS1302からEQ1303(図13)に対するデータ遷移を待たせるための制御信号を生成する構成を示した図であり、実行中命令管理部102−3(図1)内に実装される。
【0095】
IQ1301、RS1302、およびEQ1303からの各有効命令検出信号IQ_ACTIVE_FOR_TYPEA(図15参照)、RS_ACTIVEおよびEQ_ACTIVE(共に図16のACTIVEに対応)は、オア回路1701によってOR演算されて電源制御信号power control sigとなる。これは、図3、図5の電源制御信号301、または図6等の電源制御信号SIG1に対応する。
【0096】
電源制御信号power control sigは、その値が1のときにpower−on、0のときにpower−offを意味する。
power ready counter1702は、電源投入時はpower−onリセットで0に初期化されることを前提としたカウンタで、電源制御信号power control sigの値が1になると、カウントアップ(+1)回路1704が動き、pon_timeまでカウントアップするカウンタとして動作する。pon_timeは当該演算器103−1の電源投入に必要な最大の時間である。
【0097】
カウントアップ(+1)回路1704のカウンタの値がpon_timeに達すると、演算器103−1の電源投入が完了するので、セレクタ1708の“1”端子側およびセレクタ1706の“1”端子側を介してラッチ回路1707に値1がセットされ、power ready信号が1にされる。
【0098】
EQ1303が次の命令エントリを投入可能であることを示す信号EQ_READYは、アンド回路1703にて、power ready信号とAND演算される。そして、その出力EQ_READY_TO_RSがRS1302に通知されることで、電源投入完了まで、RS1302には命令投入不可が通知され、電源投入完了前の状態で演算器103−1に命令が投入されないように制御される。
【0099】
IQ1301、RS1302、およびEQ1303において、演算器103−1に対する有効命令がなくなると、電源制御信号power control sigの値は0に
なる。
【0100】
同時に、power ready counter1702は、カウントダウン(−1)回路1705が動作を開始し、そのカウント値が0になるか再度電源制御信号power control sigの値が1になるまで、カウントダウン動作を続ける。
【0101】
カウントダウン(−1)回路1705のカウンタの値が0に達すると、演算器103−1の電源切断が完了するので、セレクタ1709の“1”端子側およびセレクタ1706の“0”端子側を介してラッチ回路1707に“0”がセットされ、power ready信号が0にされる。
【0102】
power ready counter1702は、このように電源制御信号power control sigの値によって動作を切り替えるので、カウントダウン動作中にpower control sigの値が1になると、現在のカウントダウン値分だけカウントアップ動作をすればpon_timeに到達し、EQ1303に命令投入可能になる。このため、電源切断の期間もしくはpon_timeのいずれか短い方の時間分のみ待ち合わせればよい前述した電源制御シーケンサー302(図3等)の動作にうまく適合している。
【0103】
以上説明したようにして、LSIの動作時に、特定の演算器ブロックの電源が切断される際に、電源に対する電流変動の負荷を最小限に抑制することが可能となる。
【図面の簡単な説明】
【0104】
【図1】本実施形態の一例が対象とするCPUの概略構成図である。
【図2】本実施形態の一例における電源切断時の全体制御を示す動作フローチャートである。
【図3】電源制御機能を有する図1の演算器103−1とその周辺回路の実施形態を示す構成図である。
【図4】入力信号401の如何に関わらず、制御信号403に基づいて、出力信号402を固定値0に確定させる回路の構成図である。
【図5】電源制御機能を有する図1の演算器103−1とその周辺回路の他の実施形態を示す構成図である。
【図6】図3または図5に示される電源制御シーケンサー302の構成例を示す図である。
【図7】図6の構成を有する電源制御シーケンサー302(図3等参照)の電源投入時の動作タイミングチャートである。
【図8】電源制御シーケンサー302の電源切断時の動作タイミングチャートである。
【図9】電源制御シーケンサー302が電源切断シーケンスの途中で電源投入シーケンスに切り替えた場合の動作タイミングチャートである。
【図10】図6の構成を有する図3(または図5)の電源制御シーケンサー302の機能がソフトウェア動作として示された場合の動作フローチャートである。
【図11】出力信号を一定値に保持するための回路構成の一実施形態を示す図である。
【図12】出力信号を一定値に保持するための回路構成の他の実施形態を示す図である。
【図13】図1の命令制御部102内のキュー群102−2の構成例を示す図である。
【図14】電源制御に必要なIQ1301(図13)のエントリフォーマットの一例を示す図である。
【図15】IQ1301(図13)における演算器103−1(図1)に対するactive命令の検出回路の一例を示す図である。
【図16】EQ1303またはRS1302(図13)における演算器103−1(図1)に対する有効命令の検出回路の一例を示す図である。
【図17】IQ1301、RS1302、EQ1303のそれぞれに対応する有効命令検出信号から電源制御信号power control sigを作成する構成と、電源切断の期間をカウントする構成と、RS1302からEQ1303(図13)に対するデータ遷移を待たせるための制御信号を生成する構成を示した図である。
【図18】一般的に考えられる電源制御技術の従来技術の構成図である。
【符号の説明】
【0105】
101 CPU
102 命令制御部
102−1 デコード部
102−2 キュー群
102−3 実行中命令管理部
103 演算/実行部
103−1 演算器
104 キャッシュ/主記憶制御部
301 電源制御信号
302 電源制御シーケンサー
303、305 入力値固定回路(IC)
304 演算ブロック(BLOCK)
306 出力値固定回路(OC)
401 入力信号
402 出力信号
403 制御信号
404、1501、1703 アンド回路
601、604 インバータ
602 セレクト回路
603、1707 ラッチ回路
1101 給電用FET
1102 BLOCK用電源
1103 入力データ
1104 pull downFET
1201 出力ドライバ部
1202 給電用第2FET
1203 クランプダイオード
1204 短絡用FET
1301 発行待ちの命令キュー(IQ)
1302 発行済みで実行待ちの命令キュー(RS)
1303 実行中命令の管理キュー(EQ)
1304 実行済みで完了待ちの命令キュー(CQ)
1305 演算器103−1に対応したキュー群
1502 マッチ回路
1503、1601、1701 オア回路
1702 power ready counter
1704 カウントアップ(+1)回路
1705 カウントダウン(−1)回路
1706、1708、1709 セレクタ
1801 対象ブロック
1802 演算ブロック(BLOCK)
1803 命令制御部
1804 電源制御信号
1805 給電用FET
1806 受信側での入力固定回路
1807 他の演算器またはレジスタ等

【特許請求の範囲】
【請求項1】
演算対象データにおけるビット位置に基づいて分割された複数の各分割演算対象データに対する演算をそれぞれ実行しそれぞれ電源の投入および切断を行う機能を有する複数の演算回路ブロックを具備する演算処理装置であって、
前記各演算回路ブロック毎に設けられ、該各演算回路ブロックの入力または出力の何れか一方又は両方の信号値を固定化する信号値固定回路と、
前記演算処理装置に対する演算命令の投入を制御する命令制御回路から与えられる電源制御信号に基づいて、前記各信号値固定回路に対する前記信号値の固定化および固定化の解除の指示と、前記各演算回路ブロック毎に段階的に電源の投入または切断の指示を行う電源制御シーケンサー回路と、
を含むことを特徴とする演算処理装置。
【請求項2】
前記電源制御シーケンサー回路は、
前記電源制御信号が電源の切断を指示した場合には、前記各信号値固定回路に対して入力側の前記信号値の固定化を指示した後に、前記演算対象データの最上位ビット側の前記演算回路ブロックから段階的に前記各演算回路ブロックに対してそれぞれの電源の切断を指示し、
前記電源制御信号が電源の投入を指示した場合には、前記演算対象データの最下位ビット側の前記演算回路ブロックから段階的に前記各演算回路ブロックに対してそれぞれの電源の投入を指示した後に、前記各信号値固定回路に対して入力側の前記信号値の固定化の解除を指示する、
ことを特徴とする請求項1に記載の演算処理装置。
【請求項3】
前記電源制御シーケンサー回路は、
前記電源制御信号が電源の切断を指示した場合には、前記各信号値固定回路に対して入力側の前記信号値の固定化を指示した後に、前記演算対象データの最上位ビット側の前記演算回路ブロックから段階的に前記各演算回路ブロックに対してそれぞれの電源の切断を指示すると共に該電源の切断を指示した前記演算回路ブロックに対応する前記信号値固定回路に対して出力側の前記信号値の固定化を指示し、
前記電源制御信号が電源の投入を指示した場合には、前記演算対象データの最下位ビット側の前記演算回路ブロックから段階的に前記各演算回路ブロックに対してそれぞれの電源の投入を指示すると共に該電源の投入を指示した前記演算回路ブロックに対応する前記信号値固定回路に対して出力側の前記信号値の固定化の解除を指示した後に、前記各信号値固定回路に対して入力側の前記信号値の固定化の解除を指示する、
ことを特徴とする請求項1に記載の演算処理装置。
【請求項4】
演算対象データにおけるビット位置に基づいて分割された第1の分割演算対象データに対する演算を行う第1の演算回路と、前記演算対象データにおけるビット位置に基づいて分割された前記第1のデータとは異なる第2の分割演算対象データに対する演算を行う第2の演算回路と、前記第1及び第2の演算回路を制御する制御回路を有する演算処理装置において、
前記第1の演算回路は、
前記第1の分割演算対象データが入力され、第1の固定値制御信号に基づいて、前記第1の分割演算対象データ又は第1の固定入力値のいずれかを出力する第1の入力値固定回路と、
前記第1の分割演算対象データに対して第1の演算を行い、第1の分割演算出力データを出力する第1の分割演算回路を有し、
前記第2の演算回路は、
前記第2の分割演算対象データが入力され、第2の固定値制御信号に基づいて、前記第
2の分割演算対象データ又は第2の固定入力値のいずれかを出力する第2の入力値固定回路と、
前記第2の分割演算対象データに対して第2の演算を行い、第2の分割演算出力データを出力する第2の分割演算回路を有し、
前記制御回路は、
前記制御回路の外部から入力された外部制御信号に基づいて、前記第1の固定値制御信号を前記第1の演算回路に出力し、前記第2の固定値制御信号を前記第2の演算回路に出力することを特徴とする演算処理装置。
【請求項5】
前記第1の演算回路はさらに、
前記第2の演算回路に、桁上がり信号固定回路を介して接続されるとともに、前記第2の演算回路に対して桁上がり信号を出力し、
前記桁上がり信号固定回路は、
前記制第2の固定値制御信号に基づいて、前記第1の演算回路から前記第2の演算回路に出力される桁上がり信号を抑止し、第3の固定値を出力することを特徴とする請求項4記載の演算処理装置。
【請求項6】
前記第1の演算回路はさらに、
前記第1の分割演算出力データが入力され、前記第1の固定値制御信号に基づいて、前記第1の分割演算出力データ又は第2の固定出力値のいずれかを出力する第1の出力値固定回路と
前記第2の分割演算出力データが入力され、前記第2の固定値制御信号に基づいて、前記第2の分割演算出力データ又は第2の固定出力値のいずれかを出力する第2の出力値固定回路を有することを特徴とする請求項4又は5記載の演算処理装置。
【請求項7】
前記制御回路はさらに、
前記制御回路の外部から入力された外部制御信号に基づいて、前記第1の演算回路の電源を制御する第1の電源制御信号を前記第1の演算回路に出力し、前記第2の演算回路の電源を制御する第2の電源制御信号を前記第2の演算回路に出力することを特徴とする請求項4〜6のいずれか1つに記載の演算処理装置。
【請求項8】
演算対象データにおけるビット位置に基づいて分割された複数の各分割演算対象データに対する演算をそれぞれ実行しそれぞれ電源の投入および切断を行う機能を有する複数の演算回路ブロックを具備する演算処理装置の電源制御方法であって、
前記演算処理装置に対する演算命令の投入を制御する命令制御回路から与えられる電源制御信号が電源の切断を指示した場合には、
前記各演算回路ブロックの入力側の信号値の固定化を指示するステップと、
その後に、前記演算対象データの最上位ビット側の前記演算回路ブロックから段階的に前記各演算回路ブロックに対してそれぞれの電源の切断を指示するステップと、
を実行し、
前記電源制御信号が電源の投入を指示した場合には、
前記演算対象データの最下位ビット側の前記演算回路ブロックから段階的に前記各演算回路ブロックに対してそれぞれの電源の投入を指示するステップと、
その後に、前記各演算回路ブロックの入力側の信号値の固定化の解除を指示するステップと、
を実行する、
ことを特徴とする演算処理装置の電源制御方法。
【請求項9】
演算対象データにおけるビット位置に基づいて分割された複数の各分割演算対象データに対する演算をそれぞれ実行しそれぞれ電源の投入および切断を行う機能を有する複数の演算回路ブロックを具備する演算処理装置の電源制御方法であって、
前記演算処理装置に対する演算命令の投入を制御する命令制御回路から与えられる電源制御信号が電源の切断を指示した場合には、
前記各演算回路ブロックの入力側の信号値の固定化を指示するステップと、
その後に、前記演算対象データの最上位ビット側の前記演算回路ブロックから段階的に前記各演算回路ブロックに対してそれぞれの電源の切断を指示すると共に該電源の切断を指示した前記演算回路ブロックの出力側の信号値の固定化を指示するステップと、
を実行し、
前記電源制御信号が電源の投入を指示した場合には、前記演算対象データの最下位ビット側の前記演算回路ブロックから段階的に前記各演算回路ブロックに対してそれぞれの電源の投入を指示すると共に該電源の投入を指示した前記演算回路ブロックの出力側の信号値の固定化の解除を指示するステップと、
その後に、前記各演算回路ブロックの入力側の信号値の固定化の解除を指示するステップと、
を実行する、
ことを特徴とする演算処理装置の電源制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2009−294875(P2009−294875A)
【公開日】平成21年12月17日(2009.12.17)
【国際特許分類】
【出願番号】特願2008−147331(P2008−147331)
【出願日】平成20年6月4日(2008.6.4)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】