JP3211694B2 - マルチプロセッサ接続方式 - Google Patents

マルチプロセッサ接続方式

Info

Publication number
JP3211694B2
JP3211694B2 JP35293796A JP35293796A JP3211694B2 JP 3211694 B2 JP3211694 B2 JP 3211694B2 JP 35293796 A JP35293796 A JP 35293796A JP 35293796 A JP35293796 A JP 35293796A JP 3211694 B2 JP3211694 B2 JP 3211694B2
Authority
JP
Japan
Prior art keywords
node
processor
nodes
bus
node number
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
JP35293796A
Other languages
English (en)
Other versions
JPH10177561A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP35293796A priority Critical patent/JP3211694B2/ja
Publication of JPH10177561A publication Critical patent/JPH10177561A/ja
Application granted granted Critical
Publication of JP3211694B2 publication Critical patent/JP3211694B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチプロセッサ
接続方式に関し、特に、分散アービトレーション方式、
及びスプリット転送方式のバスを使用し、バスのノード
番号を割込み先として指定するメッセージパッシングに
より、I/O割込みやプロセッサ間割込みを行うマルチ
プロセッサ接続方式において、予め定めたプロセッサノ
ード、I/Oノード、メモリノードの合計ノード数を超
えてプロセッサを接続する場合に用いて好適なマルチプ
ロセッサ接続方式に関する。
【0002】
【従来の技術】バス上に複数のプロセッサを接続する、
従来のマルチプロセッサ接続方式としては、例えば特開
平4−178754号公報の記載されるように、バスア
ービトレーション装置を各バス使用装置にそれぞれ個別
に一台ずつ接続する分散アービトレーションを用いてバ
ス使用権の調停を行う方式や、例えば特開平6−149
730号公報の記載されるように、リードアクセスの起
動サイクルと応答データサイクルが分割可能なスプリッ
ト転送を用いてバスのスループットを向上させる方式が
知られている。
【0003】ここで、分散アービトレーションを用いて
バス使用権の調停を行い、且つスプリット転送方式のバ
スによるマルチプロセッサ接続方式を考えた場合、スプ
リット転送を行うためには、リードアクセスのリクエス
ト(要求)アドレス送出時と、リードリプライデータ
(読み出し応答データ)送出時と、の各々で、バス使用
権の調停を行う必要があり、プロセッサ、メモリ、I/
O(入出力)の全ノードがバス使用権調停に参加するた
め、分散アービトレーションの仕組みにより、バスに接
続可能なプロセッサ、メモリ、I/Oの全ノード数の合
計が決定される。
【0004】更に、I/O割込みやプロセッサ間割込み
に、バスのノード番号を割込み先として指定するメッセ
ージパッシングを使用していることから、各プロセッサ
ノードには、各々1台ずつしかプロセッサを接続できな
い。
【0005】このため、バスに接続可能なノード数の合
計から、メモリノードの数とI/Oノードの数とを差し
引いた数を超える台数のプロセッサを何としても接続す
る必要が生じた場合には、ノード番号の最大数を大きく
して、これに対応した分散アービトレーションやメッセ
ージパッシングに作り変えることになる。
【0006】
【発明が解決しようとする課題】このように上記した分
散アービトレーション及びスプリット転送方式のマルチ
プロセッサ接続方式は下記記載の問題点を有している。
【0007】第1の問題点は、プロセッサを追加したい
というだけで、プロセッサノードだけでなく、メモリノ
ードやI/Oノードも作り直しを行うことが必要とされ
る、ということである。
【0008】その理由は、全ノードが共通に有している
分散アービトレーション回路を変更する、からである。
すなわち、ノード番号の最大数を変更した場合、例えば
分散アービトレーション回路のレジスタ等のビット幅の
変更が生じる場合がある。また、プロセッサノードやI
/Oノードでは、メッセージパッシング発行の際の割込
み先ノード番号の拡大も必要であることによる。
【0009】第2の問題点は、ソフトウェアを変更する
必要がある、ということである。
【0010】その理由は、バスの最大ノード番号が大き
くなるからである。通常、プロセッサノード、メモリノ
ード、I/Oノードのどれがどのノード番号になるかは
自由であるが、最大のノード番号はソフトウェアによっ
ても制限される。
【0011】したがって、本発明は、上記問題点に鑑み
てなされたものであって、その目的は、分散アービトレ
ーション方式かつスプリット転送方式のバスを使用し、
バスのノード番号を割込み先として指定するメッセージ
パッシングにより割込みやプロセッサ間割込みを行うマ
ルチプロセッサ接続方式において、予め定められたバス
上の合計ノード数からメモリノードの数とI/Oノード
の数とを差引いた数を超える台数のプロセッサの接続を
可能とし、その際、ハードウェア、及びソフトウェアへ
の影響を極力縮減して実現する、マルチプロセッサ接続
方式を提供することにある。
【0012】
【課題を解決するための手段】前記目的を達成するた
め、本発明のマルチプロセッサ接続方式は、1つ1つの
プロセッサノードに各々複数のプロセッサを接続し、各
プロセッサノードに接続された2つ目以降のプロセッサ
にはバス上メモリノードやI/Oノードに割当てられて
いるノード番号でかつ他のプロセッサノードに接続され
た2つ目以降のプロセッサには割当てられていないノー
ド番号(以下「仮ノード番号」という)を割当て、各プ
ロセッサノードに接続されたプロセッサのうち1つ目の
プロセッサに関しては該プロセッサノードのバス上のノ
ード番号を、2つ目のプロセッサに関しては前記仮ノー
ド番号を各々のプロセッサ固有のノード番号としてソフ
トウェアに認識させる手段と、前記バスに接続された各
ノードがバスを使用するためのバス使用権の調停には各
ノードに割当てられているノード番号を使用し、プロセ
ッサノードやI/Oノードから別のプロセッサノードへ
の割込みを行う時の割込み先ノード番号には前記仮ノー
ド番号を使用する手段とを含む。
【0013】また本発明は、更に、各プロセッサがその
プロセッサを含むプロセッサノード内の何番目のプロセ
ッサであるかをソフトウェアが読出す手段と、前記仮ノ
ード番号をソフトウェアから設定する手段とを含む。
【0014】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。本発明は、その好ま
しい実施の形態において、複数のプロセッサノード(図
1の4、5)とメモリノード(図1の2)と、I/Oノ
ード(図1の3)と、を分散アービトレーション方式及
びスプリット転送方式のバス(図1の1)で結合し、
(a)プロセッサノードやI/Oノードからメモリリー
ド/ライト、(b)プロセッサノードからI/Oノード
へのPIO(プロセッサ制御によるI/O)転送、
(c)プロセッサノードやI/Oノードから別のプロセ
ッサノードへのメッセージパッシングによる割込みを行
うマルチプロセッサ方式において、プロセッサノード
(図1の4、5)の各々に複数のプロセッサ(図1の
6、7、8、9)を接続し、各プロセッサノード(図1
の4、5)に接続された2番目以降のプロセッサ(図1
の7、9)には、バス上で、メモリノード(図1の2)
やI/Oノード(図1の3)に割当てられているノード
番号で、他のプロセッサノード(図1の5、4)に接続
された2番目以降のプロセッサ(図1の9、7)には割
当てられていないノード番号(これを「仮ノード番号」
という)を割当て、各プロセッサノードに接続されたプ
ロセッサのうち1番目のプロセッサ(図1の6、8)に
ついては、それぞれ当該プロセッサが接続するプロセッ
サノード(図1の4、5)のバス上のノード番号を、2
つ目以降のプロセッサについては、上記した仮ノード番
号を、プロセッサ固有のノード番号として、ソフトウェ
アに認識させる(図1のノード番号レジスタ403、4
04、503、504等)。
【0015】バス(図1の1)に接続された各ノード
は、バスを使用するためのバス使用権の調停には、各ノ
ードに割当てられているノード番号を使用し、プロセッ
サノードやI/Oノードから別のプロセッサノードへの
割込みを行う時の割込み先ノード番号には、仮ノード番
号を使用する。
【0016】このように、本発明の実施の形態において
は、各プロセッサ上で動作するソフトウェアに、自プロ
セッサのノード番号として仮ノード番号を見せる手段を
有することにより、ソフトウェアは、プロセッサ間割込
みの割込み元、及び割込み先として、仮ノード番号を使
用することになり、またI/Oの割込み要因毎にI/O
ノードへ設定する割込み先ノード番号にも、仮ノード番
号を使用する。
【0017】プロセッサノードにおいては、メッセージ
パッシングを受取る際に、仮ノード番号による割込み先
ノード番号を認識して、対応するプロセッサへの割込み
を行うことができる。なお、I/Oノードやメモリノー
ドは、元々割込みを受信する必要がないので、割込み先
ノード番号によらずメッセージパッシングを受取らず無
視する。
【0018】この時、メッセージパッシング以外の転送
動作、すなわちメモリリード/ライトのPIO転送(プ
ロセッサ制御によるI/O転送を「PIO転送」とい
う)は、リクエストアドレスのみによって相手先ノード
を決定するため、ノード番号は使用しない。
【0019】また、本発明は、第2の実施の形態におい
て、好ましくは、装置の電源投入時にのみ作動する最下
層のソフトウェアが各プロセッサノードに、実際に何台
のプロセッサが接続されているかを読み取って、仮ノー
ド番号を設定するので、より構成の自由度が増すことに
なる。
【0020】
【実施例】上記した本発明の実施の形態について更に詳
細に説明すべく、本発明の一実施例について図面を参照
して以下に説明する。図1は、本発明の一実施例の構成
を示す図である。
【0021】図1を参照すると、本発明の一実施例は、
最大4ノード接続可能なバス1に、ノード番号が‘0’
のメモリノード2と、ノード番号が‘1’のI/Oノー
ド3と、ノード番号がそれぞれ‘2’、及び‘3’であ
るプロセッサノード4、及び5が接続され、更に、プロ
セッサノード4には、プロセッサ6及び7が、またプロ
セッサノード5には、プロセッサ8及び9が接続されて
いる。
【0022】また各プロセッサノード4、5は、それぞ
れ、ノード番号入力信号401、501に接続された第
1のノード番号レジスタ403、503と、仮ノード番
号入力信号402、502に接続された第2のノード番
号レジスタ(「仮ノード番号レジスタ」ともいう)40
4、504と、割込み発行レジスタ407、408、5
07、508と、割込み受信レジスタ409、410、
509、510と、バスインタフェース411、511
と、を備えて構成され、プロセッサ6、7とバスインタ
フェース411との間はアドレス/データパス405、
406で接続され、プロセッサ8、9とバスインタフェ
ース511との間は、アドレス/データパス505、5
06で接続されている。
【0023】次に、本発明の一実施例の動作について図
1を参照して詳細に説明する。
【0024】プロセッサ6、7上のソフトウェアは、そ
れぞれ、第1、第2のノード番号レジスタ403、40
4を読み出し、またプロセッサ8、9は第1、第2のノ
ード番号レジスタ503、504を読み出すことによ
り、自プロセッサのノード番号を知り、また互いにメモ
リ上のテーブルを通じて、他のプロセッサのノード番号
を知る。
【0025】ここで、プロセッサノード4、5の第1の
ノード番号レジスタ403、503には、それぞれ、プ
ロセッサノード4、5に与えられたバス上のノード番号
である‘2’、‘3’が格納されているが、プロセッサ
ノード4、5の第2のノード番号レジスタ404、40
5には、それぞれ、本来、メモリノード、及びI/Oノ
ードのノード番号である‘0’、‘1’が仮ノード番号
として格納されている。
【0026】各プロセッサ6、7、8、9が、メモリノ
ード2へのメモリリード/ライトやI/Oノード3への
PIO転送を行う場合、アドレス/データパス405、
406、505、506を介しバスインタフェース41
1、511へアドレスを送り、またデータを授受する。
【0027】このとき、プロセッサノード4、5の各バ
スインタフェース411、511は、まずプロセッサ
6、7またはプロセッサ8、9からの要求を選択したう
えで、ノード番号(入力信号)401、501を用い
て、他のプロセッサノード5、4と、メモリノード2
と、I/Oノード3と、の間で、バス1の分散アービト
レーションを行い、バス1の使用権を獲得できれば、バ
ス1にリクエストアドレスを発行する。またライトであ
れば、引き続きライトデータを出力するが、リードであ
れば、スプリット転送方式であることから、一旦、バス
1を解放し、後刻、メモリノード2(メモリリードの場
合)またはI/Oノード3(PIOリードの場合)がバ
ス1の使用権を獲得して、リードリプライデータを返送
してくれるのを待つことになる。
【0028】メモリノードやI/Oノードが複数ある場
合、リクエストアドレスの値によってリプライ(応答)
すべきノードが何れであるか一意に決定される。
【0029】割込みは、メッセージパッシングによって
行われる。メッセージパッシングは、バスプロトコル上
アドレス送出のみであるが、その時に送出されるのは、
実際には、割込み先ノード番号(D)と、割込みコード
(C)である。
【0030】プロセッサ間割込みは、プロセッサ6、
7、8、9が、各々、割込み発行レジスタ407、40
8、507、508に対して、割込み先ノード番号
(D)と割込みコード(C)とを格納し、バスインタフ
ェース411、511へそれぞれ送出する。
【0031】この時、各プロセッサ6、7、8、9が格
納する割込み先ノード番号は、各プロセッサに関してソ
フトウェアが唯一知っているノード番号、すなわちプロ
セッサ6、8については、プロセッサノード4、5のノ
ード番号、またプロセッサ7、9については仮ノード番
号である。
【0032】プロセッサノード4、5のバスインタフェ
ース411、511は、メモリリード/ライトやPIO
転送時と同様、バス1の使用権を獲得し、リクエストア
ドレスとして、割込み先ノード番号と割込みコードとを
送出する。
【0033】メッセージパッシング発行ノードでないプ
ロセッサノード5、4は、バスインタフェース511、
411を介して、割込み受付けレジスタ509、51
0、409、410に、割込み先ノード番号(D)と割
込みコード(C)とが格納され、このうち、割込み先ノ
ード番号(D)が第1のノード番号レジスタ503、4
03、あるいは第2のノード番号レジスタ504、40
4と一致したもののみ、接続先のプロセッサに割込みを
行うことになる。
【0034】割込み先プロセッサでは、ソフトウェアが
割込みコードを参照して、割込み元、割込み要因を判別
する。
【0035】以上がプロセッサ間割込みであるが、I/
O割込みにおいては、I/Oノード3に割込み要因が通
知された時に、その割込み要因に応じた割込みコード及
び割込み先ノード番号にて、メッセージパッシングが発
行される。
【0036】この割込みコードや割込み先ノード番号
は、ソフトウェアが予めI/O割込み要因毎にI/Oノ
ード3内のレジスタに設定する。この時、ソフトウェア
が設定する割込み先ノード番号は、各プロセッサに関し
てソフトウェアが唯一知っているノード番号、すなわち
プロセッサ6、8についてはプロセッサノード4、5の
ノード番号、プロセッサ7、9については仮ノード番号
である。
【0037】次に、本発明の第2の実施例について説明
する。図2は、本発明の第2の実施例の構成を示す図で
ある。
【0038】図2を参照すると、本発明の第2の実施例
は、図1を参照して説明した前記実施例と比較して、自
プロセッサが、自プロセッサが接続するプロセッサノー
ド4、5内の何番目のプロセッサであるかを表示するノ
ード内プロセッサ番号レジスタ412、413、51
2、513が新たに追加されており、また図1の仮ノー
ド番号入力信号線402、403が廃され、その代わり
に、プロセッサから設定可能な仮ノード番号レジスタ4
14、514の出力が、各々のプロセッサノード4、5
にそれぞれ接続された2番目のプロセッサ7、9のノー
ド番号を表示するレジスタ404、504に与えられて
いる。
【0039】装置の電源投入直後、電源投入直後にのみ
動作する最下層の初期設定専用ソフトウェア(例えばフ
ァームウェア)が、まずノード内のプロセッサ番号レジ
スタ412、413、512、513を読み出し、読み
出した値が‘2’以上、即ちプロセッサが接続するプロ
セッサノード内の1番目のプロセッサでない場合には、
自プロセッサに対応する仮ノード番号レジスタ414、
514に相当な値を格納し、この値が当該プロセッサ固
有のノード番号となる。
【0040】この時、仮ノード番号レジスタに格納する
値は、装置の各ノードの構成を鑑みて、ダイナミックに
決定するようにすることが好ましい。
【0041】
【発明の効果】以上説明したように、本発明によれば、
下記記載の効果を奏する。
【0042】本発明の第1の効果は、プロセッサノード
以外のハードウェアには手を加えることなく、予め定め
られたバスの最大のノード数までプロセッサを接続する
ことができる、ということである。
【0043】その理由は、本発明においては、予め定め
られたバスの最大ノード数を変更していず、また割込み
先ノード番号についても、従来のままのソフトウェアが
仮ノード番号を設定する、ことによる。
【0044】本発明の第2の効果は、ソフトウェアを変
更することなく、予め定められたバスの最大ノード数ま
でプロセッサを接続することができる、ということであ
る。
【0045】その理由は、本発明においては、予め定め
られたバスの最大ノード番号を変更していず、ソフトウ
ェアを改変しなくても、仮ノード番号を従来通りバスの
ノード番号と同様に扱って矛盾が生じない、ように構成
したことによる。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示すブロック図であ
る。
【図2】本発明の別の実施例の構成を示すブロック図で
ある。
【符号の説明】
1 バス 2 メモリノード 3 I/Oノード 4、5 プロセッサノード 6、7、8、9 プロセッサ 401、501 プロセッサノードのノード番号入力信
号 402、502 仮ノード番号入力信号 403、503 各ノードの1番目のプロセッサ用ノー
ド番号レジスタ 404、504 各ノードの2番目のプロセッサ用ノー
ド番号レジスタ 405、406、505、506 アドレス/データパ
ス 407、408、507、508 割込み発行レジスタ 409、410、509、510 割込み受付けレジス
タ 411、511 バスインタフェース 412、413、512、513 ノード内プロセッサ
番号レジスタ 414、514 仮ノード番号設定レジスタ

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のプロセッサノードと、1又は複数の
    メモリノードと、1又は複数のI/Oノードと、を分散
    アービトレーション方式及びスプリット転送方式のバス
    で結合し、 前記プロセッサノードや前記I/Oノードからメモリリ
    ード/ライト、 前記プロセッサノードから前記I/OノードへのPIO
    転送、 前記プロセッサノードや前記I/Oノードから別の前記
    プロセッサノードへのメッセージパッシングによる割込
    みを行うマルチプロセッサ方式において、 前記プロセッサノードの各々に複数のプロセッサを接続
    し、 前記各プロセッサノードに接続された2つ目以降のプロ
    セッサには前記バス上前記メモリノードや前記I/Oノ
    ードに割当てられているノード番号で、かつ他のプロセ
    ッサノードに接続された2つ目以降のプロセッサには割
    当てられていないノード番号(以下「仮ノード番号」)
    を割当て、 前記各プロセッサノードに接続されたプロセッサのうち
    1つ目のプロセッサについては該プロセッサノードの前
    記バス上のノード番号を、2つ目以降のプロセッサにつ
    いては前記仮ノード番号を、各々のプロセッサ固有のノ
    ード番号としてソフトウェアに認識させる手段と、 前記バスに接続された各ノードが、前記バスを使用する
    ためのバス使用権の調停には、各ノードに割当てられて
    いるノード番号を使用し、 前記プロセッサノードや前記I/Oノードから別の前記
    プロセッサノードへの割込みを行う時の割込み先ノード
    番号には、前記仮ノード番号を使用する手段と、 を有することを特徴とするマルチプロセッサ接続方式。
  2. 【請求項2】前記各プロセッサが、該プロセッサを含む
    プロセッサノード内の何番目のプロセッサであるかをソ
    フトウェアが読出す手段と、 前記仮ノード番号をソフトウェアから設定する手段と、 を含む、ことを特徴とする請求項1のマルチプロセッサ
    接続方式。
  3. 【請求項3】複数のプロセッサノードと、1又は複数の
    メモリノードと、1又は複数のI/Oノードと、を分散
    アービトレーション方式のバスで結合し、 前記プロセッサノードに対する割込みがメッセージパッ
    シング方式で行われるマルチプロセッサ方式において、 前記プロセッサノードに複数のプロセッサが接続される
    構成の場合、1つ目のプロセッサについては該プロセッ
    サが接続される前記プロセッサノードの前記バス上のノ
    ード番号を割り当て、2つ目以降のプロセッサには、前
    記バス上前記メモリノード及び/又は前記I/Oノード
    に割当てられているノード番号を仮ノード番号として前
    記複数のプロセッサノードに接続されるプロセッサ間で
    一意的となるように割当て、 前記2つ目以降のプロセッサに対する割込みにおける割
    込み先ノード番号として前記仮ノード番号が用いられ
    る、ことを特徴とするマルチプロセッサ接続方式。
