JP2011530744A - 停止可能および再始動可能dmaエンジン - Google Patents
停止可能および再始動可能dmaエンジン Download PDFInfo
- Publication number
- JP2011530744A JP2011530744A JP2011522204A JP2011522204A JP2011530744A JP 2011530744 A JP2011530744 A JP 2011530744A JP 2011522204 A JP2011522204 A JP 2011522204A JP 2011522204 A JP2011522204 A JP 2011522204A JP 2011530744 A JP2011530744 A JP 2011530744A
- Authority
- JP
- Japan
- Prior art keywords
- memory location
- bytes
- copy
- information
- read address
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Abstract
Description
コードセグメント#1
(i=O;i<CNT;i++)に対して{DST[i]=SRC[i];}
によって提供される。
コードセグメント#2
(i=O;i<CNT;i++)に対して{DST[OFF[i]]=SRC[i];}
で記述したコードで書かれてもよい。「SRC」は、コピー元のアドレスを意味する。「DST」は、コピー先のアドレスを意味する。「OFF」は、オフセットアレイのアドレスを意味する。
コードセグメント#3
(i=0;i<CNT;i++)に対して{DST[i]=SRC[0FF[i]];}
で記述したようなコードで書かれてもよい。コードセグメント#2と同様に、「SRC」は、コピー元のアドレスを意味する。同様に、「DST」は、コピー先のアドレスを意味する。さらに、「OFF」は、オフセットアレイのアドレスを意味する。
コードセグメント#4
(i=0;i<CNTO;i++)に対して、{(j=0;j<CNTl;j++)に対して DST[i][j]=SRC[I][j]}}
で記述したコードで書かれてもよい。コードセグメント#2および#3と同様に、「SRC」は、コピー元のアドレスを意味する。「DST」は、コピー先のアドレスを意味する。「OFF」はオフセットアレイのアドレスを意味する。
一般的なDMAエンジンを参照してもう一度説明すると、エンジンが転送を開始した後、エンジンは完了に向けて実行する。その後、DMAエンジンは、転送が完了していることをプロセッサにシグナリングする。これに続いて、DMAエンジンは、第2の転送を実行する。プロセスは、必要に応じて反復される。当業者によって正しく認識されるように、これは、DMAエンジンの動作を記述するための1つの方法に過ぎない。
本発明は、ブロック転送DMAの再始動可能な中止を提供する。ブロック転送DMAの再始動可能な中止は、転送の中間においてDMAを中止させることが可能であるものである。いったん、転送が中止されると、(1)転送されるバイトが何バイト残されているかと、(2)読み取られることになる、次のバイトのアドレスと、(3)書き込まれることになる、次のバイトのアドレスとを決定することが可能である。このアプローチは、簡単に、DMAの制御レジスタを読み取ることによって実現してもよい。他の可能性あるインプリメンテーションも企図されている。
本発明によって示される第1のバリエーションを、「シンプル」インプリメンテーションと呼ぶ。シンプルインプリメンテーションでは、コピー元や、コピー先や、バイトカウントの初期値のコピーを、書き込まれたバイト数のカウントともに保持する。この情報が保持されていることから、転送されたバイトカウントに初期値を加えること、および/または、転送されたバイトカウントから初期値を引くことによって、DMA転送動作の再始動状態を決定することができる。当業者によって正しく認識されるように、このシンプルなアプローチは、非効率的である。この非効率性の1つの理由は、DMAのこのインプリメンテーションには、次の読み取りバイトおよび/または次の書き込みバイトを追跡するためのシステムが必要であることである。
本発明によって示される第2のバリエーションを、「ドレイン」インプリメンテーションと呼ぶ。このインプリメンテーションでは、DMAが、次の読み取りアドレスおよび/または次の書き込みアドレスの実行カウントを維持する。DMAはまた、読み取られることになる残りのバイト数を追跡する。転送の中間で中止されたとき、DMAは、読み取りを中止し、メモリに書き込まれるように既に読み取られているバイトを待つ。いったん、バイトがメモリに書き込まれると、DMAは再始動可能状態に置かれ、この状態から、DMAは転送動作を完了させるかもしれない。明らかであるように、このインプリメンテーションには、少なくとも1つの短所がある。特に、保留中のすべての読み取りを、DMAが再始動可能状態になる前に書き込まれなければならない。この構成は、結果的に、転送動作の実行の間に待ち時間となる可能性がある。
本発明によって示される第3のバリエーションを、「早期中止」インプリメンテーションと呼ぶ。このインプリメンテーションでは、DMAは、次の読み取りアドレスおよび/または次の書き込みアドレスの実行カウントを維持する。DMAは、書き込むために残されたバイト数も保持する。DMAが転送の中間で中止したとき、DMAは、書き込みを中止し、すべての保留中の読み取りおよび/または書き込みをフラッシュする。一般的に、この実施形態では、読み取りアドレスは、書き込みアドレスに先行する(すなわち、書き込まれるよりも、より多くのバイトが読み込まれている)。結果的に、読み取りアドレスが書き込みアドレスに先行するバイトの量分だけ、読み取りアドレスはデクリメントされなければならない。このアプローチには、最初の2つのアプローチに関連して説明した種類の短所がないので、本発明のインプリメンテーション向けの1つの魅力的なアプローチとして提供する。
第4のバリエーションを、「先行」インプリメンテーションと呼ぶ。どのくらい読み取りアドレスが書き込みアドレスに先行しているか(すなわち、読み取られたバイト数と、書き込まれたバイト数との差)を追跡するために、別個のレジスタ(すなわち、追加のレジスタ)を使用することを除いて、このインプリメンテーションは、早期中止インプリメンテーションに類似している。この値を「先行」値と呼ぶ。一般的に、先行値は小さいので、追加のレジスタは、実に容易にかつ安価に実現することができる。言い換えると、先行アプローチには、追加のレジスタが必要であるが、付加的なレジスタは、DMAの動作に関係する全体的な「コスト」を大きく増加させない。このインプリメンテーションでは、再始動状態を回復させるために、プロセッサは、先行値を読み取りアドレスから引いて、正確な再始動読み取りアドレスを得る。
先に説明したように、DMAは、スキャッタ動作およびギャザー動作の両方を実現するかもしれない。DMAがスキャッタおよび/またはギャザーに携わるとき、オフセットの読み取りは、データの読み取りおよび/または書き込みに先行する傾向がある。オフセットの再始動状態を回復させるために、前述の早期中止の技術または先行の技術の何らかのバリエーションを使用する必要がある。
従来、DMAは、周辺装置として扱われてきた。そして、その結果、DMAレジスタは、動作をロードおよび/または記憶することによって、あるいは、特別な入力および/または出力命令によって、のいずれかでアクセスされている。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
〔1〕ダイレクトメモリアクセスエンジンを動作させる方法において、
第1のコピー元メモリ位置から第1のコピー先メモリ位置への第1のバイト数のコピーを開始することと、
前記コピーを開始した後、前記第1のバイト数が前記第1のコピー元メモリ位置から前記第1のコピー先メモリ位置にコピーされる前に停止命令を発行することと、
前記停止命令の発行に応答して前記コピーを停止し、これによリ、前記第1のバイト数からコピーされることになる残りのバイト数を含む、第2のバイト数を確立することと、
前記第2のバイト数の量を識別することと、
前記第2のバイト数の量に関する量情報を発生させることと、
前記量情報を記憶することと、
前記第2のバイト数が記憶されている第2のコピー元メモリ位置を識別することと、
前記第2のバイト数が記憶されている前記第2のコピー元メモリ位置を含む第2のコピー元メモリ位置情報を発生させることと、
前記第2のメモリコピー元位置情報を記憶することと、
前記第2のバイト数が転送されることになる第2のコピー先メモリ位置を識別することと、
前記第2のバイト数が記憶されることになる前記第2のコピー先メモリ位置を含む第2のコピー先メモリ位置情報を発生させることと、
前記第2のコピー先メモリ位置情報を記憶することとを含む方法。
〔2〕前記量情報を取り出すことと、
前記第2のコピー元メモリ位置情報を取り出すことと、
前記第2のコピー先メモリ位置情報を取り出すこととをさらに含み、
前記量情報と、前記第2のコピー元メモリ位置情報と、前記第2のコピー先メモリ位置情報は、前記ダイレクトメモリアクセスエンジン中の少なくとも1つのレジスタから読み取られる〔1〕記載の方法。
〔3〕前記少なくとも1つのレジスタは、複数のレジスタを含む〔2〕記載の方法。
〔4〕前記複数のレジスタは、前記第1のコピー元メモリ位置が保持される少なくとも1つのコピー元レジスタと、前記第1のコピー先メモリ位置が保持される少なくとも1つのコピー先レジスタとを含む〔3〕記載の方法。
〔5〕前記複数のレジスタは、前記量情報が保持される量レジスタをさらに含む〔4〕記載の方法。
〔6〕前記量情報と、前記第2のコピー元メモリ位置情報と、前記第2のコピー先メモリ位置情報とを使用して、前記第2のコピー元メモリ位置から第2のコピー先メモリ位置への前記第2のバイト数のコピーを開始することによって、前記停止された転送を再開することをさらに含む〔2〕記載の方法。
〔7〕前記第2のコピー元メモリ位置情報から次の読み取りアドレスを決定することと、
前記第2のコピー先メモリ位置情報から次の書き込みアドレスを決定することと、
保留中のすべての読み取りおよび書き込みをフラッシュすることと、
前記次の読み取りアドレスと前記次の書き込みアドレスとから、デクリメント値を決定することと、
前記デクリメント値分だけ前記次の読み取りアドレスをデクリメントし、これにより、デクリメントされた読み取りアドレスを発生させることとをさらに含み、
前記デクリメント値は、前記次の読み取りアドレスが次の書き込みアドレスに先行するバイト数を識別し、
前記第2のメモリ位置から前記第2のメモリコピー先への前記第2のバイト数のコピーは、前記デクリメントされた読み取りアドレスと、前記次の書き込みアドレスと、前記量情報とに少なくとも基づいて進む〔6〕記載の方法。
〔8〕前記第2のコピー元メモリ位置情報から次の読み取りアドレスを決定することと、
前記第2のコピー先メモリ位置情報から次の書き込みアドレスを決定することと、
前記次の読み取りアドレスが前記次の書き込みアドレスに先行するバイト数を追跡し、これにより、先行値を確立することと、
前記先行値を記憶することと、
前記先行値を取り出すことと、
前記先行値分だけ前記次の読み取りアドレスを調整し、これにより、調整された次の読み取りアドレスを発生させることとをさらに含み、
前記第2のメモリ位置から前記第2のメモリコピー先への前記第2のバイト数のコピーは、前記調整された次の読み取りアドレスと、前記次の書き込みアドレスと、前記量情報とに少なくとも基づいて進む〔6〕記載の方法。
〔9〕前記第2のコピー元メモリ位置情報から次の読み取りアドレスを決定することと、
前記第2のコピー先メモリ位置情報から次の書き込みアドレスを決定することとをさらに含み、
前記第2のメモリ位置から前記第2のメモリコピー先への前記第2のバイト数のコピーは、前記次の読み取りアドレスと、前記次の書き込みアドレスと、前記量情報とを使用して進む〔6〕記載の方法。
〔10〕前記第1のコピー元メモリ位置の識別を保持することと、
前記第1のコピー先メモリ位置の識別を保持することと、
前記第1のバイト数のカウントを保持することと、
前記量情報を取り出すことと、
前記第1のコピー元メモリ位置の識別と、前記第1のバイト数のカウントと、前記量情報とに少なくとも基づいて、次の読み取りアドレスを確立することと、
前記第1のコピー先メモリ位置の識別と、前記第1のバイト数のカウントと、前記量情報とに少なくとも基づいて、次の書き込みアドレスを確立することとをさらに含み、
前記第2のメモリ位置から前記第2のメモリコピー先への前記第2のバイト数のコピーは、前記次の読み取りアドレスと、前記次の書き込みアドレスと、前記第1のバイト数のカウントと、前記量情報とに少なくとも依存する〔1〕記載の方法。
〔11〕前記次の読み取りアドレスの表示を保持することと、
前記次の書き込みアドレスの表示を保持することと、
前記停止命令の発行後に、
前記第1のコピー元メモリ位置からの前記第1のバイト数の読み取りを中止することと、
前記読み取りを中止する前に読み取ったバイトから残った任意のバイトを前記第1のコピー先メモリ位置に書き込むことと、
前記第2のコピー元メモリ位置情報から次の読み取りアドレスを決定することと、
前記第2のコピー先メモリ位置情報から次の書き込みアドレスを決定することとをさらに含み、
前記第2のメモリ位置から前記第2のメモリコピー先への前記第2のバイト数のコピーは、前記次の読み取りアドレスと、前記次の書き込みアドレスと、前記量情報とに少なくとも依存する〔1〕記載の方法。
〔12〕複数のバッファに分散されている前記第1のコピー元メモリ位置から、前記第1のバイト数を取り出すことと、
前記第1のバイト数を単一のデータストリームに集めることをさらに含む〔1〕記載の方法。
〔13〕前記単一のデータストリームからの前記第1のバイト数を前記第1のコピー先メモリ位置に提供することをさらに含み、
前記第1のコピー先メモリ位置は、複数のバッファに分散される〔12〕記載の方法。
〔14〕前記第1のコピー先メモリ位置は、複数のバッファに分散される〔1〕記載の方法。
Claims (14)
- ダイレクトメモリアクセスエンジンを動作させる方法において、
第1のコピー元メモリ位置から第1のコピー先メモリ位置への第1のバイト数のコピーを開始することと、
前記コピーを開始した後、前記第1のバイト数が前記第1のコピー元メモリ位置から前記第1のコピー先メモリ位置にコピーされる前に停止命令を発行することと、
前記停止命令の発行に応答して前記コピーを停止し、これによリ、前記第1のバイト数からコピーされることになる残りのバイト数を含む、第2のバイト数を確立することと、
前記第2のバイト数の量を識別することと、
前記第2のバイト数の量に関する量情報を発生させることと、
前記量情報を記憶することと、
前記第2のバイト数が記憶されている第2のコピー元メモリ位置を識別することと、
前記第2のバイト数が記憶される前記第2のコピー元メモリ位置を含む第2のコピー元メモリ位置情報を発生させることと、
前記第2のメモリコピー元位置情報を記憶することと、
前記第2のバイト数が転送されることになる第2のコピー先メモリ位置を識別することと、
前記第2のバイト数が記憶されることになる前記第2のコピー先メモリ位置を含む第2のコピー先メモリ位置情報を発生させることと、
前記第2のコピー先メモリ位置情報を記憶することとを含む方法。 - 前記量情報を取り出すことと、
前記第2のコピー元メモリ位置情報を取り出すことと、
前記第2のコピー先メモリ位置情報を取り出すこととをさらに含み、
前記量情報と、前記第2のコピー元メモリ位置情報と、前記第2のコピー先メモリ位置情報は、前記ダイレクトメモリアクセスエンジン中の少なくとも1つのレジスタから読み取られる請求項1記載の方法。 - 前記少なくとも1つのレジスタは、複数のレジスタを含む請求項2記載の方法。
- 前記複数のレジスタは、前記第1のコピー元メモリ位置が保持される少なくとも1つのコピー元レジスタと、前記第1のコピー先メモリ位置が保持される少なくとも1つのコピー先レジスタとを含む請求項3記載の方法。
- 前記複数のレジスタは、前記量情報が保持される量レジスタをさらに含む請求項4記載の方法。
- 前記量情報と、前記第2のコピー元メモリ位置情報と、前記第2のコピー先メモリ位置情報とを使用して、前記第2のコピー元メモリ位置から第2のコピー先メモリ位置への前記第2のバイト数のコピーを開始することによって、前記停止された転送を再開することをさらに含む請求項2記載の方法。
- 前記第2のコピー元メモリ位置情報から次の読み取りアドレスを決定することと、
前記第2のコピー先メモリ位置情報から次の書き込みアドレスを決定することと、
保留中のすべての読み取りおよび書き込みをフラッシュすることと、
前記次の読み取りアドレスと前記次の書き込みアドレスとから、デクリメント値を決定することと、
前記デクリメント値分だけ前記次の読み取りアドレスをデクリメントし、これにより、デクリメントされた読み取りアドレスを発生させることとをさらに含み、
前記デクリメント値は、前記次の読み取りアドレスが次の書き込みアドレスに先行するバイト数を識別し、
前記第2のメモリ位置から前記第2のメモリコピー先への前記第2のバイト数のコピーは、前記デクリメントされた読み取りアドレスと、前記次の書き込みアドレスと、前記量情報とに少なくとも基づいて進む請求項6記載の方法。 - 前記第2のコピー元メモリ位置情報から次の読み取りアドレスを決定することと、
前記第2のコピー先メモリ位置情報から次の書き込みアドレスを決定することと、
前記次の読み取りアドレスが前記次の書き込みアドレスに先行するバイト数を追跡し、これにより、先行値を確立することと、
前記先行値を記憶することと、
前記先行値を取り出すことと、
前記先行値分だけ前記次の読み取りアドレスを調整し、これにより、調整された次の読み取りアドレスを発生させることとをさらに含み、
前記第2のメモリ位置から前記第2のメモリコピー先への前記第2のバイト数のコピーは、前記調整された次の読み取りアドレスと、前記次の書き込みアドレスと、前記量情報とに少なくとも基づいて進む請求項6記載の方法。 - 前記第2のコピー元メモリ位置情報から次の読み取りアドレスを決定することと、
前記第2のコピー先メモリ位置情報から次の書き込みアドレスを決定することとをさらに含み、
前記第2のメモリ位置から前記第2のメモリコピー先への前記第2のバイト数のコピーは、前記次の読み取りアドレスと、前記次の書き込みアドレスと、前記量情報とを使用して進む請求項6記載の方法。 - 前記第1のコピー元メモリ位置の識別を保持することと、
前記第1のコピー先メモリ位置の識別を保持することと、
前記第1のバイト数のカウントを保持することと、
前記量情報を取り出すことと、
前記第1のコピー元メモリ位置の識別と、前記第1のバイト数のカウントと、前記量情報とに少なくとも基づいて、次の読み取りアドレスを確立することと、
前記第1のコピー先メモリ位置の識別と、前記第1のバイト数のカウントと、前記量情報とに少なくとも基づいて、次の書き込みアドレスを確立することとをさらに含み、
前記第2のメモリ位置から前記第2のメモリコピー先への前記第2のバイト数のコピーは、前記次の読み取りアドレスと、前記次の書き込みアドレスと、前記第1のバイト数のカウントと、前記量情報とに少なくとも依存する請求項1記載の方法。 - 前記次の読み取りアドレスの表示を保持することと、
前記次の書き込みアドレスの表示を保持することと、
前記停止命令の発行後に、
前記第1のコピー元メモリ位置からの前記第1のバイト数の読み取りを中止することと、
前記読み取りを中止する前に読み取ったバイトから残った任意のバイトを前記第1のコピー先メモリ位置に書き込むことと、
前記第2のコピー元メモリ位置情報から次の読み取りアドレスを決定することと、
前記第2のコピー先メモリ位置情報から次の書き込みアドレスを決定することとをさらに含み、
前記第2のメモリ位置から前記第2のメモリコピー先への前記第2のバイト数のコピーは、前記次の読み取りアドレスと、前記次の書き込みアドレスと、前記量情報とに少なくとも依存する請求項1記載の方法。 - 複数のバッファに分散されている前記第1のコピー元メモリ位置から、前記第1のバイト数を取り出すことと、
前記第1のバイト数を単一のデータストリームに集めることをさらに含む請求項1記載の方法。 - 前記単一のデータストリームからの前記第1のバイト数を前記第1のコピー先メモリ位置に提供することをさらに含み、
前記第1のコピー先メモリ位置は、複数のバッファに分散される請求項12記載の方法。 - 前記第1のコピー先メモリ位置は、複数のバッファに分散される請求項1記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8663108P | 2008-08-06 | 2008-08-06 | |
US61/086,631 | 2008-08-06 | ||
PCT/US2009/052794 WO2010017263A1 (en) | 2008-08-06 | 2009-08-05 | Haltable and restartable dma engine |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011530744A true JP2011530744A (ja) | 2011-12-22 |
Family
ID=41663965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011522204A Pending JP2011530744A (ja) | 2008-08-06 | 2009-08-05 | 停止可能および再始動可能dmaエンジン |
Country Status (6)
Country | Link |
---|---|
US (1) | US8732382B2 (ja) |
EP (1) | EP2324430A4 (ja) |
JP (1) | JP2011530744A (ja) |
KR (1) | KR20110050665A (ja) |
CN (1) | CN102112971A (ja) |
WO (1) | WO2010017263A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101861744B1 (ko) * | 2013-02-28 | 2018-05-29 | 삼성전자주식회사 | 데이터 블록 오프셋에 기초하여 버퍼 디스크립터의 타겟 엔트리 어드레스를 계산할 수 있는 집적 회로와 상기 집적 회로를 포함하는 시스템 |
CN105988955B (zh) * | 2015-02-06 | 2019-11-01 | 澜起科技股份有限公司 | Sdio设备及其应用的电子装置和数据传输方法 |
KR20170083868A (ko) * | 2016-01-11 | 2017-07-19 | 삼성전자주식회사 | 데이터 이동 장치 및 데이터 이동 방법 |
US10459849B1 (en) * | 2018-08-31 | 2019-10-29 | Sas Institute Inc. | Scheduling operations in an access-controlled region of memory |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04306754A (ja) * | 1991-04-03 | 1992-10-29 | Nec Home Electron Ltd | Dmaコントローラ |
JPH0520263A (ja) * | 1991-07-15 | 1993-01-29 | Nec Corp | データ転送制御装置 |
JPH06131294A (ja) * | 1992-10-19 | 1994-05-13 | Sony Corp | データ転送装置 |
JPH09293044A (ja) * | 1996-04-26 | 1997-11-11 | Nec Corp | データ転送方式 |
JPH09293045A (ja) * | 1996-04-24 | 1997-11-11 | Sony Corp | データ転送処理装置 |
JPH1185671A (ja) * | 1997-09-02 | 1999-03-30 | Mitsubishi Electric Corp | ダイレクト・メモリ・アクセスコントローラ |
JPH11110338A (ja) * | 1997-10-08 | 1999-04-23 | Matsushita Electric Ind Co Ltd | Dma制御システム |
JP2000227897A (ja) * | 1998-11-30 | 2000-08-15 | Matsushita Electric Ind Co Ltd | Dma転送装置及びdma転送システム |
JP2000353146A (ja) * | 1999-06-11 | 2000-12-19 | Nec Corp | 入出力制御装置及びそのデータの先取り方法 |
JP2002251368A (ja) * | 2001-02-23 | 2002-09-06 | Ricoh Co Ltd | データ転送制御装置 |
JP2006186480A (ja) * | 2004-12-27 | 2006-07-13 | Kyocera Mita Corp | データ圧縮装置及びデータ圧縮プログラム |
JP2008097084A (ja) * | 2006-10-06 | 2008-04-24 | Hitachi Ltd | プロセッサ及びデータ転送ユニット |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69127851T2 (de) | 1990-05-22 | 1998-04-30 | Nec Corp | Direktspeicherzugriffübertragungssystem und Benutzung |
JPH05173938A (ja) * | 1991-10-08 | 1993-07-13 | Fujitsu Ltd | 間欠dma制御方式 |
JPH05108548A (ja) * | 1991-10-15 | 1993-04-30 | Nec Ic Microcomput Syst Ltd | Dmaコントローラ |
US5251312A (en) | 1991-12-30 | 1993-10-05 | Sun Microsystems, Inc. | Method and apparatus for the prevention of race conditions during dynamic chaining operations |
WO1993023810A1 (en) * | 1992-05-12 | 1993-11-25 | Seiko Epson Corporation | Scalable coprocessor |
US5420984A (en) | 1992-06-30 | 1995-05-30 | Genroco, Inc. | Apparatus and method for rapid switching between control of first and second DMA circuitry to effect rapid switching beween DMA communications |
US5822553A (en) * | 1996-03-13 | 1998-10-13 | Diamond Multimedia Systems, Inc. | Multiple parallel digital data stream channel controller architecture |
US5778002A (en) * | 1996-08-13 | 1998-07-07 | The United States Of America As Represented By The Secretary Of The Navy | Multiplexing/demultiplexing system for asynchronous high and low-speed data |
US6065071A (en) * | 1998-03-26 | 2000-05-16 | Nvidia Corporation | Method and apparatus for trapping unimplemented operations in input/output devices |
US6473780B1 (en) | 1998-04-01 | 2002-10-29 | Intel Corporation | Scheduling of direct memory access |
US6330631B1 (en) * | 1999-02-03 | 2001-12-11 | Sun Microsystems, Inc. | Data alignment between buses |
US6859862B1 (en) * | 2000-04-07 | 2005-02-22 | Nintendo Co., Ltd. | Method and apparatus for software management of on-chip cache |
US6629213B1 (en) * | 2000-05-01 | 2003-09-30 | Hewlett-Packard Development Company, L.P. | Apparatus and method using sub-cacheline transactions to improve system performance |
US6785284B1 (en) * | 2000-08-10 | 2004-08-31 | Infineon Technologies North America Corp. | Interleavement for transport of frames and cells |
US20020176430A1 (en) * | 2001-01-25 | 2002-11-28 | Sangha Onkar S. | Buffer management for communication systems |
US6889278B1 (en) * | 2001-04-04 | 2005-05-03 | Cisco Technology, Inc. | Method and apparatus for fast acknowledgement and efficient servicing of interrupt sources coupled to high latency paths |
US6968445B2 (en) | 2001-12-20 | 2005-11-22 | Sandbridge Technologies, Inc. | Multithreaded processor with efficient processing for convergence device applications |
US6912623B2 (en) | 2002-06-04 | 2005-06-28 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy |
US6990557B2 (en) | 2002-06-04 | 2006-01-24 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with cache eviction based on thread identifier |
US6904511B2 (en) | 2002-10-11 | 2005-06-07 | Sandbridge Technologies, Inc. | Method and apparatus for register file port reduction in a multithreaded processor |
US6842848B2 (en) | 2002-10-11 | 2005-01-11 | Sandbridge Technologies, Inc. | Method and apparatus for token triggered multithreading |
US6925643B2 (en) | 2002-10-11 | 2005-08-02 | Sandbridge Technologies, Inc. | Method and apparatus for thread-based memory access in a multithreaded processor |
US6971103B2 (en) | 2002-10-15 | 2005-11-29 | Sandbridge Technologies, Inc. | Inter-thread communications using shared interrupt register |
US7380114B2 (en) | 2002-11-15 | 2008-05-27 | Broadcom Corporation | Integrated circuit with DMA module for loading portions of code to a code memory for execution by a host processor that controls a video decoder |
KR101005718B1 (ko) | 2003-05-09 | 2011-01-10 | 샌드브리지 테크놀로지스, 인코포레이티드 | 포화와 함께 또는 포화 없이 다중 오퍼랜드들의 누산을 위한 프로세서 감소 유닛 |
US7327700B2 (en) * | 2003-05-30 | 2008-02-05 | Redpine Signals, Inc. | Flexible multi-channel multi-thread media access controller and physical layer interface for wireless networks |
US7058735B2 (en) | 2003-06-02 | 2006-06-06 | Emulex Design & Manufacturing Corporation | Method and apparatus for local and distributed data memory access (“DMA”) control |
US7428567B2 (en) | 2003-07-23 | 2008-09-23 | Sandbridge Technologies, Inc. | Arithmetic unit for addition or subtraction with preliminary saturation detection |
US7251737B2 (en) | 2003-10-31 | 2007-07-31 | Sandbridge Technologies, Inc. | Convergence device with dynamic program throttling that replaces noncritical programs with alternate capacity programs based on power indicator |
US7797363B2 (en) | 2004-04-07 | 2010-09-14 | Sandbridge Technologies, Inc. | Processor having parallel vector multiply and reduce operations with sequential semantics |
US7475222B2 (en) | 2004-04-07 | 2009-01-06 | Sandbridge Technologies, Inc. | Multi-threaded processor having compound instruction and operation formats |
US8074051B2 (en) | 2004-04-07 | 2011-12-06 | Aspen Acquisition Corporation | Multithreaded processor with multiple concurrent pipelines per thread |
TW200625097A (en) | 2004-11-17 | 2006-07-16 | Sandbridge Technologies Inc | Data file storing multiple date types with controlled data access |
EP1899828B1 (en) * | 2005-06-30 | 2009-11-25 | Freescale Semiconductor, Inc. | Device and method for arbitrating between direct memory access task requests |
WO2007003986A1 (en) * | 2005-06-30 | 2007-01-11 | Freescale Semiconductor, Inc. | Device and method for controlling an execution of a dma task |
US20070040788A1 (en) * | 2005-08-17 | 2007-02-22 | Texas Instruments, Inc. | Modular Graphics Stack With Video Support |
WO2007049150A2 (en) | 2005-09-28 | 2007-05-03 | Arc International (Uk) Limited | Architecture for microprocessor-based systems including simd processing unit and associated systems and methods |
KR20090078790A (ko) | 2006-09-26 | 2009-07-20 | 샌드브리지 테크놀로지스, 인코포레이티드 | 무선 통신 시스템에서 매트릭스 변환 소프트웨어 구현을 위한 장치 및 방법 |
US9110726B2 (en) | 2006-11-10 | 2015-08-18 | Qualcomm Incorporated | Method and system for parallelization of pipelined computations |
WO2009029289A1 (en) | 2007-08-31 | 2009-03-05 | Sandbridge Technologies, Inc. | Method, apparatus, and architecture for automated interaction between subscribers and entities |
EP2602710A1 (en) | 2007-11-05 | 2013-06-12 | Aspen Acquisition Corporation | Method of encoding register instruction fields |
EP2250539A1 (en) | 2008-01-30 | 2010-11-17 | Sandbridge Technologies, Inc. | Method for enabling multi-processor synchronization |
US20100031007A1 (en) | 2008-02-18 | 2010-02-04 | Sandbridge Technologies, Inc. | Method to accelerate null-terminated string operations |
CN102027456A (zh) | 2008-03-13 | 2011-04-20 | 阿斯奔收购公司 | 用于通过停用有效阵列实现功率节省的方法 |
WO2010025074A1 (en) | 2008-08-28 | 2010-03-04 | Sandbridge Technologies, Inc. | Latch-based implementation of a register file for a multi-threaded processor |
US20100138575A1 (en) * | 2008-12-01 | 2010-06-03 | Micron Technology, Inc. | Devices, systems, and methods to synchronize simultaneous dma parallel processing of a single data stream by multiple devices |
US8140769B2 (en) * | 2009-04-20 | 2012-03-20 | Oracle America, Inc. | Data prefetcher |
US8749568B2 (en) * | 2010-01-11 | 2014-06-10 | Apple Inc. | Parameter FIFO |
US8458377B2 (en) * | 2010-03-05 | 2013-06-04 | Lsi Corporation | DMA engine capable of concurrent data manipulation |
-
2009
- 2009-08-05 US US13/057,469 patent/US8732382B2/en not_active Expired - Fee Related
- 2009-08-05 EP EP09805483A patent/EP2324430A4/en not_active Withdrawn
- 2009-08-05 KR KR1020117005384A patent/KR20110050665A/ko not_active Application Discontinuation
- 2009-08-05 WO PCT/US2009/052794 patent/WO2010017263A1/en active Application Filing
- 2009-08-05 CN CN2009801298053A patent/CN102112971A/zh active Pending
- 2009-08-05 JP JP2011522204A patent/JP2011530744A/ja active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04306754A (ja) * | 1991-04-03 | 1992-10-29 | Nec Home Electron Ltd | Dmaコントローラ |
JPH0520263A (ja) * | 1991-07-15 | 1993-01-29 | Nec Corp | データ転送制御装置 |
JPH06131294A (ja) * | 1992-10-19 | 1994-05-13 | Sony Corp | データ転送装置 |
JPH09293045A (ja) * | 1996-04-24 | 1997-11-11 | Sony Corp | データ転送処理装置 |
JPH09293044A (ja) * | 1996-04-26 | 1997-11-11 | Nec Corp | データ転送方式 |
JPH1185671A (ja) * | 1997-09-02 | 1999-03-30 | Mitsubishi Electric Corp | ダイレクト・メモリ・アクセスコントローラ |
JPH11110338A (ja) * | 1997-10-08 | 1999-04-23 | Matsushita Electric Ind Co Ltd | Dma制御システム |
JP2000227897A (ja) * | 1998-11-30 | 2000-08-15 | Matsushita Electric Ind Co Ltd | Dma転送装置及びdma転送システム |
JP2000353146A (ja) * | 1999-06-11 | 2000-12-19 | Nec Corp | 入出力制御装置及びそのデータの先取り方法 |
JP2002251368A (ja) * | 2001-02-23 | 2002-09-06 | Ricoh Co Ltd | データ転送制御装置 |
JP2006186480A (ja) * | 2004-12-27 | 2006-07-13 | Kyocera Mita Corp | データ圧縮装置及びデータ圧縮プログラム |
JP2008097084A (ja) * | 2006-10-06 | 2008-04-24 | Hitachi Ltd | プロセッサ及びデータ転送ユニット |
Also Published As
Publication number | Publication date |
---|---|
EP2324430A1 (en) | 2011-05-25 |
US20110252211A1 (en) | 2011-10-13 |
KR20110050665A (ko) | 2011-05-16 |
WO2010017263A1 (en) | 2010-02-11 |
EP2324430A4 (en) | 2012-07-25 |
US8732382B2 (en) | 2014-05-20 |
CN102112971A (zh) | 2011-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8639886B2 (en) | Store-to-load forwarding mechanism for processor runahead mode operation | |
US6199121B1 (en) | High speed dynamic chaining of DMA operations without suspending a DMA controller or incurring race conditions | |
KR100577827B1 (ko) | 제한적 메모리 모델을 갖고 있는 시스템내의 다중 저장버퍼 포워딩을 위한 시스템 및 방법 | |
EP0241946A2 (en) | Information processing system | |
US20050149693A1 (en) | Methods and apparatus for dual-use coprocessing/debug interface | |
US6978360B2 (en) | Scalable processor | |
KR20100003309A (ko) | 파이프라인 프로세서에서 조건 명령 실행을 촉진시키기 위해 로컬 조건 코드 레지스터를 이용하기 위한 방법 및 장치 | |
TWI236591B (en) | Method and apparatus for determining a dynamic random access memory page management implementation | |
US11693661B2 (en) | Mechanism for interrupting and resuming execution on an unprotected pipeline processor | |
JP5287301B2 (ja) | ディスクリプタ転送装置、i/oコントローラ、及びディスクリプタ転送方法 | |
US6658537B2 (en) | DMA driven processor cache | |
JP2011530744A (ja) | 停止可能および再始動可能dmaエンジン | |
WO2021091649A1 (en) | Super-thread processor | |
JP2007501473A (ja) | メインメモリとストレージ装置との間のデータ転送を行うための方法及び装置 | |
JPH01120660A (ja) | マイクロコンピュータ装置 | |
JP2008537208A (ja) | 条件付命令を実行しない時のソース・オペランドの停止待機 | |
US5724533A (en) | High performance instruction data path | |
KR20140111416A (ko) | 정적 스케쥴 프로세서의 논블로킹 실행 장치 및 방법 | |
US20220229662A1 (en) | Super-thread processor | |
JP6691239B2 (ja) | 演算ユニットを駆動する方法 | |
JPH03256127A (ja) | マイクロプロセッサシステム | |
JP2806690B2 (ja) | マイクロプロセッサ | |
JP4062481B2 (ja) | メモリ間データコピー方法 | |
JPH02259945A (ja) | ストア処理方式 | |
JPS5887613A (ja) | 入出力制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120925 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120926 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20121023 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20121023 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130305 |