JP2016509280A5 - - Google Patents

Download PDF

Info

Publication number
JP2016509280A5
JP2016509280A5 JP2015549407A JP2015549407A JP2016509280A5 JP 2016509280 A5 JP2016509280 A5 JP 2016509280A5 JP 2015549407 A JP2015549407 A JP 2015549407A JP 2015549407 A JP2015549407 A JP 2015549407A JP 2016509280 A5 JP2016509280 A5 JP 2016509280A5
Authority
JP
Japan
Prior art keywords
memory transfer
transfer mode
transfer operation
memory
gpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015549407A
Other languages
Japanese (ja)
Other versions
JP6009692B2 (en
JP2016509280A (en
Filing date
Publication date
Priority claimed from US13/725,393 external-priority patent/US9245496B2/en
Application filed filed Critical
Publication of JP2016509280A publication Critical patent/JP2016509280A/en
Publication of JP2016509280A5 publication Critical patent/JP2016509280A5/ja
Application granted granted Critical
Publication of JP6009692B2 publication Critical patent/JP6009692B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

[0277] 様々な態様および例が説明されてきた。しかしながら、以下の特許請求の範囲から逸脱することなく、本開示の構造または技法に変更が行われ得る。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1] 1つまたは複数のプロセッサによって、メモリ転送動作の少なくとも一部を行うためのメモリ転送モードを選択することと、ここにおいて、前記メモリ転送モードは、インターリーブメモリ転送モードと順次的メモリ転送モードとを含む少なくとも2つの異なるメモリ転送モードのセットから選択される、
グラフィックスプロセッシングユニット(GPU)によって、前記選択されたメモリ転送モードに基づいて前記メモリ転送動作を行うことと
を備える方法。
[C2] 前記1つまたは複数のプロセッサによって前記メモリ転送モードを選択することが、
前記1つまたは複数のプロセッサによって、前記メモリ転送動作によって転送されるべきデータの量に基づいて前記メモリ転送モードを選択することを備える、C1に記載の方法。
[C3] 前記1つまたは複数のプロセッサによって、前記メモリ転送動作によって転送されるべきデータの前記量に基づいて前記メモリ転送モードを選択することが、
前記メモリ転送動作によって転送されるべきデータの前記量が閾値より大きい場合、前記1つまたは複数のプロセッサによって、前記メモリ転送モードとして前記順次的メモリ転送モードを選択することと、
前記メモリ転送動作によって転送されるべきデータの前記量が前記閾値より大きくない場合、前記1つまたは複数のプロセッサによって、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択することとを備える、C2に記載の方法。
[C4] 前記1つまたは複数のプロセッサによって前記メモリ転送モードを選択することが、
前記1つまたは複数のプロセッサによって、メモリ転送動作の宛先領域が有する固定されたスクリーン整列されたバッファ領域との重複の量に基づいて、前記固定されたスクリーン整列されたバッファ領域に関して前記メモリ転送動作を行うためのメモリ転送モードを選択することを備える、C1に記載の方法。
[C5] 前記1つまたは複数のプロセッサによって、前記メモリ転送動作の前記宛先領域が有する前記固定されたスクリーン整列されたバッファ領域との重複の量に基づいて、前記メモリ転送モードを選択することが、
前記宛先領域が前記固定されたスクリーン整列されたバッファ領域を完全に覆う場合、前記メモリ転送モードとして前記順次的メモリ転送モードを選択することと、
前記宛先領域が前記固定されたスクリーン整列されたバッファ領域を完全には覆わない場合、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択することとを備える、C4に記載の方法。
[C6] 前記メモリ転送動作を行うことがシェーダプログラムを実行することを備え、
前記1つまたは複数のプロセッサによって、前記メモリ転送モードを選択することが、前記シェーダプログラムの実行が前記メモリ転送動作の性能のボトルネックになる可能性が高いかどうかの決定に基づいて、前記メモリ転送モードを選択することを備える、C1に記載の方法。
[C7] 前記1つまたは複数のプロセッサによって、前記シェーダプログラムの前記実行が前記メモリ転送動作の前記性能のボトルネックになる可能性が高いかどうかの前記決定に基づいて、前記メモリ転送モードを選択することが、
前記シェーダプログラムの前記実行が前記メモリ転送動作の前記性能のボトルネックになる可能性が高くないと決定したことに応答して、前記メモリ転送モードとして前記順次的メモリ転送モードを選択することと、
前記シェーダプログラムの前記実行が前記メモリ転送動作の前記性能のボトルネックになる可能性が高いと決定したことに応答して、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択することとを備える、C6に記載の方法。
[C8] 前記メモリ転送動作を行うことがシェーダプログラムを実行することを備え、
前記1つまたは複数のプロセッサによって前記メモリ転送モードを選択することが、前記メモリ転送動作を行うために使用されるシェーダプログラムのサイズおよび前記メモリ転送動作を行うために使用される前記シェーダプログラムの複雑さの少なくとも1つに基づいて、前記メモリ転送モードを選択することを備える、C1に記載の方法。
[C9] 前記1つまたは複数のプロセッサによって、前記メモリ転送動作を行うために使用される前記シェーダプログラムの前記サイズおよび前記メモリ転送動作を行うために使用される前記シェーダプログラムの前記複雑さの前記少なくとも1つに基づいて、前記メモリ転送モードを選択することが、
前記シェーダプログラムの前記サイズと前記シェーダプログラムの前記複雑さの前記少なくとも1つが閾値より小さい場合、前記1つまたは複数のプロセッサによって、前記メモリ転送モードとして前記順次的メモリ転送モードを選択することと、
前記シェーダプログラムの前記サイズと前記シェーダプログラムの前記複雑さの前記少なくとも1つが前記閾値より小さくない場合、前記1つまたは複数のプロセッサによって、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択することとを備える、C8に記載の方法。
[C10] 前記GPUによって前記メモリ転送動作を行うことが、
前記GPUによって、前記メモリ転送動作を行うための前記メモリ転送モードとしてインターリーブメモリ転送モードが選択されたことに応答して、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うことと、
前記GPUによって、前記メモリ転送動作を行うための前記メモリ転送モードとして順次的メモリ転送モードが選択されたことに応答して、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うこととを備える、C1に記載の方法。
[C11] 前記GPUによって、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うことが、生産者−消費者パラダイムに基づいて、読取りエンジンに読取り要求を出させ、書込みエンジンに書込み要求を出させることを備え、
前記GPUによって、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うことが、相互排除のパラダイムに基づいて、前記読取りエンジンに読取り要求を出させ、前記書込みエンジンに書込み要求を出させることを備える、C10に記載の方法。
[C12] 前記GPUによって、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うことが、書込み要求を出すために十分なソースデータを前記GPUがメモリから受け取ったことに応答して、前記書込みエンジンに前記書込み要求を出させることと、前記書込み要求を出すために十分な前記ソースデータを前記書込みエンジンが消費したことに応答して、前記読取りエンジンに読取り要求を出させることとを備え、
前記GPUによって、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うことが、前記読取りエンジンおよび前記書込みエンジンに、別の時間間隔の間に、複数の連続的な読取り要求のグループを出すことと、複数の連続的な書込み要求のグループを出すこととを、交互に行わせることを備える、C10に記載の方法。
[C13] 前記GPUによって、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うことが、前記メモリ転送動作のための書込み要求を出すために十分なソースデータが前記GPUによってメモリから受け取られるたびに、前記書込みエンジンによって、少なくとも1つの他の書込み要求に対して後で受け取られるべき追加のソースデータを待機することなく、それぞれの前記ソースデータを消費することを備え、
前記GPUによって、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うことが、前記メモリ転送動作の少なくとも一部に対して、前記メモリ転送動作のための書込み要求を出すために十分なソースデータを前記GPUが前記メモリから受け取ったことに応答して、前記書込みエンジンによって、少なくとも1つの他の書込み要求を出すために十分な追加のソースデータが後で受け取られるまで前記ソースデータの消費を延期することを備える、C10に記載の方法。
[C14] 前記GPUによって、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うことが、前記メモリ転送動作のための書込み要求を出すために十分なソースデータを書込みエンジンが消費するたびに、読取りエンジンによって、少なくとも1つの他の書込み要求に対して前記書込みエンジンによって後で消費されるべき追加のソースデータを待機することなく、読取り要求を出すことを備え、
前記GPUによって、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うことが、前記メモリ転送動作の少なくとも一部に対して、前記メモリ転送動作のための書込み要求を出すために十分なソースデータを前記書込みエンジンが消費したことに応答して、読取りエンジンによって、少なくとも1つの他の書込み要求を出すために十分な追加のソースデータが前記書込みエンジンによって後で消費されるまで、後続の読取り要求の発行を延期することを備える、C10に記載の方法。
[C15] 前記GPUが、前記GPUによってメモリに出された読取り要求に応答して受け取られたソースデータを記憶するように構成されるバッファを備え、
前記GPUによって、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うことが、
1つまたは複数の読取り要求を出すことと、
前記複数の読取り要求に応答して前記メモリから受け取られたソースデータを前記バッファに配置することと、
前記複数の読取り要求の各々について、前記複数の読取り要求のそれぞれ1つに対して前記ソースデータが前記バッファに配置されたことに応答して、前記バッファに配置された前記ソースデータを消費し、前記消費されたソースデータに基づいて書込み要求を出すことと、
複数の書込み要求の各々について、前記書込み要求のそれぞれ1つに対してソースデータが前記バッファから消費されたことに応答して、後続の読取り要求を出すことと
を備え、
前記GPUによって、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うことが、
複数の読取り要求を出すことと、
前記複数の読取り要求に応答して前記メモリから受け取られたソースデータを前記バッファに配置することと、
前記バッファを埋めるために十分な読取り要求が出されたことを検出したことに応答して、読取り要求を出すことを止めることと、
前記バッファが満たされていることを検出したことに応答して、前記消費されたソースデータに基づいて、前記バッファ中のソースデータを消費し、複数の書込み要求を出すことと、
前記バッファが空であることを検出したことに応答して、前記バッファ中のソースデータを消費して書込み要求を出すことを止めることと、
前記バッファが空であることを検出したことに応答して、読取り要求の発行を再開することと
を備える、C1に記載の方法。
[C16] 少なくとも2つの異なるメモリ転送モードの前記セットから選択された第1のメモリ転送モードを使用して、前記メモリ転送動作の第1の部分を行うことと、
少なくとも2つの異なるメモリ転送モードの前記セットから選択された第2のメモリ転送モードを使用して、前記メモリ転送動作の第2の部分を行うこととを備える、C1に記載の方法。
[C17] 前記GPUによって前記メモリ転送動作を行うことが、
前記選択されたメモリ転送モードに基づいて、前記メモリ転送動作の間にメモリから取り出されるソースデータをバッファリングするために使用されるキャッシュのキャッシュラインサイズを選択することと、
前記選択されたキャッシュラインサイズに基づいて、前記メモリ転送動作のために前記キャッシュを構成することとを備える、C1に記載の方法。
[C18] 前記キャッシュラインサイズを選択することが、
前記順次的メモリ転送モードが、前記メモリ転送動作を行うための前記メモリ転送モードとして選択されたことに応答して、前記キャッシュの容量全体に等しいキャッシュラインサイズを選択することと、
前記インターリーブメモリ転送モードが、前記メモリ転送動作を行うための前記メモリ転送モードとして選択されたことに応答して、前記キャッシュの前記容量全体より小さいキャッシュラインサイズを選択することとを備える、C17に記載の方法。
[C19] 前記1つまたは複数のプロセッサが前記GPUを備え、前記1つまたは複数のプロセッサによって前記メモリ転送モードを選択することが、前記GPUによって、前記メモリ転送動作の前記少なくとも一部を行うための前記メモリ転送モードを選択することを備える、C1に記載の方法。
[C20] 前記1つまたは複数のプロセッサがCPUを備え、前記1つまたは複数のプロセッサによって前記メモリ転送モードを選択することが、前記CPUによって、メモリ転送動作の前記少なくとも一部を行うための前記メモリ転送モードを選択することを備え、前記GPUに、前記選択されたメモリ転送モードに基づいて前記メモリ転送動作を行わせることをさらに備える、C1に記載の方法。
[C21] メモリ転送動作の少なくとも一部を行うためのメモリ転送モードを選択するように構成される1つまたは複数のプロセッサと、ここにおいて、前記メモリ転送モードは、インターリーブメモリ転送モードと順次的メモリ転送モードとを含む少なくとも2つの異なるメモリ転送モードのセットから選択される、
前記選択されたメモリ転送モードに基づいて前記メモリ転送動作を行うように構成されるグラフィックスプロセッシングユニット(GPU)と
を備えるデバイス。
[C22] 前記1つまたは複数のプロセッサがさらに、前記メモリ転送動作によって転送されるべきデータの量に基づいて前記メモリ転送モードを選択するように構成される、C21に記載のデバイス。
[C23] 前記1つまたは複数のプロセッサがさらに、前記メモリ転送動作によって転送されるべきデータの前記量が閾値より大きい場合、前記メモリ転送モードとして前記順次的メモリ転送モードを選択し、前記メモリ転送動作によって転送されるべきデータの前記量が前記閾値より大きくない場合、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択するように構成される、C22に記載のデバイス。
[C24] 前記1つまたは複数のプロセッサがさらに、メモリ転送動作の宛先領域が有する固定されたスクリーン整列されたバッファ領域との重複の量に基づいて、前記固定されたスクリーン整列されたバッファ領域に関して前記メモリ転送動作を行うためのメモリ転送モードを選択するように構成される、C21に記載のデバイス。
[C25] 前記1つまたは複数のプロセッサがさらに、前記宛先領域が前記固定されたスクリーン整列されたバッファ領域を完全に覆う場合、前記メモリ転送モードとして前記順次的メモリ転送モードを選択し、前記宛先領域が前記固定されたスクリーン整列されたバッファ領域を完全には覆わない場合、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択するように構成される、C24に記載のデバイス。
[C26] 前記GPUがさらに、前記メモリ転送動作を行うためにシェーダプログラムを実行するように構成され、前記1つまたは複数のプロセッサがさらに、前記シェーダプログラムの実行が前記メモリ転送動作の性能のボトルネックになる可能性が高いかどうかの決定に基づいて、前記メモリ転送モードを選択するように構成される、C21に記載のデバイス。
[C27] 前記1つまたは複数のプロセッサがさらに、前記シェーダプログラムの前記実行が前記メモリ転送動作の性能のボトルネックになる可能性が高くないと決定したことに応答して、前記メモリ転送モードとして前記順次的メモリ転送モードを選択し、前記シェーダプログラムの前記実行が前記メモリ転送動作の性能のボトルネックになる可能性が高いと決定したことに応答して、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択するように構成される、C26に記載のデバイス。
[C28] 前記GPUがさらに、前記メモリ転送動作を行うためにシェーダプログラムを実行するように構成され、前記1つまたは複数のプロセッサがさらに、前記メモリ転送動作を行うために使用されるシェーダプログラムのサイズおよび前記メモリ転送動作を行うために使用される前記シェーダプログラムの複雑さの少なくとも1つに基づいて、前記メモリ転送モードを選択するように構成される、C21に記載のデバイス。
[C29] 前記1つまたは複数のプロセッサがさらに、前記シェーダプログラムの前記サイズと前記シェーダプログラムの前記複雑さの前記少なくとも1つが閾値より小さい場合、前記メモリ転送モードとして前記順次的メモリ転送モードを選択し、前記シェーダプログラムの前記サイズと前記シェーダプログラムの前記複雑さの前記少なくとも1つが前記閾値より小さくない場合、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択するように構成される、C28に記載のデバイス。
[C30] 前記GPUがさらに、前記メモリ転送動作を行うための前記メモリ転送モードとしてインターリーブメモリ転送モードが選択されたことに応答して、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行い、前記メモリ転送動作を行うための前記メモリ転送モードとして順次的メモリ転送モードが選択されたことに応答して、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うように構成される、C21に記載のデバイス。
[C31] 前記GPUがさらに、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うときに、生産者−消費者パラダイムに基づいて、読取りエンジンに読取り要求を出させ、書込みエンジンに書込み要求を出させるように構成され、
前記GPUがさらに、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うときに、相互排除のパラダイムに基づいて、前記読取りエンジンに読取り要求を出させ、前記書込みエンジンに書込み要求を出させるように構成される、C30に記載のデバイス。
[C32] 前記GPUがさらに、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うときに、書込み要求を出すために十分なソースデータを前記GPUがメモリから受け取ったことに応答して、前記書込みエンジンに前記書込み要求を出させ、書込み要求を出すために十分な、前記メモリから受け取られたソースデータを前記書込みエンジンが消費したことに応答して、前記読取りエンジンに読取り要求を出させるように構成され、
前記GPUがさらに、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うときに、前記読取りエンジンおよび前記書込みエンジンに、別の時間間隔の間に、複数の連続的な読取り要求のグループを出すことと、複数の連続的な読取り要求書込み要求のグループを出すこととを、交互に行わせるように構成される、C30に記載のデバイス。
[C33] 前記GPUがさらに、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うときに、前記メモリ転送動作のための書込み要求を出すために十分なソースデータが前記GPUによってメモリから受け取られるたびに、前記書込みエンジンによって、少なくとも1つの他の書込み要求に対して後で受け取られるべき追加のソースデータを待機することなく、それぞれの前記ソースデータを消費するように構成され、
前記GPUがさらに、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うときに、前記メモリ転送動作の少なくとも一部に対して、前記メモリ転送動作のための書込み要求を出すために十分なソースデータを前記GPUが前記メモリから受け取ったことに応答して、前記書込みエンジンによって、少なくとも1つの他の書込み要求を出すために十分な追加のソースデータが後で受け取られるまで前記ソースデータの消費を延期するように構成される、C30に記載のデバイス。
[C34] 前記GPUがさらに、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うときに、前記メモリ転送動作のための書込み要求を出すために十分なソースデータを書込みエンジンが消費するたびに、読取りエンジンによって、少なくとも1つの他の書込み要求に対して前記書込みエンジンによって後で消費されるべき追加のソースデータを待機することなく、読取り要求を出すように構成され、
前記GPUがさらに、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うときに、前記メモリ転送動作の少なくとも一部に対して、前記メモリ転送動作のための書込み要求を出すために十分なソースデータを前記書込みエンジンが消費したことに応答して、前記読取りエンジンによって、少なくとも1つの他の書込み要求を出すために十分なソースデータが前記書込みエンジンによって後で消費されるまで、後続の読取り要求の発行を延期するように構成される、C30に記載のデバイス。
[C35] 前記GPUが、前記GPUによってメモリに出された読取り要求に応答して受け取られたソースデータを記憶するように構成されるバッファを備え、
前記GPUがさらに、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うときに、
1つまたは複数の読取り要求を出し、
前記複数の読取り要求に応答して前記メモリから受け取られたソースデータを前記バッファに配置し、
前記複数の読取り要求の各々について、前記複数の読取り要求のそれぞれ1つに対して前記ソースデータが前記バッファに配置されたことに応答して、前記バッファに配置された前記ソースデータを消費し、前記消費されたソースデータに基づいて書込み要求を出し、
複数の書込み要求の各々について、前記書込み要求のそれぞれ1つに対してソースデータが前記バッファから消費されたことに応答して、後続の読取り要求を出す
ように構成され、
前記GPUがさらに、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うときに、
複数の読取り要求を出し、
前記複数の読取り要求に応答して前記メモリから受け取られたソースデータを前記バッファに配置し、
前記バッファを埋めるために十分な読取り要求が出されたことを検出したことに応答して、読取り要求を出すことを止め、
前記バッファが満たされていることを検出したことに応答して、前記消費されたソースデータに基づいて、前記バッファ中のソースデータを消費し、複数の書込み要求を出し、
前記バッファが空であることを検出したことに応答して、前記バッファ中のソースデータを消費して書込み要求を出すことを止め、
前記バッファが空であることを検出したことに応答して、読取り要求の発行を再開する
ように構成される、C21に記載のデバイス。
[C36] 前記GPUがさらに、少なくとも2つの異なるメモリ転送モードの前記セットから選択された第1のメモリ転送モードを使用して、前記メモリ転送動作の第1の部分を行い、前記少なくとも2つの異なるメモリ転送モードの前記セットから選択された第2のメモリ転送モードを使用して、前記メモリ転送動作の第2の部分を行うように構成される、C21に記載のデバイス。
[C37] 前記GPUがさらに、前記選択されたメモリ転送モードに基づいて、前記メモリ転送動作の間にメモリから取り出されるソースデータをバッファリングするために使用されるキャッシュのキャッシュラインサイズを選択し、前記選択されたキャッシュラインサイズに基づいて、前記メモリ転送動作のために前記キャッシュを構成するように構成される、C21に記載のデバイス。
[C38] 前記GPUがさらに、前記順次的メモリ転送モードが前記メモリ転送動作を行うための前記メモリ転送モードとして選択されたことに応答して、前記キャッシュの容量全体に等しいキャッシュラインサイズを選択し、前記インターリーブメモリ転送モードが前記メモリ転送動作を行うための前記メモリ転送モードとして選択されたことに応答して、前記キャッシュの前記容量全体より小さいキャッシュラインサイズを選択するように構成される、C37に記載のデバイス。
[C39] 前記1つまたは複数のプロセッサが前記GPUを備え、前記GPUが、メモリ転送動作の前記少なくとも一部を行うための前記メモリ転送モードを選択するように構成される、C21に記載のデバイス。
[C40] 前記1つまたは複数のプロセッサが、前記メモリ転送動作の前記少なくとも一部を行うための前記メモリ転送モードを選択し、前記GPUに、前記メモリ転送モードに基づいて前記メモリ転送動作を行わせるように構成される、CPUを備える、C21に記載のデバイス。
[C41] ワイヤレス通信デバイスを備える、C21に記載のデバイス。
[C42] 携帯電話ハンドセットを備える、C21に記載のデバイス。
[C43] メモリ転送動作の少なくとも一部を行うためのメモリ転送モードを選択するための手段と、ここにおいて、前記メモリ転送モードは、インターリーブメモリ転送モードと順次的メモリ転送モードとを含む少なくとも2つの異なるメモリ転送モードのセットから選択される、
前記選択されたメモリ転送モードに基づいて前記メモリ転送動作を行うための手段とを備える装置。
[C44] 前記メモリ転送モードを選択するための前記手段が、
前記メモリ転送動作によって転送されるべきデータの量、前記メモリ転送動作を行うために使用されるシェーダプログラムのサイズ、および前記メモリ転送動作を行うために使用される前記シェーダプログラムの複雑さの少なくとも1つに基づいて、前記メモリ転送モードを選択するための手段を備える、C43に記載の装置。
[C45] 前記メモリ転送モードを選択するための前記手段が、
メモリ転送動作の宛先領域が有する固定されたスクリーン整列されたバッファ領域との重複の量に基づいて、前記固定されたスクリーン整列されたバッファ領域に関して前記メモリ転送動作を行うためのメモリ転送モードを選択するための手段を備える、C43に記載の装置。
[C46] 前記メモリ転送動作を行うための前記手段が、グラフィックスプロセッシングユニット(GPU)を備え、
前記メモリ転送モードを選択するための前記手段が、CPUと前記GPUの少なくとも1つを備える、C43に記載の装置。
[C47] 実行されたとき、1つまたは複数のプロセッサに、
メモリ転送動作の少なくとも一部を行うためのメモリ転送モードを選択させ、ここにおいて、前記メモリ転送モードは、インターリーブメモリ転送モードと順次的メモリ転送モードとを含む少なくとも2つの異なるメモリ転送モードのセットから選択される、
前記選択されたメモリ転送モードに基づいて前記メモリ転送動作を行わせる命令を記憶したコンピュータ可読記憶媒体。
[C48] 実行されたとき、前記1つまたは複数のプロセッサに、前記メモリ転送モードを選択させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、
前記メモリ転送動作によって転送されるべきデータの量、前記メモリ転送動作を行うために使用されるシェーダプログラムのサイズ、および前記メモリ転送動作を行うために使用される前記シェーダプログラムの複雑さの少なくとも1つに基づいて、前記メモリ転送モードを選択させる命令を備える、C47に記載のコンピュータ可読記憶媒体。
[C49] 実行されたとき、前記1つまたは複数のプロセッサに、前記メモリ転送モードを選択させる前記命令が、実行されたとき、前記1つまたは複数のプロセッサに、
メモリ転送動作の宛先領域が有する固定されたスクリーン整列されたバッファ領域との重複の量に基づいて、前記固定されたスクリーン整列されたバッファ領域に関して前記メモリ転送動作を行うためのメモリ転送モードを選択させる命令を備える、C47に記載のコンピュータ可読記憶媒体。
[C50] 実行されたとき、前記1つまたは複数のプロセッサに、前記メモリ転送動作を行わせる前記命令が、実行されたとき、グラフィックスプロセッシングユニット(GPU)に、前記選択されたメモリ転送モードに基づいて前記メモリ転送動作を行わせる命令を備え、
実行されたとき、前記1つまたは複数のプロセッサに、前記メモリ転送動作を選択させる前記命令が、実行されたとき、CPUと前記GPUの少なくとも1つに、メモリ転送動作の前記少なくとも一部を行うための前記メモリ転送モードを選択させる命令を備える、C47に記載のコンピュータ可読記憶媒体。
[0277] Various aspects and examples have been described. However, changes may be made in the structure or technique of the present disclosure without departing from the scope of the following claims.
The invention described in the scope of claims at the beginning of the application of the present application will be added below.
[C1] selecting a memory transfer mode for performing at least a part of a memory transfer operation by one or more processors, wherein the memory transfer mode includes an interleaved memory transfer mode and a sequential memory transfer mode. Selected from a set of at least two different memory transfer modes including:
Performing a memory transfer operation based on the selected memory transfer mode by a graphics processing unit (GPU);
A method comprising:
[C2] selecting the memory transfer mode by the one or more processors;
The method of C1, comprising selecting the memory transfer mode by the one or more processors based on an amount of data to be transferred by the memory transfer operation.
[C3] selecting the memory transfer mode based on the amount of data to be transferred by the memory transfer operation by the one or more processors;
Selecting the sequential memory transfer mode as the memory transfer mode by the one or more processors if the amount of data to be transferred by the memory transfer operation is greater than a threshold;
C2 comprising selecting the interleaved memory transfer mode as the memory transfer mode by the one or more processors if the amount of data to be transferred by the memory transfer operation is not greater than the threshold. The method described.
[C4] selecting the memory transfer mode by the one or more processors;
The memory transfer operation with respect to the fixed screen aligned buffer area by the one or more processors based on an amount of overlap with the fixed screen aligned buffer area of the destination area of the memory transfer operation. The method of C1, comprising selecting a memory transfer mode for performing.
[C5] Selecting the memory transfer mode by the one or more processors based on an amount of overlap with the fixed screen-aligned buffer area of the destination area of the memory transfer operation. ,
Selecting the sequential memory transfer mode as the memory transfer mode if the destination area completely covers the fixed screen aligned buffer area;
Selecting the interleaved memory transfer mode as the memory transfer mode if the destination area does not completely cover the fixed screen-aligned buffer area.
[C6] performing the memory transfer operation comprises executing a shader program;
Selecting the memory transfer mode by the one or more processors based on determining whether execution of the shader program is likely to be a performance bottleneck of the memory transfer operation; The method of C1, comprising selecting a transfer mode.
[C7] The memory transfer mode is selected by the one or more processors based on the determination of whether the execution of the shader program is likely to be a bottleneck for the performance of the memory transfer operation. To do
In response to determining that the execution of the shader program is not likely to be a bottleneck for the performance of the memory transfer operation, selecting the sequential memory transfer mode as the memory transfer mode;
Selecting the interleaved memory transfer mode as the memory transfer mode in response to determining that the execution of the shader program is likely to be a bottleneck for the performance of the memory transfer operation. The method according to C6.
[C8] performing the memory transfer operation comprises executing a shader program;
Selecting the memory transfer mode by the one or more processors is the size of the shader program used to perform the memory transfer operation and the complexity of the shader program used to perform the memory transfer operation. The method of C1, comprising selecting the memory transfer mode based on at least one of the above.
[C9] The size of the shader program used to perform the memory transfer operation and the complexity of the shader program used to perform the memory transfer operation by the one or more processors. Selecting the memory transfer mode based on at least one;
Selecting the sequential memory transfer mode as the memory transfer mode by the one or more processors if the at least one of the size of the shader program and the complexity of the shader program is less than a threshold;
Selecting the interleaved memory transfer mode as the memory transfer mode by the one or more processors if the at least one of the size of the shader program and the complexity of the shader program are not less than the threshold; A method according to C8, comprising:
[C10] Performing the memory transfer operation by the GPU,
Performing the memory transfer operation based on the interleaved memory transfer mode in response to the GPU selecting the interleaved memory transfer mode as the memory transfer mode for performing the memory transfer operation;
Performing the memory transfer operation based on the sequential memory transfer mode in response to the sequential memory transfer mode being selected as the memory transfer mode for performing the memory transfer operation by the GPU. The method of C1, comprising.
[C11] Performing the memory transfer operation based on the interleaved memory transfer mode by the GPU causes the read engine to issue a read request and the write engine to issue a write request based on the producer-consumer paradigm. Ready to let
Performing the memory transfer operation by the GPU based on the sequential memory transfer mode causes the read engine to issue a read request and the write engine to issue a write request based on a mutual exclusion paradigm. The method according to C10, comprising:
[C12] Performing the memory transfer operation by the GPU based on the interleaved memory transfer mode is performed in response to the GPU receiving from the memory sufficient source data to issue a write request. Causing the engine to issue the write request; and causing the read engine to issue a read request in response to the write engine consuming sufficient source data to issue the write request;
Performing the memory transfer operation by the GPU based on the sequential memory transfer mode issues a group of multiple consecutive read requests to the read engine and the write engine during another time interval. And the method of C10 comprising alternately issuing a group of multiple consecutive write requests.
[C13] Performing the memory transfer operation based on the interleaved memory transfer mode by the GPU whenever sufficient source data is received from the memory by the GPU to issue a write request for the memory transfer operation. Consuming each said source data without waiting for additional source data to be received later for at least one other write request by said write engine,
Performing the memory transfer operation by the GPU based on the sequential memory transfer mode is sufficient to issue a write request for the memory transfer operation to at least a portion of the memory transfer operation. Responsive to receiving data from the memory by the GPU, consumption of the source data until sufficient additional source data is later received by the write engine to issue at least one other write request. The method of C10, comprising postponing.
[C14] Performing the memory transfer operation by the GPU based on the interleaved memory transfer mode every time the write engine consumes sufficient source data to issue a write request for the memory transfer operation. Issuing a read request by the read engine without waiting for additional source data to be consumed later by the write engine for at least one other write request;
Performing the memory transfer operation by the GPU based on the sequential memory transfer mode is sufficient to issue a write request for the memory transfer operation to at least a portion of the memory transfer operation. In response to the data being consumed by the write engine, subsequent reads until sufficient additional source data is later consumed by the write engine by the read engine to issue at least one other write request. The method of C10, comprising postponing issuing the request.
[C15] the GPU comprising a buffer configured to store source data received in response to a read request issued to memory by the GPU;
The GPU performs the memory transfer operation based on the interleaved memory transfer mode,
Issuing one or more read requests;
Placing source data received from the memory in response to the plurality of read requests in the buffer;
For each of the plurality of read requests, in response to the source data being placed in the buffer for each one of the plurality of read requests, consuming the source data located in the buffer; Issuing a write request based on the consumed source data;
For each of a plurality of write requests, issuing a subsequent read request in response to source data being consumed from the buffer for each one of the write requests.
With
Performing the memory transfer operation by the GPU based on the sequential memory transfer mode;
Issuing multiple read requests;
Placing source data received from the memory in response to the plurality of read requests in the buffer;
In response to detecting that enough read requests have been made to fill the buffer, and stopping issuing read requests;
Responsive to detecting that the buffer is full, consuming source data in the buffer based on the consumed source data and issuing a plurality of write requests;
In response to detecting that the buffer is empty, consuming source data in the buffer and stopping issuing write requests;
In response to detecting that the buffer is empty, and resume issuing read requests;
The method of C1, comprising.
[C16] performing a first portion of the memory transfer operation using a first memory transfer mode selected from the set of at least two different memory transfer modes;
Performing the second part of the memory transfer operation using a second memory transfer mode selected from the set of at least two different memory transfer modes.
[C17] Performing the memory transfer operation by the GPU,
Selecting a cache line size of a cache used to buffer source data retrieved from memory during the memory transfer operation based on the selected memory transfer mode;
Configuring the cache for the memory transfer operation based on the selected cache line size.
[C18] Selecting the cache line size includes:
Responsive to the sequential memory transfer mode being selected as the memory transfer mode for performing the memory transfer operation, selecting a cache line size equal to the overall capacity of the cache;
C17 comprising: selecting a cache line size smaller than the entire capacity of the cache in response to the interleaved memory transfer mode being selected as the memory transfer mode for performing the memory transfer operation. The method described.
[C19] In order that the one or more processors include the GPU and the memory transfer mode is selected by the one or more processors, the GPU performs the at least part of the memory transfer operation. The method of C1, comprising selecting the memory transfer mode.
[C20] The one or more processors including a CPU, and selecting the memory transfer mode by the one or more processors, the CPU performs the at least part of a memory transfer operation. The method of C1, comprising selecting a memory transfer mode, further comprising causing the GPU to perform the memory transfer operation based on the selected memory transfer mode.
[C21] one or more processors configured to select a memory transfer mode for performing at least a portion of a memory transfer operation, wherein the memory transfer mode includes an interleaved memory transfer mode and a sequential memory Selected from a set of at least two different memory transfer modes including a transfer mode;
A graphics processing unit (GPU) configured to perform the memory transfer operation based on the selected memory transfer mode;
A device comprising:
[C22] The device of C21, wherein the one or more processors are further configured to select the memory transfer mode based on an amount of data to be transferred by the memory transfer operation.
[C23] The one or more processors further select the sequential memory transfer mode as the memory transfer mode when the amount of data to be transferred by the memory transfer operation is greater than a threshold, and the memory transfer The device of C22, configured to select the interleaved memory transfer mode as the memory transfer mode if the amount of data to be transferred by operation is not greater than the threshold.
[C24] The one or more processors further relates to the fixed screen-aligned buffer area based on an amount of overlap with the fixed screen-aligned buffer area that the destination area of the memory transfer operation has. The device of C21, configured to select a memory transfer mode for performing the memory transfer operation.
[C25] The one or more processors further select the sequential memory transfer mode as the memory transfer mode when the destination area completely covers the fixed screen-aligned buffer area; The device of C24, configured to select the interleaved memory transfer mode as the memory transfer mode if an area does not completely cover the fixed screen aligned buffer area.
[C26] The GPU is further configured to execute a shader program to perform the memory transfer operation, and the one or more processors are further configured such that execution of the shader program is a bottleneck in performance of the memory transfer operation. The device of C21, configured to select the memory transfer mode based on a determination of whether it is likely to become a bottleneck.
[C27] In response to the one or more processors determining that the execution of the shader program is not likely to be a bottleneck in performance of the memory transfer operation, the memory transfer mode is In response to selecting the sequential memory transfer mode and determining that the execution of the shader program is likely to be a bottleneck in performance of the memory transfer operation, the interleaved memory transfer as the memory transfer mode The device of C26, configured to select a mode.
[C28] The GPU is further configured to execute a shader program for performing the memory transfer operation, and the one or more processors further include a shader program used for performing the memory transfer operation. The device of C21, configured to select the memory transfer mode based on at least one of size and complexity of the shader program used to perform the memory transfer operation.
[C29] The one or more processors further select the sequential memory transfer mode as the memory transfer mode when the at least one of the size of the shader program and the complexity of the shader program is smaller than a threshold value. And, if the at least one of the size of the shader program and the complexity of the shader program is not less than the threshold, the interleaved memory transfer mode is configured to be selected as the memory transfer mode. Devices.
[C30] The GPU further performs the memory transfer operation based on the interleaved memory transfer mode in response to the selection of the interleaved memory transfer mode as the memory transfer mode for performing the memory transfer operation. C21 configured to perform the memory transfer operation based on the sequential memory transfer mode in response to selection of the sequential memory transfer mode as the memory transfer mode for performing the memory transfer operation. Device described in.
[C31] When the GPU further performs the memory transfer operation based on the interleaved memory transfer mode, the GPU causes the read engine to issue a read request and the write engine issues a write request based on the producer-consumer paradigm. Configured to let out
The GPU further causes the read engine to issue a read request and the write engine to issue a write request based on a mutual exclusion paradigm when performing the memory transfer operation based on the sequential memory transfer mode. The device of C30, configured as follows.
[C32] When the GPU further performs the memory transfer operation based on the interleaved memory transfer mode, in response to the GPU receiving from the memory sufficient source data to issue a write request, the GPU Causing the write engine to issue the write request and causing the read engine to issue a read request in response to the write engine consuming sufficient source data received from the memory to issue the write request. Composed of
When the GPU further performs the memory transfer operation based on the sequential memory transfer mode, the read engine and the write engine are assigned a group of consecutive read requests during another time interval. The device of C30, configured to cause issuing and issuing a group of a plurality of consecutive read requests to write requests alternately.
[C33] When the GPU further performs the memory transfer operation based on the interleaved memory transfer mode, sufficient source data is received from the memory by the GPU to issue a write request for the memory transfer operation. Each time the write engine is configured to consume each of the source data without waiting for additional source data to be received later for at least one other write request;
Sufficient to issue a write request for the memory transfer operation to at least a portion of the memory transfer operation when the GPU further performs the memory transfer operation based on the sequential memory transfer mode. Consumption of the source data until sufficient additional source data is later received by the write engine to issue at least one other write request in response to the GPU receiving the source data from the memory The device of C30, configured to postpone.
[C34] When the GPU further performs a memory transfer operation based on the interleaved memory transfer mode, each time the write engine consumes sufficient source data to issue a write request for the memory transfer operation. Configured to issue a read request by the read engine without waiting for additional source data to be consumed later by the write engine for at least one other write request;
Sufficient to issue a write request for the memory transfer operation to at least a portion of the memory transfer operation when the GPU further performs the memory transfer operation based on the sequential memory transfer mode. In response to consumption of the source data by the write engine, subsequent reads until sufficient source data is later consumed by the write engine by the read engine to issue at least one other write request. The device of C30, configured to defer issuing a request.
[C35] the GPU comprising a buffer configured to store source data received in response to a read request issued to memory by the GPU;
When the GPU further performs the memory transfer operation based on the interleaved memory transfer mode,
Make one or more read requests,
Placing source data received from the memory in response to the plurality of read requests into the buffer;
For each of the plurality of read requests, in response to the source data being placed in the buffer for each one of the plurality of read requests, consuming the source data located in the buffer; Issue a write request based on the consumed source data,
For each of a plurality of write requests, issue a subsequent read request in response to source data being consumed from the buffer for each one of the write requests.
Configured as
When the GPU further performs the memory transfer operation based on the sequential memory transfer mode,
Make multiple read requests,
Placing source data received from the memory in response to the plurality of read requests into the buffer;
In response to detecting that enough read requests have been made to fill the buffer, stop issuing read requests;
In response to detecting that the buffer is full, based on the consumed source data, consume the source data in the buffer and issue multiple write requests;
In response to detecting that the buffer is empty, stop consuming the source data in the buffer and issuing a write request;
Resume issuing read requests in response to detecting that the buffer is empty
The device of C21, configured as follows.
[C36] The GPU further performs a first portion of the memory transfer operation using a first memory transfer mode selected from the set of at least two different memory transfer modes, and the at least two different The device of C21, configured to perform a second portion of the memory transfer operation using a second memory transfer mode selected from the set of memory transfer modes.
[C37] the GPU further selects a cache line size of a cache used to buffer source data retrieved from the memory during the memory transfer operation based on the selected memory transfer mode; The device of C21, configured to configure the cache for the memory transfer operation based on the selected cache line size.
[C38] The GPU further selects a cache line size equal to the entire capacity of the cache in response to the sequential memory transfer mode being selected as the memory transfer mode for performing the memory transfer operation. , C37 configured to select a cache line size smaller than the entire capacity of the cache in response to the interleaved memory transfer mode being selected as the memory transfer mode for performing the memory transfer operation. Device described in.
[C39] The device of C21, wherein the one or more processors comprise the GPU, and the GPU is configured to select the memory transfer mode for performing the at least part of a memory transfer operation. .
[C40] The one or more processors select the memory transfer mode for performing the at least part of the memory transfer operation, and perform the memory transfer operation on the GPU based on the memory transfer mode. A device according to C21, comprising a CPU, configured to be configured.
[C41] The device of C21, comprising a wireless communication device.
[C42] The device of C21, comprising a mobile phone handset.
[C43] means for selecting a memory transfer mode for performing at least a part of the memory transfer operation, wherein the memory transfer mode includes at least two modes including an interleaved memory transfer mode and a sequential memory transfer mode. Selected from a set of different memory transfer modes,
Means for performing the memory transfer operation based on the selected memory transfer mode.
[C44] The means for selecting the memory transfer mode comprises:
At least one of the amount of data to be transferred by the memory transfer operation, the size of the shader program used to perform the memory transfer operation, and the complexity of the shader program used to perform the memory transfer operation The apparatus of C43, comprising means for selecting the memory transfer mode based on:
[C45] The means for selecting the memory transfer mode comprises:
Select a memory transfer mode for performing the memory transfer operation with respect to the fixed screen-aligned buffer area based on the amount of overlap with the fixed screen-aligned buffer area of the destination area of the memory transfer operation The apparatus of C43, comprising means for:
[C46] The means for performing the memory transfer operation includes a graphics processing unit (GPU),
The apparatus of C43, wherein the means for selecting the memory transfer mode comprises at least one of a CPU and the GPU.
[C47] When executed, to one or more processors,
Selecting a memory transfer mode for performing at least a portion of a memory transfer operation, wherein the memory transfer mode is selected from a set of at least two different memory transfer modes including an interleaved memory transfer mode and a sequential memory transfer mode; Selected,
A computer-readable storage medium storing instructions for performing the memory transfer operation based on the selected memory transfer mode.
[C48] When executed, the one or more processors, when executed, cause the one or more processors to select the memory transfer mode when executed.
At least one of the amount of data to be transferred by the memory transfer operation, the size of the shader program used to perform the memory transfer operation, and the complexity of the shader program used to perform the memory transfer operation The computer-readable storage medium according to C47, comprising instructions for selecting the memory transfer mode based on
[C49] When executed, the one or more processors, when executed, cause the one or more processors to select the memory transfer mode when executed.
Select a memory transfer mode for performing the memory transfer operation with respect to the fixed screen-aligned buffer area based on the amount of overlap with the fixed screen-aligned buffer area of the destination area of the memory transfer operation The computer-readable storage medium according to C47, comprising the instructions to be executed.
[C50] When executed, the instructions that cause the one or more processors to perform the memory transfer operation, when executed, cause a graphics processing unit (GPU) to enter the selected memory transfer mode. An instruction to perform the memory transfer operation based on
When executed, the instructions that cause the one or more processors to select the memory transfer operation, when executed, perform at least a portion of the memory transfer operation on at least one of the CPU and the GPU. A computer readable storage medium according to C 47, comprising instructions for selecting the memory transfer mode for the C47.

Claims (50)

1つまたは複数のプロセッサによって、メモリ転送動作の少なくとも一部を行うためのメモリ転送モードを選択することと、ここにおいて、前記メモリ転送モードは、インターリーブメモリ転送モードと順次的メモリ転送モードとを含む少なくとも2つの異なるメモリ転送モードのセットから選択され、ここにおいて、前記順次的メモリ転送モードは、別個の時間間隔の間に、複数の連続的な読取り要求のグループを出すことと、複数の連続的な書込み要求のグループを出すこととを交互に行うことを含む、
グラフィックスプロセッシングユニット(GPU)によって、前記選択されたメモリ転送モードに基づいて前記メモリ転送動作を行うことと
を備える方法。
Selecting a memory transfer mode for performing at least part of a memory transfer operation by one or more processors, wherein the memory transfer mode includes an interleaved memory transfer mode and a sequential memory transfer mode; Selected from a set of at least two different memory transfer modes , wherein the sequential memory transfer mode issues a plurality of consecutive read request groups and a plurality of consecutive read requests during separate time intervals. Alternately issuing a group of write requests
Performing the memory transfer operation based on the selected memory transfer mode by a graphics processing unit (GPU).
前記1つまたは複数のプロセッサによって前記メモリ転送モードを選択すること
前記1つまたは複数のプロセッサによって、前記メモリ転送動作によって転送されるべきデータの量に基づいて前記メモリ転送モードを選択することを備える、請求項1に記載の方法。
Selecting the memory transfer mode by the one or more processors,
The method of claim 1, comprising selecting the memory transfer mode based on an amount of data to be transferred by the memory transfer operation by the one or more processors.
前記1つまたは複数のプロセッサによって、前記メモリ転送動作によって転送されるべきデータの前記量に基づいて前記メモリ転送モードを選択すること
前記メモリ転送動作によって転送されるべきデータの前記量が閾値より大きい場合、前記1つまたは複数のプロセッサによって、前記メモリ転送モードとして前記順次的メモリ転送モードを選択することと、
前記メモリ転送動作によって転送されるべきデータの前記量が前記閾値より大きくない場合、前記1つまたは複数のプロセッサによって、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択することとを備える、請求項2に記載の方法。
Wherein the one or more processors, configured to select the memory transmission mode, based on the amount of data to be transferred by the memory transfer operations,
Selecting the sequential memory transfer mode as the memory transfer mode by the one or more processors if the amount of data to be transferred by the memory transfer operation is greater than a threshold;
Selecting the interleaved memory transfer mode as the memory transfer mode by the one or more processors if the amount of data to be transferred by the memory transfer operation is not greater than the threshold. 2. The method according to 2.
前記1つまたは複数のプロセッサによって前記メモリ転送モードを選択すること
前記1つまたは複数のプロセッサによって、メモリ転送動作の宛先領域が有する固定されたスクリーン整列されたバッファ領域との重複の量に基づいて、前記固定されたスクリーン整列されたバッファ領域に関して前記メモリ転送動作を行うためのメモリ転送モードを選択することを備える、請求項1に記載の方法。
Selecting the memory transfer mode by the one or more processors,
The memory transfer operation with respect to the fixed screen aligned buffer area by the one or more processors based on an amount of overlap with the fixed screen aligned buffer area of the destination area of the memory transfer operation. The method of claim 1, comprising selecting a memory transfer mode for performing.
前記メモリ転送動作を行うことシェーダプログラムを実行することを備え、
前記1つまたは複数のプロセッサによって、前記メモリ転送モードを選択すること、前記シェーダプログラムの実行が前記メモリ転送動作の性能のボトルネックになる可能性が高いかどうかの決定に基づいて、前記メモリ転送モードを選択することを備える、請求項1に記載の方法。
To perform the memory transfer operation comprises performing a shader program,
By the one or more processors, said selecting a memory transfer mode, based on the determined execution of the shader program is whether it is probable that a bottleneck in performance of the memory transfer operation, the memory The method of claim 1, comprising selecting a transfer mode.
前記1つまたは複数のプロセッサによって、前記シェーダプログラムの前記実行が前記メモリ転送動作の前記性能のボトルネックになる可能性が高いかどうかの前記決定に基づいて、前記メモリ転送モードを選択すること
前記シェーダプログラムの前記実行が前記メモリ転送動作の前記性能のボトルネックになる可能性が高くないと決定したことに応答して、前記メモリ転送モードとして前記順次的メモリ転送モードを選択することと、
前記シェーダプログラムの前記実行が前記メモリ転送動作の前記性能のボトルネックになる可能性が高いと決定したことに応答して、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択することとを備える、請求項に記載の方法。
By the one or more processors, wherein the execution of the shader program based on the determination of whether there is a high possibility of becoming a bottleneck of the performance of the memory transfer operation, selecting the memory transfer mode ,
In response to determining that the execution of the shader program is not likely to be a bottleneck for the performance of the memory transfer operation, selecting the sequential memory transfer mode as the memory transfer mode;
Selecting the interleaved memory transfer mode as the memory transfer mode in response to determining that the execution of the shader program is likely to be a bottleneck for the performance of the memory transfer operation. The method of claim 5 .
前記メモリ転送動作を行うことシェーダプログラムを実行することを備え、
前記1つまたは複数のプロセッサによって前記メモリ転送モードを選択すること、前記メモリ転送動作を行うために使用されるシェーダプログラムのサイズおよび前記メモリ転送動作を行うために使用される前記シェーダプログラムの複雑さの少なくとも1つに基づいて、前記メモリ転送モードを選択することを備える、請求項1に記載の方法。
To perform the memory transfer operation comprises performing a shader program,
Selecting the memory transfer mode by the one or more processors, the complexity of the shader program used to perform the size and the memory transfer operations shader program used to perform the memory transfer operation The method of claim 1, comprising selecting the memory transfer mode based on at least one of the following.
前記1つまたは複数のプロセッサによって、前記メモリ転送動作を行うために使用される前記シェーダプログラムの前記サイズおよび前記メモリ転送動作を行うために使用される前記シェーダプログラムの前記複雑さの前記少なくとも1つに基づいて、前記メモリ転送モードを選択すること
前記シェーダプログラムの前記サイズと前記シェーダプログラムの前記複雑さの前記少なくとも1つが閾値より小さい場合、前記1つまたは複数のプロセッサによって、前記メモリ転送モードとして前記順次的メモリ転送モードを選択することと、
前記シェーダプログラムの前記サイズと前記シェーダプログラムの前記複雑さの前記少なくとも1つが前記閾値より小さくない場合、前記1つまたは複数のプロセッサによって、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択することとを備える、請求項に記載の方法。
The at least one of the size of the shader program used to perform the memory transfer operation and the complexity of the shader program used to perform the memory transfer operation by the one or more processors. based on, selecting the memory transfer mode,
Selecting the sequential memory transfer mode as the memory transfer mode by the one or more processors if the at least one of the size of the shader program and the complexity of the shader program is less than a threshold;
Selecting the interleaved memory transfer mode as the memory transfer mode by the one or more processors if the at least one of the size of the shader program and the complexity of the shader program are not less than the threshold; The method of claim 7 comprising :
前記GPUによって前記メモリ転送動作を行うこと
前記GPUによって、前記メモリ転送動作を行うための前記メモリ転送モードとしてインターリーブメモリ転送モードが選択されたことに応答して、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うことと、
前記GPUによって、前記メモリ転送動作を行うための前記メモリ転送モードとして順次的メモリ転送モードが選択されたことに応答して、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うこととを備える、請求項1に記載の方法。
To perform the memory transfer operation by the GPU, the
Performing the memory transfer operation based on the interleaved memory transfer mode in response to the GPU selecting the interleaved memory transfer mode as the memory transfer mode for performing the memory transfer operation;
Performing the memory transfer operation based on the sequential memory transfer mode in response to the sequential memory transfer mode being selected as the memory transfer mode for performing the memory transfer operation by the GPU. The method of claim 1 comprising.
前記GPUによって、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うこと、生産者−消費者パラダイムに基づいて、読取りエンジンに読取り要求を出させ、書込みエンジンに書込み要求を出させることを備え、
前記GPUによって、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うこと、相互排除のパラダイムに基づいて、前記読取りエンジンに読取り要求を出させ、前記書込みエンジンに書込み要求を出させることを備える、請求項に記載の方法。
By the GPU, to perform the memory transfer operation based on the interleave memory transfer mode, producer - based on consumer paradigm causes issue a read request to read the engine, that causes issue a write request to the write engine Prepared,
By the GPU, wherein the performing the said memory transfer operation on the basis of the sequential memory transfer mode, based on the paradigm of mutual exclusion, thereby issue a read request to the read engine, thereby issue a write request to the write engine The method of claim 9 , comprising:
前記GPUによって、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うこと、前記メモリ転送動作のための書込み要求を出すために十分なソースデータが前記GPUによってメモリから受け取られるたびに、前記書込みエンジンによって、少なくとも1つの他の書込み要求に対して後で受け取られるべき追加のソースデータを待機することなく、それぞれの前記ソースデータを消費することを備え、
前記GPUによって、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うこと、前記メモリ転送動作の少なくとも一部に対して、前記メモリ転送動作のための書込み要求を出すために十分なソースデータを前記GPUが前記メモリから受け取ったことに応答して、前記書込みエンジンによって、少なくとも1つの他の書込み要求を出すために十分な追加のソースデータが後で受け取られるまで前記ソースデータの消費を延期することを備える、請求項に記載の方法。
By the GPU, to perform the memory transfer operation based on the interleave memory transfer mode, each time a sufficient source data to issue a write request for the memory transfer operation is received from the memory by the GPU, the Consuming each said source data without waiting for additional source data to be received later for at least one other write request by a write engine;
By the GPU, wherein the performing the said memory transfer operation on the basis of the sequential memory transfer mode, sufficient source for at least a portion of the memory transfer operation, in order to issue a write request for the memory transfer operation Responsive to receiving data from the memory by the GPU, consumption of the source data until sufficient additional source data is later received by the write engine to issue at least one other write request. The method of claim 9 , comprising postponing.
前記GPUによって、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うこと、前記メモリ転送動作のための書込み要求を出すために十分なソースデータを書込みエンジンが消費するたびに、読取りエンジンによって、少なくとも1つの他の書込み要求に対して前記書込みエンジンによって後で消費されるべき追加のソースデータを待機することなく、読取り要求を出すことを備え、
前記GPUによって、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うこと、前記メモリ転送動作の少なくとも一部に対して、前記メモリ転送動作のための書込み要求を出すために十分なソースデータを前記書込みエンジンが消費したことに応答して、読取りエンジンによって、少なくとも1つの他の書込み要求を出すために十分な追加のソースデータが前記書込みエンジンによって後で消費されるまで、後続の読取り要求の発行を延期することを備える、請求項に記載の方法。
By the GPU, to perform the memory transfer operation based on the interleave memory transfer mode, each time the writing engine to consume enough source data to issue a write request for the memory transfer operation, the read engine Issuing a read request without waiting for additional source data to be consumed later by the write engine for at least one other write request;
By the GPU, wherein the performing the said memory transfer operation on the basis of the sequential memory transfer mode, sufficient source for at least a portion of the memory transfer operation, in order to issue a write request for the memory transfer operation In response to the data being consumed by the write engine, subsequent reads until sufficient additional source data is later consumed by the write engine by the read engine to issue at least one other write request. The method of claim 9 , comprising postponing issuing the request.
前記GPU、前記GPUによってメモリに出された読取り要求に応答して受け取られたソースデータを記憶するように構成されるバッファを備え、
前記GPUによって、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うこと
1つまたは複数の読取り要求を出すことと、
前記複数の読取り要求に応答して前記メモリから受け取られたソースデータを前記バッファに配置することと、
前記複数の読取り要求の各々について、前記複数の読取り要求のそれぞれ1つに対して前記ソースデータが前記バッファに配置されたことに応答して、前記バッファに配置された前記ソースデータを消費し、前記消費されたソースデータに基づいて書込み要求を出すことと、
複数の書込み要求の各々について、前記書込み要求のそれぞれ1つに対してソースデータが前記バッファから消費されたことに応答して、後続の読取り要求を出すことと
を備え、
前記GPUによって、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うこと
複数の読取り要求を出すことと、
前記複数の読取り要求に応答して前記メモリから受け取られたソースデータを前記バッファに配置することと、
前記バッファを埋めるために十分な読取り要求が出されたことを検出したことに応答して、読取り要求を出すことを止めることと、
前記バッファが満たされていることを検出したことに応答して、前記消費されたソースデータに基づいて、前記バッファ中のソースデータを消費し、複数の書込み要求を出すことと、
前記バッファが空であることを検出したことに応答して、前記バッファ中のソースデータを消費して書込み要求を出すことを止めることと、
前記バッファが空であることを検出したことに応答して、読取り要求の発行を再開することと
を備える、請求項1に記載の方法。
The GPU comprises a buffer configured to store source data received in response to a read request issued to the memory by the GPU,
By the GPU, to perform the memory transfer operation based on the interleave memory transfer mode,
Issuing one or more read requests;
Placing source data received from the memory in response to the plurality of read requests in the buffer;
For each of the plurality of read requests, in response to the source data being placed in the buffer for each one of the plurality of read requests, consuming the source data located in the buffer; Issuing a write request based on the consumed source data;
Issuing a subsequent read request for each of a plurality of write requests in response to source data being consumed from the buffer for each one of the write requests;
Wherein the GPU, to perform the memory transfer operation on the basis of the sequential memory transfer mode,
Issuing multiple read requests;
Placing source data received from the memory in response to the plurality of read requests in the buffer;
In response to detecting that enough read requests have been made to fill the buffer, and stopping issuing read requests;
Responsive to detecting that the buffer is full, consuming source data in the buffer based on the consumed source data and issuing a plurality of write requests;
In response to detecting that the buffer is empty, consuming source data in the buffer and stopping issuing write requests;
Resuming the issuing of a read request in response to detecting that the buffer is empty.
少なくとも2つの異なるメモリ転送モードの前記セットから選択された第1のメモリ転送モードを使用して、前記メモリ転送動作の第1の部分を行うことと、
少なくとも2つの異なるメモリ転送モードの前記セットから選択された第2のメモリ転送モードを使用して、前記メモリ転送動作の第2の部分を行うこととを備える、請求項1に記載の方法。
Performing a first portion of the memory transfer operation using a first memory transfer mode selected from the set of at least two different memory transfer modes;
The method of claim 1, comprising performing a second portion of the memory transfer operation using a second memory transfer mode selected from the set of at least two different memory transfer modes.
前記GPUによって前記メモリ転送動作を行うこと
前記選択されたメモリ転送モードに基づいて、前記メモリ転送動作の間にメモリから取り出されるソースデータをバッファリングするために使用されるキャッシュのキャッシュラインサイズを選択することと、
前記選択されたキャッシュラインサイズに基づいて、前記メモリ転送動作のために前記キャッシュを構成することとを備える、請求項1に記載の方法。
To perform the memory transfer operation by the GPU, the
Selecting a cache line size of a cache used to buffer source data retrieved from memory during the memory transfer operation based on the selected memory transfer mode;
The method of claim 1, comprising configuring the cache for the memory transfer operation based on the selected cache line size.
前記キャッシュラインサイズを選択すること
前記順次的メモリ転送モードが、前記メモリ転送動作を行うための前記メモリ転送モードとして選択されたことに応答して、前記キャッシュの容量全体に等しいキャッシュラインサイズを選択することと、
前記インターリーブメモリ転送モードが、前記メモリ転送動作を行うための前記メモリ転送モードとして選択されたことに応答して、前記キャッシュの前記容量全体より小さいキャッシュラインサイズを選択することとを備える、請求項15に記載の方法。
Selecting the cache line size includes :
Responsive to the sequential memory transfer mode being selected as the memory transfer mode for performing the memory transfer operation, selecting a cache line size equal to the overall capacity of the cache;
Selecting the cache line size smaller than the entire capacity of the cache in response to the interleaved memory transfer mode being selected as the memory transfer mode for performing the memory transfer operation. 15. The method according to 15 .
前記1つまたは複数のプロセッサ前記GPUを備え、前記1つまたは複数のプロセッサによって前記メモリ転送モードを選択すること、前記GPUによって、前記メモリ転送動作の前記少なくとも一部を行うための前記メモリ転送モードを選択することを備える、請求項1に記載の方法。 The one or more processors comprises the GPU, said one or selecting the memory transfer mode by a plurality of processors, by the GPU, the memory for performing at least a portion of the memory transfer operation The method of claim 1, comprising selecting a transfer mode. 前記1つまたは複数のプロセッサCPUを備え、前記1つまたは複数のプロセッサによって前記メモリ転送モードを選択すること、前記CPUによって、メモリ転送動作の前記少なくとも一部を行うための前記メモリ転送モードを選択することを備え、前記GPUに、前記選択されたメモリ転送モードに基づいて前記メモリ転送動作を行わせることをさらに備える、請求項1に記載の方法。 The one or more processors includes a CPU, configured to select the memory transmission mode by the one or more processors, by the CPU, the memory transfer mode for performing at least a portion of the memory transfer operation The method of claim 1, further comprising: causing the GPU to perform the memory transfer operation based on the selected memory transfer mode. 前記1つまたは複数のプロセッサによって、メモリ転送動作の少なくとも一部を行うためのメモリ転送モードを選択することと、ここにおいて、前記メモリ転送モードは、インターリーブメモリ転送モードと順次的メモリ転送モードとを含む少なくとも2つの異なるメモリ転送モードのセットから選択される、
グラフィックスプロセッシングユニット(GPU)によって、前記選択されたメモリ転送モードに基づいて前記メモリ転送動作を行うことと、を備え、ここにおいて、前記1つまたは複数のプロセッサによって、前記メモリ転送動作の前記宛先領域が有する前記固定されたスクリーン整列されたバッファ領域との重複の量に基づいて、前記メモリ転送モードを選択することは、
前記1つまたは複数のプロセッサによって、メモリ転送動作の宛先領域が有する固定されたスクリーン整列されたバッファ領域との重複の量に基づいて、前記固定されたスクリーン整列されたバッファ領域に関して前記メモリ転送動作を行うためのメモリ転送モードを選択することと、
前記宛先領域が前記固定されたスクリーン整列されたバッファ領域を完全に覆う場合、前記メモリ転送モードとして前記順次的メモリ転送モードを選択することと、
前記宛先領域が前記固定されたスクリーン整列されたバッファ領域を完全には覆わない場合、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択することと、
備えるデバイス。
By the one or more processors, selecting a memory transfer mode for performing at least a portion of a memory transfer operation, wherein said memory transfer mode, a sequential memory transfer mode and the interleave memory transfer mode Selected from a set of at least two different memory transfer modes including:
Performing the memory transfer operation based on the selected memory transfer mode by a graphics processing unit (GPU) , wherein the destination of the memory transfer operation is performed by the one or more processors. Selecting the memory transfer mode based on the amount of overlap with the fixed screen-aligned buffer area that the area has;
The memory transfer operation with respect to the fixed screen aligned buffer area by the one or more processors based on an amount of overlap with the fixed screen aligned buffer area of the destination area of the memory transfer operation. Selecting a memory transfer mode for performing
Selecting the sequential memory transfer mode as the memory transfer mode if the destination area completely covers the fixed screen aligned buffer area;
If the destination area does not completely cover the fixed screen aligned buffer area, selecting the interleaved memory transfer mode as the memory transfer mode;
Equipped with a device.
1つまたは複数のプロセッサによって、メモリ転送動作の少なくとも一部を行うためのメモリ転送モードを選択することと、ここにおいて、前記メモリ転送モードは、インターリーブメモリ転送モードと順次的メモリ転送モードとを含む少なくとも2つの異なるメモリ転送モードのセットから選択される、Selecting a memory transfer mode for performing at least part of a memory transfer operation by one or more processors, wherein the memory transfer mode includes an interleaved memory transfer mode and a sequential memory transfer mode; Selected from a set of at least two different memory transfer modes;
グラフィックスプロセッシングユニット(GPU)によって、前記選択されたメモリ転送モードに基づいて前記メモリ転送動作を行うことと、を備え、ここにおいて、前記GPUによって前記メモリ転送動作を行うことは、Performing a memory transfer operation based on the selected memory transfer mode by a graphics processing unit (GPU), wherein performing the memory transfer operation by the GPU comprises:
前記GPUによって、前記メモリ転送動作を行うための前記メモリ転送モードとしてインターリーブメモリ転送モードが選択されたことに応答して、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うことと、ここにおいて、前記インターリーブメモリ転送モードに基づいた前記メモリ転送動作は、書込み要求を出すために十分なソースデータを前記GPUがメモリから受け取ったことに応答して、前記書込みエンジンに前記書込み要求を出させることと、前記書込み要求を出すために十分な前記ソースデータを前記書込みエンジンが消費したことに応答して、前記読取りエンジンに読取り要求を出させることとを備える、Performing the memory transfer operation based on the interleaved memory transfer mode in response to the GPU selecting the interleaved memory transfer mode as the memory transfer mode for performing the memory transfer operation; and The memory transfer operation based on the interleaved memory transfer mode causes the write engine to issue the write request in response to the GPU receiving sufficient source data from the memory to issue a write request. And causing the read engine to issue a read request in response to the write engine consuming sufficient source data to issue the write request.
前記GPUによって、前記メモリ転送動作を行うための前記メモリ転送モードとして順次的メモリ転送モードが選択されたことに応答して、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うことと、ここにおいて、前記順次的メモリ転送モードに基づいた前記メモリ転送動作は、前記読取りエンジンおよび前記書込みエンジンに、別個の時間間隔の間に、複数の連続的な読取り要求のグループを出すことと、複数の連続的な書込み要求のグループを出すことと、を交互に行わせることを備える、Performing the memory transfer operation based on the sequential memory transfer mode in response to the GPU selecting the sequential memory transfer mode as the memory transfer mode for performing the memory transfer operation; Wherein the memory transfer operation based on the sequential memory transfer mode includes issuing a plurality of groups of consecutive read requests to the read engine and the write engine during separate time intervals; Alternately issuing a group of consecutive write requests,
を備える方法。A method comprising:
少なくとも1つのメモリと、At least one memory;
前記少なくとも1つのメモリに関してメモリ転送動作の少なくとも一部を行うためのメモリ転送モードを選択するように構成される1つまたは複数のプロセッサと、ここにおいて、前記メモリ転送モードは、インターリーブメモリ転送モードと順次的メモリ転送モードとを含む少なくとも2つの異なるメモリ転送モードのセットから選択され、ここにおいて、前記順次的メモリ転送モードは、別個の時間間隔の間に、複数の連続的な読取り要求のグループを出すことと、複数の連続的な書込み要求のグループを出すこととを交互に行うことを含む、One or more processors configured to select a memory transfer mode for performing at least a portion of a memory transfer operation with respect to the at least one memory, wherein the memory transfer mode is an interleaved memory transfer mode; Selected from a set of at least two different memory transfer modes including a sequential memory transfer mode, wherein the sequential memory transfer mode includes a plurality of groups of consecutive read requests during separate time intervals. Alternately issuing and issuing multiple groups of consecutive write requests,
前記選択されたメモリ転送モードに基づいて前記メモリ転送動作を行うように構成されるグラフィックスプロセッシングユニット(GPU)と、A graphics processing unit (GPU) configured to perform the memory transfer operation based on the selected memory transfer mode;
を備えるデバイス。A device comprising:
前記1つまたは複数のプロセッサさらに、前記メモリ転送動作によって転送されるべきデータの量に基づいて前記メモリ転送モードを選択するように構成される、請求項21に記載のデバイス。 The device of claim 21, wherein the one or more processors are further configured to select the memory transfer mode based on an amount of data to be transferred by the memory transfer operation. 前記1つまたは複数のプロセッサさらに、前記メモリ転送動作によって転送されるべきデータの前記量が閾値より大きい場合、前記メモリ転送モードとして前記順次的メモリ転送モードを選択し、前記メモリ転送動作によって転送されるべきデータの前記量が前記閾値より大きくない場合、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択するように構成される、請求項22に記載のデバイス。 The one or more processors is further the case where the amount of data to be transferred by the memory transfer operation is greater than the threshold, the select sequential memory transfer mode as the memory transfer mode, the transfer by the memory transfer operation 23. The device of claim 22, configured to select the interleaved memory transfer mode as the memory transfer mode if the amount of data to be done is not greater than the threshold. 前記1つまたは複数のプロセッサさらに、メモリ転送動作の宛先領域が有する固定されたスクリーン整列されたバッファ領域との重複の量に基づいて、前記固定されたスクリーン整列されたバッファ領域に関して前記メモリ転送動作を行うためのメモリ転送モードを選択するように構成される、請求項21に記載のデバイス。 The one or more processors are further configured to transfer the memory with respect to the fixed screen-aligned buffer area based on an amount of overlap with the fixed screen-aligned buffer area that the destination area of the memory transfer operation has. The device of claim 21, wherein the device is configured to select a memory transfer mode for performing an operation. 前記1つまたは複数のプロセッサさらに、前記宛先領域が前記固定されたスクリーン整列されたバッファ領域を完全に覆う場合、前記メモリ転送モードとして前記順次的メモリ転送モードを選択し、前記宛先領域が前記固定されたスクリーン整列されたバッファ領域を完全には覆わない場合、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択するように構成される、請求項24に記載のデバイス。 The one or more processors are further if the destination area completely covers the fixed screen aligned buffered regions were, the select sequential memory transfer mode as the memory transfer mode, the destination area is the 25. The device of claim 24, configured to select the interleaved memory transfer mode as the memory transfer mode if it does not completely cover a fixed screen aligned buffer area. 前記GPUさらに、前記メモリ転送動作を行うためにシェーダプログラムを実行するように構成され、前記1つまたは複数のプロセッサさらに、前記シェーダプログラムの実行が前記メモリ転送動作の性能のボトルネックになる可能性が高いかどうかの決定に基づいて、前記メモリ転送モードを選択するように構成される、請求項21に記載のデバイス。 The GPU is further configured to execute a shader program to perform the memory transfer operation, the one or more processors are further execution of the shader program is the performance bottleneck of the memory transfer operation The device of claim 21, wherein the device is configured to select the memory transfer mode based on a determination of whether it is likely. 前記1つまたは複数のプロセッサさらに、前記シェーダプログラムの前記実行が前記メモリ転送動作の性能のボトルネックになる可能性が高くないと決定したことに応答して、前記メモリ転送モードとして前記順次的メモリ転送モードを選択し、前記シェーダプログラムの前記実行が前記メモリ転送動作の性能のボトルネックになる可能性が高いと決定したことに応答して、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択するように構成される、請求項26に記載のデバイス。 In response to determining that the execution of the shader program is not likely to be a bottleneck in performance of the memory transfer operation, the one or more processors are further configured as the sequential memory transfer mode. Select the memory transfer mode, and select the interleaved memory transfer mode as the memory transfer mode in response to determining that the execution of the shader program is likely to be a bottleneck in the performance of the memory transfer operation. 27. The device of claim 26, wherein the device is configured to: 前記GPUさらに、前記メモリ転送動作を行うためにシェーダプログラムを実行するように構成され、前記1つまたは複数のプロセッサさらに、前記メモリ転送動作を行うために使用されるシェーダプログラムのサイズおよび前記メモリ転送動作を行うために使用される前記シェーダプログラムの複雑さの少なくとも1つに基づいて、前記メモリ転送モードを選択するように構成される、請求項21に記載のデバイス。 The GPU further, the configured to execute a shader program to perform a memory transfer operation, the one or more processors are further size and the shader program used to perform the memory transfer operation The device of claim 21, wherein the device is configured to select the memory transfer mode based on at least one of the complexity of the shader program used to perform a memory transfer operation. 前記1つまたは複数のプロセッサさらに、前記シェーダプログラムの前記サイズと前記シェーダプログラムの前記複雑さの前記少なくとも1つが閾値より小さい場合、前記メモリ転送モードとして前記順次的メモリ転送モードを選択し、前記シェーダプログラムの前記サイズと前記シェーダプログラムの前記複雑さの前記少なくとも1つが前記閾値より小さくない場合、前記メモリ転送モードとして前記インターリーブメモリ転送モードを選択するように構成される、請求項28に記載のデバイス。 The one or more processors are further if the smaller than the size as said at least one threshold of complexity of the shader program shader program, the select sequential memory transfer mode as the memory transfer mode, wherein 29. The interleaved memory transfer mode is configured to select the interleaved memory transfer mode as the memory transfer mode if the at least one of the size of a shader program and the complexity of the shader program is not less than the threshold. device. 前記GPUさらに、前記メモリ転送動作を行うための前記メモリ転送モードとしてインターリーブメモリ転送モードが選択されたことに応答して、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行い、前記メモリ転送動作を行うための前記メモリ転送モードとして順次的メモリ転送モードが選択されたことに応答して、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うように構成される、請求項21に記載のデバイス。 The GPU further interleave memory transfer mode in response to that the selected, performs the memory transfer operation based on the interleave memory transfer mode as the memory transfer mode for performing the memory transfer operation, the memory transfer 22. The memory transfer operation according to claim 21, wherein the memory transfer operation is configured to be performed based on the sequential memory transfer mode in response to selection of a sequential memory transfer mode as the memory transfer mode for performing an operation. The device described. 前記GPUさらに、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うときに、生産者−消費者パラダイムに基づいて、読取りエンジンに読取り要求を出させ、書込みエンジンに書込み要求を出させるように構成され、
前記GPUさらに、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うときに、相互排除のパラダイムに基づいて、前記読取りエンジンに読取り要求を出させ、前記書込みエンジンに書込み要求を出させるように構成される、請求項30に記載のデバイス。
The GPU further, when performing the memory transfer operation based on the interleave memory transfer mode, producer - based on consumer paradigm causes issue a read request to read the engine, so as to issue a write request to the write engine Composed of
The GPU further, when performing the memory transfer operation on the basis of the sequential memory transfer mode, based on the paradigm of mutual exclusion, thereby issue a read request to the read engine, to issue a write request to the write engine 32. The device of claim 30, configured as follows.
前記GPUさらに、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うときに、書込み要求を出すために十分なソースデータを前記GPUがメモリから受け取ったことに応答して、前記書込みエンジンに前記書込み要求を出させ、書込み要求を出すために十分な、前記メモリから受け取られたソースデータを前記書込みエンジンが消費したことに応答して、前記読取りエンジンに読取り要求を出させるように構成され、
前記GPUさらに、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うときに、前記読取りエンジンおよび前記書込みエンジンに、別の時間間隔の間に、複数の連続的な読取り要求のグループを出すことと、複数の連続的な読取り要求書込み要求のグループを出すこととを、交互に行わせるように構成される、請求項30に記載のデバイス。
The GPU further, when performing the memory transfer operation based on the interleave memory transfer mode, a sufficient source data to issue a write request in response to the GPU has received from the memory, the write engine Configured to cause the read engine to issue a read request in response to the write engine consuming sufficient source data received from the memory to cause the write request to be issued. ,
The GPU further, when performing the memory transfer operation on the basis of the sequential memory transfer mode, the read engine and the writing engine, during the different number of time intervals, groups of consecutive read requests 31. The device of claim 30, wherein the device is configured to alternately issue and to issue a group of consecutive read requests and write requests.
前記GPUさらに、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うときに、前記メモリ転送動作のための書込み要求を出すために十分なソースデータが前記GPUによってメモリから受け取られるたびに、前記書込みエンジンによって、少なくとも1つの他の書込み要求に対して後で受け取られるべき追加のソースデータを待機することなく、それぞれの前記ソースデータを消費するように構成され、
前記GPUさらに、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うときに、前記メモリ転送動作の少なくとも一部に対して、前記メモリ転送動作のための書込み要求を出すために十分なソースデータを前記GPUが前記メモリから受け取ったことに応答して、前記書込みエンジンによって、少なくとも1つの他の書込み要求を出すために十分な追加のソースデータが後で受け取られるまで前記ソースデータの消費を延期するように構成される、請求項30に記載のデバイス。
The GPU further, when performing the memory transfer operation based on the interleave memory transfer mode, each time a sufficient source data to issue a write request for the memory transfer operation is received from the memory by the GPU, Configured by the write engine to consume each of the source data without waiting for additional source data to be received later for at least one other write request;
The GPU is further sufficient to issue a write request for the memory transfer operation to at least a portion of the memory transfer operation when performing the memory transfer operation based on the sequential memory transfer mode. Consumption of the source data until sufficient additional source data is later received by the write engine to issue at least one other write request in response to the GPU receiving the source data from the memory 32. The device of claim 30, wherein the device is configured to postpone.
前記GPUさらに、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うときに、前記メモリ転送動作のための書込み要求を出すために十分なソースデータを書込みエンジンが消費するたびに、読取りエンジンによって、少なくとも1つの他の書込み要求に対して前記書込みエンジンによって後で消費されるべき追加のソースデータを待機することなく、読取り要求を出すように構成され、
前記GPUさらに、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うときに、前記メモリ転送動作の少なくとも一部に対して、前記メモリ転送動作のための書込み要求を出すために十分なソースデータを前記書込みエンジンが消費したことに応答して、前記読取りエンジンによって、少なくとも1つの他の書込み要求を出すために十分なソースデータが前記書込みエンジンによって後で消費されるまで、後続の読取り要求の発行を延期するように構成される、請求項30に記載のデバイス。
The GPU further, when performing the memory transfer operation based on the interleave memory transfer mode, each time the writing engine to consume enough source data to issue a write request for the memory transfer operation, reading the engine Configured to issue a read request without waiting for additional source data to be consumed later by the write engine for at least one other write request;
The GPU is further sufficient to issue a write request for the memory transfer operation to at least a portion of the memory transfer operation when performing the memory transfer operation based on the sequential memory transfer mode. In response to consumption of the source data by the write engine, subsequent reads until sufficient source data is later consumed by the write engine by the read engine to issue at least one other write request. 32. The device of claim 30, configured to defer issuing a request.
前記GPU、前記GPUによってメモリに出された読取り要求に応答して受け取られたソースデータを記憶するように構成されるバッファを備え、
前記GPUさらに、前記インターリーブメモリ転送モードに基づいて前記メモリ転送動作を行うときに、
1つまたは複数の読取り要求を出し、
前記複数の読取り要求に応答して前記メモリから受け取られたソースデータを前記バッファに配置し、
前記複数の読取り要求の各々について、前記複数の読取り要求のそれぞれ1つに対して前記ソースデータが前記バッファに配置されたことに応答して、前記バッファに配置された前記ソースデータを消費し、前記消費されたソースデータに基づいて書込み要求を出し、
複数の書込み要求の各々について、前記書込み要求のそれぞれ1つに対して前記ソースデータが前記バッファから消費されたことに応答して、後続の読取り要求を出す
ように構成され、
前記GPUさらに、前記順次的メモリ転送モードに基づいて前記メモリ転送動作を行うときに、
複数の読取り要求を出し、
前記複数の読取り要求に応答して前記メモリから受け取られたソースデータを前記バッファに配置し、
前記バッファを埋めるために十分な読取り要求が出されたことを検出したことに応答して、読取り要求を出すことを止め、
前記バッファが満たされていることを検出したことに応答して、前記消費されたソースデータに基づいて、前記バッファ中のソースデータを消費し、複数の書込み要求を出し、
前記バッファが空であることを検出したことに応答して、前記バッファ中のソースデータを消費して書込み要求を出すことを止め、
前記バッファが空であることを検出したことに応答して、読取り要求の発行を再開する
ように構成される、請求項21に記載のデバイス。
The GPU comprises a buffer configured to store source data received in response to a read request issued to the memory by the GPU,
The GPU further, when performing the memory transfer operation based on the interleave memory transfer mode,
Make one or more read requests,
Placing source data received from the memory in response to the plurality of read requests into the buffer;
For each of the plurality of read requests, in response to the source data being placed in the buffer for each one of the plurality of read requests, consuming the source data located in the buffer; Issue a write request based on the consumed source data,
For each of a plurality of write requests, in response to the source data for each one of the write request has been consumed from the buffer, it is configured to issue a subsequent read request,
The GPU further, when performing the memory transfer operation on the basis of the sequential memory transfer mode,
Make multiple read requests,
Placing source data received from the memory in response to the plurality of read requests into the buffer;
In response to detecting that enough read requests have been made to fill the buffer, stop issuing read requests;
In response to detecting that the buffer is full, based on the consumed source data, consume the source data in the buffer and issue multiple write requests;
In response to detecting that the buffer is empty, stop consuming the source data in the buffer and issuing a write request;
24. The device of claim 21, wherein the device is configured to resume issuing read requests in response to detecting that the buffer is empty.
前記GPUさらに、少なくとも2つの異なるメモリ転送モードの前記セットから選択された第1のメモリ転送モードを使用して、前記メモリ転送動作の第1の部分を行い、少なくとも2つの異なるメモリ転送モードの前記セットから選択された第2のメモリ転送モードを使用して、前記メモリ転送動作の第2の部分を行うように構成される、請求項21に記載のデバイス。 The GPU is further using the first memory transfer mode selected from at least two different memory the set of transfer mode, the performing a first portion of the memory transfer operation, two different memory transfer even without least 23. The device of claim 21, configured to perform a second portion of the memory transfer operation using a second memory transfer mode selected from the set of modes. 前記GPUさらに、前記選択されたメモリ転送モードに基づいて、前記メモリ転送動作の間にメモリから取り出されるソースデータをバッファリングするために使用されるキャッシュのキャッシュラインサイズを選択し、前記選択されたキャッシュラインサイズに基づいて、前記メモリ転送動作のために前記キャッシュを構成するように構成される、請求項21に記載のデバイス。 The GPU is further based on the selected memory transfer mode, the source data retrieved from the memory during the memory transfer operation to select a cache line size of the cache used for buffering, said selected 24. The device of claim 21, wherein the device is configured to configure the cache for the memory transfer operation based on a cache line size. 前記GPUさらに、前記順次的メモリ転送モードが前記メモリ転送動作を行うための前記メモリ転送モードとして選択されたことに応答して、前記キャッシュの容量全体に等しいキャッシュラインサイズを選択し、前記インターリーブメモリ転送モードが前記メモリ転送動作を行うための前記メモリ転送モードとして選択されたことに応答して、前記キャッシュの前記容量全体より小さいキャッシュラインサイズを選択するように構成される、請求項37に記載のデバイス。 The GPU is further responsive to said the sequential memory transfer mode is selected as the memory transmission mode for performing the memory transfer operation, select the equal cache line size to its total capacity of the cache, the interleave 38. In response to selecting a memory transfer mode as the memory transfer mode for performing the memory transfer operation, the cache transfer is configured to select a cache line size that is smaller than the entire capacity of the cache. The device described. 前記1つまたは複数のプロセッサ前記GPUを備え、前記GPUはさらに、メモリ転送動作の前記少なくとも一部を行うための前記メモリ転送モードを選択するように構成される、請求項21に記載のデバイス。 The one or more processors comprises the GPU, the GPU is further configured to select the memory transmission mode for performing at least a portion of the memory transfer operation device of claim 21, . 前記1つまたは複数のプロセッサ、前記メモリ転送動作の前記少なくとも一部を行うための前記メモリ転送モードを選択し、前記GPUに、前記メモリ転送モードに基づいて前記メモリ転送動作を行わせるように構成される、CPUを備える、請求項21に記載のデバイス。 The one or more processors, said memory transfer operation to select the memory transmission mode for performing at least a portion, on the GPU, so as to perform the memory transfer operation on the basis of the memory transfer mode The device of claim 21 comprising a CPU configured. ワイヤレス通信デバイスを備える、請求項21に記載のデバイス。   The device of claim 21, comprising a wireless communication device. 携帯電話ハンドセットを備える、請求項21に記載のデバイス。   The device of claim 21, comprising a mobile phone handset. メモリ転送動作の少なくとも一部を行うためのメモリ転送モードを選択するための手段と、ここにおいて、前記メモリ転送モードは、インターリーブメモリ転送モードと順次的メモリ転送モードとを含む少なくとも2つの異なるメモリ転送モードのセットから選択され、ここにおいて、前記順次的メモリ転送モードは、別個の時間間隔の間に、複数の連続的な読取り要求のグループを出すことと、複数の連続的な書込み要求のグループを出すこととを交互に行うことを含む、
前記選択されたメモリ転送モードに基づいて前記メモリ転送動作を行うための手段とを備える装置。
Means for selecting a memory transfer mode for performing at least a portion of a memory transfer operation, wherein the memory transfer mode includes at least two different memory transfers including an interleaved memory transfer mode and a sequential memory transfer mode; Selected from a set of modes , wherein the sequential memory transfer mode is configured to issue a group of consecutive read requests and a group of consecutive write requests during a separate time interval. Including alternately performing
Means for performing the memory transfer operation based on the selected memory transfer mode.
前記メモリ転送モードを選択するための前記手段
前記メモリ転送動作によって転送されるべきデータの量、前記メモリ転送動作を行うために使用されるシェーダプログラムのサイズ、および前記メモリ転送動作を行うために使用される前記シェーダプログラムの複雑さの少なくとも1つに基づいて、前記メモリ転送モードを選択するための手段を備える、請求項43に記載の装置。
Said means for selecting the memory transfer mode,
At least one of the amount of data to be transferred by the memory transfer operation, the size of the shader program used to perform the memory transfer operation, and the complexity of the shader program used to perform the memory transfer operation 44. The apparatus of claim 43, comprising: means for selecting the memory transfer mode based on the one.
前記メモリ転送モードを選択するための前記手段
メモリ転送動作の宛先領域が有する固定されたスクリーン整列されたバッファ領域との重複の量に基づいて、前記固定されたスクリーン整列されたバッファ領域に関して前記メモリ転送動作を行うためのメモリ転送モードを選択するための手段を備える、請求項43に記載の装置。
Said means for selecting the memory transfer mode,
Select a memory transfer mode for performing the memory transfer operation with respect to the fixed screen-aligned buffer area based on the amount of overlap with the fixed screen-aligned buffer area of the destination area of the memory transfer operation 44. The apparatus of claim 43, comprising means for:
前記メモリ転送動作を行うための前記手段、グラフィックスプロセッシングユニット(GPU)を備え、
前記メモリ転送モードを選択するための前記手段、CPUと前記GPUの少なくとも1つを備える、請求項43に記載の装置。
It said means for performing said memory transfer operation includes a graphics processing unit (GPU),
44. The apparatus of claim 43, wherein the means for selecting the memory transfer mode comprises at least one of a CPU and the GPU.
実行されたとき、1つまたは複数のプロセッサに、
メモリ転送動作の少なくとも一部を行うためのメモリ転送モードを選択させ、ここにおいて、前記メモリ転送モードは、インターリーブメモリ転送モードと順次的メモリ転送モードとを含む少なくとも2つの異なるメモリ転送モードのセットから選択され、ここにおいて、前記順次的メモリ転送モードは、別個の時間間隔の間に、複数の連続的な読取り要求のグループを出すことと、複数の連続的な書込み要求のグループを出すこととを交互に行うことを含む、
前記選択されたメモリ転送モードに基づいて前記メモリ転送動作を行わせる命令を記憶したコンピュータ可読記憶媒体。
When executed, one or more processors
Selecting a memory transfer mode for performing at least a portion of a memory transfer operation, wherein the memory transfer mode is selected from a set of at least two different memory transfer modes including an interleaved memory transfer mode and a sequential memory transfer mode; Selected , wherein the sequential memory transfer mode issues a plurality of consecutive read request groups and a plurality of consecutive write request groups during separate time intervals. Including alternately performing,
A computer-readable storage medium storing instructions for performing the memory transfer operation based on the selected memory transfer mode.
実行されたとき、前記1つまたは複数のプロセッサに、前記メモリ転送モードを選択させる前記命令、実行されたとき、前記1つまたは複数のプロセッサに、
前記メモリ転送動作によって転送されるべきデータの量、前記メモリ転送動作を行うために使用されるシェーダプログラムのサイズ、および前記メモリ転送動作を行うために使用される前記シェーダプログラムの複雑さの少なくとも1つに基づいて、前記メモリ転送モードを選択させる命令を備える、請求項47に記載のコンピュータ可読記憶媒体。
The instructions that , when executed, cause the one or more processors to select the memory transfer mode, when executed, cause the one or more processors to
At least one of the amount of data to be transferred by the memory transfer operation, the size of the shader program used to perform the memory transfer operation, and the complexity of the shader program used to perform the memory transfer operation 48. The computer readable storage medium of claim 47, comprising instructions for selecting the memory transfer mode based on the one.
実行されたとき、前記1つまたは複数のプロセッサに、前記メモリ転送モードを選択させる前記命令、実行されたとき、前記1つまたは複数のプロセッサに、
メモリ転送動作の宛先領域が有する固定されたスクリーン整列されたバッファ領域との重複の量に基づいて、前記固定されたスクリーン整列されたバッファ領域に関して前記メモリ転送動作を行うためのメモリ転送モードを選択させる命令を備える、請求項47に記載のコンピュータ可読記憶媒体。
The instructions that , when executed, cause the one or more processors to select the memory transfer mode, when executed, cause the one or more processors to
Select a memory transfer mode for performing the memory transfer operation with respect to the fixed screen-aligned buffer area based on the amount of overlap with the fixed screen-aligned buffer area of the destination area of the memory transfer operation 48. The computer readable storage medium of claim 47, comprising instructions for causing the to execute.
実行されたとき、前記1つまたは複数のプロセッサに、前記メモリ転送動作を行わせる前記命令、実行されたとき、グラフィックスプロセッシングユニット(GPU)に、前記選択されたメモリ転送モードに基づいて前記メモリ転送動作を行わせる命令を備え、
実行されたとき、前記1つまたは複数のプロセッサに、前記メモリ転送モードを選択させる前記命令、実行されたとき、CPUと前記GPUの少なくとも1つに、メモリ転送動作の前記少なくとも一部を行うための前記メモリ転送モードを選択させる命令を備える、請求項47に記載のコンピュータ可読記憶媒体。
The instructions that , when executed, cause the one or more processors to perform the memory transfer operation, when executed, cause a graphics processing unit (GPU) to execute the memory transfer mode based on the selected memory transfer mode. With instructions to perform memory transfer operations,
The instructions that , when executed, cause the one or more processors to select the memory transfer mode , when executed, perform at least a portion of a memory transfer operation to at least one of the CPU and the GPU. 48. The computer readable storage medium of claim 47, comprising instructions that cause the memory transfer mode to be selected.
JP2015549407A 2012-12-21 2013-11-21 Multi-mode memory access technique for graphics processing unit based memory transfer operations Active JP6009692B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/725,393 US9245496B2 (en) 2012-12-21 2012-12-21 Multi-mode memory access techniques for performing graphics processing unit-based memory transfer operations
US13/725,393 2012-12-21
PCT/US2013/071283 WO2014099249A1 (en) 2012-12-21 2013-11-21 Multi-mode memory access techniques for performing graphics processing unit-based memory transfer operations

Publications (3)

Publication Number Publication Date
JP2016509280A JP2016509280A (en) 2016-03-24
JP2016509280A5 true JP2016509280A5 (en) 2016-05-12
JP6009692B2 JP6009692B2 (en) 2016-10-19

Family

ID=49759568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015549407A Active JP6009692B2 (en) 2012-12-21 2013-11-21 Multi-mode memory access technique for graphics processing unit based memory transfer operations

Country Status (7)

Country Link
US (1) US9245496B2 (en)
EP (1) EP2936492B1 (en)
JP (1) JP6009692B2 (en)
KR (1) KR101667508B1 (en)
CN (1) CN104871246B (en)
ES (1) ES2907227T3 (en)
WO (1) WO2014099249A1 (en)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11243816B2 (en) * 2014-03-30 2022-02-08 UniversiteitGent Program execution on heterogeneous platform
JP6412708B2 (en) * 2014-04-01 2018-10-24 株式会社ソニー・インタラクティブエンタテインメント Processing system and multi-processing system
US10417990B2 (en) * 2014-10-16 2019-09-17 Nvidia Corporation Efficient binding of resource groups in a graphics application programming interface
US9818170B2 (en) * 2014-12-10 2017-11-14 Qualcomm Incorporated Processing unaligned block transfer operations
US10198206B2 (en) 2015-04-17 2019-02-05 Hewlett-Packard Development Company, L.P. Memory mode categorizations
US10163180B2 (en) 2015-04-29 2018-12-25 Qualcomm Incorporated Adaptive memory address scanning based on surface format for graphics processing
US9947277B2 (en) * 2015-05-20 2018-04-17 Apple Inc. Devices and methods for operating a timing controller of a display
WO2017049583A1 (en) * 2015-09-25 2017-03-30 Intel Corporation Gpu-cpu two-path memory copy
US9864705B2 (en) 2015-11-01 2018-01-09 International Business Machines Corporation Dynamic access method switching for open data sets
US10034407B2 (en) * 2016-07-22 2018-07-24 Intel Corporation Storage sled for a data center
US10310860B2 (en) * 2016-07-29 2019-06-04 International Business Machines Corporation Starting and stopping instruction dispatch to execution unit queues in a multi-pipeline processor
US10175905B2 (en) * 2016-09-13 2019-01-08 Apple Inc. Systems and methods for dynamically switching memory performance states
KR102022481B1 (en) * 2017-12-06 2019-09-18 연세대학교 산학협력단 Method for Generating Checkpoint of High Performance Computing System Using GPU Usage
US10430915B2 (en) * 2017-12-28 2019-10-01 Nvidia Corporation Multi-GPU frame rendering
US11252429B2 (en) * 2018-04-27 2022-02-15 Ati Technologies Ulc Low-latency consumption of an encoded video bitstream
KR102520412B1 (en) * 2018-09-19 2023-04-12 에스케이하이닉스 주식회사 Memory system and operation method thereof
US10642764B1 (en) * 2019-03-01 2020-05-05 Western Digital Technologies, Inc. Data transfer command latency of a host device
WO2021010941A1 (en) * 2019-07-12 2021-01-21 Hewlett-Packard Development Company, L.P. Data updates for controllers
US11843772B2 (en) 2019-12-06 2023-12-12 Ati Technologies Ulc Video encode pre-analysis bit budgeting based on context and features
EP4071622B1 (en) * 2019-12-19 2024-03-27 Huawei Technologies Co., Ltd. Storage system and data crossing method
WO2021158483A1 (en) * 2020-02-03 2021-08-12 Song Interactive Entertainment Inc. System and method for efficient multi-gpu rendering of geometry by pretesting against interleaved screen regions before rendering
US11960404B2 (en) * 2020-09-23 2024-04-16 Advanced Micro Devices, Inc. Method and apparatus for reducing the latency of long latency memory requests
KR102641532B1 (en) * 2022-10-20 2024-02-28 (주)한국플랫폼서비스기술 Computing apparatus using deep learning framework privacy protection and method thereof

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396597A (en) 1992-04-03 1995-03-07 International Business Machines Corporation System for transferring data between processors via dual buffers within system memory with first and second processors accessing system memory directly and indirectly
US5948081A (en) 1997-12-22 1999-09-07 Compaq Computer Corporation System for flushing queued memory write request corresponding to a queued read request and all prior write requests with counter indicating requests to be flushed
US6756986B1 (en) 1999-10-18 2004-06-29 S3 Graphics Co., Ltd. Non-flushing atomic operation in a burst mode transfer data storage access environment
US6564304B1 (en) 2000-09-01 2003-05-13 Ati Technologies Inc. Memory processing system and method for accessing memory including reordering memory requests to reduce mode switching
US6625685B1 (en) 2000-09-20 2003-09-23 Broadcom Corporation Memory controller with programmable configuration
US6819327B2 (en) 2001-05-18 2004-11-16 Sun Microsystems, Inc. Signature analysis registers for testing a computer graphics system
JP2003323339A (en) * 2002-03-01 2003-11-14 Sony Computer Entertainment Inc Memory access device, semiconductor device, memory access control method, computer program and recording medium
KR100648293B1 (en) * 2005-08-09 2006-11-23 삼성전자주식회사 Graphic system and graphic processing method for the same
US8035647B1 (en) 2006-08-24 2011-10-11 Nvidia Corporation Raster operations unit with interleaving of read and write requests using PCI express
US8327092B2 (en) 2009-09-21 2012-12-04 Freescale Semiconductor, Inc. Memory device configurable as interleaved or non-interleaved memory
KR101639574B1 (en) * 2009-12-30 2016-07-14 삼성전자주식회사 Image processing system supplying adaptive bank address and address mapping method thereof
JP5678273B2 (en) * 2010-03-01 2015-02-25 パナソニックIpマネジメント株式会社 Memory controller
KR101620460B1 (en) * 2010-05-04 2016-05-13 삼성전자주식회사 Interconnect, bus system having interconnect and operating method of bus system
US9465728B2 (en) * 2010-11-03 2016-10-11 Nvidia Corporation Memory controller adaptable to multiple memory devices
US9208002B2 (en) * 2012-01-06 2015-12-08 International Business Machines Corporation Equalizing bandwidth for multiple requesters using a shared memory system

Similar Documents

Publication Publication Date Title
JP2016509280A5 (en)
CN110647480B (en) Data processing method, remote direct access network card and equipment
KR101361928B1 (en) Cache prefill on thread migration
CN100349150C (en) System and method for accessing controller communication data through direct memory
US9569270B2 (en) Mapping thread phases onto heterogeneous cores based on execution characteristics and cache line eviction counts
JP2017513116A5 (en)
WO2014176981A1 (en) Cross-page prefetching method, device and system
TW201539196A (en) A data processing system and method for handling multiple transactions
JP2010520568A5 (en)
US9323679B2 (en) System, method, and computer program product for managing cache miss requests
CN101727414A (en) Technique for communicating interrupts in a computer system
CN105183662A (en) Cache consistency protocol-free distributed sharing on-chip storage framework
JP2017538212A (en) Improved function callback mechanism between central processing unit (CPU) and auxiliary processor
WO2015180513A1 (en) Data transmission method and computer
WO2010000101A1 (en) Device and method for extending memory space of embedded system
CN112799696B (en) Firmware upgrading method and related equipment
US20170185643A1 (en) Techniques to achieve ordering among storage device transactions
US8909892B2 (en) Method, apparatus, and computer program product for fast context switching of application specific processors
WO2012140670A4 (en) Multi-host sata controller
US20150301865A1 (en) Hardware resource allocation for applications
CN102521179A (en) Achieving device and achieving method of direct memory access (DMA) reading operation
CN114564234A (en) Processing apparatus, method and system for performing data processing on a plurality of channels
CN112988375B (en) Process management method and device and electronic equipment
CN114546277A (en) Device, method, processing device and computer system for accessing data
CN102779098B (en) The cooperating type adaptive prefetching methods, devices and systems of hybrid cache