JP2009237790A - Dmaコントローラ - Google Patents

Dmaコントローラ Download PDF

Info

Publication number
JP2009237790A
JP2009237790A JP2008081418A JP2008081418A JP2009237790A JP 2009237790 A JP2009237790 A JP 2009237790A JP 2008081418 A JP2008081418 A JP 2008081418A JP 2008081418 A JP2008081418 A JP 2008081418A JP 2009237790 A JP2009237790 A JP 2009237790A
Authority
JP
Japan
Prior art keywords
data
transfer
destination
source
dma
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
Application number
JP2008081418A
Other languages
English (en)
Inventor
Atsushi Harano
敦之 原野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP2008081418A priority Critical patent/JP2009237790A/ja
Publication of JP2009237790A publication Critical patent/JP2009237790A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】 バスのデータ幅を最大限に利用した効率的なDMA転送を行うことができるDMACを提供する
【解決手段】 トランスファ制御部28は、転送処理待ちデータの先頭のもののソースアドレスが8の倍数でない場合には、転送処理待ちデータの先頭のもののソースアドレスが8の倍数となるまで、8アドレス分のデータ単位よりも小さなデータ単位で転送処理待ちデータをソースからAHBバス60を介してFIFO21に転送し、転送処理待ちデータの先頭のもののソースアドレスが8の倍数となった場合には、FIFO21がオーバフローしないことを条件に、可能な回数だけ、8アドレス分のデータ単位で転送処理待ちデータをソースからAHBバス60を介してFIFO21に転送する。
【選択図】図1

Description

