JP2000029767A - デ―タ処理装置における書き込みバッファ - Google Patents

デ―タ処理装置における書き込みバッファ

Info

Publication number
JP2000029767A
JP2000029767A JP11080290A JP8029099A JP2000029767A JP 2000029767 A JP2000029767 A JP 2000029767A JP 11080290 A JP11080290 A JP 11080290A JP 8029099 A JP8029099 A JP 8029099A JP 2000029767 A JP2000029767 A JP 2000029767A
Authority
JP
Japan
Prior art keywords
address
data
row
write buffer
data value
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
JP11080290A
Other languages
English (en)
Other versions
JP3935286B2 (ja
JP2000029767A5 (ja
Inventor
David Walter Flynn
ウォルター フライン デビッド
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.)
ARM Ltd
Original Assignee
Advanced Risc Machines 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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of JP2000029767A publication Critical patent/JP2000029767A/ja
Publication of JP2000029767A5 publication Critical patent/JP2000029767A5/ja
Application granted granted Critical
Publication of JP3935286B2 publication Critical patent/JP3935286B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0879Burst mode
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol

Abstract

(57)【要約】 【課題】 バーストモード書込と非バーストモード書込
の両者に対して効率的に作動し、かつ従来よりも大きく
ないサイズの書込バッファ、及びそのような書込バッフ
ァをもったデータ処理装置を提供すること。 【解決手段】 本発明のデータ処理装置は、メモリ内の
位置を同定するアドレスと前記メモリに格納するデータ
値を発生するプロセッサ本体と、前記プロセッサ本体か
ら発生するアドレスとデータ値を格納し、ついでそのア
ドレスとデータ値を出力して該データ値が前記メモリに
格納されるようにする書込バッファと、を備え該書込バ
ッファが複数の行をもち、各行はアドレスまたはデータ
値を格納するように構成され、各行はまたそれと関連し
てアドレスまたはデータ値の何れを含むかを示すように
設定されるフラグフィールドを備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、メモリ内の位置を
同定するアドレス及びそのメモリ位置に書き込むべきデ
ータ値をバッファするデータ処理装置に関する。ここで
「データ値」の用語は命令及びデータワードのようなデ
ータの項目またはブロックの両者を呼ぶのに用いられ
る。
【0002】
【従来の技術】代表的なデータ処理装置は、プロセッサ
本体(またはCPU)、すなわちプロセッサ本体に与え
られるデータに適用される一連の命令を実行するように
構成されたプロセッサ本体を含む。一般にメモリはプロ
セッサ本体に必要な命令及びデータ(ここでは綜合的に
「データ値」と呼ぶ)を格納するために設けられる。さ
らにメモリに対して必要なアクセスの回数を減少するた
め、プロセッサ本体に必要なデータ値を格納する1つま
たは複数のキャッシュを設けることが多い。
【0003】キャッシュの使用はプロセッサ本体の処理
速度を改良するが、プロセッサ本体がデータ値をメモリ
から読取り、書込むことは依然として必要であり、それ
らの処理は比較的遅いので、プロセッサ本体の処理速度
に不利な影響を与える。
【0004】メモリにデータ値を書き込むことによる処
理速度への影響を減少するため、キャッシュ付CPUを
メモリから減結合するために通常用いられる書込バッフ
ァを設け、処理バスが中間の書込バッファへの書込動作
を完了して、書込バッファが自律的にメモリバスへの書
込を実行するようにすることが知られている。この方法
により、CPUは次の命令の実行に進む前に書込み処理
が完了するのを待つ必要がない。さらに、書込バッファ
の深さ(depth)を単一のレジスタ以上に増加して複数の
CPUデータ書込みを蓄積し、例えば、先入れ−先出し
(FIFO)バッファを用いて書込動作の順序を維持す
ることができる。
【0005】一般的に言えば、書込バッファは、その入
力側でマスタに対する“補助”インターフェイスとな
り、その出力側でメモリバスに対する“開始”バスイン
ターフェイスとなる。補助インターフェイスは一般にア
ドレス信号(a),制御信号(c),書込データ信号
(d)を必要とする。制御信号は通常オペランドの大き
さ、保護フラグ、アクセスフラグのような制御情報を含
む。マスタインターフェイス、例えばCPUと処理バス
の間のインターフェイスは、同様に同じアドレス、制
御、書込データ情報を与えねばならず、さらにより狭
い、または広い書込データバス幅への通路調整を行うこ
ともある。
【0006】簡単な従来の書込バッファにおいては、書
込バッファの補助インターフェイスは“a+c+d”ビ
ットの幅(アドレス、制御、データバスの幅)をもつ。
そのような構成においては、書込バッファの所要格納容
量は、 a+c+dビット×書込バッファスロットの数 である。
【0007】一般に、積分回路のようなデータ処理装置
を開発するとき、回路を出来るだけ小さくするという要
望がある。積分回路が占有する領域が重要である。積分
回路が小さくなる程、製造コストが安くなり、製造歩留
りが高くなる。このため、積分回路の全体の大きさを出
来るだけ小さく保持しなければならないとき、書込バッ
ファス内に設けられる書込バッファスロットの数を任意
に増加することができないことが明らかである。
【0008】書込バッファが容量一杯に書き込まれたと
きは常に、プロセッサは書込バッファの空きスロットが
使用できるようになるまで、次の書込動作を遅らせる。
最大書込バッファ深さ(depth)はそのアプリケーション
に依存し、チップ領域、是認できるバースト書込帯域幅
( sustainable burst write bandwith )、および書込
バッファが空きになるまで読出し処理が停止されるメモ
リまたは2次バスの待ち時間( the latency of the me
mory, or secondary, bus where a read transaction i
s blocked )との兼ね合いである。
【0009】キャッシュ付プロセッサと高帯域幅装置に
おいては、書込伝送の多くは“バースト”(すなわち、
キャッシュライン交換またはスタック・コンテキスト退
避(cache line replacements or stack context save
s)の形で行われ、基本アドレス(base address) およ
び固定または可変数のデータワードが伝送される。しか
し、依然として非バースト(例えば8ビットまたは16
ビット)のアクセス(例えば文字または短いデータ)が
存在する。
【0010】そのような構成においては、書込バッファ
に必要な領域はアドレス/制御通路をデータ通路から分
離して、2つの論理的に分離された書込バッファ、すな
わちアドレスと制御用に1つと、データ信号用に1つの
書込バッファを設けることにより減少される。バースト
モード処理においてはデータ値よりアドレスが少ないの
で、書込バッファに設けられるアドレススロットの数は
書込バッファに設けられるデータスロットの数よりも相
当に小さくできる。しかし、このアドレススロットを少
なくすることによる領域の減少は、通常データスロット
の増加により打ち消され、書込バッファの総領域は代表
的使用に対して最適化される。従って、そのようなバー
ストモード書込バッファに対する書込バッファの容量
は、 a+cビット幅×アドレススロットの数 dビット幅×データスロットの数 となる。
【0011】そのような構成において、書込バッファの
内容をメモリに出力するときバーストアドレスを再合成
するために、代表的にアドレス増分器(incrementer)が
必要となり、アドレスとデータの書込バッファの再構築
を連動するためにより複雑な制御論理が必要となる。
【0012】そのような構成は明らかにバーストモード
書込伝送には有利であるが、もし非バースト蓄積(バイ
ト構成アクセス)が存在するときは、非バーストモード
においては各データワードについて1つのアドレスが必
要であるので、アドレススロットの数が限定要因とな
る。
【0013】多くのデータ処理装置は通常メモリにたい
してバーストモード格納と非バーストモード格納の両者
を使用しているので、データ処理装置にはバーストモー
ド書込伝送と非バーストモード書込伝送の両者に対して
効率的に作動する書込バッファを、公知の従来の書込バ
ッファの大きさに対してそのサイズを大きくすることな
く設けることが望ましい。
【0014】
【発明の概要】第1の観点において本発明はデータ処理
装置を提供し、そのデータ処理装置は、メモリ内の位置
を同定するアドレスと該メモリに格納するデータ値を発
生するプロセッサ本体と、前記プロセッサ本体から出力
されるアドレスとデータ値を格納し、その後前記メモリ
に前記データ値が格納されるように前記アドレスとデー
タ値を出力する書込バッファとを備え、前記書込バッフ
ァが複数の行をもち、各行はアドレスまたはデータ値を
格納するように構成され、また各行はそれに関連してそ
の行がアドレスまたはデータ値の何れを含んでいるかを
示すように設定されるフラグフィールドをもつようにな
っている。
【0015】本発明によれば、前記書込バッファの各行
はアドレスかデータ値の何れかを格納することができ、
各行に関連してフラグフィールドが追加的に設けられ、
該フラグフィールドはその行がアドレスかデータ値の何
れを含んでいるかを示すように設定することができる。
従って、バーストモードにおいては、特定の行は基本ア
ドレスを格納するのに用いられ、その行のフラグフィー
ルドはその行にアドレスが含まれていることを示すよう
に設定され、ついでその後バースト伝送を形成するデー
タ値はその書込バッファの他の行に格納され、それら他
の行のフラグフィールドはそれら行がデータ値を含むこ
とを示すように設定される。この方法は、バーストモー
ド書込伝送をバッファするとき、利用できる書込バッフ
ァの効率的使用を可能にする。
【0016】しかも、本発明の構成は明らかに非バース
ト書込伝送をもサポートする。その場合、書込バッファ
の行に交互にアドレスとデータ値を格納し、各行のフラ
グフィールドはそれに従って設定される。
【0017】本発明による書込バッファは比較的小さな
領域を占めるように構成され、かつ非バーストモード伝
送に対して最適な書込バッファとバーストモード伝送に
対して最適な書込バッファの間の良い妥協を与えること
が判明した。
【0018】好ましい実施例において、各行は“n”ビ
ットを含み、前記フラグフィールドはその“n”ビット
の1つまたは複数を含む。好ましくは、前記フラグフィ
ールドは単一ビットを含む。それは、それによりフラグ
フィールドに必要な領域を最小にし、かつ特定の行がア
ドレスまたはデータ値を含むことを決める充分な情報を
確実に与えるからである。
【0019】好ましい実施例において、データ処理装置
はさらにプロセッサ本体から前記アドレスとデータ値を
受けるマルチプレクサと、前記マルチプレクサが前記デ
ータ値かアドレスの何れかを書込バッファに出力して特
定の行に格納されるように制御する入力制御論理を備
え、前記入力制御論理はさらに前記書込バッファを制御
して特定の行のフラグフィールドを、その行がアドレス
とデータ値の何れを格納しているかを示すように設定す
る。
【0020】さらに好ましい実施例において、各行はさ
らに制御フィールドを含み、アドレスが特定の行に格納
されているとき、その行の制御フィールドは該アドレス
に関連する制御データを格納するのに用いられる。従っ
てこの構成においては、入力制御論理は前記マルチプレ
クサから前記特定の行に格納するためのアドレスとその
行の制御フィールドに格納する制御データを出力させ、
前記フラグフィールドは前記特定の行がアドレスを含む
ことを示すように設定される。
【0021】好ましくは、もしデータ値が特定の行に格
納されているなら、前記制御フィールドはデータを含む
1つまたは複数の領域を同定するマスクデータを格納す
るのに用いられる。従って、例え前記行がアドレスより
はむしろデータ値を格納するのに用いられても、前記制
御フィールドは依然として使用される。好ましい実施例
において、前記行の複数のバイトが前記データ値を格納
するのに予約され、前記マスクデータは前記複数のバイ
トの何れが前記データ値を含むかを示す。従って、もし
データワードが4バイトまでの長さであり、書込バッフ
ァが32−ビットバスに接続されているなら、各行にデ
ータ値を格納するため4バイトが予約される。しかし、
もし各行に格納されるデータ値が4バイトより短い長さ
であるなら、各行の4バイトの全てをデータ値を格納す
るのに用いる必要がない。この場合、マスクデータはそ
の行の複数のバイトの何れが前記データ値を含むかを示
すのに用いられる。好ましい実施例において、入力制御
論理が前記書込バッファを制御して前記マスクデータを
発生するように構成される。
【0022】さらに好ましい実施例において、データ処
理装置は書込バッファに格納されているアドレスとデー
タ値のメモリへの出力を制御する出力制御論理を含む。
好ましくは、データ処理装置は書込バッファの1つの行
の内容を受けるデマルチプレクサを含み、前記出力制御
論理はフラグフィールドから前記行にアドレスまたはデ
ータ値の何れが含まれているかを決め、前記デマルチプ
レクサにデータ値をデータ線上に、またはアドレスをア
ドレス線上に出力するように命令する。前記入力および
出力制御論理は別個の論理要素により構成されても良い
が、好ましい実施例においては同じ論理要素により構成
される。
【0023】好ましい実施例において、書込バッファに
おけるバーストモード格納はメモリバスに送られる前に
再合成される。従って、好ましい実施例においてはデー
タ処理装置はさらにアドレス線上にアドレス出力を受け
るため増分器を含む。従って、もし増分器でアドレスが
受信された後複数の行のデータ値が書込バッファから読
み出されるなら、データ値がメモリバスに置かれる毎
に、該アドレスは増分器により増分され、対応する増分
されたアドレスはメモリバスのアドレスバスに出力され
る。このようにして、メモリは必要なアドレス情報を受
け取り、受け取った各データ値を格納できるようにす
る。
【0024】好ましい実施例において、デマルチプレク
サは、書込バッファから受け取った前記行内の制御デー
タを制御線上に出力するように構成され、データ処理装
置はさらに前記制御データを格納するレジスタを含む。
好ましい実施例において、データ値を含む書込バッファ
の1つの行がメモリバスに出力される毎に制御データが
出力される。制御データをレジスタに格納することによ
り、この情報は必要に応じ、メモリバスの制御バスに出
力することができる。
【0025】好ましい実施例において、書込バッファは
先入れ先出し(FIFO)バッファである。これにより
書込処理の順序が確実に維持される。
【0026】第2の観点から、本発明はメモリ内の位置
を同定するアドレスと該メモリに格納されるデータ値を
格納し、その後前記アドレスとデータ値を出力して該デ
ータ値が前記メモリに格納されるようにする書込バッフ
ァを提供する。前記書込バッファは、複数の行を含み、
各行はアドレスまたはデータ値を格納するように構成さ
れ、また各行はそれと関連してその行がアドレスまたは
データ値の何れを含んでいるかを示すように設定される
フラグフィールドをもつ。
【0027】本発明の実施例を、単なる例示であるが以
下添付図面を参照して説明する。添付図面において同じ
参照符号は同じ要素を示すのに用いられる。
【0028】
【好ましい実施例の詳細な説明】本発明の好ましい実施
例によるデータ処理回路を図1のブロック図を参照して
説明する。図1に示されるように、データ処理回路はメ
モリ120から受け取った命令を処理するように構成さ
れたプロセッサ本体10をもつ。それら命令を実行する
ためプロセッサ本体10に必要なデータもまたメモリ1
20から取り込まれる。キャッシュ30はメモリ120
から取り込んだデータと命令を格納するように設けら
れ、格納されたデータと命令はその後プロセッサ本体1
0から容易にアクセス可能である。またキャッシュ制御
ユニット40がキャッシュ30内のデータと命令の格納
を制御し、さらにキャッシュからデータと命令の取り込
みを制御するように設けられる。
【0029】プロセッサ本体10が命令またはデータ項
目(以下命令またはデータの両者をデータ値と呼ぶ)を
必要とするとき、プロセッサ本体はそのデータ値のメモ
リアドレスをプロセッサバス50のバス線54上に与え
る。さらに、プロセッサ本体10はバス線52上にプロ
セッサ制御信号を与える。プロセッサ制御信号はアドレ
スが読出要求または書込要求に対応するかどうか、アク
セスの形式(例えば順次)、アクセスのサイズ(例えば
ワード、バイト)、プロセッサの動作モード(例えば管
理者モードまたは使用者モード)等の情報を含む。この
プロセッサ制御信号はキャッシュ制御ユニット40に与
えられ、キャッシュ制御ユニットは直ちに必要とするデ
ータ値がキャッシュ内に格納されているか否かを決め
る。キャッシュ制御ユニット40はキャッシュ30に命
令して、バス線54上のアドレスとキャッシュ内のアド
レスを比較して、そのアドレスに対応するデータ値がキ
ャッシュに格納されているか否かを決める。もし格納さ
れていれば、そのデータ値はキャッシュ30からデータ
バス線56上に取り出され、プロセッサ本体10により
読み取られる。もし、アドレスに対応するデータ値がキ
ャッシュ30内に存在しなければ、キャッシュ制御ユニ
ット40は線130を介してバスインターフェイス・ユ
ニット(BIU)95に信号を送り、データ値をメモリ
120から取り出すことが必要であることを示す。
【0030】このキャッシュのルックアップ処理の間
に、メモリ管理ユニット(MMU)20はバス線52上
のプロセッサ制御信号を受け、プロセッサ制御信号がメ
モリ120またはキャッシュ30に対する潜在的な読
取、または書込アクセスに関連することを確認した上、
プロセッサ本体10によりバス線54に与えられたアド
レスを調べるように構成される。
【0031】メモリ120の別の領域が、保護、キャッ
シュ可能、バッファ可能な属性のような異なる属性をも
ったデータ値を格納するのに用いられる。従って、MM
U20はそのアドレスからメモリ120へのアクセスを
制御する属性か、キャッシュ30から取り出したデータ
値の使用を制御する属性かを決定するように構成され
る。これら属性はBIU95に送られる。
【0032】前に述べたように、MMU20はバス線5
2からプロセッサ制御信号を受け取り、このプロセッサ
制御信号は他の事項と共にプロセッサ本体10の動作モ
ードを画定する。従って、この情報を用いてMMU20
は、前記アドレスから決められた属性がプロセッサ本体
10が現在の動作モードにおいて必要とするメモリアド
レスにアクセスするのを許すか否かを決めることができ
る。例えば、もしプロセッサ制御信号がプロセッサ本体
10が使用者モードにあることを示し、一方アドレスか
ら決められた属性がメモリアドレスは管理者モードにお
いてのみアクセスできることを示すならば、MMU20
は中止信号を発生し、線路140を介してプロセッサ本
体10に、線路170を介してバスインターフェイス・
ユニット95に送る。
【0033】MMU20により実行される処理は充分な
処理速度を保持するため好ましくはキャッシュルックア
ップ処理と同時に行われる。もし、必要とするデータ値
がキャッシュ30にあり、MMU20が線140上に中
止信号を発生していなければ、プロセッサ本体10はキ
ャッシュ30から取り出したデータを使用する。しか
し、もし必要とするデータがキャッシュから得られない
なら、前述の如く線路130に信号が送られバスインタ
ーフェイス・ユニット(BIU)95にメモリ120に
アクセスしてそのデータ値を求めるように命令する。
【0034】BIU95はバス線52上の信号を調べて
プロセッサ本体10から発生された命令が読取命令か書
込命令であるかを決める。それが読取命令であり、論理
90から線路170を介して中止信号を受けていなけれ
ば、BIU95は多重化装置100に命令して、バス線
54上のアドレスをバス60の外部アドレスバス線64
に送る。(これは、メモリ120に対する未処理の書込
命令が書込バッファ105に残っていない、と言う前提
である。もしそのような未処理の書込信号が存在するな
ら、それは読出命令の前に完了されるであろう。書込バ
ッファの動作については後に詳述する。)また、制御信
号がバス線62に与えられ、それによりメモリ制御装置
180はメモリ120へのアクセスを制御する。メモリ
制御装置180はバス線62上の制御信号からメモリの
読取が必要であると判断し、メモリに命令してアドレス
バス線64に示されるアドレスにあるデータをデータバ
ス線66に出力させる。
【0035】BIU95はバッファ110に信号を送
り、バッファ110がメモリ120により外部バス線6
6に与えられたデータをプロセッサバス線56に送るよ
うにさせる。加えて、もしBIU95がMMU20から
受けた属性が前記アドレスがキヤシュ可能なデータ値を
含んでいることを示すなら、BIU95は信号を線路1
35を介してキャッシュ制御40に送り、キャッシュ制
御に命令して前記取り込んだデータ値をキャッシュ30
に格納させる。メモリ120から取り込まれバス線56
に置かれたデータ値はキャッシュ30に格納されると共
にプロセッサ本体10に送られる。その後、そのデータ
値は容易にキャッシュからプロセッサ本体により容易に
アクセスされる。もし、BIU95が受けた属性が前記
データ値がキャッシュ可能でないことを示すなら、該デ
ータはキャッシュに格納されず、プロセッサ本体10は
データ値をバス線56から読み込む。
【0036】以上の記載は、MMU20がメモリ120
からデータ値を読み込むためにどのように用いられるか
を説明するものである。プロセッサ本体10により発生
されるアドレスがプロセッサがデータ値を書き込もうと
するアドレスの場合は、次の手順が行われる。
【0037】プロセッサ本体はプロセッサ制御信号をバ
ス線52に、アドレスをバス線54に、格納すべきデー
タ値をバス線56に与える。MMU20はバス線52上
のプロセッサ制御信号を調べ、プロセッサ制御信号がメ
モリ120への書込アクセスに関連していると判断する
と、バス線54にプロセッサ本体10により与えられた
アドレスを調べる。ついで、そのアドレスに関連した属
性がBIU95に出力される。
【0038】BIU95はバス線52上のプロセッサ制
御信号を調べて、プロセッサ本体により発生された命令
が読取命令か、書込命令かを決める。それが書込命令で
あるとすると、BIUは書込手順を使用することが必要
と決め、MMU20から受けた属性情報を用いて書込手
順を制御する。
【0039】MMU20はまた前記属性、プロセッサ制
御信号からプロセッサ本体が現在の動作モードにおいて
特定のアドレスに書き込むことができるかを決め、もし
できないなら、中止信号を発生する。中止信号は線路1
70を介してBIU95に送られ、BIUにその書込命
令を無視させる。中止信号は線路140を介してプロセ
ッサ本体10にも送られ、前記データ、アドレスおよび
制御信号をそれぞれバス線56、54、および52から
除去し、プロセッサ本体10がそのような中止の場合に
必要とする特別処理を実行できるようにする。
【0040】しかし、プロセッサ本体がバス線54上の
アドレスに書込が許され、従ってBIU95に中止信号
が与えられないとすると、BIU95はMMU20から
の属性情報を用いて書き込むべきデータがバッファ可能
であるか否かを決める。もし、データがバッファ可能で
あるなら、BIU95は書込バッファ105にデータ、
アドレスおよび制御信号をバス50から取り込むように
命令する。これがなされると、次の命令が書込命令が完
了するのを待つことなくプロセッサ本体10により処理
される。
【0041】書込バッファは好ましくはFIFOバッフ
ァである。外部バス60が空いているときは、BIU9
5はマルチプレクサ100に命令して次の事項を書込バ
ッファから外部バス60に出力させる。ついで、マルチ
プレクサ100は必要な制御、アドレスおよびデータ信
号をバス線62、64および66上にそれぞれ出力し、
メモリ制御装置180は制御信号を用いてメモリ120
に対する書込アクセスを制御する。この時点において、
データはメモリ120に格納される。格納すべきデータ
が順次書込バッファ105から処理されると、同時にバ
ス線54にプロセッサにより与えられたアドレスに対応
するデータがメモリ120に格納される。
【0042】しかし、もしバスインターフェイス・ユニ
ット95がデータを格納すべきアドレスがバッファ可能
でないと決めたときは、バスインターフェイス・ユニッ
ト95はマルチプレクサ100に命令してプロセッサ制
御、アドレスおよびデータ情報をバス線52、54およ
び56から直接選択させる。ついで、マルチプレクサ1
00はこの情報を外部バス60に出力し、該データをメ
モリ120の対応するアドレスに格納する。しかし、こ
れを実行する前に、書込命令が正しい順序で処理される
ことを確実にするため、書込バッファ105は通常その
中の全ての入力を排出する。現在の書込命令に対応する
非バッファ可能データが格納されると、次の命令を処理
することができる。
【0043】図1についての上記説明は、代表的データ
処理装置の動作の一般的概要である。本発明の好ましい
実施例の書込バッファ105の動作のさらに詳細な説明
を図2、3を参照して次に述べる。
【0044】図3は本発明の好ましい実施例における書
込バッファの構成を示す。図3に示す構成は32−ビッ
トデータバス、32−ビットアドレスバスおよび4−ビ
ット制御バスからなるプロセッサバスに接続された32
−ビットRISCプロセッサに使用するのに適したもの
である。従って、書込バッファの各行310のビット0
−31はアドレスまたはデータ値を格納するように予約
される。さらに、ビット32−35はその行に格納され
るアドレスに関連する4−ビット制御データまたはその
行に格納されるデータ値に関連する4−ビットデータマ
スクの何れかを格納するように予約される。
【0045】好ましい実施例において、アドレスを含む
これら行に格納される制御データの4ビットは、2−ビ
ットのフィールド(8、16、32、64ビット、デー
タ転送幅(data transfer width))と特権(privilege)
(“管理”)アクセス指示のような任意の必要な追加の
制御フラグを含む。
【0046】上記の36ビットに加えて、本発明の好ま
しい実施例においては37番目の1つのビットが各行に
付加され、その行がアドレスまたはデータ値の何れを含
むかを示すフラグのフィールドを与える。好ましい実施
例において、論理“0”はその行がアドレスを含むこと
を示し、論理“1”はその行がデータ値を含むことを示
す。しかし、例えば論理“1”がアドレスを示し、論理
“0”がデータ値を示すようにこれら論理値を反対にし
ても本発明から逸脱することがないことは明らかであ
る。
【0047】好ましい実施例において、図3に示すよう
にプロセッサ本体から出力されるデータは書込バッファ
の最下部に入力される。書込バッファはFIFOバッフ
ァであり、図3に示すようにバッファに最も長く格納さ
れていた事項が最初に出力され、各行はバッファの最上
部から読出される。
【0048】バーストモードにおいて、基本アドレスと
対応する制御データは書込バッファの第1の行に格納さ
れ、37番目のビットに論理0が加えられその行がアド
レスを含むことを示す。基本アドレスに続く各データ値
は書込バッファの別の行に格納され、37番目のビット
は論理1にセットされ、その行にデータが格納されてい
ることを示す。従って、16行の深さをもった書込バッ
ファは、バッファが一杯になるまでに15のデータワー
ドのバーストを格納することができる。
【0049】非バーストモードにおいては、アドレスと
データ値は書込バッファに交互に格納、すなわちアドレ
スを含む行の次の行にそのアドレスに格納すべきデータ
値が格納される。図3から明らかなように、特定の行に
格納されているデータ値はデータワードであり、この例
ではデータワードは32−ビット、すなわち4−バイト
の長さである。しかしまたは、データ値は、しばしばサ
ブ・ワード長データ値(sub-word-length data value)
と呼ばれるような、1バイト、2バイト、または3バイ
トの長さであっても良い。そのような場合は、データ値
を含む各行のビット32−35に置かれる4−ビットデ
ータマスクはデータ値に割り当てられた4バイトの何れ
が実際にデータ値を格納するかを同定するのに用いられ
る。従って好ましい実施例において、もしデータ値がデ
ータワードであるなら、データマスクの4ビット全てを
論理“1”に設定し、一方そのバイトの何れかがデータ
値でないときは、データマスクの対応するビットは論理
“0”に設定される。
【0050】上記の説明から、書込バッファは極めて融
通性があり、バーストモードまたは非バーストモードの
何れの書込伝送も格納できるように自動的に適応される
ことが分かる。従って、先に述べた16行深さのFIF
Oの例で言えば、15データワードまでのバーストモー
ド書込から8つの1バイト幅までの非バースト書込が、
スロット数をアドレスに必要な数に適応的に調整される
前記FIFO書込バッファ構成により処理できる。
【0051】この適応的調整は、コンテキストおよびレ
ジスタバンクセーブプロセッサ( context and registe
r bank save processors)について僅かのアドレスが割
り当てられてバーストモード書込を行い、一方多くのア
ドレス情報が割り当てられる少ないバイトと半−ワード
・非バーストストア処理(fewer byte and half-wordno
n-burst store operations with more address informa
tion )を行う基本的ロードおよびストアRISC処理
( basic load and Store RISC processors )に対して
適応している。
【0052】図3を参照して好ましい実施例の書込バッ
ファの構成を説明したので、次に書込バッファの作動に
ついて図2を参照して更に詳細に説明する。図2から明
らかなように、書込バッファ105はマルチプレクサ2
00によりプロセッサバス50から分離される。図1を
参照して前に述べたように、BIU95は先ずバス線5
2の制御信号にアクセスする。これは図2において線路
235により示される。書込むべきデータがバッファ可
能と決められると、BIU95は信号を線路240を介
してマルチプレクサ200に送り、バス52、54上の
制御およびアドレスデータを書込バッファ105に出力
するように命令する。また、BIU95は線路255を
介して書込バッファ105にマルチプレクサ200より
与えられた制御およびアドレスデータを格納するように
命令する。加えて、BIU95は線路250を介して信
号を送り、その行がアドレスを含むことを示すために関
連する行のフラグフィールド、好ましい実施例において
は37番目のビットを論理“0”に設定する。
【0053】上記処理はデータバス56のデータに対し
て繰り返され、BIU95はマルチプレクサ200にデ
ータを書込バッファ105に出力するように命令し、ま
たBIU95は関連する行のフラグフィールドを論理
“1”に設定する。さらに、BIU95は書込バッファ
105からマスクデータを発生し、それを関連する行の
ビット32−35に与え、データ値に割り当てられたそ
の行の4つのバイトの中で実際にデータ値を含むバイト
を示すようにする。
【0054】もし書込動作が非バーストモードであるな
ら、書込み動作に必要な全ての制御、アドレスおよびデ
ータ情報は書込バッファに格納され、BIU95は、書
込動作がバッファ可能と見なして、その後の各非バース
ト書込動作に対して上記処理を繰り返すように構成され
る。しかし、書込がバーストモードであるなら、BIU
95はマルチプレクサ200に、バーストモード書込動
作における各データワードに対してデータを書込バッフ
ァ105に接続されるデータバス56に出力するように
命令を継続する。加えて、BIU95は書込バッファに
格納される各データワードについて線路250に信号を
送り、対応する行のフラグフィールドを論理“1”に設
定してそれら行がデータを含むことを示すようにすると
共に、書込バッファから必要なマスクデータを発生させ
る。
【0055】メモリ120に格納するためデータを書込
バッファ105から読出すとき、BIU95はまず書込
バッファから読出すデータの行のフラグフィールドの値
を求め、その値を線路260を介してBIU95に送
る。好ましい実施例において書込バッファ105はFI
FO書込バッファであるので、書込バッファに最も長く
格納されていたデータが最初に読出される。
【0056】フラグフィールドの値がBIU95により
決められると、BIU95は信号を線路265、27
0、275、280を介して書込バッファ105、デマ
ルチプレクサ210、レジスタ220、増分器230に
それぞれ送り、外部バス60の制御バス62、アドレス
バス64、データバス66への出力を制御する。特に、
もしフラグフィールドが書込バッファの読出すべき行が
アドレスを含むことを示すならば、BIU95は書込バ
ッファ105にその行を読出すように命令し、デマルチ
プレクサ210にビット0−31を増分器230にまた
ビット32−35をレジスタ220に送るように命令す
る。この方法により、アドレスは増分器230に送ら
れ、制御データはレジスタ220に送られる。レジスタ
220と増分器230の両者は、BIU95から線路2
70、280を介してそれぞれ送られる信号によりこれ
らの値を格納するように命令されている。
【0057】ついでBIU95は次の行のフラグフィー
ルドの値を求める。その値が論理“1”でその行がデー
タ値を含むことを示すものとする。ついで、書込バッフ
ァ105にその行をデマルチプレクサ210に出力する
ように命令し、デマルチプレクサ210に線路275を
介してマスクデータにより示されるビット0−31に格
納されているデータ値をデータ線路285に出力するよ
うに命令する。このとき、レジスタ220と増分器23
0は制御データ、アドレスデータをそれぞれ制御線路2
90、アドレス線路295に出力する。このデータはつ
いで外部バス60に出力するためマルチプレクサ100
(図1に示される)に送られる。
【0058】もしBIU95は書込バッファから読出す
べき次の行がアドレスを含んでいると決めたときは、上
記の処理が繰返され制御およびアドレス情報がレジスタ
220、増分器230にそれぞれ送られ、制御およびア
ドレス情報は線路290、295に出力され、一方デー
タは線路285から出力される。しかし、もしBIU9
5が次の行もデータを含んでいると決めたときは、書込
バッファ105にデータをデマルチプレクサに出力する
ように命令し、デマルチプレクサにビット0−31(マ
スクデータにより同定される)のデータをデータ線路2
85に出力するように命令する。さらに、レジスタ22
0にすでにレジスタ220に格納されている制御データ
を線路290に出力するように命令し、増分器230に
アドレスを増分し、増分されたアドレスをアドレス線路
295に出力するように命令する。この方法により、制
御、データ、アドレス情報が外部バス60に送られる前
に再合成される。
【0059】もし何れかの段階において、BIU95が
書込バッファが満杯であり、しかもさらにバッファ可能
な書込処理を書込バッファに適用すべきと決めたとき
は、BIU95は待機信号をプロセッサバス50に送
り、書込バッファ105が満杯であることを知らせる。
この信号をどのように用いるかは、何れの論理ユニット
でバッファ可能書込処理を始めるかに依存する。例え
ば、前に述べたように、もしプロセッサ本体10がバッ
ファ可能処理を実行しようとしており、書込バッファ1
05が満杯であるなら、プロセッサ本体は書込バッファ
の空きスロットが利用可能になるまで待機する。
【0060】以上特定の実施例について説明したが、本
発明はそれに限定されることなく多くの変更や追加が本
発明の範囲から逸脱することなくなされることが理解さ
れるであろう。例えば、従属請求項の特徴の独立請求項
の特徴との各種組み合わせが、本発明の範囲から逸脱す
ることなく可能である。
【図面の簡単な説明】
【図1】本発明の好ましい実施例によるデータ処理装置
を説明するブロック図面。
【図2】本発明の好ましい実施例の書込バッファに、ア
ドレス、データ、制御信号を格納し、ついで前記アドレ
ス、データ、制御信号を読出し、再合成するための論理
を説明するブロック図面。
【図3】本発明の好ましい実施例の適応的書込バッファ
の構成を示す図面。
【符号の説明】
10 プロセッサ本体 20 MMU 30 キャッシュ 95 BIU 105 書込みバッファ 120 メモリ 200 マルチプレクサ 210 デマルチプレクサ

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 メモリ内の位置を同定するアドレスと前
    記メモリに格納するデータ値を発生するプロセッサ本体
    と;前記プロセッサ本体より出力される前記アドレスと
    データ値を格納し、その後前記データ値を前記メモリに
    格納するため前記アドレスと前記データ値を出力する書
    込バッファと;を備え、前記書込バッファが複数の行を
    もち、各行がアドレスまたはデータ値を格納するように
    構成され、各行がまたその行がアドレスまたはデータ値
    の何れを含むかを示すように設定される関連するフラグ
    フィールドをもっている;データ処理装置。
  2. 【請求項2】 請求項1において、前記各行が‘n’ビ
    ットを含み、前記フラグフィールドがその‘n’ビット
    の中の1つまたは複数である、データ処理装置。
  3. 【請求項3】 請求項1において、前記フラグフィール
    ドが単一のビットを含むデータ処理装置。
  4. 【請求項4】 請求項1において、さらに前記プロセッ
    サ本体からアドレスとデータ値を受けるマルチプレクサ
    と;前記マルチプレクサを制御してデータ値またはアド
    レスの何れかを前記書込バッファに出力して特定の行に
    格納する入力制御論理と;を備え、前記入力制御論理が
    さらに前記書込バッファを制御して、前記特定の行のフ
    ラグフィールドが、その行がアドレスまたはデータ値の
    何れを格納しているかを示すように設定されるようにし
    た、データ処理装置。
  5. 【請求項5】 請求項1において、前記各行がさらに制
    御フィールドを含み、もしアドレスが特定の行に格納さ
    れていれば、その行の制御フィールドが前記アドレスに
    関連する制御データを格納するのに使用される、データ
    処理装置。
  6. 【請求項6】 請求項5において、もしデータ値が特定
    の行に格納されていれば、前記制御フィールドがデータ
    を含むその行の領域を同定するマスクデータを格納する
    のに使用される、データ処理装置。
  7. 【請求項7】 請求項6において、前記行の複数のバイ
    トが前記データ値を格納するために留保され、前記マス
    クデータが前記複数のバイトの何れが前記データ値を含
    むかを示す、データ処理装置。
  8. 【請求項8】 請求項6において、さらに前記プロセッ
    サ本体からアドレスとデータ値を受けるマルチプレクサ
    と;前記マルチプレクサを制御してデータ値またはアド
    レスの何れかを前記書込バッファに出力して特定の行に
    格納する入力制御論理と;を備え、前記入力制御論理が
    さらに前記書込バッファを制御して、前記特定の行のフ
    ラグフィールドが、その行がアドレスまたはデータ値の
    何れを格納しているかを示すように設定されるようにし
    た、データ処理装置。
  9. 【請求項9】 請求項1において、さらに前記書込バッ
    ファに格納されているアドレスとデータ値の前記メモリ
    への出力を制御する出力制御論理を備えた、データ処理
    装置。
  10. 【請求項10】 請求項9において、さらに前記書込バ
    ッファの行の内容を受け取るデマルチプレクサを含み、
    前記出力制御論理が前記フラグフィールドからアドレス
    またはデータ値がその行に含まれているかどうかを決
    め、データ値をデータ線に、またはアドレスをアドレス
    線に出力するように前記デマルチプレクサに命令するよ
    うに構成されている、データ処理装置。
  11. 【請求項11】 請求項10において、さらに前記アド
    レス線上に出力されたアドレスを受ける増分器を含む、
    データ処理装置。
  12. 【請求項12】 請求項10において、各行はさらに制
    御フィールドを含み、もし特定の行にアドレスが格納さ
    れていれば、その行の制御フィールドがそのアドレスに
    関連する制御データを格納するのに使用され、前記デマ
    ルチプレクサが前記書込バッファから受けた制御データ
    前記行内の制御データを制御線に出力するように構成さ
    れているデータ処理装置にして、さらに前記制御データ
    を格納するレジスタを備えた、前記データ処理装置。
  13. 【請求項13】 請求項1において、前記書込バッファ
    が先入れ−先出し(FIFO)バッファである、データ
    処理装置。
  14. 【請求項14】 メモリ内の位置を同定するアドレスと
    前記メモリに格納するデータ値を格納し、その後前記ア
    ドレスとデータ値を出力して、前記データ値が前記メモ
    リに格納されるようにする、書込バッファにして、 前記書込バッファが、複数の行を含み、各行がアドレス
    またはデータ値を格納するように構成され、各行がまた
    それと関連して、その行がアドレスまたはデータ値の何
    れを含むかを示すように設定されるフラグフィールドを
    もつ、前記書込バッファ。
JP08029099A 1998-03-25 1999-03-24 データ処理装置における書き込みバッファ Expired - Lifetime JP3935286B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9806394.4 1998-03-25
GB9806394A GB2335762C (en) 1998-03-25 1998-03-25 Write buffering in a data processing apparatus

Publications (3)

Publication Number Publication Date
JP2000029767A true JP2000029767A (ja) 2000-01-28
JP2000029767A5 JP2000029767A5 (ja) 2005-09-22
JP3935286B2 JP3935286B2 (ja) 2007-06-20

Family

ID=10829237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08029099A Expired - Lifetime JP3935286B2 (ja) 1998-03-25 1999-03-24 データ処理装置における書き込みバッファ

Country Status (3)

Country Link
US (1) US6415365B1 (ja)
JP (1) JP3935286B2 (ja)
GB (1) GB2335762C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100473148B1 (ko) * 2002-11-27 2005-03-10 (주)텔리언 버스트모드 패킷 전달을 위한 정합장치 및 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804769B1 (en) 2000-02-18 2004-10-12 Hewlett-Packard Development Company, L.P. Unified buffer for tracking disparate long-latency operations in a microprocessor
US7266587B2 (en) * 2002-05-15 2007-09-04 Broadcom Corporation System having interfaces, switch, and memory bridge for CC-NUMA operation
US7213092B2 (en) * 2004-06-08 2007-05-01 Arm Limited Write response signalling within a communication bus
MY155586A (en) * 2008-01-02 2015-11-03 Mimos Berhad System for increasing throughput for memory device
TWI396975B (zh) * 2008-08-06 2013-05-21 Realtek Semiconductor Corp 可調適緩衝裝置及其方法
US20110208898A1 (en) * 2010-02-23 2011-08-25 Samsung Electronics Co., Ltd. Storage device, computing system, and data management method
GB2480296A (en) * 2010-05-12 2011-11-16 Nds Ltd Processor with differential power analysis attack protection
US9135984B2 (en) 2013-12-18 2015-09-15 Micron Technology, Inc. Apparatuses and methods for writing masked data to a buffer
US10120809B2 (en) * 2015-09-26 2018-11-06 Intel Corporation Method, apparatus, and system for allocating cache using traffic class
CN109992535B (zh) * 2017-12-29 2024-01-30 华为技术有限公司 一种存储控制方法、装置和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5363486A (en) * 1989-11-13 1994-11-08 Zenith Data Systems Corporation Variable size queue circuit for buffering data transfers from a processor to a memory
US5442797A (en) 1991-12-04 1995-08-15 Casavant; Thomas L. Latency tolerant risc-based multiple processor with event driven locality managers resulting from variable tagging
AU5598794A (en) * 1992-11-09 1994-06-08 Ast Research, Inc. Write buffer with full rank byte gathering

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100473148B1 (ko) * 2002-11-27 2005-03-10 (주)텔리언 버스트모드 패킷 전달을 위한 정합장치 및 방법

Also Published As

Publication number Publication date
GB2335762B (en) 2002-10-30
JP3935286B2 (ja) 2007-06-20
GB9806394D0 (en) 1998-05-20
GB2335762C (en) 2008-01-10
US20020038410A1 (en) 2002-03-28
US6415365B1 (en) 2002-07-02
GB2335762A (en) 1999-09-29

Similar Documents

Publication Publication Date Title
JP2836321B2 (ja) データ処理装置
US5864704A (en) Multimedia processor using variable length instructions with opcode specification of source operand as result of prior instruction
US6233641B1 (en) Apparatus and method of PCI routing in a bridge configuration
US5961640A (en) Virtual contiguous FIFO having the provision of packet-driven automatic endian conversion
US5526508A (en) Cache line replacing system for simultaneously storing data into read and write buffers having multiplexer which controls by counter value for bypassing read buffer
US9678866B1 (en) Transactional memory that supports put and get ring commands
US6895457B2 (en) Bus interface with a first-in-first-out memory
US20040107265A1 (en) Shared memory data transfer apparatus
US20080270707A1 (en) Data processor
JP3513291B2 (ja) データ転送装置
JP3935286B2 (ja) データ処理装置における書き込みバッファ
JP4812058B2 (ja) Fifo管理方法及びパイプラインプロセッサシステム
US6976110B2 (en) Method and apparatus for reducing interrupt latency by dynamic buffer sizing
CA2289192C (en) Communication dma device
US6349370B1 (en) Multiple bus shared memory parallel processor and processing method
US20050080949A1 (en) Method and system for direct access to a non-memory mapped device memory
US20040162924A1 (en) Apparatus and method for transmitting data by means of direct memory access medium
JPH01125644A (ja) データ転送装置
JPS6031647A (ja) デ−タ処理装置
JPH1040165A (ja) データ読み出し方法およびリードバッファ
JPS59214977A (ja) デ−タ処理装置
JPH10111798A (ja) 情報処理装置
US20040243780A1 (en) Processor system
JPH06301600A (ja) 記憶装置
JPH05324529A (ja) データ転送装置及びデータ転送方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050408

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070319

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100330

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120330

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140330

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term