JPH0991199A - 階層記憶システムにおけるデバイスアクセス方法 - Google Patents

階層記憶システムにおけるデバイスアクセス方法

Info

Publication number
JPH0991199A
JPH0991199A JP7250313A JP25031395A JPH0991199A JP H0991199 A JPH0991199 A JP H0991199A JP 7250313 A JP7250313 A JP 7250313A JP 25031395 A JP25031395 A JP 25031395A JP H0991199 A JPH0991199 A JP H0991199A
Authority
JP
Japan
Prior art keywords
data
address
cache
temporary
temporary 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
JP7250313A
Other languages
English (en)
Other versions
JP3709586B2 (ja
Inventor
Yoji Yamada
洋史 山田
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.)
Mazda Motor Corp
Original Assignee
Mazda Motor 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 Mazda Motor Corp filed Critical Mazda Motor Corp
Priority to JP25031395A priority Critical patent/JP3709586B2/ja
Publication of JPH0991199A publication Critical patent/JPH0991199A/ja
Application granted granted Critical
Publication of JP3709586B2 publication Critical patent/JP3709586B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 階層記憶システムにおいて、キャッシュ上の
データの収納および検索を効率よく行うことにより、低
速デバイスへの平均アクセス時間を短縮する。 【解決手段】 データアドレスが互いに競合するために
同時にキャッシュに収納できない複数のデータ8に対
し、仮アドレス用エリア7を確保することにより、互い
に競合せずに同時にキャッシュに収納できる仮アドレス
10を得て、そのアドレスをデータ8のデータアドレス11
と1対1に対応づけ、その対応付けをアドレス変換バッ
ファ4に登録するとともに、データ8を仮アドレス10に
あるものとしてキャッシュに収納することにより競合を
回避し、データの効率の良い収納、検索を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、高速デバイスから
キャッシュを介して記憶領域を有する低速デバイスにア
クセスする階層記憶システムに関し、特にキャッシュ上
のデータの効率的な収納および検索によりデータの参照
および更新処理を高速化したデバイスアクセス方法に関
するものである。
【0002】
【従来の技術】情報処理システムにおいては、高速デバ
イスが何らかの記憶領域を持つ低速デバイス上のデータ
を参照または更新する(以下デバイスアクセス、または
単にアクセスという)処理が頻繁に行われるため、この
デバイスアクセスに要する時間(以下アクセス時間とい
う)の短縮が重要な課題となっている。この課題の解決
策として、記憶構造を低速デバイスと高速な一時記憶装
置であるキャッシュの階層構造とし、低速デバイスに記
憶されるデータの中から、アクセス頻度の高いデータの
みを取り出してキャッシュに収納しておく階層記憶シス
テムが知られている。この階層記憶システムは、低速デ
バイスとキャッシュ上のデータの整合性の取り方によっ
て2つの種類に分類される。一つはキャッシュ上のデー
タが更新された直後に更新内容を低速デバイス上のデー
タに反映するライトスルー方式であり、もう一つは、キ
ャッシュ上のデータが更新された時点では更新されたと
いうことを記録するに止め、キャッシュ上のデータが無
効化される直前に更新内容を低速デバイス上のデータに
反映するライトバック方式である。
【0003】従来、階層記憶システムでは、高速デバイ
スはまずキャッシュを検索し、目的のデータを発見でき
た場合はそのデータを使用し、目的のデータが発見でき
なかった場合のみ低速デバイスにアクセスする。すなわ
ち、キャッシュ上に目的のデータを発見できる確率が高
いほど、平均メモリアクセス時間が短縮されるしくみに
なっている。この確率は一般にヒット率と呼ばれている
が、このヒット率を向上するためには、必要なデータの
みをキャッシュに効率よく収納することが必要となる。
【0004】一般にキャッシュは複数のラインからな
り、その各ラインに設けられたインデックスを用いて検
索を行うようになっている。このインデックスは、デー
タのアドレス(以下データアドレス)の一部であるイン
デックス部と対応しており、各データはデータアドレス
のインデックス部と同じインデックスをもつラインに収
納されるようになっている。このため従来のアクセス方
法では、インデックス部が等しいアドレスは競合し、同
時にキャッシュ上に収納することができないという問題
があった。各ラインに複数のアドレスを取り込めるよう
にすることにより、競合が発生する確率を低くすること
も可能ではあるが、ハードウェアが複雑になるため十分
な高速化は期待できない。
【0005】
【発明が解決しようとする課題】したがって、キャッシ
ュ上のデータの収納および検索を効率よく行うことによ
り、低速デバイスへの平均アクセス時間を短縮するデバ
イスアクセス方法の実現が要望されている。
【0006】本発明は上記課題に鑑みて、アドレスの変
換を行うことによりデータ収納時のアドレスの競合をな
くし、ハードウェアを複雑化することなくキャッシュの
利用率および検索効率を向上したデバイスアクセス方法
を提供することを目的とするものである。
【0007】
【課題を解決するための手段】この課題を解決するた
め、本発明によるデバイスアクセス方法は、データアド
レスが互いに競合するために同時にキャッシュに収納で
きない複数のデータに対し、予め確保したエリア上の、
競合せずに同時にキャッシュに収納できる仮アドレスを
割り当てて、そのデータを仮アドレスにあるものとして
キャッシュに収納することにより競合を回避するもので
ある。
【0008】すなわち本発明の方法は、高速デバイスか
らキャッシュを介して記憶領域を有する低速デバイスに
アクセスする階層記憶システムにおけるデバイスアクセ
ス方法において、前記低速デバイスの前記記憶領域上に
存在する複数のデータのサイズの合計以上の合計サイズ
を有する仮アドレス用エリアを前記記憶領域上に確保
し、該記憶領域上の各データ毎に、該データと同じサイ
ズのスペースを、前記仮アドレス用エリア上の、前記キ
ャッシュに互いに競合しないで同時に収納できる仮アド
レスに割り当て、前記仮アドレスを必要に応じて前記デ
ータアドレスに変換することにより前記仮アドレスによ
る前記記憶領域上のデータへのアクセスを可能にするよ
うに、前記各仮アドレスと該仮アドレスが割り当てられ
た前記記憶領域上のデータのデータアドレスとを1対1
に対応付けて、前記アドレス変換バッファに登録すると
ともに、前記キャッシュ上に前記記憶領域上の前記複数
のデータのうち全部もしくは一部のデータを前記仮アド
レスが示す位置に存在するデータとして記憶せしめ、こ
れにより、前記アドレス変換バッファおよび前記キャッ
シュにおいて、前記仮アドレスを使用して検索を行っ
て、前記記憶領域上のデータにアクセスすることを特徴
とするものである。
【0009】キャッシュを介してアクセスを行う高速デ
バイスと低速デバイスの関係としては、例えばCPUと
メモリ、CPUと入出力デバイス、メモリとハードディ
スク、メモリとCD−ROMなどが挙げられる。さらに
キャッシュからメモリへのアクセスを別のキャッシュ
(2次キャッシュ)を介して行う場合も考えられる。
【0010】本発明の仮アドレスは、キャッシュ収納時
の競合を防止するために、処理を行う間、仮に定義され
るアドレスであり、仮アドレスの示す位置に実際のデー
タを配置する必要はない。通常キャッシュには、データ
アドレスとデータが収納されるが、本発明では仮アドレ
スとデータが収納され、そのデータは仮アドレスに存在
するデータのように扱われる。すなわち実際に処理を行
う際は、データアドレスではなく仮アドレスを用いる。
【0011】アドレス変換バッファは、仮アドレスとデ
ータアドレスとの対応付けを登録する機能や、与えられ
た仮アドレスをデータアドレスに変換する変換機能など
を備えているものとし、さらに本発明の効果を十分に得
るためにはキャッシュと同程度またはそれ以上の速度を
有することが望ましい。
【0012】仮アドレス用エリアを確保する方法として
は、予め割り当てられる仮アドレスの範囲を規定してお
く方法、処理プログラムの中で所定の大きさの変数とし
て静的に定義する方法、またはプログラミング言語の機
能を利用して動的に確保する方法などがある。前述のよ
うにこのエリアには実際のデータは配置されないが、処
理の都合上各データと同じサイズ分のスペースを割り当
てておく必要がある。この際、エリアはまとまった一つ
のエリアである必然性はなく、キャッシュ収納時の競合
が発生しないようなアドレスが確保できれば、いくつか
にわけて確保してもよい。この場合は、エリアの合計サ
イズがデータの合計サイズより大きければよい。但し、
このエリアのサイズをキャッシュのサイズよりも大きく
とった場合は、対象とする全てのデータをキャッシュに
収納することは不可能であるため、本発明の効果は十分
には得られない。すなわちエリアの合計サイズはキャッ
シュのサイズと同等またはそれ以下であることが望まし
い。
【0013】アドレス変換バッファへのアドレスの対応
付けの登録は、ソフトウェアまたはハードウェアによっ
て行われる。タイミングとしては仮アドレス用エリア確
保より後で、データにアクセスする処理が行われるより
前であればいつでもよい。例えば、プログラムの中で仮
アドレス用エリアを確保した後に、各々のデータを仮ア
ドレスに対応付け、それぞれアドレス変換バッファが提
供するアドレス登録機能を利用して登録を行う。この場
合対応づけとはアドレスの対応付けであり、データのコ
ピーを行う必要はない。なお、登録すべき対応付けの数
に比べてアドレス変換バッファが小さい場合は、行う処
理を複数の処理単位に分割し、各処理単位毎にその処理
で使用するデータのアドレス対応付けのみを登録するこ
とによりアドレス変換バッファを使い分けることもでき
る。この際、新たな対応付けでは、現在使用中の仮アド
レスを再使用することになるため、キャッシュ上の仮ア
ドレスとデータを一旦無効にする必要がある。このよう
な場合、仮アドレスに対応するデータが現在キャッシュ
上に有るか、また有る場合それは低速デバイス上のデー
タと一致しているかといった情報を、アドレスの対応付
けとともにアドレス変換バッファに登録しておけば、キ
ャッシュを検索することなく登録済みの対応付けに対す
る処理を決定することができ、新たな対応付けの登録処
理を迅速に行うことができる。
【0014】さらに本発明では、所定の条件下で、登録
作業をより高速に行う方法を提供する。すなわち、登録
する所定数のデータアドレスが一定の増減値をもつ列を
なすとき、列の端のデータアドレスとそのデータアドレ
スに対応する仮アドレスとを、増減値とともにアドレス
変換バッファに登録すれば、端から2番目以降のデータ
アドレスの登録については、アドレス変換バッファが、
データアドレスを1つ前に登録されたデータアドレスを
基準として増減値分移動した位置のアドレスとみなし、
仮アドレスを1つ前に登録された仮アドレスを基準とし
て対応するデータアドレスが示すデータのサイズ分移動
した位置のアドレスとみなして登録を行うようにする。
これにより、登録作業が簡素化され、高速化が可能とな
る。
【0015】キャッシュ上に前記データの値を仮アドレ
スに存在するデータとして記憶せしめる方法としては、
実際に仮アドレスがアクセスされた時点で、アドレス変
換バッファによりデータアドレスを得てそのデータをア
クセスされた仮アドレスとともにキャッシュ上に記憶せ
しめてもよいが、例えば、アドレス変換バッファへのア
ドレス対応付けの登録が行われた時点で、実際にそのア
ドレスがアクセスされる以前に上記と同じ方法で記憶せ
しめてもよい。前者の場合、本発明の効果が得られるの
は2回目以降のアクセスとなるが、後者の場合は最初の
アクセスから効果が得られる。
【0016】アドレス変換バッファの検索方法として
は、仮アドレスの一部の桁の値をインデックスとみなし
(以下インデックス部という)、アドレス変換バッファ
をインデックス部の種類の数と同じ数のエリアに分割
し、各エリアに対してインデックスを割り当て、仮アド
レスのインデックス部と同じインデックスが割り当てら
れたエリアに、仮アドレスの、インデックス部以外の桁
の値を前記データアドレスとともに登録しておけば、検
索時には、仮アドレスのインデックス部により、仮アド
レスが登録されているエリアを識別し、次にインデック
ス部以外の桁の値を用いて、識別したエリア内のみの検
索を行うだけでよい。これは、検索の手順としてはキャ
ッシュ検索などに利用される検索手順と同じであるが、
検索の対象がアドレス変換バッファの場合、データを各
エリアに均等に配置することが可能であるため、データ
配置が無作為に行われた場合に比べ、本検索手順の効果
は大きくなる。
【0017】なおアドレス変換バッファの検索は、キャ
ッシュの検索と並列に行い、キャッシュ上に仮アドレス
が示すデータが存在しないことがわかった時点では、既
にそのデータのデータアドレスがわかっているようにす
る。これにより、キャッシュ検索がヒットした場合もミ
スした場合も、本発明を用いないアクセス方法と同等の
時間でアクセスすることができる。すなわち、 (平均アクセス時間)=(キャッシュヒット時のアクセ
ス時間)×(ヒット率)+(キャッシュミス時のアクセ
ス時間) ×(ミス率) とした場合、ヒット時、ミス時のアクセス時間は従来と
同等のまま、ヒット率のみ向上させることになり、結果
的に平均アクセス時間を短縮することが可能となる。
【0018】本発明によるデバイスアクセス方法は、必
ずしもアクセスする全てのデータに対して用いる必要は
なく、本発明を用いたいデータのみ、仮アドレスを割り
当ててデータアドレスとの登録付けを行えばよい。すな
わち、そのシステムの設計者が、行う処理や使用するデ
バイスの特性に合わせて本発明を使用するデータを決定
することができるため、不当に資源が消費されるといっ
たことがなく、無理のない高速化が実現できる。
【0019】また、キャッシュは従来通りライトスルー
方式で動作するもの、ライトバック方式で動作するもの
のいずれでも用いることができる。
【0020】
【発明の効果】本発明によるデバイスアクセス方法によ
れば、データアドレスが互いに競合するために同時にキ
ャッシュに収納できない複数のデータに対し、予め確保
したエリア上の、競合せずに同時にキャッシュに収納で
きる仮アドレスを割り当てて、そのデータを仮アドレス
にあるものとしてキャッシュに収納することによりキャ
ッシュ上のデータの収納および検索を効率よく行ってキ
ャッシュ検索のヒット率を高めることが可能となるの
で、低速デバイスへの平均アクセス時間を短縮すること
ができる。情報処理システムにおいては、容量、コスト
等の問題から処理速度の遅いデバイスを使わざるを得な
いことも多く、キャッシュを最大限に活用した高速デバ
イスアクセス方法の実用上の効果はきわめて大きい。
【0021】
【発明の実施の形態】以下、本発明によるデバイスアク
セス方法の実施の形態を図面にもとづいて説明する。
【0022】図1は、本発明によるデバイスアクセス方
法の全体の構成を示す図である。図1に示すように、本
実施の形態ではCPU1がキャッシュ2を介してメモり
3にアクセスする階層記憶システムに、2種のアドレス
の変換を行うアドレス変換バッファ4が、CPU1、キ
ャッシュ2およびメモリ3とデータ伝達可能に接続され
ている。本実施の形態では処理の高速化を図るために、
伝達手段はデータバス5とアドレスバス6に分け、アド
レス変換バッファはアドレスバス6に接続されている
が、データバス5とアドレスバス6を物理的に同一のバ
スとし、アドレス変換バッファをそのバスに接続しても
よい。
【0023】図2は図1に示したアドレス変換バッファ
4の作用を示すものである。本実施の形態では、メモリ
3上のデータ8のうち網掛けとなっているものについて
本発明によるデバイスアクセス方法が適用されている。
メモリ3上にはデータ8のうち網掛けとなっているもの
の合計サイズ分の仮アドレス用エリア7が確保されてい
る。仮アドレス用エリア7を確保する方法としては、予
め割り当てられる仮アドレスの範囲を規定しておく方
法、処理プログラムの中で所定の大きさの変数として静
的に定義する方法、またはプログラミング言語の機能を
利用して動的に確保する方法などがあり、本実施の形態
でも場合に応じてこれらの方法を使い分けているが、実
際にデータ8へのアクセスが行われる以前に仮アドレス
用エリア7が確保されていれば、いずれの方法でもよ
い。なお、この仮アドレス用エリア7は仮アドレスを定
義するためのものであり、スペース9にデータ8はコピ
ーされないが、プログラムの処理の都合上、例えばa[0]
とC[0], a[4]とC[1]はそれぞれサイズが等しくなるよう
に確保する必要がある。この際、C[0]のアドレスとC[1]
のアドレスはキャッシュ収納時の競合が発生しないよう
な関係にある。この場合a[0]の仮アドレスがC[0]のアド
レス、a[4]の仮アドレスがC[1]のアドレスとなる。同様
にC[2], C[3]のアドレスも割り当てられている。アドレ
ス変換バッファ4には、仮アドレス用エリアに割り当て
られた仮アドレス10と、実際のデータ8が存在する位置
を示すデータアドレス11との対応付けが登録される。す
なわち、アドレス変換バッファ4は、このようなアドレ
ス対応付け登録機能、および与えられた仮アドレスから
対応するデータアドレスを導き出す変換機能を持つ。
【0024】以下、このように構成されたアドレス変換
バッファを備えた階層記憶システムにおける本発明のデ
バイスアクセス方法の各種実施の形態を説明する。
【0025】図3は、本発明の一実施の形態におけるキ
ャッシュの構造を示す図である。図3に示すキャッシュ
2は2つのライン12からなり、各ライン毎にvalid bit
13とdirty bit 14を持つ。valid bit 13はそのラインの
データが有効か否かを示すフラグであり、dirty bit 14
は、キャッシュがライトバック方式で動作する場合に存
在するもので、そのラインのデータがCPUによって更
新されているか否かを示すフラグである。データ8はラ
イン単位で扱われるため通常メモリ上で隣接している複
数のデータが一括して収納される。キャッシュにデータ
を収納する場合には、そのデータを検索するためのアド
レスが一緒に収納される。このアドレスは通常はデータ
アドレスであるが、本発明では、仮アドレス10とデータ
アドレス11のいずれかが収納される。アドレスは図3に
示すように、通常Tag 15、Index16、Offset 17 の3つ
の部分に分けて解釈される。Index 16はライン12に対応
する。例えば、図3のようにラインが2つしかないキャ
ッシュの場合、Index 16は1ビットあればよく、1ビッ
トで表せる2種類の値、すなわち0と1がそれぞれキャ
ッシュのラインに対応する。Offset 17 は一括してライ
ンに取り込まれた複数のデータ列の中のどの位置にその
データが存在するかを示し、Tag 15はアドレスのそれ以
外の部分とみなすことができ、アドレスとしてキャッシ
ュに収納されるのはこのTag 15の部分である。このよう
なアドレスの解釈のもとで、キャッシュの検索は以下の
手順で行われる。すなわち、検索したいアドレスのInde
x 16によりラインを検索し、Tag 15の比較によりそのデ
ータがキャッシュ上に存在するか否かを判断し、さらに
そのデータが有効かどうかをvalid bit 13によって判断
し、Offset 17 によってデータをみつける。なお、本実
施の形態では、あるアドレスが与えられた場合、そのア
ドレスについてキャッシュ検索と、アドレス変換バッフ
ァ検索が同時に行われるため、図3には、アドレス変換
バッファの構造についても概要を示す。この構造によれ
ば、あるアドレスが与えられた場合、アドレス変換バッ
ファの検索結果がヒットの場合はデータアドレス11、ミ
スの場合は与えられたそのままのアドレスがメモリアク
セスアドレス18とみなされる。
【0026】このような構造を持つキャッシュおよびア
ドレス変換バッファを用いた場合の本発明の効果を図4
に示す。ここでは、a[0]からa[7]までのアドレスが図4
に示す位置に存在し、さらにその中の網掛けのデータに
ついて仮アドレスを図4のように割り当てられている。
仮アドレスを用いない従来方式でデータa[0]とa[4]が収
納される場合、2つのデータのアドレスはインデックス
が同じく0のため、同時にはキャッシュに収納されな
い。よって、a[0]収納後、a[4]へのアクセスが必要にな
るとa[0]はキャッシュから追い出され、a[4]がキャッシ
ュに収納され、再びa[0]がアクセスされるとa[4]が追い
出され、a[0]がキャッシュ上に収納されることになる。
これに対し、本発明による方式では、データアドレスを
仮アドレスに置き換えることにより、a[0]とa[4]のアド
レスのインデックスが異なるものとなるため、2つのデ
ータを同時にキャッシュに収納することが可能となる。
【0027】次に、上記図3により説明したキャッシュ
と異なり、valid bit 13とdirty bit 14をライン毎では
なくデータ毎に持つキャッシュの構造の例を図5に示
す。この場合、データの移動や無効化はライン毎ではな
く、データ毎に行われる。このような構造を持つキャッ
シュを用いた場合、本発明では図6に示すような効果が
得られる。図6では、図のように配置されたデータのう
ち網掛けとなっているa[0], a[4], b[0][0], b[1][0]が
キャッシュに収納されている。図4の場合と同様、4つ
のデータのアドレスはインデックスが等しいため、従来
方式では、キャッシュ上には一度に一つのデータしか収
納されない。ここで図4の場合は、データの無効化や移
動がライン毎にしか行われないため、本発明を用いても
同時に2つのデータしか収納することができないが、図
5の構造を持つキャッシュの場合、データの無効化や移
動がデータ毎に行えるため、一度に4つのデータを収納
することができ、本発明の効果をさらに高めることがで
きる。
【0028】以下、より効果の高い図5の構造を持つキ
ャッシュを用いた実施の形態を中心に説明する。上記の
ように、仮アドレスを用いたアクセスを行うためには実
際のアクセスが生じるより前に、アドレス変換バッファ
にアドレスの対応付けを登録しておく必要がある。図
7、図8はこのアドレス変換バッファへのアドレス対応
付け登録処理の流れを示すものである。このうち図7は
キャッシュがライトスルー方式で動作するものの場合で
あり、図8はライトバック方式で動作するものの場合を
示す。いずれの場合も、既に登録されているエントリに
対して所定の処理を施してから登録を行わなければなら
ない。
【0029】図7、図8いずれの場合も、始めに登録し
たい仮アドレスを使用してアドレス変換バッファにアク
セスする。これは、同じ仮アドレスが既に登録済みか否
かを確認するためであり、アドレス変換バッファの検索
の結果、同じ仮アドレスが見つかった場合は、キャッシ
ュにその仮アドレスが収納されているかどうかを確認
し、収納されている場合はそのデータを無効化すること
により、その仮アドレスを使用可能にする。その仮アド
レスが登録されていなかった場合は、アドレス変換バッ
ファのエントリをリプレースするという形で登録を行う
が、この際、リプレースするエントリが使用されていな
いエントリ、すなわち無効なエントリであればそのまま
登録を行うことができる。全てのエントリが有効で空き
がない場合は、その中の一つを追い出す形で登録を行わ
なければならない。この場合、追い出すエントリについ
ては、キャッシュにそのアドレスが収納されているかど
うかを確認し、収納されている場合はそのデータを無効
化しなければならない。
【0030】図7と図8の処理の違いは、図8のライト
バックキャッシュの場合はキャッシュに収納されている
データを無効化する前にdirty bit を確認し、dirty bi
t が1だった場合はキャッシュデータをメモリに反映し
なければならないという点である。なお、上記の処理が
図3の構造を持つキャッシュを用いた実施の形態で行わ
れる際、ライトスルー方式のキャッシュの場合の処理
は、図7と同じになるが、ライトバック方式のキャッシ
ュの場合の処理は、図9に示す処理となる。
【0031】次に、アドレス変換バッファへの登録が完
了した状態で、データへのアクセスが行われる場合につ
いて説明する。
【0032】図10から図13は、図5のキャッシュを用い
た場合のアクセス処理を示す。この際、図10から図12の
処理図には、アドレス変換バッファへの検索に次いでキ
ャッシュの検索が行われているように示されているが、
実際のハードウェアの処理としては図3、図5に示した
ように、検索の対象となるアドレスがアドレス変換バッ
ファとキャッシュに同時に渡されるため、検索は並列に
行われる。
【0033】はじめに、図10を用いてデータの読込処理
について説明する。本発明のデバイスアクセス方法を使
用してアクセスを行うデータに関しては、必ずアドレス
変換バッファに登録されていることが前提となるため、
アドレス変換バッファの検索を行うことにより、検索を
行うアドレスが仮アドレスか、あるいはデータアドレス
かを識別することができる。すなわち、アドレス変換バ
ッファの検索の結果見つからなかったアドレスは、仮ア
ドレスではなくデータアドレスであり、通常のキャッシ
ュと同じ動作で処理すればよいことになる。アドレス変
換バッファの検索結果がヒットで、キャッシュの検索結
果がヒットとなる場合には、最も高速なアクセスが実現
する。アドレス変換バッファの検索結果はヒットした
が、キャッシュ検索はミスした場合については、そのア
ドレスは仮アドレスであるといえるので、アドレス変換
バッファの変換機能によりその仮アドレスに対応するデ
ータアドレスを得て、そのデータアドレスで再度キャッ
シュへのアクセスを試みる。データアドレスによる検索
結果もミスとなった場合は、メモリにアクセスしてデー
タを読み出す。データアドレスによる検索結果がヒット
となった場合については2通りの処理がある。図10から
図13に示した実施の形態はキャッシュ上に、同じデータ
が仮アドレスにあるデータとして収納されると同時に、
従来通りデータアドレスにあるデータとして収納される
ことを許さない場合の処理である。この場合、仮アドレ
スでキャッシュを検索してミスとなったものが、データ
アドレスで検索してヒットとなることは、明らかに2通
りの収納を許していることになるので、データアドレス
で収納されているデータを無効化する(19)。しかし、
2通りの収納を許す場合は、処理19においてキャッシュ
データの無効化は行わない。
【0034】次に図11を用いてライトスルー方式で動作
するキャッシュを用いた場合のデータの書込み処理につ
いて説明する。読込処理と同様、アドレス変換バッファ
の検索結果がミスの場合は、データアドレスとみなして
通常のキャッシュと同様の処理を行う。またアドレス変
換バッファの検索結果、キャッシュの検索結果ともにヒ
ットの場合に最も高速なアクセスが実現する。この場
合、まずキャッシュのデータを更新し、さらにアドレス
変換バッファから読み出したデータアドレスを使用して
メモリのデータを更新する。アドレス変換バッファの検
索結果はヒットしたが、キャッシュ検索はミスした場合
についてもデータ読込みの場合と同様、そのアドレスは
仮アドレスであるといえるので、アドレス変換バッファ
の変換機能によりその仮アドレスに対応するデータアド
レスを得て、そのデータアドレスで再度キャッシュへの
アクセスを試みる。その結果ヒットした場合はキャッシ
ュのデータを更新した後メモリのデータを更新し、ミス
した場合は直接メモリのデータを更新する。
【0035】次に図12を用いてライトバック方式で動作
するキャッシュを用いた場合のデータの書込処理につい
て説明する。図11の処理に、ライトバック方式の動作に
必要なフラグ処理が加わる。なお、同じデータが仮アド
レスにあるデータとして収納されると同時に、従来通り
データアドレスにあるデータとして収納されることを許
す場合は処理20が異なる。すなわち2通りの収納を許す
場合は、キャッシュデータを無効化せずに、更新しても
よい。
【0036】なお、図13は図10,図12の処理21に相当す
るもので、ライトバック方式で動作するキャッシュにお
いて、キャッシュに新たなデータを収納する際のリプレ
ース動作を示すものである。すなわち、リプレースしよ
うとするキャッシュデータがメモリに反映すべきものか
どうかを判断するためにdirty bit を読みとる。従来方
式と異なる点は、扱うアドレスが仮アドレスか否かを判
断するためにアドレス変換バッファの検索を行い、仮ア
ドレスの場合はバッファの変換機能によりデータアドレ
スを得てメモリへの反映を行い、データアドレスの場合
にはそのアドレスを用いてメモリへの反映を行うという
点である。
【0037】以上が本実施の形態におけるデバイスアク
セス方法の主な流れであるが、次に上記アクセス方法の
中で行われている各種処理について、さらに効果的な方
法を用いた例について説明する。
【0038】はじめに、アドレス変換バッファの検索方
法について図14を用いて説明する。アドレス変換バッフ
ァの検索方法としては、登録されている仮アドレスを一
つ一つ検索しても良いが、図14に示す方法では、アドレ
スのビットを上位と下位の2つに分け、下位のビットを
バッファのラインの選択に使い、そのライン内のタグと
そのアドレスのタグとを比較している。これにより、比
較を行うためのハードウェアが単純化されるだけでなく
処理速度も高速化する。この方法は、検索方法としては
従来からキャッシュなどに用いられている方法である
が、アドレス変換バッファの検索に用いた場合、アドレ
スが競合が発生しないように割り当てられたものである
ことから、より大きな効果が得られる。
【0039】次にアドレス対応付けの登録方法について
説明する。本実施の形態では、一定条件を満たしたアド
レスの対応付けの登録をより高速に行うために、図15、
図16に示す方式を用いることができる。すなわち、登録
するデータアドレスが、一定の増減値を持つ列をなす場
合に、図15のアドレス変換バッファ4に、仮アドレスと
データアドレスの他に、データアドレスの増減値を登録
する。一定の増減値を持たないデータアドレスは増減値
を0とすることにより同様に扱うことができる。これに
より、最初のアドレス対応付けのみを増減値とともに登
録すれば、それ以降の登録については、アドレスをその
増減値を元に割り出すことにより、一つ一つ登録しなく
ても登録を行うことができるようになる。図16に示すよ
うに、アドレス変換バッファの検索結果がヒットで、登
録されている増減値(インクリメント)が0以外の場合
に、次のデータの仮アドレスを、アクセス中の仮アドレ
スにデータサイズを加えたものとし、次のデータのデー
タアドレスをアクセス中のデータのデータアドレスにイ
ンクリメントを加えたものとし、次のデータのインクリ
メントをアクセス中のデータのインクリメントとして次
のデータの登録を行う。このような登録方法を用いた場
合の効果を図17、図18にの効果を示す。図17、図18はC
言語で書かれたプログラムの一例であり、map は一つの
対応付けを登録する命令である。本登録方法を用いない
場合(図17)、全ての対応付けについてmap 命令を発行
することにより登録を行わなければならないが、本登録
方法を用いた場合、図18に示すように最初の1つの対応
付けについてのみmap 命令を発行すればよい。
【0040】次に、本発明の効果をさらに高めるための
自動プリフェッチについて説明する。ここでプリフェッ
チとは、データを前もってキャッシュ上に収納しておく
ことをいう。通常キャッシュ上には最初からデータが収
納されているわけではなく、最初にデータがアクセスさ
れた際にそのデータがキャッシュ上に収納される。すな
わち、キャッシュにヒットする可能性があるのは2回目
以降のアクセスであり、1回目については、キャッシュ
の効果は期待できない。一旦キャッシュに収納されて、
他のデータ収納のために追い出された場合も同様で、次
にアクセスされるときにはキャッシュの効果は期待でき
ない。これが、図10、図11、図12で示した例の中の、ア
ドレス変換バッファの検索結果がヒットであったのにも
かかわらず、キャッシュの検索結果がミスとなる場合に
相当する。このケースが発生する確率を減らし、キャッ
シュヒット率を上げるために、本実施の形態では、図19
に示すように新たにプリフェッチコントロールユニット
を設け、アドレス変換バッファにアドレスの対応付けが
登録されたら、その仮アドレスへのアクセスを待たず
に、登録されたデータアドレスを用いてデータにアクセ
スし、登録された仮アドレスとともにキャッシュに収納
するようにする。この際、プリフェッチ処理完了前にデ
ータアクセスが行われないようにするため、図20の処理
図に示すようにプリフェッチビットを設け、キャッシュ
アクセス前にプリフェッチビットを確認し、もし0でな
ければプリフェッチ処理実行中とみなし、0になるまで
待つようにする。図21、図22、図23はプリフェッチ処理
を追加した場合のデータの読込処理、書込処理である。
仮アドレスによるキャッシュ検索結果がミスの場合に、
すぐにデータアドレスによる再検索を行う代わりにプリ
フェッチビットを確認し、もしプリフェッチ処理が行わ
れている最中、すなわちプリフェッチビットが1であれ
ば、0になるまで待って仮アドレスによる再検索を行
う。図22、図23も同様に、それぞれ図11、図12にプリフ
ェッチビット判定処理22を追加している。
【0041】次にアドレス対応付けとともにキャッシュ
情報を登録するアドレス変換バッファについて説明す
る。図24と図31は、アドレス変換バッファにアドレスの
対応付けとともに、そのアドレスに関係のあるキャッシ
ュデータが有効か、あるいは更新されているかといった
付加情報も登録できるアドレス変換バッファである。図
24と図31の異なる点は、仮アドレスにあるものとしてキ
ャッシュに収納したデータを、同時に本来のデータアド
レスにあるデータとしても収納することに関し、図24の
場合はこれを許さず、図31の場合はこれを許すという点
である。図31では、これを許したデータアクセスを実現
するため、アドレス変換バッファへの登録情報の一つと
して、データアドレスによりキャッシュに収納されてい
るデータが有効かどうかを知るためのデータアドレスva
lid bit を持つ。このようなアドレス変換バッファを用
いることにより、キャッシュにアクセスすることなくキ
ャッシュ内のデータに関する情報が得られるので、無駄
な検索処理がなくなる。またこの付加情報として、vali
d bit を追加したことにより、キャッシュが図3に示し
た構造を持つものであっても、キャッシュへの書込みや
メモリへの反映がデータ毎に行えるので、キャッシュの
利用率を著しく高めることができる。
【0042】以下、このようなアドレス変換バッファを
用いた場合のアクセス方法について説明する。図25から
図30は図24のアドレス変換バッファの場合のアクセス処
理の流れで、図25はライトスルー方式キャッシュの場合
のアドレス対応付け登録処理、図26はライトバック方式
キャッシュの場合のアドレス対応付け登録処理、図27は
データ読込処理、図28はライトスルー方式キャッシュの
場合の書込処理、図29はライトバック方式キャッシュの
場合の書込処理、図30はキャッシュデータリプレース処
理を示す。キャッシュ情報をアドレス変換バッファに登
録しない場合、例えば図7の対応付け登録処理では、仮
アドレスによるアドレス変換バッファの検索結果がヒッ
トである場合にキャッシュの検索を行って、無効化すべ
きキャッシュデータがあるかどうかを調べている。これ
に対し、図25のアドレス対応付け登録処理では処理23に
示すようにアドレス変換バッファ内の情報を見るだけで
無効化すべきキャッシュデータがあるかどうかがわか
る。同様に、図32から図35は図31のアドレス変換バッフ
ァの場合のアクセス処理の流れで、図32はライトバック
方式キャッシュの場合のアドレス対応付け登録処理、図
33はデータ読込処理、図34はライトスルー方式キャッシ
ュの場合の書込処理、図35はライトバック方式キャッシ
ュの場合の書込処理を示す。これらは、図25から図30の
処理にさらにデータアドレスのvalid bit の判定処理を
加えたものである。
【0043】このように、各処理について上記のような
さらに効果的な方法を各種用いることにより、さらに高
速なメモリアクセスを実現することができる。
【図面の簡単な説明】
【図1】本発明によるデバイスアクセス方法の全体の構
成を示す図
【図2】本発明に使用されるアドレス変換バッファの一
例の作用を示す図
【図3】本発明に使用されるキャッシュの一例の構造を
示す図
【図4】図3のキャッシュを用いた場合の本発明の効果
を示す図
【図5】本発明に使用されるキャッシュの他の例の構造
を示す図
【図6】図5のキャッシュを用いた場合の本発明の効果
を示す図
【図7】図5のキャッシュを用いた場合のアドレス変換
バッファへのアドレス対応付け登録処理(ライトスルー
方式キャッシュの場合)を示すフローチャート(以下、
単に「...処理」という)
【図8】図5のキャッシュを用いた場合のアドレス変換
バッファへのアドレス対応付け登録処理(ライトバック
方式キャッシュの場合)
【図9】図3のキャッシュを用いた場合のアドレス変換
バッファへのアドレス対応付け登録処理(ライトバック
方式キャッシュの場合)
【図10】図5のキャッシュを用いた場合のデータの読
込処理
【図11】図5のキャッシュを用いた場合のデータの書
込処理(ライトスルー方式の場合)
【図12】図5のキャッシュを用いた場合のデータの書
込処理(ライトバック方式の場合)
【図13】図5のキャッシュを用いた場合のキャッシュ
データリプレース処理
【図14】本発明に使用されるアドレス変換バッファの
検索方法の説明図
【図15】本発明に使用されるアドレス変換バッファの
他の例の作用を示す図(アドレスが一定間隔の場合)
【図16】図15のアドレス変換バッファへのアドレス
対応付け処理
【図17】図2のアドレス変換バッファのアドレス対応
付け処理
【図18】図15のアドレス変換バッファのアドレス対
応付け処理
【図19】プリフェッチ処理を行う場合のアドレス変換
バッファの一例の作用を示す説明図
【図20】自動プリフェッチ処理
【図21】プリフェッチ処理を行う場合の読込処理
【図22】プリフェッチ処理を行う場合の書込処理(ラ
イトスルー方式の場合)
【図23】プリフェッチ処理を行う場合の書込処理(ラ
イトバック方式の場合)
【図24】アドレス変換バッファの他の例の作用を示す
説明図(キャッシュ情報を持つ場合)
【図25】図24のアドレス変換バッファを使用した場
合のアドレス対応付け登録処理(ライトスルー方式キャ
ッシュの場合)
【図26】図24のアドレス変換バッファを使用した場
合のアドレス対応付け登録処理(ライトバック方式キャ
ッシュの場合)
【図27】図24のアドレス変換バッファを用いた場合
のデータの読込処理
【図28】図24のアドレス変換バッファを用いた場合
のデータの書込処理(ライトスルー方式の場合)
【図29】図24のアドレス変換バッファを用いた場合
のデータの書込処理(ライトバック方式の場合)
【図30】図24のアドレス変換バッファを用いた場合
のキャッシュデータリプレース処理
【図31】本発明に使用されるアドレス変換バッファの
さらに他の例の作用を示す図(キャッシュ情報を持つ場
合)
【図32】図31のアドレス変換バッファを使用した場
合のアドレス対応付け登録処理(ライトバック方式キャ
ッシュの場合)
【図33】図31のアドレス変換バッファを使用した場
合のデータの読込処理
【図34】図31のアドレス変換バッファを使用した場
合のデータの書込処理(ライトスルー方式の場合)
【図35】図31のアドレス変換バッファを使用した場
合のデータの書込処理(ライトバック方式の場合)
【符号の説明】
1 CPU 2 キャッシュ 3 メモリ 4 アドレス変換バッファ 5 データバス 6 アドレスバス 7 仮アドレス用エリア 8 データ 9 仮アドレスに割り当てられたスペース 10 仮アドレス 11 データアドレス 12 キャッシュライン 13 valid bit 14 dirty bit 15 Tag 16 Index 17 Offset 18 メモリアクセスアドレス 19 データ読込み時のキャッシュデータ無効化処理 20 データ書込み時のキャッシュデータ無効化処理 21 キャッシュデータリプレース処理 22 プリフェッチビット判定処理 23 キャッシュ情報による判定処理

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 高速デバイスからキャッシュを介して記
    憶領域を有する低速デバイスにアクセスする階層記憶シ
    ステムにおけるデバイスアクセス方法において、 2種のアドレス間の変換を行うアドレス変換バッファ
    を、前記高速デバイス、前記低速デバイスおよび前記キ
    ャッシュにデータ伝達可能に接続し、 前記低速デバイスの前記記憶領域上に存在する複数のデ
    ータのサイズの合計以上の合計サイズを有する仮アドレ
    ス用エリアを前記記憶領域上に確保し、 該記憶領域上の各データ毎に、該データと同じサイズの
    スペースを、前記仮アドレス用エリア上の、前記キャッ
    シュに互いに競合しないで同時に収納できる仮アドレス
    に割り当て、 前記仮アドレスを必要に応じて前記データアドレスに変
    換することにより前記仮アドレスによる前記記憶領域上
    のデータへのアクセスを可能にするように、前記各仮ア
    ドレスと該仮アドレスが割り当てられた前記記憶領域上
    のデータのデータアドレスとを1対1に対応付けて、前
    記アドレス変換バッファに登録するとともに、 前記キャッシュ上に前記記憶領域上の前記複数のデータ
    のうち全部もしくは一部のデータを前記仮アドレスが示
    す位置に存在するデータとして記憶せしめ、 これにより、前記アドレス変換バッファおよび前記キャ
    ッシュにおいて、前記仮アドレスを使用して検索を行っ
    て、前記記憶領域上のデータにアクセスすることを特徴
    とするデバイスアクセス方法。
  2. 【請求項2】 前記階層記憶システムの前記高速デバイ
    スがCPUであり、前記低速デバイスがメモリであるこ
    とを特徴とする請求項1記載のデバイスアクセス方法。
  3. 【請求項3】 前記アドレス変換バッファにおける前記
    仮アドレスを使用した検索を、 前記仮アドレスの一部の桁の値を識別子とみなし、 前記アドレス変換バッファを前記識別子の種類の数と同
    じ数のエリアに分割し、 前記各エリアに対して前記識別子を割り当て、 前記仮アドレスの識別子と同じ識別子が割り当てられた
    エリアに、前記仮アドレスの、前記識別子として用いた
    桁以外の桁の値を前記データアドレスとともに登録し、 検索時に、 前記仮アドレスの前記識別子により、前記仮アドレスが
    登録されているエリアを識別し、 次に前記識別子として用いた桁以外の桁の値を用いて、
    前記識別したエリア内のみの検索を行うことにより行う
    ことを特徴とする請求項1または2記載のデバイスアク
    セス方法。
  4. 【請求項4】 前記アドレス変換バッファへの前記対応
    付けの登録を、 登録する所定数のデータアドレスが一定の増減値をもつ
    列をなすとき、 前記列の端のデータアドレスと該データアドレスに対応
    する前記仮アドレスとを、前記増減値とともに前記アド
    レス変換バッファに登録し、 前記アドレス変換バッファは、前記端から2番目以降の
    前記データアドレスの登録に際し、 前記データアドレスを1つ前に登録されたデータアドレ
    スを基準として前記増減値分移動した位置のアドレスと
    みなし、 前記仮アドレスを1つ前に登録された仮アドレスを基準
    として対応する前記データアドレスが示すデータのサイ
    ズ分移動した位置のアドレスとみなすことにより行うこ
    とを特徴とする請求項1から3のいずれか1項記載のデ
    バイスアクセス方法。
  5. 【請求項5】 前記アドレス変換バッファに前記対応付
    けが登録された後、前記高速デバイスが前記アドレス変
    換バッファおよび前記キャッシュに最初にアクセスする
    より前に、 前記対応付けをされたデータアドレスが示す位置に存在
    するデータを、前記仮アドレスが示す位置に存在するデ
    ータとして前記キャッシュ上に記憶せしめることを特徴
    とする請求項1から4のいずれか1項記載のデバイスア
    クセス方法。
  6. 【請求項6】 前記アドレス変換バッファに、前記キャ
    ッシュ上のデータに関する情報を保存することを特徴と
    する請求項1から5いずれか1項記載のデバイスアクセ
    ス方法。
  7. 【請求項7】 前記キャッシュが、該キャッシュ上のデ
    ータが前記高速デバイスによって更新された際に、更新
    内容を直ちに前記記憶領域上のデータに反映するライト
    スルー方式で動作するものであることを特徴とする請求
    項1から6のいずれか1項記載のデバイスアクセス方
    法。
  8. 【請求項8】 前記キャッシュが、該キャッシュ上のデ
    ータが前記高速デバイスによって更新された際に、前記
    キャッシュ上に前記更新が行われたことを記録し、前記
    キャッシュ上のデータが無効化される前に、更新内容を
    前記記憶領域上のデータに反映するライトバック方式で
    動作するものであることを特徴とする請求項1から6の
    いずれか1項記載のデバイスアクセス方法。
