[go: up one dir, main page]

JP2008293387A - Data lookahead apparatus, data processing system, data lookahead processing program - Google Patents

Data lookahead apparatus, data processing system, data lookahead processing program Download PDF

Info

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
Application number
JP2007139842A
Other languages
Japanese (ja)
Inventor
Akira Misumi
晃 三角
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2007139842A priority Critical patent/JP2008293387A/en
Publication of JP2008293387A publication Critical patent/JP2008293387A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a data lookahead apparatus which can shorten access time of reading prescribed data by a processing apparatus. <P>SOLUTION: The data lookahead apparatus is provided with an address range information storage means which memorizes an address range information of a storage domain where data of processing object at data storage means is memorized, a data holding means which holds data read ahead from a data storage means, a control means which writes data read ahead to the data holding means while looking-ahead data from the data storage means based on the address range information memorized in the address range information storage means, and a data reading means which reads data from the data holding means based on address information concerning prescribed data output from a processing apparatus which requests reading of data of processing object and which outputs the read-out data toward the processing apparatus. <P>COPYRIGHT: (C)2009,JPO&INPIT

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に開示されたものが知られている。
特開平6−243037号公報 特開2001−229074号公報 特開2001−256169号公報 特開2003−173291号公報
As an apparatus having a data prefetching mechanism, for example, those disclosed in Patent Documents 1 to 4 are known.
Japanese Patent Laid-Open No. 6-243037 JP 2001-229074 A JP 2001-256169 A JP 2003-173291 A

本発明は、処理装置による処理対象の所定のデータに対する読み出しのアクセス時間を短縮させることのできるデータ先読み装置、データ処理システム、データ先読み処理プログラムを提供することを目的とする。   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 claim 7 is the invention according to claim 6, wherein the data storage means stores a part of the address range information among the plurality of address range information, and the data prefetching device Based on the storage location information stored in the storage location information storage means and the storage location information storage means for storing the storage location information of the data storage means in which some address range information is stored, the data storage Address range information reading means for reading address range information from the means, and the control means uses the address range information reading means for data stored in the storage area based on the partial address range information. Based on the read address range information, data prefetching processing and writing processing are performed.

上記課題を解決するため、請求項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 claim 3, even when the predetermined data to be processed is divided and stored in a plurality of non-contiguous storage areas of the data storage means, the control means Based on a plurality of pieces of address range information corresponding to the area, data prefetching processing and writing processing can be performed.

請求項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 claim 6, even when the predetermined data to be processed is divided and stored in a plurality of non-contiguous storage areas of the data storage means, the control means Based on a plurality of address range information corresponding to a plurality of storage areas in which data is stored, data prefetching processing and writing processing can be performed.

請求項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 bus masters 10, 20, 30, 40, a system bus 100, a data prefetching device 200, a memory controller 400, and an external storage device 500.

複数のバスマスター10〜40とデータ先読み装置200とはシステムバス100を介して接続される。   The plurality of bus masters 10 to 40 and the data prefetching device 200 are connected via the system bus 100.

なお、システムバス100には、複数のバスマスター10〜40に加えて他の1つ以上のバスマスター(図示せず)を含む複数のバスマスターが接続されるとともに、バススレーブの一つであるデータ先読み装置200が他のバススレーブ(図示せず)とともに接続される。   The system bus 100 is connected to a plurality of bus masters including one or more other bus masters (not shown) in addition to the plurality of bus masters 10 to 40 and is one of bus slaves. The data prefetching device 200 is connected with other bus slaves (not shown).

複数のバスマスター10〜40は、処理対象のデータに対し所定の処理を実行する処理装置例えば互いに異なる画像処理を実施する画像処理装置であり、処理対象(例えば画像処理対象)の所定のデータ(以下「処理対象データ」という)を含むデータを記憶する外部記憶装置500に対しアクセスを行う。   The plurality of bus masters 10 to 40 are processing devices that execute predetermined processing on data to be processed, for example, image processing devices that perform different image processing, and predetermined data (for example, image processing targets) of processing targets (for example, image processing targets). Hereinafter, the external storage device 500 that stores data including “processing target data” is accessed.

具体的には、複数のバスマスター10〜40は、外部記憶装置500から読み出された処理対象データに対し画像処理(所定の処理)を実行するものであり、図2に示すように、バスタマスター10、バスタマスター20、バスタマスター30、バスタマスター40の並び順に、順次画像処理を実行する。この場合、これらのバスマスターの間のデータの授受は、外部記憶装置500を介して行われる。   Specifically, the plurality of bus masters 10 to 40 execute image processing (predetermined processing) on the processing target data read from the external storage device 500. As shown in FIG. Image processing is sequentially executed in the order of arrangement of the master 10, the buster master 20, the buster master 30, and the buster master 40. In this case, data exchange between these bus masters is performed via the external storage device 500.

すなわち、バスタマスター10は、外部記憶装置500に対するリードアクセスにより得られる処理対象データに対し画像処理を施すとともに、画像処理後の処理対象データをシステムバス100、データ先読み装置200(の後述するDMA制御部300)およびメモリコントローラ400を介して外部記憶装置500に格納する。次に、バスタマスター20は、外部記憶装置500に対するリードアクセスにより得られる処理対象データに対し画像処理を施すとともに、画像処理後の処理対象データをシステムバス100、データ先読み装置200(の後述するDMA制御部300)およびメモリコントローラ400を介して外部記憶装置500に格納する。バスタマスター30,40も上記同様の処理を行う。   That is, the bus master 10 performs image processing on the processing target data obtained by the read access to the external storage device 500, and the processing target data after the image processing is transferred to the system bus 100 and the data prefetching device 200 (to be described later in DMA control). Unit 300) and the memory controller 400, the data is stored in the external storage device 500. Next, the bus master 20 performs image processing on the processing target data obtained by the read access to the external storage device 500, and the processing target data after the image processing is transferred to the system bus 100 and the data prefetching device 200 (to be described later). The data is stored in the external storage device 500 via the control unit 300) and the memory controller 400. The buster masters 30 and 40 perform the same processing as described above.

再度、図1を参照して説明する。システムバス100は、各々のバスマスターに対し任意のタイミングでアクセスを行うことができるとともに、バスアービトレーション(バスの調停)を行う。   Again, a description will be given with reference to FIG. The system bus 100 can access each bus master at an arbitrary timing and performs bus arbitration (bus arbitration).

システムバス100からの外部記憶装置500へのアクセスは、データ先読み装置200およびメモリコントローラ400を通して行われる。   Access to the external storage device 500 from the system bus 100 is performed through the data prefetching device 200 and the memory controller 400.

データ先読み装置200は、メモリコントローラ400を介して、外部記憶装置500に対するデータの先読み(データのプリフェッチ)処理を実施する。また、データ先読み装置200は、ダイレクトメモリアクセス(DMA)により、メモリコントローラ400を介して、外部記憶装置500に対しデータの書き込み処理または読み出し処理を実施する。   The data prefetching device 200 performs data prefetching (data prefetch) processing on the external storage device 500 via the memory controller 400. In addition, the data prefetching device 200 performs data write processing or data read processing on the external storage device 500 via the memory controller 400 by direct memory access (DMA).

メモリコントローラ400は、データ先読み装置200からのデータの先読み指示(命令)、DMAによるデータの書き込み指示(命令)やデータの読み出し指示(命令)に従って、外部記憶装置500に対しアクセスする。   The memory controller 400 accesses the external storage device 500 in accordance with a data prefetching instruction (command) from the data prefetching apparatus 200, a data writing instruction (command) or a data reading instruction (command) by the DMA.

外部記憶装置500は、上述したように処理対象データを含むデータを記憶するものであり、例えばDRAM(Dynamic Random Access Memory:記憶保持動作が必要な随時書き込み読み出しメモリ)で構成される。   The external storage device 500 stores data including data to be processed as described above, and includes, for example, a DRAM (Dynamic Random Access Memory: an occasional write / read memory that requires a memory holding operation).

次に、データ先読み装置200の機能構成について、図3を参照して説明する。   Next, the functional configuration of the data prefetching apparatus 200 will be described with reference to FIG.

データ先読み装置200は、図3に示すように、入力制御部210、一時バッファ管理部220、一時バッファ230、出力制御部240およびDMA制御部300を備えている。   As shown in FIG. 3, the data prefetching apparatus 200 includes an input control unit 210, a temporary buffer management unit 220, a temporary buffer 230, an output control unit 240, and a DMA control unit 300.

入力制御部210は、システムバス100からのアクセスを解析し、データの先読み処理に関するアクセスか、あるいはリードまたはライトに関するアクセスかを判定し、この判定した結果およびアクセス情報をDMA制御部300へ出力する。   The input control unit 210 analyzes the access from the system bus 100 and determines whether the access is related to data prefetch processing or access related to read or write, and outputs the determined result and access information to the DMA control unit 300. .

データの先読み処理に関するアクセスには、例えば外部記憶装置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 external storage device 500 and an instruction for setting the address. Since the access information (address range information and address setting instruction) is output from the bus master that has acquired the right to use the bus, the input control unit 210 receives the access information and determination results received via the system bus 100. To the DMA controller 300 is output to the effect that the access is related to the data prefetching process.

リードに関するアクセスには、処理対象データに対するリードアクセス、および処理対象データ以外のデータに対するリードアクセスが含まれる。なお、処理対象データに対するリードアクセスは、一時バッファ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 temporary buffer 230. The access related to writing includes write access to processing target data and write access to data other than processing target data. Since these pieces of access information are output from the bus master that has acquired the right to use the bus, the input control unit 210 indicates that the access information is received via the system bus 100 and the access is related to read or write as a determination result. And output to the DMA control unit 300.

