JP2003058495A - アービトレーション遅延を設定するプログラマブル・カウンタ - Google Patents

アービトレーション遅延を設定するプログラマブル・カウンタ

Info

Publication number
JP2003058495A
JP2003058495A JP2002143515A JP2002143515A JP2003058495A JP 2003058495 A JP2003058495 A JP 2003058495A JP 2002143515 A JP2002143515 A JP 2002143515A JP 2002143515 A JP2002143515 A JP 2002143515A JP 2003058495 A JP2003058495 A JP 2003058495A
Authority
JP
Japan
Prior art keywords
delay
bus
memory
count number
arbitration
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
JP2002143515A
Other languages
English (en)
Inventor
Brian A Day
ブライアン・エイ・デイ
Robert E Ward
ロバート・イー・ウォード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LSI Corp
Original Assignee
LSI Logic Corp
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 LSI Logic Corp filed Critical LSI Logic Corp
Publication of JP2003058495A publication Critical patent/JP2003058495A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0036Small computer system interface [SCSI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Pulse Circuits (AREA)

Abstract

(57)【要約】 【課題】 ハードウェアの設計を過渡の変更せずにタイ
ミング・パラメータを変更すること。 【解決手段】 カウンタを用いて、クロック・サイクル
の数をカウントして遅延を計時する。クロック・サイク
ルの数は、メモリからカウンタに予めロードしておく。
これによって、タイミング・パラメータの変更に際し
て、高価な設計変更が不要になる。この場合に、変更し
なければならないのは、カウントされるクロック・サイ
クルの数だけであり、これは、メモリを交換又は再度プ
ログラムすることによって修正することができるからで
ある。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、広くは、バス信号
における遅延を発生する方法及び装置に関する。更に詳
しくは、本発明は、遅延を発生する方法及び装置であっ
て、バス仕様が更新されるとその遅延周期(delay peri
od)を容易に変更することが可能であるような方法及び
装置に関する。
【0002】
【従来の技術】典型的なコンピュータ・システムは、計
算を実行する中央処理装置(CPU)と、メモリと、周
辺装置とを含む。ここでいう周辺装置とは、ディスプレ
イ・モニタ、プリンタ及びディスク・ドライブなど、オ
フラインでの記憶と外部との通信のための装置である。
しかし、これらの構成要素は、相互に接続する何かがな
ければ、システムとして機能しない。
【0003】コンピュータ・システムの構成要素を相互
接続する基本的な装置は、バスとして知られている。バ
スとは、装置の間での通信を可能にする信号のグループ
である。バスはデータの高速道路のようなものであり、
コンピュータ・システムの構成要素は、入口ランプと出
口ランプとに配置されていることになる。例えば、中央
処理装置とメモリと周辺装置とは、すべてを、1つのバ
スに並列に接続することができる。
【0004】コンピュータ・システムでは、複数の異な
るレベルのバスが存在することがある。最も低いレベル
には、コンポーネント指向の(ローカルな)バスがあ
り、このバスは直接にCPUに接続されている。コンポ
ーネント指向のバスは、一般的に、用いられている特定
のCPUに固有である。例えば、ペンティアム(登録商
標)・マイクロプロセッサ(CPU)を中心として構築
されているコンピュータ・システムにおけるコンポーネ
ント指向のバスは、パワーPCマイクロプロセッサ(C
PU)とは互換性がない。
【0005】しかし、多くのコンピュータには、複数の
レベルのバスが存在する(特に、新しいコンピュータ・
システムではそうである)。コンポーネント指向のバス
は、しばしば、バックプレーン又はシステム・バスを用
いて補完される。バックプレーン・バスは、直接にCP
Uとインターフェースすることはないが、バックプレー
ン・ホスト間のブリッジによってコンポーネント指向バ
スに接続される。
【0006】バックプレーン・ブリッジの使用には多く
の利点があるが、その中の2つは特に重要である。第1
に、バックプレーン・バスはコンポーネント指向のバス
とCPUとに直接に接続されていないので、バックプレ
ーン・バス上のコンポーネントが故障したとしても、そ
の故障が分離されているため、システム全体が故障する
可能性は小さい。第2に、バックプレーン・バスは特定
モデルのプロセッサに固有であることを要しないので、
プロセッサの選択とは独立なバックプレーン・バスの標
準を有することが可能である。これにより、入力/出力
(I/O)アダプタなどの周辺装置が、共通点のない計
算プラットフォームの間で相互に交換可能であることが
可能となる。
【0007】バックプレーン・バスから更に離れた1つ
のレベルのものとして、周辺バス・システムがある。周
辺バス・システムは、真のバスではあるが、バックプレ
ーン・バス上の入力/出力アダプタの状況を通じてアク
セスされるのが一般的である。周辺周辺バスは、フロッ
ピ・ディスク・ドライブやハード・ドライブなどの記憶
装置を制御するのに広く用いられている。普及している
周辺バス標準には、スモール・コンピュータ・システム
・インターフェース(SCSI)標準やユニバーサル・
シリアル・バス(USB)標準などが含まれる。
【0008】標準的なバス・システムのすべてにおい
て、従わなければならない様々なタイミングの仕様が存
在する。例えば、SCSI周辺バス標準では、1又は複
数の装置がバスを制御することが必要な場合には、アー
ビトレーションと称されるプロセスが行われ、それによ
って、どの時点をとってもバス上のただ1つの装置だけ
がそのバスを制御できるようにしなければならない。こ
のアービトレーション及びSCSI標準の中のそれ以外
のプロセスは、バス信号のタイミングに様々な遅延を導
入することを必要とする。典型的には、これらの遅延
は、そのバス標準の仕様に従うように特に設計されてい
るカスタム・ハードウェアによって規制される。
【0009】しかし、バス標準は、静的なものではな
く、時間の経過と共に進化する。従って、あるバス標準
と関連するタイミング仕様が変化すると、そのバス標準
に従うように設計されているハードウェアは、生じた変
化を反映するように更新しなければならない。カスタム
設計のハードウェアの設計を変更しなければならないな
らば、それは、非常に時間がかかるプロセスとなる可能
性がある。必要であるのは、高価なハードウェアの変更
を要せずに更新が可能な遅延発生回路である。
【0010】
【発明の概要】本発明は、バス又はそれ以外の論理回路
のタイミングに遅延を発生することによりハードウェア
の設計に過渡の変更をすることなくタイミング・パラメ
ータを変更する方法及び装置を提供する。本発明は、あ
る数のクロック・サイクルをカウントして遅延を計時す
るカウンタを用いる。クロック・サイクルの数は、メモ
リからカウンタに予めロードされる。本発明は、このよ
うに、タイミング・パラメータの変更に際して、高価な
設計変更を不要にする。この場合に、変更しなければな
らないのは、カウントされるクロック・サイクルの数だ
けであり、これは、メモリを交換又は再度プログラムす
ることによって修正することができる。
【0011】
【発明の実施の形態】本発明に特有であると考えられる
新規な特徴は、冒頭の特許請求の範囲に記載されてい
る。しかし、本発明自体と、本発明の使用、更なる目的
及び効果とは、本発明の実施例に関する以下の詳細な説
明を添付の図面を参照しながら読むことによって最もよ
く理解することができるはずである。
【0012】本発明の好適実施例に関する説明を、例示
及び説明のために与えるが、本発明は、開示されている
形態によって網羅されてはおらず、この形態に限定され
ることもない。当業者にとっては、多くの修正や改変は
明らかであろう。実施例は、本発明の原理と実際的な応
用とについて最良の説明を行うように選択され記述され
ており、それによって、この技術分野の他の当業者が、
考慮される特定の使用に提供する様々な修正を伴う本発
明を様々な実施例に関して、本発明を理解できるように
した。
【0013】次に図面、特に図1を参照すると、本発明
の好適実施例に従って本発明が実現されているデータ処
理システムの図解が与えられている。示されているコン
ピュータ100は、システム・ユニット102と、ビデ
オ・ディスプレイ端末104と、キーボード106と、
記憶装置108と、マウス10とを含む。ここで、記憶
装置108には、フロッピ・ドライブと、それ以外のタ
イプの不揮発性かつ着脱自在の記憶媒体とが含まれる。
パーソナル・コンピュータ100には、例えば、ジョイ
スティック、タッチパッド、タッチ・スクリーン、トラ
ックボール、マイクロフォンなど、追加的な入力装置が
含まれることがある。コンピュータ100は、また、コ
ンピュータ100の内部のコンピュータ可読媒体に存在
し動作するシステム・ソフトウェアによって実現される
グラフィカル・ユーザ・インターフェースを含むことが
好ましい。
【0014】次に図2を参照すると、本発明を実現しう
る。データ処理システムのブロック図が示されている。
データ処理システム200は、図1のコンピュータ10
0などの一例であり、ここに、本発明のプロセスを実現
するコード又は命令が配置されている。データ処理シス
テム200は、PCI(peripheral component interco
nnect)ローカル・バス・アーキテクチャを用いてい
る。示されている例ではPCIバスが用いられている
が、AGP(Accelerated Graphics Port)やISA(I
ndustry Standard Architecture)など、他のバス・ア
ーキテクチャを用いることもできる。プロセッサ202
とメイン・メモリ204とは、PCIブリッジ208を
介してPCIローカル・バス206に接続される。PC
Iブリッジ208は、また、プロセッサ202のための
集積化されたメモリ・コントローラ及びキャッシュ・メ
モリを含むこともある。PCIローカル・バス206へ
の追加的な接続は、直接的なコンポーネント相互接続に
より、又は、アドイン・ボードを介して行うことができ
る。示されている例では、LANアダプタ210と、S
CSIホスト・バス・アダプタ212と、拡張バス・イ
ンターフェース214とが、直接的なコンポーネント接
続によってPCIローカル・バス206に接続されてい
る。これとは対照的に、オーディオ・アダプタ216
と、グラフィクス・アダプタ218と、オーディオ/ビ
デオ・アダプタ219とは、拡張スロットに挿入された
アドイン・ボードによってPCIローカル・バス206
に接続されている。拡張バス・インターフェース214
は、キーボード及びマウス・アダプタ220と、モデム
222と、追加メモリ224とへの接続を提供する。S
CSIホスト・バス・アダプタ212は、ハードディス
ク・ドライブ226と、テープ・ドライブ228と、C
D−ROMドライブ230とへの接続を提供する。典型
的なPCIローカル・バスによる実現は、3又は4つの
PCI拡張スロット又はアドイン・コネクタをサポート
する。
【0015】オペレーティング・システムは、プロセッ
サ202上で動作し、図2のデータ処理システム200
の中の様々なコンポーネントを調整し、それらの制御を
与えている。オペレーティング・システムは、マイクロ
ソフト社から入手可能なウィンドウズ(登録商標)20
00など、市販されているオペレーティング・システム
でよい。Javaなどのオブジェクト指向型のプログラ
ミング・システムが、オペレーティング・システムと共
に動作し、データ処理システム200上で動作している
Javaプログラム又はアプリケーションからオペレー
ティング・システムにコールを提供することもありう
る。Javaは、サンマイクロシステムズ社の商標であ
る。オペレーティング・システム、オブジェクト指向プ
ログラミング・システム、アプリケーション又はプログ
ラムへの命令は、ハードディスク・ドライブ226など
の記憶装置の上に存在し、プロセッサ202によって実
行されるようにメイン・メモリ204の中にロードする
ことができる。
【0016】当業者であれば、図2におけるハードウェ
アは実装によって変化しうることを理解するはずであ
る。フラッシュROM(又は、同等の不揮発性メモリ)
や光ディスク・ドライブなど、他の内部ハードディスク
又は周辺装置を、図2に示されているハードウェアに加
えて、又は、その代わりに用いることができる。更に、
本発明のプロセスは、マルチプロセッサ・データ処理シ
ステムに応用することも可能である。
【0017】データ処理システム200は、LANアダ
プタ210やモデム222など、何らかのタイプのネッ
トワーク通信インターフェースを含みうる。他の例とし
て、データ処理システム200は、このデータ処理シス
テム200が何らかのタイプのネットワーク通信インタ
ーフェースを有しているか有していないかとは関係な
く、何らかのタイプのネットワーク通信インターフェー
スに依存することなくブート可能であるように構成され
たスタンドアロンでもよい。
【0018】図2に示されている例と上述の例とは、ア
ーキテクチャに関する限定を意図したものではない。例
えば、データ処理システム200は、ノートブック・コ
ンピュータ又はハンドヘルド・コンピュータであっても
よい。データ処理システム200は、キオスク又はウェ
ブ機器であってもよい。
【0019】図3は、本発明の好適実施例によるSCS
Iバス・システムの全体的なアーキテクチャを示す図で
ある。コンピュータ・システム300は、SCSIホス
ト・アダプタ302と双方向の通信を行う。SCSIホ
スト・アダプタ302は、SCSIバス306を介して
SCSI装置304とピア関係をベースにして動作す
る。SCSIバス306は、SCSIバス306上の装
置(SCSIホスト・アダプタ302とSCSI装置3
04とを含む)の間でのデータ伝送とデータの流れの制
御との両方のための多数の信号線を含む。
【0020】SCSIバス306上を伝送されるデータ
が混乱しないことを保証するためには、どの時点でもバ
ス上をデータを伝送することを許容されるのはただ1つ
の装置又はホスト・アダプタだけであることが本質的で
ある。従って、「SCSIバス・アービトレーション・
プロトコル」が存在し、SCSIバス306に対する制
御の割当てが、ある時点で1つの装置だけに対してなさ
れることを可能にしている。SCSI装置304とSC
SIホスト・アダプタ302とは、それぞれに対して、
優先順位が割り当てられる。複数の装置がSCSIバス
306上でデータを伝送することを必要とする場合に
は、SCSIバス・アービトレーション・プロトコルに
よって、これら複数の装置が制御を求めて競争すること
が可能となる。勝者は、常に、予め最高の優先順位を有
する装置である。
【0021】図4は、本発明の好適実施例によるSCS
Iバス・アービトレーション・プロトコルの動作を示す
簡略化されたタイミング図400を提供している。タイ
ミング図400は、信号/BSY402(ビジー信号)
と、/SEL404(選択信号)と、SCSIバス・デ
ータ線406とを含み、これらは、すべて、SCSIバ
ス306(図3の)の信号である。信号/BSY402
と、/SEL404とは、アクティブ・ロー信号であ
る。すなわち、これらは、低い(ローの)論理レベルに
導かれると、「アクティブ」な状態を示す。/BSY4
02は、情報がバス・データ線406上を送られている
ときに、アサートされる(低い論理レベルに導かれ
る)。/SEL404は、ある装置がSCSIバス30
6の制御を得るときに、その装置によってアサートされ
る。
【0022】SCSIバス306の制御を獲得すること
を必要としている装置は、/BSY402と/SEL4
04との両方がアクティブでない(高い論理レベル)状
態になるまで待機する。そして、/BSY402及び/
SEL404が共にアクティブではないときには、この
装置は、低い論理レベルにすることによって、/BSY
402をアサートする(408に示されている)。これ
は、オープン・コレクタ又はオープン・ソース論理回路
の出力を用いて/BSY402を低い論理レベルとする
ことによって、行なうことができる。次に、この装置
は、バス・データ線406上を装置のIDを伝送する
(410に示されている)。これは、IDを「バス上
に」置くとしても知られている。
【0023】アービトレーション遅延412が経過した
後で、より優先順位が高い装置がそのIDをバス上に置
くことがなければ、装置はアービトレーションに勝ち、
/SELをアサートする(414)。他方で、別のより
高い優先順位を有する装置が、アービトレーション遅延
412(416)の間のある時点でバス上にそのIDを
置くならば、元の装置はアービトレーションに敗退し、
優先順位がより高い装置が、そのアービトレーション遅
延420が経過した後で/SEL404をアサートする
(418)。本発明は、これらの遅延を発生する方法及
び装置を提供するのであって、新たな仕様がリリースさ
れると、遅延時間は容易に更新される。
【0024】図5は、SCSI装置501の中に組み入
れられており、本発明の実施例に従ってアービトレーシ
ョン遅延を発生させるサブ回路500を図解している。
レジスタ502は、カウンタ・プレロード値を保持して
いるが、この値は、その最初のカウンタ値としてバイナ
リ・カウンタ504の中にロードされる。クロック50
6は、所定の周波数で矩形波をカウンタ504に提供す
る。クロック506からのクロック・サイクルの各立下
エッジでは、カウンタ504は、そのカウンタ値を1だ
けデクリメントする。現在のカウンタ値は、カウンタ5
04の出力507から任意の時点で読み出すことができ
る。カウンタ504が最終的にゼロのカウンタ値に到達
すると、出力507は、低い論理レベル(バイナリ・ゼ
ロを表す)にある。出力507はすべてNORゲート5
08に与えられるので、NORゲートの出力510は、
出力507がゼロを読み出すときに、そして、そのとき
だけに、高い論理レベルにある。
【0025】従って、特定の時間のアービトレーション
遅延を発生させるに、適切なアービトレーション遅延周
期に含まれているクロック・サイクルの数のカウントが
レジスタ502からカウンタ504に予めロードされ
る。出力507はゼロでない値を読み出すので、出力5
10は、低い論理レベルにある。ここで、カウンタ50
4をイネーブルすることができ、クロック506からの
クロック信号は遅延周期の全体でカウンタ504をデク
リメントする。カウンタ504がバイナリ・ゼロに到達
すると、出力510は高い論理レベルに変化するが、こ
れは遅延周期の最後を意味している。このように、遅延
周期を変化させるのは、単に、レジスタ502に記憶さ
れている予めロードされた値を修正するということであ
る。
【0026】図6は、レジスタ502の実現例が示され
ており、これによって、特定の遅延周期が変化する場合
に、本発明の好適実施例に従って容易な修正が可能にな
る。集積回路600は、カウンタ504によって用いら
れる予めロードされた値を記憶するプログラマブルなメ
モリ回路を含む。このプログラマブルなメモリ回路は、
プログラマブルなROM(PROM)、消去可能なプロ
グラマブルなROM(EPROM)、フラッシュ・メモ
リ、不揮発性のRAM(NVRAM)又はそれ以外の類
似するプログラマブルなメモリで構成することができ
る。更に、このプログラマブルなメモリ回路は、RAM
で構成され、SCSI装置の電源がオンになった後でプ
ログラムされることもある。集積回路600は、また、
カウンタ504やそれ以外の制御回路など、これ以外の
回路を含むこともある。
【0027】集積回路600は、回路ボード604に取
り付けられたソケット602に挿入されるように設計さ
れている。回路ボード604は、リボン・コネクタ60
6を介して別の回路に接続されているように示されてい
る。ここで、ソケット602は、挿入力がゼロ(ZI
P)のソケットとして示されているが、これは、集積回
路600などの集積回路がラッチ608を用いて挿入さ
れてしてその位置にロックされ、アンラッチされると取
り外されることが可能な集積回路ソケットのタイプであ
る。
【0028】SCSI装置における遅延時間の調節は、
図6に示されている装置を多数の方法で用いることによ
って実行される。集積回路600は、特別のプログラミ
ング装置を用いてプログラムしなければならないPRO
MやEPROMメモリなどのプログラマブルなメモリを
含む場合には、ソケット602から取り外し、PROM
/EPROMプログラマ(図示せず)を用いて再度プロ
グラムされなければならない。集積回路がNVRAMや
フラッシュ・メモリなどある種の自己プログラマブルな
メモリを含む場合には、回路ボード604の上にある又
はリボン・コネクタ606に接続されている回路は、集
積回路600に、新たなカウンタ・プレロード値を用い
てそれ自体を再プログラムするように命令することがで
きる。また、集積回路600を、異なる設定がプログラ
ムされている新たな集積回路で置き換えることも可能で
ある。
【0029】当業者であれば、本発明は、既存のSCS
I装置が更新されなければならない場合にだけ効果を奏
するのではなく、製造業者が新たなSCSI装置を組み
立てている場合もやはり効果的であることを理解するは
ずである。タイミングの変化は、集積回路メモリにプロ
グラムされていさえすれば十分であるから、既存の製品
におけるタイミング・パラメータを変化させるのに回路
を再設計することは必要ない。メモリのプログラミング
を変更しただけの同じ回路を用いることができるのであ
る。これは、製造業者にとって、極めて便利であり、大
きな節約をもたらすことになる。
【0030】図7は、SCSI装置の中での本発明の実
施例におけるバス・アービトレーションの動作を表す流
れ図である。第1に、カウンタ・プレロード値が、その
記憶レジスタからカウンタにロードされる(ステップ7
00)。次に、SCSI装置は、バスが「バス・フリ
ー」フェーズにあるかどうかを判断しなければならない
(ステップ702)。これは、/BSY及び/SELが
アサートされていないことを意味する。バスがバス・フ
リー・フェーズに入ると、この装置は、/BSYをアサ
ートし、そのSCSI装置のIDをバス上に置く(ステ
ップ740)。次に、カウンタが付勢され、カウントダ
ウンを開始する(ステップ706)。カウントダウンが
完了すると(ステップ708)、より優先順位の高い装
置がバスを支配しているかどうかを判断する(ステップ
710)。そうである場合には、プロセスはステップ7
00に進み、バスの制御を獲得する別の機械を待機す
る。そうではなく、優先順位の高い装置がバスを支配し
ようとしているというのではない場合には、元の装置が
/SELを付勢して、バスの制御を獲得する(ステップ
712)。
【0031】当業者であれば、本発明の技術は、SCS
I仕様の内部で考慮されなければならない他の遅延時間
にも応用可能であることを理解するはずである。アービ
トレーション遅延は本発明の応用可能性の明白な例とし
て選択されたが、他の多くの遅延もまたSCSI仕様で
は考慮されなければならない。これらには、バス・クリ
ア遅延、バス・フリー遅延、バス・セット遅延、バス・
セトル遅延、データ・リリース遅延、QAS(Quick Ar
bitrate and Select)アービトレーション遅延、QAS
アサーション遅延、QASリリース遅延、リセット遅
延、選択タイムアウト遅延、システム・デスキュ遅延な
どが含まれる。これらの遅延は、SCSIパラレル・イ
ンターフェース仕様に詳細に記載されている。本発明
は、一般的なプログラマブルな遅延能力を提供するた
め、これらの遅延を発生させるのにも同じように用いる
ことができる。必要であれば、複数のカウンタ及びレジ
スタの列を用いて、複数の遅延を生じさせることができ
る。
【0032】当業者であれば、本発明は単にSCSIバ
ス・アービトレーションよりも広い範囲の応用可能性を
有していることを認識するはずである。便利なプログラ
マブルな遅延発生技術が必要とされる多くのハードウェ
ア/ソフトウェア・プロトコル、特に、PCIなどのバ
ス・プロトコルが存在している。本発明は、遅延周期の
容易な修正が可能であるどのような信号タイミングの応
用例にも応用できる。
【0033】以上で、本発明の好適実施例を、例示と説
明のために説明したが、この説明は、本発明を開示され
ている形態において網羅的であることや限定することは
意図されていない。当業者には、多くの修正及び変更が
明らかである。実施例は、本発明の原理と実際的な応用
とを最小の態様で説明するために選択され説明されたの
であり、それにより、当業者であれば、考慮される特定
の使用に適した様々な修正を伴う様々な実施例において
本発明を理解することを可能にしている。
【図面の簡単な説明】
【図1】本発明を実現することができるコンピュータ・
システムの図である。
【図2】本発明を実現することができるデータ処理シス
テムのブロック図である。
【図3】本発明の好適実施例によるSCSIバス・シス
テムのブロック図である。
【図4】本発明の好適実施例によるSCSIバス・アー
ビトレーションを示すタイミング図である。
【図5】本発明の好適実施例によるカウンタ・ベースの
遅延発生回路の図である。
【図6】本発明を実現することができる集積回路装置の
図である。
【図7】本発明の好適実施例によるSCSIバス・アー
ビトレーションの流れ図表現である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ブライアン・エイ・デイ アメリカ合衆国コロラド州80920,コロラ ド・スプリングス,カムフィールド・クリ ーク 8465 (72)発明者 ロバート・イー・ウォード アメリカ合衆国コロラド州80920,コロラ ド・スプリングス,セント・ヘレナ・ドラ イブ 8195 Fターム(参考) 5B061 AA04 BA01 BB02 RR02 RR03 RR05 5B077 GG25 5J001 BB11 BB21 CC01 DD09

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 論理回路において遅延を発生させる方法
    であって、 メモリからカウント数をロードするステップと、 前記カウント数に等しいクロック・サイクル数をカウン
    トするステップと、 前記クロック・サイクル数のカウントの完了に応答して
    信号をアサートするステップと、 を含むことを特徴とする方法。
  2. 【請求項2】 請求項1記載の方法において、前記カウ
    ント数はバス・プロトコルにおける特定された遅延に対
    応することを特徴とする方法。
  3. 【請求項3】 請求項2記載の方法において、前記カウ
    ント数は、バス・アービトレーション遅延、バス・クリ
    ア遅延、バス・フリー遅延、バス設定遅延、バス整定遅
    延、データ・リリース遅延、QAS(迅速仲裁及び選
    択)アービトレーション遅延、QASアサーション遅
    延、QASリリース遅延、リセット遅延、選択タイムア
    ウト遅延及びシステム・デスキュ遅延の中の1つに対応
    することを特徴とする方法。
  4. 【請求項4】 請求項2記載の方法において、前記バス
    ・プロトコルはスモール・コンピュータ・システム・イ
    ンターフェース(SCSI)バス・プロトコルであるこ
    とを特徴とする方法。
  5. 【請求項5】 請求項1記載の方法において、前記カウ
    ントするステップは、前記カウント数をカウンタにロー
    ドするステップを含むことを特徴とする方法。
  6. 【請求項6】 請求項1記載の方法において、前記信号
    は選択信号であることを特徴とする方法。
  7. 【請求項7】 論理回路において遅延を発生させる装置
    であって、 メモリからカウント数をロードする手段と、 前記カウント数に等しいクロック・サイクル数をカウン
    トする手段と、 前記クロック・サイクル数のカウントの完了に応答して
    信号をアサートする手段と、 を備えていることを特徴とする装置。
  8. 【請求項8】 請求項7記載の装置において、前記カウ
    ント数はバス・プロトコルにおける特定された遅延に対
    応することを特徴とする装置。
  9. 【請求項9】 請求項8記載の装置において、前記カウ
    ント数は、バス・アービトレーション遅延、バス・クリ
    ア遅延、バス・フリー遅延、バス設定遅延、バス整定遅
    延、データ・リリース遅延、QAS(迅速仲裁及び選
    択)アービトレーション遅延、QASアサーション遅
    延、QASリリース遅延、リセット遅延、選択タイムア
    ウト遅延及びシステム・デスキュ遅延の中の1つに対応
    することを特徴とする装置。
  10. 【請求項10】 請求項8記載の装置において、前記バ
    ス・プロトコルはスモール・コンピュータ・システム・
    インターフェース(SCSI)バス・プロトコルである
    ことを特徴とする装置。
  11. 【請求項11】 請求項7記載の装置において、前記カ
    ウントする手段は、前記カウント数をカウンタにロード
    する手段を含むことを特徴とする装置。
  12. 【請求項12】 請求項7記載の装置において、前記信
    号は選択信号であることを特徴とする装置。
  13. 【請求項13】 遅延を発生させる装置であって、 カウント数を含むメモリと、 クロックと、 カウンタと、 論理回路と、 を備えており、前記カウンタは前記メモリから前記カウ
    ント数をロードし、前記カウンタは前記カウント数に等
    しいクロック・サイクル数を前記クロックからカウント
    し、前記クロック・サイクル数のカウントの完了に応答
    して前記論理回路が信号をアサートすることを特徴とす
    る装置。
  14. 【請求項14】 請求項13記載の装置において、前記
    カウント数はバス・プロトコルにおける特定された遅延
    に対応することを特徴とする装置。
  15. 【請求項15】 請求項14記載の装置において、カウ
    ント数は、バス・アービトレーション遅延、バス・クリ
    ア遅延、バス・フリー遅延、バス設定遅延、バス整定遅
    延、データ・リリース遅延、QAS(迅速仲裁及び選
    択)アービトレーション遅延、QASアサーション遅
    延、QASリリース遅延、リセット遅延、選択タイムア
    ウト遅延及びシステム・デスキュ遅延の中の1つに対応
    することを特徴とする装置。
  16. 【請求項16】 請求項14記載の装置において、前記
    バス・プロトコルはスモール・コンピュータ・システム
    ・インターフェース(SCSI)バス・プロトコルであ
    ることを特徴とする装置。
  17. 【請求項17】 請求項13記載の装置において、前記
    カウントする手段は、前記カウント数をカウンタにロー
    ドする手段を含むことを特徴とする装置。
  18. 【請求項18】 請求項13記載の装置において、前記
    信号は選択信号であることを特徴とする装置。
  19. 【請求項19】 請求項13記載の装置において、前記
    メモリは不揮発性メモリであることを特徴とする装置。
  20. 【請求項20】 請求項13記載の装置において、前記
    メモリは、プログラマブル・リード・オンリ・メモリ
    (PROM)、消去可能なプログラマブル・リード・オ
    ンリ・メモリ(EPROM)、フラッシュ・メモリ、不
    揮発性ランダム・アクセス・メモリ及びランダム・アク
    セス・メモリの中の1つを含むことを特徴とする装置。
  21. 【請求項21】 請求項13記載の装置において、メモ
    リは集積回路で形成されていることを特徴とする装置。
  22. 【請求項22】 請求項13記載の装置において、周辺
    機器を更に備えていることを特徴とする装置。
  23. 【請求項23】 請求項22記載の装置において、前記
    周辺機器はスモール・コンピュータ・システム・インタ
    ーフェース(SCSI)デバイスであることを特徴とす
    る装置。
JP2002143515A 2001-05-17 2002-05-17 アービトレーション遅延を設定するプログラマブル・カウンタ Pending JP2003058495A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/860,149 US6934871B2 (en) 2001-05-17 2001-05-17 Programmable counters for setting bus arbitration delays involves counting clock cycles equal to a count number loaded from a memory
US09/860149 2001-05-17

Publications (1)

Publication Number Publication Date
JP2003058495A true JP2003058495A (ja) 2003-02-28

Family

ID=25332589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002143515A Pending JP2003058495A (ja) 2001-05-17 2002-05-17 アービトレーション遅延を設定するプログラマブル・カウンタ

Country Status (3)

Country Link
US (1) US6934871B2 (ja)
EP (1) EP1258809A3 (ja)
JP (1) JP2003058495A (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050228927A1 (en) * 2004-04-05 2005-10-13 Philip Garcia Bus utilization based on data transfers on the bus
US7941604B2 (en) * 2006-02-01 2011-05-10 Infineon Technologies Ag Distributed memory usage for a system having multiple integrated circuits each including processors
JP2008090613A (ja) * 2006-10-02 2008-04-17 Sanyo Electric Co Ltd タイマー回路及びそれを備えた信号処理回路
US7962670B2 (en) * 2007-06-06 2011-06-14 Lantiq Deutschland Gmbh Pin multiplexing
JP5418193B2 (ja) * 2009-12-14 2014-02-19 富士ゼロックス株式会社 調停装置、画像処理装置、及び画像形成システム
US20140181452A1 (en) * 2012-12-26 2014-06-26 Nvidia Corporation Hardware command training for memory using read commands
US9607714B2 (en) 2012-12-26 2017-03-28 Nvidia Corporation Hardware command training for memory using write leveling mechanism
US9824772B2 (en) * 2012-12-26 2017-11-21 Nvidia Corporation Hardware chip select training for memory using read commands
US9378169B2 (en) 2012-12-31 2016-06-28 Nvidia Corporation Method and system for changing bus direction in memory systems
US20210279192A1 (en) 2020-03-06 2021-09-09 Infineon Technologies Ag Distribution of interconnect bandwidth among master agents

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4720681A (en) * 1981-06-08 1988-01-19 Schlumberger Technology Corporation Digital induction logging tool
JPS63200221A (ja) * 1987-02-17 1988-08-18 Fujitsu Ltd クロツクパルス自動調整回路
CA2027819A1 (en) * 1989-11-03 1991-05-04 Maria L. Melo Programmable input/output delay between accesses
US5537664A (en) * 1993-06-30 1996-07-16 Intel Corporation Methods and apparatus for generating I/O recovery delays in a computer system
US5974086A (en) * 1995-07-31 1999-10-26 Motorola, Inc. Method and apparatus in a communication receiver for adjusting an operating attribute at a predetermined boundary of a protocol
US5842006A (en) * 1995-09-06 1998-11-24 National Instruments Corporation Counter circuit with multiple registers for seamless signal switching
US5778194A (en) * 1996-04-08 1998-07-07 Symbios, Inc. Method and apparatus for measuring performance of a computer bus
US5821992A (en) * 1997-02-13 1998-10-13 Raytheon Company Focal plane array capacitance cancellation
US6438670B1 (en) * 1998-10-02 2002-08-20 International Business Machines Corporation Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device
US6321342B1 (en) * 1999-03-23 2001-11-20 Lsi Logic Corporation Method and apparatus for interfacing circuits that operate based upon different clock signals
DE69911000T2 (de) * 1999-07-28 2004-05-19 Motorola, Inc., Schaumburg Vorrichtung und Verfahren zur Initialisierung eines verteilten Rechnersystems

Also Published As

Publication number Publication date
EP1258809A2 (en) 2002-11-20
US6934871B2 (en) 2005-08-23
US20030009706A1 (en) 2003-01-09
EP1258809A3 (en) 2007-09-05

Similar Documents

Publication Publication Date Title
KR100264632B1 (ko) Pci버스컴퓨터용프로그래머블구성레지스터를구비한증설보드
KR100262677B1 (ko) Pci 버스 컴퓨터용 인에이블/디스에이블 확장 rom을구비한 증설 보드
US5675794A (en) Method and apparatus for configuring multiple agents in a computer system
JP3302357B2 (ja) Cpuバス制御器
JP4855451B2 (ja) 記憶装置のアクセス方法及び装置
US6349347B1 (en) Method and system for shortening boot-up time based on absence or presence of devices in a computer system
EP0795157B1 (en) Bridge between two buses
JPH08235103A (ja) コンピュータ・システムの2つのバス間のブリッジ回路
US5784599A (en) Method and apparatus for establishing host bus clock frequency and processor core clock ratios in a multi-processor computer system
US6851014B2 (en) Memory device having automatic protocol detection
KR20030014352A (ko) 장치 계산을 위한 가상 rom
WO2005114435A1 (en) Methods and apparatus for bussed communications
JP2003058495A (ja) アービトレーション遅延を設定するプログラマブル・カウンタ
JPH09237140A (ja) コンピュータシステム
US6021483A (en) PCI-to-PCI bridges with a timer register for storing a delayed transaction latency
US6457137B1 (en) Method for configuring clock ratios in a microprocessor
EP0426331A2 (en) Programmable interrupt controller
US7206930B2 (en) Method and apparatus for reducing strapping devices
JP4359618B2 (ja) コンフィグレーション・レジスター・アクセス方法、設定方法、集積回路部品、コンピューター・システム、製品
JP2001022686A (ja) 情報処理システム
US6360289B2 (en) System for autonomous configuration of peer devices
US6233638B1 (en) System for configuring peer devices
US6266770B1 (en) Method for autonomous configuration of peer devices
JP2003122600A (ja) ウォッチドッグタイマ装置
EP0869441A2 (en) Bus-to-bus bridge