この発明は、メモリと他の装置との間のDMA(Direct Memory Access)転送を制御するDMAC(Direct Memory Access Controller)に係り、特に画像処理装置に好適なDMACに関する。
画像処理装置では、画像処理のために、連続したアドレス領域に属する一群のデータをプロセッサとメモリとの間で転送することが多い。そこで、データ転送に関するプロセッサの制御負担を減らして処理効率を高めるため、データ転送の手段としてDMACが利用されることが多い。
特開2006−65864号公報 特開2008−33713号公報
ところで、DMACによるデータ転送の効率を高めるためには、データ伝送路であるバスのデータ幅を大きくして、一度に転送するデータ量を大きくすることが好ましい。一方、例えばAMBA(Advanced Micro-controller Bus Architecture;商標)のAHB(Advanced High performance Bus;商標)等では、転送の際に指定するアドレスを転送サイズと等しいアドレス境界に合わせる必要がある。例えば32ビット=1ワードのデータ幅のバスを利用して1ワードのデータ転送を行う場合には、転送の際に指定するアドレスは、ワードアドレス境界である4の倍数のアドレスに合わせる必要がある。このAHB等のバスを利用する場合において、DMA転送の対象である一群のデータのソースアドレスおよびディスティネーションアドレスが、バスのデータ幅と等しいアドレス境界のアドレスから始まるのであれば、バスのデータ幅を転送サイズとして最大効率でのDMA転送が可能である。しかしながら、転送対象であるデータ群の先頭のデータのソースアドレスまたはディスティネーションアドレスがこのようなアドレス境界のアドレスから始まらない場合もある。このような場合、バスのデータ幅よりも小さなデータ単位でのDMA転送をしなければならず、DMA転送の効率が低くなるという問題があった。
この発明は、以上説明した事情に鑑みてなされたものであり、転送対象である一群のデータのソースアドレスまたはディスティネーションが任意のアドレスである場合においても、バスのデータ幅を最大限に利用した効率的なDMA転送を行うことができるDMAコントローラを提供することを目的としている。
この発明は、ソースおよびディスティネーション間のバスを介したDMA転送を制御するDMAコントローラにおいて、先入れ先出し方式のバッファと、転送処理待ちデータの先頭のもののソースアドレスが2(mは1以上の所定の整数)の倍数でない場合には、転送処理待ちデータの先頭のもののソースアドレスが2の倍数となるまで、2アドレス分のデータ単位よりも小さなデータ単位で転送処理待ちデータを前記ソースから前記バスを介して前記バッファに転送し、転送処理待ちデータの先頭のもののソースアドレスが2の倍数となった場合には、前記バッファがオーバフローしないことを条件に、可能な回数だけ、2アドレス分のデータ単位で転送処理待ちデータを前記ソースから前記バスを介して前記バッファに転送し、転送処理待ちデータの先頭のもののディスティネーションアドレスが2(mは1以上の所定の整数)の倍数でない場合には、転送処理待ちデータの先頭のもののディスティネーションアドレスが2の倍数となるまで、2アドレス分のデータ単位よりも小さなデータ単位で転送処理待ちデータを前記バッファから前記バスを介して前記ディスティネーションに転送し、転送処理待ちデータの先頭のもののディスティネーションアドレスが2の倍数となった場合には、前記バッファがアンダフローしないことを条件に、可能な回数だけ、2アドレス分のデータ単位で転送処理待ちデータを前記バッファから前記バスを介して前記ディスティネーションに転送するトランスファ制御部とを具備することを特徴とするDMAコントローラを提供する。
かかる発明によれば、転送対象である一群のデータのソースアドレスまたはディスティネーションが任意のアドレスである場合においても、バスのデータ幅を最大限に利用した効率的なDMA転送を行うことができる。
以下、図面を参照し、この発明の実施の形態を説明する。
図1はこの発明の一実施形態であるDMAC20を含む画像処理装置の構成を示すブロック図である。図示のように、画像処理装置は、画像処理LSI1と、ホストCPU2と、圧縮動画ROM3と、画像メモリ4とを有する。
圧縮動画ROM3には、各種の動画シーンの圧縮符号化データが記憶されている。これらの圧縮符号化データは、動画シーンを構成する一連のフレームの画像データに対し、動き補償を伴ったフレーム間符号化アルゴリズムによる圧縮符号化処理を施すことにより得られたデータである。
画像処理LSI1は、ホストCPU2からの指示に従い、圧縮動画ROM3から動画の圧縮符号化データを読み出し、その復号化を行うことを主な役割とする装置である。画像メモリ4は、復号結果である画像データを記憶するためのメモリである。この画像メモリ4は、SDRAM(Synchronous Dynamic Random Access Memory)であり、いわゆるページモードでのブロック転送が可能な構成となっている。
画像処理LSI1は、動画デコーダ100と、ホストI/F(インタフェース)101と、ROM I/F102と、SDRAM I/F103とを有する。ホストI/F101は、ホストCPU2からの指令を動画デコーダ100に伝える装置である。ROM I/F102は、動画デコーダ100からの指令に従って圧縮動画ROM3から動画の圧縮符号化データを読み出す装置である。SDRAM I/F103は、動画デコーダ100と画像メモリ4との間のデータの授受の仲介をする装置である。
動画デコーダ100は、画像処理LSI1の主たる役割である動画の復号化処理を実行する装置であり、レジスタ10と、本実施形態によるDMAC20と、画像プロセッサ30と、CGメモリI/F40と、フレームバッファI/F50と、AMBA(商標)の仕様に従ったAHBバス60とを有する。
レジスタ10は、ホストI/F101を介して与えられるホストCPU2からの指令情報を記憶するレジスタである。本実施形態では、主として動画の圧縮符号化データの復号化処理に関する指令情報がレジスタ10に書き込まれる。この指令情報は、復号化対象である動画の圧縮符号化データのアドレス等を含む。
画像プロセッサ30は、主として動画の圧縮符号化データの復号化のための演算処理を実行するプロセッサである。本実施形態における画像プロセッサ30は、復号化対象である圧縮符号化データおよび復号結果である画像データを記憶するためのSRAM(Static Random Access Memory)31を内蔵している。
DMAC20は、画像プロセッサ30からの指令に従い、AHBバス60を介して接続された装置(画像プロセッサ30内のSRAM31を含む)間のDMA転送を制御する装置である。このDMAC20は、転送対象であるデータを一時記憶するための先入れ先出し方式のバッファであるFIFO(First In First Out)21を内蔵している。画像プロセッサ30は、DMAC20にDMA転送を行わせる際、データの転送元のデバイスであるソースと、データの転送先のデバイスであるディスティネーションを指定するとともに、ソースにおける転送対象のデータ群のアドレス範囲であるソースアドレス範囲、ディスティネーションにおけるデータの転送先のアドレス範囲であるディスティネーションアドレス範囲を特定する。DMAC20は、FIFO21がオーバフローしないことを条件に、データのリード指令をAHBバス60を介してソースに連続的に発行し、ソースアドレス範囲内のデータをAHBバス60を介して取得し、FIFO21に取り込む。また、DMAC20は、FIFO21がアンダフローしないことを条件に、データのライト指令をAHBバス60を介してディスティネーションに連続的に発行し、FIFO21内のデータをAHBバス60を介してディスティネーションに送り、ディスティネーションアドレス範囲内の領域に書き込む。
本実施形態では、AHBバス60を介したデータの移動をトランスファという。AHBバス60は、64ビットのデータ幅を有する。従って、本実施形態では、1トランスファ当たりのデータの転送サイズを1バイト、2バイト、4バイト、8バイトの中から選択可能である。上述したリード指令は、転送対象であるデータのうち最もソースアドレスが若いもののソースアドレスと、転送バイト数を指定する転送サイズ情報を含む。また、ライト指令は、転送対象であるデータのうち最もディスティネーションアドレスが若いもののディスティネーションアドレスと、転送バイト数を指定する転送サイズ情報を含む。1または複数回のリード指令の発行により行われるソースからDMAC20のFIFO21へのデータの移動と1または複数回のライト指令の発行により行われるDMAC20のFIFO21からディスティネーションへのデータの移動の組をシングル転送という。ソースアドレス範囲内のデータをディスティネーションアドレス範囲内のアドレス領域に転送することをブロック転送という。ブロック転送は、1または複数のシングル転送によって構成される。
CGメモリI/F40は、バッファ41を内蔵している。CGメモリI/F40は、DMAC20から与えられるリード指令に従い、圧縮動画ROM3から圧縮符号化データを読み出す旨のリード指令をROM I/F102に与えるとともに、ROM I/F102を介して圧縮動画ROM3から読み出された圧縮符号化データをバッファ41に蓄積し、バッファ41内の圧縮符号化データをAHBバス60に出力する。
フレームバッファI/F50は、リードバッファ51およびライトバッファ52を内蔵している。フレームバッファI/F50は、DMAC20から与えられるリード指令に従い、画像メモリ4から圧縮符号化データを読み出す旨のリード指令をSDRAM I/F103に与えるとともに、SDRAM I/F103を介して画像メモリ4から読み出された画像データをリードバッファ51に蓄積し、リードバッファ51内の画像データをAHBバス60に出力する。また、フレームバッファI/F50は、DMAC20から与えられるライト指令に従い、画像メモリ4への書き込み対象である画像データをAHBバス60から取り込んでライトバッファ52に蓄積し、この蓄積した画像データを画像メモリ4に書き込むべき旨のライト指令をSDRAM I/F103に与える。
本実施形態において、画像プロセッサ30は、DMAC20によるDMA転送を利用して、動画の圧縮符号化データの復号化処理を実行する。さらに詳述すると、画像プロセッサ30は、復号化対象である圧縮動画ROM3内の圧縮符号化データをROM I/F102、CGメモリI/F40およびAHBバス60を介して画像プロセッサ30のSRAM31に転送するリード転送をDMAC20に実行させる。次に画像プロセッサ30は、SRAM31内の圧縮符号化データの復号化処理を実行する。ここで、復号化対象である圧縮符号化データが、先行するフレームの画像データを参照して圧縮符号化されたものである場合に、その先行するフレームの画像データを復号化処理のために参照する必要がある。そこで、画像プロセッサ30は、先行するフレームの復号結果である画像メモリ4内の画像データをSDRAM I/F103、フレームバッファI/F50およびAHBバス60を介して画像プロセッサ30のSRAM31に転送するリード転送をDMAC20に実行させる。そして、画像プロセッサ30は、SRAM31内の圧縮符号化データを復号化し、復号結果である画像データをSRAM31に書き込むと、このSRAM31内の画像データをAHBバス60、フレームバッファI/F50およびSDRAM I/F103を介して画像メモリ4に転送するライト転送をDMAC20に実行させる。以上のような処理の繰り返しにより、画像プロセッサ30は、動画の圧縮符号化データを一連のフレームの画像データに復号化するのである。
本実施形態によるDMAC20は、画像プロセッサ30が以上のような処理を効率的に実行するのを可能にするため、幾つかの特徴的な機能を備えている。以下、それらの機能について説明する。
<スキャッタリング/ギャザリング機能>
本実施形態では、SRAM31と画像メモリ4とで画像データの格納方法が異なる。本実施形態では、一画面分の画像データを16×16画素のブロックに分割し、ブロック単位で復号化処理を実行する。図2に例示するように、復号化により得られる1ブロック分の各画素の画像データは、SRAM31内の1次元的に連続したアドレス領域に格納される。これに対し、画像メモリ4では、1つのブロックの各画素の画像データの格納先は、いわば2次元的な領域となる。すなわち、ブロック内のある行の各画素の画像データの格納先は、同一のロウアドレスを有し、かつ、異なるカラムアドレスを有する連続したアドレス領域となるが、その次の行の各画素の画像データの格納先は、1つ隣のロウアドレスを有し、異なるカラムアドレスを有する連続したアドレス領域となる。このようにSRAM31では連続したアドレス領域に格納される16×16画素の画像データが、画像メモリ4では、互いに隔たった16個の連続アドレス領域に行毎に分離されて格納されるのである。このようなデータの格納方法を異にする2つのメモリ間のDMA転送を行うためにDMAC20に設けられた機能がスキャッタリング機能およびギャザリング機能である。
スキャッタリングでは、図3に例示するように、ソースからの転送バイト数が予め定められたスキャッタリングカウントに到達する毎に、ディスティネーションアドレスを予め定められたスキャッタリングインターバルだけ不連続に増加させ、ソース内の連続したアドレス領域に記憶されたデータ群(図3ではデータA、B、C)をディスティネーション内の互いに隔たった複数の連続アドレス領域に分散させて転送する。本実施形態では、このスキャッタリング機能がSRAM31から画像メモリ4へのDMA転送に利用される。
一方、ギャザリングでは、図4に例示するように、ディスティネーションへの転送バイト数が予め定められたギャザリングカウントに到達する毎に、ソースアドレスを予め定められたギャザリングインターバルだけ不連続に増加させ、ソース内の互いに隔たった複数の連続アドレス領域に分散して記憶されたデータ群(図4ではデータA、B、C)を1つにまとめてディスティネーション内の連続したアドレス領域に転送する。本実施形態では、このギャザリング機能が画像メモリ4からSRAM31へのDMA転送に利用される。
なお、スキャッタリング、ギャザリングに関しては、例えば特許文献2に開示がある。
<チェーン転送機能>
本実施形態において圧縮符号化データから復号化される画像データは、Y成分、U成分、V成分からなる。そして、圧縮符号化データの復号化処理では、必ずY成分、U成分、V成分の画像データをセットにして、画像メモリ4からSRAM31へ、あるいはSRAM31から画像メモリ4へ転送する。その際、画像プロセッサ30が、Y成分、U成分、V成分の各々についてDMA転送の指令をDMAC20に逐一与えるのでは、画像プロセッサ30の制御負担が重くなり、効率的な画像処理を行う上での障害となる。このような画像プロセッサ30の制御負担をなくすためにDMAC20に設けられた機能がチェーン転送機能である。このチェーン転送機能は、Y成分の画像データのDMA転送が終わったらU成分の画像データのDMA転送、U成分の画像データのDMA転送が終わったらV成分の画像データのDMA転送、という具合に、画像プロセッサ30からの指示によらず、複数種類のDMA転送を自動的に連係させて進める機能である。
このチェーン転送機能を働かせるため、DMA転送に関する制御情報の集合体であるディスクリプタが連係させる複数のDMA転送の各々について用意される。これらの各ディスクリプタは、複数種類のDMA転送の連係関係を反映した構成となっている。具体的には、連続して実行される2つのDMA転送に関する2つのディスクリプタにおいて、先に実行されるDMA転送に関するディスクリプタは、後に実行されるDMA転送に関するディスクリプタの所在を示す情報を含んでいる。DMAC20は、この情報を手掛かりに、連係関係を持った一連のディスクリプタを順次読み出し、複数種類のDMA転送を順次実行するのである。
なお、複数色の画像データをまとめて読み出す技術に関しては、例えば特許文献1に開示がある。
<パック/アンパック機能>
ソースとディスティネーションとで、アクセス単位であるデータ幅が異なる場合がある。例えば、本実施形態では、画像メモリ4では、1アドレス当たり1バイトのデータが記憶されるのに対し、SRAM31では、1アドレス当たり2バイトのデータが記憶されるようになっている。この場合において、SRAM31における1アドレスを画像メモリ4における1アドレスに対応付けて、SRAM31および画像メモリ4間のデータの交換を行うためには、SRAM31の1アクセス単位である2バイトのうち上位1バイトを無効なデータとして取り扱わざるを得ない。従来技術の下では、そのための処置を画像プロセッサ30に行わせていたが、そのために画像プロセッサ30の負担が重くなり、画像処理装置の効率を低下させていた。そこで、本実施形態では、SRAM31における1アクセス単位である2バイトのうちの上位1バイトを無効なデータとして取り扱うためのパック、アンパックをDMAC20に行わせるようにしている。
ここで、パックとは、例えばSRAM31をソース、画像メモリ4をディスティネーションとしてDMA転送を行う場合において、ソースから1回のアクセスにより読み出される2バイトのデータのうち上位1バイトをDMAC20において削除し、下位1バイトのみをDMAC20からディスティネーションに送る機能である。本実施形態では、上位1バイトの削除をFIFO21への格納前の段階において行い、FIFO21へはソースから供給される2バイトのうちの下位1バイトのみを書き込む。
一方、アンパックとは、例えば画像メモリ4をソース、SRAM31をディスティネーションとしてDMA転送を行う場合において、ソースから1回のアクセスにより読み出される1バイトのデータに対してDMAC20が上位1バイトを付加し、合計2バイトをDMAC20からディスティネーションに送る機能である。本実施形態では、ディスティネーションへの転送対象であるデータをFIFO21から読み出した段階において、そのデータに上位1バイトを付加することによりアンパックを行う。従って、FIFO21に無効なデータを記憶させることなく、効率的にDMA転送を行うことができる。
<バス転送効率化のためのトランスファ幅最適化機能>
本実施形態において、AHBバス60のデータ幅は64ビットであり、1トランスファ当たり最大8バイトのデータを転送可能である。従って、バス効率を低下させないためにも、極力、1トランスファ当たり8バイトのDMA転送を行うことが望ましい。しかし、AMBA(商標)のAHBでは、リード指令に従って転送されるデータ群の先頭のデータのソースアドレスは、そのトランスファのデータ幅に対応したアドレス境界のアドレスから始まらなければならず、ライト指令に従って転送されるデータ群の先頭のデータのディスティネーションアドレスも、そのトランスファのデータ幅に対応したアドレス境界のアドレスから始まらなければならない。このため、従来技術の下では、転送対象であるデータ群の先頭のデータのソースアドレスまたはディスティネーションアドレスがAHBバス60のデータ幅である64ビットのアドレス境界のアドレスでない場合に、AHBバス60のデータ幅を最大限に利用したDMA転送を行うことができず、32ビット、16ビット、8ビット等、より少ないデータ単位でのDMA転送を行い、AHBバス60の使用効率を低下させていた。そこで、本実施形態では、1トランスファ当たりのデータ幅を最適化し、AHBバス60のデータ幅を最大限に利用してDMA転送を行うための機能がDMAC20に設けられている。
すなわち、DMAC20は、転送処理待ちデータの先頭のもののソースアドレスが2=8の倍数でない場合には、転送処理待ちデータの先頭のもののソースアドレスが2=8となるまで、2=8アドレス分のデータ単位よりも小さなデータ単位で転送処理待ちデータをソースからAHBバス60を介してFIFO21に転送し、転送処理待ちデータの先頭のもののソースアドレスが2=8の倍数となった場合には、FIFO21がオーバフローしないことを条件に、可能な回数だけ、2=8アドレス分のデータ単位で転送処理待ちデータをソースからAHBバス60を介してFIFO21に転送する。また、DMAC20は、転送処理待ちデータの先頭のもののディスティネーションアドレスが2=8の倍数でない場合には、転送処理待ちデータの先頭のもののディスティネーションアドレスが2=8の倍数となるまで、2=8アドレス分のデータ単位よりも小さなデータ単位で転送処理待ちデータをFIFO21からAHBバス60を介してディスティネーションに転送し、転送処理待ちデータの先頭のもののディスティネーションアドレスが2=8の倍数となった場合には、FIFO21がアンダフローしないことを条件に、可能な回数だけ、2=8アドレス分のデータ単位で転送処理待ちデータをFIFO21からAHBバス60を介してディスティネーションに転送するのである。
次に図5を参照し、本実施形態によるDMAC20の構成の詳細を説明する。図5において、AHBマスタI/F22は、DMAC20がバスマスタとしてAHBバス60を使用する場合におけるAHBバス60を介したデータの授受の制御を行う装置である。AHBスレーブI/F23は、DMAC20がバススレーブとしてAHBバス60を使用する場合におけるAHBバス60を介したデータの授受の制御を行う装置である。本実施形態において、画像プロセッサ30がDMAC20にDMA転送を指令する場合、画像プロセッサ30がバスマスタ、DMAC20がバススレーブとなり、画像プロセッサ30は、DMA転送に関する制御情報をAHBバス60を介してDMAC20に与える。また、本実施形態において、DMAC20が画像プロセッサ30から指令されたDMA転送を行う場合、DMAC20がバスマスタ、ソースがバススレーブとなり、ソースからDMAC20へのリード転送を行わせ、次いでDMAC20がバスマスタ、ディスティネーションがバススレーブとなり、DMAC20からディスティネーションへのライト転送を行わせる。
DMAC20は、DMAレジスタ24と、2チャネル分のDMAチャネルレジスタ250および251と、ディスクリプタレジスタ26とを有する。DMAレジスタ24は、DMAC20全体の制御に関わる制御情報を記憶する装置であり、DMAコントロールレジスタDMACTRと、DMAステータスレジスタDMASTとからなる。DMAC20では、共通のFIFO21を利用して、CH0およびCH1の2チャネルのDMA転送を進めることが可能である。DMAコントロールレジスタDMACTRには、この2チャネルのDMA転送のチャネル間のアービトレーション方式を指定する情報等、全チャネルに共通の制御情報が格納される。DMAステータスレジスタDMASTには、現在いずれのチャネルのDMA転送にFIFO21が使用されているかを示すFIFO使用チャネルFUCやFIFO21内の転送未了のデータのバイトカウントFBC等、DMAC20内の状態を示す情報が格納される。
DMAチャネルレジスタ250および251は、CH0のDMA転送に関する制御情報およびCH1のDMA転送に関する制御情報やステータス情報を各々記憶するレジスタである。ディスクリプタレジスタ26は、基本的にはDMAチャネルレジスタ250および251と同様な種類の制御情報やステータス情報を記憶するレジスタである。複数種類のブロック転送を連係させたチェーン転送を行う場合、最初のブロック転送に関する制御情報やステータス情報はDMAチャネルレジスタ250または251に格納され、後続のブロック転送に関する制御情報やステータス情報はディスクリプタとしてディスクリプタレジスタ26に格納される。
次にDMAチャネルレジスタ25x(xはチャネル番号で、0または1)の詳細な構成について説明する。各DMAチャネルレジスタ25xは、以下の各レジスタの集合体である。
DMAチャネルコントロールレジスタDCHCTRx:CHxのDMA転送に関する制御情報を記憶するレジスタである。このDMAチャネルコントロールレジスタDCHCTRxに記憶される制御情報には、ソースアドレスインクリメントSAI、ソースデータ幅SDW、ディスティネーションアドレスインクリメントDAI、ディスティネーションデータ幅DDW、パック/アンパックイネーブルPUPEを含む。
ソースアドレスインクリメントSAIは、ソースアドレスを固定してリード転送を行うか、ソースアドレスをインクリメントしながらリード転送を行うかを指定する情報である。ソースデータ幅SDWは、ソースの1アクセス単位のデータ幅を指定する情報である。ディスティネーションアドレスインクリメントDAIは、ディスティネーションアドレスを固定してライト転送を行うか、ディスティネーションアドレスをインクリメントしながらライト転送を行うかを指定する情報である。ディスティネーションデータ幅DDWは、ディスティネーションの1アクセス単位のデータ幅を指定する情報である。パック/アンパックイネーブルPUPEは、パック/アンパックを行うか否かを指定する情報である。
ソースデータ幅SDWおよびディスティネーションデータ幅DDWが同じである場合、DMAC20は、パックもアンパックも行わず、ソースからのデータをそのままディスティネーションに転送する。
パック/アンパックイネーブルPUPEが“0”(ディゼーブル)であり、ソースデータ幅SDWがディスティネーションデータ幅DDWよりも大きい場合、DMAC20は、ソースからのデータをディスティネーションデータ幅DDWのデータに分割し、ディスティネーションに転送する。パック/アンパックイネーブルPUPEが“0”(ディゼーブル)であり、ディスティネーションデータ幅DDWがソースデータ幅SDWよりも大きい場合、DMAC20は、ソースからの複数のデータをディスティネーションデータ幅DDWのデータに統合し、ディスティネーションに転送する。
パック/アンパックイネーブルPUPEが“1”(イネーブル)であり、ソースデータ幅SDWがディスティネーションデータ幅DDWよりも大きい場合、DMAC20は、ソースからのデータにパックを施してディスティネーションデータ幅DDWのデータとし、ディスティネーションに転送する。パック/アンパックイネーブルPUPEが“1”(イネーブル)であり、ディスティネーションデータ幅DDWがソースデータ幅SDWよりも大きい場合、DMAC20は、ソースからのデータにアンパックを施してディスティネーションデータ幅DDWのデータとし、ディスティネーションに転送する。
DMAチャネルステータスレジスタDCHSTx:CHxのDMA転送に関するステータス情報を記憶するレジスタである。このレジスタには、例えばCHxのブロック転送が終了した場合にその旨の情報が書き込まれる。
DMAソースアドレスレジスタDSADx:CHxのDMA転送において、転送処理待ちのデータの先頭のもののソースアドレスSADを記憶するレジスタである。ソースアドレスインクリメントSAIがソースアドレスのインクリメントを指示している場合、DMAソースアドレスレジスタDSADx内のソースアドレスSADは、リード指令に従った転送が終了する毎にインクリメントされる。
DMAディスティネーションアドレスレジスタDDADx:CHxのDMA転送において、転送処理待ちのデータの先頭のもののディスティネーションアドレスDADを記憶するレジスタである。ディスティネーションアドレスインクリメントDAIがディスティネーションアドレスのインクリメントを指示している場合、DMAディスティネーションアドレスレジスタDDADx内のディスティネーションアドレスDADは、ライト指令に従った転送が終了する毎にインクリメントされる。
DMAバイトカウントレジスタDBCx:CHxのDMA転送において、1ブロック当たりのバイト数BCを記憶するレジスタである。本実施形態では、最大256kバイトまでのバイト数BCをこのレジスタに設定可能である。DMAバイトカウントレジスタDBCx内のバイト数BCは、ライト指令に従った転送が完了する毎にデクリメントされ、ブロック転送が終了すると0になる。
DMAチェーンアドレスレジスタDCNAx:DMAチャネルレジスタ25xに格納された各情報により制御されるブロック転送の後に続けて実行すべきブロック転送がある場合に、そのブロック転送に関するディスクリプタを記憶しているディスクリプタレジスタ26内のレジスタのレジスタ番号CNADがこのDMAチェーンアドレスレジスタDCNAxに格納される。CHxのブロック転送が終了したとき、チェーン転送が有効であると、このDMAチェーンアドレスレジスタDCNAx内のレジスタ番号CNADにより特定されるレジスタからディスクリプタが読み出され、DMAチャネルレジスタ25xに格納される。そして、このディスクリプタに従ってブロック転送の制御が行われる。ディスクリプタに従って行われるブロック転送の後に続けて他の種類のブロック転送を行う場合もある。そのような場合には、先行するブロック転送に関するディスクリプタには、後続のブロック転送に関するディスクリプタの所在を示すレジスタ番号CNADが含まれている。先行するブロック転送の終了時には、このレジスタ番号CNADを参照することにより、後続のブロック転送に関するディスクリプタがディスクリプタレジスタ26から読み出され、DMAチャネルレジスタ25xに格納され、後続のブロック転送の制御に用いられる。
DMAギャザリングレジスタDGTHx:このDMAギャザリングレジスタDGTHxは、ギャザリングイネーブルGTHE、ギャザリングカウントGTHC、ギャザリングインターバルGTIを記憶するレジスタである。ギャザリングイネーブルGTHEは、CHxのDMA転送においてギャザリングを行う場合には“1”、ギャザリングを行わない場合には“0”とされる。ギャザリングイネーブルGTHEが“1”である場合、DMAC20は、前掲図4の例のように、ディスティネーションへの転送バイト数がギャザリングカウントGTHCに到達する毎に、ソースアドレスをギャザリングインターバルGTIだけ増加させる。
DMAスキャッタリングレジスタDSCTx:このDMAスキャッタリングレジスタDSCTxは、スキャッタリングイネーブルSCTE、スキャッタリングカウントSCTC、スキャッタリングインターバルSCTIを記憶するレジスタである。スキャッタリングイネーブルSCTEは、CHxのDMA転送においてスキャッタリングを行う場合には“1”、スキャッタリングを行わない場合には“0”とされる。スキャッタリングイネーブルSCTEが“1”である場合、DMAC20は、前掲図3の例のように、ソースからの転送バイト数がスキャッタリングカウントSCTCに到達する毎に、ディスティネーショ
ンアドレスをスキャッタリングインターバルSCTIだけ増加させる。
以上がDMAC20内に設けられた各種のレジスタの詳細である。
図5において、優先度制御部27は、DMAコントロールレジスタDMACTRに記憶されたアービトレーション方式を指定する情報に従って、DMA転送を行うチャネルとしてCH0またはCH1を選択し、選択したチャネルのDMAチャネルレジスタ25x内の情報をトランスファ制御部28に引き渡す装置である。
トランスファ制御部28は、優先度制御部27を介して引き渡された情報に従って、AHBバス60を介したソースからFIFO21へのリード転送およびFIFO21からディスティネーションへのライト転送を行わせ、ソースからディスティネーションへのDMA転送を行わせる。その際、実行すべき旨の指定があれば、上述したスキャッタリング、ギャザリングのためのアドレス制御、パック/アンパックの制御、チェーン転送の制御を行う。
さらに詳述すると、トランスファ制御部28は、転送バイト数が指定されたスキャッタリングカウントに到達する毎にディスティネーションアドレスを指定されたスキャッタリングインターバルだけ変化させるスキャッタリング手段として機能する。また、トランスファ制御部28は、転送バイト数が指定されたギャザリングカウントに到達する毎にソースアドレスを指定されたギャザリングインターバルだけ変化させるギャザリング手段として機能する。また、トランスファ制御部28は、ソースのデータ幅がディスティネーションのデータ幅よりも大きい場合に、ソースから取得したデータをディスティネーションのデータ幅のデータとし、FIFO21に格納するパック手段として機能する。また、トランスファ制御部28は、ディスティネーションのデータ幅がソースのデータ幅よりも大きい場合に、ソースから取得したデータをFIFO21から読み出して、ディスティネーションのデータ幅のデータとし、ディスティネーションに転送するアンパック手段として機能する。さらにトランスファ制御部28は、DMAチャネルレジスタ25x内の制御情報に従って実行しているDMA転送と連係して実行すべき1または複数種類のDMA転送に関する制御情報であるディスクリプタがディスクリプタレジスタ26に格納されている場合に、それらのディスクリプタを順次読み出し、各DMA転送を順次実行するチェーン転送手段として機能する。
そして、DMA転送が終了したとき、トランスファ制御部28は、その旨の通知を割り込み制御部29へ送る。これにより割り込み制御部29は、割り込み信号を画像プロセッサ30に送り、DMA転送の終了を通知する。
本実施形態の1つの特徴として、トランスファ制御部28によって実行されるバス転送効率化のためのトランスファ幅最適化制御がある。図6は、このトランスファ幅最適化制御の処理内容を示すフローチャートである。このトランスファ幅最適化制御の処理内容は、リード転送でもライト転送でも基本的には同様な内容であるので、以下、リード転送を例に説明する。
まず、トランスファ制御部28は、ソースにおける転送待ちデータのバイト数に関する判断を行う(ステップS1)。そして、転送待ちデータのバイト数が8以上である場合、DMAソースアドレスレジスタDSADxの記憶内容、すなわち、転送処理待ちのデータの先頭のもののソースアドレスSADが8の倍数か否かを判断する(ステップS2)。この判断結果が「NO」である場合、転送処理待ちのデータの先頭のもののソースアドレスSADが4の倍数か否かを判断する(ステップS3)。この判断結果が「NO」である場合、転送処理待ちのデータの先頭のもののソースアドレスSADが2の倍数か否かを判断する(ステップS4)。この判断結果が「NO」である場合、ステップS14に進み、1バイトのリード指令を発行可能かどうか、具体的にはFIFO21に1バイト以上のデータを書き込む余裕があるか否かを判断する。この判断結果が「YES」である場合、1バイトのリード指令を発行し(ステップS24)、ステップS1に戻る。一方、ステップS14の判断結果が「NO」である場合は、FIFO21が満杯なのでリード転送を終了する。
ステップS4の判断結果が「NO」となった後、ステップS24が実行されると、転送処理待ちのデータの先頭のもののソースアドレスSADは2の倍数となる。ここで、ソースアドレスSADが2の倍数ではあるが、4の倍数ではない場合、ステップS4の判断結果が「YES」となってステップS13に進む。このステップS13では、2バイトのリード指令を発行可能か否かを判断する。具体的にはFIFO21に2バイト以上のデータを書き込む余裕があるか否かを判断する。また、ギャザリングを行っている場合には、2バイトのリード指令を発行すると、それらの2バイトの各ソースアドレスがギャザリングインターバルの加算を行うアドレスを跨ぐことにならないか否かを判断する。FIFO21に2バイト以上のデータを書き込む余裕があり、かつ、2バイトのリード指令を発行してもそれらの2バイトの各ソースアドレスがギャザリングインターバルの加算を行うアドレスを跨ぐことにならない(ギャザリングを行っている場合のみ)場合、ステップS13の判断結果は「YES」となる。この場合、ステップS23に進んで2バイトのリード指令を1回発行し、ステップS1に戻る。これに対し、ステップS13の判断結果が「NO」である場合は、ステップS14を介してステップS24に進み、1バイトのリード指令を発行する。
ステップS3の判断結果が「NO」となった後、ステップS4およびS13の判断結果が「YES」となってステップS23が実行されると、転送処理待ちのデータの先頭のもののソースアドレスSADは4の倍数となる。ここで、ソースアドレスSADが4の倍数ではあるが、8の倍数ではない場合、ステップS3の判断結果が「YES」となってステップS12に進む。このステップS12では、4バイトのリード指令を発行可能か否かを判断する。具体的にはFIFO21に4バイト以上のデータを書き込む余裕があるか否かを判断する。また、ギャザリングを行っている場合には、4バイトのリード指令を発行すると、それらの4バイトの各ソースアドレスがギャザリングインターバルの加算を行うアドレスを跨ぐことにならないか否かを判断する。ステップS12の判断結果が「YES」である場合、ステップS22に進んで4バイトのリード指令を1回発行し、ステップS1に戻る。これに対し、ステップS12の判断結果が「NO」である場合は、ステップS13に進む。以後の処理は既に説明した通りである。
ステップS2の判断結果が「NO」となった後、ステップS3およびS12の判断結果が「YES」となってステップS22が実行されると、転送処理待ちのデータの先頭のもののソースアドレスSADは8の倍数となる。この場合、ステップS1からステップS2に進んだとき、その判断結果が「YES」となってステップS11に進む。このステップS11では、8バイトのリード指令を発行可能か否かを判断する。具体的にはFIFO21に8バイト以上のデータを書き込む余裕があるか否かを判断する。また、ギャザリングを行っている場合には、8バイトのリード指令を発行すると、それらの8バイトの各ソースアドレスがギャザリングインターバルの加算を行うアドレスを跨ぐことにならないか否かを判断する。ステップS11の判断結果が「YES」である場合、ステップS21に進む。このステップS21では、可能な回数だけ8バイトのリード指令を発行する。ここで、「可能な回数だけ」とは、FIFO21がオーバフローせず、かつ、ギャザリングを行っている場合には、8バイトのリード指令により読み出される8バイトの各ソースアドレスがギャザリングインターバルの加算を行うアドレスを跨ぐことにならない範囲で、という意味である。このステップS21の処理を終えると、ステップS1に戻る。これに対し、ステップS11の判断結果が「NO」である場合は、ステップS12に進む。以後の処理は既に説明した通りである。
リード転送が進み、転送待ちデータのバイト数が8未満になると、ステップS1からステップS30に進むこととなる。このステップS30では、4バイト、2バイト、1バイトのリード指令を組み合わせて発行し、転送待ちデータをソースからFIFO21に転送する。そして、転送待ちデータのバイト数が0またはFIFO21が満杯となったとき、リード転送を終了する。
以上、リード転送を例に説明したが、ライト転送の場合の処理内容も基本的に同様である。ただし、ライト転送の場合は、ステップS2、S3およびS4の判断の対象は、DMAディスティネーションアドレスレジスタDDADxの記憶内容、すなわち、転送処理待ちのデータの先頭のもののディスティネーションアドレスDADとなる。また、ステップS11、S12、S13、S14、S21では、FIFO21がアンダフローしないか否かの判断を行うとともに、スキャッタリングを行っている場合には、ライト指令により転送されるバイトのディスティネーションアドレスがスキャッタリングインターバルの加算を行うアドレスを跨ぐことになるか否かの判断を行うことになる。
以上が本実施形態の詳細である。本実施形態によれば、トランスファ制御部28が以上説明したトランスファ幅最適化制御を行うので、バスのデータ幅を最大限に利用した効率的なDMA転送を行うことができる。また、本実施形態によれば、DMAC20がスキャッタチング、ギャザリング、パック/アンパック、チェーン転送の機能を備えているので、画像プロセッサ30の負担を減らし、画像処理装置全体としての処理効率を高めることができる。また、本実施形態によれば、スキャッタリングやギャザリングといった複雑なアドレス制御を行う場合でも、トランスファ制御部28は、それに対応してトランスファ幅最適化制御を実行するので、バスの使用効率を総合的に高めることができる。
以上、この発明の一実施形態について説明したが、この発明にはこれ以外にも他の実施形態が考えられる。例えば上記実施形態では、AHBバス60のデータ幅を64ビットとしたため、m=3とし、転送待ちデータの先頭のもののソースアドレスまたはディスティネーションを2=2=8の倍数まで進めるための小さなデータ幅でのリード転送またはライト転送を行い、8バイト幅での効率的なリード転送またはライト転送へ移行させた。しかし、AHBバス60のデータ幅は、64ビット以外でもよく、その場合にも、AHBバス60のデータ幅に応じてmの値を決定すればよい。
この発明の一実施形態であるDMAC20を含む画像処理装置の構成を示すブロック図である。 同実施形態において行われるスキャッタリングおよびギャザリングを説明する図である。 同実施形態におけるスキャッタリングの際のアドレス制御を説明する図である。 同実施形態におけるギャザリングの際のアドレス制御を説明する図である。 同実施形態におけるDMAC20の構成を示すブロック図である。 同DMAC20のトランスファ制御部の処理内容を示すフローチャートである。
符号の説明
1……画像処理LSI、2……ホストCPU、3……圧縮動画ROM、101……ホストI/F、102……ROM I/F、103……SDRAM I/F、100……動画デコーダ、10……レジスタ、20……DMAC、21……FIFO、30……画像プロセッサ、31……SRAM、40……CGメモリI/F、41……バッファ、50……フレームバッファI/F、51……リードバッファ、52……ライトバッファ、60……AHBバス、22……AHBマスタI/F、23……AHBスレーブI/F、24……DMAレジスタ、250,251……チャネルレジスタ、26……ディスクリプタレジスタ、27……優先度制御部、28……トランスファ制御部、29……割り込み制御部。

