JPH0619712B2 - アドレス生成制御方式 - Google Patents

アドレス生成制御方式

Info

Publication number
JPH0619712B2
JPH0619712B2 JP60288789A JP28878985A JPH0619712B2 JP H0619712 B2 JPH0619712 B2 JP H0619712B2 JP 60288789 A JP60288789 A JP 60288789A JP 28878985 A JP28878985 A JP 28878985A JP H0619712 B2 JPH0619712 B2 JP H0619712B2
Authority
JP
Japan
Prior art keywords
register
address
contents
information
operand
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
JP60288789A
Other languages
English (en)
Other versions
JPS62145429A (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
Nippon Electric Co Ltd
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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP60288789A priority Critical patent/JPH0619712B2/ja
Priority to US06/944,168 priority patent/US4775933A/en
Priority to DE8686117897T priority patent/DE3687116T2/de
Priority to EP86117897A priority patent/EP0230038B1/en
Publication of JPS62145429A publication Critical patent/JPS62145429A/ja
Publication of JPH0619712B2 publication Critical patent/JPH0619712B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、情報処理装置のアドレス生成制御方式、特
に、アドレス生成を用いるレジスタの内容が、アドレス
指定フィールドによりモディファイされるアドレス指定
方式を持つ情報処理装置のアドレス生成制御方式に関す
る。
〔従来の技術〕
従来技術を説明する前に、本発明の制御対象となるアド
レス生成について具体的に説明する。
本発明の対象となるアドレス指定方式の具体的なものと
しては次に示す二つのものが広く知られている。一つ
は、レジスタの内容をアドレス計算前に語長などで示さ
れる値だけ減算し、その減算した値をアドレス計算に用
いるプリディクリメント方式、もう一つはレジスタの内
容をそのままアドレス計算に用いるが、アドレス計算後
に語長などで示される値だけ加えたものを同一のレジス
タへ書き込んでおくポストインクリメント方式がある。
なおこれらを総称して以下レジスタモディファイ方式と
呼ぶ。
従来、レジスタモディファイ方式の制御に用いられてい
る制御回路の一構成例を第3図に示す。
31は、アドレスフィールデコーダで、命令コード中の
アドレスフィールド311が入力され、各種のアドレス
生成情報をデコードし、デコード信号線312を通して
制御回路32を制御する。32は、デコーダ31からの
デコード信号線312からの情報により、レジスタ群3
3の読み出し/書き込み、およびインクリメンタ/ディ
クリメンタを制御する制御回路である。33は少なくと
もアドレス計算に用いるアドレス情報を保持しているレ
ジスタ群であり、制御線314を通して、制御回路32
の読み出し/書き込み制御を受ける。34は、制御回路
32から出力される制御線313の制御でレジスタ群3
3の一つのレジスタ内容を出力することのできるデータ
線315の内容をインクリメントまたはディクリメント
することのできるインクリメンタ/ディクリメンタであ
る。
このような構成をもったアドレス生成制御回路で、前記
レジスタモディファイを制御する場合は、以下のように
なる。
命令コード中のアドレスフィールド311をデコーダ3
1はデコードし、レジスタモディファイであることを検
出した場合に、デコード信号線312によって制御回路
32がどのように動作するかを述べる。
プリディクリメントでは、制御回路32は、制御線31
4を用いてまずデコーダ31で指定されたレジスタの内
容がデータ線315へ出力される。次に制御線313を
用いてデータ線315の内容をディクリメントしデータ
線315に書きもどす。データ線15のディクリメント
された内容が、読み出されたと同一のレジスタに制御線
314によって書き込まれる。再度同じレジスタの内容
がデータ線316を通してアドレス加算器へ送られる。
ポストインクリメントでは、まずデコーダで指定された
レジスタの内容がデータ線316へ送り出されアドレス
加算器へ送られる。そしてこのレジスタと同じ内容がデ
ータ線315へ送られ、制御線313の制御下でインク
リメンタディクリメンタ34によってインクリメントさ
れ現在アドレス計算されている命令が命令実行部で処理
された後データ線315へ書き戻され、読み出した時と
同じレジスタに書き戻される。
〔発明が解決しようとする問題点〕
上述した制御回路でオペランドのアドレス計算のための
レジスタモディファイ制御を実行しようとしたと、オペ
ランドのアドレス計算にレジスタモディファイが指定さ
れるごとにレジスタの内容を変える必要がある。もし一
命令中に2つ以上のオペランドが存在する場合でも、オ
ペランドのアドレス計算時にレジスタモディファイが指
定されるたびにレジスタの内容を変更するために、レジ
スタモディファイの指定にしたがってインクリメントま
たはディクリメントする必要がある。そのために命令デ
コード/アドレス計算を処理するユニット(以下命令デ
コード/アドレス計算部と呼ぶ)の命令を実行するユニ
ット(以下命令実行部と呼ぶ)の2ステージで命令をパ
イプライン化して処理する場合、命令デコード/アドレ
ス計算部がレジスタモディファイを指定されても、命令
実行部で行なわれている命令の中にレジスタモディファ
イ指定となるレジスタがある場合、命令実行部によって
そのレジスタの使用が終了するまでは、命令デコード/
アドレス計算部で命令実行部の動作とは無関係にレジス
タモディファイし(命令実行部でそのレジスタを使用す
る前に内容が変わってしまうことがある)、アドレス計
算を行なうことができない。そのためにパイプラインが
止まってしまう欠点があった。
また従来技術の一つでは、これらの欠点を解決するため
に命令実行部と同一のレジスタ群を命令デコード/アド
レス計算部において、命令実行部とは独立してレジスタ
モディファイを制御する方法もあった。しかしこの方法
では、レジスタの規模が大きくなりすぎる点、また、命
令実行部でレジスタ書き込みが生じたとき、その内容も
命令デコード/アドレス計算部へ書き写さなればならな
い点を逆に、命令デコード/アドレス計算部でモディフ
ァイされたレジスタの内容も命令実行部へ書き写さなけ
ればならないので制御が複雑となる欠点があった。
〔問題点を解決するための手段〕
本発明は上記実情に鑑みてなされたもので、その目的と
する所は少ないハードウェア量においてもパイプライン
の乱れの少ない、レジスタモディファイの制御を実現す
る情報処理装置を提供することにある。
本発明によれば、 アドレス生成に用いるレジスタの内容が、命令コード中
のアドレスフィールドの指定によってモディファイされ
るアドレス指定方式を持つ情報処理装置において、 アドレス生成に用いるレジスタと、前記レジスタの内容
を補正するための定数発生器と、前記レジスタの内容と
前記定数発生器から発生する定数とを加算する加算器
と、命令コード中のアドレスフィールドをデコードする
アドレスフィールドデコーダと、オペランド毎にそのオ
ペランドの所定のアドレス生成情報を記憶しておくアド
レス情報保持回路とを具備し、オペランドのメモリアド
レス計算時に、前記アドレス情報保持回路に保持された
内容と、前記オペランドのための前記アドレスフィール
ドデコーダより出力されるアドレス生成情報とによっ
て、前記定数発生器中の定数を選択し、前記レジスタの
内容を選択された前記定数を用いて前記加算器によって
補正することを特徴とするアドレス生成制御方式が得ら
れる。
〔実施例〕
次に本発明について図面を参照して説明する。
第1図は、本発明の一実施例を示す構成図である。
1は、デコーダで、命令コード中のアドレスフィールド
が入力され、各種のアドレス生成情報を作成し、デコー
ド線12を通してアドレス情報保持回路を、デコード線
13を通して制御回路4を制御する。2は、デコーダ1
で解読されたデコード情報の内、レジスタモディファイ
に関係する情報を保持するアドレス情報保持回路(以下
単に保持回路と呼ぶ)。3は、レジスタ群8から読み出
されたアドレスを補正するための定数発生器である。4
は、レジスタ群8の中でアドレス計算に必要なレジスタ
を読み出すための制御信号を発生する制御回路である。
5は、定数発生器3から出力される定数と、レジスタ群
8から読み出されるアドレスとを加算する加算器であ
る。なおこの加算器は、通常のアドレス生成に用いる加
算器でもよいし、本目的のための専用の加算器でもよ
い。6は、命令実行部でのレジスタ群8の読み出し/書
き込みおよびインクリメンタ/ディクリメンタ7の制御
を行なう制御回路である。7は、制御回路6の指示に基
づき、レジスタ群8の中の一つのレジスタの内容をモデ
ィファイするインクリメンタ/ディクリメンタである。
8は少なくともアドレスを保持することのできるレジス
タ群である。
なお、デコーダ1、保持回路2、定数発生器3、制御回
路4、加算器5は命令デコード/アドレス計算部、制御
回路6、インクリメンタ/ディクリメンタ7、レジスタ
群8は命令実行部に属し、おのおの独立性をもってパイ
プラインで動作しているものとする。
このようなブロック構成の回路の動作を以下で説明す
る。
アドレスフィールドをデコーダ1で解読し、保持回路
2、制御回路4へデコード線12、および13を通して
送る。保持回路2は、今までにレジスタモディファイ指
定があり、まだ命令実行部のインクリメンタ/ディクリ
メンタ7によってまだモディファイされていないレジス
タ方向とモディファイの変化方向(プリディクリメント
ならマイナス、ポストインクリメントならプラス)を記
憶している。記憶するモディファイ情報の数は、命令デ
コード/アドレス計算部の各ステージ間のキューの深
さ、およびおのおののステージでの平均実行時間の差等
によって決定される。
制御回路4へ送られたデコード情報によってアドレス計
算に必要なレジスタが読み出され、データ線20を通し
て加算器5へ送られる。一方定数発生器3は保持回路2
に保持されている情報の出力線14と制御回路4によっ
て読み出されたレジスタNO.(制御線16によって示
される。)と同じレジスタが過去(以下で示す過去とい
う言語は命令実行部でモディファイ処理されるまでの過
去を示す。)にレジスタモディファイによるアドレス指
定方式で用いられたかチェックし、現在のモディファイ
の有無、方向、および過去の同一レジスタのモディファ
イの有無、方向とによって定数を選択し、その定数をデ
ータ線15を通して加算器5へ送る。
例えば、同じレジスタ100が過去にモディファイされ
ていない場合、現在指定されているレジスタがプリディ
クリメントなら“−1”、ポストインクリメントおよび
モディファイ指定がない場合は“0”を定数発生器3は
出力する。また同一のレジスタNO.が過去に1回だけ
プリディクリメントされていた場合、今回プリディクリ
メントなら“−2”、ポストインクリメントおよびモデ
ィファイ指定がないなら“−1”を定数発生器3が出力
する。逆に過去に1回だけポストインクリメントされて
いた場合、今回プレディクリメントなら“0”、ポスト
インクリメントおよびモディファイ指定がないなら“+
1”を出力する。
以上の例をまとめ、定数発生器3から出力される値を一
般式で示すと ただしXは、現在指定されているレジスタNO.が過去
にポストインクリメントされた回数、Zは同様にプレデ
ィクリメントされた回数を示す。
この定数発生器から発生した定数は、加算器5へ送ら
れ、制御回路4によって読み出されたレジスタの内容と
加算され、メモリオペランドのアドレスまたは、そのア
ドレスの計算の基となる情報となる。
以上のようにレジスタの内容を変えずにレジスタの内容
を補正することによってレジスタモディファイの効果を
だすのだが、実際のレジスタモディファイを指定した命
令の実行前か、実行後にはレジスタ群8の中のモディフ
ァイ指定されたレジスタのモディファイを行なう必要が
ある。この処理は、保持回路2の内容が命令実行部の制
御回路6へ制御線17を通して送られ保持回路2に保持
されている情報によって、現在命令実行部で実行されて
いる命令アドレスモディファイが、命令実行部の制御回
路6の下で、アドレス計算ステージでレジスタモディフ
ァイの対象となったレジスタをインクリメンタ/デクリ
メンタによってインクリメント又はディクリメントされ
る。なおインクリメント、およびディクリメントされた
ものに関する保持回路2の中の情報はこの時点で無効化
される。
上述した構成例の中で保持回路は、どの命令が、何番目
のオペランドで、どのレジスタを、どのようにモディフ
ァイを受けたかを記憶する必要がある。その保持回路の
構成例を示す。
ここで示す例は、一命令分の保持回路で、かつ一命令中
に最大2つのオペランドがある場合であり、第2図で示
す。
21は第1オペランドにレジスタモディファイがあった
場合に使用される保持回路でA1フィールドには、モデ
ィファイの有無を示す有効ビット、B1フィールドはモ
ディファイが+か−かの情報、C1フィールドはどのレ
ジスタが対象となっているかを示すレジスタNO.情報
である。22は第2オペランドのための情報で第1オペ
ランド同様にA2〜C2までの各フィールドを持つ。
この保持回路21,22では一命令力で最大2オペラン
ドまで制御可能である。
次にこの保持回路の情報をどのように使用するか説明す
る。第1オペランドでレジスタモディファイ指定があっ
た場合、本実施例では、以前の命令でのレジスタモディ
ファイは、すべて実行されているので、前述した一般式
の内Z=X=0に相当する定数を発生する必要がある。
すなわち新命令のデコードを開始した時点では、先行す
る命令のレジスタモディファイが完了し、保持回路の有
効ビットは、無効化されているので定数発生器ではプレ
ディクリメントなら“−1”それ以外のポストインクリ
メント、またはモティファイなしなら“0”を発生す
る。
第2オペランドをデコードするときは、第1オペランド
でレジスタモディファイがないすなわち保持情報21の
有効ビットが“0”ならばまた第1オペランドとは異な
るレジスタであったならば前述の第1オペランドと同様
な定数が発生される。第1オペランドがレジスタモディ
ファイがあり保持回路21の有効ビットが“1”がセッ
トされてからレジスタ100が同じ場合、第1オペラン
ドでプレディクリメントならZ=1X=0、ポストイン
クリメントならZ=0X=1に相当する定数を発生す
る。もちろん第2オペランドでもレジスタモディファイ
の情報は保持回路22に保持される。
ここで保持回路21,22に保持されている情報は、こ
の命令が命令デコード/アドレス計算部から命令実行部
へ渡されレジスタモディファイが行なわれるまで保持さ
れ、この保持回路の情報によってレジスタがモディファ
イされたとき無効化される。
〔発明の効果〕
以上説明したように本発明は、命令デコード/アドレス
計算部で先行して処理しなければならないレジスタモデ
ィファイ処理を、過去にモディファイ指定があり、また
命令実行部で処理されてないものの情報をアドレス情報
保持回路に保持しておき、その保持情報とアドレス計算
に必要なデコード情報とを比較することによって実際の
レジスタ内容をモディファイすることなく補正によって
レジスタモディファイと同様の効果をあげることができ
る。
すなわち命令実行部の動作とはある程度独立して命令デ
コード/アドレス計算部でレジスタモディファイ処理が
できることを示している。
このことはレジスタモディファイ処理によるパイプライ
ンの乱れを小さくし、かつレジスタモディファイに用い
られているレジスタNO.など比較的少ない情報を記憶
するだけですむため、命令デコード/アドレス計算部に
レジスタのコピーをもつより、ハードウェアを少なくす
ることができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示すブロック図、第2図は
第1図の2の保持回路の構成例、第3図は従来技術によ
るレジスタモディファイ制御回路例を示す。 図において、1……デコーダ、2……保持回路、3……
定数発生器、4……制御回路、5……加算器、6……制
御回路、7……インクリメンタ/ディクリメンタ、8…
…レジスタ群、21,22……保持回路の構成例、31
……デコーダ、32……制御回路、33……レジスタ
群、34……インクリメンタ/ディクリメンタを示す。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】アドレス生成に用いるレジスタの内容が命
    令コード中のアドレスフィールドの指定によってモディ
    ファイされるアドレス指定方式を持つ情報処理装置にお
    いて、 アドレス生成に用いるレジスタと、前記レジスタの内容
    を補正するための定数発生器と、前記レジスタの内容と
    前記定数発生器から発生する定数とを加算する加算器
    と、命令コード中のアドレスフィールドをデコードする
    アドレスフィールドデコーダと、オペランド毎に、その
    オペランドの所定のアドレス生成情報を記憶しておくア
    ドレス情報保持回路とを具備し、オペランドのメモリア
    ドレス計算時に、前記アドレス情報保持回路に保持され
    た内容と、前記オペランドのための前記アドレスフィー
    ルドデコーダより出力されるアドレス生成情報とによっ
    て、前記定数発生器中の定数を選択し前記レジスタの内
    容を選択された前記定数を用いて前記加算器によって補
    正することを特徴とするアドレス生成制御方式。
JP60288789A 1985-12-20 1985-12-20 アドレス生成制御方式 Expired - Fee Related JPH0619712B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP60288789A JPH0619712B2 (ja) 1985-12-20 1985-12-20 アドレス生成制御方式
US06/944,168 US4775933A (en) 1985-12-20 1986-12-22 Address generation system
DE8686117897T DE3687116T2 (de) 1985-12-20 1986-12-22 Adressengenerationssystem.
EP86117897A EP0230038B1 (en) 1985-12-20 1986-12-22 Address generation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60288789A JPH0619712B2 (ja) 1985-12-20 1985-12-20 アドレス生成制御方式

Publications (2)

Publication Number Publication Date
JPS62145429A JPS62145429A (ja) 1987-06-29
JPH0619712B2 true JPH0619712B2 (ja) 1994-03-16

Family

ID=17734740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60288789A Expired - Fee Related JPH0619712B2 (ja) 1985-12-20 1985-12-20 アドレス生成制御方式

Country Status (4)

Country Link
US (1) US4775933A (ja)
EP (1) EP0230038B1 (ja)
JP (1) JPH0619712B2 (ja)
DE (1) DE3687116T2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69130129T2 (de) * 1990-02-23 1999-05-06 Nec Corp Pipelinemikroprozessor mit Vorberechnung der effektiven Adresse
JPH0527970A (ja) * 1991-07-18 1993-02-05 Seikosha Co Ltd 演算装置
WO1993009491A1 (en) * 1991-11-08 1993-05-13 Commonwealth Of Australia An address generator
WO1997031310A1 (en) * 1996-02-23 1997-08-28 Advanced Micro Devices, Inc. A microprocessor configured to execute instructions which specify increment of a source operand

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6029126B2 (ja) * 1977-01-14 1985-07-09 株式会社日立製作所 デ−タ処理装置
US4539635A (en) * 1980-02-11 1985-09-03 At&T Bell Laboratories Pipelined digital processor arranged for conditional operation
JPS5810243A (ja) * 1981-07-10 1983-01-20 Toshiba Corp デ−タ処理装置
JPS58189738A (ja) * 1982-04-30 1983-11-05 Hitachi Ltd デ−タ処理システム
US4731736A (en) * 1983-04-18 1988-03-15 Motorola, Inc. Method and apparatus for coordinating execution of an instruction by a selected coprocessor
AU553416B2 (en) * 1984-02-24 1986-07-17 Fujitsu Limited Pipeline processing

Also Published As

Publication number Publication date
US4775933A (en) 1988-10-04
EP0230038A3 (en) 1989-08-16
EP0230038B1 (en) 1992-11-11
DE3687116T2 (de) 1993-03-25
DE3687116D1 (de) 1992-12-17
EP0230038A2 (en) 1987-07-29
JPS62145429A (ja) 1987-06-29

Similar Documents

Publication Publication Date Title
JP2678183B2 (ja) デジタルプロセッサ制御装置および実行時記憶割当ての方法
JPH06236268A (ja) 命令の長さを判定する装置と方法
US4677549A (en) Pipelined data processor system having increased processing speed
US5390306A (en) Pipeline processing system and microprocessor using the system
JPH0619712B2 (ja) アドレス生成制御方式
US4812970A (en) Microprogram control system
JPS5938677B2 (ja) 制御ワ−ド転送制御装置
US5333288A (en) Effective address pre-calculation type pipelined microprocessor
US6363469B1 (en) Address generation apparatus
EP0573071A2 (en) A microprocessor
JP2783285B2 (ja) 情報処理装置
US5854919A (en) Processor and its operation processing method for processing operation having bit width exceeding data width of bit storage unit
JPH0954694A (ja) パイプラインプロセッサおよびその処理方法
JPH01291327A (ja) 処理モード先取り制御方式
JP2636566B2 (ja) パイプライン制御方式
JP2679603B2 (ja) マイクロコンピュータ
JP3014701B2 (ja) 情報処理装置
JPH06162067A (ja) ベクトル命令制御装置および制御方法
JP2569801B2 (ja) 情報処理装置
JPS61133440A (ja) デ−タ処理装置
JPS63206834A (ja) 命令制御におけるエラ−検出処理方式
JPS635433A (ja) ブランチ制御方式
JPH0424731B2 (ja)
JPH0659881A (ja) 主記憶読出し制御回路
JPH04256039A (ja) 命令カウント可能な情報処理装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees