JP5565864B2 - Cache memory control apparatus and method - Google Patents
Cache memory control apparatus and method Download PDFInfo
- Publication number
- JP5565864B2 JP5565864B2 JP2010200982A JP2010200982A JP5565864B2 JP 5565864 B2 JP5565864 B2 JP 5565864B2 JP 2010200982 A JP2010200982 A JP 2010200982A JP 2010200982 A JP2010200982 A JP 2010200982A JP 5565864 B2 JP5565864 B2 JP 5565864B2
- Authority
- JP
- Japan
- Prior art keywords
- cache memory
- way
- data
- tag
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 375
- 238000000034 method Methods 0.000 title claims description 15
- 238000013500 data storage Methods 0.000 claims description 3
- 230000000630 rising effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 7
- 230000000052 comparative effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Description
本発明は、キャッシュ技術に関し、特に、キャッシュメモリを制御する装置と方法に関する。 The present invention relates to cache technology, and more particularly to an apparatus and method for controlling a cache memory.
キャッシュメモリは、CPU(Central Processing Unit:中央処理装置)で高い頻度で使用されるデータを蓄積しておくことで、CPUからメインメモリへのアクセス回数を減らし高速化を図るために用いられる高速メモリである。キャッシュメモリは、通常、SRAM(Static Random Access Memory:スタティックランダムアクセスメモリ)からなり、メインメモリを構成するDRAM(Dynamic Random Access Memory:ダイナミックランダムアクセスメモリ)よりも高速である(アクセス時間が短い)。キャッシュメモリ制御装置は、CPUからキャッシュメモリへのアクセスを制御する。 The cache memory is a high-speed memory that is used to reduce the number of accesses from the CPU to the main memory and to increase the speed by accumulating data that is frequently used in a CPU (Central Processing Unit). It is. The cache memory is usually composed of SRAM (Static Random Access Memory) and is faster (shorter access time) than DRAM (Dynamic Random Access Memory) constituting the main memory. The cache memory control device controls access from the CPU to the cache memory.
CPUからキャッシュメモリへのアクセスを高速化するための手法の一つとして、キャッシュメモリ制御装置とキャッシュメモリ間のリード/ライト処理を駆動するクロックの周波数を高くする手法がある。 One technique for speeding up access from the CPU to the cache memory is to increase the frequency of the clock that drives the read / write processing between the cache memory control device and the cache memory.
図6は、キャッシュメモリ制御装置とキャッシュメモリの典型的な接続構成の一例を示す図である。なお、特に制限されるものでないが、図6において、キャッシュメモリ制御装置10’は、CPUに内蔵されているものとする。各キャッシュメモリは、クロック信号で駆動されるSSRAM(Synchronous SRAM:クロック同期型SRAM)で構成されている。4つのデータ・キャッシュメモリ20Aはデータを格納する。タグ・キャッシュメモリ20Bは、タグ(アドレスの予め定められた所定のビットからMSB(Most Significant Bit)側の上位ビット)を格納する。
FIG. 6 is a diagram illustrating an example of a typical connection configuration between the cache memory control device and the cache memory. Although not particularly limited, in FIG. 6, it is assumed that the cache memory control device 10 'is built in the CPU. Each cache memory is composed of an SSRAM (Synchronous SRAM) driven by a clock signal. The four
キャッシュメモリ制御装置10’は、4つのデータ・キャッシュメモリ20Aに、クロック1、アドレス1、データウエイの各信号を共通に供給し、4つのデータ・キャッシュメモリ20Aとの間でデータのパラレル入力/パラレル出力を行う。
The cache
キャッシュメモリ制御装置10’は、タグ・キャッシュメモリ20Bに対して、データ・キャッシュメモリ20Aと共通のクロック1、アドレス1を供給し、タグウエイを供給し、タグの入出力を行う。
The cache memory control device 10 'supplies the
図6の構成の場合、タグ・キャッシュメモリ20Bに格納されるタグのビット幅に対して、データの入出力単位のビット幅が大きいため(例えば4倍)、1つのタグ・キャッシュメモリ20Bに対して、4つのデータ・キャッシュメモリ20Aが並置されている。特に制限されないが、例えば、タグ・キャッシュメモリ20Bが、CPUからの32ビットのアドレス信号のうちの16から31ビットのビットフィールドをタグとして格納する場合、キャッシュメモリ制御装置10’は、4つのデータ・キャッシュメモリ20Aとの間で、4×16ビット=64ビット幅のデータを単位として入出力を行う。したがって、データのキャッシュラインサイズが128ビットの場合、キャッシュ制御装置10’は、4つのデータ・キャッシュメモリ20Aとの間で、4×16ビット=64ビット幅のデータのパラレル入出力を、時分割で、2回行うことで、128ビット幅のデータを取得する。
In the case of the configuration of FIG. 6, since the bit width of the data input / output unit is larger than the bit width of the tag stored in the
なお、図6の構成は、n(nは例えば2、4、8等の整数)ウエイ・セット・アソシエイティブ方式とされる。nウエイ・セット・アソシエイティブ方式のキャッシュメモリは、各セットあたり、nウエイ(ウエイ0〜ウエイn−1)のブロックを有し、各ブロックは、キャッシュアクセス用のアドレス(インデックス)でアクセスされる。特に制限されないが、以下では、単に説明の都合で、2ウエイ・セット・アソシエイティブ方式のキャッシュメモリとするが、4、8ウエイ等のセット・アソシエイティブ方式のキャッシュメモリについても、2ウエイ(ウエイ0、1)を、4ウエイ(ウエイ0−3)、8ウエイ(ウエイ0−7)とすることで同様に説明される。 6 is an n (where n is an integer such as 2, 4, 8, etc.) way set associative system. The n-way set associative cache memory has n-way (way 0 to way n-1) blocks for each set, and each block is accessed by an address (index) for cache access. . Although not particularly limited, in the following, for the sake of explanation, a 2-way set-associative cache memory is used, but a 4-way 8-way set-associative cache memory is also used. 0, 1) is described in the same manner as 4 way (way 0-3) and 8 way (way 0-7).
キャッシュメモリ制御装置10’から4つのデータ・キャッシュメモリ20Aに共通に出力されるデータウエイと、アドレス1は、データ・キャッシュメモリ20Aをアクセスするためのアドレスを構成する。例えばデータウエイ信号を上位ビット、アドレス1を下位ビットとするアドレスにより、ウエイ0、ウエイ1内の該当ロケーション(データの格納エントリ)がアクセスされる。
The data way that is commonly output from the cache memory control device 10 'to the four
タグ・キャッシュメモリ20Bにおいて、キャッシュメモリ制御装置10’から出力されるタグウエイと、アドレス1は、タグ・キャッシュメモリ20Bをアクセスするアドレスを構成する。例えばタグウエイ信号を上位ビット、アドレス1を下位ビットとするアドレスにより、ウエイ0、ウエイ1の各ウエイのロケーション(タグの格納エントリ)がアクセスされる。
In the
リードアクセス時、キャッシュメモリ制御装置10’は、2つのウエイのうち先に読み出しを行うウエイ(ウエイ0又は1)に対応したタグウエイ、データウエイを出力し、CPUのアクセスアドレスの下位アドレスからキャッシュアクセス用のアドレス1を生成する。タグ・キャッシュメモリ20Bにおいて、タグウエイとアドレス1とに基づき、指定されたウエイの該当アドレス(ロケーション)からタグが読み出され、キャッシュメモリ制御装置10’は、読み出されたタグと、CPUのアクセスアドレスの上位アドレスとを比較し、一致・不一致を判定する。一致した場合、先に読み出しを行った方のウエイでヒットしているため、キャッシュメモリ制御装置10’は、データ・キャッシュメモリ20Aの該当ウエイから読み出したデータ(例えば図6の4つのデータ・キャッシュメモリ20Aからパラレルに読み出み出されたデータ)をCPUに転送する。あるいは、4つのデータ・キャッシュメモリ20Aからパラレルに読み出み出されたデータのうちCPUのアクセスアドレスの所定の下位ビットで指定されたワードデータ又はバイトデータを選択してCPUに転送する。
At the time of read access, the cache memory control device 10 'outputs the tag way and data way corresponding to the way (way 0 or 1) to be read first out of the two ways, and performs cache access from the lower address of the CPU access address.
キャッシュメモリ制御装置10’において、タグ・キャッシュメモリ20Bから先に読み出しを行ったウエイのタグが、CPUのアクセスアドレスの上位アドレスと不一致の場合、次に読み出すウエイに対応したタグウエイ、データウエイを出力し、タグ・キャッシュメモリ20Bの該当するウエイのアドレス(ロケーション)からタグを読み出してCPUのアクセスアドレスの上位アドレスと比較し、一致・不一致を判定する。ここで、一致した場合、データ・キャッシュメモリ20Aの該ウエイから読み出されたデータ(例えば4つのデータ・キャッシュメモリ20Aからパラレルに読み出されたデータ)をCPUに転送する。一方、タグ・キャッシュメモリ20Bの2つのウエイの該当するアドレス(ロケーション)から読み出されたタグが、CPUのアクセスアドレスの上位アドレスといずれも不一致の場合には、キャッシュ・ミスヒットとなる。この場合、メインメモリからデータを読み出し、データ・キャッシュメモリ20Aの所定のウエイのアドレスにデータを格納してCPUに転送し、タグ・キャッシュメモリ20Bの該所定のウエイにタグ(アクセスアドレスの上位アドレス)を設定する。
In the cache
ライトアクセス時、キャッシュメモリ制御装置10’は、選択されたウエイのタグ・キャッシュメモリ20Bのアドレスに、タグ(アクセスアドレスの上位アドレス)を格納し、データ・キャッシュメモリ20Aの当該ウエイの対応するロケーション(アドレス)にデータを書き込み、ライトスルー方式またはライトバック方式でメインメモリにデータを書き込む。
At the time of write access, the cache
図7は、図6のキャッシュメモリ制御装置10’の内部構成の一例を模式的に示す図である。なお、キャッシュメモリにおいて、ウエイ毎に、タグ、データ、フラグ(Validフラグ等)が設けられているが、図7では、ウエイ毎のフラグ情報は省略されている。また、図7では、簡単のため、図6の4つのデータ・キャッシュメモリ20Aのうちの1つが模式図として例示されている。
FIG. 7 is a diagram schematically illustrating an example of an internal configuration of the cache
図7において、ウエイ予測器12は、アクセスに際してウエイの予測(決定)(最初にどのウエイから読み出すか、次にどのウエイを読み出すか等の決定)を行う。またウエイ予測器12は、キャッシュ・ミスヒット時のウエイの予測を行う。ウエイの予測(決定)にあたり、ウエイ予測器12は、例えば直前(最後)に選択されたウエイを選択する。また、ウエイの置き換えを行う場合、ウエイ予測器12は、LRU(Least Recently Used)アルゴリズム等で決定される。 In FIG. 7, the way predictor 12 performs way prediction (determination) (determination of which way is read first, which way is read next, etc.) upon access. The way predictor 12 predicts the way when a cache miss occurs. In the prediction (determination) of the way, the way predictor 12 selects, for example, the way selected immediately before (last). When performing way replacement, the way predictor 12 is determined by an LRU (Least Recently Used) algorithm or the like.
キャッシュアドレス生成部13は、CPU30の予め定められた所定の下位アドレスから、キャッシュアドレス(インデックス)を生成し、アドレス1を出力する。
The cache
データウエイ生成部14とタグウエイ生成部15は、ウエイ予測器12の出力(ウエイ情報)を共通に受け、データウエイ信号とタグウエイ信号をそれぞれ出力する。
The
クロック同期部16は、例えばCPU30のクロック生成部31で生成されたクロック信号CKを受け、クロック信号CKの周波数を逓倍しキャッシュ駆動用の高速なクロック1を生成し、アドレス1、データウエイ、タグウエイを該クロック1に同期して、データ・キャッシュメモリ20A、タグ・キャッシュメモリ20Bに供給し、該クロック1をデータ・キャッシュメモリ20A、タグ・キャッシュメモリ20Bに共通に与える。
The
データ・キャッシュメモリ20Aにおいて、データウエイとアドレス1から、該当するウエイ内でのアドレスが生成される。タグ・キャッシュメモリ20Bにおいて、タグウエイとアドレス1から、該当するウエイ内でのアドレスが生成される。アドレス1とタグウエイから、例えばタグ・キャッシュメモリ20Bのウエイ0(TagX)内のタグ1のロケーションを指示するアドレスが生成され、アドレス1とデータウエイからデータ・キャッシュメモリ20Aのウエイ0(DataX)内のデータ1のロケーションを指示するアドレスが生成され、タグ1、データ1の読み出しがそれぞれ行われる。
In the
アドレス比較部11−1/2では、タグ・キャッシュメモリ20Bにおいて、ウエイ0とウエイ1から、それぞれ読み出されたタグ(タグX、タグY)を、CPU30のアクセスアドレスの所定の上位アドレス(上位アドレスのビットフィールド)と比較し、一致/不一致の比較結果を、ウエイ予測器12とデータ選択部19とCPU30に供給する。
In the address comparison unit 11-1 / 2, the tag (tag X, tag Y) read from the way 0 and the
データ選択部19は、データ・キャッシュメモリ20Aのウエイ0、1から読み出されたデータを受け、アドレス比較部11−1/2からの比較結果(一致/不一致)に基づき、一致した方のウエイから読み出したデータを、CPU30に供給する。すなわち、アドレス比較部11−1/2において、タグXとタグYのうちの一方と、CPU30からのアクセスアドレスの上位アドレスとが一致した場合、キャッシュ・ヒットとなり、データ・キャッシュメモリ20Aの読み出しデータX、データYのうち、ヒットしたウエイから読み出されたデータが、データ選択部19で選択され、CPU30に供給される。なお、キャッシュメモリがウエイを順番に指定して各ウエイから時分割で順次読み出す方式の場合、あるウエイ(例えばウエイ0)でキャッシュ・ヒットした場合、通常、残りのウエイ(例えばウエイ1)からのデータの読み出しは行われない。
The
また図7では、データ・キャッシュメモリ20Aから読み出され、データ選択部19で選択されたデータがCPU30に読み出しデータとして出力されているが、CPU30からのアクセスアドレスの下位ビットを選択信号として入力し、ワードデータを選択するセレクタ(不図示)を備え、読み出されたデータ(複数ワード、複数バイト長)から、CPU30のアクセスアドレスに対応するワードデータを選択する構成としてもよい。
In FIG. 7, the data read from the
図6、図7に示した構成において、データ・キャッシュメモリ20Aとタグ・キャッシュメモリ20B、アドレス1、2、データウエイ、タグウエイは共通のクロック1で駆動される。
6 and 7, the
なお、特許文献1には、4ウエイ・セットアソシアティブ方式のキャッシュメモリのアドレスアレイコントローラと、データアレイコントローラに、クロック信号φ1、φ2(φ2はφ1と周波数は同一であり、φ1から所定の位相遅延している)を供給し、クロック周波数が高い場合において、アドレスアレイをクロックφ1で起動したのちアドレスアレイでのヒットチェックが確定する前の時刻に、クロックφ2でデータアレイの全てを起動し、ヒットチェックが確定したときに、データアレイ内のヒットしたウエイから読み出されたデータをデータ線に出力し、クロック周波数が低いときは、ヒットチェック完了後に、データアレイ内のヒットしたウエイのみを起動する構成とされる。すなわち、特許文献1では、クロック周波数が限界周波数よりもかなり高い場合、ヒットチェック完了時に、センスアンプによるデータの読み出し動作がほぼ完了し、クロック周波数が限界周波数よりも高い場合、センスアンプ起動前(データ読み出し前)にヒットチェックが完了する。低速動作の場合、データアレイ起動前に、ヒットチェックが確定しているため、ヒットした1つのウエイのみが動作することで消費電力を低減している。
Note that
以下に関連技術の分析を与える。 The analysis of related technology is given below.
図6に示した構成においては、データ・キャッシュメモリ20Aとタグ・キャッシュメモリ20Bは共通のクロック1で駆動される。
In the configuration shown in FIG. 6, the
キャッシュメモリ制御装置と、キャッシュメモリ間の信号の配線遅延や出力遅延のばらつき等により、データ・キャッシュメモリ20Aとタグ・キャッシュメモリ20Bへのクロック1を等しく速くして高速動作させる手法では、タイミング・マージンの確保が困難となり、アクセス時間の短縮が限界となっている。
In the method of operating the
また、CPUからメインメモリへのアクセスの高速化のためのキャッシュメモリを、CPUの外部に構成する場合、キャッシュメモリ制御装置と、キャッシュメモリ間の動作速度に限界がある。 Further, when a cache memory for speeding up access from the CPU to the main memory is configured outside the CPU, the operation speed between the cache memory control device and the cache memory is limited.
さらに、データを128ビット等の多ビットで構成する場合、キャッシュメモリとして機能するSSRAMが複数必要となり(図6参照)、キャッシュメモリ制御装置と複数のSSRAM(複数のデータ・キャッシュメモリ20A)の間のタイミング設計(タイミングスキュー、データスキュー)が厳しくなる傾向にある。例えば図6において、キャッシュメモリ制御装置10’と4個のデータ・キャッシュメモリ20A間のデータ信号、クロック信号等のスキューや、そのばらつき等を抑えることは、クロック1の高速化とともに困難となる。
Further, when the data is composed of multiple bits such as 128 bits, a plurality of SSRAMs functioning as a cache memory are required (see FIG. 6), and between the cache memory control device and a plurality of SSRAMs (a plurality of
そして、データ・キャッシュメモリ20Aとタグ・キャッシュメモリ20Bとで、同じ速度(動作周波数)のクロックとアドレスを用いているため、タグ・キャッシュメモリのSSRAMも、データ・キャッシュメモリと同一のタイミング設計とする必要があり、さらなる高速化に限界となっている。
Since the
したがって、本発明の目的は、タイミング・マージンを確保しつつ、高速化を可能としキャッシュメモリのアクセス時間の短縮を可能とするキャッシュメモリ制御装置と方法を提供することにある。 Accordingly, it is an object of the present invention to provide a cache memory control device and method capable of increasing the speed and reducing the access time of the cache memory while ensuring a timing margin.
前記課題の少なくとも1つを解決するため、本発明が概略以下の構成とされる。 In order to solve at least one of the above-described problems, the present invention is generally configured as follows.
本発明の1つの側面によれば、タグを格納するタグ・キャッシュメモリと、データを格納するデータ・キャッシュメモリと、を含む複数ウエイのセット・アソシアティブ・キャッシュメモリを制御するキャッシュメモリ制御装置であって、前記データ・キャッシュメモリを第1のクロック信号で駆動し、キャッシュアドレスとウエイ情報とをそれぞれ第1のクロック信号で同期させた第1のアドレス信号とデータウエイとを、前記データ・キャッシュメモリに供給する第1のクロック同期部と、前記タグ・キャッシュメモリを第2のクロック信号で駆動し、前記キャッシュアドレスとウエイ情報とをそれぞれ第2のクロック信号で同期させた第2のアドレス信号とタグウエイとを、前記タグ・キャッシュメモリに供給する第2のクロック同期部と、CPUのアクセスアドレスのうちタグに対応する所定のビットフィールドと、前記タグ・キャッシュメモリから読み出されたタグとを比較し一致/不一致を判定するアドレス比較部と、を備え、前記第2のクロック信号の周波数は前記第1のクロック信号の周波数よりも高く設定され、前記タグ・キャッシュメモリの各ウエイからのタグの読み出し時間は、前記データ・キャッシュメモリの対応するウエイからのデータの読み出し時間よりも速められ、前記タグ・キャッシュメモリ及び前記データ・キャッシュメモリの複数のウエイに対して所定の順番で順次読み出しを行い、前記データ・キャッシュメモリの一のウエイからデータが読み出される前に、前記タグ・キャッシュメモリの複数のウエイからのタグの読み出しが完了するように制御するキャッシュ制御装置が提供される。 According to one aspect of the present invention, there is provided a cache memory control device that controls a set-associative cache memory having a plurality of ways, including a tag cache memory that stores tags and a data cache memory that stores data. The data cache memory is driven by the first clock signal, and the first address signal and the data way obtained by synchronizing the cache address and the way information with the first clock signal, respectively. A first clock synchronizer for supplying the tag cache memory, a second address signal obtained by driving the tag cache memory with a second clock signal, and synchronizing the cache address and way information with the second clock signal, respectively. A second clock synchronization for supplying the tag way to the tag cache memory An address comparison unit that compares a predetermined bit field corresponding to the tag in the access address of the CPU and a tag read from the tag cache memory to determine match / mismatch, and the second The frequency of the clock signal is set higher than the frequency of the first clock signal, and the tag read time from each way of the tag cache memory is the data read from the corresponding way of the data cache memory. Before the data is read out from one way of the data cache memory, the tag cache memory and the plurality of ways of the data cache memory are sequentially read in a predetermined order. Reading tags from multiple ways in the tag cache memory is complete Cache controller is provided to control the.
本発明の他の側面によれば、タグを格納するタグ・キャッシュメモリと、データを格納するデータ・キャッシュメモリと、を含む複数ウエイのセット・アソシアティブ・キャッシュメモリを制御するキャッシュメモリ制御方法であって、
前記データ・キャッシュメモリを第1のクロック信号で駆動し、キャッシュアドレスとウエイ情報とをそれぞれ第1のクロック信号で同期させた第1のアドレス信号とデータウエイとを、前記データ・キャッシュメモリに供給し、
前記タグ・キャッシュメモリを第2のクロック信号で駆動し、前記キャッシュアドレスとウエイ情報とをそれぞれ第2のクロック信号で同期させた第2のアドレス信号とタグウエイとを、前記タグ・キャッシュメモリに供給し、
CPUのアクセスアドレスのうちタグに対応する所定のビットフィールドと、前記タグ・キャッシュメモリから読み出されたタグとを比較し一致/不一致を判定し、
前記第2のクロック信号の周波数を前記第1のクロック信号の周波数よりも高く設定し、前記タグ・キャッシュメモリの各ウエイからのタグの読み出し時間は、前記データ・キャッシュメモリの対応するウエイからのデータの読み出し時間よりも速められ、前記タグ・キャッシュメモリ及び前記データ・キャッシュメモリの複数のウエイに対して所定の順番で順次読み出しを行い、前記データ・キャッシュメモリの一のウエイからデータが読み出される前に、前記タグ・キャッシュメモリの複数のウエイからのタグの読み出しが完了するように制御するキャッシュメモリ制御方法が提供される。
According to another aspect of the present invention, there is provided a cache memory control method for controlling a multi-way set associative cache memory including a tag cache memory for storing a tag and a data cache memory for storing data. And
The data cache memory is driven by a first clock signal, and a first address signal and a data way obtained by synchronizing the cache address and the way information with the first clock signal are supplied to the data cache memory. And
The tag cache memory is driven by a second clock signal, and a second address signal and a tag way obtained by synchronizing the cache address and way information with the second clock signal are supplied to the tag cache memory. And
A predetermined bit field corresponding to a tag in the access address of the CPU is compared with a tag read from the tag cache memory to determine a match / mismatch,
The frequency of the second clock signal is set to be higher than the frequency of the first clock signal, and the tag read time from each way of the tag cache memory is from the corresponding way of the data cache memory. Data is read from one way of the data cache memory by sequentially reading out the tag cache memory and the plurality of ways of the data cache memory in a predetermined order, which is faster than the data read time. Before, a cache memory control method is provided for controlling the reading of tags from a plurality of ways of the tag cache memory to be completed.
本発明によれば、タイミング・マージンを確保しつつ高速化することで、キャッシュメモリのアクセス時間を短縮することができる。 According to the present invention, the access time of the cache memory can be shortened by increasing the speed while securing the timing margin.
本発明の一つの態様によれば、キャッシュメモリ制御装置において、タグ・キャッシュメモリを駆動するクロックとアドレスを、データ・キャッシュメモリを駆動するクロックとアドレスから分離し、タグ・キャッシュメモリに対するアクセスを高速化することで、キャッシュメモリへのアクセス時間を短縮する。本発明の一つの態様においては、複数ウエイ(nウエイ、nは2、4、8・・のうちの所定の整数)のセット・アソシアティブ・キャッシュメモリを制御するキャッシュメモリ制御装置は、データ・キャッシュメモリ(20A)を第1のクロック信号(クロック1)で駆動し、キャッシュアドレスとウエイ情報とをそれぞれ第1のクロック信号で同期させた第1のアドレス信号(アドレス)1とデータウエイとを、前記データ・キャッシュメモリに供給する第1のクロック同期部(16A)と、タグ・キャッシュメモリ(20B)を第2のクロック信号(クロック2)で駆動し、前記キャッシュアドレスとウエイ情報とをそれぞれ第2のクロック信号で同期させた第2のアドレス信号(アドレス2)とタグウエイとを、前記タグ・キャッシュメモリに供給する第2のクロック同期部(16B)と、CPUのアクセスアドレスのうちタグに対応する所定のビットフィールドと、前記タグ・キャッシュメモリから読み出されたタグとを比較し一致/不一致を判定するアドレス比較部(11−1/2)と、を備え、前記第2のクロック信号(クロック2)の周波数は前記第1のクロック信号(クロック1)の周波数よりも高く設定され、前記タグ・キャッシュメモリ(20B)の各ウエイからのタグの読み出し時間は、前記データ・キャッシュメモリ(20A)の対応するウエイからデータの読み出し時間よりも短縮され、前記タグ・キャッシュメモリ(20B)及び前記データ・キャッシュメモリ(20A)の複数のウエイに対して所定の順番で順次読み出しを行い、前記データ・キャッシュメモリ(20A)の一のウエイからデータが読み出される前に、前記タグ・キャッシュメモリ(20B)の複数のウエイからのタグの読み出しが完了するように制御する。
According to one aspect of the present invention, in the cache memory control device, the clock and address for driving the tag cache memory are separated from the clock and address for driving the data cache memory, so that the access to the tag cache memory can be performed at high speed. By shortening, the access time to the cache memory is shortened. In one aspect of the present invention, a cache memory control apparatus for controlling a set associative cache memory of a plurality of ways (n ways, n is a predetermined integer of 2, 4, 8,...) Includes a data cache The memory (20A) is driven by the first clock signal (clock 1), and the first address signal (address) 1 and the data way obtained by synchronizing the cache address and the way information with the first clock signal, respectively, The first clock synchronizer (16A) for supplying the data cache memory and the tag cache memory (20B) are driven by the second clock signal (clock 2), and the cache address and the way information are respectively supplied. The second address signal (address 2) synchronized with the
本発明の一つの態様によれば、かかる構成により、タグ・キャッシュメモリのタイミング設計を、データ・キャッシュメモリから独立させることができる。また、タグ・キャッシュメモリをキャッシュメモリ制御装置の近くに配置することが可能となり、クロック周波数を上げることが可能となる。 According to one aspect of the present invention, such a configuration makes it possible to make the timing design of the tag cache memory independent of the data cache memory. Further, the tag cache memory can be arranged near the cache memory control device, and the clock frequency can be increased.
タグ・キャッシュメモリを駆動するクロック信号の周波数を高速にしても、データ・キャッシュメモリは、タグ・キャッシュメモリを駆動するクロック信号よりも低速のクロック信号で駆動すればよいことから、複数のデータ・キャッシュメモリの信号配線遅延、出力遅延、スキュー等のタイミング・マージンを緩和し、タイミング設計を容易化している。またキャッシュメモリ制御装置の近くに配置されるタグ・キャッシュメモリでの信号の配線遅延や出力遅延は、データ・キャッシュメモリとは別個に、そのタイミング設計時点で考慮すればよい。このように、タグ・キャッシュメモリの動作クロックを速くすることによって、キャッシュメモリアクセス全体の高速化を実現可能としている。以下、実施形態に即して説明する。 Even if the frequency of the clock signal for driving the tag cache memory is increased, the data cache memory may be driven with a clock signal that is slower than the clock signal for driving the tag cache memory. Timing margins such as signal wiring delay, output delay, and skew of the cache memory are eased to facilitate timing design. In addition, the signal wiring delay and output delay in the tag cache memory arranged near the cache memory control device may be considered at the time of timing design separately from the data cache memory. As described above, by speeding up the operation clock of the tag cache memory, it is possible to increase the speed of the entire cache memory access. Hereinafter, description will be given in accordance with the embodiment.
図1は、本発明の一実施形態の構成を示す図である。図1は、キャッシュメモリ制御装置とキャッシュメモリの接続構成の一例が示されている。特に制限されないが、キャッシュメモリ制御装置10は、図4に示すように、CPU30内部に構成される。なお、図1において、図6の要素と同一又は同等の要素には同一の参照番号が付されている。
FIG. 1 is a diagram showing a configuration of an embodiment of the present invention. FIG. 1 shows an example of a connection configuration between a cache memory control device and a cache memory. Although not particularly limited, the cache
各キャッシュメモリ20A、20Bは、SSRAM(Synchronous SRAM)で構成され、データを格納する4つのデータ・キャッシュメモリ20Aと、タグを格納するタグ・キャッシュメモリ20Bを備えている。各キャッシュメモリ20A、20Bは図6の構成と同一である。
Each of the
図1を参照すると、本実施形態においては、図6と相違して、キャッシュメモリ制御装置10は、4つのキャッシュメモリ20Aに、クロック1、アドレス1、データウエイの各信号を共通に供給し、4つのデータ・キャッシュメモリ20Aの共通に指定されたウエイと、データの入出力をパラレルに行う。
Referring to FIG. 1, in this embodiment, unlike FIG. 6, the cache
キャッシュメモリ制御装置10は、タグ・キャッシュメモリ20Bに、クロック2、アドレス2、タグウエイを供給し、タグの入出力を行う。タグ・キャッシュメモリ20Bのクロック2とアドレス2を、データ・キャッシュメモリ20Aのクロック1とアドレス1と分離し、タグ・キャッシュメモリ20Bをクロック1よりも高速なクロック2で駆動する。
The cache
図1において、タグ・キャッシュメモリ20Bに格納されるタグのビット幅に対して、データのキャッシュラインのビット幅が大きいため、1つのタグ・キャッシュメモリ20Bに対し、4つのデータ・キャッシュメモリ20Aが並置されている。特に制限されないが、図1の構成は、2ウエイ・セット・アソシエイティブ方式のキャッシュメモリとする。
In FIG. 1, since the bit width of the data cache line is larger than the bit width of the tag stored in the
キャッシュメモリ制御装置10から、データ・キャッシュメモリ20Aに出力されるデータウエイとアドレス1で、指定されたウエイにおけるインデックス(データを格納したロケーション)を指定する。タグ・キャッシュメモリ20Bに出力されるタグウエイとアドレス2で、指定されたウエイにおけるインデックス(タグを格納したロケーション)を指定する。
The index (location storing the data) in the specified way is designated by the data way output from the cache
CPUのリードアクセス時、キャッシュメモリ制御装置10は、CPUのアクセスアドレスからキャッシュアクセス用のアドレスを生成し、タグ・キャッシュメモリ20Bからタグを読み出す。その際、タグ・キャッシュメモリ20Bに供給されるクロック2、アドレス2は、データ・キャッシュメモリ20Aに供給されるクロック1、アドレス1よりも高速であるため(クロック2はクロック1の周波数を例えば2逓倍したもの)、タグ・キャッシュメモリ20Bにおいて、ウエイからのタグの読み出しは、データの読み出し時間よりも短時間に行われる。例えばウエイ0のデータ0が出力される前に、ウエイ0のタグが読み出され、読み出されたタグと、CPUからの所定の上位アドレスとを比較することで、キャッシュのヒット/ミスヒットを判定する。
At the time of CPU read access, the cache
キャッシュメモリ制御装置10は、タグ・キャッシュメモリ20Bのウエイ0又はウエイ1のタグが、CPUからの所定の上位アドレスと一致した時(キャッシュヒット時)には、データ・キャッシュメモリ20Aの該当ウエイから読み出されたデータ(キャッシュラインデータ又は、下位ビットアドレスで指定されたワードデータ)をCPUに転送する。ミスヒット時(ウエイ0、1のいずれのタグも、CPUからの所定の上位アドレスと不一致の場合)には、不図示のメインメモリにアクセスしてデータを読み出し、データ・キャッシュメモリ20Aの所定のウエイのアドレスにデータを格納し、タグ・キャッシュメモリ20Bにタグを設定し、CPUに転送する。CPUからのライトアクセス時に、選択されたウエイのタグ・キャッシュメモリの該当アドレスにタグを格納し、データキャッシュの該当ウエイの該当アドレスにデータを書き込み、ライトスルー方式またはライトバック方式でメインメモリにデータを書き込む。
When the tag of way 0 or
図2は、図1の2ウエイ・セット・アソシエイティブ方式のキャッシュメモリ制御装置10の構成の一例を模式的に示す図である。なお、図2のキャッシュメモリにおいて、ウエイ毎に、タグ、データ、フラグが設けられるが、フラグ情報は省略されている。
FIG. 2 is a diagram schematically illustrating an example of the configuration of the two-way set associative cache
ウエイ予測器12は、ウエイを選択する。キャッシュアドレス生成部13は、CPUの下位アドレスから、キャッシュアドレスを生成して出力する。データウエイ生成部14は、タグウエイ生成部15は、ウエイ予測器12の出力を受け、データウエイ、タグウエイを出力する。
The way predictor 12 selects a way. The cache
第1のクロック同期部16Aは、CPU30のクロック生成部31からのクロック信号CKを受け、該クロック信号の周波数を逓倍し、データ・キャッシュメモリ20A駆動用の高速のクロック1(第1のクロック信号)を生成する。また、第1のクロック同期部16Aは、キャッシュアドレス生成部13から出力されるキャッシュアドレスと、ウエイ予測器12で決定されたウエイ情報を入力し、該クロック1に同期して、アドレス1(第1のアドレス信号)とデータウエイを、データ・キャッシュメモリ20Aに出力し、該クロック1を、データ・キャッシュメモリ20Aに与える。データ・キャッシュメモリ20Aは、第1のクロック同期部16Aからのクロック1で駆動される。
The first clock synchronizer 16A receives the clock signal CK from the
第2のクロック同期部16Bは、クロック1の周波数を予め定められた逓定数(例えば2)で逓倍したクロック2(第2のクロック信号)を生成し、キャッシュアドレス生成部13から出力されるキャッシュアドレスと、ウエイ予測器12で決定されたウエイ情報を入力し、該クロック1に同期して、アドレス2(第2のアドレス信号)とタグウエイをタグ・キャッシュメモリ20Bに供給し、該クロック2をタグ・キャッシュメモリ20Bに与える。タグ・キャッシュメモリ20Bは該クロック2で駆動される。
The second clock synchronization unit 16B generates a clock 2 (second clock signal) obtained by multiplying the frequency of the
アドレス比較部11−1/2は、タグ・キャッシュメモリ20Bのウエイ0、1から読み出されたタグX、Y(レジスタ17−1/2に格納される)を、CPU30からのアクセスアドレスの上位アドレス(タグに対応する上位のビットフィールド)と比較し、一致・不一致を判定する。そして、一致・不一致の比較結果を、ウエイ予測器12と、CPU30とデータ選択部19に供給する。
The address comparison unit 11-1 / 2 converts the tags X and Y (stored in the register 17-1 / 2) read from the
データ選択部19は、データ・キャッシュメモリ20Aのウエイ0、1から読み出されたデータを受け、アドレス比較部11−1/2からの比較結果に基づき、一致した方のウエイから読み出したデータを、CPU30に供給する。すなわち、アドレス比較部11−1/2において、タグXとタグYのうちの一方と、CPU30からのアクセスアドレスの上位アドレスが一致した場合、キャッシュヒットとなり、データ・キャッシュメモリ20Aの読み出しデータX、データYのうち、ヒットしたウエイから読み出されたデータが、データ選択部19で選択され、CPU30に供給される。なお、特に制限されないが、ここでは、キャッシュメモリは、指定された順番でウエイからタグ、データを順次読み出す方式とされ、あるウエイ(例えばウエイ0)でヒットした場合、残りのウエイ(例えばウエイ1)からのデータの読み出しは行われない。
The
なお、図2においてレジスタ17−1/2は、クロック2をサンプリングクロックとして、タグ・キャッシュメモリ20Bからの読み出しデータTagX、TagYをキャプチャする。一方、レジスタ(データレジスタ)18−1/2は、クロック1をサンプリングクロックとして、データ・キャッシュメモリ20Aからの読み出しデータ、データYをキャプチャする。
In FIG. 2, the register 17-1 / 2 captures the read data TagX and TagY from the
なお、図2では、簡単のため、データ・キャッシュメモリ20Aから読み出されデータ選択部19で選択されたキャシュラインのデータがそのままCPU30に読出しデータとして出力されているが、読み出されたキャッシュラインからワードデータを選択するセレクタを備え、アクセスアドレスに対応するワードデータをCPU30に供給する構成としてもよい。
In FIG. 2, for the sake of simplicity, the cache line data read from the
以下、図2の回路動作の説明を行う。キャッシュメモリ制御装置10にCPU30が必要とするデータのアクセスアドレスが入力されると、上位アドレスと下位アドレスに分離される。
The circuit operation of FIG. 2 will be described below. When an access address of data required by the
キャッシュアドレス生成部13は、CPU30のアクセスアドレスの下位アドレスから、タグ・キャッシュメモリ20Bとデータ・キャッシュメモリ20Aのアドレスを生成する。
The cache
ウエイ予測器12で選択されたウエイの情報から、データウエイ生成部14は、データウエイを生成し、タグウエイ生成部14はタグウエイを生成する。ウエイ予測器12において、ウエイ0と1のどちらを先にリードするかは、直前(最後)に選択されたウエイを選択する等の条件で決定するが、ここでは、ウエイの0を先に選択したと仮定する。
From the way information selected by the way predictor 12, the
ウエイ0は、タグウエイ0のTagXと、データウエイ0のDataXのメモリ領域に格納されている。また、ウエイ1は、タグウエイ1のTagYと、データウエイ1のDataYのメモリ領域に格納されている。
Way 0 is stored in the memory area of Tag Way 0 of Tag Way 0 and Data X of Data Way 0. The
キャッシュアドレス生成部13、データウエイ生成部14で生成されたアドレス、データウエイは、第1のクロック同期部16Aで、キャッシュメモリをアクセスするためのクロック1(CPU30のクロック生成部31からのクロックCKを逓倍したクロック)と同期され、アドレス1、データウエイとして出力され、最初のアドレスサイクルで、データウエイの0に格納されるDataXのリード動作を実行する。
The address and data way generated by the cache
キャッシュアドレス生成部13、タグウエイ生成部15で生成されたアドレス、タグウエイは、第2のクロック同期部16Bで、キャッシュメモリをアクセスするためのクロック2(クロック1を逓倍したクロック)と同期され、アドレス2、タグウエイとして出力され、最初のアドレスサイクルで、タグウエイの0に格納されるTagX、タグウエイの1に格納されるTagYのリード動作を実行する。
The addresses and tagways generated by the cache
このようなリード動作で読み出されたデータは、キャッシュメモリ制御装置10のデータX、データYを格納するレジスタ18−1/2に格納され、タグはタグX、タグYを格納するレジスタ17−1/2に格納される。
Data read by such a read operation is stored in the register 18-1 / 2 storing the data X and data Y of the cache
データ・キャッシュメモリに、CPU30が必要とするデータが格納されているか否かは、タグ・キャッシュメモリ20Bに格納されたタグであるTagX、TagYをリードし、アドレス比較部11−1/2でCPUのアクセスアドレスの上位アドレスとの一致・不一致をチェックすることによって判断される。
Whether the data required by the
TagX、TagYには、CPU30が必要とするデータのアクセスアドレスの上位アドレスが格納されている可能性があり、CPU30からのアクセスアドレスが入力された時に、分離した上位アドレスとTagXが一致する場合には、DataXに、CPU30が必要とするデータが格納されている、分離した上位アドレスと、TagYが一致する場合は、DataYにCPUが必要とするデータが格納されている。
In TagX and TagY, there is a possibility that the upper address of the access address of the data required by the
CPU30のアクセスアドレスの上位アドレスが、TagX、TagYの両方と不一致の場合、データ・キャッシュメモリ20Aには、CPU30が必要とするデータが格納されていないことになる。すなわち、アドレス比較部11−1/2の出力がともに不一致の場合、不図示のメインメモリからデータが読み出され、ウエイ予測器12で指定されたウエイの、該当アドレスに、メインメモリからの読み出しデータが格納され、タグ・キャッシュメモリの当該ウエイの該当アドレス(アドレス1とデータウエイ信号で指示される格納位置)に、CPUのアクセスアドレスの上位アドレス(タグアドレス)が格納され、該読み出しデータは、CPU30に供給される。
If the upper address of the access address of the
図3は、図1、図2を参照して説明した本発明の一実施形態のキャッシュメモリのリードのタイミング動作の一例を示す図である。図3には、図2のウエイ予測器12の制御よりウエイ0、ウエイ1の順で、タグTagX、TagYを読み出し、CPUの上位アドレス(タグアドレス)とのアドレス比較の結果、ウエイ0のTagXは不一致、ウエイ1のTagYが一致した場合の動作が示されている。なお、図3において、キャッシュメモリのリード動作とクロックサイクルの関係(レーテンシ等)は理解を容易とするために模式的に表されている。また、図3では、説明の簡単のため、データがクロックの立ち上がりエッジに同期して出力される構成とされているが、SSRAMにおいて立ち上がりエッジと立ち下がりエッジ等に同期してデータが転送されるDDR(Double Data Rate)型等であってもよいことは勿論である。
FIG. 3 is a diagram showing an example of the read timing operation of the cache memory according to the embodiment of the present invention described with reference to FIGS. In FIG. 3, tags TagX and TagY are read in the order of way 0 and
図3に示す例では、図2の第2のクロック同期部16Bから出力されるクロック2は、第1のクロック同期部16Aから出力されるクロック1の2倍の周波数とし(クロック2はクロック1を2逓倍した信号)、タグ・キャッシュメモリ20Bは、データ・キャッシュメモリ20Aよりも2倍高速に動作する。クロック1の立ち上がりエッジと立ち下がりエッジは、クロック2の立ち上がりエッジに同期している。
In the example shown in FIG. 3, the
図3において、データ・キャッシュメモリ20Aでは、アドレス1とデータウエイとにより、データアクセス用のアドレスが生成され、タグ・キャッシュメモリ20Bでは、アドレス2とタグウエイとからタグのアクセス用アドレスが生成される。
In FIG. 3, in the
タグ・キャッシュメモリ20Bには、時刻t0から始まるクロック2の第1のサイクルにおいて、クロック2の立ち上がりエッジに同期して、アドレス2のAddr0と、タグウエイ(ウエイ0)TwayX、次の第2のサイクルにおいて、クロック2の立ち上がりエッジに同期して、アドレス2のAddr1とタグウエイ(ウエイ1)TwayYが入力され、タイミングt1からt2のクロック2の第3、第4のサイクルにおいて、ウエイ0、ウエイ1からの読み出しデータであるタグTagX、TagYが順次読み出され、レジスタ17−1、17−2に保持される。本実施形態によれば、図6、図7のようにタグ・キャッシュメモリをクロック1で駆動する比較例(図8を参照して後述される)よりも、TagX、TagYの読み出しが速くなる。
In the first cycle of
一方、データ・キャッシュメモリ20Aには、タイミングt0から始まるクロック1の第1のサイクルに、クロック1の立ち上がりエッジに同期して、アドレス1のAddr0とデータウエイ(ウエイ0)DwayXが入力され、タイミングt1から始まるクロック1の第2のサイクルに、クロック1の立ち上がりエッジに同期して、アドレス1のAddr1とデータウエイ(ウエイ0)DwayXが入力される。
On the other hand, Addr0 of
そして、タイミングt2、t3から始まるクロック1の第3、第4のサイクル(クロック2の5、7番目のサイクルに該当する)に、データ・キャッシュメモリ20AのDwayX(ウエイ0)からの読み出しデータであるDataX0、DataX1が順次出力される。本実施形態では、TagX、TagYの読み出しは、タイミングt2からDataX0、DataX1の読み出しサイクル前の完了している。なお、図3に示す例では、データ・キャッシュメモリ20Aから読み出されるデータは、タグ・キャッシュメモリ20Bから読み出されるタグよりもビット幅が大であり、2回に分けて順次時分割で読み出され、DataX0、DataX1は、1個のキャッシュメモリ20Aに格納されるデータ単位を構成している。図2のレジスタ18−1に、DataX0、DataX1が保持される。
Then, in the third and fourth cycles of
アドレス比較部11−1/2で、CPUの上位アドレスとの比較が行われ、ウエイ0のタグTagXは不一致、ウエイ1のタグTagYは一致(キャッシュヒット)していることが判別される。アドレス比較部11−1/2での比較結果を受け、ウエイ予測器12、キャッシュアドレス生成部13、データウエイ生成部14から、アドレス1のAddr0、Addr1、データウエイDwayYが生成され、データ・キャッシュメモリ20Aに供給される(タイミングtn〜tn+1)。
The address comparison unit 11-1 / 2 performs a comparison with the upper address of the CPU, and determines that the tag TagX of way 0 does not match and the tag TagY of
そして、データ・キャッシュメモリ20Aのウエイ1からの読み出しデータであるDataY0、DataY1が順次出力され(タイミングtn+2〜tn+4)、図2のレジスタ18−2に、DataY0、DataY1が保持される。
Then, DataY0 and DataY1 as read data from the
このように、本実施形態においては、最初に読み出されたウエイ0のTagXがCPUのアクセスアドレスの上位アドレスと一致しない場合には、ただちに、ウエイ1のTagYのチェックを実行し、TagYが該上位アドレスと一致した場合、ウエイ1のデータを、データ・キャッシュメモリ20Aから読み出す。データ・キャッシュメモリ20Aのウエイ1(Dway1)から読み出されたデータDataY0、DataY1は、レジスタ18−2から、データ選択部19を介して、CPU30に転送される。
As described above, in the present embodiment, when the TagX of the way 0 read first does not match the upper address of the CPU access address, the check of the TagY of the
なお、TagYが上位アドレスと不一致の場合(したがってTagX、TagYとも不一致の場合)、キャッシュ・ミスヒットとなり、メインメモリ(図4の50)からの読み出しが行われ、読み出しデータが、ウエイ予測器で選択されたウエイの該当アドレスに書き込まれ、タグが選択されたウエイの該当アドレスに書き込まれる。タグのタグ・キャッシュメモリへの書き込みはクロック2で駆動される。
Note that if TagY does not match the upper address (and therefore TagX and TagY do not match), a cache miss occurs, reading from the main memory (50 in FIG. 4) is performed, and the read data is received by the way predictor. The tag is written to the corresponding address of the selected way, and the tag is written to the corresponding address of the selected way. Writing a tag to the tag cache memory is driven by the
本実施形態では、タグ・キャッシュメモリ20Bのクロック信号入力をクロック2、アドレス信号入力をアドレス2とすることにより、データ・キャッシュメモリと分離させ、タグ・キャッシュメモリ20Bのアクセス速度を高速化することを実現させる。
In this embodiment, the clock signal input of the
また、本実施形態によれば、TagXのウエイ予測が一致しなかった場合に実行するTagYのチェック実行タイミングを、時間的に速めることにより、DataY0とDataY1をリード開始するまでの時間を短縮している。 In addition, according to the present embodiment, the time to start reading DataY0 and DataY1 can be shortened by accelerating the timing of TagY check execution that is executed when the Way prediction of TagX does not match. Yes.
比較例として、図8に、図6、図7を参照して説明した関連技術のリード時のタイミングを示す。図8には、図3と同様、ウエイ0、1の順でタグ・キャッシュメモリ20BからタグTagX、TagYを順次リードし、ウエイ0のTagXで不一致、ウエイ1のTagYで一致した場合の動作が示されている。
As a comparative example, FIG. 8 shows the timing at the time of reading in the related technology described with reference to FIGS. In FIG. 8, the tag TagX and TagY are sequentially read from the
データ・キャッシュメモリ20A、タグ・キャッシュメモリ20Bには、タイミングt0から始まる第1のサイクルに、クロック1の立ち上がりエッジに同期して、アドレス1のAddr0と、データウエイDwayX、タグウエイTwayXが入力され、タイミングt1から始まる第2のサイクルに、クロック1の立ち上がりエッジに同期して、アドレス1のAddr1と、データウエイDwayX、タグTwayYが入力される。
In the first cycle starting from the timing t0, the
データ・キャッシュメモリ20A、タグ・キャッシュメモリ20Bからは、タイミングt2、t3から始まる第3、第4のサイクルに、ウエイ0のデータDataX0、DataX1、ウエイ0、ウエイ1から読み出されたタグTagX、TagYが出力される。なお、図3と同様、データ・キャッシュメモリ20Aから読み出されるデータは、タグ・キャッシュメモリ20Bから読み出されるタグよりもビット幅が大であり、2回に分けて時分割で読み出され、DataX0、DataX1は、キャッシュライン(ブロック)を構成している。
From the
タイミングt4以降、ウエイ1のTagYとCPUの上位アドレスとの一致の結果を受け、ウエイ予測器12、キャッシュアドレス生成部13、データウエイ生成部14で、アドレス1データウエイDwayYが生成され、タイミングtn+2から、ウエイ1のアドレス、データウエイがデータキャッシュに出力され、タイミングtn+4からデータDataY0、DataY1が順次出力される。
After timing t4, in response to the result of matching of TagY of
図3に示した本実施形態では、タイミングtnからウエイ1のアドレス、データウエイがデータ・キャッシュメモリ20Aに出力され、タイミングtn+2から、読み出しデータDataY0、DataY1が出力され、図8の比較例よりも、DataY0、DataY1読み出しが早くなる。すなわち、クロック1の2クロックサイクル分、時間を短縮し、キャッシュメモリのアクセス時間を高速化している。
In the present embodiment shown in FIG. 3, the address and the data way of
また本実施形態によれば、タグ・キャッシュメモリ20Bを、クロック1の2逓倍クロックであるクロック2で駆動しているため、タグ・キャッシュメモリ20Bの読み出し時間のほか、更新(書き込み)時間も高速化している。
In addition, according to the present embodiment, the
本実施形態において、キャッシュメモリへの書き込み動作は、タグ・キャッシュメモリ20Bへの書き込み動作がクロック2で行われる他は、図6、図7の関連技術と同一である。
In this embodiment, the write operation to the cache memory is the same as the related technology of FIGS. 6 and 7 except that the write operation to the
前述したように、本実施形態では、図4に示すように、キャッシュメモリ制御装置10がCPU30内部に構成され、キャッシュメモリ20に接続される。CPU30は、メインメモリ制御装置(メモリコントローラ)40を介して、シンクロナスDRAM(SDRAM)からなるメインメモリ50に接続される。
As described above, in the present embodiment, as shown in FIG. 4, the cache
あるいは、図5に示すように、キャッシュメモリ制御装置10は、CPU30の外部、例えばメインメモリ制御装置(メモリコントローラ)40内部に組み込む構成としてもよい。この場合、CPU30は、メインメモリ制御装置40内のキャッシュ制御装置10を介してキャッシュメモリ20にアクセスする。
Alternatively, as shown in FIG. 5, the cache
なお、上記実施形態では、2ウエイ・セットアソシアティブ方式のキャッシュメモリを例に本発明を説明したが、nウエイ(nは4、8・・・の整数)のセットアソシアティブ方式のキャッシュメモリについても同様にして適用できることは勿論である。この場合、図3において、クロック2はクロック1をn逓倍したクロック信号としてもよい。
In the above embodiment, the present invention has been described by taking a two-way set associative cache memory as an example. However, the same applies to an n-way (n is an integer of 4, 8,...) Set-associative cache memory. Of course, it can be applied. In this case, in FIG. 3, the
本発明は、PCや交換機等、キャッシュメモリを制御する機能を有する装置に適用可能である。 The present invention can be applied to a device having a function of controlling a cache memory, such as a PC or an exchange.
なお、上記の特許文献1の開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
It should be noted that the disclosure of
10、10’ キャッシュメモリ制御装置
11−1、11−2 アドレス比較部
12 ウエイ予測器
13 キャッシュアドレス生成部
14 データウエイ生成部
15 タグウエイ生成部
16、16A、16B クロック同期部
17−1 TagX(レジスタ)
17−2 TagY(レジスタ)
18−1 データX
18−2 データY
19 データ選択部
20 キャッシュメモリ
20A データ・キャッシュメモリ
20B タグ・キャッシュメモリ
30 CPU
31 クロック生成部
40 メインメモリ制御装置
50 メインメモリ
10, 10 'cache memory control device 11-1, 11-2 address comparison unit 12
17-2 TagY (register)
18-1 Data X
18-2 Data Y
19
31
Claims (8)
データを格納するデータ・キャッシュメモリと、
を含む複数ウエイのセット・アソシアティブ・キャッシュメモリを制御するキャッシュメモリ制御装置であって、
前記データ・キャッシュメモリを第1のクロック信号で駆動し、キャッシュアドレスとウエイ情報とをそれぞれ前記第1のクロック信号で同期させた第1のアドレス信号とデータウエイとを、前記データ・キャッシュメモリに供給する第1のクロック同期部と、
前記タグ・キャッシュメモリを第2のクロック信号で駆動し、前記キャッシュアドレスとウエイ情報とをそれぞれ前記第2のクロック信号で同期させた第2のアドレス信号とタグウエイとを、前記タグ・キャッシュメモリに供給する第2のクロック同期部と、
CPUのアクセスアドレスのうちタグに対応する所定のビットフィールドと、前記タグ・キャッシュメモリから読み出された各ウエイのタグと、を比較し一致/不一致を判定するアドレス比較部と、
を備え、
前記第2のクロック信号は、前記第1のクロック信号を予め定められた所定の逓倍数で逓倍したクロック信号であり、
前記タグ・キャッシュメモリの各ウエイからのタグの読み出し時間は、前記データ・キャッシュメモリの対応するウエイからのデータの読み出し時間よりも速められ、
前記タグ・キャッシュメモリ及び前記データ・キャッシュメモリの複数のウエイに対して所定の順番で順次読み出しを行い、
前記第2のクロック信号で駆動される前記タグ・キャッシュメモリの最初のウエイのタグの読み出しサイクルと、前記第1のクロック信号で駆動される前記データ・キャッシュメモリの最初のウエイのデータの読み出しサイクルとは、同一のタイミングで開始され、
前記データ・キャッシュメモリでは、与えられた前記第1のアドレス信号と前記データウエイとから、該当するウエイのデータ格納位置から、データを読み出し、
前記タグ・キャッシュメモリでは、与えられた前記第2のアドレス信号と前記タグウエイから該当するウエイのタグ格納位置からタグを読み出し、
前記データ・キャッシュメモリの最初に指定されたウエイから読み出しデータが出力されるサイクルよりも前に、前記タグ・キャッシュメモリから複数のウエイ分の複数のタグの読み出しが終了するようにした、キャッシュメモリ制御装置。 Tag cache memory for storing tags;
Data cache memory for storing data,
A cache memory control device for controlling a set-associative cache memory having a plurality of ways including:
The data cache memory is driven by a first clock signal, and a first address signal and a data way obtained by synchronizing a cache address and way information with the first clock signal are stored in the data cache memory. A first clock synchronization unit to supply;
The tag cache memory is driven by a second clock signal, and a second address signal and a tag way obtained by synchronizing the cache address and way information with the second clock signal are stored in the tag cache memory. A second clock synchronization unit to supply;
An address comparison unit that compares a predetermined bit field corresponding to a tag among the access addresses of the CPU and a tag of each way read from the tag cache memory to determine match / mismatch;
With
The second clock signal is a clock signal obtained by multiplying the first clock signal by a predetermined multiplication number .
The tag read time from each way of the tag cache memory is faster than the data read time from the corresponding way of the data cache memory,
Read sequentially in a predetermined order for a plurality of ways of the tag cache memory and the data cache memory,
A tag read cycle of the first way of the tag cache memory driven by the second clock signal, and a data read cycle of the first way of the data cache memory driven by the first clock signal Is started at the same time,
In the data cache memory, data is read from the data storage position of the corresponding way from the given first address signal and the data way,
In the tag cache memory, the tag is read from the tag storage position of the corresponding way from the given second address signal and the tag way,
A cache memory in which reading of a plurality of tags for a plurality of ways from the tag cache memory is completed before a cycle in which read data is output from a first designated way of the data cache memory. Control device.
データを格納するデータ・キャッシュメモリと、
を含む2ウエイのセット・アソシアティブ・キャッシュメモリを制御するキャッシュメモリ制御装置であって、
前記データ・キャッシュメモリを第1のクロック信号で駆動し、キャッシュアドレスとウエイ情報とをそれぞれ前記第1のクロック信号で同期させた第1のアドレス信号とデータウエイとを、前記データ・キャッシュメモリに供給する第1のクロック同期部と、
前記タグ・キャッシュメモリを第2のクロック信号で駆動し、前記キャッシュアドレスとウエイ情報とをそれぞれ前記第2のクロック信号で同期させた第2のアドレス信号とタグウエイとを、前記タグ・キャッシュメモリに供給する第2のクロック同期部と、
CPUのアクセスアドレスのうちタグに対応する所定のビットフィールドと、前記タグ・キャッシュメモリから読み出された各ウエイのタグとを比較し一致/不一致を判定するアドレス比較部と、
を備え、
前記第2のクロック信号は、前記第1のクロック信号を2逓倍したクロック信号であり、
前記タグ・キャッシュメモリの各ウエイからのタグの読み出し時間は、前記データ・キャッシュメモリの対応するウエイからのデータの読み出し時間よりも速められ、
前記タグ・キャッシュメモリ及び前記データ・キャッシュメモリの2ウエイに対して所定の順番で順次読み出しを行い、
前記第2のクロック信号で駆動される前記タグ・キャッシュメモリの最初のウエイのタグの読み出しサイクルと、前記第1のクロック信号で駆動される前記データ・キャッシュメモリの最初のウエイのデータの読み出しサイクルとは、同一のタイミングで開始され、
前記データ・キャッシュメモリの最初に指定されたウエイから読み出しデータが出力されるサイクルよりも前に、前記タグ・キャッシュメモリから2ウエイ分のタグの読み出しが終了するようにした、キャッシュメモリ制御装置。 Tag cache memory for storing tags;
Data cache memory for storing data,
A cache memory control device for controlling a two-way set associative cache memory including :
The data cache memory is driven by a first clock signal, and a first address signal and a data way obtained by synchronizing a cache address and way information with the first clock signal are stored in the data cache memory. A first clock synchronization unit to supply;
The tag cache memory is driven by a second clock signal, and a second address signal and a tag way obtained by synchronizing the cache address and way information with the second clock signal are stored in the tag cache memory. A second clock synchronization unit to supply;
An address comparison unit that compares a predetermined bit field corresponding to a tag among access addresses of the CPU and a tag of each way read from the tag cache memory to determine match / mismatch;
With
The second clock signal is a clock signal obtained by multiplying the first clock signal by two,
The tag read time from each way of the tag cache memory is faster than the data read time from the corresponding way of the data cache memory,
Read sequentially in a predetermined order for the two ways of the tag cache memory and the data cache memory,
A tag read cycle of the first way of the tag cache memory driven by the second clock signal, and a data read cycle of the first way of the data cache memory driven by the first clock signal Is started at the same time,
Wherein the data cache first specified way of the memory before the cycle in which the read data is output, the read tags 2-way component from the tag cache memory is to be terminated, the cache memory controller.
前記アドレス比較部の比較結果、及び、前記CPUのアクセスアドレスの予め定められた所定の上位アドレスから、アクセスするウエイを決定するウエイ予測器と、
前記ウエイ予測器で決定されたウエイに対応して前記データウエイを生成するデータウエイ生成部と、
前記ウエイ予測器で決定されたウエイに対応して前記タグウエイを生成するタグウエイ生成部と、
前記タグ・キャッシュメモリの複数のウエイに対応して設けられ、読み出されたタグをそれぞれ格納する複数の第1のレジスタと、
前記データ・キャッシュメモリの複数のウエイに対応して設けられ、読み出されたデータをそれぞれ格納する複数の第2のレジスタと、
前記複数の第2のレジスタのデータから、前記アドレス比較部で一致したウエイのデータを選択するデータ選択部と、
を備え、
前記第1のクロック同期部は、前記キャッシュアドレス生成部からのキャッシュアドレスと、前記データウエイ生成部からのデータウエイとを、前記第1のクロック信号に同期させて、前記第1のアドレス信号と前記データウエイとして出力し、
前記第2のクロック信号は、前記第1のクロック信号を予め定められた所定の逓倍数で逓倍した信号であり、
前記第2のクロック同期部は、前記第2のクロック信号により、前記キャッシュアドレス生成部からの前記キャッシュアドレスと、前記タグウエイ生成部からの前記タグウエイとを同期させて、前記第2のアドレス信号と、前記タグウエイとして出力する、請求項1又は2に記載のキャッシュメモリ制御装置。 A cache address generation unit that generates the cache address from a predetermined lower address of the access address of the CPU;
A way predictor that determines a way to be accessed from a comparison result of the address comparison unit and a predetermined high-order address of the access address of the CPU;
A dataway generator for generating the dataway corresponding to the way determined by the way predictor;
A tagway generator for generating the tagway corresponding to the way determined by the way predictor;
A plurality of first registers provided corresponding to a plurality of ways of the tag cache memory, each storing a read tag;
A plurality of second registers provided corresponding to a plurality of ways of the data cache memory and respectively storing read data;
A data selection unit for selecting the data of the way matched by the address comparison unit from the data of the plurality of second registers;
With
The first clock synchronization unit synchronizes the cache address from the cache address generation unit and the data way from the data way generation unit with the first clock signal, and Output as the dataway,
The second clock signal is a signal obtained by multiplying the first clock signal by a predetermined multiplication number.
The second clock synchronization unit synchronizes the cache address from the cache address generation unit with the tag way from the tag way generation unit based on the second clock signal, and and outputs as the Taguuei, the cache memory control device according to claim 1 or 2.
データを格納するデータ・キャッシュメモリと、
を含む複数ウエイのセット・アソシアティブ・キャッシュメモリを制御するキャッシュメモリ制御方法であって、
前記データ・キャッシュメモリを第1のクロック信号で駆動し、キャッシュアドレスとウエイ情報とをそれぞれ第1のクロック信号で同期させた第1のアドレス信号とデータウエイとを、前記データ・キャッシュメモリに供給し、
前記タグ・キャッシュメモリを第2のクロック信号で駆動し、前記キャッシュアドレスとウエイ情報とをそれぞれ第2のクロック信号で同期させた第2のアドレス信号とタグウエイとを、前記タグ・キャッシュメモリに供給し、
CPUのアクセスアドレスのうちタグに対応する所定のビットフィールドと、前記タグ・キャッシュメモリから読み出された各ウエイのタグとを比較し一致/不一致を判定し、
前記第2のクロック信号は、前記第1のクロック信号を予め定められた所定の逓倍数で逓倍したクロック信号であり、
前記タグ・キャッシュメモリの各ウエイからのタグの読み出し時間は、前記データ・キャッシュメモリの対応するウエイからのデータの読み出し時間よりも速められ、
前記タグ・キャッシュメモリ及び前記データ・キャッシュメモリの複数のウエイに対して所定の順番で順次読み出しを行い、
前記第2のクロック信号で駆動される前記タグ・キャッシュメモリの最初のウエイのタグの読み出しサイクルと、前記第1のクロック信号で駆動される前記データ・キャッシュメモリの最初のウエイのデータの読み出しサイクルとは、同一のタイミングで開始され、
前記データ・キャッシュメモリでは、与えられた前記第1のアドレス信号と前記データウエイとから、該当するウエイのデータ格納位置から、データを読み出し、
前記タグ・キャッシュメモリでは、与えられた前記第2のアドレス信号と前記タグウエイから該当するウエイのタグ格納位置からタグを読み出し、
前記データ・キャッシュメモリの最初に指定されたウエイから読み出しデータが出力されるサイクルよりも前に、前記タグ・キャッシュメモリから複数のウエイ分の複数のタグの読み出しが終了するようにした、キャッシュメモリ制御方法。 Tag cache memory for storing tags;
Data cache memory for storing data,
A cache memory control method for controlling a set-associative cache memory having a plurality of ways including:
The data cache memory is driven by a first clock signal, and a first address signal and a data way obtained by synchronizing the cache address and the way information with the first clock signal are supplied to the data cache memory. And
The tag cache memory is driven by a second clock signal, and a second address signal and a tag way obtained by synchronizing the cache address and way information with the second clock signal are supplied to the tag cache memory. And
A predetermined bit field corresponding to the tag in the access address of the CPU is compared with the tag of each way read from the tag cache memory to determine a match / mismatch,
The second clock signal is a clock signal obtained by multiplying the first clock signal by a predetermined multiplication number .
The tag read time from each way of the tag cache memory is faster than the data read time from the corresponding way of the data cache memory,
Read sequentially in a predetermined order for a plurality of ways of the tag cache memory and the data cache memory,
A tag read cycle of the first way of the tag cache memory driven by the second clock signal, and a data read cycle of the first way of the data cache memory driven by the first clock signal Is started at the same time,
In the data cache memory, data is read from the data storage position of the corresponding way from the given first address signal and the data way,
In the tag cache memory, the tag is read from the tag storage position of the corresponding way from the given second address signal and the tag way,
A cache memory in which reading of a plurality of tags for a plurality of ways from the tag cache memory is completed before a cycle in which read data is output from a first designated way of the data cache memory. Control method.
データを格納するデータ・キャッシュメモリと、
を含む2ウエイ・セット・アソシアティブ・キャッシュメモリを制御するキャッシュメモリ制御方法であって、
前記データ・キャッシュメモリを第1のクロック信号で駆動し、キャッシュアドレスとウエイ情報とをそれぞれ第1のクロック信号で同期させた第1のアドレス信号とデータウエイとを、前記データ・キャッシュメモリに供給し、
前記タグ・キャッシュメモリを第2のクロック信号で駆動し、前記キャッシュアドレスとウエイ情報とをそれぞれ第2のクロック信号で同期させた第2のアドレス信号とタグウエイとを、前記タグ・キャッシュメモリに供給し、
CPUのアクセスアドレスのうちタグに対応する所定のビットフィールドと、前記タグ・キャッシュメモリから読み出された各ウエイのタグとを比較し一致/不一致を判定し、
前記第2のクロック信号は、前記第1のクロック信号を2逓倍したクロック信号であり、前記タグ・キャッシュメモリの各ウエイからのタグの読み出し時間は、前記データ・キャッシュメモリの対応するウエイからのデータの読み出し時間よりも速められ、
前記タグ・キャッシュメモリ及び前記データ・キャッシュメモリの2ウエイに対して所定の順番で順次読み出しを行い、
前記第2のクロック信号で駆動される前記タグ・キャッシュメモリの最初のウエイのタグの読み出しサイクルと、前記第1のクロック信号で駆動される前記データ・キャッシュメモリの最初のウエイのデータの読み出しサイクルとは、同一のタイミングで開始され、
前記データ・キャッシュメモリの最初に指定されたウエイからの読み出しデータが出力されるサイクルよりも前に、前記タグ・キャッシュメモリから2ウエイ分のタグの読み出しが終了する、キャッシュメモリ制御方法。 Tag cache memory for storing tags;
Data cache memory for storing data,
A cache memory control method for controlling a two-way set associative cache memory including :
The data cache memory is driven by a first clock signal, and a first address signal and a data way obtained by synchronizing the cache address and the way information with the first clock signal are supplied to the data cache memory. And
The tag cache memory is driven by a second clock signal, and a second address signal and a tag way obtained by synchronizing the cache address and way information with the second clock signal are supplied to the tag cache memory. And
A predetermined bit field corresponding to the tag in the access address of the CPU is compared with the tag of each way read from the tag cache memory to determine a match / mismatch,
The second clock signal is a clock signal obtained by multiplying the first clock signal by two, and the tag read time from each way of the tag cache memory is from the corresponding way of the data cache memory. Faster than the data read time,
Read sequentially in a predetermined order for the two ways of the tag cache memory and the data cache memory,
A tag read cycle of the first way of the tag cache memory driven by the second clock signal, and a data read cycle of the first way of the data cache memory driven by the first clock signal Is started at the same time,
It said data before the cycle in which the cache data read from the first specified way the memory is output, the read is completed tag 2-way component from the tag cache memory, the cache memory control method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010200982A JP5565864B2 (en) | 2010-09-08 | 2010-09-08 | Cache memory control apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010200982A JP5565864B2 (en) | 2010-09-08 | 2010-09-08 | Cache memory control apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012058973A JP2012058973A (en) | 2012-03-22 |
JP5565864B2 true JP5565864B2 (en) | 2014-08-06 |
Family
ID=46056001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010200982A Expired - Fee Related JP5565864B2 (en) | 2010-09-08 | 2010-09-08 | Cache memory control apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5565864B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200717246A (en) * | 2005-06-24 | 2007-05-01 | Koninkl Philips Electronics Nv | Self-synchronizing data streaming between address-based producer and consumer circuits |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56130877A (en) * | 1980-03-19 | 1981-10-14 | Hitachi Ltd | Control system for burrer memory |
JP2001075864A (en) * | 1999-09-02 | 2001-03-23 | Fujitsu Ltd | Cache controller |
US7290089B2 (en) * | 2002-10-15 | 2007-10-30 | Stmicroelectronics, Inc. | Executing cache instructions in an increased latency mode |
JP2004171177A (en) * | 2002-11-19 | 2004-06-17 | Renesas Technology Corp | Cache system and cache memory controller |
-
2010
- 2010-09-08 JP JP2010200982A patent/JP5565864B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012058973A (en) | 2012-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI454909B (en) | Memory device, method and system to reduce the power consumption of a memory device | |
US6138225A (en) | Address translation system having first and second translation look aside buffers | |
US9641464B2 (en) | FIFO buffer system providing same clock cycle response to pop commands | |
KR100445927B1 (en) | A programmable sram and dram cache interface | |
EP0407119A2 (en) | Apparatus and method for reading, writing and refreshing memory with direct virtual or physical access | |
JP2010191638A (en) | Cache device | |
KR20070094429A (en) | Semiconductor memory, memory system, and operation method of memory system | |
JP2005339348A (en) | Semiconductor device | |
CN108959125B (en) | Storage access method and device supporting rapid data acquisition | |
JPH0529945B2 (en) | ||
US8924652B2 (en) | Simultaneous eviction and cleaning operations in a cache | |
JP4370063B2 (en) | Semiconductor memory device control device and semiconductor memory device control method | |
JP4791714B2 (en) | Method, circuit, and system for using pause time of dynamic frequency scaling cache memory | |
US6272595B1 (en) | N-way set-associative cache memory which includes a store hit buffer for improved data access | |
US20050232060A1 (en) | Memory controller controlling cashed dram | |
TW491970B (en) | Page collector for improving performance of a memory | |
JP3215105B2 (en) | Memory access device | |
US20110004730A1 (en) | Cache memory device, processor, and control method for cache memory device | |
JP5565864B2 (en) | Cache memory control apparatus and method | |
JPH07248963A (en) | Dram controller | |
US7870342B2 (en) | Line cache controller with lookahead | |
KR100398954B1 (en) | Multi-way set associative cache memory and data reading method therefrom | |
JP2004171678A (en) | Apparatus, method, and program for storing information | |
US8886895B2 (en) | System and method for fetching information in response to hazard indication information | |
JP2000195262A (en) | Sdram and method for accessing sdram data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130802 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140304 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140428 |
|
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: 20140520 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140612 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5565864 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |