JPH05298086A - Information processor - Google Patents

Information processor

Info

Publication number
JPH05298086A
JPH05298086A JP8435692A JP8435692A JPH05298086A JP H05298086 A JPH05298086 A JP H05298086A JP 8435692 A JP8435692 A JP 8435692A JP 8435692 A JP8435692 A JP 8435692A JP H05298086 A JPH05298086 A JP H05298086A
Authority
JP
Japan
Prior art keywords
control memory
main control
read
sub
address
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
JP8435692A
Other languages
Japanese (ja)
Other versions
JP3052556B2 (en
Inventor
Hirotaka Nakano
裕隆 中野
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 JP4084356A priority Critical patent/JP3052556B2/en
Publication of JPH05298086A publication Critical patent/JPH05298086A/en
Application granted granted Critical
Publication of JP3052556B2 publication Critical patent/JP3052556B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PURPOSE:To reduce the gate quantity of a control storage capable of changing a microprogram. CONSTITUTION:A main control storage 1 consists of a ROM, and a main microprogram consisting of micro instructions is stored there. An auxiliary control storage 2 consists of a RAM, and an auxiliary microprogram consisting of micro instructions and addresses of the main control storage 1 is stored there. The address of the main control storage 1 read out from the auxiliary control stosrage 2 is compared with the address held in an address register 3 by an address coincidence detecting circuit 5, and a selector 4 selects the micro instruction in the main control storage 1 in the case of noncoincidence but selects that in the auxiliary control storage 2 in the case of coincidence.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はマイクロプログラムを用
いた情報処理装置の制御記憶に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a control memory of an information processing device using a microprogram.

【0002】[0002]

【従来の技術】近年の大型情報処理装置では、高速化の
ため複数のマイクロ命令を1ステップで実行する水平型
マイクロプログラム方式が用いられているが、さらに並
列度を高めるためにマイクロプログラム1ステップ当り
のビット幅が増加する傾向にある。
2. Description of the Related Art In recent years, large-scale information processing apparatuses use a horizontal microprogram system which executes a plurality of microinstructions in one step for speeding up. The bit width per hit tends to increase.

【0003】また、演算の実行だけでなく、例えば例外
処理など、さまざまな制御をマイクロプログラムで行う
ために、マイクロプログラムのステップ数も増加する傾
向にある。このようにマイクロプログラムの容量が増加
するため、マイクロプログラムを格納する制御記憶も大
型化している。
In addition, the number of steps in the microprogram tends to increase because not only the execution of operations but also various controls such as exception processing are performed by the microprogram. Since the capacity of the microprogram is increased in this way, the control memory for storing the microprogram is also increased in size.

【0004】従来のこの主の制御記憶はROM(リード
オンメモリ)またはRAM(ランダムアクセスメモリ)
で構成される。制御記憶をROMで構成すると、ゲート
量が小さくなり、またRAMで構成すると、マイクロプ
ログラムの変更が容易になるという利点がある。
The conventional main control memory is ROM (read-on memory) or RAM (random access memory).
Composed of. If the control memory is composed of a ROM, the amount of gates will be small, and if it is composed of a RAM, the microprogram can be easily modified.

【0005】[0005]

【発明が解決しようとする課題】上述した従来のROM
で構成された制御記憶では、マイクロプログラムが固定
されてしまい、ダイナミックマイクロプログラミング等
が不可能となる問題点があった。また、RAMで構成さ
れた制御記憶では、ゲート量が大きいため、制御記憶を
LSIに内蔵することが困難となり、装置の小型化の妨
げとなってしまうという問題点があった。
The conventional ROM described above.
In the control memory constituted by, the microprogram is fixed, and there is a problem that dynamic microprogramming or the like becomes impossible. In addition, since the control memory configured by the RAM has a large gate amount, it is difficult to embed the control memory in the LSI, which hinders downsizing of the device.

【0006】[0006]

【課題を解決するための手段】本発明の装置は、マイク
ロ命令から構成される主マイクロプログラムを格納する
ROMで構成される主制御記憶と、マイクロ命令と前記
主制御記憶のアドレスとで構成される副マイクロプログ
ラムを格納するRAMで構成され、かつそのアドレスが
前記主制御記憶のいずれかのアドレスと対応づけられて
おり、前記主制御記憶と同時に読み出される副制御記憶
と、前記主制御記憶のアドレスと前記副制御記憶から読
み出された主制御記憶のアドレスとを比較するアドレス
一致検出手段と、この比較の結果、一致が検出されない
場合には前記主制御記憶から読み出されたマイクロ命令
を選択し、また一致が検出された場合には前記副制御記
憶から読み出されたマイクロ命令を選択する選択手段と
を有することを特徴とする。
An apparatus of the present invention comprises a main control memory composed of a ROM for storing a main microprogram composed of microinstructions, a microinstruction and an address of the main control memory. And a sub-control memory that is read at the same time as the main control memory and that has an address associated with one of the addresses of the main control memory. Address match detection means for comparing an address with the address of the main control memory read from the sub control memory, and as a result of this comparison, if no match is detected, the micro instruction read from the main control memory And selecting means for selecting the microinstruction read from the sub-control memory when a match is detected. To.

【0007】[0007]

【実施例】次に、本発明の実施例について図面を参照し
て説明する。
Embodiments of the present invention will now be described with reference to the drawings.

【0008】本発明の第1の実施例のブロック図を示す
図1を参照すると、本実施例は、主制御記憶1,副制御
記憶2,アドレスレジスタ3,セレクタ4およびアドレ
ス一致検出回路5からなる。
Referring to FIG. 1 which is a block diagram of a first embodiment of the present invention, in the present embodiment, a main control memory 1, a sub control memory 2, an address register 3, a selector 4 and an address coincidence detecting circuit 5 are provided. Become.

【0009】主制御記憶1はROMで構成されている。
主制御記憶1中に記憶された主マイクロプログラムを構
成するマイクロ命令は、アドレスレジスタ3に記憶され
たアドレスに従って読出され、セレクタ4を経て実行に
移される。
The main control memory 1 is composed of a ROM.
The microinstruction that constitutes the main microprogram stored in the main control memory 1 is read according to the address stored in the address register 3 and is executed by the selector 4.

【0010】副制御記憶2はRAMで構成されている。
副制御記憶2中にはマイクロ命令と主制御記憶1のアド
レスとで構成される副マイクロプログラムが格納されて
いる。この副制御記憶2へのアクセスはアドレスレジス
タ3に記憶されたアドレスの一部を用いて行われ、主制
御記憶1の全てのアドレスが、副制御記憶2のいずれか
のアドレスに対応づけられている。
The sub-control memory 2 is composed of RAM.
The sub control memory 2 stores a sub micro program composed of micro instructions and the address of the main control memory 1. The access to the sub control memory 2 is performed by using a part of the addresses stored in the address register 3, and all the addresses of the main control memory 1 are associated with any of the addresses of the sub control memory 2. There is.

【0011】副制御記憶2の読出しは、主制御記憶1の
読出しと同時に行われる。副制御記憶2から読出された
主制御記憶1のアドレスは、アドレスレジスタ3に格納
されたアドレスとアドレス一致検出回路5で比較され、
この比較結果がセレクタ4のセレクト信号となる。ま
た、副制御記憶2から読出されたマイクロ命令はセレク
タ4に入力される。
The reading of the sub control memory 2 is performed at the same time as the reading of the main control memory 1. The address of the main control memory 1 read from the sub control memory 2 is compared with the address stored in the address register 3 by the address coincidence detection circuit 5,
The result of this comparison becomes the select signal of the selector 4. The microinstruction read from the sub control memory 2 is input to the selector 4.

【0012】アドレス一致検出回路5で一致が検出する
と、セレクタ4は副制御記憶2のマイクロ命令を選択
し、一致が検出されない場合には主制御記憶1のマイク
ロを選択する。
When the address match detection circuit 5 detects a match, the selector 4 selects the micro instruction of the sub control memory 2 and when the match is not detected, selects the micro of the main control memory 1.

【0013】従って主制御記憶1に格納された主マイク
ロプログラムの変更を行う場合には、変更するステップ
の主制御記憶1のアドレスと変更後のマイクロ命令とを
副制御記憶2に格納すればよい。大容量ROMと小容量
RAMを本実施例のように組合わせることにより、マイ
クロプログラムの変更を可能としつつ、ゲート量を小さ
くすることが出来る。
Therefore, when the main microprogram stored in the main control memory 1 is changed, the address of the main control memory 1 at the step of changing and the microinstruction after the change may be stored in the subcontrol memory 2. .. By combining the large-capacity ROM and the small-capacity RAM as in the present embodiment, it is possible to change the microprogram and reduce the gate amount.

【0014】本発明の第2の実施例のフロック図を示す
図2を参照すると、本実施例は、第1の実施例における
アドレス一致検出回路5の代りに有効フラグ記憶回路6
が設けられている。副制御記憶20にはマイクロ命令か
ら構成される副マイクロプログラムが格納されている。
Referring to FIG. 2 which is a block diagram of the second embodiment of the present invention, in this embodiment, instead of the address coincidence detection circuit 5 in the first embodiment, a valid flag storage circuit 6 is used.
Is provided. The sub control memory 20 stores a sub micro program composed of micro instructions.

【0015】有効フラグ記憶回路6には主制御記憶1の
各ステップが有効か無効かを示す有効フラグが記憶され
ており、本実施例では1ビット×主制御記憶のステップ
数のRAMで実現している。
A valid flag storage circuit 6 stores a valid flag indicating whether each step of the main control memory 1 is valid or invalid. In this embodiment, it is realized by a RAM of 1 bit × the number of steps of the main control memory. ing.

【0016】この有効フラグ記憶回路6へのアクセス
は、主制御記憶1へのアクセスと同時に、同一アドレス
で行われ、読出された有効フラグはセレクタ4のセレク
ト信号となる。セレクタ4では有効フラグが有効を示す
場合には主制御記憶1のマイクロ命令が選択され、有効
フラグが無効を示す場合には副制御記憶2のマイクロ命
令が選択される。
The access to the valid flag storage circuit 6 is performed at the same address at the same time as the access to the main control storage 1, and the read valid flag becomes the select signal of the selector 4. The selector 4 selects the microinstruction in the main control memory 1 when the valid flag indicates valid, and selects the microinstruction in the sub control memory 2 when the valid flag indicates invalid.

【0017】従って主制御記憶1に格納された主マイク
ロプログラムの変更を行う場合には、変更するステップ
の有効フラグを無効にセットし、変更後のマイクロ命令
を副制御記憶2に格納すればよい。このようにしてマイ
クロプログラムの変更を可能としつつ、ゲート量を小さ
くすることが出来る。
Therefore, when the main microprogram stored in the main control memory 1 is to be changed, the valid flag of the step to be changed is set to invalid and the changed microinstruction is stored in the subcontrol memory 2. .. In this way, it is possible to reduce the gate amount while making it possible to change the microprogram.

【0018】特に、本実施例では副制御記憶2に主制御
記憶1のアドレスを格納する必要がないので、副制御記
憶2のビット幅を小さくすることが出来、副制御記憶2
のステップ数が比較的多い場合にはゲート量削減の効果
が大きくなる。
In particular, in this embodiment, since it is not necessary to store the address of the main control memory 1 in the sub control memory 2, the bit width of the sub control memory 2 can be reduced, and the sub control memory 2 can be made smaller.
When the number of steps is relatively large, the effect of reducing the gate amount becomes large.

【0019】本発明の第3の実施例のブロック図を示す
図3を参照すると、本実施例は、主制御記憶1,副制御
記憶2,アドレスレジスタ3,セレクタ4,有効フラグ
記憶回路6、デコーダ7からなる。
Referring to FIG. 3 which is a block diagram of a third embodiment of the present invention, in the present embodiment, a main control memory 1, a sub control memory 2, an address register 3, a selector 4, a valid flag memory circuit 6, It consists of a decoder 7.

【0020】主制御記憶10には、4つのマイクロ命令
を1ステップで実行する水平型マイクロプログラムが格
納されている。
The main control memory 10 stores a horizontal micro program for executing four micro instructions in one step.

【0021】また、副制御記憶21には、1つのマイク
ロ命令とそのフィールド情報が格納されている。ここで
フィールド情報とは、1ステップで同時動作する4つの
マイクロ命令のどれに該当するかを示す情報である。
Further, the sub-control memory 21 stores one microinstruction and its field information. Here, the field information is information indicating to which of the four micro-instructions that operate simultaneously in one step.

【0022】副制御記憶21から読出されたマイクロ命
令は、各フィールド別の4つのセレクタ41〜44のす
べてに入力される。副制御記憶21から読み出されたフ
ィールド情報は、デコーダ7でデコードされて、セレク
タ41〜44のセレクタ信号となる。
The microinstruction read from the sub control memory 21 is input to all four selectors 41 to 44 for each field. The field information read from the sub control memory 21 is decoded by the decoder 7 and becomes the selector signals of the selectors 41 to 44.

【0023】有効フラグ記憶回路6から読出された有効
フラグはデコーダ7のイネーブル信号として入力されて
いる。有効フラグが無効を示す場合には、セレクタ41
〜44のうちの1つのセレクタが副制御記憶21から読
出されたマイクロ命令を選択し、残りの3つのセレクタ
は主制御記憶10から読出されたマイクロ命令を選択す
る。
The valid flag read from the valid flag storage circuit 6 is input as an enable signal for the decoder 7. If the valid flag indicates invalid, the selector 41
One of the selectors ~ 44 selects the micro instruction read from the sub-control memory 21, and the remaining three selectors select the micro instruction read from the main control memory 10.

【0024】すなわち主制御記憶10から読出された1
ステップの4つのマイクロ命令の中で副制御記憶21か
ら読出されたフィールド情報に従って、1つのマイクロ
命令のみが副制御記憶21から読出されたマイクロ命令
と置換される。有効フラグ記憶回路6から読出された有
効フラグが有効を示す場合には、すべてのセレクタが主
制御記憶10から読出されたマイクロ命令を選択する。
従って主制御記憶10に格納された主マイクロプログラ
ムの変更を行う場合には、変更するステップの有効フラ
グを無効にセットし、変更後のマイクロ命令とそのフィ
ールド情報とを副制御記憶21に格納すればよい。この
ようにしてマイクロプログラムの変更を可能としつつ、
ゲート量を小さくることが出来る。
That is, 1 read from the main control memory 10
Of the four micro-instructions of the step, only one micro-instruction is replaced with the micro-instruction read from the sub-control memory 21 according to the field information read from the sub-control memory 21. When the valid flag read from the valid flag storage circuit 6 indicates valid, all the selectors select the micro instruction read from the main control storage 10.
Therefore, when the main microprogram stored in the main control memory 10 is changed, the valid flag of the step to be changed is set to invalid, and the changed microinstruction and its field information are stored in the subcontrol memory 21. Good. While making it possible to change the microprogram in this way,
The gate amount can be reduced.

【0025】特に、本実施例では副制御記憶21に1ス
テップの全マイクロ命令を格納する必要がないので、副
制御記憶21のビット幅を小さくすることが出来、水平
型マイクロプログラムの一部のフィールドのみの変更の
場合にはゲート量削減の効果が大きくなる。
In particular, in the present embodiment, since it is not necessary to store all the micro-instructions of one step in the sub control memory 21, the bit width of the sub control memory 21 can be made small and a part of the horizontal micro program can be stored. In the case of changing only the field, the effect of reducing the gate amount becomes large.

【0026】[0026]

【発明の効果】以上説明したように本発明は制御記憶を
ROMとRAMを組合せて構成したので、マイクロプロ
グラムの変更を可能としつつゲート量を小さくすること
ができるという効果がある。
As described above, according to the present invention, since the control memory is constituted by combining the ROM and the RAM, there is an effect that it is possible to change the microprogram and reduce the gate amount.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の第1の実施例のブロック図である。FIG. 1 is a block diagram of a first embodiment of the present invention.

【図2】本発明の第2の実施例のブロック図である。FIG. 2 is a block diagram of a second embodiment of the present invention.

【図3】本発明の第3の実施例のブロック図である。FIG. 3 is a block diagram of a third embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1,10 主制御記憶 2,20,21 副制御記憶 3 アドレスレジスタ 4 セレクタ 5 アドレス一致検出回路 6 有効フラグ記憶回路 7 デコーダ 1, 10 Main control memory 2, 20, 21 Sub control memory 3 Address register 4 Selector 5 Address match detection circuit 6 Effective flag memory circuit 7 Decoder

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 マイクロ命令から構成される主マイクロ
プログラムを格納するROMで構成される主制御記憶
と、 マイクロ命令と前記主制御記憶のアドレスとで構成され
る副マイクロプログラムを格納するRAMで構成され、
かつそのアドレスが前記主制御記憶のいずれかのアドレ
スと対応づけられており、前記主制御記憶と同時に読み
出される副制御記憶と、 前記主制御記憶のアドレスと前記副制御記憶から読み出
された主制御記憶のアドレスを比較するアドレス一致検
出手段と、 この比較の結果、一致が検出されない場合には前記主制
御記憶から読み出されたマイクロ命令を選択し、また一
致が検出された場合には前記副制御記憶から読み出され
たマイクロ命令を選択する選択手段とを有することを特
徴とする制御記憶。
1. A main control memory composed of a ROM storing a main microprogram composed of microinstructions, and a RAM storing a submicroprogram composed of a microinstruction and an address of the main control memory. Was
And its address is associated with one of the addresses of the main control memory, the sub-control memory being read simultaneously with the main control memory, the address of the main control memory and the main control memory read from the sub-control memory. Address match detection means for comparing the addresses of the control memory, and as a result of this comparison, if no match is detected, the microinstruction read from the main control memory is selected, and if a match is detected, the micro instruction is selected. A control memory comprising: a selecting unit for selecting a microinstruction read from the sub-control memory.
【請求項2】 前記副制御記憶は前記副マイクロプログ
ラムを格納することと、 前記アドレス一致検出手段に代えて、前記主制御記憶の
各ステップが有効か無効かを示す有効フラグを格納して
おり、前記主制御記憶と同時に読み出される有効フラグ
記憶手段を設け、該読み出された有効フラグが有効を示
す場合には前記主制御記憶から読み出されたマイクロ命
令を選択し、また無効を示す場合には前記副制御記憶か
ら読み出されたマイクロ命令を選択することを特徴とす
る請求項1記載の制御記憶。
2. The sub-control memory stores the sub-microprogram, and instead of the address coincidence detecting means, stores a valid flag indicating whether each step of the main control memory is valid or invalid. In the case of providing a valid flag storage means that is read at the same time as the main control memory, selecting the micro instruction read from the main control memory when the read valid flag indicates valid, and indicating invalid 2. The control memory according to claim 1, wherein a microinstruction read from the sub-control memory is selected as the sub memory.
【請求項3】 前記主制御記憶は複数のマイクロ命令を
1ステップで実行する水平型マイクロプログラムを格納
することと、 前記副制御記憶は、1つのマイクロ命令とそのフィール
ド位置情報で構成される副マイクロプログラムを格納す
ることと、 前記セレクタに代えて、前記複数のマイクロ命令のうち
の一つと前記副制御記憶から読み出されたマイクロ命令
のいずれかを選択するための前記マイクロ命令数と同数
のセレクタを設けたことと、 前記読み出された有効フラグが有効を示す場合には前記
主制御記憶から読み出されたマイクロ命令数と同数のセ
レクタを設けたことと、 フィールド位置情報によって定められたフィールドのみ
について前記副制御記憶から読み出されたマイクロ命令
を前記セレクタで選択することを特徴とする請求項2記
載の制御記憶。
3. The main control memory stores a horizontal microprogram for executing a plurality of microinstructions in one step, and the subcontrol memory stores one microinstruction and its subfield position information. Storing a micro program, and replacing the selector with a number equal to the number of micro instructions for selecting one of the plurality of micro instructions and one of the micro instructions read from the sub-control memory The number of selectors is the same as the number of microinstructions read from the main control memory when the read valid flag indicates that the valid flag is valid. The microinstruction read out from the sub control storage only for the field is selected by the selector. 2 control store according.
JP4084356A 1992-04-07 1992-04-07 Control memory Expired - Fee Related JP3052556B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4084356A JP3052556B2 (en) 1992-04-07 1992-04-07 Control memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4084356A JP3052556B2 (en) 1992-04-07 1992-04-07 Control memory

Publications (2)

Publication Number Publication Date
JPH05298086A true JPH05298086A (en) 1993-11-12
JP3052556B2 JP3052556B2 (en) 2000-06-12

Family

ID=13828244

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4084356A Expired - Fee Related JP3052556B2 (en) 1992-04-07 1992-04-07 Control memory

Country Status (1)

Country Link
JP (1) JP3052556B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08292903A (en) * 1995-04-21 1996-11-05 Nec Corp Information processor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6288036A (en) * 1985-10-14 1987-04-22 Nec Corp Microprogram controller
JPH04140841A (en) * 1990-10-01 1992-05-14 Shikoku Nippon Denki Software Kk Microprogram store system
JPH04245537A (en) * 1991-01-31 1992-09-02 Nec Corp Information processor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6288036A (en) * 1985-10-14 1987-04-22 Nec Corp Microprogram controller
JPH04140841A (en) * 1990-10-01 1992-05-14 Shikoku Nippon Denki Software Kk Microprogram store system
JPH04245537A (en) * 1991-01-31 1992-09-02 Nec Corp Information processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08292903A (en) * 1995-04-21 1996-11-05 Nec Corp Information processor

Also Published As

Publication number Publication date
JP3052556B2 (en) 2000-06-12

Similar Documents

Publication Publication Date Title
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
US6401180B1 (en) Bank history table for improved pre-charge scheduling of random access memory banks
US5274776A (en) Information processing system having mode signal holding means and selecting operand access mode based on mode signal indicating type of currently executed instruction
JPH05298086A (en) Information processor
JPH01177145A (en) Information processor
JPH08202621A (en) Cache controller
JP2540959B2 (en) Information processing device
JPH05257807A (en) Cache memory controller
JP3190945B2 (en) Micro program control circuit
JPH06103478B2 (en) Micro computer
JP2504151B2 (en) Data processing device
JP2902847B2 (en) Self-modifying code execution method
JPH05334189A (en) Data storage device
JPH0512003A (en) Program control system
JPH0772908A (en) Programmable controller
JPH06161896A (en) Semiconductor memory device and address storing system
JPH04242431A (en) Information processor
JPS62151936A (en) Cache circuit built in microprocessor
JPH05127893A (en) Microprogram control system
JPH0883213A (en) Storage device including cache memory
JPH0612256A (en) Instruction cache control system
JPH0683986A (en) Single chip microcomputer
JPH07160578A (en) Information processor
JPH03119438A (en) Microprocessor
JPH04282734A (en) Cache memory control device

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

LAPS Cancellation because of no payment of annual fees