JP2002140289A - 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション - Google Patents

調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション

Info

Publication number
JP2002140289A
JP2002140289A JP2001272031A JP2001272031A JP2002140289A JP 2002140289 A JP2002140289 A JP 2002140289A JP 2001272031 A JP2001272031 A JP 2001272031A JP 2001272031 A JP2001272031 A JP 2001272031A JP 2002140289 A JP2002140289 A JP 2002140289A
Authority
JP
Japan
Prior art keywords
bus
data
size
register
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.)
Granted
Application number
JP2001272031A
Other languages
English (en)
Other versions
JP4729207B2 (ja
Inventor
Steven R Jahnke
アール、ジャンク スチーブン
Hiroyuki Hamakawa
博行 浜川
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JP2002140289A publication Critical patent/JP2002140289A/ja
Application granted granted Critical
Publication of JP4729207B2 publication Critical patent/JP4729207B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 より大きなワード・サイズでソース・アドレ
スの単一読み取りが可能となり、またターゲット・アド
レスへの多数のサブワード・サイズの書き込みが可能と
なるマイクロコントローラ直接メモリ・アクセス(DM
A)ユニットを提供する。 【解決手段】 DMAユニットが、ソース・ワード・サ
イズでソース・アドレスの単一読み取りのためのハード
ウェア・サポートを含むが、独立したターゲット・ワー
ド・サイズでターゲット・アドレスに書き込む。これ
は、ソース・ワード・サイズ(321)、ソース増加サ
イズ(323)、ターゲット・ワード・サイズ(32
2)およびターゲット増加サイズ(324)の独立した
制御レジスタストアによってイネーブルされる。一度に
全体のバイトを次のより低いバイト位置へとシフトする
バイト・シフタ/レジスタ(305)が、大きなワード
の、小さなワード・サイズを有する宛先への転送を可能
とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明の技術分野は、コン
ピュータ・システム内のデータ転送およびデータ・バス
・システムである。
【0002】
【発明の背景】コンピュータ・システムがより複雑にな
るにつれ、チップ内およびそのチップから外部デバイス
へと、またはそれと反対にデータを転送するのに、多重
プロセッサおよび多様な周辺デバイスを使用することが
一般に行われてきている。便宜上および性能上の理由か
ら、そのようなシステムは、ほとんどいつも、同様のデ
バイス間の通信を分離する多重セットのバスを有する。
多重バス・システムは、別々のバスの間でのコヒーレン
トな衝突のない通信を可能とするためのバス・コントロ
ーラを備えなければならない。この目的でマイクロコン
トローラが用いられ、所定の時間にどのデバイスが問題
のバスの制御を行うのかを決定する、バス・アービトレ
ーションを提供する。
【0003】高性能マイクロコントローラのデザインの
ために、卓越した標準バス・システムが現れている。
「アドバンスト・マイクロコントローラ・バス・アーキ
テクチャ・システム(Advanced Micro−
controller BusArchitectur
e System)」AMBAが、アドバンストRIS
Cマシンズ(ARM)株式会社(英国ケンブリッジ)に
より定義され、また1998年4月14日付けの米国特
許5,740,461に記述されている。CISC変種
のコンピュータ・システムは、複合命令セット・コンピ
ュータであり、全バージョンに渡ってトータルで逆方向
の互換性の要求を有する。RISC(縮小命令セット・
コンピュータ)システムは、対照的に単純命令セットを
有して、オペレーションの効率を最大化するよう設計さ
れている。複合オペレーションは、RISCマシンにお
いても同様に達成されるが、それらは、単純命令の組み
合わせを用いて達成される。AMBAアーキテクチャを
構成するARM株式会社のRISCマシンが、ここで主
に記載される。
【0004】標準AMBAは、2つのメイン・バス、す
なわち高性能AHBバスとより控えめな性能の周辺バス
APBを有する。AHBバスは、メイン・メモリ・バス
であって、RAMと外部メモリ・コントローラとを含
む。この基礎的なシステムの定義において、大量のデー
タを転送する高性能周辺が要求されるならば、この周辺
もまた高性能AHBバス上に配置される。しかしなが
ら、これは、システムの性能を低減し、というのも、中
央処理ユニット(CPU)は、周辺がバスを制御すると
き、メモリにアクセスすることができないからである。
【0005】アドバンストRISCマシンズ株式会社
(ARM)は、効率のよいアービトレーションの構成を
提案し、CPUおよび高性能周辺が、単一のAHBバス
のバス時間を共有することができるよう転送を分割して
いる。ARMはまた、分離のためにおよび単一のアービ
タを用いて、第2バスを用いることを提案している。こ
の提案はまた、唯一のトランザクションのみが所定時間
で進行することができるものとしている。
【0006】この発明のマイクロコントローラDMA
は、広範囲のアプリケーションに適応可能な汎用DMA
である。その使用は、主に、1つのメモリ位置から別の
ところへとCPUのオーバヘッドを最小にしてまたはそ
れなしにデータの高速転送を促進するものである。マイ
クロコントローラDMAが、データを動かしている一方
で、CPUがプログラム・メモリからの命令を実行し続
けることも可能である。マイクロコントローラDMA
が、単純に動くデータのCPUを蘇らせるので、これ
は、高性能システムを可能とする。
【0007】一般にDMAは、周辺データ・レジスタ
(またはバッファ)からシステム・レベルのRAMへと
データを動かすのに用いられる。それはまた、RAMに
ストアされるデータを周辺に転送する。システムRAM
はまた、周辺データを表す変数を保有するので、マイク
ロコントローラDMAが、一旦データを周辺からRAM
へと動かしたならば、CPUは、更新されたデータを得
るために周辺にアクセスする必要はない。これは、2つ
の方法で性能を向上させ、すなわち、 1.CPUは、ローディングを、そして、データのスト
アをする必要がない。RAMからの単一のローディング
のみで十分である。 2.システムRAMにアクセスする方が周辺データ・レ
ジスタよりもサイクル効率がよい。AMBAシステムに
おいては、データRAMの位置するAHBバスは、一般
に待機ゼロのパイプラインの通ったバスである。ほとん
どの周辺が位置するAPBバスは、一般に少なくとも2
つの待機状態を必要とする。DMAコントローラは、双
方の待機状態のCPUをAPBバスへと、そしてCPU
ストアオペレーションにリリーフ(relieve)す
る。
【0008】いくつかのバス標準においては、ある構成
要素は(AMBAのAPB構成要素について32ビット
のように)定義された固定アドレス長を有し、一方、別
の部分は、(AMBA支援多重バス・サイズのAHB構
成要素のような)多重アドレス長を可能とする。しかし
ながら、レジスタの実際のワード・サイズは、固定アド
レス長よりも(32ビットについて定義されるバスにお
ける8ビットまたは16ビット・レジスタのように)小
さなものであり、レジスタのワード・サイズだけ単純に
増加させることは、アドレス長がより大きなサイズに固
定されるので、結果として正しくないアドレスになって
しまう。DMAコントローラは、AHBバスにおけるよ
うな可変アドレス長と、APBバスにおけるような固定
アドレス長の双方をサポートする必要がある。
【0009】
【発明の概略】この発明においては、以下のものを含む
多くのユニークな特徴をサポートするハードウェアを含
むマイクロコントローラDMAが記述される。 1.より大きなワード・サイズのソース・アドレスの単
一読み取りとその一方でのターゲット・アドレスへのサ
ブワード・サイズの多重書き込みを可能とすること。 2.4セットの制御ビットが提供される。2セットは、
ソース・ワード・サイズおよびソース増加サイズを含
む、ソース・アドレスのためである。2セットは、ター
ゲット・ワード・サイズおよびターゲット増加サイズを
含むターゲット・アドレスのためである。 3.完全バイトを、一度に、隣のより低いバイト位置に
移行させるバイト・シフタ/レジスタが、(16ビット
または32ビット・サイズのワードのような)より大き
なワードの(8ビットまたは16ビットのような)より
小さなワード・サイズを有する宛先への転送を可能とす
る。
【0010】上記の特徴により、プログラマが、ソース
の実際のワード・サイズと宛先の場所の双方を設定する
ことが可能となり、かつプログラマが、増加するサイズ
を設定することもまた可能となる。APBバスのような
固定バス・システムにおいて、この値は固定サイズに設
定することができる。可変ワード・サイズのシステムで
は、これは、現在の周辺がサポートするものならなんに
でも設定することができる。ソースおよび宛先アドレス
の双方について、まったく別々のソフトウェア・プログ
ラム可能ワード・サイズおよび増加サイズが提供され
る。アドレス増加サイズは、転送のワード・サイズに依
存しない。
【0011】ユーザは、マイクロコントローラDMAが
どのようにデータを取り扱い、またアドレスがどのよう
に増大されるかについて完全な制御を行う。実際の作業
は全て、尚もハードウェアで行われ、更なるソフトウェ
アのオーバヘッドは必要とされない。しかしながら、こ
こで、同じマイクロコントローラDMAを用いて、AH
BおよびAPBを有するAMBAのような異なるバス標
準を備えたシステムにおいて、例えば、転送のサイズを
固定したり、ワード・サイズを翻訳するのにCPUに過
度に負担をかけたりするといったことによって、効率を
妥協したり周辺またはバス効率を制限したりすることな
く、データを転送することができる。
【0012】
【発明の実施の形態】この発明の多重トランザクション
・アドバンスト高性能バス・システム(MTAHB)
は、アドバンストRISCマシンズ株式会社(ARM)
のマイクロコントローラ・バス・アーキテクチャ(AM
BA)への改良型として用いられる。AMBAマシン
は、ARMプロセッサという名前で特定されるRISC
プロセッサを用いる。アドバンストRISCマシンズ株
式会社(英国ケンブリッジ)は、このクラスのマシンが
完全に記載されている1998年4月14日付けの米国
特許5,740,461を取得している。この発明で用
いられている技術は、以下に示されるとおり、より広い
適用性のものであり、多重バス・アーキテクチャを有す
る様々な多重プロセッサ・システムで用いることができ
る。
【0013】図1は、AMBA標準を例示する。AMB
Aは、2つのメイン・バス、すなわち、アドバンスト高
性能バス(AHB)100と、より控えめな性能のアド
バンスト周辺バス(APB)120とを有する。AHB
バス100は、メイン・メモリ・バスであって、ランダ
ム・アクセス・メモリ(RAM)107、リード・オン
リ・メモリ(ROM)108および外部メモリ・インタ
フェース(EMI)コントローラ102へのCPUアド
バンスト高性能メモリ・バス・インタフェース106を
介してCPU100に結合する。図1は更に、やはりA
HBバス100に結合される第2マスタ・デバイス直接
メモリ・アクセス(DMA)ユニット103を例示す
る。2つのマスタCPU101およびDMA103間の
バス・アクセスのためのアービトレーションは、Mバス
・アービタ110において生じる。Mバス・アービタ1
10は、Mバス・デコーダ111および選択ライン11
2を介して様々なスレーブ・デバイスへのアクセスを制
御する。この基本的なシステムの定義において、大量の
データを転送する高性能周辺が要求されるならば、この
周辺もまた高性能AHBバス100上に配置される。図
1は、そのような高性能周辺デバイス130を例示す
る。この高性能周辺デバイス130をAHBバス110
に配置することは、システムの性能を低減し、というの
も、CPU101およびDMA103は、高性能周辺デ
バイス130がAHBバス100の制御を行うとき、メ
モリにアクセスすることができないからである。ARM
は、有効なアービトレーションの構成を提案し、CPU
101、DMA103および高性能周辺130が、単一
のAHBバス100のバス時間を共有することができる
ように、転送を分割している。
【0014】ARMはまた、分離のための、および単一
アービタを用いる第2バスの使用を提案している。図1
に示されるとおり、この第2バスはアドバンスト周辺バ
ス(APB)120と呼ばれている。APBバス120
は、AHBバス100と同じように作動する。APBバ
ス120は、AHBからAPBへのバス・ブリッジ10
9を介してAHBバス100に接続される。AHBから
APBへのバス・ブリッジ109は、AHBバス100
へのスレーブである。単一のMバス・アービタ110を
備える2バス・システムは、利用性が限られており、と
いうのも、それは、1つのトランザクションだけが所定
の時間で進行するのを可能とするからである。メモリお
よび高性能周辺デバイス130を含む、全ての高性能デ
バイスが、AHBバス100上にあることに注意された
い。UART115、タイマ116、キーパッド117
ならびに周辺121乃至123を含む全ての控えめな性
能の周辺デバイスは、周辺バス120上に備わる。
【0015】図2は、AHBバスの制御をリクエストす
るマスタと、アービトレーションの決定を行うアービタ
とこの標準AMBAシステムにおいて実行されるコマン
ドについてマスタによって選択されるスレーブとの間の
信号フローを例示する。AHBバスト(bust)アー
ビタ111、AHBマスタ200およびAHBスレーブ
210は各々、リセット信号HResetx222およ
びクロック信号HClockx223を受信する。AH
Bマスタ200は、HBusReqx信号231を活性
化することによって、AHBアービタ110のリクエス
トを行う。AHBマスタ200は、HGrantx信号
232によるAHBアービタ110からの許可を受信す
る。AHBマスタ200は、認可を確認して、HLoc
k信号233によるこのアービトレーションの決定をロ
ックする。そして、AHBマスタ200は、アドレス2
05をAHBデコーダ111に送る。AHBデコーダ1
11は、選択されたスレーブ・デバイスに供給される選
択信号112を活性化する。この例において、選択され
たスレーブ・デバイスは、AHBスレーブ210であ
る。AHBマスタ200と、AHBスレーブ210の相
互作用は、制御信号213を介して完結され、HRes
p信号211とHReady信号212を介して認識さ
れる。読み取りおよび書き込みオペレーションのための
データは、全てのマスタと全てのスレーブとの間でAH
Bバス100を介して流れる。AHBスレーブ210
は、HRData[31:0]バス206を介してAH
Bバス100にデータを供給し、HWData[31:
0]バス207を介してAHBバス100からデータを
受信する。同様に、AHBマスタ200は、HRDat
a[31:0]バス208を介してAHBバス100か
らデータを受信し、HWData[31:0]バス20
9を介してAHBバス100にデータを供給する。これ
に関して、読み取りおよび書き込みは、AHBマスタ2
00の観点から考えられているということに注意するこ
と。こうして、データ読み取りにおいて、データは、A
HBスレーブ210からHRData[31:0]バス
206を介してAHBバス100に流れ、またAHBバ
ス100からHRData[31:0]バス208を介
して流れる。もちろん、所定の時間に1つのマスタのみ
が活性化され、このマスタが1つのスレーブのみを選択
し、その上でそれは転送(読み取りまたは書き込み)コ
マンドを実行する。
【0016】周辺からデータRAMへのデータの転送と
関連するオーバヘッドの中央処理ユニット(CPU)を
リリーフすることによって、直接メモリ・アクセス・ユ
ニット(DMA)は、システムの性能を向上することが
できる。これは、CPUのオーバヘッドを2つの方法で
低減する。第1に、最も明らかなものとして、CPU
は、データの動き(通常、ロード−ストアアーキテクチ
ャにおいて1つのメモリ位置からの「LOAD」および
別の位置への「STORE」)と関連するコードを走ら
せる必要がないので、CPUは、そのメイン・タスクで
自由に続けられるいくつかのサイクルを有する。第2
に、周辺は一般に、より遅い待機状態バス上にある。ロ
ード−ストアオペレーションを行う間、CPUはまた、
同数の待機状態だけ待たなければならない。DMAで
は、DMAコントローラのみが待たなければならず、そ
れによって、他のCPUタスクのためのこれらのサイク
ルを自由にしている。
【0017】図3は、この発明のマイクロコントローラ
DMAの素子を詳細に例示する。DMA制御レジスタ3
21乃至328は、転送に関係する全ての情報をストア
する。レジスタ・ブロック314は、DMA状態レジス
タDMASTと、ブロック割込みレジスタBIとを含
む。ソースおよびターゲット・ワード・サイズ、ブロッ
ク・サイズ、ソースおよびターゲット増加サイズ、ソー
ス開始アドレスおよびターゲット開始アドレスは、転送
を始めることができる前に、それぞれの制御レジスタ3
21乃至328から得られなければならない。
【0018】転送するワードの数(転送の長さ)は、カ
ウンタ値(CNTVAL)レジスタ327の値によって
決定され、DMA制御論理ブロック315内のCNTV
ALカウンタ333にローディングされる。各ブロック
のサイズは、BSレジスタ328にストアされるブロッ
ク・サイズ値から得られる。ソース開始アドレスは、S
ADDRレジスタ325にストアされ、またターゲット
開始アドレスは、TADDRレジスタ326にストアさ
れる。
【0019】実際の実施例において、制御レジスタ32
1乃至328は、しばしばAPBバス上に配置されて、
これらのレジスタをローディングすることにより、チッ
プ構成を容易にする。これらの実施例において、マイク
ロコントローラDMAは、APBバスからの通常のデー
タ転送によって要求されて、制御レジスタの内容のコピ
ーを検索する。
【0020】AHB/APBの境界を横切るワード・サ
イズの調整についての要求は、以下のように概要され
る。APBバス120は、常に32ビットのバスであ
る、32ビットのアクセスのみをサポートする。他方、
AHBバス100は、8ビット、16ビットまたは32
ビットのデータ・タイプをサポートする。マイクロコン
トローラDMAが、APBバス周辺からAHBバス10
0上のデバイスにデータを書き込むためには、それは、
例えAPBバス120が、8ビットまたは16ビットの
データ・レジスタのみを有するとしても、常に32ビッ
トのワードを転送し、ストアしなければならない。
【0021】2つのプログラム可能なレジスタが備えら
れていて、ユーザがワード・サイズを選択できるものと
なっている。SWSレジスタ321は、ソース・ワード
・サイズを設定する。TWSレジスタ322は、ターゲ
ット・ワード・サイズを設定する。そして、マイクロコ
ントローラDMAは、ソース・ワード・サイズSWSレ
ジスタ321によって定義されるとおり、ソースからデ
ータを読み取るが、ターゲット・ワード・サイズTWS
レジスタ322によって定義されるとおり、ターゲット
位置にデータを書き込む。
【0022】マイクロコントローラDMAは、メモリ中
のデータを利用できる最も有効なメモリ・サイズに配列
する。プログラム可能なターゲット・ワード・サイズを
備えるマイクロコントローラDMAはまた、転送される
べきデータが1ワードまたは半ワードのみであるなら
ば、APB周辺への32ビット転送を保証する。
【0023】この発明の技術の2つの主な利点は、 1.メモリからAPBバス120への転送において、3
2ビットのアクセスがAPB周辺に行われなければなら
ない。アプリケーション・プログラムが、メモリにバイ
トすなわち半ワード境界上のデータをストアしているな
らば、DMAは、その境界を完全ワードに整列するよう
変更しなければならない。プログラム可能なソース・ワ
ード・サイズおよびターゲット・ワード・サイズで、マ
イクロコントローラDMAは、サブワード・サイズの境
界上のデータを読み取ることができるが、完全ワードと
してデータを書き込む。 2.APB周辺からメモリへデータをストアする際に
は、データは常にAPBメモリ空間からの完全ワードと
して読み取られなければならないが、全てのデータが完
全ワードを占有するわけではない。マイクロコントロー
ラDMAは、ターゲット・ワード・サイズを所望の幅
(8ビット、16ビットまたは32ビット)にプログラ
ムすることによって、所望のワード・サイズで、より効
率よくAPBデータをメモリにパックすることができ
る。これによって、アプリケーション・プログラムは、
ソース・コード(例えば、バイトまたはキャラ)におい
てサブワード・サイズのデータ・タイプを用い、ソフト
ウェアでワードのサイズを変えることなく、メモリから
直接正しいデータを読み取ることが可能となる。
【0024】データ転送プロセスは、読み取りデータ・
レジスタ301にストアされているデータで開始する。
DMA制御ロジック315は、コマンドをアドレス生成
器/増加器312、データ・バイト・シフタ304およ
びワード・フォーマッタ305に送り、次の所望の転送
または次の部分転送に必要なモードにおける全ての多重
化およびレジスタ機能を設定する。書き込みデータ・レ
ジスタ310および出力アドレス・レジスタ311は、
データの内容および次のオペレーションに必要なアドレ
ス・ワードを保有する。
【0025】CNTVALカウンタ333が0x000
0までカウントダウンするとき、DMAトランスファが
完全に行われる。転送される各ワードは、SWSレジス
タ321によって決定されるサイズを有しており、CN
TVALカウンタ333を1だけ低減させる。0x00
00に到達すると、対応するDMA状態ビットがDMA
状態レジスタDMASTに設定され、またブロック割込
みレジスタBIを介してブロック割込みが生じ、その双
方はDMA状態/割込みレジスタ・ブロック314の一
部である。
【0026】DMAは、全体の転送を可変数のブロック
に分けるというオプションを有する。「1」というブロ
ック・サイズは、DMAが一度に1ワードのみを転送す
るということを指示する。しかしながら、SDRAMの
ようなあるメモリのタイプは、バースト転送を可能と
し、その間にメモリの場所を連続して読み取らなければ
ならない。ブロックはまた、AHBパイプラインを利用
し、または連続しないアクセスにおいて1サイクルのペ
ナルティを防止するのに有用である。DMAは、全体ブ
ロック転送長についてAHBバス100を保有する。
【0027】DMA制御ロジック315は、完全な転送
のためのパラメータを保持する制御レジスタ321乃至
328からのデータに基づく制御信号を生成する。CN
TVALカウンタ333は、CNTVALレジスタ32
7にストアされる転送のためのプログラムされた数のワ
ードで初期化される。出力アドレス・レジスタ311
は、開始アドレスに初期化される。これらは、SADD
Rレジスタ325にストアされるソース開始アドレスお
よびTADDRレジスタ326にストアされるターゲッ
ト開始アドレスである。出力アドレス・レジスタ311
にストアされる現在のアドレスは、SADDRおよびT
ADDR開始アドレスへと初期化され、ワード転送の完
了でアドレスを増加することにより更新される。
【0028】図4は、DMA転送プロセスのフロー・チ
ャートを例示する。現在のソースおよびターゲット・ア
ドレスは、出力アドレス・レジスタ311(処理ブロッ
ク401)にストアされる。次に、ソース・アドレスに
ストアされるデータ・ワードは、DMA読み取りデータ
・レジスタ301(処理ブロック402)に移動され
る。
【0029】次にデータは、ワード・フォーマッタ30
5においてサイズ調整またはバイト・シフト調整を用い
てフォーマットされ、結果が書き込みデータ・レジスタ
310(処理ブロック403)にストアされる。このプ
ロセスは、通常、多数のクロック・サイクルを要する。
図4に例示されるとおり、このプロセスは、CNTVA
Lレジスタ333、ブロック・サイズ・レジスタBS3
28、ソース・ワード・サイズ・レジスタSWS32
1、ターゲット・ワード・レジスタTWS322、ソー
ス・アドレス増加サイズ・レジスタSIS323および
ターゲット・アドレス増加サイズ・レジスタTIS32
4が含まれるDMA総合制御信号420を含む。ソース
・ワード・サイズSWSレジスタ321およびターゲッ
ト・ワード・サイズ・レジスタTWS322に関して、
双方は8ビット、16ビットまたは32ビットのワード
・サイズに設定される。ターゲット・アドレスで割り当
てられるものより大きなワードを含むソース・アドレス
が選択されるならば、ターゲットはより大きなデータ・
ワードを受信するが、これらは多数のより小さなワード
・サイズの書き込みが行われる。
【0030】例えば、1つの周辺における16ビット・
データ・レジスタが、8ビット・データ・レジスタのみ
を有する別の周辺に、16ビット全部を送る必要がある
ならば、マイクロコントローラDMAは、ソース・アド
レスを一旦読み取るが、しかしターゲット・アドレスに
多数の書き込みを生じさせる。8ビット・ターゲットの
周辺への16ビット・ソース周辺書き込みは、16ビッ
ト・ソースから一度の読み取りを行うが、必要に応じて
増加された8ビット・ターゲット・アドレスに2つの書
き込みを行う。32ビット・ソース周辺からの転送は、
16ビット・ターゲット周辺への2つの書き込みかまた
は8ビット・ターゲット周辺への4度の書き込みという
結果を生じる
【0031】DMAデータ・バイト・シフタ304に関
して、32ビット・ワードのようなより大きなワード
の、8ビットのようなより小さなワード・サイズを有す
る宛先への転送を考える。この種のオペレーションにお
いて、多数の書き込みが宛先になされる必要がある。第
1のクロックで、より低いバイトまたは半ワードは、宛
先に転送されるためにより低いバイトまたは半ワードに
整列される必要がある。次のクロックで、バイト2が書
き込まれ、バイト3がバイト1の位置等に移動する。全
ての4つのバイトが書き込まれるならば、マイクロコン
トローラDMAは、32ビット・ソース位置から次の読
み取りを行って、そのプロセスを繰り返すことができ
る。読み取りデータ・レジスタ301および書き込みデ
ータ・レジスタ310双方における32ビット・レジス
タで、マイクロコントローラDMAは、その制御出力3
32を通してデバイスをスレーブとし、必要とされる全
体のおよび部分的なデータ転送の全域に渡って要求され
る多重書き込みを実行するのに十分な柔軟性を有する。
【0032】前述の特長によって、プログラマは、ソー
スおよび宛先場所双方の実際のワード・サイズを設定す
ることが可能となる。またプログラマは、増加するサイ
ズをもまたセットすることが可能となる。APBバス1
20のような固定バス・システムにおいては、この値は
固定サイズに設定される。可変ワード・サイズのシステ
ムにおいて、これは、現在の周辺がサポートするものな
ら何にでも設定することができる。ソースおよび宛先ア
ドレス双方についての完全に別々なソフトウェア・プロ
グラム可能ワード・サイズおよび増加サイズが提供され
る。アドレス増加サイズは、転送のワード・サイズに依
存しない。
【0033】ユーザは、マイクロコントローラDMAが
どのようにデータを取り扱い、アドレスがどのように増
加されるかについて完全な制御を行う。実際の作業は全
て、尚もハードウェアで行われており、更なるソフトウ
ェア・オーバヘッドは必要とされない。しかしながら、
ここで同じマイクロコントローラDMAを用いて、AH
Bバス110およびAPBバス120を有するAMBA
のような異なるバス標準を備えるシステムにおいて、効
率を妥協することなく、転送のサイズを固定することに
より周辺またはバス効率を制限することなく、またはワ
ード・サイズを翻訳するためにCPUに過度に負荷をか
けることなく、データを転送することができる。
【0034】ワード転送を完了するために、続いてデー
タ・ワードを、書き込みデータ・レジスタから現在ター
ゲットのアドレス位置(処理ブロック404)へと移動
する。各ワードが転送されるとき、CNTALカウンタ
333は、1だけ低減する(処理ブロック405)。
【0035】CNTVALカウンタ333が検査され
て、それが16進法のゼロ(0x0000)であること
を決定する(決定ブロック408)。DMAデータ転送
が、DMA転送全体をまだ完了していない(ノー・ブラ
ンチ408)ならば、すなわちCNTVALカウンタ3
33がまだ0x0000に到達していないならば、DM
Aコントローラは、転送の次のワードを実行する。ソー
スおよびターゲット・アドレスが増加される(処理ブロ
ック411)。これらのアドレスは、スタート・ソース
・アドレス・レジスタSADDR325およびスタート
・ターゲット・アドレス・レジスタTADDR326に
よって開始される。ソース・アドレスは、ソース・アド
レス増加サイズ・レジスタSIS323にストアされる
値だけ増加され、またターゲット・アドレスは、ターゲ
ット増加サイズ・レジスタTIS324にストアされる
値だけ増加される。
【0036】DMAが、全転送を完了し、かつCNTV
ALカウンタ333が0x0000(イエス・ブランチ
409)に到達したならば、DMASTレジスタにおけ
る転送完了状態ビットが設定される(処理ブロック41
0)。そして、DMAは、CPU割込みを生成し(処理
ブロック412)、CPUのDMAデータ転送の完了を
認識するよう要求する(処理ブロック413)。そうす
る際に、CPUは、DMAST状態をクリアし、更なる
DMA転送アクションを可能とする。
【0037】次のDMAリクエストは、アドレス・レジ
スタSADDRからアドレス・レジスタ(TADDR)
におけるアドレスへのデータの新たな転送を開始させ、
図4において例示される処理ステップを繰り返す。
【0038】DMAコントローラの状態を制御し、表示
する制御レジスタおよびビットの表が以下である。DM
Aの各独立チャンネルにはレジスタ源の完全なセットが
ある。好ましい実施例には、32のDMAチャンネルが
含まれる。
【0039】スタート・ソース・アドレス・レジスタS
ADDR325は、データを対応するDMAチャンネル
についてのものから移動させるための開始アドレスをス
トアする。好ましくは、これは、完全32ビット・アド
レスである。以下の転送開始アドレスは、対応するアド
レス増加選択ビットIADD(以下参照)でプログラム
される値に依存して、SIS[1:0]だけ増大するか
しないかする。好ましい実施例において、この機能につ
いて32の別々のレジスタ、32のDMAチャンネルの
各々について1つの完全な32ビット・レジスタがあ
る。
【0040】スタート・ターゲット・アドレス・レジス
タTADDR326は、データを対応するDMAチャン
ネルについてのものに移動する宛先アドレスをストアす
る。これは好ましくは、完全32ビット・アドレスであ
る。ここにストアされる値は、宛先場所のためのターゲ
ット・アドレスである。開始アドレスからのデータの連
続する転送の各々に際し、ターゲット・アドレスは、転
送が完了する、すなわち、対応するCNTVALレジス
タ333が0x0000になるときまで、対応するTI
ADDビットの状態に依存して、対応するTIS[1:
0]だけ選択的に増加する。好ましい実施例において、
この機能のために32の別々のレジスタ、32のDMA
チャンネルの各々について1つの完全な32ビット・レ
ジスタがある。
【0041】ソース・ワード・サイズ・レジスタSWS
321は、対応するDMAチャンネルについて読み取ら
れるワードの実際のサイズをストアする。DMAチャン
ネルについて2ビットSWS[1:0]が必要とされ
る。ビットSWS[1:0]は、以下のとおり符号化さ
れる。
【0042】ターゲット・ワード・サイズ・レジスタT
WS322は、対応するDMAチャンネルについて書き
込まれるべきワードの実際のサイズをストアする。各D
MAチャンネルについて2ビットTWS[1:0]が必
要とされる。ビットTWS[1:0]は、以下のように
符号化される。
【0043】ワード数カウント・レジスタCNTVAL
[15:0]333は、DMA状態(DMAST)イベ
ントを引き起こすまでに、DMAトランザクションの数
を数えた値をストアする。このレジスタの内容が0x0
000に到達するとき、対応するDMASTビットは活
性化される。
【0044】DMAブロック・サイズ・レジスタBS3
28は、連続して行われるべきDMAアクセスの数値を
ストアする。DMAリクエストが行われるとき、DMA
コントローラは、割込みなしに直ちにこのレジスタにプ
ログラムされるワードの数を転送する。ブロック転送の
間、DMAコントローラはAHBバス100の制御を解
除しない。ブロック・サイズ・レジスタBS328の値
は、CNTVALレジスタ327にストアされるカウン
ト値およびCNTVALカウンタ333の現在の値から
独立するものであることに注意されたい。データのブロ
ック・サイズの転送を完了するに際し、AHBバス10
0において新しいアービトレーションがもたらされる。
ブロック・サイズがカウント値未満であるなら、長いD
MA転送は、より高い優先順位のリクエスト、すなわ
ち、ラウンドロビン優先順位(round robin
priority)における異なる懸案リクエストに
よって、ブロック・サイズの各転送の完了にあたって割
込みすることができる。
【0045】ソース増加サイズ・レジスタSIS323
は、対応するDMAチャンネルについてのワード転送の
間、開始アドレスのためのアドレス増加サイズをストア
する。各DMAチャンネルには、2ビットSIS[1:
0]が必要とされる。ビットSIS[1:0]は、以下
のように符号化される。
【0046】ターゲット増加サイズ・レジスタTIS3
24は、対応するDMAチャンネルについての転送の
間、ターゲット・アドレスについてのアドレス増加サイ
ズをストアする。各DMAチャンネルには、2ビットT
IS[1:0]が必要とされる。ビットTIS[1:
0]は以下のように符号化される。
【0047】以下のレジスタは、DMA状態/割込みレ
ジスタ・ブロック314の一部、すなわち、ブロック割
込みレジスタBI、ブロック割込みイネーブル・レジス
タBIE、DMA状態レジスタDMAST、ソース・ア
ドレス増加選択レジスタSIADDおよびターゲット・
アドレス増加選択レジスタTIADDである。これらの
レジスタの各々には、各DMAチャンネルに対応する単
一ビットが含まれる。これらのビットの符号化は、表1
において一覧とされている。 ブロック割込みビットBIは、DMAブロック転送完了
し、またDMAコントローラが対応するBSレジスタ3
28でプログラムされたワードの数を移動し終えたかど
うか指示する。対応するBIEビットもまた設定されて
いるならば、割込みは、CPU101に戻って生成され
る。ソフトウェアは、ブロック転送のあと、このフラッ
グをクリアしなければならず、ハードウェアはこのビッ
トをリセットしない。ブロック割込みビットBIと対応
するブロック割込みイネーブル・ビットBIE双方の協
力が、DMAデータ転送の終わりにCPU割込みを生成
するのに必要とされる。対応するDMAリクエストが行
われていないならば、または懸案のDMAリクエストが
あって、転送が終わっていないならば、DMA状態ビッ
トDMASTは「0」である。このビットは、ソフトウ
ェアによってリセットされなければならず、ハードウェ
アはこのビットをリセットしない。
【0048】以上の説明に関して更に以下の項を開示す
る。 (1)少なくとも1つのバス・デバイスがデータを供給
することのできるバス・データ供給デバイスであり、少
なくとも1つのバス・デバイスがデータを受信すること
のできるバス・データ受信デバイスであり、かつ少なく
とも1つのバス・デバイスがデータ転送をリクエストし
て制御することのできるバス・マスタ・デバイスである
複数のバス・デバイスと、前記複数のバス・デバイスの
各々に接続され、バス・マスタ・デバイスの制御のもと
でバス・データ供給デバイスからバス・データ受信デバ
イスへとデータを転送することのできるデータ・バス
と、バス・マスタ・デバイスとして前記データ・バスに
接続される直接メモリ・アクセス・ユニットであって、
ソース・ワード・サイズをストアするソース・ワード・
サイズ・レジスタおよびターゲット・ワード・サイズを
ストアするターゲット・ワード・サイズ・レジスタを含
む前記直接メモリ・アクセス・ユニットとを具備し、前
記直接メモリ・アクセス・ユニットは、前記ソース・ワ
ード・データ・サイズに対応するデータ・サイズで第1
バス・データ供給デバイスからデータをリコールして、
前記ターゲット・ワード・サイズに対応するデータ・サ
イズで第1バス・データ受信デバイスに前記リコールさ
れたデータを供給することによって、第1バス・データ
供給デバイスから第1バス・データ・リコーリング・デ
バイスへと前記第1のバスを介してデータを転送するこ
とができるデータ転送システム。
【0049】(2)前記直接メモリ・アクセス・ユニッ
トは、更に前記ソース・ワード・サイズの前記データ・
バスを介しての前記バス・データ供給デバイスからのデ
ータでローディングされた読み取りデータ・レジスタ
と、前記ターゲット・ワード・サイズで、前記データ・
バスを介して、前記バス・データ受信デバイスへとデー
タを供給する書き込みデータ・レジスタと前記読み取り
データ・レジスタから前記書き込みデータ・レジスタへ
とデータを転送するよう接続され、それによって前記タ
ーゲット・ワード・サイズで前記書き込みデータ・レジ
スタにデータを配列するワード・フォーマッタとを含む
(1)項記載のデータ転送システム。
【0050】(3)前記第1バスへデータを供給するこ
とも、前記第1バスからデータを受信することもできる
第1バス供給/受信デバイスである、少なくとも1つの
第1バス・デバイスを更に具備する(2)項記載のデー
タ転送システム。
【0051】(4)少なくとも1つの第1バス供給/受
信デバイスが、更にデータ転送を制御することのできる
中央処理ユニットからなる(3)項記載のデータ転送シ
ステム。
【0052】(5)少なくとも1つの第1バス供給/受
信デバイスが、更にデータ転送を制御することのできる
直接メモリ・アクセス・ユニットからなる(3)項記載
のデータ転送システム。
【0053】(6)少なくとも1つの第1バス供給/受
信デバイスが、データ転送を制御することのできないメ
モリからなる(3)項記載のデータ転送システム。
【0054】(7)少なくとも1つの第1バス供給/受
信デバイスが、更にデータ転送を制御することのできる
中央処理ユニットであって、前記ソース・データ・サイ
ズ・レジスタおよび前記ターゲット・データ・サイズ・
レジスタにデータをローディングするために前記直接メ
モリ・アクセス・ユニットに接続される前記中央処理ユ
ニットからなる(3)項記載のデータ転送システム。
【0055】(8)前記直接メモリ・アクセス・ユニッ
トが、ソース開始アドレスをストアするソース開始アド
レス・レジスタと、ソース増加サイズをストアするソー
ス増加サイズ・レジスタと、ターゲット開始アドレスを
ストアするターゲット開始アドレス・レジスタと、ター
ゲット増加サイズをストアするターゲット増加サイズ・
レジスタとを更に含み、前記直接メモリ・アクセス・ユ
ニットは、前記ソース開始アドレスで、そしてその後前
記ソース増加サイズだけ異なる連続するアドレスで始ま
る前記第1バス・データ供給デバイスからデータをリコ
ールし、そして前記ターゲット開始アドレスで、そして
その後前記ターゲット増加サイズだけ異なる連続するア
ドレスで開始する前記第1バス・データ受信デバイスに
前記リコールされたデータを供給する(3)項記載のデ
ータ転送システム。
【0056】(9)少なくとも1つの第1バス供給/受
信デバイスが、更にデータ転送を制御することのできる
中央処理ユニットからなり、前記中央処理ユニットは、
前記ソース開始アドレス・レジスタにデータをローディ
ングする前記直接メモリ・アクセス・ユニットに接続さ
れ、前記ソース増加サイズ・レジスタは、前記ターゲッ
ト開始アドレス・レジスタと前記ターゲット増加サイズ
・レジスタとをストアする(8)項記載のデータ転送シ
ステム。
【0057】(10)前記少なくとも1つのバス・マス
タ・デバイス、前記直接メモリ・アクセス・ユニットお
よび前記第1のバスの各々に接続されるバス・アービタ
であって、前記データ・バスでの1つかつ1つのみのバ
ス・マスタ・デバイスへのデータ転送の制御を認める前
記バス・アービタを更に具備し、前記直接メモリ・アク
セス・ユニットは、前記直接メモリ・アクセス・ユニッ
トによって送信されるべき複数のデータ・ワードをスト
アするカウンタ値レジスタと、割込みされること無く送
信されるべきブロック・サイズをストアするブロック・
サイズ・レジスタとを更に含み、前記直接メモリ・アク
セス・ユニットは、前記バス・アービタからのバス制御
を要求し、前記データ・バスでのデータ送信の制御を認
める際に前記直接メモリ・アクセス・ユニットは、その
後、転送されるべき前記複数のデータ・ワードのより少
ない方に等しい量のデータおよび割込みされること無く
送信されるべき前記ブロック・サイズを転送し、その
後、転送されたデータが送信されるべき前記複数のデー
タ・ワードに等しいならば、データ転送を終え、および
データ転送を保留し、前記データ・バスでのデータ転送
の制御を放出し、前記バス・アービタからのバス制御を
再度リクエストする(3)項記載のデータ転送システ
ム。
【0058】(11)少なくとも1つの第1バス供給/
受信デバイスが、更にデータ転送を制御することのでき
る中央処理ユニットからなり、前記中央処理ユニット
は、前記カウンタ値レジスタと前記ブロック・サイズ・
レジスタとにデータをローディングする前記直接メモリ
・アクセス・ユニットに接続される(10)項記載のデ
ータ転送システム。
【0059】(12)前記複数のバス・デバイスが第1
バス・デバイスからなり、前記データ・バスが第1デー
タ・バスからなる第1項記載のデータ転送システムであ
って、少なくとも1つの第2バス・デバイスがデータを
供給することのできる第2バス・データ供給デバイスで
あり、少なくとも1つの第2バス・デバイスがデータを
受信することのできる第2バス・データ受信デバイスで
あり、少なくとも1つの第2バス・デバイスがデータ転
送をリクエストし制御することのできる第2バス・マス
タ・デバイスであり、各第2バス・デバイスが所定のデ
ータ・サイズを有する複数の第2バス・デバイスと、前
記所定のデータ・サイズを有し、前記複数の第2バス・
デバイスの各々に接続され、第2バス・データ供給デバ
イスから第2バス・データ受信デバイスへと第2バス・
マスタ・デバイスの制御のもとでデータを転送すること
のできる第2データ・バスと、前記第1データ・バスと
前記第2データ・バスとに接続されるバス・ブリッジで
あって、前記第1バス・デバイスと前記第2バス・デバ
イスとの間でデータを転送することのできる前記バス・
ブリッジとを更に具備し、前記直接メモリ・アクセス・
ユニットは、第2バス・デバイスから第1バス・デバイ
スへの前記バス・ブリッジを介してのデータ転送のため
に前記ソース・ワード・サイズ・レジスタに前記所定の
データ・サイズをストアし、第1バス・デバイスから第
2バス・デバイスへの前記バス・ブリッジを介してのデ
ータ転送のために前記ターゲット・ワード・サイズ・レ
ジスタに前記所定のデータ・サイズをストアする前記デ
ータ転送システム。
【0060】(13)マイクロコントローラ直接メモリ
・アクセス(DMA)ユニットが、ソース・ワード・サ
イズでソース・アドレスの単一読み取りのためのハード
ウェア・サポートを含むが、独立したターゲット・ワー
ド・サイズでターゲット・アドレスに書き込む。これに
よって、例えば、より大きなワード・サイズでソース・
アドレスの単一読み取りが可能となり、またターゲット
・アドレスへの多数のサブワード・サイズの書き込みが
可能となる。これは、ソース・ワード・サイズ(32
1)、ソース増加サイズ(323)、ターゲット・ワー
ド・サイズ(322)およびターゲット増加サイズ(3
24)の独立した制御レジスタストアによってイネーブ
ルされる。一度に全体のバイトを次のより低いバイト位
置へとシフトするバイト・シフタ/レジスタ(305)
が、大きなワードの、小さなワード・サイズを有する宛
先への転送を可能とする。
【図面の簡単な説明】
【図1】従来のAHBバス・システムを有する従来技術
のアドバンスト・マイクロコントローラ・バス・アーキ
テクチャAMBAのブロック図。
【図2】AMBAアーキテクチャにおける従来技術の単
一マスタ、スレーブおよびアービタの組み合わせの信号
相互接続を示す図。
【図3】この発明のマイクロコントローラDMAのブロ
ック図。
【図4】調整可能ワード・サイズ転送およびアドレス配
列/増加を備えるマイクロコントローラDMA転送フロ
ーを示す図。
【符号の説明】
100 AHBバス 101 CPU 110 AHBバス・アービタ 111 AHBバス・デコーダ 321〜328 DMA制御レジスタ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つのバス・デバイスがデー
    タを供給することのできるバス・データ供給デバイスで
    あり、少なくとも1つのバス・デバイスがデータを受信
    することのできるバス・データ受信デバイスであり、か
    つ少なくとも1つのバス・デバイスがデータ転送をリク
    エストして制御することのできるバス・マスタ・デバイ
    スである複数のバス・デバイスと、 前記複数のバス・デバイスの各々に接続され、バス・マ
    スタ・デバイスの制御のもとでバス・データ供給デバイ
    スからバス・データ受信デバイスへとデータを転送する
    ことのできるデータ・バスと、 バス・マスタ・デバイスとして前記データ・バスに接続
    される直接メモリ・アクセス・ユニットであって、 ソース・ワード・サイズをストアするソース・ワード・
    サイズ・レジスタおよびターゲット・ワード・サイズを
    ストアするターゲット・ワード・サイズ・レジスタを含
    む前記直接メモリ・アクセス・ユニットとを具備し、前
    記直接メモリ・アクセス・ユニットは、前記ソース・ワ
    ード・データ・サイズに対応するデータ・サイズの第1
    バス・データ供給デバイスからデータをリコールして前
    記ターゲット・ワード・サイズに対応するデータ・サイ
    ズの第1バス・データ受信デバイスに前記リコールされ
    たデータを供給することによって、第1バス・データ供
    給デバイスから、第1バス・データ・リコーリング・デ
    バイスへと前記第1のバスを介してデータを転送するこ
    とができるデータ転送システム。
JP2001272031A 2000-09-08 2001-09-07 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション Expired - Lifetime JP4729207B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US23138300P 2000-09-08 2000-09-08
US231383 2000-09-08

Publications (2)

Publication Number Publication Date
JP2002140289A true JP2002140289A (ja) 2002-05-17
JP4729207B2 JP4729207B2 (ja) 2011-07-20

Family

ID=22868999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001272031A Expired - Lifetime JP4729207B2 (ja) 2000-09-08 2001-09-07 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション

Country Status (3)

Country Link
US (1) US6816921B2 (ja)
EP (1) EP1187027A3 (ja)
JP (1) JP4729207B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100357925C (zh) * 2005-11-10 2007-12-26 苏州国芯科技有限公司 一种基于amba总线的8051系列微处理器应用系统

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003281074A (ja) * 2002-03-19 2003-10-03 Fujitsu Ltd ダイレクトメモリアクセス装置
US7000045B2 (en) * 2002-08-28 2006-02-14 Lsi Logic Corporation Byte-enabled transfer for a data bus having fixed-byte data transfer
US9377987B2 (en) * 2002-10-22 2016-06-28 Broadcom Corporation Hardware assisted format change mechanism in a display controller
KR100487199B1 (ko) * 2003-01-17 2005-05-04 삼성전자주식회사 직접 메모리 접근매체의 데이터 전송 장치 및 방법
JP2004227501A (ja) * 2003-01-27 2004-08-12 Yamaha Corp データ転送制御装置および方法
US7287102B1 (en) * 2003-01-31 2007-10-23 Marvell International Ltd. System and method for concatenating data
US7340554B2 (en) * 2003-05-15 2008-03-04 Nxp B.V. USB host controller with DMA capability
US7240180B2 (en) * 2003-06-12 2007-07-03 International Business Machines Corporation Method and system for simultaneously supporting different block sizes on a single hard drive
KR100633742B1 (ko) * 2003-12-23 2006-10-13 한국전자통신연구원 주변 장치로부터 데이터 전송 크기를 자동으로 갱신하는직접 메모리 액세스 제어 장치 및 방법
US20050138233A1 (en) * 2003-12-23 2005-06-23 Intel Corporation Direct memory access control
EP1564643A3 (en) * 2004-02-11 2006-09-20 Intracom S.A. Hellenic Telecommunications & Electronics Industry Synthesizable vhdl model of a multi-channel dma-engine core for embedded bus systems
EP1622009A1 (en) * 2004-07-27 2006-02-01 Texas Instruments Incorporated JSM architecture and systems
US7624209B1 (en) * 2004-09-15 2009-11-24 Xilinx, Inc. Method of and circuit for enabling variable latency data transfers
US20060236000A1 (en) * 2005-04-15 2006-10-19 Falkowski John T Method and system of split-streaming direct memory access
US7444442B2 (en) * 2005-12-13 2008-10-28 Shashank Dabral Data packing in a 32-bit DMA architecture
US8621120B2 (en) * 2006-04-17 2013-12-31 International Business Machines Corporation Stalling of DMA operations in order to do memory migration using a migration in progress bit in the translation control entry mechanism
US20080059674A1 (en) * 2006-09-01 2008-03-06 Jiaxiang Shi Apparatus and method for chained arbitration of a plurality of inputs
JP4747077B2 (ja) * 2006-11-16 2011-08-10 ルネサスエレクトロニクス株式会社 演算回路
US7743186B2 (en) * 2007-04-27 2010-06-22 Atmel Corporation Serialization of data for communication with different-protocol slave in multi-chip bus implementation
US7814250B2 (en) * 2007-04-27 2010-10-12 Atmel Corporation Serialization of data for multi-chip bus implementation
US7769933B2 (en) * 2007-04-27 2010-08-03 Atmel Corporation Serialization of data for communication with master in multi-chip bus implementation
US7761632B2 (en) 2007-04-27 2010-07-20 Atmel Corporation Serialization of data for communication with slave in multi-chip bus implementation
US8977790B2 (en) * 2008-02-15 2015-03-10 Freescale Semiconductor, Inc. Peripheral module register access methods and apparatus
US7912997B1 (en) * 2008-03-27 2011-03-22 Xilinx, Inc. Direct memory access engine
US8918552B2 (en) * 2008-10-24 2014-12-23 International Business Machines Corporation Managing misaligned DMA addresses
US7895381B2 (en) * 2009-02-16 2011-02-22 Himax Media Solutions, Inc. Data accessing system
JP5068300B2 (ja) * 2009-11-24 2012-11-07 インターナショナル・ビジネス・マシーンズ・コーポレーション データフロー及びプロセッサのメモリ共有化ための装置、方法及びプログラム
US8879985B2 (en) * 2011-06-28 2014-11-04 Broadcom Corporation Memory arbitrator for electronics communications devices
US8560807B2 (en) 2011-12-14 2013-10-15 International Business Machines Corporation Accessing a logic device through a serial interface
US9612983B2 (en) * 2013-08-12 2017-04-04 Atmel Corporation Peripheral registers with flexible data width
CN105912485B (zh) * 2016-04-01 2018-12-04 中国科学院计算技术研究所 一种基于AHB-Lite协议的访存队列设计方法及其装置
US20210157520A1 (en) * 2019-11-26 2021-05-27 Micron Technology, Inc. Hardware management granularity for mixed media memory sub-systems
CN111444123B (zh) 2020-03-28 2021-01-15 珠海市一微半导体有限公司 基于硬件加速的spi接口的自动读取控制系统及方法
CN114328322B (zh) * 2022-03-17 2022-08-05 之江实验室 一种可配置功能模式的dma控制器运行方法
CN115617721B (zh) * 2022-11-05 2023-11-21 深圳三地一芯电子股份有限公司 数据传输方法、dma装置及主控芯片
CN117807001B (zh) * 2024-02-29 2024-05-24 山东云海国创云计算装备产业创新中心有限公司 一种基于dma/直接内存访问的任务处理方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000227897A (ja) * 1998-11-30 2000-08-15 Matsushita Electric Ind Co Ltd Dma転送装置及びdma転送システム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4644463A (en) * 1982-12-07 1987-02-17 Burroughs Corporation System for regulating data transfer operations
US5297242A (en) * 1989-12-15 1994-03-22 Nec Corporation DMA controller performing data transfer by 2-bus cycle transfer manner
US6115767A (en) * 1996-03-04 2000-09-05 Matsushita Electric Industrial Co., Ltd. Apparatus and method of partially transferring data through bus and bus master control device
US5754884A (en) * 1996-05-20 1998-05-19 Advanced Micro Devices Method for improving the real-time functionality of a personal computer which employs an interrupt servicing DMA controller
US6385670B1 (en) 1998-06-01 2002-05-07 Advanced Micro Devices, Inc. Data compression or decompressions during DMA transfer between a source and a destination by independently controlling the incrementing of a source and a destination address registers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000227897A (ja) * 1998-11-30 2000-08-15 Matsushita Electric Ind Co Ltd Dma転送装置及びdma転送システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100357925C (zh) * 2005-11-10 2007-12-26 苏州国芯科技有限公司 一种基于amba总线的8051系列微处理器应用系统

Also Published As

Publication number Publication date
EP1187027A3 (en) 2002-08-07
JP4729207B2 (ja) 2011-07-20
US6816921B2 (en) 2004-11-09
US20020062408A1 (en) 2002-05-23
EP1187027A2 (en) 2002-03-13

Similar Documents

Publication Publication Date Title
JP4729207B2 (ja) 調整可能ワード・サイズ転送とアドレス配列/増加を備えたマイクロコントローラdmaオペレーション
US5826106A (en) High performance multifunction direct memory access (DMA) controller
JP5787629B2 (ja) マシンビジョン用マルチプロセッサシステムオンチップ
KR100420706B1 (ko) 가변폭버스의동시적인액세스를이용하는다중프로세서시스템에서i/o제어를위한방법및시스템
KR100296718B1 (ko) 다중프로세서 시스템에서 가변폭 버스를 동시에 액세스하기 위한 방법 및 시스템
JP2012038293A5 (ja)
US7581054B2 (en) Data processing system
JPH10134008A (ja) 半導体装置およびコンピュータシステム
JPH10187533A (ja) キャッシュシステム、プロセッサ及びプロセッサを動作させる方法
US20050232287A1 (en) High speed bus system that incorporates uni-directional point-to-point buses
JPH0642225B2 (ja) Dma機能を有する計算機システム
KR19990029294A (ko) 가변폭 버스의 동시적인 액세스를 이용하는 다중프로세서시스템에서 버스중재를 위한 방법 및 시스템
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
US6742058B2 (en) Memory controller having a multiplexer selecting either second set of input signals or converted signals from first set of input signals by a bus mode input
US6738837B1 (en) Digital system with split transaction memory access
US20030196072A1 (en) Digital signal processor architecture for high computation speed
EP1187032B1 (en) Time-out counter for multiple transaction bus system bus bridge
JP5058116B2 (ja) ストリーミングidメソッドによるdmac発行メカニズム
JPH04280347A (ja) 高速バス装置
US7130943B2 (en) Data processing system with bus access retraction
JP2005165508A (ja) ダイレクトメモリアクセスコントローラ
JPH0227696B2 (ja) Johoshorisochi
JP4684577B2 (ja) 高速の帯域幅のシステムバスを仲裁するためのバスシステム及びその方法
JPH1185673A (ja) 共有バスの制御方法とその装置
JP2000047930A (ja) データ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100713

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101013

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101018

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101112

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110408

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110418

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250