(57)【特許請求の範囲】
【請求項１】
通信交換機において、当該通信交換機が、
キャッシュを有するマイクロプロセッサ（１２０）；
入力ビットストリームを各々受信する複数個の入力バッファ（１０１、１０２）；及び、
出力ビットストリームを各々送信する複数個の出力バッファ（１１１、１１２）；
を有しており、前記マイクロプロセッサ（１２０）は、複数バイトバスによって前記入力バッファ（１０１、１０２）に接続されていて前記キャッシュの連続する位置にストアされるべき、各々のバイトがタイムスロットを表す複数バイトを受信し、前記マイクロプロセッサ（１２０）が、プログラムの制御下で、
複数バイト受信及び前記入力バッファ（１０１、１０２）からの前記複数バイトの前記キャッシュへのストアを制御し；かつ、
前記キャッシュ内にストアされた制御マップを用いて前記キャッシュからの前記複数個の出力バッファ（１１１、１１２）の各々への複数バイト送信を制御し、それによって、複数の入力ストリームのうちの任意の入力ストリームから複数の異なる出力ストリームへ柔軟に交換し、；
前記入力ストリームの内容は、前記制御マップの制御下で、前記タイムスロットの内容を用いずに前記出力ストリームへ交換される、
ことを特徴とする通信交換機。
【請求項２】
前記複数個の入力バッファ（１０１、１０２）及び出力バッファ（１１１、１１２）の各々が同期ビットストリームに対して接続可能であることを特徴とする請求項１記載の通信交換機。
【請求項３】
前記通信交換機が時間スロット相互交換であることを特徴とする請求項２記載の通信交換機。
【請求項４】
前記通信交換機が時間多重化交換機であることを特徴とする請求項１記載の通信交換機。
【請求項５】
前記通信交換機が、さらに、複数個のマイクロプロセッサ（１２０）を有しており、前記マイクロプロセッサ（１２０）の各々が前記入力バッファの全てから入力を受信し、かつ、前記出力バッファ（１１１、１１２）のうちの個々のサブセット宛に出力を送信することを特徴とする請求項１記載の通信交換機。
【請求項６】
前記マイクロプロセッサ（１２０）が、さらに、プログラムの制御下で、複数個の出力バッファ（１１１、１１２）の各々へのバイト群の送出を制御するように機能し、このことによって、チャネル群が、デジタルアクセス及びクロス接続機能を実行するように全体として効率的に交換され得ることを特徴とする請求項１記載の通信交換機。
【請求項７】
通信交換機において、当該通信交換機が、
キャッシュを有するマイクロプロセッサ（１２０）；
パルスコード変調（ＰＣＭ）入力ビットストリームを各々受信する複数個の入力バッファ（１０１、１０２）；及び、
パルスコード変調（ＰＣＭ）出力ビットストリームを各々送信する複数個の出力バッファ（１１１、１１２）；
を有しており、前記マイクロプロセッサ（１２０）は、複数バイトバスによって前記入力バッファ（１０１、１０２）に接続されていて前記キャッシュの連続する位置にストアされるべき、各々のバイトがタイムスロットを表す複数バイトを受信し、前記マイクロプロセッサ（１２０）が、プログラムの制御下で、
複数バイト受信及び前記入力バッファ（１０１、１０２）からの前記複数バイトの前記キャッシュへのストアを制御し；かつ、
前記キャッシュ内にストアされた制御マップを用いて前記キャッシュからの前記複数個の出力バッファ（１１１、１１２）の各々への複数バイト送信を制御し、それによって、複数の入力ストリームのうちの任意の入力ストリームから複数の異なる出力ストリームへ柔軟に交換し、；
前記入力ストリームの内容は、前記制御マップの制御下で、前記タイムスロットの内容を用いずに前記出力ストリームへ交換される、
ことを特徴とする通信交換機。
【請求項８】
前記通信交換機が時間スロット相互交換であることを特徴とする請求項７記載の通信交換機。
【請求項９】
前記通信交換機が、さらに、複数個のマイクロプロセッサ（１２０）を有しており、前記マイクロプロセッサ（１２０）の各々が前記入力バッファの全てから入力を受信し、かつ、前記出力バッファ（１１１、１１２）のうちの個々のサブセット宛に出力を送信することを特徴とする請求項７記載の通信交換機。
【請求項１０】
前記マイクロプロセッサ（１２０）が、さらに、プログラムの制御下で、複数個の出力バッファ（１１１、１１２）の各々へのバイト群の送出を制御するように機能し、ここで、前記入力ストリームの内容は、前記制御マップの制御下で、前記タイムスロットの内容を用いずに前記出力ストリームへ交換され、
このことによって、チャネル群が、デジタルアクセス及びクロス接続機能を実行するように全体として効率的に交換され得ることを特徴とする請求項７記載の通信交換機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は通信信号のデジタル交換を制御する方法及びその装置に関する。
【０００２】
【従来の技術】
デジタル革命は、コンピュータ及び通信システムに係る影響において最も顕著である。後者の分野においては、通信信号をデジタル形式で送信することによって、まず信号の忠実度が改善され、さらに、重要なことであるが、デジタル交換機によって交換されるデジタル通信設備を介して種々のタイプのデータ通信がなされ得る、ということが明らかになってきている。
【０００３】
この種のデジタル交換機において、デジタル交換機能を実行するプライマリユニットのうちの一つが時間スロット相互交換（ＴＳＩ）ユニットである。このユニットは、特定の通信を表現しているデジタル信号のデジタルビットストリーム上での位置を、第一のデジタルビットストリーム中のある位置から同一あるいは第二のデジタルビットストリーム中の別な位置へと変化させることによって交換機能を実行する。この種の時間スロット相互交換は、デジタル通信交換機をインプリメントするために必要とされる交換機能のうちの主要な部分を実行する。別のプライマリユニットは時間多重化交換機（ＴＭＳ）であり、デジタル信号の位置を、同一時間スロット期間内のある空間位置から別の位置へと変化させる。
【０００４】
【発明が解決しようとする課題】
従来技術に係る問題点は、この種のデジタル交換機が限られたフレキシビリティしか有さないという点である。なぜなら、交換機ユニット内のハードウエア接続がこれらのユニットによって実現される機能を厳格に規定するからである。それゆえ、新たなニーズが生じるような場合には、この種の制限が新たなタイプのデジタル通信サービスに対応する能力を制限することになる。
【０００５】
【課題を解決するための手段】
上記課題は、本発明に従って実質的に緩和され、従来技術に対する前進が実現される。本発明に係る方式においては、個々の時間スロットあるいは他の基本的なデータ主体の交換の制御が、プロセッサによって制御されるプログラムによって直接実行される。本発明の望ましい実施例においては、このプロセッサは、モトローラ（Ｍｏｔｏｒｏｌａ）／ＩＢＭより市販されている６０４ｅＲＩＳＣマイクロプロセッサ等の通信産業で広く用いられているプロセッサである。本発明の望ましい実施例においては、このプロセッサは、メモリ、特にマイクロプロセッサのキャッシュメモリのローディングを制御して交換機へのシリアル入力を受け入れ、あらゆる時点で時間スロット相互交換ユニットによって必要とされる所望の接続に従って、受信した信号から選択的に信号を出力する。有利な点は、時間スロットあるいは他のデータ主体を再配置するアルゴリズムが制御メモリの内容に従って各出力バイトを単に伝送することに限定されているのではなく、他の用途に対しても適応され得る点である。例えば、ルーセントテクノロジー社から市販されている５ＥＳＳ（登録商標）交換機等のデジタル交換機が無線電話用の毎秒８あるいは１６キロビットのＧＳＭ音声標準に対してサービスを提供するために必要とされる場合には、従来技術においては相異なったＴＳＩが必要とされる。しかしながら、本発明に係る方法を用いると、ＴＳＩ内部のソフトウエアの変更だけが必要である。
【０００６】
【発明の実施の形態】
図１は、本発明に従った時間スロット相互交換ユニットの入力及び出力データストリームを示すブロック図である。本発明の望ましい実施例においては、１００ＭＨｚ動作のＰｏｗｅｒＰＣが、各々毎秒２．０４８Ｍビットのビットレートを有する３２個の時間スロットよりなる１２８個のシリアル入出力ストリームを交換することが可能である。入力はｎ個のシリアル入力ストリームより構成されており、ストリーム０が入力バッファ１０１に接続され、シリアル入力ストリーム（ｎ−１）が入力バッファ１０２に接続されている。第一入力ストリームは、入力バッファ１０１のシフトレジスタに集められ、一段当たり６４ビットの４ステージバッファ宛に順次パラレルに送出される。このバッファの最終段は、パラレルバス１０５を駆動する６４個の３ステートバスドライバに接続されている。さらに、パラレルバス１０５には、ｎ個の出力バッファ１１１、．．．、１１２が接続されている。これらの出力バッファも、４ステージ６４ビットレジスタを有しており、その入力段はバス１０５に接続された６４個のバスレシーバに接続され、その出力段はシリアル出力ストリームを生成するシフトレジスタに接続されている。さらに、バス１０５にはマイクロプロセッサ１２０が接続されており、このマイクロプロセッサにストアされたプログラムの制御下でｎ個の入力バッファ１０１、．．．、１０２の各々から関連する４つの６４ビットデータバスを読み取ることによって、２５６ビットよりなるバースト入力を受容する。同様に、このマイクロプロセッサは、制御マップ及びマイクロプロセッサのプログラムの制御下で、入力を読み取ることを介して出力バーストを生成した後に、関連している４つのデータバスがｎ個の出力バッファの各々に対して書き込むことによって、２５６ビットよりなる出力バーストを出力する。
【０００７】
Ｉ／Ｏデコーダユニット１３０は、マイクロプロセッサの制御下で、入力バッファからのバスへの３ステート出力及びバスからのｎ個の出力バッファ１１１、．．．、１１２への出力の双方へのゲート信号を生成する目的で使用される。Ｉ／Ｏデコーダ１３０は、マイクロプロセッサのアドレスバスから入力を受信する。
【０００８】
さらに、バス１０５には、テストや診断などを実行する際に必要とされるデータ等の稀にしか用いられないデータ及びプログラムテキスト、さらにその他のキャッシュされないＴＳＩコードをストアする目的、またマイクロプロセッサのプログラムテキストやパスメモリ等のマイクロプロセッサのキャッシュにストアされるデータのバックアップとして用いられるメモリ１２２が接続されている。バス１０５には、通信ネットワークの通話処理コントローラあるいは他の交換機等との間のインターフェースとして機能し、制御メッセージを送受信する制御レジスタ１２４も接続されている。
【０００９】
図２は、マイクロプロセッサにおける、本発明の理解に関連するキーパーツを示すブロック図である。マイクロプロセッサは、時間スロット相互交換ユニットの動作を制御する制御プログラムをストアするプログラムキャッシュ２０１を有している。プログラムキャッシュの出力は、パイプライン技法を用いて可能となる単純ループの高速実行を可能にする目的で複数個のインストラクション（命令）をストアするインストラクションキュー２０３に供給される。インストラクションキューは、インストラクション制御ブロック２０５と相互作用して、適切なインストラクションを算術論理演算ユニット（ＡＬＵ）２０７へ伝達する。ＡＬＵは、受信した命令を実行して、ロードストアユニット２１３を制御することによって、命令によって必要とされるステップを実行するように機能する。このロードストアユニット２１３は、データキャッシュ２１１をアクセスする。ＡＬＵ２０７は、短期記憶及びマイクロプロセッサの制御の双方の目的で、一群の内部レジスタを制御する。バスインターフェース２１７は、データキャッシュ２１１と通信し、ソフトウエアの変更の際にはさらにプログラムキャッシュ２０１とも通信する。
【００１０】
図３は、マイクロプロセッサ１２０のデータキャッシュ２１１にストアされているメモリデータ例を示している。データキャッシュの内容が図３において展開されており、なかんずく、入力バッファ１０１、．．．、１０２から受信したデータ、及び、出力バッファ１１１、．．．、１１２へ伝達されるべきデータが示されている。入力バッファ１０１、．．．、１０２から受信されたデータは、ＴＳＩバッファ３０１あるいは３０３にストアされる。本発明の望ましい実施例においては、種々の入力バッファからのデータがこれらのバッファに順次ストアされる。毎秒ｎ×６４キロビットの接続を取り扱う目的で、ＴＳＩバッファは、バッファ３０１と、これらシリアル入力データの別のフレームをストアする第二バッファ３０３とを有している。バッファ３０１及び３０３は、交互に用いられる。制御マップ３１１は、出力バッファ１１１、．．．、１１２のうちの一つに対して転送される目的でＴＳＩ出力バッファ３２１にストアされる出力を生成するために、ＴＳＩバッファ３０１あるいは３０３の内容の読み出しを制御する目的で用いられる。ＴＳＩ書き込みポインタ３１５は、入力バッファ１０１、．．．、１０２のうちの一つからの次の入力がＴＳＩバッファ３０１あるいは３０３のいずれにストアされるべきであるのかを記憶するために用いられる。同様に、制御ポインタ３１３は、ＴＳＩ出力バッファ３２１を充填するために必要とされる時間スロットを得る目的でＴＳＩバッファへのアクセスを制御するために、制御マップ３１１の適切な部分を指し示す目的で用いられる。入力バッファカウント３３１は、入力バッファアドレスレジスタ３３２によって選択された、ｎ個の入力バッファ１０１、．．．、１０２のうちの適切なものからの入力を順次受容することを制御する目的で用いられ、出力バッファカウント３３３は、出力バッファアドレスレジスタ３３４によって選択されたｎ個の出力バッファ１１１、．．．、１１２のうちの一つに対するＴＳＩ出力バッファ３２１内に集められたデータの出力の分配を制御する目的で用いられる。リンクステータスメモリ３４１は、ｎ個の入力線あるいはｎ個の出力線のうちの機能していないものを識別する目的で用いられる。このステータスは、ｎ個の入力バッファ１０１、．．．、１０２からの入力を受容する以前、あるいは出力バッファ１１１、．．．、１１２のうちの一つに対して出力を送出する以前、にチェックされる。
【００１１】
制御マップは、マイクロプロセッサが図１の制御レジスタ１２４内の接続要求レジスタ３５１から制御メッセージを受信した場合に、マイクロプロセッサのプログラムの制御下で変更される。この制御メッセージは、時間スロット相互交換ユニット内での接続設定あるいは接続切断要求を表わしている。制御マップを制御するプロセスは、当業者には公知である。
【００１２】
図４は、本発明に従った時間スロット相互交換ユニット（ＴＳＩ）をインプリメントするプログラムの動作を記述した流れ図である。本プロセスは、マイクロプロセッサがフレーム同期パルスを待機するところから開始される（ブロック４０１）。フレーム同期パルスが到達すると、シリアル入力ストリームからの入力バッファ１０１、．．．、１０２の同期ローディングの開始が通知され、さらに、いくつかの初期化段階がトリガーされる。ＴＳＩ書き込みポインタ３１５の示しているメモリ書き込みアドレスが初期化され（ブロック４０２）、入力バッファ１０１、．．．、１０２からの情報の書き込みのためのＴＳＩバッファ３０１及び３０３内の正しい位置が設定される。次いで、連続するフレームの交互のフレームで入力データをストアするＴＳＩバッファ内のフレームメモリ３０１及び３０３のうちのいずれかを選択する目的で、ダブルバッファリングオフセットが反転される（ブロック４０３）。その後、マイクロプロセッサは、入力バッファロード済み信号を待機する（ブロック４０４）。この信号は、バッファ１０１、．．．、１０２がフルになったことを通知するものであり、その後に、入力バッファアドレスが初期化されて第一入力バッファ１０１が指し示される（ブロック４０５）。ブロック４０６においては、直前のサイクルでキャッシュされた古いデータではなく新しいデータが入力バッファから読み出されることを保証する目的で、読み出しを初期化する前に入力バッファアドレスに係るキャッシュデータが無効にされる。その後、入力バッファアドレスによって指し示された入力バッファが４つの６４ビットデータバスの動作によってバースト読み込みされ、ダブるバッファリングオフセットに依存してＴＳＩバッファ３０１あるいは３０３のいずれかのマイクロプロセッサキャッシュメモリにストアされる。ブロック４０７におけるテストでは、このフレームに係る全ての入力が書き込まれたかどうかが決定される。書き込まれていない場合には、バッファアドレスがインクリメントされ（ブロック４０９）、次のバッファがＴＳＩバッファに読み込まれる（前述のブロック４０６）。このループは、ブロック４０７におけるテストの結果が、このフレームに係る全入力が書き込まれたことを示すまで継続される。
【００１３】
この時点で、ＴＳＩ読み出しサイクルが開始される。まず、出力バッファアドレス３３４が初期化され（ブロック４２１）、ＴＳＩ出力バッファアドレスが初期化されて（ブロック４２３）、制御マップポインタ３１３が制御マップの先頭を指し示すように初期化される（ブロック４２５）。制御マップの内容がインデックスレジスタに読み出され（ブロック４２７）、インデックスレジスタがＴＳＩバッファから８ビット時間スロットを読み出すために用いられる（フレーム３０１あるいは３０３がブロック４０３において設定されたダブルバッファリングオフセットに依存してアクセスされる）（ブロック４２９）。読み出されたデータバイトは、キャッシュ内のＴＳＩ出力バッファ（ＴＳＩ出力バッファ３２１）の適切なオフセットを有する位置に書き込まれる。このオフセットは、３２バイトのうちのいずれが書き込まれるかによって決定される。ブロック４３３のテストは、３２バイト全てが書き込まれたか否かを決定するために用いられる。書き込まれていない場合には、ブロック４２７へ再び戻り、ブロック４２７、４２９、４３１よりなるループが反復される。ブロック４３３のテストによって３２バイト全てが書き込まれたことが判明すると、この３２バイトは４つの６４ビットデータバスのデータキャッシュブロックフラッシュ操作によって、キャッシュから出力バッファアドレス３３４で指定された出力バッファ１１１、．．．、１１２へ書き込まれる。ブロック４４３におけるテストでは、全ての出力が書き込まれたか否かが決定される。書き込まれていない場合には、ＴＳＩ出力バッファ読み出しアドレスが再初期化される（ブロック４４５）。次いで、出力バッファアドレス（出力バッファアドレス３３４）がインクリメントされ（ブロック４４７）、出力バッファへの書き込みのためのループがブロック４２７から再度実行される。ブロック４４３におけるテストで全ての出力が書き込まれたことが判明すると、このフレームに係る作業が終了し、プロセッサはブロック４０１へ戻って次のフレーム同期パルスを待機する。
【００１４】
上記流れ図は、ブロック４２９及び４３１において１バイト毎に読み書きがなされるような８ビット時間スロットを記述している。１６ビット及び３２ビットの時間スロットに関しても、対応するバイトロード／ストア命令をそのままハーフワードあるいはフルワード命令に置換することによって実現され得る。時間スロットの幅は、一連の時間スロットを転送する目的でブロック４２９及び４３１においてストリングロード／ストア命令を用いることによって連続した時間スロットが一群のものとして交換される群交換を含めるように、さらに一般化され得る。単位時間当たりに交換される情報の総バイト数は、時間スロット幅すなわち群の大きさと共に増大する。なぜなら、ブロック４２７から４３３までのループのオーバーヘッドが、バイト幅の時間スロットの場合と比較して相対的に時間スロット幅に比例して低下するからである。このことは、クロス接続をインプリメントする３２時間スロットＰＣＭ（Ｅ１）ファシリティの交換に関して非常に効果的である。２４バイト幅の群を有するＴ１ファシリティのような群の大きさは、２４個の時間スロットを３２バイト群にパディング（padding）することによって最も効率的に交換され得る。群は、出力バッファの出力において連続的に連結することによって、ＤＳ３等のより高い帯域レートを構成することが可能である。このことは、ルーセントテクノロジー社（Lucent Technology Inc.）によって製造されているＤＡＣＳ−４交換機等のデジタルアクセスクロス接続交換機の機能を実行する際に特に有用である。
【００１５】
前述された流れ図は、ｎ×６４キロビット／秒の信号か単一の６４キロビット／秒の音声あるいはデータ時間スロットかを表現している全ての時間スロットに関してダブルバッファリングを実現している。ダブルバッファリングによって引き起こされる付加的なフレーム遅延が単一の６４キロビット／秒の音声あるいはデータ時間スロットに関して望ましくない場合には、流れ図は、選択的ダブルバッファリング、すなわち、単一の音声あるいはデータ時間スロットはダブルバッファリングされないようなバッファリングを実現するように修正され得る。このようなシングルバッファリングされるべき時間スロットは制御マップ３１１においてマーキングされ、ダブルバッファオフセットの効果を否定することによって、その時間スロットが２つのＴＳＩバッファフレーム３０１及び３０３のうちの反対のものから読み出される。よって、シングルバッファリングされた時間スロットがダブるバッファリングされた時間スロットとは反対のフレームから読み出される。
【００１６】
一般化されたＴＳＩフロー
図４に示された流れ図は、フレーム毎にわずか１回だけ実行される。なぜなら、各シリアル入力ストリームは３２個の時間スロットから構成されていることが仮定されており、これらが本実施例においては、ブロック４０６が議論された際に記述されているように、単一の３２バイトバーストによってマイクロプロセッサのキャッシュに書き込まれるからである。図４に対する比較的単純な修正が、より高い帯域を有するシリアルリンクに適応するために必要とされる。  １）  図４における判断ブロック４４３の“Ｙｅｓ”の後に別の判断ブロックが必要となる。この判断ブロックにおいては、時間スロットの全フレームが処理されたか否かが決定される。“Ｙｅｓ”の場合には、処理はブロック４０１へ戻って待機状態となる。“Ｎｏ”の場合には、処理はブロック４０４へ戻って、次の３２個の時間スロットが入力バッファにバーストロードされるのを待機する。  ２）  制御マップポインタ初期化ブロック４２５が、ＴＳＩ読み出しループからＴＳＩ書き込みサイクルの開始部（メモリ書き込みアドレス初期化ブロック４０２の後）へ移動させられる。なぜなら、フレーム全体が書き込まれていないからである。
【００１７】
図５は、図１のＴＳＩの大きさを増大させるための配置を模式的に示す図である。図５には、ｎ個の入力信号、ｋ個のマイクロプロセッサ複合体に対して適用可能であって、これらの複合体の速度とメモリ容量によって実現可能なインプリメンテーションが示されている。ここでｎ、ｋ、及びｎとｋの比は任意である。図５に従った一実施例においては、ｎは３２、ｋは８、そしてｎとｋの比は４である。バッファ増幅器５２１−１、．．．、５２１−３２において終端された各入力ストリームは、前述の入力バッファ１０１と同様のシフトレジスタ入力バッファへ接続される。マイクロプロセッサ複合体５０１−１に関しては、シフトレジスタ５１１−１、．．．、５１１−３２がローカルバス５４１−１に接続されており、これからマイクロプロセッサ複合体５０１−１が入力信号を受容する。同一の配置が、他の７つのマイクロプロセッサ複合体５０１−２、．．．、５０１−８に関して設けられている。各マイクロプロセッサ複合体は、総数３２個の出力バッファのうちのわずかに４つずつにデータを供給する。例えば、マイクロプロセッサ複合体５０１−１は、出力バッファ５３１−１、．．．、５３１−４にデータを供給する。各マイクロプロセッサ複合体の容量は、入力シフトレジスタのフルレンジから入力を受け入れるために適切なものでなければならないが、ｋ個の出力ストリームのうちの１つだけを駆動することが必要とされるのみである。幸いなことに、入力の受け入れは、並列に実行される。なぜなら、入力信号は、各マイクロプロセッサのＴＳＩバッファ３０１、３０３における連続する位置にロードされるからである。よって、非常に大量の入力データが単位時間当たりにマイクロプロセッサキャッシュに受け入れられる。マイクロプロセッサによる連続した時間スロット毎あるいは群毎の処理が必要とされるのは出力データのみである。
【００１８】
マイクロプロセッサ複合体毎にローカルシフトレジスタを配置することには、各マイクロプロセッサの近傍のみに高い帯域を有する接続を限定するという利点と共に、各マイクロプロセッサ毎に同一のシフトレジスタを必要とする、という欠点もある。本発明に係る有用な別の配置においては、複数のシフトレジスタよりなるグローバルセットが一つだけ用いられ、ロック段階にある各マイクロプロセッサが同一のデータを同一の時刻に吸収する。この場合には、高帯域グローバル接続及びグローバルマイクロプロセッサ同期の複雑さが、各マイクロプロセッサ毎にシフトレジスタを配置するのではなく一組だけに節約できる、という事実とトレードオフ関係にある。
【００１９】
理論的には、所定の順序を有する出力データを生成する目的で入力データの取り込と処理を直列に行なうことが可能である。図５に示された配置は、残念ながらこのような（直列に入力を処理して並列出力を生成する）配置に関しては満足に機能しない。なぜなら、並列に受信した各入力語に関して、各プロセッサがその出力に係る出力ストリームを生成する目的で相異なったバイト数を処理するため、相異なったマイクロプロセッサが相異なった量の処理をしなければならないからである。
【００２０】
時間多重化交換（ＴＭＳ）のインプリメンテーション
図１に示されたＲＩＳＣマイクロプロセッサハードウエア、図２に示されたブロック図及び図３に示されたプログラマデータモデルは、ＴＭＳをインプリメントするためにも用いられる。基本的な差異は、ＴＳＩアプリケーションが時間スロットよりなる単一あるいは２つのフレームのいずれか（シングルバッファリングあるいはダブるバッファリングアプリケーション）をメモリにストアして維持することを必要とするのに対して、ＴＭＳアプリケーションにおいては、時間スロットがＴＭＳの入力に現れたらできる限り速く交換する、ということが必要とされる。すなわち、１０１、．．．、１０２に現れたシリアル入力ストリーム（図３のＴＳＩバッファに既に書き込まれている）がシリアル出力ストリーム１１１、．．．、１１２に読み出された後には、ＴＳＩバッファ内にストアしておく必要が無い、ということを意味している。従って、フレームインターバルの間になされるこのバッファへの次のバースト書き込みの際には、古いデータを上書きすることが可能である。このことは、ＴＭＳアプリケーションに関してはＴＳＩアプリケーションと比較してより少ないメモリ量が必要とされるということを意味している。なぜなら、１フレームあるいは２フレーム分のメモリではなく、シリアル入力当たりにわずか３２バイト（バースト書き込みサイズ）が必要とされるからである。さらに、ｎ×６４キロビット／秒に関してもダブルバッファリングは不要である。なぜなら、タイムスロットは即時読み出しされ、タイムスロットがシーケンスから外れる可能性がないからである。
【００２１】
図６は、ＴＭＳをインプリメントする流れ図である。これは、ＴＳＩの基本的な流れ図（図４）と非常に類似しており、以下、一般化されたＴＳＩの流れ図に関する変更点及びＴＭＳに係る上述された差異が含まれている。理解を容易にするため、同一のアクションブロックには図４と同一の番号が付されている。ＴＭＳのような高帯域装置にかんしては、基本的なＴＳＩの流れ図に関して仮定された２．０４８メガビット／秒よりもはるかに高い帯域が必要とされる。このために、図６においては、全フレームを処理する目的でのテストブロック４４９の追加と、読み出し制御ポインタ初期化ブロック（４２５）のＴＳＩ読み出しサイクルからＴＭＳ書き込みサイクルの開始部近くのフレーム初期化部分への移動が必要とされる。これらの２つの段階は、一般化されたＴＳＩの流れ図に関して記述されたものと同一である。ＴＭＳ機能をインプリメントするためになされた流れ図へのわずか２つの変更は、１）ブロック４０２を、ＴＳＩ書き込みのフレーム初期化部分からロード済みバッファ内部ループへ移動して直前のバースト書き込みされたデータを上書き（なぜなら前述されているようにこのデータは既に出力されているからである）できるようにしたこと、及び、２）ダブルバッファリングを実現するために用いられたブロック４０３を削除したこと、である。図６に示されたＴＭＳ流れ図は、時間多重化交換機能をインプリメントする。
【００２２】
入力バッファ１０１、．．．、１０２のキャッシュへのシーケンシャル書き込みに関する変更は、単一の入力バッファから３２バイトをバースト読み出しするのではなく、４つの入力バッファの各々から８バイトが読み出されて書き込まれるようにすることである。このことは、入力バッファ１０１、．．．、１０２によってバッファリングされなければならないバイト数を３２バイトから８バイトに低減するという利点を有している。２つのバッファの各々から１６バイトを読み出すようにすることも可能である。
【００２３】
本発明の望ましい実施例においては、入力時間スロットの順次蓄積と制御メモリの内容に基づく読み出しが示されているが、制御メモリの内容に基づく蓄積を順次読み出しを用いることも可能である。しかしながら、このような配置においては、ブロードキャスト接続を取り扱う際の効率が低下する。図５に示された配置は、（制御メモリに基づく蓄積とシーケンシャル読み出しを行なうような）望ましくはない配置におけるブロードキャストに関しては満足に機能しない。なぜなら、受信された各入力語に関して、相異なったマイクロプロセッサが相異なった量の処理を行なうことが必要であるからである。
【００２４】
以上の説明は、本発明の一実施例に関するもので，この技術分野の当業者であれば、本発明の種々の変形例が考え得るが、それらはいずれも本発明の技術的範囲に包含される。また、特許請求の範囲に記載した参照符号は、発明の容易なる理解のために記載したものであり、本発明の範囲を減縮するものではない。
【００２５】
【発明の効果】
以上述べたごとく、本発明によれば、個々の時間スロットあるいは他の基本的なデータ主体の交換の制御が、プロセッサによって制御されるプログラムによって直接実行される交換機が提供される。
【図面の簡単な説明】
【図１】  本発明に係る交換機を模式的に示すブロック図。
【図２】  本発明に係る交換機において用いられるマイクロプロセッサを模式的に示すブロック図。
【図３】  本発明に係る交換機において用いられるメモリ及びレジスタのレイアウトを模式的に示す図。
【図４】  本発明に係る交換機を制御するプログラムを示す流れ図。
【図５】  本発明に係る大規模な交換機を模式的に示すブロック図。
【図６】  本発明に係る交換機を制御するプログラムを示す流れ図。
【符号の説明】
１０１、１０２  入力バッファ
１０５  パラレルバス
１１１、１１２  出力バッファ
１２０  マイクロプロセッサ
１２２  メモリ
１２４  制御レジスタ
１３０  Ｉ／Ｏデコーダ
２０１  プログラムキャッシュ
２０３  インストラクションキュー
２０５  インストラクション制御ブロック
２０７  ＡＬＵ
２１１  データキャッシュ
２１３  ロード／ストアユニット
２１５  内部レジスタ
３０１、３０３  ＴＳＩバッファ
３１１  制御マップ
３１３  制御ポインタ
３１５  ＴＳＩ書き込みポインタ
３２１  ＴＳＩ出力バッファ
３３１  入力バッファカウント
３３２  入力バッファアドレスレジスタ
３３３  出力バッファカウント
３３４  出力バッファアドレスレジスタ
３４１  リンクステータス
５０１  マイクロプロセッサ複合体
５１１  シフトレジスタ
５２１  バッファ増幅器
５３１  出力バッファ
【図１】
0003961666.tif 000002
【図２】
0003961666.tif 000003
【図３】
0003961666.tif 000004
【図４】
0003961666.tif 000005
【図５】
0003961666.tif 000006
【図６】
0003961666.tif 000007