JPH07271577A - Buffer storage control method and information processor - Google Patents
Buffer storage control method and information processorInfo
- Publication number
- JPH07271577A JPH07271577A JP6064792A JP6479294A JPH07271577A JP H07271577 A JPH07271577 A JP H07271577A JP 6064792 A JP6064792 A JP 6064792A JP 6479294 A JP6479294 A JP 6479294A JP H07271577 A JPH07271577 A JP H07271577A
- Authority
- JP
- Japan
- Prior art keywords
- data
- buffer storage
- transfer
- unit
- read
- 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
Links
Landscapes
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】(目次) 産業上の利用分野 従来の技術(図10,図11) 発明が解決しようとする課題 課題を解決するための手段(図1) 作用(図1) 実施例 ・第1実施例の説明(図2〜図5) ・第2実施例の説明(図6〜図9) 発明の効果(Table of Contents) Industrial Application Field of the Prior Art (FIGS. 10 and 11) Problem to be Solved by the Invention Means for Solving the Problem (FIG. 1) Operation (FIG. 1) Embodiment 1 First Embodiment Description of Example (FIGS. 2 to 5) • Description of Second Embodiment (FIGS. 6 to 9)
【0002】[0002]
【産業上の利用分野】本発明は、処理装置と記憶装置と
の間に、データアクセスの高速化を目的としてバッファ
記憶装置が設けられた情報処理装置において、処理装置
から読出要求されうるデータを先読みして記憶装置から
バッファ記憶装置に転送する際に用いて好適なバッファ
記憶制御方法およびこの情報処理装置に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus provided with a buffer storage device for the purpose of speeding up data access between a processing device and a storage device, and stores data that can be read out from the processing device. The present invention relates to a buffer storage control method suitable for use when prefetching and transferring from a storage device to a buffer storage device, and the information processing apparatus.
【0003】[0003]
【従来の技術】近年、情報処理装置の処理能力の向上を
目的として、様々な研究,開発が行なわれているが、特
に、処理速度の向上のための課題として、記憶装置のア
クセス速度を高速化することが要望されている。上記の
情報処理装置としては、一般的には、データに関する演
算処理等を行なう処理装置と、データを格納する記憶装
置と、処理装置が記憶装置にアクセスしたデータ情報を
一旦バッファ記憶装置に格納制御するバッファ記憶制御
装置とをそなえている。2. Description of the Related Art In recent years, various researches and developments have been carried out for the purpose of improving the processing capability of information processing devices. There is a demand for this. As the above-mentioned information processing device, generally, a processing device for performing arithmetic processing on data, a storage device for storing the data, and data information accessed by the processing device in the buffer storage device are controlled once. Buffer storage controller for
【0004】ここで、処理装置は、バッファ記憶制御装
置に対してデータの読み出し要求(フェッチリクエス
ト)を行なうと、要求されたデータがバッファ記憶装置
に存在した場合には、バッファ記憶装置から読み出した
データを処理装置へ送出し、読み出し要求の元となった
命令は継続して実行されるようになっているが、存在し
なかった(ミスヒット)場合には、読み出し要求の元と
なった命令の実行は保留され、記憶装置からバッファ記
憶装置にその要求とするデータが転送されてから、保留
された命令が実行されるようになっている。When the processing device issues a data read request (fetch request) to the buffer storage control device, if the requested data exists in the buffer storage device, the data is read from the buffer storage device. The data is sent to the processor, and the instruction that is the source of the read request is executed continuously. However, if it does not exist (miss hit), the instruction that is the source of the read request. Is suspended, the requested data is transferred from the storage device to the buffer storage device, and then the suspended instruction is executed.
【0005】従って、処理装置から読み出し要求される
データが、なるべく、予めバッファ記憶装置に存在して
いると、このバッファ記憶装置を有効的に活用すること
ができる。図10は、上述したような、処理装置から読
み出し要求されるデータがなるべくバッファ記憶装置に
存在するようにした情報処理装置を示すブロック図であ
り、この図10に示す情報処理装置は、演算処理等を行
なう処理装置101と、図示しないバッファ記憶装置へ
のデータの格納(登録)状態を監視や制御を行なうバッ
ファ記憶制御装置102と、データが格納されている他
の記憶装置103とをそなえている。Therefore, if the data requested to be read from the processing device exists in the buffer storage device in advance as much as possible, this buffer storage device can be effectively utilized. FIG. 10 is a block diagram showing an information processing device in which the data requested to be read from the processing device exists in the buffer storage device as much as possible as described above. The information processing device shown in FIG. And the like, a buffer storage control device 102 that monitors and controls the storage (registration) state of data in a buffer storage device (not shown), and another storage device 103 that stores data. There is.
【0006】また、処理装置101は、バッファ記憶制
御装置102に対してアドレス情報を含んだデータの読
み出し要求を発行できるようになっているほか、バッフ
ァ記憶装置に対するデータ転送中に、読み出し要求を発
行する際に、後述する転送中のプリフェッチデータが当
該読み出し要求に対応するデータを含んでいるかどうか
を検出するアドレス比較手段112をそなえている。Further, the processing device 101 can issue a read request for data including address information to the buffer storage control device 102, and also issues a read request during data transfer to the buffer storage device. In this case, the address comparison means 112 is provided for detecting whether or not prefetch data during transfer, which will be described later, includes data corresponding to the read request.
【0007】バッファ記憶制御装置102は、処理装置
101からの読み出し要求に基づき、要求されたアドレ
ス情報に対応するデータがバッファ記憶装置に登録され
ているか否かを検出するとともに、その要求データに後
続するデータのバッファ記憶装置への登録がされている
か否かを検出するバッファ記憶状況検出手段121をそ
なえている。The buffer storage control device 102 detects, based on the read request from the processing device 101, whether or not the data corresponding to the requested address information is registered in the buffer storage device, and follows the requested data. The buffer storage status detecting means 121 for detecting whether or not the data to be stored in the buffer storage device is registered.
【0008】なお、バッファ記憶装置は、記憶装置10
3におけるデータの一部のコピーを、ある一定の大きさ
のデータブロック毎に管理・記憶するものである。従っ
て、バッファ記憶状況検出手段121からの検出情報に
基づいて、要求データがバッファ記憶装置に格納されて
いない場合は、記憶装置103に対して当該要求データ
の読み出し要求を行なって、バッファ記憶装置に登録す
るとともに、その要求データに後続するデータのバッフ
ァ記憶装置への登録されていない場合には、当該後続す
るデータについてもバッファ記憶装置に登録(先読み転
送処理,プリフェッチ動作)するようになっている。The buffer storage device is the storage device 10.
A part of the copy of the data in 3 is managed and stored for each data block of a certain fixed size. Therefore, based on the detection information from the buffer storage status detection means 121, if the requested data is not stored in the buffer storage device, a read request for the requested data is issued to the storage device 103, and the buffer storage device is requested to read the requested data. In addition to registering, if the data following the requested data is not registered in the buffer storage device, the subsequent data is also registered in the buffer storage device (prefetch transfer process, prefetch operation). .
【0009】このような構成により、例えば、処理装置
101からデータブロック“0”の第1のフェッチ要求
110が発行されると(図11における(s1)参
照)、この読み出し要求110を受けたバッファ記憶制
御装置102においては、バッファ記憶状況検出手段1
21によって、要求データブロックの後続データブロッ
クのバッファ記憶への登録の有無を検出する(図11に
おける(s2)参照)。With such a configuration, for example, when the processing device 101 issues the first fetch request 110 for the data block "0" (see (s1) in FIG. 11), the buffer that has received this read request 110. In the storage controller 102, the buffer storage status detecting means 1
The presence or absence of registration of the subsequent data block of the requested data block in the buffer storage is detected by 21 (see (s2) in FIG. 11).
【0010】この場合においては、後続データブロック
がバッファ記憶装置内に存在しておらず、データブロッ
ク“0”のバッファ記憶装置への登録に続き、その後続
データブロック(データブロック“1”,“2”,
“3”)についても、連続してバッファ記憶装置に登録
(プリフェッチ)する(図11における(s3)参
照)。なお、データブロック“0”がバッファ記憶装置
に登録されると、その旨をバッファ記憶状況検出手段1
21に登録するとともに、そのデータブロック“0”を
処理装置101に読み込み(図11における(s5)参
照)、所定の演算処理が行なわれる。また、データブロ
ック“1”〜“3”がプリフェッチ動作中である旨は、
処理装置101のアドレス比較手段112に登録され
る。In this case, the succeeding data block does not exist in the buffer storage device, and following the registration of the data block "0" in the buffer storage device, the succeeding data block (data blocks "1", " 2 ",
"3") is also continuously registered (prefetched) in the buffer storage device (see (s3) in FIG. 11). When the data block “0” is registered in the buffer storage device, the fact that the data block “0” is registered is detected by the buffer storage status detecting means 1.
21 and the data block “0” is read into the processing device 101 (see (s5) in FIG. 11), and predetermined arithmetic processing is performed. Further, the fact that the data blocks "1" to "3" are in the prefetch operation means
It is registered in the address comparison means 112 of the processing device 101.
【0011】そして、上記のデータブロック“0”及び
その後続データブロック“1”〜“3”のバッファ記憶
装置への登録中に、例えば、処理装置101内でデータ
ブロック“1”の第2のフェッチ要求111が生じると
(図11における(s4)参照)、アドレス比較手段1
12により現在転送中のプリフェッチデータが第2のフ
ェッチ要求111の要求しているデータを含んでいるか
どうかを検出し、現在転送中,あるいは転送することが
予測される場合には、プリフェッチ動作を行っている間
はその第2のフェッチ要求111の受け付けが保留され
(図11における(s6)参照)、すべてのプリフェッ
チデータ(データブロック“1”〜“3”)の転送が完
了(図11における(s7)参照)した後に、第2のフ
ェッチ要求111の保留を解除(図11における(s
8)参照)するよう制御している。While the data block "0" and the subsequent data blocks "1" to "3" are being registered in the buffer storage device, for example, the second data block "1" of the processing device 101 is processed. When the fetch request 111 is generated (see (s4) in FIG. 11), the address comparison means 1
12 detects whether the prefetch data currently being transferred includes the data requested by the second fetch request 111, and if it is currently transferring or is predicted to be transferred, the prefetch operation is performed. While the second fetch request 111 is being accepted (see (s6) in FIG. 11), the transfer of all the prefetch data (data blocks “1” to “3”) is completed ((( (see s7)), the second fetch request 111 is released from the hold ((s in FIG. 11).
8) (see 8).
【0012】これにより、後続のデータを本来要求され
たデータに継続してバッファ記憶装置に登録すること
で、以後の処理装置101からの読み出し要求の際に予
測されるミスヒットが起こる比率を低下させるように制
御していた。As a result, the subsequent data is continuously registered as the originally requested data in the buffer storage device, so that the rate of occurrence of an expected mishit in a subsequent read request from the processing device 101 is reduced. It was controlled to let me.
【0013】[0013]
【発明が解決しようとする課題】しかしながら、上述の
ようなバッファ記憶制御では、プリフェッチ動作を行な
う条件及びプリフェッチを行なう転送データ長をシステ
ム内の状態により可変とすることができるような制御手
法を採る場合、プリフェッチされうる範囲内のデータを
要求するような後続フェッチ要求は、バッファ記憶制御
装置に対して直ちには発行されず、プリフェッチにより
後続のフェッチ要求対象データがバッファ記憶装置に登
録されても、プリフェッチ動作中は後続フェッチ要求が
保留されてしまう。However, in the above-mentioned buffer storage control, a control method is adopted in which the condition for performing the prefetch operation and the transfer data length for performing the prefetch can be made variable depending on the state in the system. In this case, a subsequent fetch request that requests data within the range that can be prefetched is not immediately issued to the buffer storage control device, and even if the subsequent fetch request target data is registered in the buffer storage device by prefetching, Subsequent fetch requests are suspended during the prefetch operation.
【0014】そして、先行するフェッチ要求が完了して
から保留が解除され、プリフェッチされていればバッフ
ァ記憶装置からデータを読み出し、プリフェッチされて
いなかった場合には、バッファ記憶制御装置へフェッチ
要求を発行するような制御となっていたため、無駄な待
ち時間を要し、アクセス速度向上の妨げになるととも
に、スループット低下の要因になるなどの課題がある。Then, the hold is released after the preceding fetch request is completed, the data is read from the buffer storage device if it has been prefetched, and the fetch request is issued to the buffer storage control device if it has not been prefetched. Since such control is performed, there is a problem that unnecessary waiting time is required, which hinders improvement of access speed and causes a decrease in throughput.
【0015】本発明は、このような課題に鑑み創案され
たもので、先行するフェッチ要求に対する後続のフェッ
チ要求が先行のフェッチ要求によってプリフェッチの対
象となった場合における後続のフェッチの実行の制約を
軽減することにより、無駄な待ち時間を無くし、アクセ
ス速度向上,スループットの改善を図ることができるバ
ッファ記憶制御方法および情報処理装置を提供すること
を目的とする。The present invention has been made in view of such a problem, and limits execution of a subsequent fetch when a subsequent fetch request with respect to a preceding fetch request is a target of prefetch by the preceding fetch request. It is an object of the present invention to provide a buffer storage control method and an information processing device that can reduce access time and throughput by reducing unnecessary waiting time.
【0016】[0016]
【課題を解決するための手段】図1は本発明の原理ブロ
ック図であり、この図1に示す情報処理装置は、データ
を格納する記憶部1と、記憶部1のデータに基づいて動
作するデータ処理部2と、記憶部1のデータの一部を保
持するバッファ記憶部3と、記憶部1からバッファ記憶
部3へのデータ転送およびバッファ記憶部3からデータ
処理部2へのデータ読出を制御するバッファ記憶制御部
4とをそなえており、バッファ記憶制御部4は、データ
処理部2の読出要求(フェッチ要求)に応じたデータが
バッファ記憶部3に格納されている場合には、当該デー
タをデータ処理部2に読み出す一方、データ処理部2の
読出要求に応じたデータがバッファ記憶部3に格納され
ていない場合には、当該データを記憶部1からデータ処
理部2に読み出すとともにバッファ記憶部3に転送した
後、当該データに続いてデータ処理部2から読出要求さ
れうるデータを先読みして記憶部1からバッファ記憶部
3に転送する先読み転送処理(プリフェッチ処理)を行
なうようになっている。FIG. 1 is a block diagram showing the principle of the present invention. The information processing apparatus shown in FIG. 1 operates on the basis of a storage unit 1 for storing data and data in the storage unit 1. The data processing unit 2, the buffer storage unit 3 that holds a part of the data in the storage unit 1, the data transfer from the storage unit 1 to the buffer storage unit 3, and the data reading from the buffer storage unit 3 to the data processing unit 2. The buffer storage control unit 4 controls the buffer storage control unit 4. When the data corresponding to the read request (fetch request) of the data processing unit 2 is stored in the buffer storage unit 3, While the data is read to the data processing unit 2, if the data corresponding to the read request of the data processing unit 2 is not stored in the buffer storage unit 3, the data is read from the storage unit 1 to the data processing unit 2. After both of them are transferred to the buffer storage unit 3, a prefetch transfer process (prefetch process) of prereading the data that can be requested to be read from the data processing unit 2 and transferring the data from the storage unit 1 to the buffer storage unit 3 is performed. It has become.
【0017】そして、本発明のデータ処理部2には、前
記先読み転送処理中に先読み転送処理中のデータに対す
る読出要求がデータ処理部2内で発生した場合に当該読
出要求をバッファ記憶制御部4へ直ちに発行する読出要
求発行手段5がそなえられている。また、本発明のバッ
ファ記憶制御部4は、転送完了判定手段6と通知手段7
とデータ読出手段8と転送データ順序制御手段9とをそ
なえている。In the data processing unit 2 of the present invention, when a read request for the data during the prefetch transfer process is generated in the data processing unit 2 during the prefetch transfer process, the read request is issued to the buffer storage control unit 4. A read request issuing means 5 for immediately issuing is provided. Further, the buffer storage control unit 4 of the present invention includes the transfer completion determination unit 6 and the notification unit 7.
The data read means 8 and the transfer data order control means 9 are provided.
【0018】ここで、転送完了判定手段6は、データ処
理部2(読出要求発行手段5)からの当該読出要求に応
じたデータの先読み転送を完了しているか否かを判定す
るものであり、通知手段7は、転送完了判定手段6によ
り当該読出要求に応じたデータの先読み転送を完了して
いないと判定された場合、その旨をデータ処理部2へ通
知するものであり、データ読出手段8は、転送完了判定
手段6により当該読出要求に応じたデータの先読み転送
を完了していると判定された場合、そのデータをバッフ
ァ記憶部3からデータ処理部2に読み出すものである
(請求項1,3)。Here, the transfer completion judging means 6 judges whether or not the prefetch transfer of the data according to the read request from the data processing section 2 (read request issuing means 5) is completed. When the transfer completion determination unit 6 determines that the prefetch transfer of the data corresponding to the read request is not completed, the notification unit 7 notifies the data processing unit 2 to that effect, and the data read unit 8 is provided. When the transfer completion determining unit 6 determines that the prefetch transfer of the data corresponding to the read request is completed, the data is read from the buffer storage unit 3 to the data processing unit 2 (claim 1). , 3).
【0019】また、転送データ順序制御手段9は、バッ
ファ記憶制御部4が、前記先読み転送処理に際して複数
のデータの先読み転送を連続的に行なうものである場合
に、転送完了判定手段6により当該読出要求に応じたデ
ータの先読み転送を完了していないと判定された場合、
前記複数のデータの先読み転送順序を変更して当該読出
要求に応じたデータの先読み転送を優先的に行なうもの
である(請求項2,4)。Further, the transfer data order control means 9 reads out the data by the transfer completion determination means 6 when the buffer storage control part 4 continuously performs the prefetch transfer of a plurality of data in the prefetch transfer processing. If it is determined that the prefetch transfer of the requested data has not been completed,
The read-ahead transfer order of the plurality of data is changed to preferentially perform the read-ahead transfer of the data according to the read request (claims 2 and 4).
【0020】[0020]
【作用】上述の本発明のバッファ記憶制御方法および情
報処理装置では、データ処理部2の読出要求に応じたデ
ータがバッファ記憶部3に格納されている場合には、バ
ッファ記憶制御部4により、当該データをデータ処理部
2に読み出す一方、データ処理部2の読出要求に応じた
データがバッファ記憶部3に格納されていない場合に
は、バッファ記憶制御部4により、当該データを記憶部
1からデータ処理部2に読み出すとともにバッファ記憶
部3に転送した後、当該データに続いてデータ処理部2
から読出要求されうるデータを先読みして記憶部1から
バッファ記憶部3に転送する先読み転送処理を行なう。In the above-described buffer storage control method and information processing apparatus of the present invention, when data corresponding to the read request of the data processing unit 2 is stored in the buffer storage unit 3, the buffer storage control unit 4 causes While the data is read to the data processing unit 2, if the data corresponding to the read request of the data processing unit 2 is not stored in the buffer storage unit 3, the buffer storage control unit 4 reads the data from the storage unit 1. After being read out to the data processing unit 2 and transferred to the buffer storage unit 3, the data processing unit 2 follows the data.
Read-ahead transfer processing for pre-reading data that can be requested to be read from the storage unit 1 and transferring it to the buffer storage unit 3 is performed.
【0021】また、前記先読み転送処理中に先読み転送
処理中のデータに対する読出要求が、データ処理部2の
読出要求発行手段5で発生した場合、当該読出要求は、
データ処理部2からバッファ記憶制御部4へ直ちに発行
され、バッファ記憶制御部4の転送完了判定手段6によ
り、当該読出要求に応じたデータの先読み転送を完了し
ていないと判定された場合は、その旨を通知手段7によ
りデータ処理部2へ通知し、当該読出要求に応じたデー
タの先読み転送を完了していれば、データ読出手段8に
より、そのデータがバッファ記憶部3からデータ処理部
2に読み出される。Further, when a read request for the data during the prefetch transfer process is issued by the read request issuing means 5 of the data processing unit 2 during the prefetch transfer process, the read request is:
Immediately issued from the data processing unit 2 to the buffer storage control unit 4, and when the transfer completion determination means 6 of the buffer storage control unit 4 determines that the prefetch transfer of the data corresponding to the read request is not completed, To that effect, the notifying means 7 notifies the data processing section 2, and if the prefetch transfer of the data corresponding to the read request has been completed, the data reading means 8 transfers the data from the buffer storage section 3 to the data processing section 2. Read out.
【0022】このように、データ処理部2からバッファ
記憶制御部4への読出要求は、保留されることなく、デ
ータ処理部2における処理が継続して実行される。従っ
て、従来では読出要求の度に行なっていた先行読出要求
による先読み転送の可能性の有無をデータ処理部2で認
識する必要がなくなり、先行読出要求のバッファ記憶制
御部4からの応答も待つことなく後続読出要求を出力す
ることが可能になっている。As described above, the read request from the data processing unit 2 to the buffer storage control unit 4 is not suspended and the processing in the data processing unit 2 is continuously executed. Therefore, it is no longer necessary for the data processing unit 2 to recognize whether or not there is a possibility of prefetch transfer by a preceding read request, which is conventionally performed for each reading request, and the response from the buffer storage control unit 4 for the preceding read request is also waited. It is possible to output a subsequent read request without a request.
【0023】さらに、前記先読み転送処理に際して複数
のデータの先読み転送を連続的に行なう場合に、先読み
転送処理中のデータに対するデータ処理部2の読出要求
に応じたデータの先読み転送を完了していなければ、バ
ッファ記憶制御部4の転送順序制御手段9により、前記
複数のデータの先読み転送順序が変更され、当該読出要
求に応じたデータの先読み転送を優先的に行なえ、後続
読出要求のペナルティを最少限にすることが可能にな
る。Further, when the prefetch transfer of a plurality of data is continuously performed in the prefetch transfer process, the prefetch transfer of data corresponding to the read request of the data processing unit 2 for the data being prefetched must be completed. For example, the transfer order control unit 9 of the buffer storage control unit 4 changes the prefetch transfer order of the plurality of data, preferentially performs the prefetch transfer of the data according to the read request, and minimizes the penalty of the subsequent read request. It becomes possible to limit it.
【0024】[0024]
(a)第1実施例の説明 図2は本発明の第1実施例にかかる情報処理装置を示す
ブロック図であり、この図2に示す情報処理装置は、デ
ータが格納されている主記憶装置(記憶部)11と、こ
の主記憶装置11に格納されているデータに基づき演算
処理等の動作を行なう処理装置(データ処理部)12
と、主記憶装置11に格納されているデータの一部を一
旦格納しておくバッファ記憶装置(バッファ記憶部)1
3と、このバッファ記憶装置13へのデータの格納(登
録)状態の監視,制御や処理装置12へのデータ読出制
御を行なうバッファ記憶制御装置(バッファ記憶制御
部)14とをそなえている。なお、バッファ記憶装置1
3は、主記憶装置11のデータの一部のコピーをある一
定の大きさのデータブロック毎に管理・記憶するもので
ある。(A) Description of First Embodiment FIG. 2 is a block diagram showing an information processing apparatus according to the first embodiment of the present invention. The information processing apparatus shown in FIG. 2 is a main storage device in which data is stored. (Storage unit) 11 and a processing device (data processing unit) 12 that performs operations such as arithmetic processing based on the data stored in the main storage unit 11.
And a buffer storage device (buffer storage unit) 1 for temporarily storing a part of the data stored in the main storage device 11.
3 and a buffer storage control device (buffer storage control unit) 14 for monitoring and controlling the data storage (registration) state in the buffer storage device 13 and for controlling the data reading to the processing device 12. The buffer storage device 1
3 manages and stores a copy of part of the data in the main storage device 11 for each data block of a certain size.
【0025】また、バッファ記憶制御装置14は、処理
装置12がデータを読み出すに際して、この処理装置1
2からのデータ読出要求(フェッチ要求)に対応するデ
ータのバッファ記憶装置13への格納状態に応じて、バ
ッファ記憶制御装置13のデータの格納状態を制御する
もので、処理装置12からのフェッチ要求に応じたデー
タがバッファ記憶装置13に格納されている場合(キャ
ッシュヒット)には、そのデータを処理装置12に読み
出す一方、処理装置12からのフェッチ要求に応じたデ
ータがバッファ記憶装置13に格納されていない場合
(キャッシュミスヒット)には、そのデータを主記憶装
置11から処理装置12に読み出すとともにバッファ記
憶装置13に転送した後、そのデータに続いて処理装置
12から読出要求されうるデータを先読みして主記憶装
置11かバッファ記憶装置13に転送する先読み転送処
理(プリフェッチ処理)を行なうようになっている。Further, the buffer storage control device 14 uses the processing device 1 when the processing device 12 reads data.
The data storage state of the buffer storage control device 13 is controlled according to the data storage state of the data corresponding to the data read request (fetch request) from the buffer storage device 13, and the fetch request from the processing device 12 When the data corresponding to the data is stored in the buffer storage device 13 (cache hit), the data is read to the processing device 12, while the data corresponding to the fetch request from the processing device 12 is stored in the buffer storage device 13. If not (cache miss hit), the data is read from the main storage device 11 to the processing device 12 and transferred to the buffer storage device 13, and then the data which can be read from the processing device 12 is requested following the data. A prefetch transfer process (prefetch process of prefetching and transferring to the main storage device 11 or the buffer storage device 13) ) It is adapted to perform.
【0026】そして、本実施例の処理装置12は、登録
状況記憶部61と読出要求発行部19とをそなえて構成
されている。ここで、登録状況記憶部61は、後述する
TAG部81の写し(バッファ記憶装置13へのデータ
の登録状況)を記憶するものであり、具体的には、64
バイト毎のデータの登録状況をそれぞれのビットが
「0」なら未登録、「1」なら登録として4つのまとま
りを単位として同時に検索できる様な構成となってい
る。The processing device 12 of this embodiment comprises a registration status storage unit 61 and a read request issuing unit 19. Here, the registration status storage unit 61 stores a copy of the TAG unit 81 described later (registration status of data in the buffer storage device 13), and specifically, 64
The data registration status for each byte is such that if each bit is "0", it is unregistered, and if it is "1", registration can be performed simultaneously in units of four groups as registration.
【0027】また、読出要求発行部19は、プリフェッ
チ処理中のデータに対するフェッチ要求が処理装置12
内で発生した場合に、そのフェッチ要求をバッファ記憶
制御装置14に直ちに発行するものである。一方、本実
施例のバッファ記憶制御装置14には、転送完了判定部
(転送完了判定手段)15,通知部(通知手段)16,
データ読出部(データ読出手段)17,転送データ順序
制御部(転送データ順序制御手段)18およびTAG部
81がそなえられている。Further, the read request issuing unit 19 issues a fetch request for the data being prefetched to the processing device 12.
If it occurs in the buffer, the fetch request is immediately issued to the buffer storage controller 14. On the other hand, in the buffer storage control device 14 of the present embodiment, the transfer completion determining unit (transfer completion determining unit) 15, the notifying unit (notifying unit) 16,
A data reading section (data reading means) 17, a transfer data order control section (transfer data order control means) 18, and a TAG section 81 are provided.
【0028】ここで、TAG部81は、バッファ記憶装
置13へのデータの登録状況を記録しておくものであ
り、具体的には、64バイト毎のデータの登録状況を、
それぞれのビットが「0」なら未登録、「1」なら登録
として4つのまとまりを単位として同時に記録でき、そ
の登録状況を4つ同時に検索できるようになっている。
また、このTAG部81には、フェッチ要求対象データ
がプリフェッチ対象になっているか否かを示すプリフェ
ッチ対象フラグも設けられており、このフラグは、プリ
フェッチ対象である場合に「1」を、プリフェッチ対象
でない場合に「0」を設定されるようになっている。Here, the TAG unit 81 records the registration status of data in the buffer storage device 13, and specifically, the registration status of data every 64 bytes is
If each bit is "0", it is unregistered, and if it is "1", it is possible to record simultaneously as a unit of four groups as registration, and it is possible to retrieve four registration statuses at the same time.
The TAG unit 81 is also provided with a prefetch target flag indicating whether or not the fetch request target data is a prefetch target. This flag indicates “1” when the prefetch target data is a prefetch target. If not, "0" is set.
【0029】転送完了判定部15は、TAG部81にお
けるデータの登録状況に基づいて、処理装置12(読出
要求発行部19)からのフェッチ要求(プリフェッチ処
理中のデータに対するフェッチ要求)に応じたデータの
転送を完了しているか否かを判定するものである。通知
部16は、転送完了判定部15からの判定結果を入力さ
れ、処理装置12からのフェッチ要求に応じたデータの
プリフェッチ処理を完了していないと判定された場合
に、その旨を処理装置12に通知するものである。The transfer completion determining unit 15 determines the data corresponding to the fetch request (fetch request for the data being prefetched) from the processing device 12 (read request issuing unit 19) based on the data registration status in the TAG unit 81. It is to determine whether or not the transfer has been completed. When the notification unit 16 receives the determination result from the transfer completion determination unit 15 and determines that the prefetch process of the data according to the fetch request from the processing device 12 is not completed, the notification unit 16 notifies that effect. To notify.
【0030】データ読出部17は、転送完了判定部15
からの判定結果を入力され、処理装置12からのフェッ
チ要求に応じたデータのプリフェッチ処理を完了したと
判定された場合、そのデータをバッファ記憶装置13か
ら処理装置12に読み出すように制御するものである。
上述の構成により、本発明の第1実施例にかかる情報処
理装置によるバッファ記憶制御動作を、図3に示すブロ
ック図,図4に示すフローチャート及び図5に示すタイ
ムチャートを用いて以下に説明する。The data reading section 17 includes a transfer completion determining section 15
When it is determined that the prefetch processing of the data corresponding to the fetch request from the processing device 12 is completed, the control is performed to read the data from the buffer storage device 13 to the processing device 12. is there.
The buffer storage control operation by the information processing apparatus according to the first embodiment of the present invention having the above-described configuration will be described below with reference to the block diagram shown in FIG. 3, the flowchart shown in FIG. 4, and the time chart shown in FIG. .
【0031】処理装置12内において、データブロック
“0”のフェッチ要求62が発生すると(図5の(t
1)参照)、登録状況記憶部61において、要求された
データブロック“0”がバッファ記憶装置13に存在す
るかどうか検索する(図4のステップA1,図5の(t
2)参照)。ここで、要求されたデータブロック“0”
がバッファ記憶装置13に存在した場合(キャッシュヒ
ット)は、データ読出部17により、そのデータブロッ
ク“0”をバッファ記憶装置14から読み出す(図4の
ステップA1のYESルートからステップA4)一
方、、要求されたデータブロック“0”がバッファ記憶
装置13に存在せず、ミスヒットとなった場合は、バッ
ファ記憶制御装置14に対して、主記憶装置11からバ
ッファ記憶装置13へのデータブロック“0”の転送要
求83を出力する(図4のステップA1のNOルー
ト)。When a fetch request 62 for a data block "0" is generated in the processing unit 12 ((t in FIG. 5).
1)), the registration status storage unit 61 is searched to see if the requested data block "0" exists in the buffer storage device 13 (step A1 in FIG. 4 and (t in FIG. 5).
See 2)). Here, the requested data block “0”
Is present in the buffer storage device 13 (cache hit), the data reading unit 17 reads the data block “0” from the buffer storage device 14 (from YES route of step A1 to step A4 in FIG. 4). If the requested data block “0” does not exist in the buffer storage device 13 and a mishit occurs, the data block “0” from the main storage device 11 to the buffer storage device 13 is sent to the buffer storage control device 14. "Transfer request 83" is output (NO route of step A1 in FIG. 4).
【0032】バッファ記憶制御装置14においては、転
送要求83の対象データブロック“0”のバッファ登録
状況だけでなく、プリフェッチ処理として、後続するア
ドレスにおける例えば256バイト分のデータブロック
“1”〜“3”の登録状況をも、TAG部81を検索す
ることにより調べ、その結果に応じて、主記憶装置11
へ要求データブロックの転送要求84を順次出力する。In the buffer storage controller 14, not only the buffer registration status of the target data block "0" of the transfer request 83, but also prefetch processing, for example, data blocks "1" to "3" of 256 bytes in the succeeding address. The registration status of "is also checked by searching the TAG unit 81, and the main storage device 11 is searched according to the result.
The transfer requests 84 for the requested data blocks are sequentially output to.
【0033】そして、バッファ記憶装置14からの転送
要求84に対する主記憶装置11からの応答91とし
て、バッファ記憶装置13において、転送要求83に対
応したデータの登録が行なわれる(図4のステップA2
のNOルートからステップA6)とともに、処理装置1
2に対して、転送要求83に対応したデータが出力され
(図4のステップA4参照)、TAG部81の内容の更
新登録が行なわれ、フェッチ要求62に対する応答が完
了する(図5の(t3)参照)。Then, as a response 91 from the main storage device 11 to the transfer request 84 from the buffer storage device 14, data corresponding to the transfer request 83 is registered in the buffer storage device 13 (step A2 in FIG. 4).
From NO route of step A6) together with the processing device 1
2, the data corresponding to the transfer request 83 is output (see step A4 in FIG. 4), the contents of the TAG unit 81 are updated and registered, and the response to the fetch request 62 is completed ((t3 in FIG. 5). )reference).
【0034】その後、転送要求83に対応したデータの
検索処理とともに行なわれた後続するデータの登録状況
の検索処理の結果に基づいて、後続するデータブロック
“1”〜“3”がバッファ記憶装置13に登録されてい
ない場合は、データブロック“1”〜“3”に対するプ
リフェッチ処理が行なわれ、そのプリフェッチ対象のデ
ータブロックについては、TAG部81におけるプリフ
ェッチ対象フラグが「1」に設定される。After that, the subsequent data blocks "1" to "3" are stored in the buffer storage device 13 on the basis of the result of the search processing of the registration status of the subsequent data performed together with the data search processing corresponding to the transfer request 83. If it is not registered in, the prefetch processing is performed on the data blocks “1” to “3”, and the prefetch target flag in the TAG unit 81 is set to “1” for the prefetch target data block.
【0035】つまり、主記憶装置11に対するデータブ
ロック“1”のバッファ記憶装置13へのデータ登録要
求85,その応答92としてのバッファ記憶装置13へ
のデータの登録,主記憶装置11に対するデータブロッ
ク“2”のバッファ記憶装置13へのデータ登録要求8
6,その応答93としてのバッファ記憶装置13へのデ
ータの登録,主記憶装置11に対するデータブロック
“3”のバッファ記憶装置13へのデータ登録要求87
及びその応答94としてのバッファ記憶装置13へのデ
ータの登録が、順次、継続して行なわれる(図5の(t
3)参照)。That is, a data registration request 85 of the data block “1” to the main memory device 11 to the buffer memory device 13, a data registration to the buffer memory device 13 as a response 92, and a data block “to the main memory device 11”. Data registration request 8 to the 2 "buffer storage device 13
6, data registration request to the buffer storage device 13 as the response 93, data registration request 87 to the buffer storage device 13 of the data block “3” to the main storage device 87
And the data as the response 94 to the buffer storage device 13 is sequentially and continuously registered ((t in FIG. 5).
See 3)).
【0036】このようにしてデータの登録が行なわれる
と、登録されたデータブロックについて、TAG部81
(登録状況記憶部61)における登録状況を示すビット
が更新(「1」に設定)される。ここで、転送要求62
によって開始したプリフェッチ動作に対応するデータ
が、応答92によるバッファ記憶装置13へのデータ転
送中である時、処理装置12内でデータブロック“1”
に対する第2のフェッチ要求63が発生したとすると
(図4のステップA2からYESルート,図5の(t
4)参照)、このフェッチ要求63は、読出要求発行部
19により、抑止されることなく、通常の要求と同じよ
うにそのままバッファ記憶装置14に対して転送要求6
4として発行される。When the data is registered in this way, the TAG unit 81 is registered for the registered data block.
The bit indicating the registration status in (registration status storage unit 61) is updated (set to "1"). Here, the transfer request 62
When the data corresponding to the prefetch operation started by is being transferred to the buffer storage device 13 by the response 92, the data block “1” is set in the processing device 12.
Suppose that a second fetch request 63 is generated for the (YES route from step A2 in FIG. 4, (t in FIG.
4)), the fetch request 63 is not suppressed by the read request issuing unit 19 and the transfer request 6 is sent to the buffer storage device 14 as it is as a normal request.
Issued as 4.
【0037】この場合、応答91によりTAG部81が
更新されており、バッファ記憶制御装置14の転送完了
判定部15においては、TAG部81(登録状況,プリ
フェッチ対象ビット)を参照することにより、第2のフ
ェッチ要求63の対象データブロック“1”が、プリフ
ェッチ登録であるか否か、さらには、既にバッファ記憶
装置13に登録されているか否かを判定することができ
る。In this case, the TAG unit 81 is updated by the response 91, and the transfer completion determining unit 15 of the buffer storage control device 14 refers to the TAG unit 81 (registration status, prefetch target bit), It is possible to determine whether or not the target data block “1” of the fetch request 63 of No. 2 is prefetch registration, and further whether or not it is already registered in the buffer storage device 13.
【0038】転送完了判定部15により、第2のフェッ
チ要求63の対象データブロック“1”が、現在処理中
のプリフェッチ動作によってデータが転送中で未だバッ
ファ記憶装置13に登録されていないと判定された場合
には、通知部16より、直ちにその旨を示す応答88が
処理装置12へ返される(図4のステップA3のNOル
ートからステップA5)。このような応答を受けた処理
装置12は、あたかも要求データがバッファ記憶装置1
3でヒットしたかのようにそのまま処理を継続すること
ができる。The transfer completion judging unit 15 judges that the target data block "1" of the second fetch request 63 is undergoing data transfer by the prefetch operation currently being processed and is not yet registered in the buffer storage device 13. In this case, the notification unit 16 immediately returns a response 88 to that effect to the processing device 12 (from NO route of step A3 of FIG. 4 to step A5). When the processing device 12 receives such a response, it is as if the requested data is the buffer storage device 1.
The process can be continued as if it was hit at 3.
【0039】そして、処理装置12側ではこの応答のし
かる時間の後にバッファ記憶制御装置14に対する転送
要求64の出力動作を繰り返し行ない、転送完了判定部
15において、要求データブロック“1”のバッファ記
憶装置13への登録が完了したと判定すると、データ読
出部17により、バッファ記憶装置13に登録されたデ
ータブロック“1”の処理装置12へのフェッチ動作を
行なう(図5の(t5),図4のステップA3のYES
ルートからステップA4)。The processing device 12 repeats the output operation of the transfer request 64 to the buffer storage control device 14 after a certain time of this response, and the transfer completion judging section 15 causes the buffer storage device of the requested data block "1". When it is determined that the registration in the data storage unit 13 is completed, the data reading unit 17 performs the fetch operation of the data block “1” registered in the buffer storage device 13 to the processing device 12 ((t5) in FIG. 5 and FIG. 4). YES in step A3
From the root, step A4).
【0040】即ち、処理装置12からバッファ記憶制御
装置14に対して転送要求64が出力されると、転送完
了判定部15においては、バッファ記憶装置13に、第
2のフェッチ要求63に対応するデータブロック“1”
が格納されていると判定され、データ読出部17におい
て、バッファ記憶装置13における当該データの読み出
し動作が行なわれる。That is, when the transfer request 64 is output from the processing device 12 to the buffer storage control device 14, in the transfer completion judging section 15, the data corresponding to the second fetch request 63 is sent to the buffer storage device 13. Block "1"
Is determined to be stored, and the data reading unit 17 performs the operation of reading the data in the buffer storage device 13.
【0041】なお、転送要求62によって開始したプリ
フェッチ動作に対応するデータが、、応答92によるバ
ッファ記憶装置13へのデータ転送中である時、処理装
置12内で、バッファ記憶装置13に格納されておらず
且つプリフェッチ動作に関係しないデータに対するフェ
ッチ要求が発生した場合には、バッファ記憶制御装置1
4においては、現在実行中のプリフェッチ動作を直ちに
中止して、発生したフェッチ要求に対するデータを、主
記憶装置11からバッファ記憶装置13へ登録する処理
を行なう(図4のステップA2のNOルートからステッ
プA6)。Note that the data corresponding to the prefetch operation started by the transfer request 62 is stored in the buffer storage device 13 in the processing device 12 while the data is being transferred to the buffer storage device 13 by the response 92. If there is no fetch request for data that is not related to the prefetch operation, the buffer storage controller 1
4, the prefetch operation currently being executed is immediately stopped, and the data for the generated fetch request is registered in the buffer storage device 13 from the main storage device 11 (from NO route of step A2 in FIG. 4 to step S2). A6).
【0042】このように、本発明の第1実施例によれ
ば、バッファ記憶制御装置14により、第2のフェッチ
要求63に応じたデータのプリフェッチ処理を完了して
いなければその旨を処理装置12へ通知し、第2のフェ
ッチ要求63に応じたデータのプリフェッチ処理を完了
していればそのデータをバッファ記憶装置13から処理
装置12に読み出すことができるので、先行するフェッ
チ要求に対する後続のフェッチ要求が先行のフェッチ要
求によってプリフェッチの対象となった場合における後
続のフェッチの実行の制約を軽減することができ、無駄
な待ち時間を無くし、アクセス速度向上を図ることがで
き、ひいてはスループットの低下を防止できる利点があ
る。As described above, according to the first embodiment of the present invention, if the buffer storage control device 14 has not completed the data prefetch process in response to the second fetch request 63, the processing device 12 indicates that fact. If the prefetch processing of the data corresponding to the second fetch request 63 is completed, the data can be read from the buffer storage device 13 to the processing device 12. Therefore, the subsequent fetch request for the preceding fetch request can be read. Can reduce the restriction on the execution of the subsequent fetch when the target is prefetched by the preceding fetch request, eliminate unnecessary waiting time, improve the access speed, and eventually prevent the throughput from decreasing. There are advantages.
【0043】(b)第2実施例の説明 図6は本発明の第2実施例にかかる情報処理装置を示す
ブロック図であり、この図6に示す情報処理装置は、前
述の第1実施例におけるものに比して、バッファ記憶制
御装置14に転送データ順序制御部18をそなえている
点が異なり、その他の構成要素については、同様の機能
を有している。(B) Description of Second Embodiment FIG. 6 is a block diagram showing an information processing apparatus according to the second embodiment of the present invention. The information processing apparatus shown in FIG. 6 is the same as the first embodiment described above. 2 is different from that in FIG. 3 in that the transfer data order control unit 18 is provided in the buffer storage control device 14, and other components have the same functions.
【0044】ここで、転送データ順序制御部18は、バ
ッファ記憶制御装置14がプリフェッチ処理に際して複
数のデータ(本実施例では3つのデータブロック)のプ
リフェッチを連続的に行なうものである場合に、転送完
了判定部15により第2のフェッチ要求に応じたデータ
のプリフェッチを完了していないと判定された場合、プ
リフェッチ順序(バッファ記憶装置13への登録順序)
を入れ替え変更して第2のフェッチ要求に応じたデータ
のプリフェッチを優先的に行なうものである。Here, the transfer data order control unit 18 transfers data when the buffer storage control device 14 continuously prefetches a plurality of data (three data blocks in this embodiment) in the prefetch process. When the completion determination unit 15 determines that the prefetch of the data corresponding to the second fetch request is not completed, the prefetch order (the registration order in the buffer storage device 13)
Is replaced and changed to preferentially prefetch data according to the second fetch request.
【0045】つまり、第2実施例では、図7〜図9によ
り後述するごとく、プリフェッチするデータブロックの
順番を、フェッチ要求のあった順に変更できるようにな
っている。上述の構成により、本発明の第2実施例にか
かる情報処理装置において行なわれるバッファ記憶制御
を、図7に示すブロック図,図8に示すフローチャート
及び図9に示すタイムチャートを用いて以下に説明す
る。That is, in the second embodiment, as will be described later with reference to FIGS. 7 to 9, the order of data blocks to be prefetched can be changed to the order in which a fetch request is made. The buffer storage control performed by the information processing apparatus according to the second embodiment of the present invention having the above configuration will be described below with reference to the block diagram shown in FIG. 7, the flowchart shown in FIG. 8 and the time chart shown in FIG. To do.
【0046】基本的には第1実施例の場合と同様に、処
理装置12内において、データブロック“0”のフェッ
チ要求62が発生すると(図9の(t11)参照)、登
録状況記憶部61において、要求されたデータブロック
“0”がバッファ記憶装置13に存在するかどうか検索
する(図8のステップB1,図9の(t12)参照)。Basically, as in the case of the first embodiment, when a fetch request 62 for a data block "0" occurs in the processing device 12 (see (t11) in FIG. 9), the registration status storage unit 61. In step S1, it is searched whether or not the requested data block "0" exists in the buffer storage device 13 (see step B1 in FIG. 8 and (t12) in FIG. 9).
【0047】ここで、要求されたデータブロック“0”
がバッファ記憶装置13に存在した場合(キャッシュヒ
ット)は、データ読出部17により、そのデータをバッ
ファ記憶装置13から読み出す(図8のステップB1の
YESルートからステップB5)一方、要求されたデー
タブロック“0”がバッファ記憶装置13に存在せず、
ミスヒットとなった場合は、バッファ記憶制御装置14
に対して、主記憶装置11からバッファ記憶装置13へ
のデータブロック“0”の転送要求83を出力する(図
8のステップB1のNOルート)。Here, the requested data block "0"
Is present in the buffer storage device 13 (cache hit), the data reading unit 17 reads the data from the buffer storage device 13 (YES route from step B1 to step B5 in FIG. 8) while the requested data block “0” does not exist in the buffer storage device 13,
In the case of a mishit, the buffer storage controller 14
In response, a transfer request 83 for the data block “0” from the main storage device 11 to the buffer storage device 13 is output (NO route of step B1 in FIG. 8).
【0048】転送要求83を受けたバッファ記憶制御装
置14においては、要求83の対象データブロック
“0”のバッファ登録状況だけでなく、プリフェッチ処
理として、後続するアドレスにおける256バイト分の
データブロック“1”〜“3”の登録状況をも、TAG
部81を検索することにより調べ、その結果に応じて、
主記憶装置11へ要求データの転送要求84を出力す
る。In the buffer storage control device 14 that has received the transfer request 83, not only the buffer registration status of the target data block "0" of the request 83 but also the data block "1" of 256 bytes at the succeeding address is prefetched. Even the registration status of "~" 3 is
Search by searching the section 81, and depending on the result,
A transfer request 84 for request data is output to the main storage device 11.
【0049】この場合においては、転送要求84に対応
するデータがプリフェッチ動作中の対象ブロックでない
ので、上記の転送要求84に対する主記憶装置11から
の応答91を受けて、バッファ記憶装置13において、
転送要求83に対応したデータの登録が行なわれる(図
8のステップB2のNOルートからステップB8)とと
もに、処理装置12に対して、転送要求83に対応した
データが出力され(図8のステップB5参照)、TAG
部81の内容の更新登録が行なわれ、フェッチ要求62
に対する応答が完了する(図9の(t13)参照)。In this case, since the data corresponding to the transfer request 84 is not the target block during the prefetch operation, the buffer storage device 13 receives the response 91 from the main storage device 11 to the transfer request 84, and
The data corresponding to the transfer request 83 is registered (from NO route of step B2 of FIG. 8 to step B8), and the data corresponding to the transfer request 83 is output to the processing device 12 (step B5 of FIG. 8). ), TAG
The contents of the section 81 are updated and registered, and the fetch request 62
Is completed (see (t13) in FIG. 9).
【0050】その後、転送要求83に対応したデータの
検索処理とともに行なわれた後続するデータの登録状況
の検索処理の結果に基づいて、後続するデータブロック
“1”〜“3”がバッファ記憶装置13に登録されてい
ない場合は、データブロック“1”〜“3”に対するプ
リフェッチ処理が行なわれ、そのプリフェッチ対象のデ
ータブロックについては、TAG部81におけるプリフ
ェッチ対象フラグが「1」に設定される。After that, the subsequent data blocks "1" to "3" are stored in the buffer storage device 13 based on the result of the search processing of the registration status of the subsequent data which is performed together with the data search processing corresponding to the transfer request 83. If it is not registered in, the prefetch processing is performed on the data blocks “1” to “3”, and the prefetch target flag in the TAG unit 81 is set to “1” for the prefetch target data block.
【0051】つまり、主記憶装置11に対するデータブ
ロック“1”のバッファ記憶装置13へのデータ登録要
求85,その応答92としてのバッファ記憶装置13へ
のデータの登録,主記憶装置11に対するデータブロッ
ク“2”のバッファ記憶装置13へのデータ登録要求8
6,その応答としてのバッファ記憶装置13へのデータ
の登録,主記憶装置11に対するデータブロック“3”
のバッファ記憶装置13へのデータ登録要求87及びそ
の応答93としてのバッファ記憶装置13へのデータの
登録が、順次、継続して行なわれる(図9の(t13)
参照)。That is, a data registration request 85 of the data block “1” to the main memory device 11 to the buffer memory device 13, a data registration to the buffer memory device 13 as its response 92, a data block “to the main memory device 11”. Data registration request 8 to the 2 "buffer storage device 13
6, registration of data in the buffer storage device 13 as its response, data block “3” for the main storage device 11
The data registration request 87 to the buffer storage device 13 and the data registration to the buffer storage device 13 as the response 93 are sequentially and continuously performed ((t13) in FIG. 9).
reference).
【0052】このようにしてデータの登録が行なわれる
と、登録されたデータブロックについて、TAG部81
(登録状況記憶部61)における登録状況を示すビット
が更新(「1」に設定)される。ここで、転送要求62
によって開始したプリフェッチ動作に対応するデータ
が、応答92によるバッファ記憶装置13へのデータ転
送中である時、処理装置12内でデータブロック“3”
に対する第2のフェッチ要求65が発生したとすると
(図8のステップB2のYESルート,図9の(t1
4)参照)、このフェッチ要求65は、読出要求発行部
19により、抑止されることなく、通常の要求と同じよ
うにそのままバッファ記憶装置14に対して転送要求6
6として発行される。When the data is registered in this way, the TAG section 81 is registered for the registered data block.
The bit indicating the registration status in (registration status storage unit 61) is updated (set to "1"). Here, the transfer request 62
When the data corresponding to the prefetch operation started by is being transferred to the buffer storage device 13 by the response 92, the data block “3” is set in the processing device 12.
Suppose that a second fetch request 65 is issued to (YES route of step B2 of FIG. 8, (t1 of FIG. 9
4)), the fetch request 65 is not suppressed by the read request issuing unit 19 and the transfer request 6 is sent to the buffer storage device 14 as it is as a normal request.
Issued as 6.
【0053】このとき、第2実施例では、データブロッ
ク“0”の転送要求83の様に、バッファ記憶装置13
に、既にデータ転送が終了したものについては、通知部
16より、直ちに応答88が返されるが、転送要求66
のように、プリフェッチ動作によりバッファ記憶装置1
3への登録が予定されてはいるがまだ転送されていない
ものに対する要求がなされたと判定された場合には、転
送データ順序制御部18により、TAG部81のバッフ
ァ登録ビットとプリフェッチ対象フラグとを参照して、
当該要求データブロック“3”を優先してバッファ記憶
装置13に登録できるか否かを判定する(図8のステッ
プB3)。At this time, in the second embodiment, like the transfer request 83 of the data block "0", the buffer storage device 13
When the data transfer has already been completed, the notification unit 16 immediately returns a response 88, but the transfer request 66
As shown in FIG.
If it is determined that a request has been made for the registration to 3 but not yet transferred, the transfer data order control unit 18 sets the buffer registration bit of the TAG unit 81 and the prefetch target flag. In reference to,
It is determined whether or not the requested data block “3” can be preferentially registered in the buffer storage device 13 (step B3 in FIG. 8).
【0054】そして、当該要求データブロック“3”を
優先してバッファ記憶装置13に登録できる場合(図8
のステップB3のYESルート)は、転送データ順序制
御部18から発行する要求87により、転送データ順序
を変更し(図8のステップB6)、当該データブロック
“3”をバッファ記憶装置13に優先的に登録する。即
ち、転送データ順序制御部18は、次にバッファ記憶装
置13へデータブロック“2”を転送する要求86を追
い越して要求87を発行するとともに処理装置12への
応答89を行なうように制御するのである(図9の(t
16)参照)。When the requested data block "3" can be registered in the buffer storage device 13 with priority (FIG. 8).
(YES route in step B3), the transfer data order is changed by the request 87 issued from the transfer data order control unit 18 (step B6 in FIG. 8), and the data block “3” is given priority to the buffer storage device 13. Register with. That is, the transfer data order control unit 18 controls so as to issue the request 87 while overtaking the request 86 for transferring the data block “2” to the buffer storage device 13 and to make the response 89 to the processing device 12. Yes ((t in FIG. 9
16)).
【0055】その後、転送完了判定部15において、要
求87に対応するデータブロック“3”がバッファ記憶
装置13に登録されたことが、要求データ登録完了信号
により確認されると(ステップB4のYESルート)、
バッファ記憶装置13に第2のフェッチ要求65に対応
するデータブロック“3”が格納されていると判定さ
れ、データ読出部17により、バッファ記憶装置13に
おける当該データの読み出し動作が行なわれる(図8の
ステップB5)。Thereafter, in the transfer completion judging section 15, when it is confirmed by the request data registration completion signal that the data block "3" corresponding to the request 87 is registered in the buffer storage device 13 (YES route of step B4). ),
It is determined that the data block “3” corresponding to the second fetch request 65 is stored in the buffer storage device 13, and the data reading unit 17 performs the read operation of the data in the buffer storage device 13 (FIG. 8). Step B5).
【0056】また、転送完了判定部15において、転送
要求に対応するデータが転送中であって、バッファ記憶
装置13への登録が完了していないと判定された場合
は、通知部16により、その旨を示す応答が処理装置1
2に対して出力される(図8のステップB4のNOルー
トからステップB7,図9の(t15)参照)。このよ
うに、本発明の第2実施例によっても第1実施例と同様
の作用効果が得られるほか、この第2実施例によれば、
プリフェッチ処理に際して複数のデータのプリフェッチ
を連続的に行なう場合に、プリフェッチ処理中のデータ
に対する処理装置12の第2のフェッチ要求65に応じ
たデータのプリフェッチを完了していなければ、バッフ
ァ記憶制御装置14により、データのプリフェッチ順序
を変更し、その第2のフェッチ要求65に応じたデータ
のプリフェッチを優先的に行なうことにより、後続する
フェッチ要求のペナルティを最少限にすることができ、
飛躍的にアクセス速度を向上させることができ、スルー
プットの低下を確実に防止でき、ひいてはシステムの性
能向上に大きく寄与する利点がある。When the transfer completion judging unit 15 judges that the data corresponding to the transfer request is being transferred and the registration in the buffer storage device 13 is not completed, the notifying unit 16 judges that The response indicating that is the processing device 1
2 (from step B4 of FIG. 8, NO route to step B7, (t15) of FIG. 9). As described above, according to the second embodiment of the present invention, the same effects as those of the first embodiment can be obtained, and according to the second embodiment,
When a plurality of data are prefetched continuously in the prefetch process, if the data prefetch corresponding to the second fetch request 65 of the processing device 12 for the data being prefetched is not completed, the buffer storage control device 14 Thus, by changing the data prefetch order and preferentially prefetching the data according to the second fetch request 65, the penalty of the subsequent fetch request can be minimized.
There is an advantage that the access speed can be dramatically improved, throughput can be surely prevented from lowering, and the system performance can be greatly improved.
【0057】[0057]
【発明の効果】以上詳述したように、本発明によれば、
バッファ記憶制御部により、当該読出要求に応じたデー
タの先読み転送を完了していなければその旨をデータ処
理部へ通知し、当該読出要求に応じたデータの先読み転
送を完了していればそのデータをバッファ記憶部からデ
ータ処理部に読み出すことができるので、先行するフェ
ッチ要求に対する後続のフェッチ要求が先行のフェッチ
要求によってプリフェッチの対象となった場合における
後続のフェッチの実行の制約を軽減することができ、無
駄な待ち時間を無くし、アクセス速度向上を図ることが
でき、ひいてはスループットの低下を防止することがで
きる利点がある。As described in detail above, according to the present invention,
The buffer storage control unit notifies the data processing unit of the fact that the prefetch transfer of the data corresponding to the read request has not been completed, and the prefetch transfer of the data corresponding to the read request has been completed, the data Can be read from the buffer storage unit to the data processing unit, so that when the subsequent fetch request for the preceding fetch request is the target of prefetching by the preceding fetch request, it is possible to reduce the constraint of executing the subsequent fetch. Therefore, there is an advantage that wasteful waiting time can be eliminated, access speed can be improved, and reduction in throughput can be prevented.
【0058】また、本発明によれば、前記先読み転送処
理に際して複数のデータの先読み転送を連続的に行なう
場合に、先読み転送処理中のデータに対するデータ処理
部の読出要求に応じたデータの先読み転送を完了してい
なければ、バッファ記憶制御部により、前記複数のデー
タの先読み転送順序を変更し、当該読出要求に応じたデ
ータの先読み転送を優先的に行なうことにより、後続す
る読出要求のペナルティを最少限に抑制できるので、飛
躍的にアクセス速度を向上させることができ、スループ
ットの低下を確実に防止でき、システムの性能向上に大
きく寄与する利点もある。Further, according to the present invention, when the prefetch transfer of a plurality of data is continuously performed in the prefetch transfer process, the prefetch transfer of the data in response to the read request of the data processing unit for the data being prefetched. If not completed, the buffer storage control unit changes the prefetch transfer order of the plurality of data and preferentially performs the prefetch transfer of the data according to the read request, thereby penalizing the subsequent read request. Since it can be suppressed to the minimum limit, there is an advantage that the access speed can be dramatically improved, throughput can be surely prevented from lowering, and the system performance can be greatly improved.
【図1】本発明の原理ブロック図である。FIG. 1 is a principle block diagram of the present invention.
【図2】本発明の第1実施例を示すブロック図である。FIG. 2 is a block diagram showing a first embodiment of the present invention.
【図3】本発明の第1実施例の動作を説明するためのブ
ロック図である。FIG. 3 is a block diagram for explaining the operation of the first exemplary embodiment of the present invention.
【図4】本発明の第1実施例の動作を説明するためのフ
ローチャートである。FIG. 4 is a flow chart for explaining the operation of the first embodiment of the present invention.
【図5】本発明の第1実施例の動作を説明するためのタ
イムチャートである。FIG. 5 is a time chart for explaining the operation of the first embodiment of the present invention.
【図6】本発明の第2実施例を示すブロック図である。FIG. 6 is a block diagram showing a second embodiment of the present invention.
【図7】本発明の第2実施例の動作を説明するためのブ
ロック図である。FIG. 7 is a block diagram for explaining the operation of the second exemplary embodiment of the present invention.
【図8】本発明の第2実施例の動作を説明するためのフ
ローチャートである。FIG. 8 is a flow chart for explaining the operation of the second embodiment of the present invention.
【図9】本発明の第2実施例の動作を説明するためのタ
イムチャートである。FIG. 9 is a time chart for explaining the operation of the second embodiment of the present invention.
【図10】一般的な情報処理装置を示すブロック図であ
る。FIG. 10 is a block diagram showing a general information processing apparatus.
【図11】一般的な情報処理装置の動作を説明するため
のタイムチャートである。FIG. 11 is a time chart for explaining the operation of a general information processing device.
1 記憶部 2 データ処理部 3 バッファ記憶部 4 バッファ記憶制御部 5 読出要求発行手段 6 転送完了判定手段 7 通知手段 8 データ読出手段 9 転送データ順序制御手段 11 主記憶装置(記憶部) 12 処理装置(データ処理部) 13 バッファ記憶装置(バッファ記憶部) 14 バッファ記憶制御装置(バッファ記憶制御部) 15 転送完了判定部(転送完了判定手段) 16 通知部 17 データ読出部(データ読出手段) 18 転送データ順序制御部(転送データ順序制御手
段) 19 読出要求発行部(読出要求発行手段) 61 登録状況記憶部 81 TAG部1 Storage Unit 2 Data Processing Unit 3 Buffer Storage Unit 4 Buffer Storage Control Unit 5 Read Request Issuing Means 6 Transfer Completion Judging Means 7 Notifying Means 8 Data Reading Means 9 Transfer Data Sequence Control Means 11 Main Memory (Storage) 12 Processing Devices (Data processing unit) 13 Buffer storage device (Buffer storage unit) 14 Buffer storage control device (Buffer storage control unit) 15 Transfer completion determination unit (Transfer completion determination unit) 16 Notification unit 17 Data reading unit (Data reading unit) 18 Transfer Data order control unit (transfer data order control unit) 19 Read request issuing unit (read request issuing unit) 61 Registration status storage unit 81 TAG unit
Claims (4)
タに基づいて動作するデータ処理部(2)と、該記憶部
(1)のデータの一部を保持するバッファ記憶部(3)
と、該記憶部(1)から該バッファ記憶部(3)へのデ
ータ転送および該バッファ記憶部(3)から該データ処
理部(2)へのデータ読出を制御するバッファ記憶制御
部(4)とをそなえてなる情報処理装置におけるバッフ
ァ記憶制御方法であって、 該データ処理部(2)の読出要求に応じたデータが該バ
ッファ記憶部(3)に格納されている場合には、該バッ
ファ記憶制御部(4)により、当該データを該データ処
理部(2)に読み出す一方、 該データ処理部(2)の読出要求に応じたデータが該バ
ッファ記憶部(3)に格納されていない場合には、該バ
ッファ記憶制御部(4)により、当該データを該記憶部
(1)から該データ処理部(2)に読み出すとともに該
バッファ記憶部(3)に転送した後、当該データに続い
て該データ処理部(2)から読出要求されうるデータを
先読みして該記憶部(1)から該バッファ記憶部(3)
に転送する先読み転送処理を行なうバッファ記憶制御方
法において、 前記先読み転送処理中に該先読み転送処理中のデータに
対する読出要求が該データ処理部(2)内で発生した場
合には、当該読出要求を該データ処理部(2)から該バ
ッファ記憶制御部(4)へ直ちに発行し、 該バッファ記憶制御部(4)により、当該読出要求に応
じたデータの先読み転送を完了していなければその旨を
該データ処理部(2)へ通知し、当該読出要求に応じた
データの先読み転送を完了していればそのデータを該バ
ッファ記憶部(3)から該データ処理部(2)に読み出
すことを特徴とする、バッファ記憶制御方法。1. A storage unit (1), a data processing unit (2) that operates based on data in the storage unit (1), and a buffer storage unit that holds a part of the data in the storage unit (1). (3)
And a buffer storage control unit (4) for controlling data transfer from the storage unit (1) to the buffer storage unit (3) and data reading from the buffer storage unit (3) to the data processing unit (2). A buffer storage control method in an information processing apparatus comprising: a buffer storing control method, wherein data corresponding to a read request of the data processing unit (2) is stored in the buffer storage unit (3). The storage control unit (4) reads the data to the data processing unit (2), but the data according to the read request of the data processing unit (2) is not stored in the buffer storage unit (3). The buffer storage control unit (4) reads the data from the storage unit (1) to the data processing unit (2) and transfers the data to the buffer storage unit (3). Data processing The buffer storage unit from the storage unit to read ahead data that can be read request from (2) (1) (3)
In the buffer storage control method for performing the prefetch transfer process for transferring to the prefetch transfer process, if a read request for data during the prefetch transfer process occurs in the data processing unit (2), the read request is transmitted. Immediately issued from the data processing unit (2) to the buffer storage control unit (4), and if the buffer storage control unit (4) has not completed the prefetch transfer of data according to the read request, the fact is notified. The data processing unit (2) is notified, and if the prefetch transfer of the data corresponding to the read request is completed, the data is read from the buffer storage unit (3) to the data processing unit (2). And a buffer storage control method.
タの先読み転送を連続的に行なう場合に、該先読み転送
処理中のデータに対する該データ処理部(2)の読出要
求に応じたデータの先読み転送を完了していなければ、
該バッファ記憶制御部(4)により、前記複数のデータ
の先読み転送順序を変更し、当該読出要求に応じたデー
タの先読み転送を優先的に行なうことを特徴とする、請
求項1記載のバッファ記憶制御方法。2. When the pre-reading transfer of a plurality of data is continuously performed in the pre-reading transfer process, the pre-reading transfer of the data according to the read request of the data processing unit (2) for the data under the pre-reading transfer process is performed. If not done,
2. The buffer storage according to claim 1, wherein the buffer storage control unit (4) changes the read-ahead transfer order of the plurality of data and preferentially performs the read-ahead transfer of the data in response to the read request. Control method.
づいて動作するデータ処理部(2)と、該記憶部(1)
のデータの一部を保持するバッファ記憶部(3)と、該
記憶部(1)から該バッファ記憶部(3)へのデータ転
送および該バッファ記憶部(3)から該データ処理部
(2)へのデータ読出を制御するバッファ記憶制御部
(4)とをそなえ、 該バッファ記憶制御部(4)が、該データ処理部(2)
の読出要求に応じたデータが該バッファ記憶部(3)に
格納されている場合には、当該データを該データ処理部
(2)に読み出す一方、該データ処理部(2)の読出要
求に応じたデータが該バッファ記憶部(3)に格納され
ていない場合には、当該データを該記憶部(1)から該
データ処理部(2)に読み出すとともに該バッファ記憶
部(3)に転送した後、当該データに続いて該データ処
理部(2)から読出要求されうるデータを先読みして該
記憶部(1)から該バッファ記憶部(3)に転送する先
読み転送処理を行なう情報処理装置において、 該データ処理部(2)に、前記先読み転送処理中に該先
読み転送処理中のデータに対する読出要求が該データ処
理部(2)内で発生した場合に当該読出要求を該バッフ
ァ記憶制御部(4)へ直ちに発行する読出要求発行手段
(5)がそなえられるとともに、 該バッファ記憶制御部(4)に、 該データ処理部(2)からの当該読出要求に応じたデー
タの先読み転送を完了しているか否かを判定する転送完
了判定手段(6)と、 該転送完了判定手段(6)により当該読出要求に応じた
データの先読み転送を完了していないと判定された場
合、その旨を該データ処理部(2)へ通知する通知手段
(7)と、 該転送完了判定手段(6)により当該読出要求に応じた
データの先読み転送を完了していると判定された場合、
そのデータを該バッファ記憶部(3)から該データ処理
部(2)に読み出すデータ読出手段(8)とがそなえら
れていることを特徴とする、情報処理装置。3. A storage unit, a data processing unit (2) which operates based on the data of the storage unit (1), and the storage unit (1).
Storage unit (3) for holding a part of the data of the data, data transfer from the storage unit (1) to the buffer storage unit (3), and the data processing unit (2) from the buffer storage unit (3) A buffer storage control unit (4) for controlling data reading to and from the data storage unit (2),
When the data corresponding to the read request of the data processing unit (2) is stored in the buffer storage unit (3), the data is read to the data processing unit (2) and the read request of the data processing unit (2) is received. If the stored data is not stored in the buffer storage unit (3), the data is read from the storage unit (1) to the data processing unit (2) and transferred to the buffer storage unit (3). In an information processing device that performs a prefetch transfer process of prefetching data that can be requested to be read from the data processing unit (2) and transferring the data from the storage unit (1) to the buffer storage unit (3), When a read request to the data processing unit (2) for the data in the prefetch transfer process occurs during the prefetch transfer process, the read request is issued to the buffer storage control unit (4). ) Immediately A read request issuing means (5) for issuing the read request to the buffer storage control section (4), and whether or not the read-ahead transfer of data corresponding to the read request from the data processing section (2) is completed. If the transfer completion determination means (6) for determining whether or not the prefetch transfer of the data corresponding to the read request is not completed by the transfer completion determination means (6), the data processing unit indicates that fact. When it is determined by the notifying means (7) notifying (2) and the transfer completion determining means (6) that the prefetch transfer of the data corresponding to the read request is completed,
An information processing device, comprising: a data reading unit (8) for reading the data from the buffer storage unit (3) to the data processing unit (2).
読み転送処理に際して複数のデータの先読み転送を連続
的に行なうものである場合、 該バッファ記憶制御部(4)に、 該転送完了判定手段(6)により当該読出要求に応じた
データの先読み転送を完了していないと判定された場
合、前記複数のデータの先読み転送順序を変更して当該
読出要求に応じたデータの先読み転送を優先的に行なう
転送データ順序制御手段(9)がそなえられていること
を特徴とする、請求項3記載の情報処理装置。4. When the buffer storage control unit (4) continuously performs the pre-read transfer of a plurality of data in the pre-read transfer process, the buffer storage control unit (4) notifies the transfer completion determination. When the means (6) determines that the prefetch transfer of the data corresponding to the read request is not completed, the prefetch transfer order of the plurality of data is changed to prioritize the prefetch transfer of the data corresponding to the read request. 4. The information processing apparatus according to claim 3, further comprising transfer data order control means (9) for performing the data transfer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06479294A JP3668504B2 (en) | 1994-04-01 | 1994-04-01 | Buffer storage control method and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP06479294A JP3668504B2 (en) | 1994-04-01 | 1994-04-01 | Buffer storage control method and information processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07271577A true JPH07271577A (en) | 1995-10-20 |
JP3668504B2 JP3668504B2 (en) | 2005-07-06 |
Family
ID=13268447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP06479294A Expired - Fee Related JP3668504B2 (en) | 1994-04-01 | 1994-04-01 | Buffer storage control method and information processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3668504B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738867B1 (en) | 1999-06-02 | 2004-05-18 | Hitachi, Ltd. | Disk array system reading ahead operand databackground of the invention |
-
1994
- 1994-04-01 JP JP06479294A patent/JP3668504B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738867B1 (en) | 1999-06-02 | 2004-05-18 | Hitachi, Ltd. | Disk array system reading ahead operand databackground of the invention |
Also Published As
Publication number | Publication date |
---|---|
JP3668504B2 (en) | 2005-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3549079B2 (en) | Instruction prefetch method of cache control | |
JP3289661B2 (en) | Cache memory system | |
EP0391517A2 (en) | Method and apparatus for ordering and queueing multiple memory access requests | |
JPH0628180A (en) | Prefetch buffer | |
JPH06187150A (en) | Method and circuit for safekeeping of instruction in cache memory | |
US6216208B1 (en) | Prefetch queue responsive to read request sequences | |
JPH09160827A (en) | Prefetch of cold cache instruction | |
US20110022802A1 (en) | Controlling data accesses to hierarchical data stores to retain access order | |
JP2005056401A (en) | Cacheable dma | |
US9342472B2 (en) | PRD (physical region descriptor) pre-fetch methods for DMA (direct memory access) units | |
JPH07271577A (en) | Buffer storage control method and information processor | |
JPH0784879A (en) | Cache memory device | |
JPH06342401A (en) | Secondary memory controller | |
JPH02133842A (en) | Prefetch control system for intermediate buffer | |
JPH08314803A (en) | Disk cache controller | |
JP3221409B2 (en) | Cache control system, readout method therefor, and recording medium recording control program therefor | |
JPH0210450A (en) | Prefetch control system for cache memory | |
JPS6240555A (en) | Prefetch control system | |
JPH1145180A (en) | Cache control system | |
JPH0520188A (en) | Cache controller | |
JPH0361213B2 (en) | ||
JPH0227430A (en) | Fetching system for branching instruction | |
JPH10187531A (en) | Prefetch system for cache memory | |
JPH08286914A (en) | Memory controller | |
JPH02178838A (en) | Data processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20030722 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20040723 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050411 |
|
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: 20080415 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090415 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090415 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100415 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110415 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110415 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |