【手続補正書】
【提出日】平成28年10月19日(2016.10.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
物理アドレス入力を使用してリバーストランスレーションルックアサイドバッファ(TLB)ルックアップを実行するための方法であって、
第1のプロセッサによって前記物理アドレス入力を取得するステップであって、前記物理アドレス入力は、共有メモリに対応する物理アドレスを示すステップと、
前記第1のプロセッサに関連するTLB内の第1のTLBエントリから第1の仮想アドレスに関連する第1のマスクを取得するステップであって、前記取得された第1のマスクはビットパターンであるステップと、
前記第1のTLBエントリから前記共有メモリに関連する第1のページフレーム番号を取得するステップと、
第1の値を生成するために前記取得された第1のマスクを前記取得された第1のページフレーム番号に適用するステップと、
第2の値を生成するために前記取得された第1のマスクを前記取得された物理アドレス入力に適用するステップと、
前記第1の値および前記第2の値が一致するかどうかを判定するために前記第1の値と前記第2の値を比較するステップとを含む方法。
【請求項２】
前記第1の値および前記第2の値が一致しないと判定したことに応答して前記TLB内の他のTLBエントリから第2のマスクおよび第2のページフレーム番号を反復的に取得するステップと、
前記第1の値を生成するために前記取得された第2のマスクを前記取得された第2のページフレーム番号に反復的に適用するステップと、
前記第2の値を生成するために前記取得された第2のマスクを前記取得された物理アドレス入力に反復的に適用するステップとをさらに含み、
前記第1の値および前記第2の値が一致するかどうかを判定するために前記第1の値と前記第2の値を比較するステップは、前記第1の値および前記第2の値が一致するかどうかを判定するために前記第1の値と前記第2の値を反復的に比較するステップを含む、請求項1に記載の方法。
【請求項３】
前記第1の値を生成するために前記取得された第2のマスクを前記取得された第2のページフレーム番号に反復的に適用するステップは、システムページテーブル内のエントリから得たページフレーム番号を複製せずに再使用するステップを含む、請求項2に記載の方法。
【請求項４】
前記第1の値および前記第2の値が一致すると判定したことに応答して前記第1のTLBエントリをフラッシングするステップをさらに含む、請求項1に記載の方法。
【請求項５】
TLBアクションおよび前記物理アドレスを示すメッセージを第2のプロセッサに送信するステップをさらに含み、前記TLBアクションはTLBフラッシュ演算を含む、請求項1に記載の方法。
【請求項６】
前記第1の値および前記第2の値が一致すると判定したことに応答して前記第1のTLBエントリのインデックスを返すステップをさらに含む、請求項1に記載の方法。
【請求項７】
前記第1のプロセッサによって前記物理アドレス入力を取得するステップは、TLBアクションと前記物理アドレスとを含むメッセージを第2のプロセッサから受信するステップを含み、
前記方法は、
前記第2のプロセッサによって送信された前記メッセージを受信したことに応答してアクティブフラグをクリアするステップと、
前記第1のTLBエントリの前記返されたインデックスを使用して前記受信されたメッセージ内に示された前記TLBアクションを実行するステップと、
前記TLBアクションを実行したことに応答して前記アクティブフラグをセットするステップとをさらに含む、請求項6に記載の方法。
【請求項８】
マルチコア異種コンピューティングデバイスであって、
第1のプロセッサによって物理アドレス入力を取得するための手段であって、前記物理アドレス入力は、共有メモリに対応する物理アドレスを示す手段と、
前記第1のプロセッサに関連するTLB内の第1のTLBエントリから第1の仮想アドレスに関連する第1のマスクを取得するための手段であって、前記取得された第1のマスクはビットパターンである手段と、
前記第1のTLBエントリから前記共有メモリに関連する第1のページフレーム番号を取得するための手段と、
第1の値を生成するために前記取得された第1のマスクを前記取得された第1のページフレーム番号に適用するための手段と、
第2の値を生成するために前記取得された第1のマスクを前記取得された物理アドレス入力に適用するための手段と、
前記第1の値および前記第2の値が一致するかどうかを判定するために前記第1の値と前記第2の値を比較するための手段とを備えるマルチコア異種コンピューティングデバイス。
【請求項９】
前記第1の値および前記第2の値が一致しないと判定したことに応答して前記TLB内の他のTLBエントリから第2のマスクおよび第2のページフレーム番号を反復的に取得するための手段と、
前記第1の値を生成するために前記取得された第2のマスクを前記取得された第2のページフレーム番号に反復的に適用するための手段と、
前記第2の値を生成するために前記取得された第2のマスクを前記取得された物理アドレス入力に反復的に適用するための手段とをさらに備え、
前記第1の値および前記第2の値が一致するかどうかを判定するために前記第1の値と前記第2の値を比較するための手段は、前記第1の値および前記第2の値が一致するかどうかを判定するために前記第1の値と前記第2の値を反復的に比較するための手段を備える、請求項8に記載のマルチコア異種コンピューティングデバイス。
【請求項１０】
前記第1の値を生成するために前記取得された第2のマスクを前記取得された第2のページフレーム番号に反復的に適用するための手段は、システムページテーブル内のエントリから得たページフレーム番号を複製せずに再使用するための手段を備える、請求項9に記載のマルチコア異種コンピューティングデバイス。
【請求項１１】
前記第1の値および前記第2の値が一致すると判定したことに応答して前記第1のTLBエントリをフラッシングするための手段をさらに備える、請求項8に記載のマルチコア異種コンピューティングデバイス。
【請求項１２】
TLBアクションおよび前記物理アドレスを示すメッセージを第2のプロセッサに送信するための手段をさらに備え、前記TLBアクションはTLBフラッシュ演算を含む、請求項8に記載のマルチコア異種コンピューティングデバイス。
【請求項１３】
前記第1の値および前記第2の値が一致すると判定したことに応答して前記第1のTLBエントリのインデックスを返すための手段をさらに備える、請求項8に記載のマルチコア異種コンピューティングデバイス。
【請求項１４】
前記第1のプロセッサによって物理アドレス入力を取得するための手段は、TLBアクションと前記物理アドレスとを含むメッセージを第2のプロセッサから受信するための手段を備え、
前記マルチコア異種コンピューティングデバイスは、
前記第2のプロセッサによって送信された前記メッセージを受信したことに応答してアクティブフラグをクリアするための手段と、
前記第1のTLBエントリの前記返されたインデックスを使用して前記受信されたメッセージ内に示された前記TLBアクションを実行するための手段と、
前記TLBアクションを実行したことに応答して前記アクティブフラグをセットするための手段とをさらに備える、請求項13に記載のマルチコア異種コンピューティングデバイス。
【請求項１５】
マルチコア異種コンピューティングデバイスであって、
第1のプロセッサと、
第2のプロセッサと、
共有メモリであって、前記第1のプロセッサは、動作を実行するためのプロセッサ実行可能命令を有するように構成され、前記動作は、
前記第1のプロセッサによって物理アドレス入力を取得することであって、前記物理アドレス入力は、共有メモリに対応する物理アドレスを示すことと、
前記第1のプロセッサに関連するTLB内の第1のTLBエントリから第1の仮想アドレスに関連する第1のマスクを取得することであって、前記取得された第1のマスクはビットパターンであることと、
前記第1のTLBエントリから前記共有メモリに関連する第1のページフレーム番号を取得することと、
第1の値を生成するために前記取得された第1のマスクを前記取得された第1のページフレーム番号に適用することと、
第2の値を生成するために前記取得された第1のマスクを前記取得された物理アドレス入力に適用することと、
前記第1の値および前記第2の値が一致するかどうかを判定するために前記第1の値と前記第2の値を比較することとを含むマルチコア異種コンピューティングデバイス。
【請求項１６】
前記第1のプロセッサは、動作を実行するためのプロセッサ実行可能命令を有するように構成され、前記動作は、
前記第1の値および前記第2の値が一致しないと判定したことに応答して前記TLB内の他のTLBエントリから第2のマスクおよび第2のページフレーム番号を反復的に取得することと、
前記第1の値を生成するために前記取得された第2のマスクを前記取得された第2のページフレーム番号に反復的に適用することと、
前記第2の値を生成するために前記取得された第2のマスクを前記取得された物理アドレス入力に反復的に適用することとをさらに含み、
前記第1の値および前記第2の値が一致するかどうかを判定するために前記第1の値と前記第2の値を比較することは、前記第1の値および前記第2の値が一致するかどうかを判定するために前記第1の値と前記第2の値を反復的に比較することを含む、請求項15に記載のマルチコア異種コンピューティングデバイス。
【請求項１７】
前記第1のプロセッサは、前記第1の値を生成するために前記取得された第2のマスクを前記取得された第2のページフレーム番号に反復的に適用することが、システムページテーブル内のエントリから得たページフレーム番号を複製せずに再使用することを含むように動作を実行するためのプロセッサ実行可能命令を有するように構成される、請求項16に記載のマルチコア異種コンピューティングデバイス。
【請求項１８】
前記第1のプロセッサは、前記第1の値および前記第2の値が一致すると判定したことに応答して前記第1のTLBエントリをフラッシングすることをさらに含む動作を実行するためのプロセッサ実行可能命令を有するように構成される、請求項15に記載のマルチコア異種コンピューティングデバイス。
【請求項１９】
前記第1のプロセッサは、TLBアクションおよび前記物理アドレスを示すメッセージを第2のプロセッサに送信することをさらに含む動作を実行するためのプロセッサ実行可能命令を有するように構成され、前記TLBアクションはTLBフラッシュ演算を含む、請求項15に記載のマルチコア異種コンピューティングデバイス。
【請求項２０】
前記第1のプロセッサは、前記第1の値および前記第2の値が一致すると判定したことに応答して前記第1のTLBエントリのインデックスを返すことをさらに含む動作を実行するためのプロセッサ実行可能命令を有するように構成される、請求項15に記載のマルチコア異種コンピューティングデバイス。
【請求項２１】
前記第1のプロセッサは、前記第1のプロセッサによって前記物理アドレス入力を取得することが、TLBアクションと前記物理アドレスとを含むメッセージを前記第2のプロセッサから受信することを含むように動作を実行するためのプロセッサ実行可能命令を有するように構成され、
前記第1のプロセッサは、動作を実行するためのプロセッサ実行可能命令を有するように構成され、前記動作は、
前記第2のプロセッサによって送信された前記メッセージを受信したことに応答してアクティブフラグをクリアすることと、
前記第1のTLBエントリの前記返されたインデックスを使用して前記受信されたメッセージ内に示された前記TLBアクションを実行することと、
前記TLBアクションを実行したことに応答して前記アクティブフラグをセットすることとをさらに含む、請求項20に記載のマルチコア異種コンピューティングデバイス。
【請求項２２】
プロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記プロセッサ実行可能ソフトウェア命令は、第1のプロセッサに、
前記第1のプロセッサによって物理アドレス入力を取得することであって、前記物理アドレス入力は、共有メモリに対応する物理アドレスを示すことと、
前記第1のプロセッサに関連するTLB内の第1のTLBエントリから第1の仮想アドレスに関連する第1のマスクを取得することであって、前記取得された第1のマスクはビットパターンであることと、
前記第1のTLBエントリから前記共有メモリに関連する第1のページフレーム番号を取得することと、
第1の値を生成するために前記取得された第1のマスクを前記取得された第1のページフレーム番号に適用することと、
第2の値を生成するために前記取得された第1のマスクを前記取得された物理アドレス入力に適用することと、
前記第1の値および前記第2の値が一致するかどうかを判定するために前記第1の値と前記第2の値を比較することとを含む動作を実行させるように構成される非一時的プロセッサ可読記憶媒体。
【請求項２３】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記第1のプロセッサに、
前記第1の値および前記第2の値が一致しないと判定したことに応答して前記TLB内の他のTLBエントリから第2のマスクおよび第2のページフレーム番号を反復的に取得することと、
前記第1の値を生成するために前記取得された第2のマスクを前記取得された第2のページフレーム番号に反復的に適用することと、
前記第2の値を生成するために前記取得された第2のマスクを前記取得された物理アドレス入力に反復的に適用することとをさらに含む動作を実行させるように構成され、
前記第1の値および前記第2の値が一致するかどうかを判定するために前記第1の値と前記第2の値を比較することは、前記第1の値および前記第2の値が一致するかどうかを判定するために前記第1の値と前記第2の値を反復的に比較することを含む、請求項22に記載の非一時的プロセッサ可読記憶媒体。
【請求項２４】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記第1のプロセッサに、前記第1の値を生成するために前記取得された第2のマスクを前記取得された第2のページフレーム番号に反復的に適用することが、システムページテーブル内のエントリから得たページフレーム番号を複製せずに再使用することを含むように動作を実行させるように構成される、請求項23に記載の非一時的プロセッサ可読記憶媒体。
【請求項２５】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記第1のプロセッサに、前記第1の値および前記第2の値が一致すると判定したことに応答して前記第1のTLBエントリをフラッシングすることをさらに含む動作を実行させるように構成される、請求項22に記載の非一時的プロセッサ可読記憶媒体。
【請求項２６】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、第1のプロセッサに、TLBアクションおよび前記物理アドレスを示すメッセージを第2のプロセッサに送信することをさらに含む動作を実行させるように構成され、前記TLBアクションはTLBフラッシュ演算を含む、請求項22に記載の非一時的プロセッサ可読記憶媒体。
【請求項２７】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記第1のプロセッサに、前記第1の値および前記第2の値が一致すると判定したことに応答して前記第1のTLBエントリのインデックスを返すことをさらに含む動作を実行させるように構成される、請求項22に記載の非一時的プロセッサ可読記憶媒体。
【請求項２８】
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記第1のプロセッサに、前記第1のプロセッサによって前記物理アドレス入力を取得することが、TLBアクションと前記物理アドレスとを含むメッセージを第2のプロセッサから受信することを含むように動作を実行させるように構成され、
前記記憶されたプロセッサ実行可能ソフトウェア命令は、前記第1のプロセッサに、
前記第2のプロセッサによって送信された前記メッセージを受信したことに応答してアクティブフラグをクリアすることと、
前記第1のTLBエントリの前記返されたインデックスを使用して前記受信されたメッセージ内に示された前記TLBアクションを実行することと、
前記TLBアクションを実行したことに応答して前記アクティブフラグをセットすることとをさらに含む動作を実行させるように構成される、請求項27に記載の非一時的プロセッサ可読記憶媒体。