一時バッファ管理部220は、外部記憶装置500から先読みされ一時バッファ230に一時的に保持される処理対象データの全部または一部を管理するものであり、当該処理対象データの全部または一部のアドレス(外部記憶装置500のアドレス空間のアドレス)を一時バッファのアドレス空間のアドレスにマッピングしたマッピング情報、リードポインタおよびライトポインタを記憶する図示いないメモリを備えている。   The temporary buffer management unit 220 manages all or part of the processing target data prefetched from the external storage device 500 and temporarily stored in the temporary buffer 230, and addresses all or part of the processing target data. A memory (not shown) that stores mapping information in which (address in the address space of the external storage device 500) is mapped to an address in the address space of the temporary buffer, a read pointer, and a write pointer is provided.

また、一時バッファ管理部220は、次の(1)から(5)の各処理を実施する。   In addition, the temporary buffer management unit 220 performs the following processes (1) to (5).

(1)後述するDMA制御部300から出力されるアドレス情報(外部記憶装置50のアドレス空間のアドレス)およびデータの先読み指示を受け付けたときは、出力制御部240に対しアドレス情報を渡してデータの先読み処理を依頼する。   (1) When address information (address space address of the external storage device 50) output from the DMA control unit 300, which will be described later, and a data prefetching instruction are received, the address information is passed to the output control unit 240 and the data Request prefetch processing.

(2)後述する出力制御部240の先読み処理により外部記憶装置500から先読みされたデータが一時バッファ230に格納された場合は、上記マッピング情報を生成し上記メモリ(図示せず)に格納し、さらにライトポインタを、書き込まれたデータにかかわる最後のアドレス(外部記憶装置500のアドレス空間のアドレス)を指し示すようにする。また、ライトポインタで示されるアドレス(外部記憶装置500のアドレス空間のアドレス)および先読み処理中断の旨をDMA制御部300へ出力する。   (2) When the data prefetched from the external storage device 500 is stored in the temporary buffer 230 by the prefetching process of the output control unit 240 described later, the mapping information is generated and stored in the memory (not shown), Further, the write pointer is made to point to the last address (address space address of the external storage device 500) related to the written data. In addition, the address (address space address of the external storage device 500) indicated by the write pointer and the fact that the prefetch processing is interrupted are output to the DMA control unit 300.

