JP2007207039A - メモリシステムおよびメモリアクセス制御方法 - Google Patents

メモリシステムおよびメモリアクセス制御方法 Download PDF

Info

Publication number
JP2007207039A
JP2007207039A JP2006026226A JP2006026226A JP2007207039A JP 2007207039 A JP2007207039 A JP 2007207039A JP 2006026226 A JP2006026226 A JP 2006026226A JP 2006026226 A JP2006026226 A JP 2006026226A JP 2007207039 A JP2007207039 A JP 2007207039A
Authority
JP
Japan
Prior art keywords
instruction
data
memory
memory system
data transfer
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.)
Withdrawn
Application number
JP2006026226A
Other languages
English (en)
Inventor
Atsuaki Kinoshita
敦章 木下
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 Holdings Corp
Original Assignee
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006026226A priority Critical patent/JP2007207039A/ja
Publication of JP2007207039A publication Critical patent/JP2007207039A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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

  • Memory System Of A Hierarchy Structure (AREA)
  • Advance Control (AREA)

Abstract

【課題】プロセッサの実行状態に即応して不要なデータ転送を削減し、キャッシュの使用効率を向上させ、消費電力を低減するメモリシステムおよびメモリアクセス制御方法を提供する。
【解決手段】メモリシステム101は、キャッシュメモリ105を有するプロセッサ102と、キャッシュメモリとメインメモリとの間のデータ転送を制御するデータ転送制御部110と、プロセッサ内で処理中の命令を監視することにより、プロセッサが特定の命令シーケンスを実行したか否かを判定する命令シーケンス判定部107と、命令シーケンス判定部107による判定結果に応じてデータ転送の中止および一時的中断の少なくとも1つをデータ転送制御部110に指示する転送制御切替部108とを備える。
【選択図】図1A

Description

