JP2002533832A - データ転送時間の調節方法、コンピュータシステム及びバス・デバイス - Google Patents
データ転送時間の調節方法、コンピュータシステム及びバス・デバイスInfo
- Publication number
- JP2002533832A JP2002533832A JP2000591510A JP2000591510A JP2002533832A JP 2002533832 A JP2002533832 A JP 2002533832A JP 2000591510 A JP2000591510 A JP 2000591510A JP 2000591510 A JP2000591510 A JP 2000591510A JP 2002533832 A JP2002533832 A JP 2002533832A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- data
- circuit
- memory
- signal
- 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.)
- Granted
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 title claims description 10
- 230000004044 response Effects 0.000 claims abstract description 12
- 230000005540 biological transmission Effects 0.000 claims 5
- 239000000872 buffer Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 239000000523 sample Substances 0.000 description 8
- 239000012723 sample buffer Substances 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 210000004270 pstb Anatomy 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000006210 lotion Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
- G06F13/4213—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1679—Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Communication Control (AREA)
- Bus Control (AREA)
Abstract
Description
)を使用する技術に関する。
ータシステム10のプロセッサ20(一例として中央処理ユニット(CPU))
と相互作用する多くのデバイスを含んでいる。例えば、プロセッサ20は、ホス
ト・バス(host bus)12に書き込みみトランザクションを与えることによって
、バス・デバイス(bus device)14のレジスタに書き込むことができる。しか
しながら、バス・デバイス14は、ホストバス12に現われるトランザクション
に直接返答しないが、しかしそれよりはむしろ、バス・デバイス14は、バス・
デバイス14に直接繋がっている他のバス18に現れるトランザクションに直接
返答する。バス18上に書き込みみトランザクションを再生する目的のために、
コンピュータシステム10は、ホスト・バス12とバス18との間に接続される
ホスト・ブリッジ16を含んでいる。また、ホスト・ブリッジ16は、バス・デ
バイス14によって提供される応答に基づいてホスト・バス12上のトランザク
ションを完了する。コンピュータシステム10は、追加のバスを一緒にインタフ
ェースするために、例えばバス18と他のバス24との間を接続するブリッジ2
2といった追加のブリッジを含んでよい。
瞬間的でなくてよく、しかしむしろ、バス18は、トランザクションを表現する
信号をスキュー(skew)して伝播遅延をもたらすことがある。この伝播遅延は、
コンピュータシステム10の電圧と温度との関数に依存し、そして長時間にわた
って変化する。
14のコア回路17までバス18に沿って伝わるのにどれくらい多くのクロック
サイクル(clock cycles)が必要とされるかを選択することが望ましいかもしれ
ない。例えば、冗長のサブシステム(図示されていない)がバス18に結合され
てよく、そしてその結果として、コヒーレンシー(coherency)の理由のために
、万一にもある一つのサブシステムが失敗する場合に備えて、サブシステムが共
に同時に同じデータを受け取ることが望ましいことがある。もう1つの例として
、クロックサイクルの数を予測する能力が、ブリッジチップセットをデバッグす
る際に役に立つかもしれない。
データ転送時間を表示すること、及び、バスの一部に第1のクロックサイクルで
始まるデータの第1の表示を提供することを含んでいる。前記バスは、第1の表
示をスキューして前記バスの別の部分において別のクロックサイクルの間に前記
データの第2の表示を生成することができる。前記データは、前記第2の表示に
応じて或る回路に転送され、その転送は、前記第1のクロックサイクルとその他
のクロックサイクルが前記所定の転送時間によってほぼ分離されるように調節さ
れる。
デバイスと、コア回路と、第2の回路とを備える。前記第1のバス・デバイスは
、前記バスに結合されており、前記バスの一部に第1のクロックサイクルで始ま
るデータの第1の表示を供給する。前記バスは、第1の表示をスキューしてその
バスの別の部分において前記データの第2の表示を生成することができる。前記
第2の回路は、前記バスに結合されており、選択された待ち時間(呼び出し時間
)の表示を受信するように構成される。前記第2の回路は、前記第2の表示に応
じて前記コア回路に前記データを転送するように構成され、前記第1のクロック
サイクル後の前記選択された待ち時間の経過時に前記コア回路が前記データを受
信するように前記転送を調節するようにも構成される。
タフェースとを備える。前記バス・インタフェースはバスに結合されており、前
記バスから第1のクロックサイクルで始まるデータの表示を受信する。前記表示
の前記バスへの提供は、先行のクロック信号で開始される。前記バス・インタフ
ェースは、前記表示に応じて前記コア回路に前記データを転送して、前記コア回
路が前記先行のクロックサイクル後の選択された待ち時間の経過時に前記データ
の受信を開始するように前記転送を調節するようにも構成される。
0は、バス52を介してホスト・ブリッジ60によって供給されるトランザクシ
ョンを受け取ることができるバス・デバイス54(できればいくつかのバス・デ
バイス54の中の1つ)を含んでいる。バス52にこのトランザクションを供給
する最中において、ホスト・ブリッジ60は、図7に示されるようなトランザク
ションのデータを示すデジタル信号(F16_Data[15:0]#と呼ばれ
る(ここで、添字「#」は否定または逆の論理を意味する))を供給する。ホス
ト・ブリッジ60は、特定のクロックサイクル(例えばXClk(図3参照)と
称されるクロック信号のサイクル「4」)において始まるF16_Data[1
5:0]#信号を供給するが、Fl6_Data[15:0]#信号の遅延バー
ジョン(delayed_Fl6Data[15:0]#と称され、図10に示
される)は、バス52による信号のスキューによって引き起こされる遅延のため
に数クロックサイクル後までバス・デバイス54によって受信されないことがあ
る。
0]#信号は、クロックサイクル番号「5」までバス・デバイス54の付近には
現われない。他の実施態様では、バス52によって導入されるスキューは、コン
ピュータシステム50の電圧や温度または他の動作条件の変動によって可変的で
あってよいので、delayed_F16Data[15:0]#信号は、クロ
ックサイクル番号「6」といった他のクロックサイクルまで現れないことがある
。しかしながら、バス52によって導入される遅延に関係なく、いくつかの実施
態様では、コンピュータシステム50は、データ転送時間或いは待ち時間の選択
が許されるように構成される。
いて、ホスト・ブリッジ60がF16_Data[15:0]#信号を供給する
時間と、バス・デバイス54のコア回路58が対応するデータを示す信号を(バ
ス・インタフェース56から)受信する時間との間に経過する時間を指してよい
。次に、待ち持間は、以下に記述される、1セットの待ち時間値(latency time
values)の一つを使って選択されてよい。このように、コンピュータシステム
50は、ホストブリッジ60からコア回路58までのデータの伝播(伝搬)に対
する待ち時間値の選択を許す決定論的スキームを実行し、待ち持間は、バス52
の長さとは独立であってよい。待ち時間値は、ホスト・ブリッジ60がデータを
供給するときのサイクルと、そのデータがコア回路58によって受信されるとき
のサイクルとの間に経過するXClk信号のサイクル数に対応してよい。
タを処理して、バス52からデータを受信することとは別の機能を実行するバス
・デバイス54の回路のことを言うものとする。バス・デバイス54は、一例と
して周辺機器コンポーネント相互接続(PCI(Peripheral Component Interco
nnect))ブリッジであってよく、これはPCIバス62をコンピュータシステ
ム50の残り部分にインタフェースする。PCIプロトコルはPCI仕様書に詳
細に記述されており、この仕様書は米国オレゴン州ポートランド97214に所
在するPCI特殊営利団体(PCI Special Interest Group, Portland. Oregon 9
7214)から入手可能である。
たバス待ち時間値は、XClk信号(図3参照)の2つのクロックサイクルを示
してよい。結果として、ホスト・ブリッジ60がバス52に(F16_Data
[15:0]#信号を介して)データを供給してから正確に(一例として)2ク
ロックサイクル後に、バス・インタフェース56は特定のデータを示すデジタル
信号(図11及び図12に描かれたような、FastDataOut{15:0
]とNDataOut[15:0]と称される信号)を(コア回路58に)供給
する。本例に関しては、もしバス52が0から2つのクロック周期の範囲にある
どれかの遅延を導入するならば、2クロックサイクルの遅延が有効である。
ュータシステム50のデバイスのストラッピング・ピン(strapping pins)53
によって選択されてよい。この場合、ストラッピング・ピン53は、特定の待ち
時間値を選択して、選択された待ち時間値をコア回路58に示すために、前もっ
て指定された論理レベルに選択的に結び付けられる。次に、コア回路58は(い
くつかの実施態様において)、多くの異なった方法の一つを使ってホスト・ブリ
ッジ60に、その選択された待ち時間値を示すことができる。例えば、バス・リ
セット信号(bus reset signal)(XRST#と呼ばれる)がアサートされる(
例えば低レベルに駆動される)と、コア回路58は、バス52の所定のラインの
論理レベルを制御することによって、選択された待ち時間値を示すことができる
。いくつかの実施態様では、ホスト・ブリッジ60のラッチ(図示されていない
)は、XRST#信号のデアサート(例えば高レベルに駆動すること)の際に望
ましい待ち時間モードを獲得し、そしてコア回路58は、以下において詳細に述
べられるWritePtrRstと呼ばれる信号のデアサート(例えば低レベル
に駆動すること)の後にバス52のラインの制御をやめてよい。
く、それぞれのラインの信号は本目的のためにF16_Data[2:0]#で
ラベル付けされる。待ち時間モードに対する異なる可能な値、及び、F16_D
ata[2:0]#信号の対応する論理レベルが、図20に示されている。留意
すべきことは、例えば、F16_Data[2:0]#信号が「111b」(添
字「b」はバイナリ表現を表す)にセットされると、決定論的スキームは使用さ
れず、従って、待ち時間値は選択されない。
セット信号(write pointer reset signal)(図14でWritePtrRst
と称される)と読み出しポインタリセット信号(read pointer reset signal)
(図15でReadPtrRstと称される)により、それぞれバス・インタフ
ェース56へのデータのフローとバスインタフェース56からのデータのフロー
とを同期させる。WritePtrRst信号及びReadPtrRst信号は
、いくつかの実施態様において、ホスト・ブリッジ60のリセット論理回路(re
set logic)72(図2参照)によって供給されてよく、また、いくつかの実施
態様においては、これらの信号は、バス・デバイス54のリセット論理回路(図
示されていない)によって供給されてよい。この場合、リセット論理回路72は
、ホスト・ブリッジ60がバス・インタフェース56にデータを記憶させる目的
のためにバス52へのデータの供給を開始してから所定数のクロックサイクル後
にWritePtrRst信号をデアサート(例えば低レベルに駆動)してよい
。リセット論理回路72は、ホスト・ブリッジ60がバス・インタフェース56
からデータを回収する(そしてそのデータをコア回路58に提供する)目的のた
めに、バス52へのデータの供給を開始してから所定数のクロックサイクル後に
ReadPtrRst信号をデアサート(例えば低レベルに駆動)してよい。
ス56のオペレーションとホスト・ブリッジ60のオペレーションとを同期させ
るために、XClkクロック信号(図3参照)を使用する。この場合、位相同期
ループ(PLL(phase locked loop))或いは遅延同期ループ(DLL(delay
locked loop))は、ホスト・ブリッジ60内に配置してよく、またXClk信
号がホストブリッジ60及びバス・デバイス54に同期することを保証するため
にバス・デバイス54内にも配置してよい。
(図4参照)がデアサートされた(低レベルに駆動された)後に、バス52への
データの供給を開始する。一例として、ホスト・ブリッジ60は、XRST#信
号のデアサートの(例えば待ち時間値「2」に対して)2クロックサイクル後に
バス52へのデータの供給を開始してよい。従って、図3,図4及び図7に示さ
れるように、本例においては、もしXRST#信号がクロックサイクル番号「2
」でデアサートされるなら、ホストブリッジ60はクロックサイクル番号「4」
の間にデータを供給し始める。
#信号によって)バス52へのデータの供給を開始する前に、XRST#信号は
デアサートされる。XRST#信号がデアサートされた後に、リセット論理回路
72は、所定数のクロックサイクル後にReadPtrRst信号をデアサート
してバス・インタフェース56にコア回路58へのデータの供給を開始させる。
しかしながら、リセット論理回路72がReadPtrRst信号をデアサート
する前に、このリセット論理回路72は、バスインタフェース56にデータを記
憶する目的のために、XRST#信号がデアサートされた所定数のクロック信号
後にWritePtrRst信号をデアサートする。こうして、リセット論理回
路72は、WritePtrRst信号のデアサートとReadPtrRst信
号のデアサートとの間の時間を調整して選択された待ち時間を設定する。以下に
おいて更に説明されるように、バス・インタフェース56は、バス・インタフェ
ース56がコア回路58にデータを提供する前に一時的にデータを記憶するため
の一つ以上のバッファ(例えば、FIFO(先入れ先出し)(first-in-first-o
ut)メモリ)を備えている。
ata[15:0]#信号(及び、結果として生じるdelayed_F16D
ata[15:0]#信号)は、XClk信号の周波数の約2倍で計時(clock
)される。この場合、書き込みトランザクションの間に、ホスト・ブリッジ60
は、XClk信号のそれぞれのサイクルの前半分の間にF16_Data[15
:0]#信号にダブルワードの前半分(添字「P」によって記された)を示させ
、そしてXClk信号のそれぞれのサイクルの後半分の間にF16_Data[
15:0]#信号にダブルワードの後半分(添字「N」によって記された)を示
させることによって、データを時間多重化する。バス・インタフェース56によ
るデータの受信を制御するために、ホスト・ブリッジ60は、pstb#(図5
参照)及びnstb#(図6参照)と呼ばれるストローブ信号(strobe signals
)を供給してよい。バス52は、pstb#(図5参照)及びnstb#(図6
参照)を、それぞれ、バス・デバイス54の付近でdelayed_pstb#
(図8参照)とdelayed_nstb#(図9参照)にスキューする。次に
、バス・インタフェース56は、バス52からバスインタフェース56へデータ
を計時するために、delayed_pstb#及びdelayed_nstb
#信号を使用する。特に、いくつかの実施態様では、バス・インタフェース56
は、delayed_nstb#信号のそれぞれの負エッジ(negative edge)
上でダブルワードの後半を受信して、delayed_pstb#信号のそれぞ
れの負エッジ上でダブルワードの前半を受信する。以下においてさらに説明され
るように、バス・インタフェース56は、DataOut[31:0](図13
参照)と呼ばれる信号によってコア回路58に十分なダブルワードを示すことが
できる。
ス56は、それぞれのダブルワードの後半を受信するように構成されたN−スト
ローブ・サンプル及びキャプチャ論理(N-strobe sample and capture logic)
70と、それぞれのダブルワードの前半を受信するように構成されたP−ストロ
ーブ・サンプル及びキャプチャ論理(P-strobe sample and capture logic)6
8とを備えている。論理回路70は、受信したデータを記憶するためのFIFO
メモリ81を含んでよい。この場合、データは、リセット倫理回路72がWri
tePtrRst信号をデアサートした後に、delayed_nstb#信号
に従ってバス52からFIFOメモリ81に書き込まれる。リセット論理回路7
2は、データがFIFOメモリ81から回収または読み出される時期を制御する
ために選択的にReadPtrRst信号をデアサートできる。同様に、論理回
路68は、受信したデータを記憶するためのFIFOメモリ80を含んでよく、
リセット論理回路72がWritePtrRst信号をデアサートした後に、適
切なデータがdelayed_pstb#信号に従ってFIFOメモリ80に書
き込まれる。リセット論理回路72がReadPtrRst信号をデアサートす
ると、データはFIFOメモリ80から回収される。
[31:0]と呼ばれる)信号を供給するマージ・バッファ(merge buffer)6
6も含んでよい。マージ・バッファ66は、論理回路70からNDataOut
[15:0]信号、そして論理回路68からFastDataOut[15:0
]信号を受信する。マージ・バッファ66は、これらの信号を組み合わせて、D
ataOut[31:0]信号によって示される対応するオリジナルのダブルワ
ードを形成する。
ンプル及びキャプチャ論理回路70は、論理回路70の書き込みポインタ(writ
e pointer)84によって制御されるようなdelayed_F16Data[
15:0]#信号を受信するFIFOメモリ81を含んでよい。この場合、書き
込みポインタ84は、データの次に入ってくるワードを記憶するためのFIFO
メモリ81のロケーションを選ぶために書き込みイネーブル信号(write enable
signal)を供給してよい。論理回路70は、読み出しポインタ(read pointer
)86も含んでよく、それはFIFOメモリ81からワードを回収する目的で選
択的に3状態バッファ(tri-state buffers)88がFIFOメモリ81のロケ
ーションを選ぶことを可能にするための読み出しイネーブル信号(read enable
signal)を供給する。いくつかの実施態様では、書き込みポインタ84及び読み
出しポインタ86がXRST#信号のアサーションによって初期化される時に、
書き込みポインタ84は、読み出しポインタ86によって示されるローケーショ
ンよりも先のFIFOメモリ81の一つのローケーションを示すように初期化さ
れる。一例として、XRST#信号アサーションの間に、読み出しポインタ86
は、FIFOメモリ81のロケーション「0」が3状態バッファ88を介してフ
ローするのを許してよく、そしてFIFOメモリ81のローケーション「1」は
データを受信するためにオープンになる。
b#信号の負エッジによって計時され、読み出しポインタ86は、XClk信号
の負エッジによって計時される。この構成のために、ReadPtrRst信号
がデアサートされた後のXClk信号の最初の負エッジ上で、NDataOut
[15:0]信号がFIFOロケーション数「1」に記憶されたワードを示すよ
うに、読み出しポインタ86はFIFOロケーション数「1」に増加する。XC
lk信号の次の正エッジ上で、そのワードはマージ・バッファ66の16の最下
位ビットに記憶される。
回路68は、以下に説明するような若干の主要な違いはあるが、論理回路70と
類似の設計を有する。特に、論理回路70は、delayed_pstb#信号
の負エッジ上で計時される書き込みポインタ90(FIFOメモリ80用のもの
)を含んでいる。読み出しポインタ92(FIFOメモリ80用のもの)は、X
Clk信号の正エッジ上で計時される。FIFOメモリ80は、delayed
_F16Data[15:0]#信号を受信し、読み出しポインタ92によって
指し示される(FIFOメモリ80における)ロケーションは、3状態バッファ
94に結合される。次に、3状態バッファ94はFastDataOut[15
:0]信号を供給し、そしてマージ・バッファ66は、FastDataOut
[15:0]信号の論理状態を取得してDataOut[31:16]信号を形
成する。論理回路70のポインタに類似して、読み出しポインタ92の可動化(
enablement)は、ReadPtrRst信号によって制御され、そして書き込み
ポインタ90の可動化は、WritePtrRst信号によって制御される。
して所定数のクロックサイクルだけXRST#信号を遅らせるための遅延チェー
ンを構成するD型フリップ・フロップ100(例えば100a,100b,10
0c,100d及び100e)を含んでいる。それぞれのフリップ・フロップ1
00は、XClk信号によって計時される。フリップ・フロップ100aは、反
転入力端子(inverting input terminal)においてXRST#信号を受信して、
そしてWritePtrRst信号を供給する。フリップ・フロップ100b,
100c,100c及び100dの出力端子は、マルチプレクサ104の異なっ
た入力端子に接続される。マルチプレクサ104のセレクト入力端子は、例えば
、選択された待ち時間値を示すためにコア回路58によって(例えばバス52を
介して)提供されるLatencyModeSelect[1:0]信号と結合
される。この場合、マルチプレクサ104の出力信号は、LatencyMod
eSelect[1:0]信号によって選択された多数のクロックサイクルだけ
遅延させられたXRST#信号を示す。次に、マルチプレクサ104の出力信号
は、ReadPtrRst信号を供給するD型フリップ・フロップ102によっ
て受信される。
80の読み出し待ち時間がコア回路58が許容できる値よりも大きいなら、P−
ストローブ・キャプチャ及びサンプル論理回路68はP−ストローブ・キャプチ
ャ及びサンプル論理回路110に置き換えられてよい。論理回路110は、以下
に指摘されるような違いはあるが、論理回路68と類似の設計を有する。特に、
論理回路110は、3状態バッファ94の出力端子とマージ・バッファ66の入
力端子との間に結合されるサンプル・バッファ112を含んでいる。サンプルバ
ッファ112はXClk信号によって計時される。望ましい待ち時間を実現する
目的のために、(読み出しポインタ92と置き換わる)読み出しポインタ114
は、初期化された読み出しポインタ92より一つ先のFIFOロケーションを示
すように初期化される。すなわち、読み出しポインタ114及び書き込みポイン
タ90は、初期化されると、同じロケーションを示す。この実施態様では、バス
52からのデータライン及びストローブラインは、サンプル・バッファ112の
セットアップ時間と一致する。
70も、FIFOメモリ81に付随する待ち時間問題を補償するために、サンプ
ル・バッファ112と類似の設計のサンプル・バッファを使用してよい。
バイス54のコア回路58によって提供される選択された待ち時間を獲得するた
めのラッチ(latch)を備えてよい。この場合、コア回路58は適切な待ち時間
を選ぶためにリセット論理回路72にLatencyModeSelect[1
:0]信号を供給する。図17に戻るが、これを実現するために、読み出しポイ
ンタ86及び書き込みポインタ84は、FIFOメモリ81における同じローシ
ョンを指し示すようにリセットの間に初期化される。このように、リセットの間
に、待ち時間を選択するために拡張バス・デバイス59によって供給された信号
は、FIFOメモリ81を通って、ホスト・ブリッジ60のコア回路に流れる。
次に、ホスト・ブリッジ60のコア回路は、リセット論理回路72がWrite
PtrRst信号をデアサートする時に、これらの信号の論理状態をラッチする
。
出しポインタ86よりも一つ先のFIFOメモリロケーションを示す。これを起
こさせるために、リセット論理回路72は、図22に図示されたリセット論理回
路73に置き換えられてよい。このリセット論理回路73は、マルチプレクサ1
04の出力端子とフリップ・フロップ102の入力端子との間に結合された追加
のD型フリップ・フロップ130を論理回路73が含むことを除けば、リセット
論理回路72と類似の設計を有する。フリップ・フロップ130は、XClk信
号によって計時される。この場合、フリップ・フロップ130は、ReadPt
rRst信号をXClk信号の1サイクル分だけ遅らせて、読み出しポインタ8
6がリセット状態から脱する前に、書き込みポインタ84が読み出しポインタ8
6によって示されたロケーションより一つ先のロケーションを示すことを可能に
する。
4,図25,図26及び図27に示されている。リセット論理回路73がWri
tePtrRst信号(図23参照)をアサートする間に、書き込みポインタ8
4は、FIFOメモリ81におけるロケーション「0」を指し示す信号(図25
に示すようなPWritepointer[3:0]と呼ばれる信号)を供給す
る。同じように、リセット論理回路73がWritePtrRst信号をアサー
トする間に、読み出しポインタ86(図17参照)はFIFOメモリ81におけ
るロケーション「0」を指し示す信号(図26に示すようなPReadPoin
ter[3:0]と呼ばれる信号)を供給する。WritePtrRst信号が
アサートされる時も、バス・デバイス54は、バス52の所定ラインの論理レベ
ルを設定して例えば図27に示されたような2クロックサイクルの待ち時間とい
った待ち時間値を選択する。リセット論理回路73がWritePtrRst信
号をデアサートした後に、読み出しポインタ86は、書き込みポインタ84より
1クロックサイクルだけ長くリセットが抑えられる。その結果、PReadPo
inter[3:0]信号は、PWritePointer[3:0]信号がF
IFOメモリロケーション「1」を示した1クロックサイクル後に、FIFOメ
モリロケーション「1」を示す。
ストバス158に接続されたプロセッサ154を備えている。本明細書において
、用語「プロセッサ」は、一般に、一つ以上の中央処理装置(CPU)、マイク
ロコントローラ或いはマイクロプロセッサ(例えば、X86マイクロプロセッサ
(X86 microprocessor),ペンティアム(登録商標)マイクロプロセッサ(Pent ium microprocessor)或いはアドバンストRISCコントローラ((Advanced R ISC Controller)(ARM))を意味する。さらに、用語「コンピュータシステ ム」は、2,3の例としてデスクトップコンピュータ,ラップトップコンピュー タ,電気器具或いはセットトップボックス等のようなタイプのプロセッサベース のシステムを意味する。このように、本発明は、例示されたコンピュータシステ ム50に限定されることは意図されておらず、コンピュータシステム50は、本 発明の多くの実施態様のほんの一例である。
ラフィックスポート(AGP(Accelerated Graphics Port))・バス162に
接続されてよい。AGPは、米国カリフォルニア州サンタクララに所在するイン
テル社によって1996年7月31日に公表されたアクセレレーテッドグラフィ
ックスポートインタフェース仕様書改訂版1.0に詳細に記述されている。AG
Pバス162は、例えば、ディスプレイ165を制御するビデオコントローラ1
64に接続されていてよい。ホスト・ブリッジ60は、AGPバス162とホス
ト・バス158をメモリ・バス161に結合している。また、メモリ・バス16
1は、システム・メモリ156に結合されている。
0に接続される他のブリッジ又は入力/出力(I/O)ハブ168に結合されて
いる。また、I/Oハブ168は、例えばCD−ROMドライブ182やハード
ディスク装置184に接続されてよい。I/O拡張バス170は、例えば、フロ
ッピー(登録商標)ディスク装置176の動作を制御すると共にキーボード17 8やマウス180から入力データを受信するI/Oコントローラ174に接続さ れてよい。
本開示からヒントを得て、多数の修正や変更を考えつくことができるであろう。
請求項の記載は、本発明の技術的思想とその範囲に属するそうした全ての修正や
変更をカバーするように意図されている。
図である。
概略図である。
路の概略図である。
めの信号を示した図表である。
る。
路の概略図である。
ミング図である。
Claims (19)
- 【請求項1】 コンピュータシステムに使用される方法であって、 所定のデータ転送時間を指示し、 バスの一部へ第1のクロックサイクルで始まるデータの第1の表示を供給し、
この際に前記バスが前記第1の表示をスキューして前記バスの別の部分において
前記データの第2の表示を生成することができるようにし、 前記第2の表示に応じてメモリに前記データの第3の表示を記憶し、 別のクロックサイクルの最初に、前記第2の表示に応じて前記データの第3の
表示を回路に伝達し、 前記第1のクロックサイクルと前記別のクロックサイクルとが前記所定の転送
時間によってほぼ分離されるように前記伝達を調節する、 ことを特徴とする方法。 - 【請求項2】 前記所定のデータ転送時間は一つ又はそれ以上のクロック周
期を含むことを特徴とする請求項1に記載の方法。 - 【請求項3】 前記データの第3の表示を前記メモリに記憶する動作は、前
記メモリへの前記第3の表示の記憶を、前記第1のクロックサイクル後の第2の
所定数のクロックサイクルの経過時に開始することを含むことを特徴とする請求
項1に記載の方法。 - 【請求項4】 前記供給動作と前記伝達動作とを共通のクロック信号に同期
させることをさらに含むことを特徴とする請求項1に記載の方法。 - 【請求項5】 前記指示動作は、前記所定のデータ転送時間の表示を前記バ
スに供給することを含むことを特徴とする請求項1に記載の方法。 - 【請求項6】 バスと、 前記バスに結合されており、前記バスの一部へ第1のクロックサイクルで始ま
るデータの第1の表示を供給する第1のバス・デバイスと、 前記第1の表示をスキューして前記バスの別の部分において前記データの第2
の表示を生成することができる前記バスと、 コア回路と、 前記バスに結合されており、選択された待ち時間の表示を受信し、前記第2の
表示に応じてそれ自身のメモリに前記データの第3の表示を記憶し、前記第2の
表示に応じて前記データの前記第3の表示を前記コア回路に伝達することを別の
クロックサイクルにおいて開始して、前記第1のクロックサイクル後の前記選択
された待ち時間の経過時に前記コア回路が前記データを受信するように前記伝達
を調節する、第2の回路と、 をそれぞれ備えることを特徴とするコンピュータシステム。 - 【請求項7】 前記選択された待ち時間は所定数のクロックサイクルを含む
ことを特徴とする請求項6に記載のコンピュータシステム。 - 【請求項8】 前記第2の回路は、更に、 前記第1のクロックサイクル後の第2の所定数のクロックサイクルの経過時に
前記データを前記メモリに記憶することを開始するように構成されていることを
特徴とする請求項6に記載のコンピュータシステム。 - 【請求項9】 前記第2の回路は、 メモリと、 前記メモリから前記第3の表示の少なくとも一部を回収するために前記メモリ
におけるロケーションを指示するための読み出しポインタ回路と、 第1のクロック信号に応じて前記読み出しポインタ回路をイネーブルにするよ
うに構成された論理回路と、 を備えていることを特徴とする請求項6に記載のコンピュータシステム。 - 【請求項10】 前記論理回路は、更に、前記第1のクロックサイクル後の
所定数のクロックサイクルの経過時に前記読み出しポインタ回路をイネーブルに
するように構成されていることを特徴とする請求項9に記載のコンピュータシス
テム。 - 【請求項11】 前記第2の回路は、 メモリと、 前記メモリに前記第3の表示の少なくとも一部を記憶するために前記メモリに
おけるロケーションを指示するための書き込みポインタ回路と、 第1のクロック信号に応じて前記書き込みポインタ回路をイネーブルにするよ
うに構成された論理回路と、 を備えていることを特徴とする請求項6に記載のコンピュータシステム。 - 【請求項12】 前記論理回路は、更に、前記第1のクロックサイクル後の
所定数のクロックサイクルの経過時に前記書き込みポインタ回路をイネーブルに
するように構成されていることを特徴とする請求項11に記載のコンピュータシ
ステム。 - 【請求項13】 コア回路と、 バスに結合されており、既に先行のクロック信号から前記バスへの供給が始め
られた、第1のクロックサイクルで始まるデータの第1の表示を、前記バスから
受信し、前記第1の表示に応じてそれ自身のメモリに前記データの第2の表示を
記憶し、前記データの第3の表示の前記コア回路への伝達を別のクロックサイク
ルにおいて開始し、前記先行のクロックサイクル後の選択された待ち時間の経過
時に始まる前記データの前記第3の表示を前記コア回路が受信するように前記伝
達を調節する、ように構成されたバス・インタフェースと、 を備えていることを特徴とするバス・デバイス。 - 【請求項14】 前記選択された待ち時間は所定数のクロックサイクルを含
むことを特徴とする請求項13に記載のバス・デバイス。 - 【請求項15】 前記バス・インタフェースは、更に、前記メモリへの前記
データの記憶を前記第1のクロックサイクル後の第2の所定数のクロックサイク
ルの経過時に開始するように構成されていることを特徴とする請求項13に記載
のバス・デバイス。 - 【請求項16】 前記メモリから前記第3の表示の少なくとも一部を回収す
るために前記メモリにおけるロケーションを指示するように構成された読み出し
ポインタ回路と、 第1のクロック信号に応じて前記読み出しポインタ回路をイネーブルにするよ
うに構成された論理回路と、 を備えていることを特徴とする請求項13に記載のバス・デバイス。 - 【請求項17】 前記論理回路は、更に、前記第1のクロックサイクル後の
所定数のクロックサイクルの経過時に前記読み出しポインタ回路をイネーブルに
するように構成されていることを特徴とする請求項16に記載のバス・デバイス
。 - 【請求項18】 前記バス・インタフェースは、 メモリと、 前記メモリに前記データの前記第2の表示の少なくとも一部を記憶するために
前記メモリにおけるロケーションを指示するように構成された書き込みポインタ
回路と、 第1のクロック信号に応じて前記書き込みポインタ回路をイネーブルにするよ
うに構成された論理回路と、 を備えていることを特徴とする請求項13に記載のバス・デバイス。 - 【請求項19】 前記論理回路は、更に、前記第1のクロックサイクル後の
所定数のクロックサイクルの経過時に前記書き込みポインタ回路をイネーブルに
するように構成されていることを特徴とする請求項18に記載のバス・デバイス
。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/222,213 US6078980A (en) | 1998-12-29 | 1998-12-29 | Regulating a data transfer time |
US09/222,213 | 1998-12-29 | ||
PCT/US1999/022499 WO2000039682A1 (en) | 1998-12-29 | 1999-09-29 | Regulating a data transfer time |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002533832A true JP2002533832A (ja) | 2002-10-08 |
JP3686834B2 JP3686834B2 (ja) | 2005-08-24 |
Family
ID=22831339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000591510A Expired - Fee Related JP3686834B2 (ja) | 1998-12-29 | 1999-09-29 | データ転送時間の調節方法、コンピュータシステム及びバス・デバイス |
Country Status (8)
Country | Link |
---|---|
US (1) | US6078980A (ja) |
EP (1) | EP1141832B1 (ja) |
JP (1) | JP3686834B2 (ja) |
AT (1) | ATE412217T1 (ja) |
AU (1) | AU6272299A (ja) |
DE (1) | DE69939782D1 (ja) |
HK (1) | HK1038088A1 (ja) |
WO (1) | WO2000039682A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006525587A (ja) * | 2003-05-07 | 2006-11-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データを伝送する処理システム及び方法 |
WO2019077900A1 (ja) * | 2017-10-19 | 2019-04-25 | Necプラットフォームズ株式会社 | 非同期fifo回路 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2790892A1 (fr) * | 1999-03-12 | 2000-09-15 | Canon Kk | Procede et dispositif de controle de la synchronisation entre deux bus de communication serie d'un reseau |
US7107383B1 (en) * | 2000-05-03 | 2006-09-12 | Broadcom Corporation | Method and system for multi-channel transfer of data and control information |
US6346828B1 (en) | 2000-06-30 | 2002-02-12 | Intel Corporation | Method and apparatus for pulsed clock tri-state control |
US7269672B2 (en) * | 2003-08-19 | 2007-09-11 | Fujitsu Limited | Bus system design method, bus system, and device unit |
US8208522B2 (en) * | 2008-03-07 | 2012-06-26 | Nokia Corporation | System and methods for receiving OFDM symbols having timing and frequency offsets |
TWI433163B (zh) * | 2009-12-23 | 2014-04-01 | Mstar Semiconductor Inc | 記憶體控制器及其控制方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5717046A (en) * | 1980-07-03 | 1982-01-28 | Fujitsu Ltd | Skew compensating circuit |
JPS62194755A (ja) * | 1986-02-21 | 1987-08-27 | Nippon Telegr & Teleph Corp <Ntt> | スキユ−補償方式 |
US4949249A (en) * | 1987-04-10 | 1990-08-14 | Prime Computer, Inc. | Clock skew avoidance technique for pipeline processors |
US5463739A (en) * | 1992-12-22 | 1995-10-31 | International Business Machines Corporation | Apparatus for vetoing reallocation requests during a data transfer based on data bus latency and the number of received reallocation requests below a threshold |
US5625805A (en) * | 1994-06-30 | 1997-04-29 | Digital Equipment Corporation | Clock architecture for synchronous system bus which regulates and adjusts clock skew |
US5717932A (en) * | 1994-11-04 | 1998-02-10 | Texas Instruments Incorporated | Data transfer interrupt pacing |
US5623649A (en) * | 1995-10-31 | 1997-04-22 | Texas Instruments Incorporated | Method and apparatus for passing a bus clock signal from a computer to an expansion chassis |
US5778194A (en) * | 1996-04-08 | 1998-07-07 | Symbios, Inc. | Method and apparatus for measuring performance of a computer bus |
US5894559A (en) * | 1996-08-15 | 1999-04-13 | Advanced Micro Devices, Inc. | System for selectively reducing capture effect in a network station by increasing delay time after a predetermined number of consecutive successful transmissions |
US5872959A (en) * | 1996-09-10 | 1999-02-16 | Lsi Logic Corporation | Method and apparatus for parallel high speed data transfer |
US5898895A (en) * | 1996-10-10 | 1999-04-27 | Unisys Corporation | System and method for controlling data transmission rates between circuits in different clock domains via selectable acknowledge signal timing |
-
1998
- 1998-12-29 US US09/222,213 patent/US6078980A/en not_active Expired - Lifetime
-
1999
- 1999-09-29 AU AU62722/99A patent/AU6272299A/en not_active Abandoned
- 1999-09-29 DE DE69939782T patent/DE69939782D1/de not_active Expired - Lifetime
- 1999-09-29 WO PCT/US1999/022499 patent/WO2000039682A1/en active Application Filing
- 1999-09-29 EP EP99949955A patent/EP1141832B1/en not_active Expired - Lifetime
- 1999-09-29 JP JP2000591510A patent/JP3686834B2/ja not_active Expired - Fee Related
- 1999-09-29 AT AT99949955T patent/ATE412217T1/de not_active IP Right Cessation
-
2001
- 2001-12-20 HK HK01108937.8A patent/HK1038088A1/xx not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006525587A (ja) * | 2003-05-07 | 2006-11-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データを伝送する処理システム及び方法 |
WO2019077900A1 (ja) * | 2017-10-19 | 2019-04-25 | Necプラットフォームズ株式会社 | 非同期fifo回路 |
US11205463B2 (en) | 2017-10-19 | 2021-12-21 | Nec Platforms, Ltd. | Asynchronous FIFO circuit |
Also Published As
Publication number | Publication date |
---|---|
JP3686834B2 (ja) | 2005-08-24 |
HK1038088A1 (en) | 2002-03-01 |
ATE412217T1 (de) | 2008-11-15 |
DE69939782D1 (de) | 2008-12-04 |
EP1141832B1 (en) | 2008-10-22 |
EP1141832A1 (en) | 2001-10-10 |
WO2000039682A1 (en) | 2000-07-06 |
AU6272299A (en) | 2000-07-31 |
US6078980A (en) | 2000-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6763416B1 (en) | Capturing read data | |
JP3856696B2 (ja) | 2倍データ速度同期式動的ランダムアクセスメモリのための構成可能同期装置 | |
US6668292B2 (en) | System and method for initiating a serial data transfer between two clock domains | |
US6907487B2 (en) | Enhanced highly pipelined bus architecture | |
JP3873089B2 (ja) | 互いに非同期の2つのバス間でデータ転送を同期する際の累積時間遅延を低減するもの | |
US6687322B1 (en) | Dual mode clock alignment and distribution device | |
JP2002509315A (ja) | ソース同期および共通クロック・プロトコルによるデータ転送 | |
JP2002539525A (ja) | 弾性インターフェース装置およびそのための方法 | |
US5649175A (en) | Method and apparatus for acquiring bus transaction address and command information with no more than zero-hold-time and with fast device acknowledgement | |
US6112307A (en) | Method and apparatus for translating signals between clock domains of different frequencies | |
JP2002539526A (ja) | 動的ウェーブパイプライン式インターフェース装置およびその方法 | |
US5564042A (en) | Asynchronous clock switching between first and second clocks by extending phase of current clock and switching after a predetermined time and appropriated transitions | |
CN109032973A (zh) | Icb总线系统及协议 | |
CN106294239A (zh) | 一种外围总线apb总线桥 | |
US6948017B2 (en) | Method and apparatus having dynamically scalable clock domains for selectively interconnecting subsystems on a synchronous bus | |
US5777500A (en) | Multiple clock source generation with independently adjustable duty cycles | |
US6970962B2 (en) | Transfer request pipeline throttling | |
JP2002533832A (ja) | データ転送時間の調節方法、コンピュータシステム及びバス・デバイス | |
KR100963706B1 (ko) | 데이터 전송 방법, 데이터 전송 브리지 및 고속 데이터전송 장치 | |
US5623645A (en) | Method and apparatus for acquiring bus transaction data with no more than zero-hold-time | |
US6954869B2 (en) | Methods and apparatus for clock domain conversion in digital processing systems | |
EP1750203B1 (en) | Data bus mechanism for dynamic source synchronized sampling adjust | |
US6640277B1 (en) | Input staging logic for latching source synchronous data | |
US6584536B1 (en) | Bus transaction accelerator for multi-clock systems | |
US6041380A (en) | Method for increasing the number of devices capable of being operably connected to a host bus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050506 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050531 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050606 |
|
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: 20090610 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090610 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100610 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110610 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |