JPH04333952A - Dmaコントロールlsi - Google Patents

Dmaコントロールlsi

Info

Publication number
JPH04333952A
JPH04333952A JP10590091A JP10590091A JPH04333952A JP H04333952 A JPH04333952 A JP H04333952A JP 10590091 A JP10590091 A JP 10590091A JP 10590091 A JP10590091 A JP 10590091A JP H04333952 A JPH04333952 A JP H04333952A
Authority
JP
Japan
Prior art keywords
register
area
address
transfer
memory
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
JP10590091A
Other languages
English (en)
Inventor
Tsutomu Minagawa
勉 皆川
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP10590091A priority Critical patent/JPH04333952A/ja
Publication of JPH04333952A publication Critical patent/JPH04333952A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】[発明の目的]
【0002】
【産業上の利用分野】メモリ間及びメモリとI/O機器
間で大量のデータを転送するDMAコントロールLSI
に関し、特に、2次元領域を含む2次元データの転送を
効率よく行うことができるDMAコントロールLSIに
関する。
【0003】
【従来の技術】まず、従来の1次元データを転送するD
MAコントロールLSIの基本的な機能を述べる。たと
えば、メモリのある領域にあるデータを取り扱うデータ
のブロック転送では、その領域の先頭を指示するアドレ
ス値をレジスタに格納しておき、1バイトの転送が終了
するたびに+1を行えば、次々と連続したアドレスのデ
ータ群の転送を行うことができる。このレジスタをBA
R(byte address register )
やWAR(word address registe
r )などと呼び、一般にはカウンタが使用される。
【0004】メモリの内容を連続して転送するにしても
、その大きさ、つまり範囲は有限であるので、更にもう
一つ、メモリの転送語数を管理するカウンタも必要であ
る。したがって、1ブロックが128バイトとか256
バイトというぐあいに、その計数値をプリセット可能な
カウンタを使用する。このカウンタをBCR(byte
 count register ) やWCR(wo
rd count register)等と呼び、初期
値として所要バイト数を設定しておき、1バイト転送終
了ごとに−1する。そして、その内容が0となったとき
にDMAを終了させれば、先のBARとの機能で1ブロ
ックの転送を完了させることができる。この二つのカウ
ンタを持つことが、DMAコントローラの大きな要素で
ある。
【0005】
【発明が解決しようとする課題】そして、上述した従来
のDMAコントローラでは転送対象となるメモリ領域に
対して発生されるアドレスは連続した1次元領域に限ら
れることになる。たとえば、グラフィックシステムでグ
ラフィックコントローラで管理された2次元領域のフレ
ームメモリ(ローカルメモリ)に対し、ホストCPUが
DMAコントローラを用いてデータ処理を行うようなシ
ステムでは、上記ローカルメモリに対して効率のよいデ
ータ転送が出来なかった。
【0006】次に、図8を参照して、従来のDMAコン
トローラを用いて1次元領域のメインメモリから2次元
領域のローカルメモリへデータの転送を行う場合につい
て説明する。
【0007】図8に示す様に従来のDMAコントローラ
101を用いて1次元領域のメインメモリ103から2
次元領域のローカルメモリ105へデータ転送を行うよ
うな場合、DMAチャネルをA,Bの2チャネルを用い
て行うことになり、Aチャネルはメインメモリ103の
アドレス管理を、Bチャネルはローカルメモリ105の
アドレス管理を行う。DMAコントローラ101のコマ
ンド/パラメータを管理するホストCPU107は次の
手順でDMAコントローラ101を制御する。
【0008】まず第1に、フレームメモリ105の転送
先アドレスをBチャネルのWARレジスタにセットする
。更に、BチャネルのWCRレジスタには2次元領域の
1ラインに相当するワード数をセットする。次に、メイ
ンメモリの転送元アドレスをAチャネルのWARレジス
タにセットし、AチャネルのWCRレジスタにはBチャ
ネルのWCRレジスタと同じ値をセットをする。
【0009】第2に、上記セットの後、ホストCPU1
07はDMAコントローラ101に対して転送開始コマ
ンドをセットする。第3に、転送開始コマンドを受けた
DMAコントローラ101はホストCPU107に対し
てバス権を要求するHRQ信号をアクティブして出力す
る。HRQ信号を受けたホストCPU107はバス権を
与える準備が出来るとDMAコントローラ101に対し
てHLDA信号を出力する。第4に、HLDA信号を受
けたDMAコントローラ101はデータ転送サイクルに
入り、チャネルAで生成されたアドレスでもってメイン
メモリ103の内容を読みだし、DMAコントローラ内
部のレジスタに入れる。次にチャネルBで生成されたア
ドレスでローカルメモリ105へレジスタの内容を書き
込み、両チャネルのWCRレジスタの内容を−1し、両
チャネルのWARレジスタの内容を−1あるいは+1行
う。これらの一連の動作をWCRの内容が0になるまで
繰り返す。第5に転送サイクル終了後DMAコントロー
ラ101はHRQ信号をインアクテブにし、ホストCP
U107に対してバス権を放棄する。
【0010】全データの転送のためには、ローカルメモ
リの2次元領域のY方向である全ラインについてWAR
レジスタで転送のスタートアドレスを変えて上記第1〜
第5まで処理を繰り返すことになる。すなわち、DMA
コントローラ101の動作手順がラインごとのためオー
バヘッドが大きくなり、従来のDMAコントローラ10
1による2次元領域を含むデータ転送では効率のよいデ
ータ転送が出来ないものであった。
【0011】この発明は、上述のごとくの従来の課題を
解決するためになされたもので、その目的は、2次元領
域を含む2次元データの転送を効率よく行うことができ
るDMAコントロールLSIを提供することである。
【0012】[発明の構成]
【0013】
【課題を解決するための手段】上記目的を達成するため
に、本発明は2次元のメモリ領域を有するメモリ間のデ
ータ転送を行うDMAコントロールLSIにして、互い
に直交するXおよびY方向で定義される上記2次元メモ
リ領域の転送エリアのX方向の語数の値と、上記転送エ
リアのY方向のライン数の値と、上記X方向に沿ったメ
モリ領域の幅と、データ転送のスタートアドレスとから
成る所定のパラメータに従って2次元メモリ領域の転送
エリアのアドレスを生成するアドレス生成手段と、上記
アドレス生成手段によって生成された2次元領域の転送
エリアのアドレスに従って上記メモリ間のデータ転送を
行う手段とを具備することを特徴とする。
【0014】
【作用】上述のごとく構成にすれば、各チャンネル毎に
2次元メモリ領域の転送エリアのアドレスを生成するこ
とができるため、少なくとも1方が2次元メモリ領域を
有する2個以上のメモリ間での2次元データの転送を簡
単に行える。
【0015】
【実施例】以下、本発明に従うDMAコントロールLS
Iの一実施例を図面に基づいて説明する。
【0016】図2は、本発明に従うDMAコントロール
LSIを用いたデータ転送システムの一例の全体構成図
であり、DMAコントロールLSI1は、ホストCPU
3よりの指示に基づいて2次元領域のメインメモリ(フ
レームメモリ)5からの2次元データを、グラフィック
コントローラ7で管理された2次元領域のローカルメモ
リ9へシステムバス11を介して転送するように構成さ
れている。
【0017】図1は、上記DMAコントロールLSI1
の内部構成を示したブロック図である。
【0018】上記DMAコントロールLSI1は、本発
明の主な特徴として、データ転送のための複数のチャン
ネル(この実施例では4チャンネル)を有しており、各
チャンネル毎に後述する所定のパラメータにしたがって
2次元領域のアドレスを生成することのできるアドレス
は生成回路13が設けられている。
【0019】さらに、上記DMAコントロールLSI1
は、ホストCPU3よりの指示に従って上記アドレス生
成回路13を制御するアドレス生成制御回路15と、上
記アドレス生成回路13によって生成された2次元領域
のアドレスを対応するフレームメモリ5,9へシステム
バス11のアドレスバス17へ送るためのI/Oバッフ
ァ19およびコマンド制御部21と、上記フレームメモ
リ5,9へ送られたアドレスに従ってシステムバス11
のデータバス23を介して転送されるデータを記憶する
ためのFIFOレジスタ25とを有している。また、上
記DMAコントロールLSI1は、さらに、データ転送
におけるデータバス23の制御を行うためのタイミング
コントローラ27,プライオリティコントローラ29,
コマンドレジスタ31,マスクレジスタ33,リクエス
トレジスタ35,モードレジスタ37,ステータスレジ
スタ39および、I/Oバッファ41を有している。
【0020】次に、図1を参照して本発明の要部である
アドレス生成回路13について説明する。
【0021】上記アドレス生成回路13は、図3に示す
如く、転送メモリにおける2次元領域の転送エリアのX
方向の語数の値X1 と、上記転送エリアのX方向と直
交するY方向のライン数の値Y1 と、上記転送メモリ
のメモリ幅Xo と、データ転送のスタートアドレスと
から成るパラメータに基づいて2次元領域のアドレスを
生成するように構成されている。すなわち、上記アドレ
ス生成回路13は、上記2次元転送エリアのX方向の語
数の値X1 をセットするためのXWCレジスタ51と
、上記転送エリアのY方向のライン数の値Y1 をセッ
トするためのYLCレジスタ53と、上記転送メモリの
メモリ幅Xo をセットするためのMWレジスタ55と
、データ転送のスタートアドレスをセットするためのW
ARレジスタ57と、上記MWレジスタ55にセットさ
れたメモリ幅Xo と上記WARレジスタ57にセット
されたスタートアドレスとから上記転送エリアのY方向
のライン単位のスタートアドレスを計算するための加算
器(あるいは減算器)59とを有している。また、上記
アドレス生成回路13は、さらに、上記WARレジスタ
57にセットされた転送アドレス毎にカウントされるア
ドレスカウンタ61と、上記XWCレジスタ51にセッ
トされた語数の値X1 をカウントするカウンタ63と
を有している。
【0022】また、上記XWCレジスタ51とYLCレ
ジスタ53とで上記2次元転送エリアのサイズを管理す
る様になっている。
【0023】次に、上記DMAコントロールLSIの動
作について図1および図4を参照して説明する。
【0024】この場合、メインメモリ5の2次元領域か
らローカルメモリ9の2次元領域へのデータ転送を行う
ものでDMAコントロールLSIの2チャンネルを使用
する。すなわち、チャンネル1のアドレス生成回路13
とチャンネル2のアドレス生成回路13とを使用してア
ドレス生成を行う。ここでは、チャンネル1のアドレス
生成回路13がソース領域(メインメモリ5の2次元領
域)のアドレス生成を行い、チャンネル2のアドレス生
成回路13がディステネーション領域(ローカルメモリ
9の2次元領域)のアドレス生成を行う様になっている
【0025】まず初めに、ホストCPU3の指示に従い
アドレス生成制御回路15は、上記チャンネル1および
2の各アドレス生成回路13のXWCレジスタ51,Y
LCレジスタ53,MWレジスタ55,WARレジスタ
57に所定のパラメータすなわち上記転送エリアのX方
向の語数X1 ,上記転送エリアのY方向のライン数Y
1 ,上記転送メモリのメモリ幅Xo ,およびデータ
転送のスタートアドレスをセットする。ここで、両チャ
ンネルのXWCレジスタ51のX方向の語数Xo とY
LCレジスタ53のY方向のライン数Y1 の値は通常
同じ値とする(図4参照)。
【0026】次に、ホストCPU3は、DMAコントロ
ールLSI1のプライオリティコントローラ29へ転送
開始コマンドをセットし、それに対して上記プライオリ
ティコントローラ29は、ホストCPU3に対してバス
権を要求するHRQ信号を出力する。上記HRQ信号を
受けたホストCPU3は、バス権を与える準備が出来た
時点でプライオリティコントローラ29に対してHLD
A信号を出力する。
【0027】上記HLDA信号を受けたDMAコントロ
ールLSIは、データ転送サイクルに入り、チャンネル
1のアドレス生成回路13のWARレジスタ57にセッ
トされたソース領域のスタートアドレスに従ってソース
領域(転送エリア)よりのデータがデータバス23およ
びI/Oバッファ41を介してFIFOレジスタ25へ
書き込まれる。次に、上記アドレスカウンタ61がカウ
ントアップ(+1)又はカウントダウン(−1)され、
次のスタートアドレスに従って、次のデータがソース領
域より読み出されてFIFOレジスタ25に書き込まれ
る。
【0028】上述のような動作が繰り返され、FIFO
レジスタ25内に第1のラインの複数のデータが順次書
き込まれていく(図4参照)。上記書込みにおいて、チ
ャンネル1のアドレス生成回路13のXWCレジスタ5
1の値(X方向の語数X1 )は、カウンタ63によっ
て上記データの書き込みごとにカウントダウン(−1)
される。
【0029】次に、上記書込みと並行して、DMAコン
トロールLSIは,FIFOレジスタ25内に書き込ま
れたデータをディステネーション領域であるローカルメ
モリ9の転送エリアへ書き移す処理へ移る。まず、チャ
ンネル2のアドレス生成回路13のWARレジスタにセ
ットされたスタートアドレスが読み出され、そのスター
トアドレスに従ってFIFOレジスタ25よりの第1の
ラインのデータがデータバス23およびI/Oバッファ
41を介してローカルメモリ9のディステネーション領
域へ書き移される。上記書き移しの処理ごとにチャンネ
ル2のアドレス生成回路13のWARレジスタ57のア
ドレスカウンタ61がカウントアップ(+1)又はカウ
ントダウン(−1)され、順次書き移し処理が行われる
【0030】上記書き込み処理および書き移し処理は、
チャンネル1のアドレス生成回路13のXWCレジスタ
51の値(X方向の語数X1 )がカウンタ63によっ
て0になるまで繰り返される。上記X方向の語数X1 
が0になると、上記ソース領域およびディステネーショ
ン領域の2次元転送エリアの第2のラインのスタートア
ドレスを計算するため、チャンネル1および2の各アド
レス生成回路13の加算器59は、WARレジスタ57
にセットされた前ライン(第1のライン)のスタートア
ドレスと、MWレジスタ55にセットされたメモリ幅と
を加算(あるいは減算)する。上記加算結果は、アドレ
スカウンタ61とWARレジスタ57とにセットされ、
上記第2のラインの書き込みおよび書き移し処理が実行
される。上記加算が行われると、YLCレジスタ53の
値(Y方向ライン数Y1 )がカウントダウン(−1)
され、上記YLCレジスタ53の値が0になるまで(す
なわち最後のラインが終わるまで)上記書き込みおよび
書き移し処理が行われる。上記YLCレジスタ53の値
が0になると、転送サイクルが終了し、DMAコントロ
ールLSIは、前記HRQ信号をインアクティブとし、
ホストCPU3に対してバス権を放棄する。
【0031】以上の動作説明の如くに、本発明に従うD
MAコントロールLSIにおいては、従来の装置で2次
元転送を行うのに比べて動作が簡単である。
【0032】また、本実施例は、2次元領域→2次元領
域の転送の場合について説明したが、図5および図6に
示す如くに、1次元領域→2次元領域の転送および2次
元領域→1次元領域の転送も上記実施例装置の使用方法
を若干変更することによって実行できることはいうまで
もないことである。
【0033】さらに、本実施例によれば図7に例示する
ごとくに、種々の転送の組合わせを行うことができるこ
とはいうまでもない。
【0034】
【発明の効果】以上説明したように、本発明では、DM
AコントロールLSIにおいて、所定のパラメータに従
って2次元領域のアドレスを生成するアドレス生成回路
を設けているため、2次元のメモリ領域に対しても効率
良くデータの転送ができる。
【図面の簡単な説明】
【図1】本発明を実施したDMAコントロールLSIの
内部ブロック図である。
【図2】図1に示すDMAコントロールLSIの使用さ
れるシステムの全体ブロック図である。
【図3】2次元領域のアドレス生成のための所定のパラ
メータの説明図である。
【図4】図1に示すDMAコントロールLSIの動作を
説明するための図である。
【図5】1次元領域から2次元領域へのデータ転送の説
明図である。
【図6】2次元領域から1次元領域へのデータ転送の説
明図である。
【図7】種々の転送の組合せ例を示す説明図である。
【図8】従来における1次元領域から2次元領域へのデ
ータ転送の説明図である。
【符号の説明】
1  DMAコントロールLSI 3  ホストCPU 5  メインメモリ 9  ローカルメモリ 13  アドレス生成回路 25  FIFOレジスタ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】  少なくとも2次元のメモリ領域を有す
    るメモリに対してデータの転送を行うDMAコントロー
    ルLSIにして、所定のパラメータに従って2次元メモ
    リ領域の転送エリアのアドレスを生成するアドレス生成
    手段と、上記アドレス生成手段によって生成された2次
    元領域の転送エリアのアドレスに従って上記メモリに対
    してデータ転送を行う手段とを具備することを特徴とす
    るDMAコントロールLSI。
  2. 【請求項2】  前記所定のパラメータが、互いに直交
    するXおよびY方向で定義される上記2次元領域の転送
    エリアのX方向の語数の値と、上記転送エリアのY方向
    のライン数の値と、上記X方向に沿ったメモリ領域の幅
    ,データ転送のスタートアドレスとからなることを特徴
    とする請求項1記載のDMAコントロールLSI。
  3. 【請求項3】  前記アドレス生成手段が、上記転送エ
    リアのX方向の語数の値をセットするためのXWCレジ
    スタと、上記転送エリアのY方向のライン数の値をセッ
    トするためのYLCレジスタと、上記X方向に沿ったメ
    モリ領域の幅をセットするためのMWレジスタと、デー
    タ転送のスタートアドレスをセットするためのWARレ
    ジスタと、上記MWレジスタにセットされたメモリ幅と
    上記WARレジスタにセットされたスタートアドレスと
    から上記転送エリアのY方向のライン単位のスタートア
    ドレスを計算するための加算器と、上記WARレジスタ
    にセットされたスタートアドレス毎にカウントされるア
    ドレスカウンタと、上記XWCレジスタにセットされた
    語数の値毎にカウントされるカウンタとから成ることを
    特徴とする請求項2記載のDMAコントロールLSI。