(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 DMA control unit 300 described later is received, the read address information and the memory (not shown) store the read address information. Based on the mapping information, it is confirmed that the data corresponding to the read address exists in the data held in the temporary buffer 230. Thereafter, the temporary buffer 230 is given an address in the address space of the temporary buffer 230 corresponding to the read address, and instructed to output the corresponding data to the input control unit 210 (read output instruction). Further, the read pointer is made to indicate the last address (address space address of the external storage device 50) related to the read data.

リードポインタの情報は、一時バッファ管理部220によって一時バッファ230の空き領域を求めるときに使用される。すなわち、リード出力指示した時点のアドレスからリードポインタで指し示されるアドレスまでのアドレス範囲に対応する記憶領域が空き領域として求められる。   The information of the read pointer is used when the temporary buffer management unit 220 obtains an empty area of the temporary buffer 230. That is, a storage area corresponding to the address range from the address at the time when the read output is instructed to the address indicated by the read pointer is obtained as a free area.

(4)上記(3)の処理により一時バッファ230からデータが出力された後の当該一時バッファ230の空き領域を求め、この空き領域の保持容量を、DMA制御部300へ通知する。   (4) The empty area of the temporary buffer 230 after data is output from the temporary buffer 230 by the process of (3) above is obtained, and the storage capacity of this empty area is notified to the DMA control unit 300.

(5)データの先読み処理を中断している状態で、先読み処理を実施すべく、後述するDMA制御部300から出力されるリードアドレス情報(外部記憶装置50のアドレス空間のアドレス)を受け付けたときは、出力制御部240に対しアドレス情報を渡してデータの先読み処理を依頼する。   (5) When read address information (address in the address space of the external storage device 50) output from the DMA control unit 300, which will be described later, is received in order to perform the prefetch process while the data prefetch process is interrupted. Passes the address information to the output control unit 240 and requests data prefetching.

一時バッファ230は、外部記憶装置500から先読みされた処理対象データを一時的に保持するものであり、例えばSRAM(Static Random Access Memory:記憶保持動作が不要な随時書き込み読み出しメモリ)で構成される。   The temporary buffer 230 temporarily holds processing target data prefetched from the external storage device 500, and includes, for example, an SRAM (Static Random Access Memory).

出力制御部240は、DMA制御部300からリードアクセスの依頼があった場合には、メモリコントローラ400から返されるリードデータをDMA制御部300へ出力し、一方、一時バッファ管理部220からリードアクセスの依頼がたった場合は、メモリコントローラ400から返されるリードデータを一時バッファ230に書き込む。   When there is a read access request from the DMA control unit 300, the output control unit 240 outputs the read data returned from the memory controller 400 to the DMA control unit 300, while the temporary buffer management unit 220 performs read access. When requested, the read data returned from the memory controller 400 is written into the temporary buffer 230.

DMA制御部300は、DMA制御部内部設定用I/F310、アドレス管理レジスタ320、アドレス判定/生成部330、DMA処理部340を備えている。   The DMA control unit 300 includes a DMA control unit internal setting I / F 310, an address management register 320, an address determination / generation unit 330, and a DMA processing unit 340.

DMA制御部内部設定用I/F310は、入力制御部210から受け取ったデータ(リードアクセスのためのアドレスやアドレス設定すべきアドレスなど)を基に、アドレス管理レジスタ320へのアクセスであるか、あるいはアドレス管理レジスタ320以外へのアクセスであるかを判別し、この判別した結果に応じて、所定の処理を実施する。   The DMA control unit internal setting I / F 310 is an access to the address management register 320 based on data received from the input control unit 210 (such as an address for read access and an address to be set), or It is determined whether the access is to other than the address management register 320, and a predetermined process is performed according to the determined result.

なお、アドレス管理レジスタ320へのアクセスには、データの先読み処理に関するアクセスが含まれる。アドレス管理レジスタ320以外へのアクセスには、リードアクセスおよびライトアクセスが含まれる。   The access to the address management register 320 includes access related to data prefetching processing. Accesses other than the address management register 320 include read access and write access.

DMA制御部内部設定用I/F310は、アドレス管理レジスタ320へのアクセスであると判断した場合には、上述したアドレス範囲情報をアドレス管理レジスタ320に設定し、アドレス管理レジスタ320以外へのアクセスであると判別した場合は、例えばリードアクセスにかかわるリードアドレスをアドレス判定/生成部330に向けて出力する。   When the DMA control unit internal setting I / F 310 determines that the access is to the address management register 320, the address range information described above is set in the address management register 320, and access to other than the address management register 320 is performed. If it is determined that there is, for example, a read address relating to read access is output to the address determination / generation unit 330.

また、DMA制御部内部設定用I/F310は、処理開始や処理終了をDMA処理部340に向けて出力するとともに、アドレス管理レジスタ320に記憶されている情報を入力制御部210へ提供する。   In addition, the DMA control unit internal setting I / F 310 outputs processing start and processing end to the DMA processing unit 340 and provides the information stored in the address management register 320 to the input control unit 210.

アドレス管理レジスタ320は、アドレス範囲情報、カレントアドレス、ステータスの3つの情報を記憶する領域が割り当てられている。   The address management register 320 is assigned an area for storing three pieces of information: address range information, current address, and status.

アドレス管理レジスタ320は、外部記憶装置500の処理対象データが記憶されている記憶領域のアドレス範囲情報を記憶するアドレス範囲情報記憶手段の機能を有している。   The address management register 320 has a function of an address range information storage unit that stores address range information of a storage area in which processing target data of the external storage device 500 is stored.

本願明細書では、アドレス範囲情報は、処理対象データが記憶されている記憶領域のアドレス空間(実アドレス空間)の開始アドレスおよび終了アドレスを意味する。   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 data prefetching device 200 from the bus master that has performed write access (write processing) on the processing target data after the image processing is performed, and is further set in the DMA control unit of the DMA control unit 300. The data is written into the address management register 320 by the general I / F 310.

カレントアドレスは、外部記憶装置500に記憶されている処理対象データにかかわるアドレスであって、一時バッファ230に記憶されているデータ(先読みデータ)にかかわる最終のアドレスを意味する。つまり、一時バッファ管理部220からDMA制御部300に対して先読み処理中断の旨とともに通知されるアドレスを意味する。   The current address is an address related to processing target data stored in the external storage device 500 and means a final address related to data (prefetched data) stored in the temporary buffer 230. That is, it means an address notified from the temporary buffer management unit 220 to the DMA control unit 300 together with the fact that the prefetch processing is interrupted.

ステータスは、指定されたアドレス空間に有効なデータが格納された旨を意味する。   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 data prefetching device 200, and further DMA The data is written in the address management register 320 by the DMA control unit internal setting I / F 310 of the control unit 300.

すなわち、現在においてバスの使用権を獲得しているバスマスターが、画像処理を施した後の処理対象データが外部記憶装置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 external storage device 500, the data effective in the address space of the external storage device 500 Is stored to the DMA control unit 300. The fact that valid data is stored in the address space is stored in the address management register 32 via the input control unit 210 and the DMA control unit internal setting I / F 310. When the bus master releases the right to use the bus, the next bus master acquires the right to use the bus and performs image processing.

なお、最前段のバスマスター10は、バスマスター10に対し画像処理を依頼するバスマスターによってライトアクセス(書き込み処理)された処理対象データについて画像処理を実施することになる。   The bus master 10 at the foremost stage performs image processing on the processing target data that has been write-accessed (written) by the bus master that requests the bus master 10 to perform image processing.

アドレス判定/生成部330は、アドレス管理レジスタ320に記憶されているアドレス範囲情報としての開始アドレスおよび終了アドレス、カレントアドレスを基に、外部記憶装置500へのDMAアクセス用のアドレスを生成するとともに、この生成したアドレスをDMA処理部340へ出力する。   The address determination / generation unit 330 generates an address for DMA access to the external storage device 500 based on the start address, end address, and current address as address range information stored in the address management register 320. The generated address is output to the DMA processing unit 340.

また、アドレス判定/生成部330は、DMA制御部内部設定用I/F310からのリードアドレスを受け取った場合は、そのリードアドレスが一時バッファ230に対するリードアクセスのためのアドレスであるか否か、すなわちアドレス管理レジスタ320に記憶されている開始アドレスから終了アドレスまでのアドレス範囲に含まれるアドレスであるか否かを判定し、この判定した結果およびリードアドレスをDMA処理部340へ出力する。   Further, when the address determination / generation unit 330 receives the read address from the DMA control unit internal setting I / F 310, it is determined whether or not the read address is an address for read access to the temporary buffer 230, that is, It is determined whether or not the address is included in the address range from the start address to the end address stored in the address management register 320, and the determination result and the read address are output to the DMA processing unit 340.

DMA処理部340は、外部記憶装置500のDMAサイクルの管理を行う。   The DMA processing unit 340 manages the DMA cycle of the external storage device 500.

また、DMA処理部340は、アドレス判定/生成部330からの判定結果が上記アドレス範囲に含まれないアドレスである旨のときはリードアドレスを出力制御部240へ出力する。
これに対し、DMA処理部340が受け取ったアドレス判定/生成部330からの判定結果が、上記アドレス範囲に含まれるアドレスである旨のときは、DMA制御部300が、DMA処理部340が受け取ったリードアドレスを一時バッファ管理部220に向けて出力する。
The DMA processing unit 340 outputs a read address to the output control unit 240 when the determination result from the address determination / generation unit 330 indicates that the address is not included in the address range.
In contrast, when the determination result from the address determination / generation unit 330 received by the DMA processing unit 340 is an address included in the address range, the DMA control unit 300 receives the DMA processing unit 340. The read address is output to the temporary buffer management unit 220.

なお、DMA制御部300は、上述したDMA制御部内部設定用I/F310、アドレス管理レジスタ320、アドレス判定/生成部330およびDMA処理部340の各構成要素を制御する機能を有している。   The DMA control unit 300 has a function of controlling each component of the DMA control unit internal setting I / F 310, the address management register 320, the address determination / generation unit 330, and the DMA processing unit 340 described above.

実施の形態1では、上述したデータ記憶手段は外部記憶装置500に対応し、上述したアドレス範囲情報記憶手段はアドレス管理レジスタ320に対応し、上述したデータ保持手段は一時バッファ230に対応し、上述した制御手段はDMA制御部300、一時バッファ管理部220および出力制御部240に対応し、上述したデータ読み出し手段はDMA制御部300および一時バッファ管理部220に対応する。   In the first embodiment, the data storage unit described above corresponds to the external storage device 500, the address range information storage unit described above corresponds to the address management register 320, the data storage unit described above corresponds to the temporary buffer 230, and The control means corresponds to the DMA control section 300, the temporary buffer management section 220, and the output control section 240, and the data reading means described above corresponds to the DMA control section 300 and the temporary buffer management section 220.

次に、データ先読み装置200のデータの先読み処理(以下、「データ先読み処理」という)について、図4〜図6を参照して説明する。   Next, data prefetching processing (hereinafter referred to as “data prefetching processing”) of the data prefetching apparatus 200 will be described with reference to FIGS.

図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 temporary buffer 230 is smaller than the data amount of the processing target data. That is, it is assumed that all of the processing target data cannot be prefetched and stored in the temporary buffer 230.

処理対象データのライトアクセス(書き込み処理)を実施したバスマスターから出力されたアドレス空間に有効なデータが格納された旨、アドレス範囲情報としての開始アドレスおよび終了アドレスが、システムバス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 system bus 100. When input to the input control unit 210 of the prefetching apparatus 200, the input control unit 210 determines that the access is related to the data prefetching process based on the information, and the determination result is as shown in FIG. 4 and FIG. Information from the bus master received via the system bus 100 is output to the DMA controller 300 (P1 * 1).

DMA制御部300では、入力制御部210からの判定結果、アドレス空間に有効なデータが格納された旨およびアドレス範囲情報を受け取ったDMA制御部内部設定用I/F310は、前記判定結果を基にアドレス管理レジスタ320へのアクセスであると判別して、図5に示すように、アドレス空間に有効なデータが格納された旨をアドレス管理レジスタ320に格納するとともに、アドレス範囲情報としての開始アドレスおよび終了アドレスをアドレス管理レジスタ320に格納する(図5のP11)。   In the DMA control unit 300, the DMA control unit internal setting I / F 310 that has received the determination result from the input control unit 210, that valid data is stored in the address space, and the address range information is based on the determination result. It is determined that the access is to the address management register 320, and as shown in FIG. 5, the fact that valid data is stored in the address space is stored in the address management register 320, and the start address and the address range information are The end address is stored in the address management register 320 (P11 in FIG. 5).

また、DMA制御部内部設定用I/F310は、アドレス管理レジスタ320のカレントアドレスが記憶される領域の内容をクリア(初期化)する。   Further, the DMA control unit internal setting I / F 310 clears (initializes) the contents of the area where the current address of the address management register 320 is stored.

そして、DMA制御部内部設定用1/F310は、上述したようにしてアドレス範囲情報をアドレス管理レジスタ320に格納した場合は、アドレス設定を終了した旨をアドレス判定/生成部330へ通知する(図5のP12)。   When the address range information is stored in the address management register 320 as described above, the DMA control unit internal setting 1 / F 310 notifies the address determination / generation unit 330 that the address setting has been completed (see FIG. 5 P12).

アドレス設定を終了した旨の通知を受け取ったアドレス判定/生成部330は、アドレス管理レジスタ320からアドレス範囲情報(開始アドレスおよび終了アドレス)を読み出し(図5のP13)、この読み出した開始アドレスおよび終了アドレスを基に先読みすべきデータのアドレスを生成するとともに、この生成したアドレスをDMA処理部340へ出力する(図5のP14)する。   The address determination / generation unit 330 that has received the notification that the address setting has been completed reads the address range information (start address and end address) from the address management register 320 (P13 in FIG. 5), and this read start address and end An address of data to be prefetched is generated based on the address, and the generated address is output to the DMA processing unit 340 (P14 in FIG. 5).

なお、アドレス判定/生成部330は、開始アドレスを基準にして連続するアドレスを生成してDMA処理部340へ出力し、このアドレスの生成処理を、一時バッファ管理部220からの先読み中断指示を受け取るまで、または生成するアドレスが終了アドレスに達するまで実施する。   The address determination / generation unit 330 generates a continuous address with reference to the start address and outputs the generated address to the DMA processing unit 340. The address generation processing receives the prefetch interruption instruction from the temporary buffer management unit 220. Or until the address to be generated reaches the end address.

このようにして生成された連続する所定の範囲のアドレスに対応するデータが先読みされる。   Data corresponding to a predetermined range of addresses generated in this way is prefetched.

DMA処理部340は、DMAサイクル信号を出力制御部240へ出力する(図5のP15)。   The DMA processing unit 340 outputs the DMA cycle signal to the output control unit 240 (P15 in FIG. 5).

データの先読みのために生成されたアドレス(アドレス情報)をDMA処理部340が受け取ると、DMA制御部300は、図4および図5に示すように、データ先読み指示およびアドレス情報(生成されたアドレス)を一時バッファ管理部220へ出力する(P1*2)。   When the DMA processing unit 340 receives an address (address information) generated for data prefetching, the DMA control unit 300, as shown in FIGS. 4 and 5, reads data prefetching instructions and address information (generated address). ) Is output to the temporary buffer management unit 220 (P1 * 2).

データ先読み指示およびアドレス情報(生成されたアドレス)を受け取った一時バッファ管理部220は、データ先読み処理であると判別して、アドレス情報およびデータ先読み処理(リードアクセス)の依頼を出力制御部240へ出力する(P1*3)。   The temporary buffer management unit 220 that has received the data prefetch instruction and the address information (generated address) determines that it is a data prefetch process, and sends a request for the address information and the data prefetch process (read access) to the output control unit 240. Output (P1 * 3).

出力制御部240が、DMA処理部340からのDMAサイクル信号に従って、受け取ったアドレス情報とデータの先読み指示とをメモリコントローラ400に向けて出力すると(P1*4)、メモリコントローラ400は、外部記憶装置500から前記アドレス情報に対応するデータを読み出し(図4のP1*5)、この先読みデータを出力制御部240へ出力する(P1*6)。   When the output control unit 240 outputs the received address information and data prefetch instruction to the memory controller 400 in accordance with the DMA cycle signal from the DMA processing unit 340 (P1 * 4), the memory controller 400 stores the external storage device. Data corresponding to the address information is read from 500 (P1 * 5 in FIG. 4), and this prefetched data is output to the output control unit 240 (P1 * 6).

メモリコントローラ400からの先読みデータを受け取った出力制御部240は、その先読みデータを一時バッファ230に格納する(P1*7)。   The output control unit 240 that has received the prefetch data from the memory controller 400 stores the prefetch data in the temporary buffer 230 (P1 * 7).

