説明

集積回路装置、マイクロコンピュータ及び電子機器

【課題】ハードウエアの増加を招くことなく、1つのチャネルでDMA分割転送が可能な集積回路装置、マイクロコンピュータ及び電子機器の提供を目的とする。
【解決手段】DMA転送制御レジスタ110と、DMA転送制御レジスタの値に基づき転送対象データを複数のブロックに分割してブロック単位でDMA転送を行うように制御するDMA転送制御回路130を含む。DMA転送制御レジスタは110、ブロックデータサイズ格納レジスタ120と、アドレスオフセットレジスタ122とを含み、前記DMA転送制御回路130は、データ転送量をカウントして、データ転送量がブロックデータサイズ値に達したら、アドレスオフセット値に基づきオフセットアドレスを付加して、次のブロックの転送先のアドレスを演算する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリ間のDMA転送を制御する集積回路装置、マイクロコンピュータ及び電子機器に関する。
【背景技術】
【0002】
一般に、I/O装置とメモリ間又は複数のメモリ間のデータ転送には、CPUを介さず、高速にデータを転送するDMAコントローラが広く用いられている。この種のDMAコントローラとしては、例えば各DMAチャンネル毎にデータ長が設定され、データを読出す転送元アドレス及びデータを書込む転送先アドレスが指定され、自動アドレス更新機能により、連続転送処理を実行するものがある。 従来のDMAデータ転送方式では大容量のデータでも1回のDMA転送で実施することが多かった。また分割転送を行う場合には、例えば複数のチャネルを使用し複数のチャネルを連結してブロック転送を行うか、スケジュールテーブルを使用し、必要な転送内容をスケジュールテーブルに設定することで転送を行っていた。
【特許文献1】特開平7−306825号
【発明の開示】
【発明が解決しようとする課題】
【0003】
ところが従来のDMAデータ転送方式において1回の転送で実施している場合には転送を行う際、内部バスをDMAデータ転送で確保してしまい、他のユニットが内部バスを使用したい場合に待たせてしまうという問題点があった。
【0004】
また分割転送を複数のチャネルを使用して実現する場合には、分割したい数量のDMAデータに必要なチャネルを用意する必要があった。
【0005】
また分割スケジュールテーブルで実施している場合には、専用のスケジュールテーブルが必要であり、HWの増加及びスケジュール管理するための論理回路が必要となっていた。
【0006】
本発明は以上のような問題点に鑑みてなされたものであり、その目的とするところは、ハードウエアの増加を招くことなく、1つのチャネルでDMA分割転送が可能な集積回路装置、マイクロコンピュータ及び電子機器の提供を目的とする。
【課題を解決するための手段】
【0007】
(1)本発明は、
DMA転送制御レジスタと、DMA転送制御レジスタの値に基づき転送対象データを複数のブロックに分割してブロック単位でDMA転送を行うように制御するDMA転送制御回路を含む集積回路装置であって、
前記DMA転送制御レジスタは、
分割した各ブロックのデータサイズが格納されたブロックデータサイズ格納レジスタと、
ブロック単位に付加するオフセットアドレスが格納されたアドレスオフセットレジスタとを含み、
前記DMA転送制御回路は、
データ転送量をカウントして、データ転送量がブロックデータサイズ格納レジスタに格納されているブロックデータサイズ値に達したら、1ブロック分のデータ転送終了を判断するブロックデータ転送終了検出回路と、
1ブロック分のデータ転送終了を検出すると、前記アドレスオフセットレジスタに格納されたアドレスオフセット値に基づきオフセットアドレスを付加して、次のブロックの転送先のアドレスを演算する転送先アドレス演算回路を含むこと
特徴とする。
【0008】
ここでDMA転送制御レジスタはDMA転送を行うチャネル毎に設定するものである。
【0009】
本発明によれば、転送対象データをブロックデータサイズ格納レジスタに格納されたデータサイズのブロックに分割し、各ブロック単位でアドレスオフセットレジスタに格納されたアドレスオフセット分だけオフセットを加えたアドレスにDMA転送を行うことができる。
【0010】
このように本発明によればハードウエア規模の増大を招くことなしに、1つのチャネルでDMAの分割転送を実現することができる。
【0011】
しかもブロックデータサイズ格納レジスタとアドレスオフセットレジスタに所望の値(分割データサイズとヘッダのサイズ)指定するだけで、自動的にヘッダ領域が確保され、各ブロック単位でヘッダを付加する場合等に便利である。
【0012】
(2)本発明の集積回路装置は、
前記転送制御レジスタは、
ブロック単位でバスの占有のみなおしの有無を管理するためのブロック管理情報が格納されたコントロールレジスタをさらに含み、
前記DMA転送制御回路は、
コントロールレジスタに格納されたブロック管理情報に基づき、ブロック単位でバスの占有のみなおしの有無を制御する回路とを含むことを特徴とする。
【0013】
コントロールレジスタは、DAM転送制御を行う際に使用する各種コントロールデータが格納されるレジスタの一部をブロック管理情報用に使用する構成でもよい。
【0014】
本発明によれば、ブロック単位でバスの占有の見直し行うことを指示する値をコントロールレジスタの所定の位置(ブロック管理情報の位置)に設定することで、ブロック転送の合間に内部バスを開放することができるので、内部バスの有効活用を図ることができる。
【0015】
(3)本発明の集積回路装置は、
DMA転送制御レジスタと、DMA転送制御レジスタの値に基づき転送対象データを複数のブロックに分割してブロック単位でDMA転送を行うように制御するDMA転送制御回路を含む集積回路装置であって、
前記DMA転送制御レジスタは、
分割した各ブロックのデータサイズが格納されたブロックデータサイズ格納レジスタと、
ブロック単位でバスの占有のみなおしの有無を管理するためのブロック管理情報が格納されたコントロールレジスタをさらに含み、
前記DMA転送制御回路は、
データ転送量をカウントして、データ転送量がブロックデータサイズ格納レジスタに格納されているブロックデータサイズ値に達したら、1ブロック分のデータ転送終了を判断するブロックデータ転送終了検出回路と、
1ブロック分のデータ転送終了を検出すると、コントロールレジスタに格納されたブロック管理情報に基づき、ブロック単位でバスの占有のみなおしの有無を制御する回路とを含むことを特徴とする。
【0016】
コントロールレジスタは、DAM転送制御を行う際に使用する各種コントロールデータが格納されるレジスタの一部をブロック管理情報用に使用する構成でもよい。
【0017】
本発明によれば、ブロック単位でバスの占有の見直し行うことを指示する値をコントロールレジスタの所定の位置(ブロック管理情報の位置)に設定することで、ブロック転送の合間に内部バスを開放することができるので、内部バスの有効活用を図ることができる。
【0018】
(4)本発明の集積回路装置は、
前記転送制御レジスタは、
転送対象データサイズが格納されたデータサイズレジスタをさらに含み、
前記DMA転送回路は、
データ転送量をカウントして、データ転送量がデータサイズレジスタに格納されているデータサイズ値に達したら転送対象データの転送終了を検出するデータ転送終了検出回路をさらに含み、
前記転送先アドレス演算回路は、
転送対象データの転送終了が検出されるまで、次のブロックがあると判断して、次ブロックの転送先のアドレスを演算することを特徴とする。
【0019】
(5)本発明の集積回路装置は、
前記転送制御レジスタは、
データの転送元アドレスが格納された転送元アドレスレジスタと、
データの転送先アドレスが格納された転送先アドレスレジスタとをさらに含み、
前記DMA転送制御回路は、
データ転送量に応じて転送元アドレスレジスタ値を更新する転送元アドレス更新回路とをさらに含み、
前記転送先アドレス演算回路は、
データ転送量に応じて転送先アドレスレジスタ値を更新するとともに、ブロック単位でオフセットアドレスを付加して転送先アドレスレジスタ値を更新するように構成され、
転送元アドレスレジスタ及び転送先アドレスレジスタの値をアドレスバスに出力してデータ転送制御を行うことを特徴とする。
【0020】
(6)本発明は、
上記のいずれかの集積回路装置を含む事を特徴とするマイクロコンピュータである。
【0021】
(7)本発明の集積回路装置は、
上記に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力手段と、
前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器である。
【発明を実施するための最良の形態】
【0022】
1.集積回路装置
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【0023】
図1は、本実施の形態の集積回路装置について説明するための図である。
【0024】
本実施の形態の集積回路装置10は、DMAコントローラ(DMA転送方式)100を含む。
【0025】
DMAコントローラ(DMA転送方式)100は、CPU20から受けるDMA要求に対して、共通のバス50(内部バス)に接続された複数のメモリ間(例えば内蔵メモリ30と外部メモリコントローラ40を介して外部メモリ70)、又はI/O装置とメモリ間のDMA転送を制御する。
【0026】
DMAコントローラ(DMA転送方式)100は、DMA転送制御レジスタ110と、DMA転送制御レジスタ110の値に基づき転送対象データを複数のブロックに分割してブロック単位でDMA転送を行うように制御するDMA転送制御回路130を含む。
【0027】
DMA転送制御レジスタ110は、分割した各ブロックのデータサイズが格納されたブロックデータサイズ格納レジスタ(BTC)120と、ブロック単位に付加するオフセットアドレスが格納されたアドレスオフセットレジスタ(DAO)122とを含むように構成する。
【0028】
前記DMA転送制御回路130は、データ転送量をカウントして、データ転送量がブロックデータサイズ格納レジスタに格納されているブロックデータサイズ値に達したら、1ブロック分のデータ転送終了を判断するブロックデータ転送終了検出回路132と、1ブロック分のデータ転送終了を検出すると、前記アドレスオフセットレジスタに格納されたアドレスオフセット値に基づきオフセットアドレスを付加して、次のブロックの転送先のアドレスを演算する転送先アドレス演算回路134を含む。
【0029】
またDMA転送制御レジスタ110は、ブロック単位でバスの占有のみなおしの有無を管理するためのブロック管理情報が格納されたコントロールレジスタ(CTL)116を含むようにしてもよい。
【0030】
前記DMA転送制御回路130は、コントロールレジスタ(CTL)116に格納されたブロック管理情報に基づき、ブロック単位でバスの占有のみなおしの有無を制御する回路とを含むようにしてもよい。
【0031】
またDMA転送制御レジスタ110は、転送対象データサイズが格納されたデータサイズレジスタ(TCR)118とをさらに含むようにしてもよい。
【0032】
前記DMA転送制御回路130は、データ転送量をカウントして、データ転送量がデータサイズレジスタに格納されているデータサイズ値に達したら転送対象データの転送終了を検出するデータ転送終了検出回路136をさらに含むようにしてもよい。
【0033】
またDMA転送制御レジスタ110は、データの転送元アドレスが格納された転送元アドレスレジスタ(SAR)112と、データの転送先アドレスが格納された転送先アドレスレジスタ(DAR)114とをさらに含むようにしてもよい。
【0034】
データ転送量に応じて転送元アドレスレジスタ値を更新する転送元アドレス更新回路138とをさらに含み、
またDMA転送制御レジスタ110は、データ転送量に応じて転送元アドレスレジスタ値を更新する転送元アドレス更新回路138とをさらに含み、 前記転送先アドレス演算回路134は、データ転送量に応じて転送先アドレスレジスタ値を更新するとともに、ブロック単位でオフセットアドレスを付加して転送先アドレスレジスタ値を更新するように構成され、転送元アドレスレジスタ及び転送先アドレスレジスタの値をアドレスバスに出力してデータ転送制御を行うように構成してもよい。
【0035】
図2はDMAコントローラの構成の一例を示した図である。
【0036】
転送元アドレスレジスタ(SAR)112はセレクタ140を介して制御バス170及び転送元アドレス演算回路138の加減算機152の出力に接続されている。制御バス170を介して転送元アドレスが設定され、加減算機152の出力によりデータ転送に伴って更新された転送元アドレスが設定される。
【0037】
転送先アドレスレジスタ(DAR)114はセレクタ142を介して制御バス170及び転送先アドレス演算回路134の加減算機152の出力に接続されている。制御バス170を介して転送先アドレスが設定され、加減算機152の出力によりデータ転送に伴って更新された転送先アドレスが設定される。
【0038】
転送先アドレス演算回路134は、加減算機152と加減算機152への入力を選択するセレクタ144、146を含んで構成される。
【0039】
加減算機152は、転送先アドレスレジスタ(DAR)114に設定された転送先アドレス及び所定の定数(例えば転送サイズのバイト数)182を入力し、転送に伴って転送先アドレスに対し所定の定数(例えば転送サイズのバイト数)182を加算又は減算して、更新された転送先アドレスを出力する。
【0040】
また加減算機152は、アドレスオフセットレジスタ(DAO)122に接続され、1ブロック分のデータ転送終了を検出すると、アドレスオフセットレジスタ(DAO)122に格納されたアドレスオフセットと転送先アドレスを加算してオフセットアドレスを付加した次のブロックの転送先アドレスを出力する。
【0041】
アドレスオフセットレジスタ(DAO)122は、制御バス170と接続され、ブロック転送終了時のオフセット値が設定される。
【0042】
また転送元アドレス演算回路138は、加減算機152と加減算機152への入力を選択するセレクタ144、146を含んで構成される。
【0043】
加減算機152は、転送元アドレスレジスタ(SAR)112に設定された転送元アドレス及び所定の定数(例えば転送サイズのバイト数)182を入力し、転送に伴って転送元アドレスに対し所定の定数(例えば転送サイズのバイト数)182を加算又は減算して、更新された転送元アドレスを出力する。
【0044】
データサイズレジスタ(TCR)118はセレクタ148を介して制御バス170及びデータ転送終了検出136の減算機154の出力に接続されている。制御バス170を介して転送対象データのデータサイズが設定され、減算機154の出力によりデータ転送に伴って更新された残りのデータサイズ(転送対象データのうちの転送が済んでいない部分のデータサイズ)が設定される。
【0045】
データ転送終了検出回路136は、減算機154を含んで構成される。
【0046】
減算機154は、データサイズレジスタ(TCR)118に設定されたデータサイズ及び所定の定数(例えば転送サイズのバイト数)182を入力し、転送に伴って所定の定数(例えば転送サイズのバイト数)182を減算して、更新された残りのデータサイズを出力する。
【0047】
出力された残りのデータサイズが0になると、データ転送の終了を検出する。
【0048】
ブロックデータサイズ格納レジスタ(BTC)120は制御バス170に接続され、その出力はブロックデータサイズカウンタ(cBTC)124に接続されている。ブロックデータサイズ格納レジスタ(BTC)120には制御バス170を介してブロックデータサイズが設定される。
【0049】
ブロックデータサイズカウンタ(cBTC)124カは、セレクタ150を介してブロックデータサイズ格納レジスタ(BTC)120及びブロックデータ転送終了検出132の減算機156の出力に接続されている。各ブロックの転送開始時に、ブロックデータサイズ格納レジスタ(BTC)120の値が設定され、減算機156の出力によりデータ転送に伴って更新された残りのブロックデータサイズ(ブロックデータのうちの転送が済んでいない部分のデータサイズ)が設定される。
【0050】
ブロックデータ転送終了検出回路132は、減算機156を含んで構成される。
【0051】
減算機156は、ブロックデータサイズカウンタ(cBTC)124に設定されたデータサイズ及び所定の定数(例えば転送サイズのバイト数)182を入力し、転送に伴って所定の定数(例えば転送サイズのバイト数)182を減算して、更新された残りのブロックデータサイズを出力する。
【0052】
出力された残りのブロックデータサイズが0になると、ブロックデータ転送の終了を検出する。
【0053】
このように本実施の形態では、分割転送を行いたいDMAチャネルを準備し、そのチャネルに、ブロックデータサイズ格納レジスタ(BTC)120にブロック分割する際のブロックサイズを設定し、アドレスオフセットレジスタ(DAO)122に、1つのブロック転送が終了した場合次のブロック転送に移行する際のデスティネーションアドレスに加算するオフセットを設定する。
【0054】
そしてBTCか“0”となったことで1つのブロックの転送を終了し、内部バスの所有権をいったん開放し、内部バスが使用可能となった後に再度ブロック転送を開始する。
【0055】
このとき次のブロック転送でDAOが設定されている場合はDARにDAOを加算し転送を行うことで、デスティネーションのアドレスを変更可能とする。ブロック転送はBTCが“0”となることで終了するが、全休の転送はTCRが“0”となることで終了する。よって、最後のブロック転送において、BTCが“0”とならなくてもTCRが“0”となることデータ転送を終了可能とする。
【0056】
図3(A)(B)は本実施の形態の分割転送について説明するための図である。
【0057】
例えば図3(A)に示すように、アドレスa1に記憶されているデータサイズlの転送対象データ200をブロックサイズがBlであるB0〜B5の6つのブロックに分割して、アドレスb1に280に示すように転送後のデータの各ブロック間にサイズOlであるSP1〜SP5のオフセット領域(スペース)を設けるように転送する場合を例にとり説明する。
【0058】
図3(B)は、図3(A)のような分割転送を行う場合のチャネル(例えばチャネル1)のDMA転送制御レジスタの設定例を示している。転送元アドレス設定レジスタ(SAR)261には「a1」、転送先アドレス設定レジスタ(DAR)262に「b1」、データサイズレジスタ(TCR)263には「l」、ブロックデータサイズ格納レジスタ(BTC)265には「bl」、アドレスオフセットレジスタ(DAO)266に「Ol」を設定する。
【0059】
なおブロック単位でバスの占有の見直し行う場合には、コントロールレジスタ(CTL)264のブロック管理情報に、その旨を指示する値を設定する。
【0060】
このようにチャネル1の設定を行うと、例えばブロック0を転送した跡に、次の転送先をオフセットOlを加算した先B2に変更することができる。従ってブロックB0とB1の間にオフセット領域SP1を設けることができる。
【0061】
このようにチャネル1の設定を行い、チャネル1を使用してDMAデータ転送を行うと、1つのチャネルで分割転送が可能で、280に示すように各ブロック間にオフセット領域SP1〜SP5を持たせたDMAデータ転送を行うことができる。
【0062】
しかもヘッダサイズをDAO226に設定するだけで、ヘッダ領域となるオフセット領域SP1〜SP5を自動的に確保することができるので、各ブロック単位でヘッダを付加する場合等に便利である。
【0063】
またコントロールレジスタ(CTL)264のブロック管理情報にブロック単位でバスの占有の見直し行うことを指示する値を設定することで、ブロック転送の合間に内部バスを開放することができるので、内部バスの有効活用を図ることができる。
【0064】
図4は本実施の形態の動作例を説明するためのフローチャート図である。
【0065】
まず転送対象データのDMA転送を開始する前に、必要なDMA転送制御レジスタ(SAR、DAR、CTL、TCR、BTC、DAO)の初期化を行う(ステップS10)。
【0066】
その後、CPUよりDMAデータ転送要求を受けCTLで設定された内容でDMAデータ転送を開始する(ステップS20)。
【0067】
DMA転送を実施するとSAR、DARをCTL設定された内容で更新し、TCRならびにcBTCをそれぞれTCR−1、cBTC−1を行う(ステップS30)。
【0068】
その後、TCRの値を確認しTCR=0であれば転送を終了する(ステップS40)。
【0069】
TCR=0でない場合にはcBTCの値を確認しcBTC=0でなければステップS30に戻り、cBTC=0であれば内部バスの所有権を開放し、内部バスが使用可能となるまでデータ転送をまつ(ステップ60,S70)。
【0070】
そして、内部バスが使用可能となるとcBTCにBTCの値を設定し、DARの値にオフセットアドレスDAOを加算して更新し、バスの使用権を獲得する(ステップS80)。
【0071】
2.マイクロコンピュータ
図5は、本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【0072】
本マイクロコンピュータ700は、CPU510、キャッシュメモリ520、RAM710,ROM720、MMU730、LCDコントローラ530、リセット回路540、プログラマブルタイマ550、リアルタイムクロック(RTC)560、DRAMコントローラ570、割り込みコントローラ580、通信制御装置590、バスコントローラ600、A/D変換器610、D/A変換器620、入力ポート630、出力ポート640、I/Oポート650、クロック発生装置660、プリスケーラ670、転送処理モジュール740及びそれらを接続する汎用バス680、専用バス750等、各種ピン690等を含む。
【0073】
DMAコントローラ570は例えば図2で説明した構成を有し、回路規模の増大や複数チャネルの占有を招くことなく分割データ転送を実現する。
【0074】
3.電子機器
図6に、本実施の形態の電子機器のブロック図の一例を示す。本電子機器800は、マイクロコンピュータ(またはASIC)810、入力部820、メモリ830、電源生成部840、LCD850、音出力部860を含む。
【0075】
ここで、入力部820は、種々のデータを入力するためのものである。マイクロコンピュータ810は、この入力部820により入力されたデータに基づいて種々の処理を行うことになる。メモリ830は、マイクロコンピュータ810などの作業領域となるものである。電源生成部840は、電子機器800で使用される各種電源を生成するためのものである。LCD850は、電子機器が表示する各種の画像(文字、アイコン、グラフィック等)を出力するためのものである。 音出力部860は、電子機器800が出力する各種の音(音声、ゲーム音等)を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0076】
図7(A)に、電子機器の1つである携帯電話950の外観図の例を示す。この携帯電話950は、入力部として機能するダイヤルボタン952や、電話番号や名前やアイコンなどを表示するLCD954や、音出力部として機能し音声を出力するスピーカ956を備える。
【0077】
図7(B)に、電子機器の1つである携帯型ゲーム装置960の外観図の例を示す。この携帯型ゲーム装置960は、入力部として機能する操作ボタン962、十字キー964や、ゲーム画像を表示するLCD966や、音出力部として機能しゲーム音を出力するスピーカ968を備える。
【0078】
図7(C)に、電子機器の1つであるパーソナルコンピュータ970の外観図の例を示す。このパーソナルコンピュータ970は、入力部として機能するキーボード972や、文字、数字、グラフィックなどを表示するLCD974、音出力部976を備える。
【0079】
本実施の形態のマイクロコンピュータを図5(A)〜図5(C)の電子機器に組みむことにより、低価格で画像処理速度の速いコストパフォーマンスの高い電子機器を提供することができる。
【0080】
なお、本実施形態を利用できる電子機器としては、図5(A)、(B)、(C)に示すもの以外にも、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、ビューファインダ型又はモニタ直視型のビデオテープレコーダ、カーナビゲーション装置等のLCDを使用する種々の電子機器を考えることができる。
【0081】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【0082】
例えば本実施の形態ではブロック単位でオフセットアドレスを付加して分割データのDMA転送を行う場合の構成を例にとり説明したが是に限られない。例えばオフセットアドレスを付加せずにブロック単位でバスの占有を見直して分割データのDMA転送を行う場合でもよい。
【0083】
またブロック単位でバスの占有を見直しを行わずに、ブロック単位で分割でオフセットアドレスを付加して分割データのDMA転送を行う場合でもよい。
【図面の簡単な説明】
【0084】
【図1】本実施の形態の集積回路装置について説明するための図である。
【図2】DMAコントローラの構成の一例を示した図である。
【図3】図3(A)(B)は本実施の形態の分割転送について説明するための図である。
【図4】本実施の形態の動作例を説明するためのフローチャート図である。
【図5】本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【図6】マイクロコンピュータを含む電子機器のブロック図の一例を示す。
【図7】図7(A)(B)(C)は、種々の電子機器の外観図の例である。
【符号の説明】
【0085】
10 IC(集積回路装置)、20 CPU、30 内蔵メモリ、40 外部メモリコントローラ、50 内部バス、60 アビーター、70 外部メモリ、100 DMAコントローラ、110 DMA転送制御回路、112 SAR、114 DAR、116 CTL、118 TCR、120 BTC、122 DAO、510 CPU、520 キャッシュメモリ530 LCDコントローラ、540 リセット回路、550 プログラマブルタイマ、560 リアルタイムクロック(RTC)、570 DMAコントローラ兼バスI/F、580 割り込みコントローラ、590 通信制御回路(シリアルインターフェース)、600 バスコントローラ、610 A/D変換器、620 D/A変換器、630 入力ポート、640 出力ポート、650 I/Oポート、660 クロック発生装置(PLL)、670 プリスケーラ、680 汎用バス、690 各種ピン、700 マイクロコンピュータ、710 ROM、720 RAM、730 MMU、750 専用バス、800 電子機器、810 マイクロコンピュータ(ASIC)、820 入力部、830 メモリ、840 電源生成部850 LCD、860 音出力部、950 携帯電話、952 ダイヤルボタン、954 LCD、956 スピーカ、960 携帯型ゲーム装置、962 操作ボタン、964 十字キー、966 LCD、968 スピーカ、970 パーソナルコンピュータ、972 キーボード、974 LCD、976 音出力部

