JP4572264B2 - 2つのクロック領域間でデータを伝送するインタフェース - Google Patents
2つのクロック領域間でデータを伝送するインタフェース Download PDFInfo
- Publication number
- JP4572264B2 JP4572264B2 JP51545698A JP51545698A JP4572264B2 JP 4572264 B2 JP4572264 B2 JP 4572264B2 JP 51545698 A JP51545698 A JP 51545698A JP 51545698 A JP51545698 A JP 51545698A JP 4572264 B2 JP4572264 B2 JP 4572264B2
- Authority
- JP
- Japan
- Prior art keywords
- clock
- cycle
- signal
- cycles
- registers
- 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.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30141—Implementation provisions of register files, e.g. ports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
- H04L7/0012—Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
Description
前記クロックを、例えば位相固定ループを使用して互いに同期させる。位相固定ループによって、前記クロックの周波数間のどのような比A:Bも、例えば、第1クロック信号をAによって分周し、第2クロック信号をBによって分周し、これらの分周された信号を位相固定することによって実現できる。位相固定は、前記2つのクロックの周波数間の正確な比を保証する。前記第1クロックのAクロックサイクルの第1基礎的サイクルは、前記第2クロックのBブロックサイクルの第2基礎的サイクルとちょうど同じ長さに形成される。前記位相固定は、これら2つの基礎的サイクルの位相を等しくする傾向もあり、その結果、前記第1および第2基礎的サイクルは一致する。しかしながら、これは、一般的に必ずしも実情ではなく、小さいが予測できない位相差が残る。
前記クロック間の周波数および位相差は、データ伝送がクロックによって同期され、通常、発信側および受信側が同じクロックを使用することが必要なため、前記サブシステム間のデータ伝送に問題を生じさせる。
本発明の目的は、位相および周波数において異なるかもしれない異なったクロックを使用するサブシステム間のデータ伝送を同期するコンピュータシステムを提供することである。
本発明は、請求の範囲1によるコンピュータシステムを提供する。請求の範囲1に記載のレジスタは、請求の範囲1に記載の読み出しおよび書き込み回路と共に、伝送されているデータの劣化および損失なく2つのサブシステム間でデータを伝送する第1サブシステムおよび第2サブシステム間のインタフェースを提供する。情報を、第1クロックを使用して前記レジスタに書き込み、第2クロックを使用して前記レジスタから読み出す。書き込みおよび読み出し間で、前記レジスタが情報を読み出される前に獲得することを可能にするための最短時間間隔がなければならない。
このような最短時間間隔を保証するために、本発明は、請求の範囲1に記載の同期化回路の能力を使用し、前記第1および第2クロックのクロックサイクルを前記共通の基礎的サイクルにおける固定された位置とみなす。レジスタへの書き込みを、前記第1クロックのこのようなみなされたクロックサイクルの後、前記第1クロックの一定のサイクル数の遅延によって行う。同様に、レジスタからの読み出しを、このような周期後、前記第2クロックの一定のサイクル数の遅延によって行う。これらの遅延を、AおよびBクロック周期の基礎的サイクルが一致する場合において、レジスタの読み出しおよび書き込み間に、前記第1クロックの少なくとも1サイクルが存在するように選択する。もちろん、前記基礎的サイクルは一般的に一致しないが、この選択により、前記第1クロックのほぼ完全な1周期のこれらのサイクル間の位相差を容認することができる。このように、データの伝送を、前記サブシステム間で最短の待ち時間および最少数のパイプラインレジスタで行う。
本発明の他の目的は、準安定問題の発生を防ぐことである。位相固定を使用しない2つのクロック領域間の同期化回路は、準安定問題を受ける。
本発明の依然として他の目的および利点は、本開示からある程度明らかになるであろう。
本発明のより完全な理解のために、添付した図面に関連して行った以下の説明が参考になる。
図1は、各々が個々のクロックを有する2つのサブシステムを有するシステムのブロック図である。
図2は、各々が個々のクロックおよびインタフェースを有する2つのサブシステムを有するシステムのより詳細なブロック図である。
図3は、3:2のクロック比を有するシステムのインタフェースの第1の実施形態である。
図4は、3:2のクロック比を有するシステムのインタフェースの第1の好適な実施形態である。
図5は、3:2のクロック比を有するシステム用インタフェースの第1実施形態に関するタイミング図である。
図6は、3:2のクロック比を有するシステムのインタフェースの第2の実施形態である。
図1のシステムにおいて、第1および第2サブシステム102および104は、システム100内に存在する。第1サブシステム102を第1クロックCLKAによってクロック動作し、第2サブシステム104を第2クロックCLKBによってクロック動作する。前記第1および第2クロックは、異なった周波数を有してもよく、しかしながら、前記第1および第2クロックのいくらかのクロックエッジは一定の関係を有し、すなわち、これらのクロックは同期するが、最大を有するかもしれないスキューを伴う。
前記異なるクロック周波数によって、サブシステム2がデータを標本化しようとする場合、サブシステム1をスイッチングデータから防ぐために、サブシステム1および2間に、2つのサブシステム102および104間でデータ損失または劣化なくデータを伝送するインタフェース106を設ける。
図2は、システム100の一実施形態の詳細な例を示す。中央処理ユニット(CPU)105を含む第1サブシステム102と、メモリ107を含む第2サブシステム104とが、システム100内に存在する。同期化インタフェース106を、CPUサブシステム102およびメモリサブシステム104に設け、これら2つのサブシステム間のデータの伝送を可能にする。CPUサブシステム102を第1クロックCLKAによってクロック動作し、メモリサブシステム104を第2クロックCLKBによってクロック動作する。CLKAおよびCLKB間の一定の関係を、例えば、PLL(位相固定ループ)101によって達成する。CLKAを、この例においては、位相固定ループ101に供給し、この位相固定ループ101は、CLKBをメモリサブシステム104に供給する。加えて、PLL101は、2つの同期化信号SYNCAおよびSYNCBを同期化インタフェース106に供給する。これらの同期化信号は、クロック信号CLKAおよびCLKBが同期する時を示し、すなわち、これらの個々のパルスは、固定された信号間に位相差がない場合において、互いに整列した個々のエッジを有する。
CLKAおよびCLKBは、A:Bのクロック比を有し、ここで、Aをある長さの時間におけるクロックサイクル数とし、Bを同じ長さの時間におけるクロックサイクル数とする。したがって、前記第1クロックのAクロックサイクルの長さは、前記第2クロックのBクロックサイクルの長さに等しい。このように、クロックCLKAおよびCLKBは同期するが、起こりうるスキューを伴う。このスキューは、前記2つのクロックが位相固定される精度によって決定される最大値を有するかもしれない。考慮されるこの最大値は、後に説明するような、クロックサイクル時間と、保持レジスタから出力レジスタまでの遅延時間との間の時間差である。
PLL109は、CLKAを受け、処理を行い、CLKBと、データの出力を制御するのに使用される2つの同期化信号SYNCAおよびSYNCBとを出力する。
この処理は、例えば、AによるCLKAの分周と、BによるCLKBの分周と、これらの分周された信号を位相固定するためのCLKBの周波数の調節とを含む。このように、A CLKAクロックサイクルおよびB CLKBサイクルの基礎的サイクルを、互いに固定する。前記2つの同期化信号SYNCAおよびSYNCBは、前記個々の基礎的サイクルにおけるCLKAおよびCLKBの第1クロックサイクルを同じくさせる。
1つの同期化信号を各々のクロック領域に対して発生し、この例においては、第1クロック領域108aに対してSYNCAを発生し、これらの第2クロック領域108bに対してSYNCBを発生する。
代わりに、クロック信号CLKAおよびCLKBと、同期化信号SYNCAおよびSYNCBとを、例えば、共通マスタクロックを使用し、この共通マスタクロックをBおよびAによって各々分周することによってCLKAおよびCLKBを得ることによって発生してもよい。SYNCAおよびSYNCBを、各々、CLKAのA番目の周期ごとおよびCLKBのB番目の周期ごとに示してもよい。これは、極めて高い周波数のマスタクロックを必要とし、したがってしばしば非実用的であり、分周器または伝送ラインにおける遅延によるCLKAおよびCLKB間のスキューがまだ存在するかもしれない。
図3は、前記クロック比が3:2の場合、すなわち、CLKAの3クロックサイクルに必要な時間またはその長さが、CLKBの2クロックサイクルに必要な時間またはその長さと等しい場合の、本発明によるインタフェース106の一例を示す。インタフェース106は、CPUサブシステム102からメモリサブシステム104にデータを伝送し(CPU/MEM TRANS 108)、メモリサブシステム104からCPUサブシステム102にデータを伝送する(MEM/CPU TRANS 110)インタフェースセクションを含んでもよい。本発明のインタフェース106において、第1セクション108は、データDCINをCPUサブシステム102からメモリサブシステム104に伝送する。
各々のインタフェースセクション108および110は、第1クロック領域および第2クロック領域を含む。例えば、インタフェースセクション108は、この例において、第1クロック領域108aおよび第2クロック領域108bを含む。第1クロック領域108aは、第1クロックCLKAによってクロック動作し、同期化信号SYNCAを受ける。同様に、第2クロック領域108bは、第2クロックCLKBによってクロック動作し、同期化信号SYNCBを受ける。この例において、前記第1クロック領域は、対応する保持レジスタを含み、前記第2クロック領域は、マルチプレクサと、位相カウンタレジスタと、出力レジスタとを含む。
さらに特に、この例において、第1クロック領域108aは、データ信号を受ける2つの保持レジスタを含む。3:2のクロック比を有するこの例において、保持レジスタの数を2つ(RR0−RR1)1120−1121とする。
各々の保持レジスタRR0−RR11120−1121は、この例において、データDCINをCPUサブシステム102から受け、対応する選択されたデータ信号SDiを、CLKAおよびデータ有効信号VALIDiに応じて出力する。データ有効信号VALIDiは、新たな有効データをDCIN信号を経て受け、出力すべきかどうか、または、以前の対応する選択されたデータ信号SDiを再び出力すべきかどうかを示す。このデータ有効信号VALIDiを、CLKAおよびSYNCAに基づいて発生する。位相カウンタ122に、CLKAおよびSYNCA信号と、STARTA信号とを供給する。STARTA信号は、伝送の開始を示す、CLKAに同期した全体的な開始信号である。連続的な有効信号VALIDii=0,1(より多くのレジスタが有る場合、および2、等)を、CLKAによって示される連続的なクロックサイクルにおいて発生する。連続的な有効信号VALIDii=0,1等の個々のサイクルは、各々のSYNCA信号によって開始する。データ有効信号VALID0およびVALID1を、START信号が伝送の開始を示した場合、位相カウンタ132によって出力し、すなわち、他の有効信号VALIDiは、有効データを示さない。位相カウンタ132は、レジスタにおけるデータの受け取りと、そのレジスタからのデータの供給との間の最短の時間間隔、この例において、1高速クロック周期を保証する。
第2クロック領域108bは、マルチプレクサMUX116を含む。MUX116は、前記受けた選択されたデータ信号、この例においてSD0〜SD1のうちどの選択された信号SD1を出力するかを、選択信号SELに基づいて選択する。出力されたデータ信号DTRANSを、この例において出力レジスタROUT118に供給し、この出力レジスタROUT118は、出力信号DCOUTをメモリサブシステム104にCLKBに応じて出力する。出力レジスタROUT118を、メモリサブシステム104にインタフェース106の代わりに含めてもよい。
CLKBを位相カウンタ120にも供給し、この位相カウンタ120を、例えば、CLKBによってトリガされる位相カウンタレジスタまたは位相カウンタフリップフロップとしてもよい。位相カウンタ120を、PLL100からのSYNCB同期信号によって制御する。位相カウンタ120は、この例において、第2クロック信号CLKBおよび開始信号STARTBを受け、選択信号SELを発生し、この例においてどの選択されたデータ信号SD0−SD1をMUX116によって出力データ信号DTRANSとして出力すべきかを示す。
位相コントローラ120は、信号SELの連続的な値を、CLKBの連続的なサイクルにおいて発生する。前記連続的な値のサイクルをSYNCB信号によって開始し、すなわち、VALIDi信号の位相に関係するその位相をSYNCB信号によって設定する。
図4に示す好適実施形態において、各々の保持レジスタRR0−RR11120−1121は、個々のレジスタR0−R11130−1131および個々のマルチプレクサM0−M11140−1141を含む。各々のマルチプレクサMi(この例においてI=0ないし1)は、DCIN信号および対応する選択されたデータ信号SDiを受け、データ有効信号VALIDiに応じて有効データ信号VDiを出力する。
各々のレジスタR0−R11130−1131は、この例において、対応するマルチプレクサMi114iから対応する有効データ信号VDiを受け、CLKAに応じて対応する選択されたデータ信号SDiを出力する。マルチプレクサM0−M1は、レジスタR0−R11130−1131の内容を、レジスタSD0−SD1の出力を各々これらの個々の入力に再循環することによって保持する。この機能を、各々のレジスタ用のクロックを制約的に停止するような他の手段によって達成してもよい。
CLKAおよびCLKBの周波数の比がA:Bである場合、どちらが少ないとしても、多くてAまたはB個のレジスタとする必要がある。位相カウンタ120を、例えば、アクセス(書き込みまたは読み出し)しなければならないレジスタのインデックス「i」をカウントするカウンタを使用して実現してもよい。このインデックス「i」は、どのVALIDi信号を活性化すべきかを知らせる。第1クロック領域108aに関する位相カウンタ122におけるカウンタは、CLKAの立ち上がりエッジごとにインクリメント(iがi+1に成る)し、SYNCAがCLKAの立ち上がりエッジにおいて活性化したときのクロックサイクル後、その初期値(i=0)にリセットする。前記カウンタのカウント値「i」は、どのレジスタを選択すべきかを知らせる。前記カウンタを、所望のVALIDi信号を発生する出力部を有するジョンソンカウンタとしてもよい。VALIDi信号のカウントおよび出力を、有効データをSTARTA信号によって示されるように利用できない場合、禁止する。
同様に、第2クロック領域110aに関する位相カウンタ120におけるカウンタは、CLKBの立ち上がりエッジごとにインクリメントし、SYNCBがCLKBの立ち上がりエッジにおいて活性化したときのクロックサイクル後、その初期値にリセットする。この例において、B=2であり、これは前記位相カウンタが0および1間でトグルすることを意味する。
前記2つのクロック間にスキューが存在するとしても、レジスタへの書き込みと、レジスタからの読み出しとの間に十分な遅延があることを保証しなければならない。これを、SYNCAおよびSYNCB信号と、位相カウンタ120および122におけるカウンタによってカウントされる最低数を有するレジスタへのアドレスとの間に十分な遅延があることを保証することによって達成する。
適切な遅延を選択するために、スキューがない状況を考える。この場合において、CLKAのAサイクルの第1基礎的サイクルが、CLKBのBサイクルの第2基礎的サイクルと一致する。SYNCAおよびSYNCBは、例えば、各々、前記第1および第2基礎的サイクルにおけるCLKAおよびCLKBの第1サイクルを示す。第1クロック領域108aの位相カウンタ122の所定の構造に関して、CLKAにおけるどのサイクルXにおいて、SYNCAによる前記位相カウンタのリセット後に前記第1レジスタに書き込むかが明らかである。このとき、第2位相カウンタ120を、データを読み出すSYNCBによるリセット後のCLKBの第1サイクルが、サイクルXに対して、少なくともCLKBの1サイクルと同じ長さの遅延だけ遅れて生じるように構成する。
このように、CLKAおよびCLKB間にスキューがある場合、CLKAのほぼ1サイクルのスキューまで問題はない。
スキューが、レジスタが読み出される前に再び書き込まれることを引き起こさないことも保証しなければならない。A>Bであり、データを基礎的サイクル当たりB回のみ書き込む場合、これを、Bの異なるレジスタを使用することによるきわめて簡単な方法において保証することができる。AおよびBが両方とも大きい場合、より少ないレジスタで十分であるかもしれず、これらのレジスタへの書き込みを、新たなSYNCAおよびSYNCB信号を受ける前に多数回繰り返すことができるかもしれない。この場合において、位相カウンタ120および122は、VALID/SEL信号を、新たなSYNCAおよびSYNCB信号が到着する前に繰り返す。十分であるレジスタの数を、種々の数を試し、レジスタへの新たな書き込みが、前の読み出し前のCLKAの1サイクルが経たないうちは生じない最低数を選択することによって容易に決定することができる。
図5は、データをCPUサブシステム102からメモリサブシステム104に伝送する図4に示すインタフェースセクション108に関するタイミング図である。前記システムのクロック比を3:2とし、すなわち、CPUサブシステム302をクロック動作するCLKAの3クロックサイクル間の時間の長さ(クロック長サイクル)が、メモリサブシステム304をクロック動作するCLKBの2クロックサイクル間の時間の長さに等しいとする。この例において、前記スキューの最大値は、前記クロック長サイクルから、信号が前記保持レジスタにおけるレジスタの内の1つまたは前記保持レジスタ、例えばレジスタR0から出力レジスタROUT118に伝播する遅延時間を引いた値である。このタイミング図から、前記スキューの最大値は、t4における時間引くt3における時間である。
CPUサブシステム102から伝送されるデータDCINは、t2において、CLKAのクロック長サイクルの第2パルスにおいてクロックされ始める。時間t1において、SYNCAおよびSYNCBの双方は、個々のクロックパルスサイクルの間、この例において、クロックパルスサイクルAおよびクロックパルスサイクルBの間、活性である。時間t2において、VALID0は、クロックパルスサイクルAの間、活性であり、M0に与えられたデータが有効であることを示し、したがって、データDCINの項目0は、R01130に与えられ、時間t3においてレジスタR01130に記録される。データDCOUTは、時間t4において供給され、このデータは、SEL信号に基づく。この例において、t3において、SEL信号はロウであり、R0からのデータを供給すべきであることを示す。MUX116およびROUT118の双方がCLKBによってクロック動作することから、出力データDCOUTは、クロックCLKBに同期して供給される。
項目1−7は、図5のタイミング図に示すように、前記と同様に供給される。
このように、この例において、項目0は、第1レジスタR01130にt3において記録され、項目1は、第2レジスタR11131に、1CLKAクロックサイクル後のt3Aにおいて記録される。1クロックサイクル遅延後、新たなデータがレジスタR0-11130-1に記録され、すなわち、項目2−3が、上述したのと同様に、CLKAの第2クロック長サイクルの第3クロックサイクル(t4におけるP3)の初めにおいて記録される。残りの項目は、同様に記録される。
データ信号DCINは、マルチプレクサM0-11140-1に各々のクロックサイクルにおいて供給される。この例において、有効信号VALID0は、前記データ信号がt2においてM01140に対して有効であり、同時に前記データ信号が残りのマルチプレクサM11141に対して有効でないことを示す。データ信号DCINは、t3における次のクロックサイクルP1においてR01130に記録される項目0を含む。R01130は、項目0を受け、この値を完全な1クロック長サイクル、この例においてはCLKAの3クロックサイクルの間保持し、すなわち、マルチプレクサM01140は、データ信号DCINが有効であることを示すVALID0信号を完全な1クロック長サイクルの間受けない。
同様に、R11131は、信号VALID1が有効データを示し、このレジスタが、個々のマルチプレクサM11141からのデータを記録する場合に項目1を受け、前記個々の項目を完全な1クロック長サイクルの間保持する。
位相カウンタ120によって供給されるSEL信号は、レジスタR0-1による選択されたデータ信号SDi出力のどれをROUT118への出力に選択するかをMUX116に知らせる。この例において、SEL信号がR0を示す場合、項目0がCLKBを基礎とするメモリサブシステム104にDCOUTとして出力される。レジスタROUT118はCLKBによってクロック動作することから、出力信号DCOUTはCLKBに同期して供給される。したがって、t4またはCLKBクロック長サイクルのクロックサイクルP2において開始し、項目0−7がクロックサイクルごとに1つ出力される。
図5の例において、VALIDi信号および有効SEL信号の生成は、SYNCAおよびSYNCBが各々アサートされたクロックサイクル後、CLKAおよびCLKBの第1クロックサイクルにおいて開始する。これは、SYNCA信号によってトリガされる書き込みサイクルの第1の書き込みが、CLKAのAサイクルの基礎的サイクルの開始後にCLKAの2サイクルを生じることを意味する。同様に、SYNCBによってトリガされるサイクルの第1の読み出しは、前記基礎的サイクルの開始後にCLKBの2サイクルを生じる。本例において、前記クロックサイクルの持続時間の比が2:3の場合、これは、前記読み出しが、書き込みの後CLKAの1サイクルを生じることを意味する。前記クロックをこの量によってスキューし、問題を生じることなく、レジスタR0から出力Routにデータを伝送するための時間を引いてもよい。
図6は、MEM/CPU TRANS 110の一実施形態である。CPU/MEM TRANS 108と同様に、MEM/CPU TRANS 110は、第1クロック領域110bおよび第2クロック領域110aを有する。加えて、レジスタの数は、A+Bより少なく、3:2クロック比のこの例において、第2クロック領域110bにおけるレジスタおよび対応するマルチプレクサの数は、2(MR0−MR1)1220−1221である。
各々のマルチプレクサMMi(この例においてI=0ないし1)1240−1241は、DMIN信号および対応する選択されたデータ信号MSDiを受け、有効データ信号MVDiをデータ有効信号VALiに応じて出力する。データ有効信号VALiは、新たな有効データをDMIN信号を通じて受けており、出力すべきかどうか、または、前の有効データ信号MSDiを再び出力すべきかどうかを示す。個々のVAL信号を、位相カウンタ133から供給する。位相カウンタ133は、CLKB信号およびSYNCB信号と、CLKBに同期し、伝送の開始を示す全体的な開始信号であるSTARTB信号とを受ける。位相カウンタ133は、レジスタにおけるデータの受け取りと、レジスタからのデータの供給との間の最短の時間間隔、この例においては、1高速クロック周期間隔を保証する。
各々のレジスタMR0−MR11221−1221は、この例において、対応する有効データ信号MVDiを対応するマルチプレクサMi124iから受け、対応する選択されたデータ信号MSDiをCLKBに応じて出力する。
第2クロック領域110aは、マルチプレクサMMUX126を含む。MMUX126は、受ける選択されたデータ信号、この例においてMSD0−MSD1の内のどの選択されたデータ信号MSDiを出力するかの選択を、選択信号SSELに基づいて出力する。出力されたデータ信号MDSYNCをレジスタMROUT128に供給し、レジスタMROUT128は、出力信号DMOUTをCPUサブシステム102にCLKAに応じて出力する。
CLKAを位相コントローラ130にも供給し、この位相コントローラ130を、例えばフリップフロップとしてもよい。位相コントローラ130は、第1クロック信号CLKAと、開始信号STARTAと、SYNCA信号とを受け、選択信号SSELを発生し、この例においてどの選択されたデータ信号MSD0−MSD1をMMUX126によって出力データ信号MDSYNCとして出力すべきかを示す。
ここで容易に理解できるように、本発明は、異なるクロックを有するシステム間のデータ伝送を可能にし、同時に準安定問題の発生を防ぐ。本発明を、前記サブシステムのいずれに含んでもよく、別個のサブシステムとしてもよい。当業者は、不活性信号の代わりに活性信号を、またはその逆を容易に使用するであろう。付加的な変更が、当業者によって容易に行われるであろう。
このように、前述の説明から明らになったこれらのうちで、上述した目的は、有効に達成されたことが分かり、本発明の精神および範囲から逸脱することなく、いくらかの変更を前記構成において行うことができることから、上記説明に含まれる、または添付した図面に示すすべての内容を、説明的であり意味を制限しないと解釈すべきであるとする。
以下の請求の範囲を、ここに説明した本発明の一般的および固有の特徴をのすべてと、言語の問題としてこれらの間にあると言える本発明の範囲のすべてのステートメントとをカバーするものとすることも理解すべきである。
Claims (5)
- −第1クロックに同期する第1サブシステムと、
−第2クロックに同期する第2サブシステムと、
−複数のレジスタと、
−第1クロックによってクロック動作したデータを前記第1サブシステムから前記複数のレジスタに書き込む書き込み回路と、
−第2クロックによってクロック動作したデータを前記複数のレジスタから前記第2サブシステムに読み出す読み出し回路と、
−前記第1クロックのAサイクルの第1基礎的サイクルを、前記第2クロックのBサイクルの第2基礎的サイクルに固定する同期化回路とを具え、AおよびBを1より大きく互いに異なる整数とし、前記同期化回路が、前記第1基礎的サイクルにおける第1クロックの開始クロックサイクルを示す第1同期化信号および前記2基礎的サイクルにおける第2クロックの開始クロックサイクルを示す第2同期化信号を発生し、
−前記読み出しおよび書き込み回路が前記複数のレジスタに同じ順序でアクセスし、前記書き込み回路において、前記第1同期化信号を基準として、前記第1クロックの一定数のサイクルの遅延後に前記順序で前記複数のレジスタへのアクセスが開始され、前記読み出し回路において、前記第2同期化信号を基準として、前記第2クロックの一定数のサイクルの遅延後に前記順序で前記複数のレジスタへのアクセスが開始され、前記第1および第2基礎的サイクルが時間において一致する場合において、前記遅延を、前記書き込み回路における前記順序の開始が前記読み出し回路における前記順序の開始の少なくとも前記第1クロックの1サイクルの持続時間だけ前になるようにしたことを特徴とするコンピュータシステム。 - 請求の範囲1に記載のコンピュータシステムにおいて、前記第1および第2基礎的サイクルを、前記第1および第2クロック信号をAおよびBによって各々分周することによって得られた分周信号のサイクルとし、前記同期化信号が前記分周信号を位相固定することを特徴とするコンピュータシステム。
- 請求の範囲1に記載のコンピュータシステムにおいて、前記読み出し回路が、前記複数のレジスタからの出力信号と、前記順序に従ってこれらの出力信号を選択する選択信号とを受けるマルチプレクサを具え、前記マルチプレクサが、前記選択信号によって選択された前記出力信号の内の1つを出力するようにしたことを特徴とするコンピュータシステム。
- 請求の範囲1に記載のコンピュータシステムにおいて、Aを3とし、Bを2とし、前記順序の前記複数のレジスタのうちの第1レジスタへの書き込みが、前記第1基礎的サイクルの開始クロックサイクル後に前記第1クロックの2サイクルにわたり行われ、前記第1レジスタからの読み出しが、前記第2基礎的サイクルの開始クロックサイクル後に前記第2クロックの2サイクルにわたり行われることを特徴とするコンピュータシステム。
- 請求の範囲1に記載のコンピュータシステムにおいて、前記第1サブシステムをCPUとし、前記第2サブシステムをメモリとしたことを特徴とするコンピュータシステム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US2709796P | 1996-09-25 | 1996-09-25 | |
US60/027,097 | 1996-09-25 | ||
US08/914,473 US5909563A (en) | 1996-09-25 | 1997-08-19 | Computer system including an interface for transferring data between two clock domains |
US08/914,473 | 1997-08-19 | ||
PCT/IB1997/001151 WO1998013768A2 (en) | 1996-09-25 | 1997-09-25 | Interface for transferring data between two clock domains |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000503437A JP2000503437A (ja) | 2000-03-21 |
JP4572264B2 true JP4572264B2 (ja) | 2010-11-04 |
Family
ID=26702047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51545698A Expired - Lifetime JP4572264B2 (ja) | 1996-09-25 | 1997-09-25 | 2つのクロック領域間でデータを伝送するインタフェース |
Country Status (5)
Country | Link |
---|---|
US (1) | US5909563A (ja) |
EP (1) | EP0868697B1 (ja) |
JP (1) | JP4572264B2 (ja) |
DE (1) | DE69733407T2 (ja) |
WO (1) | WO1998013768A2 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3445476B2 (ja) * | 1997-10-02 | 2003-09-08 | 株式会社東芝 | 半導体メモリシステム |
AU9798598A (en) * | 1997-10-10 | 1999-05-03 | Rambus Incorporated | Apparatus and method for generating a distributed clock signal using gear ratio techniques |
US6260152B1 (en) * | 1998-07-30 | 2001-07-10 | Siemens Information And Communication Networks, Inc. | Method and apparatus for synchronizing data transfers in a logic circuit having plural clock domains |
US6434684B1 (en) * | 1998-09-03 | 2002-08-13 | Micron Technology, Inc. | Method and apparatus for coupling signals across different clock domains, and memory device and computer system using same |
US6473818B1 (en) * | 1998-09-09 | 2002-10-29 | Advanced Micro Devices, Inc. | Apparatus and method in a network interface device for asynchronously generating SRAM full and empty flags using coded read and write pointer values |
FI982040A (fi) * | 1998-09-22 | 2000-03-23 | Nokia Multimedia Network Terminals Oy | Menetelmä ja laite datavirran synkronoimiseksi |
US6128749A (en) * | 1998-11-03 | 2000-10-03 | Intel Corporation | Cross-clock domain data transfer method and apparatus |
US6321342B1 (en) * | 1999-03-23 | 2001-11-20 | Lsi Logic Corporation | Method and apparatus for interfacing circuits that operate based upon different clock signals |
US6584575B1 (en) * | 1999-08-31 | 2003-06-24 | Advanced Micro Devices, Inc. | System and method for initializing source-synchronous data transfers using ratio bits |
US6393502B1 (en) | 1999-08-31 | 2002-05-21 | Advanced Micro Devices, Inc. | System and method for initiating a serial data transfer between two clock domains |
US6321315B1 (en) * | 1999-09-30 | 2001-11-20 | Micron Technology, Inc. | Method and apparatus to reduce memory read latency |
US6279073B1 (en) * | 1999-09-30 | 2001-08-21 | Silicon Graphics, Inc. | Configurable synchronizer for double data rate synchronous dynamic random access memory |
JP3610854B2 (ja) * | 1999-12-27 | 2005-01-19 | 株式会社日立製作所 | 情報処理装置および情報処理システム |
US6777331B2 (en) * | 2000-03-07 | 2004-08-17 | Simplus Systems Corporation | Multilayered copper structure for improving adhesion property |
US6745369B1 (en) * | 2000-06-12 | 2004-06-01 | Altera Corporation | Bus architecture for system on a chip |
US7333516B1 (en) * | 2000-07-20 | 2008-02-19 | Silicon Graphics, Inc. | Interface for synchronous data transfer between domains clocked at different frequencies |
US6748039B1 (en) | 2000-08-11 | 2004-06-08 | Advanced Micro Devices, Inc. | System and method for synchronizing a skip pattern and initializing a clock forwarding interface in a multiple-clock system |
US6715094B2 (en) * | 2000-12-20 | 2004-03-30 | Intel Corporation | Mult-mode I/O interface for synchronizing selected control patterns into control clock domain to obtain interface control signals to be transmitted to I/O buffers |
US6810460B1 (en) * | 2001-02-15 | 2004-10-26 | Lsi Logic Corporation | AMBA bus off-chip bridge |
US20040028164A1 (en) * | 2002-08-07 | 2004-02-12 | Hongtao Jiang | System and method for data transition control in a multirate communication system |
EP1559235B1 (en) * | 2002-10-25 | 2006-08-23 | Koninklijke Philips Electronics N.V. | Device for exchanging data signals between two clock domains |
US20040193931A1 (en) * | 2003-03-26 | 2004-09-30 | Akkerman Ryan L. | System and method for transferring data from a first clock domain to a second clock domain |
US7017066B2 (en) * | 2003-04-10 | 2006-03-21 | International Business Machines Corporation | Method, system and synchronization circuit for providing hardware component access to a set of data values without restriction |
US7249274B1 (en) * | 2003-12-30 | 2007-07-24 | Intel Corporation | System and method for scalable clock gearing mechanism |
DE102004010562B4 (de) * | 2004-03-01 | 2008-04-24 | Infineon Technologies Ag | Schnittstellenvorrichtung und Verfahren zur Synchronisation von Daten |
DE102004011672B4 (de) * | 2004-03-10 | 2007-04-05 | Texas Instruments Deutschland Gmbh | Vorrichtung zur Datensynchronisation |
DE102005009874B4 (de) * | 2005-03-01 | 2010-04-15 | Infineon Technologies Ag | Verfahren zur Signalisierung eines Zustandes oder Ereignisses |
US7676685B2 (en) * | 2005-05-31 | 2010-03-09 | Stmicroelectronics S.R.L. | Method for improving the data transfer in semi synchronous clock domains integrated circuits at any possible m/n clock ratio |
US7813459B2 (en) * | 2005-10-03 | 2010-10-12 | Spansion Llc | Digital data transfer between different clock domains |
US7515667B2 (en) * | 2005-11-09 | 2009-04-07 | Hewlett-Packard Development Company, L.P. | Method and apparatus for reducing synchronizer shadow |
US20070177698A1 (en) * | 2006-01-30 | 2007-08-02 | Texas Instruments Incorporated | Signal Transfer Across Circuits Operating in Different Clock Domains |
GB2444745B (en) * | 2006-12-13 | 2011-08-24 | Advanced Risc Mach Ltd | Data transfer between a master and slave |
US7594047B2 (en) * | 2007-07-09 | 2009-09-22 | Hewlett-Packard Development Company, L.P. | Buffer circuit |
US7882385B2 (en) * | 2007-12-05 | 2011-02-01 | International Business Machines Corporation | Reducing inefficiencies of multi-clock-domain interfaces using a modified latch bank |
US8089378B1 (en) * | 2009-02-18 | 2012-01-03 | Marvell Israel (M.I.S.L) Ltd. | Synchronous multi-clock protocol converter |
US9715914B1 (en) * | 2015-09-26 | 2017-07-25 | Syntropy Systems, Llc | Polyphase buffer for rate-conversion |
US20220011811A1 (en) * | 2021-09-24 | 2022-01-13 | Intel Corporation | Flexible instruction set architecture supporting varying frequencies |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4811364A (en) * | 1988-04-01 | 1989-03-07 | Digital Equipment Corporation | Method and apparatus for stabilized data transmission |
US5115455A (en) * | 1990-06-29 | 1992-05-19 | Digital Equipment Corporation | Method and apparatus for stabilized data transmission |
US5274678A (en) * | 1991-12-30 | 1993-12-28 | Intel Corporation | Clock switching apparatus and method for computer systems |
US5359630A (en) * | 1992-08-13 | 1994-10-25 | Digital Equipment Corporation | Method and apparatus for realignment of synchronous data |
US5600824A (en) * | 1994-02-04 | 1997-02-04 | Hewlett-Packard Company | Clock generating means for generating bus clock and chip clock synchronously having frequency ratio of N-1/N responsive to synchronization signal for inhibiting data transfer |
JPH07234842A (ja) * | 1994-02-22 | 1995-09-05 | Fujitsu Ltd | 並列データ処理システム |
JP2880399B2 (ja) * | 1994-03-24 | 1999-04-05 | 株式会社日立製作所 | 並列計算機 |
US5487092A (en) * | 1994-12-22 | 1996-01-23 | International Business Machines Corporation | System for high-speed synchronization across clock domains |
KR0157924B1 (ko) * | 1995-12-23 | 1998-12-15 | 문정환 | 데이타 전송 시스템 및 그 방법 |
US5802355A (en) * | 1996-12-10 | 1998-09-01 | International Business Machines Corporation | Multi-processor system using processors of different speeds |
-
1997
- 1997-08-19 US US08/914,473 patent/US5909563A/en not_active Expired - Lifetime
- 1997-09-25 EP EP97940272A patent/EP0868697B1/en not_active Expired - Lifetime
- 1997-09-25 JP JP51545698A patent/JP4572264B2/ja not_active Expired - Lifetime
- 1997-09-25 WO PCT/IB1997/001151 patent/WO1998013768A2/en active IP Right Grant
- 1997-09-25 DE DE69733407T patent/DE69733407T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2000503437A (ja) | 2000-03-21 |
EP0868697A2 (en) | 1998-10-07 |
EP0868697B1 (en) | 2005-06-01 |
US5909563A (en) | 1999-06-01 |
DE69733407D1 (de) | 2005-07-07 |
WO1998013768A3 (en) | 1998-06-04 |
DE69733407T2 (de) | 2006-01-26 |
WO1998013768A2 (en) | 1998-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4572264B2 (ja) | 2つのクロック領域間でデータを伝送するインタフェース | |
US5274678A (en) | Clock switching apparatus and method for computer systems | |
KR100701924B1 (ko) | 고속 dram에서의 원하는 판독 대기 시간 설정과 유지를 위한 메모리 장치의 동작 방법과, 메모리 장치와, 프로세서 시스템 | |
EP1735680B1 (en) | Delay line synchronizer apparatus and method | |
JP3233817B2 (ja) | 先入れ先出し方式(fifo)メモリ装置における予測ステータスフラグ生成方法およびその装置 | |
KR101089153B1 (ko) | 상이한 클록 도메인 간에서의 데이터 신호 전송 방법 및 집적 회로 | |
KR100337052B1 (ko) | 동기화된 독출 포인터 및 기록 포인터를 갖는 2 중 포트 fifo | |
US6748039B1 (en) | System and method for synchronizing a skip pattern and initializing a clock forwarding interface in a multiple-clock system | |
JPS62146035A (ja) | デ−タ・シンクロナイザ | |
KR101010649B1 (ko) | 디지털 dll 회로 | |
US6424688B1 (en) | Method to transfer data in a system with multiple clock domains using clock skipping techniques | |
US8195849B2 (en) | Device and method for transferring data between devices | |
US4054747A (en) | Data buffer | |
JP2695535B2 (ja) | タイマ入力制御回路及びカウンタ制御回路 | |
US7729182B2 (en) | Systems and methods for issuing address and data signals to a memory array | |
JP2004062630A (ja) | Fifoメモリ及び半導体装置 | |
JP3998314B2 (ja) | 先入れ先出し記憶装置 | |
US6724683B2 (en) | Transferring data between different clock domains | |
US5729765A (en) | Method and apparatus for determining the status of a shared resource | |
US5220585A (en) | Serial clock generating circuit | |
US20230035110A1 (en) | Methods and apparatus for synchronizing data transfers across clock domains using heads-up indications | |
US5304855A (en) | Bi-level pulse accumulator | |
KR100222158B1 (ko) | 버스 제어 장치 및 정보 처리 장치 | |
JP2000099188A (ja) | クロック切替回路 | |
JPH033048A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040922 |
|
A72 | Notification of change in name of applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A721 Effective date: 20040922 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080512 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20080715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090428 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090709 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091201 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100104 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20100104 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130827 Year of fee payment: 3 |
|
R154 | Certificate of patent or utility model (reissue) |
Free format text: JAPANESE INTERMEDIATE CODE: R154 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |