JP4080527B2 - キャッシュメモリ制御方法およびキャッシュメモリ制御装置 - Google Patents

キャッシュメモリ制御方法およびキャッシュメモリ制御装置 Download PDF

Info

Publication number
JP4080527B2
JP4080527B2 JP2007509291A JP2007509291A JP4080527B2 JP 4080527 B2 JP4080527 B2 JP 4080527B2 JP 2007509291 A JP2007509291 A JP 2007509291A JP 2007509291 A JP2007509291 A JP 2007509291A JP 4080527 B2 JP4080527 B2 JP 4080527B2
Authority
JP
Japan
Prior art keywords
cache
memory
hit
way
refill
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.)
Active
Application number
JP2007509291A
Other languages
English (en)
Other versions
JPWO2006101113A1 (ja
Inventor
圭介 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Application granted granted Critical
Publication of JP4080527B2 publication Critical patent/JP4080527B2/ja
Publication of JPWO2006101113A1 publication Critical patent/JPWO2006101113A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping
    • G06F2212/6082Way prediction in set-associative cache
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明はキャッシュメモリを搭載したマイクロプロセッサにおけるキャッシュメモリ制御方法およびキャッシュメモリ制御装置に関するものである。
マイクロプロセッサにおいて、外部メモリへのアクセスでの実行ペナルティを隠蔽するためにキャッシュメモリが搭載される。また、近年のマイクロプロセッサを搭載したシステムにおいては、プログラムの実行性能を向上させるために、複数のプロセッサコアを搭載したマルチプロセッサシステムや、ひとつのプロセッサで複数のプログラムを効率よく実行するためのマルチスレッド処理が可能なプロセッサが採用されつつある。
マルチプロセッサや、マルチスレッディングプロセッサにおいては、複数のプログラムを実行するときのメモリは、ひとつのメモリ空間を共有して使用する場合が多い。上記のキャッシュメモリについても、各プロセッサ、各スレッドに個別のキャッシュメモリを搭載するのではなく、ひとつのキャッシュメモリ、またはキャッシュメモリシステムを共有して使用する場合が多い。
通常、キャッシュメモリは複数のウェイをもったセットアソシアティブ構成をとる。プログラムがキャッシュメモリをアクセスする場合、アクセスアドレスがキャッシュヒットするかキャッシュミスするかは、通常全ウェイをアクセスして判定される。
マルチプロセッサやマルチスレッド処理を行うプロセッサにおいて、それぞれのプログラムがキャッシングするデータが、互いのプログラムに対して影響を与えないように、キャッシュウェイを割り当てる方法がある。この場合、キャッシュミスの場合には各プログラムに割り当てられたウェイにデータがリフィルされるために、各プログラムにおいてキャッシュヒットするウェイは割り当てられたウェイである確率が高い。
それにもかかわらず、共有メモリをキャッシングする共有キャッシュであるためにヒットミス判定は全ウェイに対して行わなくてはならず、全ウェイをアクセスしてのキャッシュヒットミス判定は無駄な電力を消費している状態となる。
キャッシュアクセス時の消費電力の低減のために、前回アクセスしたウェイに対してのみキャッシュヒットミス判定を行う、あるいは前回アクセスしたウェイに対してはデータアレイのみアクセスする方法(特許文献1)がある。しかし、この方法が有効なのは命令フェッチなど、アドレスがシーケンシャルに変化する場合に限られる。また、マルチプロセッサシステムや、マルチスレッド処理を行うプロセッサの場合、並列処理されているプログラムの命令フェッチアドレスや、データアクセスアドレスは連続にならない場合があり、効果が十分に発揮できない。
特開平11−39216号公報
複数のプロセッサや、スレッドからアクセスされる共有キャッシュメモリにおいて、上記キャッシュメモリが各プロセッサ、またはスレッドに対してリフィルするウェイが割り当て可能なものである場合、割り当てられたウェイにヒットする確率が高いためヒットミス判定を全ウェイに対して同時に行うと無駄な電力を消費する。
したがって、本発明の目的は、キャッシュヒットミス判定に伴う電力の消費を削減することができるキャッシュメモリ制御方法およびキャッシュメモリ制御装置を提供することである。
上記課題を解決するために、本発明のキャッシュメモリ制御方法は、少なくとも2つのメモリ単位から構成されるキャッシュメモリについて、メモリ単位毎に予めキャッシュリフィルの可否を設定しておき、キャッシュメモリのうちキャッシュリフィルが可と設定されたメモリ単位について選択的にアクセスして第1のキャッシュヒットミス判定を行い、キャッシュヒット時にキャッシュメモリへのアクセスを(キャッシュリフィルが可と設定されたメモリ単位へのアクセスのみで)終了するキャッシュメモリ制御方法であって、第1のキャッシュヒットミス判定の結果、キャッシュミスであったときには、キャッシュメモリのうちキャッシュリフィルが否とされたメモリ単位について選択的にアクセスして第2のキャッシュヒットミス判定を行う
この方法によれば、キャッシュメモリのうちキャッシュリフィルが可と設定されたメモリ単位について選択的に第1のキャッシュヒットミス判定を行い、キャッシュヒット判定時にキャッシュメモリへのアクセスを(キャッシュリフィルが可と設定されたメモリ単位へのアクセスのみで)終了するので、キャッシュヒットミス判定に伴う電力の消費を削減することができる。しかも、キャッシュリフィルが可と設定されたメモリ単位は、キャッシュヒットする確率が高いので、キャッシュリフィルが可と設定されたメモリ単位へのアクセスのみで終了する確率が高く、消費電力を有効に削減できる
また、キャッシュリフィルが否とされたメモリ単位について第2のキャッシュヒットミス判定を行うので、それぞれが許可されているメモリ単位が異なる複数のアクセスでアクセスされるキャッシュメモリであっても、同一のアドレス空間をキャッシングすることが可能となる。
また、上記本発明のキャッシュメモリ制御方法においては、第1のキャッシュヒットミス判定の結果、キャッシュミスであったときには、キャッシュメモリのうちキャッシュリフィルが否とされたメモリ単位について選択的にアクセスして第2のキャッシュヒットミス判定を行う代わりに、キャッシュメモリの全てのメモリ単位についてアクセスして第2のキャッシュヒットミス判定を行うようにしてもよい。
この方法によれば、すべてのメモリ単位について第2のキャッシュヒットミス判定を行うので、それぞれが許可されているメモリ単位が異なる複数のアクセスでアクセスされるキャッシュメモリであっても、同一のアドレス空間をキャッシングすることが可能となる
本発明のキャッシュメモリ制御装置は、少なくとも2つのメモリ単位から構成されるキャッシュメモリと、キャッシュメモリについてメモリ単位毎にキャッシュリフィルの可否を設定するキャッシュリフィル可否設定部と、キャッシュリフィル可否設定部の設定状態に応じてキャッシュメモリのうちキャッシュリフィル可否設定部によってキャッシュリフィル可と設定されたメモリ単位について選択的にアクセスを可能とするメモリ単位選択手段と、キャッシュリフィル可と設定されたメモリ単位について第1のキャッシュメモリヒットミス判定を行い、キャッシュヒット時にキャッシュメモリへのアクセスを(キャッシ
ュリフィルが可と設定されたメモリ単位へのアクセスのみで)終了させるヒットミス制御部とを備えている。
そして、メモリ単位選択手段は、ヒットミス制御部によりキャッシュミスと判定された時に、キャッシュメモリのうちキャッシュリフィルが否とされたメモリ単位について選択的にアクセスを可能とし、ヒットミス制御部は、キャッシュリフィルが否とされたメモリ単位について第2のキャッシュヒットミス判定を行う。
この構成によれば、キャッシュメモリのうちキャッシュリフィルが可と設定されたメモリ単位について選択的に第1のキャッシュヒットミス判定を行い、キャッシュヒット判定時にキャッシュメモリへのアクセスを(キャッシュリフィルが可と設定されたメモリ単位へのアクセスのみで)終了するので、キャッシュヒットミス判定に伴う電力の消費を削減することができる。しかも、キャッシュリフィルが可と設定されたメモリ単位は、キャッシュヒットする確率が高いので、キャッシュリフィルが可と設定されたメモリ単位へのアクセスのみで終了する確率が高く、消費電力を有効に削減できる
また、キャッシュリフィルが否とされたメモリ単位について第2のキャッシュヒットミス判定を行うので、それぞれが許可されているメモリ単位が異なる複数のアクセスでアクセスされるキャッシュメモリであっても、同一のアドレス空間をキャッシングすることが可能となる。
また、上記本発明のキャッシュメモリ制御装置においては、メモリ単位選択手段が、ヒットミス制御部によりキャッシュミスと判定された時に、キャッシュメモリのうちキャッシュリフィルが否とされたメモリ単位について選択的にアクセスを可能とし、ヒットミス制御部が、キャッシュリフィルが否とされたメモリ単位について第2のキャッシュヒットミス判定を行う代わりに、メモリ単位選択手段、ヒットミス制御部によりキャッシュミスと判定された時に、キャッシュメモリの全てのメモリ単位についてアクセスを可能とし、ヒットミス制御部、キャッシュメモリの全てのメモリ単位について第2のキャッシュヒットミス判定を行うようにしてもよい。
この構成によれば、すべてのメモリ単位について第2のキャッシュヒットミス判定を行うので、それぞれが許可されているメモリ単位が異なる複数のアクセスでアクセスされるキャッシュメモリであっても、同一のアドレス空間をキャッシングすることが可能となる
本発明を用いれば、マルチプロセッサやマルチスレッド処理するCPU(Central Processing Unit)を搭載し共有キャッシュメモリを搭載するシステムにおいて、キャッシュメモリ制御部が各プロセッサまたはスレッドに対してリフィルするウェイを割り当て可能な場合、キャッシュアクセスサイクルの性能を低下させることなくキャッシュアクセスの電力低減が可能となる。
以下、本発明の実施例を、図面を参照しながら説明する。
図1は実施例1におけるキャッシュメモリ制御装置のシステム構成図を示す。図1にはリードアクセス時のキャッシュヒット動作に必要な機能部を示している。このシステムは、CPU1(1−1)およびCPU2(1−2)がキャッシュ制御部(1−3)によりキャッシュメモリ(1−4)を共有して動作する。
キャッシュ制御部(1−3)において、符号(1−5)はアクセス調停制御部を示し、符号(1−6)はリフィル許可ウェイ設定部を示し、符号(1−7)はCS(Chip Select)信号生成部を示し、符号(1−8)はヒットミス制御部を示す。符号(1−43)は許可設定レジスタ1、符号(1−44)は許可設定レジスタ2を示す。符号(1−41)はバス制御部であるBCU(Bus Control Unit)を示し、符号(1−42はIO(Input/Output)バスを示す。
キャッシュメモリ(1−4)において、符号(1−9)はウェイ1を示し、符号(1−10)はウェイ2を示し、符号(1−11)はウェイ3を示し、符号(1−12)はウェイ4を示す。
符号(1−13)はCPU1リクエストを示し、符号(1−14)はCPU1IDを示し、符号(1−15)はCPU1アドレスを示す。符号(1−16)はCPU2リクエストを示し、符号(1−17)はCPU2IDを示し、符号(1−18)はCPU2アドレスを示す。符号(1−19)はキャッシュ制御部(1−3)によるアクセスアドレスを示す。
符号(1−20)はウェイ1CS信号を示し、符号(1−21)はウェイ2CS信号を示し、符号(1−22)はウェイ3CS信号を示し、符号(1−23)はウェイ4CS信号を示す。各ウェイのCS信号、つまり符号(1−20)〜(1−23)で示す各信号は負論理の信号とする。符号(1−24)はウェイ1ヒット信号を示し、符号(1−25)はウェイ2ヒット信号を示し、符号(1−26)はウェイ3ヒット信号を示し、符号(1−27)はウェイ4ヒット信号を示す。符号(1−28)はデータセレクト信号を示す。符号(1−29)はウェイ1データを示し、符号(1−30)はウェイ2データを示し、符号(1−31)はウェイ3データを示し、符号(1−32)はウェイ4データを示す。符号(1−33)はキャッシュリードデータを示す。符号(1−34)はウェイセレクタを示す。符号(1−35)はアクセス終了信号を示す。符号(1−36)はCPU1アクノリッジを示し、符号(1−37)はCPU2アクノリッジを示す。符号(1−38)はクロックを示す。符号(1−39)はアクセスIDを示す。符号(1−40)はリフィル許可情報を示す。
以下、この実施例のキャッシュメモリ制御装置について詳しく説明する。CPU1(1−1)およびCPU2(1−2)からメモリアクセスが行われる場合、キャッシュ制御部(1−3)のアクセス調停制御部(1−5)において、どちらのCPUからのアクセスを行うかが調停され、処理を受理したCPUのIDからキャッシュアクセスを行うアクセスID(1−39)が生成される。ここでは、処理を受理したCPUのIDがそのままアクセスID(1−39)となる。
アクセスID(1−39)によりキャッシュ制御部(1−3)は、例えばCPU1アドレス(1−15)を選択してキャッシュメモリ(1−4)へ送る。
キャッシュ制御部(1−3)にはリフィル許可ウェイ設定部(1−6)を有しており、CPU1(1−1)およびCPU2(1−2)で実行中のプログラムがどのウェイに対してリフィルを許可するかを設定する許可設定レジスタ1(1−43)、許可設定レジスタ2(1−44)がある。許可設定レジスタ1(1−43)はCPU1(1−1)に対しての設定を保持し、許可設定レジスタ2はCPU2に対しての設定を保持する。また、許可設定レジスタ1(1−43)、許可設定レジスタ2(1−43)はBCU(1−41)からIOバス(1−42)を経由してアクセス可能なレジスタであり、ソフトウェアにより自由に設定可能なものである。
キャッシュメモリ(1−4)はセットアソシアティブ構成を有している。図には4ウェイセットアソシアティブの構成のキャッシュメモリ(1−4)が示されている。具体的には、キャッシュメモリ(1−4)は、ウェイ1(1−9)、ウェイ2(1−10)、ウェイ3(1−11)、ウェイ4(1−12)の4つのメモリブロック(メモリ単位)から構成される。各ウェイはタグデータを保持しているタグメモリと、データを保持しているデータメモリとから構成される。
各ウェイへのアクセスは、CS信号生成部(1−7)からCS信号が入力されることにより実行される。ウェイ1(1−9)に対してはCS信号生成部(1−7)がウェイ1CS信号(1−20)を生成して入力する。CS信号が入力されたウェイ1(1−9)は、アクセスアドレス(1−19)、この例ではCPU1アドレス(1−15)に対してキャッシュヒットミス判定を行い、ウェイ1ヒット信号(1−24)をヒットミス制御部(1−8)に出力する。キャッシュヒットの場合にはウェイ1内のデータメモリからウェイ1データ(1−29)を出力する。他のウェイも同様に動作する。
ヒットミス制御部(1−8)はウェイ1ヒット信号(1−24)、ウェイ2ヒット信号(1−25)、ウェイ3ヒット信号(1−26)、ウェイ4ヒット信号(1−27)を受け、いずれかのヒット信号がアサートされていればキャッシュヒットと判断し、データセレクト信号(1−28)を出力する。また、ヒットミス制御部(1−8)は、データセレクト信号(1−28)の出力と同時にアクセス終了信号(1−35)を出力し、アクセスが終了することをアクセス調停制御部(1−5)に知らせ、アクセス調停制御部(1−5)はいまアクセスしているアクセスID(1−39)を基にCPU1アクノリッジ(1−36)、または、CPU2アクノリッジ(1−37)を出力する。
ウェイセレクタ(1−34)は、上記したようにデータセレクト信号(1−28)を受け、ヒットしたウェイのデータを選択し、キャッシュリードデータ(1−33)をCPU1(1−1)とCPU2(1−2)に出力する。
図2は本発明の実施例1におけるキャッシュアクセスのフローチャートを示す。CPU1(1−1)またはCPU2(1−2)からアクセスが発生すると、アクセス調停制御部(1−5)でアクセスを受理するCPUを決定し、アクセスID(1−39)を生成し、キャッシュアクセスを開始する。
キャッシュアクセスを開始すると、リフィル許可ウェイ設定部(1−6)からCS信号生成部(1−7)へ、アクセスID(1−39)を元にリフィル許可情報(1−40)が出力される。CPU1(1−1)を受理した場合には許可設定レジスタ1(1−43)の内容が、CPU2(1−2)を受理した場合には、許可設定レジスタ2(1−44)の内容がリフィル許可情報(1−40)として出力される。その結果、CS信号生成部(1−7)では、割り当てられたウェイに対してのみCS信号を生成し、それによって割り当てられたウェイに対してアクセスが行われる(ステップ2−1)。
アクセスが行われたウェイは、ヒットミス判定を行い、ヒットミス判定を行った結果であるヒット信号をヒットミス制御部(1−8)に返す。ヒットミス制御部(1−8)では第1のヒットミス判定が行われる(ステップ2−2)。
ヒットミス制御部(1−8)はいずれかのウェイからヒット信号がアサートされた場合、ヒットと判定し、ヒットしたウェイのデータを出力(ステップ2−6)した後、アクセスを終了する(ステップ2−7)。
ステップ2−2でミスであるとヒットミス制御部(1−8)で判定された場合、CS信号生成部(1−7)では、リフィル許可ウェイ設定部(1−6)内の許可設定レジスタ1(1−43)で割り当てられていない残りのウェイに対してCS信号を生成し、第2のアクセスを行う(ステップ2−3)。
第2のアクセスが行われたウェイは、ヒットミス判定を行った結果であるヒット信号をヒットミス制御部(1−8)に返す。ヒットミス制御部(1−8)では第2のヒットミス判定が行われる(ステップ2−4)。いずれかのウェイからヒット信号がアサートされた場合、ヒットと判定し、ヒットしたウェイのデータを出力(ステップ2−6)した後、アクセスを終了する(ステップ2−7)。
第2のヒットミス判定(ステップ2−4)がミスの場合、外部メモリからのリフィルの処理が開始される(ステップ2−5)。
図3は実施例1におけるタイミング図であり、割り当てられたウェイ内でヒットする場合のタイミング図である。図ではCPU1(1−1)からのアクセスがあった場合を示している。
また、CPU1(1−1)に対して、リフィル許可ウェイ設定部(1−6)ではウェイ1とウェイ2に対してリフィルの許可が設定されているとする。
サイクル3−1でCPU1(1−1)からのキャッシュリクエストが発生し、アクセス調停制御部(1−5)においてCPU1(1−1)からのアクセスが受理され、アクセスID(1−39)が生成される。すなわち、アクセスID(1−39)はCPU1(1−1)を示す「ID1」が出力される。
リフィル許可ウェイ設定部(1−6)はアクセスID(1−39)からリフィル許可情報(1−40)として「0011」をCS信号生成部(1−7)に出力する。図ではリフィル許可情報(1−40)は各ビットが各ウェイに対応し、1であれば許可されていることを示す。
CS信号生成部(1−7)はウェイ1、ウェイ2のみのCS信号を生成し、ウェイ1CS信号(1−20)、ウェイ2CS信号(1−21)をアサートし、ウェイ3CS信号(1−22)、ウェイ4CS信号(1−23)はアサートしない。
CS信号が入力されたウェイ1(1−9)、ウェイ2(1−10)は、アクセスアドレス(1−19)に対してヒットミス判定を行い、サイクル3−2において、ウェイ1ヒット信号(1−24)、ウェイ2ヒット信号(1−25)を出力する。図3ではではウェイ1にヒットする場合を示している。
ヒットミス制御部(1−8)は、ウェイ1ヒット信号(1−24)、ウェイ2ヒット信号(1−25)を見て、ウェイ1にヒットしたと判定しアクセス終了信号(1−35)を出力し、キャッシュ制御を終了する。同時にデータセレクト信号(1−28)としてウェイ1を選択する信号を出力する。
アクセス調停制御部(1−5)ではアクセス終了信号(1−35)と、アクセスID(1−39)とから、アクセスID(1−39)が示すCPUに対してアクノリッジ信号を返す。図ではCPU1(1−1)からのアクセスであるため、CPU1アクノリッジ(1−36)をアサートする。
ウェイセレクタ(1−34)ではデータセレクト信号(1−28)をみてウェイ1データ(1−29)を選択し、キャッシュリードデータ(1−33)としてウェイ1のデータを出力する。
マルチプロセッサの各CPUや各スレッドにキャッシュをリフィルするウェイを割り当て、リフィルするウェイが各CPU、各スレッドで限定される場合、キャッシュアクセスがヒットするウェイは上記の割り当てられたウェイ内である確率が高い。特に、各CPU、各スレッドがメモリ空間を分割して同一物理メモリ内でも共有メモリ空間がない場合にはその確率は100%になる。
このような場合、共有キャッシュメモリの全ウェイにアクセスしても、割り当てられた
ウェイ内でヒットする確率が高いために、割り当てられていないウェイのメモリを動作させることは電力が無駄に消費されることになる。
割り当てられたウェイのみアクセスし、そのウェイ内でヒットする場合には残りのウェイをアクセスする必要が無い。
また、本発明の方法では割り当てられたウェイ内でヒットする場合、第1のアクセスで全ウェイアクセスする場合とアクセス終了までのサイクル数は変わらない。
本発明により、前述した割り当てられたウェイ内にヒットする確率を考慮すれば性能劣化なしに電力低減を実現可能である。
図4は実施例1におけるタイミング図であり、割り当てられたウェイ以外にヒットする場合のタイミング図である。図4ではウェイ3にヒットする場合の動作を示す。サイクル3−4の動作は図3のサイクル3−1と同じである。
サイクル3−5において、アクセスされたウェイ1、ウェイ2にはヒットしないために、ウェイ1ヒット信号(1−24)およびウェイ2ヒット信号(1−25)はアサートされない。キャッシュ制御部(1−3)は第1のヒットミス判定でヒットしなかったと判断し、第2のヒットミス判定を開始する。
サイクル3−5では割り当てられていないウェイ3、ウェイ4のアクセスを行うためCS信号生成部(1−7)からウェイ3CS信号(1−22)、ウェイ4CS信号(1−23)を生成する。
サイクル3−6ではウェイ3ヒット信号(1−26)と、ウェイ4ヒット信号(1−27)が出力される。
ヒットミス制御部(1−8)は第2の判定サイクルを行い、ウェイ3ヒット信号(1−26)からウェイ3がヒットしたとしてキャッシュ制御を終了し、アクセス終了信号(1−35)を出力する。同時に、データセレクト信号(1−28)としてウェイ3のセレクト信号を出力する。
ウェイセレクタ(1−34)ではデータセレクト信号(1−28)をみてウェイ3データ(1−31)を選択し、キャッシュリードデータ(1−33)としてウェイ3のデータを出力する。
なお、図示はしていないが、図3のサイクル3−6においてウェイ3ヒット信号(1−26)、ウェイ4ヒット信号(1−27)がともにアサートされない場合、ヒットミス制御部(1−8)はキャッシュミスと判断し、サイクル3−6以降において、キャッシュ制御部(1−3)は外部メモリからのリフィルの処理を開始する。
上記2段階のアクセスを行えば、共有メモリ空間内で自CPU以外のCPUによって、自CPUに割り当てられているウェイ以外のウェイにヒットするデータが存在している場合でもキャッシュからのデータリードが可能である。
また、キャッシュアクセスによって外部メモリにアクセスする必要もなく、全ウェイアクセス時と同様に共有キャッシュメモリを使用可能である。
また、前述したように通常キャッシュヒットするウェイは割り当てられたウェイ内にヒ
ットする確率が高いために、プログラムの全体実行から考えると全ウェイアクセス時と同等のアクセス性能で電力低下が実現可能である。
なお、本実施例ではリードアクセスを説明しているが、ライトアクセスについても同様の方法で電力低下を実現可能である。
また、本実施例ではキャッシュメモリの各ウェイはCS信号が入力されるとヒットミス判定を行いデータ出力するキャッシュメモリで説明しているが、キャッシュメモリ内のタグメモリ、データメモリは、タグメモリ用のCS信号、データメモリ用のCS信号で別々にアクセス可能なキャッシュメモリでも同様の処理を実行することが可能である。
図5は本発明の実施例2におけるキャッシュアクセスのフローチャートである。
実施例2では、実施例1においての第2のアクセス時のアクセスウェイ数が異なるのみであり、アクセス開始から、第1のアクセスまでのステップ(ステップ2−1,2−2)と、第2のアクセス以降のステップ(ステップ2−4,2−5,2−6,2−7)は同じである。
実施例2では第2のアクセス(ステップ3−1)において、全ウェイに対してアクセスを行う。
図6は実施例2におけるタイミング図である。図には割り当てられていないウェイにヒットした場合のタイミングを示している。
なお、割り当てられたウェイにヒットする場合は実施例1とまったく同じアクセスタイミング(図3)である。
サイクル6−1の動作は図3のサイクル3−1と同じである。
サイクル6−1において、アクセスされたウェイ1、ウェイ2にはヒットしないために、ウェイ1ヒット信号(1−24)およびウェイ2ヒット信号(1−25)はアサートされない。キャッシュ制御部(1−3)は第1のヒットミス判定でヒットしなかったと判断し、第2のヒットミス判定を開始する。
サイクル6−2では全ウェイのアクセスを行う。CS信号生成部(1−7)からウェイ1CS信号(1−20)、ウェイ2CS信号(1−21)、ウェイ3CS信号(1−22)、ウェイ4CS信号(1−23)を生成する。
サイクル6−3では、ウェイ1ヒット信号(1−24)、ウェイ2ヒット信号(1−25)、ウェイ3ヒット信号(1−26)、ウェイ4ヒット信号(1−27)が出力される。
ヒットミス制御部(1−8)は第2のヒットミス判定を行い、ウェイ3ヒット信号(1−26)からウェイ3がヒットしたとしてキャッシュ制御を終了し、アクセス終了信号(1−35)を出力する。同時に、データセレクト信号(1−28)としてウェイ3のセレクト信号を出力する。
ウェイセレクタ(1−34)ではデータセレクト信号(1−28)をみてウェイ3データ(1−31)を選択し、キャッシュリードデータ(1−33)としてウェイ3のデータを出力する。
なお、実施例1と同様、実施例2でもリードアクセスのみ示しているが、同様の方法をライトアクセスに対しても適用できる。
図7に実施例3におけるキャッシュメモリ制御装置のシステム構成図を示す。図7にはリードアクセス時のキャッシュヒット動作に必要な機能部を示している。
このシステムにおけるCPU(7−1)は、複数のプログラムを時間単位でプログラムカウンタなどの内部資源情報を切り替えて実行するCPU、あるいは、一つのCPUで複数のプログラムを並列実行するCPUである(マルチスレッド)。ここで、本実施例のCPU(7−1)は、通常のマルチスレッド動作をし、メモリアクセスの実行中にスレッドが切り替わらないCPUであるとする。
符号(7−2)はアクセス制御部を示し、符号(7−3)はCPUアドレスを示し、符号(7−4)はCPUリクエストを示し、符号(7−5)はCPUアクノリッジを示し、符号(7−6)は処理IDを示す。符号(7−7)は処理ID毎のリフィル許可ウェイの設定を保持する許可設定レジスタを示す。
CPU(7−1)からアクセスが行われる場合、CPUリクエスト(7−4)が出力され、それと同期して現在実行している処理の識別子である処理ID(7−6)が出力される。アクセス制御部(7−2)はCPUリクエスト(7−4)を受けてキャッシュアクセスを開始する。またアクセスID(1−39)をリフィル許可ウェイ設定部(1−6)に出力する。リフィル許可ウェイ設定部(1−6)には処理ID毎にリフィル許可ウェイを設定可能な許可設定レジスタ(7−7)があり、アクセスID(1−39)に対応する設定をリフィル許可情報(1−40)として出力する。この実施例では、処理ID(7−6)がそのままアクセスID(1−39)として出力されるが、処理ID(7−6)と対応がとれれば異なるデータであってもよい。
その後の処理は、実施例1、および実施例2と同様であり、同様の効果が得られる。
上記したように、CPU(7−1)は、通常のマルチスレッド動作をし、リードアクセス途中に(リードデータが返ってくる前に)スレッドが切り替わることはない。すなわち、キャッシュリードデータ(1−33)がCPU(7−1) に入力されるまでスレッドは切り替わらない。したがって、キャッシュリードデータ(1−33)は常にそのリードアクセスを起動した処理ID(7−6)に対応するデータとなる。したがって、キャッシュリードデータ1−33をCPU(7−1)がそのまま取り込めばよい。
また、実施例1同様、リードアクセスのみの機能を示しているが、同様の方法をライトアクセスに対しても適用できる。
なお、上記の各実施例では、第1のヒットミス判定の結果、キャッシュヒットの場合キャッシュメモリへのアクセスを完了し、キャッシュミスの場合キャッシュメモリの残りのウェイもしく全ウェイへのアクセスを行い、第2のヒットミス判定を行うようにしていた。しかし、第1のヒットミス判定の結果、キャッシュミスの場合にキャッシュメモリの残りのウェイもしく全ウェイへのアクセスを行わず、つまり第2のヒットミス判定を行わず、外部メモリからのリフィルの処理を開始させるようにしてもよい。
本発明に係るキャッシュメモリ制御装置は、キャッシュアクセスサイクルの性能をほとんど低下させることなくキャッシュアクセスの電力低減が可能となるという効果を有し、マルチプロセッサやマルチスレッド処理するCPUを搭載し共有キャッシュメモリを搭載するシステムとして有用である。
図1は本発明の実施例1におけるキャッシュメモリ制御装置のシステム構成を示すブロック図である。 図2は本発明の実施例1におけるキャッシュアクセスのフローチャートである。 図3は本発明の実施例1におけるキャッシュメモリ制御装置のタイミング図(割り当てウェイ内のヒット)である。 図4は本発明の実施例1におけるキャッシュメモリ制御装置のタイミング図(割り当てウェイ以外でのヒット)である。 図5は本発明の実施例2におけるキャッシュアクセスのフローチャートである。 図6は本発明の実施例2におけるキャッシュメモリ制御装置のタイミング図である。 図7は本発明の実施例3におけるキャッシュメモリ制御装置のシステム構成を示すブロック図である。
符号の説明
(1−1) CPU1
(1−2) CPU2
(1−3) キャッシュ制御部
(1−4) キャッシュメモリ
(1−5) アクセス調停制御部
(1−6) リフィル許可ウェイ設定部
(1−7) CS信号生成部
(1−8) ヒットミス制御部
(1−9) ウェイ1
(1−10) ウェイ2
(1−11) ウェイ3
(1−12) ウェイ4
(1−13) CPU1リクエスト
(1−14) CPU1ID
(1−15) CPU1アドレス
(1−16) CPU2リクエスト
(1−17) CPU2ID
(1−18) CPU2アドレス
(1−19) アクセスアドレス
(1−20) ウェイ1CS信号
(1−21) ウェイ2CS信号
(1−22) ウェイ3CS信号
(1−23) ウェイ4CS信号
(1−24) ウェイ1ヒット信号
(1−25) ウェイ2ヒット信号
(1−26) ウェイ3ヒット信号
(1−27) ウェイ4ヒット信号
(1−28) データセレクト信号
(1−29) ウェイ1データ
(1−30) ウェイ2データ
(1−31) ウェイ3データ
(1−32) ウェイ4データ
(1−33) キャッシュリードデータ
(1−34) ウェイセレクタ
(1−35) アクセス終了信号
(1−36) CPU1アクノリッジ
(1−37) CPU2アクノリッジ
(1−38) クロック
(1−39) アクセスID
(1−40) リフィル許可情報
(1−41) BCU
(1−42) IOバス
(1−43) 許可設定レジスタ1
(1−44) 許可設定レジスタ2
2−1 第1アクセスのステップ
2−2 第1のヒットミス判定のステップ
2−3 第2アクセスのステップ
2−4 第2のヒットミス判定のステップ
2−5 キャッシュリフィルのステップ
2−6 データ出力のステップ
2−7 アクセス終了のステップ

Claims (4)

  1. 少なくとも2つのメモリ単位から構成されるキャッシュメモリについて、メモリ単位毎に予めキャッシュリフィルの可否を設定しておき、前記キャッシュメモリのうちキャッシュリフィルが可と設定されたメモリ単位について選択的にアクセスして第1のキャッシュヒットミス判定を行い、キャッシュヒット時に前記キャッシュメモリへのアクセスを終了するキャッシュメモリ制御方法であって、
    前記第1のキャッシュヒットミス判定の結果、キャッシュミスであったときには、前記キャッシュメモリのうちキャッシュリフィルが否とされたメモリ単位について選択的にアクセスして第2のキャッシュヒットミス判定を行うキャッシュメモリ制御方法。
  2. 少なくとも2つのメモリ単位から構成されるキャッシュメモリについて、メモリ単位毎に予めキャッシュリフィルの可否を設定しておき、前記キャッシュメモリのうちキャッシュリフィルが可と設定されたメモリ単位について選択的にアクセスして第1のキャッシュヒットミス判定を行い、キャッシュヒット時に前記キャッシュメモリへのアクセスを終了するキャッシュメモリ制御方法であって、
    前記第1のキャッシュヒットミス判定の結果、キャッシュミスであったときには、前記キャッシュメモリの全てのメモリ単位についてアクセスして第2のキャッシュヒットミス判定を行うキャッシュメモリ制御方法。
  3. 少なくとも2つのメモリ単位から構成されるキャッシュメモリと、前記キャッシュメモリについてメモリ単位毎にキャッシュリフィルの可否を設定するキャッシュリフィル可否設定部と、前記キャッシュリフィル可否設定部の設定状態に応じて前記キャッシュメモリのうち前記キャッシュリフィル可否設定部によってキャッシュリフィル可と設定されたメモリ単位について選択的にアクセスを可能とするメモリ単位選択手段と、前記キャッシュリフィル可と設定されたメモリ単位について第1のキャッシュメモリヒットミス判定を行い、キャッシュヒット時に前記キャッシュメモリへのアクセスを終了させるヒットミス制御部とを備え、
    前記メモリ単位選択手段は、前記ヒットミス制御部によりキャッシュミスと判定された時に、前記キャッシュメモリのうちキャッシュリフィルが否とされたメモリ単位について選択的にアクセスを可能とし、前記ヒットミス制御部は、前記キャッシュリフィルが否とされたメモリ単位について第2のキャッシュヒットミス判定を行うキャッシュメモリ制御装置。
  4. 少なくとも2つのメモリ単位から構成されるキャッシュメモリと、前記キャッシュメモリについてメモリ単位毎にキャッシュリフィルの可否を設定するキャッシュリフィル可否設定部と、前記キャッシュリフィル可否設定部の設定状態に応じて前記キャッシュメモリのうち前記キャッシュリフィル可否設定部によってキャッシュリフィル可と設定されたメモリ単位について選択的にアクセスを可能とするメモリ単位選択手段と、前記キャッシュリフィル可と設定されたメモリ単位について第1のキャッシュメモリヒットミス判定を行い、キャッシュヒット時に前記キャッシュメモリへのアクセスを終了させるヒットミス制御部とを備え、
    前記メモリ単位選択手段は、前記ヒットミス制御部によりキャッシュミスと判定された時に、前記キャッシュメモリの全てのメモリ単位についてアクセスを可能とし、前記ヒットミス制御部は、前記キャッシュメモリの全てのメモリ単位について第2のキャッシュヒットミス判定を行うキャッシュメモリ制御装置。
JP2007509291A 2005-03-22 2006-03-22 キャッシュメモリ制御方法およびキャッシュメモリ制御装置 Active JP4080527B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005081544 2005-03-22
JP2005081544 2005-03-22
PCT/JP2006/305676 WO2006101113A1 (ja) 2005-03-22 2006-03-22 キャッシュメモリ制御方法およびキャッシュメモリ制御装置

Publications (2)

Publication Number Publication Date
JP4080527B2 true JP4080527B2 (ja) 2008-04-23
JPWO2006101113A1 JPWO2006101113A1 (ja) 2008-09-04

Family

ID=37023773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007509291A Active JP4080527B2 (ja) 2005-03-22 2006-03-22 キャッシュメモリ制御方法およびキャッシュメモリ制御装置

Country Status (5)

Country Link
US (1) US7636812B2 (ja)
EP (1) EP1862906A4 (ja)
JP (1) JP4080527B2 (ja)
CN (1) CN101107599B (ja)
WO (1) WO2006101113A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4635063B2 (ja) * 2008-03-11 2011-02-16 株式会社東芝 キャッシュメモリ制御回路及びプロセッサ
US8589629B2 (en) * 2009-03-27 2013-11-19 Advanced Micro Devices, Inc. Method for way allocation and way locking in a cache
US8244982B2 (en) * 2009-08-21 2012-08-14 Empire Technology Development Llc Allocating processor cores with cache memory associativity
JP6012263B2 (ja) * 2011-06-09 2016-10-25 株式会社半導体エネルギー研究所 半導体記憶装置
US9753858B2 (en) 2011-11-30 2017-09-05 Advanced Micro Devices, Inc. DRAM cache with tags and data jointly stored in physical rows
US8984368B2 (en) 2012-10-11 2015-03-17 Advanced Micro Devices, Inc. High reliability memory controller
US9400544B2 (en) 2013-04-02 2016-07-26 Apple Inc. Advanced fine-grained cache power management
US8984227B2 (en) * 2013-04-02 2015-03-17 Apple Inc. Advanced coarse-grained cache power management
US9396122B2 (en) 2013-04-19 2016-07-19 Apple Inc. Cache allocation scheme optimized for browsing applications

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875464A (en) * 1991-12-10 1999-02-23 International Business Machines Corporation Computer system with private and shared partitions in cache
JPH08263370A (ja) * 1995-03-27 1996-10-11 Toshiba Microelectron Corp キャッシュメモリシステム
JPH0950401A (ja) * 1995-08-09 1997-02-18 Toshiba Corp キャッシュメモリ及びそれを備えた情報処理装置
JP3348367B2 (ja) 1995-12-06 2002-11-20 富士通株式会社 多重アクセス方法および多重アクセスキャッシュメモリ装置
US6351788B1 (en) * 1996-10-30 2002-02-26 Hitachi, Ltd. Data processor and data processing system
JPH11139216A (ja) 1997-11-12 1999-05-25 Primo Hanbai Kk 車載用機器のホルダー装置
GB9727485D0 (en) * 1997-12-30 1998-02-25 Sgs Thomson Microelectronics Processing a data stream
JP2000099399A (ja) 1998-09-19 2000-04-07 Apriori Micro Systems:Kk ウェイ予測型キャッシュメモリとそのアクセス方法
KR100351504B1 (ko) * 2000-06-05 2002-09-05 삼성전자 주식회사 캐쉬 메모리, 그의 전력 소비 절감 방법 그리고 캐쉬메모리를 구비하는 데이터 처리 시스템
JP2002342163A (ja) 2001-05-15 2002-11-29 Fujitsu Ltd マルチスレッドプロセッサ用キャッシュ制御方式
US6823426B2 (en) * 2001-12-20 2004-11-23 Intel Corporation System and method of data replacement in cache ways
US7055004B2 (en) * 2003-09-04 2006-05-30 International Business Machines Corporation Pseudo-LRU for a locking cache
US7516275B2 (en) * 2006-04-25 2009-04-07 International Business Machines Corporation Pseudo-LRU virtual counter for a locking cache

Also Published As

Publication number Publication date
CN101107599B (zh) 2011-09-21
EP1862906A4 (en) 2009-01-07
WO2006101113A1 (ja) 2006-09-28
JPWO2006101113A1 (ja) 2008-09-04
EP1862906A1 (en) 2007-12-05
US20090235028A1 (en) 2009-09-17
CN101107599A (zh) 2008-01-16
US7636812B2 (en) 2009-12-22

Similar Documents

Publication Publication Date Title
JP4080527B2 (ja) キャッシュメモリ制御方法およびキャッシュメモリ制御装置
JP4838240B2 (ja) 情報処理装置における電力制御装置
JP5413001B2 (ja) キャッシュメモリ
US8250332B2 (en) Partitioned replacement for cache memory
US8756605B2 (en) Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline
US5706407A (en) System for reallocation of memory banks in memory sized order
US20060136919A1 (en) System and method for controlling thread suspension in a multithreaded processor
US7363406B2 (en) Dynamic access scheduling memory controller
US8645612B2 (en) Information processing device and information processing method
JP4803983B2 (ja) 演算処理装置
JP2002530731A (ja) 異常メモリアクセスまたは異なる時間のメモリアクセス実行の際のデータバス上のデータ衝突を検出するための方法および装置
JP2002342163A (ja) マルチスレッドプロセッサ用キャッシュ制御方式
US6898671B2 (en) Data processor for reducing set-associative cache energy via selective way prediction
WO2004046921A2 (en) Cost-aware design-time/run-time memory management methods and apparatus
JP2005524170A (ja) 不揮発性メモリを備える集積回路及び前記メモリからのデータをフェッチするための方法
Zhou et al. Fine-grained QoS scheduling for PCM-based main memory systems
US20130073794A1 (en) Memory system and control method thereof
Paul et al. Dynamically adaptive i-cache partitioning for energy-efficient embedded multitasking
JP2008015668A (ja) タスク管理装置
US20140013148A1 (en) Barrier synchronization method, barrier synchronization apparatus and arithmetic processing unit
JP2009505178A (ja) 少なくとも2つの命令実行部と少なくともデータ及び/または命令のための第1記憶装置または記憶領域とを備えたコンピュータシステムにおいて、データ及び/または命令を格納する装置及び方法
US11314686B2 (en) Hardware for supporting time triggered load anticipation in the context of a real time OS
CN111459630B (zh) 采用硬件多线程机制的网络处理器
Wang et al. Shared Last-Level Cache Management and Memory Scheduling for GPGPUs with Hybrid Main Memory
Fang et al. Conservative row activation to improve memory power efficiency

Legal Events

Date Code Title Description
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: 20080115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080206

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4080527

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140215

Year of fee payment: 6

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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