JPH11504741A - 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置 - Google Patents

送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置

Info

Publication number
JPH11504741A
JPH11504741A JP9522754A JP52275496A JPH11504741A JP H11504741 A JPH11504741 A JP H11504741A JP 9522754 A JP9522754 A JP 9522754A JP 52275496 A JP52275496 A JP 52275496A JP H11504741 A JPH11504741 A JP H11504741A
Authority
JP
Japan
Prior art keywords
chip
information word
bus
word
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9522754A
Other languages
English (en)
Inventor
ランドール,ジュニア モート,エル
Original Assignee
サムスン エレクトロニクス カンパニー,リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by サムスン エレクトロニクス カンパニー,リミテッド filed Critical サムスン エレクトロニクス カンパニー,リミテッド
Publication of JPH11504741A publication Critical patent/JPH11504741A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

(57)【要約】 チップ間通信バスの送信端に構成される注文製作の回路が、チップ間通信バスを介して制御パケットを伝送するために必要なクロックサイクル数を減らす。パケットのトランズアクション処理のプロトコルは、チップ間バス上を送られる連続した指令ワード相互の間の関係に基づかせる。これにより、パケット境界の連続したワードに同じデータが入っている場合には、このデータは単一のクロックサイクル内に受信チップが別々の指令ワードとして記憶(セーブ)することができる。これは、新しいパケットが開始されるたびに同期信号を発生することにより、なしとげることができる。好ましい実施例では、統計的に優勢であることがわかっているパケットの最初のワード、最後のワードの一方または両方に対するビットパターンを故意に並置することにより、連続した指令ワードが同じ情報をそなえる確率を大きくする。

Description

