(57)【特許請求の範囲】
【請求項１】
マルチプロセッサ処理システム（ＭＰ処理システム）であって、
前記ＭＰ処理システムにおいて使用するための第１の供給電圧を受信し、第２の供給電圧を生成する電圧レギュレータ及びバイパス回路であって、前記第２の供給電圧は前記第１の供給電圧より低い電圧値を有し、前記第１の供給電圧は電力管理制御回路によって生成される、電圧レギュレータ及びバイパス回路と、
第１の予め定められた周波数を有する第１のクロック信号及び前記第１の供給電圧を受け、それらに従って動作する第１のプロセッサと、
前記第１のクロック信号、又は、前記第１の予め定められた周波数とは異なる第２の予め定められた周波数を有する第２のクロック信号の何れかを受信し、それに従って動作し、前記第１の供給電圧又は前記第２の供給電圧を受け、それに従って動作する第２のプロセッサと、
前記電圧レギュレータ及びバイパス回路に連結され、前記第１の供給電圧又は前記第２の供給電圧を前記第２のプロセッサに選択的に入力するためのバイパス信号を生成するコントローラであって、前記電圧レギュレータ及びバイパス回路内の電圧レギュレータは、前記バイパス信号に応じて、前記第１の供給電圧を前記第２のプロセッサに出力するためにバイパスされる、コントローラと
を備え、
前記第１のプロセッサは、更に、第１モードの動作中においても、第２モードの動作中においても、前記第１のクロック信号及び前記第１の供給電圧を受け、それらに従って動作する、
ＭＰ処理システム。
【請求項２】
前記第１モードの動作中においても、前記第２モードの動作中においても、前記第１のクロック信号及び前記第１の供給電圧を受け、それらに従って動作する第３のプロセッサ
を更に備える請求項１に記載のＭＰ処理システム。
【請求項３】
前記第１モードの動作にある場合、前記第１のプロセッサ及び前記第３のプロセッサは、前記第１のクロック信号及び前記第１の供給電圧を受け、それらに従って動作し、
前記第２モードの動作にある場合、前記第２のプロセッサは、前記第２のクロック信号及び前記第２の供給電圧を受け、それらに従って動作する、
請求項２に記載のＭＰ処理システム。
【請求項４】
前記コントローラに連結され、前記第１のクロック信号及び前記第２のクロック信号を生成及び出力するクロック生成回路であって、前記第１のクロック信号は前記第１のプロセッサに入力される、クロック生成回路と、
前記クロック生成回路と前記第２のプロセッサとの間に配置され、前記第１のクロック信号及び前記第２のクロック信号を受信し、前記第１のクロック信号又は前記第２のクロック信号を前記第２のプロセッサに出力する切り替え回路であって、第１モードの動作中、前記第１のクロック信号が前記第２のプロセッサに出力され、第２モードの動作中、前記第２のクロック信号が前記第２のプロセッサに出力される、切り替え回路と
を更に備え、
前記第１モードの動作及び前記第２モードの動作中、前記第１のクロック信号は前記第１のプロセッサに出力される、
請求項１から３のいずれか一項に記載のＭＰ処理システム。
【請求項５】
前記第１モードの動作から前記第２モードの動作に切り替える場合に、前記コントローラは、（ｉ）前記クロック生成回路によって生成される前記第２のクロック信号がウォームアップすることを可能にする予め定められた期間待機し、（ｉｉ）前記第２のクロック信号がウォームアップした後、前記切り替え回路に前記第２のクロック信号を前記第２のプロセッサへ出力させるための信号をアサートし、（ｉｉｉ）当該信号をアサートした後、前記第２のプロセッサを前記第２モードで動作させる前に、前記電圧レギュレータの出力が低下し安定することを可能にする予め定められた期間待機する
請求項４に記載のＭＰ処理システム。
【請求項６】
前記第１のプロセッサ及び前記第２のプロセッサに連結されたキャッシュメモリと、
前記コントローラに応答し、前記第２のプロセッサと前記キャッシュメモリとに連結され、更に、第２モードの動作中、前記第２のプロセッサと前記キャッシュメモリとの間にクロックドメインクロッシング機能を提供し、第１モードの動作中、バイパス機能を提供する、クロックドメインクロッシング（ＣＤＣ）及びバイパス回路と
を更に備える請求項１から５のいずれか一項に記載のＭＰ処理システム。
【請求項７】
前記コントローラは更に、モード選択信号に応答して、前記第２のプロセッサの動作を前記第１モードの動作と前記第２モードの動作との間で動的に切り替える、請求項１から６のいずれか一項に記載のＭＰ処理システム。
【請求項８】
前記モード選択信号は、少なくとも一部は、複数のプロセッサ内の一プロセッサのアクティブ化又は非アクティブ化に基づいて生成される、請求項７に記載のＭＰ処理システム。
【請求項９】
前記モード選択信号は、負荷情報、使用情報、キャッシュミス率、メモリ帯域幅情報、又は消費電力情報のうちの少なくとも１つに応答して生成される、請求項７に記載のＭＰ処理システム。
【請求項１０】
前記コントローラは更に、モード選択信号に応答して前記電圧レギュレータ及びバイパス回路の少なくとも１つの動作特性を予め設定する、請求項１から７の何れか一項に記載のＭＰ処理システム。
【請求項１１】
前記少なくとも１つの動作特性は、バイアス電流であり、前記電圧レギュレータ及びバイパス回路は、
前記コントローラに連結され、前記電圧レギュレータ及びバイパス回路のバイアス電流を生成及び制御するバイアス電流回路を有する、請求項１０に記載のＭＰ処理システム。
【請求項１２】
前記電圧レギュレータ及びバイパス回路は、
前記電圧レギュレータ及びバイパス回路の出力に連結され、前記コントローラに入力するために、前記電圧レギュレータ及びバイパス回路の出力電流の変化を示す電流感知フィードバック信号を生成する電流センサと、
前記コントローラに連結され、前記電流感知フィードバック信号に応答して前記電圧レギュレータ及びバイパス回路を制御する制御回路と
を有する、請求項１から７の何れか一項に記載のＭＰ処理システム。
【請求項１３】
前記コントローラは、有限ステートマシン（ＦＳＭ）、プロセッサ、マイクロコントローラ、又は論理回路のうちの少なくとも１つを有する、請求項１から１２のいずれか一項に記載のＭＰ処理システム。
【請求項１４】
前記ＭＰ処理システムは、単一の基板上に配置される、請求項１から１３のいずれか一項に記載のＭＰ処理システム。
【請求項１５】
装置であって、
マルチプロセッシング機能を実行する複数のプロセッサであって、第１のプロセッサ及び第２のプロセッサを有する、複数のプロセッサと、
前記第２のプロセッサの動作を第１モード及び第２モードで制御するコントローラと、
前記コントローラに連結され、前記コントローラからの１又は複数の信号に応答して、第１のクロック信号及び第２のクロック信号を生成及び出力するクロック生成回路と、
前記クロック生成回路と前記第２のプロセッサとの間に配置され、前記第１のクロック信号及び前記第２のクロック信号を受信し、前記第２のプロセッサに出力するために一方を選択する切り替え回路であって、前記第１モードの動作中、前記第１のクロック信号が前記第２のプロセッサに出力され、前記第２モードの動作中、前記第２のクロック信号が前記第２のプロセッサに出力される、切り替え回路と、
前記コントローラに連結され、
第１の動作電圧信号を受信し、
前記第１の動作電圧信号から、前記第１の動作電圧信号より低い電圧値を有する第２の動作電圧信号を生成し、
前記第１モードの動作中、前記第２のプロセッサに入力するために前記第１の動作電圧信号を出力し、
前記第２モードの動作中、前記第２のプロセッサに入力するために前記第２の動作電圧信号を出力する
電圧レギュレータ及びバイパス回路と
を備え、
前記第１モードの動作及び前記第２モードの動作中、前記第１のクロック信号は前記第１のプロセッサに入力され、
前記第１の動作電圧信号は、電力管理制御回路によって生成され、前記装置において使用され、
前記電圧レギュレータ及びバイパス回路内の電圧レギュレータは、前記第１の動作電圧信号又は前記第２の動作電圧信号を前記第２のプロセッサに選択的に入力するために前記コントローラによって生成されるバイパス信号に応じて、前記第１の動作電圧信号を前記第２のプロセッサに出力するためにバイパスされる
装置。
【請求項１６】
前記第１モードの動作から前記第２モードの動作に切り替える場合に、前記コントローラは、（ｉ）前記クロック生成回路によって生成される前記第２のクロック信号がウォームアップすることを可能にする予め定められた期間待機し、（ｉｉ）前記第２のクロック信号がウォームアップした後、前記切り替え回路に前記第２のクロック信号を前記第２のプロセッサへ出力させるための信号をアサートし、（ｉｉｉ）当該信号をアサートした後、前記第２のプロセッサを前記第２モードで動作させる前に、前記電圧レギュレータの出力が低下し安定することを可能にする予め定められた期間待機する
請求項１５に記載の装置。
【請求項１７】
マルチプロセッサ処理システム（ＭＰ処理システム）であって、
第１のプロセッサ、及び
第２のプロセッサ
を有する複数のプロセッサと、
少なくとも前記第２のプロセッサに連結され、
アクティブ化／非アクティブ化信号に応答して前記第２のプロセッサをアクティブ化又は非アクティブ化し、
前記第２のプロセッサがアクティブ化され次第、
対称型マルチプロセッシングモード（ＳＭＰモード）又は非対称型マルチプロセッシングモード（ＡＳＭＰモード）の何れかに従って、前記第１のプロセッサ及び前記第２のプロセッサを使用して前記ＭＰ処理システム内の処理を制御し、ここで、
前記ＳＭＰモードは、前記第１のプロセッサ及び前記第２のプロセッサはそれぞれ、第１の予め定められた周波数を有する第１のクロック信号と、第１の予め定められた電圧を有する第１の供給電圧とに従って動作するモードと定義され、
前記ＡＳＭＰモードは、前記第１のプロセッサは、前記第１のクロック信号及び前記第１の供給電圧に従って動作し、前記第２のプロセッサは、前記第１の予め定められた周波数とは異なる第２の予め定められた周波数を有する第２のクロック信号に従って、及び、前記第１の予め定められた動作電圧より低い第２の予め定められた動作電圧を有する第２の供給電圧に従って動作するモードと定義され、
前記第１の供給電圧は、電力管理制御回路によって生成され、前記ＭＰ処理システムにおいて使用され、
モード選択信号を受信し、
前記第１のプロセッサ及び前記第２のプロセッサの動作を、前記モード選択信号に応じて、前記ＳＭＰモードから前記ＡＳＭＰモードへ、又は、前記ＡＳＭＰモードから前記ＳＭＰモードへの何れかに切り替える
コントローラと、
前記第１の供給電圧を受信し、前記第２の供給電圧を生成する電圧レギュレータ及びバイパス回路であって、前記電圧レギュレータ及びバイパス回路内の電圧レギュレータは、前記第１の供給電圧又は前記第２の供給電圧を前記第２のプロセッサに選択的に入力するために前記コントローラによって生成されるバイパス信号に応じて、前記第１の供給電圧を前記第２のプロセッサに出力するためにバイパスされる、電圧レギュレータ及びバイパス回路と
を備えるＭＰ処理システム。
【請求項１８】
前記コントローラに連結され、前記第１のクロック信号及び前記第２のクロック信号を生成及び出力するクロック生成回路
をさらに備え、
前記ＳＭＰモードから前記ＡＳＭＰモードに切り替える場合に、前記コントローラは、（ｉ）前記クロック生成回路によって生成される前記第２のクロック信号がウォームアップすることを可能にする予め定められた期間待機し、（ｉｉ）前記第２のクロック信号がウォームアップした後、前記切り替え回路に前記第２のクロック信号を前記第２のプロセッサへ出力させるための信号をアサートし、（ｉｉｉ）当該信号をアサートした後、前記第２のプロセッサを前記ＡＳＭＰモードで動作させる前に、前記電圧レギュレータの出力が低下し安定することを可能にする予め定められた期間待機する
請求項１７に記載のＭＰ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本願は、２０１５年５月５日出願の「Ｆａｓｔ  ＳＭＰ／ＡＳＭＰ  Ｍｏｄｅ−Ｓｗｉｔｃｈｉｎｇ  Ｈａｒｄｗａｒｅ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  ａ  Ｌｏｗ−Ｃｏｓｔ  Ｌｏｗ−Ｐｏｗｅｒ  Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｍｕｌｔｉｐｌｅ  Ｐｒｏｃｅｓｓｏｒ  Ｓｙｓｔｅｍ」と題する米国非仮特許出願第１４／７０４，２４０号に対する優先権を主張する。当該米国非仮特許出願第１４／７０４，２４０号は、２０１４年１２月２２日出願の「Ａ  Ｎｏｖｅｌ  Ｌｏｗ  Ｃｏｓｔ，  Ｌｏｗ  Ｐｏｗｅｒ  Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  ＳＭＰ／ＡＳＭＰ  Ｍｕｌｔｉｐｌｅ−Ｐｒｏｃｅｓｓｏｒ  Ｓｙｓｔｅｍ」と題する先の米国特許出願第１４／５８０，０４４号の一部継続出願であり、当該米国特許出願第１４／５８０，０４４号は同様に、２０１４年１０月１６日出願の「Ｈａｒｄｗａｒｅ  Ａｐｐａｒａｔｕｓ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｍｕｌｔｉｐｌｅ  Ｐｒｏｃｅｓｓｏｒｓ  Ｄｙｎａｍｉｃ  Ａｓｙｍｍｅｔｒｉｃ  ａｎｄ  Ｓｙｍｍｅｔｒｉｃ  Ｍｏｄｅ  Ｓｗｉｔｃｈｉｎｇ」と題する先の米国特許出願第１４／５１６，３１４号の一部継続出願である。これらの特許出願は全て、その全体が再現されるかのように、参照により本明細書に組み込まれる。
【０００２】
本発明は概して複数のプロセッサアーキテクチャ及びシステムに関し、より具体的には、マルチプロセッサシステムにおいて非対称型マルチプロセッシングモードと対称型マルチプロセッシングモードとの間のモード切り替えのための装置及び方法に関する。
【背景技術】
【０００３】
マルチプロセッシングシステムは、複数のプロセッサ（例えば、中央演算処理装置（ＣＰＵ））を利用して、データを処理し、所望の機能を実行する。理解されるように、用語「プロセッサ」は、用語「ＣＰＵ」又は「コア」と同義に使用され、当業者によって容易に理解される。従来技術では、対称型マルチプロセッシング（ＳＭＰ）及び非対称型マルチプロセッシング（ＡＳＭＰ）という、２つの主なタイプの異なるマルチプロセッシングシステムが存在する。
【０００４】
ＳＭＰシステムは典型的には、全てのシステムリソース、単一の同期Ｌ２キャッシュインターフェース（及び場合により非同期Ｌ２）の共有によって特徴付けられ、プロセッサは、同一のクロック周波数及びクロック電圧で制御される。このことはまた、概して、プロセッサ／コアが（Ｌ２キャッシュ及びメモリなどの）共有メモリシステムに均等にアクセスできることを意味している。ＳＭＰでは、クロック周波数及び電圧は個別に調整可能ではなく、故に、コア／プロセッサごとに変更され得ない。加えて、Ｌ２キャッシュは全てのコアの中で共有され、Ｌ２キャッシュ周波数はコアごとにスケーラブルではない。全てとは言えないにしてもほとんどのアプリケーションにおいて、ＳＭＰにおけるプロセッサの作業負荷は不平衡であり、このことが消費電力をより高くする原因となる。ＳＭＰはまた、全てのプロセッサ／コアを均等に扱う（均等性）と見なされてよい。
【０００５】
これに対して、ＡＳＭＰシステムは典型的には、プロセッサに対して個別に、異なるクロック周波数及び／又はクロック電圧を有することによって特徴付けられ、Ｌ２キャッシュクロック周波数は独立してスケーリングされ得る。従って、プロセッサクロック周波数及びＬ２キャッシュ周波数は、作業負荷に基づいてスケーリングされ得る（例えば、メモリ集中型の作業負荷の場合は、コアと比べてより速いＬ２キャッシュ）。大まかに言えば、ＡＳＭＰシステムはＳＭＰシステムよりも電力面でより効率的であるが、追加の、及びより複雑なハードウェアが、潜在的により高い消費電力の原因となる可能性がある。Ｌ１キャッシュミス率が高い場合、プロセッサはＬ２キャッシュからデータをフェッチする。要求された関連データが、Ｌ２キャッシュの低い方のクロック周波数部分に格納されている場合、プロセッサはデータを待たなくてはならない。このことが、より高いレイテンシ、及びより高い消費電力の原因となる。ＡＳＭＰはまた、全てのプロセッサ／コアを異なる様に、又は不均等に扱う（不均等性）と見なされてよい。 
【０００６】
先の（出願日が２０１４年１２月２２日の）米国特許出願第１４／５８０，０４４号は、ＡＳＭＰを使用する複数のプロセッサを有する処理システム１００の基本アーキテクチャと、同様の従来技術のシステムがＳＭＰに利用されることとを（その図１において）例示し、説明したが、当業者ならば容易に理解するように、それらのプロセッサは、単一のクロック周波数で、かつ単一の供給電圧レベルを使用して動作する。当該出願においては、（１）ＳＭＰ／ＡＳＭＰモード間の高速かつ効率的な動的切り替えのためのハードウェアベースの装置と、（２）１つのコアから２つのコアへ、当該２つのコアがＡＳＭＰモードで動作している（及び、３つ以上のコアが動作する場合は、それらをＳＭＰモードで動作させる）状態で切り替えることに重点を置いた低コストバージョンのＳＭＰ／ＡＳＭＰシステムとを含む、基本システムに対する様々な改善が説明されている。
【０００７】
ソフトウェアによる介在がない状態での、ハードウェアベースの、又はハードウェアで実施される切り替えは、ＳＭＰ／ＡＳＭＰモード間のより高速な遷移を提供し得る。従って、ハードウェアベースの切り替え方法及び装置を利用した高速ＳＭＰ／ＡＳＭＰモード切り替えを提供する低コスト、低電力のマルチプロセッシングシステム又はアーキテクチャが必要である。
【発明の概要】
【０００８】
一実施形態に従って、第１の供給電圧を受け、第２の供給電圧を生成するよう構成された電圧レギュレータ回路であって、当該第２の供給電圧は第１の供給電圧より低い電圧値を有する、電圧レギュレータ回路と、第１の予め定められた周波数及び第１の供給電圧を有する第１のクロック信号を受信し、それらに従って動作するよう構成された第１のプロセッサと、第１のクロック信号、又は、第１の予め定められた周波数とは異なる第２の予め定められた周波数を有する第２のクロック信号の何れかを受信し、それに従って動作し、第１の供給電圧又は第２の供給電圧を受け、それに従って動作するよう構成された第２のプロセッサとを備えるマルチプロセッサ（ＭＰ）処理システムを含むマルチプロセッシングシステムが提供される。当該システムはまた、電圧レギュレータ回路に連結され、第１の供給電圧又は第２の供給電圧を第２のプロセッサに選択的に入力するためのバイパス信号を生成するよう構成されたコントローラを備え、当該第１のプロセッサは更に、第１モードの動作中においても、第２モードの動作中においても、第１のクロック信号及び第１の供給電圧のみを受け、それらに従って動作するよう構成されている。別の実施形態に従って、マルチプロセッシング機能を実行するよう構成された、第１のプロセッサ及び第２のプロセッサを含む複数のプロセッサを有する装置が提供される。コントローラが第１モード及び第２モードで第２のプロセッサの動作を制御するよう構成されており、クロック生成回路が、コントローラに連結され、コントローラからの１又は複数の信号に応答して第１のクロック信号及び第２のクロック信号を生成及び出力するよう構成されており、切り替え回路が、クロック生成回路及び第２のプロセッサとの間に配置され、第１のクロック信号及び第２のクロック信号を受信し、第２のプロセッサに出力するために一方を選択するよう構成されており、ここで、第１モードの動作中、第１のクロック信号は第２のプロセッサに出力され、第２モードの動作中、第２のクロック信号は第２のプロセッサに出力される。当該装置はまた、コントローラに連結され、第１の動作電圧信号を受信し、第１の動作電圧信号から第２の動作電圧信号を生成し、第１モードの動作中、第２のプロセッサに入力するために第１の動作電圧信号を出力し、第２モードの動作中、第２のプロセッサに入力するために第２の動作電圧信号を出力するよう構成された電圧レギュレータ及びバイパス回路を備える。第１モードの動作及び第２モードの動作中、第１のクロック信号は第１のプロセッサに入力される。当該装置は、単一の基板上に配置される。第１のプロセッサ、第２のプロセッサ、並びに電圧レギュレータ及びバイパス回路は、単一の半導体基板上に配置される。当該コントローラは更に、モード選択信号に応答して、第１モードの動作と第２モードの動作との間で第２のプロセッサの動作を動的に切り替えるよう構成されている。モード選択信号は、少なくとも一部は、複数のプロセッサ内の一プロセッサのアクティブ化又は非アクティブ化に基づいて生成される。当該コントローラは更に、モード選択信号に応答して、電圧レギュレータの少なくとも１つの動作特性を予め設定するよう構成されている。当該少なくとも１つの動作特性は、バイアス電流であり、当該電圧レギュレータは、コントローラに連結され、電圧レギュレータのバイアス電流を生成及び制御するよう構成されたバイアス電流回路を有する。当該電圧レギュレータは、電圧レギュレータの出力に連結されコントローラに入力するために、電圧の出力電流の変化を示す電流感知フィードバック信号を生成するよう構成された電流センサと、コントローラに連結され、電流感知信号に応答して電圧レギュレータを制御するよう構成された制御回路とを有する。当該コントローラは、有限ステートマシン（ＦＳＭ）、プロセッサ、マイクロコントローラ、又は論理回路のうちの少なくとも１つを有する。更に別の実施形態に従って、対称型マルチプロセッシング（ＳＭＰ）モードと、非対称型マルチプロセッシング（ＡＳＭＰ）モードとの間で複数のプロセッサを切り替える方法が提供される。当該方法は、第１のプロセッサが動作する間、第１の予め定められた周波数を有する第１のクロック信号と、第１の予め定められた動作電圧を有する第１の供給電圧とに従って第１のプロセッサを動作させる段階と、第１の供給電圧から第２の供給電圧を生成する段階と、モード選択信号を受信する段階と、モード選択信号に応答して、第１モードの動作又は第２モードの動作で第２のプロセッサを動作させる段階とを備える。第１モードの動作では、第２のプロセッサは第１のクロック信号及び第１の供給電圧に従って動作させられ、第２モードの動作では、第２のプロセッサは、第１の予め定められた周波数とは異なる第２の予め定められた周波数を有する第２のクロック信号に従って、及び第２の供給電圧に従って動作させられる。当該方法は更に、第１のクロック信号及び第１の供給電圧を第１のプロセッサに入力する段階と、第１のクロック信号及び第２のクロック信号を切り替え回路に入力し、第１モードの動作中は第１のクロック信号を第２のプロセッサに出力し、第２モードの動作中は第２のクロック信号を第２のプロセッサに出力する段階と、第１モードの動作中は第１の供給電圧を第２のプロセッサに入力し、第２モードの動作中は第２の供給電圧を第２のプロセッサに入力する段階とを備える。当該方法は更に、負荷情報、使用情報、キャッシュミス率、メモリ帯域幅情報、又は消費電力情報のうちの少なくとも１つに応答してモード選択信号を生成する段階を備える。当該方法は更に、第２の供給電圧を生成する段階、第１のプロセッサを動作させる段階、及び第２のプロセッサを動作させる段階は、単一の半導体基板内の回路によって実行されることを含む。当該方法は更に、第１の供給電圧又は第２の供給電圧の何れかを出力するよう構成された電圧レギュレータ回路の少なくとも１つの動作特性を予め設定する段階を備える。当該少なくとも１つの動作特性は、バイアス電流であり、当該電圧レギュレータは、コントローラに連結され、電圧レギュレータのバイアス電流を生成及び制御するよう構成されたバイアス電流回路を有する。当該方法は更に、第１の供給電圧又は第２の供給電圧の何れかを出力するよう構成された電圧レギュレータ回路によって出力された電流を感知する段階と、感知された電流に応答して電圧レギュレータを制御する段階とを備える。
【０００９】
更に別の実施形態では、複数のプロセッサを有するマルチプロセッサシステムにおける処理の方法を提供する。当該方法は、複数のプロセッサ内の第１のアクティブプロセッサのみを使用して、マルチプロセッサシステム内で処理する段階と、マルチプロセッサシステム内での処理のために、第２のプロセッサがアクティブ化されるべきであると判断する段階と、当該判断に応答して、第２のプロセッサをアクティブ化する段階と、対称型マルチプロセッシング（ＳＭＰ）モード又は非対称型マルチプロセッシング（ＡＳＭＰ）モードの何れかに従って、第１のアクティブプロセッサ及び第２のアクティブプロセッサを使用してマルチプロセッサシステム内で処理する段階とを備える。ＳＭＰモードにある場合、第１のアクティブプロセッサ及び第２のアクティブプロセッサはそれぞれ、第１の予め定められた周波数を有する第１のクロック信号と、第１の予め定められた電圧を有する第１の供給電圧とに従って動作し、ＡＳＭＰモードにある場合、第１のアクティブプロセッサは、第１のクロック信号及び第１の供給電圧に従って動作し、第２のプロセッサは、第１の予め定められた周波数とは異なる第２の予め定められた周波数を有する第２のクロック信号に従って、及び、第１の予め定められた動作電圧とは異なる第２の予め定められた動作電圧を有する第２の供給電圧に従って動作する。当該方法は更に、モード選択信号を受信し、モード選択信号に応じて、ＳＭＰモードからＡＳＭＰモードへ、又はＡＳＭＰモードからＳＭＰモードへの何れかに、第１のアクティブプロセッサ及び第２のアクティブプロセッサの動作を切り替える段階を備える。
【００１０】
別の実施形態において、第１のプロセッサ及び第２のプロセッサ、並びに、少なくとも第２のプロセッサに連結されたコントローラを有するマルチプロセッサ（ＭＰ）処理システムが提供される。当該コントローラは、アクティブ化／非アクティブ化信号に応答して第２のプロセッサをアクティブ化又は非アクティブ化し、第２のプロセッサがアクティブ化され次第、対称型マルチプロセッシング（ＳＭＰ）モード又は非対称型マルチプロセッシング（ＡＳＭＰ）モードの何れかに従って、第１のプロセッサ及び第２のプロセッサを使用するマルチプロセッサシステム内での処理を制御するよう構成されている。ＳＭＰモードは、第１のプロセッサ及び第２のプロセッサはそれぞれ、第１の予め定められた周波数を有する第１のクロック信号と、第１の予め定められた電圧を有する第１の供給電圧とに従って動作するモードと定義され、ＡＳＭＰモードは、第１のプロセッサは第１のクロック信号及び第１の供給電圧に従って動作し、第２のプロセッサは、第１の予め定められた周波数とは異なる第２の予め定められた周波数を有する第２のクロック信号に従って、及び第１の予め定められた動作電圧とは異なる第２の予め定められた動作電圧を有する第２の供給電圧に従って動作するモードと定義される。当該コントローラは更に、モード選択信号を受信し、モード選択信号に応じて、ＳＭＰモードからＡＳＭＰモードへ、又はＡＳＭＰモードからＳＭＰモードへの何れかに、第１のプロセッサ及び第２のプロセッサの動作を切り替えるよう構成されている。
【図面の簡単な説明】
【００１１】
本発明とその利点をより完全に理解するために、ここで、添付の図面と併せ、以下の説明を参照する。同様の番号は同様の対象物を指定する。 
【００１２】
【図１】本開示によるマルチプロセッシング（ＭＰ）システムを例示する。
【００１３】
【図２】図１に示されたマルチプロセッシングシステムをより詳細に例示した図である。
【００１４】
【図３Ａ】本開示による、図２に示されたシステムで使用するための、例示的な有限ステートマシン（ＦＳＭ）及びプロセスを例示する。
【図３Ｂ】本開示による、図２に示されたシステムで使用するための、例示的な有限ステートマシン（ＦＳＭ）及びプロセスを例示する。
【００１５】
【図４】図２に示された電圧レギュレータ及び切り替えコントローラの一実装例を例示する図である。
【００１６】
【図５】図２に示された電圧レギュレータ及び切り替えコントローラの別の実装例を例示する図である。
【００１７】
【図６】図２に示された電圧レギュレータ及び切り替えコントローラの別の実施形態を例示する。
【００１８】
【図７】ＳＭＰ／ＡＳＭＰモード切り替えを起動及び制御するためのアーキテクチャ（方法、プロセス、システム）の図である。
【００１９】
【図８】ＳＭＰ／ＡＳＭＰモード選択／切り替えプロセスと統合された、プロセッサの追加／削除のためのプロセスの概略フロー図である。
【発明を実施するための形態】
【００２０】
本開示は、（出願日が２０１４年１２月２２日の）米国特許出願第１４／５８０，０４４号に記載の図及び説明の全てを本明細書において十分に記載されたかのように、参照により組み込む。 
【００２１】
本明細書で説明される図１から図８、及びそれらの中で例示される様々な実施形態、並びに本特許文献における本開示の以下に説明される原理は、例示することのみを目的とし、決して本発明の範囲を限定するものと解釈されるべきではない。当業者であれば、本明細書で説明される原理が、任意のタイプの適切に構成された（１又は複数の）デバイス又は（１又は複数の）システムにおいて実装されてよいことを理解するであろう。
【００２２】
米国特許出願第１４／５８０，０４４号に説明されているように、プロセッサ／コアのグループの動作を完全ＳＭＰシステムから完全ＡＳＭＰシステムへ切り替える場合、このＳＭＰ／ＡＳＭＰ動的切り替え機能の提供に関連する費用及び複雑さ（ハードウェア／ソフトウェア）はかなり大きなものであるだろう。より小さなデバイス（例えば、スーパーコンピューティングのデバイスおよびアプリケーションとは対照的に、モバイルアプリケーションにおけるモバイルデバイス、ハンドヘルドデバイス、スマートフォン等）の場合、研究及び試験から、ほとんどの使用アプリケーションにおいて、マルチプロセッシングタスク／機能は、２つ（又はそれより少ない）プロセッサ／コアを使用して十分に対処され得ることが分かった。これらのアプリケーションのほとんどにおいて、２つのプロセッサ／コアは不平衡負荷で実行され、より高い消費電力をもたらす。
【００２３】
故に、米国特許出願第１４／５８０，０４４号は、ＡＳＭＰ方式−しかしＡＳＭＰ方式では、プロセッサ／コアのうちのただ１つのプロセッサ／コア（又はプロセッサ／コアのサブセット）が、異なるクロック周波数及び／又は異なる動作供給電圧の間での動的切り替えのために構成及び有効にされる−で、かつ、残りのプロセッサ／コアは、同一のクロック周波数及び同一の供給電圧で構成された状態で動作可能な、低コスト、低電力、高性能なマルチプロセッシングシステムを説明している。例えば、マルチプロセッサシステムが２つのプロセッサ／コアを含む場合、第１のプロセッサ／コアは、（動的に可変ではない）第１のクロック周波数、及び（動的に可変ではない）第１の供給電圧で動作し、第２のプロセッサ／コアは、その（第１のプロセッサ／コアと同一の）第１の周波数及び第１の供給電圧、又は異なる周波数及び異なる供給電圧の何れかでの動作の間で切り替え可能である。これは、プロセッサ／コアのうちの少なくとも１つ（又は、サブセット）がこの動的切り替え機能を有する、３つ以上のプロセッサ／コアを有するシステムにおいてもまた適用されてよい。
【００２４】
効率及び切り替えレイテンシを改善すべく、本開示は、２つのモード間での制御及び切り替えを可能にするハードウェアベースの切り替え装置を有するシステムを提供する。ハードウェア内では、オペレーティングシステム（ＯＳ）又は他のソフトウェア／ハードウェアから切り替えコマンドを受信し次第、ＳＭＰとＡＳＭＰとの間で切り替えるべく、複数のプロセッサ及びメモリへのクロック及び電圧を制御するよう、一続き又は一連のアクションが実行される。当該装置／方法は、ソフトウェア／ＯＳの介在を最小化、又は取り除き、より高速なモード切り替え速度を有する。
【００２５】
本明細書で使用されるとき、用語ＳＭＰは概して、同一のクロック（周波数）及び同一の電圧源で、（当該同一のクロック及び電圧源で動作するＬ２キャッシュメモリを有する）共有メモリシステムを利用して動作する複数のプロセッサ／ＣＰＵ／コアを使用した処理を指す。用語ＡＳＭＰは概して、少なくとも２つが、異なるクロック（周波数）及び／又は電圧源で動作する複数のプロセッサ／ＣＰＵ／コアを使用した処理を指す。ＡＳＭＰでは、典型的には、プロセッサはそれぞれ異なるＬ２キャッシュメモリを利用する。しかしながら、ＡＳＭＰはまた、同一のＬ２キャッシュメモリの共有（異種ＡＳＭＰと称される）を含んでよい。別の態様では、用語ＡＳＭＰは、各プロセッサ／ＣＰＵ／コアが、第１のクロック周波数及び第１の供給電圧、又は第２のクロック周波数及び第２の供給電圧の少なくとも何れかを使用して動作するよう構成されている、複数のプロセッサ／ＣＰＵ／コアを使用したマルチプロセッシングを指す。加えて、ＡＳＭＰモードは概して、グループ内の他のコアと同一のクロック周波数及び同一の供給電圧を使用して動作可能な少なくとも１つのコア（又は、それより多いが、全てのコアより少ないコア）が、異なるクロック周波数及び供給電圧を使用するよう動的に切り替えられる、又は構成されている、コアのグループ（複数のコア）を使用したマルチプロセッシングを指す。このように、コアのグループはＳＭＰモード又はＡＳＭＰモードの何れかで動作するが、グループ内の少なくとも１つ（全てではない）は、異なるクロック周波数及び供給電圧を有する。
【００２６】
理解されるように、本明細書で使用される用語「コア」は、１つのプロセッサ、ＣＰＵ、又は処理コアを指し得る。当該定義はまた、広げられて、複数のプロセッサ、ＣＰＵ、又は処理コアを有する「コア」を表す、又は指し得る。従って、本明細書における用語「コア」の使用は、１つの処理要素に限定されるのではなく、同一の処理要素のグループを含み得る。加えて、用語「コア」、「プロセッサ」、及び「ＣＰＵ」は、本明細書では互換的に使用され得、かつ、使用される。
【００２７】
ここで図１を参照すると、本開示によるマルチプロセッシング（ＭＰ）システム１００が示されている。ＭＰシステム１００は、第１の動作電圧源１２０（ＶＤＤ）と、単一のクロック信号１３０（ＣＬＫ）とに連結されたコアＡ、Ｃ、及びＤ（１１０ａ、１１０ｃ、１１０ｄ）を含み、一方で、コアＢ（１１０ｂ）は、第２の電圧源１４０（ＶＤＤｂ）と、クロック信号１５０（ＣＬＫｂ）とに連結されている。この構成において、コアＢは、第１の動作電圧源１２０（ＶＤＤ）に由来する第２の電圧源１４０（ＶＤＤｂ）に連結されている。電圧レギュレータ及び切り替えコントローラ１６０が、第１の動作電圧源（ＶＤＤ）を受け、第２の電圧源（ＶＤＤｂ）を生成する。図１には図示されないが、電圧レギュレータ及び切り替えコントローラは（選択されたモードに応じて）ＶＤＤｂ又はＶＤＤの何れかをコアＢに出力する。従って、ＶＤＤｂはＶＤＤに由来する。様々な実施形態において、電圧レギュレータ及び切り替えコントローラ１６０は、同一チップ又はモノリシック基板上にシステム１００と共に構築又は配置され、別の実施形態においては、異なるチップ又は基板上にあってよい。
【００２８】
ここで図２を参照すると、本開示による処理システム１００を例示する詳細図が示されている。
【００２９】
大まかに言えば、処理システム１００は、ＳＭＰ及びＡＳＭＰという２つのモードの動作間で切り替え可能なプロセッサのグループ（複数のプロセッサ）を含む。ＳＭＰモードでは、動作しているプロセッサ（例えば、１つ、３つ、又は４つ全て）が同一のクロック周波数及び供給電圧を使用して動作する一方、（以下で説明される異なる実施形態における）ＡＳＭＰモードでは、少なくとも１つの第１のプロセッサは、残りの動作しているプロセッサのものとは異なるクロック周波数及び供給電圧を使用して動作するよう構成されている。
【００３０】
当該システムは、異なる２つのクロック周波数及び供給電圧の間での第１のプロセッサの制御及び切り替えを可能にするハードウェア装置／回路を含む。ハードウェア内では、オペレーティングシステム（ＯＳ）又は他のソフトウェア／ハードウェアから切り替えコマンドを受信し次第、ＳＭＰ及びＡＳＭＰの間で切り替えるべく、第１のプロセッサ及びメモリのクロック及び電圧を制御するよう、一続き又は一連のアクションが実行される。切り替えコマンドの生成は、負荷、キャッシュミス率、消費電力の理由、その他などの、要望通りの１又は複数の要因に基づき得る。当該装置／回路は、第１のプロセッサが、一方のモードから他方のモードへの遷移中失敗しないこと、及び、プロセッサ／メモリへの（１又は複数の）クロックがグリッチなく切り替えられることを保証する。当該装置／方法は、ソフトウェア／ＯＳの介在を最小化し、より高速なモード切り替え速度を有する。
【００３１】
処理システム１００は、例示されるように、マルチプロセッサコアと、複数のプロセッサ１１０を有するキャッシュサブシステム２０５とを含み、当該キャッシュサブシステム２０５は、１１０ａ（ＣＰＵ  Ａ）、１１０ｃ（ＣＰＵ  Ｃ）、１１０ｄ（ＣＰＵ  Ｄ）、及び１１０ｂ（ＣＰＵ  Ｂ）を、対応するＬ２キャッシュメモリ部２１０（２１０ａ及び２１０ｂ）と、対応するクロスドメインクロック（ＣＤＣ）回路２３０ａ、２３０ｃ、２３０ｄ、２３０ｂと共に含む。４つのプロセッサ１１０（並びに、対応するメモリ及び回路）が示されているが、プロセッサ数はそれより少ない、又は多いこともあり得る。しかし少なくとも２つのプロセッサを含む。理解されるように、各プロセッサ１１０は、１又は複数のプロセッサ、中央演算処理装置（ＣＰＵ）、又はコア、又はこれらの組み合わせを含んでよい。
【００３２】
当該処理システム１００は更に、プロセッサ、キャッシュ、及びＣＤＣへの電力の供給に使用する第１の動作供給電圧（ＶＤＤ）を生成するための電力管理制御（ＰＭＩＣ）回路２４０を含む。同様に、クロック生成回路２５０が、プロセッサ、キャッシュ、及びＣＤＣのクロッキング動作に使用する、様々な予め定められたクロック周波数を有する複数のクロック信号を生成する。
【００３３】
一実施形態において、ＰＭＩＣ回路２４０を除いて、処理システム１００は、単一の基板／ダイ、又は集積半導体基板／ダイ上に（又は、多基板ＩＣパッケージ内に配置された複数の半導体基板内に）配置される、又はそうでなければ位置付けられる。別の実施形態において、ＰＭＩＣ回路２４０もまた、単一の基板／ダイ、又は集積半導体基板／ダイ上に含まれてよい。 
【００３４】
例示されるように、処理システム１００はまた、（切り替え又はモードコントローラとも称されてよい）電圧レギュレータ及び切り替えコントローラ１６０と、クロック切り替え回路（又はモジュール）２７０とを含む。理解されるように、コントローラ１６０は、バイパス回路２３０を有するＣＤＣ、クロック生成回路２５０、及びクロック切り替え回路２７０の機能及び動作を制御するための様々な制御信号を出力する。
【００３５】
クロック生成回路２５０は、（ＳＭＰモードで）プロセッサ１１０の動作速度を一括して制御するための１つのＳＭＰプロセッサクロック信号（ＣＬＫ）と、（ＳＭＰモードで）キャッシュ部分２１０ａ、２１０ｂの動作速度を一括して制御するための１つのＳＭＰメモリクロック信号（ＣＬＫｃｈ）と、プロセッサ１１０ｂの動作速度の独立制御を可能にする少なくとも１つのＡＳＭＰプロセッサクロック信号（ＣＬＫｂ）と、キャッシュメモリ部２１０ｂの動作速度の独立制御を可能にする少なくとも１つのＡＳＭＰメモリクロック信号（ＣＬＫｃｈｂ）とを含む複数のクロック信号を生成するための必須の回路及び要素を含む。これらのクロックのそれぞれは、回路２５０によってグリッチなく有効／無効にされる。クロック生成回路２５０はまた、コントローラ１６０によって生成された入力イネーブル信号ＥＮ＿ＣＬＫ及びＥＮ＿ＣＬＫｂを受信する。
【００３６】
ＰＭＩＣ回路２４０は、少なくとも、システム１００で使用するためのＶＤＤを生成するための必須の回路及び要素を含む。例示されるように、ＰＭＩＣ回路２４０は、プロセッサ１１０ａ、１１０ｃ、１１０ｄ、キャッシュメモリ部２１０ａ、及び電圧レギュレータ及び切り替えコントローラ１６０に電力を供給するためのＶＤＤを生成及び出力する。示されるように、供給電圧ＶＤＤｂは、プロセッサ１１０ｂと、その関連するキャッシュメモリ部２１０ｂとに電力を供給する。当業者には理解されるように、プロセッサ／メモリがより高いクロック速度で動作する場合、同様により高い供給電圧でプロセッサ／メモリを動作させることが望ましく、必要であるだろう。加えて、コアが使用されない場合、コアは電力を急減させられ、及び／又はクロックを無効にされてよい。例えば、プロセッサ１１０ｂへの供給電圧ＶＤＤｂは無効にされてよく、及び／又は、プロセッサ１１０ｂへのクロック入力は無効にされてよい（例えば、入力クロックなし）。同様に、プロセッサ１１０ａ、１１０ｃ、１１０ｄへの供給電圧ＶＤＤ及び／又はクロック入力は無効にされてよい。この機能は、（図２に示されているが、参照番号で特定されていない）１又は複数のスイッチによって提供されてよい。 
【００３７】
クロック生成回路２５０はまた、生成されたクロック信号ＣＬＫ及び／又はＣＬＫｂのそれぞれに対する何らかのプログラム化可能性を可能にする機能及び回路を含んでよい。一実施形態において、クロック信号のそれぞれは、多数の可能な周波数のうちの１つに対してプログラム可能であってよい（例えば、ＣＬＫが、３００ＭＨｚから３ＧＨｚなどの範囲の間でプログラム可能であってよい）。別の実施形態において、特定のクロック信号のみがプログラム可能であってよい一方で、他の実施形態においては、各クロック信号の周波数は、予め定められ、かつ固定される。更に別の実施形態では、周波数は互いに対して固定されてよいが、グループとしてプログラム可能であってよい。同様に、ＰＭＩＣ回路２４０はまた、動作電圧源ＶＤＤに対するプログラム化可能性を提供するように、機能及び回路を含んでよい。
【００３８】
図２に示されるように、コントローラ１６０は、電圧レギュレータ及びバイパス回路２８０、及びＳＭＰ／ＡＳＭＰ切り替えコントローラ２９０を含む。電圧レギュレータ及びバイパス回路２８０内の電圧レギュレータ（別々には示されていない）は、動作電圧源ＶＤＤから電圧源ＶＤＤｂを生成し、ＶＤＤ又はＶＤＤｂの何れかを選択的に出力する。バイパスモードでは、ＶＤＤｂ＝ＶＤＤである。加えて、ＶＤＤｂは、電圧レギュレータを無効にすることによって電力を急減させられてよく、これにより、コアＢ（１１０ｂ）をシャットダウンする。理解されるように、そして大まかに言えば、電圧レギュレータのためのバイパス機能は、マルチプレクサを使用して実装され、ステートマシン又は他のプロセスによって制御され得る。
【００３９】
他の実施形態において、コントローラ１６０は、ＶＤＤを受け、多数の可能な電圧レベルのうちの（プログラム可能な）１つ（例えば、電圧は０．５ボルトから３．３ボルトなどの範囲の間でプログラム可能であってよい）を、電圧源ＶＤＤｂとしてＶＤＤから生成してよい。更に別の実施形態では、電圧源ＶＤＤｂは予め定められ、かつ固定される。
【００４０】
ＳＭＰ／ＡＳＭＰ切り替えコントローラ２９０は、有限ステートマシン（ＦＳＭ）２９２と、１又は複数のタイマ２９４と、１又は複数のストレージレジスタ２９６（例えば、構成又はステータスレジスタ）とを含む。コントローラ２９０は、ＳＭＰ／ＡＳＭＰモード切り替えコマンド／信号（ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴ）、及び電圧源モード切り替えコマンド／信号（ＬＤＯ＿ＭＯＤＥ＿ＳＥＬＥＣＴ）のアサーションに応答して一連のアクション又はプロセスを制御及び実行するよう機能する。故に、例示された実施形態において、ＳＭＰ／ＡＳＭＰモード切り替えコマンドがアサート／アンアサートされた場合、動作の処理モードは、ＡＳＭＰモードとＳＭＰモードとの間で切り替えられる。様々な方法及びメカニズムが、ＳＭＰ／ＡＳＭＰモード切り替えコマンドの生成に使用されよく、いくつかの例が図７に関して以下で説明される。ＳＭＰ／ＡＳＭＰモード切り替えコマンド（ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴ）及び電圧源モード切り替えコマンド／信号（ＬＤＯ＿ＭＯＤＥ＿ＳＥＬＥＣＴ）は、様々なイベントに応答して、及び処理システム１００の内又は外の様々な要素によって生成されてよいことが理解されるだろう。
【００４１】
一実施形態において、ＳＭＰ／ＡＳＭＰモード切り替えコマンド（ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴ）に加えて、コントローラ２９０は、電圧源モード切り替えコマンド／信号（ＬＤＯ＿ＭＯＤＥ＿ＳＥＬＥＣＴ）の使用を統合して、当該信号に応答して一連のアクション又はプロセスを制御及び実行する。
【００４２】
プロセッサ１１０ｂのための、ＣＬＫクロック（ＳＭＰ）からＣＬＫｂクロック（ＡＳＭＰ）への実際の切り替えが起こる時間である場合（及びその逆）、コントローラ２９０は、クロック切り替え回路２７０内のマルチプレクサ２７２ａを使用して、ＣＬＫｂクロック信号をプロセッサ１１０ｂに、選択的に多重化する選択信号（ＳＥＬＥＣＴ＿ＣＬＫｂ）を生成する。理解されるように、ＡＳＭＰモードでのプロセッサ／ＣＰＵコア１１０ｂ用クロックは、ＣＬＫｂと示され、一方で、ＳＭＰモードでの残りのプロセッサ／ＣＰＵコア１１０ａ、１２０ｃ、１１０ｄ用のクロックはＣＬＫと示される。従って、ＳＥＬＥＣＴ＿ＣＬＫｂ信号は、何れのクロック（ＣＬＫｂ又はＣＬＫ）がプロセッサ１１０ｂによって利用されるかをグリッチなく選択する。一実施形態において、ＳＥＬＥＣＴ＿ＣＬＫｂ信号がアサートされた（論理ハイ又は「１」）場合、クロック信号ＣＬＫｂが選択され、プロセッサ／コア１１０ｂに入力される。ＳＥＬＥＣＴ＿ＣＬＫｂ信号がアンアサートされた（論理ロー又は「０」）場合、クロックＣＬＫが選択され、プロセッサ／コア１１０ｂに入力される。
【００４３】
理解されるように、ＳＥＬＥＣＴ＿ＣＬＫｂがアサートされた（論理ハイ又は「１」）場合、クロック信号ＣＬＫｂが選択され、プロセッサ／コア１１０ｂに入力される一方、クロック信号ＣＬＫは残りのプロセッサ／コア２１０ａ、２１０ｃおよび２１０ｄに入力される。ＳＥＬＥＣＴ＿ＣＬＫｂがアンアサート（論理ロー又は「０」）場合、クロック信号ＣＬＫが選択され、プロセッサ／コア１１０ｂに入力される一方、クロック信号ＣＬＫもまた、残りのプロセッサ／コア１１０ａ、１１０ｃおよび１１０ｄに入力される（又は、入力に利用できる）。
【００４４】
同様に、選択信号（ＳＥＬＥＣＴ＿ＣＬＫｂ）は、これに対応して、クロック切り替え回路２７０内のマルチプレクサ２７２ｂを使用して、ＣＬＫｃｈｂメモリクロック信号をキャッシュ部分２１０ｂに、選択的に多重化する。 
【００４５】
イネーブル信号（ＥＮ＿ＣＬＫ、ＥＮ＿ＣＬＫｂ）を使用して、切り替えコントローラ２９０は、クロック生成回路２５０を制御して、ＳＭＰ／ＡＳＭＰ切り替え前にクロックを有効にする。コントローラ２９０はまた、電圧レギュレータ及びバイパス回路２８０を制御して、プロセッサ１１０ｂ（コアＢ）に入力するためにＶＤＤ又はＶＤＤｂの何れかを選択する。コントローラ２９０はまた、ＳＥＬＥＣＴ＿ＣＬＫｂ信号を生成する。当該信号は、アサートされた場合、少なくとも１つの他のプロセッサ１１０ａ、１１０ｃ、１１０ｄは、クロック速度（ＣＬＫ）及び供給電圧ＶＤＤで動作しつつ、プロセッサ１１０ｂを（ＡＳＭＰモードの）異なるクロック速度（ＣＬＫｂ）及び供給電圧ＶＤＤｂに切り替わらせる。
【００４６】
切り替え中の様々なイベント及びアクションのタイミングは、１又は複数のタイマ２９４を使用して、ＦＳＭ２９２によって制御される。以下でより詳細に説明されるように、クロックのウォームアップ期間及び電圧上昇／下降期間が利用される。これらの値は、ソフトウェア又は他の方法によって、予めプログラムされるか又は予め設定され、コントローラ内のＣ／Ｓレジスタ２９６又は他のメモリ位置（１つも図示されていない）に格納され得る。
【００４７】
理解されるように、そして、参照番号で具体的に特定されていないが、例えばレベルシフタなどの他の様々な論理回路が含まれ得る。レベルシフタは、典型的には、信号が電力領域をクロッシングする場合に利用される。 
【００４８】
（図２に示される）クロックマルチプレクサ２７２の１つの可能な回路実装例が、米国特許出願第１４／５８０，０４４号において（図４、及びその対応する記載を参照して）説明されている。クロックマルチプレクサ２７２は、「グリッチレス」であり、それは、切り替え中にグリッチがないことを意味する。他の好適な回路実装例がクロックマルチプレクサ２７２のために利用されてよく、当業者であれば、グリッチレスなマルチプレクサ切り替えを実行する他の回路が使用され得ることを容易に理解するであろう。
【００４９】
バイパス回路２３０（図２に示される）を有するＣＤＣの１つの可能な回路実装例が、米国特許出願第１４／５８０，０４４号において（図５、及びその対応する記載を参照して）説明されている。理解されるように、非同期ＣＤＣ回路は当該分野において周知であり、故に、当業者ならばそのような機能をどのように実装するかを理解するであろう。これらのＣＤＣ回路及び／又はそれらの機能はまた、クロック切り替え回路として、又は、プロセッサとＬ２キャッシュとの間の非同期ＦＩＦＯブリッジとして当該分野において周知であろう。 
【００５０】
ここで図３Ａを参照すると、ＦＳＭ２９２によって実行又は実装される１つのプロセス又は方法３００が例示されている。このプロセスはまた、電圧レギュレータ及びバイパス回路２８０の動作を制御すべく機能する。理解されるように、ＦＳＭ２９２のプロセス／機能は、異なる構成、方法、又は構造（又は、これらの組み合わせ）を使用して実装されてよい。例えば、コントローラ２９０の機能は、例示された実施形態においては有限ステートマシン（例えば、ハードウェア実装）として実装されているが、その代わりに、個別の論理回路、ファームウェア等を有するマイクロコントローラ、及びこれらの任意の組み合わせを使用して、又は、当業者に周知の任意の他の方式／方法で実装されてよい。好ましくはないが、この機能はまた、ソフトウェア、又はソフトウェア及びハードウェアの何らかの組み合わせで実装されてもよい。ＦＳＭ２９２（及び任意の他のハードウェア実装）は、有利に、より高速で動作し、ソフトウェア／ＯＳの介在を最小化する。例外、例えばタイムアウト等、の場合には、ＦＳＭ２９２はシステムプロセッサに対する割り込みを生成する。
【００５１】
別の実施形態においては、コントローラ２９０内の別個のＦＳＭ（又は、他の機能）がまた、ＥＮ＿ＣＬＫ信号、ＥＮ＿ＣＬＫｂ信号、及びＳＥＬＥＣＴ＿ＣＬＫｂ信号のタイミングおよび生成を制御してよいこともまた理解されるであろう。また以下で更に説明される別の実施形態において、ＦＳＭ２９２は、（１）電圧レギュレータ及びバイパス回路２８０を制御する信号（ＥＮ、ＢＹＰＡＳＳ）、及び（２）クロック生成回路２５０と、クロック切り替え回路２７０と、ＣＤＣ及びバイパス回路２３０とを制御する信号（ＥＮ＿ＣＬＫ、ＥＮ＿ＣＬＫｂ、及びＳＥＬＥＣＴ＿ＣＬＫｂ）のタイミングおよび生成の両方を統合的に制御する「統合型」有限ステートマシンである。この「統合型」の実施形態において、ＦＳＭ２９２は、入力信号として、ＳＭＰ／ＡＳＭＰモード切り替えコマンド／信号（ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴ）、及び電圧源モード切り替えコマンド／信号（ＬＤＯ＿ＭＯＤＥ＿ＳＥＬＥＣＴ）を受信する。以下の表１は、ＦＳＭ２９２（コントローラ２９０）によって実行される入力から出力への信号の遷移を例示しており、表中、信号ＥＮ（イネーブル）及びＢＹＰＡＳＳ（バイパス）は、電圧レギュレータ及びバイパス回路２８０のモードを制御すべく、入力信号に応答して生成された出力信号である。 
【表１】
0006423090.tif 000002
以下の表２は、ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴ信号及びＬＤＯ＿ＭＯＤＥ＿ＳＥＬＥＣＴ信号の定義／説明を提供する。
【表２】
0006423090.tif 000003
制御信号ＥＮ及びＢＹＰＡＳＳは、電圧レギュレータ及びバイパス回路２８０を制御すべく、ＦＳＭ２９２によって生成及び出力される。コントローラ２９０（例えば、ＦＳＭ２９２）の入力信号（ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴ、ＬＤＯ＿ＭＯＤＥ＿ＳＥＬＥＣＴ）及び出力信号（ＥＮ、ＢＹＰＡＳＳ、ＳＥＬＥＣＴ＿ＣＬＫｂ、ＥＮ＿ＣＬＫ、ＥＮ＿ＣＬＫｂ）は、図５及び図６に例示されている。 
【００５２】
図３Ａに示されるように、ＦＳＭ２９２の状態図によって表されるプロセス３００は、電圧レギュレータ及びバイパス回路２８０の制御に関する様々な状態及び遷移を含む。示されるように、ＯＦＦ状態（３１０）、ＡＳＭＰモード状態（３２０）、及びＳＭＰモード状態（３３０）の３つの主状態がある。
【００５３】
ＯＦＦ状態（３１０）は、ＬＤＯ＿ＭＯＤＥ＿ＳＥＬＥＣＴ信号がローであることに応答して、ＥＮ信号及びＢＹＰＡＳＳ信号がロー（例えば、ＥＮ！、ＢＹＰＡＳＳ！）である場合、電圧レギュレータがオフ又は非アクティブ（例えば、フローティング）であることによって特徴付けられる。
【００５４】
ＡＳＭＰモード状態（３２０）は、ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴ信号がローであり、かつＬＤＯ＿ＭＯＤＥ＿ＳＥＬＥＣＴ信号がハイであることに応答して、ＥＮ信号がハイであり、かつＢＹＰＡＳＳ信号がローである（例えば、ＥＮ、ＢＹＰＡＳＳ！）場合、プロセッサ１１０ｂに供給電圧を提供すべく、電圧レギュレータが、選択的な入力のためにＶＤＤｂを出力することによって特徴付けられる。 
【００５５】
ＳＭＰモード状態（３３０）は、ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴ信号がハイであり、かつＬＤＯ＿ＭＯＤＥ＿ＳＥＬＥＣＴ信号がハイであることに応答して、ＥＮ信号がハイであり、かつＢＹＰＡＳＳ信号がハイである（例えば、ＥＮ、ＢＹＰＡＳＳ）場合、プロセッサ１１０ｂに供給電圧を提供すべく、電圧レギュレータが「バイパスされ」、選択的な入力のためにＶＤＤを出力することによって特徴付けられる。
【００５６】
動作中であり、かつ、処理システム１００が初めに非アクティブであると仮定すると、ＬＤＯ＿ＭＯＤＥ＿ＳＥＬＥＣＴ信号はローであり、その結果、切り替えコントローラ２９０から出力されたＥＮ信号はアンアサートされる（！ＥＮ）（及び、ＢＹＰＡＳＳ信号の値は関連しない）。ＬＤＯ＿ＭＯＤＥ＿ＳＥＬＥＣＴ信号がアクティブ化され次第、切り替えコントローラ２９０は、ＥＮ信号をアサートし（ＥＮ）、プロセス３００は、切り替えコマンド（ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴ）信号の値に応じて状態３２０又は３３０の何れかに進み得る。
【００５７】
切り替えコマンドＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴがＡＳＭＰモードの動作を示す（ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴがロー）場合、コントローラは、ローのＢＹＰＡＳＳ信号（！ＢＹＰＡＳＳ）を出力する。ＥＮ信号及びＢＹＰＡＳＳ信号のこれらの値に基づいて、ＦＳＭ２９２はＡＳＭＰモード状態３２０に向かって遷移する。しかしながら、状態３２０に入る前に、遅延２状態（３１５）に入る。遅延２状態は、ＦＳＭ２９２がローのＢＹＰＡＳＳ信号を出力し、ＡＳＭＰモード状態３２０に入る前に、遅延させるべく予め定められた時間（待機期間）を提供する。遅延２は、ＶＤＤｂを生成するのに利用される電圧レギュレータのタイプの物理的動作特性に応じて、任意の適切な期間範囲、例えば、サブマイクロ秒から数十マイクロ秒であってよい。言い換えれば、ローのＢＹＰＡＳＳ信号の出力は遅延２のために遅延され、出力のためにＶＤＤｂを生成するよう、電圧レギュレータがアクティブ化し安定すること（すなわち、ウォームアップ）を可能にする。
【００５８】
切り替えコマンドがＳＭＰモードの動作を示す（ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴがハイ）場合、コントローラは、ハイのＢＹＰＡＳＳ信号（ＢＹＰＡＳＳ）を出力する。ＥＮ信号及びＢＹＰＡＳＳ信号のこれらの値に基づいて、ＦＳＭ２９２はＳＭＰモード状態３３０に向かって遷移する。しかしながら、状態３３０に入る前に、遅延１状態（３３５）に入る。遅延１状態は、ＦＳＭ２９２がハイのＢＹＰＡＳＳ信号を出力し、ＳＭＰモード状態３３０に入る前に、遅延させるべく予め定められた時間（待機期間）を提供する。遅延２と同様に、遅延１は、ＶＤＤを生成するのに利用される電圧レギュレータのタイプの物理的動作特性に応じて、任意の適切な期間範囲、例えば、サブマイクロ秒から数十マイクロ秒であってよい。言い換えれば、生成器が安定した出力を生成することを可能にし、かつ切り替えノイズを低減すべく（例えば、トライステート／０出力からＶＤＤまで）、ハイのＢＹＰＡＳＳ信号の出力は、遅延１のために遅延される。
【００５９】
ひとたびＡＳＭＰモード又はＳＭＰモードの何れかになると、プロセス３００は、切り替えコマンド（ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴ）信号の値に応じてこれらの２つのモード間で切替わってよい。
【００６０】
ＡＳＭＰモード３２０にある場合、切り替えコマンド信号が、システムがＳＭＰモードに切り替わるべきであることを示す（すなわち、ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴがハイ）とき、コントローラ２９０はＢＹＰＡＳＳ信号をアサートし（ＢＹＰＡＳＳ）、プロセスはＳＭＰモード状態３３０に向かって遷移する。しかしながら、状態３３０に入る前に、中間ＶＲＥＧ＿ＭＡＸ状態３２５に入る。中間ＶＲＥＧ＿ＭＡＸ状態は、電圧レギュレータ出力がその最大出力電圧レベルに上昇することを可能／できるようにすべく、別の、予め定められた遅延期間を提供する。理解されるように、電圧レギュレータは既に、予め定められた電圧源ＶＤＤｂ‐それはＶＤＤより低い‐をプロセッサに出力中なので、ＶＤＤｂからＶＤＤに切り替える前に、電圧レギュレータ４００の出力電圧を（ＶＤＤより僅かに低い）その最大値に上昇させることが重要である。これにより、プロセッサ１１０ｂに入力される、供給電圧の潜在的な大きなスパイクが低減又は取り除かれる。図４を参照すると、出力値を制御するよう、Ｖｒｅｆ又はＶｒｅｆｍａｘが電圧レギュレータに選択的に入力される（電圧レギュレータの出力は、増幅器の負端末における入力に等しい）。例えば、ＶＤＤが１．０ボルトである場合、Ｖｒｅｆｍａｘが０．９ボルト（その供給としてＶＤＤを有する電圧レギュレータから出力される実際の最大値）に等しい状態で、Ｖｒｅｆは０．６ボルトであってよい。
【００６１】
この中間ＶＲＥＧ＿ＭＡＸ状態３２５では、Ｖｒｅｆｍａｘは電圧レギュレータに選択的に入力され、予め定められた遅延が、バイパス回路２８０の出力をＶＤＤｂからＶＤＤに切り替える前に、出力電圧がＶｒｅｆｍａｘに上昇することを可能にする。 
【００６２】
ＳＭＰモード３３０にある場合、切り替えコマンド信号が、システムがＡＳＭＰモードに切替わるべきであることを示す（すなわち、ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴがロー）とき、コントローラ２９０は、ＢＹＰＡＳＳ信号をデアサートし（！ＢＹＰＡＳＳ）、プロセスは、ＡＳＭＰモード状態３２０に向かって遷移する。しかしながら、状態３３０に入る前に、中間ＶＲＥＧ＿ＭＡＸ状態３２５に入る。中間ＶＲＥＧ＿ＭＡＸ状態は、電圧レギュレータ出力が低下し、安定することを可能／できるようにし、かつノイズを低減すべく、別の予め定められた遅延期間を提供する。
【００６３】
示されるように、ＡＳＭＰモード状態３２０又はＳＭＰモード状態３３０の何れかにあり、ＬＤＯ＿ＭＯＤＥ＿ＳＥＬＥＣＴ信号がローになる場合、ＥＮ信号はデアサートされ（！ＥＮ）、プロセスはＯＦＦ状態３１０に戻るよう遷移する。
【００６４】
ＦＳＭ２９２によって実装されるプロセス３００は、クロック生成回路２５０と、クロック切り替え回路２７０と、ＣＤＣ及びバイパス回路２３０とを制御する（すなわち、ＳＭＰ／ＡＳＭＰモードクロック切り替え）信号（ＥＮ＿ＣＬＫ、ＥＮ＿ＣＬＫｂ、及びＳＥＬＥＣＴ＿ＣＬＫｂ）の制御／生成を統合することのない、電圧レギュレータ及びバイパス回路２８０の有限ステートマシン制御を提供して、プロセッサ１１０ｂのためにクロッキング周波数としてＣＬＫ又はＣＬＫｂを提供することが理解される。この実施形態では、別個に動作し、これらの他の回路を制御すべく、これらの他の制御信号を生成する第２のＦＳＭ（図示せず）が含まれてよい。この第２のＦＳＭの具体的な実装例は、米国特許出願第１４／５８０，０４４号（図３Ａ、図３Ｂ及び図３Ｃ、並びにそれらの対応する記載）を参照して当業者によって容易に設計され得る。
【００６５】
ここで図３Ｂを参照すると、ＦＳＭ２９２によって実行又は実装される、別のプロセス又は方法３００ａが例示されている。プロセス３００ａは、クロック生成回路２５０と、クロック切り替え回路２７０と、ＣＤＣ及びバイパス回路２３０とを制御する（すなわち、ＳＭＰ／ＡＳＭＰモードクロック切り替え）信号（ＥＮ＿ＣＬＫ、ＥＮ＿ＣＬＫｂ、及びＳＥＬＥＣＴ＿ＣＬＫｂ）の制御／生成を統合することをその中に含む、電圧レギュレータ及びバイパス回路２８０の有限ステートマシン制御を提供するＦＳＭ２９２によって実装され得る。言い換えれば、プロセス３００ａは、統合型ＦＳＭ２９２を表し得る（及び、上記第２のＦＳＭは省略され得る）。このプロセス３００ａは、電圧レギュレータ及びバイパス回路２８０と、クロック制御回路２５０、２７０、及び２３０との両方の動作を制御すべく機能する。言い換えれば、図３ＢのＦＳＭ２９２は、電圧レギュレータ及びバイパス回路２８０の制御を、クロック生成回路２５０を制御する信号（ＥＮ＿ＣＬＫ、ＥＮ＿ＣＬＫｂ、及びＳＥＬＥＣＴ＿ＣＬＫｂ）の制御／生成と統合する電圧調整及びクロック切り替えモジュールを提供し、（電圧変更／切り替えと、クロック変更／切り替えとの両方を制御する）統合型コントローラを提供する。従って、電圧レギュレータ及びその出力（すなわち、プロセッサへの電力供給）の制御と、クロック切り替え回路及びその出力（すなわち、プロセッサへのクロッキング信号）の制御が統合される、又は１又は複数の相互依存を有する。そのような統合型コントローラは、電圧レギュレータの有効化／ウォームアップ／切り替えプロセスと並行して、クロックの有効化／ウォームアップ／切り替えプロセスを可能にする。これにより、ＳＭＰ／ＡＳＭＰ切り替えプロセスの全体的なレイテンシが改善される。
【００６６】
図３Ｂに例示されるように、プロセス３００ａは、状態の全て（３１０、３１５、３２０、３２５、３３０、３３５）及び（図３Ａに示される）プロセス３００の遷移と、追加の状態３５０、３６０、３７０、及び３８０、並びに関連する遷移とを含む。加えて、１つの遷移が僅かに修正されている。ＦＳＭ２９２の状態図によって表されるプロセス３００ａは、（１）電圧レギュレータ及びバイパス回路２８０と、（２）回路２５０、２７０、及び２３０との制御に関する様々な状態及び遷移を含む。統合型有限ステートマシン（ＦＳＭ）は電圧変更のみならずクロック切り替えも制御し、このように、統合有限ステートマシン（ＦＳＭ）は、正しい相互依存が満たされることを保証しつつ、最も良好な並列性と、最適化されたアクションシーケンスとを達成し得る。
【００６７】
追加の４つの主状態は、遷移ＢＹＰＡＳＳ状態（３５０）、ＳＷＩＴＣＨ＿ＣＬＫ状態（３６０）、ＳＷＩＴＣＨ＿ＣＬＫｂ状態（３７０）、及びＣＬＫｂ＿ＷＵ状態（３８０）を含む。
【００６８】
示されるように、ＯＦＦ状態（３１０）からＳＭＰモード状態（３３０）への遷移内において、追加のＢＹＰＡＳＳ状態（３５０）及びＳＷＩＴＣＨ＿ＣＬＫ状態（３６０）が、遅延１状態（３３５）の後に含まれ、配置される。遅延１期間が満了した後、ＦＳＭ２９２はＢＹＰＡＳＳ状態（３５０）に入る（しかし、ＢＹＰＡＳＳ信号はまだハイにアサートされていない）。ＢＹＰＡＳＳ状態（３５０）（基本的には内部電圧レギュレータの中間状態）において、ＢＹＰＡＳＳ信号はアサートされ、プロセスは、ＳＭＰモード状態３３０に向かって遷移する（及びＶＤＤがプロセッサ１１０ｂに入力される）。
【００６９】
完了し次第、ＳＷＩＴＣＨ＿ＣＬＫ状態（３６０）に入る。ＳＷＩＴＣＨ＿ＣＬＫ状態では、プロセス３００ａは、（１）ＥＮ＿ＣＬＫ信号をハイにアサートし、当該ＥＮ＿ＣＬＫ信号がクロッキング回路２５０内のＣＬＫ信号をオンに切り替えること、（２）予め定められた期間待機して、ＣＬＫ信号がウォームアップすることを可能にすること、及び（３）ウォームアップ後、ＳＥＬＥＣＴ＿ＣＬＫｂ信号をデアサートし、当該ＳＥＬＥＣＴ＿ＣＬＫｂ信号がクロック切り替え回路２７０内で（ＣＬＫｂ信号とは対照的に）ＣＬＫ信号をプロセッサ１１０ｂに選択的に入力することを含むいくつかの機能を実行する（図２もまた参照されたい）。
【００７０】
示されるように、ＳＭＰモード状態（３３０）からＡＳＭＰモード状態（３２０）への遷移内において、ＣＬＫｂ＿ＷＵ（ウォームアップ）状態（３８０）及びＳＷＩＴＣＨ＿ＣＬＫｂ状態（３７０）が、ＶＲＥＧ  ＭＡＸ状態（３２５）の前に含まれ、配置される。ＳＭＰモードからＡＳＭＰモードへの切り替えがトリガされた（ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴがローになった）場合、ＣＬＫｂ＿ＷＵ状態（３８０）に入る。ＣＬＫｂ＿ＷＵ状態（２８０）において、プロセス３００ａは、ＥＮ＿ＣＬＫｂ信号をハイにアサートし、当該ＥＮ＿ＣＬＫｂ信号がクロッキング回路２５０内のＣＬＫｂ信号をオンに切り替え、プロセス３００ａは、予め定められた期間待機し、ＣＬＫｂ信号がウォームアップすることを可能にする。ウォームアップ後、ＳＷＩＴＣＨ＿ＣＬＫｂ状態（３７０）に入り、プロセス３００ａは、ＳＥＬＥＣＴ＿ＣＬＫｂ信号をアサートし、当該ＳＥＬＥＣＴ＿ＣＬＫｂ信号がクロック切り替え回路２７０内で（ＣＬＫ信号とは対照的に）ＣＬＫｂ信号をプロセッサ１１０ｂに選択的に入力する（図２もまた参照されたい）。完了し次第、プロセスは、その（１又は複数の）アクションが起こるよう、ＶＲＥＧ＿ＭＡＸ状態（３２５）に遷移し、次に、ＳＭＰモード状態（３３０）に向かって遷移し、ＡＳＭＰモード状態３２０に入るよう、ＢＹＰＡＳＳ信号はデアサートされる（かつ、ＶＤＤｂがプロセッサ１１０ｂに入力される）。
【００７１】
ＡＳＭＰモード状態（３２０）からＳＭＰモード状態（３３０）への遷移は異なる経路をとる。ＡＳＭＰモードからＳＭＰモードへの切り替えがトリガされた（ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴがハイになった）場合、ＶＲＥＧ＿ＭＡＸ状態（３２５）に入る。完了し次第、ＢＹＰＡＳＳ状態（３５０）に入り、完了し、ＳＷＩＴＣＨ＿ＣＬＫ状態（３６０）に入り、完了し、プロセスは、ＳＭＰモード状態３３０に遷移する。
【００７２】
有限ステートマシンとして実装されるプロセス３００ａに基づいて、ＥＮ信号、ＢＹＰＡＳＳ信号、ＥＮ＿ＣＬＫ信号、ＥＮ＿ＣＬＫｂ信号、及びＳＥＬＥＣＴ＿ＣＬＫｂ信号の制御及び生成は、ソフトウェア／ＯＳなしに達成される。これにより、ＳＭＰモードとＡＳＭＰモードとの間でのより高速な切り替えがもたらされる。 
【００７３】
ここで図４及び図５を参照すると、図２に示される電圧レギュレータ及び切り替えコントローラ１６０の代替的な２つの実施形態１６０ａ、１６０ｂが例示されている。 
【００７４】
図４は、（図３Ｂに例示されるプロセス３００ａを実装するＦＳＭ２９２を有する）切り替えコントローラ２９０ａと、電圧レギュレータ及びバイパス回路２８０ａとを使用して実装される電圧レギュレータ及び切り替えコントローラ１６０ａを例示する。この実施形態では、回路２８０ａは、低ドロップアウト（ＬＤＯ）電圧レギュレータ４００、及び高速バイパススイッチ４０２を含む。基準信号（Ｖｒｅｆ）、基準最大信号（Ｖｒｅｆｍａｘ）、及びＥＮ信号が、ＬＤＯ電圧レギュレータ４００に入力される。有効にされた場合、ＶＤＤｂ出力は、（ＢＹＰＡＳＳ信号がアサートされたとき（ＢＹＰＡＳＳ））ＶＤＤ、又は、（ＢＹＰＡＳＳ信号がデアサートされたとき（！ＢＹＰＡＳＳ））Ｖｒｅｆに等しい。理解されるように、Ｖｒｅｆは、所望の値に選択され得る（又は、プログラム可能ですらある）。この実施形態では、電圧レギュレータに入力された実際の電圧基準信号は、Ｖｒｅｆ又はＶｒｅｆｍａｘの何れかから選択されてよく、これらの何れかが、ＦＳＭ２９２と、適切な切り替え回路（図示せず）との制御の下、電圧レギュレータに選択的に入力されてよい。上述されたように、回路２８０の出力をＶＤＤｂからＶＤＤに切り替える前に、出力電圧をＶｒｅｆ値からＶｒｅｆｍａｘ値に上昇させることが有益であろう。 
【００７５】
図５は、（図３Ｂに例示されるプロセス３００ａを実装するＦＳＭ２９２を有する）切り替えコントローラ２９０ｂと、電圧レギュレータ及びバイパス回路２８０ｂとを使用して実装される電圧レギュレータ及び切り替えコントローラ１６０ａを例示する。この実施形態では、回路２８０ｂは、例示することのみを目的として、示されたようなコンポーネントを有する切り替え型電圧レギュレータ５００を含む。当業者ならば、切り替え型電圧レギュレータの他の好適な構成（例えば、スイッチモード電圧レギュレータ、バック、統合型電圧レギュレータ、スイッチドキャパシタレギュレータ等）が利用されてよいこと（及び追加の制御信号も要求されてよいこと）を容易に理解するであろう。当該バイパス回路は、有効にされた場合、ＶＤＤｂ出力が、（ＢＹＰＡＳＳ信号がアサートされたとき）ＶＤＤに、又は、（ＢＹＰＡＳＳ信号がデアサートされたとき）ＶＤＤｂに等しいという点で、図４に関して説明されたバイパス回路と同様に機能する。
【００７６】
ＬＤＯ電圧レギュレータ４００、及びスイッチドモードレギュレータ５００に関して、一実施形態において、当該レギュレータ（４００又は５００）は、（上述されたように）同一の基板又は集積回路上に組み込まれてよい。 
【００７７】
ここで図６を参照すると、電圧レギュレータ及び回路６００を有する電圧レギュレータ及び切り替えコントローラ１６０ｃの別の実施形態の図が示される。電圧レギュレータ６００は、低ドロップアウト電圧レギュレータの異なる実装例を例示する。このアーキテクチャは、予測的（又は、予め設定される）、及び応答的（又は、反応的）な別個の２つのノイズ抑制方法を使用して、ＳＭＰ／ＡＳＭＰモード切り替えによって生成されることのあるノイズを低減／抑制する。各方法は、切り替えによるノイズを最小化し、より高速な切り替えを可能にする。応答的な方法が、ミクロレベルの調整と、早い応答時間とを提供する一方、予測的な方法はマクロレベルの調整を提供する。これらのメカニズムの一方又は両方の何れかが利用されてよい。
【００７８】
ＳＭＰ／ＡＳＭＰモード切り替えコマンドが変化した（ＳＭＰ／ＡＳＭＰ＿ＳＥＬＥＣＴ信号が変化した）場合、コントローラ２９０は予測的に（１又は複数の）制御信号を生成して、バイアス電流制御回路６３０を通して増幅器（６８０）のバイアス電流を制御する。フィードバックフィルタ６４０は、図６に示されるように、バイアス電流制御回路６３０と共に動作して、バイアス電流を増加させるだけでなく、電力トランジスタ（６９０）の帯域幅及びスルーレートを変更する。次の実際のＳＭＰ／ＡＳＭＰ遷移に先立つこのバイアス電流の変更は、ＬＤＯ電圧レギュレータ６００が、次のｄｉ／ｄｔの変化を予め補償することを可能にする。このことが、ＳＭＰ／ＡＳＭＰ切り替えノイズの軽減、又は抑制の助けになる。言い換えれば、この方法は、システムのＳＭＰ／ＡＳＭＰ遷移の実行前に、電圧レギュレータの特定の動作特性（例えば、Ｉバイアス、帯域幅、スルーレート）を予め設定する。理解されるように、バイアス制御回路６３０及びフィードバックフィルタ６４０はそれぞれ制御回路である。
【００７９】
応答的な方法の場合、レギュレータ６００の出力の電流経路に配置された電流センサ６１０は、負荷６２０（例えば、プロセッサ１１０ｂ）によって引かれる変化量ｄｉ／ｄｔを感知する。この信号は、ＦＳＭコントローラ２９０にフィードバックされ、バイアス電流及び／又はフィードバックループが調整されて、予測的に前もってではなく、応答的にノイズが低減される。必要ならば、補助切り替え６５０が、出力電圧の下方変更のための電流流出経路を増加させる、又は加速する。示される応答的な方法及び回路は、比例積分微分（ＰＩＤ）コントローラと同一の、又はそれと同様の機能を提供する。当業者ならば、上述された機能を実行すべく、任意の適切な回路を使用するであろう。理解されるように、バイアス制御回路６３０、フィードバックフィルタ６４０、及び補助切り替え６５０はそれぞれ制御回路である。 
【００８０】
２つのプロセッサ（１１０ｂ、及び、１１０ａ、１１０ｃ、又は１１０ｄの何れか）のみがアクティブな場合にＡＳＭＰモードがアクティブ化され、３つ以上のプロセッサがアクティブな場合にＳＭＰモードがアクティブ化される一実施形態において、ＳＭＰとＡＳＭＰとの間の動的モード切り替えが実行される。（１）２つのプロセッサ、又は（２）３つ以上のプロセッサの何れが必要かの判断は、トラフィックタイプ、プロセッサの待機時間、負荷不平衡情報、及び／又は消費電力に基づいてよい。理解されるように、モードを変更（又は維持）すべく、他の要因及び情報のタイプが分析され、決定の根拠を形成し得る。例えば、負荷が軽い場合、又は、負荷が重く、全てのＣＰＵコアが利用される場合及び／又はＬ１キャッシュミス率が高い場合、ＳＭＰモードが選択されてよく、一方、重い負荷及び／又は不平衡負荷の場合はＡＳＭＰモードが選択されてよい。１つの具体的な実施形態において、２つのプロセッサが要求される場合、当該２つのプロセッサはＡＳＭＰモードで動作し、３つ以上のプロセッサが要求される場合、それらはＳＭＰモードで動作する。
【００８１】
当業者ならば、「コア」（例えば、Ａ、Ｂ、Ｃ、Ｄ）の１又は複数がまた、それぞれ、各コア内に２つ以上のプロセッサを含むことを容易に理解するであろう。そのような実施形態では、プロセッサの各「グループ」は分類され、別個のエンティティ（又は、「コア」）として機能する。
【００８２】
ここで図７を参照すると、ＳＭＰ／ＡＳＭＰモード選択及び切り替えを起動及び制御するためのアーキテクチャ（例えば、方法、プロセス、システム）８００が概念的に示されている。モード選択は、所望の処理又はアプリケーションのタイプのみならず他の情報又は要因にも基づき得る。示されるように、処理又はアプリケーション８０２は、ブラウザアプリケーション８０２ａ、ストリーミングアプリケーション８０２ｂ、ゲームアプリケーション８０２ｃ、又はナビゲーション８０２ｄであってよい。他の要因／情報８０４もまた考慮されてよい。
【００８３】
一例として、ストリーミングアプリケーション８０２ｂがマルチプロセッシングを要求すると仮定すると、モード選択デバイス８１０は、そのアプリケーションに関連する処理タスクが、ＳＭＰモード又はＡＳＭＰモードのどちらで実行されるべきかを判断する。システムソフトウェア／ＯＳはこの判断を行い、決定を下す。当該システムは、１つのプロセッサを割り当てて、コマンドをコントローラに発行してよいが、通常、決定はシステムレベル／ＯＳレベルで実施される。この決定は、静的情報、動的情報、又はこれらの組み合わせに基づいてよい。一例では、全てのビデオエンコーディングアプリケーションがＳＭＰモードを使用すると予め定められ得る。別の例では、ＣＰＵの現在の負荷があまりに重く、全てのＣＰＵコアが利用されない限り、全てのビデオストリーミングアプリケーションはＡＳＭＰモードを使用する。一方のモードから他方のモードに切り替えるかどうかについての決定を下すべく、他の変形形態が、プログラムされ、利用され得る。
【００８４】
一実施形態において、単一処理タスクが要求される場合、ルックアップテーブルが参照されてよい。別の実施形態において、複数の処理タスクがある場合、電力の比較が、何れかのモードを選択するのに使用される要因であってよい。例えば、ユーザが、音楽を聴きながら同時に電子メールを作成している場合、ＡＳＭＰが選択され得る。
【００８５】
図７に例示されるような１つの具体的な実施形態では、（１又は複数の）処理負荷に対処するのに幾つのプロセッサが必要かがシステムによって判断される。２つのプロセッサだけが必要であると判断された場合、ＡＳＭＰモードが選択され、ＡＳＭＰモードで動作するよう、２つのプロセッサ（Ｂ、及びＡ／Ｃ／Ｄのうち１つ）が制御される。３つ、４つ、又はそれより多くのプロセッサが必要であると判断された場合、ＳＭＰモードが選択され、３つのプロセッサ（Ａ、Ｂ、及びＣ）、又は４つのプロセッサ（Ａ、Ｂ、Ｃ、及びＤ）はＳＭＰモードで動作する。
【００８６】
システム１００のアーキテクチャは、各コアのための完全ＳＭＰ／ＡＳＭＰ機能を有するシステムと比較して、ＳＭＰ／ＡＳＭＰ動的切り替えに関連する費用及びハードウェア／ソフトウェアの複雑さの両方を大幅に低減する。例えば、４つのプロセッサ／コアを有するＭＰシステムでは、ただ１つのプロセッサが動的に構成可能なシステム１００に従って構成されたシステムに対する追加コストは、４つの全てのプロセッサが動的にＳＭＰ／ＡＳＭＰ構成可能なシステムと比較して約３分の１の追加コストである。
【００８７】
ほとんどの場合、処理要求は２つのプロセッサで満たされ得、ほとんどの場合、２つのプロセッサは不平衡負荷で実行されることが試験及び研究によって明らかになった。従って、２つのプロセッサコアＡ及びＢで動作するシステム１００は、電力効率を最適化すべく、ＡＳＭＰモードのみを使用して動作し得る。同様に、最大性能を得るべく、４つの全てのプロセッサコアＡ、Ｂ、Ｃ、及びＤは、最大のクロック周波数及び供給電圧で、ＳＭＰモードで動作し得、必要ならば、同時に同じハイエンドな性能を維持しながら、柔軟性と電力低減とをもたらす。また、３つ以上のプロセッサが動作している場合、これらはＳＭＰモードで動作し得る。システム１００は、Ａｎｄｒｏｉｄ（登録商標）／ｉＯＳ／Ｗｉｎｄｏｗｓ（登録商標）などのモバイルのハイレベルオペレーティングシステム（ＨＬＯＳ）に、低コスト、低電力と高性能との間の有益なトレードオフを提供し、低層から中層市場に適してもいる。 
【００８８】
ここで、図に例示及び説明されているシステム１００に関する１つの動作例又は方法が以下で説明される。
【００８９】
この動作スキームでは、（１）１つのコア、又は（２）３つ以上のコアがアクティブな場合、ＳＭＰモードが選択され、全てのアクティブプロセッサは、同一のクロック周波数及び電圧源で動作する。２つのコアがアクティブな場合、アクティブプロセッサの一方はコアＢであり、他方のアクティブプロセッサは、コアＡ、コアＣ、又はコアＤの何れかであり、２つのアクティブプロセッサはＡＳＭＰモードで動作するよう構成されている。 
【００９０】
複数のプロセッサ／コアシステムにおいて、常に全てのプロセッサ／コアが必要なわけではない。処理要求が低い場合、ただ１つ、又は少数のプロセッサが必要とされてよく、処理要求が高い場合、より多くのプロセッサが必要とされてよい。この概念はモード選択プロセスに導入又は統合され得る、又は、モード選択プロセスは、少なくとも一部は、コンピューティング要件に対処するために、幾つのプロセッサが要求されるかに基づき得る。
【００９１】
本明細書で説明されているシステムでは、プロセッサ／コアをスリープモード、無効、又はシャットダウンの状態にすべく、各コアが、クロックを無効にされること、及び／又は電力を急減させられることを可能にする追加の機能（具体的には示されない）が提供され得る。これにより、（より少ない数のプロセッサが処理要求に対処し得る場合、）必要ではないプロセッサをオフにすることによって消費電力の低減がもたらされる。
【００９２】
様々なプロセス又は方法が、現在のコンピューティング要件を満たすために幾つのプロセッサが必要かを判断すべく実装され得る。ひとたびこの判断が下されると、次に、コアは、以下の段落に説明されるものなどの任意の適切なシーケンス及び／又は優先度でオン／オフに切り替えられ得る。 
【００９３】
ここで図８を参照すると、（１又は複数の）ＳＭＰ／ＡＳＭＰモード選択の（１又は複数の）プロセスと統合される、プロセッサの追加／削除のためのプロセス９００の概略フロー図が例示されている。利用される特定のアーキテクチャ（例えば、コア数）、及び所望の機能又はアプリケーションに応じて、例示されたプロセスに対して様々な再構成又は変形が施されてよい。理解されるように、そのようなプロセスにおいて利用されてよい全ての段階又は要素が示されているわけではない。
【００９４】
プロセス９００は、１つのプロセッサが動作するポイントにおいて示されている。ただ１つのプロセッサが必要な場合、システム１００は、１つの固定ＣＬＫ１／ＶＤＤ１で、ＳＭＰモードで動作する（段階９１０）。処理動作中のあるポイントにおいて、処理要求の増加に対処すべく（又は、他の何らかの理由で）、第２のプロセッサが必要かどうかが判断される（段階９１５）。この判断は、定期的に、又は動作情報に応答して成され得る。
【００９５】
別のプロセッサが必要との判断に応答して、プロセス９００は進み、第２のプロセッサをアクティブ化し、２つのアクティブプロセッサは少なくともプロセッサ１１０ｂを含む。２つのアクティブプロセッサはＡＳＭＰモードで動作し（９２０）、それにより、（第１のプロセッサがＣＬＫ１／ＶＤＤ１で動作する一方で、）第２のプロセッサ（１１０ｂ）はＣＬＫ１／ＶＤＤ１とは異なるＣＬＫ２／ＶＤＤ２を受け、それらに従って動作するよう自動的に構成されている。
【００９６】
一旦、両プロセッサはアクティブになり、ＡＳＭＰモードで動作する。その間、システムは、より多くの又はより少ないコンピューティング処理能力等の必要性を評価し続け、処理要求が、より少ない又はより多くのプロセッサが必要なレベルにあるかどうかの判断を下してよい（段階９３０ａ、９３０ｂ）。より少ないプロセッサが必要な場合、プロセスは、（ＳＭＰモードでの）１つのプロセッサの利用に戻る（段階９１０）。より多くのプロセッサが必要な場合、プロセスは進み、第３のプロセッサをアクティブ化する（段階９４０）。現在アクティブな２つのプロセッサはＡＳＭＰモードなので、次に、それらはＳＭＰモードに切り替えられ、３つ全てがＳＭＰモードで動作する。
【００９７】
理解されるように、一実施形態において、本明細書で説明されているシステム、プロセス、方法、及びデバイスは、モバイルデバイス／小型コンピューティングデバイス又は基地局内に組み込まれること、及び同様のことを含むモバイル環境で利用されてよい。このようなデバイスは、例えば、無線信号を送信及び／又は受信するよう構成されてよい。それらのデバイスは、任意の適切なエンドユーザデバイスであってよく、ユーザ機器／デバイス（ＵＥ）、無線送信／受信ユニット（ＷＴＲＵ）、モバイルステーション、固定若しくは移動加入者局ユニット、ページャ、携帯電話、パーソナルデジタルアシスタント（ＰＤＡ）、スマートフォン、ラップトップ、コンピュータ、タッチパッド、無線センサ、ウェアラブル電子デバイス、又は、家庭用電子デバイスのようなデバイスを含んでよい（又はそのように称されてよい）。
【００９８】
それらのデバイスは、デバイスの様々な処理動作を実装する、少なくとも１つの（本明細書で説明されるような）処理システム１００を含む。これは、例えば、信号符号化、データ処理、ビデオ／オーディオ処理、電力制御、入出力処理、又は、デバイスのために考えられた任意の他の機能を含んでよい。
【００９９】
処理システム１００はまた、本明細書で説明されている方法及び教示をサポートし、追加のコンポーネント及び（１又は複数の）プロセッサ（例えば、マイクロコントローラ、デジタル信号プロセッサ、フィールドプログラマブルゲートアレイ、又は特定用途向け集積回路）を含んでよい。
【０１００】
処理システム１００を組み込むデバイスはまた、少なくとも１つのアンテナによる送信のために、データ又は他のコンテンツを変調するよう構成された少なくとも１つのトランシーバを含んでよい。当該トランシーバはまた、少なくとも１つのアンテナによって受信されたデータ又は他のコンテンツを復調するよう構成されている。各トランシーバは、無線送信用の信号を生成するための、及び／又は無線受信された信号を処理するための任意の適切な構造を含む。各アンテナは、無線信号を送信及び／又は受信するための任意の適切な構造を含む。１又は複数のトランシーバが当該デバイスにおいて使用され得、１又は複数のアンテナが使用され得る。
【０１０１】
これらのデバイスはまた、ユーザとのインタラクションを容易にするよう、１又は複数の入出力デバイスを含んでよい。スピーカ、マイク、キーパッド、キーボード、ディスプレイ、又はタッチスクリーンなどの各入出力デバイスは、ユーザに情報を提供するための、又は、ユーザからの情報を受信するための任意の適切な構造を含む。
【０１０２】
加えて、これらのデバイスは、デバイスによって使用、生成、又は収集される命令及びデータを格納するために、上述されたメモリを利用してよい、又は、他のメモリを含んでよい。例えば、当該メモリは、処理システム２００によって実行されるソフトウェア命令又はファームウェア命令を格納し得る。当該他のメモリは、任意の適切な揮発性及び／又は不揮発性ストレージ、並びに（１又は複数の）検索デバイスを含んでよい。ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、ハードディスク、光ディスク、加入者識別モジュール（ＳＩＭ）カード、メモリスティック、セキュアデジタル（ＳＤ）メモリカード、及び同様のものなどの任意の適切なタイプのメモリが使用されてよい。
【０１０３】
モバイル／小型コンピューティングデバイスに関する追加の詳細は、当業者には周知である。故に、明確にするために、それらの詳細は省略される。
【０１０４】
いくつかの実施形態において、デバイスのうちの１又は複数のものの機能又はプロセスの一部又は全部は、コンピュータ可読プログラムコードから形成され、かつ、コンピュータ可読媒体において具体化されたコンピュータプログラムによって実装又はサポートされる。語句「コンピュータ可読プログラムコード」は、ソースコード、オブジェクトコード、及び実行可能コードを含む任意のタイプのコンピュータコードを含む。語句「コンピュータ可読媒体」は、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、又は任意の他のタイプのメモリなどのコンピュータがアクセス可能な任意のタイプの不揮発性媒体を含む。
【０１０５】
本特許文献全体を通して使用されている特定の単語及び語句の定義を記載することは有利であろう。用語「含む」及び「備える」、並びにこれらの派生語は、限定なしの含有を意味する。用語「又は」は両立的であり、及び／又はを意味する。「〜に関連する」及び「それに関連する」という語句、並びにこれらの派生語は、〜内に含まれること、〜と相互接続すること、含有すること、〜内に含有されること、〜に若しくは〜と接続すること、〜に若しくは〜と連結すること、〜と通信可能なこと、〜と協同すること、インターリーブすること、並置すること、〜に近接していること、〜に若しくは〜と結合されること、有すること、〜の特性を有すること、又は同様のことを含むことを意味している。用語「コントローラ」は、少なくとも１つの動作を制御する任意のデバイス、システム、又はこれらの一部を意味する。コントローラは、ハードウェア、ファームウェア、ソフトウェア、又はそれらのうちの少なくとも２つの何らかの組み合わせで実装されてよい。任意の特定のコントローラに関連する機能は、ローカルにであろうとリモートにであろうと、一か所に集められてよい、又は分散されてよい。
【０１０６】
本開示は、特定の実施形態と、概して関連する方法とを説明してきたが、これらの実施形態及び方法の改変及び並べ替えが当業者には明らかであろう。従って、例示の実施形態の上記説明は、本開示を定義も制限もしない。以下の特許請求の範囲によって定義される、本開示の主旨及び範囲から逸脱することなく、他の変更、置換、及び改変がまた可能である。
［項目１］
上記第１の供給電圧を受信し、上記第２の供給電圧を生成するよう構成された電圧レギュレータ回路であって、上記第２の供給電圧は上記第１の供給電圧より低い電圧値を有する、電圧レギュレータ回路と、
第１の予め定められた周波数を有する第１のクロック信号及び上記第１の供給電圧を受け、それらに従って動作するよう構成された第１のプロセッサと、
上記第１のクロック信号、又は、上記第１の予め定められた周波数とは異なる第２の予め定められた周波数を有する第２のクロック信号の何れかを受信し、それに従って動作し、上記第１の供給電圧又は上記第２の供給電圧を受け、それに従って動作するよう構成された第２のプロセッサと、
上記電圧レギュレータ回路に連結され、上記第１の供給電圧又は上記第２の供給電圧を上記第２のプロセッサに選択的に入力するためのバイパス信号を生成するよう構成されたコントローラとを備え、
上記第１のプロセッサは、更に、第１モードの動作中においても、第２モードの動作中においても、上記第１のクロック信号及び上記第１の供給電圧のみを受け、それらに従って動作するよう構成されている、
マルチプロセッサ（ＭＰ）処理システム。
［項目２］
上記第１モードの動作中においても、上記第２モードの動作中においても、上記第１のクロック信号及び上記第１の供給電圧のみを受け、それらに従って動作するよう構成された第３のプロセッサ
を更に備える項目１に記載のＭＰ処理システム。
［項目３］
上記第１モードの動作にある場合、上記第１のプロセッサ及び上記第３のプロセッサは、上記第１のクロック信号及び上記第１の供給電圧を受け、それらに従って動作し、
上記第２モードの動作にある場合、上記第２のプロセッサは、上記第２のクロック信号及び上記第２の供給電圧を受け、それらに従って動作する、
項目２に記載のＭＰ処理システム。
［項目４］
上記コントローラに連結され、上記第１のクロック信号及び上記第２のクロック信号を生成及び出力するよう構成されたクロック生成回路であって、上記第１のクロック信号は上記第１のプロセッサに入力される、クロック生成回路と、
上記クロック生成回路と上記第２のプロセッサとの間に配置され、上記第１のクロック信号及び上記第２のクロック信号を受信し、上記第１のクロック信号又は上記第２のクロック信号を上記第２のプロセッサに出力するよう構成された切り替え回路であって、第１モードの動作中、上記第１のクロック信号が上記第２のプロセッサに出力され、第２モードの動作中、上記第２のクロック信号が上記第２のプロセッサに出力される、切り替え回路とを更に備え、
上記第１モードの動作及び上記第２モードの動作中、上記第１のクロック信号は上記第１のプロセッサに出力される、
項目１に記載のＭＰシステム。
［項目５］
上記第１のプロセッサ及び上記第２のプロセッサに連結されたキャッシュメモリと、
上記コントローラに応答し、上記第２のプロセッサと上記キャッシュメモリとに連結され、更に、第２モードの動作中、上記第２のプロセッサと上記キャッシュメモリとの間にクロックドメインクロッシング機能を提供し、第１モードの動作中、バイパス機能を提供するよう構成された、クロックドメインクロッシング（ＣＤＣ）及びバイパス回路と
を更に備える項目１に記載のシステム。
［項目６］
上記コントローラは更に、モード選択信号に応答して、上記第２のプロセッサの動作を上記第１モードの動作と上記第２モードの動作との間で動的に切り替えるよう構成されている、項目１に記載のＭＰ処理システム。
［項目７］
上記モード選択信号は、少なくとも一部は、上記複数のプロセッサ内の一プロセッサのアクティブ化又は非アクティブ化に基づいて生成される、項目６に記載のＭＰ処理システム。
［項目８］
上記モード選択信号は、負荷情報、使用情報、キャッシュミス率、メモリ帯域幅情報、又は消費電力情報のうちの少なくとも１つに応答して生成される、項目６に記載のＭＰ処理システム。
［項目９］
上記コントローラは更に、モード選択信号に応答して上記電圧レギュレータの少なくとも１つの動作特性を予め設定するよう構成されている、項目６に記載のＭＰシステム。
［項目１０］
上記少なくとも１つの動作特性は、バイアス電流であり、上記電圧レギュレータは、
上記コントローラに連結され、上記電圧レギュレータのバイアス電流を生成及び制御するよう構成されたバイアス電流回路を有する、項目９に記載のＭＰシステム。
［項目１１］
上記電圧レギュレータは、
上記電圧レギュレータの出力に連結され、上記コントローラに入力するために、上記電圧の出力電流の変化を示す電流感知フィードバック信号を生成するよう構成された電流センサと、
上記コントローラに連結され、上記電流感知信号に応答して上記電圧レギュレータを制御するよう構成された制御回路とを有する、項目６に記載のＭＰシステム。
［項目１２］
上記コントローラは、有限ステートマシン（ＦＳＭ）、プロセッサ、マイクロコントローラ、又は論理回路のうちの少なくとも１つを有する、項目１に記載のＭＰ処理システム。
［項目１３］
上記ＭＰ処理システムは、単一の基板上に配置される、項目１に記載のＭＰ処理システム。
［項目１４］
マルチプロセッシング機能を実行するよう構成された複数のプロセッサであって、第１のプロセッサ及び第２のプロセッサを有する、複数のプロセッサと、
上記第２のプロセッサの動作を第１モード及び第２モードで制御するよう構成されたコントローラと、
上記コントローラに連結され、上記コントローラからの１又は複数の信号に応答して、第１のクロック信号及び第２のクロック信号を生成及び出力するよう構成されたクロック生成回路と、
上記クロック生成回路と上記第２のプロセッサとの間に配置され、上記第１のクロック信号及び上記第２のクロック信号を受信し、上記第２のプロセッサに出力するために一方を選択するよう構成された切り替え回路であって、上記第１モードの動作中、上記第１のクロック信号が上記第２のプロセッサに出力され、上記第２モードの動作中、上記第２のクロック信号が上記第２のプロセッサに出力される、切り替え回路と、
上記コントローラに連結され、
第１の動作電圧信号を受信し、
上記第１の動作電圧信号から第２の動作電圧信号を生成し、
上記第１モードの動作中、上記第２のプロセッサに入力するために上記第１の動作電圧信号を出力し、
上記第２モードの動作中、上記第２のプロセッサに入力するために上記第２の動作電圧信号を出力する
よう構成された電圧レギュレータ及びバイパス回路とを備え、
上記第１モードの動作及び上記第２モードの動作中、上記第１のクロック信号は上記第１のプロセッサに入力される、
装置。
［項目１５］
上記装置は単一の基板上に配置される、項目１４に記載の装置。
［項目１６］
上記第１のプロセッサ、上記第２のプロセッサ、及び上記電圧レギュレータ及びバイパス回路は、単一の半導体基板上に配置される、項目１４に記載の装置。
［項目１７］
上記コントローラは更に、モード選択信号に応答して、上記第２のプロセッサの動作を、上記第１モードの動作と上記第２モードの動作との間で動的に切り替えるよう構成されている、項目１４に記載の装置。
［項目１８］
上記モード選択信号は、少なくとも一部は、上記複数のプロセッサ内の一プロセッサのアクティブ化又は非アクティブ化に基づいて生成される、項目１７に記載の装置。
［項目１９］
上記コントローラは更に、モード選択信号に応答して、上記電圧レギュレータの少なくとも１つの動作特性を予め設定するよう構成されている、項目１７に記載の装置。
［項目２０］
上記少なくとも１つの動作特性はバイアス電流であり、上記電圧レギュレータは、
上記コントローラに連結され、上記電圧レギュレータのバイアス電流を生成及び制御するよう構成されたバイアス電流回路を有する、項目１９に記載の装置。
［項目２１］
上記電圧レギュレータは、
上記電圧レギュレータの出力に連結され、上記コントローラに入力するために、上記電圧の出力電流の変化を示す電流感知フィードバック信号を生成するよう構成された電流センサと、
上記コントローラに連結され、上記電流感知信号に応答して、上記電圧レギュレータを制御するよう構成された制御回路とを有する、項目１７に記載の装置。
［項目２２］
上記コントローラは、有限ステートマシン（ＦＳＭ）、プロセッサ、マイクロコントローラ、又は論理回路のうちの少なくとも１つを有する、項目１４に記載の装置。
［項目２３］
対称型マルチプロセッシング（ＳＭＰ）モードと非対称型マルチプロセッシング（ＡＳＭＰ）モードとの間での複数のプロセッサの切り替え方法であって、
第１のプロセッサが動作している間、第１の予め定められた周波数を有する第１のクロック信号と、第１の予め定められた動作電圧を有する第１の供給電圧とに従って上記第１のプロセッサを動作させる段階と、
上記第１の供給電圧から第２の供給電圧を生成する段階と、
モード選択信号を受信する段階と、
上記モード選択信号に応答して、第２のプロセッサを第１モードの動作又は第２モードの動作で動作させる段階であって、
上記第１モードの動作では、上記第２のプロセッサを、上記第１のクロック信号及び上記第１の供給電圧に従って動作させる段階と、
上記第２モードの動作では、上記第２のプロセッサを、上記第１の予め定められた周波数とは異なる第２の予め定められた周波数を有する第２のクロック信号に従って、及び上記第２の供給電圧に従って動作させる段階とを有する、段階と、
を備える方法。
［項目２４］
上記第１のクロック信号及び上記第１の供給電圧を上記第１のプロセッサに入力する段階と、
上記第１のクロック信号及び上記第２のクロック信号を切り替え回路に入力し、上記第１モードの動作中、上記第１のクロック信号を上記第２のプロセッサに出力し、上記第２モードの動作中、上記第２のクロック信号を上記第２のプロセッサに出力する段階と、
上記第１モードの動作中、上記第１の供給電圧を上記第２のプロセッサに入力し、上記第２モードの動作中、上記第２の供給電圧を上記第２のプロセッサに入力する段階と
を更に備える項目２３に記載の方法。
［項目２５］
負荷情報、使用情報、キャッシュミス率、メモリ帯域幅情報、又は消費電力情報のうちの少なくとも１つに応答して、上記モード選択信号を生成する段階
を更に備える項目２３に記載の方法。
［項目２６］
上記第２の供給電圧を生成する上記段階、上記第１のプロセッサを動作させる上記段階、及び上記第２のプロセッサを動作させる上記段階は、単一の半導体基板内の回路によって実行される、項目２３に記載の方法。
［項目２７］
上記第１の供給電圧又は上記第２の供給電圧の何れかを出力するよう構成された電圧レギュレータ回路の少なくとも１つの動作特性を予め設定する段階
を更に備える項目２３に記載の方法。
［項目２８］
上記少なくとも１つの動作特性はバイアス電流であり、上記電圧レギュレータは
コントローラに連結され、上記電圧レギュレータのバイアス電流を生成及び制御するよう構成されたバイアス電流回路を有する、項目２７に記載の方法。
［項目２９］
上記第１の供給電圧又は上記第２の供給電圧の何れかを出力するよう構成された電圧レギュレータ回路によって出力された電流を感知する段階と、
上記感知された電流に応答して上記電圧レギュレータを制御する段階と
を更に備える項目２３に記載の方法。
［項目３０］
複数のプロセッサを有するマルチプロセッサシステムにおける処理の方法であって、
上記複数のプロセッサ内の第１のアクティブプロセッサのみを使用して上記マルチプロセッサシステム内において処理する段階と、
上記マルチプロセッサシステム内での処理のために第２のプロセッサがアクティブ化されるべきであると判断する段階と、
上記判断に応答して、上記第２のプロセッサをアクティブ化する段階と、
対称型マルチプロセッシング（ＳＭＰ）モード又は非対称型マルチプロセッシング（ＡＳＭＰ）モードの何れかに従って、上記第１のアクティブプロセッサ及び上記第２のアクティブプロセッサを使用して上記マルチプロセッサシステム内で処理する段階であって、
上記ＳＭＰモードにある場合、上記第１のアクティブプロセッサ及び上記第２のアクティブプロセッサはそれぞれ、第１の予め定められた周波数を有する第１のクロック信号と、第１の予め定められた電圧を有する第１の供給電圧とに従って動作し、
上記ＡＳＭＰモードにある場合、上記第１のアクティブプロセッサは、上記第１のクロック信号及び上記第１の供給電圧に従って動作し、上記第２のプロセッサは、上記第１の予め定められた周波数とは異なる第２の予め定められた周波数を有する第２のクロック信号に従って、及び、上記第１の予め定められた動作電圧とは異なる第２の予め定められた動作電圧を有する第２の供給電圧に従って動作する、段階と、
モード選択信号を受信する段階と、
上記第１のアクティブプロセッサ及び上記第２のアクティブプロセッサの動作を、上記モード選択信号に応じて、上記ＳＭＰモードから上記ＡＳＭＰモードへ、又は、上記ＡＳＭＰモードから上記ＳＭＰモードへの何れかに切り替える段階とを備える方法。
［項目３１］
マルチプロセッサ（ＭＰ）処理システムであって、
第１のプロセッサ、及び
第２のプロセッサ
を有する複数のプロセッサと、
少なくとも上記第２のプロセッサに連結され、
アクティブ化／非アクティブ化信号に応答して上記第２のプロセッサをアクティブ化又は非アクティブ化し、
上記第２のプロセッサがアクティブ化され次第、
対称型マルチプロセッシング（ＳＭＰ）モード又は非対称型マルチプロセッシング（ＡＳＭＰ）モードの何れかに従って、上記第１のプロセッサ及び上記第２のプロセッサを使用して上記マルチプロセッサシステム内の処理を制御し、ここで、
上記ＳＭＰモードは、上記第１のプロセッサ及び上記第２のプロセッサはそれぞれ、第１の予め定められた周波数を有する第１のクロック信号と、第１の予め定められた電圧を有する第１の供給電圧とに従って動作するモードと定義され、
上記ＡＳＭＰモードは、上記第１のプロセッサは、上記第１のクロック信号及び上記第１の供給電圧に従って動作し、上記第２のプロセッサは、上記第１の予め定められた周波数とは異なる第２の予め定められた周波数を有する第２のクロック信号に従って、及び、上記第１の予め定められた動作電圧とは異なる第２の予め定められた動作電圧を有する第２の供給電圧に従って動作するモードと定義され、
モード選択信号を受信し、
上記第１のプロセッサ及び上記第２のプロセッサの動作を、上記モード選択信号に応じて、上記ＳＭＰモードから上記ＡＳＭＰモードへ、又は、上記ＡＳＭＰモードから上記ＳＭＰモードへの何れかに切り替える
よう構成されたコントローラと、
を備えるマルチプロセッサ（ＭＰ）処理システム。
【図１】
0006423090.tif 000004
【図２】
0006423090.tif 000005
【図３Ａ】
0006423090.tif 000006
【図３Ｂ】
0006423090.tif 000007
【図４】
0006423090.tif 000008
【図５】
0006423090.tif 000009
【図６】
0006423090.tif 000010
【図７】
0006423090.tif 000011
【図８】
0006423090.tif 000012