JP10590091A 1991-05-10 1991-05-10 Dmaコントロールlsi Pending JPH04333952A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10590091A JPH04333952A (ja) 1991-05-10 1991-05-10 Dmaコントロールlsi

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10590091A JPH04333952A (ja) 1991-05-10 1991-05-10 Dmaコントロールlsi

Publications (1)

Publication Number Publication Date
JPH04333952A true JPH04333952A (ja) 1992-11-20

Family

ID=14419762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10590091A Pending JPH04333952A (ja) 1991-05-10 1991-05-10 Dmaコントロールlsi

Country Status (1)

Country Link
JP (1) JPH04333952A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096312B2 (en) 2002-03-20 2006-08-22 Seiko Epson Corporation Data transfer device and method for multidimensional memory
US9996500B2 (en) 2011-09-27 2018-06-12 Renesas Electronics Corporation Apparatus and method of a concurrent data transfer of multiple regions of interest (ROI) in an SIMD processor system
JP2023513652A (ja) * 2020-02-14 2023-04-03 グーグル エルエルシー マルチレベルマルチストライドを有するダイレクトメモリアクセスアーキテクチャ

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096312B2 (en) 2002-03-20 2006-08-22 Seiko Epson Corporation Data transfer device and method for multidimensional memory
US9996500B2 (en) 2011-09-27 2018-06-12 Renesas Electronics Corporation Apparatus and method of a concurrent data transfer of multiple regions of interest (ROI) in an SIMD processor system
JP2023513652A (ja) * 2020-02-14 2023-04-03 グーグル エルエルシー マルチレベルマルチストライドを有するダイレクトメモリアクセスアーキテクチャ
JP2024105255A (ja) * 2020-02-14 2024-08-06 グーグル エルエルシー マルチレベルマルチストライドを有するダイレクトメモリアクセスアーキテクチャ
US12287745B2 (en) 2020-02-14 2025-04-29 Google Llc Direct memory access architecture with multi-level multi-striding