ところで、一時バッファ管理部220は、出力制御部240に対して先読み処理を依頼した後は、一時バッファ230を監視し、出力制御部240の先読み処理により外部記憶装置500から先読みされたデータが一時バッファ230に格納された場合は、上記マッピング情報、つまり外部記憶装置500のアドレス空間のアドレス(DMA制御部300から取得したアドレス)と一時バッファ230のアドレス空間のアドレスとのマッピング情報を生成して上記メモリ(図示せず)に格納するとともに、ライトポインタを、書き込まれたデータにかかわる最後のアドレス(外部記憶装置500のアドレス空間のアドレス)を指し示すようにする。   By the way, the temporary buffer management unit 220 monitors the temporary buffer 230 after requesting the output control unit 240 to perform the prefetch process, and the data prefetched from the external storage device 500 by the prefetch process of the output control unit 240 is temporarily stored. When stored in the buffer 230, the mapping information, that is, mapping information between the address of the external storage device 500 (the address acquired from the DMA control unit 300) and the address of the temporary buffer 230 is generated. The data is stored in the memory (not shown), and the write pointer points to the last address (address in the address space of the external storage device 500) related to the written data.

そして、一時バッファ管理部220は、一時バッファ230に格納された先読みデータのデータ量が予め設定されるデータ量に達した場合(一時バッファ230の規定の保持容量に達した場合)に、一時バッファ230に記憶されているデータにかかわる最終のアドレスつまりカレントアドレス(ライトポインタで示されるアドレス)と先読み処理中断の旨とをDMA制御部300へ出力し(P2)、DMA制御部300からリードアクセスの依頼があるまで待機する。   Then, the temporary buffer management unit 220 stores the temporary buffer when the data amount of the pre-read data stored in the temporary buffer 230 reaches a preset data amount (when the predetermined storage capacity of the temporary buffer 230 is reached). The final address relating to the data stored in 230, that is, the current address (address indicated by the write pointer) and the pre-read processing interruption are output to the DMA control unit 300 (P2). Wait until requested.

先読み処理中断の旨およびカレントアドレス情報を受け取ったDMA制御部300では、アドレス判定/生成部330はアドレスの生成処理を中断し、またDMA制御部内部設定用I/F310はそのカレントアドレスをアドレス管理レジスタ320に格納する。   In the DMA control unit 300 that has received the pre-read processing suspension and current address information, the address determination / generation unit 330 interrupts the address generation processing, and the DMA control unit internal setting I / F 310 manages the current address as an address. Store in register 320.

現在、バスの使用権を獲得しているバスマスターが処理対象データに対するリードアクセスを行うべくリードアドレスをバススレーブとしてのデータ先読み装置200に向けて出力すると、そのリードアドレスは、システムバス100を介してデータ先読み装置200の入力制御部210に入力される。   When a bus master currently acquiring the right to use the bus outputs a read address to the data prefetching device 200 as a bus slave in order to perform read access to the data to be processed, the read address is transmitted via the system bus 100. Are input to the input control unit 210 of the data prefetching device 200.

入力制御部210は、バスマスターからのリードアドレスを基にリードアクセスであると判定し、図4および図5に示すように、その判定結果およびシステムバス100を介して受け取ったバスマスターからのリードアドレスをDMA制御部300へ出力する(P3*1)。   The input control unit 210 determines that the access is a read access based on the read address from the bus master, and the determination result and the read from the bus master received via the system bus 100 as shown in FIGS. The address is output to the DMA control unit 300 (P3 * 1).

DMA制御部300では、入力制御部210からの判定結果、リードアドレスを受け取ったDMA制御部内部設定用I/F310は、受け取った判定結果を基にアドレス管理レジスタ320以外へのアクセスであると判別し、受け取ったリードアドレスをアドレス判定/生成部330へ出力する(図5のP31)。   In the DMA control unit 300, the DMA control unit internal setting I / F 310 that has received the determination result from the input control unit 210 and the read address determines that the access is to other than the address management register 320 based on the received determination result. Then, the received read address is output to the address determination / generation unit 330 (P31 in FIG. 5).

アドレス判定/生成部330は、DMA制御部内部設定用I/F310からのリードアドレスが、アドレス管理レジスタ320に記憶されている開始アドレスから終了アドレスまでのアドレス範囲に含まれるアドレスであるか否かを判定し、当該リードアドレスが前記アドレス範囲に含まれるアドレスであると判定した場合は、その判定した結果および当該リードアドレスをDMA処理部340へ出力する(図5のP32)。   The address determination / generation unit 330 determines whether the read address from the DMA control unit internal setting I / F 310 is an address included in the address range from the start address to the end address stored in the address management register 320. When the read address is determined to be an address included in the address range, the determination result and the read address are output to the DMA processing unit 340 (P32 in FIG. 5).

アドレス判定/生成部330による判定結果が上記アドレス範囲に含まれるアドレスである旨のときは、DMA制御部300は、DMA処理部340が受け取ったリードアドレスを一時バッファ管理部220に向けて出力する(P3*2)。   When the determination result by the address determination / generation unit 330 is an address included in the address range, the DMA control unit 300 outputs the read address received by the DMA processing unit 340 to the temporary buffer management unit 220. (P3 * 2).

一時バッファ管理部220は、DMA制御部300から出力されるリードアドレス情報(外部記憶装置500のアドレス空間のアドレス)を受け取ったときは、そのリードアドレス情報および上記メモリ(図示せず)に記憶されている上記マッピング情報を基に、一時バッファ230に保持されているデータの中に当該リードアドレスに対応するデータが存在することを確認する。   When the temporary buffer management unit 220 receives the read address information (address in the address space of the external storage device 500) output from the DMA control unit 300, the temporary buffer management unit 220 stores the read address information in the memory (not shown). On the basis of the mapping information, it is confirmed that data corresponding to the read address exists in the data held in the temporary buffer 230.

このようにしてリードアドレスが一時バッファ230に保持されていることを確認した一時バッファ管理部220は、一時バッファ230に対し、当該リードアドレスに対応する一時バッファ230のアドレス空間のアドレスを与えて、該当するデータを入力制御部210に向けて出力するよう指示する(P3*3)。   The temporary buffer management unit 220 confirming that the read address is held in the temporary buffer 230 in this manner gives the temporary buffer 230 the address of the address space of the temporary buffer 230 corresponding to the read address, An instruction is given to output the corresponding data to the input control unit 210 (P3 * 3).

また、一時バッファ管理部220は、一時バッファ230から出力されるデータを入力制御部210が取り込むべきタイミングとして、一時バッファ230への出力信号(アドレスおよびリード出力指示)に同期した同期信号を、入力制御部210へ出力する(P3*4)。   The temporary buffer management unit 220 inputs a synchronization signal synchronized with an output signal (address and read output instruction) to the temporary buffer 230 as a timing at which the input control unit 210 should take in the data output from the temporary buffer 230. It outputs to the control part 210 (P3 * 4).

ところで、一時バッファ管理部220からのアドレスおよびリード出力指示を受け取った一時バッファ230が、そのアドレスに対応するデータ(リードデータ)を入力制御部210に向けて出力すると(P3*5)、入力制御部210は、一時バッファ230から出力されたリードデータを一時バッファ管理部220からの同期信号に同期して取り込み、この取り込んだリードデータを、システムバス100を介してリードアクセスの要求元であるバスマスターに向けて出力する。   When the temporary buffer 230 that has received the address and read output instruction from the temporary buffer management unit 220 outputs data (read data) corresponding to the address to the input control unit 210 (P3 * 5), input control is performed. The unit 210 fetches the read data output from the temporary buffer 230 in synchronization with the synchronization signal from the temporary buffer management unit 220, and the fetched read data is a bus that is a request source of read access via the system bus 100. Output to the master.

また、一時バッファ管理部220は、リードポインタを、読み出されたデータにかかわる最後のアドレス(外部記憶装置500のアドレス空間のアドレス)を指し示すようにする。   In addition, the temporary buffer management unit 220 points the read pointer to the last address (address space address of the external storage device 500) related to the read data.

上述したようにして、一時バッファ管理部220からのアドレスを基に一時バッファ230からデータ(リードデータ)が読み出されると、当該リードデータが記憶されていた一時バッファ230の記憶領域は空き領域となる。   As described above, when data (read data) is read from the temporary buffer 230 based on the address from the temporary buffer management unit 220, the storage area of the temporary buffer 230 in which the read data is stored becomes an empty area. .

そこで、一時バッファ管理部220は、一時バッファ230へリード出力指示を出力した時点のリードポインタで指し示されるアドレスから現在のリードポインタで指し示されるアドレスまでのアドレス範囲に対応する記憶領域つまり空き領域を算出するとともに、この空き領域が予め設定される所定の空き領域に達したときは、先読み再開指示をDMA制御部300へ出力する(P4)。   Therefore, the temporary buffer management unit 220 stores a storage area corresponding to an address range from the address indicated by the read pointer at the time when the read output instruction is output to the temporary buffer 230 to the address indicated by the current read pointer, that is, a free area. When this free area reaches a predetermined free area set in advance, a prefetching restart instruction is output to the DMA controller 300 (P4).

先読み再開指示を受け取ったDMA制御部300では、アドレス判定/生成部330は、アドレス管理レジスタ320に記憶されているカレントアドレスの次のアドレスを基に先読みすべきデータのアドレスを生成するとともに(図5のP13参照)、この生成したアドレスをDMA処理部340へ出力する(図5のP14参照)。DMA処理部340は、DMAサイクル信号を出力制御部240へ出力する(図5のP15参照)。   In the DMA control unit 300 that has received the prefetch resumption instruction, the address determination / generation unit 330 generates an address of data to be prefetched based on the address next to the current address stored in the address management register 320 (see FIG. 5), the generated address is output to the DMA processing unit 340 (see P14 in FIG. 5). The DMA processing unit 340 outputs the DMA cycle signal to the output control unit 240 (see P15 in FIG. 5).

