(57)【特許請求の範囲】
【請求項１】
ランダムアクセスメモリ（RAM、26）および複数のデータポート（20）を含むマルチポートシステムにおいて用いるためのメモリインタフェースであって、
各々が、異なるそれぞれのデータポートと前記ランダムアクセスメモリの間において送られる複数のデータバーストそれぞれに含まれるデータバーストサブセットを同時に記憶するための複数の記憶素子を含む複数のバッファ（24）と、
複数のデータ線を含む相互接続回路（22）とを含み、前記複数のデータ線は、各データポートと前記RAMの間で送られる任意の与えられたデータバーストのそれぞれのサブセットが、それぞれのバッファに対してまたはからそれぞれ対応のデータ線を介して伝達されるように前記データポートを前記複数のバッファそれぞれと接続し、各前記データ線は、ポートからそれぞれのバッファへかつそれぞれのバッファから対応のポートへデータを転送するようにポートとバッファとを接続し、
ポートとバッファとを相互接続する少なくとも１つのデータ線は複数ビット幅である、メモリインターフェイス。
【請求項２】
それぞれの記憶素子は、バーストサブセットの前記相互接続回路へのまたは前記相互接続回路からの転送を、各サブセットが、クロックサイクルあたり２ビット以上かつ１クロックサイクルのデータバーストサブセットの全ビット未満の群にて転送されるように行う転送回路を含む、請求項１記載のメモリインターフェイス。
【請求項３】
それぞれの記憶素子は、それぞれのデータバーストサブセットを前記相互接続回路からシフトインして各データバーストサブセットが一度に２ビット以上かつ該データバーストサブセットの全ビット未満の群にてシフトインされるようにするための、および該データバーストサブセットを前記RAMに並列にシフトアウトするための、それぞれのシフトイン／並列シフトアウトレジスタ回路を含み、
それぞれの記憶素子は、さらに、それぞれのデータバーストサブセットを前記RAMから並列シフトインし、および該データバーストサブセットを前記相互接続回路にシフトアウトして、各データバーストサブセットが一度に２ビット以上かつ全ビット未満の群にてシフトアウトされるようにするための、それぞれの並列シフトイン／シフトアウトレジスタ回路をさらに含む、請求項１に記載のメモリインターフェイス。
【請求項４】
前記ランダムアクセスメモリと与えられたデータバーストサブセットそれぞれを記憶する複数の異なるそれぞれのバッファとの間における与えられたデータバーストの全てのサブセットの同時並列転送を制御する制御信号を与える制御回路をさらに含む、請求項１ないし３のいずれかに記載のメモリインターフェイス。
【請求項５】
ランダムアクセスメモリ（RAM、26）と複数のデータポート（20）との間でデータを転送するための方法であって、
前記ランダムアクセスメモリからデータバーストを読出して、複数のバッファ（24）に一時的に格納して前記バッファから前記データバーストをデータポートへ相互接続回路を介して転送するステップと、
データポートからデータバーストを受け、該データバーストを前記相互接続回路を介して前記バッファに転送して前記バッファに一時的に格納し、次いで、該データバーストを前記ランダムアクセスメモリに前記バッファから転送するステップとを備え、
各前記データバーストは複数のデータバーストサブセットを備え、
各前記バッファは、異なるそれぞれのデータポートと前記ランダムアクセスメモリとの間で転送される複数のそれぞれのデータバーストサブセットを同時に格納するための複数の記憶素子を含み、
前記相互接続回路は、各前記データポートを前記複数のデータバッファそれぞれと、あるデータポートと前記ランダムアクセスメモリとの間で転送されるある与えられたデータバーストの各異なるサブセットが、対応のデータ線を介してそれぞれ異なるバッファに伝達されるように相互接続する複数のデータ線を備え、各前記データ線は、対応のポートと各対応のバッファとの間で双方向にデータを転送するようにポートとバッファとを相互接続し、
ポートとバッファとを相互接続する少なくとも１つのデータ線は、複数ビット幅である、データ転送方法。
【請求項６】
各前記記憶素子は、前記相互接続回路へのおよびからのデータバーストサブセットを転送する転送回路を含み、各サブセットは、１クロックサイクルあたり２ビット以上かつ１クロックサイクルあたりのデータバーストサブセットの全ビット未満の群で転送される、請求項５記載のデータ転送方法。
【請求項７】
各前記記憶素子は、前記相互接続回路からのそれぞれのデータバーストサブセットをシフトインするそれぞれのシフトイン／並列シフトアウトレジスタ回路を含み、各前記データバーストサブセットは、一度に２ビット以上でかつ一度のデータバーストサブセットの全ビット未満の群でシフトインされかつ前記ランダムアクセスメモリへ前記データバーストサブセットが並列にシフトアウトされ、
各前記記憶素子は、さらに、前記ランダムアクセスメモリからのそれぞれのデータバーストサブセットを並列にシフトインし、該データバーストサブセットを各データバーストサブセットが一度に２ビット以上かつ該サブセットの全ビット未満の群でシフトアウトされるように前記相互接続回路に該データバーストサブセットをシフトアウトする並列シフトイン／シフトアウトレジスタ回路を備える、請求項５記載のデータ転送方法。
【発明の詳細な説明】
発明の背景
1.発明の分野
この発明は一般にメモリインタフェースシステムに関し、より特定的には、マルチプロセッサシステムおよび通信における交換のような適用例のための、複数の装置による共有メモリへのアクセスを与えおよび調停するための方法および装置に関する。
2.関連技術の説明
共有メモリは、複数のプロセス間でのデータ伝送を容易にするために用いられる。通常の共有メモリ実現例は、複数のポートの使用を伴う。各ポートが異なる外部装置に共有メモリアクセスを与えてもよい。異なる装置は、データを送る、異なるプロセスの制御または実行に関連してもよい。
他のポートによる共有メモリアクセスによって大きく影響されない、共有メモリへのアクセスを、各ポートに与えるために、共有メモリへの経路は通常は個々のポートの帯域幅の総和に近い帯域幅で設計される。これにより、たとえ複数のポートが共有メモリへのアクセスを求めても、共有メモリにアクセスすることにおいていずれのポートも大きな遅延を被らないほど経路のデータ伝搬能力が十分大きいことが保証される。一般に、これは２つの方法のうちの１つ、またはそれらの何らかの組合せで達成される。第１に、共有メモリアクセス時間は、個々のポートに対するデータ転送時間よりもはるかに高速であるよう設計すればよい。第２に、共有メモリへの経路幅が、個々のポートの経路幅よりもはるかに大きいように設計されてもよい。
第１のアプローチは、各ポートに、データが共有メモリから読出されまたはそこに書込まれ得るタイムスロットを割当てることである。各ポートに対し、割当てられるタイムスロットは、ポートを通してデータを転送するのに必要な実際の時間よりも短い。したがって、データはその転送中にポートと共有メモリとの間で一時的にバッファされる。普通は、ポートのタイムスロットの長さは、共有メモリへのアクセスを共有する装置の数に反比例する。特定のポートを用いる装置は、そのポートに対して割当てられたタイムスロットの間のみメモリへのアクセスを得ることができる。データは、タイムスロットとタイムスロットとの間ではバッファされる。このアプローチには欠点があった。たとえば、このアプローチは、メモリアクセス時間がポートのデータ転送時間よりもかなり短いことを必要とする。しかしながら、ポートと共有メモリとに対するデータ転送速度間においてそのような不一致を有することは非実用的であることがしばしばある。
第２のアプローチも、各ポートにタイムスロットを割当てることを伴う。たとえば、共有メモリへの書込みは、それぞれのポートで受信された複数のデータワードを一時的にバッファし、次いで、それらを、そのポートに対して指定されるタイムスロットの間に、すべて１つのメモリアクセスサイクルで、幅の広いメモリ経路上でメモリに与えることを伴う。逆に、共有メモリからの読出しは、複数のワードを、それぞれのポートに対して指定されるタイムスロットの間に、すべて１つのメモリアクセスサイクルで、幅の広い経路上で与えることと、メモリから読出されたワードを一時的にバッファすることと、次いでそのワードをポートを通して転送することとを伴う。この第２のアプローチは、データワードがそれぞれのポートを通してマルチワードバーストで通信されるバーストモードシステムに特によく適合する。バースト全体が、メモリアクセスバッファに一時的に記憶され、次いで１つのメモリアクセスサイクル中に共有メモリへのそのような広帯域幅経路を通して書込みまたは読出しされるだろう。適当に大きい帯域幅を有する経路を設けることによって、各ポートは、他のポートを通るデータ転送によって妨害されない、共有メモリへの排他的アクセスを有するように見えるようにされるだろう。
図１の例示的ブロック図は、ワード幅ｍを各々が有するｋ個のポートが共通のメモリを等しく共有するマルチポートメモリシステムのこれまでの実現例を示す。各バーストはｋ個のワードを含む。ｋ個のメモリアクセスバッファはｋ個のｍビットワードを各々有し得る。各バッファはｋ×ｍライン幅の経路によって共有メモリに接続される。共有メモリはｋ×ｍビット幅である。
図２の例示的な図は、図１のそれのような通常のマルチポートメモリシステムにおいて用いられるデータフォーマットを示す。共有メモリへのデータの転送中、ｍビットワードからなるｋワードのバーストがポートを通過する。このバースト全体は１つのメモリアクセスバッファに短時間記憶される。次いで、所定のタイムスロット中に、バーストのｋ個のワードすべては、バッファから同時に転送され、ｋ×ｍ経路上で共有メモリに書込まれる。共有メモリからのデータの転送中は、ｋ個のワードが別の所定のタイムスロット中に共有メモリから読出されて１つのメモリアクセスバッファに転送される。次いで、バッファされたデータは、そのバッファに関連するポートを通って転送される。
最初にバーストを入力したポートは、バーストを出力するポートと異なってもよい。バーストが入力ポートから出力ポートに送られ得るよう、共有メモリはバーストを一時的に記憶する。したがって、図１のシステムはポート間でデータを送るのに用いられ得る。
より特定的には、たとえば、メモリ書込み動作において、それぞれのポートを通して受信されたｋ個のｍビットワードは、そのポートに割当てられたメモリアクセスバッファによってバッファされる。続いて、そのメモリアクセスバッファに対して予約されたタイムスロット中に、割当てられたバッファに記憶されたｋ個のｍビットワードのすべては、共有されるｋ×ｍビット幅経路上で共有メモリに同時に書込まれる。同様の態様で、他のバッファの各々は、それら自身の関連するポートのためにｍビットワードを記憶し得る。各個々のバッファの内容全体（ｋ個のワードすべて）は、そのバッファに対して予約された個々のタイムスロット中に、共有メモリに書込まれ得る。メモリ読出動作は、書込み動作のステップが逆になることを除き、同様である。
この従来の実現例の不利な点は、大型マルチポートシステムにおいてバッファとバスとの間に多数の相互接続ピンが必要となることである。図３は、別の従来のマルチポート共有メモリシステムを示すブロック図である。使用されるデータフォーマットは、１ワードに付き72ビット（64ビットデータ８にビットパリティを加えたもの）の16ワードのバーストを伴う。共有メモリバスは1152線幅を有する（16ワード×72ビット／ワード）。バスは16のメモリアクセスバッファの各々に接続される。各バッファは、バスに接続される1152本、およびポートに接続される72本を含む、1224よりも多いデータピンを必要とするだろう。残念なことに、バスに接続される1152のデータピンは、16のバッファすべてと共有メモリとに接続されるバス上で動作する高い駆動能力を各々必要とするだろう。図３は、バッファピンによって克服されなければならない例示的バス容量を示す。
したがって、共有メモリへの複数ポートアクセスを与えるための改善されたアーキテクチャが要求されている。このアーキテクチャは、メモリアクセスバッファのために必要なピンがより少なくあるべきであり、かつバッファピンのための高い駆動能力を必要とするべきではない。この発明はこれらの要求を満たすものである。
発明の概要
この発明の１つの局面では、新規なメモリインタフェースユニットが提供される。それは、バスインタフェースユニットと、デジタルメモリへまたはデジタルメモリから移動中の複数のデータバーストサブセットを記憶し得るバッファとを含む。スイッチは、バスインタフェースユニットへまたはバスインタフェースユニットからデータを転送する、外部からアクセス可能なマスタデータ経路を含む。外部からアクセス可能なスレーブデータポートは、バッファへまたはバッファからデータを転送する。直接経路はバスインタフェースユニットとバッファとの間においてデータを転送する。
【図面の簡単な説明】
図１は、以前のマルチポート共有メモリシステムのブロック図である。
図２は、図１の以前のシステムにおいて用いられ得るデータフォーマットである。
図３は、別の以前のマルチポート共有メモリシステムのブロック図である。
図４は、この発明に従う第１のマルチポート共有メモリシステムの、一般化されたブロック図である。
図５は、図４の実施例において用いられるデータフォーマットおよびデータフローを示す。
図６は、図４の実施例のメモリアクセスバッファおよび制御論理のより詳細なブロック図である。
図７は、図６のメモリアクセスバッファのデュアルレジスタ対のひとつのブロック図である。
図８は、図６の制御論理とメモリアクセスバッファとの動作を説明するタイミング図である。
図９は、図７のデュアルレジスタ対の動作を説明するタイミング図である。
図10は、この発明に従う非同期転送モード交換機のブロック図である。
図11は、この発明の現在の好ましい実施例に従う、メモリインタフェースユニット（MIU）ならびに関連の制御回路およびレジスタを含むスイッチシステムのブロック図である。
図12は、図11の実施例のデータ線および制御線を示す単純化されたブロック図である。
図13は、図11のスイッチシステムの構成可能スイッチの、１つの考えられる得る構成を示す単純化されたブロック図である。
図14Aは、図11の実施例の構成可能スイッチの信号線および制御線を示すブロック図である。
図14Bは、2MIU実現例においてメモリ書込中にc0を生じさせるよう用いられる、図14Aの構成可能スイッチ内における論理ゲートを示すゲートレベル論理図である。
図14Cは、2MIU実現例においてメモリ読出中にd0を生じさせるよう用いられる、図14Aの構成可能スイッチ内における論理ゲートを示すゲートレベル論理図である。
図15は、図11の実施例の転送バッファの詳細を示す例示的ブロック図である。
図16は、図15の転送バッファの個々のメモリアクセスバッファの詳細を示す例示的ブロック図である。
図17は、この発明の現在の実施例に従う2MIUシステムのブロック図である。
図18は、２つのMIU間におけるポートおよびアドレス接続を示す、図17の2MIUシステムを含む、積み重ねられた箱の側面図である。
図19は、図17の2MIUシステムの構成可能スイッチ間における相互接続を表わすマトリックスである。
図20は、メモリ書込動作中におけるバーストサブセットの流れを示す、図17の2MIUシステムの簡略化されたブロック図である。
図21は、図17の2MIUシステムに対するメモリ書込動作中におけるデータおよび制御信号のタイミングを示すタイミング図である。
図22は、メモリ読出動作中におけるサブセットの流れを示す、図17の2MIUシステムの簡略化されたブロック図である。
図23は、図17の2MIUシステムに対する読出動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。
図24は、この発明の現在の実施例に従う4MIUシステムの簡略化されたブロック図である。
図25は、MIU間におけるポートおよびアドレス接続を示す、図24の4MIUシステムを含む、積み重ねられた箱の側面図である。
図26は、図24の4MIUシステムのMIU間における相互接続を表わすマトリックスである。
図27は、読出動作中における図24の4MIUシステム内のバーストサブセットの流れを示す、簡略化されたブロック図である。
図28は、図24の4MIUシステムに対する読出動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。
図29は、メモリ書込動作中における図24の4MIUシステム内のバーストサブセットの流れを示す、簡略化されたブロック図である。
図30は、図24の4MIUシステムに対する書込動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。
図31は、図11の実施例を用いるスタンドアローンMIU適用例を示す。
図32は、図11の実施例を用いる4MIU適用例を示す。
図33は、図11の実施例を用いるイーサネットスイッチ適用例を示す。
図34は、図11の実施例を用いるATMアップリンク適用例を伴うイーサネットスイッチを示す。
図35は、図11の実施例を用いる2MIU積み重ね可能スイッチ／ルータを示す。
図36は、図11の実施例を用いる6MIU高速イーサネットスイッチを示す。
図37は、時分割多重（TDM）切換を用いる、図４のスイッチの改良された実施例を示す。
図38は、図37のスイッチの動作を示すタイミング図である。
図39は、個々のバイトサブセットかスイッチマトリックス複数ビットを介して１度に伝送されてもよい、図４のスイッチの実施例の例示的な図である。
好ましい実施例の詳細な説明
この発明は、マルチポート共有メモリシステムを実現するための新規な方法および装置を含む。以下の説明は、当業者であればこの発明を実施できるように述べられる。特定の適用例の説明は、例としてのみ与えられる。好ましい実施例に対するさまざまな変更は当業者には容易に明らかとなり、ここに定義される一般原理はこの発明の精神および範囲から逸脱することなく他の実施例および適用例に適用されてもよい。したがって、この発明は、示される実施例に限定されることは意図されず、ここに開示される原理および特徴と整合性のある最も広い範囲と一致される。
ここで図４を参照すると、この発明に従う第１のマルチポート共有メモリシステム18のブロック図が示される。第１のシステム18は、ｎワードバーストでｍビットデータワードを各々が入力／出力するｋ個のポート20の組と、相互接続マトリックス回路22と、ｍ個のメモリアクセスバッファ24の組と、共有メモリ26とを含む。ポートは、デジタル情報がデータバスのような外部回路へまたは外部から転送され得る２方向デジタルパスとして働く。ポート構造は、当業者には周知であり、ここに記載される必要はない。共有メモリ26内の、破線で示される特定領域は、バッファ24に一時的に記憶されるデータのサブセットのために予約される。
メモリ書込み動作中において、ポート20は、それに接続される個々の外部装置（図示せず）からの二進データを転送する。これらのポート20は受信した二進データを相互接続マトリックス22に与え、相互接続マトリックス22はポートを介して転送されたデータをメモリアクセスバッファ24間に分配する。この実施例において、この分配は、各メモリアクセスバッファ24がポートの各々によって転送されるデータのサブセットを受取るようにして達成される。この実施例では、各バッファ24は、個々のポートからそのバッファによって受取られたデータのすべてをメモリ26に並列で転送し得る。さらに、そのような個々のポートから受取られるデータの並列転送のすべては、１つのメモリアクセスサイクル中に起こり得る。
メモリ読出し動作は、書込み動作のステップと同様であるが、逆向きである。つまり、ｎ個のｍビットワードのためのビットは、共有メモリから転送されてメモリアクセスバッファ24間に分配される。相互接続マトリックス22は次いでその分配されたビットを１つのポート20に与え、それを通して、ｎ個のｍビットワードを含むバーストが外部装置（図示せず）に転送される。
次に図５を参照すると、第１のシステム18において現在用いられる相互接続マトリックス回路22とデータフォーマットとデータフローとの詳細を示す図が示される。各メモリアクセスバッファ24は、どのポートであれそれを通して転送されるすべてのデータワードに対して、特定のビット位置を記憶するための専用となっている。データワードは、データおよびパリティ情報を含んでもよい。現在の好ましい実施例において、メモリアクセスバッファの総数はワードごとのビットの総数（ｍ）に等しく、したがって、各バッファに、すべてのワードにおける１つのビット位置を担わせることができる。たとえば、メモリアクセスバッファ24−１はポート20−１ないし20−ｋのいずれかを通して転送される各ワードのビット１（B1）を記憶し、メモリアクセスバッファ24−２はポート20−１ないし20−ｋのいずれかを通して転送される各ワードのビット２（B2）を記憶する、というようになる。
図４を再び参照すると、各メモリアクセスバッファ24−１〜24−ｍは、ｎビットデータ線28−１〜28−ｋの組によって共有メモリ26に接続される。したがって、異なる序列のビットのｍ個のサブセット（各サブセットはｎ個にビットを伴う）が、メモリ26とバッファ24との間で同時に転送され得る。この実施例においては、ｍ個のサブセットの各々に対してｎビットあり、つまり、ｎワードのバーストにおけるｎ個のワードの各々に対して１つのビットがある。特定的には、バーストごとにｎワードありかつワードごとにｍビットある場合、バーストごとに序列B1のｎビットがあり、バーストごとに序列B2のｎビットがあり、…、バーストごとに序列Bmのｎビットがある。所定の序列のｎビットのすべては、その序列のビットを記憶するために割当てられたバッファに接続されたｎビット線上でメモリ26に同時に与えられ得る。たとえば、B1のｎビットのすべては、バッファ24−１に接続されるｎビット線上に与えられる。これは、ｍ個のバッファがメモリのアドレスされた位置へまたはその位置から一度にｎワードを転送し得ることを意味する。以下に説明されるように、これらの転送されるワードのすべては、同じ外部装置で生じ、またはそれを目標とされたものであろう。
各ポート20は、相互接続マトリックス22と外部回路（図示せず）との間でデータを所定のフォーマットで転送する。この書類では、「ポートバースト」とは、外部回路へまたはそこからの両方向において１つのポートを介して転送されるデータバーストを意味する。図５に示される現在の実施例においては、ｍビットのデータワードは、バッファ24への転送のためにポートによって相互接続マトリックス22へ与えられるであろう。逆に、ｍビットのデータワードは、外部装置への転送のために相互接続マトリックス22によってそのようなポートへ与えられるであろう。データワードフォーマットは、ビットB1〜Bmが所定の順序で与えられるデータワードを各々に対して含む。相互接続マトリックスはそれらのビットを上述のように分配する。
相互接続マトリックス回路22は、たとえば、プリント回路基板（PCB）、ワイヤラップ、またははんだ付けワイヤを用いて実現され得る。現在の好ましい実施例において、相互接続マトリックスはポートとバッファとの間における接続を与える。以下に説明されるように、たとえば、ポート20−１を介して転送される各ワード内の各B1は、マトリックス22によって、ポート20−１と関連付けされたバッファ24−１の記憶素子に接続され、ポート20−２を介して転送される各ワード内の各B1は、マトリックス22によって、ポート20−２と関連付けされたバッファ24−１の記憶素子に接続され、…ポート20−ｋを介して転送される各ワード内の各B1は、マトリックス22によって、ポート20−ｋと関連付けされたバッファ24−１の記憶素子に接続される。
メモリアクセスバッファは、標準論理またはカスタム論理のいずれを用いても実現され得る。図６〜図９は、メモリアクセスバッファ24とメモリアクセスバッファ24のうちの１つのデュアルレジスタ対34との動作を例示し説明する。図６の例示的ブロック図は、メモリアクセスバッファ24と、制御論理29と、バッファ24を相互接続マトリックス（図示せず）に接続する直列入力／出力線30と、ｎビット並列入力／出力バス32とを示す。制御論理29は、線30上の直列I/Oと、バス32上の並列I/Oとを制御する。制御論理の動作は、図８のタイミング図を参照して説明される。
図７を参照して、デュアルｎビットレジスタ対34のひとつが示される。この発明の現在の実施例において、各メモリアクセスバッファ24は図７に示されるようなｋ個のデュアルレジスタ対を含み、バッファ24ごとに合計して2k個のレジスタがある。各バッファ内の各レジスタ対はポートの１つに関連付けされる。各レジスタ対は、そのレジスタ対に関連付けされたポートへまたはポートから転送されるすべてのデータワード内の所定の位置（序列）にあるすべてのビットを記憶するための専用となっている。つまり、それぞれのバッファの各それぞれのデュアルレジスタ対は、それぞれのポートを介して転送される各データワードからの同じ序列のビットのすべてを記憶し転送する。
たとえば、図５を参照すると、バッファ24−１内において、デュアルレジスタ対Ri1は、ポートPi（図示せず）を介して転送される各データワードの（序列が）第１のビットB1を受取って記憶する。バッファ24−２内において、デュアルレジスタ対Ri2は、ポートPiを介して転送される各ワードの（序列が）第２のビットB2を受取って記憶する。バッファ24−ｍ内において、デュアルレジスタ対Rimは、ポートPiを介して転送される各ワードの（序列が）第ｍのビットBmを受取って記憶する。したがって、たとえば、ポートPiを介して転送されるすべてのB1は、そのポートを介して転送されるデータのサブセットを表わす。同様に、たとえば、すべてのB2は別のサブセットを表わし、すべてのBmも同様である。
図７を参照して、代表的な１つのメモリアクセスバッファのシフトイン／シフトアウトレジスタ対の詳細を示す。デュアルレジスタ対34は、シフトインレジスタ36とシフトアウトレジスタ38とを含む。シフトインレジスタ36は、まずデータのｎビットを記憶し、次いでそれが共有メモリ26に書込まれるようそれをメモリバス32上に並列でアサートする。シフトアウトレジスタは、共有メモリ26から読み「出された」ｎビットのデータをメモリバス32から並列で読出して記憶する。
シフトインレジスタ36に記憶されるデータは相互接続マトリックス22からシフトインレジスタ36へシリアルにシフトされ、そこからそれはバス32上に並列でアサートされて上述のようにメモリ26に書込まれる。逆に、シフトアウトレジスタ38に記憶されるデータはそれがメモリ26から読出された後バス32からシフトアウトレジスタへ並列で読出され、そこからそれはシフトアウトレジスタから相互接続マトリックス22へシリアルにシフトされる。出力イネーブルバッファ40は、シフトアウトレジスタ38から相互接続マトリックス22へのデータの直列転送を制御する。
図８を参照すると、図４〜図６のメモリアクセスバッファ24−１〜24−ｍのためのタイミング図が示される。図８のタイミング図は、各ポートが32ワードのバーストサイズ（ｎ＝32）を有する32ポートシステム（ｋ＝32）のためのタイミングを示す。したがって、ｎ＝ｋである。現在の実施例において、メモリアクセスは、32のメモリ読出しサイクルと、それに続く32のメモリ書込みサイクルとの間を交互する。
メモリ書込みのタイミングにまず注目すると、メモリデータ書込み期間（クロックティック33〜64）の間に、異なる32ワードのデータのバーストが、各ポート20に対して、共通のメモリ26に書込まれ得る。各ポートは、そのポートを介して転送されるデータがメモリ26に書込まれ得るクロックサイクルを有する。連続するポートのデータは、連続クロックサイクルで書込まれ、それらはそれぞれのポートに対するそれぞれの書込み「タイムスロット」である。各ポートに割当てられる書込みタイムスロットに対して準備するために、各ポートはそのタイムスロットの32クロックサイクル前にデータをメモリアクセスバッファに転送し始め得るので、ポートのタイムスロットの到着前に、ポートによって受信されたバーストの32ワードのすべてを、ポートに割当てられたｍ個のバッファレジスタ（各々、異なるメモリアクセスバッファにある）に転送するのに十分な時間がある。したがって、メモリデータタイミング線上の「w1.C」に先行する32クロックサイクルの間には、ポート20−１から相互接続マトリックス22を介してメモリアクセスバッファ24−１へ、ポート20−１データ線上に「w1.1」、「w1.2」…「w1.32」として示される32直列ビット転送がある。各ポートは異なるタイムスロットを有するので、各ポートのバーストが、そのポートのタイムスロットのすぐ前に共有メモリへの転送準備ができるように、ポートからの転送は適当にずらされる。より特定的には、たとえば、図８に示される各ポート20−１のデータ書込みサイクル中に、ポート20−１を介して転送される第１のワードにあるすべてのビットは、相互接続マトリックス22によって、メモリアクセスバッファ24の割当てられたデュアルポートレジスタ対間に分配される。たとえば、１バーストに付き32ワード（ｎ＝32）ありかつ１ワードに付きｍビットあるとすると、第１のポート20−１のデータ書込みサイクル（w1.1）の間、ポート20−１を介して転送されるワード１（W1）のビット１（B1）はバッファ24−１にある所定のレジスタ対にシリアルに書込まれ、W1のB2はバッファ24−２にある所定のレジスタ対にシリアルに書込まれ、W1のB3はバッファ24−３にあるレジスタ対にシリアルに書込まれる、というようになる。W1のBmはバッファ24−ｍのレジスタ対にシリアルに書込まれる。
同様に、たとえば、第32のポート20−１のデータ書込みサイクル（W1.32）の間、ポート20−１を介して転送されるW32のB1は、ポート20−１を介して転送されるW1のB1と同じ、ポート24−１のレジスタ対にシリアルに書込まれる。同様に、たとえば、第３のポート20−１のデータ書込みサイクル（W1.3）の間、ポート20−１を介して転送されるW3のB6は、ポート20−１を介して転送されるW1のB6と同じ、メモリアクセスバッファ24−６（図示せず）にあるレジスタ対にシリアルに書込まれる。
したがって、ポート20−１に対する32のデータ書込みサイクル（w1.1〜w1.32）の間、データはそれぞれのメモリアクセスバッファ24−１〜24−ｍにある指定されたシフトインレジスタにシリアルにシフトされる。メモリデータサイクルw1.Cの間、事前の32の直列シフトインサイクル（w1.1〜w1.32）の間にポート20−１からバッファ24−１〜24−ｍのシフトインレジスタにシリアルにシフトされたすべてのデータは、共有メモリ26に書込まれ得るようバス32上に並列にアサートされる。
同様に、メモリ読出し期間（クロックティック１〜32）の間、32ワードのデータが、各ポートに対して、共有メモリから読出され得る。たとえば、r1.Cでの１つのクロックメモリアクセスサイクルの間に、32ワードが、ポート20−１を介する外部装置への後の転送のために、メモリ26から読出され得る。したがって、r1.Cはポート20−１に対する読出し「タイムスロット」である。同様に、たとえば、r31.Cはポート20−31に対する読出しタイムスロットを表わす。
特定的には、たとえば、タイムスロットr1.Cで、バッファ24−１内にあるシフトアウトレジスタは、メモリ26から並列に読出される32ワードのすべてのB1を並列に受取る。同様に、たとえば、タイムスロットr1.Cで、バッファ24−18（図示せず）内にあるシフトアウトレジスタは、メモリ26から並列に読出される32ワードのすべてのB18を並列に受取る。
ポート20−１の32のデータ読出しサイクル（r1.1〜r1.32）の間、メモリデータ読出しサイクル（r1.C）中にメモリ26から読出されたワードは相互接続マトリックス22を介してポート20−１にシリアルに転送される。たとえば、データ読出しサイクル（r1.1）の間、ポート20−１を介して転送されるべき第１のワード（W1）に対するすべてのビットは、ｍ個の異なるバッファ24内にあるｍ個の異なるシフトアウトレジスタから同時にシリアルにシフトされ、マトリックス22を介してW1をポート20−１に与える。同様に、たとえば、データ読出しサイクル（r1.31）の間、ポート20−１を介して転送されるべき第31のワード（W31）に対するすべてのビットは、ｍ個の異なるバッファ24内にあるｍ個の異なるシフトアウトレジスタから同時にシリアルにシフトされ、マトリックス22を介してW31をポート20−１に与える。
したがって、所定のポートで受信されたデータがメモリ26に書込まれるとき、相互接続マトリックスは、各バッファが各ワードのうちの記憶されるべきサブセットだけを記憶するよう、データワードビットをバッファ24−１〜24−ｍ間に分配する。好ましい実施例では、各バッファは所定の序列のビットのみを記憶する。したがって、各バッファは、バス32に、メモリに同時に転送されるべきすべてのデータのサブセットを与えるだけでよい。
逆に、メモリから読出されるデータが所定のポートに出力されるときは、複数のバッファ間に分配されたビットが一連の完全なワード（すなわちバースト）として出力されるよう、相互接続マトリックスはそれらを再結合する。あるポートを介して転送されるべきデータ全体は、メモリから並列に出力されてバッファに入力される。しかしながら、各バッファはその全体データのサブセットを受取るにすぎない。相互接続マトリックス22はサブセットをデータのバーストに再結合する。
したがって、ｍ個のそれぞれのバッファの各々は１つのｎビットサブセットを１度にその並列バス32へ同時に接続する。図４に示されるように、任意の所与の時間において、ｍ個のバッファと共有メモリ26との間にはｍ×ｎの接続しかない。したがって、各バッファは共有メモリと相互接続するのに端子の数がより少なくてすみ、その数の少ない接続端子のため容量負荷がより少ない。
図９の例示的タイミング図は、図７のデュアルレジスタ対の動作を示す。P.WRITEパルスの間、（rX.c）メモリデータサイクル中に共有メモリ26から読出されたデータはシフトアウトレジスタ38に並列に書込まれる。各SHIFT−OUTパルスの間、１つのビットがそれぞれのポートへの転送のためにシフトアウトレジスタから相互接続マトリックス22へシフトアウトされる。たとえば、バッファ24−１の場合、各SHIFT−OUTパルスは図８のr1.Xパルスに対応する。各SHIFT−INパルスの間では、データの１つのビットがシフトインレジスタにシフトインされる。たとえば、バッファ24−１の場合、各SHIFT−INパルスは図８のw1.Xパルスに対応する。P.READパルスの間では、シフトインレジスタにシフトインされたすべてのデータは並列に読出されてw1.Cサイクルの間に共有メモリ26に書込まれ得る。
この実施例では、共有メモリ26は、（ｎ×ｍ）のメモリ幅を有する標準的ランダムアクセスメモリ（RAM）構成であり得る。したがって、メモリは、図５に示されるように、メモリアクセスバッファ24へまたはそこからデータの（ｎ×ｍ）ビットを同時に転送でき、すべての（ｎ×ｍ）ビットを１つのアドレス指定されるメモリ位置に記憶することができる。この実施例では、ポートからの各ワードを連続するビットとして記憶するのではなく、これらワードは「インタリーブ」され、すべての第１の序列＝序列ビット（B1）が連続的に記憶され、それにすべての第２の序列ビット（B2）等が続き、以下同様である。この構成では、特定のポート20からまたはそこへのｎワードを表わすすべてのビットは、共有メモリ26の１ラインとして容易に記憶され得る。
この実施例では、タイムスロットは予め割当てられる。しかしながら、タイムスロットは優先順位に基づいて調停されてもよい。さらに、この実施例では、ｋ個のポート20の各々は共有メモリ26と通信するために１つのクロックサイクルのタイムスロットを必要とし、かつ各ポートはメモリアクセスバッファ24へまたはそこからｎワードのデータバーストの全体を転送するためにそのタイムスロットの前にｎクロックサイクルを必要とするため、バーストごとのワード数（ｎ）をポート数（ｋ）と等しく設定し、それによって、ボトルネックやアイドル時間なしにデータを転送するための円滑なサイクルプロセスを提供するようにするのが効率的である。しかしながら、ポート数とバーストごとのワード数との関係は、この発明から逸脱することなく変更可能である。
図10は、この発明に従う32ポート非同期転送モード（ATM）交換機のブロック図である。ATMは、セルと呼ばれる固定サイズのパケットを用いる情報転送のためのペイロード多重化技術である。現在の実現例では、ATMセルは、53バイト長であり、経路情報を伝搬する５バイトのヘッダに48バイトの情報フィールド（ペイロード）が続くものからなる。交換機に入る各ATMセルのペイロードは、共有メモリ内の特定の位置に置かれる。ATMセルのペイロードは48バイト幅（１バイトに付き８ビット）であるので、共有メモリは384ビット幅（48×８＝384）にされる。この実現例は、メモリアクセスバッファからメモリへの32ビットのバスを有し、各ポートワードが12ビット幅であり、かつ32ワードのポートバーストを用いるように選択された。384は（12×32）にも等しく、つまり、セルは12ビットワードからなる32ワードのバーストで転送されることに注目されたい。
ATM交換機は、ポート上の各受信されたセルを、各そのようなセルに含まれる経路情報に従って、宛先ポートへ送る。より特定的には、セルはポートから転送されて共有メモリに記憶される。次いで、それは、共有メモリから取出されて、セル内に示された宛先ポートへ転送される。この態様で、データをポート間で交換できる。制御メモリおよび交換制御装置の動作は、当業者によって理解され、この発明のいかなる部分も形成しないだろうから、ここに記載される必要はない。
図11の例示的な図は、この発明の現在好ましい実施例に従うメモリインタフェースユニット（MIU）100を含むスイッチシステム98のブロック図を示す。このMIU100は構成可能スイッチ104とデータ転送バッファ106とを含む。バスインタフェースレジスタ102は、バーストモードバス108へおよびバーストモードバス108からデジタル情報を転送するよう結合される。データ転送バッファ106は、デジタルメモリ（図示せず）と構成可能スイッチ104との間で移動中のデータを一時的に記憶するよう結合される。デジタルデータはi/oドライバ100を介してメモリへおよびメモリから転送される。アドレスレジスタ112はバス108からデジタルアドレス情報を受取る。レジスタ112によって受取られたアドレス情報は別のi/oドライバ114を介してデジタルメモリに与えられる。制御ユニット116はMIU100およびメモリの動作を制御する。
この発明の現在の実施例の構成可能スイッチ104は、バスインタフェースレジスタ102と、転送バッファ106またはポートp0、p1もしくはp2のマスタ（mn）相互接続との間においてバーストサブセットを転送するよう選択的に構成可能である。スイッチ104は、さらに、転送バッファ106と、バスインタフェースレジスタ102またはポートp0、p1もしくはp2のスレーブ相互接続（Sn）との間においてバーストサブセットを転送するよう構成可能である。この発明の現在の好ましい実施例では、スイッチ104は３つの異なる構成、つまりスタンドアローン、2MIUおよび4MIUのいずれにも置かれ得る。スタンドアローン構成では、データは直接スイッチ104を介して線b0〜b3から線c0〜c3へ送られる。2MIU例における接続は図19において示される。4MIU例における接続は図26に示される。
この発明のスイッチシステムは、したがって、異なるバーストモードバスに各々が接続されるような異なるポート間でのメモリの共有を可能にする。たとえば、PCI、SBUSまたはGIO等のバーストモードバスは、そのバス上に与えられるデータに伴うアドレスを与えることを可能にする。さらに、個々のMIUは、異なるバーストモードバスに接続される装置による共有メモリへのアクセスを調整するため、ともに「チェーンされ」るかまたは「スタックされ」得る。
図12は、図11のスイッチシステム98のデータ線および制御線をより詳細に示す例示的ブロック図である。システム98はバスへおよびバスから信号を転送する。現在の実施例では、バスはPCIバスである。しかしながら、MIUは、SBUS、GIOなど、他のタイプのバーストモードバスとも通信し得る。データ、アドレスおよび読出／書込制御信号は、スイッチシステム98に接続されるデジタルメモリに与えられ得る。システム98は、たとえば、他のスイッチシステム（図示せず）に信号を転送するために使用され得る３つのポートp0、p1およびp2を含む。各ポートは８つのマスタデータ線および１つのマスタ要求線を含む。さらに、各ポートは、８つのスレーブデータ線と１つのスレーブ要求線とを含む。データは、図11に示される転送バッファ106へおよび転送バッファ106から転送される。アドレスはアドレスレジスタ112によって与えられる。R/W信号はコントローラ116によって発生される。ポート相互接続は構成可能スイッチ104へのアクセスを与える。
再び図11を参照して、この新規なスイッチシステム98の動作を、まずメモリ書込動作を詳細に説明し、次にメモリ読出動作を詳細に説明することによって説明する。書込中、デジタル情報のバーストがバス108からバスインタフェースレジスタ102へ転送される。現在の実施例では、バス108は32ビット幅であり、バーストは４つの32ビット幅データワードが後に続く32ビット幅アドレスワードを含んでもよい。バーストは、b0、b1、b2およびb3と表示した複数ビット線を介して、構成可能スイッチ104に転送される。スイッチ104は、そのバーストのうちのあるサブセットを、c0、c1、c2およびc3と符号づけられる複数ビット線の１つ以上を介して、データ転送バッファ106へ直接転送するよう構成され得る。さらに、スイッチ104は、ポート０、ポート１およびポート２を介してそれぞれアクセス可能なm0、m1およびm2と表示したマスタ相互接続の１つ以上を介して、他のメモリ（図示せず）に関連づけられる１つ以上の他のスイッチシステム（図示せず）へ、そのバーストの残りのサブセットを与えるよう構成され得る。マスタ相互接続を介して他のスイッチシステムに与えられたサブセットは、それら他のシステムに関連づけられるデジタルメモリに記憶される。他のメモリに転送されるサブセットの記憶については、例示的な2MIUおよび4MIUシステムに関連して後に論ずることにする。転送バッファ106は、それに転送されたサブセットを記憶し、次いでそれらを、d0、d1、d2およびd3と表示した複数ビット線の１つ以上を介して、スイッチシステム98に関連づけられるデジタルメモリにおける記憶のためにそれらを与えるi/oドライバ100に与える。バーストに関連してバス108から受取られるデジタルアドレス信号は、サブセットが記憶されることになるメモリ位置を指定するのに用いられる。現在の実施例では、同じメモリアドレスが、スイッチシステム98に関連づけられるメモリと、他のスイッチシステムに関連づけられる他のメモリとの両方に対して用いられる。したがって、異なる、バーストのサブセットが、異なるメモリにおける同じアドレスに記憶されるかもしれない。
メモリ読出動作のはじめにおいて、バーストのサブセットは、いくつかの異なるスイッチシステム（図11には図示せず）を介してアクセス可能ないくつかの別個のデジタルメモリ（図11には図示せず）間に分配されるかもしれない。図11を参照して、読出動作中、アドレス信号はバスのうえに置かれる。このアドレスは、アドレスレジスタ112を介して受取られ、これら別個のメモリの各々へ与えられる。図11は、これらのメモリの１つへのアクセスを与える単一のスイッチシステム98のみを示していることを理解すべきである。下で説明されるように、他のメモリへのアクセスを与えるよう接続される他の同様のスイッチシステムが存在してもよい。アドレス信号は、別個のバーストサブセットを、それらが記憶される別個のメモリから検索するのに用いられる。スイッチシステム98を介してアクセスされるメモリに記憶されるバーストサブセットは、そのメモリによってi/oドライバ110に与えられ、それはそのようなサブセットを複数ビット線d0、d1、d2およびd3の１つ以上を介して一時的な記憶のために転送バッファ106に転送する。バッファ106は、次いで、それらのサブセットを複数ビット線c0、c1、c2およびc3の１つ以上を介して構成可能スイッチ104へ与える。構成可能スイッチ104は、それらを、バスインタフェースレジスタ102に接続される複数ビット線b0、b1、b2およびb3の１つ以上に直接与えるよう構成され得る。スイッチシステム98を介してアクセスされるメモリに記憶されないサブセットは、ポート１、ポート２またはポート３のそれぞれs0、s1およびs2と表示した複数ビットスレーブ相互接続の１つ以上を介してスイッチシステム98に転送される。より特定的には、他のメモリに記憶されるそれらサブセットは、まずそれらメモリから検索され、次いでスイッチシステム98のスレーブ相互接続の１つ以上に転送される。これら他のメモリからのサブセットの検索については、例示的な2MIUおよび4MIUシステムに関連して後に論ずることにする。構成可能スイッチ104は、そのスレーブ相互接続上にて複数ビットb0、b1、b2およびb3の１つ以上へ与えられるサブセットをレジスタ102に転送するよう構成され得る。
図13は、この発明の現在の実施例に従うスイッチ104の１つの考えられる得る構成を示す図11のバスインタフェースレジスタ102と構成可能スイッチ104と転送バッファ106との単純化されたブロック図である。スイッチ104（破線内に示される）は、バーストサブセットをバッファ106とレジスタ102との間において「直接」相互接続経路105を介して転送するよう構成される。マスタ相互接続m0、m1およびm2は、レジスタ102への、およびレジスタ102からのバーストサブセットの転送のための経路を与える。スレーブ相互接続s0、s1およびs2は、転送バッファ106への、および転送バッファ106からのバーストサブセットの転送のための経路を与える。
さらに図13を参照して、メモリ書込動作中、たとえば、バーストはバスインタフェースレジスタ102によって受取られる。第１のバーストサブセットは直接経路105を介してバッファ106に転送される。第２のバーストサブセットは、マスタ経路m0を介してレジスタ102から遠ざかるように転送される。第３のバーストサブセットは、マスタ経路m1を介してレジスタから遠ざかるように転送される。第４のバーストサブセットは、マスタ経路m2を介してレジスタから遠ざかるように転送される。このように、第１のバーストサブセットはバッファ106に接続されるメモリ（図示せず）に記憶され得、第２、第３および第４のバーストサブセットは他の場所、経路m0、m1およびm2を介してアクセスされるメモリに記憶され得る。
逆に、メモリ読出動作中、たとえば、第１のバーストサブセットはまずバッファ106に接続されるメモリ（図示せず）に記憶され、第２、第３および第４のバーストサブセットは他の場所で異なるデジタルメモリ（図示せず）に記憶される。第１のサブセットがバッファ106に接続されるメモリから検索されると、転送バッファ106はその第１のサブセットを一時的に記憶し得る。次いで、バッファはその第１のサブセットをレジスタに直接経路105を介して転送する。第２のバーストサブセットはスレーブ経路s0を介して受取られる。第３のバーストサブセットはスレーブ経路s1を介して受取られる。第４のサブセットはスレーブ経路s2を介して受取られる。このようにして、異なるメモリ間に分散されたバーストサブセットは、バスへの伝送のためレジスタ102に集められる。
図13の構成はスイッチ104の考えられ得る１つの構成のみを表わしていることに注意されたい。たとえば、このスイッチは、代わりに、バスインタフェース論理116とバッファ106との間に複数の直接経路を与えるよう構成されるかもしれない。2MIUシステム120および4MIUシステム106に関連する下の議論は、いくつかの例示的な代替スイッチ構成を説明するものである。
図14Aを参照して、スイッチ14の信号線の多くを示す現在の好ましい実施例の構成可能スイッチ104のブロック図が示される。このスイッチは、当業者には容易に理解されるであろう態様で、マルチプレクサとして実現される。例示の形として、図14Bは、下に記載される2MIU実現例による「読出」動作中にc0出力の発生を担う内部論理を示すゲートレベル論理図である。図14Cは、下に記載される2MIU実現例による「書込」動作中におけるb0出力の発生を担う内部論理を示すゲートレベル論理図である。2MIU実現例では、P0入力は、たとえば、右側MIUを指定し、P1は左側MIUを指定してもよい。
以下の等式は、2MIU実現例に対する書込中における構成可能スイッチ（マルチプレクサ）104の完全な機能性を表現する。
c0＝P1.s0＋P0.b0
c1＝P0.s0＋P1.b1
c2＝P1.s2＋P0.b2
c3＝P0.s2＋P1.b3
m0＝P1.b0＋P0.b1
m2＝P1.b2＋P0.b3
以下の等式は、2MIU実現例に対する読出中における構成可能スイッチ（マルチプレクサ）104の完全な機能性を表現する。
b0＝P1.m0＋P0.c0
b1＝P0.m0＋P1.c1
b2＝P1.m2＋P0.c2
b3＝P0.m2＋P1.c3
s0＝P1.c0＋P0.c1
s2＝P1.c2＋P0.c3
下に記載される4MIU実現例には、４つの異なるMIUを区別するのに用いられてもよい４つの異なる論理値P0、P1、P2およびP3があることが理解されるだろう。しかしながら、４つのMIU間で信号を切換えるのに用いられる基本的な多重化技術および論理回路は当業者には周知であり、ここでさらに説明する必要もない。図15の例示的な図は図11の転送バッファ106のさらなる詳細を示す。現在の好ましい実施例では、バッファ106は４つのメモリアクセスバッファ106−１、106−２、106−３および106−４を含む。これらメモリアクセスバッファはそれぞれのP_READ、P_WRITE、OE（０−３）およびＷ（０−３）制御信号を受取る。構成可能スイッチ104は、バイト幅入力／出力線c0、c1、c2およびc3を介してアクセス可能なメモリアクセスバッファにアクセスする。現在の実施例では、各直列線は１バイト幅である。しかしながら、バーストサブセットの、異なるサイズの複数ビットフラグメントが可能である。メモリ（図示せず）は、線d0、d1、d2およびd3を介して32ビットメモリバス224上でメモリアクセスバッファを通してアクセスされる。
メモリバス224は、個々のメモリアクセスバッファと、バッファ106に接続されるデジタルメモリ（図示せず）との間でデジタル情報を転送する。メモリ書込中、たとえば、バーストサブセットは（１度にすべてが）メモリアクセスバッファ106−１からメモリへバス224を介して並列転送されるかもしれない。メモリ読出中、たとえば、バーストサブセットは（１度にすべてが）メモリからメモリアクセスバッファ106−１へバス224を介して並列転送されるかもしれない。
図16の例示的な図を参照して、この発明の現在の実施例に従う例示的なメモリアクセスバッファ106−２の詳細を示す。シフトインレジスタ226は、バーストサブセットの全体が累積されるまで、線c1上の一連のバイト幅バーストサブセットフラグメントを受取る。このシフトインレジスタはその完全なバーストサブセットを一時的に記憶し得る。サブセット全体は次いで並列に（すべてのバイト幅フラグメントが１度に）メモリバス224へアサートして、そのサブセットがデジタルメモリに並列に書込まれ得るようにする。
シフトアウトレジスタ228はメモリ読出中に用いられる。メモリから読出されたバーストサブセット全体はシフトアウトレジスタ228に並列にメモリバス224を介して与えられる。このシフトアウトレジスタはバーストサブセットの全体を一時的に記憶し得る。次いで、このレジスタは、そのバーストサブセット全体が構成可能スイッチ104に送られてしまうまで、線c1上において一連のバイト幅のバーストサブセットのフラグメントを与え得る。出力バッファ230は、シフトアウトレジスタから線c1へサブセットのフラグメントを与えることを制御する。
この発明の現在の実現例では、各個々のスイッチシステムは、関連の転送バッファの動作を制御する制御信号を発行する制御ユニットを含むことが理解されるべきである。たとえば2MIU構成または4MIU構成におけるように、ともに接続される複数のスイッチシステムがある場合、この異なるスイッチシステムのコントローラ間での調整を行なってメモリの共有を達成することが必要である。この調整は、たとえば、共有メモリに対する複数のスイッチシステムのアクセスを調整するよう用いられるアルゴリズムを各コントローラに実行させることによって達成され得る。いくつかの周知のアルゴリズムが用いられ得る。たとえば、異なるスイッチシステムによるメモリアクセスに対する要求は、スイッチ間での固定された優先順位に従うかまたはラウンド・ロビン方式に従って取扱われ得る。
図17は、この発明の現在の実施例に従う2MIUシステム120の例示的ブロック図である。簡略にするため、制御論理およびバスインタフェース論理等の詳細は図示されない。２つのMIU112および124は図示されるように相互接続される。つまり、MIUスイッチ123およびMIUスイッチ125のm0およびs0相互接続がそれらのそれぞれのポートp0を介して互いに接続されるように、MIUスイッチ123および125は構成される。同様に、MIUスイッチ123およびMIUスイッチ125のm2およびs2相互接続はそれらのそれぞれのポートp2を介して互いに接続される。さらに、スイッチ123は、バスインタフェース論理126とバッファ130との間において直接相互接続141および142を与えるよう構成される。さらに、スイッチ125は、バスインタフェース論理128とバッファ132との間において直接相互接続143および144を与えるよう構成される。バッファ130はデジタルメモリ134へ、およびデジタルメモリ134からバーストサブセットを転送するよう接続される。バッファ132は、デジタルメモリ136へ、およびデジタルメモリ136からバーストサブセットを転送するよう接続される。
図18は、ともになって2MIUシステム120を収容する、２つの積み重ねられた箱156および158の単純化された側面図である。箱156は、MIU122と、メモリ134と、バスインタフェース論理126とを収容する。箱158は、MIU124とメモリ136とバスインタフェース論理128とを収容する。各箱156および158は３つのポートp0、p1およびp3を有する。さらに、各箱は、各箱が付近の箱とアドレス情報を共有し得る共有アドレスバスを有する。ポートp0およびポートp2ならびに共有アドレスバスは図示されるように接続される。
図19は、図17の2MIUシステムの２つのMIU122および124間の相互接続を表わすマトリックスである。線の交差部の「０」はMIUスイッチ123内の相互接続を示す。線の交差部の「１」はMIUスイッチ125内の相互接続を示す。左上の四半分はスレーブ線s0、s1およびs2とバスインタフェース論理線b0、b1、b2およびb3との間の接続を表現する。右下の四半分は、マスタ線m0、m1およびm2とMIUバッファ線c0、c1、c2およびc3との間の接続を表現する。左下の四半分は、インタフェース論理線b0、b1、b2およびb3とMIUバッファ線c0、c1、c2およびc3との間の接続を表わす。MIUスイッチ123の相互接続は以下のとおりであり:b0はc0に直接接続され;b1はm0に接続され;b2はc2に直接接続され;b3はm2に接続され;c1はs0に接続され;c3はs2に接続される。MIUスイッチ125の相互接続は以下のとおりであり:b0はm0に接続され;b1はc1に直接接続され;b2はm2に接続され;b3はc3に直接接続され;c0はs0に接続され;c2はs2に接続される。
動作において、バーストは、MIU122および124と外部バス（図示せず）との間でバスインタフェース論理ユニット126および128を介して転送される。単純化のため、外部バスに接続されるアドレスおよびデータレジスタはバスインタフェース論理ユニットに合わせて示される。論理126を介して転送される例示的な４ワードバースト127の全体を示す。このバースト27は、複数ビットフラグメントA00、A01、A02およびA03を含むものとして識別されるデジタルワードを含む。この発明の現在の実施例では、各フラグメントは複数の論理ビットを含む。しかしながら、この発明は、代替的に１ビットフラグメントを用いて実現されてもよい。A00、A10、A20およびA30を含むバーストサブセットと、A02、A12、A22およびA32を含むバーストサブセットとは、バスインタフェース論理126とバッファ130との間で直接相互接続141および142を介して転送される。A01、A11、A21およびA31を含むバーストサブセットは、バスインタフェース論理126とバッファ132との間において、スイッチ123および125のポートp0相互接続を介して転送される。A03、A13、A23およびA33を含むバーストサブセットは、バスインタフェース論理126とバッファ132との間において、スイッチ123および125のポートp2相互接続を介して転送される。
同様に、論理128を介して転送される例示的な４ワードバースト129の全体を示す。このバーストは、複数ビットフラグメントB00、B01、B02およびB03を含むものとして識別されるデジタルワードを含む。B00、B10、B20およびB30を含むバーストサブセットと、B02、B12、B22およびB32を含むバーストサブセットとは、バスインタフェース論理128とバッファ132との間で直接相互接続143および145を介して転送される。B01、B11、B21およびB31を含むバーストサブセットは、バスインタフェース論理128とバッファ130との間において、スイッチ123および125のポートp0相互接続を介して転送される。B03、B13、B23およびB33を含むバーストサブセットは、バスインタフェース論理128とバッファ130との間において、スイッチ123および125のポートp2相互接続を介して転送される。
バスインタフェース論理126を介して転送されたバースト127からの２つのサブセットと、インタフェース論理128を介して転送されたバースト129からの２つのサブセットとは、図示されるように２つのバッファ130および132の各々において一時的に記憶され得る。同様に、図示されるように、各バーストからの２つのサブセットはデジタルメモリ134に記憶され、２つはバーストの各々からの２つのサブセットはデジタルメモリ136に記憶される。したがって、バスインタフェース論理ユニット126または128のどちらかを介して転送されるどのバーストの内容も、２つの異なるデジタルメモリ間に分配されそこにおいて一時的に記憶される。現在の実施例では、SRAMが用いられる。しかしながら、この発明と整合する、DRAM等の他のメモリアーキテクチャも用いられ得る。
図20は、代表的なメモリ書込動作中における図17の2MIUシステム120を介したバーストサブセットの流れを示す。５ワードバースト146がバスインタフェース論理（図示せず）によって受取られる。このバーストの最初のワードはアドレス情報を含む。次の４つのワードはデジタルメモリ134および136に書込まれるべきデジタル情報を含む。アドレス情報はMIU122によってMIUアドレスレジスタ148に転送される。MIUアドレスレジスタ148は、そのバーストアドレスを、デジタルメモリ134および136のメモリアドレスレジスタ150および152に、接続154を介して与える。バーストサブセットd00、d10、d20およびd30とバーストサブセットd02、d12、d22およびd32とは、メモリアドレスレジスタ150によって指定されるアドレス位置での記憶のために、MIU122によってデジタルメモリ134に転送される。バーストサブセットd31、d21、d11およびd01は、MIU122からMIU124へそれらのそれぞれのポートp0相互接続を介して転送され、次いで、メモリアドレスレジスタ152により指定されるメモリ位置での記憶のためにMIU124によってデジタルメモリ136に転送される。同様に、バーストサブセットd33、d23、d13およびd03は、MIU122からMIU124へそれらのそれぞれのポートp2相互接続を介して転送され、次いで、メモリアドレスレジスタ152により指定されるメモリ位置での記憶のためにMIU124によってデジタルメモリ136へ転送される。MIU122からMIU124に転送されるバーストサブセットの各々は、読出が行なわれることになるのかまたは書込が行なわれることになるのかを示すRq信号により先行される。
図21は、図17の2MIUシステム120に対する図17のメモリ書込動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。クロックサイクル１〜２の間において、アドレスがバスから受取られる。クロックサイクル２〜３の間で、データワードD0がセグメントバスから受取られ、Rq信号がp0およびp2相互接続を介してMIU124に送られる。クロックサイクル３〜４の間において、データワードD1がセグメントバスから受取られ、バーストサブセットフラグメントd01およびd03がそれぞれポートp0およびp2の複数ビットマスタ相互接続を介してMIU124に転送される。クロックサイクル４〜５の間において、データワードD2がセグメントバスから受取られ、バーストサブセットフラグメントd11およびd13がそれぞれポートp0およびp2の複数ビットマスタ相互接続を介してMIU124に転送される。クロックサイクル５〜６の間において、データワードD3がセグメントバスから受取られ、バーストサブセットフラグメントD21およびD23がそれぞれポートp0およびp2の複数ビットマスタ相互接続を介してMIU124に転送される。クロックサイクル６〜７の間において、バーストサブセットフラグメントd31およびd33がそれぞれポートp0およびp2の複数ビットマスタ相互接続を介してMIU124に転送される。さらに、クロック５〜７の間において、レジスタ150および154にあるバーストに関連づけられるメモリアドレスがデジタルメモリ134および136の各々に与えられる。クロックサイクル６〜８の間において、メモリ書込イネーブル信号が２つのMIUを制御する２つの制御ユニットによって同時にアサートされ、転送バッファ130および132に記憶されるデータバーストサブセット全体がそれぞれのデジタルメモリ134および136に並列に書込まれる。
図22は、代表的なメモリ読出動作中における図17の2MIUシステム120を介したバーストサブセットの流れを示す。まず、バーストの４つのワードが２つの異なるデジタルメモリ134および136内に分配される。メモリアドレス125はMIUアドレスバッファ148に与えられ、それはそのアドレスを接続154を介してメモリアドレスレジスタ150および152に与える。デジタルメモリ134はバーストサブセットd00、d10、d20およびd30をMIU122に与え、MIU122はそれをバスインタフェース論理126へ直接転送する。さらに、デジタルメモリ134はバーストサブセットd02、d12、d22およびd32をMIU122に与え、MIU122はそれをバスインタフェース論理（図示せず）に直接転送する。デジタルメモリ136はバーストサブセットd01、d11、d21およびd31をMIU124に転送し、MIU124はそれをMIU122にそれらのポートp0相互接続を介して転送する。次いで、MIU122はそのサブセットをそれのバスインタフェース論理に転送する。同様に、デジタルメモリ136はバーストサブセットd03、d13、d23およびd33をMIU124に転送し、MIU124はそれをMIU122にそれらのポートp2相互接続を介して転送する。次いで、MIU122はそのサブセットをそれのバスインタフェース論理に転送する。したがって、バースト146は異なるメモリから検索され、バスインタフェース論理において利用可能とされる。
図23は、図17の2MIUシステム120に対する図22のメモリ読出動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。クロックサイクル１〜２中において、アドレス信号がセグメントバスから受取られる。クロックサイクル２〜３中において、バスインタフェース論理によって発生されたRq信号がMIU124のp0およびp2相互接続を介して送られる。クロックサイクル４〜６中において、メモリアドレスレジスタ150および152の各々におけるメモリアドレスがメモリ134および136に与えられる。クロックサイクル５〜７中において、メモリ出力イネーブル信号がメモリの各々に与えられ、データバーストサブセット全体が２つのメモリ134および136の各々から並列に読出され、一時的な記憶のために転送バッファ130および132に与えられる。クロックサイクル６〜７中において、フラグメントd01およびd03がMIU122にそれぞれポートp0およびp2のスレーブ相互接続を介して転送される。クロックサイクル７〜８中において、フラグメントd11およびd13がMIU122にそれぞれポートp0およびp2のスレーブ相互接続を介して転送され、データワードD0がセグメントバスに与えられる。クロックサイクル８〜９中において、フラグメントd21およびd23がMIU122にそれぞれポートp0およびp2のスレーブ相互接続を介して転送され、データワードD1がセグメントバスに与えられる。クロックサイクル９〜10中において、フラグメントd31およびd33がMIU122にそれぞれポートp0およびp2のスレーブ相互接続を介して転送され、データワードD2がセグメントバスに与えられる。クロックサイクル10〜11中において、データワードD3がセグメントバスに与えられる。
図24は、この発明の現在の好ましい実施例に従う4MIUシステム160の単純化されたブロック図である。以下の説明を簡単にするため、制御論理およびバスインタフェース論理の詳細は省略する。システム160は４つのMIU162、164、166および168を含む。各MIUは電気的相互接続線の構成可能マトリックスを含む。各MIUは３つのポートp0、p1およびp2を含む。各MIUはバッファ部186、188、190および192をさらに含む。４つのMIUの各々は４つのデジタルメモリ170、172、174および176のうちの異なる１つに接続される。４つのMIUの各々は、４つのバスインタフェース論理ユニット178、180、182および184のうちの異なる１つにも接続される。
図25は、ともになって図23の4MIUシステム160を収容する、積み重ねられた箱194、196、198および200の側面図である。箱194はMIU162とメモリ170とバスインタフェース論理178とを収容する。箱196はMIU164とメモリ172とバスインタフェース論理180とを収容する。箱198はMIU166とメモリ174とバスインタフェース論理182とを収容する。箱200はMIU168とメモリ176とバスインタフェース論理184とを収容する。各箱は３つのポートp0、p1およびp2を有する。さらに、各箱は、付近の箱とアドレス情報を共有し得るアドレスバスを有する。ポートおよびアドレスバスは図示されるように接続される。
たとえば、箱194の中のMIU162および箱198の中のMIU166のポートp1相互接続は、その２つのMIU間でバーストサブセットを転送するよう結合される。特定的には、たとえば、MIU162のポートp1マスタ相互接続がMIU166のポートp1スレーブ相互接続に結合される。逆に、MIU162のポートp1スレーブ接続はMIU166のポートp1マスタ相互接続に結合される。動作において、バーストセグメントA02、A12、A22およびA32はバスインタフェース論理178とデジタルメモリ174との間においてMIU162のポートp1マスタ相互接続とMIU166のポートp1スレーブ相互接続とを介して転送される。さらに、動作においては、バーストセグメントC00、C10、C20およびC30はバス相互接続論理184とデジタルメモリ170との間においてMIU162のポートp1スレーブ相互接続とMIU166のポートp1マスタ相互接続とを介して転送される。
図26は、図24の4MIUシステム160の４つのMIU162、164、166および168間の相互接続を表明するマトリックスである。線の交差部の「０」はMIUスイッチ162内の相互接続を示す。線の交差部の「１」はMIUスイッチ164内の相互接続を示す。線の交差部の「２」はMIUスイッチ166内の相互接続を示す。線の交差部の「３」はMIUスイッチ168内の相互接続を示す。たとえば、MIUスイッチ162に対する相互接続は以下のとおりであり:b0はc0に直接接続され;c1はs0に接続され;c2はs1に接続され;c3はs2に接続され;b1はm0に接続され;b2はm1に接続され;b3はm2に接続される。MIUスイッチ166の相互接続は、たとえば、以下のとおりであり:b0はm2に接続され;b1はm1に接続され;b2はm0に接続され;b3はc3に直接接続され;c0はs2に接続され;c1はs1に接続され;c2はs0に接続される。MIU164および168の相互接続は図22のマトリックスおよび上述の議論から容易に理解されるであろう。
バーストサブセットを転送する際の図24の4MIUシステム160の動作は、バスインタフェース論理178、180、182および184を通して転送されるバーストを観察することにより；バッファ186、188、190および192間でのバーストサブセットの分配を観察することにより；およびデジタルメモリ170、172、174および176におけるバーストサブセットの記憶を観察することにより理解され得る。たとえば、デジタルメモリ172を参照すると、サブセットA01、A11、A21、A31は４ワードバーストの一部としてバスインタフェース論理178を通して転送される。サブセットB01、B11、B21およびB31は４ワードバーストの一部としてバスインターフェース論理180を通して転送される。サブセットC01、C11、C21、C31は４ワードバーストの一部としてバスインタフェース論理182を通して転送される。サブセットD01、D11、D21、D31は４ワードバーストの一部としてバスインタフェース論理184を通して転送される。デジタルメモリ172とそれぞれのバスインタフェース論理ユニットとの間におけるこれら４つのバーストサブセットの任意の１つの転送過程において、そのサブセットはバッファ188に一時的に記憶される。
図27は、代表的なメモリ書込動作中における図24の4MIUシステム160を介したバーストサブセットの流れを示す。５ワードバーストがMIU162と関連づけられるバスインタフェース論理により受取られる。バーストの最初のワードはアドレス情報を含む。次の４つのワードはデジタルメモリ170、172、174および176間に分配されるよう予定される。アドレス情報はMIU162によってMIUアドレスレジスタ204に転送される。MIUアドレスレジスタ204はそのアドレスをデジタルメモリ172、174、176および178のメモリアドレスレジスタ206、208、210および212にバス214を介して与える。バーストサブセットd00、d10、d20およびd30は、メモリアドレスレジスタ206により指定されるアドレス位置での記憶のために、MIU162によってデジタルメモリ170へ直接転送される。バーストサブセットd31、d21、d11およびd01は、MIU162からMIU164へそれらのそれぞれのポートp0相互接続を介して転送され、次いで、メモリアドレスレジスタ208により指定されるメモリ位置での記憶のためにMIU164によってデジタルメモリ172に転送される。バーストサブセットd02、d12、d22およびd32は、MIU162からMIU166へそれらのそれぞれのポートp1相互接続を介して転送され、次いで、メモリアドレスレジスタ216により指定されるメモリ位置での記憶のためにMIU166によってデジタルメモリ174へ転送される。バーストサブセットd33、d23、d13およびd03は、MIU162からMIU168へそれらのそれぞれのポートp2相互接続を介して転送され、次いで、メモリアドレスレジスタ212により指定されるメモリ位置での記憶ためにMIU168によってデジタルメモリ176に転送される。MIU間において転送されるバーストサブセットの各々は、メモリ読出が行なわれることになるのかまたはメモリ書込が行なわれることになるのかを示すRq信号によって先行される。
図28は、図24の4MIUシステム160に対する図27のメモリ書込動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。クロックサイクル１〜２の間において、アドレスがセグメントバスから受取られる。クロックサイクル２〜３の間において、データワードD0がセグメントバスから受取られ、Rq信号がp0、p1およびp2相互接続を介してMIU164、166、168に送られる。クロックサイクル３〜４の間において、データワードD1がセグメントバスから受取られ、バーストサブセットのフラグメントd01、d02およびd03がMIU164、166および168にそれぞれポートp0、p1およびp2の複数ビットマスタ相互接続を介して転送される。クロックサイクル４〜５の間において、データワードD2がセグメントバスから受取られ、バーストサブセットのフラグメントd11、d12およびd13がMIU164、166および168にそれぞれポートp0、p1およびp2の複数のビットマスタ相互接続を介して転送される。クロックサイクル５〜６の間において、データワードD3がセグメントバスから受取られ、バーストサブセットフラグメントd21、d22およびd23がMIU164、166および168にそれぞれポートp0、p1およびp2の複数ビットマスタ相互接続を介して転送される。クロックサイクルろ６〜７の間において、バーストサブセットのフラグメントd31、d32およびd33がMIU164、166および168にそれぞれポートp0、p1およびp2の複数ビットマスタ相互接続を介して転送される。さらに、クロックサイクル６〜７の間において、レジスタ206、208、210および212にあるメモリアドレスがデジタルメモリ170、172、174および176の各々に与えられる。クロックサイクル７〜８の間において、メモリ書込イネーブル信号が各MIUに関連づけられる制御ユニットによって同時にアサートされ、転送バッファ186、188、190および192に記憶されるデータバーストサブセット全体がそれぞれのデジタルメモリ170、172、174および176に並列に書込まれる。
図29は、代表的なメモリ読出動作中における図24の4MIUシステム160を介したバーストサブセットの流れを示す。まず、バーストの４つのワードが４つの異なるデジタルメモリ170、172、174および176内に分配される。メモリアドレス216はMIUアドレスバッファ204に与えられ、MIUアドレスバッファ204はそのアドレスを接続214を介してメモリアドレスレジスタ206、208、210および212に与える。デジタルメモリ170はバーストサブセットd00、d10、d20およびd30をMIU162に与え、次いでそれをそのバスインタフェース論理（図示せず）に直接転送する。デジタルメモリ172はバーストサブセットd01、d11、d21およびd31をMIU164に与え、MIU164はそれをMIU162にポートp0相互接続を介して転送する。MIU162は次いでそのサブセットをそれのバスインタフェース論理に転送する。デジタルメモリ174はバーストサブセットd02、d12、d22およびd32をMIU166に転送し、MIU166はそれをMIU162にポートp1相互接続を介して転送する。MIU162は次いでそのサブセットをそれのバスインタフェース論理に転送する。デジタルメモリ176はバーストサブセットd03、d13、d23およびd33をMIU168に転送し、MIU168は次いでそれをMIU162にポートp2相互接続を介して転送する。MIU162は次いでそのサブセットをそれのバスインタフェース論理に転送する。したがって、バースト202は異なるメモリから検索され、MIU162のバスインタフェース論理において利用可能とされる。
図30は、図24の4MIUシステム160に対する図29のメモリ読出動作に関連するデータおよび制御信号のタイミングを示すタイミング図である。クロックサイクル１〜２の間において、アドレス信号がセグメントバスから受取られる。クロックサイクル２〜３の間において、バスインタフェース論理によって先行されるRq信号がMIU162のp0、p1およびp2相互接続を介して送られる。クロックサイクル４〜５の間において、メモリアドレスレジスタ206、208、210および212の各々にあるメモリアドレスがメモリ170、172、174および176に与えられる。クロックサイクル５〜６の間において、メモリ出力イネーブル信号が各メモリに与えられ、データバーストサブセットの全体が４つのメモリ170、172、174および176の各々から並列に読出されて転送バッファ186、188、190および192に一時的な記憶のために与えられる。クロックサイクル６〜７の間において、バイト幅フラグメントd01、d02およびd03がMIU162にそれぞれポートp0、p1およびp2のスレーブ相互接続を介して転送される。クロックサイクル７〜８の間において、フラグメントd11、d12およびd13がMIU162にそれぞれポートp0、p1およびp2のスレーブ相互接続を介して転送され、データワードD0がセグメントバスに与えられる。クロックサイクル８〜９の間において、フラグメントd21、d22およびd23がMIU162にそれぞれポートp0、p1およびp2のスレーブ相互接続を介して転送され、データワードD1がセグメントバスに与えられる。クロックサイクル９〜10の間において、フラグメントd31、d32およびd33がMIU162にそれぞれポートp0、p1およびp2のスレーブ相互接続を介して転送され、データワードD2がセグメントバスに与えられる。クロックサイクル10〜11の間において、データワードD3がセグメントバスに与えられる。
図31〜図36の例示的な図はこの発明のいくつかの考えられ得る適用例を示す。これらの図において、スイッチシステム98は、共有メモリの実現において、待ち行列管理ユニット（「QMU」）と呼ばれる。図31はスタンドアローン構成における基本的なスイッチの使用を示す。図32は4MIU（4QMU）スタック構成を示す。図33は、イーサネットスイッチ実現例を示す。図34はATMアップリンクを伴うイーサネットスイッチを示す。図35は2MIU（2QMU）スタック可能スイッチ／ルータを示す。図36はアドレス導出（AIL）を伴う4MIU（4QMU）高速イーサネットスイッチを示す。
図37は、図４または図39のそれのような、２つの共有メモリスイッチを組合せて２倍の帯域幅を伴う、より大型の非ブロッキングスイッチをもたらす（たとえば、２つの32×32  155−MbpsポートATMスイッチを組合せて非ブロッキング64×64  155−MbpsポートATMスイッチを構成する）、改良された装置を示す。現在の実施例は32×32ATMスイッチを含む。この改良例に従うと、この32×32ATMスイッチは時分割多重（TDM）態様で動作する。図38の図のタイミングを参照して、このスイッチは、32クロック入力段と32クロック出力段（と４クロックギャップ）とに分けられる68クロック周期でサイクルする。２つの32×32スイッチチップセットおよび２バンクの共有メモリを使用する。各32×32チップセットがその２つのバンクのいずれかにアクセスできるようにする。一方のチップセットが入力段にあるときに他方のチップセットが出力段にあるような位相差でそれらを動作させる。ここで、出力段にある一方のチップセットが、伝送されるべきセルを、そのセルがあるバンクからフェッチするとき、入力段にある他方のチップセットは入来セルを書込むべき他方のバンクを選択する。
図39の例示的な図は、ポートとバッファとの間のマトリックス相互接続線が各バーストセグメントに対して複数ビット幅であってもよいことを明らかにするために与えられる。したがって、バーストごとの複数ビットはクロックサイクルごとに転送されてもよい。
この発明の特定的な実施例をここにおいて詳細に記載してきたが、この発明の範囲から逸脱することなくこれら好ましい実施例にさまざまな修正がなされ得る。したがって、前述の記載は、添付の請求の範囲において規定されるこの発明を限定するよう意図されるものではない。
【図１】
0003628706.tif 000002
【図２】
0003628706.tif 000003
【図３】
0003628706.tif 000004
【図４】
0003628706.tif 000005
【図５】
0003628706.tif 000006
【図６】
0003628706.tif 000007
【図７】
0003628706.tif 000008
【図１４Ｂ】
0003628706.tif 000009
【図１４Ｃ】
0003628706.tif 000010
【図８】
0003628706.tif 000011
【図９】
0003628706.tif 000012
【図１０】
0003628706.tif 000013
【図１１】
0003628706.tif 000014
【図１４Ａ】
0003628706.tif 000015
【図１２】
0003628706.tif 000016
【図１８】
0003628706.tif 000017
【図１３】
0003628706.tif 000018
【図３１】
0003628706.tif 000019
【図１５】
0003628706.tif 000020
【図１６】
0003628706.tif 000021
【図１７】
0003628706.tif 000022
【図１９】
0003628706.tif 000023
【図２０】
0003628706.tif 000024
【図２１】
0003628706.tif 000025
【図２３】
0003628706.tif 000026
【図２２】
0003628706.tif 000027
【図２４】
0003628706.tif 000028
【図２５】
0003628706.tif 000029
【図２６】
0003628706.tif 000030
【図２７】
0003628706.tif 000031
【図２８】
0003628706.tif 000032
【図３０】
0003628706.tif 000033
【図２９】
0003628706.tif 000034
【図３２】
0003628706.tif 000035
【図３３】
0003628706.tif 000036
【図３４】
0003628706.tif 000037
【図３５】
0003628706.tif 000038
【図３６】
0003628706.tif 000039
【図３７】
0003628706.tif 000040
【図３８】
0003628706.tif 000041
【図３９】
0003628706.tif 000042