【手続補正書】
【提出日】平成30年10月4日(2018.10.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサを用いて、パイプの状態を示す2つ以上のパイプ状態パラメータを、単一のメモリトランザクションにおいて修正する、ハードウェアベースのアトミック読取り修正書込み動作を実行するステップであって、前記パイプは、タスク間通信をサポートするためのデータバッファに対応する、ステップ
を含む方法であって、前記2つ以上のパイプ状態パラメータは、いくつのパケットが前記パイプ内に現在記憶されているかを示すパラメータ、前記パイプのための開始パケットを記憶するパケットエントリを示すパラメータ、いくつのコミットされていない予約が前記パイプのために現在保留中であるかを示すパラメータ、またはいくつのパケットエントリが前記パイプ内で現在予約されているかを示すパラメータのうちの少なくとも2つを含み、前記1つまたは複数のプロセッサを用いて、前記ハードウェアベースのアトミック読取り修正書込み動作を実行するステップが、割込み不可能な動作のセットを実行するステップを含み、前記割込み不可能な動作のセットが、
メモリサブシステムから前記2つ以上のパイプ状態パラメータに対応する値を読み取る動作であって、前記メモリサブシステムから前記パイプ状態パラメータに対応する値を読み取る動作が、3つのパイプ状態パラメータのためのデータが、前記単一のメモリトランザクションにおいてレジスタのクワッドレジスタグループ内の3つの連続するレジスタ内で読み取れるまたは戻される動作を含み、前記レジスタのクワッドレジスタグループが、4つのレジスタを含む、動作と、
前記2つ以上のパイプ状態パラメータのための修正された値を生成する動作と、
前記2つ以上のパイプ状態パラメータのための前記修正された値を前記メモリサブシステムに書き込む動作と
を含む、方法。
【請求項２】
前記2つ以上のパイプ状態パラメータが、第1のパイプ状態パラメータと第2のパイプ状態パラメータとを備え、前記2つ以上のパイプ状態パラメータのための前記修正された値を生成する前記動作が、
第1の修正関数に基づいて前記第1のパイプ状態パラメータのための修正された値を生成する動作と、
第2の修正関数に基づいて前記第2のパイプ状態パラメータのための修正された値を生成する動作であって、前記第2の修正関数が前記第1の修正関数とは異なる、動作と
を含む、請求項１に記載の方法。
【請求項３】
前記2つ以上のパイプ状態パラメータが、第1のパイプ状態パラメータと第2のパイプ状態パラメータとを備え、前記メモリサブシステムから前記2つ以上のパイプ状態パラメータに対応する前記値を読み取る前記動作が、前記第1のパイプ状態パラメータに対応する第1の値を読み取る動作を含み、前記2つ以上のパイプ状態パラメータのための修正された値を生成する前記動作が、
前記第1のパイプ状態パラメータに対応する前記第1の値に基づいて、前記第2のパイプ状態パラメータのための修正された値を生成する動作
を含む、請求項１に記載の方法。
【請求項４】
前記2つ以上のパイプ状態パラメータのための前記修正された値を生成する前記動作が、
前記2つ以上のパイプ状態パラメータのうちの1つまたは複数に基づいて、書込み予約要求をサポートするのに十分なほどの、コミットされていない、および未予約のエントリを前記パイプが有するか否かを決定する動作と、
前記書込み予約要求をサポートするのに十分なほどの、コミットされていない、および未予約のエントリを前記パイプが有すると決定することに応答して、前記2つ以上のパイプ状態パラメータのための前記修正された値を、書込み予約が前記パイプのために行われたことを前記修正された値が反映するように生成する動作と
を含む、請求項１に記載の方法。
【請求項５】
前記2つ以上のパイプ状態パラメータのための前記修正された値を生成する前記動作が、
前記2つ以上のパイプ状態パラメータのうちの1つまたは複数に基づいて、読取り予約要求をサポートするのに十分なほどの、パケットデータが記憶される未読および未予約のパケットエントリを前記パイプが有するか否かを決定する動作と、
前記読取り予約要求をサポートするのに十分なほどの、パケットデータが記憶される未読および未予約のパケットエントリを前記パイプが有すると決定することに応答して、前記2つ以上のパイプ状態パラメータのための修正された値を、読取り予約が前記パイプのために行われたことを前記修正された値が反映するように生成する動作と
を含む、請求項１に記載の方法。
【請求項６】
前記2つ以上のパイプ状態パラメータのための前記修正された値を生成する動作が、
前記パイプが前記ハードウェアベースのアトミック読取り修正書込み動作を実行するより前に有していたコミットされていない予約の数に対して、1つ少ないコミットされていない予約を前記パイプが有することを、前記2つ以上のパイプ状態パラメータ値の第1のパイプ状態パラメータのための前記修正された値が反映するように、前記第1のパイプ状態パラメータのための修正された値を生成する動作と、
前記2つ以上のパイプ状態パラメータのうちの1つまたは複数に基づいて、前記パイプのすべての予約がコミットされたか否かを決定する動作と、
前記パイプのためのすべての予約がコミットされたとの決定に応答して、コミットされたエントリが前記パイプに配置されたことを前記修正された値が反映するように、前記2つ以上のパイプ状態パラメータのための前記修正された値を生成する動作とを含む、請求項１に記載の方法。
【請求項７】
前記2つ以上のパイプ状態パラメータのための前記修正された値を生成する前記動作が、
前記パイプが前記ハードウェアベースのアトミック読取り修正書込み動作を実行するより前に有していたコミットされていない予約の数に対して、1つ少ないコミットされていない予約を前記パイプが有することを、前記2つ以上のパイプ状態パラメータ値のうちの第1のパイプ状態パラメータのための修正された値が反映するように、前記第1のパイプ状態パラメータのための前記修正された値を生成する動作と、
前記2つ以上のパイプ状態パラメータのうちの1つまたは複数に基づいて、前記パイプのためのすべての予約がコミットされたか否かを決定する動作と、
前記パイプのためのすべての予約がコミットされたと決定することに応答して、前記パイプ状態パラメータのための前記修正された値を、コミットされたエントリが前記パイプに配置されたことを前記修正された値が反映するように生成する動作と
を含む、請求項１に記載の方法。
【請求項８】
前記1つまたは複数のプロセッサ内に含まれたハードウェアユニットを用いて、アトミック動作を実行するための第1のスレッドからの第1の要求を受信するステップをさらに含み、
前記ハードウェアベースのアトミック読取り修正書込み動作が、第1のハードウェアベースのアトミック読取り修正書込み動作であり、
前記1つまたは複数のプロセッサを用いて、前記第1のハードウェアベースのアトミック読取り修正書込み動作を実行するステップが、前記第1の要求を受信することに応答して、前記ハードウェアユニットを用いて、前記第1の要求にサービスするために、前記第1のハードウェアベースのアトミック読取り修正書込み動作を実行するステップを含み、前記方法が、
前記第1のハードウェアベースのアトミック読取り修正書込み動作を完了するより前に、前記ハードウェアユニットを用いて、アトミック動作を実行するための第2のスレッドからの第2の要求を受信するステップと、
前記第2の要求を受信することに応答して、前記ハードウェアユニットを用いて、前記第1のハードウェアベースのアトミック読取り修正書込み動作の実行が完了するまで、前記第2の要求にサービスするための第2のハードウェアベースのアトミック読取り修正書込み動作の実行を開始することを待機するステップと、
前記第1のハードウェアベースのアトミック読取り修正書込み動作の実行が完了した後、前記ハードウェアユニットを用いて、前記第2の要求にサービスするために、2つ以上のパイプ状態パラメータを修正する、前記第2のハードウェアベースのアトミック読取り修正書込み動作を実行するステップと
をさらに含む、請求項１に記載の方法。
【請求項９】
前記1つまたは複数のプロセッサが、グラフィックス処理ユニット(GPU)を備え、
前記1つまたは複数のプロセッサを用いて、前記ハードウェアベースのアトミック読取り修正書込み動作を実行するステップが、前記GPUを用いて、前記パイプの前記状態を示す前記2つ以上のパイプ状態パラメータを修正する、前記ハードウェアベースのアトミック読取り修正書込み動作を実行するステップを含む、請求項１に記載の方法。
【請求項１０】
前記データバッファが、タスク間通信をサポートするための先入れ先出し(FIFO)編成データバッファを備える、請求項１に記載の方法。
【請求項１１】
前記2つ以上のパイプ状態パラメータが、4つのパイプ状態パラメータを含み、前記4つのパイプ状態パラメータの各々が128ビットブロックに配置された別個の32ビット値によって表され、前記4つのパイプ状態パラメータが、いくつのパケットが前記パイプ内に現在記憶されているかを示すパラメータと、前記パイプのための開始パケットを記憶するパケットエントリを示すパラメータと、いくつのコミットされていない予約が前記パイプのために現在保留中であるかを示すパラメータと、いくつのパケットエントリが前記パイプ内で現在予約されているかを示すパラメータとを含む、請求項１に記載の方法。
【請求項１２】
先入れ先出し(FIFO)編成データバッファと、
パイプの状態を示す2つ以上のパイプ状態パラメータを、単一のメモリトランザクションにおいて修正する、ハードウェアベースのアトミック読取り修正書込み動作を実行するように構成された1つまたは複数のプロセッサであって、前記パイプは、タスク間通信をサポートするための前記先入れ先出し(FIFO)編成データバッファに対応する、1つまたは複数のプロセッサと
を備えるデバイスであって、前記2つ以上のパイプ状態パラメータは、いくつのパケットが前記パイプ内に現在記憶されているかを示すパラメータ、前記パイプのための開始パケットを記憶するパケットエントリを示すパラメータ、いくつのコミットされていない予約が前記パイプのために現在保留中であるかを示すパラメータ、またはいくつのパケットエントリが前記パイプ内で現在予約されているかを示すパラメータのうちの少なくとも2つを含み、前記1つまたは複数のプロセッサが前記ハードウェアベースのアトミック読取り修正書込み動作を実行するように構成されることが、前記1つまたは複数のプロセッサが割込み不可能な動作のセットを実行するように構成されることを含み、前記割込み不可能な動作のセットが、
メモリサブシステムから前記2つ以上のパイプ状態パラメータに対応する値を読み取る動作であって、前記メモリサブシステムから前記2つ以上のパイプ状態パラメータに対応する値を読み取る動作が、3つのパイプ状態パラメータのためのデータを、前記単一のメモリトランザクションにおいてレジスタのクワッドレジスタグループ内の3つの連続するレジスタ内で読み取るまたは戻す動作を含み、前記レジスタのクワッドレジスタグループが、4つのレジスタを含む、動作と、
前記2つ以上のパイプ状態パラメータのための修正された値を生成する動作と、
前記2つ以上のパイプ状態パラメータのための前記修正された値を前記メモリサブシステムに書き込む動作と
を含む、デバイス。
【請求項１３】
前記2つ以上のパイプ状態パラメータが、第1のパイプ状態パラメータと第2のパイプ状態パラメータとを備え、前記2つ以上のパイプ状態パラメータのための修正された値を生成する前記動作が、
第1の修正関数に基づいて前記第1のパイプ状態パラメータのための修正された値を生成する動作と、
第2の修正関数に基づいて前記第2のパイプ状態パラメータのための修正された値を生成する動作であって、前記第2の修正関数が前記第1の修正関数とは異なる、動作と
を含む、請求項１２に記載のデバイス。
【請求項１４】
前記2つ以上のパイプ状態パラメータが、第1のパイプ状態パラメータと第2のパイプ状態パラメータとを備え、前記メモリサブシステムから前記2つ以上のパイプ状態パラメータに対応する前記値を読み取る前記動作が、前記第1のパイプ状態パラメータに対応する第1の値を読み取る動作を含み、前記2つ以上のパイプ状態パラメータのための修正された値を生成する前記動作が、
前記第1のパイプ状態パラメータに対応する前記第1の値に基づいて、前記第2のパイプ状態パラメータのための修正された値を生成する動作
を含む、請求項１２に記載のデバイス。
【請求項１５】
前記2つ以上のパイプ状態パラメータのための前記修正された値を生成する前記動作が、
前記2つ以上のパイプ状態パラメータのうちの1つまたは複数に基づいて、書込み予約要求をサポートするのに十分なほどの、コミットされていない、および未予約のエントリを前記パイプが有するか否かを決定する動作と、
前記書込み予約要求をサポートするのに十分なほどの、コミットされていない、および未予約のエントリを前記パイプが有すると決定することに応答して、前記2つ以上のパイプ状態パラメータのための前記修正された値を、書込み予約が前記パイプのために行われたことを前記修正された値が反映するように生成する動作と
を含む、請求項１２に記載のデバイス。
【請求項１６】
前記2つ以上のパイプ状態パラメータのための前記修正された値を生成する前記動作が、
前記2つ以上のパイプ状態パラメータのうちの1つまたは複数に基づいて、読取り予約要求をサポートするのに十分なほどの、パケットデータが記憶される未読および未予約のパケットエントリを前記パイプが有するか否かを決定する動作と、
前記読取り予約要求をサポートするのに十分なほどの、パケットデータが記憶される未読および未予約のパケットエントリを前記パイプが有すると決定することに応答して、前記2つ以上のパイプ状態パラメータのための修正された値を、読取り予約が前記パイプのために行われたことを前記修正された値が反映するように生成する動作と
を含む、請求項１２に記載のデバイス。
【請求項１７】
前記2つ以上のパイプ状態パラメータのための前記修正された値を生成する前記動作が、
前記パイプが前記ハードウェアベースのアトミック読取り修正書込み動作を実行するより前に有していたコミットされていない予約の数に対して、1つ少ないコミットされていない予約を前記パイプが有することを、前記2つ以上のパイプ状態パラメータ値のうちの第1のパイプ状態パラメータのための修正された値が反映するように、前記第1のパイプ状態パラメータのための前記修正された値を生成する動作と、
前記2つ以上のパイプ状態パラメータのうちの1つまたは複数に基づいて、前記パイプのためのすべての予約がコミットされたか否かを決定する動作と、
前記パイプのためのすべての予約がコミットされたと決定することに応答して、前記パイプ状態パラメータのための前記修正された値を、コミットされたエントリが前記パイプに配置されたことを前記修正された値が反映するように生成する動作と
を含む、請求項１２に記載のデバイス。
【請求項１８】
前記2つ以上のパイプ状態パラメータのための前記修正された値を生成する前記動作が、
前記パイプが前記ハードウェアベースのアトミック読取り修正書込み動作を実行するより前に有していたコミットされていない予約の数に対して、1つ少ないコミットされていない予約を前記パイプが有することを、前記2つ以上のパイプ状態パラメータ値のうちの第1のパイプ状態パラメータのための修正された値が反映するように、前記第1のパイプ状態パラメータのための前記修正された値を生成する動作と、
前記2つ以上のパイプ状態パラメータのうちの1つまたは複数に基づいて、前記パイプのためのすべての予約がコミットされたか否かを決定する動作と、
前記パイプのためのすべての予約がコミットされたと決定することに応答して、前記2つ以上のパイプ状態パラメータのための修正された値を、コミットされたエントリが前記パイプから除去されたことを前記修正された値が反映するように生成する動作と
を含む、請求項１２に記載のデバイス。
【請求項１９】
前記1つまたは複数のプロセッサが、グラフィックス処理ユニット(GPU)を備え、
前記1つまたは複数のプロセッサが、前記パイプの前記状態を示す前記2つ以上のパイプ状態パラメータを修正する、前記ハードウェアベースのアトミック読取り修正書込み動作を実行するようにさらに構成される、請求項１２に記載のデバイス。
【請求項２０】
前記デバイスが、ワイヤレス通信デバイスおよびモバイルフォンハンドセットのうちの少なくとも1つを備える、請求項１２に記載のデバイス。
【請求項２１】
パイプの状態を示す2つ以上のパイプ状態パラメータを、単一のメモリトランザクションにおいて記憶するための手段であって、前記パイプは、タスク間通信をサポートするための先入れ先出し(FIFO)編成データバッファに対応し、前記2つ以上のパイプ状態パラメータは、いくつのパケットが前記パイプ内に現在記憶されているかを示すパラメータ、前記パイプのための開始パケットを記憶するパケットエントリを示すパラメータ、いくつのコミットされていない予約が前記パイプのために現在保留中であるかを示すパラメータ、またはいくつのパケットエントリが前記パイプ内で現在予約されているかを示すパラメータのうちの少なくとも2つを含む、手段と、
割込み不可能な動作のセットを用いて、前記2つ以上のパイプ状態パラメータを修正する、ハードウェアベースのアトミック読取り修正書込み動作を実行するための手段とを備える装置であって、前記割込み不可能な動作のセットが、
メモリサブシステムから前記2つ以上のパイプ状態パラメータに対応する値を読み取る動作であって、前記メモリサブシステムから前記2つ以上のパイプ状態パラメータに対応する値を読み取る動作が、3つのパイプ状態パラメータのためのデータを、前記単一のメモリトランザクションにおいてレジスタのクワッドレジスタグループ内の3つの連続するレジスタ内で読み取るまたは戻す動作を含み、前記レジスタのクワッドレジスタグループが、4つのレジスタを含む、動作と、
前記2つ以上のパイプ状態パラメータのための修正された値を生成する動作と、
前記2つ以上のパイプ状態パラメータのための前記修正された値を前記メモリサブシステムに書き込む動作と
を含む、装置。
【請求項２２】
実行されると、1つまたは複数のプロセッサに、
パイプの状態を示す2つ以上のパイプ状態パラメータを、単一のメモリトランザクションにおいて修正する、ハードウェアベースのアトミック読取り修正書込み動作を実行することであって、前記パイプは、タスク間通信をサポートするための先入れ先出し(FIFO)編成データバッファに対応すること
を行わせる命令を記憶した非一時的コンピュータ可読記憶媒体であって、前記2つ以上のパイプ状態パラメータは、いくつのパケットが前記パイプ内に現在記憶されているかを示すパラメータ、前記パイプのための開始パケットを記憶するパケットエントリを示すパラメータ、いくつのコミットされていない予約が前記パイプのために現在保留中であるかを示すパラメータ、またはいくつのパケットエントリが前記パイプ内で現在予約されているかを示すパラメータのうちの少なくとも2つを含み、前記ハードウェアベースのアトミック読取り修正書込み動作が、割込み不可能な動作のセットを含み、前記割込み不可能な動作のセットが、
メモリサブシステムから前記2つ以上のパイプ状態パラメータに対応する値を読み取る動作であって、前記メモリサブシステムから前記2つ以上のパイプ状態パラメータに対応する値を読み取る動作が、3つのパイプ状態パラメータのためのデータを、前記単一のメモリトランザクションにおいてレジスタのクワッドレジスタグループ内の3つの連続するレジスタ内で読み取るまたは戻す動作を含み、前記レジスタのクワッドレジスタグループが、4つのレジスタを含む、動作と、
前記2つ以上のパイプ状態パラメータのための修正された値を生成する動作と、
前記2つ以上のパイプ状態パラメータのための前記修正された値を前記メモリサブシステムに書き込む動作と
を含む、非一時的コンピュータ可読記憶媒体。