【発明の詳細な説明】 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するため の方法および装置 発明の背景 発明の分野 本発明はチップ間バス上でデータを伝送するためのクロックサイクルの総数を 減らすための方法および装置に関するものである。関連技術の説明 たとえば母板(マザーボード)上のチップ間で制御情報および同期情報を伝送 するために、比較的小さなチップ間バス(たとえば、4ビットの制御バス)が多 数の用途で用いられている。たとえば、マイクロプロセッサと一緒に使用するた めのチップ組は一対の集積回路(IC)チップとして、より都合よく製造するこ とができる。第一のチップはプロセッサバスからアドレス信号および制御信号を 受け、他方のチップはプロセッサバスからデータ信号を受ける。第一のチップは チップ間バスを介して第二のチップ上のデータ伝送を制御する。 このようなチップ間バスと一緒に通常、従来の制御信号伝送プロトコルが使用 される。これにより、送信チップから一つ以上の受信チップに制御信号を転送す ることができる。従来のプロトコルによれば、チップ間制御バスを介して送られ る指令(コマンド)はパケット形式で送信される。このパケット形式では、各指 令パケットに一つ以上の指令ワードが含まれ、その前にプリアンブルワードおよ びパケット型符号ワードが配置される。制御信号の転送は同期信号により同期し て行われる。チップ間指令バスに指令データが転送されていないときは通常、新 たな指令パケットが送られるまでバスにアイドルワードが送出される。 送信チップからチップ間バスを介して受信チップに指令信号を転送しようとす るたびごとに、送信チップはバス上にパケット開始指令ワードを送出しなければ ならない。そのとき、バス上のデータが有効な指令パケットの開始を表すという ことを示すために、同期信号が作成される。同期信号は通常、パケット開始ワー ドと同じクロックサイクルで送られる。プリアンブルは時には、パケット開始ワ ードより前のクロックサイクルで送られる。したがって受信チップは、指令に応 答する前に、まずプリアンブルを記憶(セーブ)しなければならない。コマンド パケットの残りを送る前にプリアンブルを送るために各パケットの開始時に1つ の追加クロックサイクルが要求されることが分る。 発明の要約 インタフェースを介して送られる指令パケットを重なり合わせることにより通 信待ち時間を短縮できるということを、本発明の発明者は見出した。本発明の一 つの側面による好ましい実施例は、チップ間通信バスを介した情報の通信のため に必要とされるクロックサイクル数を減らす方法である。チップ間通信バスは送 信チップと受信チップとの間に接続される。この方法には、第一の時間間隔内に チップ間バス上に第一の情報ワードを出力すること、連続する第二の時間間隔の 間に第一の情報ワードを利用できるように、第一の時間間隔内に第一の情報ワー ドを送信チップの中に記憶すること、第一の時間間隔内に受信チップで第一の情 報ワードを受信すること、第一の時間間隔内に受信チップで第一の情報ワードを 記憶して、連続した第二の時間間隔の間に利用できるようにすること、第二の時 間間隔内に送信チップ内で第二の情報ワードを発生し、第二の時間間隔の間に送 信チップ内で記憶された第一の情報ワードを第二の情報ワードと比較すること、 および記憶された第一の情報ワードが第二の情報ワードと同じである場合には、 第二の時間間隔の間に第二の情報ワードの代わりにチップ間バス上に第三の情報 ワードを出力し、記憶された第一の情報ワードが第二の情報ワードと同じでない 場合には、第二の時間間隔の直後の第三の時間間隔に第三の情報ワードを送るこ とのステップが含まれる。 好ましい実施例では、第一の情報ワードが第二の情報ワードと同じになる確率 を大きくするように第一の情報ワードが規定される。 もう一つの好ましい実施例では、第一の情報ワードに指令ワードまたはアイド ルワードが含まれ、第二の情報ワードに指令パケット処理に対するプリアンブル が含まれ、そして第三の情報ワードにパケット型符号が含まれる。 更にもう一つの好ましい実施例では、各時間間隔の継続時間が1クロック周期 である。 代替実施例では、各時間間隔の継続時間が複数のクロック周期である。 もう一つの側面によれば、本発明の好ましい実施例に、チップ間バス上の情報 パケット処理の間のクロックサイクルを節約するための装置が含まれる。この装 置には、出力ならびに第一および第二の入力をそなえた選択回路が含まれる。出 力はチップ間バスと通じており、選択回路は選択信号に応答して第一および第二 の入力の一方を出力として選択する。装置には更に、第一の時間間隔の間にチッ プ間バス上へ出力される第一の情報ワードを記憶する選択回路の出力と通じてい る一時記憶回路、および選択回路の第一の入力と通じている第一の入力および一 時記憶回路と通じている第二の入力をそなえた比較回路も含まれている。比較回 路は、一時記憶回路の中に記憶された第一の情報ワードと選択回路の第一の入力 上の第二の情報ワードとを第二の時間間隔の間に比較する。比較回路は更に、第 一および第二の情報ワードが実質的に同じ情報を含んでいるとき、第二の時間間 隔の間、選択回路により第二の情報ワードの代わりに選択回路の第二の入力上の 第三の情報ワードを出力させる。 好ましい実施例では、選択回路がマルチプレクサを含み、一時記憶回路がレジ スタを含む。 更にもう一つの実施例では、第一および第二の情報ワードが同じビットパター ンをそなえているとき、比較回路は選択回路により選択回路の第二の入力上の第 三の情報ワードを出力させる。 もう一つの実施例では、各時間間隔の継続時間が1クロック周期であるか、ま たはその代わりに各時間間隔の継続時間が複数のクロック周期である。 更にもう一つの側面によれば、本発明の好ましい実施例は、チップ間バス上で データ処理を完了するために必要なクロックサイクル数を低減するための装置で ある。この装置には、第一および第二の入力から出力を選択するための手段が含 まれている。その出力はチップ間バスと通じている。装置には更に、第一の時間 間隔の間に第一の情報ワードを記憶するための手段が含まれている。その記憶手 段は選択手段の出力と通じている。最後に、装置には、記憶手段の中に記憶され た第一の情報ワードと選択手段の第一の入力上の第二の情報ワードとを第二の時 間間隔の間に比較する手段が含まれている。その比較手段は、第一および第二の 情報ワードが実質的に同じ情報を含んでいるときには第二の時間間隔の間、選択 手段により第二の情報ワードの代わりに選択手段の第二の入力上の第三の情報ワ ードを出力させる。 図面の簡単な説明 第1図はチップ間指令バスによって接続された集積回路チップを含むコンピュ ータシステムの概略ブロック図である。 第2図はチップ間通信バスに沿ったクロックサイクルを節約するための本発明 の機構を説明する、第1図の送信チップの内部回路の一部の概略ブロック図であ る。 第3A−3C図はチップ間通信バスを介して送られる指令パケットに対する有 効な伝送時間を示し、本発明の利点を説明するタイミング図である。 第4図は本発明の教示による早期プリアンブルの作成について第2図のステー トマシンの動作を表す状態図である。 実施例の詳細な説明 第1図は本発明を組み込むことができる典型的なコンピュータシステム100 の概略ブロック図である。コンピュータシステム100には、マイクロプロセッ サ102が含まれる。チップ組107はPCIバス108を介してPCIマスタ およびスレーブ109と通信する。更にチップ組107はメモリバスのデータ部 分112ならびにアドレスおよび制御部分114を介してメモリ(たとえば、D RAM)116と通信する。したがってチップ組107はコンピュータシステム 100の中でマイクロプロセッサバスからメモリバスへのブリッジとして動作す る。もちろん、第1図に示されたコンピュータシステム100は本発明を説明す る際の明快さのために非常に簡略化されていることは熟練した当業者には明らか であろう。 図示するように、チップ組107には一対の集積回路(IC)チップ110、 112が含まれている。チップ110、112はコンピュータシステム100の 中の母(基)板上のチップ間通信バス130によって接続される。一実施例では 、チップ間通信バス130に5ビットの制御バスが含まれる。この5ビットの制 御 バスを使用して送信チップ110から受信チップ120に指令信号が転送される 。一実施例では、この5ビットの制御バスに実際には5本の線が含まれる。この 中で、4本の線は指令ワードのために取って置かれ、第五の線は同期信号のため に取って置かれる。本発明の一実施例に対しては4ビットのバスが都合がよく、 また他の特定の用途の要求に応じて、より少数のバスまたはより多くのバスを使 用してもよいことは、熟練した当業者には明らかであろう。この実施例では、チ ップ組107は二つのチップに分けられる。チップ組107をPCIバス108 およびマイクロプロセッサバス105と接続するために必要とされるピン数は、 単一の集積回路ではコストの点で手が出せないものとなるからである。チップ組 107のIC120はマイクロプロセッサバス105からのデータ線を受け、チ ップ組107のIC110はマイクロプロセッサバス105からのアドレスおよ び制御線を受ける。マイクロプロセッサバス105と同様に、PCIバス108 のデータ信号はチップ組107の中のチップ120へ伝送されるか、またはそれ から伝送され、アドレスおよび制御信号はチップ110へ伝送されるか、または それから伝送される。同様に、アドレスおよび制御の情報はバス114を介して メモリ116とIC110との間で交換され、データ情報はバス112を介して メモリ116とIC120との間で交換される。 動作について説明する。マイクロプロセッサ102は母基板上の他のシステム へデータ、アドレス、および指令信号を送信し、また他のシステムからデータ、 アドレス、および指令の信号を受ける。チップ組107はマイクロプロセッサか らメモリへのブリッジとして動作するので、マイクロプロセッサ102から転送 されるデータ、アドレス、および指令はそれぞれメモリバス部分112、114 およびPCIバス108を介してメモリ116ならびにPCIマスタおよびスレ ーブ109に効率的に伝えられ得る。同様にチップ組107は、マイクロプロセ ッサバス105およびメモリバス112、114を介してPCIマスタ109か らマイクロプロセッサ102およびメモリ116に転送される信号に対するイン タフェースとして動作する。IC110はマイクロプロセッサバス105および PCIバス108からアドレスおよび指令の信号を受け、IC120はマイクロ プロセッサバス105、メモリバスのデータ部分112、およびPCIバス10 8からデータ信号を受ける。 第2図はチップ間通信バス130に沿ったデータ転送の間のクロックサイクル を節約するために本発明の一実施例で使用される回路を示すチップ110および 120の内部回路の部分の概略ブロック図である。第2図に示されるように、マ ルチプレクサ回路220はチップ間バス130を介して送られるべきパケットデ ータを選択する。 パケットのPREAMBLE入力207、PACKET_TYPE入力240 、およびMODIFIER入力212はマルチプレクサ回路220の別々の入力 としての役目を果たす。マルチプレクサ回路220は、チップ間バス130を介 して送られるべき各指令パケットを形成するための必要に応じて各入力207、 240、および212を選択する。マルチプレクサ220の出力は、選択バス2 38を介してステートマシン230によって制御される。 ステートマシン230はバス240を介してPACKET_TYPE入力を受 け、線242を介してNEW_REQUEST入力を受ける。PACKET_T YPE入力はチップ間バス130を介して転送されるべきデータの種類を示し、 NEW_REQUEST入力242は受信チップ120が次の指令パケットに対 するPREAMBLEを受ける準備ができているということを示す。NEW_R EQUEST線242はANDゲート241の出力に接続されている。ANDゲ ート241は線243を介して第一の入力を受ける。バス240および線243 はIC110内部の回路と接続されている。ステートマシン230は線244を 介してIC110の中の回路への、次のパケットに対する準備完了信号RDYの 出力も行う。これは、ステートマシン230がIC110の中の回路からの次の 指令パケットを受けて処理する準備ができているということを示す。線244は ANDゲート241の第二の入力となる。 マルチプレクサ220の出力はドライバ250を介して制御バス130に接続 されている。更に、マルチプレクサ220の出力はレジスタ255に接続されて いる。レジスタ255の出力は比較回路260の第一の入力となる。更に、PR EAMBLE207の入力は比較回路260の第二の入力として与えられる。比 較器260の出力は線265を介してステートマシン230にPREAMBLE _SENT入力として供給される。ステートマシン230は更に、ドライバ27 0を介して同期出力SYNCを供給する。 第2図に示されるように、受信チップ120には受信レジスタ280が含まれ ている。受信レジスタ280はチップ間バス130からの前のクロックのデータ を保持する(すなわち遅延させる)。バス290上の遅延したデータ、ならびに バス295および線296上のバッファ介したチップ間データはチップ120内 部の回路に伝えられる。これらのデータは受信チップ120内の回路の制御入力 としての役目を果たす。 動作について説明する。ステートマシン230がRDY信号244を送出して ステートマシン230が次のパケットを処理できることを示し、チップ110内 の回路が線243でNEW_TASK信号を送出すると、線242でNEW_R EQUEST信号が送出され、次の指令パケットに対するPREAMBLE、P ACKET_TYPE、およびMODIFIERがチップ間バス130で出力す るために利用できるということを示す。 選択バス238を介したステートマシン230の制御のもとに、マルチプレク サ220はPREAMBLE入力、PACKET_TYPE入力、またはMOD IFIERの中の一つを選択する。PREAMBLEデータにはたとえば、IC 120の中でデータをその中に転送すべきバッフア番号を含めることができる。 一方MODIFIERには、受信ICチップ120の中のバッフア内に転送すべ き制御データが含まれる。PACKET_TYPEには、送られている指令に関 する情報が含まれている。一実施例では、PACKET_TYPEは指令の型( すなわち、PCI読み出し、メモリ書き込み等)を表す。もう一つの実施例では 、PACKET_TYPEはパケット長さを規定する(すなわち、PREAMB LEを含むか否か、および予想されるMODIFIER数を含む)。一つの好ま しい実施例では、最も一般的な動作は最も短いパケットに対応し、更にもう一つ の好ましい実施例では、PACKET_TYPEの受信時間は受信ICチップ1 20がプロセスを開始または終了すべきであるという表示である。 マルチプレクサ220の出力はドライバ250を介して制御バス130に送出 される。チップ間バス130上に存在するデータは次に、次のクロックサイクル の発生でレジスタ280に記憶される。更に、出力は1クロックサイクルの間、 レジスタ255の中に記憶される。レジスタ255の中にマルチプレクサ220 の出力を記憶するために必要とされる時間内に、マルチプレクサ220によりも う一つの信号がドライバ250を介してチップ間バス130に送出される。 レジスタ280がチップ間バス130上のデータをクロックで入れるのと同じ クロックサイクル内に、レジスタ255の出力がPREAMBLE入力207と 比較される。すなわち、PREAMBLEが比較回路260に第一の入力として 与えられ、レジスタ255の出力を1クロックサイクル遅延させたものが比較回 路260に第二の入力として与えられる。したがって比較回路260の中で、P REAMBLEが制御バス130上に出力された前のクロックサイクルのパケッ ト指令ワードと比較される。PREAMBLEがレジスタ255の中に記憶され たデータと同じであれば、比較回路260によりPREAMBLE_SENT信 号が送出され、線265を介してステートマシン230に制御入力として与えら れる。 ステートマシン230がNEW_REQUEST信号242を受け、そして線 265上の比較(すなわち、PREAMBLE_SENT)が妥当であることに より、前のクロックサイクルのチップ間バスの指令ワードとチップ間バス130 上に出力すべき新しいパケットのPREAMBLEとが同じであることが表され ているときは、ステートマシン230からドライバ270を介してSYNC信号 が送出され、選択バス238を介してチップ間バス130に伝送するためにPR EAMBLEの代わりにPACKET_TYPEが選択される。ステートマシン 230が入力242でNEW_REQUEST信号を受けたとき線265にPR EAMBLE_SENTが送出されていなくて、入力240のPACKET_T YPEがその指令パケットにPREAMBLEを必要とする型であるとステート マシン230が識別した場合には、チップ間バス130にマルチプレクサ220 が出力すべきものとしてステートマシン230が選択バス238を介してPRE AMBLE207を選択する。 ドライバ270を介して線271にSYNCパルスが出力されるたびに、チッ プ間バス130上にはPACKET_TYPEが存在する。チップ120はデー タパケットの処理が開始したことを示す制御信号として、SYNCパルスを受け る。SYNCパルスを受けると、ICチップ120の中の回路はレジスタ280 の中に記憶されたデータをデータパケット処理のPREAMBLEと判断するが 、バス295上に現在存在するデータはPACKET_TYPEと判断される。 このように、(レジスタ280とレジスタ255はともに、前のクロックサイク ルにチップ間バス130に印加されたデータを記憶するので)レジスタ280の 中のデータはレジスタ255の中のデータと同じであり、そしてレジスタ255 の中のデータはPREAMBLEと同じであるので、レジスタ280の中のデー タはPREAMBLEと同じになる。このようにして、新しいPREAMBLE の中のデータがチップ間バスのIDLEパターンと同じであるか、または前のパ ケットの最後のワードと同じである場合には、新しいパケットのPREAMBL Eを送る必要はないので、全体のデータ・トランズアクション処理のクロックサ イクルが節約される。 第3A図から第3C図は、本発明の教示に従ってクロック周期を節約する方法 をより明確に説明するタイミング図である。第3A図は、本発明の利点を組み入 れないチップ間バス上の従来の信号タイミングを示す。第一の信号302はIC チップ110、120の中のパケットデータワードをクロッキングするために使 用される同期クロックを表し、信号304はチップ間バス130の4ビットのC MD部分に存在する(すなわち、SYNC線上に存在する信号以外の)パケット データワードを表す。最後に、信号306はチップ間バス130上を伝送される SYNC信号を表す。チップ間バス130上に出力される各パケットCMDワー ドは、1クロック周期全体の継続時間の間、存在する。したがって、送信ICチ ップ110と受信ICチップ120との間で通信するために、パケット内のCM Dワード数と同数のクロック周期が必要とされる。 たとえば、第3A図に示されるようにチップ間バス130は、次のクロックサ イクルの中のPREAMBLE(たとえば、後続の処理のデータをそれに転送す べきバッファを表すバッファ番号)が印加されるまでの2クロック周期の間、ア イドルとなる。以後のクロックサイクルを使用して、(指令の型等を示す)PA CKET_TYPEおよび(更に指令を規定する)MODIFIERワードが転 送される。 第3A図に示されるPREAMBLEワードの出力から始まって、最後のMO DIFIERワードがチップ間バス130上に出力されるまでに、合計3クロッ クサイクルが発生する。PREAMBLEに続くPACKET_TYPEがチッ プ間バス130上に出力されたと判定されたとき、新しいパケットの存在を示す ためにSYNC信号306が出力される。前に簡単に説明したように、バス29 0および295でPREAMBLEおよびPACKET_TYPEを受信したこ とをSYNCが受信チップ120に警告する。その後、受信チップ120は次に バス295上にあるデータをCMDパケット内の残りのCMDワード(存在する 場合には)と判断する。たとえば、第3A図に示されるように、PACKET_ TYPEの後に一つのMODIFIERワードが続く場合には、PACKET_ TYPEは次のCMDワードが同じCMDパケットに属することを示すので、受 信チップ120は次のクロックサイクルのバス295上のCMDワードを予想さ れたMODIFIERデータとして読み取る。 第3B図は、本発明の教示により第3A図に示された従来のプロトコルに比べ て1クロックサイクル節約する一つの方法を示す。詳しく述べると、チップ間バ スで転送されるCMDワード相互の関係を考慮することにより、単一のクロック サイクルの継続時間内に受信ICチップに複数のCMDワードを送出してもよい ということを発明者は見出した。特に第3B図に示すように、最後のアイドルワ ードの終わりからチップ間バス130上に最後のMODIFIERワードが出力 されるまで、合計2クロックサイクルが発生する。PREAMBLEがアイドル ワードと同じである場合にはPREAMBLEを送る必要はないので、2クロッ クサイクルだけが発生する。前に第2図で説明したように、PREAMBLEと チップ間バス130上に前に送られたCMDワードとの比較が行われる。PRE AMBLEがすぐ前のCMDワード(すなわち、この場合にはアイドルワード) と同じである場合には、SYNCの送出と一緒に、PACKET_TYPEワー ドがPREAMBLEの代わりに送出される。このようにして、早期SYNCが 送出されるので、CMDワードの完了には2クロックサイクルしか必要としない 。アイドルワードがPREAMBLEと同じであると判定するということは、受 信 チップ120もすぐ前のIDLEワードをレジスタ280に記憶するので、レジ スタ280の中のデータがPREAMBLEと同じであるということを意味する 。したがって、受信チップ120はPREAMBLEがすぐ前のクロックサイク ルで送られたかのように動作する。このようにしてPREAMBLEを、そのP REAMBLEを伝送すべきであったクロックサイクルより前に伝送されたアイ ドルワードに置き換えることができる。したがって、PREAMBLEをPAC KET_TYPEに置き換えることにより、CMDパケット全体で1クロックサ イクルを節約することができる。すなわち、PREAMBLE207(第2図参 照)により示されるバッファ番号をバス130上に転送する必要はない。バス1 30上に既に存在するアイドルワードを使用してバッファ番号を置き換えたから である。したがって、ステートマシン230はマルチプレクサ220を制御して バッファ番号の代わりにPACKET_TYPEを選択するので、次のクロック 周期の間に受信ICチップ120はPREAMBLEとPACKET_TYPE の両方に対して動作することができる。 本発明の一つの側面によれば、アクセスされる可能性が最も高いバッファ番号 がアイドルワード(以後、省略デフォルト値PREAMBLEとも表す)と同じ ビットパターンをそなえるものと規定される。したがって、このバッファが選択 されるたびに、すぐ前のアイドルワードと同じクロックサイクルで受信ICチッ プ120の中のレジスタにクロックで記憶することができる。本発明の特に有利 な実施例では、アイドルワード符号をデフォルト値バッファ番号に対応するよう に修正することにより、PREAMBLEとアイドルワードとの合致の可能性を 高める。もちろん、PREAMBLEの中のバッファ番号がアイドルワードと同 じでない場合には、付加的なクロックサイクルが発生した後でないと、バッファ 番号を受信ICチップ120内にラッチすることができない。しかし第3B図に 示されるように、(PREAMBLEの第一の部分を含む)バッファ番号がアイ ドルワードと同じである場合には、アイドルワードがバッファ番号の代わりの役 目を果たせるので、PACKET_TYPEと同じクロックサイクル内に直ちに SYNC信号を送出することができる。 第3C図は、連続的なCMDパケットが発生し、第二のCMDパケットのPR EAMBLEが第一のCMDパケットの最後のCMDワードと同じビットパター ンをそなえる場合を示す。第3C図に示されるように、前のCMDパケットの最 後のワードが受信チップ120に送られた直後にSYNCが作成される。この最 後のパケットワードは新しいパケットのPREAMBLEと同じビットパターン をそなえているので、SYNCが送出されている間、マルチプレクサ220はプ リアンブルの代わりにPACKET_TYPEを出力する。したがって、第一の CMDパケットの終わりから第二のCMDパケットの終わりまで2クロックサイ クルだけが生じる。これに反して(PREAMBLEとして第一のパケットの最 後のワードを使用しないで)PREAMBLEを別個に送ったとすれば、第二の CMDパケットを完了するのに3クロックサイクルが必要になる。 第一のCMDパケットの内容がパケットの長さを規定したので、いつ最後のC MDワードが295上に存在するかを受信ICチップ120が判定するのは困難 でない。更に、送出されたSYNCをチップ120が受信すると、チップ120 はレジスタ255の中に含まれる情報を新しいCMDパケットのPREAMBL Eとみなす。このように、受信チップ120はバス295上の情報を2度使用す る。一度は前のクロックで(バス295上でサンプリングされた)第一のCMD パケットの最後のCMDワードとして、一度は(バス290上でサンプリングさ れた)第二のCMDパケットに対するPREAMBLEとしてである。 第3C図に示された場合についてICチップ110の中の回路の動作を以下、 更に詳しく説明する。第一のCMDパケットの最後のCMDワードがマルチプレ クサ220から出力されたとき、このCMDワードがレジスタ255の中に記憶 され、バス207の比較回路に与えられた次のPREAMBLEと比較される。 PREAMBLEワードがすぐ前のCMDワードと同じであると比較回路の中で 判定された場合には、線265に比較信号が発生し、ステートマシン230に印 加され、これによりステートマシン230はマルチプレクサ220にPREAM BLEではなくPACKET_TYPEを出力させる。同時に、ステートマシン 230はドライバ270を介して1クロック周期の間、SYNCを送出する。こ のようにして、第一のCMDパケットの最後のCMDワードは第二のCMDパケ ットのバッファ番号としての役目を果たす。このようにして、連続的なパケット 伝送の間、1クロックサイクルが節約される。 第4図は本発明の教示に従う早期PREAMBLEの発生についてのステート マシン230の動作を表す状態図である。実際には、ステートマシン230は送 信チップ110の中の他の素子の制御も行うが、本発明の説明を明確にするため に、第4図の概略状態図にはステートマシン230の機能は表されていない。 RESETの開始により、ステートマシン230はIDLE状態400に入る 。ステートマシン230がIDLE状態400にあるとき、これはステートマシ ン230が付加的なCMDパケットを受けて、4ビットのCMDバス130上に 出力する準備ができているということを示す。ステートマシン230は、IDL E状態400に戻る状態遷移経路410によって表されるように、三つの異なる 条件下でIDLE状態400にとどまる。 第一の条件下では、NEW_REQUEST信号(すなわち、線242に印加 される信号)が送出されないとき、ステートマシン230はIDLE状態400 にとどまり、バス130の4ビットのCMDバス部分上に指令としてデフォルト 値PREAMBLEを出力する。すなわち、新しい要求が行われないとき、ステ ートマシン230はPREAMBLE207を選択して、マルチプレクサ220 およびドライバ250を介してCMDバス130に出力する。PREAMBLE は最も一般的にアクセスされるバッファに等しく設定するのが都合がよい。これ により、次の実際のPREAMBLEが前のクロックサイクルで送られたデータ に等しい可能性がより高くなる。 ステートマシン230がIDLE状態400にとどまるもう一つの条件は、P REAMBLE_REQD信号が送出され(CMDバス130上に送られるべき 新しいCMDパケットに対してPREAMBLEが必要であるということをステ ートマシン230に示し)、そしてPREAMBLE_SENT信号が送出され ない(すなわち、前のクロック周期にバス130上に送られたCMDワードがバ ス207上のPREAMBLEに等しくなかったということを示す)ときである 。したがって、PREAMBLEが必要とされ、前のクロックサイクルに指令バ ス130上にあるCMDワードは適当なPREAMBLEとしての役目を果たさ ないので、バス207上のPREAMBLEがCMDバス130上に伝搬し得る よ うにする選択信号をステートマシン230がマルチプレクサ220に線238を 介して送出する。このようにして、送出されるCMDワードはPREAMBLE に等しい。 ステートマシン230がIDLE状態400にとどまる最後の条件は、1)P REAMBLE_REQD信号が送出されないか、またはPREAMBLE_S ENT信号が送出される、そして2)MODIFIER_REQD信号が送出さ れない間にNEW_REQUEST信号が送出されるときである。すなわち、1 )PREAMBLEが必要でないか、または前のクロックサイクルにバス130 上にあるCMDワードが送られるべきPREAMBLEに等しく、そして2)要 求されている新しいパケットはMODIFIERワードをそなえていないので、 これは現在のパケットがPREAMBLEを必要とした場合にはこのPREAM BLEが前のクロック周期に既に送出されたということ、そして現在のパケット が現在のPACKET_TYPEのCMDワードで終わるということを示す。し たがって、ステートマシン230は新しいパケットを受け入れて、次のクロック 周期にCMDバス130上に転送することができる。したがって、ステートマシ ン230はIDLE状態400にとどまる。 ステートマシン230がIDLE状態400にとどまる最後の条件下では、ス テートマシン230はマルチプレクサ220およびドライバ250を介してPA CKET_TYPEをCMDバス130上に送出させる。更に、線244上にR DY信号も送出されている間に、SYNC信号がドライバ270を介して送出さ れる。 1)PREAMBLEが必要とされないか、または前のクロックサイクルにバ ス130上に存在するCMDワードが送られるべきPREAMBLEに等しくな かった、そして2)MODIFIERワードを必要とする新しい要求がなされた ということが判定されるたびごとに、ステートマシン230は遷移経路430を 介してIDLE状態400からBSY(ビジー)状態420に遷移する。すなわ ち、1)PREAMBLE_REQD信号が送出されないか、またはPREAM BLE_SENT信号が送出される場合、そして2)CMDパケットに一つ以上 のMODIFIERワードが含まれているということをPACKET_TYPE が示している間に線242上にNEW_REQUEST信号が送出される場合に 、ステートマシン230はIDLE状態400からBSY状態420に遷移する 。したがってこれは、ドライバ270を介してSYNC信号も送出される間にマ ルチプレクサ220およびドライバ250を介してPACKET_TYPE24 0をCMDバス130上に出力すべきであるということを示す。更に、MODI FIER_PTR(これは現在のパケットのPACKET_TYPEの後のMO DIFIERワード数を計数するためのカウンタにロードされる値である)が1 に設定される。ステートマシン230はBSY状態(すなわち、現在のパケット の転送が完了するまでステートマシン230が新しい要求を処理することができ ない状態)に遷移する。 LAST_MODIFIER信号が送出されない間(すなわち、パケットの最 後のCMDワードがCMDバス130上に出力されていないということを示す信 号が真でない間、遷移経路440で表されるように、ステートマシン230はB SY状態420にとどまる。経路440に沿って遷移が行われるたびごとに、次 のCMDワード(すなわち、バス212からの次のMODIFIERワード)が マルチプレクサ220およびドライバ250を介して指令バス130上に送出さ れる。更に、現在のパケットの最後のMODIFIERワードに達するまで、M ODIFIER_PTRが増加させられる。パケットの最後のワードがバス13 0上に送出されると、ステートマシン230は状態遷移経路450を介してBS Y状態420からIDLE状態400に戻る。第4図に示されるように、経路4 50に沿った遷移は、LAST_MODIFIER信号が送出されるときに生じ る。これにより、ステートマシン230が線244に沿ってRDY信号を送出す る間、CMDバス130上に出力されるMODIFIERワードが現在のパケッ トの最後のCMDワードに等しくなる。 以上、本発明を詳しく説明してきたが、上記の説明は説明のためのものであり 、発明を限定するものではないことが理解されるべきである。趣旨または中心的 な特徴を逸脱することなく本発明に対して多数の明らかな変形を加え得ることは 、通常程度に熟練した当業者には理解されよう。たとえば、CMDワードのビッ ト数がより少ないチップ間バスと一緒に具体化したときに同じCMDワードをそ な える可能性がより大きくなるので本発明が最も有効であるが、実際には6ビット 以上のオーダのバスも本発明に従って具体化できることは、通常程度に熟練した 当業者には理解されよう。更に本発明は、チップ間の単一の信号線を介してパケ ットのCMDワードが直列に送られるワード直列方式で本発明を具体化できる。 この場合には、SYNC信号が新しいパケットの存在を表すとともに、CMDワ ードの境界情報を与える。もう一つの具体化では、SYNC信号の存在を表すた めに独特のCMDワードパターンを取って置くことができるので、別個のSYN C線が不要となる。もう一つの具体化では、より高いクロック速度の動作が行え るように、送信チップ、受信チップの一方または両方にパイプラインレジスタを 含めることができる。したがって、本発明の範囲は次の請求の範囲にかんがみて 判断するべきである。

Claims (1)

  1. 【特許請求の範囲】 1.送信チップと受信チップとの間に接続されたチップ間通信バス上で情報パ ケットの通信を行うために必要なクロックサイクル数を減らす方法において、以 下のステップを含むクロックサイクル数低減方法: 第一の時間間隔内に前記チップ間バス上に第一の情報ワードを出力すること、 連続する第二の時間間隔の間に前記第一の情報ワードを利用できるように、前 記第一の時間間隔内に前記第一の情報ワードを前記送信チップの中に記憶するこ と、 前記第一の時間間隔内に前記受信チップで前記第一の情報ワードを受信するこ と、 前記第一の時間間隔内に前記受信チップで前記第一の情報ワードを記憶して、 連続した第二の時間間隔の間に利用できるようにすること、 前記第二の時間間隔内に前記送信チップ内で第二の情報ワードを発生し、 前記第二の時間間隔の間に前記送信チップ内で前記の記憶された第一の情報ワ ードを前記第二の情報ワードと比較すること、および 前記の記憶された第一の情報ワードが前記第二の情報ワードと同じである場合 には、前記第二の時間間隔の間に前記第二の情報ワードの代わりに前記チップ間 バス上に第三の情報ワードを出力し、前記の記憶された第一の情報ワードが前記 第二の情報ワードと同じでない場合には、前記第二の時間間隔の直後の第三の時 間間隔に前記第三の情報ワードを送ること。 2.請求項1のクロックサイクル数低減方法において、第一の情報ワードが第 二の情報ワードと同じになる確率を大きくするように前記第一の情報ワードが規 定されるクロックサイクル数低減方法。 3.請求項1のクロックサイクル数低減方法において、前記第一の情報ワード に指令ワードまたはアイドルワードが含まれ、前記第二の情報ワードに指令パケ ット処理に対するプリアンブルが含まれ、そして前記第三の情報ワードにパケッ ト型符号が含まれるクロックサイクル数低減方法。 4.請求項1のクロックサイクル数低減方法において、各時間間隔の継続時間 が1クロック周期であるクロックサイクル数低減方法。 5.請求項1のクロックサイクル数低減方法において、各時間間隔の継続時間 が複数のクロック周期であるクロックサイクル数低減方法。 6.チップ間バス上の情報パケット処理の間のクロックサイクルを節約するた めの装置において、 出力ならびに第一および第二の入力をそなえた選択回路であって、前記出力が 前記チップ間バスと通じており、選択信号に応答して前記第一および第二の入力 の一方を出力として選択する選択回路、 第一の時間間隔の間に前記チップ間バス上へ出力される第一の情報ワードを記 憶する前記選択回路の前記出力と通じている一時記憶回路、および 前記選択回路の前記第一の入力と通じている第一の入力および前記一時記憶回 路と通じている第二の入力をそなえた比較回路であって、前記一時記憶回路の中 に記憶された前記第一の情報ワードと前記選択回路の前記第一の入力上の第二の 情報ワードとを第二の時間間隔の間に比較し、前記第一および第二の情報ワード が実質的に同じ情報を含んでいるときには前記第二の時間間隔の間、前記選択回 路により前記第二の情報ワードの代わりに前記選択回路の前記第二の入力上の第 三の情報ワードを出力させる比較回路 を含むクロックサイクル節約装置。 7.請求項6のクロックサイクル節約装置において、前記選択回路がマルチプ レクサを含むクロックサイクル節約装置。 8.請求項6のクロックサイクル節約装置において、前記一時記憶回路がレジ スタを含むクロックサイクル節約装置。 9.請求項6のクロックサイクル節約装置において、前記第一および第二の情 報ワードが同じビットパターンをそなえているとき、前記比較回路は前記選択回 路により前記選択回路の前記第二の入力上の前記第三の情報ワードを出力させる クロックサイクル節約装置。 10.請求項6のクロックサイクル節約装置において、各時間間隔の継続時間 が1クロック周期であるクロックサイクル節約装置。 11.請求項6のクロックサイクル節約装置において、各時間間隔の継続時間 が多数のクロック周期である前記クロックサイクル節約装置。 12.チップ間バス上でデータのトランズアクションを完了するために必要な クロックサイクル数を低減するための装置において、 第一および第二の入力から、前記チップ間バスと通じている出力を選択するた めの手段、 第一の時間間隔の間に第一の情報ワードを記憶するための手段であって、前記 選択手段の前記出力と通じている記憶手段、および 前記記憶手段の中に記憶された前記第一の情報ワードと前記選択手段の前記第 一の入力上の第二の情報ワードとを第二の時間間隔の間に比較し、前記第一およ び第二の情報ワードが実質的に同じ情報を含んでいるときには前記第二の時間間 隔の間、前記選択手段により前記第二の情報ワードの代わりに前記選択手段の前 記第二の入力上の第三の情報ワードを出力させる手段 を含むクロックサイクル数低減装置。
JP9522754A 1996-03-01 1996-06-27 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置 Pending JPH11504741A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/609,175 US5815673A (en) 1996-03-01 1996-03-01 Method and apparatus for reducing latency time on an interface by overlapping transmitted packets
US08/609,175 1996-03-01
PCT/US1996/010690 WO1997032308A1 (en) 1996-03-01 1996-06-27 Method and apparatus for reducing latency time on an interface by overlapping transmitted packets

Publications (1)

Publication Number Publication Date
JPH11504741A true JPH11504741A (ja) 1999-04-27

Family

ID=24439651

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9522754A Pending JPH11504741A (ja) 1996-03-01 1996-06-27 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置

Country Status (11)

Country Link
US (1) US5815673A (ja)
EP (1) EP0829095B1 (ja)
JP (1) JPH11504741A (ja)
KR (1) KR100266963B1 (ja)
CN (1) CN1107956C (ja)
AU (1) AU6390296A (ja)
DE (1) DE69625685T2 (ja)
IL (1) IL120748A (ja)
RU (1) RU2189698C2 (ja)
TW (1) TW299409B (ja)
WO (2) WO1997032333A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013510357A (ja) * 2009-11-09 2013-03-21 アイメック データ転送デバイス

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6091707A (en) * 1997-12-18 2000-07-18 Advanced Micro Devices, Inc. Methods and apparatus for preventing under-flow conditions in a multiple-port switching device
GB9809203D0 (en) * 1998-04-29 1998-07-01 Sgs Thomson Microelectronics Packet distribution in a microcomputer
US6134701A (en) * 1998-09-22 2000-10-17 Via Technologies, Inc. Computer motherboard with a control chip having specific pin arrangement for fast cache access
CN100370841C (zh) * 2004-11-19 2008-02-20 华为技术有限公司 一种通信接口间消息的传输方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4418409A (en) * 1980-03-07 1983-11-29 Ibm Corporation Byte data activity compression
JPS60156151A (ja) * 1983-12-23 1985-08-16 Nec Corp メモリアクセス制御装置
US4803621A (en) * 1986-07-24 1989-02-07 Sun Microsystems, Inc. Memory access system
US4914653A (en) * 1986-12-22 1990-04-03 American Telephone And Telegraph Company Inter-processor communication protocol
US5230067A (en) * 1988-05-11 1993-07-20 Digital Equipment Corporation Bus control circuit for latching and maintaining data independently of timing event on the bus until new data is driven onto
US4937791A (en) * 1988-06-02 1990-06-26 The California Institute Of Technology High performance dynamic ram interface
US5440749A (en) * 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
IL96808A (en) * 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US5598581A (en) * 1993-08-06 1997-01-28 Cisco Sytems, Inc. Variable latency cut through bridge for forwarding packets in response to user's manual adjustment of variable latency threshold point while the bridge is operating
US5548797A (en) * 1994-10-03 1996-08-20 International Business Machines Corporation Digital clock pulse positioning circuit for delaying a signal input by a fist time duration and a second time duration to provide a positioned clock signal
US5623638A (en) * 1994-11-22 1997-04-22 Advanced Micro Devices, Inc. Memory control unit with programmable edge generator to minimize delay periods for critical DRAM timing parameters
US5649175A (en) * 1995-08-10 1997-07-15 Cirrus Logic, Inc. Method and apparatus for acquiring bus transaction address and command information with no more than zero-hold-time and with fast device acknowledgement

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013510357A (ja) * 2009-11-09 2013-03-21 アイメック データ転送デバイス

Also Published As

Publication number Publication date
KR100266963B1 (ko) 2000-10-02
DE69625685T2 (de) 2003-10-23
DE69625685D1 (de) 2003-02-13
RU2189698C2 (ru) 2002-09-20
TW299409B (en) 1997-03-01
WO1997032308A1 (en) 1997-09-04
CN1183164A (zh) 1998-05-27
KR19990008189A (ko) 1999-01-25
IL120748A0 (en) 1998-02-22
EP0829095A1 (en) 1998-03-18
AU6390296A (en) 1997-09-16
IL120748A (en) 1999-11-30
EP0829095A4 (en) 2000-04-05
WO1997032333A1 (en) 1997-09-04
CN1107956C (zh) 2003-05-07
EP0829095B1 (en) 2003-01-08
US5815673A (en) 1998-09-29

Similar Documents

Publication Publication Date Title
JP4083987B2 (ja) 多重レベル接続識別を備えた通信システム
JP3340738B2 (ja) 並行パケットバスに関する方法及び装置
US5327121A (en) Three line communications method and apparatus
KR100267130B1 (ko) Pci 버스 시스템
JP2004530197A (ja) 非ブロック化共有インターフェイスを持つ通信システム及び方法
JPH02227765A (ja) デジタル・コンピユータのデータ転送装置
US20020184453A1 (en) Data bus system including posted reads and writes
US5079696A (en) Apparatus for read handshake in high-speed asynchronous bus interface
JPH11504741A (ja) 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置
US7698485B2 (en) Round-robin bus protocol
JP2000151562A (ja) 全二重同時メッセ―ジ伝送
JPS6361533A (ja) シリアルデ−タ転送装置
JP3947223B2 (ja) 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置
JP2001092804A (ja) Eepromインターフェース内蔵マイクロコンピュータ
JP4097377B2 (ja) マイクロコンピュータ
JPH11102341A (ja) データ転送システム、データ送信装置、データ受信装置、データ転送方法及びバス調停方法
JP3548943B2 (ja) 割り込み制御方法
US6311235B1 (en) UART support for address bit on seven bit frames
KR100244471B1 (ko) 다이렉트 메모리 엑세스 제어기 및 그 제어방법
JPH0546529A (ja) ダイレクトメモリアクセス方式
JPH02149049A (ja) 通信制御方式
JP3844024B2 (ja) 印刷装置
JPH06216911A (ja) 通信方法
JPS61105150A (ja) 情報転送回路
JPH05292130A (ja) 通信制御用半導体集積回路