(57)【要約】【課題】ＣＰＵの負荷を低減する。【解決手段】一つの実施形態によれば、半導体集積回路は、ＤＭＡコントローラ、メモリコントローラ、演算処理部、制御統括部を有する。ＤＭＡコントローラは、メモリへのデータ転送を制御し、メモリに格納されているデータの転送を制御する。メモリコントローラは、ＤＭＡコントローラの転送動作を制御し、記憶部に格納されているデータをメモリに転送する、或いはメモリのデータを記憶部に格納する。演算処理部は、ＤＭＡコントローラにより転送されたデータの誤り訂正を実行する。制御統括部は、メモリコントローラにデータ転送開始の指示をし、転送完了処理を実行する。【選択図】  図１
2016114968.tif 000002
【特許請求の範囲】
【請求項１】
メモリへのデータ転送を制御し、メモリに格納されているデータの転送を制御するＤＭＡコントローラと、
前記ＤＭＡコントローラの転送動作を制御し、記憶部に格納されているデータをメモリに転送する、或いはメモリのデータを前記記憶部に格納するメモリコントローラと、
前記ＤＭＡコントローラにより転送されたデータの誤り訂正を実行する演算処理部と、
前記メモリコントローラにデータ転送開始の指示をし、転送完了処理を実行する制御統括部と、
を具備することを特徴とする半導体集積回路。
【請求項２】
メモリへのデータ転送を制御し、メモリに格納されているデータの転送を制御するＤＭＡコントローラと、
前記ＤＭＡコントローラの転送動作を制御するＤＭＡＣシーケンス制御回路と、
前記ＤＭＡＣシーケンス制御回路にデータ転送開始の指示をし、転送完了処理を実行する制御統括部と、
を具備することを特徴とする半導体集積回路。
【請求項３】
前記制御統括部は、前記メモリに格納されている前記ＤＭＡコントローラのディスクリプタテーブルを書き換える
ことを特徴とする請求項１又は２に記載の半導体集積回路。
【請求項４】
前記メモリに格納されている前記ＤＭＡコントローラのディスクリプタテーブルを書き換えるディスクリプタ書き換え部
を具備することを特徴とする請求項１又は２に記載の半導体集積回路。
【請求項５】
前記ＤＭＡコントローラは複数設けられ、第１ＤＭＡコントローラによるデータの転送処理が実行された直後に、第２ＤＭＡコントローラによるデータの転送が実行される
ことを特徴とする請求項１乃至４のいずれか１項に記載の半導体集積回路。
【請求項６】
ＣＰＵの指示に基づいて、ＤＭＡＣシーケンス制御回路が起動し、
前記ＤＭＡＣシーケンス制御回路がＤＭＡコントローラへデータの転送要求をし、
前記ＤＭＡコントローラが、メモリへのデータ転送或いはメモリに格納されているデータの転送を制御し、
前記ＤＭＡＣシーケンス制御回路が前記ＤＭＡコントローラから転送終了通知を受け取り、
前記ＣＰＵが転送の完了処理を実行する
ことを具備することを特徴とする半導体集積回路のデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体集積回路及びそれを用いたデータ転送方法に関する。
【背景技術】
【０００２】
ＤＭＡ(Direct Memory Access)転送では、ＣＰＵ(Central Processing Unit)からＤＭＡコントローラへ転送要求を与えることにより、データ転送を開始する。データ転送が終了すると、ＤＭＡコントローラがＣＰＵへ転送終了を通知する。
【０００３】
処理能力向上のためにＤＭＡコントローラを複数設けると、データを順次転送する場合には、ＣＰＵが、各ＤＭＡコントローラに対して、逐次、転送要求等の制御を行う必要が発生し、ＣＰＵの処理能力を消費してしまう問題点がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２５８９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、ＣＰＵの負荷を低減することができる半導体集積回路及びそれを用いたデータ転送方法を提供することにある。
【課題を解決するための手段】
【０００６】
一つの実施形態によれば、半導体集積回路は、ＤＭＡコントローラ、メモリコントローラ、演算処理部、制御統括部を有する。ＤＭＡコントローラは、メモリへのデータ転送を制御し、メモリに格納されているデータの転送を制御する。メモリコントローラは、ＤＭＡコントローラの転送動作を制御し、記憶部に格納されているデータをメモリに転送する、或いはメモリのデータを記憶部に格納する。演算処理部は、ＤＭＡコントローラにより転送されたデータの誤り訂正を実行する。制御統括部は、メモリコントローラにデータ転送開始の指示をし、転送完了処理を実行する。
【図面の簡単な説明】
【０００７】
【図１】第一の実施形態に係る半導体集積回路を示すブロック図である。
【図２】第一の実施形態に係る半導体集積回路の動作を示すタイミングチャート。
【図３】第二の実施形態に係る半導体集積回路を示すブロック図である。
【図４】第二の実施形態に係る半導体集積回路の動作を示すタイミングチャート。
【図５】第三の実施形態に係る半導体集積回路を示すブロック図である。
【図６】第三の実施形態に係る半導体集積回路の動作を示すフローチャート。
【図７】第四の実施形態に係る半導体集積回路を示すブロック図である。
【図８】第四の実施形態に係るディスクリプタテーブルの構成を示す図である。
【図９】第四の実施形態に係る半導体集積回路の動作を示すタイミングチャート。
【図１０】第五の実施形態に係る半導体集積回路を示すブロック図である。
【発明を実施するための形態】
【０００８】
以下本発明の実施形態について図面を参照しながら説明する。
【０００９】
（第一の実施形態）
まず、本発明の第一の実施形態に係る半導体集積回路について、図面を参照して説明する。図１は半導体集積回路を示すブロック図である。本実施形態では、複数のＤＭＡ(Direct Memory Access)コントローラの制御にメモリコントローラを用い、ＣＰＵ(Central Processing Unit)からの指示命令を低減してＣＰＵの負荷を低減している。
【００１０】
図１に示すように、半導体集積回路１００は、ＤＭＡコントローラ１ａ乃至１ｃ、メモリ２ａ、メモリ２ｂ、ＣＰＵ３、メモリコントローラ４、記憶部５、及び演算処理部６を有する。ＤＭＡコントローラ１ａ乃至１ｃ、メモリ２ａ、メモリ２ｂ、ＣＰＵ３、メモリコントローラ４、及び演算処理部６は、バス５０で相互に電気的に接続されている。
【００１１】
ＤＭＡコントローラ１ａ乃至１ｃは、メモリ２ａ、メモリ２ｂに格納されているデータの転送を制御し、メモリ２ａ、メモリ２ｂへのデータ転送を制御する。ＤＭＡコントローラ１ａ乃至１ｃは、記憶部５に格納されているデータをメモリコントローラを介して転送する。
【００１２】
メモリ２ａ、メモリ２ｂは、データやプログラムなどを格納する。メモリ２ａ、メモリ２ｂには、例えばＳＲＡＭ(Static Random Access Memory)やＭＲＡＭ(Magnetoresistive Random Access Memory)等が用いられる。
【００１３】
ＣＰＵ３（統括制御部）は、半導体集積回路１００を統括制御する。ＣＰＵ３は、メモリコントローラ４を起動し、例えばデータ転送開始指示をメモリコントローラ４に伝える。データ転送は、書き込み処理、読み出し処理、プログラム転送処理を含み、メモリへのデータ転送とメモリに格納されているデータの転送を含む。ＣＰＵ３は、データ転送終了を受け取るとデータ転送完了処理を実行する。ここでは、統括制御部としてＣＰＵを用いているが、プロセッサやＭＰＵ(Micro Processing Unit)を代わりに用いてもよい。
【００１４】
メモリコントローラ４は、ＣＰＵ３のデータ転送開始指示に基づいて、ＤＭＡコントローラ１ａ乃至１ｃのそれぞれにデータ転送指示を伝える。メモリコントローラ４は、記憶部５に格納されているデータを読み出し、ＤＭＡコントローラにより、メモリに転送する。メモリコントローラ４は、データ転送が終了すると、データ転送終了をＣＰＵ３に伝える。
【００１５】
記憶部５は、データやプログラム等を格納する。記憶部５は、メモリコントローラ４のデータ転送指示に基づいて、格納しているデータを出力する。ここでは、記憶部５にＮＡＮＤフラッシュメモリを用いているが、ＳＲＡＭ、ＳＳＤ(Solid State Drive)、ＨＤＤ(Hard Disc Drive)などを代わりに用いてもよい。
【００１６】
演算処理部６は、転送されたデータの演算処理、例えば転送されたデータの誤り訂正を実行する。ここでは、メモリコントローラ４の指示に基づいて、演算処理が実行される。
【００１７】
次に、半導体集積回路の動作について、図１及び図２を参照して説明する。図２は、半導体集積回路の動作を示すタイミングチャートである。メモリコントローラ及びＤＭＡコントローラを用いたデータ転送について説明する。
【００１８】
図１及び図２に示すように、ＣＰＵ３は、メモリコントローラ４を起動させる。ＣＰＵ３は、記憶部５の読み出しシーケンスの開始要求である信号ＳＡ１をメモリコントローラ４へ送信する。
【００１９】
メモリコントローラ４は、ＣＰＵ３の指示に基づいて、読み出しコマンド／アドレスである信号ＳＡ２を記憶部５に送信する。記憶部５は、読み出されたデータである信号ＳＡ３をメモリコントローラ４に送信する。メモリコントローラ４は、読み出し処理が終了すると、データ転送要求である信号ＳＡ４をＤＭＡコントローラ１ｃへ送信する。
【００２０】
ＤＭＡコントローラ１ｃは、メモリコントローラ４の指示に基づいて、メモリ２ｂのアドレスである信号ＳＡ５をメモリ２ｂに送信する。ＤＭＡコントローラ１ｃは、記憶部５から読み出され、メモリコントローラを介して転送されたデータをメモリ２ｂに転送する。
【００２１】
メモリ２ｂへの転送処理が終了後、メモリコントローラ４は、データ転送要求である信号ＳＡ６をＤＭＡコントローラ１ｂへ送信する。
【００２２】
ＤＭＡコントローラ１ｂは、メモリコントローラ４の指示に基づいて、メモリ２ｂのデータである信号ＳＡ７を転送し、演算処理部６のアドレスである信号ＳＡ８を演算処理部６へ送信する。ＤＭＡコントローラ１ｂは、メモリ２ｂのデータを演算処理部６に転送する。演算処理部６は、転送されたデータの演算処理、例えば誤り訂正を実行する。
【００２３】
演算処理終了後、メモリコントローラ４は、データ転送要求である信号ＳＡ９をＤＭＡコントローラ１ａへ送信する。
【００２４】
ＤＭＡコントローラ１ａは、メモリコントローラ４の指示に基づいて、演算処理部６から演算処理されたメモリ２ｂのデータである信号ＳＡ１０を転送し、メモリ２ａのアドレスである信号ＳＡ１１をメモリ２ａに送信する。ＤＭＡコントローラ１ａは、演算処理されたデータをメモリ２ａへ転送する。
【００２５】
データ転送処理の終了後、メモリコントローラ４は、信号ＳＡ１２をＣＰＵ３に送信する。ＣＰＵ３は、記憶部５のデータの転送完了処理を実行する。具体的には、他の転送処理や半導体集積回路１００内での処理を実行可能とする。
【００２６】
本実施形態では、ＣＰＵが直接実行する処理は、メモリコントローラ４のデータ転送開始指示、データ転送完了処理である。
【００２７】
これに対して、メモリコントローラ４を設けず、複数のＤＭＡコントローラの転送処理を直接ＣＰＵが指示する比較例の半導体集積回路（図示していない）では、ＣＰＵの負荷が急増する。
【００２８】
例えば、記憶部５のデータ読み出しに１００クロック、ＣＰＵ３のデータ転送開始指示とデータ転送完了処理に２０クロック必要とした場合を考える。記憶部５のデータ転送を１００回繰り返しても、本実施形態においては、ＣＰＵ３でデータ転送開始指示とデータ転送完了処理に２０クロックだけ発生し、他の処理でのクロックは発生しない。
【００２９】
上述したように、本実施形態の半導体集積回路では、ＤＭＡコントローラ１ａ乃至１ｃ、メモリ２ａ、メモリ２ｂ、ＣＰＵ３、メモリコントローラ４、記憶部５、及び演算処理部６が半導体集積回路１００に設けられる。メモリコントローラ４は、ＣＰＵ３の指示に基づいて、ＤＭＡコントローラ１ａ乃至１ｃのそれぞれにデータ転送指示を伝える。ＣＰＵ３は、データ転送開始指示、データ転送完了処理を伝える。ＣＰＵ３は、ＤＭＡコントローラ１ａ乃至１ｃにデータ転送指示を伝えない。
【００３０】
このため、転送処理量を維持しながら、ＣＰＵ３の負荷を低減することができる。
【００３１】
なお、本実施形態では、記憶部５のデータをメモリ２ｂに転送しているが必ずしもこれに限定されるものではない。例えば、記憶部５或いはメモリ２ｂに格納されているプログラムの転送や、メモリ２ｂのデータを記憶部５に書き込んでもよい。
【００３２】
（第二の実施形態）
次に、本発明の第二の実施形態に係る半導体集積回路について、図面を参照して説明する。図３は、半導体集積回路を示すブロック図である。本実施形態では、ＣＰＵがＤＭＡＣ(Direct Memory Access Controller)シーケンス制御回路へデータ転送開始指示を行い、ＤＭＡＣシーケンス制御回路がＤＭＡコントローラのデータ転送の制御を行い、ＣＰＵの負荷を低減している。
【００３３】
以下、第一の実施形態と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
【００３４】
図３に示すように、半導体集積回路１０１は、ＤＭＡコントローラ１ａ、ＤＭＡコントローラ１ｂ、メモリ２ａ、メモリ２ｂ、ＣＰＵ３、演算処理部７、及びＤＭＡＣシーケンス制御回路８を有する。ＤＭＡコントローラ１ａ、ＤＭＡコントローラ１ｂ、メモリ２ａ、メモリ２ｂ、ＣＰＵ３、演算処理部７、及びＤＭＡＣシーケンス制御回路８は、バス５０で相互に電気的に接続されている。
【００３５】
演算処理部７は、ＤＭＡコンローラ１ａ、ＤＭＡコンローラ１ｂで転送されたデータの演算処理を実行する。演算処理部７は、演算処理以外にも、シリアル入出力回路などを用いることもできる。
【００３６】
ＤＭＡＣシーケンス制御回路８は、ＣＰＵ３の指示に基づいて、ＤＭＡコントローラ１ａ、ＤＭＡコントローラ１ｂにデータ転送指示を伝える。
【００３７】
次に、半導体集積回路の動作について、図３及び図４を参照して説明する。図４は、半導体集積回路の動作を示すタイミングチャートである。ＤＭＡＣシーケンス制御回路及びＤＭＡコントローラのデータ転送について説明する。
【００３８】
図３及び図４に示すように、ＣＰＵ３は、ＤＭＡＣシーケンス制御回路８を起動させる。ＣＰＵ３は、データ転送開始指示である信号ＳＢ１をＤＭＡＣシーケンス制御回路８へ送信する。
【００３９】
ＤＭＡＣシーケンス制御回路８は、ＣＰＵ３の指示に基づいて、データ転送指示である信号ＳＢ２をＤＭＡコントローラ１ａへ送信する。ＤＭＡコントローラ１ａは、メモリ２ａのデータ信号である信号ＳＢ３を読み出す。ＤＭＡコントローラ１ａは、転送先アドレス信号である信号ＳＢ４を演算処理部７に送信する。ＤＭＡコントローラ１ａは、読み出されたメモリ２ａのデータを演算処理部７に転送する。演算処理部７は、転送されたメモリ２ａのデータを演算処理する。ＤＭＡコントローラ１ａは、読み出されたメモリ２ａのデータ転送終了である信号ＳＢ５をＤＭＡＣシーケンス制御回路８に送信する。
【００４０】
データ転送終了後、ＤＭＡＣシーケンス制御回路８は、データ転送指示信号である信号ＳＢ６をＤＭＡコントローラ１ｂへ送信する。ＤＭＡコントローラ１ｂは、演算処理部７で処理されたデータである信号ＳＢ７を読み出す。ＤＭＡコントローラ１ｂは、転送先アドレスである信号ＳＢ８をメモリ２ｂに送信する。ＤＭＡコントローラ１ｂは、読み出された演算処理部７のデータをメモリ２ｂに転送する。ＤＭＡコントローラ１ｂは、読み出された演算処理部７のデータ転送終了である信号ＳＢ９をＤＭＡＣシーケンス制御回路８に送信する。
【００４１】
データ転送処理の終了後、ＤＭＡＣシーケンス制御回路８は、信号ＳＢ１０をＣＰＵ３に送信する。ＣＰＵ３は、データの転送完了処理を実行する。具体的には、他の転送処理や半導体集積回路１０１内での処理を実行可能とする。
【００４２】
上述したように、本実施形態の半導体集積回路では、ＤＭＡコントローラ１ａ、ＤＭＡコントローラ１ｂ、メモリ２ａ、メモリ２ｂ、ＣＰＵ３、演算処理部７及びＤＭＡＣシーケンス制御回路８が半導体集積回路１０１に設けられる。ＤＭＡＣシーケンス制御回路８は、ＣＰＵ３の指示に基づいて、ＤＭＡコントローラ１ａ、ＤＭＡコントローラ１ｂにデータ転送指示を伝える。ＣＰＵ３は、データ転送開始指示、データ転送完了処理を伝える。ＣＰＵ３は、ＤＭＡコントローラ１ａ、ＤＭＡコントローラ１ｂにデータ転送指示を伝えない。
【００４３】
このため、転送処理量を維持しながら、ＣＰＵ３の負荷を低減することができる。
【００４４】
（第三の実施形態）
次に、本発明の第三の実施形態に係る半導体集積回路及びそれを用いたデータ転送方法について、図面を参照して説明する。図５は、半導体集積回路を示すブロック図である。本実施形態では、ＣＰＵがＤＭＡＣシーケンス制御回路へデータ転送開始指示を行い、ＤＭＡコントローラの数を一つにし、ＤＭＡＣシーケンス制御回路がＤＭＡコントローラのデータ転送の制御を行い、ＣＰＵの負荷を低減している。
【００４５】
以下、第二の実施形態と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
【００４６】
図５に示すように、半導体集積回路１０２は、ＤＭＡコントローラ１ａ、メモリ２ａ、ＣＰＵ３、演算処理部７、及びＤＭＡＣシーケンス制御回路８を有する。ＤＭＡコントローラ１ａ、メモリ２ａ、ＣＰＵ３、演算処理部７、及びＤＭＡＣシーケンス制御回路８は、バス５０で相互に電気的に接続されている。
【００４７】
次に、半導体集積回路の動作について、図６を参照して説明する。図６は、半導体集積回路の動作を示すフローチャートである。
【００４８】
図６に示すように、ＣＰＵ３は、ＤＭＡＣシーケンス制御回路８を起動させる。ＣＰＵ３は、データ転送開始指示である信号ＳＢ１をＤＭＡＣシーケンス制御回路８へ送信する（ステップＳ１）。
【００４９】
ＤＭＡＣシーケンス制御回路８は、ＣＰＵ３の指示に基づいて、データ転送指示である信号ＳＢ２をＤＭＡコントローラ１ａへ送信する（ステップＳ２）。
【００５０】
ＤＭＡコントローラ１ａは、メモリ２ａのデータである信号ＳＢ３を読み出す。ＤＭＡコントローラ１ａは、転送先アドレスである信号ＳＢ４を演算処理部７に送信する。ＤＭＡコントローラ１ａは、読み出されたメモリ２ａのデータを演算処理部７に転送する。演算処理部７は、転送されたメモリ２ａのデータを演算処理する（ステップＳ３）。
【００５１】
演算処理部７は、読み出されたメモリ２ａのデータ転送終了である信号ＳＢ２１をＤＭＡＣシーケンス制御回路８に送信する（ステップＳ４）。
【００５２】
データ転送終了後、ＤＭＡＣシーケンス制御回路８は、信号ＳＢ２２をＣＰＵ３に送信する。ＣＰＵ３は、データの転送完了処理を実行する。具体的には、他の転送処理や半導体集積回路１０２内での処理を実行可能とする（ステップＳ５）。
【００５３】
本実施形態では、ＣＰＵが直接実行する処理は、ＤＭＡＣシーケンス制御回路８へデータ転送開始指示、データ転送完了処理である。
【００５４】
これに対して、ＤＭＡＣシーケンス制御回路８を設けず、ＤＭＡコントローラの転送処理を直接ＣＰＵが指示する比較例の半導体集積回路（図示していない）では、ＣＰＵの負荷が急増する。
【００５５】
例えば、データ転送に１００クロック、ＣＰＵ３のデータ転送開始指示とデータ転送完了処理に２０クロック必要とした場合を考える。データ転送を１００回繰り返しても、本実施形態においては、ＣＰＵ３でデータ転送開始指示とデータ転送完了処理に２０クロックのみしか発生しない。
【００５６】
上述したように、本実施形態の半導体集積回路及びそれを用いたデータ転送方法では、ＤＭＡコントローラ１ａ、メモリ２ａ、ＣＰＵ３、演算処理部７及びＤＭＡＣシーケンス制御回路８が半導体集積回路１０２に設けられる。ＤＭＡＣシーケンス制御回路８は、ＣＰＵ３の指示に基づいて、ＤＭＡコントローラ１ａにデータ転送指示を伝える。ＣＰＵ３は、データ転送開始指示、データ転送完了処理を伝える。ＣＰＵ３は、ＤＭＡコントローラ１ａにデータ転送指示を伝えない。
【００５７】
このため、転送処理量を維持しながら、ＣＰＵ３の負荷を低減することができる。
【００５８】
（第四の実施形態）
次に、本発明の第四の実施形態に係る半導体集積回路について、図面を参照して説明する。図７は、半導体集積回路を示すブロック図である。図８は、ディスクリプタテーブルの構成を示す図である。本実施形態では、ＣＰＵがメモリに格納されているディスクリプタテーブルのデータを書き換えている。
【００５９】
以下、第二の実施形態と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
【００６０】
図７に示すように、半導体集積回路１０３は、ＤＭＡコントローラ１ａ、ＤＭＡコントローラ１ｂ、メモリ２ａ、メモリ２ｂ、メモリ２ｃ、ＣＰＵ３、演算処理部７、及びＤＭＡＣシーケンス制御回路８を有する。ＤＭＡコントローラ１ａ、ＤＭＡコントローラ１ｂ、メモリ２ａ、メモリ２ｃ、メモリ２ｂ、ＣＰＵ３、演算処理部７、及びＤＭＡＣシーケンス制御回路８は、バス５０で相互に電気的に接続されている。
【００６１】
メモリ２ｃは、ＤＭＡコントローラ１ａのディスクリプタ情報が記載されているディスクリプタテーブル１１ａと、ＤＭＡコントローラ１ｂのディスクリプタ情報が記載されているディスクリプタテーブル１１ｂを有する。
【００６２】
ＣＰＵ３は、ＤＭＡ転送処理のときにディスクリプタテーブル１１ａとディスクリプタテーブル１１ｂのディスクリプタ情報を書き換える。図８を参照して、具体的に説明する。図８は、ディスクリプタテーブルの構成を示す図である。
【００６３】
図８に示すように、ディスクリプタテーブルには、ソース・アドレス、ディストネーション・アドレス、転送回数、転送バイトなどが記載されている。ディスクリプタテーブル１１ａでは、ソース・アドレスがメモリ２ａ、ディストネーション・アドレスが演算処理部７、転送回数が８回、転送バイトが２Ｂｙｔｅである。ディスクリプタテーブル１１ｂでは、ソース・アドレスが演算処理部７、ディストネーション・アドレスがメモリ２ｂ、転送回数がＣＰＵ３により８回から４回に書き換えられ、転送バイトが２Ｂｙｔｅである。
【００６４】
次に、半導体集積回路の動作について、図７及び図９を参照して説明する。図９は、半導体集積回路の動作を示すタイミングチャートである。
【００６５】
ここでは、ＣＰＵ３によるＤＭＡコントローラ１ａのディスクリプタ情報の書き換え以外は第二の実施形態と同様なので、図４と異なる処理部分のみ説明する。
【００６６】
図９に示すように、読み出されたメモリ２ａのデータ転送終了である信号ＳＢ５がＤＭＡＣシーケンス制御回路８に送信された後、ＣＰＵ３は、メモリ２ｃのディスクリプタテーブルを書き換える。具体的には、ディスクリプタテーブル１１ｂの転送回数を８回から４回に書き換える。この書き換え指示情報は、ＤＭＡＣシーケンス制御回路８にも伝達される（図示していない）。
【００６７】
ディスクリプタ情報の書き換えを確認後、ＤＭＡＣシーケンス制御回路８は、データ転送指示信号である信号ＳＢ６をＤＭＡコントローラ１ｂへ送信する。これ以降は第二の実施形態と同様であるので説明を省略する。
【００６８】
上述したように、本実施形態の半導体集積回路では、ＤＭＡコントローラ１ａ、ＤＭＡコントローラ１ｂ、メモリ２ａ、メモリ２ｂ、メモリ２ｃ、ＣＰＵ３、演算処理部７、及びＤＭＡＣシーケンス制御回路８が半導体集積回路１０３に設けられる。メモリ２ｃは、ディスクリプタテーブル１１ａとディスクリプタテーブル１１ｂを有する。ＣＰＵ３は、ＤＭＡ転送処理のときにディスクリプタ情報を書き換える。
【００６９】
このため、第一の実施形態と同様な効果の他に、リアルタイムでデータ転送形式を変更することができる。
【００７０】
（第五の実施形態）
次に、本発明の第五の実施形態に係る半導体集積回路について、図面を参照して説明する。図１０は、半導体集積回路を示すブロック図である。本実施形態では、ディスクリプタ書き換え部がメモリに格納されているディスクリプタテーブルのデータを書き換えている。
【００７１】
以下、第二の実施形態と同一構成部分には、同一符号を付してその部分の説明を省略し、異なる部分のみ説明する。
【００７２】
図１０に示すように、半導体集積回路１０４は、ＤＭＡコントローラ１ａ、ＤＭＡコントローラ１ｂ、メモリ２ａ、メモリ２ｂ、メモリ２ｃ、ＣＰＵ３、演算処理部７、ＤＭＡＣシーケンス制御回路８、及びディスクリプタ書き換え部１２を有する。ＤＭＡコントローラ１ａ、ＤＭＡコントローラ１ｂ、メモリ２ａ、メモリ２ｂ、メモリ２ｃ、ＣＰＵ３、演算処理部７、ＤＭＡＣシーケンス制御回路８、及びディスクリプタ書き換え部１２は、バス５０で相互に電気的に接続されている。
【００７３】
ディスクリプタ書き換え部１２は、ディスクリプタ書き換え信号である信号ＳＢ４１が入力されると、信号ＳＢ４１に基づいて、メモリ２ｃのディスクリプタ情報の書き換え信号である信号ＳＢ４２をメモリ２ｃに送信する。信号ＳＢ４２に基づいて、メモリ２ｃのディスクリプタ情報が書き換えられる。ディスクリプタ書き換え部１２は、書き換え処理が実行されたことをＣＰＵ３とＤＭＡＣシーケンス制御回路８に伝達する。上記ディスクリプタ情報の書き換え処理以外は、第二の実施形態と同様なので説明を省略する。
【００７４】
上述したように、本実施形態の半導体集積回路では、ＤＭＡコントローラ１ａ、ＤＭＡコントローラ１ｂ、メモリ２ａ、メモリ２ｂ、メモリ２ｃ、ＣＰＵ３、演算処理部７、ＤＭＡＣシーケンス制御回路８、及びディスクリプタ書き換え部１２が半導体集積回路１０４に設けられる。メモリ２ｃは、ディスクリプタテーブル１１ａとディスクリプタテーブル１１ｂを有する。ディスクリプタ書き換え部１２は、ＤＭＡ転送処理のときにディスクリプタ情報を書き換える。
【００７５】
このため、第一の実施形態と同様な効果の他に、リアルタイムでデータ転送形式を変更することができる。
【００７６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７７】
１ａ〜１ｃ  ＤＭＡコントローラ
２ａ〜２ｃ  メモリ
３  ＣＰＵ
４  メモリコントローラ
５  記憶部
６、７  演算処理部
８  ＤＭＡＣシーケンス制御回路
１１ａ、１１ｂ  ディスクリプタテーブル
１２  ディスクリプタ書き換え部
５０  バス
１００〜１０４  半導体集積回路
ＳＡ１〜ＳＡ１２、ＳＢ１〜ＳＢ１０、ＳＢ２１、ＳＢ２２、ＳＢ３１、ＳＢ４１、ＳＢ４２  信号
【図１】
2016114968.tif 000003
【図２】
2016114968.tif 000004
【図３】
2016114968.tif 000005
【図４】
2016114968.tif 000006
【図５】
2016114968.tif 000007
【図６】
2016114968.tif 000008
【図７】
2016114968.tif 000009
【図８】
2016114968.tif 000010
【図９】
2016114968.tif 000011
【図１０】
2016114968.tif 000012