JP2673041B2 - 命令実行制御方式 - Google Patents

命令実行制御方式

Info

Publication number
JP2673041B2
JP2673041B2 JP2281372A JP28137290A JP2673041B2 JP 2673041 B2 JP2673041 B2 JP 2673041B2 JP 2281372 A JP2281372 A JP 2281372A JP 28137290 A JP28137290 A JP 28137290A JP 2673041 B2 JP2673041 B2 JP 2673041B2
Authority
JP
Japan
Prior art keywords
instruction
data
byte
cache memory
iwr
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
JP2281372A
Other languages
English (en)
Other versions
JPH04155525A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2281372A priority Critical patent/JP2673041B2/ja
Publication of JPH04155525A publication Critical patent/JPH04155525A/ja
Application granted granted Critical
Publication of JP2673041B2 publication Critical patent/JP2673041B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔概 要〕 キャッシュメモリと命令バッファをもつ情報処理装置
において,命令フェッチ時にキャッシュメモリへのムー
ブインが必要となる場合の命令の早期実行を可能にする
命令実行制御方式に関し, 命令フェッチのムーブイン時にメモリアクセスバス幅
のバイト境界を越える命令を読み込む際,各命令部分を
バイパス経由で命令バッファに分割転送する過程で命令
を早期に実行可能にすることを目的とし, 主記憶装置からキャッシュメモリへのデータの読み込
みを必要とする命令フェッチで,フェッチしたい命令
が,Nをメモリアクセスバスの幅としたときNバイト境界
を越えて読み込まれる場合に,主記憶装置の内容の一部
がキャッシュメモリへ読み出されるのと同時に命令の開
始を行うだけのデータが命令バッファに格納されたこと
を保障する信号を発生する回路を設け,その保障信号に
より主記憶装置からキャッシュメモリへのデータの読み
込みが完了する前に命令の実行を開始するように構成し
た。
〔産業上の利用分野〕
本発明は,キャッシュメモリと命令バッファをもつ情
報処理装置において,命令フェッチ時にキャッシュメモ
リへのムーブインが必要となる場合の命令の早期実行を
可能にする命令実行制御方式に関する。
命令フェッチにおいてキャッシュメモリに必要とする
データが存在しなかった場合,主記憶装置から必要なデ
ータをキャッシュメモリに読み込むムーブイン(move i
n)処理が行われる。このムーブインのデータ転送に使
用されるムーブイン・データレジスタから命令バッファ
へのバイパスが可能なため,命令がメモリアクセスバス
幅のNバイトに区切られて命令バッファに格納される。
そして,フェッチデータの格納を保障する信号がキャッ
シュメモリ制御部から送られてくれば命令フェッチは終
了する。
しかし主記憶装置からキャッシュメモリへデータを読
み込む際にNバイト境界を越える読み出しを行う時,命
令バッファに格納されたデータがNバイト完全でなくて
もパイプラインに投入可能な場合がある。本発明は投入
出来る命令が格納され次第,パイプラインに投入という
制御を行う事で命令処理の高速化を図るものである。
〔従来の技術〕
第6図は,従来の情報処理装置における命令取り出し
機構を示したものである。
第6図において, 1は,主記憶装置MSUである。
2は,主記憶制御装置MCUである。
3は,中央処理装置CPUである。
4は,記憶制御部SUである。
5は,命令制御部IUである。
6は,パイプライン制御部である。
7は,キャッシュメモリ制御部CTRLである。
8は,アドレス入力レジスタADRSである。
9は,ムーブイン・データレジスタMIDRである。
10は,命令キャッシュメモリIF−CHEである。
11は,セレクタSELである。
12は,命令バッファである。
13は,命令ワードレジスタIWRである。
14は,バイパスである。
ここに図示された装置の例では,MSU1のワードサイズ
は64バイトであり,メモリアクセスバス幅は8バイトで
あるとする。そのため,MIDR9およびIWR13のデータ幅も
8バイトであり,MSU1から1ワードのデータをIF−CHE10
に読み込むためには,8バイト転送が8回必要となる。た
だしIF−CHE10では16バイトストアが4回行われる。
動作を説明すると, IU5は,命令フェッチ実行アドレスをSU4に送出し,命
令フェッチの起動をかける。SU4では,命令フェッチ実
行アドレスをアドレス入力レジスタADRS8へ受け取ると,
CTRL7に渡し,CTRL7はそのアドレスを実アドレスに変換
してIF−CHE10から命令を読み出し,IU5の命令バッファ1
2のIWR13に書き込む。しかしIF−CHE10に読み出したい
アドレスの命令が存在しない場合には,CTRL7はMCU2に対
してリクエストを送り,MCU2はMSU1から必要なデータを
読み出してIF−CHEに送るムーブイン制御が行われる。
このときMCU2からMIDR9へは前述したように8バイト
転送を8回繰り返してデータが送られ,またIF−CHE10
には16バイトストアを4回繰り返してデータが読み込ま
れる。
このように,ムーブインによりIF−CHE10に必要なデ
ータが読み込まれてからIWR13に命令を読み出すまでに
時間がかかるため,MIDR9からIWR13の間にIF−CHE10と並
行するバイパス14を設け,必要な命令を直接IWR13に転
送できるようにしている。
ところで,命令の形式には,2バイト長のRR形式,4バイ
ト長のRXおよびRS形式,6バイト長のSS形式などがあり,8
バイト幅の転送データからこれらの可変長の命令を切り
出すため,SUのCTRL7から出力されるIWRクロックイネー
ブル信号IWR_CE_01,IWR_CE_23,IWR_CE_45,IWR_CE_67を
用いてIWR13への命令書き込み制御が行われる。IWRクロ
ックイネーブル信号は次のような組み合わせで供給され
る。
命令は,全体が完全な形でIWR13に格納された時点でS
UからIUに命令フェッチ・ストアバリッド信号IF−STVが
送られ,命令フェッチの完了が保障されて,命令がIWR1
3からパイプライン制御部6へ投入される。
第7図(a),(b)は,通常の命令フェッチが行わ
れる場合のSUとIUの従来方式によるパイプラインの説明
図である。
SUのパイプライン(a)において,Pは命令フェッチ要
求のプライオリティをとるステート,TはTLBによるアド
レス変換と命令キャッシュIF−CHEのタグTAG参照を行う
ステート,BはIF−CHEのアクセスを行うステート,Rはア
クセス結果を返すステートである。
またIUのパイプライン(b)では,IAは命令アドレス
の演算サイクル,ITは命令アドレスの変換ステート,IBは
命令バッファのアクセスステート,Dは命令のデコードス
テートであり,以下命令の実行のための各ステートが続
く。
IU5では,命令フェッチアドレスをSUに送出し,命令
フェッチリクエスト・バリッド信号IF_REQ_VALを上げ
る。
SUでは,命令フェッチアドレスを受け取ると,プライ
オリティをとり,アドレスを変換して,IF−CHEから命令
を読み出し,さらにIWR_CEを出力して,IUのIWRに格納す
る。SUはその後,命令フェッチの完了を示す信号IF−ST
VをIUに送出する。
SUのIF−CHEに要求された命令がない場合には,SUはIU
にビジー信号SU_BUSYを送り(図示省略),ムーブイン
処理を開始する。
ムーブイン処理では,第8図に示すように,64バイト
のデータは,メモリアクセスバス幅の8バイトずつ8回
で転送され,第6図のMIDR9からIWR13へバイパスを経由
して命令が読み出されるが,1つの命令が8バイト境界を
越えて存在して,2回の8バイト転送で読み出しが完了す
る場合がある。第9図は,そのようなムーブイン動作に
おいて8バイト境界を越える命令の読み出しが行われる
場合の従来装置のパイプラインのフローを示す。
第9図において,(a),(b)はそれぞれSUの命令
フェッチパイプラインにおける8バイト境界を越える命
令フェッチの第1回目の8バイトバイパス(BYPASS−
1st)と第2回目の8バイトバイパス(BYPASS−2nd)
が行われるフローを示す。また(c),(d),(e)
はそれぞれ命令キャッシュIF−CHEのストアパイプライ
ンにおけるフローを示す。そして(f)はIUのパイプラ
インのフローである。
動作を説明すると,(a)のBYPASS−1stのフロー
のTサイクル,すなわち対応する(c)のストアフロー
のPサイクルで8バイト境界を越える命令(0≦命令長
<8)の前半部分がMIDRに格納され,続く(a)のフロ
ーのBサイクル((c)のストアフローのWサイクル)
でIF−CHEのバイパスを選択して,Rサイクル((c)の
フローのSサイクル)で命令の前半部分をMIDRから読み
出し,バイパスを経由してIWRに格納する。
同様にして,命令の後半部分は(b)と(d)のフロ
ーによりIWRに格納され,8バイト境界を越える命令がIWR
中で完成する。このとき(b)のフローのRサイクル
で,IWRへの命令の格納が完了したことを保障する信号IF
−STVがSUからIUへ送られ,命令フェッチが終了する。
〔発明が解決しようとする課題〕
主記憶装置からキャッシュメモリへのムーブインを必
要とする命令フェッチにおいて,メモリアクセスバス幅
のデータ転送境界を越えた命令をMIDRからIWRへバイパ
スする際,従来の方式では,IWRへの複数回のデータ転送
によって命令が完成されるまでは,命令の格納完了を保
障する信号IF−STVが発生されず,命令をパイプライン
に投入することができなかった。
しかし実際上は,たとえば6バイト長のSS形式では,
後の2バイト部分が第2オペランド情報であるため,前
の4バイトの部分があれば命令をパイプラインに投入
し,命令実行処理の最初の過程を開始させることが可能
であった。
本発明は,命令フェッチのムーブイン時にメモリアク
セスバス幅のバイト境界を越える命令を読み込む際,境
界の前後の命令部分をバイパス経由で命令バッファに分
割転送する途中で命令を早期に投入可能にすることを目
的としている。
〔課題を解決するための手段〕
本発明は,命令フェッチに伴うキャッシュへのムーブ
イン動作において,メモリアクセスバス幅境界にまたが
る命令をバイパス経由で前半部分を転送した段階でも命
令形式によってはパイプラインへの投入を実行可能にす
るものである。
第1図は本発明の原理的構成図である。
図において, 1は,主記憶装置MSUである。
2は,主記憶制御装置MCUである。
3は,中央処理装置CPUである。
6は,パイプライン制御部である。
7は,キャッシュメモリ制御部CTRLである。
10は,命令キャッシュメモリIF−CHEである。
11は,セレクタSELである。
12は,命令バッファである。
14は,バイパスである。
15は,命令投入制御回路である。
PIF−STVは,部分命令フェッチ・ストアバリッド信号
である。
IF−STVは,命令フェッチ・ストアバリッド信号であ
る。
キャッシュメモリ制御部CTRL7は,命令キャッシュメ
モリIF−CHE10のアクセス制御機能,IF−CHE10とMSU1と
の間でデータを入れ替えるムーブイン,ムーブアウト機
能と,ムーブイン時にセレクタ11をバイパス14側に切り
替えるセレクタ制御機能と,バイパス14を経由する命令
バッファ12へのムーブインデータの転送時に,転送デー
タ幅境界を越える命令については,命令の前半部分が命
令バッファ12に格納されたタイミングで部分命令フェッ
チ・ストアバリッド信号PIF−STVを命令バッファ12に送
出する機能と,命令の後半部分が命令バッファ12に格納
され命令が完成したタイミングで命令フェッチ・ストア
バリッド信号IF−STVを命令バッファ12に送出する機能
とをもつ。
〔作 用〕
第1図により,本発明の構成の作用を説明する。
キャッシュメモリ制御部7は図示されていない命令制
御部から命令フェッチを要求されると,指示されたアド
レスをTLB変換して,命令キャッシュメモリIF−CHE10の
タグTAGを参照する。キャッシュに該当するアドレスが
存在しヒットすれば該当する命令データを読み出して,
セレクタ11を経て命令バッファ12へ送る。このときセレ
クタ11はIF−CHE10側に設定されている。他方,キャッ
シュがミスビットとなった場合には,MCU2へムーブイン
のリクエストを送り,セレクタ11をバイパス14側に設定
する。
MCU2は,MSU1からデータを読み出し,IF−CHE10へメモ
リアクセスバス幅で分割転送する。各転送データは,IF
−CHE10にストアされるが,同時にバイパス14を経由し
て命令バッファ12に格納される。
キャッシュメモリ制御部7は,このとき、フェッチを
要求された命令がメモリアクセスバス幅のデータ転送境
界を越えるかどうかを判定し,越える場合には命令の前
半部分が命令バッファ12に転送されたタイミングで信号
PIF−STVをONにし,命令の前半部分が格納されたことを
保障し,続いて命令の後半部分が命令バッファ12に転送
されたタイミングで信号IF−STVをONにする。
命令バッファ12の命令投入制御回路15では,フェッチ
される命令の命令形式を識別してPIF−STVがONになった
とき,その命令の前半部分のみでもパイプライン投入が
可能であるかどうかを判定し,可能である場合にパイプ
ライン制御部6に投入する。また,IF−STVがONに命令の
全体が命令バッファに格納されたことを保障する信号IF
−STVがONになったときには,再び命令全体をパイプラ
イン制御部6に投入する。
パイプライン制御部6では,2回に分けて投入された命
令を単一命令として識別し,先に投入された命令の前半
部分により命令のOPコードのデコードを開始し,次に命
令全体が投入されたとき,アドレス演算以後の処理を続
行する。したがって1データ転送サイクルだけ早期に命
令の実行が可能となる。
〔実施例〕
第2図は第1図に示された本発明構成に基づく実施例
装置の構成図であり,第6図に示されている従来例装置
を本発明により改正したものとして示してある。したが
って,第2図において第1図および第6図と共通の要素
には,同一の参照番号と同一の要素名とが用いられてい
る。
第2図において,命令バッファ12内のIWR13に,8バイ
ト境界を越える命令が前半部と後半部の2回に分けて格
納される動作は,従来例装置で説明したものと同様に行
われる。
命令投入制御回路15は,命令の前半部がIWR13に格納
された段階で早期実行可能なものについてはキャッシュ
メモリ制御部7から送出される信号PIF−STVのタイミン
グでパイプライン制御部6に投入する。
第3図は,命令投入制御回路15の要部構成を示し,第
4図は8バイト境界を越える命令の早期投入制御論理を
示す。
第3図において,16はフェッチされた命令の命令形式
を識別するデコーダであり,命令の第0バイトの0,1ビ
ット位置の値を入力として、RR(=00),RX(=01),RS
(=10),SS(=11)の各命令形式に対応するデコード
出力を生じる。
17,18,19はラッチであり,それぞれIWRクロックイネ
ーブル信号のIWR_CE_01,IWR_CE_23,IWR_CE_45が入力さ
れるとその状態を保持する。20,21,22は8バイト境界を
越える命令の早期投入制御を行う論理ゲートであり,そ
れぞれデコーダ16のデコード出力とPIF−STVとの間で所
定の論理をとり、ラッチ17,18,19の値を修飾して出力す
る。またIF−STVがONのときには,デコード出力とラッ
チ出力との一致をとり出力する。
論理ゲート20,21,22の出力は,それぞれ2バイト長,4
バイト長,6バイト長の命令を選択する信号となり,選択
された命令は,第2図のパイプライン制御部6に送られ
る。
次に第4図の8バイト境界を越える命令の早期投入制
御論理について説明する。
第4図において,23は命令形式の種別を示し,命令中
のバイト0,ビット0,1の値を示す。
24は,IWR_CEの値の組み合わせを示す。
25は,8バイト境界を越える命令についての第1回目の
バイパス転送BYPASS−1stでIWRにセットされた命令の前
半部分の幅を示す。
26は,投入条件となるPIF−STVの値を示す。
27は,25でセットされた命令幅での命令投入の可能/
不可能を示す。不可能の場合には,次の転送BYPASS−2n
dで命令の後半部分がセットされるのを待つ。
第4図から明らかなように,2バイト長のRR形式(=0
0)の命令の場合には,IWR_CE_01が‘0'で2バイトの命
令幅がIWRにセットされPIF−STV=1となったときに投
入可能となること,4バイト長のRX形式(=01)およびRS
形式(=10)の命令の場合には,IWR_CE_01とIWR_CE_23
が‘1'で4バイトの命令幅がIWRにセットされPIF−STV
=1となったときに命令投入が可能となること,6バイト
長のSS形式(=11)の命令の場合には,少なくともIWR_
CEの01,23がそれぞれ1で4バイトの命令幅がIWRにセッ
トされPIF−STV=1となったときに命令投入が可能とな
ることを示す。
第5図は,本発明実施例装置のパイプラインのフロー
である。以下,第2図の構成を参照しつつ動作を説明す
る。
第5図において,(a)および(b)は記憶制御部に
おける64バイトデータのムーブイン時の各8バイトバイ
パス転送のフローであり,(a)のフローは8バイト境
界を越える命令のフェッチの場合の1回目のバイパスBY
PASS−1stのフロー,(b)のフローは2回目のバイパ
スBYPASS−2ndのフローである。また(c)ないし
(e)は命令キャッシュメモリIF−CHEへの16バイトス
トアのフローであり,(c)のフローで64バイトデータ
の1回目の16バイトストアが行われ,(e)のフローで
2回目の16バイトストアが行われる。そして(f)およ
び(g)のフローは,命令制御部IUのフローである。
(a)のフローのTサイクルで命令の前半部分を含む
8バイトデータをMIDRにセットし,Bサイクルでセレクタ
を制御してIF−CHEのバイパスを選択して,RサイクルでS
UからIUへPIF−STVを送り,IWRにある命令の前半部分に
ついてのパイプライン投入の可否を判断させ,可能な場
合にパイプラインへの投入を実行させる。
続く(b)のフローのTサイクルで命令の後半部分を
含む8バイトデータをMIDRにセットし,Bサイクルでバイ
パスを選択し,RサイクルでMIDRのデータをIWRに転送
し,命令の後半部分をIWR_CEにより格納する。このとき
SUからIUへIF−STVを送り,IWRへの命令フェッチ完了を
保障し,パイプラインへの命令投入を実行させる。パイ
プラインでは,先に投入された命令の前半部分のみで実
行できる処理を行った後,続いて投入された命令の後半
部分の情報を用いて処理を進める。
〔発明の効果〕 本発明によれば,メモリアクセスバス幅の転送データ
境界を越える命令について,最初に転送した命令の前半
部分のみでパイプラインに投入できるものは早期に実行
開始できるため無駄な待ち時間がなくなり,パイプライ
ン処理が効率化されて処理の高速化が可能となる。
【図面の簡単な説明】
第1図は本発明の原理的構成図,第2図は本発明実施例
装置の構成図,第3図は本発明実施例装置における命令
投入制御回路の構成図,第4図は8バイト境界を越える
命令の早期投入論理の説明図,第5図は本発明実施例装
置のパイプラインのフロー図,第6図は従来装置の構成
図,第7図は従来例装置におけるムーブイン処理のパイ
プラインの説明図,第8図はメモリアクセスバス幅を越
える命令の転送の説明図,第9図は従来例装置のパイプ
ラインのフロー図である。 第1図中 1:主記憶装置MSU 2:主記憶制御装置MCU 3:中央処理装置CPU 6:パイプライン制御部 7:キャッシュメモリ制御部 10:命令キャッシュメモリIF−CHE 11:セレクタ 12:命令バッファ 14:バイパス 15:命令投入制御回路

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】主記憶装置の内容の一部の写を保持するキ
    ャッシュメモリと主記憶装置から取り出された命令を保
    持する少なくとも一つの命令バッファを有する情報処理
    装置において, 主記憶装置からキャッシュメモリへのデータの読み込み
    を必要とする命令フェッチで,フェッチしたい命令が,N
    をメモリアクセスバスの幅としたときNバイト境界を越
    えて読み込まれる場合に,主記憶装置の内容の一部がキ
    ャッシュメモリへ読み出されるのと同時に命令の開始を
    行うだけのデータが命令バッファに格納されたことを保
    障する信号を発生する命令投入制御回路を設け,その保
    障信号により主記憶装置からキャッシュメモリへのデー
    タの読み込みが完了する前に,命令の実行を開始するこ
    とを特徴とする命令処理方式。
  2. 【請求項2】請求項第1項において,主記憶装置からキ
    ャッシュメモリへNバイト境界でデータを分割して転送
    し読み込む際,各転送データを命令バッファへバイパス
    して格納し,Nバイト境界を越える命令の先行部分が命令
    バッファに格納された段階で,前記命令投入制御回路に
    より命令実行が開始可能かどうかをその命令の形式にし
    たがって判定し,可能な場合に早期に実行することを特
    徴とする命令実行制御方式。
