JPH05242011A - デュアルバスアーキテクチャを有するコンピュータシステム及び裁定方法 - Google Patents

デュアルバスアーキテクチャを有するコンピュータシステム及び裁定方法

Info

Publication number
JPH05242011A
JPH05242011A JP4321798A JP32179892A JPH05242011A JP H05242011 A JPH05242011 A JP H05242011A JP 4321798 A JP4321798 A JP 4321798A JP 32179892 A JP32179892 A JP 32179892A JP H05242011 A JPH05242011 A JP H05242011A
Authority
JP
Japan
Prior art keywords
bus
memory
input
data
output
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
Application number
JP4321798A
Other languages
English (en)
Other versions
JP2642027B2 (ja
Inventor
Amini Nader
ナダー・アミニ
Bechara Fouad Boury
ベチャラ・ファウアッド・ボウリー
Richard Louis Horne
リチャード・ルイス・ホーン
Terence J Lohman
テレンス・ジョセフ・ローマン
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 JPH05242011A publication Critical patent/JPH05242011A/ja
Application granted granted Critical
Publication of JP2642027B2 publication Critical patent/JP2642027B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • G06F13/225Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling with priority control
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【目的】 デュアルバスコンピュータアーキテクチャシ
ステムのための裁定システム及び方法を提供すること。 【構成】 バスインターフェースユニット64は入出力
装置28の1つが入出力バス32を介して読み出し又は
書き込み動作の完了を検出する。システムバス76と入
出力バス32との間を転送されるデータを一時記憶する
バスインターフェースユニット64の裁定制御論理と相
互作用する中央裁定制御器62は、裁定制御論理に応答
して、入出力装置28及びCPU38との間の裁定を行
ない、入出力装置とCPUとののどれに入出力バス32
の制御を付与すべきかを決定する裁定サイクルと、入出
力バス32の制御を付与し、入出力装置28及びCPU
38へシステムバス76の制御を延長する付与サイクル
とを同時に行なう。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
におけるバス−バスインターフェースに関し、更に特定
すると、デュアルバスアーキテクチャを採用したコンピ
ュータシステムにおいて、バスの制御を裁定する(ar
bitrate)ための裁定制御論理及び方法の改良に
関するものである。
【0002】
【従来の技術】一般的にコンピュータシステムでは、そ
して特にパーソナルコンピュータシステムでは、中央処
理装置(CPU)、メモリ装置、直接メモリアクセス
(DMA)制御器等、種々のシステム装置の間でデータ
を転送している。加えて、入出力(I/O)装置のよう
な拡張要素間、及びこれらのI/O装置と種々のシステ
ム装置との間でも、データを転送している。I/O装置
とシステム装置とは、互いにコンピュータバスを介して
通信し合い、コンピュータバスは、一連の導体を備えて
おり、それに沿って任意のデータ源から任意の目的地に
情報を伝送する。多くのシステム装置及びI/O装置
は、バス制御器(即ち、コンピュータシステムを制御す
ることができる装置)及びバススレーブ(即ち、バス制
御器によって制御される要素)として機能できるように
なっている。
【0003】2つ以上のバスを有するパーソナルコンピ
ュータシステムは公知である。典型的には、CPUがキ
ャッシュメモリ又はメモリ制御器と通信するためにロー
カルバスが設けられ、更に、DMA制御器のようなシス
テムバス装置、或はI/O装置がメモリ制御器を介して
システムメモリと通信するために、システムI/Oバス
が設けられている。システムI/Oバスは、バスインタ
ーフェースユニットによって接続されたシステムバスと
I/Oバスとを備えている。I/O装置はこのI/Oバ
スを介して互いに通信し合う。また、I/O装置は、典
型的にはシステムメモリのようなシステムバス装置とも
通信しなくてはならない。このような通信は、バスイン
ターフェースユニットを通じ、I/Oバス及びシステム
バスを介して行なわれなければならない。
【0004】コンピュータシステムでは、コンピュータ
システムのI/Oバスの所有権を複数の拡張装置の裁定
を行う必要が生じることが多い。即ち、どの拡張装置が
I/Oバスを介してデータを伝送できるかを決定しなく
てはならない。どの拡張装置がI/Oバスを介して情報
を転送できるかを決定する、即ちバスを割り当てるアー
ビタ(arbiter)を設けることが知られている。
このようなアービタは、中央裁定制御点(CACP)と
して機能し、ここを介してI/Oバスに対する全ての裁
定が生じる。
【0005】I/Oバスは、バスサイクルと呼ばれる時
分割単位で動作する。I/Oバスのバスサイクルは裁定
サイクル(arbitration cycle)と付
与サイクル(grant cycle)とに分割され
る。裁定サイクル中、複数の拡張装置がI/Oバスの所
有権を求めて競合し合う。付与サイクル期間には、バス
の所有権を勝ち得た装置が情報を転送する。
【0006】I/O装置は、アービタ付与モード期間に
のみ、システムメモリへの読み出し又は書き込みサイク
ルの開始を許されている。このような逐次裁定方法は、
別個に裁定を行なうのに必要な時間及びアービタ付与モ
ード期間にのみ生じ得るメモリ読み出し及び書き込みサ
イクルのために、デュアルバスアーキテクチャ型コンピ
ュータシステムの性能に制限を課すことになる。
【0007】
【発明が解決しようとする課題】したがって、本発明の
目的は、デュアルバスコンピュータアーキテクチャシス
テムのための裁定システム及び方法を提供することであ
り、これは、同時に(i)I/Oバスの制御を巡って競
合するCPUと複数のI/O装置との間の裁定、及び
(ii)システムメモリとI/O制御装置との間の読み
出し又は書き込み動作の完了、又はI/Oスレーブ装置
上の拡張メモリへのCPUの書き込み動作の完了を行な
うことができるようにする。
【0008】
【課題を解決するための手段】本発明によれば、デュア
ルバスアーキテクチャを有するコンピュータのための裁
定制御論理装置及び裁定方法が提供される。裁定制御論
理はコンピュータのシステムバスと入出力バスとの中間
に常駐するバスインターフェースユニット内のハードウ
エアに組み込まれたアルゴリズムによって実施される。
この裁定制御論理は、中央裁定制御器点による裁定サイ
クルと、CPU又はI/O装置によるメモリ読み出し及
び書き込みサイクルとを同時に許容することによって、
デュアルバスアーキテクチャコンピュータの性能を改善
する。
【0009】この裁定制御論理は3つの規定された条件
の下で動作する。第1の条件下では、I/O装置がシス
テムメモリへのデータの書き込みを望んでいる。裁定サ
イクルの完了後、中央裁定制御点は、そのI/O装置に
I/Oバスの(及びバスインターフェースユニットを介
してシステムバスの)制御を付与する。I/Oバスは、
1回以上の書き込みサイクルをシステムメモリに対して
開始し、書き込みサイクルは、バスインターフェースユ
ニット内のバッファに一時記憶されてからシステムメモ
リに書き込まれる。I/O装置は任意の時点でに/Oバ
スの制御を放棄することができるので、バスインターフ
ェースユニットは、バッファから読み出してシステムメ
モリに書き込む必要があるバッファ済みデータを収容す
ることができる。
【0010】I/O装置はI/Oバスの制御を放棄する
ことができるが、(バスインターフェースユニットを介
して)システムバスの制御を続け、バッファされたデー
タのシステムバスを介してのシステムメモリへの書き込
み転送を完了しなくてはならない。バスインターフェー
スユニット内の裁定制御論理はこの状態を認識し、CA
CPへのCACP無効化信号を活性化させ、システムバ
スの制御を保持することを要求する。したがって、中央
裁定制御点は、I/O装置からバッファされた書き込み
データがシステムメモリに転送されている間に、同時に
新しい裁定サイクルを開始する。バッファされたデータ
の書き込み転送を完了した時、CACP無効化信号のは
不性化され、CACPは裁定を完了しI/Oバスを付与
する。
【0011】バスインターフェースユニット内の裁定制
御論理が動作する第2の条件は、I/O装置がシステム
メモリからデータを読み出すことを望むときに生じる。
裁定サイクルの完了後、中央裁定制御点はI/O装置に
I/Oバスの(及びバスインターフェースユニットを介
してシステムバスの)制御を付与する。このI/O装置
はシステムメモリに対して1回以上の読み出しサイクル
を開始する。バスインターフェースユニット内のバッフ
ァは、既に読み出されたアドレスに隣接するアドレスを
有する事前に取り出されたデータで連続的に満たされ
る。I/O装置がバッファから最後のデータバイトを読
み出すと、I/Oバスの制御を放棄することができ、し
たがって、事前に取り出されたデータは不要となる。こ
うして、バスインターフェースユニット内のバッファは
リセットされなければならず、効率的にこの不要データ
を除去する。
【0012】I/O装置は任意の時点でI/Oバスの制
御を放棄することができるが、システムメモリからバス
インターフェースユニットへの現行のデータ転送が完了
するまで、(バスインターフェースユニットを介して)
システムバスを制御し続けていなければならない。バス
インターフェースユニット内の裁定制御論理装置はこの
状態を認識してCACPへのCACP無効化信号を活性
化し、最後の事前取り出し動作が完了し、バスインター
フェースユニット内のバッファがリセットされるまで、
システムバスの制御を保持するように要求する。したが
って、中央裁定制御点は、バスインターフェースユニッ
トがシステムバスを介してシステムメモリからの最後の
事前取り出し動作を完了してバッファをリセットする間
に、同時にI/Oバス上で新しい裁定サイクルを開始す
る。
【0013】バスインターフェースユニット内の裁定制
御論理が動作する第3の条件は、CPUのようなシステ
ム装置がシステムバスを制御し、I/Oバス上のスレー
ブとして動作する1つのI/O装置にデータを書き込む
ことを望む時に生じる。裁定サイクルの完了後、中央裁
定制御点は、システムバスの(及びバスインターフェー
スユニットを介してI/Oバスの)制御を当該システム
装置に付与するので、このシステム装置はシステムバス
−I/Oバス変換論理を介してI/O装置への書き込み
サイクルを開始する。
【0014】システムバス−I/Oバス変換論理は、C
PUのようなシステム装置からI/Oスレーブ装置上の
拡張メモリに書き込まれるべきデータを、当該I/Oス
レーブ装置に書き込む前に、一時記憶するバッファを提
供する。最後の転送データが変換論理装置内にバッファ
された後は、システムバスはもはや必要ではなくなる。
CPU及びバスインターフェースユニットは、システム
バスを終了したことを指示する。この時点で、変換論理
にバッファされているデータをI/Oバスを介してI/
O装置に書き込む必要があっても、中央裁定制御器はI
/Oバス上の裁定に介入することができるようになる。
このような状況が起こるのは、I/O装置とは異なり、
CPUは中央裁定制御器の裁定モード又は付与モードの
いずれの期間においてもI/O装置に書き込みを行なう
ことができるからである。
【0015】バスインターフェースユニット内の裁定制
御論理は、この状態を認識してCACPへのCACP無
効化信号を活性化し、バッファされたデータの最後のバ
イトがI/O装置に書き込まれるまで、I/Oバスの制
御を保持するよう要求する。したがって、中央裁定制御
器は、変換論理装置内にバッファされたデータがI/O
装置に書き込まれている間、同時に裁定サイクルを行
う。
【0016】
【実施例】まず図1を参照すると、全体的に10で示し
たコンピュータシステムは、システムボード12とプロ
セッサ複合体14とを備えている。プロセッサ複合体
は、プロセッサ部6と、ローカルバス接続器22を介し
てプロセッサローカルバス20に接続されたベース部1
8とを含んでいる。プロセッサ部16は50MHzで動
作し、ベース部18は40MHzで動作する。
【0017】システムボード12は、インターリーブ型
のシステムメモリ24及び26と入出力(I/O)装置
28とを備えている。システムメモリ24及び26とプ
ロセッサ複合体14との間の通信はメモリバス30によ
って処理され、I/O装置28とプロセッサ複合体14
との通信はI/Oバス32によって行われる。I/O装
置とシステムメモリ24及び26との間の通信はI/O
バス32、システムバス76及びメモリバス30によっ
て実行される。I/Oバス32はマイクロチャンネル
(MICRO CHANNEL、商標)コンピュータア
ーキテクチャに準拠するものでよい。メモリバス30及
びI/Oバス32はプロセッサ複合体接続器34を介し
てプロセッサ複合体のベース部18に接続される。メモ
リ拡張装置のようなI/O装置はI/Oバス32を介し
てコンピュータシステム10に接続することができる。
システムボード12は従来のビデオ回路、タイミング回
路、キーボード制御回路及び割り込み回路(いずれも図
示せず)を含むことができ、コンピュータシステム10
はこれらを通常動作中に使用する。
【0018】プロセッサ複合体14のプロセッサ部16
は中央処理ユニット(CPU)38を含んでおり、これ
は、好適実施例では、i486という商品名でインテル
社から入手可能な32ビットマイクロプロセッサであ
る。プロセッサ部16はスタティックランダムアクセス
メモリ(SRAM)40、キャッシュ制御モジュール4
2、周波数制御モジュール44、アドレスバッファ46
及びデータバッファ48を備えている。ローカルバス2
0はデータ情報路50、アドレス情報路52及び制御情
報路54を含んでいる。データ情報路50はCPU3
8、SRAM40及びデータバッファ48の間に設けら
れる。アドレス情報路52はCPU38、キャッシュ制
御モジュール42及びアドレスバッファ46の間に設け
られる。制御情報路54はCPU38、キャッシュ制御
モジュール42及び周波数制御モジュール44の間に設
けられる。加えて、キャッシュ制御モジュール42とS
RAM40との間にアドレス及び制御情報路が設けられ
る。
【0019】SRAM40は、システムメモリ24又は
26からの、或はI/O装置28上に配置された拡張メ
モリからのメモリ情報を短期間記憶することによって、
キャッシュ機能を提供する。キャッシュ制御モジュール
42は、システムメモリ24及び26のアドレス位置を
記憶するランダムアクセスメモリ(RAM)56を組み
込んでいる。CPU38は、ローカルバス20を介して
SRAM40内にキャッシュした情報に直接アクセスす
ることができる。周波数制御モジュール44は、50M
Hzのプロセッサユニット16の動作を40MHzのベ
ース部18と同期させると共に、バッファ46及び48
の動作を制御する。したがって、周波数制御モジュール
44は、バッファ46又は48が情報を獲得(capt
ure)する時間、或はこれらのバッファに記憶されて
いる情報に重ね書きする時間を決定する。バッファ46
及び48は、システムメモリ24及び26からの2回の
書き込みを、同時にそこに記憶できるように構成されて
いる。バッファ46及び48は双方向型、即ち、CPU
38が供給する情報及びCPUに供給する情報をラッチ
することができる。バッファ46及び48が双方向型な
ので、標準のベース部18を維持しつつ、プロセッサ複
合体14のプロセッサ部16を置き換え或はアッピグレ
ードすることができる。
【0020】ベース部18はメモリ制御器58、直接メ
モリアクセス(DMA)制御器60、中央裁定制御点
(CACP)回路62、バスインターフェースユニット
64及びバッファ/エラー訂正コード(ECC)回路6
6を備えている。ベース部18は、また、ドライバ回路
68、リードオンリメモリ(ROM)70、自己試験回
路72及びバッファ74を備えている。システムバス7
6はデータ情報路78、アドレス情報路80及び制御情
報路82を備えている。データ情報路はバッファ74を
バスインターフェースユニット64と接続し、バスイン
ターフェースユニット64をDMA制御器60及びバッ
ファ/ECC回路66と接続し、バッファ/ECC回路
66をシステムメモリ24及び26と接続する。アドレ
ス情報路及び制御情報路は、各々、メモリ制御器58を
DMA制御器60及びバスインターフェースユニット6
4と接続し、バスインターフェースユニット64をバッ
ファ74と接続する。
【0021】メモリ制御器58は、CPUローカルバス
20上及びシステムバス76上に常駐し、CPU38、
DMA制御器60又はバスインターフェースユニット6
4(I/O装置28に代わって)にメモリバス30を介
してのシステムメモリ24及び26へのアクセスを提供
する。メモリ制御器58は、メモリバス30を介してシ
ステムメモリ24及び26に対するシステムメモリサイ
クルを開始する。システムメモリサイクルの間、CPU
38、DMA制御器60又はバスインターフェースユニ
ット64(I/O装置28に代わって)のいずれかが、
メモリ制御器58を介してシステムメモリ24及び26
へのアクセスを得る。CPU38はローカルバス20、
メモリ制御器58及びメモリバス30を介してシステム
メモリと通信を行ない、DMA制御器60又はバスイン
ターフェースユニット64(I/O装置28に代って)
はシステムバス76、メモリ制御器58及びメモリバス
30を介してシステムメモリへのアクセスを得る。
【0022】CPU38からI/Oバス22への読み出
し又は書き込みサイクルの間、アドレス情報はシステム
メモリアドレスの境界と突き合わされる。アドレス情報
がI/O拡張メモリアドレス又はI/Oポートアドレス
と対応する場合、メモリ制御器58はI/Oバス32を
介してI/O装置28と(バスインターフェースユニッ
ト64を介して)I/Oメモリサイクル又はI/Oポー
トサイクルを開始する。CPUからI/Oメモリへの又
はI/Oポートへのサイクルの間、メモリ制御器58に
与えられたアドレスはシステムバス76からI/Oバス
32に、これら2つのバスの中間に常駐するバスインタ
ーフェースユニット64を介して伝送される。当該アド
レスに対応する拡張メモリを含むI/O装置28は、そ
のメモリアドレスをI/Oバス32から受け取る。DM
A制御器60及びバスインターフェースユニット64
は、システムメモリ24及び26とI/O装置28に組
み込まれた拡張メモリとの間の情報交換を制御する。D
MA制御器60もプロセッサ複合体14のために3つの
機能を提供する。まず、DMA制御器60は、小型コン
ピュータサブシステム制御ブロック(SCB)アーキテ
クチャを利用してDMAチャンネルを構成し、プログラ
ムされたI/Oを用いてDMAチャンネルを構成する必
要性を回避する。第2に、DMA制御器は、低速メモリ
拡張素子と典型的にはこれより高速のシステムメモリと
の間の転送を最適化するためのバッファ機能を備えてい
る。第3に、DMA制御器60は8チャンネルの32ビ
ット直接システムメモリアクセス機能を備えている。直
接システムメモリアクセス機能を備えているので、DM
A制御器60は2つのモードのうちのいずれかで機能す
ることができる。第1のモードでは、DMA制御器60
はプログラムされたI/Oのモードで機能し、ここでは
DMA制御器は機能的にCPU38のスレーブとなる。
第2のモードでは、DMA制御器60自体がシステムバ
スマスタとして機能し、この場合はDMA制御器60は
I/Oバス32を裁定しかつ制御する。この第2のモー
ドの期間には、DMA制御器60は先入れ先出し(FI
FO)レジスタ回路を用いる。
【0023】CACP回路62はDMA制御器、I/O
装置バス制御器及びCPU(I/O装置にアクセスした
場合)に対してアービタ(arbiter)として機能
する。CACP回路62はDMA制御器60、メモリ制
御器58及びI/O装置から裁定制御信号を受け取り、
I/Oバス32を制御することができる装置とその特定
の装置がI/Oバスの制御を保持できる時間長とを決定
する。
【0024】ドライバ回路68はメモリ制御器58から
システムメモリ24及び26への制御情報及びアドレス
情報を与える。ドライバ回路68は、この情報をシステ
ムメモリ24及び26を構成するのに用いられるシング
ルインラインメモリモジュール(SIMM)の数に基づ
いて駆動する。したがって、ドライバ回路68は、これ
らのメモリサイズに基づいて、システムメモリ24及び
26に供給される制御及びアドレス情報の信号強度を変
更する。
【0025】バッファ回路74はプロセッサ複合体のベ
ース部18とシステムボード12との間で増幅及び絶縁
機能を果たす。バッファ回路74は、I/Oバス32と
バスインターフェースユニット64との間での境界情報
(boundary information)のリア
ルタイムの獲得を可能にするバッファを利用する。した
がって、コンピュータシステム10が故障状態となる
と、コンピュータ保守要員はバッファ回路74をアクセ
スし、システムの故障時に接続器34に存在した情報を
決定する。
【0026】ROM70は、初めに拡張メモリからのデ
ータをシステムメモリに配置することによって、電源投
入時にシステム10を構成する。自己試験回路72はベ
ース部18内の複数の場所と接続され、複数の自己試験
機能を提供する。自己試験回路72はバッファ回路74
にアクセスし、故障状態が存在するかどうかを決定する
と共に、システム10の電源投入時にベース部18の別
の主要構成要素を試験してシステムが動作する用意がで
きているかどうかを決定する。
【0027】図2は、図1のシステムのバスインターフ
ェースユニット64の概略ブロック図を示している。バ
スインターフェースユニット64は、システムバス76
とI/Oバス32との間で双方向高速バッファとなるこ
とによって、本発明を実施する基礎となる。
【0028】バスインターフェースユニット64は、シ
ステムバス駆動/受信回路102、I/Oバス駆動/受
信回路104及びそれらの間を電気的に接続する制御論
理回路を含んでいる。システムバス駆動/受信回路10
2は、システムバス76から受け取った信号を適切なバ
スインターフェースユニット制御論理回路に送出し、バ
スインターフェースユニット制御論理回路からの信号を
受け取ってその信号をシステムバス76に送出する操舵
機構(steering)論理を含んでいる。I/Oバ
ス駆動/受信回路104は、I/Oバス32から受け取
った信号を適切なバスインターフェースユニット制御論
理回路に送出し、バスインターフェースユニット制御論
理回路から信号を受け取ってその信号をI/Oバス32
に送出する操舵機構論理を含んでいる。
【0029】バスインターフェースユニット制御論理回
路はシステムバス−I/Oバス変換論理106、I/O
バス−システムバス変換論理108、メモリアドレス比
較論理110、エラー回復支援論理112及びキャッシ
ュ監視(snooping)論理114を含んでいる。
プログラムされたI/O回路116も、システム駆動/
受信回路102に電気的に結合される。
【0030】システムバス−I/Oバス変換論理106
は、DMA制御器60又はメモリ制御器58(CPU3
8の代りに)がシステムバス制御器として動作してI/
Oバス32にアクセスし、I/Oバス上でスレーブ装置
として動作するI/O装置28と通信するのに必要な手
段を提供する。変換論理106は、システムバス76の
制御線、アドレス線及びデータ線をI/Oバス32上の
同様の線に変換する。多くの制御信号と全てのアドレス
信号はシステムバス76からI/Oバス32に流れる
が、データ情報の流れは双方向性である。システムバス
スレーブとして動作する論理はシステムバス76を監視
し、I/Oバス32のためのサイクルを検出する。この
ようなサイクルを検出すると、システムバススレーブ
は、システムバス上の信号のタイミングをI/Oバスの
タイミングに変換し、I/Oバス32上でそのサイクル
を開始し、そのサイクルが完了するのを待ち、システム
バス76上でそのサイクルを終了させる。
【0031】I/Oバス−システムバス変換論理108
はシステムバスアドレス発生回路118、I/Oバス予
測アドレス発生回路120、システムバス制御器インタ
ーフェース122、FIFOバッファ124、I/Oバ
ススレーブインターフェース126及びバス−バスペー
シング(bus pacing)制御論理128を備え
ている。システムバス制御器インターフェース122
は、40MHzで動作する高性能32ビット(4バイ
ト)i486バーストプロトコルを支援する。バースト
モードでの4、8及び16バイトのデータ転送及び非バ
ーストモードでの1〜4バイトのデータ転送が行われ
る。I/Oバススレーブインターフェース126は、シ
ステムバス76上のスレーブ装置に向けられた動作に対
してI/Oバス32を監視し、I/Oバス32に向けら
れたそれらの動作を無視する。I/Oバススレーブイン
ターフェース126が取り上げた全てのサイクルはFI
FOバッファ124及びシステムバス制御器インターフ
ェース122に伝えられる。
【0032】I/Oバス−システムバス変換論理108
は、I/O装置28がI/Oバス制御器として動作して
システムバス76をアクセスし、それによってシステム
メモリ24及び26に対して読み出し又は書き込みを行
なうのに必要な手段を提供する。これらの動作のいずれ
の場合も、I/O装置がI/Oバスを制御する。I/O
装置の速度で動作する非同期I/Oバスインターフェー
ス126は、バスインターフェースユニット64がI/
Oバス32上でI/O装置制御器に対するスレーブとし
て動作することができるようにし、メモリアドレスを復
号し、読み出し又は書き込みサイクルがシステムメモリ
24又は26に向けられていることを決定する。同時
に、システムバス制御器インターフェース122はバス
インターフェースユニット64がシステムバス74上で
制御器として動作することができるようにする。メモリ
制御器58(図2)はバスインターフェースユニット6
4に対してスレーブとして動作すると共に、インターフ
ェース64にシステムメモリから読み出したデータを供
給するか、或はデータをシステムメモリに書き込む。シ
ステムメモリへの読み出し及び書き込みは、図3に示す
ブロック図のFIFOバッファ124を介して達成され
る。
【0033】図3に示すように、FIFOバッファ12
4は、デュアルポート型の非同期双方向記憶ユニットで
あり、システムバス76とI/Oバス32との間でのデ
ータ情報の一時記憶装置を提供する。FIFOバッファ
124は4つの16バイトバッファ125A〜125D
とFIFO制御回路123とを備えている。4つのバッ
ファ125A〜125Dは、I/Oバス制御器及びシス
テムバススレーブへの及びそこからのデータをバッファ
し、それによってI/Oバス32とシステムバス76と
の同時動作を可能にする。FIFOバッファ124は、
物理的には2つの32バイトバッファ(125A/12
5B及び125C/125D)として組織化される。シ
ステムバス制御器インターフェース122及びI/Oバ
ススレーブインターフェース126は、各々一方の32
バイトバッファを制御し、他方の32バイトバッファは
それらに対して透明に動作する。32バイトバッファは
双方とも読み出し及び書き込み動作に利用される。
【0034】各FIFO125A、125B、125
C、125DはそれぞれのFIFOと物理的に或は論理
的に関連するアドレスレジスタ部を有している。データ
をI/Oバス32からFIFO125Aに転送すると、
アドレスが連続であれば、16バイトバッファが16バ
イトデータで満杯になるまで、データは蓄積される。非
連続アドレスがアドレス動作によって検出された場合、
FIFO125Aは記憶されたデータをFIFO125
Cに転送し、同時にFIFO125Bは新たな非連続ア
ドレスからデータを受けとり始める。FIFO125B
の動作は、FIFO125Aが行なったように、16バ
イトデータで満杯になるまで、又は別の非連続アドレス
が検出されるまで継続する。次に、FIFO125Bは
記憶されたデータをFIFO125Dに転送し、FIF
O125Aは再びデータを記憶し始める。このようにし
て、4つまでの16バイトブロックの非連続アドレスの
データを記憶することができる。
【0035】更に、2つの32バイトバッファを並列に
設けることによって、データの読み出し及び書き込み動
作をそれらの間で切り換えることができ、したがって本
質的に連続した読み出し及び書き込み機能を与えること
になる。
【0036】更にまた、32バイトバッファを2つの1
6バイトバッファ部に分割し、それらを別のI/Oバス
32又はシステムバス26に結合することによって、記
憶レジスタにデータをクロックインし又はそこからクロ
ックアウトする(clocking in or ou
t)信号に対する容量性ローディングに関係するFIF
Oの性能への影響を最少にとどめながら、記憶バッファ
の数を増加させることができる。これが達成できるの
は、2つのバッファが(並列に)に追加される毎に、容
量性ローディングの半分のみが各バス上のクロック信号
のローディングに加えられるにすぎないからである。
【0037】加えて、各レグ(leg)に2つの16バ
イトバッファを直列に設けていることによって、読み出
し動作等で16バイトバッファの1つがデータで満杯に
なると、そのデータをそれと直列の別の16バイトバッ
ファに転送することができ、その間に別の並列レグはデ
ータを蓄積することができる。したがって、データの蓄
積又は一方のバスから他方のバスへのデータの転送に時
間の無駄がない。
【0038】FIFO124の動作を制御するための論
理はFIFO制御回路123によって提供される。
【0039】特定のI/O装置28は1、2又は4バイ
ト(即ち、8、16又は32ビット)の帯域でのI/O
バスを介して、システムメモリ24又は26に対して書
き込みを行うことができる。I/O装置28によるシス
テムメモリへの書き込みの間、最初に転送される書き込
みデータはFIFOバッファ125A又は125Bに最
初に記憶される。I/Oバス予測アドレス発生回路12
0は、次の予測アドレス即ち連続のアドレスを計算す
る。次の連続アドレスは後続のI/Oアドレスと突き合
わされ、後続の転送が連続か否かが検査される。連続で
あれば、書き込みデータの2番目のバイトが同じFIF
Oバッファ125A又は125Bに送出される。FIF
OはI/Oバス32から毎秒40メガバイトまでの非同
期速度でデータを受け取る。
【0040】このプロセスは、バッファ125A又は1
25Bが16バイトの情報パケットで満杯になるか或い
は非連続アドレスが検出されるまで続けられる。次のク
ロックサイクルにおいては、バッファ125Aが満杯で
あるとすると、バッファ125A内のデータはバッファ
125Cに転送される。同様に、バッファ125Bが満
杯である時は、その内容全ては1回のクロックサイクル
でバッファ125Dに転送される。バッファ125C及
び125Dに記憶されたデータはシステムバスの動作速
度でi486バースト転送によってシステムメモリに書
込まれる。I/O装置によるシステムメモリへの書き込
みの間のFIFOバッファ124の動作はこのように連
続的であってバッファ125Aと125Bとの間で交互
に行われ、隣接するバッファ125C又は125Dにデ
ータを移し、他方のバッファはシステムメモリに書込ま
れるデータを受け取る。FIFOバッファ124は、
(i)次にメモリに書込む可能性のあるデータバイトの
アドレスを予測し、(ii)システムバス76を介して
FIFOバッファからシステムメモリへ書き込まれるデ
ータの最高速度に適応することによって、システムメモ
リへのデータ書込み速度を最適化する。
【0041】システムメモリからI/O装置28への読
み出しの間、FIFOバッファ124は異なる動作を行
なう。システムバスアドレス発生回路118は、最初の
読み出しアドレスを用いて、読み取られるデータの後続
の読み出しアドレスを発生し、バッファ125C又は1
25Dにデータを蓄積する。システムバスは16バイト
幅の帯域での転送を支援しているので、システムバス制
御器インターフェース122は隣接するデータの16バ
イトパケットを事前に取り出し、これを、実際に後続の
アドレスを与えるI/Oバス32なしにバッファ125
C又は125Dに記憶する。このようにして、転送中の
待ち時間(latency)を減少させる。バッファ1
25Cが事前に取り出されたデータで満杯になった時、
バッファ125Cはその内容を1回のクロックサイクル
でバッファ125Aに転送する。同様に、バッファ12
5Dは、満配になると、バッファ125Bにその内容を
移す。ついで、バッファ125A及び125B内のデー
タは1、2又は4バイトの帯域の特定のI/O装置制御
器により読み出される。このようにして、システムバス
アドレス発生回路118は、データの事前取り出しを停
止するようにI/O制御器装置によって命令されるま
で、増分カウンタとして機能する。
【0042】バス−バスペーシング制御論理128は、
高速I/O装置に対してシステムメモリへの一層高速の
アクセスを作り出す。バス−バスペーシング制御理論1
28は、I/O装置とCPUとの間でのメモリ制御器5
8へのアクセスを交互に行なうのではなく、複数のサイ
クルを要する高速の装置によるデータの転送の間、I/
Oバス32を制御しているI/O装置にシステムメモリ
への無中断アクセスを許すことによって、システム10
の通常のメモリ制御器裁定体系を無効にする。したがっ
て、I/O装置による複数サイクル伝送の間に、CPU
のようなローカル装置にメモリバス制御のための保留要
求があっても、バス−バスペーシング制御理論は128
はそのI/O装置にメモリバスの継続制御を付与する。
【0043】プログラムされたI/O回路116はバス
インターフェースユニット64の一部分であり、、バス
インターフェースユニット64内のプログラム可能なレ
ジスタ全てを含む。これらのレジスタは、特定のレジス
タがアクティブかインアクティブかを決定するために、
それに関連したビットを有している。これらのレジスタ
は、特に、バスインターフェースユニット64が応答す
るシステムメモリ及び拡張メモリのアドレス範囲、キャ
ッシュ可能な及びキャッシュ不可能な拡張メモリアドレ
ス、システムメモリ又はキャッシュアドレス範囲、及
び、パリティ又はエラーチェック動作をバスインターフ
ェースユニットが支援しているか否かを規定する。した
がって、プログラムされたI/O回路116はバスイン
ターフェースユニット64に対して、それが常駐する環
境とそれを構成するオプションとを識別する。プログラ
ムされたI/O回路116内のレジスタをI/Oバス3
2を介して直接プログラムすることはできない。したが
って、システム10をプログラムするためには、ユーザ
ーはプログラムされたI/O回路116とCPUレベル
でシステムバスを介して通信することができるI/O装
置にアクセスしなければならない。
【0044】メモリアドレス比較論理110は、メモリ
アドレスがシステムメモリに対応するのか、或いは、I
/Oバス32に結合されたI/O装置28上に配置され
た拡張メモリに対応するのかを決定する。拡張メモリ及
びシステムメモリは非連続アドレスブロックにあり得る
ので、メモリアドレス比較論理110は、プログラムさ
れたI/O回路116内のレジスタからの境界情報をロ
ードされた複数の比較器を備えており、どの境界がどの
メモリに対応するかを指示する。メモリアドレス比較論
理によって、特定のメモリアドレスが境界情報と比較さ
れた後、バスインターフェースユニットがそれにしたが
って応答するように準備される。例えば、I/Oバス3
2を制御しているI/O装置が拡張メモリに対して読み
出し又は書き込みを行なっている場合、バスインターフ
ェース回路はそのアドレスをメモリ制御器58に伝える
必要はなく、このようにして時間とメモリ帯域とを節約
する。
【0045】エラー回復支援論理112は、データパリ
ティエラーが検出されてもシステム10に動作を続けさ
せる。I/O装置28によるシステムメモリ24又は2
6への任意の読み出しアクセス時又は書き込みアクセス
時に、データのパリティがチェックされる。エラー回復
支援論理112は、検出されたパリティエラーのアドレ
スと時刻とを獲得するために、プログラムされたI/O
回路116内のレジスタと相互作用を行なう。次いで、
このレジスタの内容を適切なシステムソフトウエアによ
って処理してもよい。例えば、CPU38をハイレベル
の割込みに対してプログラムし、パリティエラーが検出
された時は常にそのレジスタからアドレスを引き出せる
ようにしてもよい。そこで、CPUは、システムソフト
ウエアの命令を基に、システム動作を継続するか、或い
は識別されたパリティエラー源の動作を単に終了させる
のみにするかを決定することができる。
【0046】キャッシュ監視論理114は、I/Oバス
32を介してI/O装置によって行なわれる拡張メモリ
への任意の書き込みを検出するために、バスインターフ
ェースユニット64がI/Oバス32を監視できるよう
にする。キャッシュ監視論理は、まず、拡張メモリへの
書き込みがSRAM40内のキャッシュ可能な拡張メモ
リ内で起こったものかどうかを決定する。キャッシュ可
能な拡張メモリではない場合、キャッシュされているデ
ータの破損の恐れはない。しかし、肯定比較(posi
tive compare)が、キャッシュ可能な拡張
メモリに書き込みが起こったことを示した場合、システ
ムバス76を介してキャッシュ無効サイクルが開始され
る。このようにして、CPUはSRAM40内の対応す
るアドレスを無効化するように命令される。キャッシュ
監視論理114は肯定比較のアドレスを記憶する手段を
備え、I/Oバスの監視を最初の肯定比較の検出直後に
継続できるようにし、I/Oバス32の継続的監視を可
能にする。
【0047】本発明は、一般的には前記バスインターフ
ェースユニット64に関するものであり、特に、コンピ
ュータシステム10内のシステムバス76と入出力バス
32との間に常駐するバスインターフェースユニット6
4内に設けられたシステムバス裁定制御論理130(図
5)に関するものである。裁定制御論理は、裁定サイク
ルと付与サイクルとを交互に発生させるCACP回路6
2と相互作用する。CACP回路62の動作は、係属中
の米国特許出願第07/777777号(1991年1
0月15日出願、発明の名称「裁定ホールドを用いたバ
ス割り当ての制御」)に記載されている。バスインター
フェースユニット64内の裁定制御論理130は、CA
CP回路62による裁定サイクルがCPU38又はI/
O装置28によるメモリ読み出し及び書き込みサイクル
を同時に重複させることができるようにすることによっ
て、デュアルバスアーキテクチャを採用したコンピュー
タシステムの性能を改善する。
【0048】図4は、I/Oバス32、システムバス7
6、CACP回路62及びバスインターフェースユニッ
ト64のシステム相互接続を示す。
【0049】複数転送要求線144は、既にI/Oバス
32を制御しているI/O装置28がI/Oバス32を
介して1回以上のデータ転送を行なう用意ができている
ことを示すための手段を提供する。CACPは、複数の
データ転送全てをI/Oバス32を介して完了するま
で、I/O装置のためにI/Oバス32を付与モードに
保持することによって、この要求に応答する。I/Oバ
スを介しての複数の転送の完了時に、I/O装置は線1
14を不活性化し、CACP回路62はI/O装置がI
/Oバス32から外されていることを決定し、次の裁定
サイクル132を開始する。バスインターフェースユニ
ット64内の裁定制御論理130は、以下に説明するよ
うに、バスインターフェースユニット64にCACP無
効化信号146を供給し、システムI/Oバスを通じて
動作が生じている間、CACP回路が再度付与モードに
入ることを防止する。CACP無効化信号146を不活
性に駆動している時にのみ、CACP回路62は次の付
与サイクルに入ることができる。
【0050】裁定制御論理130は3つの規定された状
態の下で動作する。第1の状態の下では、I/Oバス3
2を制御しているI/O装置がI/O及びシステムバス
32、76を介してシステムメモリ24及び26に複数
の転送データを書き込む。第2の状態の下では、I/O
バス32を制御しているI/O装置がI/O及びシステ
ムバスを通じてシステムメモリ24及び26から複数の
転送データを読み取る。第3の状態の下では、システム
バス76を制御しているCPU38のようなシステム装
置が、I/Oバス32上でスレーブとして動作している
I/O装置にデータを書き込む。これら3つの特定の動
作の各々において、動作が完了に至る前にCACP回路
62による裁定が進行できるようにし、I/Oバス上の
CACP回路62による裁定と特定の動作の完了とを同
時に行なうことができるようにする。
【0051】裁定制御論理130が動作する前記3つの
状態の各々について、次に詳細に説明する。第1の状態
の下では、I/O装置28がシステムメモリ24及び2
6にデータを書き込むことを望んでいる。裁定サイクル
の終了時に、CACP回路62は、I/Oバス32の
(及びバスインターフェースユニット64を介してシス
テムバス76の)制御をそのI/O装置28に付与す
る。このI/O装置は、1回以上の書き込みサイクルを
システムメモリ24及び26に対して開始し、これら書
き込みサイクルはFIFOバッファ125A及び/又は
125Bに一時記憶される。I/O装置28は任意の時
点にI/Oバス32の制御を放棄することができるの
で、バスインターフェースユニットはバッファ125A
及び/又は125Bからバッファ125C及び/又は1
25Dに対して書き込みを行い、システムメモリ24及
び26に書き出す必要があるバッファされたデータを含
むことになる。
【0052】I/O装置28はI/Oバス32の制御を
放棄することができるが、(バスインターフェースユニ
ット64を介して)システムバス76の制御を保持し、
バッファされたデータのシステムバス76を介してのシ
ステムメモリ24及び26への書き込み転送を完了しな
くてはならない。バスインターフェースユニット内の裁
定制御論理130はこの状態を認識し、CACP回路6
2へのCACP無効化信号146を活性化して、(バス
インターフェースユニット64を介して)システムバス
76の制御を保持するように要求する。したがって、I
/O装置からのFIFOバッファ124にバッファされ
た書き込みデータがシステムメモリ24及び26に転送
される間に、同時にCACP回路62は裁定サイクルを
開始する。裁定制御論理130がCACP無効化信号1
46を活性化し続ける限り、CACP回路62は他のI
/O装置28にシステムバス76へのアクセスを付与す
ることはない。これが生じるのは、バッファされた書き
込みデータの最後の転送がシステムメモリに対して行わ
れる迄である。その後、裁定制御論理130はCACP
無効化信号146を不活性化するので、CACP62は
裁定を完了し、新しいI/O装置にI/Oバス32を付
与する。このようにして、システムバス76上の動作の
競合を回避する。I/Oバス32を制御しているI/O
装置は、CACP回路62が付与モードにある時のみ、
I/Oバス上のサイクルを開始することができる。
【0053】バスインターフェースユニット64内の裁
定制御論理130が動作する第2の状態は、I/O装置
28がシステムメモリ24及び26からのデータの読み
出しを望む時に生じる。裁定サイクルの完了後に、CA
CP回路62は、I/Oバス32の(及びバスインター
フェースユニット64を介してシステムバス76の)制
御をI/O装置28に付与する。I/O装置28はシス
テムメモリ24及び26に対して1回以上の読み出しサ
イクルを開始する。FIFOバッファ125C及び/又
は125Dは、先のFIFOバッファ124の記載で説
明したように、事前に取り出された隣接データで連続的
に満杯にされる。I/O装置28はFIFOバッファ1
25A及び/又は125Bからのデータの最終バイトの
読み取りを完了すると、I/Oバス32の制御を放棄す
るので、バッファ125C及び125Dへ事前に取り出
されたデータは不要となる。したがって、バッファ12
4がリセットされ、効率的にこの不要データを除去しな
ければならない。
【0054】I/O装置28は任意の時点にI/Oバス
32の制御を放棄できるが、システムメモリ24及び2
6からバスインターフェースユニット64への現行のデ
ータ転送を完了したことをメモリ制御器58が指示する
まで、I/O装置28は(バスインターフェースユニッ
ト64を介して)システムバス76の制御を保持しなく
てはならない。バスインターフェースユニット内の裁定
制御論理130はこの状態を認識してCACP回路62
へのCACP無効化信号146を活性化し、最後の事前
取り出し動作が完了してFIFOバッファ124がリセ
ットされるまで、(バスインターフェースユニット64
を介して)システムバス76の制御を保持することを要
求する。したがって、バスインターフェースユニット6
4がシステムバス76を介してシステムメモリからの最
後の事前取り出し動作を完了し、FIFOバッファ12
4がリセットされる間、同時にCACP回路62はI/
Oバス32上で新たな裁定サイクルを開始する。裁定制
御論理130がCACP無効化信号146を活性化し続
ける限り、CACP回路62が別のI/O装置28にシ
ステムバス76を付与することはない。この状態は、事
前取り出し及びリセットの動作がシステムバスを介して
完了し、その後裁定制御論理130がCACP無効化信
号146を不活性化してCACP62が裁定を終了し、
I/Oバス32を新しいI/O装置28に付与するまで
生じる。このようにして、システムバス76上での動作
の競合を回避することができる。
【0055】バスインターフェースユニット内の裁定制
御論理130が動作する第3の状態は、システムバスを
制御しているCPU38のようなシステム装置がI/O
バス32上でスレーブとして動作する1つのI/O装置
にデータの書き込みを望む時に生じる。裁定サイクル完
了の後、CACP回路62はシステムバス76の(及び
バスインターフェースユニット64を介してI/Oバス
32の)制御をシステム装置に付与するので、該システ
ム装置はシステムバス−I/Oバス変換論理106を介
してI/O装置28への書き込みサイクルを開始する。
【0056】システムバス−I/Oバス変換論理106
は、CPU38のようなシステム装置からI/Oスレー
ブ装置上の拡張メモリに書き込まれるべきデータを、そ
のI/Oスレーブ装置に書き込む前に一時記憶しておく
ためのバッファ(図示せず)を備えている。最終の転送
データがシステム−I/Oバス変換論理106にバッフ
ァされた後は、システムバス76はもはや必要ではな
い。CPU38は、バスインターフェースユニット64
が行なうように、システムバス76を終了したことを指
示するが、裁定制御論理130はCACP無効化信号1
46を活性化し、CACP62がI/Oバス32の制御
を保持する必要があることをCACP62に知らせる。
この点において、変換論理106にバッファされたデー
タはI/Oバスを介してI/O装置に書き込まれなけれ
ばならないが、CACP回路62はI/Oバス32上の
裁定に入る。この状況は可能である。なぜならば、I/
Oバス32とは異なり、CPU38はCACP回路62
の裁定又は付与サイクルの期間にI/O装置に書き込み
を行うことができるからである。
【0057】したがって、変換論理106にバッファさ
れたデータがI/O装置に書き込まれる間に、同時にC
ACP回路62は裁定サイクルを実行し、その後、裁定
制御論理130がCACP無効化信号146を不活性化
してCACP62が裁定を完了し、新たなI/O装置2
8にI/Oバス32を付与することができるようにす
る。これによって、CPU38とI/O装置28との間
でI/Oバス上の動作の競合を回避することができる。
【0058】図6は、バスインターフェースユニット6
4内の裁定制御論理130の一実施例を示す。裁定制御
論理130はバスインターフェースユニット64のハー
ドウエア内に組込まれたアルゴリズムによって実施され
る。裁定制御論理130はアンドゲート148とS−R
ラッチ150及び152とを備えている。先に説明した
ように、I/Oバス32を制御しているI/O装置がI
/O及びシステムバス32、76を介して複数の転送デ
ータの読み出し又は書き込みを行なう時、裁定制御論理
130はCACP無効化信号146を出力する。CAC
P無効化信号は負アクティブである。したがって、I/
O装置がシステムメモリ24及び26から読み出しを行
う間、データはシステムメモリからFIFOバッファ1
24に事前に取り出され、読み出し事前取り出し(re
ad prefetch)開始線154は「ハイ」に駆
動され、ラッチ150がセットされる。ラッチ150の
相補出力156は「ロー」となり、システムバス76を
介してデータが事前に取り出される間、CACP回路6
2が次の付与サイクルを実行するのを防止する。この読
み出し事前取り出し動作が完了するまで、I/O装置は
(バスインターフェースユニット64を介して)システ
ムバスの制御を保持する。読み出し事前取り出し動作が
完了した時、線158は「ハイ」に駆動され、ラッチ1
50をリセットしてCACP無効化信号146を不活性
化する。CACP回路62は既に裁定モードに入ってい
るが、次の付与モードに入ることが許容される。
【0059】I/O装置がシステムメモリ24及び26
に書き込みを行なっている期間、データは最初にFIF
Oバッファ124に書き込まれ、システムメモリ書き込
み線160は「ハイ」に駆動され、ラッチ152がセッ
トされる。ラッチ152の相補出力162は「ロー」と
なってCACP無効化信号146を活性化し、システム
バス76を介してFIFOバッファ124からシステム
メモリにデータが書き込まれている間、CACP回路6
2が次の付与サイクルに入るのを防止する。システムメ
モリへの書き込みが完了するまで、I/O装置は(バス
インターフェースユニット64を介して)システムバス
の制御を保持する。しかしながら、I/OバスをCAC
P回路62による同時裁定プロセスに利用することがで
きる。CACP無効化信号146はCACP回路が再び
付与モードに入るのを防止する。書き込み動作の完了時
に、FIFOバッファ124内の全てのバッファは空ら
になり、線164は「ハイ」に駆動されてラッチ152
がリセットされる。CACP無効化信号146は不活性
化され、CACP回路62が付与モードに入ることがで
きるようにする。
【0060】システム装置(CPU38のような)のI
/O装置28への書き込みの間、データはI/Oバス変
換論理106に設けられたバッファ内に一時記憶され
る。データの記憶時に、I/Oバス変換論理106は、
CPU通知済み(posted)サイクル信号166を
「ロー」に駆動してCACP無効化信号を活性化し、シ
ステムバス76に書き込みサイクルが完了したことを知
らせる。これによって、I/Oバス変換論理106がバ
ッファされたデータのI/O装置28への書き込みを完
了する間に、システムバス76上で更に別の動作が生じ
るのを可能にする。I/O装置28への書き込み動作の
完了時に、I/Oバス変換論理106は、CPU通知済
みサイクル信号166を「ハイ」に駆動し、それによっ
てCACP無効化信号146を不活性化し、CACP6
2が裁定を完了しI/Oバス32を新しいI/O装置2
8に付与できるようにする。
【0061】
【発明の効果】以上、一実施例を参照して本発明を詳細
に説明したところから明らかなとおり、本発明は、I/
Oバスの制御を巡って競合するCPUと複数のI/Oと
の間の裁定、及び、システムメモリとI/O制御装置と
の間の書き込み又は読み出し動作の完了又はI/Oスレ
ーブ装置上の拡張メモリへのCPUの書き込み動作の完
了を同時に行うことができるという格別の効果を奏す
る。
【図面の簡単な説明】
【図1】本発明の原理にしたがって構成されたバスイン
ターフェースユニットを組み込んだコンピュータシステ
ムの概略ブロック図。
【図2】図1のコンピュータシステムのバスインターフ
ェースユニットの概略ブロック図。
【図3】図2のバスインターフェースユニットのFIF
Oバッファの概略ブロック図。
【図4】図1のCACP回路及びバスインターフェース
ユニットのブロック回路図。
【図5】図1のバスインターフェースユニット内に設け
られた裁定制御論の一実施例の回路図。
【符号の説明】
10 コンピュータシステム 12 システムボード 14 プロセッサ複合体 16 プロセッサユニット 18 ベース部 24、26 インターリーブ型システムメモリ 28 入出力(I/O)装置 30 メモリバス 32 I/Oバス 40 スタティックランダムアクセスメモリ(SRA
M) 42 キャッシュ制御モジュール 44 周波数制御モジュール 46 アドレスバッファ 48 データバッファ 60 直接メモリアクセス(DMA)制御器 62 バス裁定制御点(CACP)回路 64 バスインターフェースユニット 66 バッファ/エラー訂正コード(ECC)回路 68 ドライバ回路 74 バッファ回路 76 システムバス 106 システムバス−I/Oバス変換論理 108 I/Oバス−システムバス変換論理 126 I/Oバススレーブインターフェース126 124 FIFOバッファ 122 システムバス制御器インターフェース
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ベチャラ・ファウアッド・ボウリー アメリカ合衆国33434、フロリダ州 ボ カ・ラトン、ノース・ウエスト・トゥエン ティーエイス・アベニュー 3008番地 (72)発明者 リチャード・ルイス・ホーン アメリカ合衆国33437、フロリダ州 ボー イントン・ビーチ、シダー・レイク・ロー ド 5289番地、アパートメント・ナンバー 8−23 (72)発明者 テレンス・ジョセフ・ローマン アメリカ合衆国33486、フロリダ州 ボ カ・ラトン、サウスウエスト・フィフス・ ストリート 1069番地

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 (a)システムメモリと、 (b)システムメモリへのアクセスを制御するためのメ
    モリ制御器であって、前記システムメモリとメモリバス
    で接続されたメモリ制御器と、 (c)前記メモリ制御器と電気的に接続された中央処理
    ユニットであって、前記メモリバスを介して前記システ
    ムメモリにデータの読み出し及び書き込みを行なうこと
    ができる中央処理ユニットと、 (d)システムバスによって前記メモリ制御器と電気的
    に接続され、入出力バスを介して読み出し及び書き込み
    動作を開始することができる複数の入出力装置と前記入
    出力バスによって電気的に接続され、前記入出力装置の
    1つが前記入出力バスを介して読み出し又は書き込み動
    作を完了した時を検出することができるバスインターフ
    ェースユニットであって、バッファ回路を備えており、
    前記システムバスと前記入出力バスとの間を転送される
    読み出し及び書き込みデータをその転送の間一時記憶す
    るバスインターフェースユニットと、 (e)前記システムバス上に常駐して(i)前記複数の
    入出力装置及び前記中央処理ユニットとの間で裁定を行
    ない、前記入出力装置又は前記中央処理ユニットのどち
    らに前記入出力バスの制御を付与すべきかを決定する裁
    定サイクルと、(ii)前記入出力バスの制御を付与
    し、かつ前記入出力装置又は前記中央処理ユニットへ前
    記システムバスの制御を延長する付与サイクルとを逐次
    行なう中央裁定制御点であって、所定の組の動作状態に
    応答する裁定制御論理によって少なくとも部分的に制御
    され、これによって中央裁定制御点動作と同時にデータ
    転送動作を行なうことができるようにした中央裁定制御
    点と、を具備することを特徴とするコンピュータシステ
    ム。
  2. 【請求項2】 請求項1に記載のコンピュータシステム
    において、前記裁定制御論理は前記バスインターフェー
    スユニット内のハードウエアに組み込まれたアルゴリズ
    ムによって実施されることを特徴とするコンピュータシ
    ステム。
  3. 【請求項3】 請求項1に記載のコンピュータシステム
    において、前記所定の組の動作状態の1つは、前記入出
    力装置の前記1つが前記入出力バス及び前記システムバ
    スを介してシステムメモリからデータを読み出す時に生
    じることを特徴とするコンピュータシステム。
  4. 【請求項4】 請求項1に記載のコンピュータシステム
    において、前記所定の組の動作状態の1つは、前記入出
    力装置の前記1つが前記入出力バス及び前記システムバ
    スを介してシステムメモリからのデータを書き込む時に
    生じることを特徴とするコンピュータシステム。
  5. 【請求項5】 請求項1に記載のコンピュータシステム
    において、前記所定の組の動作状態の1つは、前記中央
    処理ユニットが入出力バス上でスレーブとして動作する
    前記入出力装置の1つにデータを書き込む時に生じるこ
    とを特徴とするコンピュータシステム。
  6. 【請求項6】 請求項1に記載のコンピュータシステム
    において、前記バスインターフェースユニットは、前記
    システムバスと前記入出力バスとの間で情報データの一
    時記憶を提供するデュアルポート型の非同期・双方向記
    憶ユニットを組み込んでいることを特徴とするコンピュ
    ータシステム。
  7. 【請求項7】 請求項3に記載のコンピュータシステム
    において、前記記憶ユニットは少なくとも2対の16バ
    イトバッファを備えており、前記バッファの双方を読み
    出し及び書き込みの動作のために用いることを特徴とす
    るコンピュータシステム。
  8. 【請求項8】 請求項4に記載のコンピュータシステム
    において、前記記憶ユニットは少なくとも2対の16バ
    イトバッファを備えており、前記バッファの双方を読み
    出し及び書き込みの動作に用いることを特徴とするコン
    ピュータシステム。
  9. 【請求項9】 請求項1に記載のコンピュータシステム
    において、前記システムバスは前記バスインターフェー
    スユニットと前記システムメモリ間の16バイトまでの
    帯域の読み出し又は書き込みデータのバースト転送を支
    援し、前記入出力バスは1、2又は4バイトの帯域の前
    記入出力装置と前記バスインターフェースユニットとの
    間の読み出し又は書き込みデータの転送を支援すること
    を特徴とするコンピュータシステム。
  10. 【請求項10】 コンピュータシステムにおいて複数の
    入出力装置と中央処理ユニットとの間の裁定を行なう方
    法であって、 (a)システムメモリとシステムメモリへのアクセスを
    制御するためのメモリ制御器とを設け、前記システムメ
    モリと前記メモリ制御器とをメモリバスで接続するステ
    ップと、 (b)前記メモリ制御器と電気的に接続され、前記メモ
    リバスを介して前記システムメモリに対してデータの読
    み出し及び書き込みを行なうことができる中央処理ユニ
    ットを設けるステップと、 (c)システムバスによって前記メモリ制御器と電気的
    に接続され、入出力バスを介して読み出し及び書き込み
    を開始することができる複数の入出力装置と前記入出力
    バスによって電気的に接続され、前記入出力装置の1つ
    が前記入出力バスを介して読み出し又は書き込み動作を
    完了した時を検出することができるバスインターフェー
    スユニットであって、バッファ回路を備えており、前記
    システムバスと前記入出力バスとの間を転送される読み
    出し及び書き込みデータをその転送の間一時記憶するバ
    スインターフェースユニットを設けるステップと、 (d)前記システムバス上に常駐して(i)前記複数の
    入出力装置及び前記中央処理ユニットとの間で裁定を行
    ない、前記入出力装置又は前記中央処理ユニットのどち
    らに前記入出力バスの制御を付与すべきかを決定する裁
    定サイクルと、(ii)前記入出力バスの制御を付与
    し、かつ前記入出力装置及び前記中央処理ユニットへ前
    記システムバスの制御を延長する付与サイクルとを逐次
    行なう中央裁定制御点を設けるステップと、 (e)所定の組の動作状態に応答して裁定制御論理によ
    って少なくとも部分的に前記中央裁定制御点を制御する
    ステップと、を含み、これによって中央の裁定と同時に
    データを転送することを特徴とする裁定方法。
JP4321798A 1992-01-02 1992-12-01 コンピュータ・システム、アービトレーション方法及びアービトレーション装置 Expired - Lifetime JP2642027B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US816116 1992-01-02
US07/816,116 US5265211A (en) 1992-01-02 1992-01-02 Arbitration control logic for computer system having dual bus architecture

Publications (2)

Publication Number Publication Date
JPH05242011A true JPH05242011A (ja) 1993-09-21
JP2642027B2 JP2642027B2 (ja) 1997-08-20

Family

ID=25219732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4321798A Expired - Lifetime JP2642027B2 (ja) 1992-01-02 1992-12-01 コンピュータ・システム、アービトレーション方法及びアービトレーション装置

Country Status (10)

Country Link
US (1) US5265211A (ja)
EP (1) EP0550223A3 (ja)
JP (1) JP2642027B2 (ja)
KR (1) KR960012660B1 (ja)
CN (1) CN1029167C (ja)
AU (1) AU651747B2 (ja)
CA (1) CA2080630C (ja)
NZ (1) NZ245345A (ja)
SG (1) SG42882A1 (ja)
TW (1) TW288123B (ja)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5768548A (en) * 1992-04-15 1998-06-16 Intel Corporation Bus bridge for responding to received first write command by storing data and for responding to received second write command by transferring the stored data
US5467295A (en) * 1992-04-30 1995-11-14 Intel Corporation Bus arbitration with master unit controlling bus and locking a slave unit that can relinquish bus for other masters while maintaining lock on slave unit
JP2531903B2 (ja) * 1992-06-22 1996-09-04 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュ―タ・システムおよびシステム拡張装置
US5335326A (en) * 1992-10-01 1994-08-02 Xerox Corporation Multichannel FIFO device channel sequencer
US5450547A (en) * 1992-10-01 1995-09-12 Xerox Corporation Bus interface using pending channel information stored in single circular queue for controlling channels of data transfer within multiple FIFO devices
US5495585A (en) * 1992-10-16 1996-02-27 Unisys Corporation Programmable timing logic system for dual bus interface
TW276312B (ja) * 1992-10-20 1996-05-21 Cirrlis Logic Inc
US5535414A (en) * 1992-11-13 1996-07-09 International Business Machines Corporation Secondary data transfer mechanism between coprocessor and memory in multi-processor computer system
US5799205A (en) * 1992-11-13 1998-08-25 Mannesmann Aktiengesellschaft Transfer system for data exchange using two active central processing units directly connected together parallel to serial system bus directly connecting CPUs to dispersed devices
EP0601715A1 (en) * 1992-12-11 1994-06-15 National Semiconductor Corporation Bus of CPU core optimized for accessing on-chip memory devices
US5386517A (en) * 1993-01-26 1995-01-31 Unisys Corporation Dual bus communication system connecting multiple processors to multiple I/O subsystems having a plurality of I/O devices with varying transfer speeds
CA2109043A1 (en) * 1993-01-29 1994-07-30 Charles R. Moore System and method for transferring data between multiple buses
US5511224A (en) * 1993-02-18 1996-04-23 Unisys Corporation Configurable network using dual system busses with common protocol compatible for store-through and non-store-through cache memories
US5528765A (en) * 1993-03-15 1996-06-18 R. C. Baker & Associates Ltd. SCSI bus extension system for controlling individual arbitration on interlinked SCSI bus segments
US5396602A (en) * 1993-05-28 1995-03-07 International Business Machines Corp. Arbitration logic for multiple bus computer system
US5450551A (en) * 1993-05-28 1995-09-12 International Business Machines Corporation System direct memory access (DMA) support logic for PCI based computer system
US5799161A (en) * 1993-06-25 1998-08-25 Intel Corporation Method and apparatus for concurrent data routing
US5708794A (en) * 1993-08-10 1998-01-13 Dell Usa, L.P. Multi-purpose usage of transaction backoff and bus architecture supporting same
US5771397A (en) * 1993-12-09 1998-06-23 Quantum Corporation SCSI disk drive disconnection/reconnection timing method for reducing bus utilization
US5666516A (en) * 1993-12-16 1997-09-09 International Business Machines Corporation Protected programmable memory cartridge having selective access circuitry
US5761450A (en) * 1994-02-24 1998-06-02 Intel Corporation Bus bridge circuit flushing buffer to a bus during one acquire/relinquish cycle by providing empty address indications
US5745732A (en) * 1994-11-15 1998-04-28 Cherukuri; Ravikrishna V. Computer system including system controller with a write buffer and plural read buffers for decoupled busses
US5623697A (en) * 1994-11-30 1997-04-22 International Business Machines Corporation Bridge between two buses of a computer system with a direct memory access controller having a high address extension and a high count extension
US5898857A (en) * 1994-12-13 1999-04-27 International Business Machines Corporation Method and system for interfacing an upgrade processor to a data processing system
US5603041A (en) * 1994-12-13 1997-02-11 International Business Machines Corporation Method and system for reading from a m-byte memory utilizing a processor having a n-byte data bus
US5625779A (en) * 1994-12-30 1997-04-29 Intel Corporation Arbitration signaling mechanism to prevent deadlock guarantee access latency, and guarantee acquisition latency for an expansion bridge
US6212589B1 (en) * 1995-01-27 2001-04-03 Intel Corporation System resource arbitration mechanism for a host bridge
US5687393A (en) * 1995-06-07 1997-11-11 International Business Machines Corporation System for controlling responses to requests over a data bus between a plurality of master controllers and a slave storage controller by inserting control characters
US5966715A (en) * 1995-12-29 1999-10-12 Csg Systems, Inc. Application and database security and integrity system and method
US5748968A (en) * 1996-01-05 1998-05-05 Cirrus Logic, Inc. Requesting device capable of canceling its memory access requests upon detecting other specific requesting devices simultaneously asserting access requests
US5774744A (en) * 1996-04-08 1998-06-30 Vlsi Technology, Inc. System using DMA and descriptor for implementing peripheral device bus mastering via a universal serial bus controller or an infrared data association controller
US5845151A (en) * 1996-04-08 1998-12-01 Vlsi Technology, Inc. System using descriptor and having hardware state machine coupled to DMA for implementing peripheral device bus mastering via USB controller or IrDA controller
US5752260A (en) * 1996-04-29 1998-05-12 International Business Machines Corporation High-speed, multiple-port, interleaved cache with arbitration of multiple access addresses
US5897656A (en) * 1996-09-16 1999-04-27 Corollary, Inc. System and method for maintaining memory coherency in a computer system having multiple system buses
US6049847A (en) * 1996-09-16 2000-04-11 Corollary, Inc. System and method for maintaining memory coherency in a computer system having multiple system buses
US5930483A (en) * 1996-12-09 1999-07-27 International Business Machines Corporation Method and apparatus for communications control on a small computer system interface
US6442632B1 (en) 1997-09-05 2002-08-27 Intel Corporation System resource arbitration mechanism for a host bridge
US6205500B1 (en) * 1997-09-24 2001-03-20 Compaq Computer Corp. System and method for electrically isolating a device from higher voltage devices
US6393508B2 (en) * 1997-09-30 2002-05-21 Texas Instruments Incorporated Method and apparatus for multiple tier intelligent bus arbitration on a PCI to PCI bridge
US6430641B1 (en) * 1999-05-04 2002-08-06 International Business Machines Corporation Methods, arbiters, and computer program products that can improve the performance of a pipelined dual bus data processing system
US6567871B2 (en) * 1999-07-26 2003-05-20 Intel Corporation Method and apparatus for repeating (extending) transactions on a bus without clock delay
US6693914B1 (en) * 1999-10-01 2004-02-17 Stmicroelectronics, Inc. Arbitration mechanism for packet transmission
KR100442440B1 (ko) * 2001-08-28 2004-07-30 엘지전자 주식회사 프로그램 로직을 이용한 메모리 액세스 제어방법 및 장치
CN1322437C (zh) * 2003-10-24 2007-06-20 旺玖科技股份有限公司 用于供多主机存取储存媒体的多主机存取装置
US8422568B2 (en) 2004-01-28 2013-04-16 Rambus Inc. Communication channel calibration for drift conditions
US7400670B2 (en) 2004-01-28 2008-07-15 Rambus, Inc. Periodic calibration for communication channels by drift tracking
US7158536B2 (en) * 2004-01-28 2007-01-02 Rambus Inc. Adaptive-allocation of I/O bandwidth using a configurable interconnect topology
US7095789B2 (en) 2004-01-28 2006-08-22 Rambus, Inc. Communication channel calibration for drift conditions
US6961862B2 (en) * 2004-03-17 2005-11-01 Rambus, Inc. Drift tracking feedback for communication channels
KR101480801B1 (ko) 2013-05-08 2015-01-12 한국화학연구원 이산화탄소 개질반응용 모노리스 촉매, 이의 제조방법 및 이를 이용한 합성가스의 제조방법
CN106155951B (zh) * 2015-03-30 2024-01-12 上海黄浦船用仪器有限公司 一种双总线仲裁控制系统及其应用
US10387259B2 (en) * 2015-06-26 2019-08-20 Intel Corporation Instant restart in non volatile system memory computing systems with embedded programmable data checking
WO2017056132A1 (ja) * 2015-10-01 2017-04-06 ルネサスエレクトロニクス株式会社 半導体装置
CN105260331B (zh) * 2015-10-09 2018-08-28 天津国芯科技有限公司 一种双总线内存控制器
US11740631B2 (en) * 2019-04-02 2023-08-29 The Raymond Corporation Systems and methods for an arbitration controller to arbitrate multiple automation requests on a material handling vehicle

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0228744A (ja) * 1988-07-18 1990-01-30 Nec Corp バスインターフェースユニット

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4281381A (en) * 1979-05-14 1981-07-28 Bell Telephone Laboratories, Incorporated Distributed first-come first-served bus allocation apparatus
US4766536A (en) * 1984-04-19 1988-08-23 Rational Computer bus apparatus with distributed arbitration
US4703420A (en) * 1985-02-28 1987-10-27 International Business Machines Corporation System for arbitrating use of I/O bus by co-processor and higher priority I/O units in which co-processor automatically request bus access in anticipation of need
US4982321A (en) * 1987-10-23 1991-01-01 Honeywell Inc. Dual bus system
US5003465A (en) * 1988-06-27 1991-03-26 International Business Machines Corp. Method and apparatus for increasing system throughput via an input/output bus and enhancing address capability of a computer system during DMA read/write operations between a common memory and an input/output device
US5003463A (en) * 1988-06-30 1991-03-26 Wang Laboratories, Inc. Interface controller with first and second buffer storage area for receiving and transmitting data between I/O bus and high speed system bus
EP0375900A3 (en) * 1988-12-29 1991-09-18 International Business Machines Corporation Computer system
US5204951A (en) * 1989-10-02 1993-04-20 International Business Machines Corporation Apparatus and method for improving the communication efficiency between a host processor and peripheral devices connected by an scsi bus

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0228744A (ja) * 1988-07-18 1990-01-30 Nec Corp バスインターフェースユニット

Also Published As

Publication number Publication date
TW288123B (ja) 1996-10-11
CA2080630C (en) 1996-10-22
AU2979492A (en) 1993-07-08
CA2080630A1 (en) 1993-07-03
AU651747B2 (en) 1994-07-28
EP0550223A2 (en) 1993-07-07
NZ245345A (en) 1995-07-26
KR930016885A (ko) 1993-08-30
US5265211A (en) 1993-11-23
CN1029167C (zh) 1995-06-28
CN1074049A (zh) 1993-07-07
JP2642027B2 (ja) 1997-08-20
EP0550223A3 (en) 1993-09-01
SG42882A1 (en) 1997-10-17
KR960012660B1 (ko) 1996-09-23

Similar Documents

Publication Publication Date Title
JP2642027B2 (ja) コンピュータ・システム、アービトレーション方法及びアービトレーション装置
JPH05242010A (ja) 双方向データ記憶機能付きのバスインターフェースユニットを備えたコンピュータシステム及びその方法
KR950014183B1 (ko) 컴퓨터 시스템 및 시스템 메모리 액세스 제어 방법
US5255374A (en) Bus interface logic for computer system having dual bus architecture
JP2988501B2 (ja) パリティエラーを検出するコンピュータシステム及びその動作方法
US5659696A (en) Method and apparatus for determining address location and taking one of two actions depending on the type of read/write data transfer required
EP0549164B1 (en) Memory controller with snooping mechanism
EP0664030B1 (en) Double buffering operations between the memory bus and the expansion bus of a computer system
US5966728A (en) Computer system and method for snooping date writes to cacheable memory locations in an expansion memory device
US5269005A (en) Method and apparatus for transferring data within a computer system
US5761533A (en) Computer system with varied data transfer speeds between system components and memory
JPH09138764A (ja) マルチバス・キャッシュ式メモリ・システム
US5673414A (en) Snooping of I/O bus and invalidation of processor cache for memory data transfers between one I/O device and cacheable memory in another I/O device
US5809534A (en) Performing a write cycle to memory in a multi-processor system
KR100218625B1 (ko) 정보 처리 시스템 및 그의 데이타 전송 방법
US5752265A (en) Memory accessing in a multi-processor system using snooping
EP0533428B1 (en) Method and apparatus for operating a computer system
JP2001043204A (ja) キャッシュ・メモリ制御装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090502

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100502

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 15

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

Free format text: PAYMENT UNTIL: 20130502

Year of fee payment: 16

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130502

Year of fee payment: 16