なお、アドレス判定/生成部330は、カレントアドレスの次のアドレスを基準にして連続するアドレスを生成してDMA処理部340へ出力し、このアドレスの生成処理を、一時バッファ管理部220からの先読み中断指示を受け取るまで、または生成するアドレスが終了アドレスに達するまで実施する。   The address determination / generation unit 330 generates a continuous address based on the next address of the current address and outputs it to the DMA processing unit 340. This address generation processing is prefetched from the temporary buffer management unit 220. The process is executed until an interruption instruction is received or an address to be generated reaches an end address.

これ以降は、図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 external storage device 500 by the bus master that has acquired the right to use the bus, the data prefetching device 200 is as shown in FIG. In addition, when the processes of P1 to P5 are performed and not all the processing target data can be stored in the temporary buffer 230, the processes of P2 to P5 are repeated, and finally the process of P3 is performed and the process is terminated.

なお、図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 external storage device 500 has an address space from 0x0 (hexadecimal) to 0xFFFFFFFF (hexadecimal), for example, and has an address range from the start address to the end address of the address space. Data to be processed is stored in the corresponding storage area. This storage area functions as an image data area for storing data to be processed as image data.

一方、一時バッファ230は、先頭アドレスから最終アドレスまでのアドレス空間となっており、このアドレス空間に対応する保持領域(記憶領域)は規定の保持容量に設定されている。   On the other hand, the temporary buffer 230 is an address space from the head address to the last address, and a holding area (storage area) corresponding to this address space is set to a prescribed holding capacity.

上述した図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 external storage device 500 is referred to with reference to the start address. Data corresponding to a predetermined access unit corresponding to successive addresses is copied, and the copied data is stored in the temporary buffer 230 as prefetched data.

ここで、一時バッファ230に格納された先読みデータのデータ量が一時バッファ230の保持容量に達したときは、上述した図6のP2(図4および図6のP2)の処理が実行される。これにより、外部記憶装置500のアドレス空間の開始アドレスからカレントアドレスまでのアドレス範囲に対応する記憶領域に記憶されている処理対象データD1#が先読みデータとして一時バッファ230に格納されたことになる。   Here, when the data amount of the pre-read data stored in the temporary buffer 230 reaches the holding capacity of the temporary buffer 230, the above-described processing of P2 in FIG. 6 (P2 in FIGS. 4 and 6) is executed. As a result, the processing target data D1 # stored in the storage area corresponding to the address range from the start address of the address space of the external storage device 500 to the current address is stored in the temporary buffer 230 as prefetched data.

この状態で上述した図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 temporary buffer 230 as shown in FIG. D1 # is read out and output to the bus master that is the source of the read access request.

このようにして一時バッファ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 temporary buffer 230, and the above-described P4 in FIG. 6 (FIGS. 4 and 4) is caused by the fact that the empty area of the temporary buffer 230 has reached a predetermined empty area. 6 P4) and the above-described P5 in FIG. 6 (P5 * 1 to P1 * 6 in FIG. 4 and FIG. 6) are executed, so that the external storage is performed as shown in FIG. With respect to the processing target data stored in the apparatus 500, data of a predetermined access unit is copied corresponding to a continuous address with reference to the previous current address (current address stored in the address management register 320). The copied data is stored in the temporary buffer 230 as prefetched data.

ここで、一時バッファ230に格納された先読みデータのデータ量が一時バッファ230の保持容量に達したときは、上述した図6のP2(図4および図6のP2)の処理が実行される。これにより、外部記憶装置500のアドレス空間の前回のカレントアドレスの次のアドレスから今回のカレントアドレスまでのアドレス範囲に対応する記憶領域に記憶されている処理対象データD2#が先読みデータとして一時バッファ230に格納されたことになる。   Here, when the data amount of the pre-read data stored in the temporary buffer 230 reaches the holding capacity of the temporary buffer 230, the above-described processing of P2 in FIG. 6 (P2 in FIGS. 4 and 6) is executed. As a result, the processing target data D2 # stored in the storage area corresponding to the address range from the address next to the previous current address to the current current address in the address space of the external storage device 500 is pre-read data as the temporary buffer 230. Will be stored.

このように、一時バッファ230においては、所定の空き領域が発生する毎に、外部記憶装置500から先読みされた先読みデータがリフィルされる。   As described above, in the temporary buffer 230, the prefetched data prefetched from the external storage device 500 is refilled each time a predetermined empty area is generated.

この状態で、上述した図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 temporary buffer 230 as shown in FIG. The target data D1 # is read out and output to the bus master that is the read access request source.

このようにして一時バッファ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 temporary buffer 230, and the above-described P4 in FIG. 6 (FIGS. 4 and 4) is caused by the fact that the empty area of the temporary buffer 230 has reached a predetermined empty area. 6 P4) and the above-described P5 in FIG. 6 (P5 * 1 to P1 * 6 in FIG. 4 and FIG. 6) are executed, as shown in FIG. Similar to the data prefetching processing of the processing target data D2 #, regarding the processing target data stored in the external storage device 500, data in a predetermined access unit is copied corresponding to consecutive addresses with reference to the previous current address. The copied data is stored in the temporary buffer 230 as prefetched data.

ここで、一時バッファ230に格納された先読みデータのデータ量が一時バッファ230の保持容量に達したときは、上述した図6のP2(図4および図6のP2)の処理が実行される。これにより、図11に示すように、外部記憶装置500のアドレス空間の前回のカレントアドレスの次のアドレスから今回のカレントアドレスまでのアドレス範囲に対応する記憶領域に記憶されている処理対象データD3#が先読みデータとして一時バッファ230に格納されたことになる。   Here, when the data amount of the pre-read data stored in the temporary buffer 230 reaches the holding capacity of the temporary buffer 230, the above-described processing of P2 in FIG. 6 (P2 in FIGS. 4 and 6) is executed. As a result, as shown in FIG. 11, the processing target data D3 # stored in the storage area corresponding to the address range from the address next to the previous current address to the current current address in the address space of the external storage device 500 Is stored in the temporary buffer 230 as prefetched data.

そして、カレントアドレスが終了アドレスに達するまで、上述した図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 data prefetching device 200 when the bus master that has acquired the right to use the bus performs predetermined processing on data other than the processing target data stored in the external storage device 500 will be described. .

データ先読み装置200においては、上述したP3*1(図4および図5参照)と同様の処理が実施されて、リードアクセスの要求元である上記バスマスターからのリードアドレスがシステムバス100および入力制御部210を介してDMA制御部300に入力される。   In the data prefetching apparatus 200, the same processing as the above-described P3 * 1 (see FIGS. 4 and 5) is performed, and the read address from the bus master, which is the read access request source, becomes the system bus 100 and input control. The data is input to the DMA control unit 300 via the unit 210.

DMA制御部300では、上述したP31(図5参照)と同様の処理が実施され、受け付けられたリードアドレスがアドレス判定/生成部330に入力される。   The DMA control unit 300 performs the same processing as P31 (see FIG. 5) described above, and the accepted read address is input to the address determination / generation unit 330.

アドレス判定/生成部330は、DMA制御部内部設定用I/F310からのリードアドレスが、アドレス管理レジスタ320に記憶されている開始アドレスから終了アドレスまでのアドレス範囲に含まれるアドレスであるか否かを判定する。この場合、アドレス判定/生成部330は、上記リードアドレスが前記アドレス範囲に含まれないアドレスであると判定し、その判定した結果および受け付けたリードアドレスをDMA処理部340へ出力する。   The address determination / generation unit 330 determines whether the read address from the DMA control unit internal setting I / F 310 is an address included in the address range from the start address to the end address stored in the address management register 320. Determine. In this case, the address determination / generation unit 330 determines that the read address is not included in the address range, and outputs the determination result and the accepted read address to the DMA processing unit 340.

DMA処理部340は、受け取ったアドレス判定/生成部330からの判定結果が、上記アドレス範囲に含まれないアドレスである旨のときは、受け取ったリードアドレスおよびDMAサイクル信号を出力制御部240に向けて出力する。   When the received determination result from the address determination / generation unit 330 is an address that is not included in the address range, the DMA processing unit 340 directs the received read address and DMA cycle signal to the output control unit 240. Output.

出力制御部240が、DMA処理部340からのDMAサイクル信号に従って、受け取ったリードアドレスと読み出し命令とをメモリコントローラ400に向けて出力すると、メモリコントローラ400は、外部記憶装置500から前記リードアドレスに対応するデータ(処理対象データ以外のデータ)を読み出し、この読みデータ(リードデータ)を出力制御部240へ出力する。   When the output control unit 240 outputs the received read address and read command to the memory controller 400 according to the DMA cycle signal from the DMA processing unit 340, the memory controller 400 responds to the read address from the external storage device 500. Data to be read (data other than the data to be processed) is read, and the read data (read data) is output to the output control unit 240.

出力制御部240が受け取ったリードデータは、DMA制御部300を介して入力制御部210に入力され、さらにシステムバス100を介して上記リードアクセスの要求元であるバスマスターに入力される。   The read data received by the output control unit 240 is input to the input control unit 210 via the DMA control unit 300 and further input to the bus master that is the request source of the read access via the system bus 100.

次に、データ先読み処理装置200によるデータ先読み処理について、図12を参照して説明する。   Next, data prefetching processing by the data prefetching processing apparatus 200 will be described with reference to FIG.

なお、図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 data prefetching apparatus 200, the DMA control unit 300 sets (stores) each address in the address management register 320 in the same manner as the processing of P11 (see FIG. 5) described above (step S101). Then, the same processing as P12 to P15 (see FIG. 5) described above is performed, and, similarly to the processing of P1 * 2 (see FIG. 5) described above, a data prefetch instruction and address information (generated address) are temporarily stored. The data is output to the buffer management unit 220 (S102).

