JP2008293387A - Data lookahead apparatus, data processing system, data lookahead processing program - Google Patents
Data lookahead apparatus, data processing system, data lookahead processing program Download PDFInfo
- Publication number
- JP2008293387A JP2008293387A JP2007139842A JP2007139842A JP2008293387A JP 2008293387 A JP2008293387 A JP 2008293387A JP 2007139842 A JP2007139842 A JP 2007139842A JP 2007139842 A JP2007139842 A JP 2007139842A JP 2008293387 A JP2008293387 A JP 2008293387A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- range information
- processing
- address range
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 263
- 238000013500 data storage Methods 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims description 101
- 239000000872 buffer Substances 0.000 description 126
- 238000007726 management method Methods 0.000 description 94
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 19
- 238000013507 mapping Methods 0.000 description 8
- ZBMRKNMTMPPMMK-UHFFFAOYSA-N 2-amino-4-[hydroxy(methyl)phosphoryl]butanoic acid;azane Chemical compound [NH4+].CP(O)(=O)CCC(N)C([O-])=O ZBMRKNMTMPPMMK-UHFFFAOYSA-N 0.000 description 4
- 230000004044 response Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明は、データ先読み装置、データ処理システム、データ先読み処理プログラムに関する。 The present invention relates to a data prefetching device, a data processing system, and a data prefetching processing program.
プロセッサなどバスマスターと記憶装置との間に介在し、これらとの間でデータの授受を行う装置、例えばデータ先読み装置やメモリ制御装置やデータ転送装置などの装置は、データを一時的に保持するバッファを備え、バスマスターからの読み出し要求に応じて、記憶装置からのデータの先読み処理、および先読みしたデータのバッファへの書き込み処理を実施する、というデータの先読み機構(データの先読み機能)を有している。 A device such as a processor that is interposed between a bus master and a storage device and exchanges data with them, such as a data prefetching device, a memory control device, and a data transfer device, temporarily holds data. It has a buffer and has a data prefetching mechanism (data prefetching function) that performs prefetch processing of data from the storage device and write processing to the buffer of prefetched data in response to a read request from the bus master. is doing.
そして、バスマスターからのリードアクセスにかかわるリードアドレスに対応するデータが上記バッファに記憶されている場合、つまりヒットした場合は、そのバッファからヒットしたデータがバスマスターに向けて出力される。 When the data corresponding to the read address related to the read access from the bus master is stored in the buffer, that is, when it hits, the hit data is output from the buffer to the bus master.
周知のように、バッファは、その記憶容量(保持容量)の制約の観点から、記憶装置に記憶されているデータ全てを先読みデータとして記憶することはできない。そのため、バスマスターから出力されるリードアドレスに対応するデータが上記バッファに記憶されていない場合、つまりヒットミスする場合も有り得る。 As is well known, the buffer cannot store all the data stored in the storage device as prefetched data from the viewpoint of the limitation of the storage capacity (retention capacity). Therefore, there may be a case where data corresponding to the read address output from the bus master is not stored in the buffer, that is, a hit miss occurs.
なお、データの先読み機構を有する装置としては、例えば特許文献1から特許文献4に開示されたものが知られている。
本発明は、処理装置による処理対象の所定のデータに対する読み出しのアクセス時間を短縮させることのできるデータ先読み装置、データ処理システム、データ先読み処理プログラムを提供することを目的とする。 An object of the present invention is to provide a data prefetching device, a data processing system, and a data prefetching processing program that can shorten the access time for reading out predetermined data to be processed by a processing device.
上記課題を解決するため、請求項1に記載の本発明のデータ先読み装置は、処理対象の所定のデータを記憶するデータ記憶手段の当該所定のデータが記憶されている記憶領域のアドレス範囲情報を記憶するアドレス範囲情報記憶手段と、前記データ記憶手段から先読みされるデータを保持するデータ保持手段と、前記アドレス範囲情報記憶手段に記憶されているアドレス範囲情報を基に前記データ記憶手段からデータを先読みするとともに、該先読みしたデータを前記データ保持手段に書き込む制御手段と、前記所定のデータに対し所定の処理を実行する処理装置から出力される当該所定のデータにかかわるアドレス情報を基に前記データ保持手段からデータを読み出し、該読み出したデータを前記処理装置に向けて出力するデータ読み出し手段と、を有することを特徴とする。 In order to solve the above-mentioned problem, the data prefetching device according to the first aspect of the present invention provides address range information of a storage area in which the predetermined data of the data storage means for storing the predetermined data to be processed is stored. Address range information storage means for storing, data holding means for holding data prefetched from the data storage means, and data from the data storage means based on address range information stored in the address range information storage means The data based on the address information related to the predetermined data output from the control means for pre-reading and writing the pre-read data to the data holding means and the processing device for executing the predetermined processing on the predetermined data Data reading that reads data from the holding means and outputs the read data to the processing device And having a stage, a.
請求項2に記載の発明は、上記請求項1に記載の発明において、前記制御手段は、前記所定のデータの全てが前記データ保持手段に書き込まれないときは、当該先読みされていないデータについては、前記データ読み出し手段によるデータの読み出し処理が実施された後の前記データ保持手段の空き領域の保持容量に応じて、データの先読み処理および書き込み処理を実施する、ことを特徴とする。 According to a second aspect of the present invention, in the first aspect of the present invention, when the predetermined data is not all written to the data holding means, the control means is configured for the data that has not been prefetched. The data read-ahead process and the write process are performed in accordance with the storage capacity of the free area of the data holding unit after the data reading unit performs the data reading process.
請求項3に記載の発明は、上記請求項1または2に記載の発明において、前記アドレス範囲情報記憶手段は、前記所定のデータが分割されて前記データ記憶手段に記憶されている場合に、当該分割後のデータが記憶されている複数の記憶領域に対応する複数のアドレス範囲情報を記憶し、前記制御手段は、前記アドレス範囲情報記憶手段に記憶されている複数のアドレス範囲情報を基にデータの先読み処理および書き込み処理を実施する、ことを特徴とする。 According to a third aspect of the present invention, in the first or second aspect of the invention, the address range information storage unit is configured to perform the processing when the predetermined data is divided and stored in the data storage unit. A plurality of address range information corresponding to a plurality of storage areas in which data after division is stored is stored, and the control unit performs data based on the plurality of address range information stored in the address range information storage unit. The prefetching process and the writing process are performed.
上記課題を解決するため、請求項4に記載の本発明のデータ処理システムは、処理対象の所定のデータを記憶するデータ記憶手段と、前記所定のデータに対し所定の処理を実行する処理装置と、前記データ記憶手段からデータを先読みし、該先読みしたデータを前記処理装置に向けて出力するデータ先読み装置と、を有し、前記データ先読み装置は、前記データ記憶手段の前記所定のデータが記憶されている記憶領域のアドレス範囲情報を記憶するアドレス範囲情報記憶手段と、前記データ記憶手段から先読みされるデータを保持するデータ保持手段と、前記アドレス範囲情報記憶手段に記憶されているアドレス範囲情報を基に前記データ記憶手段からデータを先読みするとともに、該先読みしたデータを前記データ保持手段に書き込む制御手段と、前記処理装置から出力される前記所定のデータにかかわるアドレス情報を基に前記データ保持手段からデータを読み出し、該読み出したデータを前記処理装置に向けて出力するデータ読み出し手段と、を備えることを特徴とする。 In order to solve the above problem, a data processing system according to a fourth aspect of the present invention includes a data storage unit that stores predetermined data to be processed, and a processing device that executes predetermined processing on the predetermined data. A data prefetching device that prefetches data from the data storage means and outputs the prefetched data to the processing device, and the data prefetching device stores the predetermined data of the data storage means Address range information storage means for storing address range information of the storage area being stored, data holding means for holding data prefetched from the data storage means, and address range information stored in the address range information storage means Control for prefetching data from the data storage means based on the data and writing the prefetched data to the data holding means And data reading means for reading data from the data holding means based on address information related to the predetermined data output from the processing device and outputting the read data to the processing device. It is characterized by that.
請求項5に記載の発明は、上記請求項4に記載の発明において、前記制御手段は、前記所定のデータの全てが前記データ保持手段に書き込まれないときは、当該先読みされていないデータについては、前記データ読み出し手段によるデータの読み出し処理が実施された後の前記データ保持手段の空き領域の保持容量に応じて、データの先読み処理および書き込み処理を実施する、ことを特徴とする。 According to a fifth aspect of the present invention, in the invention according to the fourth aspect of the invention, when all of the predetermined data is not written to the data holding means, the control means The data read-ahead process and the write process are performed in accordance with the storage capacity of the free area of the data holding unit after the data reading unit performs the data reading process.
請求項6に記載の発明は、上記請求項4または5に記載の発明において、前記アドレス範囲情報記憶手段は、前記所定のデータが分割されて前記データ記憶手段に記憶されている場合に、当該分割後のデータが記憶されている複数の記憶領域に対応する複数のアドレス範囲情報を記憶し、前記制御手段は、前記アドレス範囲情報記憶手段に記憶されている複数のアドレス範囲情報を基にデータの先読み処理および書き込み処理を実施する、ことを特徴とする。 According to a sixth aspect of the present invention, in the invention according to the fourth or fifth aspect, the address range information storage unit includes the address range information storage unit when the predetermined data is divided and stored in the data storage unit. A plurality of address range information corresponding to a plurality of storage areas in which data after division is stored is stored, and the control unit performs data based on the plurality of address range information stored in the address range information storage unit. The prefetching process and the writing process are performed.
請求項7に記載の発明は、上記請求項6に記載の発明において、前記データ記憶手段は、前記複数のアドレス範囲情報のうち一部のアドレス範囲情報を記憶し、前記データ先読み装置は、前記一部のアドレス範囲情報が記憶されている前記データ記憶手段の記憶場所情報を記憶する記憶場所情報記憶手段と、前記記憶場所情報記憶手段に記憶されている記憶場所情報を基に、前記データ記憶手段からアドレス範囲情報を読み込むアドレス範囲情報読み込み手段と、を更に備え、前記制御手段は、前記一部のアドレス範囲情報に基づく記憶領域に記憶されているデータについては、前記アドレス範囲情報読み込み手段によって読み込まれたアドレス範囲情報を基にデータの先読み処理および書き込み処理を実施する、ことを特徴とする。
The invention according to
上記課題を解決するため、請求項8に記載の本発明のデータ先読み処理プログラムは、データ記憶手段における処理対象の所定のデータが記憶されている記憶領域のアドレス範囲情報をアドレス範囲情報記憶手段に予め記憶させる記憶処理過程と、前記アドレス範囲情報記憶手段に記憶されているアドレス範囲情報を基に前記データ記憶手段からデータの先読み処理を実行する先読み処理過程と、前記先読み処理過程により先読みされたデータをデータ保持手段に保持させる保持処理過程と、処理装置から出力される前記所定のデータにかかわるアドレス情報を基に前記データ保持手段からデータを読み出し、該読み出したデータを前記処理装置に向けて出力するデータ読み出し処理過程と、をコンピュータに実行させることを特徴とする。 In order to solve the above-mentioned problem, the data prefetch processing program according to the present invention described in claim 8 stores the address range information of the storage area where the predetermined data to be processed in the data storage means is stored in the address range information storage means. Pre-stored by a pre-store process, a pre-process for storing data in advance, a pre-read process for executing data pre-read from the data storage unit based on the address range information stored in the address range information storage unit, Data is read from the data holding means based on a holding process for holding data in the data holding means and address information related to the predetermined data output from the processing device, and the read data is directed to the processing device. It is characterized by causing a computer to execute an output data reading process.
請求項1記載の発明によれば、処理装置によって所定の処理が実行される処理対象の所定のデータについては、制御手段が、アドレス範囲情報記憶手段内のアドレス範囲情報に基づきデータ記憶手段内の当該所定のデータを先読みし、かつ先読みしたデータをデータ保持手段に書き込み、処理装置による処理対象の所定のデータに対する読み出しのアクセス時間を短縮させることができる。 According to the first aspect of the present invention, for the predetermined data to be processed on which the predetermined processing is executed by the processing device, the control means stores the data in the data storage means based on the address range information in the address range information storage means. The predetermined data is prefetched, and the prefetched data is written in the data holding unit, so that the access time for reading the predetermined data to be processed by the processing apparatus can be shortened.
請求項2記載の発明によれば、制御手段は、処理対象の所定のデータのデータ量がデータ保持手段の保持容量を超えているときは、データ読み出し手段によるデータの読み出し処理が実施された後のデータ保持手段の空き領域の保持容量に応じて、データの先読み処理および書き込み処理を実施することができる。 According to the second aspect of the present invention, when the data amount of the predetermined data to be processed exceeds the holding capacity of the data holding unit, the control unit performs the data reading process by the data reading unit. Data prefetching processing and writing processing can be performed in accordance with the storage capacity of the free area of the data storage means.
請求項3記載の発明によれば、処理対象の所定のデータが分割されてデータ記憶手段の非連続な複数の記憶領域に記憶されている場合であっても、制御手段は、当該複数の記憶領域に対応する複数のアドレス範囲情報を基に、データの先読み処理および書き込み処理を実施することができる。
According to the invention described in
請求項4記載の発明によれば、処理装置によって所定の処理が実行される処理対象の所定のデータについては、制御手段が、アドレス範囲情報記憶手段内のアドレス範囲情報に基づきデータ記憶手段内の処理対象の所定のデータを先読みし、かつ先読みしたデータをデータ保持手段に書き込み、処理装置による処理対象の所定のデータに対する読み出しのアクセス時間を短縮させることができる。 According to the fourth aspect of the present invention, for the predetermined data to be processed on which the predetermined processing is executed by the processing device, the control means stores the data in the data storage means based on the address range information in the address range information storage means. It is possible to pre-read predetermined data to be processed and write the pre-read data to the data holding unit, thereby shortening the access time for reading the predetermined data to be processed by the processing device.
請求項5記載の発明によれば、制御手段は、処理対象の所定のデータのデータ量がデータ保持手段の保持容量を超えているときは、データ読み出し手段によるデータの読み出し処理が実施された後のデータ保持手段の空き領域の保持容量に応じて、データの先読み処理および書き込み処理を実施することができる。 According to the fifth aspect of the present invention, when the data amount of the predetermined data to be processed exceeds the storage capacity of the data holding unit, the control unit performs the data reading process by the data reading unit. Data prefetching processing and writing processing can be performed in accordance with the storage capacity of the free area of the data storage means.
請求項6記載の発明によれば、処理対象の所定のデータが分割されてデータ記憶手段の非連続な複数の記憶領域に記憶されている場合であっても、制御手段は、当該分割後のデータが記憶されている複数の記憶領域に対応する複数のアドレス範囲情報を基に、データの先読み処理および書き込み処理を実施することができる。
According to the invention described in
請求項7記載の発明によれば、処理対象の所定のデータが分割されてデータ記憶手段に記憶された場合に、当該分割後のデータが記憶されている複数の記憶領域に対応する複数のアドレス範囲情報の全てをアドレス範囲情報記憶手段に記憶させることができないときは、アドレス範囲情報記憶手段に記憶させることができないアドレス範囲情報については、データ記憶手段に記憶させることができる。 According to the seventh aspect of the present invention, when predetermined data to be processed is divided and stored in the data storage means, a plurality of addresses corresponding to a plurality of storage areas in which the divided data is stored When all of the range information cannot be stored in the address range information storage unit, the address range information that cannot be stored in the address range information storage unit can be stored in the data storage unit.
請求項8記載の発明によれば、アドレス範囲情報記憶手段内のアドレス範囲情報に基づきデータ記憶手段内の処理対象の所定のデータを先読みさせ、かつ先読みされたデータをデータ保持手段に保持させ、処理装置による処理対象の所定のデータに対する読み出しのアクセス時間を短縮させるソフトウェアを提供することができる。 According to the invention described in claim 8, the predetermined data to be processed in the data storage unit is prefetched based on the address range information in the address range information storage unit, and the preread data is held in the data holding unit. It is possible to provide software that shortens the access time for reading the predetermined data to be processed by the processing device.
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための図面において同一の構成要素には原則として同一の符号を付し、その繰り返しの説明は省略する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.
(実施の形態1) (Embodiment 1)
図1は、実施の形態1に係るデータ処理システムの構成を示している。 FIG. 1 shows a configuration of a data processing system according to the first embodiment.
図1に示すように、データ処理システムは、複数のバスマスター10,20,30,40、システムバス100、データ先読み装置200、メモリコントローラ400および外部記憶装置500を備えている。
As shown in FIG. 1, the data processing system includes a plurality of
複数のバスマスター10〜40とデータ先読み装置200とはシステムバス100を介して接続される。
The plurality of
なお、システムバス100には、複数のバスマスター10〜40に加えて他の1つ以上のバスマスター(図示せず)を含む複数のバスマスターが接続されるとともに、バススレーブの一つであるデータ先読み装置200が他のバススレーブ(図示せず)とともに接続される。
The
複数のバスマスター10〜40は、処理対象のデータに対し所定の処理を実行する処理装置例えば互いに異なる画像処理を実施する画像処理装置であり、処理対象(例えば画像処理対象)の所定のデータ(以下「処理対象データ」という)を含むデータを記憶する外部記憶装置500に対しアクセスを行う。
The plurality of
具体的には、複数のバスマスター10〜40は、外部記憶装置500から読み出された処理対象データに対し画像処理(所定の処理)を実行するものであり、図2に示すように、バスタマスター10、バスタマスター20、バスタマスター30、バスタマスター40の並び順に、順次画像処理を実行する。この場合、これらのバスマスターの間のデータの授受は、外部記憶装置500を介して行われる。
Specifically, the plurality of
すなわち、バスタマスター10は、外部記憶装置500に対するリードアクセスにより得られる処理対象データに対し画像処理を施すとともに、画像処理後の処理対象データをシステムバス100、データ先読み装置200(の後述するDMA制御部300)およびメモリコントローラ400を介して外部記憶装置500に格納する。次に、バスタマスター20は、外部記憶装置500に対するリードアクセスにより得られる処理対象データに対し画像処理を施すとともに、画像処理後の処理対象データをシステムバス100、データ先読み装置200(の後述するDMA制御部300)およびメモリコントローラ400を介して外部記憶装置500に格納する。バスタマスター30,40も上記同様の処理を行う。
That is, the
再度、図1を参照して説明する。システムバス100は、各々のバスマスターに対し任意のタイミングでアクセスを行うことができるとともに、バスアービトレーション(バスの調停)を行う。
Again, a description will be given with reference to FIG. The
システムバス100からの外部記憶装置500へのアクセスは、データ先読み装置200およびメモリコントローラ400を通して行われる。
Access to the
データ先読み装置200は、メモリコントローラ400を介して、外部記憶装置500に対するデータの先読み(データのプリフェッチ)処理を実施する。また、データ先読み装置200は、ダイレクトメモリアクセス(DMA)により、メモリコントローラ400を介して、外部記憶装置500に対しデータの書き込み処理または読み出し処理を実施する。
The
メモリコントローラ400は、データ先読み装置200からのデータの先読み指示(命令)、DMAによるデータの書き込み指示(命令)やデータの読み出し指示(命令)に従って、外部記憶装置500に対しアクセスする。
The
外部記憶装置500は、上述したように処理対象データを含むデータを記憶するものであり、例えばDRAM(Dynamic Random Access Memory:記憶保持動作が必要な随時書き込み読み出しメモリ)で構成される。
The
次に、データ先読み装置200の機能構成について、図3を参照して説明する。
Next, the functional configuration of the
データ先読み装置200は、図3に示すように、入力制御部210、一時バッファ管理部220、一時バッファ230、出力制御部240およびDMA制御部300を備えている。
As shown in FIG. 3, the
入力制御部210は、システムバス100からのアクセスを解析し、データの先読み処理に関するアクセスか、あるいはリードまたはライトに関するアクセスかを判定し、この判定した結果およびアクセス情報をDMA制御部300へ出力する。
The
データの先読み処理に関するアクセスには、例えば外部記憶装置500に記憶されている処理対象データの記憶領域のアドレス範囲情報(開始アドレスおよび終了アドレス)およびそのアドレス設定の指示が含まれる。これらのアクセス情報(アドレス範囲情報およびアドレス設定の指示)がバスの使用権を獲得したバスマスターから出力されるので、入力制御部210は、システムバス100を介して受信したアクセス情報および判定結果としてのデータの先読み処理に関するアクセスである旨を、DMA制御部300に向けて出力する。
The access related to the data prefetching process includes, for example, address range information (start address and end address) of the storage area of the processing target data stored in the
リードに関するアクセスには、処理対象データに対するリードアクセス、および処理対象データ以外のデータに対するリードアクセスが含まれる。なお、処理対象データに対するリードアクセスは、一時バッファ230へのリードアクセスを意味する。ライトに関するアクセスには、処理対象データに対するライトアクセス、および処理対象データ以外のデータに対するライトアクセスが含まれる。これらのアクセス情報がバスの使用権を獲得したバスマスターから出力されるので、入力制御部210は、システムバス100を介して受信したアクセス情報および判定結果としてのリードまたはライトに関するアクセスである旨を、DMA制御部300に向けて出力する。
The read-related access includes read access to processing target data and read access to data other than processing target data. Note that the read access to the processing target data means the read access to the
一時バッファ管理部220は、外部記憶装置500から先読みされ一時バッファ230に一時的に保持される処理対象データの全部または一部を管理するものであり、当該処理対象データの全部または一部のアドレス(外部記憶装置500のアドレス空間のアドレス)を一時バッファのアドレス空間のアドレスにマッピングしたマッピング情報、リードポインタおよびライトポインタを記憶する図示いないメモリを備えている。
The temporary
また、一時バッファ管理部220は、次の(1)から(5)の各処理を実施する。
In addition, the temporary
(1)後述するDMA制御部300から出力されるアドレス情報(外部記憶装置50のアドレス空間のアドレス)およびデータの先読み指示を受け付けたときは、出力制御部240に対しアドレス情報を渡してデータの先読み処理を依頼する。
(1) When address information (address space address of the external storage device 50) output from the
(2)後述する出力制御部240の先読み処理により外部記憶装置500から先読みされたデータが一時バッファ230に格納された場合は、上記マッピング情報を生成し上記メモリ(図示せず)に格納し、さらにライトポインタを、書き込まれたデータにかかわる最後のアドレス(外部記憶装置500のアドレス空間のアドレス)を指し示すようにする。また、ライトポインタで示されるアドレス(外部記憶装置500のアドレス空間のアドレス)および先読み処理中断の旨をDMA制御部300へ出力する。
(2) When the data prefetched from the
(3)後述するDMA制御部300から出力されるリードアドレス情報(外部記憶装置500のアドレス空間のアドレス)を受け付けたときは、そのリードアドレス情報および上記メモリ(図示せず)に記憶されている上記マッピング情報を基に、一時バッファ230に保持されているデータの中に当該リードアドレスに対応するデータが存在することを確認する。その後、一時バッファ230に対し、当該リードアドレスに対応する一時バッファ230のアドレス空間のアドレスを与えて、該当するデータを入力制御部210に向けて出力するよう指示(リード出力指示)する。さらに、リードポインタを、読みだされたデータにかかわる最後のアドレス(外部記憶装置50のアドレス空間のアドレス)を指し示すようにする。
(3) When read address information (address in the address space of the external storage device 500) output from the
リードポインタの情報は、一時バッファ管理部220によって一時バッファ230の空き領域を求めるときに使用される。すなわち、リード出力指示した時点のアドレスからリードポインタで指し示されるアドレスまでのアドレス範囲に対応する記憶領域が空き領域として求められる。
The information of the read pointer is used when the temporary
(4)上記(3)の処理により一時バッファ230からデータが出力された後の当該一時バッファ230の空き領域を求め、この空き領域の保持容量を、DMA制御部300へ通知する。
(4) The empty area of the
(5)データの先読み処理を中断している状態で、先読み処理を実施すべく、後述するDMA制御部300から出力されるリードアドレス情報(外部記憶装置50のアドレス空間のアドレス)を受け付けたときは、出力制御部240に対しアドレス情報を渡してデータの先読み処理を依頼する。
(5) When read address information (address in the address space of the external storage device 50) output from the
一時バッファ230は、外部記憶装置500から先読みされた処理対象データを一時的に保持するものであり、例えばSRAM(Static Random Access Memory:記憶保持動作が不要な随時書き込み読み出しメモリ)で構成される。
The
出力制御部240は、DMA制御部300からリードアクセスの依頼があった場合には、メモリコントローラ400から返されるリードデータをDMA制御部300へ出力し、一方、一時バッファ管理部220からリードアクセスの依頼がたった場合は、メモリコントローラ400から返されるリードデータを一時バッファ230に書き込む。
When there is a read access request from the
DMA制御部300は、DMA制御部内部設定用I/F310、アドレス管理レジスタ320、アドレス判定/生成部330、DMA処理部340を備えている。
The
DMA制御部内部設定用I/F310は、入力制御部210から受け取ったデータ(リードアクセスのためのアドレスやアドレス設定すべきアドレスなど)を基に、アドレス管理レジスタ320へのアクセスであるか、あるいはアドレス管理レジスタ320以外へのアクセスであるかを判別し、この判別した結果に応じて、所定の処理を実施する。
The DMA control unit internal setting I /
なお、アドレス管理レジスタ320へのアクセスには、データの先読み処理に関するアクセスが含まれる。アドレス管理レジスタ320以外へのアクセスには、リードアクセスおよびライトアクセスが含まれる。
The access to the
DMA制御部内部設定用I/F310は、アドレス管理レジスタ320へのアクセスであると判断した場合には、上述したアドレス範囲情報をアドレス管理レジスタ320に設定し、アドレス管理レジスタ320以外へのアクセスであると判別した場合は、例えばリードアクセスにかかわるリードアドレスをアドレス判定/生成部330に向けて出力する。
When the DMA control unit internal setting I /
また、DMA制御部内部設定用I/F310は、処理開始や処理終了をDMA処理部340に向けて出力するとともに、アドレス管理レジスタ320に記憶されている情報を入力制御部210へ提供する。
In addition, the DMA control unit internal setting I /
アドレス管理レジスタ320は、アドレス範囲情報、カレントアドレス、ステータスの3つの情報を記憶する領域が割り当てられている。
The
アドレス管理レジスタ320は、外部記憶装置500の処理対象データが記憶されている記憶領域のアドレス範囲情報を記憶するアドレス範囲情報記憶手段の機能を有している。
The
本願明細書では、アドレス範囲情報は、処理対象データが記憶されている記憶領域のアドレス空間(実アドレス空間)の開始アドレスおよび終了アドレスを意味する。 In the present specification, the address range information means a start address and an end address of an address space (real address space) of a storage area in which processing target data is stored.
アドレス範囲情報は、画像処理を施した後の処理対象データについてのライトアクセス(書き込み処理)を実施したバスマスターからデータ先読み装置200に向けて出力され、さらにDMA制御部300のDMA制御部内部設定用I/F310によってアドレス管理レジスタ320に書き込まれる。
The address range information is output to the
カレントアドレスは、外部記憶装置500に記憶されている処理対象データにかかわるアドレスであって、一時バッファ230に記憶されているデータ(先読みデータ)にかかわる最終のアドレスを意味する。つまり、一時バッファ管理部220からDMA制御部300に対して先読み処理中断の旨とともに通知されるアドレスを意味する。
The current address is an address related to processing target data stored in the
ステータスは、指定されたアドレス空間に有効なデータが格納された旨を意味する。 The status means that valid data is stored in the designated address space.
アドレス空間に有効なデータが格納された旨は、画像処理を施した後の処理対象データにつてのライトアクセス(書き込み処理)を実施したバスマスターからデータ先読み装置200に向けて出力され、さらにDMA制御部300のDMA制御部内部設定用I/F310によってアドレス管理レジスタ320に書き込まれる。
The fact that valid data has been stored in the address space is output from the bus master that has performed write access (write processing) to the data to be processed after image processing to the
すなわち、現在においてバスの使用権を獲得しているバスマスターが、画像処理を施した後の処理対象データが外部記憶装置500に格納された場合に、外部記憶装置500のアドレス空間に有効なデータが格納された旨を、DMA制御部300に向けて通知する。そのアドレス空間に有効なデータが格納された旨は、入力制御部210およびDMA制御部内部設定用I/F310を介してアドレス管理レジスタ32に記憶される。そして、前記バスマスターがバスの使用権を解放すると、次段のバスマスターがバスの使用権を獲得して、画像処理を実施することになる。
In other words, when the bus master currently acquiring the right to use the bus stores the data to be processed after the image processing is performed in the
なお、最前段のバスマスター10は、バスマスター10に対し画像処理を依頼するバスマスターによってライトアクセス(書き込み処理)された処理対象データについて画像処理を実施することになる。
The
アドレス判定/生成部330は、アドレス管理レジスタ320に記憶されているアドレス範囲情報としての開始アドレスおよび終了アドレス、カレントアドレスを基に、外部記憶装置500へのDMAアクセス用のアドレスを生成するとともに、この生成したアドレスをDMA処理部340へ出力する。
The address determination /
また、アドレス判定/生成部330は、DMA制御部内部設定用I/F310からのリードアドレスを受け取った場合は、そのリードアドレスが一時バッファ230に対するリードアクセスのためのアドレスであるか否か、すなわちアドレス管理レジスタ320に記憶されている開始アドレスから終了アドレスまでのアドレス範囲に含まれるアドレスであるか否かを判定し、この判定した結果およびリードアドレスをDMA処理部340へ出力する。
Further, when the address determination /
DMA処理部340は、外部記憶装置500のDMAサイクルの管理を行う。
The
また、DMA処理部340は、アドレス判定/生成部330からの判定結果が上記アドレス範囲に含まれないアドレスである旨のときはリードアドレスを出力制御部240へ出力する。
これに対し、DMA処理部340が受け取ったアドレス判定/生成部330からの判定結果が、上記アドレス範囲に含まれるアドレスである旨のときは、DMA制御部300が、DMA処理部340が受け取ったリードアドレスを一時バッファ管理部220に向けて出力する。
The
In contrast, when the determination result from the address determination /
なお、DMA制御部300は、上述したDMA制御部内部設定用I/F310、アドレス管理レジスタ320、アドレス判定/生成部330およびDMA処理部340の各構成要素を制御する機能を有している。
The
実施の形態1では、上述したデータ記憶手段は外部記憶装置500に対応し、上述したアドレス範囲情報記憶手段はアドレス管理レジスタ320に対応し、上述したデータ保持手段は一時バッファ230に対応し、上述した制御手段はDMA制御部300、一時バッファ管理部220および出力制御部240に対応し、上述したデータ読み出し手段はDMA制御部300および一時バッファ管理部220に対応する。
In the first embodiment, the data storage unit described above corresponds to the
次に、データ先読み装置200のデータの先読み処理(以下、「データ先読み処理」という)について、図4〜図6を参照して説明する。
Next, data prefetching processing (hereinafter referred to as “data prefetching processing”) of the
図4はそのデータ先読み処理を説明する図であり、図5は図4のDMA制御部を詳細に示した図であり、図6はデータ先読み処理の一連の流れを説明する図である。 4 is a diagram for explaining the data prefetching process, FIG. 5 is a diagram showing in detail the DMA control unit of FIG. 4, and FIG. 6 is a diagram for explaining a series of data prefetching processes.
ここでは、一時バッファ230の保持容量は処理対象データのデータ量よりも少ないものとする。つまり処理対象データの全てを先読みして、一時バッファ230に格納することができないものとする。
Here, it is assumed that the storage capacity of the
処理対象データのライトアクセス(書き込み処理)を実施したバスマスターから出力されたアドレス空間に有効なデータが格納された旨、アドレス範囲情報としての開始アドレスおよび終了アドレスが、システムバス100を介してデータ先読み装置200の入力制御部210に入力されると、入力制御部210は、それらの情報を基にデータ先読み処理に関するアクセスであると判定し、図4および図5に示すように、その判定結果およびシステムバス100を介して受け取ったバスマスターからの情報をDMA制御部300へ出力する(P1*1)。
The fact that valid data is stored in the address space output from the bus master that has performed write access (write processing) of the processing target data, and the start address and end address as address range information are data via the
DMA制御部300では、入力制御部210からの判定結果、アドレス空間に有効なデータが格納された旨およびアドレス範囲情報を受け取ったDMA制御部内部設定用I/F310は、前記判定結果を基にアドレス管理レジスタ320へのアクセスであると判別して、図5に示すように、アドレス空間に有効なデータが格納された旨をアドレス管理レジスタ320に格納するとともに、アドレス範囲情報としての開始アドレスおよび終了アドレスをアドレス管理レジスタ320に格納する(図5のP11)。
In the
また、DMA制御部内部設定用I/F310は、アドレス管理レジスタ320のカレントアドレスが記憶される領域の内容をクリア(初期化)する。
Further, the DMA control unit internal setting I /
そして、DMA制御部内部設定用1/F310は、上述したようにしてアドレス範囲情報をアドレス管理レジスタ320に格納した場合は、アドレス設定を終了した旨をアドレス判定/生成部330へ通知する(図5のP12)。
When the address range information is stored in the
アドレス設定を終了した旨の通知を受け取ったアドレス判定/生成部330は、アドレス管理レジスタ320からアドレス範囲情報(開始アドレスおよび終了アドレス)を読み出し(図5のP13)、この読み出した開始アドレスおよび終了アドレスを基に先読みすべきデータのアドレスを生成するとともに、この生成したアドレスをDMA処理部340へ出力する(図5のP14)する。
The address determination /
なお、アドレス判定/生成部330は、開始アドレスを基準にして連続するアドレスを生成してDMA処理部340へ出力し、このアドレスの生成処理を、一時バッファ管理部220からの先読み中断指示を受け取るまで、または生成するアドレスが終了アドレスに達するまで実施する。
The address determination /
このようにして生成された連続する所定の範囲のアドレスに対応するデータが先読みされる。 Data corresponding to a predetermined range of addresses generated in this way is prefetched.
DMA処理部340は、DMAサイクル信号を出力制御部240へ出力する(図5のP15)。
The
データの先読みのために生成されたアドレス(アドレス情報)をDMA処理部340が受け取ると、DMA制御部300は、図4および図5に示すように、データ先読み指示およびアドレス情報(生成されたアドレス)を一時バッファ管理部220へ出力する(P1*2)。
When the
データ先読み指示およびアドレス情報(生成されたアドレス)を受け取った一時バッファ管理部220は、データ先読み処理であると判別して、アドレス情報およびデータ先読み処理(リードアクセス)の依頼を出力制御部240へ出力する(P1*3)。
The temporary
出力制御部240が、DMA処理部340からのDMAサイクル信号に従って、受け取ったアドレス情報とデータの先読み指示とをメモリコントローラ400に向けて出力すると(P1*4)、メモリコントローラ400は、外部記憶装置500から前記アドレス情報に対応するデータを読み出し(図4のP1*5)、この先読みデータを出力制御部240へ出力する(P1*6)。
When the
メモリコントローラ400からの先読みデータを受け取った出力制御部240は、その先読みデータを一時バッファ230に格納する(P1*7)。
The
ところで、一時バッファ管理部220は、出力制御部240に対して先読み処理を依頼した後は、一時バッファ230を監視し、出力制御部240の先読み処理により外部記憶装置500から先読みされたデータが一時バッファ230に格納された場合は、上記マッピング情報、つまり外部記憶装置500のアドレス空間のアドレス(DMA制御部300から取得したアドレス)と一時バッファ230のアドレス空間のアドレスとのマッピング情報を生成して上記メモリ(図示せず)に格納するとともに、ライトポインタを、書き込まれたデータにかかわる最後のアドレス(外部記憶装置500のアドレス空間のアドレス)を指し示すようにする。
By the way, the temporary
そして、一時バッファ管理部220は、一時バッファ230に格納された先読みデータのデータ量が予め設定されるデータ量に達した場合(一時バッファ230の規定の保持容量に達した場合)に、一時バッファ230に記憶されているデータにかかわる最終のアドレスつまりカレントアドレス(ライトポインタで示されるアドレス)と先読み処理中断の旨とをDMA制御部300へ出力し(P2)、DMA制御部300からリードアクセスの依頼があるまで待機する。
Then, the temporary
先読み処理中断の旨およびカレントアドレス情報を受け取ったDMA制御部300では、アドレス判定/生成部330はアドレスの生成処理を中断し、またDMA制御部内部設定用I/F310はそのカレントアドレスをアドレス管理レジスタ320に格納する。
In the
現在、バスの使用権を獲得しているバスマスターが処理対象データに対するリードアクセスを行うべくリードアドレスをバススレーブとしてのデータ先読み装置200に向けて出力すると、そのリードアドレスは、システムバス100を介してデータ先読み装置200の入力制御部210に入力される。
When a bus master currently acquiring the right to use the bus outputs a read address to the
入力制御部210は、バスマスターからのリードアドレスを基にリードアクセスであると判定し、図4および図5に示すように、その判定結果およびシステムバス100を介して受け取ったバスマスターからのリードアドレスをDMA制御部300へ出力する(P3*1)。
The
DMA制御部300では、入力制御部210からの判定結果、リードアドレスを受け取ったDMA制御部内部設定用I/F310は、受け取った判定結果を基にアドレス管理レジスタ320以外へのアクセスであると判別し、受け取ったリードアドレスをアドレス判定/生成部330へ出力する(図5のP31)。
In the
アドレス判定/生成部330は、DMA制御部内部設定用I/F310からのリードアドレスが、アドレス管理レジスタ320に記憶されている開始アドレスから終了アドレスまでのアドレス範囲に含まれるアドレスであるか否かを判定し、当該リードアドレスが前記アドレス範囲に含まれるアドレスであると判定した場合は、その判定した結果および当該リードアドレスをDMA処理部340へ出力する(図5のP32)。
The address determination /
アドレス判定/生成部330による判定結果が上記アドレス範囲に含まれるアドレスである旨のときは、DMA制御部300は、DMA処理部340が受け取ったリードアドレスを一時バッファ管理部220に向けて出力する(P3*2)。
When the determination result by the address determination /
一時バッファ管理部220は、DMA制御部300から出力されるリードアドレス情報(外部記憶装置500のアドレス空間のアドレス)を受け取ったときは、そのリードアドレス情報および上記メモリ(図示せず)に記憶されている上記マッピング情報を基に、一時バッファ230に保持されているデータの中に当該リードアドレスに対応するデータが存在することを確認する。
When the temporary
このようにしてリードアドレスが一時バッファ230に保持されていることを確認した一時バッファ管理部220は、一時バッファ230に対し、当該リードアドレスに対応する一時バッファ230のアドレス空間のアドレスを与えて、該当するデータを入力制御部210に向けて出力するよう指示する(P3*3)。
The temporary
また、一時バッファ管理部220は、一時バッファ230から出力されるデータを入力制御部210が取り込むべきタイミングとして、一時バッファ230への出力信号(アドレスおよびリード出力指示)に同期した同期信号を、入力制御部210へ出力する(P3*4)。
The temporary
ところで、一時バッファ管理部220からのアドレスおよびリード出力指示を受け取った一時バッファ230が、そのアドレスに対応するデータ(リードデータ)を入力制御部210に向けて出力すると(P3*5)、入力制御部210は、一時バッファ230から出力されたリードデータを一時バッファ管理部220からの同期信号に同期して取り込み、この取り込んだリードデータを、システムバス100を介してリードアクセスの要求元であるバスマスターに向けて出力する。
When the
また、一時バッファ管理部220は、リードポインタを、読み出されたデータにかかわる最後のアドレス(外部記憶装置500のアドレス空間のアドレス)を指し示すようにする。
In addition, the temporary
上述したようにして、一時バッファ管理部220からのアドレスを基に一時バッファ230からデータ(リードデータ)が読み出されると、当該リードデータが記憶されていた一時バッファ230の記憶領域は空き領域となる。
As described above, when data (read data) is read from the
そこで、一時バッファ管理部220は、一時バッファ230へリード出力指示を出力した時点のリードポインタで指し示されるアドレスから現在のリードポインタで指し示されるアドレスまでのアドレス範囲に対応する記憶領域つまり空き領域を算出するとともに、この空き領域が予め設定される所定の空き領域に達したときは、先読み再開指示をDMA制御部300へ出力する(P4)。
Therefore, the temporary
先読み再開指示を受け取ったDMA制御部300では、アドレス判定/生成部330は、アドレス管理レジスタ320に記憶されているカレントアドレスの次のアドレスを基に先読みすべきデータのアドレスを生成するとともに(図5のP13参照)、この生成したアドレスをDMA処理部340へ出力する(図5のP14参照)。DMA処理部340は、DMAサイクル信号を出力制御部240へ出力する(図5のP15参照)。
In the
なお、アドレス判定/生成部330は、カレントアドレスの次のアドレスを基準にして連続するアドレスを生成してDMA処理部340へ出力し、このアドレスの生成処理を、一時バッファ管理部220からの先読み中断指示を受け取るまで、または生成するアドレスが終了アドレスに達するまで実施する。
The address determination /
これ以降は、図4および図5に示すように、上記P1*3〜上記P1*7の処理と同様の先読み処理が実施される(P5*2〜P5*6)。 Thereafter, as shown in FIG. 4 and FIG. 5, prefetching processing similar to the processing of P1 * 3 to P1 * 7 is performed (P5 * 2 to P5 * 6).
以上説明したように、バスの使用権を獲得したバスマスターによって、外部記憶装置500に記憶されている処理対象データに対する画像処理が実施されるときは、データ先読み装置200は、図6に示すように、P1〜P5の処理を実施し、当該処理対象データの全てを一時バッファ230に格納できない場合は、P2〜P5の各処理を繰り返し、最終的にはP3の処理を実施して終了する。
As described above, when image processing is performed on the processing target data stored in the
なお、図6において、P1〜P5は、図4および図5に示したP1〜P5の符号に対応し、またP1*1〜P1*7、P3*1〜P3*5、P5*1〜P1*6は図4および図5に示したそれらの符号に対応する。 In FIG. 6, P1 to P5 correspond to the symbols P1 to P5 shown in FIGS. 4 and 5, and P1 * 1 to P1 * 7, P3 * 1 to P3 * 5, P5 * 1 to P1. * 6 corresponds to those symbols shown in FIG. 4 and FIG.
ここで、データ先読み処理の具体例について、図7〜図11を参照して説明する。 Here, a specific example of the data prefetching process will be described with reference to FIGS.
図7に示すように、外部記憶装置500は、例えば0x0(16進法)〜0xFFFFFFFF(16進法)までのアドレス空間となっており、そのアドレス空間の開始アドレスから終了アドレスまでのアドレス範囲に対応する記憶領域に処理対象データを記憶している。この記憶領域は、イメージデータとしての処理対象データを記憶するイメージデータ領域として機能する。
As shown in FIG. 7, the
一方、一時バッファ230は、先頭アドレスから最終アドレスまでのアドレス空間となっており、このアドレス空間に対応する保持領域(記憶領域)は規定の保持容量に設定されている。
On the other hand, the
上述した図6のP1(図4および図6のP1*1〜P1*7)の処理が実行されることで、外部記憶装置500に記憶されている処理対象データに関して、開始アドレスを基準して連続するアドレスに対応し所定のアクセス単位のデータがコピーされ、このコピーされたデータが先読みデータとして一時バッファ230に格納される。
By executing the processing of P1 in FIG. 6 (P1 * 1 to P1 * 7 in FIGS. 4 and 6) described above, the processing target data stored in the
ここで、一時バッファ230に格納された先読みデータのデータ量が一時バッファ230の保持容量に達したときは、上述した図6のP2(図4および図6のP2)の処理が実行される。これにより、外部記憶装置500のアドレス空間の開始アドレスからカレントアドレスまでのアドレス範囲に対応する記憶領域に記憶されている処理対象データD1#が先読みデータとして一時バッファ230に格納されたことになる。
Here, when the data amount of the pre-read data stored in the
この状態で上述した図6のP3(図4および図6のP3*1〜P1*5)の処理が実行されることで、図8に示すように、一時バッファ230に格納された処理対象データD1#が読み出され、リードアクセスの要求元であるバスマスターに向けて出力される。
In this state, the processing of P3 in FIG. 6 (P3 * 1 to P1 * 5 in FIGS. 4 and 6) described above is executed, so that the processing target data stored in the
このようにして一時バッファ230からデータが読み出され、当該一時バッファ230の空き領域が予め設定される所定の空き領域に達したことに起因して、上述した図6のP4(図4および図6のP4)の処理が実行され、さらに上述した図6のP5(図4および図6のP5*1〜P1*6)の処理が実行されることで、図9に示すように、外部記憶装置500に記憶されている処理対象データに関して、前回のカレントアドレス(アドレス管理レジスタ320に記憶されているカレントアドレス)を基準して連続するアドレスに対応し所定のアクセス単位のデータがコピーされ、このコピーされたデータが先読みデータとして一時バッファ230に格納される。
In this manner, data is read from the
ここで、一時バッファ230に格納された先読みデータのデータ量が一時バッファ230の保持容量に達したときは、上述した図6のP2(図4および図6のP2)の処理が実行される。これにより、外部記憶装置500のアドレス空間の前回のカレントアドレスの次のアドレスから今回のカレントアドレスまでのアドレス範囲に対応する記憶領域に記憶されている処理対象データD2#が先読みデータとして一時バッファ230に格納されたことになる。
Here, when the data amount of the pre-read data stored in the
このように、一時バッファ230においては、所定の空き領域が発生する毎に、外部記憶装置500から先読みされた先読みデータがリフィルされる。
As described above, in the
この状態で、上述した図6のP3(図4および図6のP3*1〜P1*5)の処理が実行されることで、図10に示すように、一時バッファ230に格納されている処理対象データD1#が読み出され、リードアクセスの要求元であるバスマスターに向けて出力される。
In this state, the processing of P3 in FIG. 6 (P3 * 1 to P1 * 5 in FIGS. 4 and 6) described above is executed, so that the processing stored in the
このようにして一時バッファ230からデータが読み出され、当該一時バッファ230の空き領域が予め設定される所定の空き領域に達したことに起因して、上述した図6のP4(図4および図6のP4)の処理が実行され、さらに上述した図6のP5(図4および図6のP5*1〜P1*6)の処理が実行されることで、図10に示すように、上述した処理対象データD2#のデータ先読み処理と同様に、外部記憶装置500に記憶されている処理対象データに関して、前回のカレントアドレスを基準して連続するアドレスに対応し所定のアクセス単位のデータがコピーされ、このコピーされたデータが先読みデータとして一時バッファ230に格納されることになる。
In this manner, data is read from the
ここで、一時バッファ230に格納された先読みデータのデータ量が一時バッファ230の保持容量に達したときは、上述した図6のP2(図4および図6のP2)の処理が実行される。これにより、図11に示すように、外部記憶装置500のアドレス空間の前回のカレントアドレスの次のアドレスから今回のカレントアドレスまでのアドレス範囲に対応する記憶領域に記憶されている処理対象データD3#が先読みデータとして一時バッファ230に格納されたことになる。
Here, when the data amount of the pre-read data stored in the
そして、カレントアドレスが終了アドレスに達するまで、上述した図6のP2〜P5の各処理が繰り返され、最終的にはP3の処理が実施される。 Then, the processes of P2 to P5 in FIG. 6 described above are repeated until the current address reaches the end address, and finally the process of P3 is performed.
次に、バスの使用権を獲得したバスマスターが、外部記憶装置500に記憶されている処理対象データ以外のデータに対する所定の処理を実施する場合の、データ先読み装置200によるリードアクセス処理について説明する。
Next, read access processing by the
データ先読み装置200においては、上述したP3*1(図4および図5参照)と同様の処理が実施されて、リードアクセスの要求元である上記バスマスターからのリードアドレスがシステムバス100および入力制御部210を介してDMA制御部300に入力される。
In the
DMA制御部300では、上述したP31(図5参照)と同様の処理が実施され、受け付けられたリードアドレスがアドレス判定/生成部330に入力される。
The
アドレス判定/生成部330は、DMA制御部内部設定用I/F310からのリードアドレスが、アドレス管理レジスタ320に記憶されている開始アドレスから終了アドレスまでのアドレス範囲に含まれるアドレスであるか否かを判定する。この場合、アドレス判定/生成部330は、上記リードアドレスが前記アドレス範囲に含まれないアドレスであると判定し、その判定した結果および受け付けたリードアドレスをDMA処理部340へ出力する。
The address determination /
DMA処理部340は、受け取ったアドレス判定/生成部330からの判定結果が、上記アドレス範囲に含まれないアドレスである旨のときは、受け取ったリードアドレスおよびDMAサイクル信号を出力制御部240に向けて出力する。
When the received determination result from the address determination /
出力制御部240が、DMA処理部340からのDMAサイクル信号に従って、受け取ったリードアドレスと読み出し命令とをメモリコントローラ400に向けて出力すると、メモリコントローラ400は、外部記憶装置500から前記リードアドレスに対応するデータ(処理対象データ以外のデータ)を読み出し、この読みデータ(リードデータ)を出力制御部240へ出力する。
When the
出力制御部240が受け取ったリードデータは、DMA制御部300を介して入力制御部210に入力され、さらにシステムバス100を介して上記リードアクセスの要求元であるバスマスターに入力される。
The read data received by the
次に、データ先読み処理装置200によるデータ先読み処理について、図12を参照して説明する。
Next, data prefetching processing by the data prefetching
なお、図12は、そのデータ先読み処理の処理手順を示すフローチャートである。 FIG. 12 is a flowchart showing the processing procedure of the data prefetching process.
図12に示すように、データ先読み装置200では、DMA制御部300は、上述したP11(図5参照)の処理と同様にしてアドレス管理レジスタ320に各アドレスを設定(格納)し(ステップS101)、上述したP12〜P15(図5参照)と同様の処理を実施し、さらに上述したP1*2(図5参照)の処理と同様に、データ先読み指示およびアドレス情報(生成されたアドレス)を一時バッファ管理部220へ出力する(S102)。
As shown in FIG. 12, in the
次に、上述したP1*3〜P1*7(図5参照)の処理と同様に、外部記憶装置500に記憶されている処理対象データに関して、一時バッファ管理部220から出力制御部220に向けて出力される開始アドレスを基準にした連続するアドレスに対応するデータが先読みされるとともに、この先読みされたデータ(先読みデータ)が一時バッファ230に格納される(ステップS103)。この場合は、先読みデータは、一時バッファ230の所定の保持容量に達するまで格納される。
Next, similarly to the processing of P1 * 3 to P1 * 7 (see FIG. 5) described above, with respect to the processing target data stored in the
このようにして一時バッファ230に先読みリードが格納され、上述したP2(図5参照)の処理が実施されると、入力制御部210は、バスマスターからのリードアクセスがあるか否かを判断し(ステップS104)、リードアクセスがない場合にはリードアクセスがあるまで待機し、一方、リードアクセスがあった場合は、上述したP3*1(図5参照)の処理と同様に、リードアクセスである旨(判定結果)および受け付けたリードアドレスをDMA制御部300へ出力する。
In this way, when the prefetch read is stored in the
DMA制御部300では、リードアクセスの処理が開始されるべく(ステップS105)、DMA制御部内部設定用I/F310によって、上述したP31(図5参照)と同様の処理が実施され、さらにアドレス判定/生成部330によって、上述したP32(図5参照)の処理と同様に、リードアドレスがアドレス範囲情報に基づくアドレス範囲に含まれるか否かが判断される(ステップS106)。
In the
ステップS106においてリードアドレスがアドレス範囲に含まれると判断された場合は、上述したP3*2〜P3*5(図5参照)の処理と同様に、一時バッファ230から、指定されるアドレスに対応するデータが読み出されて、リードアクセスの要求元であるバスマスターに向けて出力される(ステップS107)。
If it is determined in step S106 that the read address is included in the address range, it corresponds to the designated address from the
ステップS107が実施され、さらに上述したP4(図5参照)と同様の処理が実施されると、DMA制御部300では、アドレス判定/生成部330は、アドレス管理レジスタ320に記憶されているカレントアドレスが終了アドレスに達したか否かを判断する(ステップS108)。
When step S107 is performed and the same processing as in P4 (see FIG. 5) described above is performed, in the
ここで、上記カレントアドレスが終了アドレスに達した場合には、外部記憶装置500に記憶されている処理対象データに関して、終了アドレスまでのデータが先読みされ、一時バッファ230に格納されたことを意味し、一方、上記カレントアドレスが終了アドレスに達していない場合は、外部記憶装置500に記憶されている処理対象データに関して、先読みすべきデータが存在することを意味する。
Here, when the current address reaches the end address, it means that the data up to the end address is prefetched and stored in the
さて、ステップS108において、アドレス管理レジスタ320に記憶されているカレントアドレスが終了アドレスに達したと判断された場合には、このデータ先読み処理が終了される。
If it is determined in step S108 that the current address stored in the
一方、ステップS108において、アドレス管理レジスタ320に記憶されているカレントアドレスが終了アドレスに達していないと判断された場合は、上述したP13の処理と同様に、アドレス判定/生成部330によって、アドレス管理レジスタ320に記憶されているカレントアドレスの次のアドレスを基に先読みすべきデータのアドレスが生成される。この場合、カレントアドレスの次のアドレスを基準にして連続するアドレスが生成される。
On the other hand, if it is determined in step S108 that the current address stored in the
そして、上述したP13、P15およびP5*1〜P5*6の処理と同様に、外部記憶装置500から、アドレス判定/生成部330によって生成されたアドレスに対応するデータが先読みされ、一時バッファ230に格納される(ステップS109)。この場合、前記生成されたアドレスを基準にして連続するアドレスに対応し所定のアクセス単位のデータが先読みされる。
Then, similarly to the processing of P13, P15, and P5 * 1 to P5 * 6 described above, data corresponding to the address generated by the address determination /
ステップS109を終了した後は、リードアクセスの処理が終了され、ステップS104に戻る。 After step S109 is completed, the read access process is terminated, and the process returns to step S104.
ところで、ステップS106においてリードアドレスがアドレス範囲に含まれないと判断された場合は、上述したように、バスの使用権を獲得したバスマスターによって処理対象データ以外のデータに対する所定の処理が実施される場合のデータ先読み装置200によるリードアクセス処理の場合と同様に、外部記憶装置500に対してリードアクセスが行われ、前記リードアドレスに対応するデータが、リードアクセスの要求元であるバスマスターに向けて出力される(ステップS111)。その後、ステップS110に進む。
By the way, when it is determined in step S106 that the read address is not included in the address range, as described above, a predetermined process is performed on data other than the data to be processed by the bus master that has acquired the right to use the bus. As in the case of read access processing by the
なお、上記実施の形態1では、複数のバスマスターがシステムバス100を介してデータ先読み装置200にアクセスするようにしているが、各バスマスターからのアクセスの調停を行うバスアービタ(バス調停回路)をデータ先読み装置200の外部または内部に設けるようにし、前記各バスマスターがバスアービタを介してデータ先読み装置200にアクセスするようにしても良い。
In the first embodiment, a plurality of bus masters access the
また、上記実施の形態1では、所定の処理(例えば画像処理)を実施する複数のバスマスターがシステムバス100に接続される構成になっているが、所定の処理(例えば画像処理)を実施する1つのバスマスターがシステムバス100に接続されていてもよい。
In the first embodiment, a plurality of bus masters that perform predetermined processing (for example, image processing) are connected to the
さらに、上記実施の形態1では、データ先読み装置200内に1つの一時バッファを設けるようにしているが、複数の一時バッファを設けるようにしても良い。
Further, in the first embodiment, one temporary buffer is provided in the
この場合、一時バッファ管理部220は、複数の一時バッファの中の何れの一時バッファに先読みデータを格納すべきかを示す旨を出力制御部240に通知するようにし、出力制御部240は、メモリコントローラ400から返される先読みデータを、前記通知された一時バッファに格納する。
In this case, the temporary
次に、一時バッファ管理部220は、外部記憶装置500から先読みされた先読みデータにかかわるアドレス(外部記憶装置200のアドレス空間のアドレス)を特定の一時バッファのアドレス空間にマッピングしたマッピング情報を生成する。
Next, the temporary
そして、一時バッファ管理部220は、バスマスターからのリードアクセスにかかわるリードアドレスに対応するデータの読み出しに際しては、前記マッピング情報を基に、複数の一時バッファの中から前記リードアドレスに対応するデータが格納されている一時バッファを特定し、当該特定した一時バッファに対しリードアドレスを与えてデータを出力させる。
Then, when reading data corresponding to the read address related to read access from the bus master, the temporary
(実施の形態2) (Embodiment 2)
実施の形態2に係るデータ処理システムは、図1に示した実施の形態1のデータ処理システムと同様の構成になっている。 The data processing system according to the second embodiment has the same configuration as that of the data processing system according to the first embodiment shown in FIG.
図13は、実施の形態2に係るデータ先読み装置の機能構成を示している。このデータ先読み装置200は、図3に示した実施の形態1のデータ先読み装置200のDMA制御部300の構成において、アドレス管理レジスタ310をアドレス管理RAM600に変更した構成になっている。
FIG. 13 shows a functional configuration of the data prefetching apparatus according to the second embodiment. The
実施の形態2では、外部記憶装置500は、図14に示すように処理対象データを分割して複数の記憶領域に記憶する。
In the second embodiment, the
この例では、処理対象データは4つに分割され、分割後の4つのデータ(分割データ)が4つの記憶領域に分散されて記憶されている。ちなみに、分割データD0は記憶領域MA0に記憶され、分割データD1は記憶領域MA1に記憶され、分割データD2は記憶領域MA2に記憶され、分割データD3は記憶領域MA3に記憶されている。 In this example, the processing target data is divided into four, and the four pieces of divided data (divided data) are distributed and stored in four storage areas. Incidentally, the divided data D0 is stored in the storage area MA0, the divided data D1 is stored in the storage area MA1, the divided data D2 is stored in the storage area MA2, and the divided data D3 is stored in the storage area MA3.
開始アドレス0および終了アドレス0は記憶領域MA0にかかわる開始アドレスおよび終了アドレスを意味し、開始アドレス1および終了アドレス1は記憶領域MA1にかかわる開始アドレスおよび終了アドレスを意味し、開始アドレス2および終了アドレス2は記憶領域MA1にかかわる開始アドレスおよび終了アドレスを意味し、開始アドレス3および終了アドレス3は記憶領域MA3にかかわる開始アドレスおよび終了アドレスを意味する。
The start address 0 and the end address 0 mean the start address and the end address related to the storage area MA0, the
アドレス管理RAM600は、図13に示すように、外部記憶装置500の複数の記憶領域に対応する複数のアドレス範囲情報を記憶する。これらのアドレス範囲情報は、実施の形態1の場合と同様に、該当する記憶領域のアドレス空間(実アドレス空間)の開始アドレスおよび終了アドレスを意味する。アドレス管理RAM600は、RAM(Random Access Memory:随時書き込み読み出しメモリ)で構成されている。
As shown in FIG. 13, the
実施の形態2では、DMA制御部内部設定用I/F310は、図15に示すように、複数のアドレス範囲情報のそれぞれと次のアドレス領域へのポインタ情報とを対応付けたアドレスプロファイルを生成し、この生成したアドレスプロファイルをアドレス管理RAM600に格納するようになっている。
In the second embodiment, as shown in FIG. 15, the DMA control unit internal setting I /
ちなみに、ポインタ1は開始アドレス1および終了アドレス1の組のアドレス範囲情報を、ポインタ2は開始アドレス2および終了アドレス2の組のアドレス範囲情報を、ポインタ2は開始アドレス2のアドレス範囲情報を、ポインタ3は開始アドレス3および終了アドレス3の組のアドレス範囲情報を、それぞれ指し示す値になっている。
Incidentally, the
アドレス判定/生成部330は、アドレス管理RAM600に格納されているアドレスプロファイル(図15参照)を基に、先読みすべきデータにかかわるアドレスを生成するようになっている。
The address determination /
また、アドレス判定/生成部330は、リードアクセスの要求元であるバスマスターからのリードアドレスが、各アドレス範囲情報に対応するアドレス範囲に含まれるかを判定することで、当該リードアドレスが処理対象データにかかわるリードアドレスであるかを判定する。
Further, the address determination /
なお、実施の形態2では、上述したアドレス範囲情報記憶手段はアドレス管理RAM600に対応する。
In the second embodiment, the address range information storage unit described above corresponds to the
次に、データ先読み処理装置200によるデータ先読み処理について、図16を参照して説明する。
Next, data prefetching processing by the data prefetching
なお、図16は、そのデータ先読み処理の処理手順を示すフローチャートである。このフローチャートは、図12に示した実施の形態1の処理手順においてステップ201を追加した処理手順になっている。 FIG. 16 is a flowchart showing the processing procedure of the data prefetching process. This flowchart is a processing procedure in which step 201 is added to the processing procedure of the first embodiment shown in FIG.
最初に、図16に示すようにステップS101〜S107の処理が実行される。 First, as shown in FIG. 16, the processes of steps S101 to S107 are executed.
この場合、ステップS101(図5のP11参照)においては、DMA制御部300内のDMA制御部内部設定用I/F310がアドレスプロファイルをアドレス管理RAM600に格納する。
In this case, in step S101 (see P11 in FIG. 5), the DMA control unit internal setting I /
また、上述したステップS102の処理にかかわるアドレス情報(生成されたアドレス)の生成に際し、アドレス判定/生成部330は、アドレス管理RAM600からアドレスアドレスプロファイルの最初のアドレス範囲情報(開始アドレスおよび終了アドレス)を読み出し(図5のP13参照)、この読み出した開始アドレスおよび終了アドレスを基に先読みすべきデータのアドレスを生成するとともに、この生成したアドレスをDMA処理部340へ出力する(図5のP14参照)。
In addition, when generating the address information (generated address) related to the processing in step S102 described above, the address determination /
例えば、図15に示したアドレスプロファイルの場合、アドレス判定/生成部330は、そのアドレスプロファイル内の開始アドレス0および終了アドレス0のアドレス範囲情報を読み出し、このアドレス範囲情報を基に先読みすべきデータのアドレス(アドレス情報)を生成する。
For example, in the case of the address profile shown in FIG. 15, the address determination /
ところで、ステップS107が実施され、さらに上述したP4(図5参照)と同様の処理が実施されると、DMA制御部300では、アドレス判定/生成部330は、アドレス管理RAM600に記憶されているカレントアドレスが、現在の先読み処理にかかわるアドレス範囲情報(開始アドレスおよび終了アドレス)の中の終了アドレスに達したか否かを判断する(ステップS108)。
By the way, when step S107 is performed and the same processing as the above-described P4 (see FIG. 5) is performed, in the
ここで、上記カレントアドレスが終了アドレスに達した場合には、外部記憶装置500に記憶されている処理対象データにかかわる複数の分割データにおける現在の先読み処理対象の分割データに関して、終了アドレスまでのデータが先読みされ、一時バッファ230に格納されたことを意味し、一方、上記カレントアドレスが終了アドレスに達していない場合は、外部記憶装置500に記憶されている前記複数の分割データにおける先読み処理対象の分割データに関して、先読みすべきデータが存在することを意味する。
Here, when the current address reaches the end address, the data up to the end address with respect to the current prefetch processing target divided data in the plurality of divided data related to the processing target data stored in the
さて、ステップS108においてカレントアドレスが現在の先読み処理にかかわるアドレス範囲情報の中の終了アドレスに達していないと判断された場合は、ステップS109に進む。 If it is determined in step S108 that the current address has not reached the end address in the address range information related to the current prefetching process, the process proceeds to step S109.
このステップS109においては、現在の先読み処理対象の分割データに関して先読み処理が実施されることになる。 In step S109, the prefetching process is performed on the current divided data to be prefetched.
これに対し、ステップS108において、アドレス管理RAM600に記憶されているカレントアドレスが、現在の先読み処理にかかわるアドレス範囲情報の中の終了アドレスに達したと判断したアドレス判定/生成部330は、アドレスプロファイルにおける現在の先読み処理対象のアドレス範囲情報に対応する次のアドレス領域へのポインタ情報を基に、次のアドレス領域の指定があるか否かを判断する(ステップS201)。
On the other hand, in step S108, the address determination /
ステップS201において次のアドレス領域の指定があると判断された場合は、ステップS109に進む。 If it is determined in step S201 that the next address area is designated, the process proceeds to step S109.
このステップS109においては、アドレス判定/生成部330によって、次のアドレス領域へのポインタ情報で指し示される開始アドレスおよび終了アドレスの組のアドレス範囲情報を基に先読みすべきアドレスが生成される。そして、このアドレス情報に対応する分割データに関して先読み処理が実施される。
In step S109, the address determination /
例えば、カレントアドレスが、開始アドレス0および終了アドレス0の組のアドレス範囲情報の中の終了アドレスに達した場合、アドレス判定/生成部330が、このアドレス範囲情報に対応する次のアドレス領域へのポインタ情報としてのポインタ1で指し示される開始アドレス1および終了アドレス1の組のアドレス範囲情報を基に先読みすべきアドレスを生成するので、ステップS109においては、その生成されるアドレス情報に対応する分割データに関して先読み処理が実施される。
For example, when the current address reaches the end address in the address range information of the set of the start address 0 and the end address 0, the address determination /
ところで、ステップS201において次のアドレス領域の指定がないと判断された場合は、このデータ先読み処理が終了される。 If it is determined in step S201 that the next address area is not designated, the data prefetching process is terminated.
例えば、図15に示したアドレスプロファイルの場合、現在の先読み処理対象のアドレス範囲情報が開始アドレス3および終了アドレス3の組のアドレス範囲情報のときは、このアドレス範囲情報に対応する次のアドレス領域へのポインタ情報は「なし」を示す旨であるので、先読みすべきデータ(処理対象データ)にかかわるアドレスが全て生成され、当該処理対象データについての先読み処理が終了したことを意味する。
For example, in the case of the address profile shown in FIG. 15, when the current address range information to be prefetched is the address range information of the set of the
このように、現在の先読み処理対象のアドレス範囲情報に対応する「次のアドレス領域へのポインタ情報=なし(次のアドレス領域の指定がない)場合は、このデータ先読み処理が終了される。 As described above, when “pointer information to the next address area = none (no next address area is specified) corresponding to the address range information to be processed by the current prefetch process, the data prefetch process is terminated.
(実施の形態3) (Embodiment 3)
実施の形態3に係るデータ処理システムは、図1に示した実施の形態1のデータ処理システムと同様の構成になっている。 The data processing system according to the third embodiment has the same configuration as that of the data processing system according to the first embodiment shown in FIG.
図17は、実施の形態3に係るデータ先読み装置の機能構成を示している。このデータ先読み装置200は、図13に示した実施の形態2のデータ先読み装置200のDMA制御部300の構成において、ダウンロード制御部700を追加した構成になっている。
FIG. 17 shows a functional configuration of the data prefetching apparatus according to the third embodiment. This
実施の形態3では、外部記憶装置500は、実施の形態2の場合と同様に処理対象データを分割して複数の記憶領域に記憶するとともに、当該複数の記憶領域に対応する複数のアドレス範囲情報のうち一部のアドレス範囲情報(単数または複数のアドレス範囲情報)を記憶する。この一部のアドレス範囲情報はアドレスプロファイルとして記憶される。
In the third embodiment, the
処理対象データは、例えば(n+1)に分割され、記憶領域MA0、記憶領域MA1、・・・、記憶領域MA(m)、・・・、記憶領域MA(n)、の(n+1)の記憶領域に記憶される。なお、n、mは正の正数であり、「n>m」の関係が成立している。 The processing target data is divided into, for example, (n + 1), and (n + 1) storage areas of the storage area MA0, the storage area MA1,..., The storage area MA (m),. Is remembered. Note that n and m are positive positive numbers, and the relationship of “n> m” is established.
また、アドレス管理RAM600は、上記複数の記憶領域に対応する複数のアドレス範囲情報のうち、上記一部のアドレス範囲情報を除くアドレス範囲情報(複数のアドレス範囲情報)を記憶する。このアドレス範囲情報はアドレスプロファイルとして記憶される。
The
複数のアドレス範囲情報は、記憶領域MA0にかかわる開始アドレス0および終了アドレス0の組みのアドレス範囲情報、記憶領域MA1にかかわる開始アドレス1および終了アドレス1の組みのアドレス範囲情報、・・・、記憶領域MA(m)にかかわる開始アドレスmおよび終了アドレスmの組みのアドレス範囲情報、・・・、記憶領域MA(n)にかかわる開始アドレスnおよび終了アドレスnの組みのアドレス範囲情報であるとする。
The plurality of address range information includes address range information of a set of start address 0 and end address 0 related to the storage area MA0, address range information of a set of
この場合、「開始アドレス0および終了アドレス0の組のアドレス範囲情報」から「開始アドレスmおよび終了アドレスmの組のアドレス範囲情報」までのアドレス範囲情報のアドレスプロファイル(これを第1のアドレスプロファイルとする)が、DMA制御部内部設定用I/F310によって生成されるものとする。この第1のアドレスプロファイルは、DMA制御部内部設定用I/F310によってアドレス管理RAM600に格納される。
In this case, the address profile of the address range information from “the address range information of the set of start address 0 and end address 0” to “the address range information of the set of start address m and end address m” (this is the first address profile) Is generated by the DMA control unit internal setting I /
また、上記複数のアドレス範囲情報のうち、「開始アドレス0および終了アドレス0の組のアドレス範囲情報」から「開始アドレスmおよび終了アドレスmの組のアドレス範囲情報」までのアドレス範囲情報を除くアドレス範囲情報つまり一部のアドレス範囲情報(単数または複数のアドレス範囲情報)のアドレスプロファイル(これを第2のアドレスプロファイルとする)が、DMA制御部内部設定用I/F310によって生成される。
Of the plurality of address range information, addresses excluding address range information from “address range information of a set of start address 0 and end address 0” to “address range information of a set of start address m and end address m” Range information, that is, an address profile of a part of address range information (single or plural address range information) (this is referred to as a second address profile) is generated by the DMA control unit internal setting I /
なお、実施の形態3では、第2のアドレスプロファイルはアドレス範囲情報ごとに生成されるようになっている。 In the third embodiment, the second address profile is generated for each address range information.
この第2のアドレスプロファイルは、DMA処理部340、出力制御部340、メモリコントローラ400を介して外部記憶装置500に格納される。
The second address profile is stored in the
ここで、m=3、n=6の場合、「開始アドレス0および終了アドレス0の組のアドレス範囲情報」から「開始アドレス3および終了アドレス3の組のアドレス範囲情報」までのアドレス範囲情報の第1のアドレスプロファイルがアドレス管理RAM600に格納される(図15参照)。
Here, when m = 3 and n = 6, the address range information from “the address range information of the set of start address 0 and end address 0” to “the address range information of the set of
また、図18に示すように、「開始アドレス4および終了アドレス4の組のアドレス範囲情報」から「開始アドレス6および終了アドレス6の組のアドレス範囲情報」までのアドレス範囲情報ごとの第2のアドレスプロファイルが外部記憶装置500に格納される。
Further, as shown in FIG. 18, the second address range information for each address range information from “the address range information of the set of
なお、第1のアドレスプロファイルおよび第2のアドレスプロファイルは、図15および図18に示した例の如く、アドレス範囲情報(開始アドレスおよび終了アドレスの組)と次のアドレス領域へのポインタ情報とが対応付けされた情報になっている。 Note that the first address profile and the second address profile include address range information (a combination of start address and end address) and pointer information to the next address area, as in the examples shown in FIGS. It is associated information.
ちなみに、第1のアドレスプロファイル内の開始アドレス3および終了アドレス3の組のアドレス範囲情報に対応する次のアドレス領域へのポインタ情報は「なし」を示す旨であり、第2のアドレスプロファイル内の開始アドレス6および終了アドレス6の組のアドレス範囲情報に対応する次のアドレス領域へのポインタ情報は「なし」を示す旨である。
By the way, the pointer information to the next address area corresponding to the address range information of the set of the
アドレス管理RAM600に格納されるステータスには、指定されたアドレス空間に有効なデータが格納された旨を意味するステータス情報と、外部記憶装置500にアドレス範囲情報(第2のアドレスプロファイル)が格納されている旨を意味するステータス情報とが含まれる。
The status stored in the
ダウンロード制御部700は、上述した第2のアドレスプロファイル(一部のアドレス範囲情報)が記憶されている外部記憶装置500の記憶場所情報を記憶する記憶場所情報記憶手段の機能を果たすメモリ710を備え、このメモリ710に記憶されている記憶場所情報を基に、外部記憶装置500から第2のアドレスプロファイル(一部のアドレス範囲情報)を読み込むアドレス範囲情報読み込み手段の機能を有する。
The
また、ダウンロード制御部700は、外部記憶装置500から読み出した(ダウンロードした)第2のアドレスプロファイルをメモリ710に格納するとともに、第2のアドレスプロファイルがメモリ710に格納された旨をアドレス判定/生成部330へ通知する。
In addition, the
実施の形態3では、アドレス判定/生成部330は、ダウンロード制御部700に対し外部記憶装置500からの第2のアドレスプロファイルの読み込み処理(ダウンロード処理)を依頼するとともに、ダウンロード制御部700からの第2のアドレスプロファイルが格納された旨の通知を受けて、メモリ710に格納されている第2のアドレスプロファイルを読み出すとともに、この読み出した第2のアドレスプロファイルのアドレス範囲情報を基に先読みすべきデータのアドレスを生成する。
In the third embodiment, the address determination /
次に、データ先読み処理装置200によるデータ先読み処理について、図19を参照して説明する。
Next, data prefetch processing by the data
なお、図19は、そのデータ先読み処理の処理手順を示すフローチャートである。このフローチャートは、図16に示した実施の形態2の処理手順においてステップ301およびステップS302を追加した処理手順になっている。 FIG. 19 is a flowchart showing the processing procedure of the data prefetching process. This flowchart is a processing procedure in which step 301 and step S302 are added to the processing procedure of the second embodiment shown in FIG.
最初に、図19に示すようにステップS101〜S108およびステップS201の処理が実行される。 First, as shown in FIG. 19, the processes of steps S101 to S108 and step S201 are executed.
ステップS201において次のアドレス領域の指定がないと判断したアドレス判定/生成部330は、外部記憶装置500からアドレスプロファイル(第2のアドレスプロファイル)を読み込むか否かを判断する(ステップS301)。
The address determination /
ステップS301においては、現在の先読み処理が第1のアドレスプロファイルに基づき実施され、第1のアドレスプロファイルにかかわる「次のアドレス領域へのアドレス情報=なし」のときは、アドレス管理RAM600に格納されているステータスを基に第2のアドレスプロファイルを読み込むか否かが判断される。
In step S301, the current prefetching process is performed based on the first address profile, and when “address information to the next address area = none” related to the first address profile, the current prefetch process is stored in the
これに対し、現在の先読み処理が第2のアドレスプロファイルに基づき実施されているときは、ダウンロード制御部700内のメモリ710に格納されている第2のアドレスプロファイルにかかわる「次のアドレス領域へのアドレス情報」を基に次の第2のアドレスプロファイルを読み込むか否かが判断される。
On the other hand, when the current prefetching process is performed based on the second address profile, the “next address area” is related to the second address profile stored in the memory 710 in the
さて、ステップS301において外部記憶装置500から第2のアドレスプロファイルを読み込むと判断したアドレス判定/生成部330は、ダウンロード制御部700に対し外部記憶装置500からの第2のアドレスプロファイルの読み込み処理(ダウンロード処理)を依頼する。
The address determination /
すると、ダウンロード制御部700は、メモリ710に記憶されている記憶場所情報を基に、DMA処理部340、出力制御部240およびメモリコントローラ400を介して外部記憶装置500から第2のアドレスプロファイルを読み込むとともに(ステップS302)、この読み込んだ第2のアドレスプロファイルをメモリ710に格納し、さらに第2のアドレスプロファイルがメモリ710に格納された旨をアドレス判定/生成部330へ通知する。
Then, the
ステップS302が終了した後はステップS108に戻り、読み込まれた第2のアドレスプロファイルに基づきデータの先読み処理が実施される。 After step S302 is completed, the process returns to step S108, and data prefetching processing is performed based on the read second address profile.
すなわち、ステップS108の判断結果は「NO」となるので、ダウンロード制御部700からの第2のアドレスプロファイルが格納された旨の通知を受け取ったアドレス判定/生成部330は、メモリ710に格納されている第2のアドレスプロファイルを読み出すとともに、この読み出した第2のアドレスプロファイルのアドレス範囲情報を基に先読みすべきデータのアドレスを生成する。
That is, since the determination result in step S108 is “NO”, the address determination /
そして、アドレス判定/生成部330によって生成されたアドレスに基づき、外部記憶装置500からデータが先読みされ、この先読みされたデータが一時バッファ230に格納される(ステップS109)。
Then, based on the address generated by the address determination /
なお、ステップS301において、現在の先読み処理対象の第2のアドレスプロファイルのアドレス範囲情報に対応する次のアドレス領域へのアドレス情報は「なし」を示す旨であるので、外部記憶装置500から第2のアドレスプロファイルを読み込まないと判断された場合は、このデータ先読み処理が終了される。
In step S301, since the address information to the next address area corresponding to the address range information of the second address profile that is the current prefetch processing target indicates “None”, the second address from the
(実施の形態4) (Embodiment 4)
図20は、図3に示した実施の形態1のデータ先読み装置のハードウェア構成を示している。 FIG. 20 shows a hardware configuration of the data prefetching apparatus according to the first embodiment shown in FIG.
データ先読み装置200は、図20に示すように、入力制御部210(図3参照)の機能を有する入力コントローラ2100、一時バッファ管理部220(図3参照)の機能を有するバッファ管理コントローラ2200、一時バッファ230(図3参照)の機能を有するバッファ2300、出力制御部240(図3参照)の機能を有する出力コントローラ2400、DMA制御部300の機能を有するDMAコントローラ2500およびROM2600を備えている。これらの構成要素は内部バス2700を介して接続される。
As shown in FIG. 20, the
DMAコントローラ2500は、アドレス管理レジスタ320の機能を有するレジスタ2510を備えている。また、DMAコントローラ2500は、DMA制御内部設定用I/F310、アドレス判定/生成部330およびDMA処理部340の機能を果たす。
The
ROM(Read Only Memory:読み出し専用メモリ)2600は、次の(1)〜(4)の各処理過程をコンピュータに実行させるデータ先読み処理プログラム(ソフトウェア)2610を格納している。 A ROM (Read Only Memory) 2600 stores a data pre-reading processing program (software) 2610 that causes a computer to execute the following processing steps (1) to (4).
(1)外部記憶装置(データ記憶手段)500における処理対象の所定のデータが記憶されている記憶領域のアドレス範囲情報をレジスタ(アドレス範囲情報記憶手段)2510に予め記憶させる記憶処理過程。 (1) A storage process in which address range information of a storage area where predetermined data to be processed in the external storage device (data storage unit) 500 is stored in a register (address range information storage unit) 2510 in advance.
(2)レジスタ(アドレス範囲情報記憶手段)2510に記憶されているアドレス範囲情報を基に外部記憶装置(データ記憶手段)500からデータの先読み処理を実行する先読み処理過程。 (2) A prefetching process in which data prefetching is executed from the external storage device (data storage unit) 500 based on the address range information stored in the register (address range information storage unit) 2510.
(3)先読み処理過程により先読みされたデータをバッファ(データ保持手段)2300に保持させる保持処理過程。 (3) A holding process for holding data pre-read in the pre-reading process in a buffer (data holding unit) 2300.
(4)要求元のバスマスター(処理装置)から出力される上記処理対象の所定のデータにかかわるアドレス情報を基にバッファ(データ保持手段)2300からデータを読み出し、該読み出したデータを要求元のバスマスター(処理装置)に向けて出力するデータ読み出し処理過程。 (4) Data is read from the buffer (data holding means) 2300 based on the address information related to the predetermined data to be processed output from the requesting bus master (processing device), and the read data is read from the requesting source. Data reading process to be output to the bus master (processing device).
ところで、入力コントローラ2100、バッファ管理コントローラ2200、出力コントローラ2400およびDMAコントローラ2500は、それぞれ図示しないRAM(Random Access Memory:随時書き込み読み出しメモリ)を備え、ROM2600に格納されているデータ先読み処理プログラム2610を図示しないRAMに読み込んで実行するようになっている。これらのコントローラが、データ先読み処理プログラム2610を実行し協働してデータ先読み処理を実施する。
Incidentally, each of the
なお、コンピュータは、入力コントローラ2100、バッファ管理コントローラ2200、出力コントローラ2400、およびDMAコントローラ2500を意味する。
The computer means an
上述した記憶処理過程は、入力コントローラ2100およびDMAコントローラ2500の協働により実現され、図5に示したP1*1およびP11の各処理に対応する。
The storage process described above is realized by the cooperation of the
上述した先読み処理過程は、DMAコントローラ2500、バッファ管理コントローラ2200および出力コントローラ2400の協働により実現され、図5に示したP13、P14、P1*2〜P1*4、P1*6およびP2の各処理、あるいは図5に示したP4、P5*1〜P5*3およびP5*5の各処理に対応する。
The above-described prefetching process is realized by the cooperation of the
上述した保持処理過程は、バッファ管理コントローラ2200および出力コントローラ2400の協働により実現され、図5に示したP1*7の処理あるいはP5*6の処理に対応する。
The holding process described above is realized by the cooperation of the
上述したデータ読出し処理過程は、DMAコントローラ2500およびバッファ管理コントローラ2200の協働により実現され、図5に示したP3*1、P31、P32、P3*2〜P3*5の各処理に対応する。
The data reading process described above is realized by the cooperation of the
ところで、実施の形態2および実施の形態3のデータ先読み装置200も、図20に示したデータ先読み装置200と同様のハードウェア構成になっている。
By the way, the
なお、これらの実施の形態のデータ先読み装置200において、DMAコントローラ2500は、レジスタ2510に代替して、アドレス管理RAM600の機能を果たすRAMを備える。
In the
また、実施の形態3のデータ先読み装置200において、DMAコントローラ2500は、上述した構成要素の機能に加えて、ダウンロード制御部700の機能も果たすようになっている。このDMAコントローラ2500は、メモリ710の機能を果たす例えばレジスタやバッファを備える。
In addition, in the
本願明細書において、データ先読み装置の各機能を実現し、上記データ先読み処理プログラムを記録媒体としてのROMに記録する実施形態として説明したが、当該データ先読み処理プログラムを次のようにして提供することも可能である。 In the specification of the present application, each function of the data prefetching device is realized and the data prefetching processing program is recorded in the ROM as a recording medium. However, the data prefetching processing program is provided as follows. Is also possible.
すなわち、上記データ先読み処理プログラムを、DVD−ROM、CD−ROM、MO(光磁気ディスク)、フレキシブルディスク、などのコンピュータ読み取り可能な記録媒体に格納して配布するようにしても良い。この場合、その記録媒体に記録されたプログラムをデータ先読み装置がインストールした後、このプログラムを上記各コントローラが実行するようにする。このプログラムのインストール先としては、RAM等のメモリやハードディスクなどの記憶装置がある。そして、データ先読み装置は、必要に応じてこの記憶装置に記憶したプログラムを主記憶装置にローディングして実行する。 That is, the data pre-reading processing program may be stored and distributed in a computer-readable recording medium such as a DVD-ROM, CD-ROM, MO (magneto-optical disk), or flexible disk. In this case, after the data pre-reading device installs the program recorded on the recording medium, each controller executes the program. As an installation destination of this program, there is a memory such as a RAM or a storage device such as a hard disk. The data prefetching device loads the program stored in the storage device into the main storage device and executes it as necessary.
さらには、データ先読み装置を通信回線(例えばインターネット)を介してサーバ装置あるいはホストコンピュータ等のコンピュータと接続するようにし、当該データ先読み装置が、サーバ装置あるいはコンピュータから上記データ先読み処理プログラムをダウンロードした後、このプログラムを実行するようにしても良い。この場合、このプログラムのダウンロード先としては、RAM等のメモリやハードディスクなどの記憶装置(記録媒体)がある。そして、当該データ先読み装置が、必要に応じてこの記憶装置に記憶された上記プログラムを主記憶装置にローディングして実行するようにする。 Further, after the data prefetching device is connected to a computer such as a server device or a host computer via a communication line (for example, the Internet), the data prefetching device downloads the data prefetching processing program from the server device or the computer. This program may be executed. In this case, the download destination of the program includes a memory such as a RAM and a storage device (recording medium) such as a hard disk. The data prefetching device loads the program stored in the storage device into the main storage device and executes it as necessary.
本発明は、単数または複数のバスマスターとしての処理装置によって処理される処理対象のデータの先読みを実施するデータ先読み装置、このデータ先読み装置と前記処理装置とハードディスク装置など外部記憶装置(データ記憶手段)とを有するデータ処理システムに適用することができる。 The present invention relates to a data prefetching device for prefetching data to be processed processed by a processing device as a single or a plurality of bus masters, an external storage device (data storage means) such as the data prefetching device, the processing device and a hard disk device. ).
1 データ処理システム
10〜40 バスマスター
100 システムバス
200 データ先読み装置
210 入力制御部
220 一時バッファ管理部
230 一時バッファ
240 出力制御部
300 DMA制御部
310 DMA制御部内部設定用I/F
320 アドレス管理レジスタ
330 アドレス判定/生成部
340 DMA処理部
400 メモリコントローラ
500 外部記憶装置
600 アドレス管理RAM
700 ダウンロード制御部
710 メモリ
2100 入力コントローラ
2200 バッファ管理コントローラ
2300 バッファ
2400 出力コントローラ
2500 DMAコントローラ
2510 レジスタ
2600 ROM
2610 データ先読み処理プログラム
1 Data processing system 10-40
320
700 Download Control Unit 710
2610 Data prefetch processing program
Claims (8)
前記データ記憶手段から先読みされるデータを保持するデータ保持手段と、
前記アドレス範囲情報記憶手段に記憶されているアドレス範囲情報を基に前記データ記憶手段からデータを先読みするとともに、該先読みしたデータを前記データ保持手段に書き込む制御手段と、
前記所定のデータに対し所定の処理を実行する処理装置から出力される当該所定のデータにかかわるアドレス情報を基に前記データ保持手段からデータを読み出し、該読み出したデータを前記処理装置に向けて出力するデータ読み出し手段と、
を有することを特徴とするデータ先読み装置。 Address range information storage means for storing address range information of a storage area in which the predetermined data is stored in a data storage means for storing predetermined data to be processed;
Data holding means for holding data prefetched from the data storage means;
Control means for prefetching data from the data storage means based on the address range information stored in the address range information storage means, and writing the prefetched data to the data holding means;
Data is read from the data holding unit based on address information related to the predetermined data output from the processing device that executes predetermined processing on the predetermined data, and the read data is output to the processing device Data reading means to perform,
A data prefetching device characterized by comprising:
前記所定のデータの全てが前記データ保持手段に書き込まれないときは、当該先読みされていないデータについては、前記データ読み出し手段によるデータの読み出し処理が実施された後の前記データ保持手段の空き領域の保持容量に応じて、データの先読み処理および書き込み処理を実施する、
ことを特徴とする請求項1記載のデータ先読み装置。 The control means includes
When not all of the predetermined data is written to the data holding unit, the data that has not been pre-read is stored in the empty area of the data holding unit after the data reading process is performed by the data reading unit. Depending on the storage capacity, data read-ahead processing and write processing are performed.
The data prefetching device according to claim 1.
前記所定のデータが分割されて前記データ記憶手段に記憶されている場合に、当該分割後のデータが記憶されている複数の記憶領域に対応する複数のアドレス範囲情報を記憶し、
前記制御手段は、
前記アドレス範囲情報記憶手段に記憶されている複数のアドレス範囲情報を基にデータの先読み処理および書き込み処理を実施する、
ことを特徴とする請求項1または2記載のデータ先読み装置。 The address range information storage means includes
When the predetermined data is divided and stored in the data storage means, a plurality of address range information corresponding to a plurality of storage areas storing the data after the division is stored,
The control means includes
Performing prefetch processing and write processing of data based on a plurality of address range information stored in the address range information storage means;
The data prefetching device according to claim 1 or 2, characterized by the above.
前記所定のデータに対し所定の処理を実行する処理装置と、
前記データ記憶手段からデータを先読みし、該先読みしたデータを前記処理装置に向けて出力するデータ先読み装置と、
を有し、
前記データ先読み装置は、
前記データ記憶手段の前記所定のデータが記憶されている記憶領域のアドレス範囲情報を記憶するアドレス範囲情報記憶手段と、
前記データ記憶手段から先読みされるデータを保持するデータ保持手段と、
前記アドレス範囲情報記憶手段に記憶されているアドレス範囲情報を基に前記データ記憶手段からデータを先読みするとともに、該先読みしたデータを前記データ保持手段に書き込む制御手段と、
前記処理装置から出力される前記所定のデータにかかわるアドレス情報を基に前記データ保持手段からデータを読み出し、該読み出したデータを前記処理装置に向けて出力するデータ読み出し手段と、
を備えることを特徴とするデータ処理システム。 Data storage means for storing predetermined data to be processed;
A processing device for executing predetermined processing on the predetermined data;
A data prefetching device that prefetches data from the data storage means and outputs the prefetched data to the processing device;
Have
The data prefetching device is:
Address range information storage means for storing address range information of a storage area in which the predetermined data of the data storage means is stored;
Data holding means for holding data prefetched from the data storage means;
Control means for prefetching data from the data storage means based on the address range information stored in the address range information storage means, and writing the prefetched data to the data holding means;
Data reading means for reading data from the data holding means based on address information relating to the predetermined data output from the processing device, and outputting the read data to the processing device;
A data processing system comprising:
前記所定のデータの全てが前記データ保持手段に書き込まれないときは、当該先読みされていないデータについては、前記データ読み出し手段によるデータの読み出し処理が実施された後の前記データ保持手段の空き領域の保持容量に応じて、データの先読み処理および書き込み処理を実施する、
ことを特徴とする請求項4記載のデータ処理システム。 The control means includes
When not all of the predetermined data is written to the data holding unit, the data that has not been pre-read is stored in the empty area of the data holding unit after the data reading process is performed by the data reading unit. Depending on the storage capacity, data read-ahead processing and write processing are performed.
5. A data processing system according to claim 4, wherein:
前記所定のデータが分割されて前記データ記憶手段に記憶されている場合に、当該分割後のデータが記憶されている複数の記憶領域に対応する複数のアドレス範囲情報を記憶し、
前記制御手段は、
前記アドレス範囲情報記憶手段に記憶されている複数のアドレス範囲情報を基にデータの先読み処理および書き込み処理を実施する、
ことを特徴とする請求項4または5記載のデータ処理システム。 The address range information storage means includes
When the predetermined data is divided and stored in the data storage means, a plurality of address range information corresponding to a plurality of storage areas storing the data after the division is stored,
The control means includes
Performing prefetch processing and write processing of data based on a plurality of address range information stored in the address range information storage means;
6. The data processing system according to claim 4, wherein the data processing system is a data processing system.
前記複数のアドレス範囲情報のうち一部のアドレス範囲情報を記憶し、
前記データ先読み装置は、
前記一部のアドレス範囲情報が記憶されている前記データ記憶手段の記憶場所情報を記憶する記憶場所情報記憶手段と、
前記記憶場所情報記憶手段に記憶されている記憶場所情報を基に、前記データ記憶手段からアドレス範囲情報を読み込むアドレス範囲情報読み込み手段と、
を更に備え、
前記制御手段は、
前記一部のアドレス範囲情報に基づく記憶領域に記憶されているデータについては、前記アドレス範囲情報読み込み手段によって読み込まれたアドレス範囲情報を基にデータの先読み処理および書き込み処理を実施する、
ことを特徴とする請求項6記載のデータ処理システム。 The data storage means is
Storing some address range information among the plurality of address range information;
The data prefetching device is:
Storage location information storage means for storing storage location information of the data storage means in which the partial address range information is stored;
Address range information reading means for reading address range information from the data storage means based on the storage location information stored in the storage location information storage means;
Further comprising
The control means includes
For data stored in the storage area based on the partial address range information, data pre-read processing and write processing are performed based on the address range information read by the address range information reading means.
The data processing system according to claim 6.
前記アドレス範囲情報記憶手段に記憶されているアドレス範囲情報を基に前記データ記憶手段からデータの先読み処理を実行する先読み処理過程と、
前記先読み処理過程により先読みされたデータをデータ保持手段に保持させる保持処理過程と、
処理装置から出力される前記所定のデータにかかわるアドレス情報を基に前記データ保持手段からデータを読み出し、該読み出したデータを前記処理装置に向けて出力するデータ読み出し処理過程と、
をコンピュータに実行させることを特徴とするデータ先読み処理プログラム。
A storage process for storing address range information of a storage area in which predetermined data to be processed in the data storage unit is stored in the address range information storage unit;
A prefetching process for performing prefetching of data from the data storage unit based on the address range information stored in the address range information storage unit;
A holding process for holding data pre-read in the pre-reading process in a data holding unit;
A data read process for reading data from the data holding unit based on address information relating to the predetermined data output from the processing device, and outputting the read data to the processing device;
A data prefetching processing program that causes a computer to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007139842A JP2008293387A (en) | 2007-05-28 | 2007-05-28 | Data lookahead apparatus, data processing system, data lookahead processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007139842A JP2008293387A (en) | 2007-05-28 | 2007-05-28 | Data lookahead apparatus, data processing system, data lookahead processing program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008293387A true JP2008293387A (en) | 2008-12-04 |
Family
ID=40168024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007139842A Withdrawn JP2008293387A (en) | 2007-05-28 | 2007-05-28 | Data lookahead apparatus, data processing system, data lookahead processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008293387A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8266181B2 (en) | 2010-05-27 | 2012-09-11 | International Business Machines Corporation | Key-break and record-loop processing in parallel data transformation |
CN102841778A (en) * | 2011-06-22 | 2012-12-26 | 索尼公司 | Memory management apparatus, memory management method, control program, and recording medium |
CN103314470A (en) * | 2011-01-31 | 2013-09-18 | 株式会社杰士汤浅国际 | Electric storage element and method for manufacturing same |
-
2007
- 2007-05-28 JP JP2007139842A patent/JP2008293387A/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8266181B2 (en) | 2010-05-27 | 2012-09-11 | International Business Machines Corporation | Key-break and record-loop processing in parallel data transformation |
US8793280B2 (en) | 2010-05-27 | 2014-07-29 | International Business Machines Corporation | Key-break and record-loop processing in parallel data transformation |
CN103314470A (en) * | 2011-01-31 | 2013-09-18 | 株式会社杰士汤浅国际 | Electric storage element and method for manufacturing same |
CN102841778A (en) * | 2011-06-22 | 2012-12-26 | 索尼公司 | Memory management apparatus, memory management method, control program, and recording medium |
JP2013008094A (en) * | 2011-06-22 | 2013-01-10 | Sony Corp | Memory management apparatus, memory management method, control program, and recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10545672B2 (en) | Method for accessing extended memory, device, and system | |
JP5275414B2 (en) | Readable virtual DMA control and status register | |
JP2007241612A (en) | Multi-master system | |
GB2440839A (en) | Pre-fetching colour data in image processing | |
JP2008293387A (en) | Data lookahead apparatus, data processing system, data lookahead processing program | |
JP4266900B2 (en) | Image processing system | |
CN109791521B (en) | Apparatus and method for providing primitive subsets of data access | |
JP5759276B2 (en) | Processing apparatus and information processing method | |
JP2004118305A (en) | Cache memory controller | |
JP2004240616A (en) | Memory controller and memory access control method | |
JP2007333892A (en) | Memory controller, bus controller, and display device control system | |
JP2010237770A (en) | Information processing apparatus, bridge device, and information processing method | |
JP7463855B2 (en) | Information processing device and program | |
JP2008257508A (en) | Cache control method, cache device, and microcomputer | |
WO2012098655A1 (en) | Data writing control device, data writing control method, and information processing device | |
TWI875076B (en) | Micro-controller and method to execute on-the-air (ota) updated firmware | |
JP6180397B2 (en) | Memory access device and memory access control method | |
JP2010041154A (en) | Image processor, image processing control method, image processing control program, and recording medium | |
JP3260566B2 (en) | Storage control method and storage control device in information processing system | |
JP5229922B2 (en) | Information processing system | |
JP4560398B2 (en) | Data processing circuit | |
JP4583981B2 (en) | Image processing device | |
JP2009193346A (en) | Memory access device | |
JP6565729B2 (en) | Arithmetic processing device, control device, information processing device, and control method for information processing device | |
JP5656589B2 (en) | Data transfer device, data transfer method, and data transfer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100423 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20110812 |