JP2009237790A - Dmaコントローラ - Google Patents
Dmaコントローラ Download PDFInfo
- 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
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【解決手段】 トランスファ制御部28は、転送処理待ちデータの先頭のもののソースアドレスが8の倍数でない場合には、転送処理待ちデータの先頭のもののソースアドレスが8の倍数となるまで、8アドレス分のデータ単位よりも小さなデータ単位で転送処理待ちデータをソースからAHBバス60を介してFIFO21に転送し、転送処理待ちデータの先頭のもののソースアドレスが8の倍数となった場合には、FIFO21がオーバフローしないことを条件に、可能な回数だけ、8アドレス分のデータ単位で転送処理待ちデータをソースからAHBバス60を介してFIFO21に転送する。
【選択図】図1
Description
かかる発明によれば、転送対象である一群のデータのソースアドレスまたはディスティネーションが任意のアドレスである場合においても、バスのデータ幅を最大限に利用した効率的なDMA転送を行うことができる。
図1はこの発明の一実施形態であるDMAC20を含む画像処理装置の構成を示すブロック図である。図示のように、画像処理装置は、画像処理LSI1と、ホストCPU2と、圧縮動画ROM3と、画像メモリ4とを有する。
本実施形態では、SRAM31と画像メモリ4とで画像データの格納方法が異なる。本実施形態では、一画面分の画像データを16×16画素のブロックに分割し、ブロック単位で復号化処理を実行する。図2に例示するように、復号化により得られる1ブロック分の各画素の画像データは、SRAM31内の1次元的に連続したアドレス領域に格納される。これに対し、画像メモリ4では、1つのブロックの各画素の画像データの格納先は、いわば2次元的な領域となる。すなわち、ブロック内のある行の各画素の画像データの格納先は、同一のロウアドレスを有し、かつ、異なるカラムアドレスを有する連続したアドレス領域となるが、その次の行の各画素の画像データの格納先は、1つ隣のロウアドレスを有し、異なるカラムアドレスを有する連続したアドレス領域となる。このようにSRAM31では連続したアドレス領域に格納される16×16画素の画像データが、画像メモリ4では、互いに隔たった16個の連続アドレス領域に行毎に分離されて格納されるのである。このようなデータの格納方法を異にする2つのメモリ間のDMA転送を行うためにDMAC20に設けられた機能がスキャッタリング機能およびギャザリング機能である。
なお、スキャッタリング、ギャザリングに関しては、例えば特許文献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転送を自動的に連係させて進める機能である。
なお、複数色の画像データをまとめて読み出す技術に関しては、例えば特許文献1に開示がある。
ソースとディスティネーションとで、アクセス単位であるデータ幅が異なる場合がある。例えば、本実施形態では、画像メモリ4では、1アドレス当たり1バイトのデータが記憶されるのに対し、SRAM31では、1アドレス当たり2バイトのデータが記憶されるようになっている。この場合において、SRAM31における1アドレスを画像メモリ4における1アドレスに対応付けて、SRAM31および画像メモリ4間のデータの交換を行うためには、SRAM31の1アクセス単位である2バイトのうち上位1バイトを無効なデータとして取り扱わざるを得ない。従来技術の下では、そのための処置を画像プロセッサ30に行わせていたが、そのために画像プロセッサ30の負担が重くなり、画像処理装置の効率を低下させていた。そこで、本実施形態では、SRAM31における1アクセス単位である2バイトのうちの上位1バイトを無効なデータとして取り扱うためのパック、アンパックをDMAC20に行わせるようにしている。
本実施形態において、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に設けられている。
ンアドレスをスキャッタリングインターバルSCTIだけ増加させる。
以上がDMAC20内に設けられた各種のレジスタの詳細である。
Claims (6)
- ソースおよびディスティネーション間のバスを介したDMA転送を制御するDMAコントローラにおいて、
先入れ先出し方式のバッファと、
転送処理待ちデータの先頭のもののソースアドレスが2m(mは1以上の所定の整数)の倍数でない場合には、転送処理待ちデータの先頭のもののソースアドレスが2mの倍数となるまで、2mアドレス分のデータ単位よりも小さなデータ単位で転送処理待ちデータを前記ソースから前記バスを介して前記バッファに転送し、転送処理待ちデータの先頭のもののソースアドレスが2mの倍数となった場合には、前記バッファがオーバフローしないことを条件に、可能な回数だけ、2mアドレス分のデータ単位で転送処理待ちデータを前記ソースから前記バスを介して前記バッファに転送し、転送処理待ちデータの先頭のもののディスティネーションアドレスが2m(mは1以上の所定の整数)の倍数でない場合には、転送処理待ちデータの先頭のもののディスティネーションアドレスが2mの倍数となるまで、2mアドレス分のデータ単位よりも小さなデータ単位で転送処理待ちデータを前記バッファから前記バスを介して前記ディスティネーションに転送し、転送処理待ちデータの先頭のもののディスティネーションアドレスが2mの倍数となった場合には、前記バッファがアンダフローしないことを条件に、可能な回数だけ、2mアドレス分のデータ単位で転送処理待ちデータを前記バッファから前記バスを介して前記ディスティネーションに転送するトランスファ制御部と
を具備することを特徴とするDMAコントローラ。 - 前記トランスファ制御部は、転送バイト数が指定されたスキャッタリングカウントに到達する毎にディスティネーションアドレスを指定されたスキャッタリングインターバルだけ変化させるスキャッタリング手段を具備することを特徴とする請求項1に記載のDMAコントローラ。
- 前記トランスファ制御部は、転送バイト数が指定されたギャザリングカウントに到達する毎にソースアドレスを指定されたギャザリングインターバルだけ変化させるギャザリング手段を具備することを特徴とする請求項1または2に記載のDMAコントローラ。
- 前記トランスファ制御部は、ソースのデータ幅がディスティネーションのデータ幅よりも大きい場合に、ソースから取得したデータをディスティネーションのデータ幅のデータとし、前記バッファに格納するパック手段を具備することを特徴とする請求項1〜3のいずれか1の請求項に記載のDMAコントローラ。
- 前記トランスファ制御部は、ディスティネーションのデータ幅がソースのデータ幅よりも大きい場合に、ソースから取得したデータを前記バッファから読み出して、前記ディスティネーションのデータ幅のデータとし、前記ディスティネーションに転送するアンパック手段を具備することを特徴とする請求項1〜4のいずれか1の請求項に記載のDMAコントローラ。
- 連係して実行すべき複数種類のDMA転送に関する制御情報を記憶する記憶手段を具備し、
前記トランスファ制御手段は、前記記憶手段に記憶された各DMA転送に関する制御情報を順次読み出し、各DMA転送を順次実行するチェーン転送手段を具備することを特徴とする請求項1〜5のいずれか1の請求項に記載のDMAコントローラ。
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)
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)
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 | データ転送装置 |
-
2008
- 2008-03-26 JP JP2008081418A patent/JP2009237790A/ja active Pending
Patent Citations (9)
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)
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 |