次に、上述した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 external storage device 500, the temporary buffer management unit 220 is directed to the output control unit 220. Data corresponding to successive addresses based on the output start address is prefetched, and the prefetched data (prefetched data) is stored in the temporary buffer 230 (step S103). In this case, the prefetch data is stored until a predetermined storage capacity of the temporary buffer 230 is reached.

このようにして一時バッファ230に先読みリードが格納され、上述したP2(図5参照)の処理が実施されると、入力制御部210は、バスマスターからのリードアクセスがあるか否かを判断し(ステップS104)、リードアクセスがない場合にはリードアクセスがあるまで待機し、一方、リードアクセスがあった場合は、上述したP3*1(図5参照)の処理と同様に、リードアクセスである旨(判定結果)および受け付けたリードアドレスをDMA制御部300へ出力する。   In this way, when the prefetch read is stored in the temporary buffer 230 and the processing of P2 (see FIG. 5) described above is performed, the input control unit 210 determines whether or not there is a read access from the bus master. (Step S104) If there is no read access, the system waits until there is a read access. On the other hand, if there is a read access, it is a read access, similar to the process of P3 * 1 (see FIG. 5) described above. The fact (determination result) and the accepted read address are output to the DMA control unit 300.

DMA制御部300では、リードアクセスの処理が開始されるべく(ステップS105)、DMA制御部内部設定用I/F310によって、上述したP31(図5参照)と同様の処理が実施され、さらにアドレス判定/生成部330によって、上述したP32(図5参照)の処理と同様に、リードアドレスがアドレス範囲情報に基づくアドレス範囲に含まれるか否かが判断される(ステップS106)。   In the DMA control unit 300, in order to start the read access process (step S105), the DMA control unit internal setting I / F 310 performs the same process as the above-described P31 (see FIG. 5), and further determines the address. / Generating section 330 determines whether or not the read address is included in the address range based on the address range information, similarly to the process of P32 (see FIG. 5) described above (step S106).

ステップ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 temporary buffer 230, as in the above-described processing of P3 * 2 to P3 * 5 (see FIG. 5). Data is read out and output to the bus master that is the source of the read access request (step S107).

ステップ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 DMA control unit 300, the address determination / generation unit 330 displays the current address stored in the address management register 320. It is determined whether or not has reached the end address (step S108).

ここで、上記カレントアドレスが終了アドレスに達した場合には、外部記憶装置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 temporary buffer 230 with respect to the processing target data stored in the external storage device 500. On the other hand, if the current address does not reach the end address, it means that there is data to be prefetched regarding the processing target data stored in the external storage device 500.

さて、ステップS108において、アドレス管理レジスタ320に記憶されているカレントアドレスが終了アドレスに達したと判断された場合には、このデータ先読み処理が終了される。   If it is determined in step S108 that the current address stored in the address management register 320 has reached the end address, the data prefetching process is terminated.

一方、ステップS108において、アドレス管理レジスタ320に記憶されているカレントアドレスが終了アドレスに達していないと判断された場合は、上述したP13の処理と同様に、アドレス判定/生成部330によって、アドレス管理レジスタ320に記憶されているカレントアドレスの次のアドレスを基に先読みすべきデータのアドレスが生成される。この場合、カレントアドレスの次のアドレスを基準にして連続するアドレスが生成される。   On the other hand, if it is determined in step S108 that the current address stored in the address management register 320 has not reached the end address, the address determination / generation unit 330 performs address management in the same manner as in the process of P13 described above. Based on the address next to the current address stored in the register 320, an address of data to be prefetched is generated. In this case, consecutive addresses are generated with reference to the next address of the current address.

そして、上述した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 / generation unit 330 is prefetched from the external storage device 500 and stored in the temporary buffer 230. Stored (step S109). In this case, data in a predetermined access unit is prefetched corresponding to consecutive addresses on the basis of the generated address.

ステップ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 data prefetch device 200, read access is performed to the external storage device 500, and the data corresponding to the read address is directed to the bus master that is the request source of the read access. Is output (step S111). Then, it progresses to step S110.

なお、上記実施の形態1では、複数のバスマスターがシステムバス100を介してデータ先読み装置200にアクセスするようにしているが、各バスマスターからのアクセスの調停を行うバスアービタ(バス調停回路)をデータ先読み装置200の外部または内部に設けるようにし、前記各バスマスターがバスアービタを介してデータ先読み装置200にアクセスするようにしても良い。   In the first embodiment, a plurality of bus masters access the data prefetching device 200 via the system bus 100. However, a bus arbiter (bus arbitration circuit) that arbitrates access from each bus master is used. It may be provided outside or inside the data prefetching device 200, and each of the bus masters may access the data prefetching device 200 via a bus arbiter.

また、上記実施の形態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 system bus 100. However, predetermined processing (for example, image processing) is performed. One bus master may be connected to the system bus 100.

さらに、上記実施の形態1では、データ先読み装置200内に1つの一時バッファを設けるようにしているが、複数の一時バッファを設けるようにしても良い。   Further, in the first embodiment, one temporary buffer is provided in the data prefetching apparatus 200, but a plurality of temporary buffers may be provided.

この場合、一時バッファ管理部220は、複数の一時バッファの中の何れの一時バッファに先読みデータを格納すべきかを示す旨を出力制御部240に通知するようにし、出力制御部240は、メモリコントローラ400から返される先読みデータを、前記通知された一時バッファに格納する。   In this case, the temporary buffer management unit 220 notifies the output control unit 240 that it indicates which pre-read data should be stored in the temporary buffer among the plurality of temporary buffers. The prefetch data returned from 400 is stored in the notified temporary buffer.

次に、一時バッファ管理部220は、外部記憶装置500から先読みされた先読みデータにかかわるアドレス(外部記憶装置200のアドレス空間のアドレス)を特定の一時バッファのアドレス空間にマッピングしたマッピング情報を生成する。   Next, the temporary buffer management unit 220 generates mapping information in which an address (address space address of the external storage device 200) related to prefetched data prefetched from the external storage device 500 is mapped to an address space of a specific temporary buffer. .

そして、一時バッファ管理部220は、バスマスターからのリードアクセスにかかわるリードアドレスに対応するデータの読み出しに際しては、前記マッピング情報を基に、複数の一時バッファの中から前記リードアドレスに対応するデータが格納されている一時バッファを特定し、当該特定した一時バッファに対しリードアドレスを与えてデータを出力させる。   Then, when reading data corresponding to the read address related to read access from the bus master, the temporary buffer management unit 220 stores data corresponding to the read address from a plurality of temporary buffers based on the mapping information. A stored temporary buffer is specified, and a read address is given to the specified temporary buffer to output data.

(実施の形態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 data prefetching device 200 has a configuration in which the address management register 310 is changed to the address management RAM 600 in the configuration of the DMA control unit 300 of the data prefetching device 200 of the first embodiment shown in FIG.

実施の形態2では、外部記憶装置500は、図14に示すように処理対象データを分割して複数の記憶領域に記憶する。   In the second embodiment, the external storage device 500 divides the processing target data into a plurality of storage areas as shown in FIG.

この例では、処理対象データは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 start address 1 and the end address 1 mean the start address and the end address related to the storage area MA1, the start address 2 and the end address 2 means a start address and an end address related to the storage area MA1, and a start address 3 and an end address 3 mean a start address and an end address related to the storage area MA3.

アドレス管理RAM600は、図13に示すように、外部記憶装置500の複数の記憶領域に対応する複数のアドレス範囲情報を記憶する。これらのアドレス範囲情報は、実施の形態1の場合と同様に、該当する記憶領域のアドレス空間(実アドレス空間)の開始アドレスおよび終了アドレスを意味する。アドレス管理RAM600は、RAM(Random Access Memory:随時書き込み読み出しメモリ)で構成されている。   As shown in FIG. 13, the address management RAM 600 stores a plurality of address range information corresponding to a plurality of storage areas of the external storage device 500. These address range information means the start address and end address of the address space (real address space) of the corresponding storage area, as in the first embodiment. The address management RAM 600 is composed of a RAM (Random Access Memory).

実施の形態2では、DMA制御部内部設定用I/F310は、図15に示すように、複数のアドレス範囲情報のそれぞれと次のアドレス領域へのポインタ情報とを対応付けたアドレスプロファイルを生成し、この生成したアドレスプロファイルをアドレス管理RAM600に格納するようになっている。   In the second embodiment, as shown in FIG. 15, the DMA control unit internal setting I / F 310 generates an address profile in which each of a plurality of address range information is associated with pointer information to the next address area. The generated address profile is stored in the address management RAM 600.

ちなみに、ポインタ1は開始アドレス1および終了アドレス1の組のアドレス範囲情報を、ポインタ2は開始アドレス2および終了アドレス2の組のアドレス範囲情報を、ポインタ2は開始アドレス2のアドレス範囲情報を、ポインタ3は開始アドレス3および終了アドレス3の組のアドレス範囲情報を、それぞれ指し示す値になっている。   Incidentally, the pointer 1 is the address range information of the set of the start address 1 and the end address 1, the pointer 2 is the address range information of the set of the start address 2 and the end address 2, the pointer 2 is the address range information of the start address 2, The pointer 3 is a value indicating the address range information of the set of the start address 3 and the end address 3 respectively.

アドレス判定/生成部330は、アドレス管理RAM600に格納されているアドレスプロファイル(図15参照)を基に、先読みすべきデータにかかわるアドレスを生成するようになっている。   The address determination / generation unit 330 generates an address related to data to be prefetched based on an address profile (see FIG. 15) stored in the address management RAM 600.

また、アドレス判定/生成部330は、リードアクセスの要求元であるバスマスターからのリードアドレスが、各アドレス範囲情報に対応するアドレス範囲に含まれるかを判定することで、当該リードアドレスが処理対象データにかかわるリードアドレスであるかを判定する。   Further, the address determination / generation unit 330 determines whether the read address from the bus master that is the request source of read access is included in the address range corresponding to each address range information, so that the read address is processed. It is determined whether the read address is related to data.

なお、実施の形態2では、上述したアドレス範囲情報記憶手段はアドレス管理RAM600に対応する。   In the second embodiment, the address range information storage unit described above corresponds to the address management RAM 600.

次に、データ先読み処理装置200によるデータ先読み処理について、図16を参照して説明する。   Next, data prefetching processing by the data prefetching processing apparatus 200 will be described with reference to FIG.

なお、図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 / F 310 in the DMA control unit 300 stores the address profile in the address management RAM 600.

また、上述したステップ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 / generation unit 330 receives the first address range information (start address and end address) of the address address profile from the address management RAM 600. Is read (see P13 in FIG. 5), the address of the data to be prefetched is generated based on the read start address and end address, and the generated address is output to the DMA processing unit 340 (see P14 in FIG. 5). ).

