【手続補正書】
【提出日】平成26年12月5日(2014.12.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチプロセッシングコアシステム内のプロセッシングコアを備える装置であって、前記プロセッシングコアは、
指定された命令シーケンスが１つ以上のアトミック性基準の組を満たすことを検証して、１つ以上のキャッシュラインから１つ以上のターゲットレジスタを介してデータにアクセスするように構成された、検証された命令シーケンスを生成することであって、前記１つ以上のアトミック性基準は、前記指定された命令シーケンスにおけるどの命令も、共有メモリから前記１つ以上のターゲットレジスタ以外を介してデータにアクセスするように前記プロセッシングコアに命令しないという基準を含む、ことと、
前記検証された命令シーケンスが、再度検証する必要なくアトミックメモリトランザクションとして実行可能となるように、前記検証された命令シーケンスを記憶することと、
アトミックメモリトランザクションとして前記マルチプロセッシングコアシステムによって実行されるための、記憶された前記検証された命令シーケンスを呼び出すことであって、前記検証された命令シーケンスをアトミックメモリトランザクションとして実行することは、データを、前記１つ以上のキャッシュラインから前記１つ以上のターゲットレジスタに記憶することを含む、ことと、
を行うように構成されている、装置。
【請求項２】
前記プロセッシングコアは、前記検証されたシーケンスをアトミックメモリトランザクションとして実行するために、
前記命令シーケンスを実行して、前記１つ以上のターゲットレジスタに記憶された前記データを変更することと、
１つ以上の値を、前記１つ以上のターゲットレジスタから前記１つ以上のキャッシュラインに記憶することと、を行うように構成されている、請求項１に記載の装置。
【請求項３】
前記プロセッシングコアは、前記アトミックメモリトランザクションを実行するために、
メモリデータを前記１つ以上のキャッシュラインから前記１つ以上のターゲットレジスタに記憶する前に、前記１つ以上のキャッシュラインをロックすることと、
前記値を前記１つ以上のターゲットレジスタから前記１つ以上のキャッシュラインに記憶した後に、前記１つ以上のキャッシュラインのロックを解除することと、を行うように構成されており、
前記プロセッシングコアは、前記１つ以上のキャッシュラインをロックすることによって前記１つ以上のキャッシュラインがロックされている間、前記１つ以上のキャッシュラインに記憶された共有データを、１つ以上の他のプロセッシングコアに読み取りまたは変更させないようにする、請求項２に記載の装置。
【請求項４】
前記シーケンスがアトミックメモリトランザクションとして実行されることを示す特殊用途開始命令が、前記検証された命令シーケンスに先立ってなされ、前記特殊用途開始命令は前記１つ以上のキャッシュラインを示す、請求項２に記載の装置。
【請求項５】
前記プロセッシングコアは、マイクロコード検証エージェントを使用して、前記検証することを行うように構成されている、請求項１に記載の装置。
【請求項６】
前記マイクロコード検証エージェントは、
前記シーケンスの指標をユーザプログラムから受信し、
前記シーケンスの前記指標の受信に応じて、前記検証することと前記記憶することとを行う、ように構成されている、請求項５に記載の装置。
【請求項７】
前記検証エージェントは、前記記憶された前記検証されたシーケンスの識別子を、前記ユーザプログラムに戻すようにさらに構成されており、
前記アトミックメモリトランザクションを実行することは、前記ユーザプログラムが、前記識別子を使用して前記検証されたシーケンスを呼び出すことに応じて行われる、請求項６に記載の装置。
【請求項８】
前記検証エージェントは、前記シーケンスにおけるどの命令も、メモリ階層にアクセスするように前記プロセッシングコアに命令しないことを検証するようにさらに構成されている、請求項６に記載の装置。
【請求項９】
前記プロセッシングコアは、順方向の進行を保証した前記アトミックメモリトランザクションを実行するように構成されている、請求項１に記載の装置。
【請求項１０】
前記１つ以上のアトミック性基準の組は、
前記シーケンス内のどの命令も、前記シーケンス外の命令において実行を継続するように前記プロセッシングコアに命令しないという基準と、
前記シーケンス内のどの命令も、汎用レジスタ以外の前記プロセッシングコアのレジスタにアクセスするように前記プロセッシングコアに命令しないという基準と、
前記シーケンスの各命令が事前に指定された制限長形式で表現されているという基準と、
前記命令シーケンスの命令の数が、所与の最大制限値を超えないという基準と、
のうち１つ以上の基準を含む、請求項１に記載の装置。
【請求項１１】
マルチプロセッシングコアシステム内のプロセッシングコアが、１つ以上のアトミック性基準の組を命令シーケンスが満たすことを検証して、１つ以上のキャッシュラインから１つ以上のターゲットレジスタを介してデータにアクセスするように構成された、検証された命令シーケンスを生成するステップであって、前記１つ以上のアトミック性基準は、前記命令シーケンスにおけるどの命令も、共有メモリから前記１つ以上のターゲットレジスタ以外を介してデータにアクセスするように前記プロセッシングコアに命令しないという基準を含む、ステップと、
前記プロセッシングコアが、前記検証された命令シーケンスが、アトミック性について再度検証する必要なくアトミックメモリトランザクションとして実行可能となるように、前記検証された命令シーケンスを記憶するステップと、
前記記憶するステップの後に、前記検証された命令シーケンスをアトミックメモリトランザクションとして実行するステップであって、前記検証された命令シーケンスをアトミックメモリトランザクションとして実行するステップは、データを、前記１つ以上のキャッシュラインから前記１つ以上のターゲットレジスタに記憶することを含む、ステップと、を含む、方法。
【請求項１２】
前記アトミックメモリトランザクションを実行するステップは、
前記命令シーケンスを実行して、前記１つ以上のターゲットレジスタに記憶された前記データを変更するステップと、
１つ以上の値を、前記１つ以上のターゲットレジスタから前記１つ以上のキャッシュラインに記憶するステップと、を含む、請求項１１に記載の方法。
【請求項１３】
前記アトミックメモリトランザクションを実行するステップは、
メモリデータを前記１つ以上のキャッシュラインから前記１つ以上のターゲットレジスタに記憶する前に、前記１つ以上のキャッシュラインをロックするステップと、
前記値を前記１つ以上のターゲットレジスタから前記１つ以上のキャッシュラインに記憶した後に、前記１つ以上のキャッシュラインのロックを解除するステップと、をさらに含み、
前記プロセッシングコアは、前記１つ以上のキャッシュラインをロックすることによって前記１つ以上のキャッシュラインがロックされている間、前記１つ以上のキャッシュラインに記憶された共有データを、１つ以上の他のプロセッシングコアに読み取りまたは変更させないようにする、請求項１２に記載の方法。
【請求項１４】
前記プロセッシングコアは、
前記シーケンスの指標をユーザプログラムから受信し、
前記シーケンスの前記指標の受信に応じて、前記検証するステップと前記記憶するステップとを行う、
ように構成されたマイクロコード検証エージェントを使用して、前記検証するステップを行うように構成されている、請求項１１に記載の方法。
【請求項１５】
前記１つ以上のアトミック性基準の組は、
前記シーケンス内のどの命令も、前記シーケンス外の命令において実行を継続するように前記プロセッシングコアに命令しないという基準と、
前記シーケンス内のどの命令も、汎用レジスタ以外の前記プロセッシングコアのレジスタにアクセスするように前記プロセッシングコアに命令しないという基準と、
前記シーケンスの各命令が事前に指定された制限長形式で表現されているという基準と、
前記命令シーケンスの命令の数が、所与の最大制限値を超えないという基準と、
のうち１つ以上の基準を含む、請求項１１に記載の方法。