【手続補正書】
【提出日】平成29年1月25日(2017.1.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のプロセッサを備えるシステムにおいて、複数のプロセッサ上でオペレーティングシステムの単一のインスタンスを実行する方法であって、各プロセッサは関連付けられた異なる命令セットアーキテクチャを有し、前記方法は、
第1の命令セットアーキテクチャと関連付けられ、かつ仮想アドレスに基づいて共有データ構造内の第1のテーブルエントリにアクセスするように構成される第1のプロセッサ上で第1のコードを実行するステップであって、前記第1のテーブルエントリは前記仮想アドレスにマッピングされる、ステップと、
前記第1のコードを実行する間に、オペレーティングシステムイベントを実行するステップと、
前記オペレーティングシステムイベントを実行するときに、前記第1のコードの実行を停止するとともに、第2の異なる命令セットアーキテクチャと関連付けられ、かつ前記仮想アドレスに基づいて前記共有データ構造内の第2のテーブルエントリにアクセスするように構成される第2のプロセッサ上で前記オペレーティングシステムイベントを取り扱うための第2のコードの実行を始動するステップであって、前記第2のテーブルエントリは前記仮想アドレスにマッピングされる、ステップと、
前記オペレーティングシステムイベントを取り扱う前記第2のコードの実行が完了するときに、前記第2のコードを停止するとともに前記第1のプロセッサ上で前記第1のコードの実行を再開するステップであって、前記第1のテーブルエントリと前記第2のテーブルエントリは前記共有データ構造内の第1の位置特定識別子と第2の位置特定識別子のそれぞれに対応する、ステップと
を含み、
前記第1の位置特定識別子と前記第2の位置特定識別子とは異なる、方法。
【請求項２】
前記第1のプロセッサと前記第2のプロセッサの各々は、前記共有データ構造を備える同じコヒーレントメモリにアクセスするように構成され、前記第1のプロセッサおよび前記第2のプロセッサはモバイルコンピューティングデバイスに一体化される、請求項1に記載の方法。
【請求項３】
前記共有データ構造の共通の仮想アドレス空間は、
前記第1のプロセッサ上で実行するようにコンパイルされた機能の第1のバージョンに対応する第1の機能テーブルであって、前記機能の前記第1のバージョンは前記第1のコードを用いて表される、第1の機能テーブルと、
前記第2のプロセッサ上で実行するようにコンパイルされた前記機能の第2のバージョンに対応する第2の機能テーブルであって、前記機能の前記第2のバージョンは前記第2のコードを用いて表される、第2の機能テーブルと
を備える、請求項1または2に記載の方法。
【請求項４】
前記第1のプロセッサおよび前記第2のプロセッサは、プロセッサ間メッセージ伝達、共有メモリ、アプリケーションプログラミングインターフェース(API)、またはこれらの任意の組合せを介して互いに通信するように構成される、請求項1〜3のいずれか一項に記載の方法。
【請求項５】
前記第1のプロセッサは複数のハードウェアスレッドを有するデジタル信号プロセッサ(DSP)を備え、前記第2のプロセッサはマルチコア中央処理ユニット(CPU)を備える、請求項1〜4のいずれか一項に記載の方法。
【請求項６】
前記オペレーティングシステムイベントは、ページフォールト、トラップ、システムフォールト、システムリクエスト、ハードウェアエラー、アドレスエラー、許可違反、またはこれらの任意の組合せを備える、請求項1〜5のいずれか一項に記載の方法。
【請求項７】
前記オペレーティングシステムイベントは、実行の流れをオペレーティングシステムのユーザモードから前記オペレーティングシステムのカーネルモードに遷移させる、請求項1〜6のいずれか一項に記載の方法。
【請求項８】
複数のプロセッサを備えるシステムにおいて、複数のプロセッサ上でオペレーティングシステムの単一のインスタンスを実行する方法であって、各プロセッサは関連付けられた異なる命令セットアーキテクチャを有し、前記方法は、
第1の命令セットアーキテクチャを有する第1のプロセッサおよび第2の異なる命令セットアーキテクチャを有する第2のプロセッサ上で同時に実行可能なオペレーティングシステムのスケジューラにおいて、実行のためにタスクをスケジュール設定させる要求を受け取るステップであって、前記第1のプロセッサは仮想アドレスに基づいて共有データ構造内の第1のテーブルエントリにアクセスするように構成され、前記第1のテーブルエントリは前記仮想アドレスにマッピングされ、前記第2のプロセッサは前記仮想アドレスに基づいて前記共有データ構造内の第2のテーブルエントリにアクセスするように構成され、前記第2のテーブルエントリは前記仮想アドレスにマッピングされる、受け取るステップと、
前記タスクが前記第1のプロセッサ上の前記第1の命令セットアーキテクチャを用い、かつ前記第2のプロセッサ上の前記第2の命令セットアーキテクチャを用いた実行のために利用可能であるとの判定に応答して、少なくとも1つの選択基準に基づいて前記第1のプロセッサ上での前記タスクをスケジュール設定するステップと、
前記タスクの実行の間に、前記タスクの実行を前記第1のプロセッサから前記第2のプロセッサに切り替えるステップと
を含む、方法。
【請求項９】
前記少なくとも1つの選択基準は、前記タスクと関連付けられた最低パワー使用を備える、請求項8に記載の方法。
【請求項１０】
前記少なくとも1つの選択基準は、最小負荷のプロセッサ、前記タスクのタイプ、前記タスクと関連付けられた最低パワー使用、またはこれらの任意の組合せを備え、前記タスクの実行を切り替えるステップは、
前記第1のプロセッサからのシステムコールを始動するステップと、
前記タスクを前記第1のプロセッサのスケジュールから除去するステップと、
前記タスクを前記第2のプロセッサのスケジュールに追加するステップと、
前記第2のプロセッサ上の前記システムコールから復帰するステップと
を含む、請求項8または9に記載の方法。
【請求項１１】
複数のプロセッサを備えるシステムにおいて、複数のプロセッサ上でオペレーティングシステムの単一のインスタンスを実行するための装置であって、各プロセッサは関連付けられた異なる命令セットアーキテクチャを有し、前記装置は、
第1の命令セットアーキテクチャと関連付けられ、かつ仮想アドレスに基づいて共有データ構造内の第1のテーブルエントリにアクセスするように構成される第1のプロセッサ上で第1のコードを実行するための手段であって、前記第1のテーブルエントリは前記仮想アドレスにマッピングされる、手段と、
前記第1のコードを実行する間に、オペレーティングシステムイベントを実行するための手段と、
前記オペレーティングシステムイベントを実行するときに、前記第1のコードの実行を停止するとともに、第2の異なる命令セットアーキテクチャと関連付けられ、かつ前記仮想アドレスに基づいて前記共有データ構造内の第2のテーブルエントリにアクセスするように構成される第2のプロセッサ上で前記オペレーティングシステムイベントを取り扱うための第2のコードの実行を始動するための手段であって、前記第2のテーブルエントリは前記仮想アドレスにマッピングされる、手段と、
前記オペレーティングシステムイベントを取り扱う前記第2のコードの実行が完了するときに、前記第2のコードを停止するとともに前記第1のプロセッサ上で前記第1のコードの実行を再開するための手段であって、前記第1のテーブルエントリと前記第2のテーブルエントリは前記共有データ構造内の第1の位置特定識別子と第2の位置特定識別子のそれぞれに対応する、手段と
を備え、
前記第1の位置特定識別子と前記第2の位置特定識別子とは異なる、装置。
【請求項１２】
前記第1のプロセッサおよび前記第2のプロセッサの上で同時に実行可能なオペレーティングシステムの少なくとも一部分を記憶するメモリ
をさらに備える、請求項11に記載の装置。
【請求項１３】
前記第1のテーブルエントリと前記第2のテーブルエントリは異なり、
前記第1のプロセッサおよび前記第2のプロセッサはモバイルコンピューティングデバイスに一体化される、請求項11または12に記載の装置。
【請求項１４】
複数のプロセッサを備えるシステムにおいて、複数のプロセッサ上でオペレーティングシステムの単一のインスタンスを実行するための装置であって、各プロセッサは関連付けられた異なる命令セットアーキテクチャを有し、前記装置は、
第1の命令セットアーキテクチャを有する第1のプロセッサおよび第2の異なる命令セットアーキテクチャを有する第2のプロセッサ上で同時に実行可能なオペレーティングシステムのスケジューラにおいて、実行のためにタスクをスケジュール設定させる要求を受け取るための手段であって、前記第1のプロセッサは仮想アドレスに基づいて共有データ構造内の第1のテーブルエントリにアクセスするように構成され、前記第1のテーブルエントリは前記仮想アドレスにマッピングされ、前記第2のプロセッサは前記仮想アドレスに基づいて前記共有データ構造内の第2のテーブルエントリにアクセスするように構成され、前記第2のテーブルエントリは前記仮想アドレスにマッピングされる、手段と、
前記タスクが前記第1のプロセッサ上の前記第1の命令セットアーキテクチャを用い、かつ前記第2のプロセッサ上の前記第2の命令セットアーキテクチャを用いた実行のために利用可能であるとの判定に応答して、少なくとも1つの選択基準に基づいて前記第1のプロセッサ上での前記タスクをスケジュール設定するための手段と、
前記タスクの実行の間に、前記タスクの実行を前記第1のプロセッサから前記第2のプロセッサに切り替えるための手段と
を備える、装置。
【請求項１５】
オペレーティングシステムの単一のインスタンスを備える非一時的コンピュータ可読記録媒体であって、
前記オペレーティングシステムの前記単一のインスタンスは、第1のプロセッサおよび第2のプロセッサを備える電子デバイスで実行されるときに、前記プロセッサに請求項1〜10のいずれか一項に記載の方法を実施させる、非一時的コンピュータ可読記録媒体。