Claims (6)

  1. ソースおよびディスティネーション間のバスを介したDMA転送を制御するDMAコントローラにおいて、
    先入れ先出し方式のバッファと、
    転送処理待ちデータの先頭のもののソースアドレスが2(mは1以上の所定の整数)の倍数でない場合には、転送処理待ちデータの先頭のもののソースアドレスが2の倍数となるまで、2アドレス分のデータ単位よりも小さなデータ単位で転送処理待ちデータを前記ソースから前記バスを介して前記バッファに転送し、転送処理待ちデータの先頭のもののソースアドレスが2の倍数となった場合には、前記バッファがオーバフローしないことを条件に、可能な回数だけ、2アドレス分のデータ単位で転送処理待ちデータを前記ソースから前記バスを介して前記バッファに転送し、転送処理待ちデータの先頭のもののディスティネーションアドレスが2(mは1以上の所定の整数)の倍数でない場合には、転送処理待ちデータの先頭のもののディスティネーションアドレスが2の倍数となるまで、2アドレス分のデータ単位よりも小さなデータ単位で転送処理待ちデータを前記バッファから前記バスを介して前記ディスティネーションに転送し、転送処理待ちデータの先頭のもののディスティネーションアドレスが2の倍数となった場合には、前記バッファがアンダフローしないことを条件に、可能な回数だけ、2アドレス分のデータ単位で転送処理待ちデータを前記バッファから前記バスを介して前記ディスティネーションに転送するトランスファ制御部と
    を具備することを特徴とするDMAコントローラ。
  2. 前記トランスファ制御部は、転送バイト数が指定されたスキャッタリングカウントに到達する毎にディスティネーションアドレスを指定されたスキャッタリングインターバルだけ変化させるスキャッタリング手段を具備することを特徴とする請求項1に記載のDMAコントローラ。
  3. 前記トランスファ制御部は、転送バイト数が指定されたギャザリングカウントに到達する毎にソースアドレスを指定されたギャザリングインターバルだけ変化させるギャザリング手段を具備することを特徴とする請求項1または2に記載のDMAコントローラ。
  4. 前記トランスファ制御部は、ソースのデータ幅がディスティネーションのデータ幅よりも大きい場合に、ソースから取得したデータをディスティネーションのデータ幅のデータとし、前記バッファに格納するパック手段を具備することを特徴とする請求項1〜3のいずれか1の請求項に記載のDMAコントローラ。
  5. 前記トランスファ制御部は、ディスティネーションのデータ幅がソースのデータ幅よりも大きい場合に、ソースから取得したデータを前記バッファから読み出して、前記ディスティネーションのデータ幅のデータとし、前記ディスティネーションに転送するアンパック手段を具備することを特徴とする請求項1〜4のいずれか1の請求項に記載のDMAコントローラ。
  6. 連係して実行すべき複数種類のDMA転送に関する制御情報を記憶する記憶手段を具備し、
    前記トランスファ制御手段は、前記記憶手段に記憶された各DMA転送に関する制御情報を順次読み出し、各DMA転送を順次実行するチェーン転送手段を具備することを特徴とする請求項1〜5のいずれか1の請求項に記載のDMAコントローラ。
