(57)【特許請求の範囲】
【請求項１】
電子デバイスのための仮想ジャイロスコープであって、
磁力計ユニットであり、
第１の磁気センサからの第１の磁気応答データ、および、前記第１の磁気センサから変位させられた第２の磁気センサからの第２の磁気応答データを受信し、
前記第１の磁気応答データから第１の補正された応答表面、および、前記第２の磁気応答データから第２の補正された応答表面を生成し、
前記第１の補正された応答表面および前記第２の補正された応答表面から、計算された配向の誤差を最小限に抑えるか、または、少なくとも低減する複合応答表面の表現を生成する、
ための論理を備える、磁力計ユニットと、
加速度計ユニットであり、
前記電子デバイスの配向データを生成する、
ための、少なくとも部分的にハードウェア論理を含む、論理を備える、加速度計ユニットと、
コンバイナユニットであり、
前記第１の磁気応答データおよび前記第２の磁気応答データそれぞれを使用して生成された応答表面と、前記複合応答表面とを比較して、前記第１の磁気センサと前記第２の磁気センサのうち正確な方位を生成している可能性が高い方の磁気センサを選択し、
前記第１の磁気応答データまたは前記第２の磁気応答データのうちの選択された１つを前記加速度計ユニットからの前記配向データと合成する、
ための論理を備える、コンバイナユニットと、
を含む、仮想ジャイロスコープ。
【請求項２】
前記磁力計ユニットは、さらに、
前記複合応答表面を生成するために、前記第１の磁気応答データと前記第２の磁気応答データの限界値を使用する、
ための論理を備える、
請求項１に記載の仮想ジャイロスコープ。
【請求項３】
前記磁力計ユニットは、さらに、
前記磁力計ユニットの出力として、前記第１の磁気応答データまたは前記第２の磁気応答データのうちの１つを選択する、
ための論理を備える、
請求項１に記載の仮想ジャイロスコープ。
【請求項４】
前記磁力計ユニットは、さらに、
前記第１の補正された応答表面および前記第２の補正された応答表面を、前記複合応答表面と比較する、
ための論理を備える、
請求項３に記載の仮想ジャイロスコープ。
【請求項５】
前記磁力計ユニットは、さらに、
前記第１の磁気応答データまたは前記第２の磁気応答データのうちの１つを出力する、
ための論理を備える、
請求項４に記載の仮想ジャイロスコープ。
【請求項６】
電子デバイスであって、
少なくとも１つの電子的構成要素と、
磁力計ユニットであり、
第１の磁気センサからの第１の磁気応答データ、および、前記第１の磁気センサから変位させられた第２の磁気センサからの第２の磁気応答データを受信し、
前記第１の磁気応答データから第１の補正された応答表面、および、前記第２の磁気応答データから第２の補正された応答表面を生成し、
前記第１の補正された応答表面および前記第２の補正された応答表面から、計算された配向の誤差を最小限に抑えるか、または、少なくとも低減する複合応答表面の表現を生成する、
ための論理を備える、磁力計ユニットと、
加速度計ユニットであり、
前記電子デバイスの配向データを生成する、
ための、少なくとも部分的にハードウェア論理を含む、論理を備える、加速度計ユニットと、
コンバイナユニットであり、
前記第１の磁気応答データおよび前記第２の磁気応答データそれぞれを使用して生成された応答表面と、前記複合応答表面とを比較して、前記第１の磁気センサと前記第２の磁気センサのうち正確な方位を生成している可能性が高い方の磁気センサを選択し、
前記第１の磁気応答データまたは前記第２の磁気応答データのうち選択された１つを前記加速度計ユニットからの前記配向データと合成する、
ための論理を備える、コンバイナユニットと、
を含む、電子デバイス。
【請求項７】
前記磁力計ユニットは、さらに、
前記複合応答表面を生成するために、前記第１の磁気応答データと前記第２の磁気応答データの限界値を使用する、
ための論理を備える、
請求項６に記載の電子デバイス。
【請求項８】
前記磁力計ユニットは、さらに、
前記磁力計ユニットの出力として、前記第１の磁気応答データまたは前記第２の磁気応答データのうちの１つを選択する、
ための論理を備える、
請求項６に記載の電子デバイス。
【請求項９】
前記磁力計ユニットは、さらに、
前記第１の補正された応答表面および前記第２の補正された応答表面を、前記複合応答表面と比較する、
ための論理を備える、
請求項８に記載の電子デバイス。
【請求項１０】
前記磁力計ユニットは、さらに、
前記第１の磁気応答データまたは前記第２の磁気応答データのうちの１つを出力する、
ための論理を備える、
請求項９に記載の電子デバイス。
【請求項１１】
論理命令を備えるコンピュータプログラムであって、前記論理命令がコントローラによって実行されると、前記コントローラは、
磁力計ユニットを、
第１の磁気センサからの第１の磁気応答データ、および、前記第１の磁気センサから変位させられた第２の磁気センサからの第２の磁気応答データを受信し、
前記第１の磁気応答データから第１の補正された応答表面、および、前記第２の磁気応答データから第２の補正された応答表面を生成し、
前記第１の補正された応答表面および前記第２の補正された応答表面から、計算された配向の誤差を最小限に抑えるか、または、少なくとも低減する複合応答表面の表現を生成する、
ようにさせ、
加速度計ユニットを、
電子デバイスの配向データを生成する、
ようにさせ、
コンバイナユニットを、
前記第１の磁気応答データおよび前記第２の磁気応答データそれぞれを使用して生成された応答表面と、前記複合応答表面とを比較して、前記第１の磁気センサと前記第２の磁気センサのうち正確な方位を生成している可能性が高い方の磁気センサを選択し、
前記第１の磁気応答データまたは前記第２の磁気応答データのうち選択された１つを前記加速度計ユニットからの前記配向データと合成する、
ようにさせる、
コンピュータプログラム。
【請求項１２】
前記コントローラは、さらに、前記磁力計ユニットを、
前記複合応答表面を生成するために、前記第１の磁気応答データと前記第２の磁気応答データの限界値を使用する、
ようにさせる、請求項１１に記載のコンピュータプログラム。
【請求項１３】
前記コントローラは、さらに、前記磁力計ユニットを、
前記磁力計ユニットの出力として、前記第１の磁気応答データまたは前記第２の磁気応答データのうちの１つを選択する、
ようにさせる、請求項１１に記載のコンピュータプログラム。
【請求項１４】
前記コントローラは、さらに、前記磁力計ユニットを、
前記第１の補正された応答表面および前記第２の補正された応答表面を、前記複合応答表面と比較する、
ようにさせる、請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記コントローラは、さらに、前記磁力計ユニットを、
前記第１の磁気応答データまたは前記第２の磁気応答データのうちの１つを出力する、
ようにさせる、請求項１４に記載のコンピュータプログラム。
【請求項１６】
電子デバイスの位置を判定するための方法であって、
第１の磁気センサから第１の磁気応答データ、および、前記第１の磁気センサから変位させられた第２の磁気センサから第２の磁気応答データを受信するステップと、
前記第１の磁気応答データから第１の補正された応答表面、および、前記第２の磁気応答データから第２の補正された応答表面を生成するステップと、
前記第１の補正された応答表面および前記第２の補正された応答表面から、計算された配向の誤差を最小限に抑えるか、または、少なくとも低減する複合応答表面の表現を生成するステップと、
前記電子デバイスの配向データを生成するステップと、
前記第１の磁気応答データおよび前記第２の磁気応答データそれぞれを使用して生成された応答表面と、前記複合応答表面とを比較して、前記第１の磁気センサと前記第２の磁気センサのうち正確な方位を生成している可能性が高い方の磁気センサを選択するステップと、  前記第１の磁気応答データまたは前記第２の磁気応答データのうち選択された１つを加速度計ユニットからの前記配向データと合成するステップと、
を含む、方法。
【請求項１７】
前記方法は、さらに、
前記複合応答表面を生成するために、前記第１の磁気応答データと前記第２の磁気応答データとの限界値を使用するステップ、を含む、
請求項１６に記載の方法。
【請求項１８】
前記方法は、さらに、
磁力計ユニットの出力として、前記第１の磁気応答データまたは前記第２の磁気応答データのうちの１つを選択するステップ、を含む、
請求項１６に記載の方法。
【請求項１９】
前記方法は、さらに、
前記第１の補正された応答表面および前記第２の補正された応答表面を、前記複合応答表面と比較するステップ、を含む、
請求項１８に記載の方法。
【請求項２０】
前記方法は、さらに、
前記第１の磁気応答データまたは前記第２の磁気応答データのうちの１つを出力するステップ、を含む、
請求項１９に記載の方法。
【請求項２１】
請求項１１乃至１５のいずれか一項に記載のコンピュータプログラムを記憶した、
コンピュータ読取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で説明する主題は、一般に電子デバイスの分野に関する。より詳細には、電子デバイスのための磁力計ユニットに関する。
【背景技術】
【０００２】
ラップトップコンピュータ、タブレットコンピューティングデバイス、電子リーダー、モバイルフォンなどの電子デバイスは、電子デバイスのロケーション／位置、および／または、配向（ｏｒｉｅｎｔａｔｉｏｎ）を判定することを可能にする磁気センサなどのセンサを含み得る。電子デバイスがセンサからの入力を処理して電子デバイスのロケーション／位置、および／または、配向（すなわち、姿勢）を近似することを可能にする技法は効用であることがわかり得る。
【図面の簡単な説明】
【０００３】
詳細な説明について、添付の図を参照しながら説明する。
【図１】いくつかの例による、磁力計ユニットを含むように適応され得る電子デバイスの概略図である。
【図２Ａ】いくつかの例による、磁力計ユニットを実装するための例示的なアーキテクチャのハイレベルな概略図である。
【図２Ｂ】いくつかの例による、磁力計ユニットを含むように適応された電子デバイスの概略図である。
【図３Ａ】いくつかの例による、磁力計ユニットの磁気応答表面（ｍａｇｎｅｔｉｃ  ｒｅｓｐｏｎｓｅ  ｓｕｒｆａｃｅ）を示すグラフである。
【図３Ｂ】いくつかの例による、磁力計ユニットの磁気応答表面を示すグラフである。
【図３Ｃ】いくつかの例による、磁力計ユニットの磁気応答表面を示すグラフである。
【図３Ｄ】いくつかの例による、磁力計ユニットの磁気応答表面を示すグラフである。
【図３Ｅ】いくつかの例による、磁力計ユニットの磁気応答表面を示すグラフである。
【図３Ｆ】いくつかの例による、磁力計ユニットの磁気応答表面を示すグラフである。
【図４】いくつかの例による、磁力計ユニットを実装するための方法における動作を示すフローチャートである。
【図５】いくつかの例による、磁力計ユニットを実装するための方法における動作を示すフローチャートである。
【図６】いくつかの例による、スマートフレームトグリング（ｓｍａｒｔ  ｆｒａｍｅ  ｔｏｇｇｌｉｎｇ）を実装するように適応され得る電子デバイスの概略図である。
【図７】いくつかの例による、スマートフレームトグリングを実装するように適応され得る電子デバイスの概略図である。
【図８】いくつかの例による、スマートフレームトグリングを実装するように適応され得る電子デバイスの概略図である。
【図９】いくつかの例による、スマートフレームトグリングを実装するように適応され得る電子デバイスの概略図である。
【図１０】いくつかの例による、スマートフレームトグリングを実装するように適応され得る電子デバイスの概略図である。
【発明を実施するための形態】
【０００４】
電子デバイスにおいて磁力計ユニットを実装するための例示的なシステムおよび方法について本明細書で説明する。以下の説明では、様々な例の完全な理解を提供するために多数の具体的な詳細を記載する。しかしながら、様々な例は、それらの具体的な詳細なしに実施され得ることが当業者には理解されよう。他の場合には、特定の例を不明瞭にしないために、よく知られている方法、手順、構成要素、および回路は詳細に図示または説明されていない。
【０００５】
上記で説明したように、電子デバイスのロケーション／位置、および／または、配向を判定する技法を実装するために使用され得る磁力計ユニットを有する電子デバイスを提供することが有用であり得る。しかしながら、周囲環境中の磁気干渉および／または電子デバイスの他の構成要素もしくは構造によって生成される磁気干渉は、磁力計ユニットの磁気センサが正確に方位判定するのを妨害することがある。完全な磁気センサは、一定の磁界中で磁気センサのｚ軸を中心として回転されたとき、図３Ａに示されているように、重心がほぼ原点（０，０）にある円の形状の応答表面を生成するはずである。磁気センサの多軸回転は、重心がほぼ原点（０，０，０）にある３次元球体の形状を有する応答表面を生成するはずであることを当業者は認識されよう。
【０００６】
回転に関する歪みが無視できる、プラットフォーム中の磁気センサによって測定される磁界は、プラットフォームによって誘起される磁界、地磁界、およびプラットフォームの外部の磁気源からの何らか寄与という、３つの磁界と、それぞれの座標系とのベクトル加算として表され得る。これは以下のように記述され得る。
【数１】
0006434136.tif 000002
【数２】
0006434136.tif 000003
＝プラットフォーム／センサ座標
【数３】
0006434136.tif 000004
＝世界座標
【数４】
0006434136.tif 000005
≡センサ座標と世界座標の回転変換行列。
【０００７】
各ベクトルの絶対値は、磁気源の強度、ならびに世界座標系とプラットフォーム座標系との両方における境界への近接度の両方の関数である。
【０００８】
プラットフォームの真の方位は以下の式を用いて判定され得る。
磁北≡
【数５】
0006434136.tif 000006
【０００９】
正確な方位判定は、プラットフォームおよび環境磁気干渉の存在下で理想的な重心を維持するために複雑なトラッキングアルゴリズムに依存する。図３Ｂは、磁気干渉を伴う場合でも相対センサ回転座標が依然として取得され得るが、真の方位（すなわち、磁北）が判定され得ないことを示す。
【００１０】
特定の状況では、物体からの干渉に起因する偏移および歪みを重心が受けると、方位の精度がさらに減少する。図３Ｃは、磁気センサに物理的に近接した軟鉄によって誘起される応答表面の歪みを示すグラフである。図３Ｃに示されている大きさの歪みにより、電子デバイスは、有効な方向変化が起こったことを検証するために、磁界による影響を受けない第２のセンサ（例えば、ジャイロスコープ）をアクティブにすることが必要になり得る。しかしながら、ジャイロセンサなどのセンサは、磁気センサよりも著しく多くの電力（例えば、１０倍〜１００倍）を消費し、その結果、電子デバイスからの電力消耗が著しくなる。従って、電子デバイスの位置および／または配向を判定するための代替技法を提供することが有用であり得る。
【００１１】
本明細書で説明する主題は、電子デバイスのための仮想ジャイロスコープを提供することによってこれらおよび他の問題に対処することである。いくつかの例では、仮想ジャイロスコープは、第１の磁気センサから第１の磁気応答データ、および、第１の磁気センサから変位させられた第２の磁気センサから第２の磁気応答データ、を受信することと、第１の磁気応答データから第１の補正された応答表面、および、第２の磁気応答データから第２の補正された応答表面、を生成することと、第１の磁気応答データと第２の磁気応答データとから複合応答表面表現を生成すること、を行うための論理（ｌｏｇｉｃ）を備える磁力計ユニットを備える。仮想ジャイロスコープは、電子デバイスの配向データを生成するための論理を備える加速度計ユニットと、第１の磁気応答データまたは第２の磁気応答データのうちの１つを加速度計からの配向データと合成するための論理を備えるコンバイナユニットとをさらに備える。
【００１２】
磁力計ユニットと電子デバイスとの追加の特徴および動作特性について、図１〜図１０を参照しながら以下で説明する。
【００１３】
図１は、いくつかの例による、仮想ジャイロスコープを含むように適応され得る電子デバイス１００の概略図である。様々な例では、電子デバイス１００は、ディスプレイ、一つまたはそれ以上のスピーカー、キーボード、一つまたはそれ以上の他のＩ／Ｏデバイス、マウス、カメラなどを含む、一つまたはそれ以上の付随の入出力デバイスを含むか、または、それらに結合され得る。他の例示的なＩ／Ｏデバイスは、タッチスクリーン、ボイスアクティブ化入力デバイス、トラックボール、ジオロケーションデバイス、加速度計／ジャイロスコープ、生体特徴入力デバイス、および、電子デバイス１００がユーザから入力を受け取ることを可能にする任意の他のデバイスを含み得る。
【００１４】
電子デバイス１００は、システムハードウェア１２０と、ランダムアクセスメモリおよび／または読取り専用メモリとして実装され得るメモリ１４０とを含む。ファイル記憶装置が、電子デバイス１００に通信可能に結合され得る。ファイル記憶装置は、例えば、ｅＭＭＣ、ＳＳＤ、一つまたはそれ以上のハードドライブ、あるいは他のタイプの記憶デバイスなど、電子デバイス１００の内部にあり得る。代替的に、ファイル記憶装置は、例えば、一つまたはそれ以上の外部ハードドライブ、ネットワーク結合ストレージ、あるいは別個のストレージネットワークなど、電子デバイス１００の外部にもあり得る。
【００１５】
システムハードウェア１２０は、一つまたはそれ以上のプロセッサ１２２と、グラフィックスプロセッサ１２４と、ネットワークインターフェース１２６と、バス構造１２８とを含み得る。一実施形態では、プロセッサ１２２は、米国カリフォルニア州サンタクララのインテル社から入手可能であるＩｎｔｅｌ（登録商標）Ａｔｏｍ（商標）プロセッサ、Ｉｎｔｅｌ（登録商標）Ａｔｏｍ（商標）ベースのシステムオンチップ（ＳＯＣ）、または、Ｉｎｔｅｌ（登録商標）Ｃｏｒｅ２  Ｄｕｏ（登録商標）、もしくは、ｉ３／ｉ５／ｉ７シリーズのプロセッサとして具備され得る。本明細書で使用する「プロセッサ」という用語は、限定はしないが、マイクロプロセッサ、マイクロコントローラ、複合命令セット計算（ＣＩＳＣ）マイクロプロセッサ、縮小命令セット（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、または、任意の他のタイプのプロセッサもしくは処理回路など、任意のタイプの計算要素を意味する。
【００１６】
グラフィックスプロセッサ１２４は、グラフィックおよび／またはビデオ動作を管理する付属プロセッサとして機能し得る。グラフィックスプロセッサ１２４は、電子デバイス１００のマザーボード上に組み込まれ得るか、またはマザーボード上の拡張スロットを介して結合され得るか、または、処理ユニットと同じダイもしくは同じパッケージ上に配置され得る。
【００１７】
一実施形態では、ネットワークインターフェース１２６は、イーサネット（登録商標）インターフェース（例えば、電気電子技術者協会／ＩＥＥＥ８０２．３−２００２を参照）などのワイヤードインターフェース、またはＩＥＥＥ８０２．１１ａ、ｂもしくはｇ準拠インターフェース（例えば、ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  ＩＴ−Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ａｎｄ  ｉｎｆｏｒｍａｔｉｏｎ  ｅｘｃｈａｎｇｅ  ｂｅｔｗｅｅｎ  ｓｙｓｔｅｍｓ  ＬＡＮ／ＭＡＮ−−Ｐａｒｔ  ＩＩ：Ｗｉｒｅｌｅｓｓ  ＬＡＮ  Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  （ＭＡＣ）ａｎｄ  Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  （ＰＨＹ）ｓｐｅｃｉｆｉｃａｔｉｏｎｓ  Ａｍｅｎｄｍｅｎｔ  ４：Ｆｕｒｔｈｅｒ  Ｈｉｇｈｅｒ  Ｄａｔａ  Ｒａｔｅ  Ｅｘｔｅｎｓｉｏｎ  ｉｎ  ｔｈｅ  ２．４  ＧＨｚ  Ｂａｎｄ，８０２．１１Ｇ−２００３を参照）などのワイヤレスインターフェースであり得る。ワイヤレスインターフェースの別の例は汎用パケット無線サービス（ＧＰＲＳ）インターフェース（例えば、Ｇｕｉｄｅｌｉｎｅｓ  ｏｎ  ＧＰＲＳ  Ｈａｎｄｓｅｔ  Ｒｅｑｕｉｒｅｍｅｎｔｓ，Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ／ＧＳＭ（登録商標）  Ａｓｓｏｃｉａｔｉｏｎ，Ｖｅｒ．３．０．１，Ｄｅｃｅｍｂｅｒ  ２００２を参照）であり得る。
【００１８】
バス構造１２８は、システムハードウェア１２８の様々な構成要素を結合する。一実施形態では、バス構造１２８は、限定はしないが、１１ビットバス、工業標準アーキテクチャ（ＩＳＡ）、マイクロチャネルアーキテクチャ（ＭＳＡ）、拡張ＩＳＡ（ＥＩＳＡ）、インテリジェントドライブエレクトロニクス（ＩＤＥ）、ＶＥＳＡローカルバス（ＶＬＢ）、周辺構成要素相互接続（ＰＣＩ）、ユニバーサルシリアルバス（ＵＳＢ）、アドバンストグラフィックスポート（ＡＧＰ）、パーソナルコンピュータメモリカード国際協会バス（ＰＣＭＣＩＡ）、および小型コンピュータシステムインターフェース（ＳＣＳＩ）、高速同期シリアルインターフェース（ＨＳＩ）、シリアル低電力チップ間メディアバス（ＳＬＩＭｂｕｓ（登録商標））などを含む、任意の様々な利用可能なバスアーキテクチャを使用する、メモリバス、周辺バスもしくは外部バス、および／またはローカルバスを含むバス構造のいくつかのタイプのうちの一つまたはそれ以上であり得る。
【００１９】
電子デバイス１００は、ＲＦ信号を送受信するためのＲＦトランシーバ１３０と、ニアフィールド通信（ＮＦＣ）無線機１３４と、ＲＦトランシーバ１３０によって受信された信号を処理するための信号処理モジュール１３２とを含み得る。ＲＦトランシーバは、例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）または８０２．１１Ｘ．ＩＥＥＥ８０２．１１ａ、ｂもしくはｇ準拠インターフェース（例えば、ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  ＩＴ−Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ａｎｄ  ｉｎｆｏｒｍａｔｉｏｎ  ｅｘｃｈａｎｇｅ  ｂｅｔｗｅｅｎ  ｓｙｓｔｅｍｓ  ＬＡＮ／ＭＡＮ−−Ｐａｒｔ  ＩＩ：Ｗｉｒｅｌｅｓｓ  ＬＡＮ  Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  （ＭＡＣ）ａｎｄ  Ｐｈｙｓｉｃａｌ  Ｌａｙｅｒ  （ＰＨＹ）ｓｐｅｃｉｆｉｃａｔｉｏｎｓ  Ａｍｅｎｄｍｅｎｔ  ４：Ｆｕｒｔｈｅｒ  Ｈｉｇｈｅｒ  Ｄａｔａ  Ｒａｔｅ  Ｅｘｔｅｎｓｉｏｎ  ｉｎ  ｔｈｅ  ２．４  ＧＨｚ  Ｂａｎｄ，８０２．１１Ｇ−２００３を参照）などのプロトコルを介してローカルワイヤレス結合を実装し得る。ワイヤレスインターフェースの別の例は、ＷＣＤＭＡ（登録商標）、ＬＴＥ、汎用パケット無線サービス（ＧＰＲＳ）インターフェース（例えば、Ｇｕｉｄｅｌｉｎｅｓ  ｏｎ  ＧＰＲＳ  Ｈａｎｄｓｅｔ  Ｒｅｑｕｉｒｅｍｅｎｔｓ，Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ／ＧＳＭ（登録商標）  Ａｓｓｏｃｉａｔｉｏｎ，Ｖｅｒ．３．０．１，Ｄｅｃｅｍｂｅｒ  ２００２を参照）であり得る。
【００２０】
電子デバイス１００は、例えば、キーパッド１３６およびディスプレイ１３８など、一つまたはそれ以上の入出力インターフェースをさらに含み得る。いくつかの例では、電子デバイス１００はキーパッドを有さず、入力のためにタッチパネルを使用し得る。
【００２１】
メモリ１４０は、電子デバイス１００の動作を管理するためのオペレーティングシステム１４２を含み得る。一実施形態では、オペレーティングシステム１４２は、システムハードウェア１２０へのインターフェースを提供するハードウェアインターフェースモジュール１５４を含む。さらに、オペレーティングシステム１４０は、電子デバイス１００の動作中に使用されるファイルを管理するファイルシステム１５０と、電子デバイス１００上で実行されているプロセスを管理するプロセス制御サブシステム１５２とを含み得る。
【００２２】
オペレーティングシステム１４２は、リモートソースからデータパケットおよび／またはデータストリームを送受信するためにシステムハードウェア１２０と連携して動作し得る一つまたはそれ以上の通信インターフェース１４６を含み得る（または管理し得る）。オペレーティングシステム１４２は、オペレーティングシステム１４２と、メモリ１３０中に常駐している一つまたはそれ以上のアプリケーションモジュールとの間のインターフェースを提供するシステムコールインターフェースモジュール１４４をさらに含み得る。オペレーティングシステム１４２は、ＵＮＩＸ（登録商標）オペレーティングシステムもしくはそれの派生物（例えば、Ｌｉｎｕｘ（登録商標）、Ａｎｄｒｏｉｄなど）として、またはＷｉｎｄｏｗｓ（登録商標）ブランドのオペレーティングシステムとして、または他のオペレーティングシステムとして具備され得る。
【００２３】
いくつかの例では、電子デバイスは、主要な実行環境から分離された一つまたはそれ以上のコントローラを備え得る、コントローラ１７０を含み得る。この分離は、コントローラが、メインプロセッサから物理的に分離されたコントローラ中に実装され得るという意味で、物理的であり得る。代替的に、信頼できる実行環境は、コントローラが、メインプロセッサをホストするのと同じチップまたはチップセット上にホストされ得るという意味で、論理的であり得る。
【００２４】
例として、いくつかの例では、コントローラ１７０は、電子デバイス１００のマザーボード上にある独立した集積回路として、例えば、同じＳＯＣダイ上の専用プロセッサブロックとして実装され得る。他の例では、信頼できる実行エンジンは、ハードウェア強制機構（ｈａｒｄｗａｒｅ  ｅｎｆｏｒｃｅｄ  ｍｅｃｈａｎｉｓｍ）を使用してプロセッサ１２２の残部から隔離されたプロセッサの一部分上に実装され得る。
【００２５】
図１に示されている実施形態では、コントローラ１７０は、プロセッサ１７２と、メモリモジュール１７４と、仮想ジャイロスコープ１７６と、Ｉ／Ｏインターフェース１７８とを備える。いくつかの例では、メモリモジュール１７４は永続的フラッシュメモリモジュールを備えてよく、様々な機能モジュールは、永続的メモリモジュール中に符号化された論理命令、例えば、ファームウェアまたはソフトウェアとして実装され得る。Ｉ／Ｏモジュール１７８は、シリアルＩ／ＯモジュールまたはパラレルＩ／Ｏモジュールを備え得る。コントローラ１７０は、メインプロセッサ１２２およびオペレーティングシステム１４２から分離されているので、コントローラ１７０は、一般的にホストプロセッサ１２２からソフトウェア攻撃をマウントするハッカーに対してセキュアに、すなわち、アクセス不可能にされ得る。いくつかの例では、仮想ジャイロスコープ１７６の部分は電子デバイス１００のメモリ１４０中に常駐し得るものであり、プロセッサ１２２のうちの一つまたはそれ以上の上で実行可能であり得る。
【００２６】
いくつかの例では、仮想ジャイロスコープ１７６は、電子デバイスのロケーション／位置、および／または、配向を近似するために、電子デバイス１００の一つまたはそれ以上の他の構成要素と対話する。図２Ａは、電子デバイス中に仮想ジャイロスコープ１７６を実装するための例示的なアーキテクチャの高レベル概略図である。図２を参照すると、コントローラ２２０は、汎用プロセッサ１２２として、またはコントローラ１７０などの低電力コントローラとして具備され得る。コントローラ２２０は、磁力計ユニット２３０と、加速度計２４０と、コンバイナユニット２５０と、ローカルメモリ２６０とを備え得る。上記で説明したように、いくつかの例では、磁力計ユニット２３０と、加速度計ユニット２４０と、コンバイナユニット２５０とは、コントローラ２２０上で実行可能な論理命令として、例えば、ソフトウェアまたはファームウェアとして実装され得るか、あるいは、ハードワイヤード論理回路に簡約され得る。ローカルメモリ２６０は、揮発性および／または不揮発性メモリを使用して実装され得る。
【００２７】
コントローラ２２０は、電子デバイスが運動中であるのか他の環境条件にあるのかを示す信号を提供する一つまたはそれ以上のローカルデバイス入出力（Ｉ／Ｏ）デバイスに通信可能に結合され得る。例えば、コントローラ２２０中の磁力計ユニット２３０は第１の磁気センサ２３２および第２の磁気センサ２３４に結合され得る。同様に、加速度計ユニット２４０は加速度センサ２４２に結合され得る。
【００２８】
図２Ｂは、いくつかの例による、仮想ジャイロスコープを含むように適応された電子デバイスの概略図である。図２Ｂを参照すると、いくつかの実施形態では、第１の磁気センサ２３２および第２の磁気センサ２３４は、距離Ｄだけ分離されてよい。電子デバイス１００は３つ以上の磁気センサを備え得ることを当業者は認識されよう。
【００２９】
電子デバイス中に仮想ジャイロスコープを実装するためのシステムの様々な構成について説明したので、いくつかの例による仮想ジャイロスコープを実装するための方法における動作を示すフローチャートである図４〜図５を参照しながら、システムの動作態様について説明する。図４〜図５のフローチャートに示されている動作は、仮想ジャイロスコープ１７６によって、単独でまたは電子デバイス１００の他の構成要素と組み合わせて実装され得る。
【００３０】
いくつかの例では、磁力計ユニット２３０は、デバイスセットアップ中にまたは周期的に較正プロセスを実装する。図４を参照すると、動作４１０において、磁力計ユニット２３０は、２つ以上の磁気センサ、例えば、センサ２３２、２３４から磁気応答データを受信する。いくつかの実施形態では、電子デバイスはプラットフォーム上に取り付けられ、一つまたはそれ以上の軸を中心として回転され得る。磁力計ユニット２３０は、次いで、磁気センサ２３２、２３４によって生成された磁気応答データを受信する。動作４１５において、磁力計ユニット２３０は、動作４１０において受信された磁気応答データから複合応答表面を生成する。例として、図３Ｄは、第１の磁気センサ２３２と第２の磁気センサ２３４とによって生成された磁気応答表面のグラフ図である。
【００３１】
図３Ｄに示されている例では、第１のセンサ２３２および第２のセンサ２３４は、磁気干渉の外部源、例えば、硬化鉄（ｈａｒｄ  ｉｒｏｎ）に対して、デバイス内のそれらのそれぞれの位置から生じる異なるオフセットを示す。１つのセンサが硬化鉄干渉源のより近くに回転されると、それらのセンサはデバイスの反対側にあったので、干渉源と第２のセンサとの間の距離は増加しているであろう。各センサが干渉源のより近くになると、それの応答表面は典型的な円形形状から逸脱し、ロゼット経路（ｒｏｓｅｔｔｅ  ｐａｔｈ）に従う。単一のセンサ出力を使用することに関連する方位誤差は、それが干渉源のより近くに来るほど増加するであろう。図３Ｅは、２つのセンサを使用することによって、かなり円形であり、計算された配向の誤差を最小限に抑えるか、または、少なくとも低減する複合応答表面を取得することが可能であることを示す。
【００３２】
動作４１５において、複合応答表面が生成される。図３Ｆは、理想的な結果を取得するために補正された応答表面の限界値を使用することによって判定され得る複合表面の一例を示す。動作４２０において、複合表面を定義するデータがメモリに記憶される。
【００３３】
電子デバイスが使用中であるとき、磁気センサから受信されたデータを使用して応答表面を生成することができ、この応答表面は、動作４２０において生成された複合表面と比較されて、どのセンサが正確な方位を生成している可能性が最も高いかが判定され得る。図５を参照すると、動作５１０において、第１の磁気センサ２３２と第２の磁気センサ２３４とからの磁気応答データが仮想ジャイロスコープ２３０において受信される。動作５１５において、仮想ジャイロスコープは、第１の磁気センサ２３２からのデータを使用して第１の応答表面を生成し、第２の磁気センサ２３４からのデータを使用して第２の応答表面を生成する。
【００３４】
動作５２０において、それぞれの第１の応答表面と第２の応答表面とを、動作４１５において生成された複合表面と比較することによって、第１の誤差と第２の誤差とが判定される。第１の誤差は、複合応答表面に関連する対応するデータポイントから、第１の応答表面に関連するデータポイントを減算することによって判定され得る。同様に、第２の誤差は、複合応答表面に関連する対応するデータポイントから、第２の応答表面に関連するデータポイントを減算することによって判定され得る。
【００３５】
動作５２５において、第１の誤差が第２の誤差よりも小さい場合、制御は動作５３０に移り、仮想ジャイロスコープ２３０は、第１の磁気センサ２３２からのデータを出力する。対照的に、動作５２５において、第１の誤差が第２の誤差よりも小さくない場合、制御は動作５３５に移り、仮想ジャイロスコープ２３０は、第２の磁気センサ２３４からのデータを出力する。
【００３６】
動作５４０において、加速度計ユニット２４０は、仮想ジャイロスコープ１７６がその中に組み込まれ得る電子デバイス１００などの電子デバイスの配向データを生成する。例として、加速度計ユニット２４０は、電子デバイス１００のピッチおよびロールデータを生成し得る。
【００３７】
動作５４５において、例えば、コンバイナユニット２５０において、磁力計ユニット２３０からの出力が加速度計ユニット２４０からの配向データと合成される。いくつかの例では、磁力計ユニット２３０からの出力は、それがコンバイナユニット２５０に入力される前に、回転行列によって変換され得る。
【００３８】
図５は、いくつかの例による、仮想ジャイロスコープ出力を現実のジャイロスコープの出力と比較する一連のグラフである。
【００３９】
上記で説明したように、いくつかの例では、電子デバイスはコンピュータシステムとして具備され得る。図６は、一例によるコンピューティングシステム６００のブロック図を示す。コンピューティングシステム６００は、相互接続ネットワーク（またはバス）６０４を介して通信する一つまたはそれ以上の中央処理ユニット６０２またはプロセッサを含み得る。プロセッサ６０２は、汎用プロセッサ、（コンピュータネットワーク６０３を介して通信されるデータを処理する）ネットワークプロセッサ、あるいは（縮小命令セットコンピュータ（ＲＩＳＣ）プロセッサまたは複合命令セットコンピュータ（ＣＩＳＣ）を含む）他のタイプのプロセッサを含み得る。その上、プロセッサ６０２は、シングルコアまたは複数コア（ｍｕｌｔｉｐｌｅ  ｃｏｒｅ）設計を有し得る。複数コア設計をもつプロセッサ６０２は、同じ集積回路（ＩＣ）ダイ上に異なるタイプのプロセッサコアを組み込み得る。また、複数コア設計をもつプロセッサ６０２は、対称的または非対称的マルチプロセッサとして実装され得る。一例では、プロセッサ６０２のうちの一つまたはそれ以上は、図１のプロセッサ１０２と同じまたは同様であり得る。例えば、プロセッサ６０２のうちの一つまたはそれ以上は、図１〜図３を参照しながら説明した制御ユニット１２０を含み得る。また、図３〜図５を参照しながら説明した動作は、システム６００の一つまたはそれ以上の構成要素によって実施され得る。
【００４０】
チップセット６０６も相互接続ネットワーク６０４と通信し得る。チップセット６０６は、メモリ制御ハブ（ＭＣＨ）６０８を含み得る。ＭＣＨ６０８は、（図１のメモリ１３０と同じまたは同様であり得る）メモリ６１２と通信するメモリコントローラ６１０を含み得る。メモリ４１２は、プロセッサ６０２、またはコンピューティングシステム６００中に含まれる任意の他のデバイスによって実行され得る、命令のシーケンスを含む、データを記憶し得る。一例では、メモリ６１２は、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、または他のタイプの記憶デバイスなど、一つまたはそれ以上の揮発性記憶（またはメモリ）デバイスを含み得る。ハードディスクなどの不揮発性メモリも利用され得る。複数のプロセッサ、および／または、複数のシステムメモリなど、追加のデバイスが相互接続ネットワーク６０４を介して通信し得る。
【００４１】
ＭＣＨ６０８は、また、ディスプレイデバイス６１６と通信するグラフィックスインターフェース６１４を含み得る。一例では、グラフィックスインターフェース６１４は、アクセラレーテッドグラフィックスポート（ＡＧＰ）を介してディスプレイデバイス６１６と通信し得る。一例では、（フラットパネルディスプレイなどの）ディスプレイ６１６は、例えば、ビデオメモリまたはシステムメモリなどの記憶デバイスに記憶された画像のデジタル表現を、ディスプレイ６１６によって解釈され表示されるディスプレイ信号に変換する信号変換器を通して、グラフィックスインターフェース６１４と通信し得る。ディスプレイデバイスによって生成されたディスプレイ信号は、様々な制御デバイスを通過して、その後、ディスプレイ６１６によって解釈され、引き続いて、ディスプレイ６１６上に表示され得る。
【００４２】
ハブインターフェース６１８は、ＭＣＨ６０８と入出力制御ハブ（ＩＣＨ）６２０とが通信することを可能にし得る。ＩＣＨ６２０は、コンピューティングシステム６００と通信するＩ／Ｏデバイスへのインターフェースを提供し得る。ＩＣＨ６２０は、周辺構成要素相互接続（ＰＣＩ）ブリッジ、ユニバーサルシリアルバス（ＵＳＢ）コントローラ、または他のタイプの周辺ブリッジもしくはコントローラなど、周辺ブリッジ（またはコントローラ）６２４を通してバス６２２と通信し得る。ブリッジ６２４は、プロセッサ６０２と周辺デバイスとの間のデータ経路を提供し得る。他のタイプのトポロジーが利用され得る。また、複数のバスは、例えば、複数のブリッジまたはコントローラを通して、ＩＣＨ６２０と通信し得る。その上、ＩＣＨ６２０と通信している他の周辺機器は、様々な例では、統合型ドライブエレクトロニクス（ＩＤＥ）もしくは小型コンピュータシステムインターフェース（ＳＣＳＩ）ハードドライブ、ＵＳＢポート、キーボード、マウス、パラレルポート、シリアルポート、フロッピー（登録商標）ディスクドライブ、デジタル出力サポート（例えば、デジタルビデオインターフェース（ＤＶＴ））、または他のデバイスを含み得る。
【００４３】
バス６２２は、オーディオデバイス６２６、一つまたはそれ以上のディスクドライブ６２８、および（コンピュータネットワーク６０３と通信している）ネットワークインターフェースデバイス６３０と通信し得る。他のデバイスがバス６２２を介して通信し得る。また、（ネットワークインターフェースデバイス６３０などの）様々な構成要素は、いくつかの例では、ＭＣＨ６０８と通信し得る。さらに、本明細書で説明するプロセッサ６０２および一つまたはそれ以上の他の構成要素は、シングルチップを形成するために（例えば、システムオンチップ（ＳＯＣ）を提供するために）組み合わされ得る。さらに、グラフィックアクセラレータ６１６は、他の例ではＭＣＨ６０８内に含まれ得る。
【００４４】
さらに、コンピューティングシステム６００は、揮発性および／または不揮発性メモリ（またはストレージ）を含み得る。例えば、不揮発性メモリは、読取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的ＥＰＲＯＭ（ＥＥＰＲＯＭ）、ディスクドライブ（例えば、６２８）、フロッピー（登録商標）ディスク、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、フラッシュメモリ、光磁気ディスク、または（例えば、命令を含む）電子データを記憶することが可能である他のタイプの不揮発性機械可読媒体のうちの一つまたはそれ以上を含み得る。
【００４５】
図７は、一例による、コンピューティングシステム７００のブロック図を示す。システム７００は、（本明細書では「（複数の）プロセッサ７０２」または「（１つの）プロセッサ７０２」と総称する）一つまたはそれ以上のプロセッサ７０２−１〜７０２−Ｎを含み得る。プロセッサ７０２は、相互接続ネットワークまたはバス７０４を介して通信し得る。各プロセッサは様々な構成要素を含むことができ、そのうちのいくつかについて、明快のためにプロセッサ７０２−１のみに関して説明する。従って、残りのプロセッサ７０２−２〜７０２−Ｎの各々は、プロセッサ７０２−１に関して説明するのと同じ、または、同様な構成要素を含み得る。
【００４６】
一例では、プロセッサ７０２−１は、（本明細書では「（複数の）コア７０６」またはより全般的に「（１つの）コア７０６」と呼ぶ）一つまたはそれ以上のプロセッサコア７０６−１〜７０６−Ｍ、共有キャッシュ７０８、ルータ７１０、ならびに／あるいは、プロセッサ制御論理またはユニット７２０を含み得る。プロセッサコア７０６はシングル集積回路（ＩＣ）チップ上に実装され得る。その上、チップは、（キャッシュ７０８などの）一つまたはそれ以上の共有および／またはプライベートキャッシュ、（バスまたは相互接続ネットワーク７１２などの）バスまたは相互接続、メモリコントローラ、あるいは他の構成要素を含み得る。
【００４７】
一例では、ルータ７１０は、プロセッサ７０２−１および／またはシステム７００の様々な構成要素間で通信するために使用され得る。その上、プロセッサ７０２−１は、２つ以上のルータ７１０を含み得る。さらに、プロセッサ７０２−１の内部または外部の様々な構成要素間のデータルーティングを可能にするために多数のルータ７１０が通信中であり得る。
【００４８】
共有キャッシュ７０８は、コア７０６など、プロセッサ７０２−１の一つまたはそれ以上の構成要素によって利用される（例えば、命令を含む）データを記憶し得る。例えば、共有キャッシュ７０８は、メモリ７１４に記憶されたデータを、プロセッサ７０２の構成要素によるより高速なアクセスのためにローカルにキャッシュし得る。一例では、キャッシュ７０８は、（レベル２（Ｌ２）、レベル３（Ｌ３）、レベル４（Ｌ４）、もしくは他のレベルのキャッシュなどの）中間レベルキャッシュ、最終レベルキャッシュ（ＬＬＣ）、および／またはそれらの組合せを含み得る。その上、プロセッサ７０２−１の様々な構成要素は、バス（例えば、バス７１２）、および／または、メモリコントローラもしくはハブを通して、共有キャッシュ７０８と直接通信し得る。図７に示されているように、いくつかの例では、コア７０６のうちの一つまたはそれ以上は、（本明細書では「Ｌ１キャッシュ７１６」と総称する）レベル１（Ｌ１）キャッシュ７１６−１を含み得る。一例では、制御ユニット７２０は、図２のメモリコントローラ１２２に関して上記で説明した動作を実装するための論理を含み得る。
【００４９】
図８は、一例による、プロセッサコア７０６の部分と、コンピューティングシステムの他の構成要素とのブロック図を示す。一例では、図８に示されている矢印は、コア７０６を通る命令のフロー方向を示す。（プロセッサコア７０６などの）一つまたはそれ以上のプロセッサコアは、図７を参照しながら説明したように、シングル集積回路チップ（またはダイ）上に実装され得る。その上、チップは、一つまたはそれ以上の共有および／またはプライベートキャッシュ（例えば、図７のキャッシュ７０８）、相互接続（例えば、図７の相互接続７０４および／または１１２）、制御ユニット、メモリコントローラ、あるいは他の構成要素を含み得る。
【００５０】
図８に示されているように、プロセッサコア７０６は、コア７０６による実行のための（条件付き分岐をもつ命令を含む）命令をフェッチするためのフェッチユニット８０２を含み得る。命令は、メモリ７１４など、どんな記憶デバイスからもフェッチされ得る。コア７０６はまた、フェッチされた命令を復号するための復号ユニット８０４を含み得る。例えば、復号ユニット８０４は、フェッチされた命令を複数のｕｏｐ（マイクロ操作）に復号し得る。
【００５１】
さらに、コア７０６はスケジュールユニット８０６を含み得る。スケジュールユニット８０６は、命令のディスパッチの準備ができるまで、例えば、復号された命令のすべてのソース値が利用可能になるまで、（例えば、復号ユニット８０４から受信された）復号された命令を記憶することに関連する様々な動作を実施し得る。一例では、スケジュールユニット８０６は、復号された命令を実行のために実行ユニット８０８にスケジュールおよび／または発行（もしくはディスパッチ）し得る。実行ユニット８０８は、ディスパッチされた命令が（例えば、復号ユニット８０４によって）復号され（例えば、スケジュールユニット８０６によって）ディスパッチされた後に、それらの命令を実行し得る。一例では、実行ユニット８０８は、２つ以上の実行ユニットを含み得る。実行ユニット８０８は、加算、減算、乗算、および／または、除算など、様々な算術演算をも実施することができ、一つまたはそれ以上の算術論理ユニット（ＡＬＵ）を含み得る。一例では、コプロセッサ（図示せず）が、実行ユニット８０８と連携して様々な算術演算を実施し得る。
【００５２】
さらに、実行ユニット８０８は命令をアウトオブオーダー（ｏｕｔ−ｏｆ−ｏｒｄｅｒ）に実行し得る。従って、プロセッサコア７０６は、一例では、アウトオブオーダープロセッサコアであり得る。コア７０６はまた、退去ユニット８１０を含み得る。退去ユニット８１０は、実行命令がコミットされた後にそれらの命令を退去させ得る。一例では、実行命令の退去により、プロセッサ状態が命令の実行からコミットされること、命令によって使用された物理レジスタが割当て解除されることなどが生じ得る。
【００５３】
コア７０６はまた、一つまたはそれ以上のバス（例えば、バス７０４および／または７１２）を介してプロセッサコア７０６の構成要素と（図８を参照しながら説明した構成要素などの）他の構成要素との間の通信を可能にするためのバスユニット８１４を含み得る。コア７０６は、また、コア７０６の様々な構成要素によってアクセスされる（電力消費状態設定に関係する値などの）データを記憶するための一つまたはそれ以上のレジスタ８１６を含み得る。
【００５４】
さらに、図７は、制御ユニット７２０が、相互接続８１２を介してコア７０６に結合されることを示しているが、様々な例では、制御ユニット７２０は、コア７０６の内部などの他の場所に配置されたり、バス７０４を介してコアに結合されたりなどされ得る。
【００５５】
いくつかの例では、本明細書で説明する構成要素のうちの一つまたはそれ以上が、システムオンチップ（ＳＯＣ）デバイスとして具備され得る。図９は、一例によるＳＯＣパッケージのブロック図を示す。図９に示されているように、ＳＯＣ９０２は、一つまたはそれ以上のプロセッサコア９２０と、一つまたはそれ以上のグラフィックスプロセッサコア９３０と、入出力（Ｉ／Ｏ）インターフェース９４０と、メモリコントローラ９４２とを含む。ＳＯＣパッケージ９０２の様々な構成要素は、他の図を参照しながら本明細書で説明したように相互接続またはバスに結合され得る。また、ＳＯＣパッケージ９０２は、他の図を参照しながら本明細書で説明したもののように、より多くの、または、より少ない構成要素を含み得る。さらに、ＳＯＣパッケージ９０２の各構成要素は、例えば、本明細書の他の図を参照しながら説明したように、一つまたはそれ以上の他の構成要素を含み得る。一例では、ＳＯＣパッケージ９０２（およびそれの構成要素）は、例えば、単一の半導体デバイス中にパッケージングされた、一つまたはそれ以上の集積回路（ＩＣ）ダイ上に設けられる。
【００５６】
図９に示されているように、ＳＯＣパッケージ９０２は、メモリコントローラ９４２を介して（他の図を参照しながら本明細書で説明したメモリと同様または同じであり得る）メモリ９６０に結合される。一例では、メモリ９６０（またはそれの一部分）はＳＯＣパッケージ９０２上に組み込まれ得る。
【００５７】
Ｉ／Ｏインターフェース９４０は、例えば、他の図を参照しながら本明細書で説明したように、相互接続および／またはバスを介して、一つまたはそれ以上のＩ／Ｏデバイス９７０に結合され得る。Ｉ／Ｏデバイス９７０は、キーボード、マウス、タッチパッド、ディスプレイ、（カメラまたはカムコーダ／ビデオレコーダなどの）画像／ビデオキャプチャデバイス、タッチ面、スピーカーなどのうちの一つまたはそれ以上を含み得る。
【００５８】
図１０は、一例による、ポイントツーポイント（ＰｔＰ）構成で配置されたコンピューティングシステム１０００を示す。特に、図１０は、プロセッサ、メモリ、および入出力デバイスがいくつかのポイントツーポイントインターフェースによって相互接続されたシステムを示す。図２を参照しながら説明した動作は、システム１０００の一つまたはそれ以上の構成要素によって実施され得る。
【００５９】
図１０に示されているように、システム１０００はいくつかのプロセッサを含んでよく、そのうち、明快のためにプロセッサ１００２および１００４の２つのみが示されている。プロセッサ１００２および１００４は、それぞれ、メモリ１０１０および１０１２との通信を可能にするためのローカルメモリコントローラハブ（ＭＣＨ）１００６および１００８を含み得る。ＭＣＨ１００６および１００８は、いくつかの例では、図１のメモリコントローラ１２０および／または論理１２５を含み得る。
【００６０】
一例では、プロセッサ１００２および１００４は、図７を参照しながら説明したプロセッサ７０２のうちの１つであり得る。プロセッサ１００２および１００４は、それぞれ、ＰｔＰインターフェース回路１０１６および１０１８を使用してポイントツーポイント（ＰｔＰ）インターフェース１０１４を介してデータを交換し得る。また、プロセッサ１００２および１００４はそれぞれ、ポイントツーポイントインターフェース回路１０２６、１０２８、１０３０、および１０３２を使用して個々のＰｔＰインターフェース１０２２および１０２４を介してチップセット１０２０とデータを交換し得る。チップセット１０２０はさらに、例えば、ＰｔＰインターフェース回路１０３７を使用して、高性能グラフィックスインターフェース１０３６を介して高性能グラフィックス回路１０３４とデータを交換し得る。
【００６１】
図１０に示されているように、図１のコア１０６および／またはキャッシュ１０８のうちの一つまたはそれ以上はプロセッサ１００４内に配置され得る。しかしながら、他の例では、図１０のシステム１０００内の他の回路、論理ユニット、またはデバイス中に存在し得る。さらに、他の例は、図１０に示されているいくつかの回路、論理ユニット、またはデバイス全体にわたって分散され得る。
【００６２】
チップセット１０２０は、ＰｔＰインターフェース回路１０４１を使用してバス１０４０と通信し得る。バス１０４０は、バスブリッジ１０４２およびＩ／Ｏデバイス１０４３など、それと通信する一つまたはそれ以上のデバイスを有し得る。バス１０４４を介して、バスブリッジ１０４３は、キーボード／マウス１０４５、（モデム、ネットワークインターフェースデバイス、もしくはコンピュータネットワーク１００３と通信し得る他の通信デバイスなどの）通信デバイス１０４６、オーディオＩ／Ｏデバイス、および／またはデータ記憶デバイス１０４８など、他のデバイスと通信し得る。（ハードディスクドライブまたはＮＡＮＤフラッシュベースのソリッドステートドライブであり得る）データ記憶デバイス１０４８は、プロセッサ１００４によって実行され得るコード１０４９を記憶し得る。
【００６３】
本明細書で言及する「論理命令（”ｌｏｇｉｃ  ｉｎｓｔｒｕｃｔｉｏｎ”）」という用語は、一つまたはそれ以上の論理演算を実施するための一つまたはそれ以上の機械によって理解され得る表現に関する。例えば、論理命令は、一つまたはそれ以上のデータオブジェクトに対して一つまたはそれ以上の演算を実行するためのプロセッサコンパイラによって解釈可能な命令を含み得る。しかしながら、これは機械可読命令の一例示にすぎず、実施例は、この点において限定されない。
【００６４】
本明細書で言及する「コンピュータ可読媒体（”ｃｏｍｐｕｔｅｒ  ｒｅａｄａｂｌｅ  ｍｅｄｉｕｍ”）」という用語は、一つまたはそれ以上の機械が知覚できる表現を維持することが可能な媒体に関する。例えば、コンピュータ可読媒体は、コンピュータ可読命令またはデータを記憶するための一つまたはそれ以上の記憶デバイスを備え得る。そのような記憶デバイスは、例えば、光記憶媒体、磁気記憶媒体または半導体記憶媒体などの記憶媒体を備え得る。しかしながら、これはコンピュータ可読媒体の一例示にすぎず、実施例は、この点において限定されない。
【００６５】
本明細書で言及する「論理（”ｌｏｇｉｃ”）」という用語は、一つまたはそれ以上の論理演算を実施するための構造に関する。例えば、論理は、一つまたはそれ以上の入力信号に基づいて一つまたはそれ以上の出力信号を提供する回路を備え得る。そのような回路は、デジタル入力を受け取り、デジタル出力を供給する有限状態機械、あるいは、一つまたはそれ以上のアナログ入力信号に応答して、一つまたはそれ以上のアナログ出力信号を供給する回路を備え得る。そのような回路は特定用途向け集積回路（ＡＳＩＣ）またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）中に設けられ得る。また、論理は、メモリに記憶された機械可読命令を、そのような機械可読命令を実行するための処理回路との組合せで備え得る。しかしながら、これらは論理を提供し得る構造の例示にすぎず、実施例は、この点において限定されない。
【００６６】
本明細書で説明する方法のいくつかは、コンピュータ可読媒体上に論理命令として具備され得る。プロセッサ上で実行されたとき、論理命令により、プロセッサは、説明した方法を実装する専用機械としてプログラムされる。プロセッサは、本明細書で説明する方法を実行するように論理命令によって構成されたとき、説明した方法を実施するための構造となる。代替的に、本明細書で説明する方法は、例えば、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）などの上の論理に簡約され得る。
【００６７】
本明細書および特許請求の範囲では、結合された（ｃｏｕｐｌｅｄ）、および、接続された（ｃｏｎｎｅｃｔｅｄ）という用語がそれらの派生形とともに使用されることがある。特定の例では、接続されたは、２つ以上の要素が互いに直接に物理的または電気的に接触していることを示すために使用され得る。結合されたは、２つ以上の要素が直接物理的または電気的に接触していることを意味し得る。ただし、結合されたは、２つ以上の要素が互いに直接接触していないことがあるが、それでも依然として互いに協働または相互作用し得ることをも意味し得る。
【００６８】
本明細書における「一例」または「いくつかの例」への言及は、それらの例に関連して説明する特定の特徴、構造、または特性が、少なくとも一実装形態中に含まれることを意味する。本明細書の様々な場所における「一例では」という句の出現は、同じ例をすべて参照していることもあれば、そうでないこともある。
【００６９】
構造的特徴および／または方法論的行為に固有の文言において実施例について説明したが、請求する主題は、説明した特定の特徴または行為に限定されなくてよいことを理解されたい。そうではなく、特定の特徴および行為は、請求する主題を実装する例示的な形態として開示される。
【図１】
0006434136.tif 000007
【図２Ａ】
0006434136.tif 000008
【図２Ｂ】
0006434136.tif 000009
【図３Ａ】
0006434136.tif 000010
【図３Ｂ】
0006434136.tif 000011
【図３Ｃ】
0006434136.tif 000012
【図３Ｄ】
0006434136.tif 000013
【図３Ｅ】
0006434136.tif 000014
【図３Ｆ】
0006434136.tif 000015
【図４】
0006434136.tif 000016
【図５】
0006434136.tif 000017
【図６】
0006434136.tif 000018
【図７】
0006434136.tif 000019
【図８】
0006434136.tif 000020
【図９】
0006434136.tif 000021
【図１０】
0006434136.tif 000022