(57)【要約】【課題】  高速ネットワークにおいて少ないピン数で共有メモリを配置して効率的にデータ転送することのできるネットワーク装置を提供する。【解決手段】  各々がデータをネットワークと送受信する複数のネットワーク回路と、データがネットワークに送信される前にネットワーク回路により受取られるデータを一時的に記憶するための共有メモリとを含む。この共有メモリは、複数のネットワーク回路がアクセス可能な複数のメモリバンクを含む。あるネットワーク回路に対してネットワークに送信されるデータを読出すようにあるメモリバンクに対する読出アクセスが与えられると、別のネットワーク回路に対してネットワークから受信したデータを書き込むように別のメモリバンクに対して書込アクセスが与えられる。【選択図】        図３７
2004320786.tif 000002
【特許請求の範囲】
【請求項１】
各々がデータをネットワークと送受信するための複数のネットワーク回路と、
データがネットワークに送信される前にネットワーク回路により受取られるデータを一時的に記憶するための共有メモリとを含み、前記共有メモリは前記複数のネットワーク回路が各々アクセス可能である複数のメモリバンクを含み、
動作時、あるネットワーク回路に対し、ネットワークに送信されるべきデータを読出すようにあるメモリバンクへの読出アクセスが与えられると、別のネットワーク回路に対してネットワークから受信されるデータを書き込むように別のメモリバンクに対して書込アクセスが与えられる、ネットワーク装置。
【請求項２】
データはネットワーク上を固定されたサイズのセルで送信される、請求項１記載のネットワーク装置。
【請求項３】
各前記ネットワーク回路は１つ以上のＡＴＭポートを有するＡＴＭスイッチファブリックである、請求項１または２記載のネットワーク装置。
【請求項４】
前記ネットワーク装置は非ブロッキングＡＴＭスイッチであり、全てのメモリバンクは全てのネットワーク回路に対してアクセス可能である、請求項１ないし３のいずれかに記載のネットワーク装置。
【請求項５】
データをネットワークと送受信するための方法であって、
各々がデータをネットワークと送受信可能な複数のネットワーク回路によってデータを受信するするステップと、
受信されたデータを送信する前の一時記憶のために共有メモリに書き込むステップとを含み、前記共有メモリは複数のメモリバンクを含み、各前記メモリバンクは複数のネットワーク回路がアクセス可能であり、さらに
データを前記共有メモリからあるネットワーク回路に読出し、データを前記あるネットワーク回路により送信するステップを含み、前記読出および書込ステップは、あるデータがあるメモリバンクから読出されている間に他のデータがメモリバンクに書き込まれているように同時に進行する、方法。
【請求項６】
各前記ネットワーク回路はデータを固定されたサイズで転送する、請求項５記載の方法。
【請求項７】
各前記ネットワーク回路は、複数のポートを有するＡＴＭスイッチファブリックである、請求項５または６記載の方法。
【請求項８】
全てのメモリバンクは、全てのネットワーク回路にアクセス可能である、請求項５ないし７のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は一般にメモリインタフェースシステムを利用するネットワーク装置に関し、より特定的には、マルチプロセッサシステムおよび通信における交換のような適用例のための、複数の装置による共有メモリへのアクセスを与えおよび調停するための方法および装置に関する。
【背景技術】
【０００２】
共有メモリは、複数のプロセス間でのデータ伝送を容易にするために用いられる。通常の共有メモリ実現例は、複数のポートの使用を伴う。各ポートが異なる外部装置に共有メモリアクセスを与えてもよい。異なる装置は、データを送る、異なるプロセスの制御または実行に関連してもよい。
【０００３】
他のポートによる共有メモリアクセスによって大きく影響されない、共有メモリへのアクセスを、各ポートに与えるために、共有メモリへの経路は通常は個々のポートの帯域幅の総和に近い帯域幅で設計される。これにより、たとえ複数のポートが共有メモリへのアクセスを求めても、共有メモリにアクセスすることにおいていずれのポートも大きな遅延を被らないほど経路のデータ伝搬能力が十分大きいことが保証される。一般に、これは２つの方法のうちの１つ、またはそれらの何らかの組合せで達成される。第１に、共有メモリアクセス時間は、個々のポートに対するデータ転送時間よりもはるかに高速であるよう設計すればよい。第２に、共有メモリへの経路幅が、個々のポートの経路幅よりもはるかに大きいように設計されてもよい。
【０００４】
第１のアプローチは、各ポートに、データが共有メモリから読出されまたはそこに書込まれ得るタイムスロットを割当てることである。各ポートに対し、割当てられるタイムスロットは、ポートを通してデータを転送するのに必要な実際の時間よりも短い。したがって、データはその転送中にポートと共有メモリとの間で一時的にバッファされる。普通は、ポートのタイムスロットの長さは、共有メモリへのアクセスを共有する装置の数に反比例する。特定のポートを用いる装置は、そのポートに対して割当てられたタイムスロットの間のみメモリへのアクセスを得ることができる。データは、タイムスロットとタイムスロットとの間ではバッファされる。このアプローチには欠点があった。たとえば、このアプローチは、メモリアクセス時間がポートのデータ転送時間よりもかなり短いことを必要とする。しかしながら、ポートと共有メモリとに対するデータ転送速度間においてそのような不一致を有することは非実用的であることがしばしばある。
【０００５】
第２のアプローチも、各ポートにタイムスロットを割当てることを伴う。たとえば、共有メモリへの書込みは、それぞれのポートで受信された複数のデータワードを一時的にバッファし、次いで、それらを、そのポートに対して指定されるタイムスロットの間に、すべて１つのメモリアクセスサイクルで、幅の広いメモリ経路上でメモリに与えることを伴う。逆に、共有メモリからの読出しは、複数のワードを、それぞれのポートに対して指定されるタイムスロットの間に、すべて１つのメモリアクセスサイクルで、幅の広い経路上で与えることと、メモリから読出されたワードを一時的にバッファすることと、次いでそのワードをポートを通して転送することとを伴う。この第２のアプローチは、データワードがそれぞれのポートを通してマルチワードバーストで通信されるバーストモードシステムに特によく適合する。バースト全体が、メモリアクセスバッファに一時的に記憶され、次いで１つのメモリアクセスサイクル中に共有メモリへのそのような広帯域幅経路を通して書込みまたは読出しされるだろう。適当に大きい帯域幅を有する経路を設けることによって、各ポートは、他のポートを通るデータ転送によって妨害されない、共有メモリへの
排他的アクセスを有するように見えるようにされるだろう。
【０００６】
図１の例示的ブロック図は、ワード幅ｍを各々が有するｋ個のポートが共通のメモリを等しく共有するマルチポートメモリシステムのこれまでの実現例を示す。各バーストはｋ個のワードを含む。ｋ個のメモリアクセスバッファはｋ個のｍビットワードを各々有し得る。各バッファはｋ×ｍライン幅の経路によって共有メモリに接続される。共有メモリはｋ×ｍビット幅である。
【０００７】
図２の例示的な図は、図１のそれのような通常のマルチポートメモリシステムにおいて用いられるデータフォーマットを示す。共有メモリへのデータの転送中、ｍビットワードからなるｋワードのバーストがポートを通過する。このバースト全体は１つのメモリアクセスバッファに短時間記憶される。次いで、所定のタイムスロット中に、バーストのｋ個のワードすべては、バッファから同時に転送され、ｋ×ｍ経路上で共有メモリに書込まれる。共有メモリからのデータの転送中は、ｋ個のワードが別の所定のタイムスロット中に共有メモリから読出されて１つのメモリアクセスバッファに転送される。次いで、バッファされたデータは、そのバッファに関連するポートを通って転送される。
【０００８】
最初にバーストを入力したポートは、バーストを出力するポートと異なってもよい。バーストが入力ポートから出力ポートに送られ得るよう、共有メモリはバーストを一時的に記憶する。したがって、図１のシステムはポート間でデータを送るのに用いられ得る。
【０００９】
より特定的には、たとえば、メモリ書込み動作において、それぞれのポートを通して受信されたｋ個のｍビットワードは、そのポートに割当てられたメモリアクセスバッファによってバッファされる。続いて、そのメモリアクセスバッファに対して予約されたタイムスロット中に、割当てられたバッファに記憶されたｋ個のｍビットワードのすべては、共有されるｋ×ｍビット幅経路上で共有メモリに同時に書込まれる。同様の態様で、他のバッファの各々は、それら自身の関連するポートのためにｍビットワードを記憶し得る。各個々のバッファの内容全体（ｋ個のワードすべて）は、そのバッファに対して予約された個々のタイムスロット中に、共有メモリに書込まれ得る。メモリ読出動作は、書込み動作のステップが逆になることを除き、同様である。
【００１０】
複数のポートで共有されるメモリとポートとの間でデータを転送するための構成が、下記の特許文献において開示されている。
【特許文献１】国際公開第９５／０５６３５号パンフレット
【特許文献２】特開平１−２５６２４６号公報
【特許文献３】特願平７−１０２８３９号（特開平７−３２１８２４号公報）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
この従来の実現例の不利な点は、大型マルチポートシステムにおいてバッファとバスとの間に多数の相互接続ピンが必要となることである。図３は、別の従来のマルチポート共有メモリシステムを示すブロック図である。使用されるデータフォーマットは、１ワードに付き７２ビット（６４ビットデータに８ビットパリティを加えたもの）の１６ワードのバーストを伴う。共有メモリバスは１１５２線幅を有する（１６ワード×７２ビット／ワード）。バスは１６のメモリアクセスバッファの各々に接続される。各バッファは、バスに接続される１１５２本、およびポートに接続される７２本を含む、１２２４よりも多いデータピンを必要とするだろう。残念なことに、バスに接続される１１５２のデータピンは、１６のバッファすべてと共有メモリとに接続されるバス上で動作する高い駆動能力を各々必要とするだろう。図３は、バッファピンによって克服されなければならない例示的バス容量を示す。
【００１２】
したがって、共有メモリへの複数ポートアクセスを与えるための改善されたアーキテクチャが要求されている。このアーキテクチャは、メモリアクセスバッファのために必要なピンがより少なくあるべきであり、かつバッファピンのための高い駆動能力を必要とするべきではない。この発明はこれらの要求を満たすものである。
【課題を解決するための手段】
【００１３】
この発明の１つの局面では、各々がデータをネットワークと送受信するための複数のネットワーク回路と、データがネットワークに送信される前にネットワーク回路により受取られるデータを一時的に記憶するための共有メモリとを含み、この共有メモリはこれらの複数のネットワーク回路が各々アクセス可能である複数のメモリバンクを含み、動作時、あるネットワーク回路に対し、ネットワークに送信されるべきデータを読出すようにあるメモリバンクへの読出アクセスが与えられると、別のネットワーク回路に対してネットワークから受信されるデータを書き込むように別のメモリバンクに対して書込アクセスが与えられる、ネットワーク装置が提供される。
【発明を実施するための最良の形態】
【００１４】
この発明は、マルチポート共有メモリシステムを実現するための新規な方法および装置を含む。以下の説明は、当業者であればこの発明を実施できるように述べられる。特定の適用例の説明は、例としてのみ与えられる。好ましい実施例に対するさまざまな変更は当業者には容易に明らかとなり、ここに定義される一般原理はこの発明の精神および範囲から逸脱することなく他の実施例および適用例に適用されてもよい。したがって、この発明は、示される実施例に限定されることは意図されず、ここに開示される原理および特徴と整合性のある最も広い範囲と一致される。
【００１５】
ここで図４を参照すると、この発明に従う第１のマルチポート共有メモリシステム１８のブロック図が示される。第１のシステム１８は、ｎワードバーストでｍビットデータワードを各々が入力／出力するｋ個のポート２０の組と、相互接続マトリックス回路２２と、ｍ個のメモリアクセスバッファ２４の組と、共有メモリ２６とを含む。ポートは、デジタル情報がデータバスのような外部回路へまたは外部から転送され得る２方向デジタルパスとして働く。ポート構造は、当業者には周知であり、ここに記載される必要はない。共有メモリ２６内の、破線で示される特定領域は、バッファ２４に一時的に記憶されるデータのサブセットのために予約される。
【００１６】
メモリ書込み動作中において、ポート２０は、それに接続される個々の外部装置（図示せず）からの二進データを転送する。これらのポート２０は受信した二進データを相互接続マトリックス２２に与え、相互接続マトリックス２２はポートを介して転送されたデータをメモリアクセスバッファ２４間に分配する。この実施例において、この分配は、各メモリアクセスバッファ２４がポートの各々によって転送されるデータのサブセットを受取るようにして達成される。この実施例では、各バッファ２４は、個々のポートからそのバッファによって受取られたデータのすべてをメモリ２６に並列で転送し得る。さらに、そのような個々のポートから受取られるデータの並列転送のすべては、１つのメモリアクセスサイクル中に起こり得る。
【００１７】
メモリ読出し動作は、書込み動作のステップと同様であるが、逆向きである。つまり、ｎ個のｍビットワードのためのビットは、共有メモリから転送されてメモリアクセスバッファ２４間に分配される。相互接続マトリックス２２は次いでその分配されたビットを１つのポート２０に与え、それを通して、ｎ個のｍビットワードを含むバーストが外部装置（図示せず）に転送される。
【００１８】
次に図５を参照すると、第１のシステム１８において現在用いられる相互接続マトリックス回路２２とデータフォーマットとデータフローとの詳細を示す図が示される。各メモリアクセスバッファ２４は、どのポートであれそれを通して転送されるすべてのデータワードに対して、特定のビット位置を記憶するための専用となっている。データワードは、データおよびパリティ情報を含んでもよい。現在の好ましい実施例において、メモリアクセスバッファの総数はワードごとのビットの総数（ｍ）に等しく、したがって、各バッファに、すべてのワードにおける１つのビット位置を担わせることができる。たとえば、メモリアクセスバッファ２４−１はポート２０−１ないし２０−ｋのいずれかを通して転送される各ワードのビット１（Ｂ１）を記憶し、メモリアクセスバッファ２４−２はポート２０−１ないし２０−ｋのいずれかを通して転送される各ワードのビット２（Ｂ２）を記憶する、というようになる。
【００１９】
図４を再び参照すると、各メモリアクセスバッファ２４−１〜２４−ｍは、ｎビットデータ線２８−１〜２８−ｋの組によって共有メモリ２６に接続される。したがって、異なる序列のビットのｍ個のサブセット（各サブセットはｎ個のビットを伴う）が、メモリ２６とバッファ２４との間で同時に転送され得る。この実施例においては、ｍ個のサブセットの各々に対してｎビットあり、つまり、ｎワードのバーストにおけるｎ個のワードの各々に対して１つのビットがある。特定的には、バーストごとにｎワードありかつワードごとにｍビットある場合、バーストごとに序列Ｂ１のｎビットがあり、バーストごとに序列Ｂ２のｎビットがあり、…、バーストごとに序列Ｂｍのｎビットがある。所定の序列のｎビットのすべては、その序列のビットを記憶するために割当てられたバッファに接続されたｎビット線上でメモリ２６に同時に与えられ得る。たとえば、Ｂ１のｎビットのすべては、バッファ２４−１に接続されるｎビット線上に与えられる。これは、ｍ個のバッファがメモリのアドレスされた位置へまたはその位置から一度にｎワードを転送し得ることを意味する。以下に説明されるように、これらの転送されるワードのすべては、同じ外部装置で生じ、またはそれを目標とされたものであろう。
【００２０】
各ポート２０は、相互接続マトリックス２２と外部回路（図示せず）との間でデータを所定のフォーマットで転送する。この書類では、「ポートバースト」とは、外部回路へまたはそこからの両方向において１つのポートを介して転送されるデータバーストを意味する。図５に示される現在の実施例においては、ｍビットのデータワードは、バッファ２４への転送のためにポートによって相互接続マトリックス２２へ与えられるであろう。逆に、ｍビットのデータワードは、外部装置への転送のために相互接続マトリックス２２によってそのようなポートへ与えられるであろう。データワードフォーマットは、ビットＢ１〜Ｂｍが所定の順序で与えられるデータワードを各々に対して含む。相互接続マトリックスはそれらのビットを上述のように分配する。
【００２１】
相互接続マトリックス回路２２は、たとえば、プリント回路基板（ＰＣＢ）、ワイヤラップ、またははんだ付けワイヤを用いて実現され得る。現在の好ましい実施例において、相互接続マトリックスはポートとバッファとの間における接続を与える。以下に説明されるように、たとえば、ポート２０−１を介して転送される各ワード内の各Ｂ１は、マトリックス２２によって、ポート２０−１と関連付けされたバッファ２４−１の記憶素子に接続され、ポート２０−２を介して転送される各ワード内の各Ｂ１は、マトリックス２２によって、ポート２０−２と関連付けされたバッファ２４−１の記憶素子に接続され、…ポート２０−ｋを介して転送される各ワード内の各Ｂ１は、マトリックス２２によって、ポート２０−ｋと関連付けされたバッファ２４−１の記憶素子に接続される。
【００２２】
メモリアクセスバッファは、標準論理またはカスタム論理のいずれを用いても実現され得る。図６〜図９は、メモリアクセスバッファ２４とメモリアクセスバッファ２４のうちの１つのデュアルレジスタ対３４との動作を例示し説明する。図６の例示的ブロック図は
、メモリアクセスバッファ２４と、制御論理２９と、バッファ２４を相互接続マトリックス（図示せず）に接続する直列入力／出力線３０と、ｎビット並列入力／出力バス３２とを示す。制御論理２９は、線３０上の直列Ｉ／Ｏと、バス３２上の並列Ｉ／Ｏとを制御する。制御論理の動作は、図８のタイミング図を参照して説明される。
【００２３】
図７を参照して、デュアルｎビットレジスタ対３４のひとつが示される。この発明の現在の実施例において、各メモリアクセスバッファ２４は図７に示されるようなｋ個のデュアルレジスタ対を含み、バッファ２４ごとに合計して２ｋ個のレジスタがある。各バッファ内の各レジスタ対はポートの１つに関連付けされる。各レジスタ対は、そのレジスタ対に関連付けされたポートへまたはポートから転送されるすべてのデータワード内の所定の位置（序列）にあるすべてのビットを記憶するための専用となっている。つまり、それぞれのバッファの各それぞれのデュアルレジスタ対は、それぞれのポートを介して転送される各データワードからの同じ序列のビットのすべてを記憶し転送する。
【００２４】
たとえば、図５を参照すると、バッファ２４−１内において、デュアルレジスタ対Ｒi1は、ポートＰi （図示せず）を介して転送される各データワードの（序列が）第１のビットＢ１を受取って記憶する。バッファ２４−２内において、デュアルレジスタ対Ｒi2は、ポートＰi を介して転送される各ワードの（序列が）第２のビットＢ２を受取って記憶する。バッファ２４−ｍ内において、デュアルレジスタ対Ｒimは、ポートＰi を介して転送される各ワードの（序列が）第ｍのビットＢm を受取って記憶する。したがって、たとえば、ポートＰi を介して転送されるすべてのＢ１は、そのポートを介して転送されるデータのサブセットを表わす。同様に、たとえば、すべてのＢ２は別のサブセットを表わし、すべてのＢm も同様である。
【００２５】
図７を参照して、代表的な１つのメモリアクセスバッファのシフトイン／シフトアウトレジスタ対の詳細を示す。デュアルレジスタ対３４は、シフトインレジスタ３６とシフトアウトレジスタ３８とを含む。シフトインレジスタ３６は、まずデータのｎビットを記憶し、次いでそれが共有メモリ２６に書込まれるようそれをメモリバス３２上に並列でアサートする。シフトアウトレジスタは、共有メモリ２６から読み「出された」ｎビットのデータをメモリバス３２から並列で読出して記憶する。
【００２６】
シフトインレジスタ３６に記憶されるデータは相互接続マトリックス２２からシフトインレジスタ３６へシリアルにシフトされ、そこからそれはバス３２上に並列でアサートされて上述のようにメモリ２６に書込まれる。逆に、シフトアウトレジスタ３８に記憶されるデータはそれがメモリ２６から読出された後バス３２からシフトアウトレジスタへ並列で読出され、そこからそれはシフトアウトレジスタから相互接続マトリックス２２へシリアルにシフトされる。出力イネーブルバッファ４０は、シフトアウトレジスタ３８から相互接続マトリックス２２へのデータの直列転送を制御する。
【００２７】
図８を参照すると、図４〜図６のメモリアクセスバッファ２４−１〜２４−ｍのためのタイミング図が示される。図８のタイミング図は、各ポートが３２ワードのバーストサイズ（ｎ＝３２）を有する３２ポートシステム（ｋ＝３２）のためのタイミングを示す。したがって、ｎ＝ｋである。現在の実施例において、メモリアクセスは、３２のメモリ読出しサイクルと、それに続く３２のメモリ書込みサイクルとの間を交互する。
【００２８】
メモリ書込みのタイミングにまず注目すると、メモリデータ書込み期間（クロックティック３３〜６４）の間に、異なる３２ワードのデータのバーストが、各ポート２０に対して、共通のメモリ２６に書込まれ得る。各ポートは、そのポートを介して転送されるデータがメモリ２６に書込まれ得るクロックサイクルを有する。連続するポートのデータは、連続クロックサイクルで書込まれ、それらはそれぞれのポートに対するそれぞれの書込み
「タイムスロット」である。各ポートに割当てられる書込みタイムスロットに対して準備するために、各ポートはそのタイムスロットの３２クロックサイクル前にデータをメモリアクセスバッファに転送し始め得るので、ポートのタイムスロットの到着前に、ポートによって受信されたバーストの３２ワードのすべてを、ポートに割当てられたｍ個のバッファレジスタ（各々、異なるメモリアクセスバッファにある）に転送するのに十分な時間がある。したがって、メモリデータタイミング線上の「ｗ１．Ｃ」に先行する３２クロックサイクルの間には、ポート２０−１から相互接続マトリックス２２を介してメモリアクセスバッファ２４−１へ、ポート２０−１データ線上に「ｗ１．１」、「ｗ１．２」…「ｗ１．３２」として示される３２直列ビット転送がある。各ポートは異なるタイムスロットを有するので、各ポートのバーストが、そのポートのタイムスロットのすぐ前に共有メモリへの転送準備ができるように、ポートからの転送は適当にずらされる。より特定的には、たとえば、図８に示される各ポート２０−１のデータ書込みサイクル中に、ポート２０−１を介して転送される第１のワードにあるすべてのビットは、相互接続マトリックス２２によって、メモリアクセスバッファ２４の割当てられたデュアルポートレジスタ対間に分配される。たとえば、１バーストに付き３２ワード（ｎ＝３２）ありかつ１ワードに付きｍビットあるとすると、第１のポート２０−１のデータ書込みサイクル（ｗ１．１）の間、ポート２０−１を介して転送されるワード１（Ｗ１）のビット１（Ｂ１）はバッファ２４−１にある所定のレジスタ対にシリアルに書込まれ、Ｗ１のＢ２はバッファ２４−２にある所定のレジスタ対にシリアルに書込まれ、Ｗ１のＢ３はバッファ２４−３にあるレジスタ対にシリアルに書込まれる、というようになる。Ｗ１のＢｍはバッファ２４−ｍのレジスタ対にシリアルに書込まれる。
【００２９】
同様に、たとえば、第３２のポート２０−１のデータ書込みサイクル（Ｗ１．３２）の間、ポート２０−１を介して転送されるＷ３２のＢ１は、ポート２０−１を介して転送されるＷ１のＢ１と同じ、ポート２４−１のレジスタ対にシリアルに書込まれる。同様に、たとえば、第３のポート２０−１のデータ書込みサイクル（Ｗ１．３）の間、ポート２０−１を介して転送されるＷ３のＢ６は、ポート２０−１を介して転送されるＷ１のＢ６と同じ、メモリアクセスバッファ２４−６（図示せず）にあるレジスタ対にシリアルに書込まれる。
【００３０】
したがって、ポート２０−１に対する３２のデータ書込みサイクル（ｗ１．１〜ｗ１．３２）の間、データはそれぞれのメモリアクセスバッファ２４−１〜２４−ｍにある指定されたシフトインレジスタにシリアルにシフトされる。メモリデータサイクルｗ１．Ｃの間、事前の３２の直列シフトインサイクル（ｗ１．１〜ｗ１．３２）の間にポート２０−１からバッファ２４−１〜２４−ｍのシフトインレジスタにシリアルにシフトされたすべてのデータは、共有メモリ２６に書込まれ得るようバス３２上に並列にアサートされる。
【００３１】
同様に、メモリ読出し期間（クロックティック１〜３２）の間、３２ワードのデータが、各ポートに対して、共有メモリから読出され得る。たとえば、ｒ１．Ｃでの１つのクロックメモリアクセスサイクルの間に、３２ワードが、ポート２０−１を介する外部装置への後の転送のために、メモリ２６から読出され得る。したがって、ｒ１．Ｃはポート２０−１に対する読出し「タイムスロット」である。同様に、たとえば、ｒ３１．Ｃはポート２０−３１に対する読出しタイムスロットを表わす。
【００３２】
特定的には、たとえば、タイムスロットｒ１．Ｃで、バッファ２４−１内にあるシフトアウトレジスタは、メモリ２６から並列に読出される３２ワードのすべてのＢ１を並列に受取る。同様に、たとえば、タイムスロットｒ１．Ｃで、バッファ２４−１８（図示せず）内にあるシフトアウトレジスタは、メモリ２６から並列に読出される３２ワードのすべてのＢ１８を並列に受取る。
【００３３】
ポート２０−１の３２のデータ読出しサイクル（ｒ１．１〜ｒ１．３２）の間、メモリデータ読出しサイクル（ｒ１．Ｃ）中にメモリ２６から読出されたワードは相互接続マトリックス２２を介してポート２０−１にシリアルに転送される。たとえば、データ読出しサイクル（ｒ１．１）の間、ポート２０−１を介して転送されるべき第１のワード（Ｗ１）に対するすべてのビットは、ｍ個の異なるバッファ２４内にあるｍ個の異なるシフトアウトレジスタから同時にシリアルにシフトされ、マトリックス２２を介してＷ１をポート２０−１に与える。同様に、たとえば、データ読出しサイクル（ｒ１．３１）の間、ポート２０−１を介して転送されるべき第３１のワード（Ｗ３１）に対するすべてのビットは、ｍ個の異なるバッファ２４内にあるｍ個の異なるシフトアウトレジスタから同時にシリアルにシフトされ、マトリックス２２を介してＷ３１をポート２０−１に与える。
【００３４】
したがって、所定のポートで受信されたデータがメモリ２６に書込まれるとき、相互接続マトリックスは、各バッファが各ワードのうちの記憶されるべきサブセットだけを記憶するよう、データワードビットをバッファ２４−１〜２４−ｍ間に分配する。好ましい実施例では、各バッファは所定の序列のビットのみを記憶する。したがって、各バッファは、バス３２に、メモリに同時に転送されるべきすべてのデータのサブセットを与えるだけでよい。
【００３５】
逆に、メモリから読出されるデータが所定のポートに出力されるときは、複数のバッファ間に分配されたビットが一連の完全なワード（すなわちバースト）として出力されるよう、相互接続マトリックスはそれらを再結合する。あるポートを介して転送されるべきデータ全体は、メモリから並列に出力されてバッファに入力される。しかしながら、各バッファはその全体データのサブセットを受取るにすぎない。相互接続マトリックス２２はサブセットをデータのバーストに再結合する。
【００３６】
したがって、ｍ個のそれぞれのバッファの各々は１つのｎビットサブセットを１度にその並列バス３２へ同時に接続する。図４に示されるように、任意の所与の時間において、ｍ個のバッファと共有メモリ２６との間にはｍ×ｎの接続しかない。したがって、各バッファは共有メモリと相互接続するのに端子の数がより少なくてすみ、その数の少ない接続端子のため容量負荷がより少ない。
【００３７】
図９の例示的タイミング図は、図７のデュアルレジスタ対の動作を示す。Ｐ．ＷＲＩＴＥパルスの間、（ｒＸ．ｃ）メモリデータサイクル中に共有メモリ２６から読出されたデータはシフトアウトレジスタ３８に並列に書込まれる。各ＳＨＩＦＴ−ＯＵＴパルスの間、１つのビットがそれぞれのポートへの転送のためにシフトアウトレジスタから相互接続マトリックス２２へシフトアウトされる。たとえば、バッファ２４−１の場合、各ＳＨＩＦＴ−ＯＵＴパルスは図８のｒ１．Ｘパルスに対応する。各ＳＨＩＦＴ−ＩＮパルスの間では、データの１つのビットがシフトインレジスタにシフトインされる。たとえば、バッファ２４−１の場合、各ＳＨＩＦＴ−ＩＮパルスは図８のｗ１．Ｘパルスに対応する。Ｐ．ＲＥＡＤパルスの間では、シフトインレジスタにシフトインされたすべてのデータは並列に読出されてｗ１．Ｃサイクルの間に共有メモリ２６に書込まれ得る。
【００３８】
この実施例では、共有メモリ２６は、（ｎ×ｍ）のメモリ幅を有する標準的ランダムアクセスメモリ（ＲＡＭ）構成であり得る。したがって、メモリは、図５に示されるように、メモリアクセスバッファ２４へまたはそこからデータの（ｎ×ｍ）ビットを同時に転送でき、すべての（ｎ×ｍ）ビットを１つのアドレス指定されるメモリ位置に記憶することができる。この実施例では、ポートからの各ワードを連続するビットとして記憶するのではなく、これらワードは「インタリーブ」され、すべての第１の序列＝序列ビット（Ｂ１）が連続的に記憶され、それにすべての第２の序列ビット（Ｂ２）等が続き、以下同様である。この構成では、特定のポート２０からまたはそこへのｎワードを表わすすべてのビ
ットは、共有メモリ２６の１ラインとして容易に記憶され得る。
【００３９】
この実施例では、タイムスロットは予め割当てられる。しかしながら、タイムスロットは優先順位に基づいて調停されてもよい。さらに、この実施例では、ｋ個のポート２０の各々は共有メモリ２６と通信するために１つのクロックサイクルのタイムスロットを必要とし、かつ各ポートはメモリアクセスバッファ２４へまたはそこからｎワードのデータバーストの全体を転送するためにそのタイムスロットの前にｎクロックサイクルを必要とするため、バーストごとのワード数（ｎ）をポート数（ｋ）と等しく設定し、それによって、ボトルネックやアイドル時間なしにデータを転送するための円滑なサイクルプロセスを提供するようにするのが効率的である。しかしながら、ポート数とバーストごとのワード数との関係は、この発明から逸脱することなく変更可能である。
【００４０】
図１０は、この発明に従う３２ポート非同期転送モード（ＡＴＭ）交換機のブロック図である。ＡＴＭは、セルと呼ばれる固定サイズのパケットを用いる情報転送のためのペイロード多重化技術である。現在の実現例では、ＡＴＭセルは、５３バイト長であり、経路情報を伝搬する５バイトのヘッダに４８バイトの情報フィールド（ペイロード）が続くものからなる。交換機に入る各ＡＴＭセルのペイロードは、共有メモリ内の特定の位置に置かれる。ＡＴＭセルのペイロードは４８バイト幅（１バイトに付き８ビット）であるので、共有メモリは３８４ビット幅（４８×８＝３８４）にされる。この実現例は、メモリアクセスバッファからメモリへの３２ビットのバスを有し、各ポートワードが１２ビット幅であり、かつ３２ワードのポートバーストを用いるように選択された。３８４は（１２×３２）にも等しく、つまり、セルは１２ビットワードからなる３２ワードのバーストで転送されることに注目されたい。
【００４１】
ＡＴＭ交換機は、ポート上の各受信されたセルを、各そのようなセルに含まれる経路情報に従って、宛先ポートへ送る。より特定的には、セルはポートから転送されて共有メモリに記憶される。次いで、それは、共有メモリから取出されて、セル内に示された宛先ポートへ転送される。この態様で、データをポート間で交換できる。制御メモリおよび交換制御装置の動作は、当業者によって理解され、この発明のいかなる部分も形成しないだろうから、ここに記載される必要はない。
【００４２】
図１１の例示的な図は、この発明の現在好ましい実施例に従うメモリインタフェースユニット（ＭＩＵ）１００を含むスイッチシステム９８のブロック図を示す。このＭＩＵ１００は構成可能スイッチ１０４とデータ転送バッファ１０６とを含む。バスインタフェースレジスタ１０２は、バーストモードバス１０８へおよびバーストモードバス１０８からデジタル情報を転送するよう結合される。データ転送バッファ１０６は、デジタルメモリ（図示せず）と構成可能スイッチ１０４との間で移動中のデータを一時的に記憶するよう結合される。デジタルデータはｉ／ｏドライバ１００を介してメモリへおよびメモリから転送される。アドレスレジスタ１１２はバス１０８からデジタルアドレス情報を受取る。レジスタ１１２によって受取られたアドレス情報は別のｉ／ｏドライバ１１４を介してデジタルメモリに与えられる。制御ユニット１１６はＭＩＵ１００およびメモリの動作を制御する。
【００４３】
この発明の現在の実施例の構成可能スイッチ１０４は、バスインタフェースレジスタ１０２と、転送バッファ１０６またはポートｐ０、ｐ１もしくはｐ２のマスタ（ｍn ）相互接続との間においてバーストサブセットを転送するよう選択的に構成可能である。スイッチ１０４は、さらに、転送バッファ１０６と、バスインタフェースレジスタ１０２またはポートｐ０、ｐ１もしくはｐ２のスレーブ相互接続（ｓn ）との間においてバーストサブセットを転送するよう構成可能である。この発明の現在の好ましい実施例では、スイッチ１０４は３つの異なる構成、つまりスタンドアローン、２ＭＩＵおよび４ＭＩＵのいずれ
にも置かれ得る。スタンドアローン構成では、データは直接スイッチ１０４を介して線ｂ０〜ｂ３から線ｃ０〜ｃ３へ送られる。２ＭＩＵ例における接続は図１９において示される。４ＭＩＵ例における接続は図２６に示される。
【００４４】
この発明のスイッチシステムは、したがって、異なるバーストモードバスに各々が接続されるような異なるポート間でのメモリの共有を可能にする。たとえば、ＰＣＩ、ＳＢＵＳまたはＧＩＯ等のバーストモードバスは、そのバス上に与えられるデータに伴うアドレスを与えることを可能にする。さらに、個々のＭＩＵは、異なるバーストモードバスに接続される装置による共有メモリへのアクセスを調整するため、ともに「チェーンされ」るかまたは「スタックされ」得る。
【００４５】
図１２は、図１１のスイッチシステム９８のデータ線および制御線をより詳細に示す例示的ブロック図である。システム９８はバスへおよびバスから信号を転送する。現在の実施例では、バスはＰＣＩバスである。しかしながら、ＭＩＵは、ＳＢＵＳ、ＧＩＯなど、他のタイプのバーストモードバスとも通信し得る。データ、アドレスおよび読出／書込制御信号は、スイッチシステム９８に接続されるデジタルメモリに与えられ得る。システム９８は、たとえば、他のスイッチシステム（図示せず）に信号を転送するために使用され得る３つのポートｐ０、ｐ１およびｐ２を含む。各ポートは８つのマスタデータ線および１つのマスタ要求線を含む。さらに、各ポートは、８つのスレーブデータ線と１つのスレーブ要求線とを含む。データは、図１１に示される転送バッファ１０６へおよび転送バッファ１０６から転送される。アドレスはアドレスレジスタ１１２によって与えられる。Ｒ／Ｗ信号はコントローラ１１６によって発生される。ポート相互接続は構成可能スイッチ１０４へのアクセスを与える。
【００４６】
再び図１１を参照して、この新規なスイッチシステム９８の動作を、まずメモリ書込動作を詳細に説明し、次にメモリ読出動作を詳細に説明することによって説明する。書込中、デジタル情報のバーストがバス１０８からバスインタフェースレジスタ１０２へ転送される。現在の実施例では、バス１０８は３２ビット幅であり、バーストは４つの３２ビット幅データワードが後に続く３２ビット幅アドレスワードを含んでもよい。バーストは、ｂ０、ｂ１、ｂ２およびｂ３と表示した複数ビット線を介して、構成可能スイッチ１０４に転送される。スイッチ１０４は、そのバーストのうちのあるサブセットを、ｃ０、ｃ１、ｃ２およびｃ３と符号づけられる複数ビット線の１つ以上を介して、データ転送バッファ１０６へ直接転送するよう構成され得る。さらに、スイッチ１０４は、ポート０、ポート１およびポート２を介してそれぞれアクセス可能なｍ０、ｍ１およびｍ２と表示したマスタ相互接続の１つ以上を介して、他のメモリ（図示せず）に関連づけられる１つ以上の他のスイッチシステム（図示せず）へ、そのバーストの残りのサブセットを与えるよう構成され得る。マスタ相互接続を介して他のスイッチシステムに与えられたサブセットは、それら他のシステムに関連づけられるデジタルメモリに記憶される。他のメモリに転送されるサブセットの記憶については、例示的な２ＭＩＵおよび４ＭＩＵシステムに関連して後に論ずることにする。転送バッファ１０６は、それに転送されたサブセットを記憶し、次いでそれらを、ｄ０、ｄ１、ｄ２およびｄ３と表示した複数ビット線の１つ以上を介して、スイッチシステム９８に関連づけられるデジタルメモリにおける記憶のためにそれらを与えるｉ／ｏドライバ１００に与える。バーストに関連してバス１０８から受取られるデジタルアドレス信号は、サブセットが記憶されることになるメモリ位置を指定するのに用いられる。現在の実施例では、同じメモリアドレスが、スイッチシステム９８に関連づけられるメモリと、他のスイッチシステムに関連づけられる他のメモリとの両方に対して用いられる。したがって、異なる、バーストのサブセットが、異なるメモリにおける同じアドレスに記憶されるかもしれない。
【００４７】
メモリ読出動作のはじめにおいて、バーストのサブセットは、いくつかの異なるスイッ
チシステム（図１１には図示せず）を介してアクセス可能ないくつかの別個のデジタルメモリ（図１１には図示せず）間に分配されるかもしれない。図１１を参照して、読出動作中、アドレス信号はバスのうえに置かれる。このアドレスは、アドレスレジスタ１１２を介して受取られ、これら別個のメモリの各々へ与えられる。図１１は、これらのメモリの１つへのアクセスを与える単一のスイッチシステム９８のみを示していることを理解すべきである。下で説明されるように、他のメモリへのアクセスを与えるよう接続される他の同様のスイッチシステムが存在してもよい。アドレス信号は、別個のバーストサブセットを、それらが記憶される別個のメモリから検索するのに用いられる。スイッチシステム９８を介してアクセスされるメモリに記憶されるバーストサブセットは、そのメモリによってｉ／ｏドライバ１１０に与えられ、それはそのようなサブセットを複数ビット線ｄ０、ｄ１、ｄ２およびｄ３の１つ以上を介して一時的な記憶のために転送バッファ１０６に転送する。バッファ１０６は、次いで、それらのサブセットを複数ビット線ｃ０、ｃ１、ｃ２およびｃ３の１つ以上を介して構成可能スイッチ１０４へ与える。構成可能スイッチ１０４は、それらを、バスインタフェースレジスタ１０２に接続される複数ビット線ｂ０、ｂ１、ｂ２およびｂ３の１つ以上に直接与えるよう構成され得る。スイッチシステム９８を介してアクセスされるメモリに記憶されないサブセットは、ポート１、ポート２またはポート３のそれぞれｓ０、ｓ１およびｓ２と表示した複数ビットスレーブ相互接続の１つ以上を介してスイッチシステム９８に転送される。より特定的には、他のメモリに記憶されるそれらサブセットは、まずそれらメモリから検索され、次いでスイッチシステム９８のスレーブ相互接続の１つ以上に転送される。これら他のメモリからのサブセットの検索については、例示的な２ＭＩＵおよび４ＭＩＵシステムに関連して後に論ずることにする。構成可能スイッチ１０４は、そのスレーブ相互接続上にて複数ビットｂ０、ｂ１、ｂ２およびｂ３の１つ以上へ与えられるサブセットをレジスタ１０２に転送するよう構成され得る。
【００４８】
図１３は、この発明の現在の実施例に従うスイッチ１０４の１つの考えられる得る構成を示す図１１のバスインタフェースレジスタ１０２と構成可能スイッチ１０４と転送バッファ１０６との単純化されたブロック図である。スイッチ１０４（破線内に示される）は、バーストサブセットをバッファ１０６とレジスタ１０２との間において「直接」相互接続経路１０５を介して転送するよう構成される。マスタ相互接続ｍ０、ｍ１およびｍ２は、レジスタ１０２への、およびレジスタ１０２からのバーストサブセットの転送のための経路を与える。スレーブ相互接続ｓ０、ｓ１およびｓ２は、転送バッファ１０６への、および転送バッファ１０６からのバーストサブセットの転送のための経路を与える。
【００４９】
さらに図１３を参照して、メモリ書込動作中、たとえば、バーストはバスインタフェースレジスタ１０２によって受取られる。第１のバーストサブセットは直接経路１０５を介してバッファ１０６に転送される。第２のバーストサブセットは、マスタ経路ｍ０を介してレジスタ１０２から遠ざかるように転送される。第３のバーストサブセットは、マスタ経路ｍ１を介してレジスタから遠ざかるように転送される。第４のバーストサブセットは、マスタ経路ｍ２を介してレジスタから遠ざかるように転送される。このように、第１のバーストサブセットはバッファ１０６に接続されるメモリ（図示せず）に記憶され得、第２、第３および第４のバーストサブセットは他の場所、経路ｍ０、ｍ１およびｍ２を介してアクセスされるメモリに記憶され得る。
【００５０】
逆に、メモリ読出動作中、たとえば、第１のバーストサブセットはまずバッファ１０６に接続されるメモリ（図示せず）に記憶され、第２、第３および第４のバーストサブセットは他の場所で異なるデジタルメモリ（図示せず）に記憶される。第１のサブセットがバッファ１０６に接続されるメモリから検索されると、転送バッファ１０６はその第１のサブセットを一時的に記憶し得る。次いで、バッファはその第１のサブセットをレジスタに直接経路１０５を介して転送する。第２のバーストサブセットはスレーブ経路ｓ０を介し
て受取られる。第３のバーストサブセットはスレーブ経路ｓ１を介して受取られる。第４のサブセットはスレーブ経路ｓ２を介して受取られる。このようにして、異なるメモリ間に分散されたバーストサブセットは、バスへの伝送のためレジスタ１０２に集められる。
【００５１】
図１３の構成はスイッチ１０４の考えられ得る１つの構成のみを表わしていることに注意されたい。たとえば、このスイッチは、代わりに、バスインタフェース論理１１６とバッファ１０６との間に複数の直接経路を与えるよう構成されるかもしれない。２ＭＩＵシステム１２０および４ＭＩＵシステム１０６に関連する下の議論は、いくつかの例示的な代替スイッチ構成を説明するものである。
【００５２】
図１４Ａを参照して、スイッチ１４の信号線の多くを示す現在の好ましい実施例の構成可能スイッチ１０４のブロック図が示される。このスイッチは、当業者には容易に理解されるであろう態様で、マルチプレクサとして実現される。例示の形として、図１４Ｂは、下に記載される２ＭＩＵ実現例による「読出」動作中にｃ０出力の発生を担う内部論理を示すゲートレベル論理図である。図１４Ｃは、下に記載される２ＭＩＵ実現例による「書込」動作中におけるｂ０出力の発生を担う内部論理を示すゲートレベル論理図である。２ＭＩＵ実現例では、Ｐ０入力は、たとえば、右側ＭＩＵを指定し、Ｐ１は左側ＭＩＵを指定してもよい。
【００５３】
以下の等式は、２ＭＩＵ実現例に対する書込中における構成可能スイッチ（マルチプレクサ）１０４の完全な機能性を表現する。
【００５４】
【数１】
2004320786.tif 000003
【００５５】
以下の等式は、２ＭＩＵ実現例に対する読出中における構成可能スイッチ（マルチプレクサ）１０４の完全な機能性を表現する。
【００５６】
【数２】
2004320786.tif 000004
【００５７】
下に記載される４ＭＩＵ実現例には、４つの異なるＭＩＵを区別するのに用いられてもよい４つの異なる論理値Ｐ０、Ｐ１、Ｐ２およびＰ３があることが理解されるだろう。しかしながら、４つのＭＩＵ間で信号を切換えるのに用いられる基本的な多重化技術および論理回路は当業者には周知であり、ここでさらに説明する必要もない。図１５の例示的な図は図１１の転送バッファ１０６のさらなる詳細を示す。現在の好ましい実施例では、バッファ１０６は４つのメモリアクセスバッファ１０６−１、１０６−２、１０６−３および１０６−４を含む。これらメモリアクセスバッファはそれぞれのＰ＿ＲＥＡＤ、Ｐ＿Ｗ
ＲＩＴＥ、ＯＥ（０−３）およびＷ（０−３）制御信号を受取る。構成可能スイッチ１０４は、バイト幅入力／出力線ｃ０、ｃ１、ｃ２およびｃ３を介してアクセス可能なメモリアクセスバッファにアクセスする。現在の実施例では、各直列線は１バイト幅である。しかしながら、バーストサブセットの、異なるサイズの複数ビットフラグメントが可能である。メモリ（図示せず）は、線ｄ０、ｄ１、ｄ２およびｄ３を介して３２ビットメモリバス２２４上でメモリアクセスバッファを通してアクセスされる。
【００５８】
メモリバス２２４は、個々のメモリアクセスバッファと、バッファ１０６に接続されるデジタルメモリ（図示せず）との間でデジタル情報を転送する。メモリ書込中、たとえば、バーストサブセットは（１度にすべてが）メモリアクセスバッファ１０６−１からメモリへバス２２４を介して並列転送されるかもしれない。メモリ読出中、たとえば、バーストサブセットは（１度にすべてが）メモリからメモリアクセスバッファ１０６−１へバス２２４を介して並列転送されるかもしれない。
【００５９】
図１６の例示的な図を参照して、この発明の現在の実施例に従う例示的なメモリアクセスバッファ１０６−２の詳細を示す。シフトインレジスタ２２６は、バーストサブセットの全体が累積されるまで、線ｃ１上の一連のバイト幅バーストサブセットフラグメントを受取る。このシフトインレジスタはその完全なバーストサブセットを一時的に記憶し得る。サブセット全体は次いで並列に（すべてのバイト幅フラグメントが１度に）メモリバス２２４へアサートして、そのサブセットがデジタルメモリに並列に書込まれ得るようにする。
【００６０】
シフトアウトレジスタ２２８はメモリ読出中に用いられる。メモリから読出されたバーストサブセット全体はシフトアウトレジスタ２２８に並列にメモリバス２２４を介して与えられる。このシフトアウトレジスタはバーストサブセットの全体を一時的に記憶し得る。次いで、このレジスタは、そのバーストサブセット全体が構成可能スイッチ１０４に送られてしまうまで、線ｃ１上において一連のバイト幅のバーストサブセットのフラグメントを与え得る。出力バッファ２３０は、シフトアウトレジスタから線ｃ１へサブセットのフラグメントを与えることを制御する。
【００６１】
この発明の現在の実現例では、各個々のスイッチシステムは、関連の転送バッファの動作を制御する制御信号を発行する制御ユニットを含むことが理解されるべきである。たとえば２ＭＩＵ構成または４ＭＩＵ構成におけるように、ともに接続される複数のスイッチシステムがある場合、この異なるスイッチシステムのコントローラ間での調整を行なってメモリの共有を達成することが必要である。この調整は、たとえば、共有メモリに対する複数のスイッチシステムのアクセスを調整するよう用いられるアルゴリズムを各コントローラに実行させることによって達成され得る。いくつかの周知のアルゴリズムが用いられ得る。たとえば、異なるスイッチシステムによるメモリアクセスに対する要求は、スイッチ間での固定された優先順位に従うかまたはラウンド・ロビン方式に従って取扱われ得る。
【００６２】
図１７は、この発明の現在の実施例に従う２ＭＩＵシステム１２０の例示的ブロック図である。簡略にするため、制御論理およびバスインタフェース論理等の詳細は図示されない。２つのＭＩＵ１１２および１２４は図示されるように相互接続される。つまり、ＭＩＵスイッチ１２３およびＭＩＵスイッチ１２５のｍ０およびｓ０相互接続がそれらのそれぞれのポートｐ０を介して互いに接続されるように、ＭＩＵスイッチ１２３および１２５は構成される。同様に、ＭＩＵスイッチ１２３およびＭＩＵスイッチ１２５のｍ２およびｓ２相互接続はそれらのそれぞれのポートｐ２を介して互いに接続される。さらに、スイッチ１２３は、バスインタフェース論理１２６とバッファ１３０との間において直接相互接続１４１および１４２を与えるよう構成される。さらに、スイッチ１２５は、バスイン
タフェース論理１２８とバッファ１３２との間において直接相互接続１４３および１４４を与えるよう構成される。バッファ１３０はデジタルメモリ１３４へ、およびデジタルメモリ１３４からバーストサブセットを転送するよう接続される。バッファ１３２は、デジタルメモリ１３６へ、およびデジタルメモリ１３６からバーストサブセットを転送するよう接続される。
【００６３】
図１８は、ともになって２ＭＩＵシステム１２０を収容する、２つの積み重ねられた箱１５６および１５８の単純化された側面図である。箱１５６は、ＭＩＵ１２２と、メモリ１３４と、バスインタフェース論理１２６とを収容する。箱１５８は、ＭＩＵ１２４とメモリ１３６とバスインタフェース論理１２８とを収容する。各箱１５６および１５８は３つのポートｐ０、ｐ１およびｐ３を有する。さらに、各箱は、各箱が付近の箱とアドレス情報を共有し得る共有アドレスバスを有する。ポートｐ０およびポートｐ２ならびに共有アドレスバスは図示されるように接続される。
【００６４】
図１９は、図１７の２ＭＩＵシステムの２つのＭＩＵ１２２および１２４間の相互接続を表わすマトリックスである。線の交差部の「０」はＭＩＵスイッチ１２３内の相互接続を示す。線の交差部の「１」はＭＩＵスイッチ１２５内の相互接続を示す。左上の四半分はスレーブ線ｓ０、ｓ１およびｓ２とバスインタフェース論理線ｂ０、ｂ１、ｂ２およびｂ３との間の接続を表現する。右下の四半分は、マスタ線ｍ０、ｍ１およびｍ２とＭＩＵバッファ線ｃ０、ｃ１、ｃ２およびｃ３との間の接続を表現する。左下の四半分は、インタフェース論理線ｂ０、ｂ１、ｂ２およびｂ３とＭＩＵバッファ線ｃ０、ｃ１、ｃ２およびｃ３との間の接続を表わす。ＭＩＵスイッチ１２３の相互接続は以下のとおりであり：ｂ０はｃ０に直接接続され；ｂ１はｍ０に接続され；ｂ２はｃ２に直接接続され；ｂ３はｍ２に接続され；ｃ１はｓ０に接続され；ｃ３はｓ２に接続される。ＭＩＵスイッチ１２５の相互接続は以下のとおりであり：ｂ０はｍ０に接続され；ｂ１はｃ１に直接接続され；ｂ２はｍ２に接続され；ｂ３はｃ３に直接接続され；ｃ０はｓ０に接続され；ｃ２はｓ２に接続される。
【００６５】
動作において、バーストは、ＭＩＵ１２２および１２４と外部バス（図示せず）との間でバスインタフェース論理ユニット１２６および１２８を介して転送される。単純化のため、外部バスに接続されるアドレスおよびデータレジスタはバスインタフェース論理ユニットに合わせて示される。論理１２６を介して転送される例示的な４ワードバースト１２７の全体を示す。このバースト２７は、複数ビットフラグメントＡ００、Ａ０１、Ａ０２およびＡ０３を含むものとして識別されるデジタルワードを含む。この発明の現在の実施例では、各フラグメントは複数の論理ビットを含む。しかしながら、この発明は、代替的に１ビットフラグメントを用いて実現されてもよい。Ａ００、Ａ１０、Ａ２０およびＡ３０を含むバーストサブセットと、Ａ０２、Ａ１２、Ａ２２およびＡ３２を含むバーストサブセットとは、バスインタフェース論理１２６とバッファ１３０との間で直接相互接続１４１および１４２を介して転送される。Ａ０１、Ａ１１、Ａ２１およびＡ３１を含むバーストサブセットは、バスインタフェース論理１２６とバッファ１３２との間において、スイッチ１２３および１２５のポートｐ０相互接続を介して転送される。Ａ０３、Ａ１３、Ａ２３およびＡ３３を含むバーストサブセットは、バスインタフェース論理１２６とバッファ１３２との間において、スイッチ１２３および１２５のポートｐ２相互接続を介して転送される。
【００６６】
同様に、論理１２８を介して転送される例示的な４ワードバースト１２９の全体を示す。このバーストは、複数ビットフラグメントＢ００、Ｂ０１、Ｂ０２およびＢ０３を含むものとして識別されるデジタルワードを含む。Ｂ００、Ｂ１０、Ｂ２０およびＢ３０を含むバーストサブセットと、Ｂ０２、Ｂ１２、Ｂ２２およびＢ３２を含むバーストサブセットとは、バスインタフェース論理１２８とバッファ１３２との間で直接相互接続１４３お
よび１４５を介して転送される。Ｂ０１、Ｂ１１、Ｂ２１およびＢ３１を含むバーストサブセットは、バスインタフェース論理１２８とバッファ１３０との間において、スイッチ１２３および１２５のポートｐ０相互接続を介して転送される。Ｂ０３、Ｂ１３、Ｂ２３およびＢ３３を含むバーストサブセットは、バスインタフェース論理１２８とバッファ１３０との間において、スイッチ１２３および１２５のポートｐ２相互接続を介して転送される。
【００６７】
バスインタフェース論理１２６を介して転送されたバースト１２７からの２つのサブセットと、インタフェース論理１２８を介して転送されたバースト１２９からの２つのサブセットとは、図示されるように２つのバッファ１３０および１３２の各々において一時的に記憶され得る。同様に、図示されるように、各バーストからの２つのサブセットはデジタルメモリ１３４に記憶され、２つのバーストの各々からの２つのサブセットはデジタルメモリ１３６に記憶される。したがって、バスインタフェース論理ユニット１２６または１２８のどちらかを介して転送されるどのバーストの内容も、２つの異なるデジタルメモリ間に分配されそこにおいて一時的に記憶される。現在の実施例では、ＳＲＡＭが用いられる。しかしながら、この発明と整合する、ＤＲＡＭ等の他のメモリアーキテクチャも用いられ得る。
【００６８】
図２０は、代表的なメモリ書込動作中における図１７の２ＭＩＵシステム１２０を介したバーストサブセットの流れを示す。５ワードバースト１４６がバスインタフェース論理（図示せず）によって受取られる。このバーストの最初のワードはアドレス情報を含む。次の４つのワードはデジタルメモリ１３４および１３６に書込まれるべきデジタル情報を含む。アドレス情報はＭＩＵ１２２によってＭＩＵアドレスレジスタ１４８に転送される。ＭＩＵアドレスレジスタ１４８は、そのバーストアドレスを、デジタルメモリ１３４および１３６のメモリアドレスレジスタ１５０および１５２に、接続１５４を介して与える。バーストサブセットｄ００、ｄ１０、ｄ２０およびｄ３０とバーストサブセットｄ０２、ｄ１２、ｄ２２およびｄ３２とは、メモリアドレスレジスタ１５０によって指定されるアドレス位置での記憶のために、ＭＩＵ１２２によってデジタルメモリ１３４に転送される。バーストサブセットｄ３１、ｄ２１、ｄ１１およびｄ０１は、ＭＩＵ１２２からＭＩＵ１２４へそれらのそれぞれのポートｐ０相互接続を介して転送され、次いで、メモリアドレスレジスタ１５２により指定されるメモリ位置での記憶のためにＭＩＵ１２４によってデジタルメモリ１３６に転送される。同様に、バーストサブセットｄ３３、ｄ２３、ｄ１３およびｄ０３は、ＭＩＵ１２２からＭＩＵ１２４へそれらのそれぞれのポートｐ２相互接続を介して転送され、次いで、メモリアドレスレジスタ１５２により指定されるメモリ位置での記憶のためにＭＩＵ１２４によってデジタルメモリ１３６へ転送される。ＭＩＵ１２２からＭＩＵ１２４に転送されるバーストサブセットの各々は、読出が行なわれることになるのかまたは書込が行なわれることになるのかを示すＲｑ信号により先行される。
【００６９】
図２１は、図１７の２ＭＩＵシステム１２０に対する図１７のメモリ書込動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。クロックサイクル１〜２の間において、アドレスがバスから受取られる。クロックサイクル２〜３の間で、データワードＤ０がセグメントバスから受取られ、Ｒｑ信号がｐ０およびｐ２相互接続を介してＭＩＵ１２４に送られる。クロックサイクル３〜４の間において、データワードＤ１がセグメントバスから受取られ、バーストサブセットフラグメントｄ０１およびｄ０３がそれぞれポートｐ０およびｐ２の複数ビットマスタ相互接続を介してＭＩＵ１２４に転送される。クロックサイクル４〜５の間において、データワードＤ２がセグメントバスから受取られ、バーストサブセットフラグメントｄ１１およびｄ１３がそれぞれポートｐ０およびｐ２の複数ビットマスタ相互接続を介してＭＩＵ１２４に転送される。クロックサイクル５〜６の間において、データワードＤ３がセグメントバスから受取られ、バーストサブ
セットフラグメントＤ２１およびＤ２３がそれぞれポートｐ０およびｐ２の複数ビットマスタ相互接続を介してＭＩＵ１２４に転送される。クロックサイクル６〜７の間において、バーストサブセットフラグメントｄ３１およびｄ３３がそれぞれポートｐ０およびｐ２の複数ビットマスタ相互接続を介してＭＩＵ１２４に転送される。さらに、クロック５〜７の間において、レジスタ１５０および１５４にあるバーストに関連づけられるメモリアドレスがデジタルメモリ１３４および１３６の各々に与えられる。クロックサイクル６〜８の間において、メモリ書込イネーブル信号が２つのＭＩＵを制御する２つの制御ユニットによって同時にアサートされ、転送バッファ１３０および１３２に記憶されるデータバーストサブセット全体がそれぞれのデジタルメモリ１３４および１３６に並列に書込まれる。
【００７０】
図２２は、代表的なメモリ読出動作中における図１７の２ＭＩＵシステム１２０を介したバーストサブセットの流れを示す。まず、バーストの４つのワードが２つの異なるデジタルメモリ１３４および１３６内に分配される。メモリアドレス１２５はＭＩＵアドレスバッファ１４８に与えられ、それはそのアドレスを接続１５４を介してメモリアドレスレジスタ１５０および１５２に与える。デジタルメモリ１３４はバーストサブセットｄ００、ｄ１０、ｄ２０およびｄ３０をＭＩＵ１２２に与え、ＭＩＵ１２２はそれをバスインタフェース論理１２６へ直接転送する。さらに、デジタルメモリ１３４はバーストサブセットｄ０２、ｄ１２、ｄ２２およびｄ３２をＭＩＵ１２２に与え、ＭＩＵ１２２はそれをバスインタフェース論理（図示せず）に直接転送する。デジタルメモリ１３６はバーストサブセットｄ０１、ｄ１１、ｄ２１およびｄ３１をＭＩＵ１２４に転送し、ＭＩＵ１２４はそれをＭＩＵ１２２にそれらのポートｐ０相互接続を介して転送する。次いで、ＭＩＵ１２２はそのサブセットをそれのバスインタフェース論理に転送する。同様に、デジタルメモリ１３６はバーストサブセットｄ０３、ｄ１３、ｄ２３およびｄ３３をＭＩＵ１２４に転送し、ＭＩＵ１２４はそれをＭＩＵ１２２にそれらのポートｐ２相互接続を介して転送する。次いで、ＭＩＵ１２２はそのサブセットをそれのバスインタフェース論理に転送する。したがって、バースト１４６は異なるメモリから検索され、バスインタフェース論理において利用可能とされる。
【００７１】
図２３は、図１７の２ＭＩＵシステム１２０に対する図２２のメモリ読出動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。クロックサイクル１〜２中において、アドレス信号がセグメントバスから受取られる。クロックサイクル２〜３中において、バスインタフェース論理によって発生されたＲｑ信号がＭＩＵ１２４のｐ０およびｐ２相互接続を介して送られる。クロックサイクル４〜６中において、メモリアドレスレジスタ１５０および１５２の各々におけるメモリアドレスがメモリ１３４および１３６に与えられる。クロックサイクル５〜７中において、メモリ出力イネーブル信号がメモリの各々に与えられ、データバーストサブセット全体が２つのメモリ１３４および１３６の各々から並列に読出され、一時的な記憶のために転送バッファ１３０および１３２に与えられる。クロックサイクル６〜７中において、フラグメントｄ０１およびｄ０３がＭＩＵ１２２にそれぞれポートｐ０およびｐ２のスレーブ相互接続を介して転送される。クロックサイクル７〜８中において、フラグメントｄ１１およびｄ１３がＭＩＵ１２２にそれぞれポートｐ０およびｐ２のスレーブ相互接続を介して転送され、データワードＤ０がセグメントバスに与えられる。クロックサイクル８〜９中において、フラグメントｄ２１およびｄ２３がＭＩＵ１２２にそれぞれポートｐ０およびｐ２のスレーブ相互接続を介して転送され、データワードＤ１がセグメントバスに与えられる。クロックサイクル９〜１０中において、フラグメントｄ３１およびｄ３３がＭＩＵ１２２にそれぞれポートｐ０およびｐ２のスレーブ相互接続を介して転送され、データワードＤ２がセグメントバスに与えられる。クロックサイクル１０〜１１中において、データワードＤ３がセグメントバスに与えられる。
【００７２】
図２４は、この発明の現在の好ましい実施例に従う４ＭＩＵシステム１６０の単純化されたブロック図である。以下の説明を簡単にするため、制御論理およびバスインタフェース論理の詳細は省略する。システム１６０は４つのＭＩＵ１６２、１６４、１６６および１６８を含む。各ＭＩＵは電気的相互接続線の構成可能マトリックスを含む。各ＭＩＵは３つのポートｐ０、ｐ１およびｐ２を含む。各ＭＩＵはバッファ部１８６、１８８、１９０および１９２をさらに含む。４つのＭＩＵの各々は４つのデジタルメモリ１７０、１７２、１７４および１７６のうちの異なる１つに接続される。４つのＭＩＵの各々は、４つのバスインタフェース論理ユニット１７８、１８０、１８２および１８４のうちの異なる１つにも接続される。
【００７３】
図２５は、ともになって図２３の４ＭＩＵシステム１６０を収容する、積み重ねられた箱１９４、１９６、１９８および２００の側面図である。箱１９４はＭＩＵ１６２とメモリ１７０とバスインタフェース論理１７８とを収容する。箱１９６はＭＩＵ１６４とメモリ１７２とバスインタフェース論理１８０とを収容する。箱１９８はＭＩＵ１６６とメモリ１７４とバスインタフェース論理１８２とを収容する。箱２００はＭＩＵ１６８とメモリ１７６とバスインタフェース論理１８４とを収容する。各箱は３つのポートｐ０、ｐ１およびｐ２を有する。さらに、各箱は、付近の箱とアドレス情報を共有し得るアドレスバスを有する。ポートおよびアドレスバスは図示されるように接続される。
【００７４】
たとえば、箱１９４の中のＭＩＵ１６２および箱１９８の中のＭＩＵ１６６のポートｐ１相互接続は、その２つのＭＩＵ間でバーストサブセットを転送するよう結合される。特定的には、たとえば、ＭＩＵ１６２のポートｐ１マスタ相互接続がＭＩＵ１６６のポートｐ１スレーブ相互接続に結合される。逆に、ＭＩＵ１６２のポートｐ１スレーブ接続はＭＩＵ１６６のポートｐ１マスタ相互接続に結合される。動作において、バーストセグメントＡ０２、Ａ１２、Ａ２２およびＡ３２はバスインタフェース論理１７８とデジタルメモリ１７４との間においてＭＩＵ１６２のポートｐ１マスタ相互接続とＭＩＵ１６６のポートｐ１スレーブ相互接続とを介して転送される。さらに、動作においては、バーストセグメントＣ００、Ｃ１０、Ｃ２０およびＣ３０はバス相互接続論理１８２とデジタルメモリ１７０との間においてＭＩＵ１６２のポートｐ１スレーブ相互接続とＭＩＵ１６６のポートｐ１マスタ相互接続とを介して転送される。
【００７５】
図２６は、図２４の４ＭＩＵシステム１６０の４つのＭＩＵ１６２、１６４、１６６および１６８間の相互接続を表現するマトリックスである。線の交差部の「０」はＭＩＵスイッチ１６２内の相互接続を示す。線の交差部の「１」はＭＩＵスイッチ１６４内の相互接続を示す。線の交差部の「２」はＭＩＵスイッチ１６６内の相互接続を示す。線の交差部の「３」はＭＩＵスイッチ１６８内の相互接続を示す。たとえば、ＭＩＵスイッチ１６２に対する相互接続は以下のとおりであり：ｂ０はｃ０に直接接続され；ｃ１はｓ０に接続され；ｃ２はｓ１に接続され；ｃ３はｓ２に接続され；ｂ１はｍ０に接続され；ｂ２はｍ１に接続され；ｂ３はｍ２に接続される。ＭＩＵスイッチ１６６の相互接続は、たとえば、以下のとおりであり：ｂ０はｍ２に接続され；ｂ１はｍ１に接続され；ｂ２はｍ０に接続され；ｂ３はｃ３に直接接続され；ｃ０はｓ２に接続され；ｃ１はｓ１に接続され；ｃ２はｓ０に接続される。ＭＩＵ１６４および１６８の相互接続は図２２のマトリックスおよび上述の議論から容易に理解されるであろう。
【００７６】
バーストサブセットを転送する際の図２４の４ＭＩＵシステム１６０の動作は、バスインタフェース論理１７８、１８０、１８２および１８４を通して転送されるバーストを観察することにより；バッファ１８６、１８８、１９０および１９２間でのバーストサブセットの分配を観察することにより；およびデジタルメモリ１７０、１７２、１７４および１７６におけるバーストサブセットの記憶を観察することにより理解され得る。たとえば、デジタルメモリ１７２を参照すると、サブセットＡ０１、Ａ１１、Ａ２１、Ａ３１は４
ワードバーストの一部としてバスインタフェース論理１７８を通して転送される。サブセットＢ０１、Ｂ１１、Ｂ２１およびＢ３１は４ワードバーストの一部としてバスインタフェース論理１８０を通して転送される。サブセットＣ０１、Ｃ１１、Ｃ２１、Ｃ３１は４ワードバーストの一部としてバスインタフェース論理１８２を通して転送される。サブセットＤ０１、Ｄ１１、Ｄ２１、Ｄ３１は４ワードバーストの一部としてバスインタフェース論理１８４を通して転送される。デジタルメモリ１７２とそれぞれのバスインタフェース論理ユニットとの間におけるこれら４つのバーストサブセットの任意の１つの転送過程において、そのサブセットはバッファ１８８に一時的に記憶される。
【００７７】
図２７は、代表的なメモリ書込動作中における図２４の４ＭＩＵシステム１６０を介したバーストサブセットの流れを示す。５ワードバーストがＭＩＵ１６２と関連づけられるバスインタフェース論理により受取られる。バーストの最初のワードはアドレス情報を含む。次の４つのワードはデジタルメモリ１７０、１７２、１７４および１７６間に分配されるよう予定される。アドレス情報はＭＩＵ１６２によってＭＩＵアドレスレジスタ２０４に転送される。ＭＩＵアドレスレジスタ２０４はそのアドレスをデジタルメモリ１７２、１７４、１７６および１７８のメモリアドレスレジスタ２０６、２０８、２１０および２１２にバス２１４を介して与える。バーストサブセットｄ００、ｄ１０、ｄ２０およびｄ３０は、メモリアドレスレジスタ２０６により指定されるアドレス位置での記憶のために、ＭＩＵ１６２によってデジタルメモリ１７０へ直接転送される。バーストサブセットｄ３１、ｄ２１、ｄ１１およびｄ０１は、ＭＩＵ１６２からＭＩＵ１６４へそれらのそれぞれのポートｐ０相互接続を介して転送され、次いで、メモリアドレスレジスタ２０８により指定されるメモリ位置での記憶のためにＭＩＵ１６４によってデジタルメモリ１７２に転送される。バーストサブセットｄ０２、ｄ１２、ｄ２２およびｄ３２は、ＭＩＵ１６２からＭＩＵ１６６へそれらのそれぞれのポートｐ１相互接続を介して転送され、次いで、メモリアドレスレジスタ２１６により指定されるメモリ位置での記憶のためにＭＩＵ１６６によってデジタルメモリ１７４へ転送される。バーストサブセットｄ３３、ｄ２３、ｄ１３およびｄ０３は、ＭＩＵ１６２からＭＩＵ１６８へそれらのそれぞれのポートｐ２相互接続を介して転送され、次いで、メモリアドレスレジスタ２１２により指定されるメモリ位置での記憶ためにＭＩＵ１６８によってデジタルメモリ１７６に転送される。ＭＩＵ間において転送されるバーストサブセットの各々は、メモリ読出が行なわれることになるのかまたはメモリ書込が行なわれることになるのかを示すＲｑ信号によって先行される。
【００７８】
図２８は、図２４の４ＭＩＵシステム１６０に対する図２７のメモリ書込動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。クロックサイクル１〜２の間において、アドレスがセグメントバスから受取られる。クロックサイクル２〜３の間において、データワードＤ０がセグメントバスから受取られ、Ｒｑ信号がｐ０、ｐ１およびｐ２相互接続を介してＭＩＵ１６４、１６６、１６８に送られる。クロックサイクル３〜４の間において、データワードＤ１がセグメントバスから受取られ、バーストサブセットのフラグメントｄ０１、ｄ０２およびｄ０３がＭＩＵ１６４、１６６および１６８にそれぞれポートｐ０、ｐ１およびｐ２の複数ビットマスタ相互接続を介して転送される。クロックサイクル４〜５の間において、データワードＤ２がセグメントバスから受取られ、バーストサブセットのフラグメントｄ１１、ｄ１２およびｄ１３がＭＩＵ１６４、１６６および１６８にそれぞれポートｐ０、ｐ１およびｐ２の複数ビットマスタ相互接続を介して転送される。クロックサイクル５〜６の間において、データワードＤ３がセグメントバスから受取られ、バーストサブセットフラグメントｄ２１、ｄ２２およびｄ２３がＭＩＵ１６４、１６６および１６８にそれぞれポートｐ０、ｐ１およびｐ２の複数ビットマスタ相互接続を介して転送される。クロックサイクル６〜７の間において、バーストサブセットのフラグメントｄ３１、ｄ３２およびｄ３３がＭＩＵ１６４、１６６および１６８にそれぞれポートｐ０、ｐ１およびｐ２の複数ビットマスタ相互接続を介して転送される。
さらに、クロックサイクル６〜７の間において、レジスタ２０６、２０８、２１０および２１２にあるメモリアドレスがデジタルメモリ１７０、１７２、１７４および１７６の各々に与えられる。クロックサイクル７〜８の間において、メモリ書込イネーブル信号が各ＭＩＵに関連づけられる制御ユニットによって同時にアサートされ、転送バッファ１８６、１８８、１９０および１９２に記憶されるデータバーストサブセット全体がそれぞれのデジタルメモリ１７０、１７２、１７４および１７６に並列に書込まれる。
【００７９】
図２９は、代表的なメモリ読出動作中における図２４の４ＭＩＵシステム１６０を介したバーストサブセットの流れを示す。まず、バーストの４つのワードが４つの異なるデジタルメモリ１７０、１７２、１７４および１７６内に分配される。メモリアドレス２１６はＭＩＵアドレスバッファ２０４に与えられ、ＭＩＵアドレスバッファ２０４はそのアドレスを接続２１４を介してメモリアドレスレジスタ２０６、２０８、２１０および２１２に与える。デジタルメモリ１７０はバーストサブセットｄ００、ｄ１０、ｄ２０およびｄ３０をＭＩＵ１６２に与え、次いでそれをそのバスインタフェース論理（図示せず）に直接転送する。デジタルメモリ１７２はバーストサブセットｄ０１、ｄ１１、ｄ２１およびｄ３１をＭＩＵ１６４に与え、ＭＩＵ１６４はそれをＭＩＵ１６２にポートｐ０相互接続を介して転送する。ＭＩＵ１６２は次いでそのサブセットをそれのバスインタフェース論理に転送する。デジタルメモリ１７４はバーストサブセットｄ０２、ｄ１２、ｄ２２およびｄ３２をＭＩＵ１６６に転送し、ＭＩＵ１６６はそれをＭＩＵ１６２にポートｐ１相互接続を介して転送する。ＭＩＵ１６２は次いでそのサブセットをそれのバスインタフェース論理に転送する。デジタルメモリ１７６はバーストサブセットｄ０３、ｄ１３、ｄ２３およびｄ３３をＭＩＵ１６８に転送し、ＭＩＵ１６８は次いでそれをＭＩＵ１６２にポートｐ２相互接続を介して転送する。ＭＩＵ１６２は次いでそのサブセットをそれのバスインタフェース論理に転送する。したがって、バースト２０２は異なるメモリから検索され、ＭＩＵ１６２のバスインタフェース論理において利用可能とされる。
【００８０】
図３０は、図２４の４ＭＩＵシステム１６０に対する図２９のメモリ読出動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。クロックサイクル１〜２の間において、アドレス信号がセグメントバスから受取られる。クロックサイクル２〜３の間において、バスインタフェース論理によって先行されるＲｑ信号がＭＩＵ１６２のｐ０、ｐ１およびｐ２相互接続を介して送られる。クロックサイクル４〜５の間において、メモリアドレスレジスタ２０６、２０８、２１０および２１２の各々にあるメモリアドレスがメモリ１７０、１７２、１７４および１７６に与えられる。クロックサイクル５〜６の間において、メモリ出力イネーブル信号が各メモリに与えられ、データバーストサブセットの全体が４つのメモリ１７０、１７２、１７４および１７６の各々から並列に読出されて転送バッファ１８６、１８８、１９０および１９２に一時的な記憶のために与えられる。クロックサイクル６〜７の間において、バイト幅フラグメントｄ０１、ｄ０２およびｄ０３がＭＩＵ１６２にそれぞれポートｐ０、ｐ１およびｐ２のスレーブ相互接続を介して転送される。クロックサイクル７〜８の間において、フラグメントｄ１１、ｄ１２およびｄ１３がＭＩＵ１６２にそれぞれポートｐ０、ｐ１およびｐ２のスレーブ相互接続を介して転送され、データワードＤ０がセグメントバスに与えられる。クロックサイクル８〜９の間において、フラグメントｄ２１、ｄ２２およびｄ２３がＭＩＵ１６２にそれぞれポートｐ０、ｐ１およびｐ２のスレーブ相互接続を介して転送され、データワードＤ１がセグメントバスに与えられる。クロックサイクル９〜１０の間において、フラグメントｄ３１、ｄ３２およびｄ３３がＭＩＵ１６２にそれぞれポートｐ０、ｐ１およびｐ２のスレーブ相互接続を介して転送され、データワードＤ２がセグメントバスに与えられる。クロックサイクル１０〜１１の間において、データワードＤ３がセグメントバスに与えられる。
【００８１】
図３１〜図３６の例示的な図はこの発明のいくつかの考えられ得る適用例を示す。これ
らの図において、スイッチシステム９８は、共有メモリの実現において、待ち行列管理ユニット（「ＱＭＵ」）と呼ばれる。図３１はスタンドアローン構成における基本的なスイッチの使用を示す。図３２は４ＭＩＵ（４ＱＭＵ）スタック構成を示す。図３３は、イーサネット（Ｒ）スイッチ実現例を示す。図３４はＡＴＭアップリンクを伴うイーサネット（Ｒ）スイッチを示す。図３５は２ＭＩＵ（２ＱＭＵ）スタック可能スイッチ／ルータを示す。図３６はアドレス導出（ＡＩＬ）を伴う４ＭＩＵ（４ＱＭＵ）高速イーサネット（Ｒ）スイッチを示す。
【００８２】
図３７は、図４または図３９のそれのような、２つの共有メモリスイッチを組合せて２倍の帯域幅を伴う、より大型の非ブロッキングスイッチをもたらす（たとえば、２つの３２×３２  １５５−ＭｂｐｓポートＡＴＭスイッチを組合せて非ブロッキング６４×６４
１５５−ＭｂｐｓポートＡＴＭスイッチを構成する）、改良された装置を示す。現在の実施例は３２×３２ＡＴＭスイッチを含む。この改良例に従うと、この３２×３２ＡＴＭスイッチは時分割多重（ＴＤＭ）態様で動作する。図３８の図のタイミングを参照して、このスイッチは、３２クロック入力段と３２クロック出力段（と４クロックギャップ）とに分けられる６８クロック周期でサイクルする。２つの３２×３２スイッチチップセットおよび２バンクの共有メモリを使用する。各３２×３２チップセットがその２つのバンクのいずれかにアクセスできるようにする。一方のチップセットが入力段にあるときに他方のチップセットが出力段にあるような位相差でそれらを動作させる。ここで、出力段にある一方のチップセットが、伝送されるべきセルを、そのセルがあるバンクからフェッチするとき、入力段にある他方のチップセットは入来セルを書込むべき他方のバンクを選択する。
【００８３】
図３９の例示的な図は、ポートとバッファとの間のマトリックス相互接続線が各バーストセグメントに対して複数ビット幅であってもよいことを明らかにするために与えられる。したがって、バーストごとの複数ビットはクロックサイクルごとに転送されてもよい。
【００８４】
この発明の特定的な実施例をここにおいて詳細に記載してきたが、この発明の範囲から逸脱することなくこれら好ましい実施例にさまざまな修正がなされ得る。したがって、前述の記載は、添付の請求の範囲において規定されるこの発明を限定するよう意図されるものではない。
【図面の簡単な説明】
【００８５】
【図１】以前のマルチポート共有メモリシステムのブロック図である。
【図２】図１の以前のシステムにおいて用いられ得るデータフォーマットである。
【図３】別の以前のマルチポート共有メモリシステムのブロック図である。
【図４】この発明に従う第１のマルチポート共有メモリシステムの、一般化されたブロック図である。
【図５】図４の実施例において用いられるデータフォーマットおよびデータフローを示す。
【図６】図４の実施例のメモリアクセスバッファおよび制御論理のより詳細なブロック図である。
【図７】図６のメモリアクセスバッファのデュアルレジスタ対のひとつのブロック図である。
【図８】図６の制御論理とメモリアクセスバッファとの動作を説明するタイミング図である。
【図９】図７のデュアルレジスタ対の動作を説明するタイミング図である。
【図１０】この発明に従う非同期転送モード交換機のブロック図である。
【図１１】この発明の現在の好ましい実施例に従う、メモリインタフェースユニット（ＭＩＵ）ならびに関連の制御回路およびレジスタを含むスイッチシステムのブロック図である。
【図１２】図１１の実施例のデータ線および制御線を示す単純化されたブロック図である。
【図１３】図１１のスイッチシステムの構成可能スイッチの、１つの考えられる得る構成を示す単純化されたブロック図である。
【図１４Ａ】図１１の実施例の構成可能スイッチの信号線および制御線を示すブロック図である。
【図１４Ｂ】２ＭＩＵ実現例においてメモリ書込中にｃ０を生じさせるよう用いられる、図１４Ａの構成可能スイッチ内における論理ゲートを示すゲートレベル論理図である。
【図１４Ｃ】２ＭＩＵ実現例においてメモリ読出中にｄ０を生じさせるよう用いられる、図１４Ａの構成可能スイッチ内における論理ゲートを示すゲートレベル論理図である。
【図１５】図１１の実施例の転送バッファの詳細を示す例示的ブロック図である。
【図１６】図１５の転送バッファの個々のメモリアクセスバッファの詳細を示す例示的ブロック図である。
【図１７】この発明の現在の実施例に従う２ＭＩＵシステムのブロック図である。
【図１８】２つのＭＩＵ間におけるポートおよびアドレス接続を示す、図１７の２ＭＩＵシステムを含む、積み重ねられた箱の側面図である。
【図１９】図１７の２ＭＩＵシステムの構成可能スイッチ間における相互接続を表わすマトリックスである。
【図２０】メモリ書込動作中におけるバーストサブセットの流れを示す、図１７の２ＭＩＵシステムの簡略化されたブロック図である。
【図２１】図１７の２ＭＩＵシステムに対するメモリ書込動作中におけるデータおよび制御信号のタイミングを示すタイミング図である。
【図２２】メモリ読出動作中におけるサブセットの流れを示す、図１７の２ＭＩＵシステムの簡略化されたブロック図である。
【図２３】図１７の２ＭＩＵシステムに対する読出動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。
【図２４】この発明の現在の実施例に従う４ＭＩＵシステムの簡略化されたブロック図である。
【図２５】ＭＩＵ間におけるポートおよびアドレス接続を示す、図２４の４ＭＩＵシステムを含む、積み重ねられた箱の側面図である。
【図２６】図２４の４ＭＩＵシステムのＭＩＵ間における相互接続を表わすマトリックスである。
【図２７】読出動作中における図２４の４ＭＩＵシステム内のバーストサブセットの流れを示す、簡略化されたブロック図である。
【図２８】図２４の４ＭＩＵシステムに対する読出動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。
【図２９】メモリ書込動作中における図２４の４ＭＩＵシステム内のバーストサブセットの流れを示す、簡略化されたブロック図である。
【図３０】図２４の４ＭＩＵシステムに対する書込動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。
【図３１】図１１の実施例を用いるスタンドアローンＭＩＵ適用例を示す。
【図３２】図１１の実施例を用いる４ＭＩＵ適用例を示す。
【図３３】図１１の実施例を用いるイーサネット（Ｒ）スイッチ適用例を示す。
【図３４】図１１の実施例を用いるＡＴＭアップリンク適用例を伴うイーサネット（Ｒ）スイッチを示す。
【図３５】図１１の実施例を用いる２ＭＩＵ積み重ね可能スイッチ／ルータを示す。
【図３６】図１１の実施例を用いる４ＭＩＵ高速イーサネット（Ｒ）スイッチを示す。
【図３７】時分割多重（ＴＤＭ）切換を用いる、図４のスイッチの改良された実施例を示す。
【図３８】図３７のスイッチの動作を示すタイミング図である。
【図３９】個々のバイトサブセットかスイッチマトリックス複数ビットを介して１度に伝送されてもよい、図４のスイッチの実施例の例示的な図である。
【符号の説明】
【００８６】
２０−１〜２０−ｋ  ポート、２２  相互接続マトリックス、２４−１〜２４−ｋ  メモリアクセスバッファ、２６  共有メモリ、２９  制御論理。
【図１】
2004320786.tif 000005
【図２】
2004320786.tif 000006
【図３】
2004320786.tif 000007
【図４】
2004320786.tif 000008
【図５】
2004320786.tif 000009
【図６】
2004320786.tif 000010
【図７】
2004320786.tif 000011
【図８】
2004320786.tif 000012
【図９】
2004320786.tif 000013
【図１０】
2004320786.tif 000014
【図１１】
2004320786.tif 000015
【図１２】
2004320786.tif 000016
【図１３】
2004320786.tif 000017
【図１４Ａ】
2004320786.tif 000018
【図１４Ｂ】
2004320786.tif 000019
【図１４Ｃ】
2004320786.tif 000020
【図１５】
2004320786.tif 000021
【図１６】
2004320786.tif 000022
【図１７】
2004320786.tif 000023
【図１８】
2004320786.tif 000024
【図１９】
2004320786.tif 000025
【図２０】
2004320786.tif 000026
【図２１】
2004320786.tif 000027
【図２２】
2004320786.tif 000028
【図２３】
2004320786.tif 000029
【図２４】
2004320786.tif 000030
【図２５】
2004320786.tif 000031
【図２６】
2004320786.tif 000032
【図２７】
2004320786.tif 000033
【図２８】
2004320786.tif 000034
【図２９】
2004320786.tif 000035
【図３０】
2004320786.tif 000036
【図３１】
2004320786.tif 000037
【図３２】
2004320786.tif 000038
【図３３】
2004320786.tif 000039
【図３４】
2004320786.tif 000040
【図３５】
2004320786.tif 000041
【図３６】
2004320786.tif 000042
【図３７】
2004320786.tif 000043
【図３８】
2004320786.tif 000044
【図３９】
2004320786.tif 000045