JP2008081418A 2008-03-26 2008-03-26 Dmaコントローラ Pending JP2009237790A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008081418A JP2009237790A (ja) 2008-03-26 2008-03-26 Dmaコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008081418A JP2009237790A (ja) 2008-03-26 2008-03-26 Dmaコントローラ

Publications (1)

Publication Number Publication Date
JP2009237790A true JP2009237790A (ja) 2009-10-15

Family

ID=41251677

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008081418A Pending JP2009237790A (ja) 2008-03-26 2008-03-26 Dmaコントローラ

Country Status (1)

Country Link
JP (1) JP2009237790A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461967A (zh) * 2014-12-25 2015-03-25 中国电子科技集团公司第三十八研究所 一种支持同步和异步传输模式的并行数据接口
CN115617721A (zh) * 2022-11-05 2023-01-17 深圳三地一芯电子有限责任公司 数据传输方法、dma装置及主控芯片

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03130859A (ja) * 1989-10-17 1991-06-04 Nippon Telegr & Teleph Corp <Ntt> メモリ転送回路
JPH0452848A (ja) * 1990-06-15 1992-02-20 Mitsubishi Electric Corp ホスト・アダプタ
JPH0567035A (ja) * 1991-09-10 1993-03-19 Hitachi Ltd Dma転送におけるデータアライメント方式
JPH11306084A (ja) * 1998-04-23 1999-11-05 Fujitsu Ltd 情報処理装置及び記憶媒体
JP2000172628A (ja) * 1998-12-07 2000-06-23 Mitsubishi Electric Corp データ転送装置
JP2005084763A (ja) * 2003-09-05 2005-03-31 Fujitsu Ltd メモリ間複写制御装置およびメモリ間複写処理プログラム
JP2006186480A (ja) * 2004-12-27 2006-07-13 Kyocera Mita Corp データ圧縮装置及びデータ圧縮プログラム
JP2006302246A (ja) * 2005-03-23 2006-11-02 Fujitsu Ltd ネットワークアダプタ、通信システムおよび通信方法
JP2007087181A (ja) * 2005-09-22 2007-04-05 Canon Inc データ転送装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03130859A (ja) * 1989-10-17 1991-06-04 Nippon Telegr & Teleph Corp <Ntt> メモリ転送回路
JPH0452848A (ja) * 1990-06-15 1992-02-20 Mitsubishi Electric Corp ホスト・アダプタ
JPH0567035A (ja) * 1991-09-10 1993-03-19 Hitachi Ltd Dma転送におけるデータアライメント方式
JPH11306084A (ja) * 1998-04-23 1999-11-05 Fujitsu Ltd 情報処理装置及び記憶媒体
JP2000172628A (ja) * 1998-12-07 2000-06-23 Mitsubishi Electric Corp データ転送装置
JP2005084763A (ja) * 2003-09-05 2005-03-31 Fujitsu Ltd メモリ間複写制御装置およびメモリ間複写処理プログラム
JP2006186480A (ja) * 2004-12-27 2006-07-13 Kyocera Mita Corp データ圧縮装置及びデータ圧縮プログラム
JP2006302246A (ja) * 2005-03-23 2006-11-02 Fujitsu Ltd ネットワークアダプタ、通信システムおよび通信方法
JP2007087181A (ja) * 2005-09-22 2007-04-05 Canon Inc データ転送装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461967A (zh) * 2014-12-25 2015-03-25 中国电子科技集团公司第三十八研究所 一种支持同步和异步传输模式的并行数据接口
CN104461967B (zh) * 2014-12-25 2018-03-06 中国电子科技集团公司第三十八研究所 一种支持同步和异步传输模式的并行数据接口
CN115617721A (zh) * 2022-11-05 2023-01-17 深圳三地一芯电子有限责任公司 数据传输方法、dma装置及主控芯片
CN115617721B (zh) * 2022-11-05 2023-11-21 深圳三地一芯电子股份有限公司 数据传输方法、dma装置及主控芯片