本発明は、キャッシュメモリを有するプロセッサにおいてキャッシュミス時にキャッシュメモリにデータをリフィルするためのデータ転送を制御するメモリシステムおよびメモリアクセス制御方法に関する。
従来のキャシュメモリを有するプロセッサは、アクセスしたいデータがキャッシュメモリにあれば、低速なメインメモリより高速にデータアクセスすることが可能である。
キャッシュミスが生じた場合には、メインメモリからキャッシュメモリにデータがリフィルされる。リフィルされるデータは通常固定サイズであるが、固定サイズであるためにアクセスされない不要なデータまでリフィルされることがある。不要なデータ転送を削減する技術が、例えば特許文献1に開示されている。この技術では、メインメモリからキャッシュメモリへの転送データの内容を参照し、転送データが特定パターンに一致すれば、リフィル終了と判断している。ここで特定パターンは分岐命令などである。この場合、分岐命令に後続する不要なデータ(命令コード)のデータ転送を削減している。
特開1993−143456号公報
しかしながら、従来の技術によれば、メインメモリから読み出された転送データの内容を参照して、特定パターンに一致するか否かによってリフィルの終了を判断しているが、リフィルの終了によってメインメモリから読み込まれなかったデータを、プロセッサが実行する命令によって使用する可能性がある。言い換えれば、プロセッサの実行状態とは無関係にリフィルの終了の判断をしているので、プロセッサの実行状態に合わない場合がある。このような場合はキャッシュメモリの使用効率を返って悪化させるという問題がある。
そこで、本発明は前記問題に鑑みてなされたものであり、リフィル終了によるデータの取得ミスなく、プロセッサの実行状態に即応して不要なデータ転送を削減し、キャッシュの使用効率を向上させるメモリシステムおよびメモリアクセス制御方法を提供することを目的とする。
上記課題を解決するため本発明のメモリシステムは、キャッシュメモリを有するプロセッサと、キャッシュとメインメモリとの間のデータ転送を制御する転送制御手段と、プロセッサ内で処理中の命令を監視することにより、プロセッサが特定の命令シーケンスを実行したか否かを判定する判定手段と、前記判定手段による判定結果に応じてデータ転送の中止および一時的中断の何れかを前記転送制御手段に指示する指示手段とを備える。
この構成によれば、プロセッサ内で処理中の命令を監視するので、キャッシュメモリへのリフィル中の転送データを監視する場合と比べて、キャッシュメモリへの無駄なデータ転送の削減をプログラムの実行状態に即応することができる。これにより、他のデータ転送のための時間を確保できるのでキャッシュメモリの使用効率を向上させることができる。
ここで、前記判定手段は、命令の実行結果および命令の実行内容を監視するようにしてもよい。
この構成によれば、命令の実行結果、実行内容を監視するので、転送制御手段によるデータ転送に対して、現在のプログラムの実行状態を正確に反映させることができる。
ここで、前記特定の命令シーケンスは、キャッシュミスを発生させた命令とそれ以降に実行される前方への分岐命令とを含み、前記指示手段は、前記特定の命令シーケンスを実行したと判定されたとき、データ転送の中止を指示するようにしてもよい。
この構成によれば、キャッシュメモリが命令キャッシュであれば前方への分岐命令に後続する命令列はリフィルしてもアクセス(命令フェッチ)されないので、無駄なデータ転送を削減できる。しかも、前方への分岐命令が処理された時点で即座に中止することができる。さらに、中止により消費電力を低減することができる。
ここで、前記特定の命令シーケンスは、キャッシュミスを発生させた命令とそれ以降に実行される後方への分岐命令とを含み、前記指示手段は、前記特定の命令シーケンスを実行したと判定されたとき、データ転送の中断を指示し、さらに再開を指示するようにしてもよい。
この構成によれば、後方への分岐命令により後方へ分岐した場合、中断と再開の間に、他のデータ転送をすることにより、データ転送の混雑(トラフィック)を低減することが可能となる。
ここで、前記判定手段は、前記特定の命令シーケンスが実行されたか否かを判定することによって、プロセッサ内で処理中の命令を監視することにより、現在のリフィル対象の未転送データに対してプロセッサからのアクセスが発生する可能性を判定し、前記指示手段は、前記判定手段による判定結果に応じてリフィルの中止を前記転送制御手段に指示するようにしてもよい。
この構成によれば、プロセッサ内で処理中の命令を監視することによって、現在のリフィル対象の未転送データに対してプロセッサからのアクセスが発生する可能性を判定するので、キャッシュメモリへのリフィル中の転送データを監視する場合と比べて、キャッシュメモリへの無駄なデータ転送の削減をプログラムの実行状態に即応することができる。これにより、他のデータ転送のための時間を確保できるのでキャッシュメモリの使用効率を向上させることができる。
ここで、前記判定手段は、監視中の命令が前方への分岐命令であり、かつ当該分岐命令による分岐先アドレスがリフィル対象の全データに対応するアドレスを超える場合に、前記未転送データへのアクセスが生じ得ないと判定し、前記指示手段は、前記未転送データへのアクセスが生じ得ないと判定された場合、前記転送制御手段にリフィルの中止を指示し、さらに、中止したリフィルにおいて既に転送済のデータの無効化を、キャッシュメモリに指示するようにしてもよい。
この構成によれば、キャッシュメモリが命令キャッシュであれば前方への分岐命令に後続する命令列はリフィルしてもアクセス(命令フェッチ)されないので、無駄なデータ転送を削減できる。しかも、前方への分岐命令が処理された時点で即座に中止することができる。さらに、中止により消費電力を低減することができる。
ここで、前記判定手段は、監視中の命令が前方への分岐命令である場合に、前記未転送データへのアクセスが生じる可能性が小さいと判定し、前記指示手段は、前記転送制御手段にリフィルの中断を指示するようにしてもよい。
この構成によれば、中断することにより、データバスを一時的に解放することができる。その結果、データ転送の混雑(トラフィック)を低減することが可能となる。
ここで、前記判定手段は、監視中の命令が前方への分岐命令であり、かつ当該分岐命令による分岐先アドレスがリフィル対象の全データに対応するアドレスを超える場合に、前記未転送データへのアクセスが生じ得ないと判定し、前記指示手段は、現在のリフィルの原因となるキャッシュミスを生じさせたデータがキャッシュメモリに転送され、かつ前記未転送データへのアクセスが生じ得ないと判定された場合に、前記転送制御手段にリフィルの中止を指示するようにしてもよい。
この構成によれば、キャッシュミスを生じさせたデータが完全にキャッシュメモリに転送されてから、リフィル中止を指示するので、キャッシュメモリがデータキャッシュである場合でも矛盾のない動作を保証することができる。
ここで、前記判定手段は、現在のリフィルの原因となるキャッシュミスを生じさせたデータがキャッシュメモリに転送され、かつ監視中の命令が後方への分岐命令である場合に、前記未転送データへのアクセスが生じる可能性が小さいと判定し、前記指示手段は、前記未転送データへのアクセスが生じる可能性が小さいと判定された場合、前記転送制御手段にリフィルの中断を指示し、他のデータ転送を指示し、リフィルの再開を指示するようにしてもよい。
この構成によれば、後方への分岐命令により後方へ分岐した場合、中断と再開の間に、他のデータ転送をすることにより、データ転送の混雑(トラフィック)を低減することが可能となる。
ここで、前記後方への分岐命令は、ループ処理を構成する分岐命令であってもよい。
この構成によれば、ループ処理の期間中のデータ転送の混雑(トラフィック)を低減することが可能となる。
ここで、前記メモリシステムは、さらに、メインメモリへのアクセスが行われていない期間に、前記転送制御手段へのクロック供給を一時的に停止するクロック停止手段を備えてもよい。
この構成によれば、メインメモリへのアクセスが行われない期間、クロック供給を一時的に停止することにより、消費電力の削減に寄与する。
ここで、前記判定手段は、さらに、監視中の命令がループ処理を構成する分岐命令である場合に、ループ処理の繰り返し期間を検出し、前記クロック停止手段は、前記繰り返し期間でかつメインメモリへのアクセスが行われてない場合、前記クロック供給を一時的に停止するようにしてもよい。
この構成によれば、メモリアクセスを行わないループ処理の期間にクロックを停止するので、消費電力の低減に寄与する。
ここで、前記メモリシステムは、さらに、メモリアクセス要求信号に基づいて転送アドレスを含む1つ以上の転送情報を格納するテーブルメモリを備え、前記判定手段は、監視中の命令が後方への分岐命令である場合に、前記未転送データへのアクセスが生じる可能性が小さいと判定し、前記指示手段は、前記転送制御手段にリフィルの中断を指示し、前記テーブルメモリに基づいて他のデータ転送を指示した後、リフィルの再開を指示するようにしてもよい。
この構成によれば、後方への分岐命令により後方へ分岐した場合、中断と再開の間に、他のデータ転送をすることにより、データ転送の混雑(トラフィック)を低減することが可能となる。特にキャッシュメモリ以外のホストからもメモリアクセス要求信号が入力される場合にメインメモリへのアクセス効率を向上させることができる。
ここで、前記後方への分岐命令は、ループ処理を構成する分岐命令であってもよい。
この構成によれば、ループ処理の間に、他のデータ転送をすることができ、データ転送の混雑(トラフィック)を低減することが可能となる。
ここで、前記転送情報はさらに優先度を含み、前記指示手段は、リフィルの中断後、前記優先度に基づいて他のデータ転送の開始および再開を指示するようにしてもよい。
この構成によれば、優先させたいメモリアクセスを先に行うことが可能となる。
ここで、前記指示手段は、前記判定手段による判定結果に応じてリフィルの中止、中断、再開の何れかを前記転送制御手段に指示し、中止を指示した場合にはキャッシュメモリに対してリフィルデータの無効化を指示するようにしてもよい。
この構成によれば、プロセッサ内で処理中の命令を監視するので、キャッシュメモリへのリフィル中の転送データを監視する場合と比べて、キャッシュメモリへの無駄なデータ転送の削減をプログラムの実行状態に即応することができる。これにより、他のデータ転送のための時間を確保できるのでキャッシュメモリの使用効率を向上させることができる。さらに、消費電力を低減することができる。
また、本発明のメモリアクセス制御方法は上記と同様の手段を有するので、説明を省略する。
(実施の形態1)
実施の形態におけるメモリシステムは、プロセッサ内で処理中の命令を監視することにより、メインメモリからキャッシュメモリへのリフィル対象に現在なっている未転送データに対してプロセッサからのアクセスが発生する可能性を判定し、その判定結果に応じてリフィルの中止、中断、再開の何れかを行う。前記転送制御手段に指示し、中止を指示した場合にはキャッシュメモリに対してリフィルデータの無効化を指示するように構成される。処理中の命令を監視するので、キャッシュメモリへの無駄なデータ転送の削減をプログラムの実行状態に即応することができ、キャッシュメモリの使用効率を向上させ、消費電力低減にも寄与する。
実施の形態1におけるメモリシステムは、処理中の命令の実行結果および実行内容を監視し、先行命令がキャッシュミスし、後続の命令が前方への分岐命令であるような命令シーケンスであった場合には、リフィル対象データのうち未転送データへのアクセスが生じ得ないと判定する。さらに、該当データ取得後に、未転送データの転送を中止し、さらに、キャッシュメモリ中のリフィル対象の転送済データを破棄(無効化)する。なお、前方への分岐命令の「前方」はPC(プログラムカウンタ)のカウントが進む方向であり、実行順では遅い方である。
以下、本発明に係る実施の形態1について、図面を参照しながら説明する。
図1Aは、本発明に係る実施の形態1におけるメモリシステムの構成を示すブロック図である。図1Aに示されるように、メモリシステム101は、プロセッサ102、メモリアクセス制御装置103などを備え、メインメモリ104にアクセスする。
プロセッサ102は、キャッシュメモリ105、命令デコーダ部106、命令シーケンス判定部107から構成される。
キャッシュメモリ105は、メインメモリ104から読み出した命令もしくはデータ151を保持している。キャッシュメモリ105は、該当する命令もしくはデータが存在しなければ、キャッシュミスと判定し、リフィルを起動するため、メモリアクセス要求信号152を出力する。メモリアクセス要求信号152は、アドレス、データサイズ、R/W(読み出し/書き込み)を示す。リフィルは、メモリアクセス要求信号152の内容に従ってメモリアクセス制御装置103が制御する。リフィル対象の1ライン分のデータは、メモリアクセス制御装置103を通して、メインメモリ104から取得する。また、キャッシュメモリ105は、リフィル途中にキャッシュミスを起したデータの取得が完了すれば、データ取得完了信号153を出力する。
命令デコーダ部106は、キャッシュメモリ105から読み出した命令154をフェッチし、デコードする。デコードした結果として、命令情報155を出力する。命令情報155はプロセッサ内で処理中の命令のアドレス(PC値)や種別等を表し、特に分岐命令の場合には、分岐先アドレスも含む。分岐先アドレスは種別に応じて相対アドレスで表される場合と絶対アドレスで表される場合とがある。
命令シーケンス判定部107は、命令デコーダ部106から出力される命令情報155を常時監視し、ある一連の命令がメインメモリ104へアクセスする命令であるか否か、かつ先行の命令が該当するデータが存在せずにキャッシュミスし、後続の命令が前方への分岐命令であることを検出すると、命令シーケンス判定情報156を出力する。命令シーケンス判定情報156は、命令シーケンスの検出結果を単に示すだけでなく、現在のリフィル対象の未転送データに対してプロセッサ102からのアクセスが発生する可能性を判定した結果でもある。上記後続の命令が前方への分岐命令であるとの検出結果は、上記未転送データへのプロセッサ102へのアクセスが生じ得ないとの判定結果でもある。
また、メモリアクセス制御装置103は、転送制御切替部108、テーブルメモリ109、データ転送制御部110から構成され、プロセッサ102から発行されるメモリアクセス要求信号152に従って、キャッシュメモリ105にデータをリフィルするためにメインメモリ104からキャッシュメモリ105へのデータ転送を制御する。なお、メモリアクセス制御装置103は、プロセッサ102以外のプロセッサやDMAC(Direct Memory Access Controller)などからのメモリアクセス要求信号も受付可能であり、そのためにテーブルメモリ109を備えている。
転送制御切替部108は、命令シーケンス判定部107の判定結果に応じてリフィルの中止、中断、再開の何れかをデータ転送制御部110に指示し、中止を指示した場合にはキャッシュメモリに対してリフィルデータの無効化を指示する指示手段として機能し、具体的には、キャッシュメモリ105から出力されるデータ取得完了信号153、および命令シーケンス判定部107から出力される命令シーケンス判定情報156を受け、データ転送破棄信号158−1、データ転送中断信号158−2、もしくはデータ転送再開信号158-3のいずれかをアサートする。
データ転送破棄信号158−1は、テーブルメモリ109に格納されたデータ転送情報をフラッシュすることで、データ転送を破棄つまりリフィルを中止することをデータ転送制御部110に指示する。中止により無駄なデータ転送を削減する。また、データ転送破棄信号158−1は、キャッシュメモリ105に対して、中止したリフィルにおいて既に転送済のデータの破棄つまり無効化をキャッシュメモリ105に指示する。転送済のデータの無効化により1ライン分のキャッシュエントリが空き領域となり、他のラインデータのリフィル回数の削減を可能にする。
データ転送中断信号158−2は、データ転送を一時的に中断することを指示する。中断により中断されたデータ転送とは別のデータ転送を可能にする。データ転送再開信号158−3は、中断されたデータ転送の再開を指示する。なお、実施の形態1では、データ転送中断信号158−2とデータ転送再開信号158-3は説明の便宜上使用しないものとし、実施の形態2以降で説明する。
テーブルメモリ109は、プロセッサ102が発行するメモリアクセス要求信号152をデータ転送情報として格納し、データ転送情報157としてデータ転送制御部110へ出力する。図1Bにテーブルメモリ109の一例を示す。同図のように、テーブルメモリ109は複数のデータ転送情報157を保持する。各データ転送情報157は、アドレス、R/Wの区別、転送サイズ、残りの転送回数を示すカウント数、フラグなどを含む。フラグには、データ転送を中止したことを示す中止フラグS1、データ転送を中断していることを示す中断フラグS2、データ転送の再開中を示す再開フラグS3などがある。中断フラグ以外はなくてもよい。
データ転送制御部110は、テーブルメモリ109に格納されたデータ転送情報157を受け、メインメモリ104にメモリアクセス制御信号160を出力することでデータ転送を行い、テーブルメモリ109から出力されるデータ転送情報157に基づき、メインメモリ104へのアクセスがないと判断すれば、メインメモリアクセス可否信号159をネゲートし、メインメモリ104へのアクセスがあると判断すれば、メインメモリ可否信号をアサートする。転送制御切替部108から出力される制御信号158−1〜3を受けることで、メインメモリ104とのアクセス制御を切り替える。
以上のように、構成されたメモリシステムについて、以下にその動作を説明する。図2は、本発明に係る実施の形態1におけるメモリシステムのメモリアクセス制御装置の動作を示したフローチャートである。
プロセッサ102は、命令デコーダ部106で命令をフェッチし、デコードすることで、命令を実行する。ある命令でキャッシュメモリ105からのデータ読み出しがミスすると、メインメモリ104がデータアクセスの対象となり、メインメモリ104に対してデータ読み出しアクセスを行うと同時に、そのデータをキャッシングするためのラインをキャッシュ上に確保する必要がある。プロセッサ102は、メインメモリ104からキャッシュメモリ105内に1ライン分のデータを取り込むリフィルを起動する。リフィルは1ライン分のデータ転送を行うためのメモリアクセス制御信号160をメインメモリ104に出力することで、バースト転送を行う(ステップS11)。その際、命令シーケンス判定部107で、一連の命令シーケンス内で、キャッシュミスを起こした命令の後続の命令が前方への分岐命令であると判断する(ステップS12a)と、命令情報155からその分岐命令自身のアドレス(PC値)と分岐先アドレスを取得する(ステップS12b)。命令情報155中の分岐先アドレスが相対アドレスである場合は、PC値に相対アドレスを加算し分岐先の絶対アドレスを求める。さらに、命令シーケンス判定部107は、分岐先アドレスがリフィル対象の全データに対応するアドレス(リフィルアドレス)を超えているか否か、つまりリフィル対象のラインデータのアドレス範囲外か否かを判定する(S12c)。アドレス範囲外であると判定された場合、命令シーケンス判定部107は、命令シーケンス判定情報156を出力する(ステップS13)。また、キャッシュメモリ105は、リフィルによりキャッシュミスを起こした該当データを取得すると、リフィル途中であってもデータ取得完了信号153を出力する(ステップS14)。転送制御切替部108は、命令シーケンス判定情報156およびデータ取得完了信号153に基づき、データ転送破棄信号158−1をアサート(ステップS15)し、テーブルメモリ108およびデータ転送制御部110に出力する。データ転送破棄信号158−1がアサートされることにより、テーブルメモリ109に保持された対応するデータ転送情報がフラッシュされ、データ転送制御部110は、該当データを取得した後のメインメモリ104との残りのアクセスを中止する。また、データ転送破棄信号158−1がアサートされることにより、リフィル対象データのうちキャッシュメモリ105に既に転送済のデータを保持するラインが無効化される。無効化はリフィル対象ラインのバリッドフラグ(Vフラグ)のリセットによる。
このように、メモリシステム101は、キャッシュミスが発生した場合、命令シーケンス判定部107で、一連の命令がメインメモリ104にアクセスするような命令でなく、かつ前方への分岐命令であることを検出し、必要な分だけのリフィルを行った後の残りのデータ転送を破棄し、データ転送の冗長性を低減することが可能となる。
なお、キャッシュメモリ105が命令キャッシュである場合には、前方への分岐命令による分岐先が無効化したラインデータの外であることは図2ステップS12cの判定によって、保証されている。一方、キャッシュメモリ105がデータキャッシュである場合には、前方への分岐命令による分岐先が無効化したラインデータの外であることは、ステップS12cの判定では保証されない。これを保証するためには、例えば、前方へ分岐する分岐命令による分岐後のデータアクセスは、分岐前のアクセスアドレスよりも1ライン分以上離れたアドレスとするような制約をソフトウェア仕様として設ければよい。この制約は、コンパイラにより満たすことができる。
また、上記の前方への分岐命令は、典型的には無条件分岐命令であるが、前方へ分岐する条件分岐命令であってもよい。条件分岐命令に対しては、命令シーケンス判定部107は、条件の成就を判定して分岐の成否を判定し、分岐しない場合は無視し、分岐する場合に前方への分岐命令と判定すればよい。また、条件の成就を判定しない場合でも、分岐の確率が分岐しない確率よりも高ければ高いほど効果を奏する。
なお、キャッシュメモリ105が命令キャッシュである場合には、図2のステップS14の判定を省略してもよい。省略した場合、命令シーケンス判定部107が現在リフィル対象になっているラインの命令を監視している限り、キャッシュミスを起した命令は既に実行済であるから上記と同様の効果を得ることができる。
また、データ転送情報をフラッシュすることにより、データ転送制御部110は、該当データを取得した後のメインメモリ104との残りのアクセスを中止しているが、フラグS1をセットして中止とみなしてもよい。この場合、テーブルメモリ109の領域が一杯になった時点でフラッシュするようしてもよい。
また、データ転送破棄信号158−1がアサートされることで行うキャッシュラインの無効化は、バリッドフラグがキャッシュラインのワード毎に備えられ、かつキャッシュミスしたワードからリフィルを開始するクリティカルワードファースト方式を採用しているのであれば、リフィルによって取得したデータの破棄を行う必要はない。リフィル中止によって未取得となったデータが必要となった場合でも、キャッシュミスした次のワード以降からリフィルを行えば良い。
なお、本実施形態で命令シーケンス判定部107は、キャッシュミスが発生した場合に、一連の命令がメインメモリ104にアクセスするような命令でなく、かつ前方への分岐命令であることを検出している。ここでは、一連の命令としては、少なくともキャッシュミスが生じた命令と前方への分岐命令を検出すればよい。キャッシュミスが生じた命令から前方への分岐命令までの一連の命令がメインメモリ104にアクセスするような命令でないことの検出は、しなくてもよい。また、一連の命令はこれ以外でもよく、命令シーケンス判定部107は、処理中の命令の実行結果や実行内容を監視することによって、種々の命令シーケンスを、プロセッサの状態に即応して判定することができる。
(実施の形態2)
次に、本発明に係る実施の形態2について、図面を参照しながら説明する。
実施の形態1におけるメモリシステム101では、先行命令がキャッシュミスし、後続の命令が前方への分岐命令であるような命令シーケンスであった場合には、該当データ取得後に、リフィルによる残りのメインメモリ104からのデータ転送を破棄することで、データ転送の冗長性を低減できるが、先行命令がキャッシュミスし、後続の命令が後方への分岐命令であるような命令シーケンスであった場合には、分岐命令以降の命令で使用する命令もしくはデータが、該当データ取得後の残りのデータ転送に含まれている可能性があるため、むやみに破棄することはできない。なお、後方への分岐命令の「後方」はPC(プログラムカウンタ)のカウントが進む方向と逆の方向であり、実行順では早い方である。
これに対して、図3に示されるように、実施の形態2におけるメモリシステム201では、命令シーケンス判定部107の代わりに、命令シーケンス判定部207を備え、このような問題を解消できるようにしたことを特徴とする。
すなわち、実施の形態2におけるメモリシステム201は、先行命令がキャッシュミスし、後続の命令が後方への分岐命令であるような命令シーケンスであった場合には、命令シーケンス判定部207から出力される命令シーケンス判定情報156、およびキャッシュメモリ105から出力されるデータ取得完了信号153に基づいて、データ転送中断制御信号158−2をアサートすることで、リフィルによる残りのデータ転送を一時的に中断し、中断されたデータ転送とは別の転送を行うことを特徴とする。この場合の命令シーケンス判定情報156は、現在のリフィル対象の未転送データに対してプロセッサからのアクセスが発生する可能性が小さいという判定結果を示す。
以上の点を踏まえて、実施の形態2におけるメモリシステムについて説明する。なお、実施の形態1におけるメモリシステム101と同一の構成については、同一の参照符号を付して説明を省略する。
命令シーケンス判定部207は、命令デコーダ部106から出力される命令情報155を常時監視し、ある一連の命令がメインメモリ104へアクセスする命令であるか否かであり、かつ先行の命令が該当するデータが存在せずにキャッシュミスし、後続の命令が後方への分岐命令であることを検出すると、命令シーケンス判定情報156を出力する。
以上のように構成されたメモリシステムについて、以下にその動作を説明する。図4は、本発明に係る実施の形態2におけるメモリシステムのメモリアクセス制御装置の動作を示したフローチャートである。
プロセッサ102は、命令デコーダ部106で命令をフェッチし、デコードすることで、命令を実行する。ある命令でキャッシュメモリ105からのデータ読み出しがミスすると、メインメモリ104がデータアクセスの対象となり、メインメモリ104に対してデータ読み出しアクセスを行うと同時に、そのデータをキャッシングするためのラインをキャッシュ上に確保する必要がある。プロセッサ102は、メインメモリ104からキャッシュメモリ105内に1ライン分のデータを取り込むリフィルを起動する。リフィルは1ライン分のデータ転送を行うためのメモリアクセス制御信号160をメインメモリ104に出力することで、バースト転送を行う(ステップS21)。その際、命令シーケンス判定部207で、一連の命令シーケンス内で、キャッシュミスを起こした命令の後続の命令が後方への分岐命令であると判断する(ステップS22)と、命令シーケンス判定情報156を出力する(ステップS23)。また、キャッシュメモリ105は、リフィルによりキャッシュミスを起こした該当データを取得すると、リフィル途中であってもデータ取得完了信号153を出力する(ステップS24)。転送制御切替部は、命令シーケンス判定情報156およびデータ取得完了信号153に基づき、データ転送中断信号158−2をアサート(ステップS25)し、データ転送制御部110に出力する。テーブルメモリ108はリフィルを行うためのデータ転送情報を保持すると同時に、データ転送制御部110は、該当データを取得した後のメインメモリ104との残りのアクセスを一時的に中断し、中断された転送とは異なるデータ転送を実行する(ステップS26)。データ転送が完了すると、データ転送制御再開信号158−3をアサート(ステップS27)し、残りのリフィルを再開させる。
このように、メモリシステム201は、キャッシュミスが発生した場合、命令シーケンス判定部207で、一連の命令がメインメモリ104にアクセスするような命令でなく、かつ後方への分岐命令であることを検出することによりリフィルの未転送データへのアクセスが生じる可能性が小さいと判定し、リフィルを行った後の残りのデータ転送を一時的に中断し、中断した転送とは異なる転送を行うことで、データ転送の混雑を低減することが可能となる。
なお、上記の後方への分岐命令は、典型的には無条件分岐命令であるが、後方へ分岐する条件分岐命令であってもよい。条件分岐命令に対しては、命令シーケンス判定部107は、条件の成就も判定して分岐の成否を判定し、分岐しない場合は無視し、分岐する場合に後方への分岐命令と判定すればよい。
また、本実施の形態と実施の形態1とを同時にメモリシステムに適用しても良いことは言うまでもない。テーブルメモリ109のフラグS1、S2、S3を用いて状態を管理するようにしてもよい。
(実施の形態3)
次に、本発明に係る実施の形態3について、図面を参照しながら説明する。
実施の形態2におけるメモリシステム102では、プロセッサ102から多くのメモリアクセス要求があった場合、先行のメモリアクセス要求が完了するまで次のメモリアクセス要求は待たされてしまう。
これに対して、図5Aに示されるように、実施の形態3におけるメモリシステム301では、テーブルメモリ109の代わりに、テーブルメモリ309を備え、このような問題を解消できるようにしたことを特徴とする。
すなわち、実施の形態3におけるメモリシステム301は、テーブルメモリ309に格納されるデータ転送情報が、バスの使用権を調停するために必要なメモリアクセス要求と、データ転送を優先して行なうか否かの情報であることで、優先させたいメモリアクセスを先に行うことを特徴とする。
以上の点を踏まえて、実施の形態3におけるメモリシステムについて説明する。なお、実施の形態2におけるメモリシステム201と同一の構成については、同一の参照符号を付して説明を省略する。
図5Bは、テーブルメモリ309の一例を示す図である。同図のように、テーブルメモリ309は、図1Bに示したテーブル109と比べて、データ転送情報毎に優先度が追加されている点が異なる。この優先度は、データ転送を優先して行なうか否か示し(例えば0が最優先)、データ転送情報157の一部としてデータ転送制御部110へ出力される。
以上のように構成されたメモリシステムについて、以下にその動作を説明する。図6は、本発明に係る実施の形態3におけるメモリシステムのメモリアクセス制御装置の動作を示したフローチャートである。
プロセッサ102は、命令デコーダ部106で命令をフェッチし、デコードすることで、命令を実行する。ある命令でキャッシュメモリ105からのデータ読み出しがミスすると、メインメモリ104がデータアクセスの対象となり、メインメモリ104に対してデータ読み出しアクセスを行うと同時に、そのデータをキャッシングするためのラインをキャッシュ上に確保する必要がある。プロセッサ102は、メインメモリ104からキャッシュメモリ105内に1ライン分のデータを取り込むリフィルを起動する。リフィルは1ライン分のデータ転送を行うためのメモリアクセス制御信号160をメインメモリ104に出力することで、バースト転送を行う(ステップS31)。その際、命令シーケンス判定部207で、一連の命令シーケンス内で、キャッシュミスを起こした命令の後続の命令が後方への分岐命令であると判断する(ステップS32)と、命令シーケンス判定情報156を出力する(ステップS33)。また、キャッシュメモリ105は、リフィルによりキャッシュミスを起こした該当データを取得すると、リフィル途中であってもデータ取得完了信号153を出力する(ステップS34)。転送制御切替部は、命令シーケンス判定情報156およびデータ取得完了信号153に基づき、データ転送中断信号158−2をアサート(ステップS35)し、データ転送制御部110に出力する。テーブルメモリ108はリフィルを行うためのデータ転送情報を保持すると同時に、データ転送制御部110は、該当データを取得した後のメインメモリ104との残りのアクセスを一時的に中断し、後方への分岐命令の次の命令が実行されるまでの期間、中断された転送とは異なり、その中でも優先度の一番高いデータ転送を実行する(ステップS36)。データ転送が完了しても、後方への分岐命令の次の命令かどうか、命令情報155によって、命令シーケンス判定部207が判定しなければ(ステップS37)、優先度の一番高いデータ転送を実行し続ける。命令シーケンス判定部207が後方への分岐命令の次の命令であると判定すると、データ転送再開信号158−3をアサート(ステップS38)し、残りのリフィルを再開させる。
このように、メモリシステム301は、キャッシュミスが発生した場合、命令シーケンス判定部207で、一連の命令がメインメモリ104にアクセスするような命令でなく、および後方への分岐命令であることを検出し、データ転送情報に優先度を付与することで、必要な分だけのリフィルを行った後の残りのデータ転送を一時的に中断し、中断した転送とは異なり、かつ優先度の高い転送を行い続けることで、先行のメモリアクセス要求が完了するまで次のメモリアクセス要求は待たされることがなく実行されることが可能となる。
(実施の形態4)
次に、本発明に係る実施の形態4について、図面を参照しながら説明する。
実施の形態1におけるメモリシステム101では、メインメモリ104へのメモリアクセス要求がない場合でも、ライトアクセスもしくはリードアクセスに関係する回路へのクロック供給は行われており、電力を無駄に消費している。
これに対して、図7に示されるように、実施の形態4におけるメモリシステム401では、命令シーケンス判定部107の代わりに、命令シーケンス判定部407を備え、転送制御切替部108の代わりに、クロック停止制御部408を備え、このような問題を解消できるようにしたことを特徴とする。
すなわち、実施の形態4におけるメモリシステム401は、N回繰り返しループする命令であった場合には、ループする回数を保持する機能を持ち、その保持機能によって2回目以降N回ループする期間は、クロック供給を一時的に停止することを特徴とする。
以上の点を踏まえて、実施の形態4におけるメモリシステムについて説明する。なお、実施の形態1におけるメモリシステム101と同一の構成については、同一の参照符号を付して説明を省略する。
命令シーケンス判定部407は、命令デコーダ部106から出力される命令情報155を常時監視し、ある一連の命令がメインメモリ104へアクセスする命令であるか否か、かつN回繰り返しループする命令であることを検出すると、ループする回数を保持するレジスタをNに設定し、命令シーケンス判定情報156を出力する。
クロック停止制御部408は、命令シーケンス判定部407から出力される命令シーケンス判定情報456、およびデータ転送制御部から出力されるメインメモリアクセス可否信号159に基づき、クロック一時停止信号458をアサートし、テーブルメモリ109およびデータ転送制御部110のライトアクセスおよびリードアクセスに関係する回路へのクロック供給を停止する。
以上のように構成されたメモリシステムについて、以下にその動作を説明する。図8は、本発明に係る実施の形態4におけるメモリシステムのメモリアクセス制御装置の動作を示したフローチャートである。
プロセッサ102は、命令デコーダ部106で命令をフェッチし、デコードすることで、命令を実行する。実行した命令がN回繰り返しループする命令であることを命令シーケンス判定部407が検出する(ステップS41)と、命令シーケンス判定部407内のレジスタにループする回数Nを設定する(ステップS42)。ループする毎にカウンタをインクリメントし、カウンタ値が示すループ回数により2回目以降ループしている期間は、命令シーケンス判定情報156を出力する。クロック停止制御部408は、命令シーケンス判定情報がアサート、かつデータ転送制御部110から出力されるメモリアクセス可否信号159がネゲート(メモリアクセスをしていない)していれば、クロック停止制御部408がクロック一時停止信号458をアサートする。クロック一時停止信号458がアサートしている期間は、テーブルメモリ109およびデータ転送制御部110のライトアクセスおよびリードアクセスに関係する回路へのクロック供給を一時的に停止する。命令シーケンス判定部407内のカウンタ値が、レジスタに設定したループ回数Nになれば、クロック一時停止信号458をネゲートすることで、ライトアクセスおよびリードアクセスに関係する回路へのクロック供給を再開する。
このように、メモリシステム401は、命令シーケンス判定部407が、一連の命令がメインメモリ104にアクセスするような命令でなく、かつN回繰り返しループする命令であることを検出し、ループする回数を保持することで、命令シーケンス判定情報158、およびデータ転送制御部110からのメモリアクセス可否信号159に基づき、クロック一時停止信号458をアサートし、テーブルメモリ109およびデータ転送制御110のライトアクセスおよびリードアクセスに関係する回路へのクロック供給を一時的に停止することで、低消費電力化が可能となる。
なお実施の形態1、2、4は同時に並存させることができ、実施の形態1、3、4も同時に並存させることができる。たとえば、実施の形態2と、実施の形態4とを並存させる場合、命令シーケンス判定部207が、先行命令がキャッシュミスし、後続の命令が後方への分岐命令であるような命令シーケンスであった場合に、データ転送を中断させることになる。ここでいう、後方への分岐命令には、N回繰り返しループするための分岐命令も当然含まれるので、実施の形態2の構成において、後方への分岐命令がN回繰り返しループするための分岐命令である場合に実施の形態4のクロック供給の停止を適用することができる。
本発明は、プロセッサが処理する一連の命令シーケンスを常時監視することで、メモリアクセス制御を容易に切り替え、メインメモリへのアクセスを削減できるので、高速化が要求されるキャッシュメモリを内蔵したプロセッサを含むメモリシステム、もしくは低消費電力化が要求されるメモリシステムなどに利用することができる。
実施の形態1におけるメモリシステムの構成を示すブロック図である。 テーブルメモリの一例を示す図である。 メモリアクセス制御回路の動作を示すフローチャートである。 実施の形態2におけるメモリシステムの構成を示すブロック図である。 メモリアクセス制御回路の動作を示すフローチャートである。 実施の形態3におけるメモリシステムの構成を示すブロック図である。 テーブルメモリの一例を示す図である。 メモリアクセス制御回路の動作を示すフローチャートである。 実施の形態4におけるメモリシステムの構成を示すブロック図である。 メモリアクセス制御回路の動作を示すフローチャートである。
符号の説明
101,201,301,401 メモリシステム
102 プロセッサ
103 メモリアクセス制御装置
104 メインメモリ
105 キャッシュメモリ
106 命令デコーダ部
107,207,407 命令シーケンス判定部
108 転送制御切替部
109,309 テーブルメモリ
110 データ転送制御部
408 クロック停止制御部

