JP3596799B2 - バスを動的に制御するシステムおよび方法 - Google Patents

バスを動的に制御するシステムおよび方法 Download PDF

Info

Publication number
JP3596799B2
JP3596799B2 JP05661398A JP5661398A JP3596799B2 JP 3596799 B2 JP3596799 B2 JP 3596799B2 JP 05661398 A JP05661398 A JP 05661398A JP 5661398 A JP5661398 A JP 5661398A JP 3596799 B2 JP3596799 B2 JP 3596799B2
Authority
JP
Japan
Prior art keywords
bus
priority level
request
control
master
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 - Fee Related
Application number
JP05661398A
Other languages
English (en)
Other versions
JPH10293745A (ja
Inventor
フアン・ジィ・レヴィラ
トーマス・エイ・サートーリアス
マーク・エム・シェイファー
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH10293745A publication Critical patent/JPH10293745A/ja
Application granted granted Critical
Publication of JP3596799B2 publication Critical patent/JP3596799B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Selective Calling Equipment (AREA)
  • Traffic Control Systems (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、システム・バスのパフォーマンスに関し、具体的には、バスを動的に制御してスループットを向上させ、待ち時間を少なくすることに関する。
【0002】
【従来の技術】
チップ密度の向上に伴い、単一の集積回路チップのファンクション数が増え続けている。このような「システム・オン・チップ」集積回路は一般に、共通の共用バス・アーキテクチャを使用して「コンピュータ・システム」の様々な装置およびサブシステム間に通信リンクを設ける。共通バスは、コンピュータ・システム内の複数の装置間で共用することができるため、低コストの通信リンクとなる。しかし、複数の装置を単一のバスにリンクすることによって、最大バス・パフォーマンスに関して問題が生じることがある。
【0003】
共用バス・アーキテクチャでは最大バス・パフォーマンスの達成は困難な場合がある。バス・パフォーマンスに重大な影響を与える要因には、システム・スループット(すなわち帯域幅)とシステム応答時間(すなわち待ち時間)が含まれる。スループットまたは帯域幅を判断する場合のバス・トランザクションとは、伝送の受信側にある装置が完了させたバス・トランザクションである。スループットまたは帯域幅は、一定期間にわたる平均バス・トランザクション数である。応答時間または待ち時間は、特定の装置が最初にバスを要求したサイクルから始まってその装置から最後のデータがバスを介して第2の装置に転送されるサイクルまでの、特定の装置のバス・トランザクションが完了するのに要する時間である。バスへのアクセスまたはバスの制御を要求し、バスを介してデータの送受信を行う装置を「マスタ」と呼ぶ場合がある。バスを介してデータの送信または受信を行い、マスタに応答するバスを、「スレーブ」と呼ぶことがある。スレーブは、バスへのアクセスやバスの制御を要求することができない。
【0004】
高度のバス・パフォーマンスを実現するためには、スループットは高くなければならず、待ち時間は短くなければならない。さらに、高水準のバス・スループットを実現するためには、スレーブは決して遊休(idle)状態にならないことが好ましく、したがって、バスは決して遊休状態にならないことが好ましい。しかしそれに対して、待ち時間はマスタが最初にバスを要求したサイクルから始まってマスタがバスを介して最後のデータを転送するサイクルまでのバス・トランザクションを完了するのに要する時間を指すため、待ち時間にはバスが使用可能(すなわち遊休状態)になるのをマスタが待つ時間が含まれる。その結果、待ち時間はバスを遊休状態にさせることによって短縮される。
【0005】
スループットと応答時間を含むバス・パフォーマンスの問題に対処しようとして、いくつかの異なるアーキテクチャ設計が開発されている。それらの方式の多くは、バスの制御を獲得しようとする装置の「優先(priority)」レベルに依存する。たとえば、クラフト(Craft)等の米国特許第5438666号には、バスへのアクセスを制御するアービトレーション・システムが記載されている。クラフト等のアービトレーション・システムは、より高い優先レベルを持つ第2の装置がバスへのアクセスを要求すると、第1の装置によるバスの制御に割込む。第2の装置がバスへのアクセスを完了すると、第1の装置にバスの制御が返される。制御の移行は、アクティブなバス要求を有するバス・マスタ間の優先レベルをアービトレートするタイミング・オーバーヘッドを要せずに実現される。
【0006】
ベスト(Best)等の米国特許第5140680号には、共通バスを共用する複数のマスタ装置とスレーブ装置を有するコンピュータ・ネットワークのためのバス・アービトレーション・システムが記載されている。このバス・アービトレーション・システムは、各マスタ装置内にバス・アービトレーション論理回路を含み、所与の時点でどのマスタがバスへのアクセス権を持つべきかを判断する際に最も遅いマスタの動作遅延を考慮する。
【0007】
他の例として、本発明の出願人であるインターナショナル・ビジネス・マシーンズ・コーポレイションに譲渡されているヒース(Heath)等の米国特許第5388228号には、中央アービトレーション制御回路と、共通バスへのアクセスを求める各装置に付随するローカル・アービタとを有するアービトレーション・システムが記載されている。ヒース等は、各装置を線形モードとフェアネス・モードのいずれかで動作するようにプログラミングする備えも設けている。フェアネス・モードで動作しているときは、バスへのアクセス権を持つ第1の装置が適切な数の伝送を完了した後は、第1の装置はバス・アクセスを要求する第2の装置に応答してバスの制御を放棄し、次に高い優先レベルを持つ要求側装置がバスの制御を獲得することができるようにする。
【0008】
共通バスの共用を含むその他の設計は、長いバースト伝送を使用してスループットを向上させると同時に、マスタ待ち時間タイマを使用してバーストの長さを制限することで待ち時間を短縮することによって、高いスループットと短い待ち時間という相反する設計要件を満たそうと試みている。待ち時間タイマは一般に、プログラマブル・レジスタとカウンタを使用してマスタ内に実装することができる。マスタが共通バスの制御または所有権を維持することができる最大クロック・サイクル数を表す初期待ち時間カウント値がプログラマブル・レジスタにロードされる。カウンタは一般に、装置がバスの制御を獲得するたびにゼロにリセットされる。カウンタの値がレジスタに格納されている値に達すると(すなわち、待ち時間タイマが満了すると)、バスの制御権を有するそれに対応する装置はシステムのバス使用条件に係わらず、制御を放棄しなければならない。
【0009】
その結果、バス使用量が少ない(すなわちバスを介したデータ転送量が比較的少ない)システムでは、待ち時間タイマが満了した装置、したがってバスを介して転送するデータがまだある場合でもバスの制御を放棄しなければならない装置は、帯域幅(すなわちスループット)が無用に制限されることがある。さらに、様々な装置が同時にバスを要求する、バス使用量が比較的多いシステムでは、装置は待ち時間タイマが満了するまでバスを使用する可能性が高い。待ち時間タイマが満了するまでの1つの装置のバス制御のために他の装置はバスが使用可能になるのを待つことになり、したがって、待ち時間が比較的長くなる。
【0010】
さらに、システムにおけるバス使用条件は、たとえば少ない使用量から多い使用量になってまた少ない使用量になるというように、時間の経過と共に変化することがある。したがって、最大バス・パフォーマンスを実現するために各装置の待ち時間タイマを更新する必要が生じることがある。待ち時間タイマは、レジスタとカウンタをプログラムし直すことによって更新することができる。しかし、各装置の待ち時間タイマをプログラムし直すにはかなりのオーバーヘッドを要し、定期的に行う場合には特にそうである。したがって、待ち時間タイマを使用してバス・パフォーマンスを向上させるのは、バス使用条件の動的変更のために一般には効果的ではない。
【0011】
複数装置システムにおいて共通バスへのアクセスを制御するために現在、様々なアービトレーション方式や待ち時間タイマが使用されているが、これらの従来の設計は、高スループットと低待ち時間という相反する設計要件を有効に満たすことができない。さらに、これらの従来の設計はバス使用条件の動的変更を考慮していない。最大バス・パフォーマンスを向上させるためには、高スループットと低待ち時間という相反する問題に対処しなければならないと同時に、バス使用条件の動的変更も考慮しなければならない。
【0012】
【発明が解決しようとする課題】
したがって、本発明の目的は、複数の装置が共通バスを共用するコンピュータ・システムにおいてバス・パフォーマンスを向上させるシステム、方法、およびコンピュータ・プログラム製品を提供することである。
【0013】
本発明の他の目的は、共通バスを共用する複数の装置を有するコンピュータ・システムにおいて、スループットを向上させ、待ち時間を短縮するシステム、方法、およびコンピュータ・プログラム製品を提供することである。
【0014】
本発明の他の目的は、共通バスを共用する複数の装置を有するコンピュータ・システムにおいて、バス使用条件の動的変更に対応することによって、バス・パフォーマンスを向上させるシステム、方法、およびコンピュータ・プログラム製品を提供することである。
【0015】
【課題を解決するための手段】
上記およびその他の目的は、本発明により、コンピュータ・システムにおけるスループットを向上させると同時に待ち時間を短縮することによって、共通バスにアクセスする複数の装置を有するコンピュータ・システムにおけるバス・パフォーマンスを向上させるシステムによって達成される。
【0016】
本発明によるシステムは、優先レベルと待ち時間の作用を組合せることと、装置の待ち時間タイマを動的に制御することによって、共通バスへの複数の装置のアクセスを動的に制御する。システムにおける各マスタは、それに関連づけられた待ち時間タイマと優先レベル標識とを持つ。待ち時間タイマは、装置がバスを制御することができる最大サイクル数を表すレジスタと、制御のサイクル数をカウントするカウンタを使用して実装することができる。優先レベル標識は装置に関連する優先レベルを表す。
【0017】
好ましい実施例では、システムは各装置に動作可能に接続されたバス・コントローラを使用してバスを動的に制御する。このバス・コントローラは、第1の装置に関連づけられた待ち時間タイマと、第1の装置に関連づけられた優先レベルと、バス・コントローラが第2の装置から受け取った未処理の要求に関連づけられた優先レベルとの組合せに基づいて、第1の装置がバスの制御権を持つ期間を制御する。さらに、システムは、1つの装置がバスの制御権を持っている間は他のすべての装置がバスを制御しないように阻止する。バス・コントローラは、第1の装置からのバスの制御を求める要求を認める手段を含む。バス・コントローラは、第2の装置からバスの制御を求める要求とそれに関連づけられた優先レベルを受け取る手段と、第2の装置からの要求の受信に応答して第2の装置から受け取った要求に関連づけられた優先レベルを第1の装置に送るフィードバック手段も含む。最後に、バス・コントローラは、第1の装置に関連づけられた待ち時間タイマと、第1の装置の優先レベルを第2の装置からの要求に関連づけられた優先レベルと比較した結果との組合せに基づいて、第1の装置によるバス制御の存続期間を制御する手段も含む。
【0019】
さらに、バス・コントローラは、第1の装置の待ち時間タイマがまだ満了していない場合、第2の装置の優先レベルが第1の装置の優先レベルより高い場合であっても第1の装置によるバスの制御を継続する手段も含むことができる。第1の装置に関連づけられた優先レベルが第2の装置に関連づけられた優先レベルより高いか等しい場合、第1の装置に関連づけられた待ち時間タイマが満了しても第1の装置によるバスの制御の存続期間を延長する延長手段も備える。システムは、第1の装置に関連づけられた優先第2の装置に関連づけられた優先レベルよりも低く、第1の装置に関連づけられた待ち時間タイマが満了した場合、第1の装置によるバスの制御を終了または放棄する。
【0020】
第1の代替実施例では、本発明は、バスに動作可能に接続することができる装置を有するバスへのアクセスを動的に制御するシステムを提供する。各装置はそれに関連づけられた優先レベルを持つ。この代替実施例では、第1の装置がバスの制御件を有する。システムは第2の装置からバスを制御する要求とそれに関連づけられた優先レベルを受け取り、第1の装置以外の制御要求を送って来た各装置に関連づけられた優先レベルを比較して最も高い値を持つ優先レベルを特定する。特定された最高値を持つ優先レベルとそれに対応する未処理の要求信号が第1の装置にフィードバックされる。
【0021】
第2の代替実施例では、本発明はバスに動的にアクセスするシステムを提供する。このシステムは、各装置がバスに動作可能に接続することができる複数の装置を含む。各装置はそれに関連づけられた優先レベルも持つ。システムは第1の装置に関連づけられた待ち時間タイマと優先レベルの組合せと、第2のバスによるバスを制御する未処理の要求に関連づけられた優先レベルとに基づいて、第1の装置によるバスへのアクセスの存続期間を制御する。さらに、第1の装置は、第1の装置を制御するバス・コントローラの要求とそれに関連づけられた優先レベルとに応答してバス・コントローラからバスの制御を受け取る。第1の装置はバス・コントローラから、バス・コントローラが第2の装置から受け取った未処理の制御要求に関連づけられた第2の優先レベルも受け取る。
【0022】
第2の代替実施例では、第1の装置はその待ち時間タイマがまだ満了していない場合、その優先レベルが第2の装置からの要求に関連づけられた第2の優先レベルより低くてもバスの制御を継続する。第1の装置は、第1の装置に関連づけられた待ち時間タイマが満了した場合でも、第1の優先レベルが第2の装置に関連づけられた優先レベルより高いかまたは等しい場合はそれに応答してバス制御の存続期間を延長する。最後に、第1の装置は、それに関連づけられた優先レベルが第2の装置に関連づけられた優先レベルよりも低く、第1の装置に関連づけられた待ち時間タイマが満了した場合、バスの制御を放棄または終了する。
【0023】
その結果、本発明は優先レベルと待ち時間の使用を組み合わせてバス・パフォーマンスを向上させる。バスの制御権を持つ装置の待ち時間タイマは動的に変更することができる。これは、本発明により、対応する装置の優先レベルが少なくとも未処理要求優先レベル標識と同じ高さである限り対応する装置がバスの制御を継続することができるようにして、満了した待ち時間タイマを設定変更することによって実現される。未処理要求優先レベル標識が現在バスを制御している装置の優先レベルより大きくなると、現在バスを制御している装置はバスの制御を放棄または終了することになる。
【0024】
【発明の実施の形態】
以下に、本発明の好ましい実施例が示されている添付図面を参照しながら本発明について詳述する。しかし、本発明は多くの異なる態様で実施することができ、本明細書に記載する実施態様に限定されるものと解釈してはならず、この実施態様は本開示を十全なものにし、本発明の範囲が当業者に十分に伝わるようにするために示すものである。全体を通して、同じ番号は同じ要素を示す。
【0025】
当業者ならわかるように、本発明は方法、システムまたはコンピュータ・プログラム製品として実施することができる。したがって、本発明は完全なハードウェア実施態様、完全なソフトウェア実施態様、またはソフトウェア態様とハードウェア態様を組み合わせた実施態様の形をとることができる。
【0026】
図1を参照すると、本発明によるコンピュータ・システムを示すブロック図が図示されている。100に図示されているコンピュータ・システムの例では、コンピュータ・システム100は単一の集積回路チップ上にあることが好ましい。コンピュータ・システム100はいくつかの装置と1本のバスを有する。具体的には、コンピュータ・システム100は、4XX PowerPC(「PPC」)中央処理装置(「CPU」)102を含むいくつかのマスタ装置と、ダイレクト・メモリ・アクセス([DMA」)コントローラ104と、PowerPCローカル・バス(「PLB」)マスタ106とを有する。さらに、コンピュータ・システム100は、ダイナミック・ランダム・アクセス・メモリ(「DRAM」)コントローラ108aと入出力(「I/O」)コントローラ108bを含む外部バス・インタフェース装置(「EBIU」)108も有する。さらに、コンピュータ・システム100は、オンチップ周辺装置バス(「OPB」)ブリッジ110と、OPBマスタ112と、OPBスレーブ114と、パラレル・ポート116と、シリアル・ポート118も有する。
【0027】
最後に、コンピュータ・システム100は、一括して120に示すバス・コントローラと一括して122に示すバス・コントローラの2つのバス・コントローラも有する。バス・コントローラ120は、アービタ130と、フィードバック論理回路131と、PowerPC 4XXローカル・バス132とを含む。バス・コントローラ122は、アービタ134とフィードバック論理回路135と、オンチップ周辺装置バス136とを含む。
【0028】
4XX PPC CPU102とDMAコントローラ104とPLBマスタ106とは「マスタ」装置の例であり、それぞれ「マスタ1」、「マスタ2」、「マスタ3」と呼ぶことがある。EBIU108とOPBブリッジ110は「スレーブ」装置の例である。
【0029】
本発明によると、マスタ1 102、マスタ2 104、およびマスタ3 106はそれぞれバス・コントローラ120に動作可能に接続することができる。さらに、スレーブ108とスレーブ110もバス・コントローラ120に動作可能に接続することができる。100で一般的に図示するコンピュータ・システムでは、スレーブ110(すなわちOPBブリッジ)がスレーブ装置として機能し、マスタ1 102、マスタ2 104、およびマスタ3 106のうちの1つをバス・コントローラ122に接続する。
【0030】
図1に示すように、本発明によって複数のマスタ装置またはファンクションと共通共用バスとの相互接続を容易にすることができる。同様に、本発明は、複数のスレーブ装置と共通共用バスとの相互接続も可能にする。マスタ・ファンクションとスレーブ・ファンクションは1つの集積チップ内に含まれることが好ましい。しかし、図1に示すように、本発明を使用して、コンピュータ・システム100のような単一チップ上にある装置を別のチップ上にある装置に外部バス140を介して接続することもできる。
【0031】
次に図2を参照しながら、バス・コントローラ120を含む動的制御システムの動作について説明する。各マスタ装置は待ち時間タイマを持つ。たとえば、マスタ1 102は待ち時間タイマ102aを、マスタ2 104は待ち時間タイマ104aを、マスタ3 106は待ち時間タイマ106aを有する。
【0032】
本発明の一実施例では、バス・コントローラ120によって実施されるバス・アービトレーション方式は動的優先レベル方式を使用する。この方式により、各マスタはそれに関連づけられた優先レベルを持つ。この特定の優先レベル方式では、優先レベルは2ビットの要求優先レベル信号によって表された4つのレベルのうちの1つとすることができる。要求優先レベルは、最高の優先レベルから最低の優先レベルの順に以下の通りである。「11」は「高」優先レベル、「10」は「中高」優先レベル、「01」は「中低」優先レベル、「00」は「低」優先レベルを表す。当業者なら様々な異なる優先レベル方式が使用可能であることがわかるであろう。
【0033】
動作中、マスタはバス要求とそれに対応する要求優先レベルをバス・コントローラ120に渡す。たとえば、マスタ1 102はバス要求を渡すときに要求信号202と要求優先レベル信号204もバス・コントローラ120に渡す。
【0034】
バス・コントローラ120が同時に複数のマスタからバス要求を受け取った場合、アービタ130は、バス132が使用可能かどうかを判断し、すべての要求優先レベルを比較し、最も高い優先レベルを持つマスタにバス132の制御権を付与する。アービタ130が、バス要求と共に最高の要求優先レベルを渡したマスタにバス132の制御権を付与した後は、フィードバック論理回路131がまだ未処理のバス要求を持つ装置の中で最高の要求優先レベルを判断する。次に、その結果の現行未処理要求優先レベルが、別の要求が未処理であるということと共に、それぞれリンク151および152を介して各マスタにフィードバックされる。次に、現在バスの制御権を持っているマスタがこの情報を使用して、別のマスタにバスを使用させるためにデータの伝送が完了する前にバスの制御を終了させるかどうかを判断する。言い換えると、現在未処理の要求の優先レベルに応じて待ち時間タイマを動的に変更することによって(すなわちその満了した待ち時間タイマを設定変更することによって)、現在バスの制御権を持っているマスタは現在伝送する必要があるすべてのデータが伝送されるまでバスの使用を継続することができる。
【0035】
図2を参照すると、マスタ1 102がそのバス要求202と要求優先レベル204をバス・コントローラ120に渡す。同様に、マスタ2がそのバス要求212と要求優先レベル214をバス・コントローラ120に渡す。最後に、マスタ3 106がそのバス要求222と要求優先レベル224をバス・コントローラ120に渡す。バス・コントローラ120が1つまたは複数のバス要求とそれに対応する要求優先レベルを受け取ると、バス・コントローラ120の構成要素であるアービタ130が、最高の要求優先レベルを持つバス要求を渡したマスタを識別し、それに対応するマスタにバス132の制御権を与える。バスを付与されたマスタは制御権付与信号を受け取り、要求信号をオフにし、バースト伝送の送信を開始する。たとえば、アービタ130がマスタ1 102が最高の優先レベルを持っていると判断したものとすると、アービタ130はマスタ1 102に制御権付与信号208を送り、マスタ1 102はその制御権付与信号208を受け取ってその要求202をオフにし、バス・コントローラ120への「バースト」データ206の送信を開始する。バス・コントローラ120はそのバーストをバス132を介してスレーブ装置108に送る。同様に、マスタ2 104が最高の優先レベルを持っていたとすれば、マスタ2 104が制御権付与信号218を受け取りその要求212をオフにし、「バースト」データ216の送信を開始する。最後に、マスタ3 106が最高の優先レベルを持っていた場合は、マスタ3 106が制御権付与信号228を受け取り、その要求222をオフにし、「バースト」データ226の送信を開始する。
【0036】
フィードバック論理回路131が各クロック・サイクル中に残りのバス要求を処理する。具体的には、フィードバック論理回路131は、バス要求信号を比較してまだ未処理の要求があるかどうかを判断する。さらに、フィードバック論理回路131は各未処理要求の要求優先レベルも比較して、現在未処理になっている要求のうちで最高の未処理要求優先レベルを特定する。次に回路131は、各クロック・サイクル中に最高の現行未処理要求優先レベルの値と要求が未処理であるということを、それぞれリンク151および152で各マスタ装置に送り戻す。当業者なら、未処理要求優先レベル信号と未処理要求信号は、マスタ装置に別々にフィードバックすることも1つに結合された信号として送ることもできることがわかるであろう。
【0037】
図3を参照すると、フィードバック論理回路131の好ましい実施例が図示されている。図3に示すように、マスタのバス要求、すなわちマスタ1要求202とマスタ2要求212とマスタ3要求222が、フィードバック論理回路131によって論理「OR」ゲートを240を使用して比較される。マスタのうちのいずれかが現在未処理のバス要求を持っている場合、ORゲート240の出力は高すなわち論理「1」になる。論理「OR」ゲート240の出力は、リンク152で各マスタにフィードバックされる要求未処理信号を示す。
【0038】
さらに、各マスタからのバス要求信号は「AND」ゲート論理回路を使用してそれらに対応する要求優先レベルと結合される。1本の通信線路(たとえばマスタ1要求優先レベル204と「AND」ゲート242の間の通信線路)しか図示されていないが、当業者ならこの1本の線路が「AND」ゲート242までの要求優先レベル信号のための全入力線路をまとめて表していることがわかるであろう。特定の一実施例では、マスタ1バス要求202は論理「AND」ゲート242を使用してそれに対応するマスタ1要求優先レベル204と結合される。マスタ2要求212とマスタ2要求優先レベル214が論理「AND」ゲート244を使用して結合される。最後に、マスタ3要求222とマスタ3要求優先レベル224が論理「AND」ゲート246を使用して結合される。論理「AND」ゲート242、244、および246の比較結果が、比較器248を使用して比較される。比較器248の結果は、現在未処理のすべてのバス要求のうちで最高の優先レベルを示す未処理要求優先レベル信号を表す。この未処理要求優先レベル信号はリンク151を介して各マスタにフィードバックされる。
【0039】
図4は本発明による方法、システム、およびプログラム製品を示すフローチャートであり、図5はタイミング図である。タイミング図およびフローチャートの各ブロックまたはステップと、タイミング図およびフローチャートのブロックまたはステップの組合せは、コンピュータ・プログラム命令によって実施することができることがわかるであろう。これらのコンピュータ・プログラム命令をコンピュータまたはその他のプログラム可能データ処理装置にロードし、命令がコンピュータまたはその他のプログラム可能装置作成手段上で実行されてタイミング図またはフローチャートのブロックまたはステップで規定されている機能を実施するように機械を作り出すことができる。これらのコンピュータ・プログラム命令は、コンピュータまたはその他のプログラム可能装置に特定の方式で機能するように指示することができるコンピュータ可読メモリに記憶し、それによってコンピュータ可読メモリに記憶されている命令がタイミング図またはフローチャートのブロックまたはステップで規定されている機能を実施する命令手段を含む製造品を作り出すことができる。コンピュータ・プログラム命令をコンピュータまたはその他のプログラム可能装置にロードしてコンピュータまたはその他のプログラム可能装置上で一連の操作ステップを実行させ、コンピュータまたはその他のプログラム可能装置上で実行される命令がタイミング図またはフローチャートのブロックまたはステップで規定されている機能を実施するステップとなるようにコンピュータ実施プロセスを作り出すこともできる。
【0040】
したがって、タイミング図またはフローチャートのブロックまたはステップは、規定されている機能を実行する手段の組合せと、規定されている機能を実行するステップの組合せと、規定されている機能を実行するプログラム命令手段とに対応する。また、タイミング図またはフローチャートの各ブロックまたはステップおよびタイミング図またはフローチャートのブロックまたはステップの組合せは、規定されている機能またはステップを実行する特殊用途ハードウェア・ベースのコンピュータ・システムによっても実施することができ、特殊用途ハードウェアとコンピュータ命令との組合せによっても実施することができることがわかるであろう。
【0041】
図4を参照すると、本発明による動的制御システムの動作のフローチャートが図示されている。図4のフローチャートに図示されている動作は、マスタ装置の文脈から見たものである。システムは、402でマスタがバス要求を行うと開始する。次にマスタは404で各クロック・サイクル中にチェックを開始して、アービタからのバス制御権付与信号を受け取ったかどうかを判断する。制御権付与信号を受け取っていない場合、マスタはバスの要求を続け、各クロック・サイクル中に制御権付与信号がないか調べる。404でマスタが制御権付与信号を受け取った場合、406でマスタはバスの制御を獲得し、その待ち時間カウンタを「0」に設定し、バースト伝送を開始することができる。
【0042】
その後、408で各サイクル中にマスタはその待ち時間カウンタが満了していないかどうか調べる。待ち時間カウンタが満了していない場合、マスタはまだバスを制御する必要があるかどうか(たとえばバスを介して送る伝送データがそれ以上あるかどうか)を判断する(412)。マスタがバスを介して送る伝送データをまだ持っている場合、マスタは414でバーストを続け、各サイクル中に決定ブロック408、410、および412の動作を繰り返す。412でバスが必要でなくなったとマスタが判断した場合(たとえばバスを介して行う伝送データをそれ以上持っていない場合)、マスタは416でバスを解放し、それによってデータ伝送は完了する。
【0043】
ステップ408でマスタがその待ち時間カウンタが満了したと判断した場合、424で未処理要求優先レベルがマスタ自体の優先レベルより高いかどうかを判断する。未処理要求優先レベルがマスタの優先レベルよりも高い場合、マスタは430でバスを解放する。未処理要求優先レベルがマスタ自体の優先レベルよりも高くない場合、426でマスタはそれ以上伝送データを持っているかどうかを判断する。行う伝送がそれ以上ある場合(またはバスの制御を継続する必要がある場合)、マスタは428で現行サイクル中にバーストを継続し、424に戻って次のサイクル中に未処理要求優先レベルとマスタ自体の優先レベルとの比較プロセスを続ける。426でマスタがバスが不要になったと判断した場合、マスタは427でバスを解放して停止する。
【0044】
430でマスタがバスを解放すると、マスタは432で行う伝送データをそれ以上持っているかどうか(すなわち再びバスの制御が必要であるかどうか)を判断する。432でマスタが追加のサイクルのためにバスの制御が必要ではないと判断した場合、バス・コントローラに新しいバス要求を渡すまで処理を停止する。それに対して、432でマスタが追加のサイクルのためにバスの制御が必要であると判断した場合、マスタは402でバス・コントローラにもう1回要求を渡す。その後、前述のように処理が続けられる。
【0045】
図5を参照すると、本発明の動作の例を示すタイミング図が図示されている。図5に図示されている特定の例では、アービタ130サイクル1中にマスタ1から「10」の優先レベルを持つバス要求を受け取る。未処理の要求がほかにないため、アービタ130はサイクル2中にマスタ1に制御権付与信号を送り返す。マスタ1は、制御権付与信号の受信に応答してサイクル2中にその要求をオフにし、待ち時間カウンタをリセットし、バスの制御を開始する。図5に示す例では、マスタ1はサイクル2中にただちにバスを介してバーストの送信を開始する。やはりサイクル2中に、フィードバック論理回路131(図2参照)が、他の未処理要求がないと判断し、各マスタに「0」をフィードバックする。
【0046】
サイクル3中に、マスタ2が「10」の要求優先レベルを持つバス要求を渡す。フィードバック論理回路131は、マスタ2のバス要求が未処理であることと、その要求の優先レベルが「10」であることを判断する。その結果、フィードバック論理回路131はサイクル3中に各マスタに信号を送って要求が未処理であることと未処理要求優先レベルが「10」であることを示す。サイクル3中に、マスタ1はフィードバック論理回路131から未処理要求優先レベル信号と要求未処理信号を受け取る。マスタ1はそれに応答して未処理要求優先レベル「10」をマスタ1自体の優先レベル「10」と比較し、待ち時間タイマが満了していないか調べ、バスの制御を続けることができることを判断する。したがって、マスタ1はサイクル3中にバスの制御を続ける。
【0047】
サイクル4中にバス・コントローラ120はマスタ3からバス要求を受け取る。このバス要求の優先レベルは「01」である。それに応答して、フィードバック論理回路131が、バス要求が現在未処理になっていると判断し、要求優先レベルの比較も行い、最高未処理要求優先レベルが「10」であることを判断する。その結果、フィードバック論理回路131は要求未処理信号を「1」に設定し、未処理優先レベル信号を最高未処理優先レベルに対応する「10」に設定し、それらの信号を各マスタに送り返す。
【0048】
要求未処理信号と未処理要求優先レベルの受信に応答して、マスタ1はサイクル4で未処理要求優先レベルをマスタ1自体の優先レベルと比較する。マスタ1はサイクル4の間にマスタ1自体の優先レベルが少なくとも未処理要求優先レベルと同じ高さであると判断する。しかし、やはりサイクル4中に、マスタ1は待ち時間タイマが満了していると判断する。それにもかかわらず、マスタ1の優先レベルが未処理要求優先レベルと少なくとも同じ高さであるため、マスタ1は待ち時間タイマを設定変更することによって動的に変更しバスの制御を続け、その「バースト」を続行する。このプロセスがサイクル5とサイクル6の間続く。
【0049】
サイクル7中に、マスタ3が要求優先レベル「11」を持つ異なるバス要求を渡すことを決定する。それに応答して、フィードバック論理回路131は要求が未処理であることと、最も高い要求未処理優先レベルが「11」であることを判断する。その結果、フィードバック論理回路131はサイクル7の間に各マスタに要求未処理信号と要求未処理優先レベル「11」を送り返す。
【0050】
マスタ1はサイクル7の間にフィードバック論理回路131から要求未処理信号と要求未処理優先レベル「11」を受け取る。それに応答して、マスタ1は要求未処理優先レベル「11」をマスタ1自体の優先レベル「10」と比較し、要求未処理優先レベルの方が高いと判断する。その結果、マスタ1はそのバーストを停止し、サイクル7の間にバスの制御を放棄する。
【0051】
サイクル8中に、アービタ130はバスが使用可能であると判断し、マスタ2とマスタ3の未処理要求の優先レベルの比較に基づいて、マスタ3の方が高い未処理要求優先レベルを持っていると判断し、サイクル8の間にマスタ3にバスの制御権を付与する。その結果、マスタ3はサイクル8の間にバスの制御を開始し、バスでバーストを開始する。サイクル9と10の間、フィードバック論理回路は前述の処理を続ける。マスタ3の優先レベルと待ち時間タイマに基づいて、マスタ3はサイクル10中にその「バースト」が終了するまでバスを介してそのバーストを続ける。その後、マスタ3はサイクル10中にバーストの完了と同時にバスを放棄する。
【0052】
最後に、サイクル11中にアービタ130はバスが使用可能であると判断する。その結果、アービタ130はマスタ2のバス要求がまだ未処理であることと、それが最高の未処理優先レベルを持っていることを判断する。アービタ130はサイクル11中にマスタ2にバスの制御権を付与し、それに応答してマスタ2がサイクル11中にバスの制御を開始しし、バスを介してバーストを開始する。
【0053】
以上、本発明についてバスでのアプリケーション・データの伝送に関して説明したが、本発明はどのような特定のタイプのデータまたは信号にも限定されず、命令データ、アドレス・データ、データ・バス修飾子、伝送修飾子、バースト信号、バス・ロック信号など他のどのようなタイプのデータの伝送にも適用可能であることがわかるであろう。また、本発明について事前定義されたスレーブ状態およびマスタ状態を持つ装置に関して説明したが、当業者ならわかるように、どの特定の装置でも1つの操作についてスレーブ装置になり、別の操作についてマスタ装置になることができる。
【0054】
さらに、本発明について「バースト」伝送に関して説明したが、本発明はバースト伝送には限定されず、バス・パフォーマンスに影響を与えることがあるバス・ロック機構およびバス制御に関係するその他の用途にも適用可能である。
【0055】
さらに、本発明について正電圧が論理状態「1」に対応するように正論理に関して説明した。当業者ならわかるように、本発明はアクティブ状態とイナクティブ状態を表す適切な手段であればどのような手段でも使用して実施することができる。
【0056】
上述のアービタ機能に関しては、当業者なら、アービタ130は競合する優先レベルを選択する任意の数の周知の方法を使用することができることがわかるであろう。したがって、アービタ130の実施態様は所望のアービトレーション方式に依存することができる。
【0057】
まとめとして、本発明の構成に関して以下の事項を開示する。
【0058】
(1)各装置がそれに関連づけられた優先レベルを有する、バスに動作可能に接続することができる複数の装置を有するバスを動的に制御する方法であって、
前記装置のうちの第1の装置によるバスの制御の存続期間を第1の装置に関連づけられた待ち時間タイマと優先レベルの組合せと前記装置のうちの第2の装置によるバスを制御する未処理の要求に関連づけられた優先順位とに基づいて制御するステップを含む方法。
(2)前記制御ステップが、
前記装置のうちの第1の装置からのバスを制御する要求を認めるステップと、
前記装置のうちの第2の装置から、バスを制御する要求と要求に関連づけられた優先レベルとを受け取るステップと、
第2の装置からの要求の受信に応答して、第2の装置から受け取った要求に関連づけられた優先レベルとそれの関連づけられた未処理要求信号とを第1の装置に送信するステップと、
第1の装置に関連づけられた待ち時間タイマと、第1の装置の優先レベルと第2の装置からの要求に関連づけられた優先レベルとの比較との組合せに基づいて第1の装置によるバスの制御の存続期間を制御するステップとを含む、上記(1)に記載の方法。
(3)前記制御ステップが、
第1の装置に関連づけられた満了していない待ち時間タイマに応答して、第1の装置によるバスの制御を続けるステップと、
第2の装置に関連づけられた優先レベルと少なくとも同じ高さの第1の装置に関連づけられた優先レベルと第1の装置に関連づけられた満了していない待ち時間タイマとに応答して、第1の装置によるバスの制御の存続期間を延長するステップと、
第2の装置に関連づけられた優先レベルよりも低い第1の装置に関連づけられた優先レベルと第1の装置に関連づけられた満了していない待ち時間タイマとに応答して、第1の装置によるバスの制御を終了するステップとを含む、上記(1)に記載の方法。
(4)前記制御ステップの前に、
複数の装置から、バスを制御する少なくとも1つの要求と要求に関連づけられた優先レベルとを受け取るステップと、
装置から受け取った要求に関連づけられた優先レベルをアービトレートして、受け取った優先レベルのうちで最高値を有する第1の優先レベルを特定し、特定された第1の優先レベルに関連づけられた装置を特定するステップと、
アービトレートするステップに応答して第1の装置にバスの制御権を付与するステップとを含む、上記(1)に記載の方法。
(5)前記制御ステップに応答して第1の装置と前記バスとの間でデータを伝送するステップをさらに含む、上記(1)に記載の方法。
(6)前記データがアプリケーション・データとコンピュータ・プログラム命令とアドレス・データのうちの少なくとも1つを含む、上記(5)に記載の方法。
(7)各装置がそれに関連づけられた優先レベルを有する、バスに動作可能に接続することができる複数の装置を有するバスへのアクセスを動的に制御する方法であって、
前記装置のうちの第2の装置からバスを制御する要求と要求に関連づけられた優先レベルとを受け取るステップと、
第2の装置からの要求の受信に応答して、第2の装置から受け取った要求に関連づけられた優先順位とそれに関連づけられた未処理要求信号とを、バスへのアクセスの制御権を有する前記装置のうちの第1の装置に送信するステップとを含む方法。
(8)第2の装置から要求を受け取る前記ステップの前に、
複数の装置から、バスを制御する少なくとも1つの要求と要求に関連づけられた優先レベルとを受け取るステップと、
装置から受け取った要求に関連づけられた優先レベルをアービトレートして、受け取った優先レベルのうちで最高値を有する第1の優先レベルを特定し、特定された第1の優先レベルに関連づけられた装置を第1の装置として特定するステップと、
アービトレートするステップに応答して第1の装置にバスの制御権を付与するステップとを含む、上記(7)に記載の方法。
(9)送信ステップの前に、
第2の装置に関連づけられた優先レベルを第1の装置以外の各装置に関連づけられた優先レベルと比較して最高のレベルを有する優先レベルを特定するステップと、
第2の優先レベルを特定された優先レベルに置き換えるステップとを含む、上記(8)に記載の方法。
(10)バスと第1の装置との間でデータを伝送するステップをさらに含む、上記(7)に記載の方法。
(11)前記データがアプリケーション・データとコンピュータ・プログラム命令とアドレス・データのうちの少なくとも1つを含む、上記(10)に記載の方法。
(12)各装置がそれに関連づけられた優先レベルを有する、バスに動作可能に接続することができる複数の装置を有するバスに動的にアクセスする方法であって、
第1の装置に関連づけられた待ち時間タイマと優先レベルとの組合せと、前記装置のうちの第2の装置によるバスを制御する未処理の要求に関連づけられた優先レベルとに基づいて、前記装置のうちの第1の装置によるバスへのアクセスの存続期間を制御するステップとを含む方法。
(13)前記制御ステップが、
第1の装置による要求とそれに関連づけられた優先レベルとに応答して、バス・コントローラから第1の装置によるバスの制御権を受け取るステップと、
バス・コントローラが第2の装置から受け取った未処理の制御要求に関連づけられた第2の優先レベルをバス・コントローラから受け取るステップとを含む、上記(12)に記載の方法。
(14)制御ステップが、第1の装置に関連づけられた待ち時間タイマと、第1の装置に関連づけられた優先レベルと第2の装置からの要求に関連づけられた第2の優先レベルとの比較との組合せに基づいて、第1の装置によるバスの制御の存続期間を制御するステップさらに含む、上記(13)に記載の方法。
(15)第1の装置によるバスの制御権を受け取る前記ステップの前に、
複数の装置の内の第1の装置によるバスの制御権をバス・コントローラに対して要求するステップを含み、第1の装置による要求がそれに関連づけられた優先レベルを有する、上記(13)に記載の方法。
(16)前記制御ステップが、
第1の装置に関連づけられた満了していない待ち時間タイマに応答して、第1の装置によるバスの制御を続けるステップと、
第2の装置に関連づけられた優先レベルと少なくとも同じ高さの第1の装置に関連づけられた優先レベルと第1の装置に関連づけられた満了していない待ち時間タイマとに応答して、第1の装置によるバスの制御の存続期間を延長するステップと、
第2の装置に関連づけられた優先レベルよりも低い第1の装置に関連づけられた優先レベルと第1の装置に関連づけられた満了していない待ち時間タイマとに応答して、第1の装置によるバスの制御を終了するステップとを含む、上記(12)に記載の方法。
(17)前記制御ステップに応答して第1の装置と前記バスとの間でデータを伝送するステップをさらに含む、上記(12)に記載の方法。
(18)前記データがアプリケーション・データとコンピュータ・プログラム命令とアドレス・データのうちの少なくとも1つを含む、上記(17)に記載の方法。
(19)バスを動的に制御するシステムであって、
各装置がそれに関連づけられた優先レベルと待ち時間タイマとを有する複数の装置と、
前記各装置に動作可能に接続することができ、前記装置のうちの第1の装置に関連づけられた待ち時間タイマと優先レベルとの組合せと、前記装置のうちの第2の装置によるバスを制御する未処理の要求に関連づけられた優先レベルとに基づいて、第1の装置によるバスの制御の存続期間を制御するバス・コントローラとを含むシステム。
(20)前記バス・コントローラが、
前記装置からのバスを制御する要求を認める手段と、
前記装置のうちの第2の装置から、バスを制御する要求と要求に関連づけられた優先レベルとを受け取る手段と、
第2の装置からの要求の受信に応答して、第2の装置と第1の装置から受け取った要求に関連づけられた優先レベルを送信するフィードバック手段と、
第1の装置に関連づけられた待ち時間タイマと、第1の装置に関連づけられた優先レベルと第2の装置からの要求に関連づけられた優先レベルとの比較との組合せに基づいて、第1の装置によるバスの制御の存続期間を制御する手段とを含む、上記(19)に記載のシステム。
(21)前記バス・コントローラが、
第1の装置に関連づけられた満了していない待ち時間タイマに応答して第1の装置によるバスの制御を続ける制御続行手段と、
第2の装置に関連づけられた優先レベルと少なくとも同じ高さの第1の装置に関連づけられた優先レベルと第1の装置に関連づけられた満了していない待ち時間タイマとに応答して、第1の装置によるバスの制御の存続期間を延長する延長手段と、
第2の装置に関連づけられた優先レベルよりも低い第1の装置に関連づけられた優先レベルと第1の装置に関連づけられた満了していない待ち時間タイマとに応答して、第1の装置によるバスの制御を終了する終了手段とを含む、上記(19)に記載のシステム。
(22)複数の装置からバスを制御する少なくとも1つの要求と要求に関連づけられた優先レベルとを受け取る第2の受信手段と、
装置から受け取った要求に関連づけられた優先レベルを比較して、受け取った優先レベルのうちで最高値を有する第1の優先レベルを特定し、特定された第1の優先レベルに関連づけられた装置を第1の装置として特定するアービトレート手段と、
アービトレート手段に応答して、第1の装置にバスの制御権を付与する制御権付与手段とをさらに含む、上記(19)に記載のシステム。
(23)前記バス・コントローラに応答して、第1の装置と前記バストの間でデータを伝送する手段をさらに含む、上記(19)に記載のシステム。
(24)前記データが、アプリケーション・データとコンピュータ・プログラム命令とアドレス・データのうちの少なくとも1つを含む、上記(23)に記載のシステム。
(25)各装置がそれに関連づけられた優先レベルを有する、バスに動作可能に接続することができる複数の装置を有するバスへのアクセスを動的に制御するシステムであって、
前記装置のうち第2の装置から、バスを制御する要求と要求に関連づけられた優先レベルとを受け取る手段と、
第2の装置からの要求の受信に応答して、第2の装置から受け取った要求に関連づけられた優先レベルをバスへのアクセスの制御権を有する前記装置のうちの第1の装置に送るフィードバック手段とを含むシステム。
(26)前記フィードバック手段が、
そこから制御要求を受け取った第1の装置を除く、各装置に関連づけられた優先順位を比較して最高値を有する優先レベルを特定する判断手段と、
特定された優先レベルと未処理要求信号を第1の装置に送信する送信手段とを含む、上記(25)に記載のシステム。
(27)バスと第1の装置との間でデータを伝送する手段をさらに含む、上記(25)に記載のシステム。
(28)前記データが、アプリケーション・データとコンピュータ・プログラム命令とアドレス・データとのうちの少なくとも1つを含む、上記(27)に記載のシステム。
(29)バスに動的にアクセスするシステムであって、
各装置がバスに動作可能に接続することができ、それに関連づけられた優先順位を有する複数の装置と、
前記装置のうちの第1の装置に関連づけられた待ち時間タイマと優先レベルの組合せと、前記装置のうちの第2の装置によるバスを制御する未処理の要求に関連づけられた優先レベルとに基づいて、第1の装置によるバスへのアクセスの存続期間を制御する存続期間手段とを含むシステム。
(30)前記存続期間手段が、
第1の装置による要求とそれに関連づけられた優先レベルとに応答して、バス・コントローラから第1の装置によるバスの制御権を受けとる手段と、
バス・コントローラが第2の装置から受け取った未処理の制御要求に関連づけられた第2の優先レベルを、バス・コントローラから受け取る手段とを含む、上記(29)に記載のシステム。
(31)前記存続期間手段が、第1の装置に関連づけられた待ち時間タイマと、第1の装置に関連づけられた優先レベルと第2の装置からの要求に関連づけられた第2の優先レベルとの比較との組合せに基づいて、第1の装置によるバスの制御の存続期間を制御する手段をさらに含む、上記(30)に記載のシステム。
(32)前記システムが、
複数の装置のうちの第1の装置によるバスの制御権をバス・コントローラに対して要求する手段をさらに含み、第1の装置による要求がそれに関連づけられた優先レベルを有する、上記(31)に記載のシステム。
(33)前記存続期間手段が、
第1の装置に関連づけられた満了していない待ち時間タイマに応答して、第1の装置によるバスの制御を続ける制御続行手段と、
第2の装置に関連づけられた優先レベルと少なくとも同じ高さの第1の装置に関連づけられた優先レベルと第1の装置に関連づけられた満了していない待ち時間タイマとに応答して、第1の装置によるバスの制御の存続期間を延長する延長手段と、
第2の装置に関連づけられた優先レベルよりも低い第1の装置に関連づけられた優先レベルと第1の装置に関連づけられた満了していない待ち時間タイマとに応答して、第1の装置によるバスの制御を終了する終了手段とを含む、上記(29)に記載のシステム。
(34)前記存続期間手段に応答して第1の装置と前記バスとの間でデータを伝送する手段をさらに含む、上記(29)に記載のシステム。
(35)前記データが、アプリケーション・データとコンピュータ・プログラム命令とアドレス・データとのうちの少なくとも1つを含む、上記(34)に記載のシステム。
(36)各装置がそれに関連づけられた優先順位を有する、バスに動作可能に接続することができる複数の装置を有するバスを動的に制御するコンピュータ・プログラム製品であって、
媒体内に実現されたコンピュータ可読コード手段を有するコンピュータ可読記憶媒体を含み、前記コンピュータ可読コード手段が、
前記装置のうちの第1の装置に関連づけられた待ち時間タイマと優先レベルとの組合せと、前記装置の内の第2の装置によるバスを制御する未処理の要求に関連づけられた優先レベルとに基づいて、第1の装置によるバスの制御の存続期間を制御するコンピュータ命令手段を含む、コンピュータ・プログラム製品。
(37)制御する前記コンピュータ命令手段が、
前記装置のうちの第1の装置からのバスを制御する要求を認めるコンピュータ命令手段と、
前記装置のうちの第2の装置から、バスを制御する要求と要求に関連づけられた優先レベルとを受け取るコンピュータ命令手段と、
第2の装置からの要求の受信に応答して、第2の装置から受け取った要求に関連づけられた優先レベルを前記各装置に送信するコンピュータ命令手段と、
第1の装置に関連づけられた待ち時間タイマと、第1の装置の優先レベルと第2の装置からの要求に関連づけられた優先レベルとの比較との組合せに基づいて、第1の装置によるバスの制御の存続期間を制御するコンピュータ命令手段とを含む、上記(36)に記載のコンピュータ・プログラム製品。
(38)制御する前記コンピュータ命令手段が、
第1の装置に関連づけられた満了していない待ち時間タイマに応答して第1の装置によるバスの制御を続けるコンピュータ命令手段と、
第2の装置に関連づけられた優先レベルと少なくとも同じ高さの第1の装置に関連づけられた優先レベルと第1の装置に関連づけられた満了していない待ち時間タイマとに応答して、第1の装置によるバスの制御の存続期間を延長するコンピュータ命令手段と、
第2の装置に関連づけられた優先レベルよりも低い第1の装置に関連づけられた優先レベルと第1の装置に関連づけられた満了していない待ち時間タイマとに応答して、第1の装置によるバスの制御を終了するコンピュータ命令手段とを含む、上記(36)に記載のコンピュータ・プログラム製品。
(39)前記コンピュータ可読コード手段が、
複数の装置からバスを制御する少なくとも1つの要求と要求に関連づけられた優先レベルとを受け取るコンピュータ命令手段と、
装置から受け取った要求に関連づけられた優先レベルをアービトレートして、受け取ったレベルのうちで最高値を有する第1の優先レベルを特定し、特定された第1の優先レベルに関連づけられた装置を第1の装置として特定するコンピュータ命令手段と、
優先レベルをアービトレートするコンピュータ命令手段に応答して第1の装置にバスの制御権を付与するコンピュータ命令手段とをさらに含む、上記(36)に記載のコンピュータ・プログラム製品。
(40)前記コンピュータ可読コード手段が、
存続期間を制御する前記コンピュータ命令手段に応答して、第1の装置と前記バスとの間でデータを伝送するコンピュータ命令手段をさらに含む、上記(36)に記載のコンピュータ・プログラム製品。
(41)前記データが、アプリケーション・データとコンピュータ・プログラム命令とアドレス・データとのうちの少なくとも1つを含む、上記(40)に記載のコンピュータ・プログラム製品。
(42)各装置がそれに関連づけられた優先レベルを有する、バスに動作可能に接続することができる複数の装置を有するバスへのアクセスを動的に制御するコンピュータ・プログラム製品であって、
媒体内に実現されたコンピュータ可読コード手段を有するコンピュータ可読記憶媒体を含み、前記コンピュータ可読コード手段が、
前記装置のうちの第2の装置から、バスを制御する要求と要求に関連づけられた優先レベルとを受け取るコンピュータ命令手段と、
第2の装置からの要求の受信に応答して、第2の装置から受け取った要求に関連づけられた優先レベルとそれに関連づけられた未処理要求信号とを、バスへのアクセスの制御権を有する前記装置のうちの第1の装置に送信するコンピュータ命令手段とを含む、コンピュータ・プログラム製品。
(43)前記コンピュータ可読コード手段が、
複数の装置から、バスを制御する少なくとも1つの要求と要求に関連づけられた優先レベルとを受け取るコンピュータ命令手段と、
装置から受け取った要求に関連づけられた優先レベルをアービトレートして、受け取った優先レベルのうちで最高値を有する第1の優先レベルを特定し、特定された第1の優先レベルに関連づけられた装置を第1の装置として特定するコンピュータ命令手段と、
優先レベルをアービトレートするコンピュータ命令手段に応答して、第1の装置にバスの制御権を付与するコンピュータ命令手段とをさらに含む、上記(42)に記載のコンピュータ・プログラム製品。
(44)前記コンピュータ可読コード手段が、
バスと第1の装置との間でデータを伝送するコンピュータ命令手段をさらに含む、上記(42)に記載のコンピュータ・プログラム製品。
(45)前記データが、アプリケーション・データとコンピュータ・プログラム命令とアドレス・データとのうちの少なくとも1つを含む、上記(44)に記載のコンピュータ・プログラム製品。
(46)各装置がそれに関連づけられた優先レベルを有する、バスに動作可能に接続することができる複数の装置を有するバスに動的にアクセスするコンピュータ・プログラム製品であって、
媒体内に実現されたコンピュータ可読コード手段を有するコンピュータ可読記憶媒体を含み、前記コンピュータ可読コード手段が、
前記装置のうちの第1の装置に関連づけられた待ち時間タイマと優先レベルとの組合せと、前記装置のうちの第2の装置によるバスを制御する未処理の要求に関連づけられた優先レベルとに基づいて第1の装置によるバスへのアクセスの存続期間を制御するコンピュータ命令手段を含む、コンピュータ・プログラム製品。
(47)制御する前記コンピュータ命令手段が、
第1の装置による要求とそれに関連づけられた優先レベルとに応答して、バス・コントローラから第1の装置によるバスの制御権を受け取るコンピュータ命令手段と、
バス・コントローラが第2の装置から受け取った未処理の制御要求に関連づけられた第2の優先レベルを、バス・コントローラから受け取る手段とを含む、上記(46)に記載のコンピュータ・プログラム製品。
(48)制御する前記コンピュータ命令手段が、
第1の装置に関連づけられた待ち時間タイマと、第1の装置の優先レベルと第2の装置からの要求に関連づけられた第2の優先レベルとの比較との組合せに基づいて、第1の装置によるバスの制御の存続期間を制御するコンピュータ命令手段をさらに含む、上記(47)に記載のコンピュータ・プログラム製品。
(49)前記コンピュータ命令手段が、
複数の装置のうちの第1の装置によるバスの制御権をバス・コントローラに対して要求する手段をさらに含み、第1の装置による要求がそれに関連づけられた優先レベルを有する、上記(47)に記載のコンピュータ・プログラム製品。
(50)制御する前記コンピュータ命令手段が、
第1の装置に関連づけられた満了していない待ち時間タイマに応答して第1の装置によるバスの制御を続けるコンピュータ命令手段と、
第2の装置に関連づけられた優先レベルと少なくとも同じ高さの第1の装置に関連づけられた優先レベルと第1の装置に関連づけられた満了していない待ち時間タイマとに応答して、第1の装置によるバスの制御の存続期間を延長するコンピュータ命令手段と、
第2の装置に関連づけられた優先レベルよりも低い第1の装置に関連づけられた優先レベルと第1の装置に関連づけられた満了していない待ち時間タイマとに応答して、第1の装置によるバスの制御を終了するコンピュータ命令手段とを含む、上記(46)に記載のコンピュータ・プログラム製品。
(51)前記コンピュータ可読コード手段が、
存続期間を制御する前記コンピュータ命令手段に応答して第1の装置と前記バスとの間でデータを伝送するコンピュータ命令手段とをさらに含む、上記(46)に記載のコンピュータ・プログラム製品。
(52)前記データが、アプリケーション・データとコンピュータ・プログラム命令とアドレス・データとのうちの少なくとも1つを含む、上記(51)に記載のコンピュータ・プログラム製品。
【図面の簡単な説明】
【図1】本発明によるコンピュータ・システムを示すブロック図である。
【図2】本発明によるマスタ装置とバス・コントローラとスレーブ装置との間の関係を示すブロック図である。
【図3】図2に示すバス・コントローラのフィードバック論理回路を示すブロック図である。
【図4】本発明による動的制御システムの動作を示すフローチャートである。
【図5】本発明による動的制御システムの動作例を示すタイミング図である。
【符号の説明】
100 コンピュータ・システム
102 中央処理装置(CPU)
104 ダイレクト・メモリ・アクセス・コントローラ(DMAC)
106 PowerPCローカル・バス・マスタ
108 外部バス・インタフェース装置
110 オンチップ周辺装置バス・ブリッジ
112 オンチップ周辺装置バス・マスタ
114 オンチップ周辺装置バス・スレーブ
120 バス・コントローラ
122 バス・コントローラ
130 アービタ
131 フィードバック論理回路
132 PowerPC 4XXローカル・バス
134 アービタ
135 フィードバック論理回路
136 オンチップ周辺装置バス

Claims (13)

  1. 共通バスに接続された複数の装置からのバス要求を、待ち時間タイマに基いて制御する方法において、
    各バス要求に関連づけられた優先レベルの高低と、現時点でバスの制御権を有する第1の装置における残りの転送データの有無とに基いて、前記第1の装置の待ち時間タイマを変更するステップを含むことを特徴とする方法。
  2. バス・コントローラが、第2の装置からの要求の受信に応答して、第2の装置から受け取った前記要求に関連づけられた優先レベルとそれに関連づけられた未処理要求信号とを第1の装置に送信するステップをさらに含む請求項1に記載の方法。
  3. 前記第1の装置がバスの制御権を獲得した時に、その待ち時間タイマのカウンタを「0」に設定するステップ、
    前記待ち時間が満了したか否かを調べるステップ、
    前記待ち時間カウンタが満了したと判断した場合、第2の装置からの前記要求の優先レベルが、自己の要求の優先レベルよりも高いかどうかを判断するステップ、
    前記第2の装置からの要求の優先レベルが、自己の要求の優先レベルよりも高いと判断した場合、バスの制御を終了するステップ、
    を含む請求項1または2記載の方法。
  4. 前記第2の装置からの要求の優先レベルが、自己の優先レベル以下であると判断した場合、転送すべきデータが残っているか否かを調べるステップ、
    転送すべきデータが残っていると判断した場合、待ち時間タイマの設定を変更して、第1の装置がバスの制御を続けるステップ、
    を含む請求項3記載の方法。
  5. 待ち時間カウンタが満了していないと判断した場合、転送すべきデータが残っているか否かを調べるステップ、
    転送すべきデータが残っていると判断した場合、バスの制御を続けるステップ、
    を含む請求項3記載の方法。
  6. 第1の装置がバスの制御権を獲得する前に、
    バス・コントローラが同時に複数の装置からバス要求を受け取るステップ、
    すべての要求優先レベルを比較し、最も高い優先レベルを持つ第1の装置にバスの制御権を付与するステップ、
    をさらに含む、請求項1〜5のいずれか1項記載の方法。
  7. 転送すべき前記データがアプリケーション・データとコンピュータ・プログラム命令とアドレス・データのうちの少なくとも1つを含む、請求項1〜6のいずれか1項に記載の方法。
  8. 共通バスに接続された複数の装置からのバス要求を、各装置に備えられる待ち時間タイマに基き制御するシステムにおいて、
    各バス要求に関連づけられた優先レベルの高低と、現時点でバスの制御権を有する第1の装置における残りの転送データの有無とに基いて、前記第1の装置の待ち時間タイマを変更する手段を含むことを特徴とするシステム。
  9. バス・コントローラが、第2の装置からの要求の受信に応答して、第2の装置から受け取った前記要求に関連づけられた優先レベルとそれに関連づけられた未処理要求信号とを第1の装置に送信する手段を含む、請求項記載のシステム。
  10. 各装置が、
    バスの制御を獲得した時に、その待ち時間タイマのカウンタを「0」に設定する手段と、
    待ち時間が満了したか否かを調べる手段と、
    待ち時間が満了したと判断した場合、第2の装置からの前記要求の優先レベルが、自己の要求の優先レベルよりも高いかどうかを判断する手段と、
    前記第2の装置からの要求の優先レベルが、自己の要求の優先レベルよりも高いと判断した場合、バスの制御を終了する手段と、
    を含む請求項9記載のシステム。
  11. 転送すべきデータが残っているか否かを調べる手段と、
    転送すべきデータが残っていると判断した場合、待ち時間タイマの設定を変更する手段とをさらに含む、請求項10記載のシステム。
  12. バス・コントローラが、同時に複数の装置からバス要求を受け取る手段と、
    すべての要求優先レベルを比較し、最も高い優先レベルを持つ第1の装置にバスの制御権を付与する手段とを含む、請求項8〜11のいずれか1項記載のシステム。
  13. 転送すべき前記データがアプリケーション・データとコンピュータ・プログラム命令とアドレス・データのうちの少なくとも1つを含む、請求項8〜12のいずれか1項記載のシステム。
JP05661398A 1997-03-25 1998-03-09 バスを動的に制御するシステムおよび方法 Expired - Fee Related JP3596799B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/823,736 US5862353A (en) 1997-03-25 1997-03-25 Systems and methods for dynamically controlling a bus
US08/823736 1997-03-25

Publications (2)

Publication Number Publication Date
JPH10293745A JPH10293745A (ja) 1998-11-04
JP3596799B2 true JP3596799B2 (ja) 2004-12-02

Family

ID=25239587

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05661398A Expired - Fee Related JP3596799B2 (ja) 1997-03-25 1998-03-09 バスを動的に制御するシステムおよび方法

Country Status (6)

Country Link
US (1) US5862353A (ja)
EP (1) EP0867814B1 (ja)
JP (1) JP3596799B2 (ja)
AT (1) ATE326725T1 (ja)
DE (1) DE69834519T2 (ja)
ES (1) ES2265160T3 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6076127A (en) * 1996-11-06 2000-06-13 International Business Machines Corporation Configuration of a single point bus arbitration scheme using on-chip arbiters
JP3429149B2 (ja) * 1996-12-19 2003-07-22 ソニー株式会社 伝送装置及びサーバ装置並びに伝送方法
US6055584A (en) * 1997-11-20 2000-04-25 International Business Machines Corporation Processor local bus posted DMA FlyBy burst transfers
US6784890B1 (en) * 1998-03-02 2004-08-31 Intel Corporation Accelerated graphics port expedite cycle throttling control mechanism
US6154769A (en) * 1998-03-27 2000-11-28 Hewlett-Packard Company Scheduling server requests to decrease response time and increase server throughput
US6085271A (en) * 1998-04-13 2000-07-04 Sandcraft, Inc. System bus arbitrator for facilitating multiple transactions in a computer system
US5991900A (en) * 1998-06-15 1999-11-23 Sun Microsystems, Inc. Bus controller
US6240476B1 (en) * 1998-08-21 2001-05-29 International Business Machines Corporation Dynamic allocation of bus master control lines to peripheral devices
US6304923B1 (en) 1998-10-14 2001-10-16 Micron Technology, Inc. Method for prioritizing data transfer request by comparing a latency identifier value received from an I/O device with a predetermined range of values
US6266718B1 (en) * 1998-10-14 2001-07-24 Micron Technology, Inc. Apparatus for controlling data transfer operations between a memory and devices having respective latencies
US6438629B1 (en) * 1999-02-02 2002-08-20 Maxtor Corporation Storage device buffer access control in accordance with a monitored latency parameter
JP4030216B2 (ja) * 1999-03-09 2008-01-09 インターナショナル・ビジネス・マシーンズ・コーポレーション マイクロプロセッサとマイクロプロセッサを含むシステム及びマイクロプロセッサのバスサイクル制御方法
JP2001184300A (ja) * 1999-12-27 2001-07-06 Hitachi Ltd データ処理プロセッサ
DE60024421T2 (de) * 2000-06-16 2006-08-03 Stmicroelectronics S.R.L., Agrate Brianza Arbitrierungsverfahren mit variablen Prioritäten, zum Beispiel für Verbindungsbusse, und entsprechendes System
US6587905B1 (en) 2000-06-29 2003-07-01 International Business Machines Corporation Dynamic data bus allocation
SE0004832L (sv) * 2000-12-22 2002-02-26 Ericsson Telefon Ab L M Digitalt bussystem
KR20030012049A (ko) * 2001-07-30 2003-02-12 엘지전자 주식회사 아비터의 액세스 제어 방법 및 장치
US7107374B1 (en) * 2001-09-05 2006-09-12 Xilinx, Inc. Method for bus mastering for devices resident in configurable system logic
JP2003186824A (ja) * 2001-12-18 2003-07-04 Canon Inc バス使用権優先度調整装置およびシステム
US6880028B2 (en) * 2002-03-18 2005-04-12 Sun Microsystems, Inc Dynamic request priority arbitration
KR100455396B1 (ko) * 2002-10-14 2004-11-06 삼성전자주식회사 마스터 블록들의 우선 순위를 결정하는 파라미터 발생회로 및 파라미터 발생 방법.
JP4266619B2 (ja) * 2002-11-25 2009-05-20 株式会社ルネサステクノロジ 調停回路
US7024506B1 (en) * 2002-12-27 2006-04-04 Cypress Semiconductor Corp. Hierarchically expandable fair arbiter
US7478025B1 (en) * 2003-04-18 2009-01-13 Unisys Corporation System and method to support dynamic partitioning of units to a shared resource
US7350117B2 (en) * 2004-10-05 2008-03-25 International Business Machines Corporation Management of microcode lock in a shared computing resource
US20060095905A1 (en) * 2004-11-01 2006-05-04 International Business Machines Corporation Method and apparatus for servicing threads within a multi-processor system
US7392418B2 (en) * 2004-12-17 2008-06-24 International Business Machines Corporation Capacity on demand using signaling bus control
CN100365602C (zh) * 2004-12-31 2008-01-30 北京中星微电子有限公司 实现多个主动装置对单一总线上从动装置进行存取的设备
US7467245B2 (en) * 2005-07-22 2008-12-16 Cisco Technology, Inc. PCI arbiter
US7809993B2 (en) * 2006-01-17 2010-10-05 International Business Machines Corporation Apparatus, system, and method for receiving digital instructions at devices sharing an identity
TWI318355B (en) * 2006-04-17 2009-12-11 Realtek Semiconductor Corp System and method for bandwidth sharing in busses
CN101692212B (zh) * 2009-06-19 2012-11-14 无锡中星微电子有限公司 一种访问存储器的方法、系统和总线仲裁装置
US8751715B1 (en) * 2010-03-31 2014-06-10 Enc Corporation System and method for controlling device access
US9684633B2 (en) * 2013-01-24 2017-06-20 Samsung Electronics Co., Ltd. Adaptive service controller, system on chip and method of controlling the same

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3886524A (en) * 1973-10-18 1975-05-27 Texas Instruments Inc Asynchronous communication bus
JPS5812611B2 (ja) * 1975-10-15 1983-03-09 株式会社東芝 デ−タテンソウセイギヨホウシキ
US4275440A (en) * 1978-10-02 1981-06-23 International Business Machines Corporation I/O Interrupt sequencing for real time and burst mode devices
IT1100916B (it) * 1978-11-06 1985-09-28 Honeywell Inf Systems Apparato per gestione di richieste di trasferimento dati in sistemi di elaborazione dati
US4375639A (en) * 1981-01-12 1983-03-01 Harris Corporation Synchronous bus arbiter
JPS58107934A (ja) * 1981-12-21 1983-06-27 Matsushita Electric Ind Co Ltd バス制御方式
US4535330A (en) * 1982-04-29 1985-08-13 Honeywell Information Systems Inc. Bus arbitration logic
US4602327A (en) * 1983-07-28 1986-07-22 Motorola, Inc. Bus master capable of relinquishing bus on request and retrying bus cycle
US5388228A (en) * 1987-09-30 1995-02-07 International Business Machines Corp. Computer system having dynamically programmable linear/fairness priority arbitration scheme
US5140680A (en) * 1988-04-13 1992-08-18 Rockwell International Corporation Method and apparatus for self-timed digital data transfer and bus arbitration
JP2633900B2 (ja) * 1988-04-22 1997-07-23 株式会社日立製作所 共通バス制御方法
US4987529A (en) * 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
DE69030640T2 (de) * 1989-11-03 1997-11-06 Compaq Computer Corp Multiprozessorarbitrierung in für Einzelprozessor bestimmten Arbitrierungsschemas
JPH0810445B2 (ja) * 1990-09-21 1996-01-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 動的バス調停方法及び装置
CA2051029C (en) * 1990-11-30 1996-11-05 Pradeep S. Sindhu Arbitration of packet switched busses, including busses for shared memory multiprocessors
US5301283A (en) * 1992-04-16 1994-04-05 Digital Equipment Corporation Dynamic arbitration for system bus control in multiprocessor data processing system
JP2854474B2 (ja) * 1992-09-29 1999-02-03 三菱電機株式会社 バス使用要求調停装置
US5546548A (en) * 1993-03-31 1996-08-13 Intel Corporation Arbiter and arbitration process for a dynamic and flexible prioritization
US5530838A (en) * 1993-06-10 1996-06-25 Ricoh Company, Ltd. Method and apparatus for controlling access to memory which is common to plural, priority-ordered central processing units and which is indirectly accessible via a transfer control unit
US5471590A (en) * 1994-01-28 1995-11-28 Compaq Computer Corp. Bus master arbitration circuitry having improved prioritization
US5623672A (en) * 1994-12-23 1997-04-22 Cirrus Logic, Inc. Arrangement and method of arbitration for a resource with shared user request signals and dynamic priority assignment
US5572686A (en) * 1995-06-05 1996-11-05 Apple Computer, Inc. Bus arbitration scheme with priority switching and timer

Also Published As

Publication number Publication date
DE69834519T2 (de) 2007-05-03
EP0867814A2 (en) 1998-09-30
ES2265160T3 (es) 2007-02-01
JPH10293745A (ja) 1998-11-04
ATE326725T1 (de) 2006-06-15
EP0867814B1 (en) 2006-05-17
US5862353A (en) 1999-01-19
DE69834519D1 (de) 2006-06-22
EP0867814A3 (en) 2004-11-10

Similar Documents

Publication Publication Date Title
JP3596799B2 (ja) バスを動的に制御するシステムおよび方法
US5572686A (en) Bus arbitration scheme with priority switching and timer
US5996037A (en) System and method for arbitrating multi-function access to a system bus
US7305510B2 (en) Multiple master buses and slave buses transmitting simultaneously
US7395364B2 (en) Data transfer control apparatus
US4980854A (en) Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers
JP2004531830A (ja) キャッシュメモリバーストサイクル中にバスアービトレーションを制御するためのシステム及び方法
US6598104B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US6275890B1 (en) Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration
EP1811393B1 (en) Method and system for data transfer
JPH0728758A (ja) ダイナミックタイムループ調停及び装置
US8943238B2 (en) Operations using direct memory access
JP2004005677A (ja) 集積回路装置のバスアービター
US5533200A (en) Method and apparatus for transmission of signals over a shared line
KR100475438B1 (ko) 데이터 버스 시스템 및 버스간 크로스 액세스 방법
KR100605867B1 (ko) 동적 우선순위 조정기능을 갖는 버스 중재기와 버스 중재방법
US5799160A (en) Circuit and method for controlling bus arbitration
JPH09190407A (ja) 制御装置
JP2000207352A (ja) メモリアクセス競合制御方法とその回路、並びにデ―タ処理装置
KR100243868B1 (ko) 주 전산기에서의 중재로직 방법
US7117281B1 (en) Circuit, system, and method for data transfer control for enhancing data bus utilization
CN117909265A (zh) 半导体设备、总线控制电路以及总线控制方法
CN113760805A (zh) 一种ahb总线仲裁系统、方法、设备及可读存储介质
JP3677535B2 (ja) データ転送制御回路

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031216

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040315

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040315

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20040315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040316

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: 20040826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040826

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20040826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040903

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: 20080917

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080917

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090917

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090917

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100917

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100917

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110917

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120917

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees