(57)【特許請求の範囲】
【請求項１】
マルチＣＰＵプロセッサ（ｍｕｌｔｉ−ＣＰＵ  ｐｒｏｃｅｓｓｏｒ）を含み、
前記マルチＣＰＵプロセッサは、
少なくとも第１コア、第１キャッシュ、及び前記第１キャッシュをアクセスするための第１キャッシュコントローラを含む第１ＣＰＵと、
少なくとも第２コア及び第２キャッシュをアクセスするための第２キャッシュコントローラを含む第２ＣＰＵと、を含み、前記第２キャッシュは、共有領域と非共有領域とを備え、
前記第１キャッシュは、前記第２キャッシュの前記共有領域から具現されるマルチＣＰＵデータ処理システム。
【請求項２】
選択信号に基づいて、前記第１キャッシュコントローラまたは前記第２キャッシュコントローラからデータを前記第１キャッシュに入力する共有回路をさらに含む請求項１に記載のマルチＣＰＵデータ処理システム。
【請求項３】
前記第１ＣＰＵ、前記第２ＣＰＵ、及び前記第１キャッシュを独立してターンオンまたはターンオフするための複数の制御信号を出力する電力管理ユニットをさらに含む請求項１に記載のマルチＣＰＵデータ処理システム。
【請求項４】
前記電力管理ユニットは、前記第１キャッシュに電源を保持する間に、前記第１キャッシュを除いた前記第１ＣＰＵと前記第２ＣＰＵとの間で選択的に電源をスイッチする請求項３に記載のマルチＣＰＵデータ処理システム。
【請求項５】
前記第１キャッシュと前記共有回路は、第１ＳｏＣに埋設され、前記第１キャッシュを除いた前記第１ＣＰＵは、第２ＳｏＣに埋設される請求項２に記載のマルチＣＰＵデータ処理システム。
【請求項６】
前記第１キャッシュを除いた前記第１ＣＰＵは、第１電力領域に具現され、前記第１キャッシュを除いた前記第２ＣＰＵは、第２電力領域に具現され、前記第１キャッシュは、第３電力領域に具現され、
前記第１電力領域、前記第２電力領域、及び前記第３電力領域のそれぞれは、独立して制御可能な請求項５に記載のマルチＣＰＵデータ処理システム。
【請求項７】
少なくとも第１コア、第１キャッシュ、及び前記第１キャッシュからデータをアクセスするための第１キャッシュコントローラを含む第１ＣＰＵと、
少なくとも第２コア及び第２キャッシュからデータをアクセスするための第２キャッシュコントローラを含む第２ＣＰＵと、を含み、
前記第１キャッシュは、前記第２キャッシュの共有領域から具現され、
前記第１キャッシュを除いた前記第１ＣＰＵは、第１ダイに具現され、前記第２ＣＰＵは、第２ダイに具現されるマルチＣＰＵデータ処理システム。
【請求項８】
選択信号に基づいて、前記第１キャッシュから前記第１キャッシュコントローラまたは前記第２キャッシュコントローラにデータを出力する共有回路をさらに含み、前記共有回路は、前記第２ダイ内に具現される請求項７に記載のマルチＣＰＵデータ処理システム。
【請求項９】
前記共有回路のための複数の制御信号ラインは、前記第１ダイと前記第２ダイとの間に接続して連結される複数のＴＳＶ（Ｔｈｒｏｕｇｈ  Ｓｉｌｉｃｏｎ  Ｖｉａ）を含む請求項８に記載のマルチＣＰＵデータ処理システム。
【請求項１０】
Ｌ１キャッシュと前記第１キャッシュは、共通基板に具現される請求項７に記載のマルチＣＰＵデータ処理システム。
【請求項１１】
少なくとも１つのアドレスラインは、Ｌ１キャッシュと前記第１キャッシュとに共通する請求項７に記載のマルチＣＰＵデータ処理システム。
【請求項１２】
前記第１キャッシュを除いた前記第１ＣＰＵは、第１電力領域に位置し、前記第１キャッシュを除いた前記第２ＣＰＵは、第２電力領域に位置し、前記第１キャッシュは、第３電力領域に位置する請求項７に記載のマルチＣＰＵデータ処理システム。
【請求項１３】
前記第３電力領域がパワーオンを保持する間に、前記第１電力領域と前記第２電力領域とに電力を選択的に供給する電力管理ユニットをさらに含む請求項１２に記載のマルチＣＰＵデータ処理システム。
【請求項１４】
前記マルチＣＰＵデータ処理システムは、スマートフォン、ラップトップＰＣ、またはタブレットＰＣとして具現される請求項７に記載のマルチＣＰＵデータ処理システム。
【請求項１５】
前記第１キャッシュは、Ｌ２キャッシュまたはＬ３キャッシュである請求項７に記載のマルチＣＰＵデータ処理システム。
【請求項１６】
第１ＣＰＵが第１キャッシュコントローラを通じて第１キャッシュをアクセスする段階と、
第２ＣＰＵが第２キャッシュコントローラを通じて第２キャッシュをアクセスする段階と、
前記第１キャッシュのフラッシング（ｆｌｕｓｈｉｎｇ）なしに前記第１ＣＰＵから前記第２ＣＰＵにキャッシュアクセス動作をスイッチする段階と、を含み、前記第２キャッシュは、共有領域と非共有領域とを備え、
前記第１キャッシュは、前記第２キャッシュの前記共有領域から具現されるマルチＣＰＵプロセッサを利用したデータ処理方法。
【請求項１７】
選択信号に基づいて、前記第１ＣＰＵまたは前記第２ＣＰＵから前記第２キャッシュに入力されるデータをマルチプレクシング（Ｍｕｌｔｉｐｌｅｘｉｎｇ）する段階をさらに含む請求項１６に記載のマルチＣＰＵプロセッサを利用したデータ処理方法。
【請求項１８】
スヌーピング（ｓｎｏｏｐｉｎｇ）なしに前記第１ＣＰＵから前記第２ＣＰＵにキャッシュアクセス動作をスイッチングする段階をさらに含む請求項１６に記載のマルチＣＰＵプロセッサを利用したデータ処理方法。
【請求項１９】
前記第２ＣＰＵから前記第１ＣＰＵにキャッシュアクセス動作をスイッチングし、前記第２キャッシュの非共有領域に対するフラッシング動作を行う段階をさらに含む請求項１６に記載のマルチＣＰＵプロセッサを利用したデータ処理方法。
【請求項２０】
前記第２ＣＰＵから前記第１ＣＰＵにキャッシュアクセス動作をスイッチングし、前記第２キャッシュの非共有領域に対するスヌーピング動作を行う段階をさらに含む請求項１６に記載のマルチＣＰＵプロセッサを利用したデータ処理方法。
【請求項２１】
少なくとも第１コア、第１キャッシュ、前記第１キャッシュをアクセスするための第１キャッシュコントローラを含む第１ＣＰＵと、
少なくとも第２コア及び前記第１キャッシュの保存容量よりも大きな保存容量を有する第２キャッシュをアクセスするための第２キャッシュコントローラを含む第２ＣＰＵと、
選択信号に基づいて、前記第１キャッシュコントローラを通じて前記第１コアまたは前記第２キャッシュコントローラを通じて前記第２コアから前記第１キャッシュにデータを伝送するマルチプレクサと、
前記選択信号に基づいて、前記第１キャッシュから前記第１キャッシュコントローラを通じて前記第１コアまたは前記第２キャッシュコントローラを通じて前記第２コアへデータを伝送するためのデマルチプレクサと、
を含むプロセッサ。
【請求項２２】
前記第１キャッシュは、前記第２キャッシュの共有領域から具現される請求項２１に記載のプロセッサ。
【請求項２３】
マルチＣＰＵプロセッサを含み、
前記マルチＣＰＵプロセッサは、
少なくとも第１コア、第１キャッシュ、前記第１キャッシュをアクセスするための第１キャッシュコントローラを含む第１ＣＰＵと、
少なくとも第２コア及び第２キャッシュをアクセスするための第２キャッシュコントローラを含む第２ＣＰＵと、
前記第１ＣＰＵと前記第２ＣＰＵとのうち少なくとも１つ及び前記第１キャッシュに電源を選択的に供給する電力管理ユニット（ＰＭＵ）と、
データバスを通じて前記マルチＣＰＵプロセッサへの／からのメモリアクセスを制御するメモリコントローラと、を含み、前記第１キャッシュは、前記第２キャッシュの共有領域から具現されるマルチＣＰＵデータ処理システム。
【請求項２４】
前記電力管理ユニットは、前記第１キャッシュに電源が供給される間に、前記第１ＣＰＵと前記第２ＣＰＵとのターンオンまたはターンオフを独立して制御するための複数の制御信号を出力する請求項２３に記載のマルチＣＰＵデータ処理システム。
【請求項２５】
前記第１キャッシュを除いた前記第１ＣＰＵは、第１電力領域に位置し、前記第１キャッシュを除いた前記第２ＣＰＵは、第２電力領域に位置し、前記第１キャッシュは、第３電力領域に位置する請求項２３に記載のマルチＣＰＵデータ処理システム。
【請求項２６】
前記電力管理ユニットは、前記第３電力領域に電源が供給される間に、前記第１電力領域と前記第２電力領域との間で電力を選択的にスイッチする請求項２５に記載のマルチＣＰＵデータ処理システム。
【請求項２７】
前記マルチＣＰＵデータ処理システムは、スマートフォン、ラップトップＰＣ、またはタブレットＰＣとして具現される請求項２３に記載のマルチＣＰＵデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチＣＰＵシステム（ｍｕｌｔｉ−ＣＰＵ  ｓｙｓｔｅｍ）に係り、特に、２つのＣＰＵによって物理的に共有されるレベル２（Ｌ２）キャッシュを含むマルチＣＰＵシステムとそれを含むコンピューティングシステムとに関する。
【背景技術】
【０００２】
ＣＰＵの動作周波数が高くなるにつれて、消費電力も増加する。動作周波数及び電圧スケーリング（Ｄｙｎａｍｉｃ  Ｖｏｌｔａｇｅ  ａｎｄ  Ｆｒｅｑｕｅｎｃｙ  Ｓｃａｌｉｎｇ、ＤＶＦＳ）は、ＣＰＵ動作周波数と消費電力とを適切に調節するための１つの技術である。
【０００３】
マルチＣＰＵシステムで、キャッシュ（ｃａｃｈｅ）のようなＣＰＵ資源の共有は、チップ密度（ｃｈｉｐ  ｄｅｎｓｉｔｙ）を増加させ、消費電力を低下させることができる。しかし、キャッシュ一貫性（ｃａｃｈｅ  ｃｏｈｅｒｅｎｃｅ）を保持するために、増加したプロセスと動作とでトレードオフ（ｔｒａｄｅ−ｏｆｆ）が発生する恐れがある。例えば、キャッシュが１つ以上のＣＰＵによって共有される時、データフラッシング（ｆｌｕｓｈｉｎｇ）とスヌーピング（ｓｎｏｏｐｉｎｇ）は、共有キャッシュ使用が１つのＣＰＵから他のＣＰＵにスイッチングされる時に必要である。過度なフラッシング動作とスヌーピング動作は、プロセスレイテンシー（ｐｒｏｃｅｓｓ  ｌａｔｅｎｃｙ）を増加させ、マルチＣＰＵシステムの全般的な性能に影響を及ぼす可能性がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】韓国特許出願公開２０１１−１０１７０６８号公報
【特許文献２】米国特許第６，４３４，６７２号公報
【特許文献３】米国特許第６，７５１，７０６号公報
【特許文献４】米国特許出願公開第２００９−００４９２４８号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする技術的な課題は、ＣＰＵスケーリング時に、Ｌ２キャッシュの一貫性を保持するためのスヌーピング動作のオーバーヘッド（ｏｖｅｒｈｅａｄ）と前記Ｌ２キャッシュのコールドスタート（ｃｏｌｄ−ｓｔａｒｔ）を除去することができるマルチＣＰＵシステムとそれを含むコンピューティングシステムとを提供することにある。また、２つのＣＰＵによって物理的に共有されるＬ２キャッシュを含むマルチＣＰＵシステムとそれを含むコンピューティングシステムとを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の実施形態によるマルチＣＰＵデータ処理システムは、マルチＣＰＵプロセッサ（ｍｕｌｔｉ−ＣＰＵ  ｐｒｏｃｅｓｓｏｒ）を含み、前記マルチＣＰＵプロセッサは、少なくとも１つの第１コア、第１キャッシュ、及び前記第１キャッシュをアクセスするための第１キャッシュコントローラを含む第１ＣＰＵと、少なくとも１つの第２コアと第２キャッシュとをアクセスするための第２キャッシュコントローラを含む第２ＣＰＵと、を含み、前記第１キャッシュは、前記第２キャッシュの共有領域から具現される。
【０００７】
前記マルチＣＰＵデータ処理システムは、選択信号に基づいて、前記第１キャッシュコントローラまたは前記第２キャッシュコントローラからデータを前記第１キャッシュに入力する共有回路をさらに含む。前記マルチＣＰＵデータ処理システムは、前記第１ＣＰＵ、前記第２ＣＰＵ、及び前記第１キャッシュを独立してターンオンまたはターンオフするための複数の制御信号を出力する電力管理ユニットをさらに含む。
前記電力管理ユニットは、前記第１キャッシュに電源を保持する間に、前記第１キャッシュを除いた前記第１ＣＰＵと前記第２ＣＰＵとの間で選択的に電源をスイッチ（ｓｗｉｔｃｈ）する。
【０００８】
前記第１キャッシュと前記共有回路は、第１ＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）に具現され、前記第１キャッシュを除いた前記第１ＣＰＵは、第２Ｓｏｃに具現される。前記第１キャッシュを除いた前記第１ＣＰＵは、第１電力領域に具現され、前記第１キャッシュを除いた前記第２ＣＰＵは、第２電力領域に具現され、前記第１キャッシュは、第３電力領域に具現され、前記第１電力領域、前記第２電力領域、及び前記第３電力領域のそれぞれは、独立して制御可能である。
【０００９】
本発明の実施形態によるマルチＣＰＵデータ処理システムは、少なくとも１つの第１コア、第１キャッシュ、及び前記第１キャッシュからデータをアクセスするための第１キャッシュコントローラを含む第１ＣＰＵと、少なくとも１つの第２コア及び第２キャッシュからデータをアクセスするための第２キャッシュコントローラを含む第２ＣＰＵと、を含み、前記第１キャッシュは、前記第２キャッシュの共有領域から具現され、前記第１キャッシュを除いた前記第１ＣＰＵは、第１ダイ（ｄｉｅ）に具現され、前記第２ＣＰＵは、第２ダイに具現される。
【００１０】
前記マルチＣＰＵデータ処理システムは、選択信号に基づいて、前記第１キャッシュから前記第１キャッシュコントローラまたは前記第２キャッシュコントローラにデータを出力する共有回路をさらに含み、前記共有回路は、前記第２ダイ内に具現される。前記共有回路のための複数の制御信号ラインは、前記第１ダイと前記第２ダイとの間に接続して連結される複数のＴＳＶ（Ｔｈｒｏｕｇｈ  Ｓｉｌｉｃｏｎ  Ｖｉａ）を含む。
Ｌ１キャッシュと前記第１キャッシュは、共通基板に具現される。少なくとも１つのアドレスライン（ａｄｄｒｅｓｓ  ｌｉｎｅ）は、Ｌ１キャッシュと前記第１キャッシュとに共通する。
【００１１】
本発明の実施形態によるマルチＣＰＵプロセッサを利用したデータ処理方法は、１ＣＰＵが第１キャッシュコントローラを通じて第１キャッシュをアクセスする段階と、第２ＣＰＵが第２キャッシュコントローラを通じて第２キャッシュをアクセスする段階と、前記第１キャッシュのフラッシングなしに前記第１ＣＰＵから前記第２ＣＰＵにキャッシュアクセス動作をスイッチする段階と、を含み、前記第１キャッシュは、前記第２キャッシュの共有領域から具現される。
【００１２】
前記方法は、スヌーピングなしに前記第１ＣＰＵから前記第２ＣＰＵにキャッシュアクセス動作をスイッチングする段階をさらに含む。前記方法は、前記第２ＣＰＵから前記第１ＣＰＵにキャッシュアクセス動作をスイッチングし、前記第２キャッシュの非共有領域に対するフラッシング動作を行う段階をさらに含む。
前記方法は、前記第２ＣＰＵから前記第１ＣＰＵにキャッシュアクセス動作をスイッチングし、前記第２キャッシュの非共有領域に対するスヌーピング動作を行う段階をさらに含む。
【００１３】
本発明の実施形態によるプロセッサは、少なくとも１つの第１コア、第１キャッシュ、前記第１キャッシュをアクセスするための第１キャッシュコントローラを含む第１ＣＰＵと、少なくとも１つの第２コアと前記第１キャッシュとの保存容量よりも大きな保存容量を有する第２キャッシュをアクセスするための第２キャッシュコントローラを含む第２ＣＰＵと、選択信号に基づいて、前記第１キャッシュコントローラを通じて前記第１コアまたは前記第２キャッシュコントローラを通じて前記第２コアから前記第１キャッシュにデータを伝送するマルチプレクサ（ｍｕｌｔｉｐｌｅｘｅｒ）と、前記選択信号に基づいて、前記第１キャッシュから前記第１キャッシュコントローラを通じて前記第１コアまたは前記第２キャッシュコントローラを通じて前記第２コアからデータを伝送するためのデマルチプレクサ（ｄｅｍｕｌｔｉｐｌｅｘｅｒ）と、を含む。
【００１４】
本発明の実施形態によるマルチＣＰＵデータ処理システムは、マルチＣＰＵプロセッサを含み、前記マルチＣＰＵプロセッサは、少なくとも１つの第１コア、第１キャッシュ、前記第１キャッシュをアクセスするための第１キャッシュコントローラを含む第１ＣＰＵと、少なくとも１つの第２コアと第２キャッシュとをアクセスするための第２キャッシュコントローラを含む第２ＣＰＵと、前記第１ＣＰＵと前記第２ＣＰＵとのうち少なくとも１つに電源を選択的に供給する電力管理ユニット（ＰＭＵ）と、データバスを通じて前記マルチＣＰＵプロセッサに／からメモリアクセスを制御するメモリコントローラと、を含み、前記第１キャッシュは、前記第２キャッシュの共有領域から具現される。前記マルチＣＰＵデータ処理システムは、スマートフォン、ラップトップＰＣ、またはタブレットＰＣとして具現される。
【発明の効果】
【００１５】
本発明の実施形態による複数のＣＰＵを含むマルチＣＰＵシステムは、Ｌ２キャッシュの少なくとも一部を複数のＣＰＵが物理的に共有することによって、マルチＣＰＵシステムの面積を減少させることができる。また、マルチＣＰＵシステムでＣＰＵスケーリングが行われる時、スヌーピング動作のオーバーヘッドを除去するか、または減少させることができる。
マルチＣＰＵシステムでＣＰＵスケーリングが行われる時、Ｌ２キャッシュのコールドスタートを除去することができる。また、マルチＣＰＵシステムでＬ２キャッシュの少なくとも一部が、複数のＣＰＵによって物理的に共有されることによって、大量のデータ伝送が可能となる。
【図面の簡単な説明】
【００１６】
【図１Ａ】本発明の実施形態によるマルチＣＰＵシステムの概略的なブロック図。
【図１Ｂ】図１ＡのマルチＣＰＵシステムを含むコンピューティングシステムのブロック図。
【図２】図１Ａの第２ＣＰＵに集積されたレベル２（Ｌ２）キャッシュの概略的なブロック図。
【図３】図１ＡのマルチＣＰＵの複数の電力領域を示すブロック図。
【図４】図１ＡのマルチＣＰＵのＣＰＵスケーリングの一実施形態を示す図。
【図５】図４の本発明の実施形態によるＣＰＵスケーリングプロセスのフローチャート。
【図６】図１ＡのマルチＣＰＵのＣＰＵスケーリングの他の実施形態を説明する概念図。
【図７】本発明の実施形態による他のＣＰＵスケーリングプロセスのフローチャート。
【図８】本発明の他の実施形態によるマルチＣＰＵシステムの概略的なブロック図。
【図９】本発明の実施形態によるボードアセンブリーのブロック図。
【図１０】本発明の実施形態によるコンピュータプラットフォームを示す図。
【図１１】本発明の実施形態によるマルチＣＰＵシステムを含むコンピューティングシステムの一実施形態を示す図。
【図１２】本発明の実施形態によるマルチＣＰＵシステムを製造する方法を説明するフローチャート。
【発明を実施するための形態】
【００１７】
以下、添付した図面を参照して、本発明を詳しく説明する。
図１Ａは、本発明の実施形態によるマルチＣＰＵ（ｍｕｌｔｉ−Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）システムの概略的なブロック図を示す。図１Ａを参照すると、マルチＣＰＵシステム１００は、システムバス１０１、マルチＣＰＵ１０３、及びメモリコントローラ１０５を含む。
ここで、マルチＣＰＵシステム１００は、１つのシステムオンチップ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ、ＳｏＣ）として具現可能である。例えば、マルチＣＰＵシステム１００は、１つのマスク（ｍａｓｋ）を用いて具現可能である。
【００１８】
マルチＣＰＵ１０３は、第１ＣＰＵ１１０と第２ＣＰＵ１２０とを含みうる。実施形態によって、マルチＣＰＵ１０３は、電力管理ユニット（Ｐｏｗｅｒ  Ｍａｎａｇｅｍｅｎｔ  Ｕｎｉｔ、ＰＭＵ）１５０をさらに含みうる。図１Ａでは、説明の便宜上、２つのＣＰＵ１１０、１２０を含むマルチＣＰＵ１０３が示されているが、本発明の概念は、２つ以上のＣＰＵを含むマルチＣＰＵにそのまま適用可能である。
【００１９】
第１ＣＰＵ１１０は、少なくとも１つの第１ＣＰＵコア１１１、１１３と第１レベル２（ｌｅｖｅｌ−２、Ｌ２）キャッシュコントローラ１１５とを含みうる。したがって、第１ＣＰＵ１１０は、マルチコアＣＰＵとして具現可能である。少なくとも１つの第１ＣＰＵコア１１１、１１３は、レベル１（ｌｅｖｅｌ１、Ｌ１）キャッシュ、例えば、命令キャッシュ（ｉｎｓｔｒｕｃｔｉｏｎ  ｃａｃｈｅ）とデータキャッシュ（ｄａｔａ  ｃａｃｈｅ）とを含みうる。少なくとも１つの第１ＣＰＵコア１１１、１１３は、第１レベル２（Ｌ２）キャッシュコントローラ１１５と通信のための周辺回路をさらに含みうる。
第１Ｌ２キャッシュコントローラ１１５は、第１通信チャネルＣＨ１を通じてシステムバス１０１とインターフェーシングする第１インターフェースブロック１１７とを含みうる。
【００２０】
第２ＣＰＵ１２０は、少なくとも１つの第２ＣＰＵコア１２１、１２３、第２Ｌ２キャッシュコントローラ１２５、及び少なくとも１つのＬ２キャッシュ１３０、１４０を含みうる。したがって、第２ＣＰＵ１２０は、マルチコアＣＰＵとして具現可能である。少なくとも１つの第２ＣＰＵコア１２１、１２３は、Ｌ１キャッシュ、例えば、命令キャッシュとデータキャッシュとを含みうる。少なくとも１つの第２ＣＰＵコア１２１、１２３は、第２Ｌ２キャッシュコントローラ１２５と通信のための周辺回路をさらに含みうる。
【００２１】
第２Ｌ２キャッシュコントローラ１２５は、第２通信チャネルＣＨ２を通じてシステムバス１０１とインターフェーシングする第２インターフェースブロック１２７とを含みうる。この際、第１Ｌ２キャッシュコントローラ１１５と第２Ｌ２キャッシュコントローラ１２５は、構造的に互いに独立して具現され、独立して動作することができる。したがって、各Ｌ２キャッシュコントローラ１１５、１２５が、システムバス１０１と通信するためには、別途の通信チャネルＣＨ１、ＣＨ２が必要である。
第１ＣＰＵ１１０と第２ＣＰＵ１２０のそれぞれは、相応するＬ１キャッシュと相応するＬ２キャッシュとを含む。Ｌ２キャッシュは、データキャッシュであり、Ｌ２キャッシュの容量とサイズは、Ｌ１キャッシュの容量とサイズよりも大きい。
【００２２】
実施形態を示すために、第１ＣＰＵ１１０、第１Ｌ２キャッシュコントローラ１１５及び第１Ｌ２キャッシュのようなコンポーネント（ｃｏｍｐｏｎｅｎｔｓ）の‘第１グループ’は、‘スモール（ｓｍａｌｌ）’グループ、例えば、スモールＣＰＵ１１０、スモールＬ２キャッシュコントローラ１１５などに分類される。第２ＣＰＵ１２０、第２Ｌ２キャッシュコントローラ１２５及び第２Ｌ２キャッシュのようなコンポーネントの‘第２グループ’は、‘ビッグ（ｂｉｇ）’グループ、例えば、ビッグＣＰＵ１２０、ビッグＬ２キャッシュコントローラ１２５などに分類される。
【００２３】
第１ＣＰＵ１１０は、各Ｌ２キャッシュ１３３、１４３を含む。第２ＣＰＵ１２０は、各Ｌ２キャッシュ１３０、１４０を含む。図１Ａの発明の実施形態によって、各第１（または、スモール）Ｌ２キャッシュ１３３、１４３は、第１ＣＰＵ１１０と第２ＣＰＵ１２０とによって機能的に共有されうる。すなわち、各第１Ｌ２キャッシュ１３３、１４３は、第１ＣＰＵ１１０または第２ＣＰＵ１２０によってアクセス（ａｃｃｅｓｓ）されうる。ここで、アクセスは、ライト（ｗｒｉｔｅ）動作またはリード（ｒｅａｄ）動作のために必要な動作を意味する。
【００２４】
また、各第１（または、スモール）Ｌ２キャッシュ１３３、１４３は、各第２（または、ビッグ）Ｌ２キャッシュ１３１、１４１の一部である。例えば、スモールＬ２キャッシュは、ビッグＬ２キャッシュの一部から形成されうる。例えば、ビッグＬ２キャッシュは、２ＭＢメモリ装置であり、スモールＬ２キャッシュは、スモールＣＰＵとビッグＣＰＵとによって共有され、ビッグＬ２キャッシュの２５％容量、例えば、５１２ＫＢ容量で形成されうる。各第２Ｌ２キャッシュ１３０、１４０の各非共有領域１３１及び１４１は、第２Ｌ２キャッシュコントローラ１２５を通じて第２ＣＰＵ１２０によってのみアクセスされうる。例えば、各非共有領域１３１及び１４１は、２ＭＢメモリ装置の１．５ＭＢであり得る。
【００２５】
第２Ｌ２キャッシュコントローラ１２５は、共有Ｌ２キャッシュ１３３及び１４３と非共有Ｌ２キャッシュ１３１及び１４１とを含んだ第２Ｌ２キャッシュ１３０及び１４０の全部を同時にアクセスすることができる。しかし、共有Ｌ２キャッシュ１３３及び１４３は、第１Ｌ２キャッシュコントローラ１１５と第２Ｌ２キャッシュコントローラ１２５とによって同時にアクセスすることはできない。
【００２６】
ＰＭＵ１５０は、第１ＣＰＵ１１０から出力された第１指示信号ＩＮＤ１と第２ＣＰＵ１２０から出力された第２指示信号ＩＮＤ２とのうち少なくとも１つに基づいて、複数の制御信号ＣＴＲ１、ＣＴＲ２、及び／または選択信号ＳＥＬを使って、スモールＣＰＵ１１０とビッグＣＰＵ１２０とに電力を選択的に供給する。
それぞれの指示信号ＩＮＤ１、ＩＮＤ２は、システムバス１０１を通じてＰＭＵ１５０に供給されうる。各信号ＳＥＬ、ＣＴＲ１、及びＣＴＲ２は、１つまたはそれ以上の制御モード信号を含みうる。
【００２７】
複数の第１制御信号ＣＴＲ１に基づいて、第１ＣＰＵ１１０は、電力領域（ｐｏｗｅｒｄｏｍａｉｎ）別に電力供給及び／またはリセット（ｒｅｓｅｔ）を独立して制御することができる。複数の第２制御信号ＣＴＲ２に基づいて、第２ＣＰＵ１２０は、電力領域別に電力供給及び／またはリセットを独立して制御することができる。また、第１ＣＰＵ１１０と第２ＣＰＵ１２０は、選択信号ＳＥＬに応答して、ＣＰＵスケーリング（ｓｃａｌｉｎｇ）、すなわち、複数のＣＰＵ１１０、１２０の間のスイッチング（ｓｗｉｔｃｈｉｎｇ）を制御することができる。
【００２８】
図１Ａでは、説明の便宜上、各Ｌ２キャッシュ１３０、１４０の少なくとも一部１３３、１４３が、各ＣＰＵ１１０、１２０によって物理的に共有される構造が示されているが、本発明の技術的思想は、Ｌ２キャッシュの代りにレベル３（Ｌ３）キャッシュが物理的に共有される構造にも適用可能である。例えば、第２ＣＰＵ１２０に具現された機能ブロックは、各ＣＰＵ１１０、１２０、例えば、Ｌ２キャッシュまたはＬ３キャッシュによって共有される。前記機能ブロックが、Ｌ３キャッシュである時、各Ｌ２キャッシュコントローラは、Ｌ３キャッシュコントローラに代替されうる。
【００２９】
各ＣＰＵ１１０、１２０は、各通信チャネルＣＨ１、ＣＨ２とシステムバス１０１とを通じてメモリコントローラ１０５と通信することができる。メモリコントローラ１０５は、マルチＣＰＵシステムに接続されたメモリ、例えば、メインメモリをアクセスすることができる。説明の便宜上、各要素１０１、１０５は、図１ＡのマルチＣＰＵ１０３の外部に示されているが、各要素１０１、１０５は、マルチＣＰＵ１０３の内部に具現されることもある。
【００３０】
図１Ｂは、図１ＡのマルチＣＰＵシステムを含むコンピューティングシステムのブロック図である。図１Ｂを参照すると、前記コンピューティングシステムは、マルチＣＰＵシステム１００とメモリ１０７とを含みうる。前述したように、メモリコントローラ１０５は、マルチＣＰＵシステム１００とメモリ１０７との間のデータ通信を制御またはインターフェース（ｉｎｔｅｒｆａｃｅ）することができる。
【００３１】
図２は、図１Ａの第２ＣＰＵに集積されたレベル２（Ｌ２）キャッシュの概略的なブロック図である。図１Ａと図２とに示したように、Ｌ２キャッシュ１３０は、非共有領域（ｎｏｎ−ｓｈａｒｅｄ  ｒｅｇｉｏｎ）である専用領域１３１と共有領域１３３とを含む。また、Ｌ２キャッシュ１４０は、専用領域１４１と共有領域１４３とを含む。各Ｌ２キャッシュ１３０、１４０の構造は、実質的に同一なので、Ｌ２キャッシュ１３０についての説明は、Ｌ２キャッシュ１４０に適用可能である。
【００３２】
共有領域１３３または１４３は、Ｌ２キャッシュ１３０または１４０の一部に具現され、共有領域１３３または１４３は、Ｌ２キャッシュ１３０または１４０の少なくとも１つのアドレスラインを共有する。前述したように、専用領域１３１は、第２Ｌ２キャッシュコントローラ１２５によってのみアクセスされ、共有領域１３３は、選択信号ＳＥＬによって第１Ｌ２キャッシュコントローラ１１５と第２Ｌ２キャッシュコントローラ１２５とのうち何れか１つが選択的にアクセスすることができる。
【００３３】
共有回路は、第１選択器１６０と第２選択器１６１とを含む。実施形態によって、前記共有回路は、ビッグＣＰＵ１２０の内部に具現されるが、共有領域１３３の外部に具現可能である。他の実施形態によって、第１選択器１６０と第２選択器１６１は、共有領域１３３の内部に具現可能である。例えば、第１選択器１６０は、マルチプレクサとして具現可能であり、第２選択器１６１は、デマルチプレクサとして具現可能である。他の実施形態によって、前記共有回路は、第１選択器１６０を含み、第２選択器１６１を含まないこともある。
【００３４】
第１Ｌ２キャッシュコントローラ１１５が、共有領域１３３をアクセスしようとする時、第１選択器１６０は、選択信号ＳＥＬに応答して、第１Ｌ２キャッシュコントローラ１１５から出力された複数の第１アクセス信号ＡＣＣ１を共有領域１３３の第１入力ポートＩＮ１に伝送する。
【００３５】
第１グループまたはスモールグループによるライト動作のために、第１Ｌ２キャッシュコントローラ１１５は、共有領域１３３にデータをライトし、複数の第１アクセス信号ＡＣＣ１、例えば、メモリセルアレイ１３３−１にデータをライトするために必要なデータと複数の制御信号は、第１選択器１６を通じて第１入力ポートＩＮ１に伝送することができる。第１グループによるリード動作のために、第１Ｌ２キャッシュコントローラ１１５は、共有領域１３３に保存されたデータをリードし、複数の第１アクセス信号ＡＣＣ１、例えば、メモリセルアレイ１３３−１からデータをリードするために必要なデータと複数の制御信号は、第１選択器１６０を通じて第１入力ポートＩＮ１に伝送され、共有領域１３３の第１出力ポートＯＵＴ１から出力されたデータは、第２選択器１６１を通じて第１Ｌ２キャッシュコントローラ１１５に伝送される。
【００３６】
実施形態によって、第２選択器１６１が含まれない場合、第１出力ポートＯＵＴ１から出力されたデータは、第１Ｌ２キャッシュコントローラ１１５に直接伝送することができる。
Ｌ２キャッシュコントローラ１２５のような第２グループまたはビッググループによって共有領域１３３にアクセスのために、第１選択器１６０は、選択信号ＳＥＬに応答して、第２Ｌ２キャッシュコントローラ１２５から出力された複数の第２アクセス信号ＡＣＣ２を第１入力ポートＩＮ１に伝送する。例えば、第２Ｌ２キャッシュコントローラ１２５が、共有領域１３３にデータをライトする時、複数の第２アクセス信号ＡＣＣ２、例えば、メモリセルアレイ１３３−１にデータをライトするために必要なデータと複数の制御信号は、第１選択器１６０を通じて第１入力ポートＩＮ１に伝送される。
【００３７】
第２Ｌ２キャッシュコントローラ１２５が、共有領域１３３に保存されたデータをリードする時、複数の第２アクセス信号ＡＣＣ２、例えば、メモリセルアレイ１３３−１からデータをリードするために必要な複数の制御信号は、第２選択器１６１を通じて第１入力ポートＩＮ１に伝送され、第１出力ポートＯＵＴ１を通じて出力されたデータは、第２選択器１６１を通じて第２Ｌ２キャッシュコントローラ１２５に伝送される。実施形態によって、第２選択器１６１が含まれない場合、第１出力ポートＯＵＴ１から出力されたデータは、第２Ｌ２キャッシュコントローラ１２５に直接伝送することができる。
【００３８】
第２Ｌ２キャッシュコントローラ１２５が、専用領域１３１にデータをライトする時、第２Ｌ２キャッシュコントローラ１２５から出力された複数の第３アクセス信号ＡＣＣ３、例えば、メモリセルアレイ１３３−１にデータをライトするために必要なデータと複数の制御信号は、専用領域１３１の第２入力ポートＩＮ２に入力される。
第２Ｌ２キャッシュコントローラ１２５が、専用領域１３１に保存されたデータをリードする時、複数の第３アクセス信号ＡＣＣ３、例えば、メモリセルアレイ１３３−１からデータをリードするために必要な制御信号は、第２入力ポートＩＮ２に直接伝送され、専用領域１３１の第２出力ポートＯＵＴ２を通じて出力されたデータは、第２Ｌ２キャッシュコントローラ１２５に直接伝送される。共有回路は、スモールＬ２キャッシュコントローラまたはビッグＬ２キャッシュコントローラによって共有Ｌ２キャッシュに／からエラーデータのアクセスを防止するための構造を有する。
【００３９】
図３は、図１ＡのマルチＣＰＵの複数の電力領域を示すブロック図である。
図１と図３とを参照すると、第１ＣＰＵ１１０は、電力領域１１１、１１３、及び１１５を含む。複数の第１制御信号ＣＴＲ１−１〜ＣＴＲ１−３（集合的に、‘ＣＴＲ１’）のそれぞれは、電力領域１１１、１１３、及び１１５のそれぞれに供給される。
第１制御信号ＣＴＲ１−１、ＣＴＲ１−２、及びＣＴＲ１−３のそれぞれによって、電力領域１１１、１１３、及び１１５のそれぞれに供給される電力及び／または電力領域１１１、１１３、及び１１５のそれぞれのリセットが独立して制御される。また、第１インターフェースブロック１１７が、別途の電力領域と定義される時、別途の制御信号が、第１インターフェースブロック１１７に供給されることもある。前記別途の制御信号は、第１制御信号ＣＴＲ１に含まれうる。
【００４０】
第２ＣＰＵ１２０は、電力領域１２１、１２３、１２５、１３１、１３３、１４１、及び１４３を含む。複数の第２制御信号ＣＴＲ２−１〜ＣＴＲ２−５（集合的に、‘ＣＴＲ２’）のそれぞれは、電力領域１２１、１２５、１２３、１３１、及び１４１のそれぞれに供給される。
第２制御信号ＣＴＲ２−１〜ＣＴＲ２−５のそれぞれによって、電力領域１２１、１２５、１２３、１３１、１３３、及び１４１のそれぞれに供給される電力及び／または電力領域１２１、１２５、１２３、１３１、１３３、及び１４１のそれぞれのリセットが独立して制御される。また、第２インターフェースブロック１２７が、別途の電力領域と定義される時、別途の制御信号は、第２インターフェースブロック１２７に供給されうる。前記別途の制御信号は、第２制御信号ＣＴＲ２に含まれうる。
各共有Ｌ２キャッシュ１３３、１４３は、各制御信号ＣＴＲ３−１、ＣＴＲ３−２によって独立して制御される。各制御信号ＣＴＲ３−１、ＣＴＲ３−２は、各制御信号ＣＴＲ１またはＣＴＲ２に含まれることもある。
【００４１】
図４の（Ａ）と（Ｂ）は、図１ＡのマルチＣＰＵのＣＰＵスケーリングの一実施形態を示す。
異なるサイズと異なる能力とを有する複数のＣＰＵを含むマルチＣＰＵデータ処理システムで、ピーク能（ｐｅａｋ  ｐｅｆｏｒｍａｎｃｅ）は、複数のＣＰＵの間のスケーリング使用（ｓｃａｌｉｎｇ  ｕｓａｇｅ）によって達成されうる。例えば、低いワークロード（ｌｏｗ  ｗｏｒｋｌｏａｄ）で、スモールＣＰＵ１１０は、最適化された電力使用のために、最高ＭＩＰＳ／ｍＷ（Ｍｉｌｌｉｏｎｓ  ｏｆ  Ｉｎｓｔｒｕｃｔｉｏｎｓ  Ｐｅｒ  Ｓｅｃｏｎｄ  ｐｅｒ  ｍｉｌｌｉｗａｔｔ）で動作する電力駆動ＣＰＵ（ｐｏｗｅｒ−ｄｒｉｖｅｎ  ＣＰＵ）として使われる。
【００４２】
高い（ｈｉｇｈ）ワークロードで、ビッグＣＰＵ１２０は、たとえ低いＭＩＰＳ／ｍＷを有しても、ピーク能で動作する性能駆動ＣＰＵ（ｐｅｒｆｏｒｍａｎｃｅ−ｄｒｉｖｅｎ  ＣＰＵ）として使われる。ここで、ＣＰＵスケーリング（ＣＰＵ  ｓｃａｌｉｎｇ）は、同じ動作電圧でスモールＣＰＵ１１０からビッグＣＰＵ１２０にスイッチングする動作またはビッグＣＰＵ１２０からスモールＣＰＵ１１０にスイッチングする動作を意味する。
すなわち、ＣＰＵスケーリングは、動作電圧を変化させなくても、消費電力に対するワークロード遂行能力（例えば、ＭＩＰＳ／ｍＷ）を変化させるか、または１つのＣＰＵ命令を実行するために必要なエネルギ量を変化させることができる。
【００４３】
図４の（Ａ）を参照すると、スモールＣＰＵ１１０が動作中である時、スモールＣＰＵ１１０の各電力領域１１１、１１３、及び１１５（必要に応じては、１１７を含む）は、パワーオン状態（ＰＯＷＥＲ  ＯＮ）であり、ビッグＣＰＵ１２０の各電力領域１２１〜１２５、１３１、及び１４１（必要に応じては、１２７を含む）は、パワーオフ状態（ＰＯＷＥＲＯＦＦ）である。
【００４４】
共有Ｌ２キャッシュで動作する各電力領域１３３、１４３は、パワーオン状態である。第１Ｌ２キャッシュコントローラ１１５は、各選択器１６０、１６１を通じて少なくとも１つの共有領域１３３、１４３をアクセスすることができる。スモールＣＰＵ１１０のワークロード（ｗｏｒｋｌｏａｄ）が増加すれば、ビッグＣＰＵ１２０へのスケーリングが必要である。スモールＣＰＵ１１０からビッグＣＰＵ１２０にＣＰＵスケーリングまたはＣＰＵスイッチングを行うために、第１ＣＰＵ１１０の第１コア１１１は、第１指示信号ＩＮＤ１を第１通信チャネルＣＨ１とシステムバス１０１とを通じてＰＭＵ１５０に伝送する。
【００４５】
ＰＭＵ１５０は、第１指示信号ＩＮＤ１に応答して、複数の第１制御信号ＣＴＲ１、複数の第２制御信号ＣＴＲ２、及び選択信号ＳＥＬを出力する。したがって、スモールＣＰＵ１１０の電力領域１１１、１１３、及び１１５のそれぞれは、複数の第１制御信号ＣＴＲ１のそれぞれに応答して、現在作業（ｊｏｂ）を中断する。
同時に、ビッグＣＰＵ１１０の電力領域１２１、１２３、１２５、１３１、及び１４１のそれぞれは、複数の第２制御信号ＣＴＲ２−１〜ＣＴＲ２−５のそれぞれに応答してターンオンされ、前記作業に対する動作を開始または受け継ぐことができる。
【００４６】
スモールＣＰＵ１１０によって使われた少なくとも１つの共有領域１３３、１４３は、ビッグＣＰＵ１２０のＬ２キャッシュ１３０または１４０のサブセット（ｓｕｂｓｅｔ）として使われる。スモールＣＰＵ１１０からビッグＣＰＵ１２０へのスケーリング過程は、スヌーピング動作（ｓｎｏｏｐｉｎｇ  ｏｐｅｒａｔｉｏｎ）を要しない。また、ビッグＣＰＵ１２０は、少なくとも１つのＬ２キャッシュ１３０、１４０に対するコールドスタートを行わなくても良い。少なくとも１つのＬ２キャッシュ１３０または１４０の少なくとも１つの専用領域１３１、１４１は、電力領域１２１、１２３、及び１２５と共に準備（ＲＥＡＤＹ）状態になりうる。
【００４７】
スモールＣＰＵ１１０からビッグＣＰＵ１２０へのＣＰＵスケーリングの間に、少なくとも１つの共有領域１３３、１４３に供給される電力は、そのままオン（ＯＮ）状態を保持する。また、スモールＣＰＵ１１０からビッグＣＰＵ１２０へのＣＰＵスケーリングの間に、各選択器１６０、１６１は、スイッチされるので、第２Ｌ２キャッシュコントローラ１２５は、各選択器１６０、１６１を通じて少なくとも１つの共有領域１３３、１４３をアクセスすることができる。
したがって、ビッグＣＰＵ１２０を含む構造は、ＣＰＵスケーリングまたはＣＰＵスイッチング直後に最適の性能を発揮することができる。
【００４８】
図４の（Ｂ）に示したように、スモールＣＰＵ１１０からビッグＣＰＵ１２０へのＣＰＵスケーリング直後、スモールＣＰＵ１１０の各電力領域１１１、１１３、及び１１５は、パワーオフ状態になり、ビッグＣＰＵ１２０の各電力領域１２１〜１２５、１３１、及び１４１は、パワーオン状態になる。
マルチＣＰＵシステム１００が、スヌーピング動作を支援しない時、スモールＣＰＵ１１０は、少なくとも１つの共有領域１３３、１４３に保存され、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）を含まないデータをチャネルＣＨ１、バス１０１、及びメモリコントローラ１０５を通じてメモリ１０７に伝送またはフラッシングする。次いで、ビッグＣＰＵ１２０は、メモリ１０７に保存されたデータをメモリコントローラ１０５、バス１０１、及びチャネルＣＨ２を通じてリードする。ビッグＣＰＵ１２０は、リードされたデータにＥＣＣを付け加え、ＥＣＣ付加されたデータを少なくとも１つの共有領域１３３、１４３に保存することができる。
【００４９】
図５は、図４の本発明の実施形態によるＣＰＵスケーリングプロセス（ｓｃａｌｉｎｇｐｒｏｃｅｓｓ）のフローチャートである。図１Ａから図５を参照すると、スモールＣＰＵ１１０からビッグＣＰＵ１２０へのＣＰＵスケーリングは、スモールＣＰＵ１１０が第１指示信号、またはスケーリング信号ＩＮＤ１をイシュイング（ｉｓｓｕｉｎｇ）することによって始まる（ステップＳ１１０）。ＰＭＵ１５０は、スモールＣＰＵ１１０の対応電力領域の電力をターンオフ（ｔｕｒｎ−ｏｆｆ）し、ビッグＣＰＵ１２０の対応電力領域の電力をターンオン（ｔｕｒｎ−ｏｎ）し、各共有Ｌ２キャッシュ１３３、１４３の電力領域の電力を保持する（ステップＳ１２０）。
【００５０】
スモールＣＰＵ１１０の動作は停止し、ビッグＣＰＵ１２０の動作はスヌーピング動作なしに始まる（ステップＳ１３０）。実施形態によって、スモールＣＰＵ１１０が、少なくとも１つの共有領域１３３、１４３に保存されたデータをメモリ１０７に伝送する時、ビッグＣＰＵ１２０は、必要であれば、メモリ１０７に保存されたデータを読み出す。
図６の（Ａ）、（Ｂ）、（Ｃ）、及び（Ｄ）は、図１ＡのマルチＣＰＵのＣＰＵスケーリングの他の実施形態を説明する概念図である。図６の（Ａ）から（Ｄ）は、ビッグＣＰＵ１２０からスモールＣＰＵ１１０へのＣＰＵスケーリング過程を示す。
【００５１】
図１Ａから図３、及び図６の（Ａ）から（Ｄ）を参照すると、図６の（Ａ）に示したように、ビッグＣＰＵ１２０が動作する時、スモールＣＰＵ１１０の各電力領域１１１、１１３、及び１１５は、パワーオフ状態であり、ビッグＣＰＵ１２０の各電力領域１２１、１２３、１２５、１３１、１３３、１４１、及び１４３は、パワーオン状態である。この際、第２Ｌ２キャッシュコントローラ１２５は、少なくとも１つの共有領域１３３、１４３をアクセスすることができる。
【００５２】
ビッグＣＰＵ１２０からスモールＣＰＵ１１０にＣＰＵスケーリングのために、ビッグＣＰＵ１２０の第１コア１２１は、第２指示信号ＩＮＤ２を第２通信チャネルＣＨ２とシステムバス１０１とを通じてＰＭＵ１５０に出力する。ＰＭＵ１５０は、第２指示信号ＩＮＤ２に応答して、複数の第１制御信号ＣＴＲ１、複数の第２制御信号ＣＴＲ２、及び選択信号ＳＥＬを出力する。
選択信号ＳＥＬに応答して、各選択器１６０、１６１は、少なくとも１つの共有領域１３３、１４３と第２Ｌ１キャッシュコントローラ１１５との間の通信チャネルを形成する。
【００５３】
図６の（Ｂ）に示したように、スモールＣＰＵ１１０の各電力領域１１１、１１３、及び１１５は、複数の第１制御信号ＣＴＲ１のそれぞれに応答して、パワーオン状態になり、ビッグＣＰＵ１２０の各電力領域１２１〜１２５、１３０、及び１４０は、複数の第２制御信号ＣＴＲ２に応答して、パワーオン状態を保持する。各共有Ｌ２キャッシュ１３３、１４３の各電力領域は、第２制御信号ＣＴＲＬ３に応答して、パワーオン状態を保持する。
【００５４】
ビッグＣＰＵ１２０の少なくとも１つの電力領域１２１〜１２５のデータは、少なくとも１つのＬ２キャッシュ１３０、１４０にアップデートされ、ビッグＣＰＵ１２０は、第２通信チャネルＣＨ２を通じてスヌーピング動作を行いながら、少なくとも１つの専用領域１３３、１４３に対するフラッシング動作（ｆｌｕｓｈｉｎｇ  ｏｐｅｒａｔｉｏｎ）を行う。このフラッシング動作によるデータは、チャネルＣＨ２、バス１０１、及びメモリコントローラ１０５を通じてメモリ１０７に伝送することができる。
【００５５】
図６の（Ｃ）に示したように、フラッシング動作が行われる間に、ビッグＣＰＵ１２０の各電力領域１２１、１２３は、複数の第２制御信号ＣＴＲ２のうち対応する制御信号のそれぞれに応答して、パワーオフ状態になる。
フラッシング動作が完了すれば、図６の（Ｄ）に示したように、ビッグＣＰＵ１２０の各電力領域１２５、１３１、及び１４１は、複数の第２制御信号ＣＴＲ２のうち対応する制御信号のそれぞれに応答して、パワーオフ状態になる。したがって、ＣＰＵスケーリングが完了すれば、スモールＣＰＵ１１０の第１Ｌ２キャッシュコントローラ１１５は、各選択器１６０、１６１を通じて少なくとも１つの共有領域１３３、１４３をアクセスすることができる。
【００５６】
図６の（Ａ）から（Ｄ）に示したように、ＣＰＵスケーリングの間に、少なくとも１つの共有領域１３３、１４３に供給される各電力は、制御信号ＣＴＲ３に応答して、そのまま保持される。また、ＣＰＵスケーリングの間に、少なくとも１つの共有領域１３３、１４３は、第２通信チャネルＣＨ２を通じてスヌーピング動作を行わない。すなわち、少なくとも１つの共有領域１３３、１４３が、各ＣＰＵ１１０、１２０によって物理的に共有されるので、スヌーピング動作が行われる全体領域は、減少する利点がある。
【００５７】
図７は、本発明の実施形態による他のＣＰＵスケーリングプロセスのフローチャートである。図６の（Ａ）から図７を参照すると、ビッグＣＰＵ１２０は、第２指示信号ＩＮＤ２をイシュイングしてＣＰＵスケーリング動作を始める（ステップＳ２１０）。ＰＭＵ１５０は、スモールＣＰＵ１１０の各電力領域をターンオンする（ステップＳ２２０）。ビッグＣＰＵ１２０は、少なくとも１つの専用領域１３１、１４１に対するスヌーピング動作を行い、各ＣＰＵコア１２１、１２３の電力は、ターンオフされる（ステップＳ２３０）。スヌーピング動作が完了すれば、ビッグＣＰＵ１２０の残りの電力領域１３１、１４１、１２５、及び１２７の電力は、ターンオフされ（ステップＳ２４０）、動作対象ＣＰＵは、ビッグＣＰＵ１２０からスモールＣＰＵ１１０に変更される（ステップＳ２５０）。
【００５８】
図８の（Ａ）と（Ｂ）は、本発明の他の実施形態によるマルチＣＰＵシステムの概略的なブロック図である。図８の（Ａ）と（Ｂ）とを参照すると、マルチＣＰＵシステムは、第１ＣＰＵ１１０−１と第２ＣＰＵ１２０−１とを含む。図８の（Ａ）は、前記マルチＣＰＵシステムの正面図を示し、図８の（Ｂ）は、前記マルチＣＰＵシステムの平面図を示す。
【００５９】
図８の（Ａ）と（Ｂ）とに示したように、第１ＣＰＵ１１０−１は、第２ＣＰＵ１２０−１上に積層（ｓｔａｃｋ）される。第１ＣＰＵ１１０−１と第２ＣＰＵ１２０−１は、互いに異なるチップ（ｃｈｉｐ）またはダイとして具現可能である。少なくとも１つの共有Ｌ２キャッシュ領域１３３、１４３は、第２ＣＰＵ１２０−１に具現可能である。少なくとも１つの共有Ｌ２キャッシュ領域１３３、１４３は、垂直的電気的ビア（ｖｅｒｔｉｃａｌｅｌｅｃｔｒｉｃａｌ  ｖｉａｓ）、例えば、ＴＳＶ（Ｔｈｒｏｕｇｈ  Ｓｉｌｉｃｏｎ  Ｖｉａｓ）を通じて第１ＣＰＵ１１０−１によってアクセスされうる。
【００６０】
スモールＣＰＵ１１０の構成要素を含むチップ１１０−１は、自分のＬ２キャッシュを含まない。その代りに、ビッグＣＰＵ１２０の全体Ｌ２キャッシュ１３０、１４０は、チップ１２０−１内に位置し、チップ１２０−１内に物理的に位置するＬ２キャッシュの共有部分１３３、１４３は、スモールＣＰＵ１１０とビッグＣＰＵ１２０とによって使われる。
第１ＣＰＵ１１０−１の構造は、図１Ａの第１ＣＰＵ１１０の構造を含み、第２ＣＰＵ１２０−１の構造は、図１Ａの第２ＣＰＵ１２０の構造を含む。ここで、図１ＡのＰＭＵ１５０に対応するＰＭＵは、第２ＣＰＵ１２０−１に具現可能である。このような実施形態で、ＣＴＲ１のように、ＭＰＵに関連した複数の制御信号は、複数のＴＳＶのうちの少なくとも１つを通じて伝送することができる。
【００６１】
図９は、本発明の実施形態によるボードアセンブリ（ｂｏａｒｄ  ａｓｓｅｍｂｌｙ）のブロック図である。図９を参照すると、ボードアセンブリ２００は、第１ＣＰＵ１１０−２、第ＣＰＵ１２０−２、少なくとも１つの共有領域１３３、１４３、ＰＭＵ１５０、バス２１０、及びメモリ２２０を含む。図１Ａ、図８の（Ａ）、（Ｂ）、及び図９を参照すると、少なくとも１つの共有領域１３３、１４３は、第１ＣＰＵ１１０−２と第２ＣＰＵ１２０−２とは別途に具現可能である。少なくとも１つの共有領域１３３、１４３を除けば、図１Ａの第１ＣＰＵ１１０の構造と動作は、図９の第１ＣＰＵ１１０−２の構造と動作と実質的に同一であり、図１Ａの第２ＣＰＵ１２０の構造と動作は、図９の第２ＣＰＵ１２０−２の構造と動作と実質的に同一である。
【００６２】
第１Ｌ２キャッシュコントローラ１１５または第１インターフェースブロック１１７は、第１通信チャネルＣＨ１を通じてバス２１０と通信することができる。第２Ｌ２キャッシュコントローラ１２５または第２インターフェースブロック１２７は、第２通信チャネルＣＨ２を通じてバス２１０と通信することができる。各第１通信チャネルＣＨ１、ＣＨ２は、電気的通信チャネルまたは光学的通信チャネルとして具現可能である。各Ｌ２キャッシュコントローラ１１５、１２５は、少なくとも１つの共有領域１３３、１４３を選択的にアクセスすることができる。
【００６３】
図１０は、本発明の実施形態によるコンピュータプラットフォーム（ｃｏｍｐｕｔｅｒｐｌａｔｆｏｒｍ）を示す。図１０を参照すると、コンピュータプラットフォーム３００は、コンピューティングシステムのような電子装置に使われる。これらの電子装置は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、デジタルＴＶ、または携帯用装置（ｐｏｒｔａｂｌｅ  ｄｅｖｉｃｅ）として具現可能である。ここで、携帯用装置は、ラップトップコンピュータ（ｌａｐｔｏｐ  ｃｏｍｐｕｔｅｒ）、携帯電話、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、タブレット（ｔａｂｌｅｔ）ＰＣ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＥＤＡ（Ｅｎｔｅｒｐｒｉｓｅ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、デジタルスチルカメラ（Ｄｉｇｉｔａｌ  Ｓｔｉｌｌ  Ｃａｍｅｒａ）、デジタルビデオカメラ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｃａｍｅｒａ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、ＰＤＮ（Ｐｅｒｓｏｎａｌ  ＮａｖｉｇａｔｉｏｎＤｅｖｉｃｅまたはＰｏｒｔａｂｌｅ  Ｎａｖｉｇａｔｉｏｎ  Ｄｅｖｉｃｅ）、携帯用ゲームコンソール（ｈａｎｄｈｅｌｄ  ｇａｍｅ  ｃｏｎｓｏｌｅ）、または電子ブック（ｅ−ｂｏｏｋ）などとして具現可能である。
【００６４】
コンピュータプラットフォーム３００は、マルチＣＰＵシステム１００、インターフェースブロック３２０、及びメモリ３３０を含む。実施形態によって、コンピュータプラットフォーム３００は、無線インターフェースブロック３４０とディスプレイ３５０とのうち少なくとも１つをさらに含みうる。
マルチＣＰＵシステム１００は、インターフェースブロック３２０を通じてメモリ３３０、無線インターフェースブロック３４０、またはディスプレイ３５０と通信することができる。インターフェースブロック３２０は、多様なインターフェース制御機能を行う１つまたはそれ以上の回路ブロックを含む。前記制御機能は、メモリアクセス制御、グラフィック制御、入出力インターフェース制御、または無線ネットワークアクセス制御などを含む。
【００６５】
これらの回路ブロックのそれぞれは、別途の独立したチップとして具現されるか、マルチＣＰＵシステム１００の一部として具現されるか、またはマルチＣＰＵシステム１００の内部に具現可能である。
メモリ３３０は、インターフェースブロック３２０を通じてマルチＣＰＵシステム１００とデータを送受信することができる。無線インターフェースブロック３４０は、アンテナを通じてコンピュータプラットフォーム３００を無線ネットワーク、例えば、移動通信ネットワークまたは無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）に接続させることができる。
【００６６】
図１１は、本発明の実施形態によるマルチＣＰＵシステムを含むコンピューティングシステムの一実施形態を示す。図１１を参照すると、コンピューティングシステム４００は、ＰＣ、データサーバ、ラップトップコンピュータ、または携帯用装置として具現可能である。
コンピューティングシステム４００は、マルチＣＰＵシステム１００、パワーソース４２０、メモリ４３０、複数の入出力ポート４４０、拡張カード４５０、ネットワーク装置４６０、及びディスプレイ４７０を含みうる。実施形態によって、コンピューティングシステム４００は、カメラモジュール４８０をさらに含みうる。
【００６７】
マルチＣＰＵシステム１００は、要素４２０〜４８０のうち少なくとも１つの動作を制御することができる。パワーソース４２０は、要素１０３、及び４３０〜４８０のうち少なくとも１つに動作電圧を供給することができる。メモリ４３０は、揮発性メモリまたは不揮発性メモリとして具現可能である。実施形態によって、メモリ４３０に対するデータアクセス動作、例えば、リード動作、ライト動作（または、プログラム動作）、またはイレーズ動作を制御することができるメモリコントローラは、マルチＣＰＵシステム１００に集積（または、内蔵）されうる。
【００６８】
他の実施形態によって、メモリコントローラは、マルチＣＰＵシステム１００とメモリ４３０との間に別途に具現可能である。複数の入出力ポート４４０は、コンピューティングシステム４００にデータを伝送するか、またはコンピューティングシステム４００から出力されたデータを外部装置に伝送しうる複数のポートを意味する。例えば、入出力ポート４４０は、コンピュータマウスのようなポインティング装置（ｐｏｉｎｔｉｎｇ  ｄｅｖｉｃｅ）を接続するためのポート、プリンタを接続するためのポート、またはＵＳＢドライブを接続するためのポートのうち少なくとも１つを含みうる。拡張カード４５０は、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カードまたはＭＭＣ（ＭｕｌｔｉＭｅｄｉａＣａｒｄ）として具現可能である。実施形態によって、拡張カード４５０は、ＳＩＭ（Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  Ｍｏｄｕｌｅ）カードまたはＵＳＩＭ（Ｕｎｉｖｅｒｓａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）カードであり得る。
【００６９】
ネットワーク装置４６０は、コンピューティングシステム４００を有線ネットワークまたは無線ネットワークに接続させる装置を意味する。ディスプレイ４７０は、メモリ４３０、入出力ポート４４０、拡張カード４５０、またはネットワーク装置４６０から出力されたデータをディスプレイすることができる。カメラモジュール４８０は、光学イメージを電気的なイメージに変換することができるモジュールを意味する。したがって、カメラモジュール４８０から出力された電気的なイメージは、メモリ４３０、または拡張カード４５０に保存することができる。また、カメラモジュール４８０から出力された電気的なイメージは、マルチＣＰＵシステム１００の制御によってディスプレイ４７０を通じてディスプレイされうる。
【００７０】
図１０と図１１とには、マルチＣＰＵシステム１００が、各コンピューティングシステム３００または４００の要素として示されているが、実施形態によって、マルチＣＰＵシステム１００は、マルチＣＰＵ１０３またはボードアセンブリ２００に代替されうる。この場合、各コンピューティングシステム３００または４００の構造は、マルチＣＰＵ１０３またはボードアセンブリ２００に適するように変更されうる。
【００７１】
図１２は、本発明の実施形態によるマルチＣＰＵシステムを製造する方法を説明するフローチャートである。図１Ａと図１２とを参照すると、半導体基板が準備される（ステップＳ３１０）。この半導体基板上に少なくとも１つの第１ＣＰＵコア１１１、１１３に接続された第１Ｌ２キャッシュコントローラ１１５を含む第１ＣＰＵ１１０と、少なくとも１つの第２ＣＰＵコア１２１、１２３に接続された第２Ｌ２キャッシュコントローラ１２５を含む第２ＣＰＵ１２０とが形成される（ステップＳ３２０）。
【００７２】
第１ＣＰＵ１１０と第２ＣＰＵ１２０とのオーバーラップ領域１３３、１４３に、第１Ｌ２キャッシュコントローラ１１５と第２Ｌ２キャッシュコントローラ１２５とによって選択的にアクセス可能な共有Ｌ２キャッシュが形成される。
この半導体基板上に、システムバス１０１、システムバス１０１と第１キャッシュコントローラ１１５との間に第１通信チャネルＣＨ１、及びシステムバス１０１と第２キャッシュコントローラ１２５との間に第２通信チャネルＣＨ２が形成される。実施形態によって、Ｓ３１０段階とＳ３２０段階は、同時に具現されることもあり、互いに異なる時間に具現されることもある。
【００７３】
図８の（Ａ）と（Ｂ）とに示したように、第１ＣＰＵ１１０−１と第２ＣＰＵ１２０−１が、互いに異なるチップまたはダイに形成された後、第１ＣＰＵ１１０−１と第２ＣＰＵ１２０−１が、少なくとも１つの共有領域１３３、１４３を共有できるように、垂直的電気的ビア（ＴＳＶ）を通じて互いに接続されうる。
【産業上の利用可能性】
【００７４】
本発明は、マルチＣＰＵプロセッサまたはそれを含むマルチＣＰＵデータ処理システムに使用可能である。
【符号の説明】
【００７５】
１００：マルチＣＰＵシステム
１０１：システムバス
１０３：マルチＣＰＵ
１１０：第１ＣＰＵ
１１１、１１３：ＣＰＵコア
１１５：Ｌ２キャッシュコントローラ
１１７：第１インターフェースブロック
１２０：第２ＣＰＵ
１２１、１２３：ＣＰＵコア
１２５：Ｌ２キャッシュコントローラ
１３０、１４０：Ｌ２キャッシュ
１３１、１４１：Ｌ２キャッシュの専用領域
１３３、１４３：Ｌ２キャッシュの共有領域
１２７：第２インターフェースブロック
２１０：バス
２２０：メモリ
【図１Ａ】
0005905408.tif 000002
【図１Ｂ】
0005905408.tif 000003
【図２】
0005905408.tif 000004
【図３】
0005905408.tif 000005
【図４】
0005905408.tif 000006
【図５】
0005905408.tif 000007
【図６】
0005905408.tif 000008
【図７】
0005905408.tif 000009
【図８】
0005905408.tif 000010
【図９】
0005905408.tif 000011
【図１０】
0005905408.tif 000012
【図１１】
0005905408.tif 000013
【図１２】
0005905408.tif 000014