Claims (17)

  1. キャッシュメモリを有するプロセッサと、
    キャッシュとメインメモリとの間のデータ転送を制御する転送制御手段と、
    プロセッサ内で処理中の命令を監視することにより、プロセッサが特定の命令シーケンスを実行したか否かを判定する判定手段と、
    前記判定手段による判定結果に応じてデータ転送の中止および一時的中断の何れかを前記転送制御手段に指示する指示手段と
    を備えることを特徴とするメモリシステム。
  2. 前記判定手段は、命令の実行結果および命令の実行内容を監視する
    ことを特徴とする請求項1記載のメモリシステム。
  3. 前記特定の命令シーケンスは、キャッシュミスを発生させた命令とそれ以降に実行される前方への分岐命令とを含み、
    前記指示手段は、前記特定の命令シーケンスを実行したと判定されたとき、データ転送の中止を指示する
    ことを特徴とする請求項2記載のメモリシステム。
  4. 前記特定の命令シーケンスは、キャッシュミスを発生させた命令とそれ以降に実行される後方への分岐命令とを含み、
    前記指示手段は、前記特定の命令シーケンスを実行したと判定されたとき、データ転送の中断を指示し、さらに再開を指示する
    ことを特徴とする請求項2記載のメモリシステム。
  5. 前記判定手段は、前記特定の命令シーケンスが実行されたか否かを判定することによって、プロセッサ内で処理中の命令を監視することにより、現在のリフィル対象の未転送データに対してプロセッサからのアクセスが発生する可能性を判定し、
    前記指示手段は、前記判定手段による判定結果に応じてリフィルの中止を前記転送制御手段に指示する
    ことを特徴とする請求項1記載のメモリシステム。
  6. 前記判定手段は、監視中の命令が前方への分岐命令であり、かつ当該分岐命令による分岐先アドレスがリフィル対象の全データに対応するアドレスを超える場合に、前記未転送データへのアクセスが生じ得ないと判定し、
    前記指示手段は、前記未転送データへのアクセスが生じ得ないと判定された場合、前記転送制御手段にリフィルの中止を指示し、さらに、中止したリフィルにおいて既に転送済のデータの無効化を、キャッシュメモリに指示する
    ことを特徴とする請求項5記載のメモリシステム。
  7. 前記判定手段は、監視中の命令が前方への分岐命令である場合に、前記未転送データへのアクセスが生じる可能性が小さいと判定し、
    前記指示手段は、前記転送制御手段にリフィルの中断を指示する
    ことを特徴とする請求項5記載のメモリシステム。
  8. 前記判定手段は、監視中の命令が前方への分岐命令であり、かつ当該分岐命令による分岐先アドレスがリフィル対象の全データに対応するアドレスを超える場合に、前記未転送データへのアクセスが生じ得ないと判定し、
    前記指示手段は、現在のリフィルの原因となるキャッシュミスを生じさせたデータがキャッシュメモリに転送され、かつ前記未転送データへのアクセスが生じ得ないと判定された場合に、前記転送制御手段にリフィルの中止を指示する
    ことを特徴とする請求項5記載のメモリシステム。
  9. 前記判定手段は、現在のリフィルの原因となるキャッシュミスを生じさせたデータがキャッシュメモリに転送され、かつ監視中の命令が後方への分岐命令である場合に、前記未転送データへのアクセスが生じる可能性が小さいと判定し、
    前記指示手段は、前記未転送データへのアクセスが生じる可能性が小さいと判定された場合、前記転送制御手段にリフィルの中断を指示し、他のデータ転送を指示し、リフィルの再開を指示する
    ことを特徴とする請求項5記載のメモリシステム。
  10. 前記後方への分岐命令は、ループ処理を構成する分岐命令である
    ことを特徴とする請求項9記載のメモリシステム。
  11. 前記メモリシステムは、さらに、
    メインメモリへのアクセスが行われていない期間に、前記転送制御手段へのクロック供給を一時的に停止するクロック停止手段を備える
    ことを特徴とする請求項1から10の何れかに記載のメモリシステム。
  12. 前記判定手段は、さらに、監視中の命令がループ処理を構成する分岐命令である場合に、ループ処理の繰り返し期間を検出し、
    前記クロック停止手段は、前記繰り返し期間でかつメインメモリへのアクセスが行われてない場合、前記クロック供給を一時的に停止する
    ことを特徴とする請求項11記載のメモリシステム。
  13. 前記メモリシステムは、さらに、メモリアクセス要求信号に基づいて転送アドレスを含む1つ以上の転送情報を格納するテーブルメモリを備え、
    前記判定手段は、監視中の命令が後方への分岐命令である場合に、前記未転送データへのアクセスが生じる可能性が小さいと判定し、
    前記指示手段は、前記転送制御手段にリフィルの中断を指示し、前記テーブルメモリに基づいて他のデータ転送を指示した後、リフィルの再開を指示する
    ことを特徴とする請求項5記載のメモリシステム。
  14. 前記後方への分岐命令は、ループ処理を構成する分岐命令である
    ことを特徴とする請求項13記載のメモリシステム。
  15. 前記転送情報はさらに優先度を含み、
    前記指示手段は、リフィルの中断後、前記優先度に基づいて他のデータ転送の開始および再開を指示する
    ことを特徴とする請求項13記載のメモリシステム。
  16. 前記指示手段は、前記判定手段による判定結果に応じてリフィルの中止、中断、再開の何れかを前記転送制御手段に指示し、中止を指示した場合にはキャッシュメモリに対してリフィルデータの無効化を指示する
    ことを特徴とする請求項5記載のメモリシステム。
  17. キャッシュメモリを有するプロセッサと、キャッシュミス時にキャッシュメモリにデータをリフィルするためのデータ転送を制御する転送制御手段とを備えるメモリシステムにおけるメモリアクセス制御方法であって、
    プロセッサ内で処理中の命令を監視することにより、プロセッサが特定の命令シーケンスを実行したか否かを判定し、
    判定結果に応じてデータ転送の中止、一時的中断の少なくとも1つを前記転送制御手段に指示する
    ことを特徴とするメモリアクセス制御方法。