JP35293796A 1996-12-13 1996-12-13 マルチプロセッサ接続方式 Expired - Fee Related JP3211694B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35293796A JP3211694B2 (ja) 1996-12-13 1996-12-13 マルチプロセッサ接続方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35293796A JP3211694B2 (ja) 1996-12-13 1996-12-13 マルチプロセッサ接続方式

Publications (2)

Publication Number Publication Date
JPH10177561A JPH10177561A (ja) 1998-06-30
JP3211694B2 true JP3211694B2 (ja) 2001-09-25

Family

ID=18427479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35293796A Expired - Fee Related JP3211694B2 (ja) 1996-12-13 1996-12-13 マルチプロセッサ接続方式

Country Status (1)

Country Link
JP (1) JP3211694B2 (ja)

Also Published As

Publication number Publication date
JPH10177561A (ja) 1998-06-30

Similar Documents

Publication Publication Date Title
US6513091B1 (en) Data routing using status-response signals
EP0194462B1 (en) System bus means for inter-processor communication
US4485438A (en) High transfer rate between multi-processor units
US5136500A (en) Multiple shared memory arrangement wherein multiple processors individually and concurrently access any one of plural memories
US4245301A (en) Information processing system
AU721685B2 (en) Bus interface control circuit
JPH04257054A (ja) チャネル間接続装置
JP3211694B2 (ja) マルチプロセッサ接続方式
JP2797760B2 (ja) 並列処理コンピュータシステム
CA2078913A1 (en) Interprocessor communication system and method for multiprocessor circuitry
JPH01305460A (ja) プロセッサ間通信方式
JP2780662B2 (ja) マルチプロセッサシステム
JPH03238539A (ja) メモリアクセス制御装置
JPS5930292B2 (ja) ソウチカンケツゴウホウシキ
JPH0520183A (ja) メモリアクセス制御方式
JPS63175964A (ja) 共有メモリ
JP2705955B2 (ja) 並列情報処理装置
JPH0234062B2 (ja) Maruchipurosetsusashisutemuniokerumemoriakusesuseigyohoshiki
JPH05289987A (ja) バス権調停回路
JPH06314231A (ja) 共用メモリアクセス制御方法
JP2699873B2 (ja) バス制御回路
KR950009071B1 (ko) 하이파이 버스(HiPi Bus)의 데이타 전송 제어장치
JP2504528B2 (ja) 主記憶制御装置間バス制御方式
JP2973227B2 (ja) 排他制御命令実行方法
JPS63251846A (ja) 記憶装置制御システム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010619

LAPS Cancellation because of no payment of annual fees