(58)【調査した分野】(Int.Cl.,DB名)
前記メインセンサと前記サブセンサは、前記システムオンチップが集積される半導体基板に共に集積されることを特徴とする請求項1に記載のシステムオンチップの温度管理方法。
【発明を実施するための形態】
【0014】
本明細書に開示する本発明の実施形態に対して、特定の構造的ないし機能的説明は、単に本発明の実施形態を説明するための目的で例示したものであり、本発明の実施形態は、多様な形態で実施することができ、本明細書で説明する実施形態に限定されるものではない。
【0015】
本発明は、多様な変更を加えることができ、種々の形態を有することができるが、特定の実施形態について図面を参照して本明細書で詳細に説明する。しかし、これは本発明を特定の開示形態に限定しようとするものではなく、本発明の思想及び技術範囲に含まれる全ての変更、均等物ないし代替物を含むものと理解すべきである。
【0016】
本明細書において、第1、第2等の用語は多様な構成要素を説明するのに使用することができるが、これらの構成要素がこのような用語によって限定されてはならない。用語は一つの構成要素を他の構成要素から区別する目的で使用する。例えば、本発明の権利範囲から逸脱せずに第1構成要素は第2構成要素と命名することができ、同様に第2構成要素も第1構成要素と命名することができる。
【0017】
ある構成要素が他の構成要素に「連結されて」いる、又は「接続されて」いると言及した場合には、その他の構成要素に直接的に連結されていたり接続されていたりすることも意味するが、中間に他の構成要素が存在する場合も含むものと理解すべきである。一方、ある構成要素が他の構成要素に「直接連結されて」いる、又は「直接接続されて」いると言及した場合には、中間に他の構成要素が存在しないものと理解すべきである。構成要素の間の関係を説明する他の表現、即ち「〜間に」と「すぐに〜間に」又は「〜に隣接する」と「〜に直接隣接する」等も同じように解釈すべきである。本明細書で使用する用語は単に特定の実施形態を説明するために使用するものであって、本発明を限定するものではない。単数の表現は文脈上明白に異なるように意味しない限り、複数の表現を含む。本明細書で、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又は、これらを組み合わせたものが存在するということを示すものであって、一つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品又は、これらを組み合わせたものなどの存在又は付加の可能性を、予め排除するわけではない。
【0018】
また、別に定義しない限り、技術的或いは科学的用語を含み、本明細書中において使用する全ての用語は本発明が属する技術分野で通常の知識を有する者であれば、一般的に理解されるものと同一の意味を有する。一般的に使用される辞書において定義される用語と同じ用語は関連技術の文脈上に有する意味と一致する意味を有するものと理解すべきであり、本明細書において明白に定義しない限り、理想的或いは形式的な意味として解釈してはならない。
【0019】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。図面上の同一構成要素に対しては同じ参照符号を使用し、同一構成要素に対して重複する説明は省略する。
【0020】
図1は、本発明の一実施形態によるシステムオンチップの温度管理方法を示すフローチャートである。
【0021】
図1を参照すると、メインセンサを利用してシステムオンチップの全体的なメイン温度に相応するデジタル信号をメイン温度信号として発生する(ステップS110)。複数のサブセンサを利用してシステムオンチップのサブブロックのサブ温度にそれぞれ比例する周波数を有するパルス信号をサブ温度信号として発生する(ステップS120)。メイン温度信号及びサブ温度信号に基づいてシステムオンチップの動作を制御する(ステップS200)。
【0022】
一般的に、測定された温度を示すデジタル信号を提供するデジタル温度センサは、比較的占有面積が大きく、比較的多くのインターフェース信号が使用されるので、周辺の回路がデジタル温度センサを迂回するためにルーティング(経路設定)する必要があるため、チップ面積が過度に増加したり、レイアウトが難しくなったりするなどの短所がある。本発明の実施形態によって、一つのメインセンサのみをデジタル温度センサとして具現し、残りのサブセンサを、比較的狭い占有面積と少数の信号ラインが要求されるパルスセンサで具現することによって、温度管理性能を低下させずにシステムオンチップの大きさを減らすことができ、システムオンチップの設計時にルーティングの制約を減少させることができる。
【0023】
図2は、本発明の一実施形態によるシステムオンチップの温度管理回路のレイアウトの一例を示す図である。
【0024】
図2を参照すると、システムオンチップ10の温度管理回路は、温度管理ユニット(TMU:temperature management unit or thermal management unit)100、メインセンサ(MS:main sensor)200、サブセンサ(subsidiary sensor)SS1 310、サブセンサSS2 320、サブセンサSS3 330、及びサブセンサSS4 340を含む。便宜上、
図2には4つのサブセンサのみを示したが、サブセンサの個数はシステムオンチップ10の構成によって多様に変更することができる。温度管理回路以外のシステムオンチップ10の他の構成要素は図示を省略した。
【0025】
システムオンチップ10は、それぞれの固有機能によって区分できる複数のサブブロックBLK1、BLK2、BLK3、BLK4を含む。例えば、サブブロックBLK1、BLK2、BLK3、BLK4のそれぞれは、CPU(central processing unit)とメモリコントローラなどが含まれるコアブロック(CORE_BLK)、ディスプレイコントローラブロック(DISP_BLK)、ファイルシステムブロック(FSYS_BLK)、GPU(graphic processing unit)ブロック(G3D_BLK)、イメージ信号プロセッサブロック(ISP_BLK)、マルチフォーマットコーデックブロック(MFC_BLK)などの一つであり得る。このようなサブブロックBLK1、BLK2、BLK3、BLK4は、それぞれ独立的な熱源として作用する。従って、システムオンチップ10の全体的な温度管理だけでなく、サブブロックBLK1、BLK2、BLK3、BLK4のそれぞれの温度をモニタリングして制御することが要求される。
【0026】
メインセンサ200は、システムオンチップ10の全体的なメイン温度に相応するデジタル信号をメイン温度信号SMTとして発生する。サブセンサ(310、320、330、340)は、システムオンチップ10のサブブロックBLK1、BLK2、BLK3、BLK4のサブ温度にそれぞれ比例する周波数を有するパルス信号をサブ温度信号SPi(SP1〜SP4)として発生する。温度管理ユニット100は、メイン温度信号SMT及びサブ温度信号SPiに基づいて、システムオンチップ10の温度情報を提供する。後述するように、温度情報は、温度管理ユニット100の内部に保存されてシステムオンチップ内のプロセッサに提供される。温度管理ユニット100は、保存された温度情報に基づいてインタラプト信号INTを発生し、プロセッサは、インタラプト信号INT及び提供された温度情報に基づいてシステムオンチップ10の温度分布を分析して適切な措置を遂行するためのインタラプトサービスルーティン(ISP:interrupt routine)を実行する。
【0027】
メインセンサ200とサブセンサ(310、320、330、340)は、システムオンチップ10が集積される半導体基板に共に集積されるオンチップセンサである。オンチップセンサの出力信号は、測定しようとする温度を正確に反映できるだけでなく、システムの全体的な大きさを減少させることができる。サブセンサ(310、320、330、340)は、各サブブロックBLK1、BLK2、BLK3、BLK4の内部に集積される。メインセンサ200は、システムオンチップ10の全体的なメイン温度を正確に反映できる位置に集積される。
【0028】
例えば、メインセンサ200と各サブセンサ(310、320、330、340)との間の距離の偏差が最小になる位置にメインセンサ200が集積される。メインセンサ200と各サブセンサ(310、320、330、340)との間の熱伝導率が異なる場合には、これを考慮してメインセンサ200の位置を決定する。システムオンチップ10の全体的な熱放出のためのヒートスプレッダが備わる場合にはヒートスプレッダに近接する位置にメインセンサ200が集積される。
【0029】
図3は、本発明の一実施形態によるシステムオンチップの温度管理方法の一例を示すフローチャートである。
【0030】
図2及び
図3を参照すると、先ず温度管理ユニットTMUを初期化する(ステップS100)。例えば、システムオンチップ内のプロセッサからの動作制御信号によって温度管理ユニットTMUをイネーブル状態に設定し、動作に必要な情報を温度管理ユニットTMUに保存する方式で温度管理ユニットTMUを初期化する。温度管理ユニットTMUが初期化されるとメインセンサMS及びサブセンサSSi(SS1〜SS4)がイネーブルされてメイン温度信号SMT及びサブ温度信号SPiが発生する。
【0031】
温度管理ユニットTMUは、周期的にメイン温度信号SMT及びサブ温度信号SPiをサンプリングする(ステップS220)。温度管理ユニットTMUは、サブ温度信号SPiのサンプリング値には関係なくメイン温度信号SMTのサンプリング値がインタラプト条件を満足するか否かを判断する(ステップS240)。インタラプト条件は、システムオンチップ10の全体的なメイン温度が注目するほどの変化があるか否かを判断できるように設定される。
【0032】
メイン温度信号SMTがインタラプト条件を満足しない場合(ステップS240で「いいえ」の場合)、温度管理ユニットTMUは次の周期のメイン温度信号SMTをサンプリングし(ステップS220)、次の周期のサンプリング値がインタラプト条件を満足するか否かを判断する(ステップS240)。
【0033】
メイン温度信号SMTがインタラプト条件を満足する場合(ステップS240で「はい」の場合)、温度管理ユニットTMUはインタラプト信号INTを発生する(ステップS260)。インタラプト信号INTを発生するということは、インタラプト信号INTを非活性化状態から活性化状態に遷移させることを意味する。インタラプト信号INTが発生すると、サブ温度信号SPiのサンプリング値に基づいてインタラプトサービスルーティンISRを実行する(ステップS280)。インタラプトサービスルーティンISRは、サブブロックBLKiの温度分布を分析し、適切な措置を決定するためのものとしてソフトウェア、ハードウェア、又はこれらの組み合わせで具現される。例えば、インタラプトサービスルーティンISRは、システムオンチップ10の全体的な動作を制御するプロセッサによって実行されるプログラムである。
【0034】
このように、サブ温度信号SPiには関係なくメイン温度信号SMTに基づいてシステムオンチップ10の全体的なメイン温度をモニタリングし、インタラプト信号INTが発生した場合にのみサブ温度信号SPiを取得することによって、迅速且つ効率的な温度管理を実行することができる。
【0035】
サブ温度信号SPiのサンプリング値に基づいたインタラプトサービスルーティンISRは次の通りに実行される。
【0036】
一実施形態において、インタラプト信号INTに応答して現在のサブ温度カウント値CNTi_Cの大きさを比較し、現在のサブ温度カウント値CNTi_Cの大きさの比較結果に基づいてサブブロックBLKiのそれぞれの動作速度を調節する。インタラプト信号INTがメイン温度の増加を示す場合には、現在のサブ温度カウント値CNTi_Cが大きいサブブロックBLKiの動作速度を優先的に減少し、インタラプト信号INTがメイン温度の減少を示す場合には、現在のサブ温度カウント値CNTi_Cが小さいサブブロックBLKiの動作速度を優先的に増加する。
【0037】
例えば、温度上昇イベントの場合には現在のサブ温度カウント値CNTi_Cが最も大きいサブブロックBLKiの電源電圧及び/又は動作周波数を減少し、温度下降イベントの場合には現在のサブ温度カウント値CNTi_Cが最も小さいサブブロックBLKiの電源電圧及び/又は動作周波数を増加する。
【0038】
他の実施形態において、インタラプト信号INTに応答して現在のサブ温度カウント値CNTi_Cの散布度を計算し、散布度に基づいてサブブロックBLKiのそれぞれの動作速度を調節することができる。散布度は、現在のサブ温度カウント値CNTi_Cの平均m及び標準偏差SDを含む。例えば、温度上昇イベントの場合に、m+a1×SDより大きい現在のサブ温度カウント値CNTi_Cに該当する全てのサブブロックBLKiの電源電圧及び/又は動作周波数を減少し、温度下降イベントの場合にm−a2×SDより小さい現在のサブ温度カウント値CNTi_Cに該当する全てのサブブロックBLKiの電源電圧及び/又は動作周波数を増加する。ここで、a1及びa2は、定数値として本実施形態による温度管理回路TMUがシステムオンチップに集積された後に実際の動作環境で実験によって決定される。
【0039】
図4は、本発明の一実施形態による温度管理回路を含むシステムオンチップを示すブロック図である。
【0040】
図4を参照すると、システムオンチップ20は、温度管理ユニットTMU100、メインセンサMS200、サブセンサSS1 310、サブセンサSS2 320、サブセンサSS3 330、プロセッサ400、及び電力管理ユニット(PMU:power management unit)を含む。便宜上、
図4には、3つのサブセンサのみを示したが、サブセンサの個数はシステムオンチップ20の構成によって多様に変更される。
図4に示した各構成要素の位置は、図示の便宜のためのものであって、システムオンチップ20の他の構成要素は図示を省略した。
【0041】
プロセッサ400は、インタラプト信号INT及び温度情報DTIに基づいてシステムオンチップ20の動作を制御するための温度管理信号TMを発生する。温度情報DTIは、
図8を参照して後述するように温度管理ユニット100のレジスタ部から提供される現在のサブ温度カウント値CNT1_C、CNT2_C、CNT3_C、現在のメイン温度値MT_C、及び/又は前のメイン温度値MT_Pを含む。
【0042】
電力管理ユニット500は、温度管理信号TMに応答してシステムオンチップ20の電源電圧及び動作周波数のうち、少なくとも一つを調節する。電力管理ユニット500は、電圧調節器及び/又はクロック発生器をその内部に含み、電力管理ユニット500の外部の電圧調節器及び/又はクロック発生器を制御する信号を発生するための構成を有する。
【0043】
上述したように、メインセンサ200は、システムオンチップ20の全体的なメイン温度に相応するデジタル信号をメイン温度信号SMTとして発生する。サブセンサSSi(SS1〜SS3)は、システムオンチップ20のサブブロックのサブ温度にそれぞれ比例する周波数を有するパルス信号をサブ温度信号SPi(SP1〜SP3)として発生する。
【0044】
温度管理ユニット100は、メイン温度信号SMT及びサブ温度信号SPiに基づいて温度情報DTI及びインタラプト信号INTを提供する。温度管理ユニット100は、プロセッサ400から提供される動作制御信号DOCによって初期化され制御される。一実施形態において、温度管理ユニット100は、特定条件を満足する場合にトリップ信号TRPを発生し、電力管理ユニット500は、トリップ信号TRPに応答してシステムオンチップ20に印加される外部電源電圧を遮断する。
【0045】
図4にはインタラプト信号INTが直接プロセッサ400に提供される実施形態を示したが、他の実施形態においてシステムオンチップ20はインタラプトコントローラを更に含み、温度管理ユニット100から発生したインタラプト信号INTは、インタラプトコントローラから提供される。インタラプトコントローラは、温度管理ユニット100から発生したインタラプトを含み、多数のインタラプトを制御し、最も優先順位の高いインタラプトをプロセッサ400に伝達する。
【0046】
図4に示さなかったが、
図21、
図22、及び
図23を参照して後述するように、温度管理ユニット100は基準クロック信号RCLKを受信する。また、
図24、
図25、
図26、及び
図27を参照して後述するように、システムオンチップ20は、メインセンサMSに隣接して配置される付加的なサブセンサASを更に含んでもよい。
【0047】
システムオンチップ20は、電気フューズROM(EFROM:electrical fuse ROM)600を更に含む。システムオンチップ20が集積された後のテストを通じて実際の温度測定時の誤差などを修正するためのキャリブレーション情報を求めて電気フューズROM600に保存する。例えば、保存されたキャリブレーションに基づいて後述する温度変化の検出のための温度臨界値を補正する。
【0048】
図5は、本発明の一実施形態による温度管理回路に含まれる温度管理ユニットを示すブロック図である。
【0049】
図5を参照すると、温度管理ユニット100は、センサ制御部(sensor controller)120、レジスタ部(registor unit)140、温度サンプリング部(temperature sampler)160、及びインタラプト発生部(interrupt generator)180を含んで具現される。
【0050】
温度サンプリング部120は、センシング周期(sensing interval)ごとにメイン温度信号SMT及びサブ温度信号SPiをサンプリングして周期的にサンプリング値(LAT、CNTi)を提供する。センシング周期又はサンプリング周期はセンサ制御部120から提供されるセンシング開始信号(sensing−start signal)SENS及びセンシング終了信号(sensing−done signal)SENDの活性化タイミングの間隔に該当する。
【0051】
レジスタ部140は、
図4のプロセッサ400から提供される動作制御信号DOC、及びサンプリング値(LAT、CNTi)に基づいて動作情報及び温度情報DTIを保存する。温度情報DTIは、
図8を参照して後述するようにレジスタ部140に保存される現在のサブ温度カウント値CNT1_C、CNT2_C、CNT3_C、現在のメイン温度値MT_C、及び/又は前のメイン温度値MT_Pを含む。インタラプト信号INTが発生した場合、プロセッサ400は、温度情報DTIを受信して上述したインタラプトサービスルーティンISRを実行する。
【0052】
レジスタ部140に保存される動作情報は、温度管理ユニット100のイネーブル状態値(enable status value)、インタラプト状態値(interrupt status value)、センシング周期値、少なくとも一つの温度臨界値、メインセンサ200、及びサブセンサ(310、320、330)の制御値などを含む。例えば、センサ制御部120から提供されるセンシング開始信号SENS及びセンシング終了信号SENDの活性化タイミングは、動作情報に含まれるセンシング周期値に基づいて決定される。
【0053】
インタラプト発生部180は、温度情報に基づいてインタラプト信号INTを発生する。例えば、インタラプト発生部180は、レジスタ部140から少なくとも一つの温度臨界値TH、現在のメイン温度値MT_C、及び前のメイン温度値MT_Pを受信し、これに基づいてメイン温度の変化を検出する。インタラプト発生部180は、臨界値THに相応するメイン温度の変化が検出された場合、インタラプト信号INTを発生し、インタラプト状態INT_STSをレジスタ部140に保存する。
【0054】
プロセッサ400は、検出されたメイン温度の変化及びサブ温度信号SPiに基づいて上述したインタラプトサービスルーティンISRを実行することによってシステムオンチップの全体的な動作及びサブブロックの個別的な動作のうち、少なくとも一つを制御する。例えば、プロセッサ400は、インタラプト信号INT及び現在のサブ温度カウント値CNTi_Cに基づいてインタラプトサービスルーティンISRを実行する。
【0055】
センサ制御部120は、レジスタ部140に保存された動作情報に基づいてメインセンサ200及びサブセンサ(310、320、330)を制御する。例えば、センサ制御部120は、順次に決まった状態を遷移しながら作動する有限状態マシーン(FSM:finite state machine)を含んで具現される。
【0056】
有限状態マシーンの動作の開始及び終了は、プロセッサ400に従ってレジスタ部140のイネーブル状態値を保存することによって決定される。有限状態マシーンは、通常、アイドル(idle)状態でプロセッサ400によってイネーブル状態レジスタにイネーブル値が保存されると、メインセンサMS及びサブセンサSSiに印加されるセンシングイネーブル信号ENSを活性化する。次に、有限状態マシーンは、レジスタ部140のセンシング周期値に基づいて、決定されたタイミングによってセンシング開始信号SENS及びセンシング終了信号SENDを周期的に活性化する。プロセッサ400によってイネーブル状態レジスタにディスエイブル値が保存されると、有限状態マシーンは動作を終了してアイドル状態に進入する。
【0057】
図6は、
図5の温度管理ユニットに含まれる温度サンプリング部の一例を示すブロック図である。
【0058】
図6を参照すると、温度サンプリング部160aは、ラッチ部168及び複数のサブ温度カウンタ(サブ温度カウンタ1〜3 161、162、163)を含む。
【0059】
ラッチ部168は、メイン温度信号SMTをセンシング周期ごとにラッチしてメイン温度値LATを周期的に提供する。上述したようにセンシング周期は、センシング開始信号SENS及びセンシング終了信号SENDの活性化タイミングによって決定される。サブ温度カウンタ(161、162、163)は、サブ温度信号SP1、SP2、SP3のパルスをセンシング周期ごとにカウントしてサブ温度カウント値CNT1、CNT2、CNT3を周期的に提供する。メイン温度値LAT及びサブ温度カウント値CNT1、CNT2、CNT3はレジスタ部140に提供される。メイン温度値LAT及びサブ温度カウント値CNT1、CNT2、CNT3の保存については
図8を参照して後述する。
【0060】
図6には3つのサブ温度カウンタを図示したが、サブセンサの個数は、システムオンチップの構成によって多様に変更することができ、これに応じてサブ温度カウンタの個数も変更される。
【0061】
図7は、本発明の一実施形態による温度管理ユニットの動作の一例を示すタイミング図である。
【0062】
図7を参照すると、温度管理ユニットTMUが初期化されて時刻t1でセンシングイネーブル信号ENSが活性化され、これに応答してメインセンサMSはメイン温度信号SMTを発生し、サブセンサSS1、…、SSkはサブ温度信号SP1、…、SPkを発生する。メイン温度信号SMTは、一定の周期ごとに測定されたメイン温度のデジタル値DGT1、DGT2、DGT3を示す。デジタル値DGT1、DGT2、DGT3の測定周期は、メインセンサMSの構成、及び/又はセンサ制御部120の制御によって決定される。サブ温度信号SP1、…、SPkは、サブブロックBLK1、…、BLKkのサブ温度にそれぞれ比例する周波数を有するパルス信号の形態で提供される。
【0063】
時刻t2でセンシング開始信号SENSが活性化されると、温度サンプリング部160に含まれるラッチ部168及びサブ温度カウンタ(161、162、163)がリセットされる。リセット周期tRSが経過して時刻t3でサブ温度カウンタ(161、162、163)のカウント動作が始まる。カウント周期tCPが経過して時刻t4でセンシング終了信号SENDが活性化されると、ラッチ部168のラッチ動作が実行され、サンプリングされた第1メイン温度値LAT1がレジスタ部140に提供される。一方、時刻t4でサブ温度カウンタ(161、162、163)のカウント動作が終了し、サンプリングされた第1サブ温度カウント値CNT11、…、CNTk1がレジスタ部140に提供される。
【0064】
出力周期tOUTが経過してセンシング開始信号SENSが再び活性化されると、上述したリセット動作、カウント動作、サンプリング及び出力動作が繰り返され、ラッチ部168は第2メイン温度値LAT2を出力し、サブ温度カウンタ(161、162、163)は第2サブ温度カウント値CNT12、…、CNTk2を出力する。
【0065】
このようにセンシング周期tSIごとにメイン温度信号SMT及びサブ温度信号SP1、…、SPkがサンプリングされてサンプリング値が周期的にレジスタ部140に提供される。
【0066】
図8は、
図5の温度管理ユニットに含まれるレジスタ部の一部を示す図である。
【0067】
図8には温度サンプリング部160から提供されるサンプリング値(LAT、CNT1、CNT2、CNT3)を保存するためのレジスタRG1、…、RG5のみを図示し、その他の動作情報などを保存するレジスタは図示を省略した。
【0068】
図8を参照すると、レジスタ部140aは、周期的に提供されるメイン温度値LATを順次に保存するための第1レジスタRG1と第2レジスタRG2、周期的に提供されるサブ温度カウント値CNT1、CNT2、CNT3を保存するための第3、第4、及び第5レジスタRG3、RG4、RG5を含む。
【0069】
センシング周期ごとに第2レジスタRG2の値は第1レジスタRG1の値に更新され、第1レジスタRG1の値は新しく入力されたメイン温度値LATに更新される。このように第1レジスタRG1及び第2レジスタRG2は、メイン温度値LATを順次に保存するためにシフトレジスタで具現される。第3、第4、及び第5レジスタRG3、RG4、RG5は、センシング周期ごとに新しく入力されたサブ温度カウント値CNT1、CNT2、CNT3でそれぞれ更新される。
【0070】
結果的に第1レジスタRG1は現在のメイン温度値MT_Cを保存して出力し、第2レジスタRG2は前のメイン温度値MT_Pを保存して出力し、第3、第4及び第5レジスタRG3、RG4、RG5は現在のサブ温度カウント値CNT1_C、CNT2_C、CNT3_Cをそれぞれ保存して出力する。
【0071】
図8には、2つのメイン温度値を順次に保存するための2つのレジスタRG1、RG2を図示したが、より多くの個数のメイン温度値を順次に保存するための3つ以上のレジスタを直列に接続することができる。また、現在のサブ温度カウント値CNTi_Cを提供するレジスタの個数はサブセンサの個数によって変更される。
【0072】
図8に示さなかったが、
図21、22及び23を参照して後述するようにレジスタ部140aは、基準クロック信号RCLKのパルスをカウントした値を保存するためのレジスタ、及び/又は
図24、25、26及び27を参照して後述するように基準パルス信号SRPのパルスをカウントした値を保存するためのレジスタを更に含むことができる。
【0073】
図9は、
図5の温度管理ユニットに含まれるインタラプト発生部の一例を示す図である。
【0074】
図9を参照すると、インタラプト発生部180は、温度情報のうち、現在のメイン温度値MT_C及び前のメイン温度値MT_Pを受信し、動作情報のうち、第1〜第3温度上昇臨界値TH_R1、TH_R2、TH_R3、並びに第1及び第2温度下降臨界値TH_F1、TH_F2をレジスタ部140から受信する。インタラプト発生部180は、受信した値に基づいてインタラプト条件を満したか否かを判断してインタラプト信号INTを活性化する。第3温度上昇臨界値TH_R3は第2温度上昇臨界値TH_R2より大きく、第2温度上昇臨界値TH_R2は第1温度上昇臨界値TH_R1より大きく設定される。第2温度下降臨界値TH_F2は第1温度下降臨界値TH_F1より大きく設定される。
【0075】
インタラプト発生部180は、第1〜第5比較器COM181、182、183、184、185、及び第1〜第3論理和ゲート(OR logic gates)186、187、188を含んで具現される。比較器の個数は設定された温度臨界値の個数によって変更される。
【0076】
第1比較器181は、現在のメイン温度値MT_C及び第3温度上昇臨界値TH_R3、即ち最大温度臨界値に基づいてトリップ信号TRPを発生する。例えば、第1比較器181は、現在のメイン温度値MT_Cが第3温度上昇臨界値TH_R3より大きい場合に、トリップ信号TRPを論理ハイレベルに活性化する。
図4を参照して説明したように、電力管理ユニット500は、トリップ信号TRPに応答してシステムオンチップ20に印加される外部電源電圧を遮断する。
【0077】
第2比較器182は、現在のメイン温度値MT_C、前のメイン温度値MT_P、及び第2温度上昇臨界値TH_R2に基づいて第2温度上昇インタラプト信号INT_R2を発生する。例えば、第2比較器182は、前のメイン温度値MT_Pが第2温度上昇臨界値TH_R2より小さく、現在のメイン温度値MT_Cが第2温度上昇臨界値TH_R2より大きい場合に、第2温度上昇インタラプト信号INT_R2を論理ハイレベルに活性化する。第3比較器183は、現在のメイン温度値MT_C、前のメイン温度値MT_P、及び第1温度上昇臨界値TH_R1に基づいて第1温度上昇インタラプト信号INT_R1を発生する。例えば、第3比較器183は、前のメイン温度値MT_Pが第1温度上昇臨界値TH_R1より小さく、現在のメイン温度値MT_Cが第1温度上昇臨界値TH_R1より大きい場合に、第1温度上昇インタラプト信号INT_R1を論理ハイレベルに活性化する。
【0078】
第4比較器184は、現在のメイン温度値MT_C、前のメイン温度値MT_P、及び第2温度下降臨界値TH_F2に基づいて第2温度下降インタラプト信号INT_F2を発生する。例えば、第4比較器184は、前のメイン温度値MT_Pが第2温度下降臨界値TH_F2より大きく、現在のメイン温度値MT_Cが第2温度下降臨界値TH_F2より小さい場合に、第2温度下降インタラプト信号INT_F2を論理ハイレベルに活性化する。第5比較器185は、現在のメイン温度値MT_C、前のメイン温度値MT_P、及び第1温度下降臨界値TH_F1に基づいて第1温度下降インタラプト信号INT_R1を発生する。例えば、第5比較器185は、前のメイン温度値MT_Pが第1温度下降臨界値TH_R1より大きく、現在のメイン温度値MT_Cが第1温度下降臨界値TH_R1より小さい場合に、第1温度下降インタラプト信号INT_R1を論理ハイレベルに活性化する。
【0079】
第1論理和ゲート186は、第1温度上昇インタラプト信号INT_R1及び第2温度上昇インタラプト信号INT_R2を論理和演算して温度上昇インタラプト信号INT_Rを発生する。第2論理和ゲート187は、第1温度下降インタラプト信号INT_F1及び第2温度下降インタラプト信号INT_F2を論理和演算して温度下降インタラプト信号INT_Rを発生する。第3論理和ゲート188は、温度上昇インタラプト信号INT_R及び温度下降インタラプト信号INT_Fを論理和演算してインタラプト信号INTを発生する。
【0080】
結果的に、第1温度上昇インタラプト信号INT_R1の活性化は、メイン温度が第1温度上昇臨界値TH_R1を超える増加を表し、第2温度上昇インタラプト信号INT_R2の活性化は、メイン温度が第2温度上昇臨界値TH_R2を超える増加を表す。同様に第1温度下降インタラプト信号INT_F1の活性化は、メイン温度が第1温度下降臨界値TH_F1を超える減少を表し、第2温度下降インタラプト信号INT_F2の活性化はメイン温度が第2温度下降臨界値TH_F2を超える減少を表す。温度上昇インタラプト信号INT_Rの活性化は、少なくとも一つの温度上昇イベントが発生したことを表し、温度下降インタラプト信号INT_Fの活性化は、少なくとも一つの温度下降イベントが発生したことを示す。インタラプト信号INTの活性化は、温度上昇イベント及び温度下降イベントのうち、少なくとも一つのイベントが発生したことを表す。
【0081】
温度上昇インタラプト信号INT_R1、INT_R2、及び温度下降インタラプト信号INT_F1、INT_F2の論理レベル値は、
図5で説明したインタラプト状態INT_STSとしてレジスタ部140に提供される。
【0082】
一実施形態において、プロセッサ400にはインタラプト信号INTだけが提供され、プロセッサ400は、インタラプト信号INTが活性化されると、レジスタ部140に保存されたメイン温度値MT_P、MT_C、及び/又はインタラプト状態INT_STSを参照して、どのような温度変化イベントが発生したかを判断する。
【0083】
他の実施形態において、温度上昇インタラプト信号INT_R1、INT_R2及び温度下降インタラプト信号INT_F1、INT_F2が直接プロセッサ400に提供される。この場合、プロセッサ400は、インタラプト信号INTが活性化されると、レジスタ部140に保存されたメイン温度値MT_P、MT_C、及び/又はインタラプト状態INT_STSを参照することなく、どのような温度変化イベントが発生したかを判断することができる。
【0084】
図10は、本発明の一実施形態によるシステムオンチップの温度管理方法を示すフローチャートである。
【0085】
図4〜
図10を参照すると、先ず温度管理ユニットTMUを初期化する(ステップS101)。例えば、プロセッサ400からの動作制御信号DOCによって温度管理ユニットTMUのイネーブル状態レジスタにイネーブル値を保存し、動作に必要な情報を温度管理ユニットTMUに保存する方式で温度管理ユニットTMUが初期化される。温度管理ユニットTMUが初期化されると、メインセンサMS及びサブセンサSSiがイネーブルされてメイン温度信号SMT及びサブ温度信号SPiが発生する。
【0086】
温度管理ユニットTMUの温度サンプリング部160は、周期的にメイン温度信号SMT及びサブ温度信号SPiをサンプリングし(ステップS221)、サンプリング値(LAT、CNTi)を提供する。レジスタ部140は、サンプリング値(LAT、CNTi)に基づいて前のメイン温度値MT_P、現在のメイン温度値MT_C、及び現在のサブ温度カウント値CNTi_Cを保存する(ステップS231)。
【0087】
インタラプト発生部180は、現在のメイン温度値MT_C、前のメイン温度値MT_P、及び温度臨界値(TH_Ri、TH_Fi)を比較して(ステップS241、S242、S243)、インタラプト条件を満たしたか否かを判断する。インタラプト発生部180は、現在のメイン温度値MT_Cが最大温度臨界値TH_RMAXより大きい場合(ステップS241で「はい」の場合)、トリップ信号TRPを活性化する(ステップS261)。インタラプト発生部180は、前のメイン温度値MT_Pが温度上昇臨界値TH_Riより小さく、現在のメイン温度値MT_Cが温度上昇臨界値TH_Riより大きい場合(ステップS242で「はい」の場合)、温度上昇インタラプト信号INT_Riを活性化する(ステップS262)。インタラプト発生部180は、前のメイン温度値MT_Pが温度下降臨界値TH_Fiより大きく、現在のメイン温度値MT_Cが温度下降臨界値TH_Fiより小さい場合(ステップS243で「はい」の場合)、温度下降インタラプト信号INT_Fiを活性化する(ステップS263)。
【0088】
上述したように、トリップ信号TRPが活性化されると、システムオンチップ20に供給される外部電源電圧が遮断され、温度管理も終了する。温度上昇インタラプト信号INT_Ri、又は温度下降インタラプト信号INT_Fiが活性化されると、プロセッサ400は、
図3を参照して上述したインタラプトサービスルーティンISRを実行する(ステップS281)。
【0089】
図10には、比較ステップS241、S242、S243が順次に実行される例を図示したが、
図9に例示したインタラプト発生部180を利用して比較ステップS241、S242、S243を同時に実行することもできる。
【0090】
図11及び12は、ヒステリシス方式の温度管理を説明する図である。
【0091】
本発実施形態による温度管理方法は、DVFS(dynamic voltage and frequency scaling)方式で実行される。本来DVFS方式は、プロセッサの動作状態に応じて、電圧及び/又は動作周波数を動的に変化させる方式をいうが、本実施形態による温度管理方法ではシステムオンチップの全体温度又は各サブブロックのサブ温度に応じて、システムオンチップ又は各サブブロックの電圧及び/又は動作周波数を動的に変化させることをいう。実施形態によって、温度及びプロセッサの動作状態(即ち、作業負荷(workload))を連係させてDVFSを遂行することもできる。
【0092】
図11を参照すると、相対的に低い電力レベルL1から相対的に高い電力レベルL2への上昇UPは、温度が次第に減少して温度下降臨界値TH_Fiより小さくなる時点で実行される。温度が比較的低い場合には、動作周波数及び/又は電源電圧を増加させてシステムオンチップ又は各サブブロックの動作速度の増加に伴う性能向上を図る。
【0093】
相対的に高い電力レベルL2から相対的に低い電力レベルL1への下降DOWNは、温度が次第に増加して温度上昇臨界値TH_Riより大きくなる時点で実行される。温度が相対的に高い場合には、動作周波数及び/又は電源電圧を減少させてシステムオンチップ又は各サブブロックの誤作動の防止を図る。
【0094】
ヒステリシス方式の温度管理は、
図11に示したように、電力レベルの上昇基準となる温度下降臨界値TH_Fiを電力レベルの下降基準となる温度上昇臨界値TH_Riより小さく設定することによって実行される。温度下降臨界値TH_Fiと温度上昇臨界値TH_Riの差が非常に小さい場合に電力レベルの頻繁な変更によってシステムオンチップの動作が不安定になり、差が非常に大きい場合に動作安定性は確保されるが、動作速度は低下する。従って、システムオンチップの特性などを考慮して温度下降臨界値TH_Fiと温度上昇臨界値TH_Riが適切に決定される。
【0095】
図12には時間の経過に伴う温度変化の一例を示している。
図12の複数の各点は、センシング周期tSIごとにサンプリングされたメイン温度値を示す。
図11で説明したように第1温度下降臨界値TH_F1は、第1温度上昇臨界値TH_R1より小さい値に設定され、第2温度下降臨界値TH_F2は第2温度上昇臨界値TH_R2より小さい値に設定されてヒステリシス方式の温度管理が実行される。
【0096】
時刻t1とt2との間でメイン温度値が第1温度上昇臨界値TH_R1を通過して増加するために第1温度上昇インタラプト信号INT_R1が活性化され、時刻t4とt5との間及び時刻t10とt11との間でメイン温度値が第2温度上昇臨界値TH_R2を通過して増加するために第2温度上昇インタラプト信号INT_R2が活性化される。
【0097】
ヒステリシス方式によって、温度下降臨界値が温度上昇臨界値より小さく設定されるため、例えば時刻t5と時刻t6との間でメイン温度値が第2上昇温度値TH_R2を通過して減少する場合には、温度下降インタラプトが発生しない。時刻t8と時刻t9との間でメイン温度値が第2下降温度値TH_F2を通過して減少する場合に、第2温度下降インタラプト信号INT_F2が活性化される。
【0098】
時刻t13でメイン温度値が最大温度臨界値TH_R3より大きくなるとトリップ信号TRPが活性化されてシステムオンチップの電源電圧が遮断される。
【0099】
このようなDVFS方式及びヒステリシス方式を利用することで効率的な温度管理を遂行できる。
【0100】
図13は、本発明の一実施形態による温度管理回路に含まれるメインセンサの一例を示す図である。
【0101】
図13を参照すると、メインセンサ200は、システムオンチップのメイン温度に比例する電圧信号VPTAT及び電流信号IPTATのうち、少なくとも一つを出力する温度検出部DET220、及び温度検出部220の出力をデジタル信号に変換してnビットのメイン温度信号SMTを発生するアナログ−デジタルコンバータ(ADC:analog−to−digital converter)240を含んで具現される。メインセンサ200は、上述した温度管理ユニットTMUのセンサ制御部120から提供されるセンシングイネーブル信号ENSに応答して活性化される。
【0102】
一般的にアナログ−デジタルコンバータ240は、アナログ信号をデジタル信号に変換するために比較的複雑な構成を有する。従って、このようなアナログ−デジタルコンバータ240を含むデジタル温度センサは占有面積が大きく、複数ビットのデジタル信号を伝送しなければならないために信号ラインのルーティングが設計の負担として作用する。本実施形態による温度管理回路は、相対的に大きな占有面積を有するデジタル温度センサをメインセンサ200としてのみ利用し、残りのサブセンサは比較的簡単な構成の発振器を利用することによってシステムオンチップの大きさを減らすことができ、システムオンチップの設計時にルーティングの制約を減少させることができる。
【0103】
図14は、
図13のメインセンサに含まれる温度検出部の一例を示す回路図である。
【0104】
温度検出部222は、
図14に示したように、ゲートが結合された第1及び第2PMOSトランジスタM1、M2、フィードバック増幅器AMP、抵抗R、並びに第1及び第2バイポーラトランジスタB1、B2を含んで具現される。抵抗Rの両端にかかる電圧dVBEは次の式(1)のように示すことができる。
【0106】
式(1)中、Is1及びIs2はそれぞれ第1及び第2バイポーラトランジスタB1、B2の逆方向飽和電流(reverse saturation current)であり、Ic1及びIc2はそれぞれ第1及び第2バイポーラトランジスタB1、B2に流れる電流であり、nは第1及び第2バイポーラトランジスタB1、B2の利得比(gain ratio)であり、VTは温度電圧(temperature voltage)として絶対温度に比例する。式(1)中、Ln(n)は定数であるので、抵抗Rの両端にかかる電圧dVBE及び抵抗Rに流れる電流I2は、温度変化に対して比例する特性を有する。このように温度に比例する電圧dVBE及び電流I2に基づいて、温度検出部220は、電圧信号VPTAT及び電流信号IPTATのうち、少なくとも一つを出力する。
【0107】
図15は、本発明の一実施形態による温度管理回路に含まれるサブセンサの一例を示す図である。
【0108】
本実施形態による温度管理回路に含まれる複数のサブセンサは、全部同じ構成を有し、一実施形態において、サブセンサ310は、
図15に示したように、リング発振器を含んで具現される。リング発振器は、カスケード接続された(cascaded)NANDロジックゲート311及び複数のインバータ312、313、314、315を含む。最後のインバータ315の出力は、NANDロジックゲート311にフィードバックされ、リング発振器は、NANDロジックゲート311に印加されるセンシングイネーブル信号ENSに応答してイネーブルされる。
【0109】
NANDロジックゲート311及びインバータ312、313、314、315は、動作温度に伴う動作速度を有し、従ってサブ温度信号SPiは温度に比例する周波数を有するパルス信号となる。
【0110】
図16及び17は、
図15のサブセンサに含まれるインバータの例を示す図である。
【0111】
図16を参照すると、インバータ312aは、電源電圧VDDと接地電圧VSSとの間にカスコード接続された(cascoded)第1PMOSトランジスタMP1、第1NMOSトランジスタMN1、及び第2NMOSトランジスタMN2を含む。第1PMOSトランジスタMP1と第1NMOSトランジスタMN1のゲートには、前段の信号INが印加され、反転した信号OUTを後段に出力する。第2NMOSトランジスタMN2のゲートには温度に比例する電圧信号VPTATが印加される。温度が増加するほど電圧信号VPTATの電圧レベルが増加し、第2NMOSトランジスタMN2を介して流れるシンク電流(sinking current)が増加してインバータ312aの動作速度が速くなる。結果的に、サブセンサ310から出力されるサブ温度信号SPiの周波数は温度に比例して増加する。
【0112】
図17を参照すると、インバータ312bは、前段の信号INを受信して反転した信号OUTを後段から出力するPMOSトランジスタMP3及びNMOSトランジスタMN3を含み、インバータ312bは温度に比例する電流IPTATをソース電流(sourcing current)として反転動作を遂行する。温度が増加するほどソース電流IPTATの大きさが増加してインバータ312bの動作速度が速くなる。結果的に、サブセンサ310から出力されるサブ温度信号SPiの周波数は温度に比例して増加する。
【0113】
このような構成などを通してシステムオンチップのサブブロックのサブ温度にそれぞれ比例する周波数を有するパルス信号をサブ温度信号SPiとして発生する比較的小さな面積のサブセンサSSiを具現することができる。
【0114】
図18、
図19及び
図20は、システムオンチップの動作速度を調節する例を示す図である。
【0115】
図18の電圧調節器(voltage regulator)700は、電圧制御信号VCTRiに応答して基準電圧を発生する基準電圧発生器VREF710、及び基準電圧に基づいて出力電圧VDDiを調節する単位利益増幅器AMP712を含む。電圧制御信号VCTRiの電圧レベルを調節することによって基準電圧を調節し、結果的に電圧調節器の出力電圧VDDiの電圧レベルを制御する。出力電圧VDDiはシステムオンチップの電源電圧、又は各サブブロックの電源電圧に提供される。
【0116】
図19を参照すると、サブブロックBLKiは、パワーゲーティングトランジスタMGを介して電源電圧VDDに接続される。この時、パワーゲーティングトランジスタMGのゲートに印加されるゲート電圧信号PGiの電圧レベルを調節することによってサブブロックBLKiに供給される実際の電源電圧を制御することができる。
【0117】
図20の位相ロックループ(PLL:phase−locked loop)900は、クロック制御信号CCTRiに基づいて出力クロック信号CLKiの周波数を調節する。クロック制御信号CCRTiは、周波数分周器DIV910に入力され、周波数分周器DIV910はクロック制御信号CCRTiに相応する分周比によって出力クロック信号CLKiを分周して位相−周波数検出器(P/F)920に出力する。位相−周波数検出器(P/F)920は、基準クロック信号RCKと分周されたクロック信号とを比較してアップダウン信号を発生し、電荷ポンプCP930はアップダウン信号に応答して制御電圧を発生する。電圧制御発振器VCO950はループフィルタLF940によってフィルタリングされた制御電圧に応答して出力クロック信号CLKiを発生する。出力クロック信号CLKiはシステムオンチップのメインクロック信号、又は各サブブロックの動作のための遠隔クロック信号として提供される。このようにクロック制御信号CCTRiを利用して分周比を調節することによってシステムオンチップ、又は各サブブロックの動作周波数を制御する。
【0118】
図18、
図19、及び
図20の制御信号(電圧制御信号VCTRi、ゲート電圧信号PGi、クロック制御信号CCTRi)は、上述したプロセッサ400のインタラプトサービスルーティンISRの実行結果、発生する温度管理信号TM又はこれに基づいて発生する信号である。
図18、
図19、及び
図20の例は、システムオンチップ又は各サブブロックの動作速度を調節する方法を説明するために例示した簡単な構成であり、動作速度の調節はその他の多様な方法で具現することができる。
【0119】
図21は、
図5の温度管理ユニットに含まれる温度サンプリング部の他の例を示すブロック図である。
【0120】
図21を参照すると、温度サンプリング部160bは、ラッチ部168、複数のサブ温度カウンタ(サブ温度カウンタ1〜3 161、162、163)、及び基準カウンタ167を含む。
図6の温度サンプリング部160aと比較して、
図21の温度サンプリング部160bは基準カウンタ167を更に含む。
【0121】
ラッチ部168は、メイン温度信号SMTをセンシング周期ごとにラッチしてメイン温度値LATを周期的に提供する。上述したようにセンシング周期は、センシング開始信号SENS及びセンシング終了信号SENDの活性化タイミングによって決定される。サブ温度カウンタ(161、162、163)は、サブ温度信号SP1、SP2、SP3のパルスをセンシング周期ごとにカウントしてサブ温度カウント値CNT1、CNT2、CNT3を周期的に提供する。
【0122】
基準カウンタ167は、温度には依存しない基準周波数を有する基準クロック信号RCLKをセンシング周期ごとにカウントして基準カウント値CNTRを周期的に提供する。基準クロック信号RCLKは、水晶発振器等を利用して発生させることができ、システムオンチップの外部から提供される。
【0123】
メイン温度値LAT、基準カウント値CNTR、及びサブ温度カウント値CNT1、CNT2、CNT3は、レジスタ部140に提供される。メイン温度値LAT、基準カウント値CNTR、及びサブ温度カウント値CNT1、CNT2、CNT3は、
図8を参照して説明したようにレジスタ部140aに保存される。この場合、
図8のレジスタ部140aは周期的に提供される基準カウント値CNTRに基づいて現在の基準カウント値CNTR_Cを保存するレジスタを更に含む。
【0124】
図22は、本発明の一実施形態による温度管理ユニットの動作の他の例を示すタイミング図である。
図21で説明した温度サンプリング部160bが基準カウンタ167を更に含む実施形態に該当するタイミング図を
図22に示している。
【0125】
図22を参照すると、温度管理ユニットTMUが初期化されて時刻t1でセンシングイネーブル信号ENSが活性化され、これに応答してメインセンサMSはメイン温度信号SMTを発生し、サブセンサSS1、…、SSkはサブ温度信号SP1、…、SPkを発生する。メイン温度信号SMTは、一定の周期ごとに測定されたメイン温度のデジタル値DGT1、DGT2、DGT3を示す。デジタル値DGT1、DGT2、DGT3の測定周期は、メインセンサMSの構成、及び/又はセンサ制御部120の制御信号によって決定される。サブ温度信号SP1、…、SPkは、サブブロックBLK1、…、BLKkのサブ温度にそれぞれ比例する周波数を有するパルス信号の形態で提供される。基準クロック信号RCLKは温度には依存しない基準周波数を有し、水晶発振器等を利用して提供される。
【0126】
時刻t2でセンシング開始信号SENSが活性化されると、温度サンプリング部160に含まれるラッチ部168、基準カウンタ167、及びサブ温度カウンタ(161、162、163)がリセットされる。リセット周期tRSが経過して時刻t3で基準カウンタ167、及びサブ温度カウンタ(161、162、163)のカウント動作が始まる。カウント周期tCPが経過して時刻t4でセンシング終了信号SENDが活性化されると、ラッチ部168のラッチ動作が実行され、サンプリングされた第1メイン温度値LAT1がレジスタ部140に提供される。一方、時刻t4で基準カウンタ167、及びサブ温度カウンタ(161、162、163)のカウント動作が終了し、サンプリングされた第1基準カウント値CNTR1及び第1サブ温度カウント値CNT11、…、CNTk1がレジスタ部140に提供される。
【0127】
出力周期tOUTが経過してセンシング開始信号SENSが再び活性化されると、上述したリセット動作、カウント動作、サンプリング及び出力動作が繰り返され、ラッチ部168は第2メイン温度値LAT2を出力し、基準カウンタ167は第2基準カウント値CNTR2を出力し、サブ温度カウンタ(161、162、163)は第2サブ温度カウント値CNT12、…、CNTk2を出力する。
【0128】
このようにセンシング周期tSIごとにメイン温度信号SMT、基準クロック信号RCLK、及びサブ温度信号SP1、…、SPkがサンプリングされてサンプリング値が周期的にレジスタ部140に提供される。
【0129】
図23は、本発明の一実施形態によるシステムオンチップの温度管理方法の他の例を示すフローチャートである。
【0130】
図2、
図4、
図22、及び
図23を参照すると、先ず温度管理ユニットTMUを初期化する(ステップS105)。例えば、プロセッサ400からの動作制御信号DOCによって温度管理ユニットTMUをイネーブル状態に設定し、動作に必要な情報を温度管理ユニットTMUに保存する方式で温度管理ユニットTMUを初期化する。温度管理ユニットTMUが初期化されるとメインセンサMS及びサブセンサSSiがイネーブルされてメイン温度信号SMT及びサブ温度信号SPiが発生し、同時に基準クロック信号RCLKが提供される。
【0131】
温度管理ユニットTMUは、周期的にメイン温度信号SMT、サブ温度信号SPi、及び基準クロック信号RCLKをサンプリングする(ステップS225)。温度管理ユニットTMUは、サブ温度信号SPiのサンプリング値には関係なくメイン温度信号SMTのサンプリング値がインタラプト条件を満足するか否かを判断する(ステップS245)。上述したように、インタラプト条件は、システムオンチップ10の全体的なメイン温度が注目するほどの変化があるか否かを判断できるように設定された少なくとも一つの温度臨界値で現される。
【0132】
メイン温度信号SMTがインタラプト条件を満足しない場合(ステップS245で「いいえ」の場合)、温度管理ユニットTMUは次の周期のメイン温度信号SMTをサンプリングし(ステップS225)、次の周期のサンプリング値がインタラプト条件を満足するか否かを判断する(ステップS245)。
【0133】
メイン温度信号SMTがインタラプト条件を満足する場合(ステップS245で「はい」の場合)、温度管理ユニットTMUはインタラプト信号INTを発生する(ステップS265)。インタラプト信号INTが発生すると、サブ温度信号SPiのサンプリング値及び基準クロック信号RCLKのサンプリング値に基づいてインタラプトサービスルーティンISRを実行する(ステップS285)。インタラプトサービスルーティンISRは、サブブロックBLKiの温度分布を分析し、適切な措置を決定するためのものとしてソフトウェア、ハードウェア、又はこれらの組み合わせで具現される。例えば、インタラプトサービスルーティンISRは、システムオンチップ10の全体的な動作を制御するプロセッサ400によって実行されるプログラムである。
【0134】
このように、サブ温度信号SPiには関係なくメイン温度信号SMTに基づいてシステムオンチップ10の全体的なメイン温度をモニタリングし、インタラプト信号INTが発生した場合にのみサブ温度信号SPiを取得することによって、迅速且つ効率的な温度管理を実行することができる。
【0135】
サブ温度信号SPiのサンプリング値及び基準クロック信号RCLKのサンプリング値に基づいたインタラプトサービスルーティンISRは下記のように実行される。
【0136】
現在のサブ温度カウント値CNTi_C、現在の基準カウント値CNTR_C、及び基準周波数に基づいてサブ温度にそれぞれ比例する現在のサブ温度周波数を計算する。例えば、次の式(2)を利用して現在のサブ温度周波数を計算する。
【0138】
式(2)中、Fj及びCNTj_Cは、j番目のサブ温度信号SPjの周波数及び現在のサブ温度カウント値であり、Fr及びCNTR_Cは基準クロック信号RCLKの基準周波数及び現在の基準カウント値である。式(2)の計算は、基準クロック信号RCLK及びサブ温度信号SPiのセンシング周期tSI、即ちサンプリング周期が同一であるという条件に基づく。サブ温度周波数Fjを求めると、2つの現在のサブ温度値の差(Tj−Tk)は次の式(3)を利用して計算することができる。
【0140】
式(3)中、Tj及びTkはj番目及びk番目のサブブロックBLKj、BLKkの現在のサブ温度値であり、Fj及びFkは式(2)を利用して計算されたj番目及びk番目のサブ温度信号SPj、SPkの周波数であり、b1は定数値である。b1は本実施形態による温度管理回路TMUがシステムオンチップに集積された後、実際の動作環境で実験によって決定される。
【0141】
一方、それぞれの現在のサブ温度値は、次の式(4)によって計算される。
【0143】
式(4)中、Tjはj番目のサブブロックBLKjの現在のサブ温度値であり、Fjは式(2)を利用して計算されたj番目のサブ温度信号SPjの周波数であり、c1及びc2は定数値である。c1及びc2は、本実施形態による温度管理回路TMUがシステムオンチップに集積された後、実際の動作環境で実験によって決定される。
【0144】
式(3)及び式(4)の計算は、サブ温度信号SPiの周波数がサブ温度に比例するという条件に基づく。このように求めた現在のサブ温度値の差Tj−Tk、及び/又は現在のサブ温度値Tjを利用して、各サブブロックBLKj、BLKkの個別的な動作速度を調節することができる。
【0145】
図24は、本発明の一実施形態によるシステムオンチップの温度管理回路のレイアウトの他の例を示す図である。
【0146】
図24を参照すると、システムオンチップ30の温度管理回路は、温度管理ユニットTMU、メインセンサMS200、サブセンサSS1 310、サブセンサSS2 320、サブセンサSS3 330、サブセンサSS4 340、及び付加的なサブセンサAS360を含む。
図24には、便宜上、4つのサブセンサのみを示したが、サブセンサの個数はシステムオンチップ30の構成に従って多様に変更することができる。温度管理回路以外のシステムオンチップ30の他の構成要素は図示を省略した。
【0147】
図2のシステムオンチップ10の温度管理回路と比較して、
図24のシステムオンチップ30の温度管理回路は付加的なサブセンサ360を更に含む。以下、
図2の説明と重複する説明は省略する。
【0148】
付加的なサブセンサ360は、メインセンサ200に隣接して配置され、メイン温度に比例する周波数を有する基準パルス信号SRPを発生する。付加的なサブセンサ360は他のサブセンサ(310、320、330、340)と同一構成及び同一動作特性を有する。
【0149】
温度管理ユニット100は、メイン温度信号SMT、基準パルス信号SRP、及びサブ温度信号SPiに基づいてシステムオンチップ30の温度情報を提供する。温度情報は、上述した現在のメイン温度値MT_C、前のメイン温度値MT_P、現在のサブ温度カウント値CNTi_C、並びに
図25及び
図26を参照して後述する現在の基準カウント値CNTR_Cを含む。温度情報は、温度管理ユニット100の内部に保存され、プロセッサ400に提供される。温度管理ユニット100は保存された温度情報に基づいてインタラプト信号INTを発生し、プロセッサは、インタラプト信号INT及び提供された温度情報に基づいてシステムオンチップ30の温度分布を分析し、適切な措置を遂行するためのインタラプトサービスルーティンISPを実行する。
【0150】
メインセンサ200と、サブセンサ(310、320、330、340)は、システムオンチップ10が集積される半導体基板に共に集積されるオンチップセンサである。オンチップセンサの出力信号は、測定しようとする温度を正確に反映できるだけでなく、システムの全体的な大きさを減少することができる。
【0151】
図25は、
図24の温度管理ユニットに含まれる温度サンプリング部の一例を示すブロック図である。
【0152】
図25を参照すると、温度サンプリング部160cは、ラッチ部168、複数のサブ温度カウンタ(161、162、163)、及び付加的なカウンタ166を含む。
図6の温度サンプリング部160aと比較して、
図25の温度サンプリング部160cは付加的なカウンタ166を更に含む。
【0153】
ラッチ部168は、メイン温度信号SMTをセンシング周期ごとにラッチしてメイン温度値LATを周期的に提供する。上述したようにセンシング周期は、センシング開始信号SENS及びセンシング終了信号SENDの活性化タイミングによって決定される。サブ温度カウンタ(161、162、163)は、サブ温度信号SP1、SP2、SP3のパルスをセンシング周期ごとにカウントしてサブ温度カウント値CNT1、CNT2、CNT3を周期的に提供する。
【0154】
付加的なカウンタ166は、
図24の付加的なサブセンサ360から発生したメイン温度に比例する周波数を有する周波数を有する基準パルス信号SRPをカウントして、基準カウント値CNTRを周期的に提供する。
【0155】
メイン温度値LAT、基準カウント値CNTR、及びサブ温度カウント値CNT1、CNT2、CNT3はレジスタ部140に提供される。メイン温度値LAT、基準カウント値CNTR、及びサブ温度カウント値CNT1、CNT2、CNT3は、
図8を参照して説明したようにレジスタ部140aに保存される。この場合、
図8のレジスタ部140aは周期的に提供される基準カウント値CNTRに基づいて現在の基準カウント値CNTR_Cを保存するレジスタを更に含む。
【0156】
図26は、本発明の一実施形態による温度管理ユニットの動作の他の例を示すタイミング図である。
【0157】
図26を参照すると、温度管理ユニットTMUが初期化されて時刻t1でセンシングイネーブル信号ENSが活性化され、これに応答してメインセンサMSはメイン温度信号SMTを発生し、サブセンサSS1、…、SSkはサブ温度信号SP1、…、SPkを発生し、付加的なサブセンサ360は基準パルス信号SRPを発生する。メイン温度信号SMTは、一定の周期ごとに測定されたメイン温度のデジタル値DGT1、DGT2、DGT3を示す。デジタル値DGT1、DGT2、DGT3の測定周期は、メインセンサMSの構成、及び/又はセンサ制御部120の制御信号によって決定される。サブ温度信号SP1、…、SPkは、サブブロックBLK1、…、BLKkのサブ温度にそれぞれ比例する周波数を有するパルス信号の形態で提供される。基準パルス信号SRPはメイン温度に比例する周波数を有するパルス信号の形態で提供される。
【0158】
時刻t2でセンシング開始信号SENSが活性化されると、温度サンプリング部160に含まれるラッチ部168、付加的なカウンタ166、及びサブ温度カウンタ(161、162、163)がリセットされる。リセット周期tRSが経過して時刻t3で付加的なカウンタ166、及びサブ温度カウンタ(161、162、163)のカウント動作が始まる。カウント周期tCPが経過して時刻t4でセンシング終了信号SENDが活性化されると、ラッチ部168のラッチ動作が実行され、サンプリングされた第1メイン温度値LAT1がレジスタ部140で提供される。一方、時刻t4で付加的なカウンタ166、及びサブ温度カウンタ(161、162、163)のカウント動作が終了し、サンプリングされた第1基準カウント値CNTR1及び第1サブ温度カウント値CNT11、…、CNTk1がレジスタ部140に提供される。
【0159】
出力周期tOUTが経過してセンシング開始信号SENSが再び活性化されると、上述したリセット動作、カウント動作、サンプリング及び出力動作が繰り返され、ラッチ部168は第2メイン温度値LAT2を出力し、付加的なカウンタ166は第2基準カウント値CNTR2を出力し、サブ温度カウンタ(161、162、163)は第2サブ温度カウント値CNT12、…、CNTk2を出力する。
【0160】
このように、センシング周期tSIごとにメイン温度信号SMT、基準パルス信号SRP、及びサブ温度信号SP1、…、SPkがサンプリングされてサンプリング値が周期的にレジスタ部140に提供される。
【0161】
図27は、本発明の一実施形態によるシステムオンチップの温度管理方法の他の例を示すフローチャートである。
【0162】
図4、
図24、
図25、及び
図26を参照すると、先ず温度管理ユニットTMUを初期化する(ステップS107)。例えば、プロセッサ400からの動作制御信号DOCにより温度管理ユニットTMUをイネーブル状態に設定し、動作に必要な情報を温度管理ユニットTMUに保存する方式で温度管理ユニットTMUを初期化する。温度管理ユニットTMUが初期化されるとメインセンサMS、サブセンサSSi、及び付加的なセンサ360がイネーブルされてメイン温度信号SMT、サブ温度信号SPi、及び基準パルス信号SRPが発生する。
【0163】
温度管理ユニットTMUは、周期的にメイン温度信号SMT、サブ温度信号SPi、及び基準パルス信号SRPをサンプリングする(ステップS227)。温度管理ユニットTMUは、サブ温度信号SPiのサンプリング値には関係なくメイン温度信号SMTのサンプリング値がインタラプト条件を満足するか否かを判断する(ステップS247)。上述したように、インタラプト条件は、システムオンチップ30の全体的なメイン温度が注目するほどの変化があるか否かを判断できるように設定された少なくとも一つの温度臨界値で現される。
【0164】
メイン温度信号SMTがインタラプト条件を満足しない場合(ステップS247で「いいえ」の場合)、温度管理ユニットTMUは次の周期のメイン温度信号SMTをサンプリングし(ステップS227)、次の周期のサンプリング値がインタラプト条件を満足するか否かを判断する(ステップS247)。
【0165】
メイン温度信号SMTがインタラプト条件を満足する場合(ステップS247で「はい」の場合)、温度管理ユニットTMUはインタラプト信号INTを発生する(ステップS267)。インタラプト信号INTが発生すると、サブ温度信号SPiのサンプリング値及び基準パルス信号SRPのサンプリング値に基づいてインタラプトサービスルーティンISRを実行する(ステップS287)。インタラプトサービスルーティンISRは、サブブロックBLKiの温度分布を分析し、適切な措置を決定するためのものとしてソフトウェア、ハードウェア、又はこれらの組み合わせで具現される。例えば、インタラプトサービスルーティンISRは、システムオンチップ30の全体的な動作を制御するプロセッサ400により実行されるプログラムである。
【0166】
このように、サブ温度信号SPiには関係なくメイン温度信号SMTに基づいてシステムオンチップ30の全体的なメイン温度をモニタリングし、インタラプト信号INTが発生した場合にのみサブ温度信号SPiを取得することによって、迅速且つ効率的な温度管理を実行することができる。
【0167】
サブ温度信号SPiのサンプリング値及び基準パルス信号SRPのサンプリング値に基づいたインタラプトサービスルーティンISRは次のように実行される。
【0168】
現在のサブ温度カウント値CNTi_C及び現在の基準カウント値CNTR_Cに基づいて現在のサブ温度値を決定する。例えば、次の式(5)を利用して現在のサブ温度値を計算する。
【0170】
式(5)中、Tjはj番目のサブブロックBLKjの現在のサブ温度値であり、MT_Cは現在のメイン温度値であり、CNTj_Cはj番目のサブ温度信号SPjの現在のサブ温度カウント値であり、CNTR_Cは基準パルス信号SRPの現在の基準カウント値である。式(5)の計算は、基準パルス信号SRP及びサブ温度制御信号SPiのセンシング周期tSI、即ちサンプリング周期が同一であり、基準パルス信号SRP及びサブ温度信号SPiの周波数はそれぞれの温度に比例するという条件に基づく。このようにして求めた現在のサブ温度値Tiを利用して、各サブブロックBLKiの個別的な動作速度を調節することができる。
【0171】
一実施形態において、
図4のプロセッサ400は、インタラプト信号INTには関係なく周期的に温度情報DTIを温度管理ユニット100から受信することができる。温度情報DTIは、サブ温度信号SPiのサンプリング値及び基準パルス信号SRPのサンプリング値を含む。プロセッサ400は、周期的に提供される温度情報DTIに基づいて、式(5)のような計算を通じて現在のサブ温度値Tiを周期的に計算する。結果的に、
図24〜
図27を参照して説明した実施形態の場合に、プロセッサ400は、メイン温度信号SMTの変化には関係なく周期的に計算された現在のサブ温度値Tiに基づいて各サブブロックBLKiの個別的な動作速度を調節することができる。
【0172】
図28は、本発明の一実施形態によるシステムオンチップの温度管理回路のレイアウトの他の例を示す図である。
【0173】
図28を参照すると、システムオンチップ40の温度管理回路は、温度管理ユニットTMU、メインセンサMS200、サブセンサSS1 310、サブセンサSS2 320、サブセンサSS3 330、サブセンサSS4 340、及び複数のヒートブリッジ(heat bridges)(35、36、37、38)を含む。便宜上、
図28には4つのサブセンサのみを図示したが、サブセンサの個数はシステムオンチップ40の構成によって多様に変更することができる。
図2に示した信号及び温度管理回路以外のシステムオンチップ40の他の構成要素は図示を省略した。
【0174】
図2のシステムオンチップ10の温度管理回路と比較し、
図28のシステムオンチップ40の温度管理回路は、複数の付加的なヒートブリッジ(35、36、37、38)を更に含む。以下、
図2の説明と重複する説明は省略する。
【0175】
ヒートブリッジ(35、36、37、38)は、システムオンチップ40が集積される半導体基板より高い熱伝導率を有し、サブセンサ(310、320、330、340)のそれぞれをメインセンサ200と熱的に接続する。本実施形態による温度管理回路の性能は、メインセンサ200によって測定されるメイン温度がシステムオンチップ40の全体的な温度をどの程度正確に反映しているのかに依存する。
【0176】
図2を参照して上述したように、メインセンサ200は、システムオンチップ40の全体的なメイン温度を正確に反映できる位置に集積される。例えば、メインセンサ200と各サブセンサ(310、320、330、340)との間の距離の偏差が最小になる位置にメインセンサ200が集積される。メインセンサ200と各サブセンサ(310、320、330、340)との間の熱伝導率が異なる場合には、これを考慮してメインセンサ200の位置を決定する。ヒートブリッジ(35、36、37、38)は、相対的に高い熱伝導率を有するのでメインセンサ200と各サブセンサ(310、320、330、340)との間の熱伝導率偏差の減少に寄与し、従ってメインセンサ200によって測定されるメイン温度とシステムオンチップ40の実際的な全体温度との間の誤差を減少することができる。
【0177】
上述したように、メインセンサ200とサブセンサ(310、320、330、340)は、システムオンチップ10が集積される半導体基板に共に集積されるオンチップセンサである。オンチップセンサの出力信号は、測定しようとする温度を正確に反映できるだけでなく、システムの全体的な大きさを減少することができる。
【0178】
図29は、
図28の温度管理回路に含まれるヒートブリッジの一例を示す図である。
【0179】
図29を参照すると、半導体基板を利用して第1サブセンサ310、メインセンサ200、及びこれらを熱的に接続する第1ヒートブリッジ35を形成する。
図28に示した残りのヒートブリッジ(36、37、38)も、同様の構造で形成される。
図29に示したように、第1ヒートブリッジ35は、半導体基板の上部表面に形成される電極351、352、ビア(Via)のような垂直コンタクト353、354、及び金属ライン355を含む。電極351、352は、許容される設計マージンの範囲内で可能な限り広い面積で形成される。金属ライン355は、信号ライン及び電圧ラインを形成する金属層にパターン化されて形成される。
【0180】
このように、高い熱伝導率を有するヒートブリッジ(35、36、37、38)を利用してサブセンサ(310、320、330、340)のそれぞれを、メインセンサ200と熱的に結合させることによって温度管理回路及びそれを含むシステムオンチップの性能をより一層向上させることができる。
【0181】
図30は、本発明の一実施形態によるシステムオンチップを電子機器に応用した一例を示すブロック図である。
【0182】
図30を参照すると、電子機器1000は、システムオンチップ1010、メモリ装置1020、保存装置1030、入出力装置1040、パワーサプライ1050、及びイメージセンサ1060を含む。一方、
図30には示さなかったが、電子機器1000は、ビデオカード、サウンドカード、メモリカード、USB装置などと通信するか、又は他の電子機器と通信できるポート(port)を更に含むことができる。
【0183】
システムオンチップ1010は、本発明の実施形態による温度管理回路を含む。温度管理回路は、上述したように、温度管理ユニットTMU、デジタル信号を発生するメインセンサ(図示せず)、及びパルス信号を発生する複数のサブセンサ(図示せず)を含む。システムオンチップ1010は、それぞれの熱源として作用する複数のサブブロックを含み、一つ以上のプロセッサを含む。例えば、サブブロックのそれぞれは、CPUとメモリコントローラなどが含まれるコアブロック(CORE_BLK)、ディスプレイコントローラブロック(DISP_BLK)、ファイルシステムブロック(FSYS_BLK)、GPU(graphic processing unit)ブロック(G3D_BLK)、イメージ信号プロセッサブロック(ISP_BLK)、マルチフォーマットコーデックブロック(MFC_BLK)などを含む。
【0184】
システムオンチップ1010は、アドレスバス(address bus)、制御バス(control bus)、及びデータバス(data bus)を介してメモリ装置1020、保存装置1030、入出力装置1040、及びイメージセンサ1060と通信を遂行する。実施形態により、システムオンチップ1010は、周辺構成要素相互接続(Peripheral Component Interconnect:PCI)バスのような拡張バスにも接続される。
【0185】
メモリ装置1020は、電子機器1000の動作に必要なデータ及びプログラムコードを保存する。例えば、メモリ装置1020は、DRAM、モバイルDRAM、SRAM、PRAM、FeRAM、ReRAM、及び/又はMRAMで具現される。保存装置1030は、SSD(solid state drive)、HDD(hard disk drive)、CD−ROMなどを含む。入出力装置1040は、キーボード、キーパッド、マウスなどのような入力手段、及びプリンタ、ディスプレイなどのような出力手段を含む。パワーサプライ1050は、電子機器1000の動作に必要な動作電圧を供給する。
【0186】
イメージセンサ1060は、バス又は他の通信リンクを介してシステムオンチップ1010と接続して通信を遂行する。イメージセンサ1060は、システムオンチップ1010と共に一つのチップに集積することもでき、それぞれ異なるチップにそれぞれ集積することもできる。
【0187】
図30に示した電子機器1000の構成要素の少なくとも一部は、多様な形態のパッケージで具現することができる。例えば、少なくとも一部の構成は、PoP(Package on Package)、BGAs(Ball grid arrays)、CSPs(Chip scale packages)、PLCC(Plastic Leaded Chip Carrier) 、PDIP(Plastic Dual In−Line Package)、Die in Waffle Pack、Die in Wafer Form、COB(Chip On Board)、CERDIP(Ceramic Dual In−Line Package)、MQFP(Plastic Metric Quad Flat Pack )、TQFP(Thin Quad Flatpack)、SOIC(Small Outline、SSOP(Shrink Small Outline Package)、TSOP(Thin Small Outline)、TQFP(Thin Quad Flatpack)、SIP(System In Package)、MCP(Multi Chip Package)、WFP(Wafer−level Fabricated Package)、WSP(Wafer−Level Processed Stack Package)などのようなパッケージを利用して実装される。
【0188】
一方、電子機器1000は、少なくとも一つのシステムオンチップを含む全ての装置及びシステムと解釈すべきである。例えば、電子機器1000は、デジタルカメラ、移動電話器、PDA(Personal Digital Assistants)、PMP(Portable Multimedia Player)、スマートフォンなどを含む。
【0189】
図31は、
図30の電子機器に使用されるインターフェースの一例を示すブロック図である。
【0190】
図31を参照すると、電子機器1100は、MIPI(Mobile Industry Processor Interface)を使用又は支援できるデータ処理装置で具現することができ、アプリケーションプロセッサチップ形態のシステムオンチップ1110、イメージセンサ1140、及びディスプレイ1150などを含む。システムオンチップ1110は本発明の実施形態による温度管理回路を含む。
【0191】
温度管理回路は、上述したように、温度管理ユニットTMU100、電力管理ユニットPMU500、デジタル信号を発生するメインセンサ(図示せず)、及びパルス信号を発生する複数のサブセンサ(図示せず)を含む。システムオンチップ1110のCSIホスト1112は、CSI(Camera Serial Interface)を介してイメージセンサ1140のCSI装置1141とシリアル通信を遂行する。一実施形態において、CSIホスト1112は、デシリアライザ(DES:deserializer)を含み、CSI装置1141は、シリアライザ(SER:serializer)を含む。システムオンチップ1110のDSIホスト1111は、DSI(Display Serial Interface)を介してディスプレイ1150のDSI装置1151とシリアル通信を遂行する。
【0192】
一実施形態において、DSIホスト1111は、SER(serializer)を含み、DSI装置1151は、DES(deserializer)を含む。更に、電子機器1100は、システムオンチップ1110と通信を遂行できるRF(Radio Frequency)チップ1160を更に含む。電子機器1100のPHY(物理層)1113とRFチップ1160のPHY(物理層)1161は、MIPI(Mobile Industry Processor Interface) DigRFによってデータ送受信を遂行する。また、システムオンチップ1110は、PHY1161のMIPI DigRFに伴うデータ送受信を制御するDigRFマスター1114を更に含む。
【0193】
一方、電子機器1100は、GPS(Global Positioning System)1120、ストレージ1170、マイク1180、DRAM(Dynamic Random Access Memory)1185、及びスピーカー1190を含む。また、電子機器1100は、UWB(Ultra WideBand)1210、WLAN(Wireless Local Area Network)1220、及びWIMAX(Worldwide Interoperability for Microwave Access)1230などを利用して通信を遂行する。
図31に示した電子機器1100の構造及びインターフェースは一つの例示であって、これに限定されるものではない。
【0194】
以上、図面を参照しながら本発明の実施形態について説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。