JP2004013794A - 半導体集積回路装置 - Google Patents
半導体集積回路装置 Download PDFInfo
- Publication number
- JP2004013794A JP2004013794A JP2002170035A JP2002170035A JP2004013794A JP 2004013794 A JP2004013794 A JP 2004013794A JP 2002170035 A JP2002170035 A JP 2002170035A JP 2002170035 A JP2002170035 A JP 2002170035A JP 2004013794 A JP2004013794 A JP 2004013794A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- data
- ram
- data transfer
- integrated circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】RFU転送を使用し内蔵RAMをFIFOとして使用する場合に、CPUとRFUとの並列動作を可能にし、処理効率を大幅に向上する。
【解決手段】半導体集積回路装置1には、CPU2の処理に用いられる第1バスB1と、RAM−FIFOユニット3などのデータ転送処理に用いられる第3バスB3とは、バスブリッジBB1,BB2を介して接続されている。バスブリッジBB1は、アドレスバスAB1からアドレスバスAB3にデータを出力し、バスブリッジBB2は、データバスDB1からデータバスDB3、またはデータバスDB3からデータバスDB1のいずれか一方にデータを出力する。そして、CPU2とRAM−FIFOユニット3とを並行動作させる際には、バスブリッジBB1,BB2によって第1バスB1と第3バスB3とを分離させて並行処理を行う。
【選択図】 図1
【解決手段】半導体集積回路装置1には、CPU2の処理に用いられる第1バスB1と、RAM−FIFOユニット3などのデータ転送処理に用いられる第3バスB3とは、バスブリッジBB1,BB2を介して接続されている。バスブリッジBB1は、アドレスバスAB1からアドレスバスAB3にデータを出力し、バスブリッジBB2は、データバスDB1からデータバスDB3、またはデータバスDB3からデータバスDB1のいずれか一方にデータを出力する。そして、CPU2とRAM−FIFOユニット3とを並行動作させる際には、バスブリッジBB1,BB2によって第1バスB1と第3バスB3とを分離させて並行処理を行う。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、半導体集積回路装置に関し、特に、中央処理装置が周辺モジュールが内蔵されたマイクロプロセッサやマイクロコンピュータにおける処理速度の低下防止に適用して有効な技術に関するものである。
【0002】
【従来の技術】
たとえば、シングルチップマイクロコンピュータは、CPUなどのプロセッサを中心にしてプログラム保持用のROM(Read Only Memory)、データ保持用のRAM(Random Access Memory)、およびデータの入出力を行うための入出力回路などの機能ブロックが一つの半導体基板上に形成されている。
【0003】
本発明者らは本発明前に検討したシングルチップマイクロコンピュータには、RAM−FIFOユニット(RFU)のようなデータ転送制御装置が一般的に内蔵されており、該RFUによって、CPUと独立にデータ転送が可能となっている。
【0004】
このRFUは、内蔵する周辺機能から起動することができ、RAMをFIFO(First−In First−Out)のように扱うことができる。たとえば、パーソナルコンピュータ上のMP3データのメモリスティックへの書き込みや、メモリスティック内のMP3データの携帯プレイヤーでの再生のような、大容量データの高速での処理に適している。
【0005】
なお、上記RAM−FIFOユニット(RFU)を有するシングルチップマイクロコンピュータに関しては、本願出願人から提案された特願2001−142498号がある。
【0006】
【発明が解決しようとする課題】
ところが、上記のような半導体集積回路装置におけるデータ処理技術では、次のような問題点があることが本発明者により見い出された。
【0007】
すなわち、RFUの転送はCPUと独立しているが、バスを共有しているために、データ転送に必要なバスサイクルではCPUを停止してしまうことになる。RFUでのデータ転送はRAMへのアクセスにおいて2ステートで実行される。
【0008】
それにより、大量のデータを処理しようとした場合、内部バスを連続して使用してしまうため、CPUの命令処理速度が極端に低下してしまうという問題がある。
【0009】
たとえば、携帯プレイヤーなどのシステムにおいては、音楽再生中に液晶表示、電源管理などを同時に実行する要望も想定されるため、必要以上のCPU処理速度の低下は避ける必要がある。携帯機器の多機能性、高性能化には、半導体集積回路装置におけるトータルな処理性能の向上が望まれることになる。
【0010】
本発明の目的は、RFU転送を使用し内蔵RAMをFIFOとして使用する場合に、CPUとRFUとの並列動作を可能にすることによって、処理効率を大幅に向上することのできる半導体集積回路装置を提供することにある。
【0011】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【0012】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
1.本発明は、中央処理装置、第1の内蔵メモリ、および外部バスインタフェースが相互に接続される第1バスと、複数の周辺モジュールが相互に接続される第2バスと、第2の内蔵メモリ、データ転送制御装置、ならびに複数の周辺モジュールのうち、データ転送制御装置に制御されるデータ転送周辺モジュールが接続される第3バスと、該中央処理装置が第2の内蔵メモリにアクセスする際に、第1バスと第3バスとを接続するバススイッチ手段とを設けたものである。
【0013】
また、本願のその他の発明の概要を簡単に示す。
2.前記第1項において、中央処理装置は、データ転送制御装置、ならびにデータ転送周辺モジュールのレジスタにそれぞれデータ設定する際に第2バスを使用するものである。
3.前記第1項または前記第2項において、バススイッチ手段は、中央処理装置が第2の内蔵メモリにアクセスしていない際に、第1バスと第3バスとを分離するものである。
4.前記第1項〜前記第3項のいずれかにおいて、データ転送制御装置が、RAM−FIFOユニット、DMAC(Direct Memory AccessController)、またはDTC(Data Transfer Controller)の少なくともいずれかよりなり、データ転送周辺モジュールが、ユニバーサルシリアルコントローラ、またはメモリスティックインタフェースの少なくともいずれかよりなるものである。
5.前記第1項〜前記第4項のいずれかにおいて、バススイッチ手段は、第1バスのアドレスバスと第3バスのアドレスバスとを接続する第1のバスブリッジと、第1バスのデータバスと第3バスのデータバスとを接続する第2のバスブリッジとから構成され、第1のバスブリッジは、中央処理装置が第2の内蔵メモリのデータをリード/ライトする際に、第1バスのアドレスバスから第3バスのアドレスバスにアドレスデータを出力し、第2のバスブリッジは、中央処理装置が第2の内蔵メモリのデータをライトする際に、第1バスのデータバスから第3バスのデータバスにデータを出力し、中央処理装置が第2の内蔵メモリのデータをリードする際には、第3バスのデータバスから第1バスのアドレスバスにデータを出力するものである。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0015】
図1は、本発明の一実施の形態による半導体集積回路装置のブロック図、図2は、図1の半導体集積回路装置における第3バス、およびその周辺モジュールの接続構成を示すブロック図、図3は、図1の半導体集積回路装置に設けられたバスブリッジの説明図、図4は、図1の半導体集積回路装置に設けられたRAM−FIFOユニットのブロック図、図5は、図4のRAM−FIFOユニットにおける初期化/動作のフローチャート、図6は、図1の半導体集積回路装置に設けられたユニバーサルシリアルコントローラのブロック図、図7は、図1の半導体集積回路装置に設けられたメモリスティックインタフェースのブロック図、図8は、図1の半導体集積回路装置における第1バスと第3バスとの並行動作の一例を示すタイミングチャート、図9は、図1の半導体集積回路装置における第2バスと第3バスとの並行動作の一例を示すタイミングチャートである。
【0016】
本実施の形態において、半導体集積回路装置1は、シングルチップマイクロコンピュータであり、単結晶シリコンなどの半導体基板(半導体チップ)に公知のCMOS製造プロセスによって形成されている。
【0017】
半導体集積回路装置1は、図1に示すように、CPU(中央処理装置)2、周辺モジュール、およびバスブリッジBB1,BB2などから構成されている。周辺モジュールは、RAM−FIFOユニット(データ転送制御装置)3、ROM(第1の内蔵メモリ)4、RAM(第2の内蔵メモリ)5、ユニバーサルシリアルコントローラ(データ転送周辺モジュール)6、メモリスティックインタフェース(データ転送周辺モジュール)7、バスコントローラ8、外部バスインタフェース(外部バスI.F)9、およびI/Oポート10などからなる。
【0018】
また、CPU2、ROM4、ならびに外部バスインタフェース9は、第1バスB1を介して相互に接続されている。この第1バスB1は、アドレスバスAB1、およびデータバスDB1からなる。
【0019】
RAM−FIFOユニット3、ユニバーサルシリアルコントローラ6、メモリスティックインタフェース7、およびI/Oポート10は、第2バスB2を介して相互に接続されている。また、この第2バスB2は、バスコントローラ8を介して第1バスB1に接続されている。この第2バスB2は、アドレスバスAB2、およびデータバスDB2からなる。
【0020】
RAM−FIFOユニット3、RAM5、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7は、第3バスB3を介して相互に接続されており、該第3バスB3は、アドレスバスAB3、およびデータバスDB3からなる。
【0021】
さらに、第1バスB1のアドレスバスAB1と第3バスB3のアドレスバスAB3とはバスブリッジ(バススイッチ手段、第1のバスブリッジ)BB1を介して接続されている。また、第1バスB1のデータバスDB1と第3バスB3のデータバスDB3とはバスブリッジ(バススイッチ手段、第2のバスブリッジ)BB2を介して接続されている。
【0022】
バスブリッジBB1は、1方向にデータを出力するブリッジであり、アドレスバスAB1からアドレスバスAB3にデータを出力する。バスブリッジBB2は、データバスDB1からデータバスDB3、またはデータバスDB3からデータバスDB1のいずれか一方にデータを出力するブリッジである。
【0023】
これらバスブリッジBB1,BB2は、バスコントローラ8から出力されるバス制御信号に基づいて第1バスB1と第3バスB3との接続制御を行う。
【0024】
CPU2は、中央処理装置であり、半導体集積回路装置1におけるすべての制御を司る。RAM−FIFOユニット3はバッファメモリであり、RAM5などのデータをメモリスティックインタフェース7などの周辺回路に直接転送する。ROM4は、読み出し専用メモリであり、CPU2によって実行されるプログラム命令を含む制御プログラムなどを格納する。
【0025】
RAM5は、随時読み出し/書き込みが可能なメモリであり、入出力データや演算データなどを一時的に格納する。ユニバーサルシリアルコントローラ6は、共通のコネクタによってプリンタやスキャナなどの様々な周辺機器を接続することのできるインタフェース規格であるUSB(Universal Serial Bus)インタフェースの制御を行う。
【0026】
メモリスティックインタフェース7は、画像や音声などのデータの記録再生が可能なメディアであるメモリスティックのインタフェースである。バスコントローラ8は、半導体集積回路装置1内外のアドレスバスやデータバスの制御を行う。外部バスインタフェース9は、外部バス用のインタフェースである。
【0027】
I/Oポート10は周辺回路における外部インタフェースバッファとして機能する。たとえば、ユニバーサルシリアルコントローラ6、メモリスティックインタフェース7などにおける外部デバイスとの送受信端子は、I/Oポート内の所定のポートに割り当てられる。
【0028】
また、第3バスB3、およびその周辺モジュールの接続構成などについて説明する。
【0029】
第3バスB3には、図2に示すように、RAM−FIFOユニット3、RAM5、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7が接続されている。
【0030】
また、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7には、第3バスインタフェースBIF3がそれぞれ設けられている。
【0031】
バスコントローラ8には、RAM−FIFOユニット3が接続されており、バスコントローラ8からはアクノリッジ信号が出力されるとともに該バスコントローラ8から出力されたバス権要求信号が入力される。
【0032】
RAM−FIFOユニット3には、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7からそれぞれ出力されたRFUバス権要求信号が入力されるように接続されている。
【0033】
さらに、RAM−FIFOユニット3には、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7がそれぞれ接続されており、リード信号、ライト信号、データ転送ID番号、RFUアクノリッジID番号、およびRFUアクノリッジ信号が出力されるように接続されている。
【0034】
ユニバーサルシリアルコントローラ6、ならびにメモリスティックインタフェース7は、第3バスB3を使用するためのバス権要求信号をRAM−FIFOユニット3に出力する。RAM−FIFOユニット3は、第3バスB3を使用する際に、バス権要求信号をバスコントローラ8に出力する。
【0035】
バスコントローラ8は、CPU2による第3バスB3の使用、すなわちRAM5のアクセスがなければ、RAM−FIFOユニット3に対してアクノリッジ信号を出力する。
【0036】
そして、RAM−FIFOユニット3は、第3バスB3の使用権を与えられたことを認識したRFUアクノリッジ信号をユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7に出力する。
【0037】
このとき、ユニバーサルシリアルコントローラ6、またはメモリスティックインタフェース7のいずれかのバス権要求を許可したかを明確にするために、ユニバーサルシリアルコントローラ6、ならびにメモリスティックインタフェース7に対してRFUアクノリッジID番号を通知する。
【0038】
第3バスB3の使用権が与えられた周辺回路は、RAM5とのデータ転送を実施する。このとき、RAM−FIFOユニット3からリード信号、ライト信号と、転送を実行するデータ転送ID番号とをユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7に出力する。
【0039】
図3は、第1バスB1と第3バスB3とを接続するブリッジBB1,BB2の説明図である。
【0040】
第1バスB1のアドレスバスAB1と第3バスB3のアドレスバスAB3とはバスブリッジBB1を介して接続されており、CPU2がRAM5をリード/ライトする際にバスコントローラ8から出力される制御信号C1がアサートの期間、アドレスバスAB1からアドレスバスAB3にデータを出力する。
【0041】
また、第1バスB1のデータバスDB1と第3バスB3のデータバスDB3とはバスブリッジBB2を介して接続されている。
【0042】
このバスブリッジBB2は2つのドライバからなり、CPU2がRAM5をリードする際にバスコントローラ8から出力される制御信号C2がアサートの期間は、アドレスバスAB3からアドレスバスAB1にデータを出力し、CPU2がRAM5をライトする際にバスコントローラ8から出力される制御信号C3がアサートの期間は、アドレスバスAB1からアドレスバスAB3にデータを出力する。
【0043】
また、CPU2のRAMアクセスとRAM−FIFOユニット3によるデータ転送処理が競合した場合、CPU2、RAM−FIFOユニット3の優先順位の高い方が第3バスB3を使用する。第3バスB3は、USBなどの高速データ転送が要求されるため、RAM−FIFOユニット3のデータ転送を優先する方が望ましい。
【0044】
さらに、RAM−FIFOユニット3の構成について、図4を用いて説明する。
【0045】
RAM−FIFOユニット3は、チャネルCH0〜CH7の8チャネルのFIFOを持つ。各チャネルはベースアドレスレジスタBAR、リードアドレスレジスタRAR、ライトアドレスレジスタWAR、テンポラリポインタTMP、データ転送コントロールレジスタDTCRA、データ転送コントロールレジスタDTCRB、データ転送I/DレジスタDTIDR、およびデータ転送ステータスレジスタCDTSTRCを持つ。
【0046】
また、各チャネル共通で有効データバイト数DATAN、フリーエリアバイト数FREEN、リード先頭アドレスNRA、ライト先頭アドレスNWA、データ転送IDリード/ライト選択レジスタDTIDSRA,DTIDSRB、データ転送ステータスレジスタDTSTRA,DTSTRB、データ転送コントロールレジスタDTCRB,DTCRC,DTCRD、データ転送割込みイネーブルレジスタDTIER、データ転送レジスタ選択レジスタDTISRを有する。
【0047】
制御論理部では、各周辺モジュール(ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7)からのバス権要求を受け、バスコントローラに対するバス権要求、バスコントローラからのアクノリッジ信号を入力し、各周辺モジュールへのアクノリッジ信号出力の制御を行う。
【0048】
また、各々の周辺モジュールからのバス権要求を受けて、RAM−FIFOユニット3の起動するチャネル、そのチャネルに設定したデータ転送I/DレジスタDTIDRの値に従い、転送を実行する周辺モジュールのID番号の各周辺モジュールへの通知とリード信号、ライト信号の出力を行う。
【0049】
データ転送を実行した後、リードアドレスレジスタRAR、およびライトアドレスレジスタWARを自動的に加算し、次のデータ転送時のアドレスレジスタとして使用できるようにしている。
【0050】
また、FIFOサイズとリードアドレスレジスタRAR、ならびにライトアドレスレジスタWARとを比較することにより、割り込みコントローラに対して、内部割り込み要求を行っている。
【0051】
データ転送を実行する際のアドレスをベースアドレスレジスタBAR、リードアドレスレジスタRAR、ライトアドレスレジスタWAR、テンポラリポインタTMPに設定する。
【0052】
RAM−FIFOユニット3によるデータ転送を実行する時に、上記各レジスタに設定された値が、内部アドレスバスに出力され、アクセスするRAMアドレスとして使用される。
【0053】
また、各周辺モジュールのバス権要求には固有のID番号が予め定められている。各チャネルのデータ転送I/DレジスタDTIDRにはデータ転送を実行するバス権要求に対応したID番号を設定する。
【0054】
データ転送コントロールレジスタDTCRAにはバス権要求によるデータ転送のデータサイズがワードまたはバイトかの設定、使用するチャネルのFIFOのサイズ指定などを行う。
【0055】
データ転送IDリード/ライト選択レジスタDTIDSRA,DTIDSRBにはバス権要求がRAM5のリードかRAM5のライトどちらを実行するかを設定する。
【0056】
その他、データ転送割り込みイネーブルレジスタDTIERは内部割り込みの使用許可、データ転送コントロールレジスタDTCRBはポインタ制御機能の使用許可、データ転送コントロールレジスタDTCRDは各チャネルのイネーブルビット、データ転送ステータスレジスタDTSTRA,DTSTRBは内部割り込みフラグレジスタ、有効データバイト数DATAN、フリーエリアバイト数FREEN、リード先頭アドレスNRA、ライト先頭アドレスNWAは各チャネルのFIFOの有効データ数、空き容量、リードした時点のリードポインタ、ライトポインタ値を格納する。
【0057】
データ転送レジスタ選択レジスタDTISRは、CPU2がRAM−FIFOユニット3のレジスタにアクセスする時のRFUチャネルの設定などを行っている。
【0058】
ここで、RAM−FIFOユニット3の初期化/動作について、図5のフローチャートを用いて説明する。
【0059】
まず、使用するRAM−FIFOユニット3のチャネルをディスイネーブルにし(ステップS101)、データ転送アドレスを指定するリードアドレスポインタRAR、ライトアドレスポインタWAR、およびテンポラリポインタTMPをクリアする(ステップS102)。
【0060】
そして、FIFOの状態を示す各ステータスレジスタの値をクリアし(ステップS103)、RFUデータ転送を実行するRAMアドレスを指定する(ステップS104)。
【0061】
RFUデータ転送を実行するとき、データサイズ(ワード転送またはバイト転送)、FIFOとして使用するRAM容量、各ポインタの動作モードを設定する(ステップS105)。
【0062】
その後、RFUデータ転送結果によりセットされるステータスレジスタを使用するかどうかを設定する(ステップS106)。そして、RAM−FIFOユニット3を使用する周辺モジュール(ID)、およびデータ転送実行時の転送方向(RAM5から周辺モジュールへ、または周辺モジュールからRAM5へ)を設定する(ステップS107)。
【0063】
RAM−FIFOユニット3の内部割り込みを使用するか否かの設定を行った後(ステップS108)、RAM−FIFOユニット3をイネーブルとし、周辺モジュールよりRFUバス権要求が発生すると、該RAM−FIFOユニット3が起動し、データ転送を実行する(ステップS109)。
【0064】
そして、周辺モジュールからRAM−FIFOユニット3へのバス権要求が発生した際には(ステップS110)、第3バスB3を使用したRAM5と周辺モジュールとの間のデータ転送が実行される(ステップS111)。
【0065】
また、ユニバーサルシリアルコントローラ6の構成について説明する。
【0066】
ユニバーサルシリアルコントローラ6は、図6に示すように、内蔵FIFOコントロールFC、エンドポイント4用送信バッファDB、エンドポイント5用受信バッファRB、制御レジスタCR、USBファンクションコアUC、クロック選択部CS、フェイズロックドループPLL、RFUコミュニケーション部COM、割り込みインタフェースIR、第2バスインタフェースBIF2、第3バスインタフェースBIF3、バスドライバ/レシーバBDRなどから構成される。
【0067】
この場合、エンドポイント4用送信バッファDB、エンドポイント5用受信バッファRBのFIFOとしてRAM−FIFOユニット3を搭載することにより、RAM5をFIFOとして使用することを可能としている。このFIFOは仕様上4096バイト確保する必要があるが、RFU搭載によりRAM5をFIFOとして利用することにより、ユニバーサルシリアルコントローラ6内に専用FIFOを持っていない。これによりコスト低減が図られている。
【0068】
しかし、第3バスインタフェースBIF3を持たないため、エンドポイント4用送信バッファDB、エンドポイント5用受信バッファRBのデータ転送に第2バスインタフェースBIF2を用いている。
【0069】
第2バスインタフェースBIF2はCPUも使用するため、RAM−FIFOユニット3を使用する場合、CPUを停止する必要があった。しかし、ユニバーサルシリアルコントローラ6ではRAM−FIFOユニット3専用の第3バスインタフェースBIF3を持つことにより、CPU2の動作を停止させることなく、RAM−FIFOユニット3によるデータ転送を実行することが可能となるため、マイクロコントローラの処理能力の低下を防ぐことを可能としている。
【0070】
また、図7にメモリスティックインタフェース7の構成を示す。
【0071】
メモリスティックインタフェース7は、送受信コントロールレジスタCOR、コマンドコントロールレジスタCCR、RFUコミュニケーション部RCOM、16段FIFOf、送受信コントロールDRCN、カードインタフェース部CIF、クロック生成部CK、CRC生成/チェック部CHK、割り込みコントロール部IRCON、第2バスインタフェースBIF2、第3バスインタフェースBIF3から構成される。
【0072】
メモリスティックインタフェース7はRAM−FIFOユニット3を使用し、RFUコミュニケーション部RCOMのバッファとRAM5間のデータ転送を実行している。
【0073】
ユニバーサルシリアルコントローラ6と同様にRAM−FIFOユニット3専用の第3バスインタフェースBIF3を持つことにより、CPU2の動作を停止させることなく、RAM−FIFOユニット3によるデータ転送を実行することを可能としている。
【0074】
次に、本実施の形態の作用について説明する。
【0075】
図8は、第1バスB1と第3バスB3とが並行動作する際の一例を示したタイミングチャートである。
【0076】
図8においては、上方から下方にかけて、バスサイクル、第1バスB1のサイクル、第3バスB3のサイクル、システムクロック、第1バスB1のアドレスバスAB1/データバスDB1、第3バスB3のアドレスバスAB3/データバスDB3、データ転送I/D、リード信号、ライト信号、RFUバス権要求信号、バス権要求信号、アクノリッジ信号、RFUアクノリッジ信号、およびアクノリッジID番号の各信号タイミングを示している。
【0077】
ここでは、メモリスティックインタフェース7からRAM5へのデータ転送とCPU2によるROM4のリードとの並行動作を例に説明する。
【0078】
まず、メモリスティックインタフェース7は、RAM−FIFOユニット3に対してRFUバス権要求信号(Loレベル)を出力し、データ転送要求を行う。
【0079】
RAM−FIFOユニット3は、RFUバス権要求信号を受けて、バスコントローラ8に対してバス権要求信号(Loレベル)を出力することにより第3バスB3の仕様を要求する。
【0080】
バスコントローラ8は、第3バスB3が使用可能となると、アクノリッジ信号(Loレベル)を出力し、RAM−FIFOユニット3にバス権が得られたことを通知する。
【0081】
また、RAM−FIFOユニット3は、アクノリッジ信号が出力された際、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7に対してRFUアクノリッジ信号(Loレベル)を出力してバス権が得られたことを通知する。
【0082】
このとき、RAM−FIFOユニット3は、ユニバーサルシリアルコントローラ6、ならびにメモリスティックインタフェース7に対して出力を行ったRFUバス権要求信号に対応したアクノリッジID番号を出力する。
【0083】
これにより、第3バスB3の使用が許可され、バスサイクルT4,T5期間に第3バスB3はメモリスティックインタフェース7からRAM5へのデータ転送に使用される。
【0084】
このとき、バスコントローラ8の制御信号C1〜C3はネゲートとなっておりバスブリッジBB1,BB2によって第1バスB1と第3バスB3とは分離され、第1バスB1と第3バスB3とは並行して動作することが可能となる。
【0085】
メモリスティックインタフェース7からRAM5へのデータ転送時には、第3バスB3のアドレスバスAB3にデータ転送を行うRAMアドレスをRAM−FIFOユニット3が出力する。
【0086】
この際、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7に対してRAM−FIFOユニット3は、どのIDのデータ転送を実行しているかをデータ転送I/Dによって出力し、メモリスティックインタフェース7からRAM5へのデータ転送を行う場合、リード信号(Loレベル)を出力し、RAM5からメモリスティックインタフェース7へのデータ転送を行う場合、ライト信号(Loレベル)を出力する。
【0087】
また、第2バスB2と第3バスB3との並行動作の一例を図9のタイミングチャートを用いて説明する。
【0088】
図9においては、上方から下方にかけて、バスサイクル、第1バスB1のサイクル、第3バスB3のサイクル、システムクロック、第1バスB1のアドレスバスAB1/データバスDB1、第2バスB2のアドレスバスAB2/データバスDB2、第3バスB3のアドレスバスAB3/データバスDB3、データ転送I/D、リード信号、ライト信号、RFUバス権要求信号、バス権要求信号、アクノリッジ信号、RFUアクノリッジ信号、ならびにアクノリッジID番号の各信号タイミングを示している
ここでは、メモリスティックインタフェース7からRAM5へのデータ転送とCPU2におけるメモリスティックインタフェース7の制御レジスタへのライト動作との並行動作について説明する。
【0089】
この場合、メモリスティックインタフェース7のRAM−FIFOユニット3へのバス権要求からRAM−FIFOユニット3のメモリスティックインタフェース7へのアクノリッジ出力までは前述した第1バスB1と第3バスB3の動作と同様であるので説明は省略する。
【0090】
メモリスティックインタフェース7は、RAM−FIFOユニット3に対して、RFUバス権要求信号を出力してデータ転送要求を行う。RAM−FIFOユニット3は、RFUバス権要求信号を受けてバスコントローラ8に対してバス権要求信号を出力し、第3バスB3の使用を要求する。
【0091】
バスコントローラ8は、第3バスB3が使用可能となったときにアクノリッジ信号を出力し、RAM−FIFOユニット3にバス権が得られたことを通知する。RAM−FIFOユニット3は、アクノリッジ信号を受けると、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7に対してRFUアクノリッジ信号を出力して、バス権が得られたことを通知する。
【0092】
このとき、RAM−FIFOユニット3は、ユニバーサルシリアルコントローラ6、ならびにメモリスティックインタフェース7に対して出力を行ったRFUバス権要求信号に対応したアクノリッジID番号を出力する。
【0093】
これによって、第3バスB3の使用が許可され、バスサイクルT4,T5期間において第3バスB3は、メモリスティックインタフェース7からRAM5へのデータ転送に使用される。
【0094】
このとき、バスコントローラ8の制御信号C1〜C3はネゲートとなっておりバスブリッジBB1,BB2によって第1バスB1と第3バスB3とは分離され、第1バスB1と第3バスB3とは並行して動作することが可能となる。
【0095】
また、CPU2がメモリスティックインタフェース7のレジスタライトを実行する際、アドレス、およびデータを第1バスB1に出力する。そして、バスコントローラ8は、アドレス、およびデータを第2バスB2に出力する。
【0096】
メモリスティックインタフェース7は、第2バスインタフェースBIF2を用いてバスサイクルT4,T5期間に制御レジスタのライトを実行する。メモリスティックインタフェース7からRAM5へのデータ転送時には、第3バスB3のアドレスバスAB3にデータ転送を行うRAMアドレスをRAM−FIFOユニット3が出力する。
【0097】
このとき、RAM−FIFOユニット3は、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7に対してどのIDのデータ転送を実行しているかをデータ転送I/Dで出力し、メモリスティックインタフェース7からRAM5へのデータ転送を行う場合はリード信号を出力し、RAM5からメモリスティックインタフェース7へのデータ転送を行う場合には、ライト信号を出力する。
【0098】
それにより、本実施の形態によれば、第1バスB1と第3バスB3、および第2バスB2と第3バスB3とをそれぞれ並行して動作させることができるので、CPU2におけるROM4のアクセスと並行して、RAM−FIFOユニット3によるRAM5へのデータ転送などが可能となり、半導体集積回路装置1の処理能力の低下を防止することができる。
【0099】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0100】
たとえば、前記実施の形態において、半導体集積回路装置はRAM−FIFOユニットが設けられた構成としたが、DMAC、またはDTCなどの他のデータ転送制御装置を用いた構成としてもよい。
【0101】
【発明の効果】
本願によって開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【0102】
(1)中央処理装置とデータ転送制御装置との並行動作が可能となるので、半導体集積回路装置の処理速度の低下を防止することができる。
【0103】
(2)上記(1)により、半導体集積回路装置の信頼性を向上することができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態による半導体集積回路装置のブロック図である。
【図2】図1の半導体集積回路装置における第3バス、およびその周辺モジュールの接続構成を示すブロック図である。
【図3】図1の半導体集積回路装置に設けられたバスブリッジの説明図である。
【図4】図1の半導体集積回路装置に設けられたRAM−FIFOユニットのブロック図である。
【図5】図4のRAM−FIFOユニットにおける初期化/動作のフローチャートである。
【図6】図1の半導体集積回路装置に設けられたユニバーサルシリアルコントローラのブロック図である。
【図7】図1の半導体集積回路装置に設けられたメモリスティックインタフェースのブロック図である。
【図8】図1の半導体集積回路装置における第1バスと第3バスとの並行動作の一例を示すタイミングチャートである。
【図9】図1の半導体集積回路装置における第2バスと第3バスとの並行動作の一例を示すタイミングチャートである。
【符号の説明】
1 半導体集積回路装置
2 CPU(中央処理装置)
3 RAM−FIFOユニット(データ転送制御装置)
4 ROM(第1の内蔵メモリ)
5 RAM(第2の内蔵メモリ)
6 ユニバーサルシリアルコントローラ(データ転送周辺モジュール)
7 メモリスティックインタフェース(データ転送周辺モジュール)
8 バスコントローラ
9 外部バスインタフェース
10 I/Oポート
BB1 バスブリッジ(バススイッチ手段、第1のバスブリッジ)
BB2 バスブリッジ(バススイッチ手段、第2のバスブリッジ)
B1 第1バス
AB1 アドレスバス
DB1 データバス
B2 第2バス
AB2 アドレスバス
DB2 データバス
B3 第3バス
AB3 アドレスバス
DB3 データバス
BIF2 第2バスインタフェース
BIF3 第3バスインタフェース
【発明の属する技術分野】
本発明は、半導体集積回路装置に関し、特に、中央処理装置が周辺モジュールが内蔵されたマイクロプロセッサやマイクロコンピュータにおける処理速度の低下防止に適用して有効な技術に関するものである。
【0002】
【従来の技術】
たとえば、シングルチップマイクロコンピュータは、CPUなどのプロセッサを中心にしてプログラム保持用のROM(Read Only Memory)、データ保持用のRAM(Random Access Memory)、およびデータの入出力を行うための入出力回路などの機能ブロックが一つの半導体基板上に形成されている。
【0003】
本発明者らは本発明前に検討したシングルチップマイクロコンピュータには、RAM−FIFOユニット(RFU)のようなデータ転送制御装置が一般的に内蔵されており、該RFUによって、CPUと独立にデータ転送が可能となっている。
【0004】
このRFUは、内蔵する周辺機能から起動することができ、RAMをFIFO(First−In First−Out)のように扱うことができる。たとえば、パーソナルコンピュータ上のMP3データのメモリスティックへの書き込みや、メモリスティック内のMP3データの携帯プレイヤーでの再生のような、大容量データの高速での処理に適している。
【0005】
なお、上記RAM−FIFOユニット(RFU)を有するシングルチップマイクロコンピュータに関しては、本願出願人から提案された特願2001−142498号がある。
【0006】
【発明が解決しようとする課題】
ところが、上記のような半導体集積回路装置におけるデータ処理技術では、次のような問題点があることが本発明者により見い出された。
【0007】
すなわち、RFUの転送はCPUと独立しているが、バスを共有しているために、データ転送に必要なバスサイクルではCPUを停止してしまうことになる。RFUでのデータ転送はRAMへのアクセスにおいて2ステートで実行される。
【0008】
それにより、大量のデータを処理しようとした場合、内部バスを連続して使用してしまうため、CPUの命令処理速度が極端に低下してしまうという問題がある。
【0009】
たとえば、携帯プレイヤーなどのシステムにおいては、音楽再生中に液晶表示、電源管理などを同時に実行する要望も想定されるため、必要以上のCPU処理速度の低下は避ける必要がある。携帯機器の多機能性、高性能化には、半導体集積回路装置におけるトータルな処理性能の向上が望まれることになる。
【0010】
本発明の目的は、RFU転送を使用し内蔵RAMをFIFOとして使用する場合に、CPUとRFUとの並列動作を可能にすることによって、処理効率を大幅に向上することのできる半導体集積回路装置を提供することにある。
【0011】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【0012】
【課題を解決するための手段】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
1.本発明は、中央処理装置、第1の内蔵メモリ、および外部バスインタフェースが相互に接続される第1バスと、複数の周辺モジュールが相互に接続される第2バスと、第2の内蔵メモリ、データ転送制御装置、ならびに複数の周辺モジュールのうち、データ転送制御装置に制御されるデータ転送周辺モジュールが接続される第3バスと、該中央処理装置が第2の内蔵メモリにアクセスする際に、第1バスと第3バスとを接続するバススイッチ手段とを設けたものである。
【0013】
また、本願のその他の発明の概要を簡単に示す。
2.前記第1項において、中央処理装置は、データ転送制御装置、ならびにデータ転送周辺モジュールのレジスタにそれぞれデータ設定する際に第2バスを使用するものである。
3.前記第1項または前記第2項において、バススイッチ手段は、中央処理装置が第2の内蔵メモリにアクセスしていない際に、第1バスと第3バスとを分離するものである。
4.前記第1項〜前記第3項のいずれかにおいて、データ転送制御装置が、RAM−FIFOユニット、DMAC(Direct Memory AccessController)、またはDTC(Data Transfer Controller)の少なくともいずれかよりなり、データ転送周辺モジュールが、ユニバーサルシリアルコントローラ、またはメモリスティックインタフェースの少なくともいずれかよりなるものである。
5.前記第1項〜前記第4項のいずれかにおいて、バススイッチ手段は、第1バスのアドレスバスと第3バスのアドレスバスとを接続する第1のバスブリッジと、第1バスのデータバスと第3バスのデータバスとを接続する第2のバスブリッジとから構成され、第1のバスブリッジは、中央処理装置が第2の内蔵メモリのデータをリード/ライトする際に、第1バスのアドレスバスから第3バスのアドレスバスにアドレスデータを出力し、第2のバスブリッジは、中央処理装置が第2の内蔵メモリのデータをライトする際に、第1バスのデータバスから第3バスのデータバスにデータを出力し、中央処理装置が第2の内蔵メモリのデータをリードする際には、第3バスのデータバスから第1バスのアドレスバスにデータを出力するものである。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
【0015】
図1は、本発明の一実施の形態による半導体集積回路装置のブロック図、図2は、図1の半導体集積回路装置における第3バス、およびその周辺モジュールの接続構成を示すブロック図、図3は、図1の半導体集積回路装置に設けられたバスブリッジの説明図、図4は、図1の半導体集積回路装置に設けられたRAM−FIFOユニットのブロック図、図5は、図4のRAM−FIFOユニットにおける初期化/動作のフローチャート、図6は、図1の半導体集積回路装置に設けられたユニバーサルシリアルコントローラのブロック図、図7は、図1の半導体集積回路装置に設けられたメモリスティックインタフェースのブロック図、図8は、図1の半導体集積回路装置における第1バスと第3バスとの並行動作の一例を示すタイミングチャート、図9は、図1の半導体集積回路装置における第2バスと第3バスとの並行動作の一例を示すタイミングチャートである。
【0016】
本実施の形態において、半導体集積回路装置1は、シングルチップマイクロコンピュータであり、単結晶シリコンなどの半導体基板(半導体チップ)に公知のCMOS製造プロセスによって形成されている。
【0017】
半導体集積回路装置1は、図1に示すように、CPU(中央処理装置)2、周辺モジュール、およびバスブリッジBB1,BB2などから構成されている。周辺モジュールは、RAM−FIFOユニット(データ転送制御装置)3、ROM(第1の内蔵メモリ)4、RAM(第2の内蔵メモリ)5、ユニバーサルシリアルコントローラ(データ転送周辺モジュール)6、メモリスティックインタフェース(データ転送周辺モジュール)7、バスコントローラ8、外部バスインタフェース(外部バスI.F)9、およびI/Oポート10などからなる。
【0018】
また、CPU2、ROM4、ならびに外部バスインタフェース9は、第1バスB1を介して相互に接続されている。この第1バスB1は、アドレスバスAB1、およびデータバスDB1からなる。
【0019】
RAM−FIFOユニット3、ユニバーサルシリアルコントローラ6、メモリスティックインタフェース7、およびI/Oポート10は、第2バスB2を介して相互に接続されている。また、この第2バスB2は、バスコントローラ8を介して第1バスB1に接続されている。この第2バスB2は、アドレスバスAB2、およびデータバスDB2からなる。
【0020】
RAM−FIFOユニット3、RAM5、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7は、第3バスB3を介して相互に接続されており、該第3バスB3は、アドレスバスAB3、およびデータバスDB3からなる。
【0021】
さらに、第1バスB1のアドレスバスAB1と第3バスB3のアドレスバスAB3とはバスブリッジ(バススイッチ手段、第1のバスブリッジ)BB1を介して接続されている。また、第1バスB1のデータバスDB1と第3バスB3のデータバスDB3とはバスブリッジ(バススイッチ手段、第2のバスブリッジ)BB2を介して接続されている。
【0022】
バスブリッジBB1は、1方向にデータを出力するブリッジであり、アドレスバスAB1からアドレスバスAB3にデータを出力する。バスブリッジBB2は、データバスDB1からデータバスDB3、またはデータバスDB3からデータバスDB1のいずれか一方にデータを出力するブリッジである。
【0023】
これらバスブリッジBB1,BB2は、バスコントローラ8から出力されるバス制御信号に基づいて第1バスB1と第3バスB3との接続制御を行う。
【0024】
CPU2は、中央処理装置であり、半導体集積回路装置1におけるすべての制御を司る。RAM−FIFOユニット3はバッファメモリであり、RAM5などのデータをメモリスティックインタフェース7などの周辺回路に直接転送する。ROM4は、読み出し専用メモリであり、CPU2によって実行されるプログラム命令を含む制御プログラムなどを格納する。
【0025】
RAM5は、随時読み出し/書き込みが可能なメモリであり、入出力データや演算データなどを一時的に格納する。ユニバーサルシリアルコントローラ6は、共通のコネクタによってプリンタやスキャナなどの様々な周辺機器を接続することのできるインタフェース規格であるUSB(Universal Serial Bus)インタフェースの制御を行う。
【0026】
メモリスティックインタフェース7は、画像や音声などのデータの記録再生が可能なメディアであるメモリスティックのインタフェースである。バスコントローラ8は、半導体集積回路装置1内外のアドレスバスやデータバスの制御を行う。外部バスインタフェース9は、外部バス用のインタフェースである。
【0027】
I/Oポート10は周辺回路における外部インタフェースバッファとして機能する。たとえば、ユニバーサルシリアルコントローラ6、メモリスティックインタフェース7などにおける外部デバイスとの送受信端子は、I/Oポート内の所定のポートに割り当てられる。
【0028】
また、第3バスB3、およびその周辺モジュールの接続構成などについて説明する。
【0029】
第3バスB3には、図2に示すように、RAM−FIFOユニット3、RAM5、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7が接続されている。
【0030】
また、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7には、第3バスインタフェースBIF3がそれぞれ設けられている。
【0031】
バスコントローラ8には、RAM−FIFOユニット3が接続されており、バスコントローラ8からはアクノリッジ信号が出力されるとともに該バスコントローラ8から出力されたバス権要求信号が入力される。
【0032】
RAM−FIFOユニット3には、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7からそれぞれ出力されたRFUバス権要求信号が入力されるように接続されている。
【0033】
さらに、RAM−FIFOユニット3には、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7がそれぞれ接続されており、リード信号、ライト信号、データ転送ID番号、RFUアクノリッジID番号、およびRFUアクノリッジ信号が出力されるように接続されている。
【0034】
ユニバーサルシリアルコントローラ6、ならびにメモリスティックインタフェース7は、第3バスB3を使用するためのバス権要求信号をRAM−FIFOユニット3に出力する。RAM−FIFOユニット3は、第3バスB3を使用する際に、バス権要求信号をバスコントローラ8に出力する。
【0035】
バスコントローラ8は、CPU2による第3バスB3の使用、すなわちRAM5のアクセスがなければ、RAM−FIFOユニット3に対してアクノリッジ信号を出力する。
【0036】
そして、RAM−FIFOユニット3は、第3バスB3の使用権を与えられたことを認識したRFUアクノリッジ信号をユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7に出力する。
【0037】
このとき、ユニバーサルシリアルコントローラ6、またはメモリスティックインタフェース7のいずれかのバス権要求を許可したかを明確にするために、ユニバーサルシリアルコントローラ6、ならびにメモリスティックインタフェース7に対してRFUアクノリッジID番号を通知する。
【0038】
第3バスB3の使用権が与えられた周辺回路は、RAM5とのデータ転送を実施する。このとき、RAM−FIFOユニット3からリード信号、ライト信号と、転送を実行するデータ転送ID番号とをユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7に出力する。
【0039】
図3は、第1バスB1と第3バスB3とを接続するブリッジBB1,BB2の説明図である。
【0040】
第1バスB1のアドレスバスAB1と第3バスB3のアドレスバスAB3とはバスブリッジBB1を介して接続されており、CPU2がRAM5をリード/ライトする際にバスコントローラ8から出力される制御信号C1がアサートの期間、アドレスバスAB1からアドレスバスAB3にデータを出力する。
【0041】
また、第1バスB1のデータバスDB1と第3バスB3のデータバスDB3とはバスブリッジBB2を介して接続されている。
【0042】
このバスブリッジBB2は2つのドライバからなり、CPU2がRAM5をリードする際にバスコントローラ8から出力される制御信号C2がアサートの期間は、アドレスバスAB3からアドレスバスAB1にデータを出力し、CPU2がRAM5をライトする際にバスコントローラ8から出力される制御信号C3がアサートの期間は、アドレスバスAB1からアドレスバスAB3にデータを出力する。
【0043】
また、CPU2のRAMアクセスとRAM−FIFOユニット3によるデータ転送処理が競合した場合、CPU2、RAM−FIFOユニット3の優先順位の高い方が第3バスB3を使用する。第3バスB3は、USBなどの高速データ転送が要求されるため、RAM−FIFOユニット3のデータ転送を優先する方が望ましい。
【0044】
さらに、RAM−FIFOユニット3の構成について、図4を用いて説明する。
【0045】
RAM−FIFOユニット3は、チャネルCH0〜CH7の8チャネルのFIFOを持つ。各チャネルはベースアドレスレジスタBAR、リードアドレスレジスタRAR、ライトアドレスレジスタWAR、テンポラリポインタTMP、データ転送コントロールレジスタDTCRA、データ転送コントロールレジスタDTCRB、データ転送I/DレジスタDTIDR、およびデータ転送ステータスレジスタCDTSTRCを持つ。
【0046】
また、各チャネル共通で有効データバイト数DATAN、フリーエリアバイト数FREEN、リード先頭アドレスNRA、ライト先頭アドレスNWA、データ転送IDリード/ライト選択レジスタDTIDSRA,DTIDSRB、データ転送ステータスレジスタDTSTRA,DTSTRB、データ転送コントロールレジスタDTCRB,DTCRC,DTCRD、データ転送割込みイネーブルレジスタDTIER、データ転送レジスタ選択レジスタDTISRを有する。
【0047】
制御論理部では、各周辺モジュール(ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7)からのバス権要求を受け、バスコントローラに対するバス権要求、バスコントローラからのアクノリッジ信号を入力し、各周辺モジュールへのアクノリッジ信号出力の制御を行う。
【0048】
また、各々の周辺モジュールからのバス権要求を受けて、RAM−FIFOユニット3の起動するチャネル、そのチャネルに設定したデータ転送I/DレジスタDTIDRの値に従い、転送を実行する周辺モジュールのID番号の各周辺モジュールへの通知とリード信号、ライト信号の出力を行う。
【0049】
データ転送を実行した後、リードアドレスレジスタRAR、およびライトアドレスレジスタWARを自動的に加算し、次のデータ転送時のアドレスレジスタとして使用できるようにしている。
【0050】
また、FIFOサイズとリードアドレスレジスタRAR、ならびにライトアドレスレジスタWARとを比較することにより、割り込みコントローラに対して、内部割り込み要求を行っている。
【0051】
データ転送を実行する際のアドレスをベースアドレスレジスタBAR、リードアドレスレジスタRAR、ライトアドレスレジスタWAR、テンポラリポインタTMPに設定する。
【0052】
RAM−FIFOユニット3によるデータ転送を実行する時に、上記各レジスタに設定された値が、内部アドレスバスに出力され、アクセスするRAMアドレスとして使用される。
【0053】
また、各周辺モジュールのバス権要求には固有のID番号が予め定められている。各チャネルのデータ転送I/DレジスタDTIDRにはデータ転送を実行するバス権要求に対応したID番号を設定する。
【0054】
データ転送コントロールレジスタDTCRAにはバス権要求によるデータ転送のデータサイズがワードまたはバイトかの設定、使用するチャネルのFIFOのサイズ指定などを行う。
【0055】
データ転送IDリード/ライト選択レジスタDTIDSRA,DTIDSRBにはバス権要求がRAM5のリードかRAM5のライトどちらを実行するかを設定する。
【0056】
その他、データ転送割り込みイネーブルレジスタDTIERは内部割り込みの使用許可、データ転送コントロールレジスタDTCRBはポインタ制御機能の使用許可、データ転送コントロールレジスタDTCRDは各チャネルのイネーブルビット、データ転送ステータスレジスタDTSTRA,DTSTRBは内部割り込みフラグレジスタ、有効データバイト数DATAN、フリーエリアバイト数FREEN、リード先頭アドレスNRA、ライト先頭アドレスNWAは各チャネルのFIFOの有効データ数、空き容量、リードした時点のリードポインタ、ライトポインタ値を格納する。
【0057】
データ転送レジスタ選択レジスタDTISRは、CPU2がRAM−FIFOユニット3のレジスタにアクセスする時のRFUチャネルの設定などを行っている。
【0058】
ここで、RAM−FIFOユニット3の初期化/動作について、図5のフローチャートを用いて説明する。
【0059】
まず、使用するRAM−FIFOユニット3のチャネルをディスイネーブルにし(ステップS101)、データ転送アドレスを指定するリードアドレスポインタRAR、ライトアドレスポインタWAR、およびテンポラリポインタTMPをクリアする(ステップS102)。
【0060】
そして、FIFOの状態を示す各ステータスレジスタの値をクリアし(ステップS103)、RFUデータ転送を実行するRAMアドレスを指定する(ステップS104)。
【0061】
RFUデータ転送を実行するとき、データサイズ(ワード転送またはバイト転送)、FIFOとして使用するRAM容量、各ポインタの動作モードを設定する(ステップS105)。
【0062】
その後、RFUデータ転送結果によりセットされるステータスレジスタを使用するかどうかを設定する(ステップS106)。そして、RAM−FIFOユニット3を使用する周辺モジュール(ID)、およびデータ転送実行時の転送方向(RAM5から周辺モジュールへ、または周辺モジュールからRAM5へ)を設定する(ステップS107)。
【0063】
RAM−FIFOユニット3の内部割り込みを使用するか否かの設定を行った後(ステップS108)、RAM−FIFOユニット3をイネーブルとし、周辺モジュールよりRFUバス権要求が発生すると、該RAM−FIFOユニット3が起動し、データ転送を実行する(ステップS109)。
【0064】
そして、周辺モジュールからRAM−FIFOユニット3へのバス権要求が発生した際には(ステップS110)、第3バスB3を使用したRAM5と周辺モジュールとの間のデータ転送が実行される(ステップS111)。
【0065】
また、ユニバーサルシリアルコントローラ6の構成について説明する。
【0066】
ユニバーサルシリアルコントローラ6は、図6に示すように、内蔵FIFOコントロールFC、エンドポイント4用送信バッファDB、エンドポイント5用受信バッファRB、制御レジスタCR、USBファンクションコアUC、クロック選択部CS、フェイズロックドループPLL、RFUコミュニケーション部COM、割り込みインタフェースIR、第2バスインタフェースBIF2、第3バスインタフェースBIF3、バスドライバ/レシーバBDRなどから構成される。
【0067】
この場合、エンドポイント4用送信バッファDB、エンドポイント5用受信バッファRBのFIFOとしてRAM−FIFOユニット3を搭載することにより、RAM5をFIFOとして使用することを可能としている。このFIFOは仕様上4096バイト確保する必要があるが、RFU搭載によりRAM5をFIFOとして利用することにより、ユニバーサルシリアルコントローラ6内に専用FIFOを持っていない。これによりコスト低減が図られている。
【0068】
しかし、第3バスインタフェースBIF3を持たないため、エンドポイント4用送信バッファDB、エンドポイント5用受信バッファRBのデータ転送に第2バスインタフェースBIF2を用いている。
【0069】
第2バスインタフェースBIF2はCPUも使用するため、RAM−FIFOユニット3を使用する場合、CPUを停止する必要があった。しかし、ユニバーサルシリアルコントローラ6ではRAM−FIFOユニット3専用の第3バスインタフェースBIF3を持つことにより、CPU2の動作を停止させることなく、RAM−FIFOユニット3によるデータ転送を実行することが可能となるため、マイクロコントローラの処理能力の低下を防ぐことを可能としている。
【0070】
また、図7にメモリスティックインタフェース7の構成を示す。
【0071】
メモリスティックインタフェース7は、送受信コントロールレジスタCOR、コマンドコントロールレジスタCCR、RFUコミュニケーション部RCOM、16段FIFOf、送受信コントロールDRCN、カードインタフェース部CIF、クロック生成部CK、CRC生成/チェック部CHK、割り込みコントロール部IRCON、第2バスインタフェースBIF2、第3バスインタフェースBIF3から構成される。
【0072】
メモリスティックインタフェース7はRAM−FIFOユニット3を使用し、RFUコミュニケーション部RCOMのバッファとRAM5間のデータ転送を実行している。
【0073】
ユニバーサルシリアルコントローラ6と同様にRAM−FIFOユニット3専用の第3バスインタフェースBIF3を持つことにより、CPU2の動作を停止させることなく、RAM−FIFOユニット3によるデータ転送を実行することを可能としている。
【0074】
次に、本実施の形態の作用について説明する。
【0075】
図8は、第1バスB1と第3バスB3とが並行動作する際の一例を示したタイミングチャートである。
【0076】
図8においては、上方から下方にかけて、バスサイクル、第1バスB1のサイクル、第3バスB3のサイクル、システムクロック、第1バスB1のアドレスバスAB1/データバスDB1、第3バスB3のアドレスバスAB3/データバスDB3、データ転送I/D、リード信号、ライト信号、RFUバス権要求信号、バス権要求信号、アクノリッジ信号、RFUアクノリッジ信号、およびアクノリッジID番号の各信号タイミングを示している。
【0077】
ここでは、メモリスティックインタフェース7からRAM5へのデータ転送とCPU2によるROM4のリードとの並行動作を例に説明する。
【0078】
まず、メモリスティックインタフェース7は、RAM−FIFOユニット3に対してRFUバス権要求信号(Loレベル)を出力し、データ転送要求を行う。
【0079】
RAM−FIFOユニット3は、RFUバス権要求信号を受けて、バスコントローラ8に対してバス権要求信号(Loレベル)を出力することにより第3バスB3の仕様を要求する。
【0080】
バスコントローラ8は、第3バスB3が使用可能となると、アクノリッジ信号(Loレベル)を出力し、RAM−FIFOユニット3にバス権が得られたことを通知する。
【0081】
また、RAM−FIFOユニット3は、アクノリッジ信号が出力された際、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7に対してRFUアクノリッジ信号(Loレベル)を出力してバス権が得られたことを通知する。
【0082】
このとき、RAM−FIFOユニット3は、ユニバーサルシリアルコントローラ6、ならびにメモリスティックインタフェース7に対して出力を行ったRFUバス権要求信号に対応したアクノリッジID番号を出力する。
【0083】
これにより、第3バスB3の使用が許可され、バスサイクルT4,T5期間に第3バスB3はメモリスティックインタフェース7からRAM5へのデータ転送に使用される。
【0084】
このとき、バスコントローラ8の制御信号C1〜C3はネゲートとなっておりバスブリッジBB1,BB2によって第1バスB1と第3バスB3とは分離され、第1バスB1と第3バスB3とは並行して動作することが可能となる。
【0085】
メモリスティックインタフェース7からRAM5へのデータ転送時には、第3バスB3のアドレスバスAB3にデータ転送を行うRAMアドレスをRAM−FIFOユニット3が出力する。
【0086】
この際、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7に対してRAM−FIFOユニット3は、どのIDのデータ転送を実行しているかをデータ転送I/Dによって出力し、メモリスティックインタフェース7からRAM5へのデータ転送を行う場合、リード信号(Loレベル)を出力し、RAM5からメモリスティックインタフェース7へのデータ転送を行う場合、ライト信号(Loレベル)を出力する。
【0087】
また、第2バスB2と第3バスB3との並行動作の一例を図9のタイミングチャートを用いて説明する。
【0088】
図9においては、上方から下方にかけて、バスサイクル、第1バスB1のサイクル、第3バスB3のサイクル、システムクロック、第1バスB1のアドレスバスAB1/データバスDB1、第2バスB2のアドレスバスAB2/データバスDB2、第3バスB3のアドレスバスAB3/データバスDB3、データ転送I/D、リード信号、ライト信号、RFUバス権要求信号、バス権要求信号、アクノリッジ信号、RFUアクノリッジ信号、ならびにアクノリッジID番号の各信号タイミングを示している
ここでは、メモリスティックインタフェース7からRAM5へのデータ転送とCPU2におけるメモリスティックインタフェース7の制御レジスタへのライト動作との並行動作について説明する。
【0089】
この場合、メモリスティックインタフェース7のRAM−FIFOユニット3へのバス権要求からRAM−FIFOユニット3のメモリスティックインタフェース7へのアクノリッジ出力までは前述した第1バスB1と第3バスB3の動作と同様であるので説明は省略する。
【0090】
メモリスティックインタフェース7は、RAM−FIFOユニット3に対して、RFUバス権要求信号を出力してデータ転送要求を行う。RAM−FIFOユニット3は、RFUバス権要求信号を受けてバスコントローラ8に対してバス権要求信号を出力し、第3バスB3の使用を要求する。
【0091】
バスコントローラ8は、第3バスB3が使用可能となったときにアクノリッジ信号を出力し、RAM−FIFOユニット3にバス権が得られたことを通知する。RAM−FIFOユニット3は、アクノリッジ信号を受けると、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7に対してRFUアクノリッジ信号を出力して、バス権が得られたことを通知する。
【0092】
このとき、RAM−FIFOユニット3は、ユニバーサルシリアルコントローラ6、ならびにメモリスティックインタフェース7に対して出力を行ったRFUバス権要求信号に対応したアクノリッジID番号を出力する。
【0093】
これによって、第3バスB3の使用が許可され、バスサイクルT4,T5期間において第3バスB3は、メモリスティックインタフェース7からRAM5へのデータ転送に使用される。
【0094】
このとき、バスコントローラ8の制御信号C1〜C3はネゲートとなっておりバスブリッジBB1,BB2によって第1バスB1と第3バスB3とは分離され、第1バスB1と第3バスB3とは並行して動作することが可能となる。
【0095】
また、CPU2がメモリスティックインタフェース7のレジスタライトを実行する際、アドレス、およびデータを第1バスB1に出力する。そして、バスコントローラ8は、アドレス、およびデータを第2バスB2に出力する。
【0096】
メモリスティックインタフェース7は、第2バスインタフェースBIF2を用いてバスサイクルT4,T5期間に制御レジスタのライトを実行する。メモリスティックインタフェース7からRAM5へのデータ転送時には、第3バスB3のアドレスバスAB3にデータ転送を行うRAMアドレスをRAM−FIFOユニット3が出力する。
【0097】
このとき、RAM−FIFOユニット3は、ユニバーサルシリアルコントローラ6、およびメモリスティックインタフェース7に対してどのIDのデータ転送を実行しているかをデータ転送I/Dで出力し、メモリスティックインタフェース7からRAM5へのデータ転送を行う場合はリード信号を出力し、RAM5からメモリスティックインタフェース7へのデータ転送を行う場合には、ライト信号を出力する。
【0098】
それにより、本実施の形態によれば、第1バスB1と第3バスB3、および第2バスB2と第3バスB3とをそれぞれ並行して動作させることができるので、CPU2におけるROM4のアクセスと並行して、RAM−FIFOユニット3によるRAM5へのデータ転送などが可能となり、半導体集積回路装置1の処理能力の低下を防止することができる。
【0099】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0100】
たとえば、前記実施の形態において、半導体集積回路装置はRAM−FIFOユニットが設けられた構成としたが、DMAC、またはDTCなどの他のデータ転送制御装置を用いた構成としてもよい。
【0101】
【発明の効果】
本願によって開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、以下のとおりである。
【0102】
(1)中央処理装置とデータ転送制御装置との並行動作が可能となるので、半導体集積回路装置の処理速度の低下を防止することができる。
【0103】
(2)上記(1)により、半導体集積回路装置の信頼性を向上することができる。
【図面の簡単な説明】
【図1】本発明の一実施の形態による半導体集積回路装置のブロック図である。
【図2】図1の半導体集積回路装置における第3バス、およびその周辺モジュールの接続構成を示すブロック図である。
【図3】図1の半導体集積回路装置に設けられたバスブリッジの説明図である。
【図4】図1の半導体集積回路装置に設けられたRAM−FIFOユニットのブロック図である。
【図5】図4のRAM−FIFOユニットにおける初期化/動作のフローチャートである。
【図6】図1の半導体集積回路装置に設けられたユニバーサルシリアルコントローラのブロック図である。
【図7】図1の半導体集積回路装置に設けられたメモリスティックインタフェースのブロック図である。
【図8】図1の半導体集積回路装置における第1バスと第3バスとの並行動作の一例を示すタイミングチャートである。
【図9】図1の半導体集積回路装置における第2バスと第3バスとの並行動作の一例を示すタイミングチャートである。
【符号の説明】
1 半導体集積回路装置
2 CPU(中央処理装置)
3 RAM−FIFOユニット(データ転送制御装置)
4 ROM(第1の内蔵メモリ)
5 RAM(第2の内蔵メモリ)
6 ユニバーサルシリアルコントローラ(データ転送周辺モジュール)
7 メモリスティックインタフェース(データ転送周辺モジュール)
8 バスコントローラ
9 外部バスインタフェース
10 I/Oポート
BB1 バスブリッジ(バススイッチ手段、第1のバスブリッジ)
BB2 バスブリッジ(バススイッチ手段、第2のバスブリッジ)
B1 第1バス
AB1 アドレスバス
DB1 データバス
B2 第2バス
AB2 アドレスバス
DB2 データバス
B3 第3バス
AB3 アドレスバス
DB3 データバス
BIF2 第2バスインタフェース
BIF3 第3バスインタフェース
Claims (5)
- 中央処理装置、第1の内蔵メモリ、および外部バスインタフェースが相互に接続される第1バスと、
複数の周辺モジュールが相互に接続される第2バスと、
第2の内蔵メモリ、データ転送制御装置、ならびに前記複数の周辺モジュールのうち、前記データ転送制御装置に制御されるデータ転送周辺モジュールが接続される第3バスと、
前記中央処理装置が前記第2の内蔵メモリにアクセスする際に、前記第1バスと前記第3バスとを接続するバススイッチ手段とを設けたことを特徴とする半導体集積回路装置。 - 請求項1記載の半導体集積回路装置において、前記中央処理装置が、前記データ転送制御装置、ならびに前記データ転送周辺モジュールのレジスタにそれぞれデータ設定する際には、前記第2バスを使用することを特徴とする半導体集積回路装置。
- 請求項1または2記載の半導体集積回路装置において、前記バススイッチ手段は、前記中央処理装置が前記第2の内蔵メモリにアクセスしていない際に、前記第1バスと前記第3バスとを分離し、前記第1、および第3バス、あるいは前記第2、ならびに前記第3バスをそれぞれ並行して使用することを特徴とする半導体集積回路装置。
- 請求項1〜3のいずれか1項に記載の半導体集積回路装置において、前記データ転送制御装置は、RAM−FIFOユニット、DMAC、またはDTCの少なくともいずれかよりなり、前記データ転送周辺モジュールは、ユニバーサルシリアルコントローラ、またはメモリスティックインタフェースの少なくともいずれかよりなることを特徴とする半導体集積回路装置。
- 請求項1〜4のいずれか1項に記載の半導体集積回路装置において、
前記バススイッチ手段は、
前記第1バスのアドレスバスと前記第3バスのアドレスバスとを接続する第1のバスブリッジと、
前記第1バスのデータバスと前記第3バスのデータバスとを接続する第2のバスブリッジとから構成され、
前記第1のバスブリッジは、前記中央処理装置が前記第2の内蔵メモリのデータをリード/ライトする際に、前記第1バスのアドレスバスから前記第3バスのアドレスバスにアドレスデータを出力し、
前記第2のバスブリッジは、前記中央処理装置が前記第2の内蔵メモリのデータをライトする際に、前記第1バスのデータバスから前記第3バスのアドレスバスにデータを出力し、前記中央処理装置が前記第2の内蔵メモリのデータをリードする際には、前記第3バスのデータバスから前記第1バスのデータバスにデータを出力することを特徴とする半導体集積回路装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002170035A JP2004013794A (ja) | 2002-06-11 | 2002-06-11 | 半導体集積回路装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002170035A JP2004013794A (ja) | 2002-06-11 | 2002-06-11 | 半導体集積回路装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004013794A true JP2004013794A (ja) | 2004-01-15 |
Family
ID=30436418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002170035A Pending JP2004013794A (ja) | 2002-06-11 | 2002-06-11 | 半導体集積回路装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004013794A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005015504A1 (ja) * | 2003-08-07 | 2005-02-17 | Renesas Technology Corp. | 画像処理用半導体プロセッサ |
-
2002
- 2002-06-11 JP JP2002170035A patent/JP2004013794A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005015504A1 (ja) * | 2003-08-07 | 2005-02-17 | Renesas Technology Corp. | 画像処理用半導体プロセッサ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1688847B1 (en) | Die-to-die interconnect interface and protocol for stacked semiconductor dies | |
US7171526B2 (en) | Memory controller useable in a data processing system | |
Cordan | An efficient bus architecture for system-on-chip design | |
US20040107265A1 (en) | Shared memory data transfer apparatus | |
WO1996000940A1 (en) | Pci to isa interrupt protocol converter and selection mechanism | |
JP2002049576A (ja) | チップ搭載システムのためのバス・アーキテクチャ | |
JP5506304B2 (ja) | データ処理装置及びデータ処理システム | |
US6892266B2 (en) | Multicore DSP device having coupled subsystem memory buses for global DMA access | |
JP4198376B2 (ja) | バスシステム及びバスシステムを含む情報処理システム | |
JP4696199B2 (ja) | 転送ディスクリプタ用メモリを備えるusbホストコントローラ | |
JPS6375955A (ja) | プログラムモ−ド・アクセス制御方式 | |
US7310717B2 (en) | Data transfer control unit with selectable transfer unit size | |
US20090240896A1 (en) | Microprocessor coupled to multi-port memory | |
JP2004227049A (ja) | データ転送装置、半導体集積回路及びマイクロコンピュータ | |
JP2723970B2 (ja) | データ転送制御装置 | |
JP2004013794A (ja) | 半導体集積回路装置 | |
JP2002342266A (ja) | データプロセッサ | |
US7146440B1 (en) | DMA acknowledge signal for an IDE device | |
JPH0553902A (ja) | メモリ制御回路 | |
JP2000215154A (ja) | Dmaコントロ―ラ | |
JP2001236305A (ja) | 半導体集積回路及びデータ処理装置 | |
JPH02207363A (ja) | データ転送制御方式、デバイスコントローラ、およびメモリ・コントローラ | |
JP4097377B2 (ja) | マイクロコンピュータ | |
JP2671743B2 (ja) | マイクロコンピュータ | |
JP3669616B2 (ja) | マイクロコンピュータ及びデータ処理システム |