JP2000099496A - キャッシュ記憶装置 - Google Patents

キャッシュ記憶装置

Info

Publication number
JP2000099496A
JP2000099496A JP10265550A JP26555098A JP2000099496A JP 2000099496 A JP2000099496 A JP 2000099496A JP 10265550 A JP10265550 A JP 10265550A JP 26555098 A JP26555098 A JP 26555098A JP 2000099496 A JP2000099496 A JP 2000099496A
Authority
JP
Japan
Prior art keywords
vector
data
storage device
processing
vector register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10265550A
Other languages
English (en)
Other versions
JP4060960B2 (ja
Inventor
Takeshi Shimizu
剛 清水
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP26555098A priority Critical patent/JP4060960B2/ja
Publication of JP2000099496A publication Critical patent/JP2000099496A/ja
Application granted granted Critical
Publication of JP4060960B2 publication Critical patent/JP4060960B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 キャッシュ記憶装置における有効データの格
納率を低下させることなく、スカラ処理装置とベクトル
処理装置とを1つのチップ上に集積化できるようにす
る。 【解決手段】 一つの命令で一つ又は一対のデータを処
理するスカラ処理装置10及び一つの命令で同一の演算
を多数要素からなるデータの組に施すベクトル処理装置
3と各種データを記憶する主記憶装置9との間に介装さ
れ、主記憶装置9に記憶された前記データをコピーして
格納する記憶部2を有してなるキャッシュ記憶装置1で
あって、記憶部2が、スカラ処理装置10用のスカラ処
理データを格納するとともに、ベクトル処理装置3用の
ベクトル処理データを格納するためのベクトルレジスタ
としての機能を有し、記憶部2に、ベクトルレジスタと
して用いられる領域を分散して割り当て、記憶部2に分
散して割り当てたベクトルレジスタの領域にベクトル処
理データを格納するように制御する制御部4をそなえる
ように構成する。

Description

【発明の詳細な説明】
【0001】(目次) 発明の属する技術分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段 発明の実施の形態 ・(a)本発明のアスペクト説明(図1〜図8) ・(b)一実施形態の説明(図9〜図20) 発明の効果
【0002】
【発明の属する技術分野】本発明は、高性能な電子計算
機にそなえられるキャッシュ記憶装置に関し、特に、高
スループット演算を実現するためのベクトル処理機能を
含むキャッシュ記憶装置に関するものである。キャッシ
ュ記憶装置は、プログラムを実行して処理を行なう際に
参照する各種データの局所性に基づき、処理の高速化を
実現するための高速,少容量の一時記憶装置である。
【0003】一方、ベクトル処理方式は、多数のデータ
を組にしてベクトル処理データとし、それに対して同一
の演算(ベクトル演算)を施すことにより、処理の高速
化を実現するものである。
【0004】
【従来の技術】従来より、データ処理の高速化を可能と
するデータ処理方式として、ベクトル処理方式がある。
初期のベクトル処理装置は、主記憶装置(メモリ)に記
憶されるベクトル処理データに対するメモリ−メモリ間
での演算を基本とした命令体系を有していたが、このベ
クトル処理装置には、メモリアクセスに付随する遅延の
ため、命令の発行から実際に演算が開始されるまでの遅
延時間が長いという課題があった。
【0005】そこで、現在のベクトル処理装置において
は、主記憶装置からベクトル処理データをベクトルレジ
スタに読み出し、レジスタ−レジスタ間でのベクトル処
理を行なった後に、処理結果を主記憶装置に書き戻すロ
ード・ストア方式が主流となっている。一方、ベクトル
演算以外の汎用演算であるスカラ演算(スカラ処理) を
高速に行なうために、キャッシュ記憶装置が用いられて
いる。
【0006】ここで、キャッシュ記憶装置は、演算に必
要な各種データ(命令データやオペランド等)を保持し
うる高速,少容量の一時記憶装置であり、主記憶装置へ
のアクセス時間を短縮するためのものである。従って、
処理対象データのうち、並列処理可能なデータについて
はベクトル処理を施し、それ以外のデータについてはス
カラ処理を施せば、処理の高速化を更に図ることができ
るため、キャッシュ記憶装置を有するスカラ処理装置と
ベクトル処理装置とを組み合わせて使用することがより
好ましい。
【0007】そして、従来は、以下のようにして、スカ
ラ処理装置とベクトル処理装置とを組み合わせて使用し
ていた。 (1)スカラ処理装置とベクトル処理装置とは、それぞ
れ独立に主記憶装置にアクセスするようにする。そし
て、ベクトル処理装置は、主記憶装置から読み出したベ
クトル処理データをベクトルレジスタに格納し、このベ
クトルレジスタとの間で、直接ベクトル処理データのや
りとりを行なう。 (2)ベクトル処理装置は、スカラ処理装置用のキャッ
シュ記憶装置を介して主記憶装置にアクセスするように
する。ここで、主記憶装置へのアクセスはキャッシュ記
憶装置が行ない、ベクトル処理装置は、キャッシュ記憶
装置が主記憶装置から読み出したベクトル処理データを
ベクトルレジスタに格納し、このベクトルレジスタとの
間で、ベクトル処理データのやりとりを行なう。
【0008】
【発明が解決しようとする課題】しかしながら、上記
(1)の方法では、主記憶装置からのデータ転送路とし
て、スカラ処理装置用のデータ転送路とベクトル処理装
置用のデータ転送路とが多重化して設けられているた
め、データ転送路として使用される物理的な信号線の数
が多くなり、スカラ処理装置とベクトル処理装置とを1
つのチップ上に集積することが困難になるという課題が
ある。
【0009】また、上記(2)の方法では、連続領域に
ないベクトル処理データに対してベクトル処理を行なう
際に、ベクトル処理データがキャッシュ記憶装置上に疎
に展開されることがあり、このときには、キャッシュ記
憶装置における有効データの格納率が著しく低下するた
め、スカラ処理の効率が大きく低下するという課題があ
る。なお、従来の高速なスカラ処理装置が単独でベクト
ル処理に相当する計算を行なう場合でも、連続領域に配
置されていないベクトル処理データに対しては、やはり
同様にキャッシュ記憶装置を有効に利用することはでき
ない。
【0010】さらに、上記(1),(2)いずれの場合
にも、キャッシュ記憶装置及びベクトルレジスタという
二種類の記憶装置をそれぞれ別個に必要とするため、こ
れら記憶装置及びその周辺装置の占有面積が大きくな
り、やはりスカラ処理装置及びベクトル処理装置の集積
化が困難になるという課題がある。本発明は、このよう
な課題に鑑み創案されたもので、キャッシュ記憶装置に
おける有効データの格納率を低下させることなく、スカ
ラ処理装置とベクトル処理装置とを1つのチップ上に集
積化できるようにした、キャッシュ記憶装置を提供する
ことを目的とする。
【0011】
【課題を解決するための手段】このため、本発明のキャ
ッシュ記憶装置は、一つの命令で一つ又は一対のデータ
を処理するスカラ処理装置及び一つの命令で同一の演算
を多数要素からなるデータの組に施すベクトル処理装置
と各種データを記憶する主記憶装置との間に介装され、
該主記憶装置に記憶された前記データをコピーして格納
する記憶部を有してなるキャッシュ記憶装置であって、
該記憶部が、該スカラ処理装置用のスカラ処理データを
格納するとともに、該ベクトル処理装置用のベクトル処
理データを格納するためのベクトルレジスタとしての機
能を有し、該記憶部に、該ベクトルレジスタとして用い
られる領域を分散して割り当て、該記憶部に分散して割
り当てた該ベクトルレジスタの領域に該ベクトル処理デ
ータを格納するように制御する制御部をそなえて構成さ
れたことを特徴としている(請求項1)。
【0012】そして、本発明のキャッシュ記憶装置は、
該記憶部における該ベクトルレジスタの領域に関する割
当情報を保持するテーブルをそなえ、該制御部が、該テ
ーブルを参照し、前記割当情報に基づいて該記憶部に該
ベクトル処理データを分散して格納するように制御する
ことを特徴としている(請求項2)。このとき、該記憶
部において該ベクトルレジスタの領域を動的に割り当て
てもよい(請求項3)。
【0013】また、該記憶部において該ベクトルレジス
タとして割り当てられた領域以外の領域を、該スカラ処
理データを格納する領域として割り当てることができる
(請求項4)。さらに、該記憶部における該ベクトルレ
ジスタと該ベクトル処理装置との間でベクトル処理デー
タの送受を行なう(請求項5)。
【0014】また、該ベクトルレジスタを用いた該ベク
トル処理装置による処理を終了すると、該制御部が、該
記憶部において該ベクトルレジスタとして割り当てられ
た領域を解放してもよい(請求項6)。具体的には、該
ベクトルレジスタを用いた該ベクトル処理装置による処
理を終了すると、該制御部が、該テーブルに保持された
前記割当情報を無効化することにより、該記憶部におい
て該ベクトルレジスタとして割り当てられた領域を解放
してもよい(請求項7)。
【0015】
【発明の実施の形態】(a)本発明のアスペクト説明 まず、図面を参照して本発明のアスペクトを説明する。
図1は本発明のキャッシュ記憶装置の構成のアスペクト
を示すブロック図である。
【0016】本発明のキャッシュ記憶装置1Aは、図1
に示すように、一つの命令(スカラ処理命令)を実行し
て一つ又は一対のデータを処理するスカラ処理装置10
及び演算器群(ベクトル処理装置;Vector Pipeline )
3と、各種データを記憶する主記憶装置9との間に介装
されている。なお、図1には、キャッシュ記憶装置1A
及び演算器群3が、1つのチップ1上に集積化された例
が示されている。また、図1では図示していないが、キ
ャッシュ記憶装置1Aと主記憶装置9との間に、下位の
キャッシュ記憶装置(2次キャッシュ記憶装置や3次キ
ャッシュ記憶装置等)を介装してもよい。
【0017】そして、このキャッシュ記憶装置1Aは、
図1に示すように、データメモリ(記憶部;N-way Set-
associative Cache Data Array)2,ベクトルアクセス
制御装置(制御部)4,マッピングテーブル5,外部ア
クセス制御装置(External Data-Array Access Control
ler )7及びインタフェース部8をそなえて構成されて
いる。
【0018】ここで、中核となるのは、データメモリ
2,演算器群3,マッピングテーブル5,ベクトルアク
セス制御装置4,データメモリ2と演算器群3を結合す
る結合網である。演算器群3は、複数の演算器3aから
なり、これら演算器3aを用いて、一つの命令(ベクト
ル処理命令)を実行して、同一の演算を多数要素からな
るデータの組(ベクトル処理データ)に施すベクトル処
理(ベクトル演算)を行なうものである。
【0019】また、データメモリ2は、複数のバンク2
aからなり、主記憶装置9に記憶された前記データをコ
ピーして格納するものである。なお、図1に示すキャッ
シュ記憶装置1Aでは、データメモリ2として、バンク
2a当たり1リードポート,1ライトポートを持つもの
を用いているが、ポート数が多いバンクからなるデータ
メモリを用いることもできる。
【0020】そして、データメモリ2は、スカラ処理装
置10が処理を行なう際に必要となるデータ(スカラ処
理データ)を格納する機能を有するとともに、演算器群
3が処理を行なう際に必要となるデータ(ベクトル処理
データ)を格納するための仮想的なベクトルレジスタ
(以下、単にベクトルレジスタということがある)とし
ての機能を有するものである。
【0021】即ち、データメモリ2は、ベクトル処理を
行なう際に用いるベクトルレジスタとスカラ処理を行な
う際に用いるキャッシュとが統合された、キャッシュ兼
用のデータメモリとして構成されている。ここで、ベク
トルレジスタは、例えば図2に示すように、ウェイ(wa
y )及びライン(line)を使用したインターリーブ方式
によって、データメモリ2のバンク2aの管理単位(ラ
イン)上に割り当てられている。
【0022】ここで、図2は、ウェイ数5,ライン数8
のバンク2a上に仮想的に割り当てられたベクトルレジ
スタを示すものであり、この図2には、ベクトルレジス
タの一例として、要素(演算要素)VR0−0,VR0
−1,…,VR0−4からなる要素数5のベクトルレジ
スタVR0と、要素VR1−0,VR1−1,…,VR
1−3からなる要素数4のベクトルレジスタVR1とが
示されている。なお、以下では、ベクトルレジスタをV
R,V,VVRと表記することがある。
【0023】さらに、マッピングテーブル5は、データ
メモリ2のバンク2aにおいて、ベクトルレジスタとし
て機能させる領域(以下、ベクトルレジスタの領域とい
う)の位置を指定するためのマッピング情報(割当情
報)を保持するものである。ここで、マッピング情報
は、例えば各ベクトルレジスタ毎に記述され、この場合
には以下の(1)〜(4)に示すような情報から構成さ
れている。なお、これらの情報は、エントリあたり32
〜64ビットあれば表現が可能である。 (1)始点情報〔ウェイ−ライン〕 各ベクトルレジスタの領域の始点を示す情報である。例
えば、図2に示す例では、ベクトルレジスタVR0の場
合には、要素VR0−0の位置を示す〔0−0〕が始点
情報に相当し、ベクトルレジスタVR1の場合には、要
素VR1−0の位置を示す〔1−3〕が始点情報に相当
する。 (2)インタリーブ・ファクター(増分情報)〔ウェイ
−ライン〕 各ベクトルレジスタの領域を形成する要素の配置間隔を
示す情報であり、上記ベクトルレジスタVR0,VR1
ともに、各要素の配置間隔〔1−1〕がインタリーブ・
ファクターに相当する。 (3)長さ情報 各ベクトルレジスタの長さを示す情報であり、上記ベク
トルレジスタVR0の場合には、〔5〕が長さ情報に相
当し、ベクトルレジスタVR1の場合には、〔4〕が長
さ情報に相当する。 (4)コントロール・ビット 各ベクトルレジスタの型情報〔精度(Precision )〕
や、バリッド(Valid )情報等を示す情報である。な
お、型情報はどの精度の情報を格納するかを示すもので
あり、バリッド情報はマッピング情報が有効か否かを示
すものである。
【0024】ここで、ベクトル処理を行なう場合には、
スカラ処理装置10のプロセッサ(図示せず)が、演算
に必要となるベクトルレジスタの数に応じ、当該ベクト
ルレジスタについてのマッピング情報をマッピングテー
ブル5へ書き込むようになっている。なお、各ベクトル
レジスタに対応したマッピングテーブル5を動的且つ柔
軟に管理すれば、データメモリ2においてベクトルレジ
スタを動的且つ柔軟に割り当てることができる。
【0025】また、ベクトルアクセス制御装置4は、マ
ッピングテーブル5を参照し、前記マッピング情報に基
づいて、データメモリ2に、ベクトルレジスタとして用
いられる領域を分散して割り当て、データメモリ2に分
散して割り当てた当該ベクトルレジスタの領域に、上記
ベクトル処理データを格納するように制御するものであ
る。
【0026】そして、データメモリ2においては、当該
ベクトルレジスタとして割り当てられた領域以外の領域
は、スカラ処理データを格納する領域として割り当てら
れるようになっている。さらに、ベクトルアクセス制御
装置4は、ベクトルレジスタを用いた演算器群3による
処理を終了すると、マッピングテーブル5に保持された
前記マッピング情報を無効化する(具体的には、前記バ
リッド情報をOFFにする)ことにより、データメモリ
2においてベクトルレジスタとして割り当てられた領域
を解放する機能を有している。
【0027】また、このベクトルアクセス制御装置4
は、データメモリ2と演算器群3とを結合する結合網中
に存在し、データメモリ2におけるベクトルレジスタと
演算器群3との間でベクトル処理データの送受を行なえ
るようにするために、当該結合網を動的に切替えて、デ
ータメモリ2と各演算器3aとの間のベクトル処理デー
タの流れを生成する機能も有している。
【0028】このとき、ベクトルアクセス制御装置4で
は、クロスバースイッチ(又は多段スイッチ) の結合を
動的に切替えて〔即ち、マッピング情報を利用して、例
えばクロスバースイッチを切り替えて演算器3aとデー
タメモリ2との接続を規則的に制御して〕、効率良くベ
クトル処理データの流れを生成するようになっている。
ここで、クロスバー結合は、M個の入力ポートとN個の
出力ポートとをつなぐ方式の一つであり、例えば、M本
の横線とN本の縦線を格子状に交わらせて、M×N個の
格子点のそれぞれにスイッチを配置したものと考えるこ
とができる。そして、入力ポートは一つのスイッチを経
由して出力ポートに到達するようになっている。
【0029】また、多段結合は、このような回線交換器
を多段でつなぐものであり、入力ポートは複数のスイッ
チを経由して出力ポートに到達するようになっている。
ある演算を実行するときに、演算器群3の入力側では、
M本の入力ポートがデータメモリ2のバンク2aのリー
ドポートに接続され(即ち、ウエイ数が5ならM=
5)、N本の出力ポートがそれぞれの演算器3aの入力
ポートに接続される。
【0030】ここで、V1+V2→V3の演算を実行す
るとき(図4参照)、図5に示すように、V1とV2の
始点はそれぞれウェイ−1とウェイ−4になっているか
ら、まず、演算器3aとウェイ−1/ウェイ−4をつな
ぐ。V1/V2の次の要素はウェイ−2とウェイ−0に
あるから、次の接続は、ウェイ−2/ウェイ−0であ
る。
【0031】さらに、同様にして、ウェイ−3/ウェイ
−1との接続で3番目の要素を読みだし、ウェイ−4/
ウェイ−2で4番目の要素を読みだす。なお、図5には
示していないが、ウェイ−0/ウェイ−3で5番目を読
みだし、その後、6番目の要素はウェイ−1/ウェイ−
4との接続に戻る。このように、ベクトルレジスタ領域
の配置が規則的であるため、スイッチを規則的に順次切
り替えていくことにより、演算器3aとデータメモリ2
のリードポート及びライトポートとの接続を制御するこ
とができる。
【0032】なお、ベクトルアクセス制御装置4は、ベ
クトル処理の際に必要となる定数や別のオペランド等を
格納するスカラオペランド/マスクレジスタ6をそなえ
ている。さらに、外部アクセス制御装置7は、主記憶装
置9へのアクセスを制御するものであり、インタフェー
ス部8は、スカラ処理装置10との間で命令及びデータ
の送受を行なうものである。
【0033】上述の構成により、本発明のキャッシュ記
憶装置1Aにおいては、以下で説明するような動作が行
なわれる。なお、図6〜図8は、ベクトル演算処理を説
明するためのフローチャートである。まず、キャッシュ
記憶装置1Aのマッピングテーブル5に有効な情報が格
納されていない場合には、スカラ処理装置10によりス
カラ演算が行なわれる。なお、このときキャッシュ記憶
装置1Aでは、通常のキャッシュと同様の動作が行なわ
れる。
【0034】一方、ベクトル処理を行なう場合には、ス
カラ処理装置10のプロセッサ(図示せず)により、マ
ッピングテーブル5が設定される。ここで、マッピング
テーブル5の設定は、スカラ処理装置10のプロセッサ
が、演算に必要となるベクトルレジスタの数に応じ、オ
ペランドのベクトルレジスタについてのマッピング情報
を、キャッシュ記憶装置1Aのマッピングテーブル5に
書き込むことにより行なわれる〔図6のステップS1
(詳細には図7のステップA1〜A8参照)〕。
【0035】そして、スカラ処理装置10のプロセッサ
によりベクトル演算命令が発行されると、キャッシュ記
憶装置1Aでは、ベクトルアクセス制御装置4によりこ
のベクトル演算命令が処理される。具体的には、ベクト
ルアクセス制御装置4は、設定されたマッピングテーブ
ル5を参照し、命令で指定されたオペランドのベクトル
レジスタについてのマッピング情報に基づいてデータメ
モリ2にベクトル処理データを分散して格納する一方、
当該マッピング情報に応じて、演算器群3の演算器3a
とデータメモリ2のベクトルレジスタの領域とを順次接
続する。
【0036】続いて、演算器群3では、ベクトルレジス
タに格納されたベクトル処理データを参照して実際に演
算が行なわれ、演算結果がバンク2aに書き戻される
(図6のステップS2)。ここで、典型的なベクトル演
算の一例として、図3,図4に示すようなDAXPY演
算(倍精度のAX+Y演算)を行なう場合について説明
すると、図5に示すように4本の仮想的なベクトルレジ
スタVR0′〜VR3′が使用される。
【0037】ここで、各ベクトルレジスタは、各要素が
それぞれ、ウェイ方向,ライン方向ともに1つづつ増加
するように配置されている。つまり、インタリーブ・フ
ァクターが〔1−1〕である。なお、図5に示すよう
に、ベクトルレジスタVR0′は要素VR0−0,VR
0−1,…,VR0−3からなり、ベクトルレジスタV
R1′は要素VR1−0,VR1−1,…,VR1−3
からなり、ベクトルレジスタVR2′は要素VR2−
0,VR2−1,…,VR2−3からなり、ベクトルレ
ジスタVR3′は要素VR3−0,VR3−1,…,V
R3−3からなる。
【0038】最初のロード命令(LV)では、ベクトル
レジスタVR0′に格納すべきベクトル処理データが主
記憶装置9から読み込まれる。ここで、ベクトルレジス
タVR0′の領域に有効なデータが既にキャッシュされ
ているときには、この時点で必要に応じて当該データの
無効化又は主記憶装置9への書き戻しが行なわれる。あ
るいは、ベクトルレジスタについてのマッピング情報を
設定した時点で、ベクトルレジスタの領域を走査し、そ
の領域に有効なデータが既にキャッシュされていること
が検出できた時点で、当該データの無効化又は主記憶装
置9への書き戻しを行なってもよい。
【0039】そして、同様にして、乗算命令(MULT
SV),ロード命令(LV),加算命令(ADDV),
ストア命令(SV)を実行した後に、ベクトル処理が終
了する。なお、ベクトル処理を続ける必要がなければ、
処理が終了した時点で、マッピングテーブル5における
マッピング情報を無効化することにより、ベクトルレジ
スタとして割り当てられた領域が解放される〔図6のス
テップS3(詳細には図8のステップB1〜B4参
照)〕。
【0040】そして、解放された領域は、再びスカラ処
理データを格納するキャッシュとして使用される。この
ように、本発明のキャッシュ記憶装置1Aによれば、デ
ータメモリ2に、ベクトルレジスタとして用いられる領
域を分散して割り当て、このベクトルレジスタの領域に
ベクトル処理データを格納するように制御しているの
で、キャッシュ記憶装置1Aにおける有効データの格納
率を低下させることなくハードウエア量を削減すること
ができ、ひいては、スカラ処理装置10と演算器群3と
を1つのチップ上に集積化することができる。
【0041】また、クロスバースイッチ(又は多段スイ
ッチ) の結合を動的に切替えて、効率良くベクトル処理
データの流れを生成しているため、データメモリ2のバ
ンク2aをマルチポート化する必要がなくなり、集積化
を容易にすることができる。さらに、データメモリ2に
おいてベクトルレジスタの領域を動的に割り当てること
ができるので、演算器群3の並行処理とチェイニングと
を可能にすることができるほか、従来の技術において説
明した(2)の方法と比較して、スカラ処理を行なう際
に、特定アドレスのキャッシュのヒット率が下がらない
ようにデータ配置を調整することができる。
【0042】また、従来の技術において説明した(1)
の方法と比較すると、専用のインタフェースを設ける必
要がないため、ハードウエア量を削減することができ
る。さらに、スカラ処理装置10に設けられたキャッシ
ュのコヒーレンス制御についても、本発明による方法に
よればデータをバイパスするための付加的なパスを設け
る必要がなく、集積化を容易にすることができる。
【0043】なお、コンパイラによる解析により、デー
タメモリ2におけるベクトルレジスタの領域の割り当て
の柔軟さは、以下のような特徴に結び付く。即ち、イン
ターリーブ値をウェイ数やライン数と互いに素とするこ
とにより、ベクトル長の長いデータについても対応でき
るようになる。ただし、その場合には、構造ハザードが
発生する可能性が増すため、同時に稼働可能なパイプラ
イン数が減少することになる。
【0044】また、各ベクトルレジスタの領域の始点を
ずらすことにより、繰り返し(Recurrence)演算に対応
することができる。さらに、タグ・ビットを拡張すれ
ば、パイプラインのフローコントロールなどを可能にす
ることができる。 (b)一実施形態の説明 以下、図面を参照して本発明の実施の形態を説明する。
【0045】図9は本発明の一実施形態にかかるキャッ
シュ記憶装置の構成を示すブロック図である。このキャ
ッシュ記憶装置11は、図9に示すように、スカラ処理
命令を実行する例えばSPARC用の整数ユニット(ス
カラ処理装置;Integer Unit)20及び演算器群(ベク
トル処理装置;Vector Pipeline )13と、各種データ
を記憶する主記憶装置23との間に介装されている。
【0046】なお、図9には、キャッシュ記憶装置1
1,演算器群13及び整数ユニット20が、1つのチッ
プ22上に集積化された例が示されている。また、整数
ユニット20には、整数レジスタ(Integer Registers
)21が設けられている。そして、このキャッシュ記
憶装置11は、図9に示すように、データキャッシュ
(記憶部;8-way Set-associative Data Cache)12,
ベクトルアクセス制御装置(制御部;VCC)14,命
令キャッシュ(Instruction Cache )18及びアドレス
変換/ロード・ストア部(Address Translation /Load
Store Unit )19をそなえて構成されている。
【0047】ここで、演算器群13は、前述した演算器
群3(図1参照)と同様に、複数の演算器13aからな
り、これら演算器13aを用いて例えばSPARC用の
ベクトル処理命令〔ベクトル演算;具体的には、FP
(Floating Point)加算命令(FP Add),FP乗算命令
(FP Mul. ),FP除算命令(FP Div. ),グラフィッ
ク命令(Graphics),マスク命令(Mask)等〕を実行し
てベクトル処理を行なうものである。
【0048】また、命令キャッシュ18は、主記憶装置
23に記憶された命令データをコピーして格納するもの
であり、データキャッシュ12は、前述したデータメモ
リ2(図1参照)と同様に、複数のバンク12aからな
り、主記憶装置23に記憶されたデータをコピーして格
納するものである。そして、データキャッシュ12は、
整数ユニット20が処理を行なう際に必要となるデータ
(スカラ処理データ)を格納する機能を有するととも
に、演算器群13が処理を行なう際に必要となるデータ
(ベクトル処理データ)を格納するための仮想的なベク
トルレジスタとしての機能を有するものである。
【0049】このベクトルレジスタも、前述したデータ
メモリ2におけるものと同様に、ウェイ及びラインを使
用したインターリーブ方式によって、データキャッシュ
12のバンク12aの管理単位(ライン)上に割り当て
られている。なお、命令キャッシュ18及びデータキャ
ッシュ12について、現在の技術で実現可能であると思
われる諸元を図10に示す。
【0050】さらに、ベクトルアクセス制御装置14
は、ベクトル処理を行なう際に、演算器群13とデータ
キャッシュ12とを制御するものであり、マッピングテ
ーブル15,マスクレジスタ16及びスカラオペランド
格納部17をそなえて構成されている。ここで、マッピ
ングテーブル15は、データキャッシュ12のバンク1
2aにおいて、ベクトルレジスタとして機能させる領域
(以下、ベクトルレジスタの領域という)の位置を指定
するためのマッピング情報(割当情報)を保持するもの
である。なお、マッピングテーブル15及びベクトルレ
ジスタの具体例については、後述にて説明する。
【0051】つまり、ベクトルアクセス制御装置14
は、マッピングテーブル15を参照し、前記マッピング
情報に基づいて、データキャッシュ12に、ベクトルレ
ジスタとして用いられる領域を分散して割り当て、デー
タキャッシュ12に分散して割り当てた当該ベクトルレ
ジスタの領域に、上記ベクトル処理データを格納するよ
うに制御するものである。
【0052】そして、データキャッシュ12において
は、当該ベクトルレジスタとして割り当てられた領域以
外の領域は、スカラ処理データを格納する領域として割
り当てられるようになっている。なお、ベクトルアクセ
ス制御装置14は、ベクトルレジスタの割り当て状況
を、後述するSPARC命令セット上から可視的なレジ
スタとして扱うようになっている。即ち、後述するよう
に、マッピングテーブル15に格納すべき情報を、コプ
ロセッサレジスタとして定義し(図12に示す%c0〜
%c29)、可視的なレジスタとして、命令セット上で
直接扱うようになっている。
【0053】また、マスクレジスタ16は、ベクトルデ
ータ中の複数の要素のうちマスク演算を施す一部の要素
を指定するためのものであり(図12に示す%c30,
%c31がマスクレジスタとして使用される)、スカラ
オペランド格納部17は、ベクトル処理に必要となる定
数(スカラオペランド;図3に示す例ではC1)を格納
するものである。さらに、アドレス変換/ロード・スト
ア部19は、ベクトルアクセス制御装置14及び命令キ
ャッシュ18からの要求を受けて、主記憶装置23への
アクセスを制御するものである。
【0054】ここで、前述したマッピングテーブル15
及びベクトルレジスタの具体例について説明する。 (1)第1の具体例 ウェイ数が8,セット数(ウェイ毎のライン数)が8で
あるデータキャッシュ12があり、それぞれのラインは
演算要素(例えば、倍精度浮動小数点データ)を8個を
格納できるものとする。
【0055】データキャッシュ12上のデータは、ウェ
イ番号(x),ライン番号(y),ライン内位置(z)
の3つのアドレスによって特定され、以下では、これを
Ax−y−zと表すことにする。ここで、仮想ベクトル
レジスタをVRnとし、それぞれのベクトルレジスタV
Rnが64個の演算要素VRn−mを持つときには、各
演算要素VRn−mは、8ライン分のメモリに格納され
ることになる。
【0056】例として、3つの仮想ベクトルレジスタを
定義する場合について説明すると、各ベクトルレジスタ
から物理アドレス情報を作るためのマッピングテーブル
15は、図13に示すように、VR番号に対応して、バ
リッド情報〔有効(Yes)/無効(No)〕,始点情
報(始点),増分情報(増分,増分間隔),長さ(要素
数),型情報からなる。
【0057】ここで、始点,増分,増分間隔の3つ組の
値は、それぞれウェイ,ライン,オフセットの3次元の
アドレスに相当するものであり、増分間隔は、何個めの
要素毎にそれぞれのアドレスに増分を加えるかを表すも
のである。なお、型情報として示しているようなデータ
型についての情報は、図13に示すようにマッピングテ
ーブル15に置かず、命令により演算命令実行時に明示
的に与えてもよい。
【0058】そして、始点(Sx,Sy,Sz),増分
(Ix,Iy,Iz),増分間隔(Dx,Dy,Dz)
とすると、ベクトルレジスタのn番目の要素は、以下の
アドレスに対応する。 A〔Sx+Ix* (n/Dx),Sy+Iy* (n/Dy),Sz+Iz* (n/Dz)〕 …(1) ただし、式(1)中の除算は、整数除算による小数点以
下を切り捨て、演算結果は、それぞれウェイ数,ライン
数,ライン内要素数での剰余をとったものである。
【0059】このとき、図13に示すマッピングテーブ
ル15におけるベクトルレジスタVR0の各演算要素
は、図14(a)に示すようになる。また、ベクトルレ
ジスタVR1の各演算要素,ベクトルレジスタVR2 の
各演算要素は、それぞれ図14(b),図14(c)に
示すようになる。従って、ベクトルレジスタVR0 ,V
R1 ,VR2 のデータキャッシュ12上での領域は、そ
れぞれ図15に示すようになる。なお、ベクトルレジス
タVR0を例にあげると、各領域(VR0a−VR0
h)とそこに格納されている要素との対応は、図16に
示すようになる。 (2)第2の具体例 上述の第1の具体例では、ベクトルレジスタの隣接する
演算要素が分散して配置される場合、即ち、演算要素V
R0−0,VR0−1がそれぞれ領域VR0a,VR0
bにある場合について説明したが、これらを同じ領域に
置くこともできる。
【0060】この場合には、マッピングテーブル15は
図17に示すようになる。この例では、ベクトルレジス
タVR0のデータキャッシュ12上での領域は上述の第
1の具体例の場合と同様であるが、各領域とそこに格納
されている演算要素との対応が異なる(図18,図19
参照)。 (3)第3の具体例 上述の第1,第2の具体例では、マッピングテーブル1
5は、各演算要素のデータキャッシュ12上でのアドレ
ス情報を逐次に計算していくための情報を格納していた
が、アドレス情報そのものを格納してもよい(図20参
照)。
【0061】この場合、領域内のオフセットについて
は、仮想ベクトルレジスタ内の演算要素番号から計算す
るようにすれば、マッピングテーブル15のサイズを小
さくすることができる。例えば、n番目の演算要素は領
域(n/8)の(n mod 8)番目である、あるい
は、逆に、領域(n mod 8)のn/8番目である
とすると、第1の具体例のマッピングテーブル15は、
図20に示すように表すことができる。
【0062】この方法では、ベクトルデータの長さに応
じてマッピングテーブル15のサイズが大きくなるもの
の、より柔軟なマッピングが可能となる利点がある。上
述の構成により、本発明の一実施形態にかかるキャッシ
ュ記憶装置11においては、前述したキャッシュ記憶装
置1Aにおける動作と同様の動作が行なわれる(図6〜
図8参照)。
【0063】特に、以下では、SPARC命令セット中
のコプロセッサ(Coprocessor )命令とFP命令に注目
して、SPARC命令セットと仮想ベクトル処理との統
合が自然に行なえることを説明する。 (1)命令流 整数ユニット20は、FP命令(FP Instructions ),
ベクトル処理命令(VPInstructions )を含む全ての命
令(All Instructions)を、命令キャッシュ18からフ
ェッチする。
【0064】ここで、ベクトル処理命令は、SPARC
命令セット中のコプロセッサ命令を用いて実現されてい
る。また、整数ユニット20が独自に処理可能な整数演
算命令などは、整数ユニット20で処理される。FP命
令とベクトル処理命令は、データキャッシュ12へのス
トアと同じパス(メモリ・ストア・パス;図9ではMS
Pで示す)を利用して、整数ユニット20からベクトル
アクセス制御装置14に送られる。このとき、必要なら
ば、整数ユニット20中の実行ステージで、実効アドレ
スが計算される。
【0065】このとき、整数ユニット20とベクトルア
クセス制御装置14間のメモリ・ストア・パスには、命
令とデータを区別する若干の信号線を付加するだけで良
い。そして、ベクトルアクセス制御装置14に送られた
命令は、内部でデコードされた後、そのタイプに応じて
処理される。 (2)スカラオペランドとベクトルオペランド FP命令のオペランド格納用として使用されるFPレジ
スタは、一部のVP命令におけるスカラオペランド格納
用としても使用される。
【0066】ここで、FP命令は、ベクトル処理用の演
算パイプラインを利用して処理される。また、VP命令
のオペランドは、直接的には、マッピングテーブル15
のエントリか、マスクレジスタ16を指している。演算
命令のオペランドも同様であるが、実際には、計算は、
そのエントリに記述された仮想ベクトルレジスタを対象
として行なわれる。
【0067】SPARC命令セットでは、コプロセッサ
用のロード/ストア命令のオペランドとなるレジスタサ
イズを32ビット又は64ビットと仮定しているが、マ
ッピングテーブル15のエントリを直接オペランドとす
る方式は、この仮定には反しない。つまり、SPARC
(Version 8)のコプロセッサ命令フォーマットは、図
11に示すようになっており、一般的なコプロセッサレ
ジスタは、基本的にはシングルワードを扱い、場合によ
ってはダブルワードを扱うようになっているが、前述の
ごとく、マッピングテーブル15に格納すべき情報はこ
の簡単なアーキテクチャ上では32ビットあれば表現が
可能である。
【0068】そこで、マッピングテーブル15に格納す
べき情報を、図12に示すようにコプロセッサレジスタ
として定義し、可視的なレジスタとして、命令セット上
で直接扱えるようにしておく。これは、ベクトルレジス
タの割り当て状況を示すマッピングテーブル15が、コ
プロセッサレジスタ〔図12に示す%c0〜%c29が
コプロセッサレジスタに相当する。ここで、各%cn
(n=0〜31)は32ビットのレジスタである。〕と
して、命令セット上、ソフトウエアから直接見えている
ことを指している。
【0069】即ち、コプロセッサレジスタ(図12に示
す%c0〜%c29)のそれぞれが、VVR0〜VVR
29のマッピング情報を格納するのであり、例えばVV
R0を定義する場合には、%c0にVVR0のマッピン
グ情報を書き込めばよい。つまり、マッピングテーブル
15の設定は、コプロセッサレジスタへ値の書き込むこ
とにより行ない、このコプロセッサレジスタから値を読
み出すことにより、現在のマッピング情報を取り出すよ
うにする。
【0070】なお、図12に示すものは一例であるが、
後は、CPop命令(コプロセッサ命令)の中に、仮想
ベクトルレジスタの中身を操作するための若干の命令
〔通常のベクトル演算命令(ベクトルロード命令,ベク
トルストア命令,ベクトル加算/乗算/減算/除算命
令,グラフィックス命令等)〕を定義しておけば、SP
ARC命令セットの中に十分おさめることができる。
【0071】即ち、SPARC(Version 8)のCPo
p命令(コプロセッサ命令)には、演算の種類を示す情
報を格納するためのフィールドがあり、そのフィールド
を使って通常のベクトル演算命令を定義しておけば、S
PARCの命令セットの中に十分おさめることができ
る。このような本発明の一実施形態にかかるキャッシュ
記憶装置11によっても、前述したキャッシュ記憶装置
1Aと同様の利点を得ることができる。
【0072】
【発明の効果】以上詳述したように、本発明のキャッシ
ュ記憶装置によれば、記憶部に、ベクトルレジスタとし
て用いられる領域を分散して割り当て、分散して割り当
てたベクトルレジスタの領域にベクトル処理データを格
納するように制御しているので、キャッシュ記憶装置に
おける有効データの格納率を低下させることなくハード
ウエア量を削減することができ、ひいては、スカラ処理
装置とベクトル処理装置とを1つのチップ上に集積化す
ることができる利点がある(請求項1,2,4〜7)。
【0073】また、記憶部においてベクトルレジスタの
領域を動的に割り当てることができるので、ベクトル処
理装置での並行処理とチェイニングとを可能にすること
ができるほか、スカラ処理を行なう際に、特定アドレス
のキャッシュのヒット率が下がらないようにデータ配置
を調整することができる利点がある(請求項3)。
【図面の簡単な説明】
【図1】本発明のキャッシュ記憶装置の構成のアスペク
トを示すブロック図である。
【図2】本発明における仮想的なベクトルレジスタにつ
いて説明するための図である。
【図3】ベクトル演算の一例について説明するための図
である。
【図4】ベクトル演算の一例について説明するための図
である。
【図5】本発明における仮想的なベクトルレジスタにつ
いて説明するための図である。
【図6】本発明のキャッシュ記憶装置におけるベクトル
演算処理の手順を示すためのフローチャートである。
【図7】本発明のキャッシュ記憶装置におけるベクトル
演算処理の手順を示すためのフローチャートである。
【図8】本発明のキャッシュ記憶装置におけるベクトル
演算処理の手順を示すためのフローチャートである。
【図9】本発明の一実施形態にかかるキャッシュ記憶装
置の構成を示すブロック図である。
【図10】命令キャッシュ及びデータキャッシュについ
て説明するための図である。
【図11】SPARCのコプロセッサ命令フォーマット
を示す図である。
【図12】コプロセッサレジスタについて説明するため
の図である。
【図13】マッピングテーブル及びベクトルレジスタの
第1の具体例について説明するための図である。
【図14】(a)〜(c)は、いずれもマッピングテー
ブル及びベクトルレジスタの第1の具体例について説明
するための図である。
【図15】マッピングテーブル及びベクトルレジスタの
第1の具体例について説明するための図である。
【図16】マッピングテーブル及びベクトルレジスタの
第1の具体例について説明するための図である。
【図17】マッピングテーブル及びベクトルレジスタの
第2の具体例について説明するための図である。
【図18】マッピングテーブル及びベクトルレジスタの
第2の具体例について説明するための図である。
【図19】マッピングテーブル及びベクトルレジスタの
第2の具体例について説明するための図である。
【図20】マッピングテーブル及びベクトルレジスタの
第3の具体例について説明するための図である。
【符号の説明】
1 チップ 1A キャッシュ記憶装置 2 データメモリ(記憶部) 2a バンク 3 演算器群(ベクトル処理装置) 3a 演算器 4 ベクトルアクセス制御装置(制御部) 5 マッピングテーブル 6 スカラオペランド/マスクレジスタ 7 外部アクセス制御装置 8 インタフェース部 9 主記憶装置 10 スカラ処理装置 11 キャッシュ記憶装置 12 データキャッシュ(記憶部) 12a バンク 13 演算器群(ベクトル処理装置) 13a 演算器 14 ベクトルアクセス制御装置(制御部) 15 マッピングテーブル 16 マスクレジスタ 17 スカラオペランド格納部 18 命令キャッシュ 19 アドレス変換/ロード・ストア部 20 整数ユニット(スカラ処理装置) 21 整数レジスタ 22 チップ 23 主記憶装置

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 一つの命令で一つ又は一対のデータを処
    理するスカラ処理装置及び一つの命令で同一の演算を多
    数要素からなるデータの組に施すベクトル処理装置と各
    種データを記憶する主記憶装置との間に介装され、該主
    記憶装置に記憶された前記データをコピーして格納する
    記憶部を有してなるキャッシュ記憶装置であって、 該記憶部が、該スカラ処理装置用のスカラ処理データを
    格納するとともに、該ベクトル処理装置用のベクトル処
    理データを格納するためのベクトルレジスタとしての機
    能を有し、 該記憶部に、該ベクトルレジスタとして用いられる領域
    を分散して割り当て、該記憶部に分散して割り当てた該
    ベクトルレジスタの領域に該ベクトル処理データを格納
    するように制御する制御部をそなえて構成されたことを
    特徴とする、キャッシュ記憶装置。
  2. 【請求項2】 該記憶部における該ベクトルレジスタの
    領域に関する割当情報を保持するテーブルをそなえ、 該制御部が、該テーブルを参照し、前記割当情報に基づ
    いて該記憶部に該ベクトル処理データを分散して格納す
    るように制御することを特徴とする、請求項1記載のキ
    ャッシュ記憶装置。
  3. 【請求項3】 該記憶部において該ベクトルレジスタの
    領域を動的に割り当てることを特徴とする、請求項1又
    は請求項2に記載のキャッシュ記憶装置。
  4. 【請求項4】 該記憶部において該ベクトルレジスタと
    して割り当てられた領域以外の領域を、該スカラ処理デ
    ータを格納する領域として割り当てることを特徴とす
    る、請求項1〜3のいずれか1項に記載のキャッシュ記
    憶装置。
  5. 【請求項5】 該記憶部における該ベクトルレジスタと
    該ベクトル処理装置との間でベクトル処理データの送受
    を行なうことを特徴とする、請求項1〜4のいずれか1
    項に記載のキャッシュ記憶装置。
  6. 【請求項6】 該ベクトルレジスタを用いた該ベクトル
    処理装置による処理を終了すると、該制御部が、該記憶
    部において該ベクトルレジスタとして割り当てられた領
    域を解放することを特徴とする、請求項1〜5のいずれ
    か1項に記載のキャッシュ記憶装置。
  7. 【請求項7】 該ベクトルレジスタを用いた該ベクトル
    処理装置による処理を終了すると、該制御部が、該テー
    ブルに保持された前記割当情報を無効化することによ
    り、該記憶部において該ベクトルレジスタとして割り当
    てられた領域を解放することを特徴とする、請求項2記
    載のキャッシュ記憶装置。
JP26555098A 1998-09-18 1998-09-18 キャッシュ記憶装置 Expired - Fee Related JP4060960B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26555098A JP4060960B2 (ja) 1998-09-18 1998-09-18 キャッシュ記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26555098A JP4060960B2 (ja) 1998-09-18 1998-09-18 キャッシュ記憶装置

Publications (2)

Publication Number Publication Date
JP2000099496A true JP2000099496A (ja) 2000-04-07
JP4060960B2 JP4060960B2 (ja) 2008-03-12

Family

ID=17418678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26555098A Expired - Fee Related JP4060960B2 (ja) 1998-09-18 1998-09-18 キャッシュ記憶装置

Country Status (1)

Country Link
JP (1) JP4060960B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211368A (ja) * 2008-03-04 2009-09-17 Nec Corp キャッシュメモリ及びベクトル処理装置並びにベクトルデータ整列方法
JP2010205049A (ja) * 2009-03-04 2010-09-16 Nec Computertechno Ltd ベクトルプロセッサ及びベクトル命令発行方法
GB2493808A (en) * 2011-08-18 2013-02-20 Ibm Vector register file caching of context data structure for maintaining state data in a multithreaded image processing pipeline
JP5423801B2 (ja) * 2009-09-15 2014-02-19 日本電気株式会社 情報処理装置およびデータ転送方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211368A (ja) * 2008-03-04 2009-09-17 Nec Corp キャッシュメモリ及びベクトル処理装置並びにベクトルデータ整列方法
JP4687729B2 (ja) * 2008-03-04 2011-05-25 日本電気株式会社 キャッシュメモリ及びベクトル処理装置並びにベクトルデータ整列方法
US8095732B2 (en) 2008-03-04 2012-01-10 Nec Corporation Apparatus, processor, cache memory and method of processing vector data
JP2010205049A (ja) * 2009-03-04 2010-09-16 Nec Computertechno Ltd ベクトルプロセッサ及びベクトル命令発行方法
JP5423801B2 (ja) * 2009-09-15 2014-02-19 日本電気株式会社 情報処理装置およびデータ転送方法
GB2493808A (en) * 2011-08-18 2013-02-20 Ibm Vector register file caching of context data structure for maintaining state data in a multithreaded image processing pipeline
US8836709B2 (en) 2011-08-18 2014-09-16 International Business Machines Corporation Vector register file caching of context data structure for maintaining state data in a multithreaded image processing pipeline
GB2493808B (en) * 2011-08-18 2015-06-03 Ibm Vector register file caching of context data structure for maintaining state data in a multithreaded image processing pipeline

Also Published As

Publication number Publication date
JP4060960B2 (ja) 2008-03-12

Similar Documents

Publication Publication Date Title
US11604649B2 (en) Techniques for efficiently transferring data to a processor
US5689653A (en) Vector memory operations
EP0240032B1 (en) Vector processor with vector data compression/expansion capability
US6470380B1 (en) Signal processing device accessible as memory
US20120089792A1 (en) Efficient implementation of arrays of structures on simt and simd architectures
JPH03219345A (ja) 多ポートキャッシュメモリ制御装置
CN112749120B (zh) 将数据有效地传输至处理器的技术
US11907717B2 (en) Techniques for efficiently transferring data to a processor
CN1429369A (zh) 具有可配置的高速缓存/静态随机存取存储器的系统
GB2073923A (en) Branching in computer control store
CN114675888A (zh) 用于加载矩阵操作加速器瓦片的指令的装置、方法和系统
JPH0282330A (ja) ムーブアウト・システム
JP4060960B2 (ja) キャッシュ記憶装置
CN101751356B (zh) 用于改进直接存储器存取传送效率的方法、系统和装置
US6119220A (en) Method of and apparatus for supplying multiple instruction strings whose addresses are discontinued by branch instructions
EP1242903B1 (en) Surface computer and computing method using the same
US6195747B1 (en) System and method for reducing data traffic between a processor and a system controller in a data processing system
JP7006858B1 (ja) 情報処理装置及び情報処理方法
JP2765882B2 (ja) 並列計算機,ベクトルレジスタ間データフロー同期装置およびネットワークプリセット装置
JPH0440524A (ja) 演算装置
JP2744152B2 (ja) データ駆動型データ処理装置
JP3299663B2 (ja) 演算装置
JP2023082571A (ja) 演算処理装置及び演算処理方法
JPH10507550A (ja) メモリ・データを処理する方法と装置及びこの装置を含む通信装置
JPS59173864A (ja) 主記憶制御方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050811

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070626

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071221

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

Free format text: PAYMENT UNTIL: 20101228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111228

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111228

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121228

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121228

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131228

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees