(57)【要約】【課題】ＲＦＵ転送を使用し内蔵ＲＡＭをＦＩＦＯとして使用する場合に、ＣＰＵとＲＦＵとの並列動作を可能にし、処理効率を大幅に向上する。【解決手段】半導体集積回路装置１には、ＣＰＵ２の処理に用いられる第１バスＢ１と、ＲＡＭ−ＦＩＦＯユニット３などのデータ転送処理に用いられる第３バスＢ３とは、バスブリッジＢＢ１，ＢＢ２を介して接続されている。バスブリッジＢＢ１は、アドレスバスＡＢ１からアドレスバスＡＢ３にデータを出力し、バスブリッジＢＢ２は、データバスＤＢ１からデータバスＤＢ３、またはデータバスＤＢ３からデータバスＤＢ１のいずれか一方にデータを出力する。そして、ＣＰＵ２とＲＡＭ−ＦＩＦＯユニット３とを並行動作させる際には、バスブリッジＢＢ１，ＢＢ２によって第１バスＢ１と第３バスＢ３とを分離させて並行処理を行う。【選択図】　　　図１
2004013794.tif 000002
【特許請求の範囲】
【請求項１】
中央処理装置、第１の内蔵メモリ、および外部バスインタフェースが相互に接続される第１バスと、
複数の周辺モジュールが相互に接続される第２バスと、
第２の内蔵メモリ、データ転送制御装置、ならびに前記複数の周辺モジュールのうち、前記データ転送制御装置に制御されるデータ転送周辺モジュールが接続される第３バスと、
前記中央処理装置が前記第２の内蔵メモリにアクセスする際に、前記第１バスと前記第３バスとを接続するバススイッチ手段とを設けたことを特徴とする半導体集積回路装置。
【請求項２】
請求項１記載の半導体集積回路装置において、前記中央処理装置が、前記データ転送制御装置、ならびに前記データ転送周辺モジュールのレジスタにそれぞれデータ設定する際には、前記第２バスを使用することを特徴とする半導体集積回路装置。
【請求項３】
請求項１または２記載の半導体集積回路装置において、前記バススイッチ手段は、前記中央処理装置が前記第２の内蔵メモリにアクセスしていない際に、前記第１バスと前記第３バスとを分離し、前記第１、および第３バス、あるいは前記第２、ならびに前記第３バスをそれぞれ並行して使用することを特徴とする半導体集積回路装置。
【請求項４】
請求項１〜３のいずれか１項に記載の半導体集積回路装置において、前記データ転送制御装置は、ＲＡＭ−ＦＩＦＯユニット、ＤＭＡＣ、またはＤＴＣの少なくともいずれかよりなり、前記データ転送周辺モジュールは、ユニバーサルシリアルコントローラ、またはメモリスティックインタフェースの少なくともいずれかよりなることを特徴とする半導体集積回路装置。
【請求項５】
請求項１〜４のいずれか１項に記載の半導体集積回路装置において、
前記バススイッチ手段は、
前記第１バスのアドレスバスと前記第３バスのアドレスバスとを接続する第１のバスブリッジと、
前記第１バスのデータバスと前記第３バスのデータバスとを接続する第２のバスブリッジとから構成され、
前記第１のバスブリッジは、前記中央処理装置が前記第２の内蔵メモリのデータをリード／ライトする際に、前記第１バスのアドレスバスから前記第３バスのアドレスバスにアドレスデータを出力し、
前記第２のバスブリッジは、前記中央処理装置が前記第２の内蔵メモリのデータをライトする際に、前記第１バスのデータバスから前記第３バスのアドレスバスにデータを出力し、前記中央処理装置が前記第２の内蔵メモリのデータをリードする際には、前記第３バスのデータバスから前記第１バスのデータバスにデータを出力することを特徴とする半導体集積回路装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体集積回路装置に関し、特に、中央処理装置が周辺モジュールが内蔵されたマイクロプロセッサやマイクロコンピュータにおける処理速度の低下防止に適用して有効な技術に関するものである。
【０００２】
【従来の技術】
たとえば、シングルチップマイクロコンピュータは、ＣＰＵなどのプロセッサを中心にしてプログラム保持用のＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）、データ保持用のＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）、およびデータの入出力を行うための入出力回路などの機能ブロックが一つの半導体基板上に形成されている。
【０００３】
本発明者らは本発明前に検討したシングルチップマイクロコンピュータには、ＲＡＭ−ＦＩＦＯユニット（ＲＦＵ）のようなデータ転送制御装置が一般的に内蔵されており、該ＲＦＵによって、ＣＰＵと独立にデータ転送が可能となっている。
【０００４】
このＲＦＵは、内蔵する周辺機能から起動することができ、ＲＡＭをＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ　Ｆｉｒｓｔ−Ｏｕｔ）のように扱うことができる。たとえば、パーソナルコンピュータ上のＭＰ３データのメモリスティックへの書き込みや、メモリスティック内のＭＰ３データの携帯プレイヤーでの再生のような、大容量データの高速での処理に適している。
【０００５】
なお、上記ＲＡＭ−ＦＩＦＯユニット（ＲＦＵ）を有するシングルチップマイクロコンピュータに関しては、本願出願人から提案された特願２００１−１４２４９８号がある。
【０００６】
【発明が解決しようとする課題】
ところが、上記のような半導体集積回路装置におけるデータ処理技術では、次のような問題点があることが本発明者により見い出された。
【０００７】
すなわち、ＲＦＵの転送はＣＰＵと独立しているが、バスを共有しているために、データ転送に必要なバスサイクルではＣＰＵを停止してしまうことになる。ＲＦＵでのデータ転送はＲＡＭへのアクセスにおいて２ステートで実行される。
【０００８】
それにより、大量のデータを処理しようとした場合、内部バスを連続して使用してしまうため、ＣＰＵの命令処理速度が極端に低下してしまうという問題がある。
【０００９】
たとえば、携帯プレイヤーなどのシステムにおいては、音楽再生中に液晶表示、電源管理などを同時に実行する要望も想定されるため、必要以上のＣＰＵ処理速度の低下は避ける必要がある。携帯機器の多機能性、高性能化には、半導体集積回路装置におけるトータルな処理性能の向上が望まれることになる。
【００１０】
本発明の目的は、ＲＦＵ転送を使用し内蔵ＲＡＭをＦＩＦＯとして使用する場合に、ＣＰＵとＲＦＵとの並列動作を可能にすることによって、処理効率を大幅に向上することのできる半導体集積回路装置を提供することにある。
【００１１】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【００１２】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
１．本発明は、中央処理装置、第１の内蔵メモリ、および外部バスインタフェースが相互に接続される第１バスと、複数の周辺モジュールが相互に接続される第２バスと、第２の内蔵メモリ、データ転送制御装置、ならびに複数の周辺モジュールのうち、データ転送制御装置に制御されるデータ転送周辺モジュールが接続される第３バスと、該中央処理装置が第２の内蔵メモリにアクセスする際に、第１バスと第３バスとを接続するバススイッチ手段とを設けたものである。
【００１３】
また、本願のその他の発明の概要を簡単に示す。
２．前記第１項において、中央処理装置は、データ転送制御装置、ならびにデータ転送周辺モジュールのレジスタにそれぞれデータ設定する際に第２バスを使用するものである。
３．前記第１項または前記第２項において、バススイッチ手段は、中央処理装置が第２の内蔵メモリにアクセスしていない際に、第１バスと第３バスとを分離するものである。
４．前記第１項〜前記第３項のいずれかにおいて、データ転送制御装置が、ＲＡＭ−ＦＩＦＯユニット、ＤＭＡＣ（Ｄｉｒｅｃｔ　Ｍｅｍｏｒｙ　ＡｃｃｅｓｓＣｏｎｔｒｏｌｌｅｒ）、またはＤＴＣ（Ｄａｔａ　Ｔｒａｎｓｆｅｒ　Ｃｏｎｔｒｏｌｌｅｒ）の少なくともいずれかよりなり、データ転送周辺モジュールが、ユニバーサルシリアルコントローラ、またはメモリスティックインタフェースの少なくともいずれかよりなるものである。
５．前記第１項〜前記第４項のいずれかにおいて、バススイッチ手段は、第１バスのアドレスバスと第３バスのアドレスバスとを接続する第１のバスブリッジと、第１バスのデータバスと第３バスのデータバスとを接続する第２のバスブリッジとから構成され、第１のバスブリッジは、中央処理装置が第２の内蔵メモリのデータをリード／ライトする際に、第１バスのアドレスバスから第３バスのアドレスバスにアドレスデータを出力し、第２のバスブリッジは、中央処理装置が第２の内蔵メモリのデータをライトする際に、第１バスのデータバスから第３バスのデータバスにデータを出力し、中央処理装置が第２の内蔵メモリのデータをリードする際には、第３バスのデータバスから第１バスのアドレスバスにデータを出力するものである。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【００１５】
図１は、本発明の一実施の形態による半導体集積回路装置のブロック図、図２は、図１の半導体集積回路装置における第３バス、およびその周辺モジュールの接続構成を示すブロック図、図３は、図１の半導体集積回路装置に設けられたバスブリッジの説明図、図４は、図１の半導体集積回路装置に設けられたＲＡＭ−ＦＩＦＯユニットのブロック図、図５は、図４のＲＡＭ−ＦＩＦＯユニットにおける初期化／動作のフローチャート、図６は、図１の半導体集積回路装置に設けられたユニバーサルシリアルコントローラのブロック図、図７は、図１の半導体集積回路装置に設けられたメモリスティックインタフェースのブロック図、図８は、図１の半導体集積回路装置における第１バスと第３バスとの並行動作の一例を示すタイミングチャート、図９は、図１の半導体集積回路装置における第２バスと第３バスとの並行動作の一例を示すタイミングチャートである。
【００１６】
本実施の形態において、半導体集積回路装置１は、シングルチップマイクロコンピュータであり、単結晶シリコンなどの半導体基板（半導体チップ）に公知のＣＭＯＳ製造プロセスによって形成されている。
【００１７】
半導体集積回路装置１は、図１に示すように、ＣＰＵ（中央処理装置）２、周辺モジュール、およびバスブリッジＢＢ１，ＢＢ２などから構成されている。周辺モジュールは、ＲＡＭ−ＦＩＦＯユニット（データ転送制御装置）３、ＲＯＭ（第１の内蔵メモリ）４、ＲＡＭ（第２の内蔵メモリ）５、ユニバーサルシリアルコントローラ（データ転送周辺モジュール）６、メモリスティックインタフェース（データ転送周辺モジュール）７、バスコントローラ８、外部バスインタフェース（外部バスＩ．Ｆ）９、およびＩ／Ｏポート１０などからなる。
【００１８】
また、ＣＰＵ２、ＲＯＭ４、ならびに外部バスインタフェース９は、第１バスＢ１を介して相互に接続されている。この第１バスＢ１は、アドレスバスＡＢ１、およびデータバスＤＢ１からなる。
【００１９】
ＲＡＭ−ＦＩＦＯユニット３、ユニバーサルシリアルコントローラ６、メモリスティックインタフェース７、およびＩ／Ｏポート１０は、第２バスＢ２を介して相互に接続されている。また、この第２バスＢ２は、バスコントローラ８を介して第１バスＢ１に接続されている。この第２バスＢ２は、アドレスバスＡＢ２、およびデータバスＤＢ２からなる。
【００２０】
ＲＡＭ−ＦＩＦＯユニット３、ＲＡＭ５、ユニバーサルシリアルコントローラ６、およびメモリスティックインタフェース７は、第３バスＢ３を介して相互に接続されており、該第３バスＢ３は、アドレスバスＡＢ３、およびデータバスＤＢ３からなる。
【００２１】
さらに、第１バスＢ１のアドレスバスＡＢ１と第３バスＢ３のアドレスバスＡＢ３とはバスブリッジ（バススイッチ手段、第１のバスブリッジ）ＢＢ１を介して接続されている。また、第１バスＢ１のデータバスＤＢ１と第３バスＢ３のデータバスＤＢ３とはバスブリッジ（バススイッチ手段、第２のバスブリッジ）ＢＢ２を介して接続されている。
【００２２】
バスブリッジＢＢ１は、１方向にデータを出力するブリッジであり、アドレスバスＡＢ１からアドレスバスＡＢ３にデータを出力する。バスブリッジＢＢ２は、データバスＤＢ１からデータバスＤＢ３、またはデータバスＤＢ３からデータバスＤＢ１のいずれか一方にデータを出力するブリッジである。
【００２３】
これらバスブリッジＢＢ１，ＢＢ２は、バスコントローラ８から出力されるバス制御信号に基づいて第１バスＢ１と第３バスＢ３との接続制御を行う。
【００２４】
ＣＰＵ２は、中央処理装置であり、半導体集積回路装置１におけるすべての制御を司る。ＲＡＭ−ＦＩＦＯユニット３はバッファメモリであり、ＲＡＭ５などのデータをメモリスティックインタフェース７などの周辺回路に直接転送する。ＲＯＭ４は、読み出し専用メモリであり、ＣＰＵ２によって実行されるプログラム命令を含む制御プログラムなどを格納する。
【００２５】
ＲＡＭ５は、随時読み出し／書き込みが可能なメモリであり、入出力データや演算データなどを一時的に格納する。ユニバーサルシリアルコントローラ６は、共通のコネクタによってプリンタやスキャナなどの様々な周辺機器を接続することのできるインタフェース規格であるＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）インタフェースの制御を行う。
【００２６】
メモリスティックインタフェース７は、画像や音声などのデータの記録再生が可能なメディアであるメモリスティックのインタフェースである。バスコントローラ８は、半導体集積回路装置１内外のアドレスバスやデータバスの制御を行う。外部バスインタフェース９は、外部バス用のインタフェースである。
【００２７】
Ｉ／Ｏポート１０は周辺回路における外部インタフェースバッファとして機能する。たとえば、ユニバーサルシリアルコントローラ６、メモリスティックインタフェース７などにおける外部デバイスとの送受信端子は、Ｉ／Ｏポート内の所定のポートに割り当てられる。
【００２８】
また、第３バスＢ３、およびその周辺モジュールの接続構成などについて説明する。
【００２９】
第３バスＢ３には、図２に示すように、ＲＡＭ−ＦＩＦＯユニット３、ＲＡＭ５、ユニバーサルシリアルコントローラ６、およびメモリスティックインタフェース７が接続されている。
【００３０】
また、ユニバーサルシリアルコントローラ６、およびメモリスティックインタフェース７には、第３バスインタフェースＢＩＦ３がそれぞれ設けられている。
【００３１】
バスコントローラ８には、ＲＡＭ−ＦＩＦＯユニット３が接続されており、バスコントローラ８からはアクノリッジ信号が出力されるとともに該バスコントローラ８から出力されたバス権要求信号が入力される。
【００３２】
ＲＡＭ−ＦＩＦＯユニット３には、ユニバーサルシリアルコントローラ６、およびメモリスティックインタフェース７からそれぞれ出力されたＲＦＵバス権要求信号が入力されるように接続されている。
【００３３】
さらに、ＲＡＭ−ＦＩＦＯユニット３には、ユニバーサルシリアルコントローラ６、およびメモリスティックインタフェース７がそれぞれ接続されており、リード信号、ライト信号、データ転送ＩＤ番号、ＲＦＵアクノリッジＩＤ番号、およびＲＦＵアクノリッジ信号が出力されるように接続されている。
【００３４】
ユニバーサルシリアルコントローラ６、ならびにメモリスティックインタフェース７は、第３バスＢ３を使用するためのバス権要求信号をＲＡＭ−ＦＩＦＯユニット３に出力する。ＲＡＭ−ＦＩＦＯユニット３は、第３バスＢ３を使用する際に、バス権要求信号をバスコントローラ８に出力する。
【００３５】
バスコントローラ８は、ＣＰＵ２による第３バスＢ３の使用、すなわちＲＡＭ５のアクセスがなければ、ＲＡＭ−ＦＩＦＯユニット３に対してアクノリッジ信号を出力する。
【００３６】
そして、ＲＡＭ−ＦＩＦＯユニット３は、第３バスＢ３の使用権を与えられたことを認識したＲＦＵアクノリッジ信号をユニバーサルシリアルコントローラ６、およびメモリスティックインタフェース７に出力する。
【００３７】
このとき、ユニバーサルシリアルコントローラ６、またはメモリスティックインタフェース７のいずれかのバス権要求を許可したかを明確にするために、ユニバーサルシリアルコントローラ６、ならびにメモリスティックインタフェース７に対してＲＦＵアクノリッジＩＤ番号を通知する。
【００３８】
第３バスＢ３の使用権が与えられた周辺回路は、ＲＡＭ５とのデータ転送を実施する。このとき、ＲＡＭ−ＦＩＦＯユニット３からリード信号、ライト信号と、転送を実行するデータ転送ＩＤ番号とをユニバーサルシリアルコントローラ６、およびメモリスティックインタフェース７に出力する。
【００３９】
図３は、第１バスＢ１と第３バスＢ３とを接続するブリッジＢＢ１，ＢＢ２の説明図である。
【００４０】
第１バスＢ１のアドレスバスＡＢ１と第３バスＢ３のアドレスバスＡＢ３とはバスブリッジＢＢ１を介して接続されており、ＣＰＵ２がＲＡＭ５をリード／ライトする際にバスコントローラ８から出力される制御信号Ｃ１がアサートの期間、アドレスバスＡＢ１からアドレスバスＡＢ３にデータを出力する。
【００４１】
また、第１バスＢ１のデータバスＤＢ１と第３バスＢ３のデータバスＤＢ３とはバスブリッジＢＢ２を介して接続されている。
【００４２】
このバスブリッジＢＢ２は２つのドライバからなり、ＣＰＵ２がＲＡＭ５をリードする際にバスコントローラ８から出力される制御信号Ｃ２がアサートの期間は、アドレスバスＡＢ３からアドレスバスＡＢ１にデータを出力し、ＣＰＵ２がＲＡＭ５をライトする際にバスコントローラ８から出力される制御信号Ｃ３がアサートの期間は、アドレスバスＡＢ１からアドレスバスＡＢ３にデータを出力する。
【００４３】
また、ＣＰＵ２のＲＡＭアクセスとＲＡＭ−ＦＩＦＯユニット３によるデータ転送処理が競合した場合、ＣＰＵ２、ＲＡＭ−ＦＩＦＯユニット３の優先順位の高い方が第３バスＢ３を使用する。第３バスＢ３は、ＵＳＢなどの高速データ転送が要求されるため、ＲＡＭ−ＦＩＦＯユニット３のデータ転送を優先する方が望ましい。
【００４４】
さらに、ＲＡＭ−ＦＩＦＯユニット３の構成について、図４を用いて説明する。
【００４５】
ＲＡＭ−ＦＩＦＯユニット３は、チャネルＣＨ０〜ＣＨ７の８チャネルのＦＩＦＯを持つ。各チャネルはベースアドレスレジスタＢＡＲ、リードアドレスレジスタＲＡＲ、ライトアドレスレジスタＷＡＲ、テンポラリポインタＴＭＰ、データ転送コントロールレジスタＤＴＣＲＡ、データ転送コントロールレジスタＤＴＣＲＢ、データ転送Ｉ／ＤレジスタＤＴＩＤＲ、およびデータ転送ステータスレジスタＣＤＴＳＴＲＣを持つ。
【００４６】
また、各チャネル共通で有効データバイト数ＤＡＴＡＮ、フリーエリアバイト数ＦＲＥＥＮ、リード先頭アドレスＮＲＡ、ライト先頭アドレスＮＷＡ、データ転送ＩＤリード／ライト選択レジスタＤＴＩＤＳＲＡ，ＤＴＩＤＳＲＢ、データ転送ステータスレジスタＤＴＳＴＲＡ，ＤＴＳＴＲＢ、データ転送コントロールレジスタＤＴＣＲＢ，ＤＴＣＲＣ，ＤＴＣＲＤ、データ転送割込みイネーブルレジスタＤＴＩＥＲ、データ転送レジスタ選択レジスタＤＴＩＳＲを有する。
【００４７】
制御論理部では、各周辺モジュール（ユニバーサルシリアルコントローラ６、およびメモリスティックインタフェース７）からのバス権要求を受け、バスコントローラに対するバス権要求、バスコントローラからのアクノリッジ信号を入力し、各周辺モジュールへのアクノリッジ信号出力の制御を行う。
【００４８】
また、各々の周辺モジュールからのバス権要求を受けて、ＲＡＭ−ＦＩＦＯユニット３の起動するチャネル、そのチャネルに設定したデータ転送Ｉ／ＤレジスタＤＴＩＤＲの値に従い、転送を実行する周辺モジュールのＩＤ番号の各周辺モジュールへの通知とリード信号、ライト信号の出力を行う。
【００４９】
データ転送を実行した後、リードアドレスレジスタＲＡＲ、およびライトアドレスレジスタＷＡＲを自動的に加算し、次のデータ転送時のアドレスレジスタとして使用できるようにしている。
【００５０】
また、ＦＩＦＯサイズとリードアドレスレジスタＲＡＲ、ならびにライトアドレスレジスタＷＡＲとを比較することにより、割り込みコントローラに対して、内部割り込み要求を行っている。
【００５１】
データ転送を実行する際のアドレスをベースアドレスレジスタＢＡＲ、リードアドレスレジスタＲＡＲ、ライトアドレスレジスタＷＡＲ、テンポラリポインタＴＭＰに設定する。
【００５２】
ＲＡＭ−ＦＩＦＯユニット３によるデータ転送を実行する時に、上記各レジスタに設定された値が、内部アドレスバスに出力され、アクセスするＲＡＭアドレスとして使用される。
【００５３】
また、各周辺モジュールのバス権要求には固有のＩＤ番号が予め定められている。各チャネルのデータ転送Ｉ／ＤレジスタＤＴＩＤＲにはデータ転送を実行するバス権要求に対応したＩＤ番号を設定する。
【００５４】
データ転送コントロールレジスタＤＴＣＲＡにはバス権要求によるデータ転送のデータサイズがワードまたはバイトかの設定、使用するチャネルのＦＩＦＯのサイズ指定などを行う。
【００５５】
データ転送ＩＤリード／ライト選択レジスタＤＴＩＤＳＲＡ，ＤＴＩＤＳＲＢにはバス権要求がＲＡＭ５のリードかＲＡＭ５のライトどちらを実行するかを設定する。
【００５６】
その他、データ転送割り込みイネーブルレジスタＤＴＩＥＲは内部割り込みの使用許可、データ転送コントロールレジスタＤＴＣＲＢはポインタ制御機能の使用許可、データ転送コントロールレジスタＤＴＣＲＤは各チャネルのイネーブルビット、データ転送ステータスレジスタＤＴＳＴＲＡ，ＤＴＳＴＲＢは内部割り込みフラグレジスタ、有効データバイト数ＤＡＴＡＮ、フリーエリアバイト数ＦＲＥＥＮ、リード先頭アドレスＮＲＡ、ライト先頭アドレスＮＷＡは各チャネルのＦＩＦＯの有効データ数、空き容量、リードした時点のリードポインタ、ライトポインタ値を格納する。
【００５７】
データ転送レジスタ選択レジスタＤＴＩＳＲは、ＣＰＵ２がＲＡＭ−ＦＩＦＯユニット３のレジスタにアクセスする時のＲＦＵチャネルの設定などを行っている。
【００５８】
ここで、ＲＡＭ−ＦＩＦＯユニット３の初期化／動作について、図５のフローチャートを用いて説明する。
【００５９】
まず、使用するＲＡＭ−ＦＩＦＯユニット３のチャネルをディスイネーブルにし（ステップＳ１０１）、データ転送アドレスを指定するリードアドレスポインタＲＡＲ、ライトアドレスポインタＷＡＲ、およびテンポラリポインタＴＭＰをクリアする（ステップＳ１０２）。
【００６０】
そして、ＦＩＦＯの状態を示す各ステータスレジスタの値をクリアし（ステップＳ１０３）、ＲＦＵデータ転送を実行するＲＡＭアドレスを指定する（ステップＳ１０４）。
【００６１】
ＲＦＵデータ転送を実行するとき、データサイズ（ワード転送またはバイト転送）、ＦＩＦＯとして使用するＲＡＭ容量、各ポインタの動作モードを設定する（ステップＳ１０５）。
【００６２】
その後、ＲＦＵデータ転送結果によりセットされるステータスレジスタを使用するかどうかを設定する（ステップＳ１０６）。そして、ＲＡＭ−ＦＩＦＯユニット３を使用する周辺モジュール（ＩＤ）、およびデータ転送実行時の転送方向（ＲＡＭ５から周辺モジュールへ、または周辺モジュールからＲＡＭ５へ）を設定する（ステップＳ１０７）。
【００６３】
ＲＡＭ−ＦＩＦＯユニット３の内部割り込みを使用するか否かの設定を行った後（ステップＳ１０８）、ＲＡＭ−ＦＩＦＯユニット３をイネーブルとし、周辺モジュールよりＲＦＵバス権要求が発生すると、該ＲＡＭ−ＦＩＦＯユニット３が起動し、データ転送を実行する（ステップＳ１０９）。
【００６４】
そして、周辺モジュールからＲＡＭ−ＦＩＦＯユニット３へのバス権要求が発生した際には（ステップＳ１１０）、第３バスＢ３を使用したＲＡＭ５と周辺モジュールとの間のデータ転送が実行される（ステップＳ１１１）。
【００６５】
また、ユニバーサルシリアルコントローラ６の構成について説明する。
【００６６】
ユニバーサルシリアルコントローラ６は、図６に示すように、内蔵ＦＩＦＯコントロールＦＣ、エンドポイント４用送信バッファＤＢ、エンドポイント５用受信バッファＲＢ、制御レジスタＣＲ、ＵＳＢファンクションコアＵＣ、クロック選択部ＣＳ、フェイズロックドループＰＬＬ、ＲＦＵコミュニケーション部ＣＯＭ、割り込みインタフェースＩＲ、第２バスインタフェースＢＩＦ２、第３バスインタフェースＢＩＦ３、バスドライバ／レシーバＢＤＲなどから構成される。
【００６７】
この場合、エンドポイント４用送信バッファＤＢ、エンドポイント５用受信バッファＲＢのＦＩＦＯとしてＲＡＭ−ＦＩＦＯユニット３を搭載することにより、ＲＡＭ５をＦＩＦＯとして使用することを可能としている。このＦＩＦＯは仕様上４０９６バイト確保する必要があるが、ＲＦＵ搭載によりＲＡＭ５をＦＩＦＯとして利用することにより、ユニバーサルシリアルコントローラ６内に専用ＦＩＦＯを持っていない。これによりコスト低減が図られている。
【００６８】
しかし、第３バスインタフェースＢＩＦ３を持たないため、エンドポイント４用送信バッファＤＢ、エンドポイント５用受信バッファＲＢのデータ転送に第２バスインタフェースＢＩＦ２を用いている。
【００６９】
第２バスインタフェースＢＩＦ２はＣＰＵも使用するため、ＲＡＭ−ＦＩＦＯユニット３を使用する場合、ＣＰＵを停止する必要があった。しかし、ユニバーサルシリアルコントローラ６ではＲＡＭ−ＦＩＦＯユニット３専用の第３バスインタフェースＢＩＦ３を持つことにより、ＣＰＵ２の動作を停止させることなく、ＲＡＭ−ＦＩＦＯユニット３によるデータ転送を実行することが可能となるため、マイクロコントローラの処理能力の低下を防ぐことを可能としている。
【００７０】
また、図７にメモリスティックインタフェース７の構成を示す。
【００７１】
メモリスティックインタフェース７は、送受信コントロールレジスタＣＯＲ、コマンドコントロールレジスタＣＣＲ、ＲＦＵコミュニケーション部ＲＣＯＭ、１６段ＦＩＦＯｆ、送受信コントロールＤＲＣＮ、カードインタフェース部ＣＩＦ、クロック生成部ＣＫ、ＣＲＣ生成／チェック部ＣＨＫ、割り込みコントロール部ＩＲＣＯＮ、第２バスインタフェースＢＩＦ２、第３バスインタフェースＢＩＦ３から構成される。
【００７２】
メモリスティックインタフェース７はＲＡＭ−ＦＩＦＯユニット３を使用し、ＲＦＵコミュニケーション部ＲＣＯＭのバッファとＲＡＭ５間のデータ転送を実行している。
【００７３】
ユニバーサルシリアルコントローラ６と同様にＲＡＭ−ＦＩＦＯユニット３専用の第３バスインタフェースＢＩＦ３を持つことにより、ＣＰＵ２の動作を停止させることなく、ＲＡＭ−ＦＩＦＯユニット３によるデータ転送を実行することを可能としている。
【００７４】
次に、本実施の形態の作用について説明する。
【００７５】
図８は、第１バスＢ１と第３バスＢ３とが並行動作する際の一例を示したタイミングチャートである。
【００７６】
図８においては、上方から下方にかけて、バスサイクル、第１バスＢ１のサイクル、第３バスＢ３のサイクル、システムクロック、第１バスＢ１のアドレスバスＡＢ１／データバスＤＢ１、第３バスＢ３のアドレスバスＡＢ３／データバスＤＢ３、データ転送Ｉ／Ｄ、リード信号、ライト信号、ＲＦＵバス権要求信号、バス権要求信号、アクノリッジ信号、ＲＦＵアクノリッジ信号、およびアクノリッジＩＤ番号の各信号タイミングを示している。
【００７７】
ここでは、メモリスティックインタフェース７からＲＡＭ５へのデータ転送とＣＰＵ２によるＲＯＭ４のリードとの並行動作を例に説明する。
【００７８】
まず、メモリスティックインタフェース７は、ＲＡＭ−ＦＩＦＯユニット３に対してＲＦＵバス権要求信号（Ｌｏレベル）を出力し、データ転送要求を行う。
【００７９】
ＲＡＭ−ＦＩＦＯユニット３は、ＲＦＵバス権要求信号を受けて、バスコントローラ８に対してバス権要求信号（Ｌｏレベル）を出力することにより第３バスＢ３の仕様を要求する。
【００８０】
バスコントローラ８は、第３バスＢ３が使用可能となると、アクノリッジ信号（Ｌｏレベル）を出力し、ＲＡＭ−ＦＩＦＯユニット３にバス権が得られたことを通知する。
【００８１】
また、ＲＡＭ−ＦＩＦＯユニット３は、アクノリッジ信号が出力された際、ユニバーサルシリアルコントローラ６、およびメモリスティックインタフェース７に対してＲＦＵアクノリッジ信号（Ｌｏレベル）を出力してバス権が得られたことを通知する。
【００８２】
このとき、ＲＡＭ−ＦＩＦＯユニット３は、ユニバーサルシリアルコントローラ６、ならびにメモリスティックインタフェース７に対して出力を行ったＲＦＵバス権要求信号に対応したアクノリッジＩＤ番号を出力する。
【００８３】
これにより、第３バスＢ３の使用が許可され、バスサイクルＴ４，Ｔ５期間に第３バスＢ３はメモリスティックインタフェース７からＲＡＭ５へのデータ転送に使用される。
【００８４】
このとき、バスコントローラ８の制御信号Ｃ１〜Ｃ３はネゲートとなっておりバスブリッジＢＢ１，ＢＢ２によって第１バスＢ１と第３バスＢ３とは分離され、第１バスＢ１と第３バスＢ３とは並行して動作することが可能となる。
【００８５】
メモリスティックインタフェース７からＲＡＭ５へのデータ転送時には、第３バスＢ３のアドレスバスＡＢ３にデータ転送を行うＲＡＭアドレスをＲＡＭ−ＦＩＦＯユニット３が出力する。
【００８６】
この際、ユニバーサルシリアルコントローラ６、およびメモリスティックインタフェース７に対してＲＡＭ−ＦＩＦＯユニット３は、どのＩＤのデータ転送を実行しているかをデータ転送Ｉ／Ｄによって出力し、メモリスティックインタフェース７からＲＡＭ５へのデータ転送を行う場合、リード信号（Ｌｏレベル）を出力し、ＲＡＭ５からメモリスティックインタフェース７へのデータ転送を行う場合、ライト信号（Ｌｏレベル）を出力する。
【００８７】
また、第２バスＢ２と第３バスＢ３との並行動作の一例を図９のタイミングチャートを用いて説明する。
【００８８】
図９においては、上方から下方にかけて、バスサイクル、第１バスＢ１のサイクル、第３バスＢ３のサイクル、システムクロック、第１バスＢ１のアドレスバスＡＢ１／データバスＤＢ１、第２バスＢ２のアドレスバスＡＢ２／データバスＤＢ２、第３バスＢ３のアドレスバスＡＢ３／データバスＤＢ３、データ転送Ｉ／Ｄ、リード信号、ライト信号、ＲＦＵバス権要求信号、バス権要求信号、アクノリッジ信号、ＲＦＵアクノリッジ信号、ならびにアクノリッジＩＤ番号の各信号タイミングを示している
ここでは、メモリスティックインタフェース７からＲＡＭ５へのデータ転送とＣＰＵ２におけるメモリスティックインタフェース７の制御レジスタへのライト動作との並行動作について説明する。
【００８９】
この場合、メモリスティックインタフェース７のＲＡＭ−ＦＩＦＯユニット３へのバス権要求からＲＡＭ−ＦＩＦＯユニット３のメモリスティックインタフェース７へのアクノリッジ出力までは前述した第１バスＢ１と第３バスＢ３の動作と同様であるので説明は省略する。
【００９０】
メモリスティックインタフェース７は、ＲＡＭ−ＦＩＦＯユニット３に対して、ＲＦＵバス権要求信号を出力してデータ転送要求を行う。ＲＡＭ−ＦＩＦＯユニット３は、ＲＦＵバス権要求信号を受けてバスコントローラ８に対してバス権要求信号を出力し、第３バスＢ３の使用を要求する。
【００９１】
バスコントローラ８は、第３バスＢ３が使用可能となったときにアクノリッジ信号を出力し、ＲＡＭ−ＦＩＦＯユニット３にバス権が得られたことを通知する。ＲＡＭ−ＦＩＦＯユニット３は、アクノリッジ信号を受けると、ユニバーサルシリアルコントローラ６、およびメモリスティックインタフェース７に対してＲＦＵアクノリッジ信号を出力して、バス権が得られたことを通知する。
【００９２】
このとき、ＲＡＭ−ＦＩＦＯユニット３は、ユニバーサルシリアルコントローラ６、ならびにメモリスティックインタフェース７に対して出力を行ったＲＦＵバス権要求信号に対応したアクノリッジＩＤ番号を出力する。
【００９３】
これによって、第３バスＢ３の使用が許可され、バスサイクルＴ４，Ｔ５期間において第３バスＢ３は、メモリスティックインタフェース７からＲＡＭ５へのデータ転送に使用される。
【００９４】
このとき、バスコントローラ８の制御信号Ｃ１〜Ｃ３はネゲートとなっておりバスブリッジＢＢ１，ＢＢ２によって第１バスＢ１と第３バスＢ３とは分離され、第１バスＢ１と第３バスＢ３とは並行して動作することが可能となる。
【００９５】
また、ＣＰＵ２がメモリスティックインタフェース７のレジスタライトを実行する際、アドレス、およびデータを第１バスＢ１に出力する。そして、バスコントローラ８は、アドレス、およびデータを第２バスＢ２に出力する。
【００９６】
メモリスティックインタフェース７は、第２バスインタフェースＢＩＦ２を用いてバスサイクルＴ４，Ｔ５期間に制御レジスタのライトを実行する。メモリスティックインタフェース７からＲＡＭ５へのデータ転送時には、第３バスＢ３のアドレスバスＡＢ３にデータ転送を行うＲＡＭアドレスをＲＡＭ−ＦＩＦＯユニット３が出力する。
【００９７】
このとき、ＲＡＭ−ＦＩＦＯユニット３は、ユニバーサルシリアルコントローラ６、およびメモリスティックインタフェース７に対してどのＩＤのデータ転送を実行しているかをデータ転送Ｉ／Ｄで出力し、メモリスティックインタフェース７からＲＡＭ５へのデータ転送を行う場合はリード信号を出力し、ＲＡＭ５からメモリスティックインタフェース７へのデータ転送を行う場合には、ライト信号を出力する。
【００９８】
それにより、本実施の形態によれば、第１バスＢ１と第３バスＢ３、および第２バスＢ２と第３バスＢ３とをそれぞれ並行して動作させることができるので、ＣＰＵ２におけるＲＯＭ４のアクセスと並行して、ＲＡＭ−ＦＩＦＯユニット３によるＲＡＭ５へのデータ転送などが可能となり、半導体集積回路装置１の処理能力の低下を防止することができる。
【００９９】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【０１００】
たとえば、前記実施の形態において、半導体集積回路装置はＲＡＭ−ＦＩＦＯユニットが設けられた構成としたが、ＤＭＡＣ、またはＤＴＣなどの他のデータ転送制御装置を用いた構成としてもよい。
【０１０１】
【発明の効果】
本願によって開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【０１０２】
（１）中央処理装置とデータ転送制御装置との並行動作が可能となるので、半導体集積回路装置の処理速度の低下を防止することができる。
【０１０３】
（２）上記（１）により、半導体集積回路装置の信頼性を向上することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態による半導体集積回路装置のブロック図である。
【図２】図１の半導体集積回路装置における第３バス、およびその周辺モジュールの接続構成を示すブロック図である。
【図３】図１の半導体集積回路装置に設けられたバスブリッジの説明図である。
【図４】図１の半導体集積回路装置に設けられたＲＡＭ−ＦＩＦＯユニットのブロック図である。
【図５】図４のＲＡＭ−ＦＩＦＯユニットにおける初期化／動作のフローチャートである。
【図６】図１の半導体集積回路装置に設けられたユニバーサルシリアルコントローラのブロック図である。
【図７】図１の半導体集積回路装置に設けられたメモリスティックインタフェースのブロック図である。
【図８】図１の半導体集積回路装置における第１バスと第３バスとの並行動作の一例を示すタイミングチャートである。
【図９】図１の半導体集積回路装置における第２バスと第３バスとの並行動作の一例を示すタイミングチャートである。
【符号の説明】
１　半導体集積回路装置
２　ＣＰＵ（中央処理装置）
３　ＲＡＭ−ＦＩＦＯユニット（データ転送制御装置）
４　ＲＯＭ（第１の内蔵メモリ）
５　ＲＡＭ（第２の内蔵メモリ）
６　ユニバーサルシリアルコントローラ（データ転送周辺モジュール）
７　メモリスティックインタフェース（データ転送周辺モジュール）
８　バスコントローラ
９　外部バスインタフェース
１０　Ｉ／Ｏポート
ＢＢ１　バスブリッジ（バススイッチ手段、第１のバスブリッジ）
ＢＢ２　バスブリッジ（バススイッチ手段、第２のバスブリッジ）
Ｂ１　第１バス
ＡＢ１　　アドレスバス
ＤＢ１　　データバス
Ｂ２　　第２バス
ＡＢ２　　アドレスバス
ＤＢ２　　データバス
Ｂ３　　第３バス
ＡＢ３　　アドレスバス
ＤＢ３　　データバス
ＢＩＦ２　　第２バスインタフェース
ＢＩＦ３　第３バスインタフェース
【図１】
2004013794.tif 000003
【図２】
2004013794.tif 000004
【図３】
2004013794.tif 000005
【図４】
2004013794.tif 000006
【図５】
2004013794.tif 000007
【図６】
2004013794.tif 000008
【図７】
2004013794.tif 000009
【図８】
2004013794.tif 000010
【図９】
2004013794.tif 000011