JP25031395A 1995-09-28 1995-09-28 階層記憶システムにおけるデバイスアクセス方法 Expired - Fee Related JP3709586B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25031395A JP3709586B2 (ja) 1995-09-28 1995-09-28 階層記憶システムにおけるデバイスアクセス方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25031395A JP3709586B2 (ja) 1995-09-28 1995-09-28 階層記憶システムにおけるデバイスアクセス方法

Publications (2)

Publication Number Publication Date
JPH0991199A true JPH0991199A (ja) 1997-04-04
JP3709586B2 JP3709586B2 (ja) 2005-10-26

Family

ID=17206057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25031395A Expired - Fee Related JP3709586B2 (ja) 1995-09-28 1995-09-28 階層記憶システムにおけるデバイスアクセス方法

Country Status (1)

Country Link
JP (1) JP3709586B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128684A (en) * 1997-06-30 2000-10-03 Nec Corporation Bus bridge
WO2009110446A1 (ja) * 2008-03-04 2009-09-11 日本電気株式会社 メモリマッピング方法、メモリシステム
JP5293611B2 (ja) * 2007-12-12 2013-09-18 日本電気株式会社 メモリ再配置システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128684A (en) * 1997-06-30 2000-10-03 Nec Corporation Bus bridge
JP5293611B2 (ja) * 2007-12-12 2013-09-18 日本電気株式会社 メモリ再配置システム
WO2009110446A1 (ja) * 2008-03-04 2009-09-11 日本電気株式会社 メモリマッピング方法、メモリシステム
JP5293974B2 (ja) * 2008-03-04 2013-09-18 日本電気株式会社 メモリマッピング方法、メモリシステム

