JP3504282B2 - 実時間キャッシュ機能を提供する集積回路用チップ - Google Patents
実時間キャッシュ機能を提供する集積回路用チップInfo
- Publication number
- JP3504282B2 JP3504282B2 JP24575892A JP24575892A JP3504282B2 JP 3504282 B2 JP3504282 B2 JP 3504282B2 JP 24575892 A JP24575892 A JP 24575892A JP 24575892 A JP24575892 A JP 24575892A JP 3504282 B2 JP3504282 B2 JP 3504282B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- sector
- memory
- mode
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/25—Using a specific main memory architecture
- G06F2212/251—Local memory within processor subsystem
- G06F2212/2515—Local memory within processor subsystem being configurable for different purposes, e.g. as cache or non-cache memory
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)
- Bus Control (AREA)
Description
能を提供するオンチップメモリ(on−chip me
mory)に関する。
入されたことによって、多重プロセッサ・システム(m
ultiprocessor systems)では頻
繁に、高ヒット率を有するオンチップメモリの重要性が
高まった。
時間プロセッサで実行可能な解決法は、DMAを使用し
て、現在実行されているプログラムと平行して、いづれ
使用する予定のプログラム部分を内部RAMにロードす
ることである。これらの機構は、確定的動作によってヒ
ット率を100%にすることができる。しかし、DMA
を効率よく使用するためには、プログラマ(またはコン
パイラ)は、物理的アドレスを常に追跡しなければなら
なず、面倒な仕事である。
かである。しかし、キャシュはコードの統計的特性に基
づくので、キャッシュは、実時間システムでは時間クリ
ティカル・ルーチンにとって主要な要件である、確定的
なアクセス時間を保証しない。DMAとキャッシュの両
方を同じダイ上に設けることは、この矛盾を解決するこ
とができるが、シリコン領域を浪費する。
シュの両方の機能を有しながら、シリコン領域を浪費し
ないオンチップメモリを提供することである。
アドレス・バスによって結合された処理装置とメモリ・
セクション、メモリ制御装置が動作可能な第1標準動作
モードとキャッシュ制御装置が動作可能な第2キャッシ
ュ動作モードとの間で前記メモリを切り替えるスイッチ
手段、および標準モードで前記メモリ内にロードされた
情報をキャッシュ・モードで使用可能にする手段を有す
る集積回路用のチップを提供する。
は)命令キャッシュとして動作するのが好ましいが、デ
ータ・キャッシュとして、または命令とデータの両方を
有する統合キャッシュ(unified cache)
として機能することもできる。
・ビットを有するレジスタ(動作モード・レジスタ)に
よって構成するのが好ましく、このビットは動作モード
を判定するために処理装置によって検査される。
モードで、DMAによって標準メモリ・モードでロード
されたプログラム部分を使用できるようにする手段が実
現される。これによって、使用者は時間クリティカル・
ルーチンを初期化相でキャッシュにプリ・ロードするこ
とができ、従って割り込みルーチンで重要なヒット・オ
ン・ファースト・アクセスを提供する。更に、使用者は
これら2つの動作モードの間を切り替えることができ、
必要なら、データを保存したりフラッシュ(flus
h)することができる。これは、使用者が異なった動作
モードで異なった仕事を実行することを可能にする。
は、1ワードを転送する細分性(granularit
y)を有する完全に連想性のある8分割に(eight
−way)セクタ化したキャッシュとして形成すること
ができる。内部プログラム・メモリは4Kバイト・メモ
リで、論理的に8個の128ワード・キャッシュ・セク
タに分割され、1ワードの長さは4バイトである。基本
となる置換単位はセクタであるが、基本となる転送単位
は単一の32ビット・ワードである。25ビット・タグ
が各キャッシュ・セクタと関連付けられ、妥当ビット
(valid bit)が各キャッシュ・ワードと関連
付けられる。プログラム・アクセスがキャッシュ・ヒッ
トかミスか判定するためにタグの比較を行ない、セクタ
がキャッシュ内に存在するか判定し、またもし特定のワ
ードがセクタ内に存在するかどうか判定するために7ビ
ット・ワード置換アドレスによって妥当ビットが検査さ
れる。ワード・ミスが発生した場合、単一のワードのみ
を取り出し、対応する妥当ビットを設定する。セクタ・
ミスが発生した場合、128ワード・セクタ全体がフラ
ッシュされ、新しいタグの値がロードされるが、取り出
されるのは単一ワードのみである。キャッシュ・セクタ
のマッピングは完全連想マッピングであり、最も過去に
使用された(LRU)ものを置換するのが方針である。
が、その理由は、小型の1KビットRAMアレーで妥当
ビットを組織する一方で、タグの数が少なく(8個の
み)て済むのでシリコン領域の使用率(データを記憶す
ることに使用する全キャッシュ領域の小部分)が良好で
あるからである。キャッシュ内の8個のセクタは、依然
として各々長さが128ワードまでの8個の広範囲のル
ーチンを保持することが可能である。更に、必要な命令
だけが取り出され、キャッシュの汚損は最小となるの
で、転送単位が1ワードであることはバスの通信量を低
く抑える。
ive)の配置方針が選択されるが、その理由はキャッ
シュの利用率が最善であるからである。このことは、セ
クタの幾つかがロックされた場合、極めて重要となる
が、その理由は完全連想キャッシュは残りのロックされ
ていないキャッシュ・セクタのいづれかに新しいメモリ
・セクタを配置できるからである。LRU置換の方針が
選択され、三角マトリックスを使用して8要素による深
いスタックを実現する。
は、時々依然として標準モードで、DMA転送を使用し
て、リセットの後に行うことができる。これらの転送ご
とに対応する妥当ビットが設定され、従ってキャッシュ
・モードではそのワードに対するアクセスはヒット・オ
ン・ファースト・アクセスを生み出す。
ス・モードを使用することもできる特別のロック(LO
CK)命令を使用して、いづれのメモリ・セクタもキャ
ッシュ内でロックすることができる。キャッシュ・セク
タがロックされた場合、すでにそのセクタ内に存在する
妥当ビットは保存され、依然として空白のワードを満た
すことができるが、そのセクタを置き換えることはでき
ない。ロック解除(UNLOCK)命令またはグローバ
ル・フリー(FREE)命令を使用して、セクタのロッ
クを解除することができる。
令を設ける。この単一サイクルの命令はキャッシュ全体
をフラッシュする。外部装置が新しいコードを外部プロ
グラム・メモリ内にロードする場合、整合性(cons
istency)の問題を防止することに使用できる。
モリからの移動(MOVE)命令によってキャッシュ迂
回機構も提供される。これらの命令は、キャッシュする
ことができず、従ってこのプログラム・メモリに記憶さ
れた共有データ表にアクセスし、およびプログラムを自
己変更するのに有用である。常にキャッシュの整合性を
維持するために、これらの移動(MOVE)命令はキャ
ッシュ位置に書き込む場合、同時に対応する外部プログ
ラム・メモリ位置にも書き込む。
テクチャは3つのブロック、RAMアレー、DMA制御
装置およびキャッシュ制御装置を有する。このキャッシ
ュ制御装置は以下のサブ・ブロックによって構成され
る。 ‐タグ・レジスタ・ファイル:各メモリ・セクタに対し
て1つのタグ ‐妥当ビット・アレー:各メモリ・ワードに対して1つ
の妥当ビット ‐セクタ置換装置
空間内のRAMマッピングに対応するデフォールトの値
に設定される。これらの妥当ビットは全てクリアされ
る。
レス空間は固定され、従ってタグの値は変更される。内
部RAMは、初期的には非妥当データを有するので、全
ての妥当ビットがクリアされる。内部RAMへの(DM
AまたはMOVE命令による)書き込みは、そのRAM
ワードに対応する妥当ビットを設定(set)する。
可能ビットを肯定すると、この動作モードを標準メモリ
・モードからキャッシュ・モードに切り替える。このモ
ードの切り替えは、タグ・レジスタ・ファイルまたは妥
当ビット・アレー内に記憶した値を変更しない。
Mのマッピングは固定されないので、従って現在のマッ
ピングを反映するためにタグの値を変更することができ
る。
合、DMAによってプリロードされた時間クリティカル
・ルーチンは、妥当ビットの組を有し、従ってキャッシ
ュ・モードではヒットと共にアクセスされる。ロック命
令によって、キャッシュから除去されるのを防止するた
めに、これらのルーチンをロックすることができる。
可能ビットを肯定しないと、動作モードをキャッシュ・
モードから標準モードに切り替える。
て説明する。図4を参照して、チップ2は処理装置4、
32ビット幅アドレス・バスPABおよびデータ・バス
PDB、4KバイトRAMメモリ10、命令キャッシュ
制御装置12および直接メモリ・アクセスDMA制御装
置14を有する。実際には、その他の装置も設けられ、
チップはモトローラ社製DSP16002型チップのよ
うなDSP処理装置によって構成するのが便利である。
モリとして採用することができ、取り出し(fetc
h)命令および移動(move)命令において、装置1
4によってかつDMA制御装置14によってアクセスす
ることができ、またその結果、情報を外部メモリからバ
ス8上を転送することができる。本発明によって、メモ
リ10は、キャッシュとしても使用することができ、こ
の場合、DMA制御装置14bは使用禁止になり、メモ
リ10へのアクセスは全てキャッシュ制御装置12によ
って制御される。
置との間のバッファ・メモリと見なすことができる。こ
のキャッシュは、頻繁に使用されるプログラム命令を記
憶するために使用される。プログラムが必要とする命令
ワードがチップに搭載したキャッシュ内で入手できる場
合、処理量(throughput)が増加する結果と
なり、外部バス上でそれらにアクセスすることに必要な
時間は削減される。
す。図4に示したのと同じ部品は同じ参照番号によって
示す。図1に示すように、処理装置4はDSPコアとし
て実施される。コア4は、動作モード・レジスタ(OM
R)40を有し、これはチップの動作モードを決定し、
このレジスタの1つのビットはキャッシュ使用可能また
はキャッシュ・イネーブル(CE)ビットと呼ぶ(図5
参照)。このCEビットは、キャッシュ使用可能制御線
16によってスイッチ22に与えられ、メモリ10のこ
のスイッチは、標準またはキャッシュ・モードに入るた
めにバスPABと制御装置12の間でメモリのアドレス
制御を切り替える。更に、制御装置12は、「ヒット/
ミス」制御線24を有し、これは外部アドレス・スイッ
チ26に結合され、このスイッチはキャッシュ・メモリ
内でミスが発生した場合、PAB上で外部メモリとアク
セスすることを可能にする。
合、例えばCEビットが“1”の場合、このDSPコア
はPAB(プログラム・アドレス・バス)上で命令の取
り出しを開始する。この命令キャッシュ制御装置は、ア
ドレスされた命令が内部プログラムRAM(「キャッシ
ュ・アレー」)内に出現するかどうか判定する。
れ、外部取り出しは外部アドレス・スイッチ26内で使
用禁止にされ、また内部RAM10はキャッシュ制御装
置12からセクタ番号(最上位の3ビット)およびセク
タ・オフセット(最下位の7ビット)としてアドレスさ
れる。
RAM内に出現しないなら、「ミス」が合図され、外部
取り出しサイクルが開始される。次のサイクルでPDB
(プログラム・データ・バス)上に対応する命令が出現
した場合、内部プログラムRAM10内に並列してラッ
チされる。
えば“0”、処理装置は標準「PRAM」モードに戻
り、このモードでこのアドレスの値によって取り出しは
内部的にまたは外部的に行われる。
御装置の概念図が示されている。内部プログラムRAM
10は、1024個の32ビット・ワードを有し、論理
的に8個の128ワード・セクタに分割される。「ブロ
ック」よりも「セクタ」という用語を使用するが、その
理由は、セクタ化したキャッシュが置換の基本となる単
位である「セクタ」と、転送の基本となる単位である
「ブロック」とを区別するからである。この場合、「ブ
ロック」は32ビット・ワードであり、「ブロック」と
「ワード」という用語は置き替えて使用することができ
る。
8ワードのセクタが8個存在するので、32ビット・ア
ドレスは以下の2つのフィールドに分割される。 ‐最下位の7ビットはセクタ内のワード置換またはオフ
セット用であり52で示す。 ‐最上位の25ビットはタグ用であり50で示す。
に連想性があり、すなわち各外部プログラム・メモリ・
セクタは、8個の内部プログラムRAMセクタのうちい
づれにも配置することができる。従って、これは完全な
8分割連想キャッシュ(8way fully ass
ociative cache)と呼ぶことができる。
ム・メモリRAMセクタのいづれの1つとも関連付けら
れる。キャッシュ制御装置12が、現在のアドレスのタ
グ・フィールドと等しいタグを探す場合、制御装置はタ
グを8個のコンパレータ54を使用して、並列に8個の
タグと比較する。これらのコンパレータは、タグ・レジ
スタの一部である動的なXORとして実現される。
ャッシュ・ワード妥当ビット56と関連し、このビット
はそのワード内のデータがすでに外部メモリから取り出
され、従って、妥当であるかどうかを識別する。全部で
1024個の妥当ビットが存在し、それぞれ128妥当
ビットの8個のバンクに構成され、各セクタに対して1
個のバンクが存在する。これらの妥当ビットは、使用者
が直接使用するためには提供されないことに留意するこ
と。これらの妥当ビットは、PRAMの内容が初期化さ
れていないことを示すために処理装置のリセット(RE
SET)によってクリアされる。
連するタグをPAB上のアドレスと比較するタグ・レジ
スタ・ファイル(TRF)60を具備する命令キャッシ
ュ制御装置がより詳細に示される。比較の結果は、ヒッ
ト/ミス論理62および2方向マルチプレクサ/デマル
チプレクサ64とに供給され、後者は32×32ビット
によって構成される妥当ビット・アレーの読取りまたは
書き込みに関してアクセスを可能にする。キャッシュ・
フラッシュのリセット線67は、アレー66に結合され
単一操作でこのアレーをリセットする。
プレクサ64に結合され、デコーダ70によって妥当ビ
ットアレー66に結合される。セクタ置換装置72が設
けられ、これはエンコード装置74を介してTRF60
と結合され、またTRF60と妥当ビットアレー66に
結合された書き込み線76を有する。装置72は、最も
過去に使用さたアルゴリズム(least used
algorithm)によってセクタ・アドレスが組織
されたスタック(図示せず)を有し、最も過去に使用さ
れたものがスタックの底に位置する。ロック機構80
は、このスタック内の各ロックされたセクタとロック・
ビットを関連付け、その結果、各セクタは置き換えるこ
とができない。
キャッシュ動作を説明する。各命令が要求に応じて(o
n demand)、すなわち、必要な場合だけ取り出
される。コアが命令を必要とする場合、その命令の物理
的アドレスがPABを介して命令キャッシュ12に送ら
れる。このキャッシュはアドレスの一部、特にタグ・フ
ィールドを現在TRF60に記憶するタグと比較する。
タ・ヒット)、次にそのセクタ内の対応するワードの妥
当ビットが64、66、および70で検査される。もし
妥当ビットが設定されておれば、これはキャッシュ内の
ワードがすでにこのキャッシュに持って来られ妥当であ
ることを意味し、そのワードは希望するアドレスに対応
するこのキャッシュ位置から取り出される。この状況
は、キャッシュ・ヒットと呼ばれ、対応するセクタと対
応する命令ワードの両者が存在し、命令キャッシュ内で
妥当または有効(valid)であることを意味する。
セクタ置換装置(SRU)72は、使用されたセクタ状
態をLRUアルゴリズムによって更新する。
たが希望するワードがキャッシュ内で妥当でない場合
(対応する妥当ビット=0、すなわちワード・ミス)、
次にキャッシュは外部プログラム・メモリからPDBへ
読取りサイクルを開始する。取り出された命令は、コア
および関連するセクタ位置の両方に送られ複写される。
そのワードの妥当ビットが設定(set)される。これ
らは全て、通常の実行と並列して行われ、他のいづれの
クロックまたは(待機状態のような)メモリ・サイクル
を必要としない。SRUは、LRUアルゴリズムによっ
て使用されたセクタ状態を更新する。
レジスタとの間で一致がないならば、これは要求された
ワードを含むメモリ・セクタが62で判定されるように
キャッシュ内に存在しないことを意味し、この状況をセ
クタ・ミスと呼び、これはキャッシュ・ミスの別の形態
である。もしセクタ・ミスが発生したならば、キャッシ
ュのSRU72は置き換えるべきセクタを選択する。こ
のキャッシュは、次に全ての対応する妥当ビットをリセ
ットすることによって選択したセクタをフラッシュし、
新しいタグ・フィールドに対応するタグをロードし、同
時にこのコアによって要求された物理的アドレスから外
部命令を読取るサイクルを開始する。外部メモリからデ
ータが到着した場合、このコアはそのデータをPDBに
ロードし、キャッシュはこのデータをこのセクタ内のア
ドレスの最下位の7ビット(7LSBs)によって指定
されるワード位置に複写し、対応する妥当ビットを設定
する。ここでSRUはセクタ置換制御装置内においてこ
の新しい状況を更新する。
ッシュである。従って、キャッシュ・ミスに対して固有
の罰則を持つべきではない。言い換えれば、キャッシュ
・ヒットがあるならば、チップ搭載メモリから他の何ら
かのデータを取り出すように、チップに搭載したキャッ
シュから命令を取り出すバス・サイクルを正確に1回行
う。もしキャッシュ・ミスがあるならば、外部メモリか
ら他の何らかのデータを取り出すようにまさに「通常」
の命令取り出しとして挙動する。
者が時間クリティカル(timecritical)従
って「置換不能」なものとして、幾つかのコード領域を
宣言することを可能にする。4つの命令が命令の組に加
えられ、使用者がこのキャッシュのセクタをロックし、
ソフトウエアの制御下でキャッシュの内容をフラッシュ
することを可能にする。
ドを以下の項に説明する。基本的に2つの主モード、キ
ャッシュ・モードおよび標準(以後PRAMと呼ぶ)モ
ードが存在する。これらのモードは、両者ともグローバ
ル、すなわち内部プログラム・メモリに全体として影響
を与える。キャッシュ・モードでは、各独立したセクタ
は2つの動作モード、セクタ非ロック・モードまたはセ
クタ・ロック・モード、のうち1つにすることができ
る。PRAMモードでは、全体としてPRAMは2つの
モード、PRAM使用可能またはPRAM使用不能、の
うち1つにすることができる。キャッシュ・モードとP
RAMモードの両方で、キャッシュ全体をソフトウエア
命令によってフラッシュすることができる。
することができる。 キャッシュ・モード(グローバル): ‐セクタ非ロック・モード(各セクタ当たり) ‐セクタロック・モード(各セクタ当たり) ‐キャッシュ・フラッシュ(グローバル) PRAMモード(グローバル): ‐PRAM使用可能(グローバル) ‐PRAM使用不能(グローバル) ‐キャッシュ・フラッシュ(グローバル)
スは、命令取り出しによって、または特定の命令によっ
て無条件に(implicitly)行われ、後者はレ
ジスタからプログラム・メモリに、またはプログラム・
メモリからレジスタへの移動を実行する。プログラム・
メモリ空間(キャッシュ内または外部)への、またはこ
れからのDMA参照は、ハードウェアで不可能にされ
る。(disabled)。
ked mode)の場合、プログラム・メモリ・セク
タは、通常のキャッシュ・セクタとして構成される。そ
のキャッシュ・セクタからのセクタ置換が可能になる。
キャッシュ制御装置は、キャッシュ制御装置LRUアル
ゴリズムにしたがって、あるキャッシュ・セクタ内に存
在する外部メモリ・セクタを何時置き換えるか決定する
(セクタ・ミス)。
の異なった状況で発生する可能性がある。第1の状況
は、使用者がパンロック(PUNLOCK)命令を使用
して特定のキャッシュ・セクタをロック解除する(un
lock)場合である。第2の状況は、使用者がPFR
EE命令を使用して内部プログラム・メモリ内の全ての
キャッシュ・セクタをロック解除する場合である。第3
の状況は、使用者がPFLUSH命令を使用して、キャ
ッシュ・フラッシュの一部として内部プログラム・メモ
リ内の全てのキャッシュ・セクタをロック解除する場合
である。第4の状況は、ハードウェア・リセットが全て
のキャッシュ・セクタをロック解除する場合である。
呼ばれる特別の命令によってロック解除することができ
る。そのオペランドは、有効メモリ・アドレスである。
このアドレスを有するメモリ・セクタは(もしすでにキ
ャッシュ・セクタ内に存在しないならば)キャッシュ・
セクタに割り当てられ、このキャッシュ・セクタはロッ
ク解除される。このシーケンスの副産物として、ロック
解除されたキャッシュ・セクタはLRUスタックの最上
部に(すなわち最も最近使用されたものとして)置かれ
る。
ッシュ・セクタをロック解除しても、その内容、そのタ
ッグ、またはその妥当ビットには影響を与えない。もし
指定された有効アドレスが現在のキャッシュ・セクタの
うちの1つに属さないならば、このアドレスを有するメ
モリ・セクタはこのキャッシュ内に割り当てられ、これ
によって最も過去に使用されたキャッシュ・セクタをフ
ラッシュする。このロック解除されたキャッシュ・セク
タは、LRUスタックの最上部に置かれ、LRUアルゴ
リズムによって置換することが可能になる。
EEを使用して同時にロック解除することができる。こ
の命令は、使用者にロック機構のソフトウエアによるリ
セットを提供する。PFREEによって、セクタのロッ
クを解除することは、セクタの内容(セクタ記憶領域に
すでに取り出された命令)、妥当ビット、タッグ・レジ
スタ内容またはLRUスタック状態(status)に
影響しない。
LUSH命令によって、全キャッシュ・フラッシュの一
部としてロック解除することもできる。PFLUSH命
令によってセクタのロックを解除することは、全てのセ
クタの妥当ビットをクリアしLRUスタックおよびタッ
グ・レジスタをこれらセクタのデフォールト値に設定す
る。
間クリティカルなコード部分をラッチすることに便利で
ある。このセクタ・ロック・モードは使用者によって設
定され、現在キャッシュ・セクタ内に存在するメモリ・
セクタをロックする。キャッシュ・セクタがこのセクタ
・ロック・モードにある場合、もしこのセクタが最も過
去に使用されたセクタ(LRUスタックの底にある)で
あったとしても、セクタ置換装置(SRU)はこのセク
タを置き換えることができない。
納されたアドレスから新しい命令を取り出すことが可能
であり、この命令は(ワード・ミスの期間)記憶領域を
更新するか、または(キャッシュ・ヒットの期間)セク
タ領域から直接読み取られる。一方、SRUによって現
在のセクタを置き換えることは不可能になる。セクタが
ロックされた場合、そのLRU状態は更新され続ける
が、置き換えるべきキャッシュ・セクタを選択した場
合、このセクタは無視され新しいメモリ・セクタに対す
る宛先とはならない。
はロックすることができる。そのオペランドは、有効な
メモリ・アドレスである。このアドレスが属するキャッ
シュ・セクタは(もしそのようなセクタがあれば)ロッ
クされる。もし指定された有効アドレスが現在のキャッ
シュ・セクタのうち1つに属していないならば、このア
ドレスを収納するメモリ・セクタはこのキャッシュに割
り当てられ、これによって最も過去に使用されたキャッ
シュ・セクタを置き換える。このキャッシュ・セクタ
は、ロックされるが空である。このシーケンスの副産物
として、このロックされたキャッシュ・セクタはLRU
スタックの最上部(すなわち最も最近使用されたものと
して)に置かれる。
セクタの内容(すでにこのキャッシュ・セクタの記憶領
域に取り出された命令)、その特定のセクタの妥当ビッ
トまたはタッグ・レジスタの内容に影響しない。
MRレジスタ40にしたがって使用可能または使用不能
のいづれかにされている。プログラム・メモリへの/か
らのDMA参照は使用可能にされ、したがってMOVE
M命令も同様である。
ワードを書き込む場合、対応する妥当ビットが設定さ
れ、その結果、使用者がキャッシュモードに切り替える
場合、この使用者はこのワードが初期化されしたがって
妥当であることを知る。
タッグ・レジスタは更新されない。同様に、このモード
ではセクタ置換装置は更新されない。妥当ビットは試験
されずヒット/ミス信号は無視される。PRAMモード
では、PFLUSHおよびPFREE命令を発行するこ
とができる。
なシナリオが実際に説明される。
うにPRAMモードでは、チップはハードウェア・リセ
ットを終了(exit)する。
ス」(高速割り込みベクトルに対して特に重要である)
を実現するために、依然としてPRAMモードにありD
MAを使用する間、使用者は割り込みベクトルおよび幾
つかの重要なルーチンをPRAMアドレスの下部に転送
する。これらのDMA転送は対応する妥当ビットを設定
する。このコードが200PRAMワードを使用し、し
たがって2個のキャッシュ・セクタ内に収納されると仮
定する。これらのルーチンは、時間クリティカルなの
で、使用者はこれらのセクタをロックすることを希望す
る。可能性のあるコードは、以下のようにロックされ
る。 ラベル アドレス コード $00000000 リセット・ベクトル ・・・ $0000003e ホストb書き込みpメモリ・ベクトル 使用者コード $00000040 使用者に重要なルーチン ・・・ $0000007f セクタ1の終了 $00000080 セクタ2の開始 ・・・ $0000000c8 使用者に重要なルーチンの終了
使用者はOMRビット4を設定する。キャッシュ内のア
ドレス0ないし200をロックするためには、使用者は
対応するメモリ・セクタに属する有効アドレスによって
PLOCK命令を二回発行する。3回のサイクルは、P
LOCK命令からOMRビット4を交替すること(ch
ange off)を分離することに注意してくださ
い。このコードは、以下のようにロックされる。 ORI #$10, OMR :OMR内のCEビット
をセットせよ NOP :パイプライン遅延 NOP :パイプライン遅延 NOP :パイプライン遅延 PLOCK #0 :アドレス0を収納する
セクタをロックせよ MOVE #128, R0 :有効アドレスをr0に
ロードせよ NOP :移動用パイプライン遅
延 PLOCK R0 :アドレス128を収納
するセクタをロックせよ このコードは、重要なセクタ内には存在しないが、むし
ろ初期化コード内に存在することに注意すること。PL
OCKはキャッシュ・モードで最初に取り出される命令
である。
ロックし、6個のセクタをロック解除のモードで通常の
動作の準備が整っている。ロックされたセクタ(アドレ
ス0ないし200)のうちの1つから取り出すことは、
これらのセクタに対するコードがPRAMモードの期間
このキャッシュ内に持って来られるのでミスを生じない
ことに注意すること。
ることができる。このシーケンスは前項に示したものと
同様である。しかし、動的にロックされたキャッシュ・
セクタは妥当ビットを収納する必要はなく、したがっ
て、新しいワードが取り出される度にワード・ミスによ
って満たされる。
の境界上に置くことが賢明である可能性がある。このこ
とは、キャッシュ・セクタの使用を最適にする。このコ
ンパイラは確かにこの制約に従うことができる。
を収納するキャッシュ・セクタをロック解除するために
は、使用者は皆以下のようにしなければならない。 MOVE #140, R0 :有効アドレスをr0に
ロードせよ NOP :パイプライン遅延 PUNLOCK R0 :アドレス128を収納
するセクタをロック解除せよ アドレス140は、128ないし255の範囲に属して
いるので例として使用されることに留意すること。
タをロック解除するためには、コードは以下の通りであ
る。 PFREE この命令は、使用者がどのセクタまたはアドレスが前に
ロックされたか忘れてしまった場合、またはロック機構
に対するソフトウエア・リセットとして便利である。
するために、使用者はPRAMモードに切り替え、パイ
プライン遅延に必要な3個のNOPを実行し、PFLU
SHを行なった後にのみブートストラップ・モードに切
り替える。 ANDI#$ef, OMR :OMR内のCEビッ
トをクリアせよ NOP :パイプライン遅延 NOP :パイプライン遅延 NOP :パイプライン遅延 PFLUSH MOVEI#$04, OMR :ポートAからのブー
トストラップ NOP :パイプライン遅延 JMP#0 :ブートストラップR
OMへ飛び越せ PFLUSHは、PRAMモードで取り出され実行され
ることに留意すること。キャッシュ・モードで取り出さ
れたがPRAMモードで実行された場合、1サイクル早
く出現する可能性がある。
領域を浪費することなくDMAおよびキャッシュ機能の
双方が可能なオンチップ・メモリが提供される。
ある。
図である。
図である。
を一般化して示すブロック図である。
構成を示す説明図である。
Claims (8)
- 【請求項1】 データ・バスおよびアドレス・バスによ
って結合された処理装置とメモリ・セクション; メモリ制御装置が動作可能な第1動作モードである標準
動作モードとキャッシュ制御装置が動作可能な第2動作
モードであるキャッシュ・モードとの間で前記メモリを
切り替えるスイッチ手段;および DMAによって標準動作モードで前記メモリ内にロード
された情報をキャッシュ・モードで使用可能にする手
段; を含むことを特徴とする実時間キャッシュ機能を提供す
る集積回路用チップ。 - 【請求項2】 前記キャッシュ制御装置は、前記メモリ
を所定数のセクタに分割するよう構成され、各セクタ
は、所定数のワード、各セクタのアドレス・タグを記憶
するタグ・レジスタを含む連想メモリ・アクセス手段、
および前記セクタ・アドレスを前記アドレス・バスのア
ドレスと比較する手段を有することを特徴とする請求項
1記載のチップ。 - 【請求項3】 キャッシュ制御装置は、前記メモリ内に
妥当ワードが記憶された場合に各ビットがセットされる
妥当ビット・アレーを具備するメモリ領域と妥当ビット
が前記アドレス・バスの前記アドレスに存在するかどう
か判定する手段を有することを特徴とする請求項2記載
のチップ。 - 【請求項4】 セクタのヒット/ミスが発生したかどう
かおよびワードのヒット/ミスが発生したかどうか判定
するヒット/ミス判定手段を有することを特徴とする請
求項2または3記載のチップ。 - 【請求項5】 セクタ・ミスが発生した場合セクタを置
き換えるセクタ置換装置を有することを特徴とする請求
項4記載のチップ。 - 【請求項6】 いづれかのセクタをロックする手段を有
し、これによって、ミスが発生した場合、前記セクタ置
換装置による前記セクタの置換を防止することを特徴と
する請求項5記載のチップ。 - 【請求項7】 前記メモリが前記標準動作モードでロー
ドされる場合、前記妥当ビット・アレーをセットする手
段を含み、これによって、前記モードがキャッシュ・モ
ードに変化する場合、前記データが妥当データとしてメ
モリ内に残ることを特徴とする請求項3記載のチップ。 - 【請求項8】 前記妥当ビット・アレーをリセットして
単一操作で前記キャッシュをフラッシュするリセット手
段を有することを特徴とする請求項3記載のチップ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9118312.9 | 1991-08-24 | ||
GB919118312A GB9118312D0 (en) | 1991-08-24 | 1991-08-24 | Real time cache implemented by dual purpose on-chip memory |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05225061A JPH05225061A (ja) | 1993-09-03 |
JP3504282B2 true JP3504282B2 (ja) | 2004-03-08 |
Family
ID=10700497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24575892A Expired - Lifetime JP3504282B2 (ja) | 1991-08-24 | 1992-08-21 | 実時間キャッシュ機能を提供する集積回路用チップ |
Country Status (6)
Country | Link |
---|---|
US (1) | US5586293A (ja) |
EP (1) | EP0529217B1 (ja) |
JP (1) | JP3504282B2 (ja) |
DE (1) | DE69210714T2 (ja) |
GB (1) | GB9118312D0 (ja) |
HK (1) | HK1000866A1 (ja) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3713312B2 (ja) * | 1994-09-09 | 2005-11-09 | 株式会社ルネサステクノロジ | データ処理装置 |
US5715420A (en) * | 1995-02-10 | 1998-02-03 | International Business Machines Corporation | Method and system for efficient memory management in a data processing system utilizing a dual mode translation lookaside buffer |
US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
US6101590A (en) | 1995-10-10 | 2000-08-08 | Micro Unity Systems Engineering, Inc. | Virtual memory system with local and global virtual address translation |
US5822755A (en) * | 1996-01-25 | 1998-10-13 | International Business Machines Corporation | Dual usage memory selectively behaving as a victim cache for L1 cache or as a tag array for L2 cache |
US5822764A (en) * | 1996-03-04 | 1998-10-13 | Motorola, Inc. | Method and circuit for efficiently replacing invalid locked portions of a cache with valid data |
US5687131A (en) * | 1996-03-22 | 1997-11-11 | Sharp Microelectronics Technology, Inc. | Multi-mode cache structure |
US5781926A (en) * | 1996-05-20 | 1998-07-14 | Integrated Device Technology, Inc. | Method and apparatus for sub cache line access and storage allowing access to sub cache lines before completion of line fill |
US5835929A (en) * | 1996-05-20 | 1998-11-10 | Integrated Device Technology, Inc. | Method and apparatus for sub cache line access and storage allowing access to sub cache lines before completion of a line fill |
US5974506A (en) * | 1996-06-28 | 1999-10-26 | Digital Equipment Corporation | Enabling mirror, nonmirror and partial mirror cache modes in a dual cache system |
US5778432A (en) * | 1996-07-01 | 1998-07-07 | Motorola, Inc. | Method and apparatus for performing different cache replacement algorithms for flush and non-flush operations in response to a cache flush control bit register |
US6246396B1 (en) * | 1997-04-30 | 2001-06-12 | Canon Kabushiki Kaisha | Cached color conversion method and apparatus |
US6678790B1 (en) * | 1997-06-09 | 2004-01-13 | Hewlett-Packard Development Company, L.P. | Microprocessor chip having a memory that is reconfigurable to function as on-chip main memory or an on-chip cache |
US6321318B1 (en) * | 1997-12-31 | 2001-11-20 | Texas Instruments Incorporated | User-configurable on-chip program memory system |
US6055650A (en) * | 1998-04-06 | 2000-04-25 | Advanced Micro Devices, Inc. | Processor configured to detect program phase changes and to adapt thereto |
JPH11306084A (ja) | 1998-04-23 | 1999-11-05 | Fujitsu Ltd | 情報処理装置及び記憶媒体 |
US6157981A (en) * | 1998-05-27 | 2000-12-05 | International Business Machines Corporation | Real time invariant behavior cache |
US6560674B1 (en) * | 1998-10-14 | 2003-05-06 | Hitachi, Ltd. | Data cache system |
EP1111511B1 (en) | 1999-12-06 | 2017-09-27 | Texas Instruments France | Cache with multiple fill modes |
US6397301B1 (en) * | 1999-12-29 | 2002-05-28 | Intel Corporation | Preventing access to secure area of a cache |
US8019943B2 (en) * | 2000-01-06 | 2011-09-13 | Super Talent Electronics, Inc. | High endurance non-volatile memory devices |
AU2001233131A1 (en) * | 2000-02-02 | 2001-08-14 | Sony Electronics Inc. | System and method for effectively utilizing a cache memory in an electronic device |
US6629187B1 (en) * | 2000-02-18 | 2003-09-30 | Texas Instruments Incorporated | Cache memory controlled by system address properties |
US6748492B1 (en) * | 2000-08-07 | 2004-06-08 | Broadcom Corporation | Deterministic setting of replacement policy in a cache through way selection |
US6732234B1 (en) | 2000-08-07 | 2004-05-04 | Broadcom Corporation | Direct access mode for a cache |
US6848024B1 (en) | 2000-08-07 | 2005-01-25 | Broadcom Corporation | Programmably disabling one or more cache entries |
EP1182563B1 (en) * | 2000-08-21 | 2009-09-02 | Texas Instruments France | Cache with DMA and dirty bits |
EP1182564A3 (en) * | 2000-08-21 | 2004-07-28 | Texas Instruments France | Local memory with indicator bits to support concurrent DMA and CPU access |
EP1182561B1 (en) | 2000-08-21 | 2011-10-05 | Texas Instruments France | Cache with block prefetch and DMA |
EP1182565B1 (en) | 2000-08-21 | 2012-09-05 | Texas Instruments France | Cache and DMA with a global valid bit |
EP1182562B1 (en) | 2000-08-21 | 2011-05-11 | Texas Instruments France | Smartcache with interruptible block prefetch |
US6748495B2 (en) | 2001-05-15 | 2004-06-08 | Broadcom Corporation | Random generator |
US6823427B1 (en) * | 2001-05-16 | 2004-11-23 | Advanced Micro Devices, Inc. | Sectored least-recently-used cache replacement |
US7246220B1 (en) * | 2001-07-27 | 2007-07-17 | Magnum Semiconductor, Inc. | Architecture for hardware-assisted context switching between register groups dedicated to time-critical or non-time critical tasks without saving state |
WO2003042837A1 (fr) * | 2001-11-16 | 2003-05-22 | Renesas Technology Corp. | Circuit integre semi-conducteur |
JP3820999B2 (ja) * | 2002-01-25 | 2006-09-13 | ソニー株式会社 | 近接通信システム及び近接通信方法、データ管理装置及びデータ管理方法、記憶媒体、並びにコンピュータ・プログラム |
US6938126B2 (en) * | 2002-04-12 | 2005-08-30 | Intel Corporation | Cache-line reuse-buffer |
DE10221394A1 (de) * | 2002-05-14 | 2003-12-04 | Siemens Ag | Verfahren zum Betreiben eines Cache-Speichers |
US20040103272A1 (en) * | 2002-11-27 | 2004-05-27 | Zimmer Vincent J. | Using a processor cache as RAM during platform initialization |
JP4713077B2 (ja) * | 2003-03-26 | 2011-06-29 | パナソニック株式会社 | 半導体装置 |
FR2856814B1 (fr) * | 2003-06-25 | 2005-09-30 | St Microelectronics Sa | Procede de controle d'une memoire cache, et dispositif de memoire cache correspondant |
US7167952B2 (en) * | 2003-09-17 | 2007-01-23 | International Business Machines Corporation | Method and system for performing a memory-mode write to cache |
AT500858B8 (de) * | 2004-08-17 | 2007-02-15 | Martin Schoeberl | Instruction cache für echtzeitsysteme |
US7613870B2 (en) * | 2004-11-18 | 2009-11-03 | International Business Machines Corporation | Efficient memory usage in systems including volatile and high-density memories |
US7376791B2 (en) * | 2005-04-06 | 2008-05-20 | Mediatek Inc. | Memory access systems and methods for configuring ways as cache or directly addressable memory |
US20080201528A1 (en) * | 2005-04-06 | 2008-08-21 | Mediatek Inc. | Memory access systems for configuring ways as cache or directly addressable memory |
US7653785B2 (en) * | 2005-06-22 | 2010-01-26 | Lexmark International, Inc. | Reconfigurable cache controller utilizing multiple ASIC SRAMS |
US8069308B2 (en) | 2008-02-13 | 2011-11-29 | Honeywell International Inc. | Cache pooling for computing systems |
US8499120B2 (en) * | 2008-10-17 | 2013-07-30 | Seagate Technology Llc | User selectable caching management |
US20120072632A1 (en) * | 2010-09-17 | 2012-03-22 | Paul Kimelman | Deterministic and non-Deterministic Execution in One Processor |
US9244832B1 (en) * | 2013-03-15 | 2016-01-26 | Emc Corporation | Cache learning model |
KR102117511B1 (ko) * | 2013-07-30 | 2020-06-02 | 삼성전자주식회사 | 프로세서 및 메모리 제어 방법 |
GB2517453B (en) * | 2013-08-20 | 2017-12-20 | Imagination Tech Ltd | Improved use of memory resources |
KR102219288B1 (ko) * | 2013-12-09 | 2021-02-23 | 삼성전자 주식회사 | 캐시 모드 및 메모리 모드 동작을 지원하는 메모리 장치 및 이의 동작 방법 |
US9767041B2 (en) | 2015-05-26 | 2017-09-19 | Intel Corporation | Managing sectored cache |
US11556477B2 (en) * | 2018-06-15 | 2023-01-17 | Arteris, Inc. | System and method for configurable cache IP with flushable address range |
US11409643B2 (en) | 2019-11-06 | 2022-08-09 | Honeywell International Inc | Systems and methods for simulating worst-case contention to determine worst-case execution time of applications executed on a processor |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3979726A (en) * | 1974-04-10 | 1976-09-07 | Honeywell Information Systems, Inc. | Apparatus for selectively clearing a cache store in a processor having segmentation and paging |
US4195341A (en) * | 1977-12-22 | 1980-03-25 | Honeywell Information Systems Inc. | Initialization of cache store to assure valid data |
US4513367A (en) * | 1981-03-23 | 1985-04-23 | International Business Machines Corporation | Cache locking controls in a multiprocessor |
JPS58102381A (ja) * | 1981-12-15 | 1983-06-17 | Nec Corp | バツフアメモリ |
US4602368A (en) * | 1983-04-15 | 1986-07-22 | Honeywell Information Systems Inc. | Dual validity bit arrays |
US4669043A (en) * | 1984-02-17 | 1987-05-26 | Signetics Corporation | Memory access controller |
US4788656A (en) * | 1984-05-25 | 1988-11-29 | The Johns Hopkins University | Cache memory and pre-processor |
US5155833A (en) * | 1987-05-11 | 1992-10-13 | At&T Bell Laboratories | Multi-purpose cache memory selectively addressable either as a boot memory or as a cache memory |
US5025366A (en) * | 1988-01-20 | 1991-06-18 | Advanced Micro Devices, Inc. | Organization of an integrated cache unit for flexible usage in cache system design |
US4977498A (en) * | 1988-04-01 | 1990-12-11 | Digital Equipment Corporation | Data processing system having a data memory interlock coherency scheme |
US5159676A (en) * | 1988-12-05 | 1992-10-27 | Micron Technology, Inc. | Semi-smart DRAM controller IC to provide a pseudo-cache mode of operation using standard page mode draws |
JPH0680499B2 (ja) * | 1989-01-13 | 1994-10-12 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムのキャッシュ制御システムおよび方法 |
JPH0740247B2 (ja) * | 1989-06-20 | 1995-05-01 | 松下電器産業株式会社 | キャッシュメモリ装置 |
US5297270A (en) * | 1989-11-13 | 1994-03-22 | Zenith Data Systems Corporation | Programmable cache memory which associates each section of main memory to be cached with a status bit which enables/disables the caching accessibility of the particular section, and with the capability of functioning with memory areas of varying size |
JPH061463B2 (ja) * | 1990-01-16 | 1994-01-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | マルチプロセッサ・システムおよびそのプライベート・キャッシュ制御方法 |
JPH0748190B2 (ja) * | 1990-01-22 | 1995-05-24 | 株式会社東芝 | キャッシュメモリ内蔵マイクロプロセッサ |
-
1991
- 1991-08-24 GB GB919118312A patent/GB9118312D0/en active Pending
-
1992
- 1992-06-11 DE DE69210714T patent/DE69210714T2/de not_active Expired - Fee Related
- 1992-06-11 EP EP92109785A patent/EP0529217B1/en not_active Expired - Lifetime
- 1992-08-21 JP JP24575892A patent/JP3504282B2/ja not_active Expired - Lifetime
-
1995
- 1995-01-17 US US08/372,728 patent/US5586293A/en not_active Expired - Fee Related
-
1997
- 1997-12-16 HK HK97102447A patent/HK1000866A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
DE69210714D1 (de) | 1996-06-20 |
GB9118312D0 (en) | 1991-10-09 |
EP0529217A1 (en) | 1993-03-03 |
US5586293A (en) | 1996-12-17 |
DE69210714T2 (de) | 1996-12-12 |
EP0529217B1 (en) | 1996-05-15 |
HK1000866A1 (en) | 1998-05-01 |
JPH05225061A (ja) | 1993-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3504282B2 (ja) | 実時間キャッシュ機能を提供する集積回路用チップ | |
EP0734553B1 (en) | Split level cache | |
US8793433B2 (en) | Digital data processing apparatus having multi-level register file | |
US6092159A (en) | Implementation of configurable on-chip fast memory using the data cache RAM | |
US5974508A (en) | Cache memory system and method for automatically locking cache entries to prevent selected memory items from being replaced | |
US6029212A (en) | Method of handling arbitrary size message queues in which a message is written into an aligned block of external registers within a plurality of external registers | |
US5230068A (en) | Cache memory system for dynamically altering single cache memory line as either branch target entry or pre-fetch instruction queue based upon instruction sequence | |
US5732242A (en) | Consistently specifying way destinations through prefetching hints | |
US6161166A (en) | Instruction cache for multithreaded processor | |
US6606686B1 (en) | Unified memory system architecture including cache and directly addressable static random access memory | |
US6047358A (en) | Computer system, cache memory and process for cache entry replacement with selective locking of elements in different ways and groups | |
US6456891B1 (en) | System and method for transparent handling of extended register states | |
US7539823B2 (en) | Multiprocessing apparatus having reduced cache miss occurrences | |
US7219185B2 (en) | Apparatus and method for selecting instructions for execution based on bank prediction of a multi-bank cache | |
EP1278125A2 (en) | Indexing and multiplexing of interleaved cache memory arrays | |
EP2092429B1 (en) | Configurable cache for a microprocessor | |
JPH08278886A (ja) | データ処理システムでの拡張システム管理操作のための方法およびシステム | |
JPH0583932B2 (ja) | ||
JPH06348595A (ja) | キャッシュ装置 | |
WO1996012231A1 (en) | A translation buffer for detecting and preventing conflicting virtual addresses from being stored therein | |
JP2001202287A (ja) | 改善されたメモリ管理ユニット及びキャッシュメモリを有するマイクロプロセッサを用いたデータ処理方法 | |
EP0796465A1 (en) | Scalar data cache for a vector processor | |
US6665767B1 (en) | Programmer initiated cache block operations | |
KR101462220B1 (ko) | 마이크로프로세서용 구성가능한 캐시 | |
US5574883A (en) | Single chip processing unit providing immediate availability of frequently used microcode instruction words |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20031202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20031210 |
|
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 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071219 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081219 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091219 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091219 Year of fee payment: 6 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D03 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091219 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101219 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111219 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 9 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121219 Year of fee payment: 9 |