(57)【特許請求の範囲】
【請求項１】
複数のバスを駆動するためのバス駆動装置において、
所定の制御信号とバス選択信号を生成して出力する制御ロジックと、
データソースからのデータをバイト単位に分割し、前記バスにローディングするためのデータが、バイト単位であるか、ハーフワード単位であるか、又はワード単位であるかに従って前記分割されたデータのうち、選択されたバイト単位のデータの順序を変換し、選択されないバイト単位のデータを前記変換されたデータに付加して、出力するバイトローテータと、
前記制御信号に応答して前記バイトローテータから入力されるデータのうち前記分割されたデータの前記選択され、順序を変換されたデータを出力し、前記選択されないデータに対しては所定の符号値に変換して出力する符号拡張器と、
前記バス選択信号に応答して前記複数のバスのうち所定のバスを選択し、前記符号拡張器から入力される前記選択されたデータと、前記所定の符号値に変換された出力とを前記選択されたバスにローディングするバス選択回路と、を含むことを特徴とするバス駆動装置。
【請求項２】
前記選択されるデータの単位はバイト単位、ハーフワード単位及びワード単位のうち一つであることを特徴とする請求項１に記載のバス駆動装置。
【請求項３】
前記バイトローテータは前記分割されたデータの順序を変換する動作によって前記選択されたバイト単位のデータを全体のデータの下位に位置させることを特徴とする請求項１に記載のバス駆動装置。
【請求項４】
前記バス選択回路は前記複数のバスと前記符号拡張器との間に連結されて、前記バス選択信号に応答して前記バスを連結、または遮断させるスイッチング素子を含むことを特徴とする請求項１に記載のバス駆動装置。
【請求項５】
前記スイッチング素子はＰＭＯＳトランジスタで構成されることを特徴とする請求項４に記載のバス駆動装置。
【請求項６】
前記符号拡張器は、前記制御ロジックからの第１選択制御信号に応答して前記バイトローテータから入力されるデータのうち下位一番目のバイトの出力を制御する第１制御回路と、
前記制御ロジックからの第２選択制御信号に応答して前記バイトローテータから入力されるデータのうち下位二番目のバイトの出力を制御する第２制御回路と、
前記制御ロジックからの第３選択制御信号に応答して前記バイトローテータから入力される上位二つのバイトの出力を制御する第３制御回路と、
前記制御ロジックからの符号化制御信号に応答して前記選択されないデータを符号化させる符号化回路とを含むことを特徴とする請求項１に記載のバス駆動装置。
【請求項７】
前記第１制御回路と前記第２制御回路、前記第３制御回路及び前記符号化回路の最終出力端は前記バスに連結されたＮＭＯＳトランジスタを含むことを特徴とする請求項６に記載のバス駆動装置。
【請求項８】
前記符号化回路は、前記選択されないデータを、前記選択されたデータの最上位のビット値に変換させるか、または全部‘０’の値に符号変換させることを特徴とする請求項６に記載のバス駆動装置。
【請求項９】
複数のバスを駆動するためのバス駆動方法において、
複数の制御信号とバス選択信号を生成する段階と、
データソースから受信されたデータをバイト単位に分割し、前記バスにローディングするためのデータが、バイト単位であるか、ハーフワード単位であるか、又はワード単位であるかに従って前記分割されたデータのうち、選択されたバイト単位のデータの順序を変換し、選択されないバイト単位のデータを前記変換されたデータに付加して、出力する段階と、
前記制御信号に応答して前記分割されたデータの前記選択され、順序を変換されたデータを出力し、前記選択されないデータに対しては所定の符号値に変換して出力する段階と、
前記バス選択信号に応答して前記複数のバスのうち一つのバスを選択し、前記選択されたバイト単位のデータを前記選択されたバスにローディングする段階とを具備することを特徴とするバス駆動方法。
【請求項１０】
複数のバスを駆動するためのバス駆動装置に使用され、データソースから受信されたデータをバイト単位に分割し、前記バスにローディングするためのデータが、バイト単位であるか、ハーフワード単位であるか、又はワード単位であるかに従って前記分割されたデータのうち、選択されたバイト単位のデータの順序を変換し、選択されないバイト単位のデータを前記変換されたデータに付加して、出力されたデータを入力し、制御ロジックからの制御信号により前記選択されたデータを出力する符号拡張器において、
複数のバイトに分割されたデータのうち下位の一番目のバイトのデータを制御するための第１選択制御信号により制御される第１制御回路と、
複数のバイトに分割された前記データのうち下位二番目のバイトのデータを制御するための第２選択制御信号により制御される第２制御回路と、
複数のバイトに分割された前記データのうち下位三番目のバイトのデータを制御するための第３選択制御信号により制御される第３制御回路と、
前記選択されないバイト単位のデータを符号化させる少なくとも一つの以上の符号化回路とを含むことを特徴とする符号拡張器。
【請求項１１】
前記少なくとも一つの符号化回路は、前記分割されたデータの順序を変換する動作によって選択されたデータの最上位のビット値に前記選択されないデータを変換することを特徴とする請求項１０に記載の符号拡張器。
【請求項１２】
前記少なくとも一つの符号化回路は、前記分割されたデータの順序を変換する動作によって前記選択されないデータを全部‘０’の値に変換することを特徴とする請求項１０に記載の符号拡張器。
【請求項１３】
前記第１制御回路と前記第２制御回路、前記第３制御回路及び前記符号化回路の最終の出力端は前記バスに連結された少なくとも一つのＮＭＯＳトランジスタを含むことを特徴とする請求項１０に記載の符号拡張器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はバス駆動装置に関するものであって、さらに詳細には、複数のバスを含んで高速で動作するマイクロプロセッサ（Ｍｉｃｒｏｐｒｏｃｅｓｓｏｒ）システムで、複数のバスを効果的に駆動するためのマルチバス駆動装置（Ｂｕｓ  Ｄｒｉｖｅｒ）に関するものである。
【背景技術】
【０００２】
一般的にパイプライン（Ｐｉｐｅｌｉｎｅ）構造のバスを使用するマイクロプロセッサシステムは、データのバイパス（Ｂｙｐａｓｓ）のためのバスの実現のし方によって性能が大きく左右される。パイプライン構造のマイクロプロセッサシステムに使用されるバスは大きく単一レール（Ｓｉｎｇｌｅ−ｒａｉｌ）バスとデュアルレール（Ｄｕａｌ−ｒａｉｌ）バスに区分される。単一レール構造を有するバスはデータのハイレベル（ｈｉｇｈ  ｌｅｖｅｌ）とローレベル（ｌｏｗ  ｌｅｖｅｌ）との間のスイング（ｓｗｉｎｇ）の幅が大きくて、データバスを充電（ｃｈａｒｇｅ）及び放電（ｄｉｓｃｈａｒｇｅ）するのに多くの時間がかかる。これに対して、デュアルレール構造を有するバスは単一レール構造のバスに比べて相対的にスイング幅が小さい。したがって、デュアルレール構造のバスを利用するマイクロプロセッサシステムは単一レール構造のバスを利用するマイクロプロセッサシステムに比べて低電力の速い応答速度を有する。
【０００３】
一方、デュアルレールバスを利用するマイクロプロセッサシステムで、パイプラインの深さが深ければ深いほど、使用されるバスの数が増加し、このような複数のバスをどのように駆動するかに従ってマイクロプロセッサシステムの性能が異なる。一般的に、マイクロプロセッサシステムで同一のデータを複数のバスに同時にローディングするために各バスごとに別途のバス駆動器を具備し、これを並列に構成することによって複数のバスを各々駆動している。しかし、このような方式はマイクロプロセッサシステムで使用されるバス数だけのバス駆動装置を要し、これによって、バッフアのような周辺ロジックが追加されて占めるハードウェア面積の増加を招来し、これを制御するための制御ロジックを複雑にして、結果的に効果的なマイクロプロセッサシステムの設計を難しくする。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明では、一つの符号拡張器を利用してデュアルレール構造を有する複数のバイパスバスを効果的に駆動することができるマルチバス駆動装置を提供する。
【課題を解決するための手段】
【０００５】
複数のバスを駆動するための本発明のバス駆動装置は、所定の制御信号とバス選択信号を生成して出力する制御ロジックと、データソースからのデータを所定のサイズに分割し、バイト動作に従って分割されたデータの順序を変換して出力するバイトローテータと、制御ロジックからの制御信号に応答してバイトローテータからのデータのうちバイト動作によって選択されたデータを出力し、選択されないデータは所定の符号値に拡張して出力する符号拡張器と、制御ロジックからのバス選択信号に応答して複数のバスのうち所定のバスを選択して符号拡張器からのデータを選択されたバスにローディングするバス選択回路とを含む。
【発明の効果】
【０００６】
本発明のマルチバス駆動装置は、バス選択回路を利用して一つの符号拡張器で複数のバスを駆動することによって、マイクロプロセッサシステムの設計において面積の効率を向上させることができる。また、本発明のマルチバス駆動装置は、ＰＭＯＳ−ＮＭＯＳトランジスタ対を利用してバスを最終駆動することによって、より速い速度でバスを駆動することができる。
【発明を実施するための最良の形態】
【０００７】
以下、図面を参照して本発明のマルチバス駆動装置の実施の形態を詳細に説明する。
【０００８】
図１は複数のバスを駆動するための本発明のマルチバス駆動装置の実施の形態を示すブロック図である。図１に示したように、本発明のマルチバス駆動装置は、制御ロジック２０６とバイトローテータ２０２、符号拡張器２０４、及びバス選択回路２０８を含む。
【０００９】
制御ロジック２０６は符号拡張器２０４の動作を制御するための所定の制御信号Ｃｔｒｌｓとバス選択回路２０８を制御するためのバス選択信号ＳＥＬ１、ＳＥＬ２を生成して各々符号拡張器２０４とバス選択回路２０８に印加する。
【００１０】
バイトローテータ２０２はデータソースから入力された３２ビットのデータを８ビットずつ四つのバイトに分割し、バイト単位に分割されたデータの位置をバイト動作によって変換させて出力する。
【００１１】
図２はバイト動作によるバイトローテータ２０２の動作を説明するための図である。バイト動作はバスにローディングするためのデータがバイト単位（８ビット）であるか、ハーフワード（Ｈａｌｆ−Ｗｏｒｄ）単位（１６ビット）であるか、またはワード単位（３２ビット）であるかを意味する。もし、図２の（ａ）のようなデータで、バイト３の出力が必要なバイト単位動作であれば、図２の（ｂ）のようにバイト３の位置を下位バイトＬＳＢに変更して出力されるようにする。また、ハーフワード単位の動作で、もしバイト２とバイト３の出力が必要であれば、図２の（ｃ）のように、バイト２とバイト３を下位バイトに移動させて出力されるようにする。
【００１２】
符号拡張器２０４はバイト動作による制御ロジック２０６からの制御信号Ｃｔｒｌｓに応答してバイトローテータ２０２から入力されるローテータされたデータＤａｔａ＿Ｒのうち選択されたバイトのデータを出力し、選択されない残りのデータビットに対しては所定の符号値に変換して出力する。
【００１３】
図３は図１の符号拡張器２０４の詳細回路図である。図３に示したように、本発明の符号拡張器２０４は制御ロジック２０６からの第１選択制御信号ｓｃｔｒｌ１に応答して下位一番目のバイトデータＤａｔａ＜７：０＞、ｎＤａｔａ＜７：０＞の出力を制御する第１制御ロジック４０６と第２選択制御信号ｓｃｔｒｌ２に応答して下位二番目のバイトのデータＤａｔａ＜１５：８＞、んＤａｔａ＜１５：８＞の出力を制御する第２制御回路４０４及び第３選択制御信号ｓｃｔｒｌ３に応答して上位二つのバイトのデータＤａｔａ＜３１：１６＞、ｎＤａｔａ＜３１：１６＞の出力を制御する第３制御回路４０２を含む。各々の制御回路４０２、４０４、４０６はＮＡＮＤゲートとインバータ及びＮＭＯＳトランジスタで構成される。
【００１４】
また、本発明の符号拡張器２０４はバイト動作によって選択されて出力されるデータを除いた残りの選択されないデータを所定の符号値に拡張して出力するための符号化回路を含む。この時、データを符号化させる方法としては、バイト動作によって選択されたデータの最後のビット値に拡張して符号化させる方法と、全部０の値に符号化させる方法がある。図３に示した実施の形態では、この二つの場合を全部含んでおり、先ず、最後のビット値に拡張して符号化するために符号拡張器２０４はバイト単位の動作時、第１符号化信号ｓｇｎ１に応答して下位一番目のバイトＤａｔａ＜７：０＞、ｎＤａｔａ＜７：０＞を除いた残りのデータＤａｔａ＜８：３１＞、ｎＤａｔａ＜８：３１＞を下位８番目のビットの値Ｄａｔａ＜７＞、ｎＤａｔａ＜７＞によって符号化させる第１符号化回路４０８を含み、ハーフワード動作時、第２符号化信号ｓｇｎ２に応答して下位二つのバイトＤａｔａ＜１５：０＞、ｎＤａｔａ＜１５：０＞を除いた上位二つのバイトのデータＤａｔａ＜１６：３１＞、ｎＤａｔａ＜１６：３１＞を下位１６番目のビットの値Ｄａｔａ＜１５＞、ｎＤａｔａ＜１５＞によって符号化させる第２符号化回路４１０を含む。次に、選択されないデータに対して全部０の値に符号させるために符号拡張器２０４は制御ロジック２０６からのプルダウン信号ｐｄ１、ｐｄ２に応答して、選択されないデータのバスラインを放電させてデータを０とするＮＭＯＳで実現されたプルダウン駆動器４１２を含む。このプルダウン駆動器４１２は、バイト動作時選択されないデータをｐｄ１及びｐｄ２信号のイネーブルによって全部０として出力し、ハーフ動作時には、ｐｄ２信号のイネーブルによって上位二つのバイトのデータのみを０として出力する。
【００１５】
図１でバス選択回路２０８は制御ロジック２０６からの選択信号ＳＥＬ１、ＳＥＬ２に応答してデータを出力するバスを選択し、符号拡張器２０４から入力されるデータを選択されたバスにローディングする。このために、バス選択回路２０８は図１に示したように、各バスラインに連結されたスイッチング素子を含み、本発明の実施の形態では、スイッチ素子にＰＭＯＳトランジスタＰ１、Ｐ２、Ｐ３、Ｐ４を使用する。このようなバス選択回路２０８は符号拡張器２０４から入力されるデータを第１バスにバイパスさせてローディングし、第１選択信号ＳＥＬ１のイネーブルによって第１及び第２ＰＭＯＳトランジスタＰ１、Ｐ２をオンさせてデータを第２バスにローディングする。また、第２選択信号ＳＥＬ２のイネーブルによって第３及び第４トランジスタＰ３、Ｐ４をオンさせてデータを第３バスにローディングする。
【００１６】
一方、バスのプリチャージ動作のために大部分のプリチャージバスでは、ＮＭＯＳ−２スタックを使用することが一般的である。しかし、本発明では、図１と図３に示したように、バス選択回路２０８のＰＭＯＳ（Ｐ１、Ｐ２、Ｐ３、Ｐ４）と符号拡張器２０４のＮＭＯＳを対で実現して、最終的にバスを駆動することによって、バス駆動速度を改善した。ＮＭＯＳ−２スタックを使用してバスを駆動する場合、ＮＭＯＳのゲートとソースとの間に完全に電圧（ｆｕｌｌ  ＶＤＤ）が印加されても、ソースの電圧が臨界電圧（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ）の以下に判定（ｅｖａｌｕａｔｉｏｎ）される前にはバスが駆動されない。しかし、本発明のように、ＰＭＯＳとＮＭＯＳの対でバスを駆動する場合にはソースの電圧に関係なしに、ソースとドレインの差をすぐ反映してデータの判定速度を速くすることによって、全体のバス駆動速度を改善することができる。これは、図４の（Ａ）に示したＮＭＯＳトランジスタの特性曲線と図４の（Ｂ）に示したＰＭＯＳトランジスタの特性曲線から分かるように、プリチャージされたバスでトランジスタの初期反応速度はＰＭＯＳトランジスタの方がＮＭＯＳトランジスタに比べてずっと速いためである。
【００１７】
以上で、本発明によるバス駆動装置の好ましい実施の形態を詳細に説明したが、これは例示的なものに過ぎず、本発明の技術的思想を逸脱しない範囲内で多様な応用及び変更が可能である。
【図面の簡単な説明】
【００１８】
【図１】複数のバスを駆動するための本発明のバス駆動装置の実施の形態を示すブロック図である。
【図２】図１に示した本発明のバイトローテータでバイト動作に従ってバイトの位置が変更することを示す図である。
【図３】図１に示した本発明の符号拡張器の実施の形態を示す回路図である。
【図４（Ａ）】プリチャージバスでＮＭＯＳトランジスタの初期動作特性を示す特性曲線図である。
【図４（Ｂ）】プリチャージバスでＰＭＯＳトランジスタの初期動作特性を示す特性曲線図である。
【符号の説明】
【００１９】
２０２    バイトローテータ
２０４    符号拡張器
２０６    制御ロジック
２０８    バス選択回路
【図１】
0004776183.tif 000002
【図２】
0004776183.tif 000003
【図３】
0004776183.tif 000004
【図４（Ａ）】
0004776183.tif 000005
【図４（Ｂ）】
0004776183.tif 000006