Also Published As

Publication number Publication date
JP3709586B2 (ja) 2005-10-26

Similar Documents

Publication Publication Date Title
US5353426A (en) Cache miss buffer adapted to satisfy read requests to portions of a cache fill in progress without waiting for the cache fill to complete
JP2554449B2 (ja) キャッシュ・メモリを有するデータ処理システム
US6647466B2 (en) Method and apparatus for adaptively bypassing one or more levels of a cache hierarchy
US5226133A (en) Two-level translation look-aside buffer using partial addresses for enhanced speed
US5689679A (en) Memory system and method for selective multi-level caching using a cache level code
US6023747A (en) Method and system for handling conflicts between cache operation requests in a data processing system
US6578111B1 (en) Cache memory system and method for managing streaming-data
EP0780769A1 (en) Hybrid numa coma caching system and methods for selecting between the caching modes
US20040024971A1 (en) Method and apparatus for write cache flush and fill mechanisms
US10083126B2 (en) Apparatus and method for avoiding conflicting entries in a storage structure
JP7340326B2 (ja) メンテナンス動作の実行
US8621152B1 (en) Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access
JP2000250812A (ja) メモリ・キャッシュ・システムおよびその管理方法
JPH09190382A (ja) コンピュータメモリシステムの競合キャッシュ
JPH06243039A (ja) キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法
JPH08272682A (ja) ロード・バッファを備えたロード/ストア・ユニット内にて切り離されたタグ及びデータ・アレイへのアクセス方法及びそのアレイを有する装置
US5809526A (en) Data processing system and method for selective invalidation of outdated lines in a second level memory in response to a memory request initiated by a store operation
US6959363B2 (en) Cache memory operation
KR100710922B1 (ko) 캐시 관리 방법
US7949833B1 (en) Transparent level 2 cache controller
US5781922A (en) Page boundary caches
US6598124B1 (en) System and method for identifying streaming-data
US6574698B1 (en) Method and system for accessing a cache memory within a data processing system
JP3709586B2 (ja) 階層記憶システムにおけるデバイスアクセス方法
WO2002027498A2 (en) System and method for identifying and managing streaming-data

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050531

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050801

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees