(57)【特許請求の範囲】
【請求項１】
データ処理システムであって、
マスタ状態データ処理ユニットと、
前記マスタ状態データ処理ユニットが非同期転送モード・プロトコル信号を交換する際に用いられる通信バスと、
少なくとも１つのスレーブ状態データ処理ユニットであって、
中央処理ユニットと、
前記中央処理ユニットに結合された直接メモリ・アクセス・ユニットと、
前記直接メモリ・アクセス・ユニットに結合され、マスタ状態及びスレーブ状態で動作することが可能であって、前記通信バスとの間で受信モードおよび送信モードでデータを交換するUTOPIAモード・インターフェース・ユニットと、
を含む、前記スレーブ状態データ処理ユニットと、
を備え、
前記UTOPIAモード・インターフェース・ユニットが、
前記通信バスに結合され、非同期転送モード・UTOPIAプロトコル信号を交換する、プロセッサと、
前記直接メモリ・アクセス・ユニットと前記プロセッサとの間でデータ信号をバッファする、バッファ・メモリ・ユニットと、
を有し、
前記バッファ・メモリ・ユニットと前記直接メモリ・インターフェース・ユニットとの間におけるデータ・セルの転送を、イベント信号によって決定する、
ことを特徴とするデータ処理システム。
【請求項２】
データ処理システムであって、
少なくとも１つのスレーブ状態データ処理ユニットと、
前記スレーブ状態データ処理ユニットが非同期転送モード・UTOPIAプロトコル信号を交換する際に用いる、通信バスと、
マスタ状態データ処理ユニットと、
を備え、前記マスタ状態データ処理ユニットが、
中央処理ユニットと、
前記中央処理ユニットに結合された直接メモリ・アクセス・ユニットと、
前記中央処理ユニットに結合され、マスタ状態及びスレーブ状態で動作することが可能であって、受信モードおよび送信モードでデータを交換するUTOPIAインターフェース・ユニットと、
を含み、
前記UTOPIAインターフェース・ユニットが、
前記通信バスに結合され、非同期転送モード・UTOPIAプロトコル信号を交換するプロセッサと、
バッファ・メモリ・ユニットであって、前記直接メモリ・アクセス・ユニットと前記プロセッサとの間でデータ信号をバッファする、バッファ・メモリ・ユニットと、
を有する、
ことを特徴とするデータ処理システム。
【請求項３】
マスタ状態及びスレーブ状態で動作することが可能であって、通信バスと直接メモリ・アクセス・ユニットとの間にインターフェースを設け、受信モードおよび送信モードで動作するUTOPIAインターフェース・アクセス・ユニットであって、
データ・セルを前記直接メモリ・アクセス・ユニットに供給する、入力バッファ・メモリと、
前記外部処理システムから前記入力バッファ・メモリ・ユニットへのデータ・セルの送信を制御する、インターフェース入力状態プロセッサユニットと、
前記直接メモリ・アクセス・ユニットからデータ・セルを受け取る、出力バッファ・メモリ・ユニットと、
前記出力バッファ・メモリ・ユニットから前記通信バスへのデータ・セルの送信を制御する、インターフェース出力状態プロセッサユニットと、
を備えることを特徴とするUTOPIAインターフェース・ユニット。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般的に、データ処理システムに関し、更に特定すれば、ホスト・プロセッサと少なくとも１つのディジタル信号プロセッサとを有するデータ処理システムに関する。ホスト・プロセッサとディジタル信号プロセッサとの間にインターフェース・ユニットを挿入し、これらの間におけるデータ交換を容易にする。
【０００２】
【従来の技術】
コンピュータ・パワーに対する要求が高まるに連れ、この要求を満たすために１つ以上のディジタル信号プロセッサを制御するホスト処理システムを含むデータ処理システムの採用が増加している。ホスト・プロセッサは通常マイクロプロセッサであるが、ディジタル信号プロセッサでも可能である。ホスト・プロセッサは、多種多様の条件に応じ、適切な応答を与える柔軟性を有する。ディジタル信号プロセッサは、特殊な能力を備えており、複雑であるが反復するタスクを非常に迅速に実行することができる。したがって、１つ以上のディジタル信号処理ユニットがマスタ処理ユニットの制御の下で動作すると、多種多様の計算集約的要求に答えることができる。しかしながら、ホスト・プロセッサおよびディジタル信号プロセッサ（複数のディジタル信号プロセッサ）は直接的には互換性がない場合もあり、異なる製造会社が製造する場合もある。互換性のない素子およびデータ交換は可能であるが、困難な素子間におけるデータ交換を可能にするために、必須の共通点が得られるように標準的な信号プロトコルが承認されている。一例として、非同期転送モードは、ホスト・プロセッサおよびディジタル信号プロセッサ間におけるデータ信号群交換を容易にする信号を定義している。ATM Forum 標準仕様af-phy-0039.000およびその他の適用可能な規格に準拠するように、非同期転送モード（ＡＴＭ）(UTOPIA)レベル２インターフェースのUniversal Test and Operations Phy Interface (UTOPIA)に対して、プロトコルが用意されている。UTOPIAプロトコルは、物理レイヤ（ＰＨＹ）と、ＡＴＭレイヤおよび種々の管理エンティティのような上位レイヤ・モジュールとの間におけるインターフェースを定義する。この定義によって、広範囲にわたる速度および媒体種類においてＡＴＭシステムで共通のＰＨＹが可能となる。ＡＴＭセル、即ち、このプロトコルで転送されるパケットは、５バイトのヘッダ、および８ビット転送モードの４８ビットのペイロードから成る５３バイトを含むか、あるいは６バイトのヘッダ、および１６ビット転送モードの４８バイト・ペイロードから成る５４バイトを含む。
【０００３】
【発明が解決しようとする課題】
UTOPIAプロトコルは、マスタ処理ユニットおよびスレーブ処理ユニット間におけるデータ信号の交換を定義する。（比較的低速の）通信バスと、ディジタル処理ユニットと連動する直接メモリ・アクセス・ユニットとの間で通常交換するデータをバッファするには、インターフェース・ユニットを設けなければならない。加えて、インターフェース・ユニットが実行しなければならない送信および受信機能に対して、システムの処理ユニットの１つがマスタ状態で動作し、一方これに接続されている１つ以上の処理ユニットはスレーブ状態で動作する、共通の構成が必要となる。
【０００４】
したがって、UTOPIAプロトコルを用いてデータ転送を可能とするインターフェース・ユニットを備えた機構を有する装置、および関連する方法に対する必要性が感じられていた。また、この装置および関連する方法の別の特徴は、マスタ・モードまたはスレーブ・モードのいずれかで作用する処理ユニットの直接アクセス管理ユニットにインターフェース・ユニットを結合可能なことである。この装置および関連する方法の更に別の特徴は、UTOPIAプロトコルを用いて、送信モードおよび受信モードの双方で動作可能なインターフェース・ユニットを備えていることである。本発明の更に別の特徴は、UTOPIAプロトコルで転送するデータをバッファする機能を備えていることである。本発明の更に別の特徴は、インターフェース・ユニットが連続的にデータ・セルを転送できることである。本発明の更に特定的な特徴は、UTOPIAプロトコルに応答し、２つのデータ・セルを格納可能なバッファ記憶ユニットを有するインターフェース・ユニットを提供することである。前述の装置および関連する方法の更に別の特定的な特徴は、受信モードおよび送信モードのためにバッファ・メモリ・ユニットを備えていることである。
【０００５】
【課題を解決するための手段】
本発明によれば、前述の特徴およびその他の特徴を達成可能とするために、UTOPIA定義信号に応答するインターフェース・ユニットを有するディジタル信号プロセッサの構成を提供する。このUTOPIAインターフェース・ユニットは、汎用インターフェース・ユニットであり、外部装置にUTOPIA定義信号セットを供給し、外部装置からのUTOPIA定義信号セットに応答する。インターフェース・ユニットは、当該インターフェース・ユニットが一素子であるデータ処理ユニットの直接アクセス・メモリ・ユニットと、通信バスとの間で信号を交換する。インターフェース・ユニットと通信バスとの間における信号交換を実施することによって、これらの間で効率的なデータ転送が行われる。即ち、インターフェース・ユニットは、連続的に通信バスとデータ・セルを交換することができる。インターフェース・ユニットは、信号の受信および発生を行なうプロセッサ（状態機械として作用する）、およびフロー・データをバッファするバッファ・メモリ・ユニットを含む。インターフェース・ユニットは、マスタ状態において、送信モードおよび受信モード双方で動作することができ、更にスレーブ状態において、送信モードおよび受信モード双方で動作することができる。
本発明のその他の特徴および利点は、以下の説明、添付図面および特許請求の範囲を読むことにより、一層明らかに理解されよう。
【０００６】
【発明の実施の形態】
１．図面の詳細な説明
図１を参照すると、本発明を効果的に組み込むことができるデータ処理システム１のブロック図が示されている。データ処理システムは、少なくとも１つのディジタル信号処理ユニット１００ないし１０Ｎ、通信バス１１０、およびマスタ処理ユニット１２０を含む。各ディジタル信号処理ユニット１００ないし１０Ｎは、中央処理ユニット（またはディジタル信号処理ユニット・コア）１０、メモリ・ユニット１２、直接メモリ・アクセス・ユニット１４、およびUTOPIAインターフェース・ユニット１８を含む。各ディジタル信号処理ユニット１００ないし１０Ｎのインターフェース・ユニット１８は、バス１１０と信号を交換する。マスタ処理ユニット１２０も、通信バス１１０と信号を交換する。インターフェース・ユニット１８は、直接メモリ・アクセス・ユニット１４と信号を交換する。直接メモリ・アクセス・ユニット１４は、メモリ・ユニット１２と信号を交換し、続いてコア処理ユニット１０と交換する。尚、マスタ処理ユニット１２０は、ディジタル信号処理ユニット１００のようなディジタル処理ユニットとすることができることを注記しておく。
【０００７】
表１を参照すると、ATM Forum Technical Committee's UTOPIA LEVEL 2, Version 1.0 (af-phy-0039.000)の信号要件が纏められている。尚、表１に含まれていないオプション信号が特定されていることに注意すること。
【表１】
0004427214.tif 000002
【０００８】
送信スレーブ・モードでは、UTOPIA信号は次の意味を有する。UXCLK信号は、マスタ処理ユニットによって駆動されるクロック入力信号である。UXDATA信号および送信制御信号は、このUXCLK信号と同期を取られる。UXADDR{4:0}は、マスタ処理ユニットが発生する５ビット・アドレス信号群である。このアドレス信号群は、システムにおける複数（最高で３１個）のスレーブ処理ユニットから１つを選択する際に用いられる。UXCLAV信号は、スレーブ処理ユニットの送信セル可用性状態出力信号である。セル・レベルのハンドシェークでは、０論理レベルは、スレーブ・インターフェース・ユニットが送信のための完全なデータ・セルを有していないことを示し、論理１はスレーブ・インターフェース・ユニットが送信する完全なデータ・セルを有することを示す。UXENB信号は、送信インターフェース・イネーブル信号入力信号である。この信号は、マスタ処理ユニットによってアサートされて低になると、スレーブ処理ユニットが有効なデータの最初のバイト、およびUXSOC（セル開始）信号を次のクロックサイクルで印加すべきことを示す。UXSOC信号は、セル信号（高アクティブ）の開始であり、スレーブ処理ユニットがUXCLK信号の立ち上がりエッジで発生し、セルの最初の有効バイトが送信データ・バス上で得られることを示す。送信中、UXCLKの立ち上がりエッジにおいて、UXDATA{15:0}信号が送信データ・バス上でスレーブ処理ユニットによって供給される。
【０００９】
受信スレーブ・モードでは、URCLK信号はクロック信号であり、マスタ処理ユニットによってインターフェース・ユニットに印加される。受信データおよび制御信号はサンプルされ、このクロック信号に同期する。URADDR{4:0}信号が、マスタ処理ユニットによってインターフェース・ユニットに印加され、システム内におけるスレーブ・ユニット（最高で３１個）の１つを特定する。URCLAV信号は、スレーブ・インターフェース・ユニットからの受信セル可用性出力信号であり、スレーブ・インターフェース・ユニットがマスタ処理ユニットからのセルを受け取るために使用可能な空間を有することを示す。ハンドシェーク手順では、０論理ビットは、マスタ処理ユニットからのデータ・セルを受け取るために使用可能な空間がないことを示す。１論理ビットは、マスタ処理ユニットからのデータ・セルを受け取るために使用可能な空間があることを示す。URENB信号は、マスタ処理ユニットが発生するアクティブ低信号であり、スレーブ処理ユニットの受信インターフェースをイネーブルする。この信号は、スレーブ・インターフェース・ユニットがURDATA信号およびURSOC信号を次のクロック・サイクルの間またはその後にサンプルすることを示す。URSOC信号は、マスタ処理ユニットによって発生され、スレーブ処理ユニットがサンプルするために、データ・セルの最初の有効なバイトが受信データ・バス上で得られることを示す。URDATA{15:0}信号がマスタ処理ユニットによってデータ受信バスに印加され、CLK信号の立ち上がりエッジ上でサンプルされる。
【００１０】
表１からわかるように、マスタ・モードでは、UXCLAV/URCLAVおよびUXENB/URENB信号は、対応するスレーブ・信号と比較すると、方向が逆転されている。方向の逆転は、マスタ・モード・インターフェース・ユニットおよびスレーブ・モード・インターフェース・ユニットが担う役割が異なることの結果である。同様に、UXADDRおよびURADDR信号は、マスタ・モードおよびスレーブ・モード間で方向が逆転する。これは、ポーリングがマスタ・モードから行われるという事実のためである。信号の解釈は変わらない。
【００１１】
図２を参照すると、スレーブ送信モードにおいてUTOPIAインターフェース・ユニット１８に印加する信号およびUTOPIAインターフェース・ユニット１８が発生する信号が示されている。インターフェース・ユニット１８は、２つの素子、即ち、状態機械として作用するプロセッサ１８４、およびバッファ・メモリ・ユニット１８２を含む。プロセッサ１８４は、UXCLK信号、UXADDR{4:0}信号、およびUXENB信号を受け取る。プロセッサ１８４は、UXCLAV信号、UXSOC信号、およびUXDATA{15:0}信号を発生する。プロセッサ１８４は、WRD_RDY信号をバッファ・メモリ・ユニットに印加し、プロセッサ１８４はDATA{31:0}信号およびCLAV信号をバッファ・メモリ・ユニット１８２から受け取る。バッファ・メモリ・ユニット１８２は、WD_WR信号、ADDR{31:0}信号、データ(31:0}信号、およびADDR{31:0}信号を、直接メモリ・アクセス・ユニット１４から受け取る。バッファ・メモリ・ユニット１８２は、EVENT信号を直接メモリ・アクセス・ユニット１４に印加する。
【００１２】
図３を参照すると、図２に示した送信モードにある非同期転送モード・インターフェース・ユニット１４に対する信号の関係を図示するタイミング図が示されている。信号は、UXCLK信号によって同期が取られている。スレーブ・モード非同期転送モード・インターフェース・ユニット１８がそのアドレスをUXADDR{4:0}ライン上で検出した場合、プロセッサはUXCLAV信号を供給し、送信のためにセルが得られるか否かについて示す。現アクティビティの完了後、マスタ処理ユニットはアドレス信号群、UXADDR{4:0}、およびUXENB信号を発生する。次に、スレーブ処理ユニットはUXSOC信号をアサートすることによって、DATA{15:0}信号を搬送する導体を通じて、データを送信する。
【００１３】
図４を参照すると、インターフェース・ユニット１８およびマスタ処理ユニット間、ならびにインターフェース・ユニット１８および直接メモリ・アクセス・ユニット１４間における信号の交換が示されている。インターフェース・ユニット１８のプロセッサ１８４は、URCLK信号、URADDR{4:0}信号、URENB信号、URSOC信号、およびURDATA{15:0}信号をマスタ処理ユニットから受け取る。プロセッサ１８４は、URCLAVをマスタ処理ユニットに印加する。プロセッサ１８４は、DATA{31:0}信号およびWD_WRをバッファ・メモリ・ユニット１８２に印加し、プロセッサ１８４は、CLAV信号をバッファ・メモリ・ユニット１８２から受け取る。バッファ・メモリ・ユニット１８２は、DATA{31:0}信号およびEVENT信号を直接メモリ・アクセス・ユニット１４に印加し、バッファ・メモリ・ユニット１８２は、ADDR{31:0}信号およびWD_RD信号を直接メモリ・アクセス・ユニット１４から受け取る。スレーブ受信モードでは、DATA信号は、プロセッサ１８４からバッファ・メモリ・ユニット１８２に転送され、次いで直接メモリ・アクセス・ユニット１４に転送される。CLAV信号およびWD_WR信号によって、プロセッサ１８４を介してDATA信号をバッファ・メモリ・ユニット１８２に転送することが可能となる。WD_RD信号によって、バッファ・メモリ・ユニット１８２から直接メモリ・アクセス・ユニット１４にDATA信号を転送することが可能となる。
【００１４】
図５を参照すると、図４に示した受信モードにある非同期転送モード・インターフェース・ユニット１４の信号の関係を図示するタイミング図が示されている。信号は、URCLK信号によって同期が取られている。マスタ・プロセッサはADDR{4:0}信号群をスレーブ・プロセッサに印加する。特定されたスレーブ・プロセッサは、適切なCLAV信号によってADDR{4:0}信号に応答する。アクティブなCLAV信号が印加された場合、ADDR{4:0}信号はENB信号と共に再度印加される。スレーブは、SOC信号と共にデータを受信し始める。DATA{15:0}信号は、セルが完全に転送され終わるまで、受信され続ける。
【００１５】
図６を参照すると、マスタ送信モードにおいてインターフェース・ユニット１８が交換する信号が示されている。インターフェース・ユニット１８のプロセッサ１８４は、UXCLK信号およびUXCLAV信号を受け取る。インターフェース・ユニット１８は、UXADDR{4:0}信号、UXENB信号、UXSOC信号およびUXDATA{15:0}信号をスレーブ処理ユニットに印加する。プロセッサ１８４は、WD_RD信号をバッファ・メモリ・ユニット１８２に印加し、プロセッサ１８４は、DATA{31:0}信号およびCLAV信号をバッファ・メモリ・ユニット１８２から受け取る。バッファ・メモリ・ユニット１８２は、EVENT信号を直接メモリ・アクセス・ユニット１４に印加し、バッファ・メモリ・ユニット１８２は、DATA{31:0}信号、ADDR{31:0}信号、およびWD_WR信号を直接メモリ・アクセス・ユニット１４から受け取る。マスタ状態送信状態では、DATA信号は直接メモリ・アクセス・ユニット１４からバッファ・メモリ・ユニット１８２に送信され、次いでプロセッサ１８４を経由して外部素子に送信される。WD_WR信号は、直接メモリ・アクセス・ユニット１４からバッファ・メモリ・ユニット１８２にDATA信号を送信させる。CLAV信号およびWR_RD信号は、DATA信号をバッファ・メモリ・ユニット１８２からプロセッサ１８４に、続いて外部素子に転送させる。
【００１６】
図７を参照すると、図６のマスタ送信状態におけるUTOPIAインターフェース・ユニットのタイミング図が示されている。マスタ送信状態のプロセッサは、UXADDR{4:0}信号を用いて、ラウンド・ロビンまたは固定した優先順でスレーブ・デバイスにポールする。プロセッサ１８４は、プロセッサのアドレスUXADDR{4:0}に続いて、スレーブ・プロセッサからUXCLAV信号を適宜受け取る。次に、マスタ送信プロセッサは、UXCLAV信号を発生したスレーブ・プロセッサのアドレスを、UXENB信号と共に再度印加する。次のクロック・サイクルの間、プロセッサはUXDATA{15:0}信号およびSOC信号のスレーブ・プロセッサへの送信を開始する。セル全体が転送し終えるまで、転送は続けられる。
【００１７】
図８を参照すると、マスタ受信モードにあるUTOPIAインターフェース・ユニットが交換する信号が示されている。インターフェース・ユニット１８のプロセッサ１８４は、URADDR{4:0}信号およびURENB信号をスレーブ処理ユニットに印加し、プロセッサ１８４は、URCLK信号、URCLAV信号、URSOC信号、およびURDATA{15:0}信号をスレーブ処理ユニットから受け取る。プロセッサ１８４は、DATA{31:0}信号およびWD_WR信号をバッファ・メモリ・ユニット１８２に印加し、プロセッサ１８４はCLAV信号をバッファ・メモリ・ユニット１８２から受け取る。バッファ・メモリ・ユニット１８２は、DATA{31:0}信号およびEVENT信号を直接メモリ・アクセス・ユニット１４に印加し、バッファ・メモリ・ユニット１８２はADDR{31:0}信号およびWD_RD信号を直接メモリ・アクセス・ユニット１４から受け取る。
【００１８】
図９を参照すると、図８に示したようなマスタ受信状態にある非同期転送モード・インターフェース・ユニットの信号のタイミング図が示されている。マスタ・プロセッサ１８４は、ADDR{4:0}信号をアドレス・ラインに印加することによって、スレーブ・プロセッサにポールする。スレーブ非同期転送モード・インターフェース・ユニットがデータ信号を受信可能である場合、次のクロック・サイクルの間CLAV信号をアサートする。続くクロック・サイクルの間、CLAV信号を発生したスレーブ・ユニットのADDR{4:0}信号を、ENB信号と共に、再度バスに印加する。マスタ・プロセッサとの現相互作用が完了すると、アドレスされたスレーブ・プロセッサはDATA{31:0}信号およびSOC信号を送信する。DATA{31:0}は、セル全体が転送し終えるまで、送信される。
【００１９】
図１０Ａおよび図１０Ｂを参照すると、マスタ状態データ処理ユニット９１および複数のスレーブ状態データ処理ユニット９２Ａないし９２Ｎを有するデータ処理システムが示されている。図１０Ａでは、マスタ状態データ処理ユニット９１は送信モードにあり、一方スレーブ状態データ処理ユニット９２Ａないし９２Ｎは受信モードにある。図１０Ｂでは、マスタ状態データ処理ユニット９１は受信モードにあり、一方スレーブ状態データ処理ユニット９２Ａないし９２Ｎは送信モードにある。図１０Ａでは、マスタ・データ処理ユニット９１（送信状態にある）はUXCLK、UXADDR、UXENB、UXSOC、およびUXDATA信号を発生し、これらは、スレーブ・データ処理ユニット９２Ａ〜９２Ｎ（受信モードにある）に印加されると、それぞれ、URCLK、URADDR、URENB、URSOC、およびURDATA信号となる。スレーブ・データ処理ユニット９２Ａ〜９２ＮからのURCLAV信号は、UXCLAV信号として、マスタ・データ処理ユニット９１に印加される。図１０Ｂでは、マスタ・データ処理ユニット９１（受信モードにある）は、URCLK、URADDR、およびURENB信号を発生し、これらはスレーブ・データ処理ユニット９１Ａ〜９２Ｎ（送信モードにある）に、それぞれ、UXCLK、UXADDR、およびUXENB信号として印加される。スレーブ・データ処理ユニット９２Ａ〜９２Ｎは、UXCLAV、UXSOC、およびUXDATA信号を発生し、これらは、マスタ・データ処理ユニット９１に、それぞれ、URCLAV、URSOC、およびURDATA信号として印加される。
【００２０】
図１１を参照すると、本発明による、通信バス１１０および直接メモリ・アクセス・ユニット１４間におけるUTOPIAインターフェースの実施態様が示されている。通信バス１１０からのデータは、インターフェース入力ユニット１８１を介して、インターフェース入力バッファ・メモリ・ユニット１８２に転送される。インターフェース入力バッファ・メモリ・ユニット１８２から、直接メモリ・アクセス・ユニット１４を介して、ディジタル信号処理ユニット・チップ１００のメモリ・ユニット（複数のメモリ・ユニット）にデータ信号が転送される。メモリ・ユニットからのデータは、直接メモリ・アクセス・ユニット１４を介して、インターフェース出力バッファ・メモリ・ユニット１８３に転送される。データは、インターフェース出力バッファ・メモリ・ユニット１８３からインターフェース出力ユニット１８４を経由して通信バス１１０に転送される。システム・ロジック１８６は、INTERNAL CLOCK信号（UTOPIA CLK信号と区別する）を受け取り、波形を整形し歪みを除去し、CLOCK信号をUTOPIAインターフェース・ユニット１８の残り部分に分配する。コンフィギュレーション・インターフェース・ユニット１８５は、初期化信号を受け取り、制御信号をUTOPIAインターフェース・ユニット１８の他のユニットに送信することによって、UTOPIAインターフェース・ユニット１８が動作するモードを決定する。これらの制御信号は、インターフェース制御レジスタ１８５１に格納される。
【００２１】
図１２を参照すると、好適な実施形態によるインターフェース制御レジスタの内容が示されている。UREN/UXENフィールドにおいて、論理「０」は受信／送信ポートがディゼーブルされていることを示し、一方論理「１」はインターフェース受信ポートがイネーブルされていることを示す。この表記は、マスタおよびスレーブ・モード双方において当てはまる。URMSTR/UXMSTRフィールドでは、論理「０」はインターフェース・ユニットがスレーブ（デフォルト）モードで動作していることを示し、一方論理「１」はインターフェース・ユニットがマスタ・モードで動作していることを示す。RUDC/XUDCフィールドでは、ユーザ定義（即ち、標準または拡張）データ・セルが受信および送信動作モード双方について指定される。このフィールドは、スレーブ・モードにおいて用いられる。SLID/SLENDフィールドでは、このフィールドはスレーブ・モードで結合されているプロセッサ・ユニットのアドレスを特定する。マスタ・モードでは、このフィールドは、インターフェース・ユニットに結合されたプロセッサの最後の１つを特定する。UPMフィールドでは、このフィールドはポーリングがラウンド・ロビンで行われるかまたは固定アドレスから行われるかを特定する。U16Mフィールドは、入力および出力インターフェース双方について、データ転送が８ビットかまたは１６ビットかを決定する。MPHYフィールドは、インターフェース・ユニットが単一のプロセッサに結合されているか（論理「０」）、または多数のプロセッサに結合されているかを決定する。ULBフィールドは、インターフェース・ユニットがループ・バック・モードであるか否かを決定する。ループ・バック・モード（即ち、論理「１」）では、受信部および送信部が結合され、マスタはURMSTR/UXMSTRフィールドによって決定される。BENDフィールドは、データ転送がビッグ・エンディアン・フォーマットまたはリトル・エンディアン・フォーマットのどちらかを決定する。
【００２２】
図１３を参照すると、（送信）EVENT信号の動作が示されている。ステップ１３００におけるUTOPIAインターフェース・ユニットの送信部分の初期化の後、またはインターフェース・ユニットの連続動作の一部として、ステップ１３０１において、送信バッファ・メモリ・ユニットにおいて完全なデータ・セルの格納空間が得られるか否か判定を行なう。判定が肯定の場合、ステップ１３０２において、送信EVENT信号を直接メモリ・アクセス・ユニットに印加する。EVENT信号の発生に応答して、ステップ１３０３において、直接メモリ・アクセス・ユニットを経由して送信バッファ・メモリ記憶ユニットにデータ・セルを送信する。ステップ１３０４において、データ・セルの転送が開始し、セルの最初のワードが書き込まれると直ちに、EVENT信号はクリアされる。尚、最初のワードが書き込まれ、バッファ・メモリ・ユニットに使用可能な空間がある場合直ちに、EVENT信号は再度アサートされる。EVENT信号を直ちに再度アサートすることによって、インターフェース・ユニットのスループットが向上する。次に、プロセスはステップ１３０１に戻り、データ・セル全体の格納のために送信バッファ・メモリ・ユニット内に使用可能な空間があるか否か判定を行なう。ステップ１３０１における判定が否定の場合、プロセスはステップ１３０１に戻り、データ・セル全体の格納のために空間が使用可能となるまで、プロセスは巡回し続ける。
【００２３】
図１４を参照すると、受信モードにあるUTOPIAスレーブ・インターフェース・ユニットにおけるイベント信号の動作が示されている。ステップ１４００におけるUTOPIAインターフェース・ユニットの受信部分の初期化の後、またはインターフェース・ユニットの当該部分の動作の一部として、ステップ１４０１において、受信バッファ・メモリ・ユニットにおいて完全なデータ・セルが得られるか否か判定を行なう。判定が肯定の場合、ステップ１４０２において受信EVENT信号を発生する。ステップ１４０３において、EVENT信号に応答して、受信バッファ・メモリ・ユニット内のデータ・セルは、直接メモリ・アクセス・ユニットを介して転送される。ステップ１４０４において、データ・セルの転送が開始され、最初のワードが読み込まれると直ちに、EVENT信号はクリアされる。次に、プロセスはステップ１４０１に戻り、完全なデータ・セルが受信バッファ・メモリ・ユニットに格納されるまで、プロセスを繰り返す。
【００２４】
２．好適な実施形態の動作
本発明の非同期転送モード・インターフェース・ユニットは、直接メモリ・アクセス・ユニットとデータ処理システムとの間のインターフェース・ユニットである。一般に、データ処理システムのデータ処理ユニットは全て、UTOPIAプロトコルを用いた非同期インターフェース・ユニットを含むことができ、データ処理ユニットを結合するバスに結合されている。実施態様によっては、データ処理ユニット自体が、非同期転送モード信号を供給するように実施し、当該データ処理システムにおけるインターフェース・ユニットの必要性をなくすことも可能である。非同期転送モードにおけるデータ処理システム間における実際のデータ信号転送は、同じクロックまたは同期したクロック信号の制御下にある。転送されたデータ・セルまたはパケット、あるいはこれから転送されるデータ・セルまたはパケットは、バッファ・メモリ・ユニットに格納される。メモリ・ユニットは、通信バスのクロック周波数と、直接メモリ・アクセス・ユニットのはるかに高い周波数との間におけるバッファとして機能する。
【００２５】
これまでの説明は、バッファ・メモリ・ユニットを含むインターフェース・ユニットについて行なってきた。好適な実施形態では、バッファ・メモリ・ユニットは、先入れ／先出しメモリ・ユニットによって実施される。メモリ・ユニットには、２データ・セルを格納する容量が設けられる。通信バスのために、マスタ・ユニットおよびスレーブ・ユニット間で交換される信号は、比較的遅いクロック速度を有することになる。通信バスの比較的遅いクロック速度のために、通信バスの方向におけるバッファ・メモリの充填および排出は、直接メモリ・ユニットの方向におけるバッファ・メモリの充填および排出よりもはるかに遅くなる。同様に、通信バスと、直接メモリ・アクセス・ユニットが一部をなす処理ユニットとの間におけるクロック速度の差のために、直接メモリ・アクセス・ユニットは、一度に１回のデータ転送しか処理できない。
【００２６】
EVENT信号は、データ・セルの効率的な転送のために特に有用である。UTOPIAインターフェースが一部をなすデータ処理システムの動作は、通信バスを通じてデータを転送可能なレートよりもはるかに高速であるので、送信バッファ・メモリ・ユニットから出るデータ・セルの転送、および受信バッファ・メモリ・ユニットに入るデータ・セルの転送は、本質的に連続とすることができる。
【００２７】
本発明の重要な用途の１つは、ホスト即ちマスタ状態データ処理ユニット（マイクロプロセッサを含む）と少なくとも１つのスレーブ状態データ処理ユニット（通常、ディジタル信号プロセッサを含む）との間におけるデータ信号の転送であるが、この構成は逆にすることができる。加えて、UTOPIA転送モード・インターフェース・ユニットは、バスによって結合されている各ディジタル信号処理ユニットまたは一連のディジタル信号処理ユニットにも付加することができる。ディジタル信号処理ユニットの１つを、マスタ状態機械として選択し、この処理ユニットがディジタル信号プロセッサ全ての動作を制御する。
【００２８】
UTOPIAインターフェース・ユニットは、ＡＴＭセル転送中にSOC信号がセットされると、不完全なＡＴＭセルの転送を特定する。これをラント・セル(runt cell)と呼ぶこともある。ソフトウエアによる解決策では、ラント・セルを上位ソフトウエア手順に転送することによって、ラント・セルを解決することができる。好適な実施形態では、ラント・セルはハードウエア制御の下で新たなデータで上書きされる。
【００２９】
これまでに明記した実施形態に関して本発明の説明を行なったが、本発明は必ずしもこれらの実施形態に限定される訳ではない。したがって、ここには記載されていないその他の実施形態、変形、および改良も、必ずしも発明の範囲から除外されるのではなく、本発明の範囲は特許請求の範囲によって規定されることとする。
【００３０】
以上の説明に関して更に以下の項を開示する。
（１）マスタ状態データ処理ユニットと、
前記マスタ状態データ処理ユニットが非同期転送モード・プロトコル信号を交換する際に用いられる通信バスと、
少なくとも１つのスレーブ状態データ処理ユニットであって、
中央処理ユニットと、
前記中央処理ユニットに結合された直接メモリ・アクセス・ユニットと、
前記中央処理ユニットに結合されたUTOPIAモード・インターフェース・ユニットと、
を含む、スレーブ状態データ処理ユニットと、
を備え、
前記UTOPIAモード・インターフェース・ユニットが、
前記通信バスに結合され、非同期転送モード・プロトコル信号を交換する、プロセッサと、
バッファ・メモリであって、前記直接メモリ・アクセス・ユニットと前記プロセッサとの間でデータ信号をバッファする、バッファ・メモリと、
を有し、
前記バッファ・メモリ・ユニットと前記直接メモリ・インターフェース・ユニットとの間におけるデータ・セルの転送を、イベント信号によって決定する、
データ処理システム。
（２）前記UTOPIAインターフェース・ユニットは、受信モードおよび送信モードで作用可能である、第１項記載のデータ処理システム。
（３）前記バッファ・メモリ・ユニットが先入れ／先出しメモリ・ユニットである、第１項記載のデータ処理システム。
（４）前記プロセッサが、
入力インターフェース・ユニットと、
出力インターフェース・ユニットと、
を含み、前記バッファ・メモリ・ユニットが、
入力バッファ・メモリ・ユニットであって、当該入力バッファ・メモリ・ユニットと前記直接メモリ・アクセス・ユニットとの間の転送を、受信イベント信号によって決定する、入力バッファ・メモリ・ユニットと、
出力バッファ・メモリ・ユニットであって、前記直接メモリ・アクセス・ユニットと前記出力バッファ・メモリ・ユニットとの間の転送を、送信イベント信号によって決定する、出力バッファ・メモリ・ユニットと、
を含む、第１項記載のデータ処理システム。
（５）前記通信バスから前記入力メモリ・ユニットにデータを転送し、前記出力バッファ・メモリ・ユニットから前記出力インターフェース・ユニットを介して前記通信バスにデータを転送する、第４項記載のデータ処理システム。
（６）前記入力バッファ・メモリ・ユニットおよび前記出力バッファ・メモリ・ユニットが、先入れ／先出しメモリ・ユニットである、第５項記載のデータ処理システム。
（７）前記バッファ・メモリ・ユニットが完全なデータ・セルをその中に格納し終えたときに前記受信イベント信号を発生し、前記バッファ・メモリ・ユニットと前記直接メモリ・アクセス・ユニットとの間のデータ転送が開始したときに前記受信イベント信号をクリアし、前記バッファ・メモリ・ユニットが完全なデータ・セルのための空間を有するときに前記送信イベント信号を発生し、前記データ・セルの前記直接メモリ・アクセス・ユニットから前記バッファ・メモリ・ユニットへの転送が開始したときに前記送信イベント信号をクリアする、第４項記載のデータ処理システム。
【００３１】
（８）少なくとも１つのスレーブ状態データ処理ユニットと、
通信バスであって、前記スレーブ状態データ処理ユニットが非同期転送モード・プロトコル信号を交換する際に用いる、通信バスと、
マスタ状態データ処理ユニットと、
を備え、前記マスタ状態データ処理ユニットが、
中央処理ユニットと、
前記中央処理ユニットに結合された直接メモリ・アクセス・ユニットと、
前記中央処理ユニットに結合されたUTOPIAインターフェース・ユニットと、
を含み、
前記UTOPIAインターフェース・ユニットが、
前記通信バスに結合され、非同期転送モード・プロトコル信号を交換するプロセッサと、
バッファ・メモリ・ユニットであって、前記直接メモリ・アクセス・ユニットと前記プロセッサとの間でデータ信号をバッファする、バッファ・メモリ・ユニットと、
を有する、
データ処理システム。
（９）前記プロセッサが、
入力インターフェース・ユニットと、
出力インターフェース・ユニットと、
を含み、前記バッファ・メモリ・ユニットが、
入力バッファ・メモリ・ユニットと、
出力バッファ・メモリ・ユニットと、
を含む、第８項記載のデータ処理システム。
（１０）前記通信バスから前記入力インターフェース・ユニットを介して前記入力バッファ・メモリ・ユニットに前記データを転送し、前記出力バッファ・メモリ・ユニットから前記出力インターフェース・ユニットを介して前記通信バスにデータを転送する、第９項記載のデータ処理システム。
（１１）前記入力バッファ・メモリ・ユニットおよび前記出力バッファ・メモリ・ユニットが、先入れ／先出しメモリ・ユニットである、第１０項記載のデータ処理システム。
【００３２】
（１２）外部データ処理ユニットと直接メモリ・アクセス・ユニットとの間にインターフェースを設けるUTOPIAインターフェース・ユニットであって、
入力バッファ・メモリであって、データ・セルを前記直接メモリ・アクセス・ユニットに供給する、入力バッファ・メモリと、
インターフェース入力ユニットであって、前記外部処理システムから前記入力バッファ・メモリ・ユニットへのデータ・セルの送信を制御する、インターフェース入力ユニットと、
出力バッファ・メモリ・ユニットであって、前記直接メモリ・アクセス・ユニットからデータ・セルを受け取る、出力バッファ・メモリ・ユニットと、
インターフェース出力ユニットであって、前記出力バッファ・メモリ・ユニットから前記外部処理システムへのデータ・セルの送信を制御する、インターフェース出力ユニットと、
を備えるUTOPIAインターフェース・ユニット。
（１３）前記入力バッファ・メモリ・ユニットおよび前記出力バッファ・メモリ・ユニットが先入れ／先出しメモリ・ユニットである、第１２項記載のインターフェース・ユニット。
（１４）前記先入れ／先出しメモリ・ユニットは、少なくとも２つのデータ・セルを格納可能である、第１２項記載のインターフェース・ユニット。
（１５）前記バッファ・メモリ・ユニットからのワード・リード信号に応答して、前記入力バッファ・メモリ・ユニットからのデータを前記直接メモリ・アクセス・ユニットに転送する、第１２項記載のインターフェース・ユニット。
（１６）前記出力バッファ・メモリ・ユニットからのワード・ライト信号に応答して、前記直接メモリ・アクセス・ユニットからのデータを前記出力バッファ・メモリに格納する、第１２項記載のインターフェース・ユニット。
（１７）前記入力バッファ・ユニットからのセル可用性信号に応答して、前記外部処理ユニットから前記入力バッファ・ユニットにデータを転送する、第１２項記載のインターフェース・ユニット。
（１８）前記出力バッファ・メモリ・ユニットからのセル可用性信号に応答して、前記出力バッファ・メモリ・ユニットから前記外部処理ユニットにデータを転送する、第１２項記載のインターフェース・ユニット。
（１９）前記インターフェース・ユニットがスレーブ・モードで動作し、前記入力バッファ・メモリ・ユニットおよび前記直接メモリ・アクセス・ユニットからのデータ・セルの転送が、受信イベント信号によって決定され、前記直接メモリ・アクセス・ユニットから前記出力バッファ・メモリ・ユニットへのデータ・セルの転送が、送信イベント信号によって決定される、第１２項記載のインターフェース・ユニット。
（２０）前記入力バッファ・メモリ・ユニットが完全なデータ・セルをその中に格納し終えたときに前記受信イベント信号を発生し、前記入力バッファ・メモリ・ユニットと前記直接メモリ・アクセス・ユニットとの間のデータ転送が開始したときに前記受信イベント信号をクリアし、前記出力バッファ・メモリ・ユニットが完全なデータ・セルのための空間を有するときに前記送信イベント信号を発生し、前記データ・セルの前記直接メモリ・アクセス・ユニットから前記出力バッファ・メモリ・ユニットへの転送が開始したときに前記送信イベント信号をクリアする、第１９項記載のインターフェース・ユニット。
【００３３】
（２１）マスタ状態データ処理ユニットと、少なくとも１つのスレーブ状態データ処理ユニットとを有するデータ処理システムにおいて、データ処理ユニット間でデータ・セルを転送する非同期転送モード・インターフェース・ユニット１８を、データ処理ユニットに設けることができる。インターフェース・ユニット１８は、UTOPIAプロトコルでフォーマットされた信号を供給および受信する。インターフェース・ユニット１８は、状態機械として作用するプロセッサ１８１，１８４、およびインターフェース・ユニット・プロセッサとデータ処理ユニットの直接メモリ・アクセス・ユニットとの間でデータ群をバッファするバッファ出力メモリ・ユニット１８２，１８３を含む。インターフェース・ユニット１８は、マスタ状態のデータ処理ユニットに対して受信モードおよび送信モードで作用することができ、更にスレーブ状態のデータ処理ユニットに対して受信モード１８１，１８２および送信モード１８４，１８３で作用することができる。イベント信号によって、直接メモリ・アクセス・ユニット１４とバッファ・メモリ記憶ユニット１８２，１８３との間におけるデータ転送の効率的な交換がスレーブ・モードにおいて行われる。
【図面の簡単な説明】
【図１】本発明を効果的に用いることができる汎用データ処理システムのブロック図である。
【図２】本発明による、スレーブ送信モードの非同期転送モード・インターフェース・ユニットが発生する信号および受信する信号を示すブロック図である。
【図３】本発明による、図２に示すスレーブ送信状態にある非同期転送モード・インターフェース・ユニットが受信する信号および発生する信号のタイミング図である。
【図４】本発明による、スレーブ受信状態にある非同期転送モード・インターフェース・ユニットが発生する信号および受信する信号を示すブロック図である。
【図５】本発明による、図４に示すスレーブ受信モードにある非同期転送モード・インターフェース・ユニットが受信する信号および発生する信号のタイミング図である。
【図６】本発明による、マスタ送信状態にある非同期転送モード・インターフェース・ユニットが発生する信号および受信する信号を示すブロック図である。
【図７】本発明による、図６に示すマスタ送信状態モードにある非同期転送モード・インターフェース・ユニットが受信する信号および発生する信号のタイミング図である。
【図８】本発明による、マスタ受信状態にある非同期転送モード・インターフェース・ユニットが発生する信号および受信する信号を示すブロック図である。
【図９】本発明による、図８に示すスレーブ受信状態モードにある非同期転送モード・インターフェース・ユニットが受信する信号および発生する信号のタイミング図である。
【図１０Ａ】マスタ状態データ処理ユニットが送信モードにあり、複数のスレーブ状態データ処理ユニットが受信モードにある場合の非同期転送モードUTOPIAプロトコル信号を示す図である。
【図１０Ｂ】マスタ状態データ処理ユニットが受信モードにあり、複数のスレーブ状態データ処理ユニットが送信モードにある場合の非同期転送モードUTOPIAプロトコル信号を示す図である。
【図１１】本発明によるUTOPIAインターフェース・ユニットの一実施態様を示すブロック図である。
【図１２】本発明によるインターフェース制御レジスタの内容を示す図である。
【図１３】本発明によるUTOPIAインターフェース・スレーブ送信モードにおけるEVENT信号の動作を示すフロー・チャートである。
【図１４】  UTOPIAインターフェース・スレーブ受信モードにおけるEVENT信号の動作を示すフロー・チャートである。
【符号の説明】
１０  中央処理ユニット
１２  メモリ・ユニット
１４  直接メモリ・アクセス・ユニット
１８  UTOPIAインターフェース・ユニット
９１  マスタ状態データ処理ユニット
９２Ａ〜９２Ｎ  スレーブ状態データ処理ユニット
１００〜１０Ｎ  ディジタル信号処理ユニット
１１０  通信バス
１２０  マスタ処理ユニット
１８２  バッファ・メモリ・ユニット
１８３  インターフェース出力バッファ・メモリ・ユニット
１８１  インターフェース入力ユニット
１８４  プロセッサ
１８５  コンフィギュレーション・インターフェース・ユニット
１８６  システム・ロジック
１８５１  インターフェース制御レジスタ
【図１】
0004427214.tif 000003
【図２】
0004427214.tif 000004
【図３】
0004427214.tif 000005
【図４】
0004427214.tif 000006
【図５】
0004427214.tif 000007
【図６】
0004427214.tif 000008
【図７】
0004427214.tif 000009
【図８】
0004427214.tif 000010
【図９】
0004427214.tif 000011
【図１０Ａ】
0004427214.tif 000012
【図１０Ｂ】
0004427214.tif 000013
【図１１】
0004427214.tif 000014
【図１２】
0004427214.tif 000015
【図１３】
0004427214.tif 000016
【図１４】
0004427214.tif 000017