例えば、図15に示したアドレスプロファイルの場合、アドレス判定/生成部330は、そのアドレスプロファイル内の開始アドレス0および終了アドレス0のアドレス範囲情報を読み出し、このアドレス範囲情報を基に先読みすべきデータのアドレス(アドレス情報)を生成する。   For example, in the case of the address profile shown in FIG. 15, the address determination / generation unit 330 reads the address range information of the start address 0 and the end address 0 in the address profile, and the data to be prefetched based on the address range information Address (address information) is generated.

ところで、ステップ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 DMA control unit 300, the address determination / generation unit 330 displays the current stored in the address management RAM 600. It is determined whether the address has reached the end address in the address range information (start address and end address) related to the current prefetch process (step S108).

ここで、上記カレントアドレスが終了アドレスに達した場合には、外部記憶装置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 external storage device 500. Is pre-read and stored in the temporary buffer 230. On the other hand, when the current address does not reach the end address, the pre-read processing target in the plurality of divided data stored in the external storage device 500 is stored. This means that there is data to be read ahead regarding the divided data.

さて、ステップ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 / generation unit 330, which has determined that the current address stored in the address management RAM 600 has reached the end address in the address range information related to the current prefetch process, Whether or not the next address area is specified is determined based on the pointer information to the next address area corresponding to the current address range information to be prefetched in (step S201).

ステップ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 / generation unit 330 generates an address to be prefetched based on the address range information of the set of the start address and the end address indicated by the pointer information to the next address area. Then, a prefetch process is performed on the divided data corresponding to the address information.

例えば、カレントアドレスが、開始アドレス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 / generation unit 330 moves to the next address area corresponding to the address range information. Since the address to be prefetched is generated based on the address range information of the set of the start address 1 and the end address 1 indicated by the pointer 1 as the pointer information, in step S109, the division corresponding to the generated address information A look-ahead process is performed on the data.

ところで、ステップ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 start address 3 and the end address 3, the next address area corresponding to this address range information Since the pointer information to indicates that there is “none”, it means that all addresses related to the data to be prefetched (processing target data) are generated, and the prefetching processing for the processing target data has been completed.

このように、現在の先読み処理対象のアドレス範囲情報に対応する「次のアドレス領域へのポインタ情報=なし(次のアドレス領域の指定がない)場合は、このデータ先読み処理が終了される。   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 data prefetching device 200 has a configuration in which a download control unit 700 is added to the configuration of the DMA control unit 300 of the data prefetching device 200 of the second embodiment shown in FIG.

実施の形態3では、外部記憶装置500は、実施の形態2の場合と同様に処理対象データを分割して複数の記憶領域に記憶するとともに、当該複数の記憶領域に対応する複数のアドレス範囲情報のうち一部のアドレス範囲情報(単数または複数のアドレス範囲情報)を記憶する。この一部のアドレス範囲情報はアドレスプロファイルとして記憶される。   In the third embodiment, the external storage device 500 divides the processing target data into a plurality of storage areas and stores a plurality of address range information corresponding to the plurality of storage areas, as in the second embodiment. Part of address range information (single or plural address range information) is stored. This partial address range information is stored as an address profile.

処理対象データは、例えば(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 address management RAM 600 stores address range information (a plurality of address range information) excluding the partial address range information among the plurality of address range information corresponding to the plurality of storage areas. This address range information is stored as an address profile.

複数のアドレス範囲情報は、記憶領域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 start address 1 and end address 1 related to the storage area MA1,. It is assumed that the address range information is a set of start address m and end address m related to area MA (m),..., And the address range information of a set of start address n and end address n related to storage area MA (n). .

この場合、「開始アドレス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 / F 310. The first address profile is stored in the address management RAM 600 by the DMA control unit internal setting I / F 310.

また、上記複数のアドレス範囲情報のうち、「開始アドレス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 / F 310.

なお、実施の形態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 external storage device 500 via the DMA processing unit 340, the output control unit 340, and the memory controller 400.

ここで、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 start address 3 and end address 3” The first address profile is stored in the address management RAM 600 (see FIG. 15).

また、図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 start address 4 and end address 4” to “the address range information of the set of start address 6 and end address 6”. The address profile is stored in the external storage device 500.

なお、第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 start address 3 and the end address 3 in the first address profile indicates “None”, and in the second address profile The pointer information to the next address area corresponding to the address range information of the set of the start address 6 and the end address 6 indicates “none”.

アドレス管理RAM600に格納されるステータスには、指定されたアドレス空間に有効なデータが格納された旨を意味するステータス情報と、外部記憶装置500にアドレス範囲情報(第2のアドレスプロファイル)が格納されている旨を意味するステータス情報とが含まれる。   The status stored in the address management RAM 600 stores status information indicating that valid data is stored in the designated address space, and address range information (second address profile) in the external storage device 500. Status information that means

ダウンロード制御部700は、上述した第2のアドレスプロファイル(一部のアドレス範囲情報)が記憶されている外部記憶装置500の記憶場所情報を記憶する記憶場所情報記憶手段の機能を果たすメモリ710を備え、このメモリ710に記憶されている記憶場所情報を基に、外部記憶装置500から第2のアドレスプロファイル(一部のアドレス範囲情報)を読み込むアドレス範囲情報読み込み手段の機能を有する。   The download control unit 700 includes a memory 710 that functions as a storage location information storage unit that stores storage location information of the external storage device 500 in which the above-described second address profile (partial address range information) is stored. Based on the storage location information stored in the memory 710, there is a function of address range information reading means for reading the second address profile (partial address range information) from the external storage device 500.

また、ダウンロード制御部700は、外部記憶装置500から読み出した(ダウンロードした)第2のアドレスプロファイルをメモリ710に格納するとともに、第2のアドレスプロファイルがメモリ710に格納された旨をアドレス判定/生成部330へ通知する。   In addition, the download control unit 700 stores the second address profile read (downloaded) from the external storage device 500 in the memory 710, and determines whether the second address profile is stored in the memory 710. Notification to the unit 330.

実施の形態3では、アドレス判定/生成部330は、ダウンロード制御部700に対し外部記憶装置500からの第2のアドレスプロファイルの読み込み処理(ダウンロード処理)を依頼するとともに、ダウンロード制御部700からの第2のアドレスプロファイルが格納された旨の通知を受けて、メモリ710に格納されている第2のアドレスプロファイルを読み出すとともに、この読み出した第2のアドレスプロファイルのアドレス範囲情報を基に先読みすべきデータのアドレスを生成する。   In the third embodiment, the address determination / generation unit 330 requests the download control unit 700 to read the second address profile from the external storage device 500 (download process), and also receives the second address profile from the download control unit 700. In response to the notification that the second address profile is stored, the second address profile stored in the memory 710 is read, and data to be prefetched based on the address range information of the read second address profile Generate an address for

次に、データ先読み処理装置200によるデータ先読み処理について、図19を参照して説明する。   Next, data prefetch processing by the data prefetch processing apparatus 200 will be described with reference to FIG.

なお、図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 / generation unit 330 that has determined that the next address area is not specified in step S201 determines whether or not to read an address profile (second address profile) from the external storage device 500 (step S301).

ステップ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 address management RAM 600. Whether or not the second address profile is to be read is determined based on the current status.

これに対し、現在の先読み処理が第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 download control unit 700. Whether or not the next second address profile is to be read is determined based on the “address information”.

さて、ステップS301において外部記憶装置500から第2のアドレスプロファイルを読み込むと判断したアドレス判定/生成部330は、ダウンロード制御部700に対し外部記憶装置500からの第2のアドレスプロファイルの読み込み処理(ダウンロード処理)を依頼する。   The address determination / generation unit 330 that has determined that the second address profile is to be read from the external storage device 500 in step S301 is read processing (downloading) of the second address profile from the external storage device 500 to the download control unit 700. Request).

すると、ダウンロード制御部700は、メモリ710に記憶されている記憶場所情報を基に、DMA処理部340、出力制御部240およびメモリコントローラ400を介して外部記憶装置500から第2のアドレスプロファイルを読み込むとともに(ステップS302)、この読み込んだ第2のアドレスプロファイルをメモリ710に格納し、さらに第2のアドレスプロファイルがメモリ710に格納された旨をアドレス判定/生成部330へ通知する。   Then, the download control unit 700 reads the second address profile from the external storage device 500 via the DMA processing unit 340, the output control unit 240, and the memory controller 400 based on the storage location information stored in the memory 710. At the same time (step S302), the read second address profile is stored in the memory 710, and further, the address determination / generation unit 330 is notified that the second address profile is stored in the memory 710.