【特許請求の範囲】
【請求項1】
DMA転送制御レジスタと、DMA転送制御レジスタの値に基づき転送対象データを複数のブロックに分割してブロック単位でDMA転送を行うように制御するDMA転送制御回路を含む集積回路装置であって、
前記DMA転送制御レジスタは、
分割した各ブロックのデータサイズが格納されたブロックデータサイズ格納レジスタと、
ブロック単位に付加するオフセットアドレスが格納されたアドレスオフセットレジスタとを含み、
前記DMA転送制御回路は、
データ転送量をカウントして、データ転送量がブロックデータサイズ格納レジスタに格納されているブロックデータサイズ値に達したら、1ブロック分のデータ転送終了を判断するブロックデータ転送終了検出回路と、
1ブロック分のデータ転送終了を検出すると、前記アドレスオフセットレジスタに格納されたアドレスオフセット値に基づきオフセットアドレスを付加して、次のブロックの転送先のアドレスを演算する転送先アドレス演算回路を含むこと
特徴とする集積回路装置。
【請求項2】
請求項1において、
前記転送制御レジスタは、
ブロック単位でバスの占有のみなおしの有無を管理するためのブロック管理情報が格納されたコントロールレジスタをさらに含み、
前記DMA転送制御回路は、
コントロールレジスタに格納されたブロック管理情報に基づき、ブロック単位でバスの占有のみなおしの有無を制御する回路とを含むことを特徴とする集積回路装置。
【請求項3】
DMA転送制御レジスタと、DMA転送制御レジスタの値に基づき転送対象データを複数のブロックに分割してブロック単位でDMA転送を行うように制御するDMA転送制御回路を含む集積回路装置であって、
前記DMA転送制御レジスタは、
分割した各ブロックのデータサイズが格納されたブロックデータサイズ格納レジスタと、
ブロック単位でバスの占有のみなおしの有無を管理するためのブロック管理情報が格納されたコントロールレジスタをさらに含み、
前記DMA転送制御回路は、
データ転送量をカウントして、データ転送量がブロックデータサイズ格納レジスタに格納されているブロックデータサイズ値に達したら、1ブロック分のデータ転送終了を判断するブロックデータ転送終了検出回路と、
1ブロック分のデータ転送終了を検出すると、コントロールレジスタに格納されたブロック管理情報に基づき、ブロック単位でバスの占有のみなおしの有無を制御する回路とを含むことを特徴とする集積回路装置。
【請求項4】
請求項1乃至3のいずれかにおいて、
前記転送制御レジスタは、
転送対象データサイズが格納されたデータサイズレジスタをさらに含み、
前記DMA転送回路は、
データ転送量をカウントして、データ転送量がデータサイズレジスタに格納されているデータサイズ値に達したら転送対象データの転送終了を検出するデータ転送終了検出回路をさらに含み、
前記転送先アドレス演算回路は、
転送対象データの転送終了が検出されるまで、次のブロックがあると判断して、次ブロックの転送先のアドレスを演算することを特徴とする集積回路装置。
【請求項5】
請求項1乃至4のいずれかにおいて、
前記転送制御レジスタは、
データの転送元アドレスが格納された転送元アドレスレジスタと、
データの転送先アドレスが格納された転送先アドレスレジスタとをさらに含み、
前記DMA転送制御回路は、
データ転送量に応じて転送元アドレスレジスタ値を更新する転送元アドレス更新回路とをさらに含み、
前記転送先アドレス演算回路は、
データ転送量に応じて転送先アドレスレジスタ値を更新するとともに、ブロック単位でオフセットアドレスを付加して転送先アドレスレジスタ値を更新するように構成され、
転送元アドレスレジスタ及び転送先アドレスレジスタの値をアドレスバスに出力してデータ転送制御を行うことを特徴とする集積回路装置。
【請求項6】
請求項1乃至5のいずれかの集積回路装置を含むマイクロコンピュータ。
【請求項7】
請求項6に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力手段と、
前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2006−79332(P2006−79332A)
【公開日】平成18年3月23日(2006.3.23)
【国際特許分類】
【出願番号】特願2004−262378(P2004−262378)
【出願日】平成16年9月9日(2004.9.9)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】