(57)【要約】【課題】ハードウエアの増加を招くことなく、１つのチャネルでＤＭＡ分割転送が可能な集積回路装置、マイクロコンピュータ及び電子機器の提供を目的とする。【解決手段】ＤＭＡ転送制御レジスタ１１０と、ＤＭＡ転送制御レジスタの値に基づき転送対象データを複数のブロックに分割してブロック単位でＤＭＡ転送を行うように制御するＤＭＡ転送制御回路１３０を含む。ＤＭＡ転送制御レジスタは１１０、ブロックデータサイズ格納レジスタ１２０と、アドレスオフセットレジスタ１２２とを含み、前記ＤＭＡ転送制御回路１３０は、データ転送量をカウントして、データ転送量がブロックデータサイズ値に達したら、アドレスオフセット値に基づきオフセットアドレスを付加して、次のブロックの転送先のアドレスを演算する。【選択図】      図３
2006079332.tif 000002
【特許請求の範囲】
【請求項１】
ＤＭＡ転送制御レジスタと、ＤＭＡ転送制御レジスタの値に基づき転送対象データを複数のブロックに分割してブロック単位でＤＭＡ転送を行うように制御するＤＭＡ転送制御回路を含む集積回路装置であって、
前記ＤＭＡ転送制御レジスタは、
分割した各ブロックのデータサイズが格納されたブロックデータサイズ格納レジスタと、
ブロック単位に付加するオフセットアドレスが格納されたアドレスオフセットレジスタとを含み、
前記ＤＭＡ転送制御回路は、
データ転送量をカウントして、データ転送量がブロックデータサイズ格納レジスタに格納されているブロックデータサイズ値に達したら、１ブロック分のデータ転送終了を判断するブロックデータ転送終了検出回路と、
１ブロック分のデータ転送終了を検出すると、前記アドレスオフセットレジスタに格納されたアドレスオフセット値に基づきオフセットアドレスを付加して、次のブロックの転送先のアドレスを演算する転送先アドレス演算回路を含むこと
特徴とする集積回路装置。
【請求項２】
請求項１において、
前記転送制御レジスタは、
ブロック単位でバスの占有のみなおしの有無を管理するためのブロック管理情報が格納されたコントロールレジスタをさらに含み、
前記ＤＭＡ転送制御回路は、
コントロールレジスタに格納されたブロック管理情報に基づき、ブロック単位でバスの占有のみなおしの有無を制御する回路とを含むことを特徴とする集積回路装置。
【請求項３】
ＤＭＡ転送制御レジスタと、ＤＭＡ転送制御レジスタの値に基づき転送対象データを複数のブロックに分割してブロック単位でＤＭＡ転送を行うように制御するＤＭＡ転送制御回路を含む集積回路装置であって、
前記ＤＭＡ転送制御レジスタは、
分割した各ブロックのデータサイズが格納されたブロックデータサイズ格納レジスタと、
ブロック単位でバスの占有のみなおしの有無を管理するためのブロック管理情報が格納されたコントロールレジスタをさらに含み、
前記ＤＭＡ転送制御回路は、
データ転送量をカウントして、データ転送量がブロックデータサイズ格納レジスタに格納されているブロックデータサイズ値に達したら、１ブロック分のデータ転送終了を判断するブロックデータ転送終了検出回路と、
１ブロック分のデータ転送終了を検出すると、コントロールレジスタに格納されたブロック管理情報に基づき、ブロック単位でバスの占有のみなおしの有無を制御する回路とを含むことを特徴とする集積回路装置。
【請求項４】
請求項１乃至３のいずれかにおいて、
前記転送制御レジスタは、
転送対象データサイズが格納されたデータサイズレジスタをさらに含み、
前記ＤＭＡ転送回路は、
データ転送量をカウントして、データ転送量がデータサイズレジスタに格納されているデータサイズ値に達したら転送対象データの転送終了を検出するデータ転送終了検出回路をさらに含み、
前記転送先アドレス演算回路は、
転送対象データの転送終了が検出されるまで、次のブロックがあると判断して、次ブロックの転送先のアドレスを演算することを特徴とする集積回路装置。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記転送制御レジスタは、
データの転送元アドレスが格納された転送元アドレスレジスタと、
データの転送先アドレスが格納された転送先アドレスレジスタとをさらに含み、
前記ＤＭＡ転送制御回路は、
データ転送量に応じて転送元アドレスレジスタ値を更新する転送元アドレス更新回路とをさらに含み、
前記転送先アドレス演算回路は、
データ転送量に応じて転送先アドレスレジスタ値を更新するとともに、ブロック単位でオフセットアドレスを付加して転送先アドレスレジスタ値を更新するように構成され、
転送元アドレスレジスタ及び転送先アドレスレジスタの値をアドレスバスに出力してデータ転送制御を行うことを特徴とする集積回路装置。
【請求項６】
請求項１乃至５のいずれかの集積回路装置を含むマイクロコンピュータ。
【請求項７】
請求項６に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力手段と、
前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ間のＤＭＡ転送を制御する集積回路装置、マイクロコンピュータ及び電子機器に関する。
【背景技術】
【０００２】
一般に、Ｉ／Ｏ装置とメモリ間又は複数のメモリ間のデータ転送には、ＣＰＵを介さず、高速にデータを転送するＤＭＡコントローラが広く用いられている。この種のＤＭＡコントローラとしては、例えば各ＤＭＡチャンネル毎にデータ長が設定され、データを読出す転送元アドレス及びデータを書込む転送先アドレスが指定され、自動アドレス更新機能により、連続転送処理を実行するものがある。  従来のＤＭＡデータ転送方式では大容量のデータでも１回のＤＭＡ転送で実施することが多かった。また分割転送を行う場合には、例えば複数のチャネルを使用し複数のチャネルを連結してブロック転送を行うか、スケジュールテーブルを使用し、必要な転送内容をスケジュールテーブルに設定することで転送を行っていた。
【特許文献１】特開平７−３０６８２５号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところが従来のＤＭＡデータ転送方式において１回の転送で実施している場合には転送を行う際、内部バスをＤＭＡデータ転送で確保してしまい、他のユニットが内部バスを使用したい場合に待たせてしまうという問題点があった。
【０００４】
また分割転送を複数のチャネルを使用して実現する場合には、分割したい数量のＤＭＡデータに必要なチャネルを用意する必要があった。
【０００５】
また分割スケジュールテーブルで実施している場合には、専用のスケジュールテーブルが必要であり、ＨＷの増加及びスケジュール管理するための論理回路が必要となっていた。
【０００６】
本発明は以上のような問題点に鑑みてなされたものであり、その目的とするところは、ハードウエアの増加を招くことなく、１つのチャネルでＤＭＡ分割転送が可能な集積回路装置、マイクロコンピュータ及び電子機器の提供を目的とする。
【課題を解決するための手段】
【０００７】
（１）本発明は、
ＤＭＡ転送制御レジスタと、ＤＭＡ転送制御レジスタの値に基づき転送対象データを複数のブロックに分割してブロック単位でＤＭＡ転送を行うように制御するＤＭＡ転送制御回路を含む集積回路装置であって、
前記ＤＭＡ転送制御レジスタは、
分割した各ブロックのデータサイズが格納されたブロックデータサイズ格納レジスタと、
ブロック単位に付加するオフセットアドレスが格納されたアドレスオフセットレジスタとを含み、
前記ＤＭＡ転送制御回路は、
データ転送量をカウントして、データ転送量がブロックデータサイズ格納レジスタに格納されているブロックデータサイズ値に達したら、１ブロック分のデータ転送終了を判断するブロックデータ転送終了検出回路と、
１ブロック分のデータ転送終了を検出すると、前記アドレスオフセットレジスタに格納されたアドレスオフセット値に基づきオフセットアドレスを付加して、次のブロックの転送先のアドレスを演算する転送先アドレス演算回路を含むこと
特徴とする。
【０００８】
ここでＤＭＡ転送制御レジスタはＤＭＡ転送を行うチャネル毎に設定するものである。
【０００９】
本発明によれば、転送対象データをブロックデータサイズ格納レジスタに格納されたデータサイズのブロックに分割し、各ブロック単位でアドレスオフセットレジスタに格納されたアドレスオフセット分だけオフセットを加えたアドレスにＤＭＡ転送を行うことができる。
【００１０】
このように本発明によればハードウエア規模の増大を招くことなしに、１つのチャネルでＤＭＡの分割転送を実現することができる。
【００１１】
しかもブロックデータサイズ格納レジスタとアドレスオフセットレジスタに所望の値（分割データサイズとヘッダのサイズ）指定するだけで、自動的にヘッダ領域が確保され、各ブロック単位でヘッダを付加する場合等に便利である。
【００１２】
（２）本発明の集積回路装置は、
前記転送制御レジスタは、
ブロック単位でバスの占有のみなおしの有無を管理するためのブロック管理情報が格納されたコントロールレジスタをさらに含み、
前記ＤＭＡ転送制御回路は、
コントロールレジスタに格納されたブロック管理情報に基づき、ブロック単位でバスの占有のみなおしの有無を制御する回路とを含むことを特徴とする。
【００１３】
コントロールレジスタは、ＤＡＭ転送制御を行う際に使用する各種コントロールデータが格納されるレジスタの一部をブロック管理情報用に使用する構成でもよい。
【００１４】
本発明によれば、ブロック単位でバスの占有の見直し行うことを指示する値をコントロールレジスタの所定の位置（ブロック管理情報の位置）に設定することで、ブロック転送の合間に内部バスを開放することができるので、内部バスの有効活用を図ることができる。
【００１５】
（３）本発明の集積回路装置は、
ＤＭＡ転送制御レジスタと、ＤＭＡ転送制御レジスタの値に基づき転送対象データを複数のブロックに分割してブロック単位でＤＭＡ転送を行うように制御するＤＭＡ転送制御回路を含む集積回路装置であって、
前記ＤＭＡ転送制御レジスタは、
分割した各ブロックのデータサイズが格納されたブロックデータサイズ格納レジスタと、
ブロック単位でバスの占有のみなおしの有無を管理するためのブロック管理情報が格納されたコントロールレジスタをさらに含み、
前記ＤＭＡ転送制御回路は、
データ転送量をカウントして、データ転送量がブロックデータサイズ格納レジスタに格納されているブロックデータサイズ値に達したら、１ブロック分のデータ転送終了を判断するブロックデータ転送終了検出回路と、
１ブロック分のデータ転送終了を検出すると、コントロールレジスタに格納されたブロック管理情報に基づき、ブロック単位でバスの占有のみなおしの有無を制御する回路とを含むことを特徴とする。
【００１６】
コントロールレジスタは、ＤＡＭ転送制御を行う際に使用する各種コントロールデータが格納されるレジスタの一部をブロック管理情報用に使用する構成でもよい。
【００１７】
本発明によれば、ブロック単位でバスの占有の見直し行うことを指示する値をコントロールレジスタの所定の位置（ブロック管理情報の位置）に設定することで、ブロック転送の合間に内部バスを開放することができるので、内部バスの有効活用を図ることができる。
【００１８】
（４）本発明の集積回路装置は、
前記転送制御レジスタは、
転送対象データサイズが格納されたデータサイズレジスタをさらに含み、
前記ＤＭＡ転送回路は、
データ転送量をカウントして、データ転送量がデータサイズレジスタに格納されているデータサイズ値に達したら転送対象データの転送終了を検出するデータ転送終了検出回路をさらに含み、
前記転送先アドレス演算回路は、
転送対象データの転送終了が検出されるまで、次のブロックがあると判断して、次ブロックの転送先のアドレスを演算することを特徴とする。
【００１９】
（５）本発明の集積回路装置は、
前記転送制御レジスタは、
データの転送元アドレスが格納された転送元アドレスレジスタと、
データの転送先アドレスが格納された転送先アドレスレジスタとをさらに含み、
前記ＤＭＡ転送制御回路は、
データ転送量に応じて転送元アドレスレジスタ値を更新する転送元アドレス更新回路とをさらに含み、
前記転送先アドレス演算回路は、
データ転送量に応じて転送先アドレスレジスタ値を更新するとともに、ブロック単位でオフセットアドレスを付加して転送先アドレスレジスタ値を更新するように構成され、
転送元アドレスレジスタ及び転送先アドレスレジスタの値をアドレスバスに出力してデータ転送制御を行うことを特徴とする。
【００２０】
（６）本発明は、
上記のいずれかの集積回路装置を含む事を特徴とするマイクロコンピュータである。
【００２１】
（７）本発明の集積回路装置は、
上記に記載のマイクロコンピュータと、
前記マイクロコンピュータの処理対象となるデータの入力手段と、
前記マイクロコンピュータにより処理されたデータを出力するための出力手段とを含むことを特徴とする電子機器である。
【発明を実施するための最良の形態】
【００２２】
１．集積回路装置
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【００２３】
図１は、本実施の形態の集積回路装置について説明するための図である。
【００２４】
本実施の形態の集積回路装置１０は、ＤＭＡコントローラ（ＤＭＡ転送方式）１００を含む。
【００２５】
ＤＭＡコントローラ（ＤＭＡ転送方式）１００は、ＣＰＵ２０から受けるＤＭＡ要求に対して、共通のバス５０（内部バス）に接続された複数のメモリ間（例えば内蔵メモリ３０と外部メモリコントローラ４０を介して外部メモリ７０）、又はＩ／Ｏ装置とメモリ間のＤＭＡ転送を制御する。
【００２６】
ＤＭＡコントローラ（ＤＭＡ転送方式）１００は、ＤＭＡ転送制御レジスタ１１０と、ＤＭＡ転送制御レジスタ１１０の値に基づき転送対象データを複数のブロックに分割してブロック単位でＤＭＡ転送を行うように制御するＤＭＡ転送制御回路１３０を含む。
【００２７】
ＤＭＡ転送制御レジスタ１１０は、分割した各ブロックのデータサイズが格納されたブロックデータサイズ格納レジスタ（ＢＴＣ）１２０と、ブロック単位に付加するオフセットアドレスが格納されたアドレスオフセットレジスタ（ＤＡＯ）１２２とを含むように構成する。
【００２８】
前記ＤＭＡ転送制御回路１３０は、データ転送量をカウントして、データ転送量がブロックデータサイズ格納レジスタに格納されているブロックデータサイズ値に達したら、１ブロック分のデータ転送終了を判断するブロックデータ転送終了検出回路１３２と、１ブロック分のデータ転送終了を検出すると、前記アドレスオフセットレジスタに格納されたアドレスオフセット値に基づきオフセットアドレスを付加して、次のブロックの転送先のアドレスを演算する転送先アドレス演算回路１３４を含む。
【００２９】
またＤＭＡ転送制御レジスタ１１０は、ブロック単位でバスの占有のみなおしの有無を管理するためのブロック管理情報が格納されたコントロールレジスタ（ＣＴＬ）１１６を含むようにしてもよい。
【００３０】
前記ＤＭＡ転送制御回路１３０は、コントロールレジスタ（ＣＴＬ）１１６に格納されたブロック管理情報に基づき、ブロック単位でバスの占有のみなおしの有無を制御する回路とを含むようにしてもよい。
【００３１】
またＤＭＡ転送制御レジスタ１１０は、転送対象データサイズが格納されたデータサイズレジスタ（ＴＣＲ）１１８とをさらに含むようにしてもよい。
【００３２】
前記ＤＭＡ転送制御回路１３０は、データ転送量をカウントして、データ転送量がデータサイズレジスタに格納されているデータサイズ値に達したら転送対象データの転送終了を検出するデータ転送終了検出回路１３６をさらに含むようにしてもよい。
【００３３】
またＤＭＡ転送制御レジスタ１１０は、データの転送元アドレスが格納された転送元アドレスレジスタ(ＳＡＲ)１１２と、データの転送先アドレスが格納された転送先アドレスレジスタ（ＤＡＲ）１１４とをさらに含むようにしてもよい。
【００３４】
データ転送量に応じて転送元アドレスレジスタ値を更新する転送元アドレス更新回路１３８とをさらに含み、
またＤＭＡ転送制御レジスタ１１０は、データ転送量に応じて転送元アドレスレジスタ値を更新する転送元アドレス更新回路１３８とをさらに含み、  前記転送先アドレス演算回路１３４は、データ転送量に応じて転送先アドレスレジスタ値を更新するとともに、ブロック単位でオフセットアドレスを付加して転送先アドレスレジスタ値を更新するように構成され、転送元アドレスレジスタ及び転送先アドレスレジスタの値をアドレスバスに出力してデータ転送制御を行うように構成してもよい。
【００３５】
図２はＤＭＡコントローラの構成の一例を示した図である。
【００３６】
転送元アドレスレジスタ(ＳＡＲ）１１２はセレクタ１４０を介して制御バス１７０及び転送元アドレス演算回路１３８の加減算機１５２の出力に接続されている。制御バス１７０を介して転送元アドレスが設定され、加減算機１５２の出力によりデータ転送に伴って更新された転送元アドレスが設定される。
【００３７】
転送先アドレスレジスタ(ＤＡＲ）１１４はセレクタ１４２を介して制御バス１７０及び転送先アドレス演算回路１３４の加減算機１５２の出力に接続されている。制御バス１７０を介して転送先アドレスが設定され、加減算機１５２の出力によりデータ転送に伴って更新された転送先アドレスが設定される。
【００３８】
転送先アドレス演算回路１３４は、加減算機１５２と加減算機１５２への入力を選択するセレクタ１４４、１４６を含んで構成される。
【００３９】
加減算機１５２は、転送先アドレスレジスタ(ＤＡＲ）１１４に設定された転送先アドレス及び所定の定数（例えば転送サイズのバイト数）１８２を入力し、転送に伴って転送先アドレスに対し所定の定数（例えば転送サイズのバイト数）１８２を加算又は減算して、更新された転送先アドレスを出力する。
【００４０】
また加減算機１５２は、アドレスオフセットレジスタ（ＤＡＯ）１２２に接続され、１ブロック分のデータ転送終了を検出すると、アドレスオフセットレジスタ（ＤＡＯ）１２２に格納されたアドレスオフセットと転送先アドレスを加算してオフセットアドレスを付加した次のブロックの転送先アドレスを出力する。
【００４１】
アドレスオフセットレジスタ（ＤＡＯ）１２２は、制御バス１７０と接続され、ブロック転送終了時のオフセット値が設定される。
【００４２】
また転送元アドレス演算回路１３８は、加減算機１５２と加減算機１５２への入力を選択するセレクタ１４４、１４６を含んで構成される。
【００４３】
加減算機１５２は、転送元アドレスレジスタ(ＳＡＲ）１１２に設定された転送元アドレス及び所定の定数（例えば転送サイズのバイト数）１８２を入力し、転送に伴って転送元アドレスに対し所定の定数（例えば転送サイズのバイト数）１８２を加算又は減算して、更新された転送元アドレスを出力する。
【００４４】
データサイズレジスタ（ＴＣＲ）１１８はセレクタ１４８を介して制御バス１７０及びデータ転送終了検出１３６の減算機１５４の出力に接続されている。制御バス１７０を介して転送対象データのデータサイズが設定され、減算機１５４の出力によりデータ転送に伴って更新された残りのデータサイズ（転送対象データのうちの転送が済んでいない部分のデータサイズ）が設定される。
【００４５】
データ転送終了検出回路１３６は、減算機１５４を含んで構成される。
【００４６】
減算機１５４は、データサイズレジスタ（ＴＣＲ）１１８に設定されたデータサイズ及び所定の定数（例えば転送サイズのバイト数）１８２を入力し、転送に伴って所定の定数（例えば転送サイズのバイト数）１８２を減算して、更新された残りのデータサイズを出力する。
【００４７】
出力された残りのデータサイズが０になると、データ転送の終了を検出する。
【００４８】
ブロックデータサイズ格納レジスタ（ＢＴＣ）１２０は制御バス１７０に接続され、その出力はブロックデータサイズカウンタ（ｃＢＴＣ）１２４に接続されている。ブロックデータサイズ格納レジスタ（ＢＴＣ）１２０には制御バス１７０を介してブロックデータサイズが設定される。
【００４９】
ブロックデータサイズカウンタ（ｃＢＴＣ）１２４カは、セレクタ１５０を介してブロックデータサイズ格納レジスタ（ＢＴＣ）１２０及びブロックデータ転送終了検出１３２の減算機１５６の出力に接続されている。各ブロックの転送開始時に、ブロックデータサイズ格納レジスタ（ＢＴＣ）１２０の値が設定され、減算機１５６の出力によりデータ転送に伴って更新された残りのブロックデータサイズ（ブロックデータのうちの転送が済んでいない部分のデータサイズ）が設定される。
【００５０】
ブロックデータ転送終了検出回路１３２は、減算機１５６を含んで構成される。
【００５１】
減算機１５６は、ブロックデータサイズカウンタ（ｃＢＴＣ）１２４に設定されたデータサイズ及び所定の定数（例えば転送サイズのバイト数）１８２を入力し、転送に伴って所定の定数（例えば転送サイズのバイト数）１８２を減算して、更新された残りのブロックデータサイズを出力する。
【００５２】
出力された残りのブロックデータサイズが０になると、ブロックデータ転送の終了を検出する。
【００５３】
このように本実施の形態では、分割転送を行いたいＤＭＡチャネルを準備し、そのチャネルに、ブロックデータサイズ格納レジスタ（ＢＴＣ）１２０にブロック分割する際のブロックサイズを設定し、アドレスオフセットレジスタ（ＤＡＯ）１２２に、１つのブロック転送が終了した場合次のブロック転送に移行する際のデスティネーションアドレスに加算するオフセットを設定する。
【００５４】
そしてＢＴＣか“０”となったことで１つのブロックの転送を終了し、内部バスの所有権をいったん開放し、内部バスが使用可能となった後に再度ブロック転送を開始する。
【００５５】
このとき次のブロック転送でＤＡＯが設定されている場合はＤＡＲにＤＡＯを加算し転送を行うことで、デスティネーションのアドレスを変更可能とする。ブロック転送はＢＴＣが“０”となることで終了するが、全休の転送はＴＣＲが“０”となることで終了する。よって、最後のブロック転送において、ＢＴＣが“０”とならなくてもＴＣＲが“０”となることデータ転送を終了可能とする。
【００５６】
図３（Ａ）（Ｂ）は本実施の形態の分割転送について説明するための図である。
【００５７】
例えば図３（Ａ）に示すように、アドレスａ１に記憶されているデータサイズｌの転送対象データ２００をブロックサイズがＢｌであるＢ０〜Ｂ５の６つのブロックに分割して、アドレスｂ１に２８０に示すように転送後のデータの各ブロック間にサイズＯｌであるＳＰ１〜ＳＰ５のオフセット領域（スペース）を設けるように転送する場合を例にとり説明する。
【００５８】
図３（Ｂ）は、図３（Ａ）のような分割転送を行う場合のチャネル（例えばチャネル１）のＤＭＡ転送制御レジスタの設定例を示している。転送元アドレス設定レジスタ（ＳＡＲ）２６１には「ａ１」、転送先アドレス設定レジスタ（ＤＡＲ）２６２に「ｂ１」、データサイズレジスタ（ＴＣＲ）２６３には「ｌ」、ブロックデータサイズ格納レジスタ（ＢＴＣ）２６５には「ｂｌ」、アドレスオフセットレジスタ（ＤＡＯ）２６６に「Ｏｌ」を設定する。
【００５９】
なおブロック単位でバスの占有の見直し行う場合には、コントロールレジスタ（ＣＴＬ）２６４のブロック管理情報に、その旨を指示する値を設定する。
【００６０】
このようにチャネル１の設定を行うと、例えばブロック０を転送した跡に、次の転送先をオフセットＯｌを加算した先Ｂ２に変更することができる。従ってブロックＢ０とＢ１の間にオフセット領域ＳＰ１を設けることができる。
【００６１】
このようにチャネル１の設定を行い、チャネル１を使用してＤＭＡデータ転送を行うと、１つのチャネルで分割転送が可能で、２８０に示すように各ブロック間にオフセット領域ＳＰ１〜ＳＰ５を持たせたＤＭＡデータ転送を行うことができる。
【００６２】
しかもヘッダサイズをＤＡＯ２２６に設定するだけで、ヘッダ領域となるオフセット領域ＳＰ１〜ＳＰ５を自動的に確保することができるので、各ブロック単位でヘッダを付加する場合等に便利である。
【００６３】
またコントロールレジスタ（ＣＴＬ）２６４のブロック管理情報にブロック単位でバスの占有の見直し行うことを指示する値を設定することで、ブロック転送の合間に内部バスを開放することができるので、内部バスの有効活用を図ることができる。
【００６４】
図４は本実施の形態の動作例を説明するためのフローチャート図である。
【００６５】
まず転送対象データのＤＭＡ転送を開始する前に、必要なＤＭＡ転送制御レジスタ（ＳＡＲ、ＤＡＲ、ＣＴＬ、ＴＣＲ、ＢＴＣ、ＤＡＯ）の初期化を行う（ステップＳ１０）。
【００６６】
その後、ＣＰＵよりＤＭＡデータ転送要求を受けＣＴＬで設定された内容でＤＭＡデータ転送を開始する（ステップＳ２０）。
【００６７】
ＤＭＡ転送を実施するとＳＡＲ、ＤＡＲをＣＴＬ設定された内容で更新し、ＴＣＲならびにｃＢＴＣをそれぞれＴＣＲ−１、ｃＢＴＣ−１を行う（ステップＳ３０）。
【００６８】
その後、ＴＣＲの値を確認しＴＣＲ＝０であれば転送を終了する（ステップＳ４０）。
【００６９】
ＴＣＲ＝０でない場合にはｃＢＴＣの値を確認しｃＢＴＣ＝０でなければステップＳ３０に戻り、ｃＢＴＣ＝０であれば内部バスの所有権を開放し、内部バスが使用可能となるまでデータ転送をまつ（ステップ６０，Ｓ７０）。
【００７０】
そして、内部バスが使用可能となるとｃＢＴＣにＢＴＣの値を設定し、ＤＡＲの値にオフセットアドレスＤＡＯを加算して更新し、バスの使用権を獲得する（ステップＳ８０）。
【００７１】
２．マイクロコンピュータ
図５は、本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【００７２】
本マイクロコンピュータ７００は、ＣＰＵ５１０、キャッシュメモリ５２０、ＲＡＭ７１０，ＲＯＭ７２０、ＭＭＵ７３０、ＬＣＤコントローラ５３０、リセット回路５４０、プログラマブルタイマ５５０、リアルタイムクロック（ＲＴＣ）５６０、ＤＲＡＭコントローラ５７０、割り込みコントローラ５８０、通信制御装置５９０、バスコントローラ６００、Ａ／Ｄ変換器６１０、Ｄ／Ａ変換器６２０、入力ポート６３０、出力ポート６４０、Ｉ／Ｏポート６５０、クロック発生装置６６０、プリスケーラ６７０、転送処理モジュール７４０及びそれらを接続する汎用バス６８０、専用バス７５０等、各種ピン６９０等を含む。
【００７３】
ＤＭＡコントローラ５７０は例えば図２で説明した構成を有し、回路規模の増大や複数チャネルの占有を招くことなく分割データ転送を実現する。
【００７４】
３．電子機器
図６に、本実施の形態の電子機器のブロック図の一例を示す。本電子機器８００は、マイクロコンピュータ（またはＡＳＩＣ）８１０、入力部８２０、メモリ８３０、電源生成部８４０、ＬＣＤ８５０、音出力部８６０を含む。
【００７５】
ここで、入力部８２０は、種々のデータを入力するためのものである。マイクロコンピュータ８１０は、この入力部８２０により入力されたデータに基づいて種々の処理を行うことになる。メモリ８３０は、マイクロコンピュータ８１０などの作業領域となるものである。電源生成部８４０は、電子機器８００で使用される各種電源を生成するためのものである。ＬＣＤ８５０は、電子機器が表示する各種の画像（文字、アイコン、グラフィック等）を出力するためのものである。  音出力部８６０は、電子機器８００が出力する各種の音（音声、ゲーム音等）を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００７６】
図７（Ａ）に、電子機器の１つである携帯電話９５０の外観図の例を示す。この携帯電話９５０は、入力部として機能するダイヤルボタン９５２や、電話番号や名前やアイコンなどを表示するＬＣＤ９５４や、音出力部として機能し音声を出力するスピーカ９５６を備える。
【００７７】
図７（Ｂ）に、電子機器の１つである携帯型ゲーム装置９６０の外観図の例を示す。この携帯型ゲーム装置９６０は、入力部として機能する操作ボタン９６２、十字キー９６４や、ゲーム画像を表示するＬＣＤ９６６や、音出力部として機能しゲーム音を出力するスピーカ９６８を備える。
【００７８】
図７（Ｃ）に、電子機器の１つであるパーソナルコンピュータ９７０の外観図の例を示す。このパーソナルコンピュータ９７０は、入力部として機能するキーボード９７２や、文字、数字、グラフィックなどを表示するＬＣＤ９７４、音出力部９７６を備える。
【００７９】
本実施の形態のマイクロコンピュータを図５（Ａ）〜図５（Ｃ）の電子機器に組みむことにより、低価格で画像処理速度の速いコストパフォーマンスの高い電子機器を提供することができる。
【００８０】
なお、本実施形態を利用できる電子機器としては、図５（Ａ）、（Ｂ）、（Ｃ）に示すもの以外にも、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、ビューファインダ型又はモニタ直視型のビデオテープレコーダ、カーナビゲーション装置等のＬＣＤを使用する種々の電子機器を考えることができる。
【００８１】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【００８２】
例えば本実施の形態ではブロック単位でオフセットアドレスを付加して分割データのＤＭＡ転送を行う場合の構成を例にとり説明したが是に限られない。例えばオフセットアドレスを付加せずにブロック単位でバスの占有を見直して分割データのＤＭＡ転送を行う場合でもよい。
【００８３】
またブロック単位でバスの占有を見直しを行わずに、ブロック単位で分割でオフセットアドレスを付加して分割データのＤＭＡ転送を行う場合でもよい。
【図面の簡単な説明】
【００８４】
【図１】本実施の形態の集積回路装置について説明するための図である。
【図２】ＤＭＡコントローラの構成の一例を示した図である。
【図３】図３（Ａ）（Ｂ）は本実施の形態の分割転送について説明するための図である。
【図４】本実施の形態の動作例を説明するためのフローチャート図である。
【図５】本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【図６】マイクロコンピュータを含む電子機器のブロック図の一例を示す。
【図７】図７（Ａ）（Ｂ）（Ｃ）は、種々の電子機器の外観図の例である。
【符号の説明】
【００８５】
１０  ＩＣ（集積回路装置）、２０  ＣＰＵ、３０  内蔵メモリ、４０  外部メモリコントローラ、５０  内部バス、６０  アビーター、７０  外部メモリ、１００  ＤＭＡコントローラ、１１０  ＤＭＡ転送制御回路、１１２  ＳＡＲ、１１４  ＤＡＲ、１１６  ＣＴＬ、１１８  ＴＣＲ、１２０  ＢＴＣ、１２２  ＤＡＯ、５１０  ＣＰＵ、５２０  キャッシュメモリ５３０  ＬＣＤコントローラ、５４０  リセット回路、５５０  プログラマブルタイマ、５６０  リアルタイムクロック（ＲＴＣ）、５７０  DMAコントローラ兼バスＩ／Ｆ、５８０  割り込みコントローラ、５９０  通信制御回路（シリアルインターフェース）、６００  バスコントローラ、６１０  Ａ／Ｄ変換器、６２０  Ｄ／Ａ変換器、６３０  入力ポート、６４０  出力ポート、６５０  Ｉ／Ｏポート、６６０  クロック発生装置（ＰＬＬ）、６７０  プリスケーラ、６８０  汎用バス、６９０  各種ピン、７００  マイクロコンピュータ、７１０  ＲＯＭ、７２０  ＲＡＭ、７３０  ＭＭＵ、７５０  専用バス、８００  電子機器、８１０  マイクロコンピュータ（ＡＳＩＣ）、８２０  入力部、８３０  メモリ、８４０  電源生成部８５０  ＬＣＤ、８６０  音出力部、９５０  携帯電話、９５２  ダイヤルボタン、９５４  ＬＣＤ、９５６  スピーカ、９６０  携帯型ゲーム装置、９６２  操作ボタン、９６４  十字キー、９６６  ＬＣＤ、９６８  スピーカ、９７０  パーソナルコンピュータ、９７２  キーボード、９７４  ＬＣＤ、９７６  音出力部
【図１】
2006079332.tif 000003
【図２】
2006079332.tif 000004
【図３】
2006079332.tif 000005
【図４】
2006079332.tif 000006
【図５】
2006079332.tif 000007
【図６】
2006079332.tif 000008
【図７】
2006079332.tif 000009