JP2281372A 1990-10-19 1990-10-19 命令実行制御方式 Expired - Fee Related JP2673041B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2281372A JP2673041B2 (ja) 1990-10-19 1990-10-19 命令実行制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2281372A JP2673041B2 (ja) 1990-10-19 1990-10-19 命令実行制御方式

Publications (2)

Publication Number Publication Date
JPH04155525A JPH04155525A (ja) 1992-05-28
JP2673041B2 true JP2673041B2 (ja) 1997-11-05

Family

ID=17638208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2281372A Expired - Fee Related JP2673041B2 (ja) 1990-10-19 1990-10-19 命令実行制御方式

Country Status (1)

Country Link
JP (1) JP2673041B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5583893B2 (ja) * 2008-05-28 2014-09-03 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6324327A (ja) * 1986-07-16 1988-02-01 Fujitsu Ltd 命令フエツチ処理方式
JPS6429953A (en) * 1987-07-25 1989-01-31 Fujitsu Ltd Controller for buffer move-in of buffer storage system

Also Published As

Publication number Publication date
JPH04155525A (ja) 1992-05-28

Similar Documents

Publication Publication Date Title
US10768933B2 (en) Streaming engine with stream metadata saving for context switching
JP2701179B2 (ja) データ処理システム
US6668317B1 (en) Microengine for parallel processor architecture
US4926323A (en) Streamlined instruction processor
US5222223A (en) Method and apparatus for ordering and queueing multiple memory requests
JPS60168238A (ja) パイプラインデータ処理装置
JPH10228376A (ja) 複数レジスタ命令を処理する方法及びプロセッサ
KR100210205B1 (ko) 스톨캐쉬를 제공하기 위한 장치 및 방법
US6738837B1 (en) Digital system with split transaction memory access
JPH03233630A (ja) 情報処理装置
JPS62102344A (ja) バツフア・メモリ制御方式
JP2673041B2 (ja) 命令実行制御方式
JP2690406B2 (ja) プロセッサおよびデータ処理システム
JP2798121B2 (ja) データ処理装置
JP2680828B2 (ja) ディジタル装置
US4737908A (en) Buffer memory control system
JPH0512751B2 (ja)
EP0292188A2 (en) Cache system
JP2668987B2 (ja) データ処理装置
EP0177712B1 (en) Masked data fetch and modifying device
JPH08249175A (ja) スーパースカラ・プロセッサ装置内の非アーキテクト命令を選択的にサポートする方法及び装置
US20230004391A1 (en) Streaming engine with stream metadata saving for context switching
JPS6149250A (ja) バツフア記憶制御方式
US20240184586A1 (en) Mechanism to queue multiple streams to run on streaming engine
JP2535593B2 (ja) 情報処理装置

Legal Events

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