JP2006026226A 2006-02-02 2006-02-02 メモリシステムおよびメモリアクセス制御方法 Withdrawn JP2007207039A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006026226A JP2007207039A (ja) 2006-02-02 2006-02-02 メモリシステムおよびメモリアクセス制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006026226A JP2007207039A (ja) 2006-02-02 2006-02-02 メモリシステムおよびメモリアクセス制御方法

Publications (1)

Publication Number Publication Date
JP2007207039A true JP2007207039A (ja) 2007-08-16

Family

ID=38486444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006026226A Withdrawn JP2007207039A (ja) 2006-02-02 2006-02-02 メモリシステムおよびメモリアクセス制御方法

Country Status (1)

Country Link
JP (1) JP2007207039A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009053861A (ja) * 2007-08-24 2009-03-12 Panasonic Corp プログラム実行制御装置
JP2016148964A (ja) * 2015-02-12 2016-08-18 株式会社日立製作所 計算装置、計算方法、及び保安装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009053861A (ja) * 2007-08-24 2009-03-12 Panasonic Corp プログラム実行制御装置
JP2016148964A (ja) * 2015-02-12 2016-08-18 株式会社日立製作所 計算装置、計算方法、及び保安装置

Similar Documents

Publication Publication Date Title
US6978350B2 (en) Methods and apparatus for improving throughput of cache-based embedded processors
JP4982375B2 (ja) 複数のコアを介してのモニタリングされたキャッシュラインの共有
JP4837456B2 (ja) 情報処理装置
US9767025B2 (en) Write-only dataless state for maintaining cache coherency
US7930504B2 (en) Handling of address conflicts during asynchronous memory move operations
US7991981B2 (en) Completion of asynchronous memory move in the presence of a barrier operation
US8095758B2 (en) Fully asynchronous memory mover
US8356151B2 (en) Reporting of partially performed memory move
US20050086435A1 (en) Cache memory controlling apparatus, information processing apparatus and method for control of cache memory
US20090198908A1 (en) Method for enabling direct prefetching of data during asychronous memory move operation
JP2007213578A (ja) データ・キャッシュ・ミス予測およびスケジューリング
US20090198937A1 (en) Mechanisms for communicating with an asynchronous memory mover to perform amm operations
JP2009053820A (ja) 階層型キャッシュメモリシステム
JP5623370B2 (ja) キャッシュ・メモリに対する直接アクセスのための装置および方法
JP2007219581A (ja) メモリコントローラおよびこれを搭載する電子機器
KR100988334B1 (ko) 캐쉬 제어 장치, 정보 처리 장치
JP2008186233A (ja) 命令キャッシュプリフェッチ制御方法及びその装置
KR19980063472A (ko) 명령 처리 추적 방법 및 장치
JPH0340047A (ja) キヤツシユ・ライン・ストア方法
US20090198939A1 (en) Launching multiple concurrent memory moves via a fully asynchronoous memory mover
JP2007207039A (ja) メモリシステムおよびメモリアクセス制御方法
US7689402B2 (en) Method and apparatus for retrieving application-specific code using memory access capabilities of a host processor
EP3332329B1 (en) Device and method for prefetching content to a cache memory
JP2002342162A (ja) メモリアクセス制御方式及びホストブリッジ
JP2004234420A (ja) 割り込み制御方式及び割り込み制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080111

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090309