| 【発明の名称】 |
データ転送装置 |
| 【発明者】 |
【氏名】吉松 尚紀
【氏名】長尾 敦
|
| 【要約】 |
【課題】CPUに負荷をかけることなく、不連続なアドレスに散在するデータの転送制御を行うことが可能なデータ転送装置を提供することを目的とする。
【解決手段】アドレスカウンタ70は、カウントしたアドレス値をメモリ100とLCDドライバ120に出力し、メモリ100は、アドレスカウンタ70が出力するアドレス値に対応する画像データをLCDドライバ120に出力する。比較器50は、レジスタ40に設定される表示したい画像データのアドレス幅Nと、カウンタ20のカウント値とが一致すると、アドレスカウンタ70に対して、その出力とレジスタ30に設定される、表示しない画像データのアドレス幅(X−N)の加算結果を加算器60より取り込ませ、この加算結果からアドレス値のカウントを継続させることにより、表示しない画像データのアドレス幅(X−N)だけカウントするアドレス値をオフセットさせるようにしたものである。 |
【特許請求の範囲】
【請求項1】 メモリバスを通じてDMA転送によりデータの転送制御を行うデータ転送装置において、所定の周期のクロックを生成するクロック生成手段と、このクロック生成手段にて生成したクロックに同期して、前記データを転送するための連続したアドレス情報を順次生成するアドレス情報生成手段と、このアドレス情報生成手段にて連続して生成したアドレス情報の数を監視し、この数が予め設定した第1の設定数に達した場合に、前記アドレス情報生成手段にて生成するアドレス情報を、予め設定した第2の設定数だけオフセットさせるアドレス情報制御手段とを具備することを特徴とするデータ転送装置。 【請求項2】 前記アドレス情報生成手段は、予め設定したアドレス値より前記クロック生成手段にて生成したクロックに同期してアドレス情報を生成するアドレスカウンタであって、前記アドレス情報制御手段は、第1の設定数を記憶する第1のレジスタと、第2の設定数を記憶する第2のレジスタと、この第2のレジスタに記憶される第2の設定値と、前記アドレス情報生成手段にて生成したアドレス情報の値を加算する加算手段と、前記クロック生成手段にて生成したクロック数をカウントすることより、前記アドレス情報生成手段にて連続して生成したアドレス情報の数をカウントするカウンタと、前記第1のレジスタに記憶される第1の設定値と、前記カウンタのカウント値を比較する比較手段と、この比較手段の比較の結果、前記アドレス情報生成手段にて連続して生成したアドレス情報の数が前記第1の設定数と一致した場合に、前記アドレス情報生成手段に対して前記加算手段の加算結果の値からアドレス情報を生成させるアドレス設定手段とを備えることを特徴とする請求項1に記載のデータ転送装置。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】この発明は、一般的なメモリバスシステムで用いられるデータ転送装置に関する。 【0002】 【従来の技術】周知のように、メモリやデバイスに対するデータの転送制御には、CPUを用いる制御と、DMAC(Direct Memory Access Controller)を用いる制御がある。 【0003】CPUを用いた制御では、CPUが■命令のフェッチ、■メモリまたはデバイスからデータのリード、■メモリまたはデバイスにデータをライトというステップを踏む。 【0004】一方、DMAを用いた制御では、CPUを用いないため、前述の■の命令フェッチがなく、アドレスが連続したデータであれば、CPUの割り込み制御もなく、データの転送を高速に行うことができる。 【0005】ところで、画像データのような2次元データを一部だけ読み出して、LCD(Liquid Crystal Display)などに表示する場合には、メモリやデバイス上の不連続なアドレスに散在するデータを転送する制御を行う。 【0006】このような場合には、メモリやデバイスから、まずLCD画面の横幅分の連続したデータを読み出した後、読み出し位置をある一定の間隔で離れたアドレスにジャンプし、再びLCD画面の横幅分の連続したデータを読み出すといった制御を繰り返して行う。 【0007】このような制御は、CPUを用いる場合、連続したアドレスのデータを読み出す場合と同様の制御により実現できるが、読み出し中にCPUは稼働し続けることになり、CPUには常に負荷が生じて多くの電力を消費することになる。また、DMAを用いる場合は、離れたアドレスのデータを読み出すため、アドレス指定のためにCPUによる割り込み制御が必要となってくる。 【0008】すなわち、従来のデータ転送装置では、不連続なアドレスに散在するデータを読み出す場合には、CPUを用いた制御でも、DMAを用いた制御でも、CPUに負荷が生じることになる。 【0009】 【発明が解決しようとする課題】従来のデータ転送装置では、DMAによる制御であっても、不連続なアドレスに散在するデータを転送する場合には、CPUによる割り込み制御が必要となり、CPUに負荷が生じることになるという問題があった。 【0010】この発明は上記の問題を解決すべくなされたもので、転送対象となるデータが不連続なアドレスに散在するデータであっても、一定の間隔で離れたアドレスに存在する一定長のデータであれば、CPUに負荷をかけることなく、データ転送を行うことが可能なデータ転送装置を提供することを目的とする。 【0011】 【課題を解決するための手段】上記の目的を達成するために、この発明は、メモリバスを通じてDMA転送によりデータの転送制御を行うデータ転送装置において、所定の周期のクロックを生成するクロック生成手段と、このクロック生成手段にて生成したクロックに同期して、データを転送するための連続したアドレス情報を順次生成するアドレス情報生成手段と、このアドレス情報生成手段にて連続して生成したアドレス情報の数を監視し、この数が予め設定した第1の設定数に達した場合に、アドレス情報生成手段にて生成するアドレス情報を、予め設定した第2の設定数だけオフセットさせるアドレス情報制御手段とを具備して構成するようにした。 【0012】上記構成のデータ転送装置では、DMA転送によって転送対象となるデータのアドレス指定を行う際に、転送対象となるデータのアドレス指定を予め設定した第1の設定数だけ連続して指定し、その数が第1の設定数に達すると第2の設定数だけオフセットさせたアドレスよりアドレス指定を再び開始するようにしている。 【0013】したがって、上記構成のデータ転送装置によれば、転送対象となるデータが不連続なアドレスに散在するデータであっても、一定の間隔で離れたアドレスに存在する一定長のデータであれば、CPUに負荷をかけることなく、DMA転送により行うことができる。 【0014】 【発明の実施の形態】以下、図面を参照して、この発明の一実施形態について説明する。図1は、この発明の一実施形態に係わるデータ転送装置の構成を示すもので、DMA回路を構成している。 【0015】このデータ転送装置は、クロック生成部10、カウンタ20、レジスタ30,40、比較器50、加算器60、アドレスカウンタ70、NOR回路80、アドレスバス90、メモリ100、データバス110、LCDドライバ120、LCD130、CPU200を備えている。 【0016】クロック生成部10は、当該データ転送装置の動作用に、予め設定された周波数のクロックを生成する。カウンタ20は、クロック生成部10にて生成されるクロック数をカウントするもので、カウント値は、比較器50に出力される。なお、カウンタ20は、後述するNOR回路80の出力によりカウント値がリセットされる。 【0017】レジスタ30は、CPU200により、表示しない画像データのアドレス幅が設定される。レジスタ40は、CPU200により、表示する画像データの1行分のアドレス幅が設定される。 【0018】比較器50は、レジスタ40に設定される値と、カウンタ20のカウント値を比較するもので、この比較の結果、両者が一致した場合にのみHレベルの信号を出力し、一致しない場合にはLレベルの信号を出力する。 【0019】加算器60は、後述するアドレスカウンタ70より出力されるアドレス値とレジスタ40に設定される値を加算し、この加算結果をアドレスカウンタ70に入力する。 【0020】アドレスカウンタ70は、クロック生成部10にて生成されるクロックを用いて、CPU200により設定される開始アドレスより、アドレス値をカウントするもので、このカウント値は、アドレスバス90を通じてメモリ100とLCDドライバ120に出力されるとともに、加算器60に出力される。 【0021】また、アドレスカウンタ70は、比較器50からHレベルの信号が入力された場合に、加算器60の加算結果を取り込み、以後、この加算結果よりカウントを開始する。 【0022】NOR回路80は、CPU200と比較器50とのうち、少なくとも一方からHレベルの信号が入力された場合に限り、カウンタ20のカウント値をリセットする。 【0023】メモリ100は、LCD130に表示するための画像データ、縦Yピクセル×横Xピクセルの画像データを記憶する半導体メモリで、ここでは、図2のメモリマップに示すように、LCD130上に縦Mピクセル×横Nピクセルのイメージを表示するために、1行分の画像データ(Nピクセル分)が(X−N)ピクセル分の画像データに相当する間隔を空けて、M行分記憶されているものとする。すなわち、表示対象となる画像データが、メモリ100上に不連続なアドレスに散在している。 【0024】また、メモリ100は、記憶する画像データのうち、アドレスバス90を通じて、アドレスカウンタ70より入力されるアドレス値に対応する画像データをデータバス110を通じてLCDドライバ120に出力する。 【0025】LCDドライバ120は、LCD130の表示制御を行うドライバで、データバス110を通じてメモリ100から入力される画像データを、アドレスバス90を通じてCPU200より通知されるアドレスに対応するLCD130上の位置に表示する。LCD130は、図3に示すように、縦Yピクセル×横Xピクセルの画像データが表示可能な表示領域を持つ。 【0026】CPU200は、当該データ転送装置の各部を統括して制御するもので、例えば表示開始時においては、前述したように、NOR回路80を通じたカウンタ20のリセット制御、表示したい画像データのサイズに応じてレジスタ30,40に対するアドレス幅の設定制御、およびアドレスカウンタ70に対する開始アドレスの設定制御など行う。 【0027】次に、上記構成のデータ転送装置の動作について説明する。なお、ここでは、メモリ100において不連続なアドレスに存在する画像データを読み出して、LCD130上に縦Mピクセル×横Nピクセルのイメージを表示する場合の制御動作について説明する。 【0028】まず、CPU200が表示したい画像データのサイズに応じてレジスタ30,40に対するアドレス幅の設定制御を行う。ここでは、メモリ100のメモリマップが図2に示すようなものであることより、レジスタ30には、表示しない画像データのアドレス幅(X−N)が設定され、レジスタ40には、表示する画像データの1行分のアドレス幅Nが設定される。そして、CPU200は、アドレスカウンタ70に開始アドレスの設定制御を行った後、NOR回路80を通じてカウンタ20のリセット制御を行う。 【0029】以上のような初期設定がなされると、アドレスカウンタ70は、クロック生成部10にて生成されるクロックを用いて、CPU200により設定される開始アドレスより、アドレス値のカウントを開始し、カウントしたアドレス値をアドレスバス90を通じてメモリ100とLCDドライバ120に出力する。 【0030】メモリ100では、アドレスカウンタ70より通知されるアドレス値に対応する画像データを、データバス110を通じてLCDドライバ120に出力する。これに対して、LCDドライバ120は、入力される画像データを、アドレスバス90を通じてアドレスカウンタ70より通知されるアドレス値に対応するLCD130上の位置に表示する。 【0031】このような動作が繰り返される一方で、カウンタ20はクロック生成部10にて生成されるクロック数をカウントし、比較器50は、レジスタ40に設定される値と、カウンタ20のカウント値を比較する。 【0032】やがて、レジスタ40に設定される値と、カウンタ20のカウント値が一致すると、比較器50は、Hレベルの信号を出力して、NOR回路80を通じてカウンタ20のカウント値をリセットする。 【0033】また、上記Hレベルの信号は、アドレスカウンタ70に出力され、これに対してアドレスカウンタ70は、自己の出力とレジスタ30に設定される値の加算結果を加算器60より取り込み、以後、この加算結果からアドレスのカウントを継続する。 【0034】これにより、アドレスカウンタ70にてカウントされるアドレス値は、表示しない画像データのアドレス幅(X−N)だけオフセットしたアドレスとなり、メモリ100からは次の行の画像データが読み出され、LCD130に表示されることになる。 【0035】以上のように、上記構成のデータ転送装置では、表示対象となる行の画像データをDMA転送により読み出し、次行の画像データについては、読み出し位置を示すアドレス情報を予め設定した分だけオフセットさせることにより、次行の画像データの読み出し開始アドレスを設定して転送し、これを繰り返すことにより表示対象となる画像データ全てを転送するようにしている。 【0036】したがって、上記構成のデータ転送装置によれば、表示対象となる画像データが不連続なアドレスに散在するデータであっても、一定の間隔で離れたアドレスに存在する一定長の画像データであれば、CPUに負荷をかけることなく、データ転送を行うことができる。 【0037】尚、この発明は上記実施の形態に限定されるものではない。その他、この発明の要旨を逸脱しない範囲で種々の変形を施しても同様に実施可能であることはいうまでもない。 【0038】 【発明の効果】以上述べたように、この発明では、DMA転送によって転送対象となるデータのアドレス指定を行う際に、転送対象となるデータのアドレス指定を予め設定した第1の設定数だけ連続して指定し、その数が第1の設定数に達すると第2の設定数だけオフセットさせたアドレスよりアドレス指定を再び開始するようにしている。 【0039】したがって、この発明によれば、転送対象となるデータが不連続なアドレスに散在するデータであっても、一定の間隔で離れたアドレスに存在する一定長のデータであれば、CPUに負荷をかけることなく、DMA転送により行うことが可能なデータ転送装置を提供できる。
|
| 【出願人】 |
【識別番号】000003078 【氏名又は名称】株式会社東芝
|
| 【出願日】 |
平成12年9月27日(2000.9.27) |
| 【代理人】 |
【識別番号】100058479 【弁理士】 【氏名又は名称】鈴江 武彦 (外6名)
|
| 【公開番号】 |
特開2002−108802(P2002−108802A) |
| 【公開日】 |
平成14年4月12日(2002.4.12) |
| 【出願番号】 |
特願2000−294978(P2000−294978) |
|