(57)【要約】【課題】高速なカウント機能およびイベント発生回数をカウントする機能を小面積で実現可能な半導体集積回路、およびその半導体集積回路を搭載したマイクロコンピュータを提供する。【解決手段】メモリ内でのデータ転送をコントロールするＤＴＣ９と、外部からのイベント信号（ＥＶＥＮＴ０〜１５）を検出し、ＤＴＣ９に対してイベント番号（ＥＶＣＨ３〜０）を出力するイベントカウンタ制御回路１０と、ＤＴＣ９に対してデータ転送の起動要求信号（ＤＴＲＱ）を出力する割り込み制御回路４と、ＲＡＭ２とを備え、ＤＴＣ９には、転送元アドレス（ＳＡＲ１３）と転送先アドレス（ＤＡＲ１４）を同一の値に設定する第１のアドレス設定手段と、これらのアドレスの一部をイベント番号に置き換える第２のアドレス設定手段と、加算器１６ならびにデータレジスタ１５からなるデータカウント手段を設ける。【選択図】        図２
2004287591.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵを介さずに、第１のメモリアドレスから読み出したメモリデータを第２のメモリアドレスに転送する機能を備えるデータ転送制御回路を有し、
前記データ転送制御回路は、
前記第１のメモリアドレスから読み出したメモリデータに対し、カウント演算を行い、前記カウント演算後のデータを、前記第２のメモリアドレスに転送するメモリデータとするデータカウント手段と、
前記第１のメモリアドレスと前記第２のメモリアドレスを同一の値に設定する第１のアドレス設定手段とを有することを特徴とする半導体集積回路。
【請求項２】
請求項１記載の半導体集積回路であって、
前記データカウント手段は、レジスタと加算器を含むことを特徴とする半導体集積回路。
【請求項３】
請求項１または２記載の半導体集積回路であって、
さらに、複数チャネルのイベント信号をそれぞれ検出し、検出されたチャネル毎に異なるイベント番号を生成するイベントカウンタ制御手段と、
前記第１のメモリアドレスと前記第２のメモリアドレスの一部を、前記生成されたイベント番号に置き換える第２のアドレス設定手段と、
前記イベント信号の検出により、データ転送の起動要求信号を発生する割り込み制御手段とを有することを特徴とする半導体集積回路。
【請求項４】
請求項３記載の半導体集積回路であって、
前記イベントカウンタ制御手段で生成されるイベント番号は、前記イベント信号が検出されたチャネルに応じてエンコードされた値であることを特徴とする半導体集積回路。
【請求項５】
請求項１、２、３または４記載の半導体集積回路を有するマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路およびマイクロコンピュータに関し、特に、データ転送制御回路（例えば、ＤＴＣ：ｄａｔａ  ｔｒａｎｓｆｅｒ  ｃｏｎｔｒｏｌｌｅｒ、ＤＭＡＣ：ｄｉｒｅｃｔ  ｍｅｍｏｒｙ  ａｃｃｅｓｓ  ｃｏｎｔｒｏｌｌｅｒ）などを有する半導体集積回路、およびその半導体集積回路を搭載したマイクロコンピュータに適用して有効な技術に関する。
【０００２】
【従来の技術】
本発明者が検討したところによれば、データ転送制御回路などの半導体集積回路およびマイクロコンピュータ（マイコン）の技術に関しては、以下のような技術が考えられる。
【０００３】
現在、マイクロコンピュータは、多品種のものが大量に市販されており、ＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）などの他に、次のような回路を搭載したものが数多く存在する。
【０００４】
例えば、メモリ−メモリ間およびメモリ−Ｉ／Ｏ間などのデータ転送を、ＣＰＵを介さず高速に行うためのコントローラとして、ＤＭＡＣやＤＴＣなどのデータ転送制御回路を搭載したものがある。また、複数の動作モードを備えたタイマ回路なども搭載している。
【０００５】
【発明が解決しようとする課題】
ところで、前記のようなデータ転送制御回路などの半導体集積回路およびマイクロコンピュータの技術について、本発明者が検討した結果、以下のようなことが明らかとなった。
【０００６】
マイクロコンピュータでは、タイムアウトエラーの検出や、各種の時間やインターバルの設定、更にはモータなどの機械の制御といったように様々な目的および用途でタイマ（カウンタ）回路が用いられている。
【０００７】
また、例えば、周辺機器の動作状況を確認するなどで、イベント発生の回数をカウントしたいような場合も数多くあり、この際にも通常はタイマ回路が用いられる。
【０００８】
しかしながら、前記のようなタイマ回路の用途拡大により、タイマ回路では、多数のチャネルが必要とされ、なおかつ、各チャネル毎に、複雑な割り込み処理および動作モードなどに対応されなければならない。これらは、当該回路のレジスタおよび論理の回路規模を増大させ、チップコストに大きく影響を与えることになる。
【０００９】
また、前記イベント発生の回数をカウントするような場合は、プログラムによりＣＰＵ内部のＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ａｎｄ  ｌｏｇｉｃ  ｕｎｉｔ）やレジスタなどの処理で賄うことも可能である。しかし、イベント毎に割り込み処理、演算およびメモリ読み書きなどの比較的ステップ数を要するプログラムが必要となるため、高速処理が困難となり、ＣＰＵの負担も大きくなる。
【００１０】
このようなことから、タイマ回路およびＣＰＵなどを用いずに、カウント機能を実現させることが望まれる。
【００１１】
そこで、本発明の一つの目的は、面積の小さい半導体集積回路、およびその半導体集積回路を搭載したマイクロコンピュータを提供することにある。
【００１２】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【００１３】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
【００１４】
本発明による半導体集積回路は、ＣＰＵを介さずに、第１のメモリアドレスから読み出したメモリデータを第２のメモリアドレスに転送する機能を備えるデータ転送制御回路を有し、前記データ転送制御回路は、前記第１のメモリアドレスから読み出したメモリデータに対し、カウント演算を行い、前記カウント演算後のデータを、前記第２のメモリアドレスに転送するメモリデータとするデータカウント手段と、前記第１のメモリアドレスと前記第２のメモリアドレスを同一の値に設定する第１のアドレス設定手段とを有するものである。
【００１５】
すなわち、データ転送制御回路によって、あるメモリアドレスからデータを読み出し、そのデータに対してカウント演算を行い、演算後のデータを、読み出したメモリアドレスに書き戻すことでカウント機能を実現する。
【００１６】
また、前記データカウント手段は、レジスタと加算器を含むものである。つまり、あるメモリアドレスから読み出したデータに対して加算を行い、加算後のデータを、読み出したメモリアドレスに書き戻すことができる。
【００１７】
また、本発明による半導体集積回路は、さらに、複数チャネルのイベント信号をそれぞれ検出し、検出されたチャネル毎に異なるイベント番号を生成するイベントカウンタ制御手段と、前記第１のメモリアドレスと前記第２のメモリアドレスの一部を、前記生成されたイベント番号に置き換える第２のアドレス設定手段と、前記イベント信号の検出により、データ転送の起動要求信号を発生する割り込み制御回路とを有するものである。
【００１８】
これにより、複数チャネルのイベント信号の発生回数を、そのチャネル毎にカウントするイベントカウント機能を実現する。
【００１９】
また、前記イベントカウンタ制御手段で生成されるイベント番号は、前記イベント信号が検出されたチャネルに応じてエンコードされた値にするとよい。
【００２０】
これにより、信号数を少なくでき、また、前記第２のアドレス設定手段によってメモリアドレスの一部をそのままイベント番号に置き換えることができる。
【００２１】
また、前記までに示した半導体集積回路は、特にマイクロコンピュータに適用して有効なものである。
【００２２】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部材には同一の符号を付し、その繰り返しの説明は省略する。
【００２３】
図１は、本発明の一実施の形態のマイクロコンピュータの一例を示す構成図である。
【００２４】
図１に示すマイクロコンピュータは、例えば、ＣＰＵ１と、ＲＡＭ２と、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）３と、割り込み制御回路４と、バスコントローラ５と、外部入出力ピンＰＡ０〜７，ＰＢ０〜７，ＰＣ０〜７にそれぞれ対応するポートＡ〜Ｃと、内部モジュールＡ６，Ｂ７，Ｃ８と、ＤＴＣ９などの機能ブロックに加え、イベントカウンタ制御回路１０を搭載している。
【００２５】
内部モジュールＡ〜Ｃは、例えば、シリアル転送コントローラ、タイマ回路、ＤＭＡ、Ａ／Ｄ変換器などが挙げられるが、その他の機能ブロックであってもよく、勿論、モジュール数も３種類に限定されるものではない。
【００２６】
イベントカウンタ制御回路は、マイクロコンピュータ内外のイベントを検出する機能などを有し、その外部からのイベント入力は、例えば、ポートＤのＥＶＥＮＴ０〜７およびポートＥのＥＶＥＮＴ８〜１５により行うことができる。なお、この回路の詳細な構成および動作については、以降で説明をおこなう。
【００２７】
このようなマイクロコンピュータにおいて、本発明の一実施の形態の半導体集積回路は、外部からのイベント入力を検出してその数をカウントするイベントカウンタ機能を有するものである。例えば図１では、その機能を、イベントカウンタ制御回路（イベントカウンタ制御手段）１０と、ＤＴＣ（データ転送制御回路）９と、割り込み制御回路（割り込み制御手段）４と、ＲＡＭ２を主体として実現する。それらの構成の一例を図２に示す。
【００２８】
図２は、本発明の一実施の形態の半導体集積回路において、ＤＴＣを活用してイベントカウンタ機能を実現する構成の一例を示すものである。
【００２９】
図２に示す半導体集積回路は、例えば、ＤＴＣ９と、イベントカウンタ制御回路１０と、割り込み制御回路４と、ＲＡＭ２と、ＣＰＵ１などを有している。
【００３０】
イベントカウンタ制御回路１０は、イベント検出部１１と制御レジスタ１２などを含む。
【００３１】
イベント検出部１１は、１６チャネルの外部入力のイベント信号（ＥＶＥＮＴ０〜１５）をラッチし、入力があった場合、その検出信号を制御レジスタ１２に格納する。また、ラッチしたデータに対して、エンコード処理などによりチャネル毎に異なる４本のバイナリデータを生成し、それらも制御レジスタ１２に格納する。
【００３２】
なお、この際、複数のチャネルに対し同時にイベント入力が行われたような場合は、複数のビットにデータがラッチされることになる。そこで、このような場合には、例えば、下位のビットから順番にエンコード処理し、制御レジスタ１２へ格納していくといった優先順位処理などが行われる。
【００３３】
制御レジスタ１２は、前記イベント検出部１１から得られた検出信号および４本のバイナリデータが格納され、当該検出信号を割り込み要求信号（ＥＶＥＮＴＩ）として割り込み制御回路４に送信し、また、４本のバイナリデータをイベント番号（ＥＶＣＨ０〜ＥＶＣＨ３）としてＤＴＣ９に送信する。
【００３４】
ＤＴＣ９は、転送元アドレス（第１のメモリアドレス）を格納するレジスタ（ＳＡＲ：ｓｏｕｒｃｅ  ａｄｄｒｅｓｓ  ｒｅｇｉｓｔｅｒ）１３と、転送先アドレス（第２のメモリアドレス）を格納するレジスタ（ＤＡＲ：ｄｅｓｔｉｎａｔｉｏｎ  ａｄｄｒｅｓｓ  ｒｅｇｉｓｔｅｒ）１４と、データレジスタ１５ならびに加算器１６からなるデータカウント手段などを備えている。
【００３５】
なお、従来におけるＤＴＣなどのデータ転送制御回路には、このような加算器は備わっていない。
【００３６】
さらに、ＤＴＣ９は、前記イベント番号（ＥＶＣＨ０〜ＥＶＣＨ３）を受信して、図３に示すように、ＳＡＲ１３とＤＡＲ１４の一部のビットを置き換える第２のアドレス設定手段３０を有している。
【００３７】
割り込み制御回路４は、イベントカウンタ制御回路１０からの割り込み要求信号（ＥＶＥＮＴＩ）を受けて、ＤＴＣ９に対してデータ転送の起動要求信号（ＤＴＲＱ）を発生する。なお、図２には明示していないが、割り込み制御回路４には、図１などから判るように、通常、複数のモジュール等からも割り込み要求が行われ、それらの信号とＥＶＥＮＴＩとの間で優先順位の制御なども行う。
【００３８】
ここで、図２の動作を説明する前に、本発明の前提となるＤＴＣの基本動作について、図４を用いて説明する。
【００３９】
ＤＴＣは、割り込み制御回路からの起動要求信号を受けて、ＲＡＭの内部間でのデータ転送や、内部モジュール−ＲＡＭ間でのデータ転送をＣＰＵを介さず高速に行う機能を備えている。図４は、これらの機能の内、内部モジュール−ＲＡＭ間でのデータ転送の動作例を説明する構成概略図であり、例えば、内部モジュールからの割り込み要求によるＤＴＣ転送の動作は次のように行われる。
【００４０】
（１）ＲＡＭ２上に、内部モジュールＡ６に対するＤＴＣ制御データを格納しておく（図４（ａ）のＳ１）。
【００４１】
（２）内部モジュールＡ６から割り込み制御回路４に対して、割り込み信号が出力される（図４（ａ）のＳ２）。
【００４２】
（３）割り込み制御回路４で信号処理を行い、ＤＴＣ９に対してデータ転送の起動要求信号が出力される（図４（ａ）のＳ３）。
【００４３】
（４）ＤＴＣ９は、内部モジュールＡ６の要求に対する制御データをＲＡＭから読み出し、ＳＡＲおよびＤＡＲなどにその値を格納する（図４（ａ）のＳ４）。
【００４４】
（５）ＤＴＣ９は、ＳＡＲの値をアドレスとした場所（この例ではレジスタ０のアドレス）からデータを読み出し、その値をＤＴＣ内のデータレジスタに格納する（図４（ｂ）のＳ５）。
【００４５】
（６）ＤＴＣは、ＤＡＲの値をアドレスとした場所（この例ではＲＡＭ内部）に、ＤＴＣ内のデータレジスタの値を書き込む（図４（ｃ）のＳ６）。
【００４６】
以上のように、ＤＴＣは、通常、割り込み要求を受けて、ＣＰＵを介さずに内部モジュール−メモリ間のデータ転送を行う機能を有し、同様にして、ＲＡＭの内部間でのデータ転送も行うことができる。
【００４７】
次に、前記ＤＴＣの基本動作を踏まえて、図２の動作の一例を説明する。
【００４８】
ここでは、ＤＴＣの動作も含めてより判り易く説明するため、図５および図６を用いながら説明を行う。図５は、本発明の一実施の形態の半導体集積回路において、イベントカウント機能の動作を説明するための構成概略図であり、図６は、本発明の一実施の形態の半導体集積回路において、イベントカウント機能の動作を説明するための、図５に続く構成概略図である。
【００４９】
図５および図６の構成概略図は、図２に示す構成図と同一のものである。ただし、図５および図６では，説明を判り易くするため，例えば、図２のイベントカウンタ制御回路の内部や、ＤＴＣの内部などを概略化して記載している。
【００５０】
図５および図６において、例えば、外部入出力端子のＥＶＥＮＴ０に対して、イベント入力が行われた場合のカウント動作は次のように行われる。
【００５１】
（１）ＲＡＭ２上に、イベントカウンタ制御回路用のＤＴＣ制御データを格納しておく（図５（ａ）のＳ１１）。
【００５２】
このＤＴＣ制御データには、ＳＡＲとＤＡＲに設定するアドレス値などが含まれる。そして、これらのアドレス値は、同じ値とし、例えば図５（ａ）のＥＶＥＮＴ０用カウンタレジスタ１７に対応するＲＡＭアドレス値などとしておく。
【００５３】
なお、以降の説明から明らかとなるが、これらのアドレス値の一部は、置き換えて使用することになるので、その置き換えられない部分を確実に設定しておけばよい。
【００５４】
（２）外部からイベント（この例ではＥＶＥＮＴ０）が入力されると、イベントカウンタ制御回路１０内のレジスタにイベントが記憶される（図５（ａ）のＳ１２）。
【００５５】
（３）イベントカウンタ制御回路１０は、割り込み制御回路４に対して割り込み信号を出力する（図５（ａ）のＳ１３）。また、ＤＴＣに対しては、イベント番号を出力する（図５（ａ）のＳ１４）。
【００５６】
このイベント番号は、外部からのイベント入力箇所を識別する番号である。この図ではＥＶＥＮＴ０しか示していないが、図２に示したように、ＥＶＥＮＴ０〜１５の１６チャネルを有する場合、このＥＶＥＮＴのチャネルに応じた４ビットのバイナリデータ（図２のＥＶＣＨ３〜０）がイベント番号となる。ここでは、ＥＶＥＮＴ０に対応して、“００００”のバイナリデータが出力されたものとする。
【００５７】
（４）割り込み制御回路４は、前記割り込み信号を制御し、ＤＴＣ９に対してデータ転送の起動要求信号を出力する（図５（ａ）のＳ１５）。
【００５８】
（５）ＤＴＣ９は、イベントカウンタ制御回路１０の要求に対するＤＴＣ制御データをＲＡＭから読み出す（図５（ａ）のＳ１６）。そして、ＤＴＣ制御データによって、ＳＡＲとＤＡＲに同一のアドレス値が設定される（第１のアドレス設定手段）。
【００５９】
（６）ＤＴＣ９は、ＳＡＲのビット４〜１の値をイベントカウンタ制御回路１０からのイベント番号に置き換える（図５（ｂ）のＳ１７）。そして、置き換えられたＳＡＲアドレスからデータを読み出す（図５（ｂ）のＳ１８）。さらに、読み出したデータに対し＋１を加算し、データレジスタに格納する（図５（ｂ）のＳ１９）。
【００６０】
なお、ＳＡＲの最下位ビットが“０”に固定されているのは、この例では、ＲＡＭを８ビット構成とし、ワード（１６ビット）単位のメモリアクセスを行うことを想定しているためで、勿論これに限定されるものではない。また、イベント番号に置き換えるＳＡＲのビット４〜１に関しても、下位ビットを置き換えた方がメモリ動作上望ましくはあるが、特に下位の４ビットに限定されるものではない。
【００６１】
（７）ＤＴＣ９は、ＤＡＲのビット４〜１の値をイベントカウンタからのイベント番号に置き換える（図６（ａ）のＳ２０）。そして、置き換えられたＤＡＲアドレスにデータを書き込む（図６（ａ）のＳ２１）。
【００６２】
すなわち、図６（ａ）のＲＡＭ上のＥＶＥＮＴ０用カウンタレジスタ１７からＤＴＣ９に対してデータが読み込まれ、＋１が加算され、その加算されたデータを同じ場所に書き戻すことになる。
【００６３】
また、ＥＮＥＮＴ０以外で、例えば、ＥＶＥＮＴ１５からの入力をカウントする場合も、前記、Ｓ１１〜Ｓ２１と同様な動作で対応できる。但し、この場合はイベント番号が、例えば“１１１１”などとなり、ＳＡＲ、ＤＡＲのビット４〜１がこの値に置き換えられる。これにより、図６（ａ）のＥＶＥＮＴ１５用カウンタレジスタ１８に示すようなＲＡＭ領域にカウント値を記憶することになる。
【００６４】
（８）ＤＴＣ９は、処理終了信号を割り込み制御回路に対して出力する（図６（ｂ）のＳ２２）。割り込み制御回路４は、処理終了信号を受けて、イベントカウンタ制御回路内の制御レジスタをクリアする（図６（ｂ）のＳ２３）。
【００６５】
以上までの説明により、本発明の一実施の形態の半導体集積回路によれば、外部からのイベント信号を検出してそれをカウントするイベントカウント機能を、データ転送制御回路を活用することで、タイマ回路やＣＰＵなどを用いずに実現することができる。
【００６６】
また、外部からのイベント信号の数（チャネル数）が増加しても、ＲＡＭを使用することで、タイマ回路などのようにレジスタの増加を必要としない。
【００６７】
さらに、複数のチャネルの識別は、割り込み制御回路ではなく、ＤＴＣに対するイベント番号で行われる。このため、割り込み制御回路に対しては、１つの割り込み信号を発生させるだけでよく、割り込み制御回路の論理規模増大も抑えられる。
【００６８】
このようなことから、イベントカウント機能を小面積で実現することができ、さらに面積を増大させることなく、イベントのチャネル数を増やすこともできる。
【００６９】
なお、これまでは、ＤＴＣを活用してイベントカウンタ機能を実現する例を示したが、ＤＴＣの代わりにＤＭＡＣを活用しても同様に実現することができる。
【００７０】
図７は、本発明の一実施の形態の半導体集積回路において、ＤＭＡＣを活用してイベントカウンタ機能を実現する構成の一例を示す概略図である。
【００７１】
図７の構成および動作は、前記ＤＴＣを活用した場合とほぼ同様となるが、構成を簡単に説明すると下記のようになる。
【００７２】
ＤＭＡＣ（データ転送制御回路）は、通常、データ転送先アドレス（第２のアドレス）およびデータ転送元アドレス（第１のアドレス）を設定することができる専用レジスタ（ＭＡＲ、ＩＯＡＲ）などを備えている。
【００７３】
そこで、ＤＴＣの場合と同様に、データ転送先およびデータ転送元のアドレスを同一の値に設定する第１のアドレス設定手段と、専用レジスタの値の一部を、入力されたイベント番号に置き換えるアドレス制御回路１９（第２のアドレス設定手段）と、イベント信号を検出してＤＭＡＣ２０に対してイベント番号を発生するイベントカウンタ制御回路（イベントカウンタ制御手段）１０と、割り込み制御回路（割り込み制御手段）４と、ＲＡＭ２と、データバッファ２１ならびに加算器１６からなるデータカウント手段とを設けることでイベントカウンタ機能が実現できる。
【００７４】
なお、この第１のアドレス設定手段は、通常、ＤＭＡＣ２０の機能として備わっている。
【００７５】
このように、設計思想はＤＴＣを活用した場合と同様である。但し、ＤＭＡＣの構成によっては、それぞれの構成に対応した他の制御回路が若干必要となる可能性もある。ただし、これらの制御回路の面積は、通常、さほど大きくなることはないと考えられるため、低コストでイベントカウント機能を実現することができると言える。
【００７６】
つぎに、図１に示したようなマイクロコンピュータにおいて、本発明の一実施の形態の半導体集積回路は、外部のイベントだけではなく、内部のイベントも検出しカウントすることができる。その構成の一例を図８に示す。
【００７７】
図８は、本発明の一実施の形態の半導体集積回路において、内部モジュールの動作をモニタする機能を実現する構成の一例を示す概略図である。
【００７８】
図８に示す半導体集積回路は、例えば、ＤＴＣ９と、割り込み制御回路４と、ＲＡＭ２と、ＣＰＵ１と、内部モジュールＡ６，Ｂ７，Ｃ８などから構成される。
【００７９】
ＤＴＣ９は、図２と同一の構成であり、ＳＡＲとＤＡＲを同一のアドレスに設定する第１のアドレス設定手段と、それらのアドレスの一部を置き換える第２のアドレス設定手段と、ＳＡＲのアドレスから読み出したＲＡＭ２上のメモリデータに対し＋１を加算し、データレジスタに格納するデータカウント手段とを有している。
【００８０】
この構成例では、内部モジュールＡ〜Ｃに、それらが動作する毎に、動作信号（ＳＩＧＡ〜Ｃ）とそれぞれで異なるイベント番号（ＩＮＯＡ〜Ｃ）を出力させる。動作信号は、ＯＲ演算が行われて割り込み制御回路に出力される。イベント番号は、ＤＴＣ９内の第２のアドレス設定手段に出力される。
【００８１】
内部モジュールＡ〜Ｃの動作信号を受けて、割り込み制御回路よりＤＴＣに対してデータ転送の起動要求信号（ＤＴＲＱ）が出力されると、ＳＡＲとＤＡＲの一部の値は、動作が行われた内部モジュールのイベント番号に置き換えられる。
【００８２】
そして、ＤＴＣ９でのデータ転送動作と、データカウント手段によって、それぞれ、内部モジュール毎の動作信号の発生回数がカウントされ、ＲＡＭ２上に記憶される。
【００８３】
ただし、詳細には、ＤＴＲＱと出力されたイベント番号のタイミング調整や、内部モジュールＡ〜Ｃが同時に動作した場合の制御などを考慮する必要がある。
【００８４】
このような構成を用いると、例えば、内部モジュールの稼働率などが確認でき、ユーザのソフトによって一定時間動作していないモジュールは低消費電力状態にしたり、稼働率の高いモジュールは優先順位を上げるなどの処理が可能となる。
【００８５】
つぎに、これまでに示したような半導体集積回路や、それを搭載したマイクロコンピュータの用途の一例を図９を用いて説明する。
【００８６】
図９は、例えば、ファンの回転制御を用途として、前記図２のようなイベントカウント機能を搭載したマイクロコンピュータを使用した一例である。
【００８７】
ファンＡ、ファンＢおよびファンＣの回転状態信号が、それぞれマイクロコンピュータ（マイコン）のＥＶＥＮＴ０、ＥＶＥＮＴ１、ＥＶＥＮＴ２端子に接続されている。そして、マイクロコンピュータより、各ファンの回転速度を示す信号をＰＡ０、ＰＡ１およびＰＡ２より出力し、また各ファンに対する回転速度制御信号をＰＢ０、ＰＢ１およびＰＢ２より出力する。
【００８８】
このような構成において、各ファンの回転速度に応じてパルス（イベント）の頻度が異なる回転状態信号がマイクロコンピュータに入力される。例えば、図９では、ファンＡの回転速度が速く、ファンＣの回転速度が遅いことを示している。
【００８９】
プログラムなどによって、一定時間毎に、各イベントの発生回数を確認する。この確認は、マイクロコンピュータ内の各イベント毎のカウント値が記憶されているＲＡＭの値を読み出すことで行われる。
【００９０】
そして、イベントの発生数が規定より多すぎる場合は、該当するファンに対して、速度を下げるように回転速度制御信号が出力され、逆に、少なすぎる場合は、該当するファンに対して、速度を上げるように回転速度制御信号が出力される。
【００９１】
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【００９２】
例えば、ＤＴＣなどのデータ転送制御回路に、ＳＡＲとＤＡＲに同一のアドレスを設定する第１のアドレス設定手段と、ＲＡＭから読み出したデータに加算を行うデータカウント手段を設けるだけでも、ＤＴＣに対するデータ転送の起動要求信号をトリガとする仮想カウンタとして使用可能である。
【００９３】
また、例えば、データカウント手段は、加算器に限定されるものではなく、減算器などでも代用可能である。
【００９４】
さらに、これまでに説明した本発明の一実施の形態の半導体集積回路は、必ずしもマイクロコンピュータ内部にしか適用されない訳ではなく、ＤＭＡＣやＤＴＣなどのデータ転送制御回路を含むコントローラチップなどに対しても適用可能である。
【００９５】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【００９６】
（１）データ転送制御回路に加算器を加え、転送元アドレスと転送先アドレスを同一にしてデータ転送を行うことで、仮想的なカウンタ機能を実現できる。
【００９７】
（２）前記（１）のカウンタ機能に加えて、複数チャネルのイベントをそれぞれ検出して、チャネル毎に異なるイベント番号を発生する機能と、転送元アドレスと転送先アドレスの一部をイベント番号に置き換える機能とを追加することで、複数チャネルのイベントに対応したイベントカウンタ機能を実現できる。
【００９８】
（３）前記（１），（２）のカウンタ機能およびイベントカウンタ機能は、タイマ回路などのようにレジスタにではなく、ＲＡＭにカウント値を記憶するため、小さい回路面積で実現できる。また、チャネル数が増加すると、この効果はより顕著なものとなる。
【００９９】
（４）前記（１），（２）のカウンタ機能およびイベントカウンタ機能は、データ転送制御回路を用いるため、ＣＰＵでこれらの機能を実現するよりは高速動作が可能である。
【０１００】
（５）前記（２）のイベントカウンタ機能は、チャネルの切り替えをイベント番号とアドレスの置き換えによって実現する方式であるため、チャネルの認識に関わる割り込み処理などの回路が不要となり、小さい回路面積で実現できる。
【０１０１】
（６）タイマ回路を用いずに、カウント機能およびイベントカウント機能を実現できるため、タイマ回路を他のリソースに有効活用することができる。
【０１０２】
（７）前記（１）〜（６）により、特にマイクロコンピュータにおいて有効なカウンタ機能およびイベントカウンタ機能を提供できる。
【０１０３】
【発明の効果】
半導体集積回路およびその半導体集積回路を搭載したマイクロコンピュータの低面積化を実現できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態のマイクロコンピュータの構成例を示すブロック図である。
【図２】本発明の一実施の形態の半導体集積回路において、ＤＴＣを活用して、イベントカウント機能を実現する構成の一例を示す図である。
【図３】本発明の一実施の形態の半導体集積回路において、図２のＤＴＣに備えるアドレス設定手段の一例を示す模式図である。
【図４】（ａ）〜（ｃ）は、本発明の前提となる半導体集積回路において、ＤＴＣの基本動作を説明する構成概略図である。
【図５】（ａ），（ｂ）は、本発明の一実施の形態の半導体集積回路において、図２のイベントカウント機能の動作の一例を説明するための構成概略図である。
【図６】（ａ），（ｂ）は、本発明の一実施の形態の半導体集積回路において、図２のイベントカウント機能の動作の一例を説明するための、図５に続く構成概略図である。
【図７】本発明の一実施の形態の半導体集積回路において、ＤＭＡＣを活用して、イベントカウント機能を実現する構成の一例を示す概略図である。
【図８】本発明の一実施の形態の半導体集積回路において、内部モジュールの動作をモニタする機能を実現する構成例を示す概略図である。
【図９】本発明の一実施の形態のマイクロコンピュータを用いて、ファンの回転制御を行う使用例を示す図である。
【符号の説明】
１  ＣＰＵ
２  ＲＡＭ
３  ＲＯＭ
４  割り込み制御回路
５  バスコントローラ
６〜８  内部モジュール
９  ＤＴＣ
１０  イベントカウンタ制御回路
１１  イベント検出部
１２〜１５，１７，１８  レジスタ
１６  加算器
１９  アドレス制御回路
２０  ＤＭＡＣ
２１  バッファ
３０  アドレス設定手段
【図１】
2004287591.tif 000003
【図２】
2004287591.tif 000004
【図３】
2004287591.tif 000005
【図４】
2004287591.tif 000006
【図５】
2004287591.tif 000007
【図６】
2004287591.tif 000008
【図７】
2004287591.tif 000009
【図８】
2004287591.tif 000010
【図９】
2004287591.tif 000011