ステップ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 / generation unit 330 that has received the notification that the second address profile is stored from the download control unit 700 is stored in the memory 710. The second address profile is read, and the address of the data to be prefetched is generated based on the address range information of the read second address profile.

そして、アドレス判定/生成部330によって生成されたアドレスに基づき、外部記憶装置500からデータが先読みされ、この先読みされたデータが一時バッファ230に格納される(ステップS109)。   Then, based on the address generated by the address determination / generation unit 330, data is prefetched from the external storage device 500, and the prefetched data is stored in the temporary buffer 230 (step S109).

なお、ステップ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 external storage device 500 is displayed. If it is determined not to read the address profile, the data prefetching process is terminated.

(実施の形態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 data prefetching apparatus 200 includes an input controller 2100 having the function of the input control unit 210 (see FIG. 3), a buffer management controller 2200 having the function of the temporary buffer management unit 220 (see FIG. 3), A buffer 2300 having a function of a buffer 230 (see FIG. 3), an output controller 2400 having a function of an output control unit 240 (see FIG. 3), a DMA controller 2500 having a function of the DMA control unit 300, and a ROM 2600 are provided. These components are connected via an internal bus 2700.

DMAコントローラ2500は、アドレス管理レジスタ320の機能を有するレジスタ2510を備えている。また、DMAコントローラ2500は、DMA制御内部設定用I/F310、アドレス判定/生成部330およびDMA処理部340の機能を果たす。   The DMA controller 2500 includes a register 2510 having the function of the address management register 320. The DMA controller 2500 functions as a DMA control internal setting I / F 310, an address determination / generation unit 330 and a DMA processing unit 340.

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 input controller 2100, the buffer management controller 2200, the output controller 2400, and the DMA controller 2500 includes a RAM (Random Access Memory), not shown, and a data prefetch processing program 2610 stored in the ROM 2600 is illustrated. The program is read into the RAM that is not to be executed. These controllers execute the data prefetch processing program 2610 and cooperate to execute the data prefetch processing.

なお、コンピュータは、入力コントローラ2100、バッファ管理コントローラ2200、出力コントローラ2400、およびDMAコントローラ2500を意味する。   The computer means an input controller 2100, a buffer management controller 2200, an output controller 2400, and a DMA controller 2500.

上述した記憶処理過程は、入力コントローラ2100およびDMAコントローラ2500の協働により実現され、図5に示したP1*1およびP11の各処理に対応する。   The storage process described above is realized by the cooperation of the input controller 2100 and the DMA controller 2500, and corresponds to the processes of P1 * 1 and P11 shown in FIG.

上述した先読み処理過程は、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 DMA controller 2500, the buffer management controller 2200, and the output controller 2400. Each of P13, P14, P1 * 2-P1 * 4, P1 * 6, and P2 shown in FIG. This corresponds to the processing or each processing of P4, P5 * 1 to P5 * 3 and P5 * 5 shown in FIG.

上述した保持処理過程は、バッファ管理コントローラ2200および出力コントローラ2400の協働により実現され、図5に示したP1*7の処理あるいはP5*6の処理に対応する。   The holding process described above is realized by the cooperation of the buffer management controller 2200 and the output controller 2400, and corresponds to the P1 * 7 process or the P5 * 6 process shown in FIG.

上述したデータ読出し処理過程は、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 DMA controller 2500 and the buffer management controller 2200, and corresponds to each process of P3 * 1, P31, P32, P3 * 2 to P3 * 5 shown in FIG.

ところで、実施の形態2および実施の形態3のデータ先読み装置200も、図20に示したデータ先読み装置200と同様のハードウェア構成になっている。   By the way, the data prefetching apparatus 200 of the second embodiment and the third embodiment also has the same hardware configuration as the data prefetching apparatus 200 shown in FIG.

なお、これらの実施の形態のデータ先読み装置200において、DMAコントローラ2500は、レジスタ2510に代替して、アドレス管理RAM600の機能を果たすRAMを備える。   In the data prefetching apparatus 200 of these embodiments, the DMA controller 2500 includes a RAM that functions as the address management RAM 600 in place of the register 2510.

また、実施の形態3のデータ先読み装置200において、DMAコントローラ2500は、上述した構成要素の機能に加えて、ダウンロード制御部700の機能も果たすようになっている。このDMAコントローラ2500は、メモリ710の機能を果たす例えばレジスタやバッファを備える。   In addition, in the data prefetching apparatus 200 according to the third embodiment, the DMA controller 2500 is configured to perform the function of the download control unit 700 in addition to the function of the constituent elements described above. The DMA controller 2500 includes, for example, a register and a buffer that perform the function of the memory 710.

本願明細書において、データ先読み装置の各機能を実現し、上記データ先読み処理プログラムを記録媒体としての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に係るデータ処理システムの構成を示す構成図である。1 is a configuration diagram illustrating a configuration of a data processing system according to a first embodiment. 実施の形態1に係る複数のバスマスターによる所定の処理にかかわる処理対象データの流れを説明する図である。FIG. 10 is a diagram for explaining a flow of processing target data related to predetermined processing by a plurality of bus masters according to the first embodiment. 実施の形態1に係るデータ先読み装置の機能構成を示すブロック図である。3 is a block diagram showing a functional configuration of the data prefetching apparatus according to Embodiment 1. FIG. 実施の形態1に係るデータ先読み装置のデータ先読み処理を説明する図である。6 is a diagram for explaining data prefetching processing of the data prefetching apparatus according to Embodiment 1. FIG. 実施の形態1に係るデータ先読み装置のデータ先読み処理におけるDMA制御部の処理を詳細に説明する図である。6 is a diagram for explaining in detail processing of a DMA control unit in data prefetching processing of the data prefetching apparatus according to Embodiment 1. FIG. 実施の形態1に係るデータ先読み装置のデータ先読み処理の一連の流れを説明する図である。6 is a diagram for explaining a series of flows of data prefetching processing of the data prefetching apparatus according to Embodiment 1. FIG. 実施の形態1に係るデータ先読み装置のデータ先読み処理の具体例を説明する図である。6 is a diagram for explaining a specific example of data prefetching processing of the data prefetching apparatus according to Embodiment 1. FIG. 実施の形態1に係るデータ先読み装置のデータ先読み処理の具体例を説明する図である。6 is a diagram for explaining a specific example of data prefetching processing of the data prefetching apparatus according to Embodiment 1. FIG. 実施の形態1に係るデータ先読み装置のデータ先読み処理の具体例を説明する図である。6 is a diagram for explaining a specific example of data prefetching processing of the data prefetching apparatus according to Embodiment 1. FIG. 実施の形態1に係るデータ先読み装置のデータ先読み処理の具体例を説明する図である。6 is a diagram for explaining a specific example of data prefetching processing of the data prefetching apparatus according to Embodiment 1. FIG. 実施の形態1に係るデータ先読み装置のデータ先読み処理の具体例を説明する図である。6 is a diagram for explaining a specific example of data prefetching processing of the data prefetching apparatus according to Embodiment 1. FIG. 実施の形態1に係るデータ先読み装置のデータ先読み処理の処理手順を示すフローチャートである。4 is a flowchart illustrating a processing procedure of data prefetching processing of the data prefetching apparatus according to the first embodiment. 実施の形態2に係るデータ先読み装置の機能構成を示すブロック図である。6 is a block diagram illustrating a functional configuration of a data prefetching device according to Embodiment 2. FIG. 実施の形態2に係るデータ処理システムに含まれる外部記憶装置における複数の記憶領域に分割して記憶される処理対象データの割り付けの一例を示す図である。FIG. 10 is a diagram showing an example of allocation of processing target data that is divided and stored in a plurality of storage areas in an external storage device included in a data processing system according to Embodiment 2. 実施の形態2に係るアドレス管理RAMに記憶されるアドレスプロファイルの一例を示す図である。It is a figure which shows an example of the address profile memorize | stored in the address management RAM which concerns on Embodiment 2. FIG. 実施の形態2に係るデータ先読み装置のデータ先読み処理の処理手順を示すフローチャートである。10 is a flowchart showing a processing procedure of data prefetching processing of the data prefetching apparatus according to the second embodiment. 実施の形態3に係るデータ先読み装置の機能構成を示すブロック図である。FIG. 10 is a block diagram illustrating a functional configuration of a data prefetching device according to a third embodiment. 実施の形態3に係るデータ処理システムに含まれる外部記憶装置に記憶されるアドレスプロファイルの一例を示す図である。FIG. 10 is a diagram illustrating an example of an address profile stored in an external storage device included in a data processing system according to a third embodiment. 実施の形態3に係るデータ先読み装置のデータ先読み処理の処理手順を示すフローチャートである。15 is a flowchart illustrating a processing procedure of data prefetching processing of the data prefetching apparatus according to the third embodiment. 実施の形態4に係るデータ先読み装置のハードウェア構成を示す構成図である。FIG. 10 is a configuration diagram illustrating a hardware configuration of a data prefetching device according to a fourth embodiment.

符号の説明Explanation of symbols

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 Bus master 100 System bus 200 Data prefetching device 210 Input control unit 220 Temporary buffer management unit 230 Temporary buffer 240 Output control unit 300 DMA control unit 310 DMA control unit internal setting I / F
320 Address management register 330 Address determination / generation unit 340 DMA processing unit 400 Memory controller 500 External storage device 600 Address management RAM
700 Download Control Unit 710 Memory 2100 Input Controller 2200 Buffer Management Controller 2300 Buffer 2400 Output Controller 2500 DMA Controller 2510 Register 2600 ROM
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.
JP2007139842A 2007-05-28 2007-05-28 Data lookahead apparatus, data processing system, data lookahead processing program Withdrawn JP2008293387A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (5)

* Cited by examiner, † Cited by third party
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