Similar Documents

Publication Publication Date Title
US6647438B1 (en) Direct memory access transfer reduction method and apparatus to overlay data on to scatter gather descriptors for bus-mastering I/O controllers
US10061714B2 (en) Tuple encoding aware direct memory access engine for scratchpad enabled multicore processors
US11175854B2 (en) Data processing systems
JP2008269282A (ja) 情報処理装置および方法、並びにプログラム
CN111126589B (zh) 神经网络数据处理装置、方法和电子设备
JP2009134391A (ja) ストリーム処理装置、ストリーム処理方法及びデータ処理システム
JP4372043B2 (ja) コマンド実行制御装置、コマンド実行指示装置およびコマンド実行制御方法
CN102595240B (zh) 视讯/影像解码系统与相应的视讯/影像解码方法
US20060253649A1 (en) Software defined FIFO memory for storing a set of data from a stream of source data
US20010047456A1 (en) Processor
JP2006259898A (ja) I/oコントローラ、信号処理システム、およびデータ転送方法
CN102566958B (zh) 一种基于sgdma的图像分割处理装置
JP2006338538A (ja) ストリームプロセッサ
KR102619668B1 (ko) 슬라이스 업데이트 맵을 이용하는 장치 및 방법
US11614889B2 (en) Aggregating commands in a stream based on cache line addresses
US7861012B2 (en) Data transmitting device and data transmitting method
US20070011398A1 (en) Method and device for transferring data between a main memory and a storage device
JP2009237790A (ja) Dmaコントローラ
JP2008048130A (ja) Jpeg画像処理回路
US20060259657A1 (en) Direct memory access (DMA) method and apparatus and DMA for video processing
US8928926B2 (en) Image forming apparatus that buffers data in a storage device and reduces delays in process
US8769167B2 (en) Channel device, information processing system and data transfer method
JP4690016B2 (ja) 画像圧縮伸長装置
JP4496935B2 (ja) オーディオ・ビデオ出力デバイス及びオーディオ・ビデオ出力方法
CN106776404A (zh) SSD主控Buffer、SSD主控及SSD非对齐写数据传输控制方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20110119

Free format text: JAPANESE INTERMEDIATE CODE: A621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130513

A131 Notification of reasons for refusal

Effective date: 20130611

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20130801

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140107