(57)【要約】【課題】  バス幅の異なる各モジュール間でデータ転送する際のバスの使用効率を向上させる。【解決手段】  バスブリッジ１５が、メモリ１３から上位バス１７および下位バス１８を通じて通信制御装置１６に対して行われるＤＭＡコントローラ１４によるＤＭＡデータ転送を中継する場合には、制御回路１９ａは、バスブリッジ１５の外部から与えられる制御指令に基づいて上位側のセレクタ１９ｂに上位バス１７から与えられる６４ビットのデータを６４ビットのバッファ２１に出力させることにより記憶させ、制御回路２０ａは、下位側のセレクタ２０ｂに６４ビットのバッファ２１に記憶されたデータを下位バス１８のデータバスに対して１６ビット毎に選択切替出力させる。【選択図】  図１
2005242658.tif 000002
【特許請求の範囲】
【請求項１】
第１バス，および当該第１バスよりもデータバス幅の狭い第２バス間に設けられ、当該第１および第２バスを通じて２つのモジュール間についてコントローラによるデータ転送処理を中継するバスブリッジにおいて、
制御手段と、選択手段と、少なくとも第１バスのデータバス幅に相当する記憶領域を有し前記第２バスのデータバス幅に相当する所定の単位記憶領域毎に読出／書込可能に構成された記憶手段とを備え、
前記制御手段は、前記第１バスから第２バスを通じてデータ転送中継する場合には、外部から与えられる制御指令に基づいて、前記選択手段に、前記第１バスのデータバスから与えられるデータを前記記憶手段に出力させ当該記憶手段に記憶されたデータを前記第２バスのデータバスに前記単位記憶領域毎に選択切替出力させるように構成されていることを特徴とするバスブリッジ。
【請求項２】
第１バス，および当該第１バスよりもデータバス幅の狭い第２バス間に設けられ、当該第１および第２バスを通じて２つのモジュール間についてコントローラによるデータ転送処理を中継するバスブリッジにおいて、
制御手段と、選択手段と、少なくとも第１バスのデータバス幅に相当する記憶領域を有し前記第２バスのデータバス幅に相当する所定の単位記憶領域毎に読出／書込可能に構成された記憶手段とを備え、
前記制御手段は、前記第２バスから第１バスを通じてデータ転送中継する場合には、外部から与えられる制御指令に基づいて、前記選択手段に、前記第２バスのデータバスから与えられるデータを前記記憶手段の単位記憶領域毎に選択入力させることにより単位記憶領域毎に記憶させ当該記憶手段に記憶されたデータを前記第１バスのデータバスに出力させるように構成されていることを特徴とするバスブリッジ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントローラを使用したデータ転送中継用のバスブリッジに関する。
【背景技術】
【０００２】
例えば、システムＬＳＩの内部では、機能の異なる複数のモジュールに分割構成されている。これらのモジュールは、処理速度（動作クロック）の速い上位モジュールとこの上位モジュールに比較して処理速度の遅い下位モジュールに分割されており、一般に上位モジュールの第１バスのデータバスの幅は下位モジュールの第２バスのデータバスの幅よりも広い。例えば、このようなシステムＬＳＩの内部でＤＭＡコントローラ（Direct Memory Access Controller）（本発明のコントローラに相当）によりＤＭＡ転送処理が行われるときには下位モジュールの第２バス幅に合わせてデータ転送処理が行われる。この概略的な構成を図５に示している。尚、本発明の課題には直接関係しないがバスブリッジの関連文献として特許文献１に開示されている。
【特許文献１】特開２００３−１０８５１４公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
例えば、図５に示すシステムＬＳＩ１の回路構成の場合、上位モジュール２の第１バス３の幅（３２ビット）よりも幅の狭い下位モジュール４に接続された第２バス５の幅（１６ビット）に合わせてコントローラ９によりＤＭＡ転送処理が行われるが、その場合例えば上位モジュール２としてのメモリから下位モジュール４にＤＭＡ転送するときには、たとえＤＭＡ転送処理を中継するバスブリッジ６を設けていたとしても、バスブリッジ６を構成する制御回路７がバッファ８を通じてデータを中継制御する際に、図５に示すように、バスブリッジ６の下位１６ビット８ａのみを使用して中継制御するように構成されている場合には、ＤＭＡ転送処理に使用されない上位ビット８ｂ側に無効ビットが存在するようになる。
【０００４】
従来、第１および第２バス３および５のバス幅の差は１６ビット程度であったが、近年、これらのバス幅の差が広く（例えば３２ビット，４８ビット）なりつつある。第１および第２バス３および５のデータバス幅の差が広ければ広いほど無効ビットが増加するため、システムＬＳＩ１のバスの使用効率をさらに低減させているという問題を生じている。
本発明は、上記事情に鑑みてなされたものであり、その目的は、バス幅の異なる各モジュール間のバスの使用効率を向上させることができるバスブリッジおよびこのバスブリッジを使用したデータ転送処理方法を提供することにある。
【課題を解決するための手段】
【０００５】
請求項１記載の発明によれば、バスブリッジは第１バスとこの第１バスよりもデータバス幅の狭い第２バス間に設けられており、コントローラにより２つのモジュール間において第１バスから第２バスを通じてデータ転送中継する場合には、バスブリッジの制御手段は外部から与えられる制御指令に基づいて選択手段に第１バスのデータバスから与えられるデータを記憶手段に出力させ、記憶手段に記憶されたデータを第２バスのデータバスに単位記憶領域毎に選択切替出力させるため、たとえ第１バスおよび第２バスのバス幅の差が広くなったとしても、第１および第２バスの使用効率を向上することができる。
【０００６】
また、請求項２記載の発明によれば、バスブリッジは第１バスとこの第１バスよりもデータバス幅の狭い第２バス間に設けられており、コントローラにより２つのモジュール間において第２バスから第１バスを通じてデータ転送中継する場合には、バスブリッジの制御手段は、外部から与えられる制御指令に基づいて、選択手段に第２バスのデータバスから与えられるデータを記憶手段の単位記憶領域毎に選択入力させることにより単位記憶領域毎に記憶させ、当該記憶されたデータを第１バスのデータバスに出力させるため、たとえ第１バスおよび第２バスのバス幅の差が広くなったとしても、第１および第２バスの使用効率を向上することができる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の一実施形態について図１ないし図４を参照しながら説明する。尚、背景技術欄や発明が解決しようとする課題欄に説明した構成と同一構成については同一符号を付して説明を行う。
図１は、システムＬＳＩ１に代わるシステムＬＳＩ１１の内部構成について概略的に示している。このシステムＬＳＩ１１は、ＣＰＵ１２，上位モジュール（第１のモジュール）としてのメモリ１３，ＤＭＡコントローラ１４（第１のコントローラ），バスブリッジ６に代わるバスブリッジ１５，下位モジュール（第２のモジュール：第２のコントローラ）としての通信制御装置１６，第１バスとしての上位バス１７，および第２バスとしての下位バス１８を備えている。
【０００８】
これらのうちＣＰＵ１２，メモリ１３，ＤＭＡコントローラ１４，バスブリッジ１５は、上位バス１７により互いに接続されている。この上位バス１７は、図示しないが書込用データバスおよび読出用データバス，アドレスバス，制御信号線により構成されており書込および読出用データバスの幅はそれぞれ６４ビットで形成されている。
また通信制御装置１６およびバスブリッジ１５は下位バス１８により接続されている。この下位バス１８も同様に書込用データバスおよび読出用データバス，アドレスバス，制御信号線により構成されており（何れも図示せず）、書込および読出用データバスの幅はそれぞれ１６ビットで形成されている。
【０００９】
ＤＭＡコントローラ１４は、メモリ１３およびバスブリッジ１５間のＤＭＡ転送処理を行うことができるようになっているが、このＤＭＡ転送処理している間に、ＣＰＵ１２は上位バス１７に接続された各構成（図示せず）と各種処理を行うことができるようになっている。
バスブリッジ１５は、上位バスインタフェース回路１９と、下位バスインタフェース回路２０と、記憶手段としてのバッファ２１とから構成されている。上位バスインタフェース回路１９には、上位側の制御回路１９ａ（第１の制御手段）および上位側セレクタ１９ｂ（第１の選択手段）が設けられており、制御回路１９ａは、通信制御装置１６または／およびＤＭＡコントローラ１４から与えられる制御指令に基づいて上位側セレクタ１９ｂを制御するようになっているが、詳しくは後述する。
【００１０】
他方、下位バスインタフェース回路２０には、下位側の制御回路２０ａ（第２の制御手段）およびセレクタ２０ｂ（第２の選択手段），カウンタ２０ｃが設けられており、制御回路２０ａは、通信制御装置１６から与えられる制御指令に基づいて下位側セレクタ２０ｂおよびカウンタ２０ｃを制御するようになっている。バッファ２１は、上位バス１７のデータバス幅に相当する記憶領域（例えば６４ビット）を有しており、各制御回路１９ａおよび２０ａの各セレクタ１９ｂおよび２０ｂに対する選択切替制御指令に基づいて例えば２バイト（１ワード：１６ビット）単位の単位記憶領域２１ａ〜２１ｄ毎に読出／書込可能に構成されている。またバッファ２１は、制御回路１９ａの消去制御指令に基づいて例えば２バイト単位の単位記憶領域２１ａ〜２１ｄ毎に消去可能に構成されている。
【００１１】
上位側セレクタ１９ｂは、制御回路１９ａによる制御指令に基づいて、上位バス１７の書込用データバスから与えられるデータをバッファ２１に選択切替出力する、もしくはバッファ２１に記憶されているデータを上位バス１７の読出用データバスに選択切替出力するようになっている。
また下位側のセレクタ２０は、制御回路２０ａによる制御指令に基づいて、下位バス１８の書込用データバスから与えられるデータをバッファ２１に選択切替出力する、もしくはバッファ２１のデータを下位バス１８の読出用データバスに選択切替出力するようになっている。
【００１２】
またカウンタ２０ｃは、少なくともバッファ２１の単位記憶領域の数を識別可能な最大カウント数を有するカウンタである。本実施形態の場合、上位バス１７のバス幅６４ビットに対して下位バス１８のバス幅１６ビットであるため、６４／１４＝４の最大カウント数を有している。このカウンタ２０ｃは、制御回路２０ａによる制御指令に基づいてカウントするようになっている。
【００１３】
これら上位バスおよび下位バスインタフェース回路１９および２０間には、互いに制御指令が与えられるように接続されており、各回路１９および２０に与えられる制御指令を互いに入出力可能に構成されている。
上記構成の作用について図２ないし図４を参照しながら説明する。図２は、本発明に関連するデータおよび制御信号の流れを概略的に示している。
【００１４】
＜通信制御装置１６からメモリ１３へのＤＭＡ転送中継処理について＞
図３は、通信制御装置１６からメモリ１３にＤＭＡ転送処理する際のタイミングチャートを示している。まず、通信制御装置１６は、バスブリッジ１５の制御回路２０ａにＤＭＡリクエスト信号Ｄｒｅｑを出力する（図３の（１−１）参照）。制御回路２０ａは、このＤＭＡリクエスト信号Ｄｒｅｑを受付けると、通信制御装置１６にＤＭＡアクノリッジ信号Ｄａｃｋを与える（図３の（２−１）参照）。また制御回路２０ａは、下位側セレクタ２０ｂに制御指令として切替制御信号を与える。すると、通信制御装置１６は、通信制御装置１６−バッファ２１間においてバスブリッジ１５の下位側セレクタ２０ｂを通じてデータ「ＡＡＡＡ」の転送処理を行う。これらの動作が繰り返されることにより、順次データ「ＡＡＡＡ」〜「ＤＤＤＤ」の転送処理が行われるが（図３の（１−１）〜（２−４）参照）、データ転送処理が段階的に行われるときには、バスブリッジ１５の６４ビットのバッファ２１の単位記憶領域２１ａ〜２１ｄに対して下位バス１８のバス幅１６ビット単位で順次格納される。制御回路２０ａは、バッファ２１にデータを格納すると共にカウンタ２０ｃをインクリメントする（図３の（３−１）〜（３−４）参照）。すなわち、制御回路２０ａはカウンタ２０ｃの値によりバッファ２１のポインタ制御を行うことになる。これらの処理がバスブリッジ１５のバッファ２１にデータがフルに格納されるまで繰り返される。
【００１５】
バスブリッジ１５のバッファ２１にデータがフルに格納されると２ビットのカウンタ２０ｃが１巡して値「００」になるため、制御回路２０ａまたは１９ａは、ＤＭＡコントローラ１４に対してＤＭＡリクエスト信号Ｄｒｅｑを出力する（図３の（４−１）参照）。ＤＭＡコントローラ１４は、このＤＭＡリクエスト信号Ｄｒｅｑを受け付けると、ＤＭＡアクノリッジ信号Ｄａｃｋを制御回路１９ａに出力する。そして、ＤＭＡコントローラ１４は、バッファ２１−メモリ１３間のＤＭＡ転送処理を上位側セレクタ１９ｂを通じて行う（図３の（６−１）参照）。このとき、ＤＭＡ転送処理は、上位バス１７のデータバス幅に合わせた６４ビット幅で一度に行われる。
【００１６】
またこれらの処理と同時に、転送用データがある場合には、下位側では引き続き通信制御装置１６とバッファ２１との間で周期的にデータ転送処理が行われる（図３の（１−５）〜（３−５）参照）が、転送用のデータが全て下位側セレクタ２０ｂを通じてバッファ２１に転送されると、通信制御装置１６は、終了通知するための終了通知信号ＤＭＡｅｎｄをバスブリッジ１５の制御回路１９ａに出力する（図３の（７−１）参照）。
【００１７】
バスブリッジ１５の制御回路１９ａは、バッファ２１にフルにデータが格納されていない（すなわちカウンタ２０ｃが「００」以外）場合であっても、終了通知信号ＤＭＡｅｎｄを検出すると、ＤＭＡコントローラ１４に対してＤＭＡリクエスト信号Ｄｒｅｑを出力する（図３の（４−２）参照）。ＤＭＡコントローラ１４は、ＤＭＡリクエスト信号Ｄｒｅｑを受付けると、制御回路１９ａにＤＭＡアクノリッジ信号Ｄａｃｋを出力する（図３の（５−２）参照）。すると、ＤＭＡコントローラ１４は、バッファ２１にフルにデータが格納されていない場合でも、バスブリッジ１５のバッファ２１−メモリ１３間でＤＭＡ転送処理する（図３の（６−２）参照）。また、制御回路１９ａは、終了通知信号ＤＭＡｅｎｄを受け付けると、制御回路２０ａを通じてバスブリッジ１５のカウンタ２０ｃ（バッファ２１のポインタ）を初期化する（図３の（３−６）参照）。
【００１８】
＜メモリ１３から通信制御装置１６へのＤＭＡデータ転送中継処理について＞
以下、図４を参照しながらメモリ１３から通信制御装置１６へのＤＭＡデータ転送中継処理について説明する。メモリ１３から通信制御装置１６に対してデータ転送する場合についても、通信制御装置１６がバスブリッジ１５の制御回路２０ａに対してＤＭＡリクエスト信号Ｄｒｅｑを出力することによりデータ転送処理が開始される（図４の（１−１）参照）。
【００１９】
通信制御装置１６が制御回路２０ａに対してＤＭＡリクエスト信号Ｄｒｅｑを出力し制御回路２０ａがこの信号を受け付けると、制御回路２０ａは、ＤＭＡコントローラ１４に対してＤＭＡリクエスト信号Ｄｒｅｑを出力する（図４の（２−１）参照）。ＤＭＡコントローラ１４は、このＤＭＡリクエスト信号Ｄｒｅｑを受付けると、ＤＭＡアクノリッジ信号Ｄａｃｋをバスブリッジ１５の制御回路１９ａに出力する（図４の（３−１）参照）。制御回路１９ａがＤＭＡアクノリッジ信号Ｄａｃｋを受付けると、ＤＭＡコントローラ１４は、バスブリッジ１５のバッファ２１−メモリ１３間のＤＭＡ転送処理を行う。このとき転送データは、上位バス１７を通じて６４ビットのバッファ２１に格納される（図４の（４−１）参照）。
【００２０】
バスブリッジ１５の制御回路１９ａは、６４ビットのバッファ２１に転送データが格納されたことを検出すると、制御回路２０ａから通信制御装置１６に対してＤＭＡアクノリッジ信号Ｄａｃｋを出力させる（図４の（５−１）参照）。そして、通信制御装置１６はＤＭＡアクノリッジ信号Ｄａｃｋを受付けると、通信制御装置１６の機能によりバッファ２１に記憶された６４ビットのデータを順次１６ビット毎に通信制御装置１６内に転送する（図４の（５−１）〜（６−４））。このとき、制御回路２０ａは、バッファ２１からデータを転送されるたびにカウンタ２０ｃをインクリメントする（図４の（７−１）〜（７−４）参照）。すなわち、制御回路２０ａは、カウンタ２０ｃによりバッファ２１のポインタ制御を行う。
【００２１】
そして６４ビット分のデータ転送が終了し、バッファ２１内に記憶されたデータがＥＭＰＴＹ（全て読出された状態）になると、カウンタ２０ｃの値が１巡し「００」になる。バッファ２１に転送データがなくなると、制御回路２０ａが通信制御装置１６から出力されるＤＭＡリクエスト信号Ｄｒｅｑを受付け、もし転送データが存在するならば再度上位バス１７側からデータ転送が行われると共に、下位バス１８側の通信制御装置１６に対してデータ転送が行われる（図４の（１−５）〜（７−５）参照）。
【００２２】
この後、通信制御装置１６は、データ転送処理が終了するとバスブリッジ１５の制御回路１９ａに対して終了を通知するＤＭＡ終了通知信号ＤＭＡＥｎｄを出力する（図４の（８−１）参照）。制御回路１９ａは、このＤＭＡ終了通知信号ＤＭＡＥｎｄを受付けるとカウンタ２０ｃ（バッファ２１のポインタ）を初期化すると共に、バッファ２１の単位記憶領域２１ａ〜２１ｄを消去（クリア）する。
【００２３】
以上説明したように本実施形態によれば、バスブリッジ１５が、メモリ１３から上位バス１７および下位バス１８を通じて通信制御装置１６に対して行われるＤＭＡコントローラ１４によるＤＭＡデータ転送を中継する場合には、制御回路２０ａは、バスブリッジ１５の外部から与えられる制御指令に基づいて上位側のセレクタ１９に上位バス１７から与えられる６４ビットのデータを６４ビットのバッファ２１に出力させることにより記憶させ、制御回路２０ａは、下位側のセレクタ２０ｂに６４ビットのバッファ２１に記憶されたデータを下位バス１８のデータバスに対して１６ビット毎に選択切替出力させるため、下位バス１８の１６ビットのバス幅に合わせてＤＭＡ転送処理を行う必要がなくなり、バス幅の異なる上位バス１７および下位バス１８の使用効率を向上できるようになる。
【００２４】
また逆に、バスブリッジ１５が、通信制御装置１６から下位バス１８および上位バス１７を通じてメモリ１３に対して行われるＤＭＡコントローラ１４によるＤＭＡ転送処理を中継する場合には、バスブリッジ１５の外部から与えられる制御指令に基づいて、制御回路２０は、下位側のセレクタ２０ｂに下位バス１８のデータバスから与えられるデータをバッファ２１の単位記憶領域毎に選択入力させることにより単位記憶領域２１ａ〜２１ｄ毎に記憶させ、制御回路１９ａは、バッファ２１に記憶された６４ビットのデータを上位バス１７のデータバスに出力させてＤＭＡコントローラ１４によるＤＭＡ転送機能によりデータ転送するため、下位バス１８のバス幅に合わせてＤＭＡ転送処理を行う必要がなくなり、バス幅の異なる上位バス１７および下位バス１８の使用効率を向上できるようになる。
【００２５】
（他の実施形態）
本発明は、前述実施形態に限定されるものではなく、例えば、以下に示す変形もしくは拡張が可能である。
制御回路１９ａおよび２０ａは一体に構成しても良い。
上位バス１７および下位バス１８について、読出用データバスおよび書込用データバスを設けた実施形態を示したが、これらはそれぞれ読出／書込共用のデータバスであっても良い。
【００２６】
バッファ２１の記憶領域は、少なくとも上位バス１７のデータバス幅に相当するビット数以上の記憶領域を有していれば良い。すなわち、前述実施形態においては、６４ビットの記憶領域を有する実施形態を示したが、例えば１２８ビット（８ワード：１６バイト），もしくは２５６ビット（１６ワード：３２バイト）の記憶領域を有していても良い。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施形態を示す電気的構成図
【図２】信号の流れを概略的に示す電気的構成図
【図３】ＤＭＡ転送処理を示すタイミングチャート（その１）
【図４】ＤＭＡ転送処理を示すタイミングチャート（その２）
【図５】従来例を示す図１相当図
【符号の説明】
【００２８】
図面中、１１はシステムＬＳＩ、１２はＣＰＵ、１３はメモリ（第１のモジュール，上位モジュール）、１４はＤＭＡコントローラ（コントローラ）、１５はバスブリッジ、１６は通信制御装置（第２のモジュール，下位モジュール）、１７は上位バス（第１バス）、１８は下位バス（第２バス）、１９は上位バスインタフェース回路、１９ａは制御回路（制御手段）、１９ｂは上位側セレクタ（第１の選択手段）、２０は下位バスインタフェース回路、２０ａは制御回路（制御手段）、２０ｂは下位側セレクタ（第２の選択手段）、２０ｃはカウンタ、２１はバッファ（記憶手段）、２１ａ〜２１ｄは単位記憶領域を示す。
【図１】
2005242658.tif 000003
【図２】
2005242658.tif 000004
【図３】
2005242658.tif 000005
【図４】
2005242658.tif 000006
【図５】
2005242658.tif 000007