Similar Documents

Publication Publication Date Title
JPH04314163A (ja) バッファ管理方式
JP4531223B2 (ja) 集合的メモリを共有する複数のプロセッサを備えたデータ処理装置
JPH04333952A (ja) Dmaコントロールlsi
JPH10116224A (ja) 遠隔メモリ間でデータを移動する回路、およびそのような回路を含む計算機
JP2828643B2 (ja) 直線描画装置
JPH04236649A (ja) データ転送装置
JP2594611B2 (ja) Dma転送制御装置
JP3765852B2 (ja) データ処理装置および方法
JP3553815B2 (ja) 演算装置
JP2552025B2 (ja) データ転送方式
JPH0310354A (ja) データ転送制御システム
JPH0721785B2 (ja) 周辺制御装置
JP2797653B2 (ja) 画像データ処理装置
JPH0387941A (ja) 分散データベース処理方式
JPH06332851A (ja) データ転送方式
JPH02181277A (ja) 画像メモリ用アドレス制御回路
JPH05250332A (ja) 電子機器
JPH0337227B2 (ja)
JPH01114961A (ja) ダイレクトメモリアクセス制御装置
JPH03144779A (ja) 画像処理システム
JPS62284547A (ja) 通信制御装置
JPH01123350A (ja) データ転送装置
JPH06110773A (ja) メモリ制御装置
JPH02280246A (ja) 情報処理装置
JPH0520140U (ja) 情報処理装置