JP2001256169A - Data transfer control system and device - Google Patents

Data transfer control system and device

Info

Publication number
JP2001256169A
JP2001256169A JP2000070962A JP2000070962A JP2001256169A JP 2001256169 A JP2001256169 A JP 2001256169A JP 2000070962 A JP2000070962 A JP 2000070962A JP 2000070962 A JP2000070962 A JP 2000070962A JP 2001256169 A JP2001256169 A JP 2001256169A
Authority
JP
Japan
Prior art keywords
prefetch
data
read
address
prefetching
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.)
Pending
Application number
JP2000070962A
Other languages
Japanese (ja)
Inventor
Kenji Imamura
健二 今村
Jun Fukui
純 福井
Kazumichi Kawasome
一路 川染
Yuji Yoshino
勇司 吉野
Kei Hatano
圭 波多野
Harunobu Miyashita
晴信 宮下
Takahiro Iwabuchi
孝寛 岩渕
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 JP2000070962A priority Critical patent/JP2001256169A/en
Publication of JP2001256169A publication Critical patent/JP2001256169A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)

Abstract

PROBLEM TO BE SOLVED: To effectively utilize plural look-ahead mechanism in a system provided with the look-ahead mechanism for locking data ahead from a memory and preparing for a read request from a master. SOLUTION: At the time of requesting data transfer to an input/output device 20, a device driver selects the look-ahead mechanism 306 to be used for the transfer, sets it to the device 20 and sets a look-ahead method to be used by the look-ahead mechanism 306 to a look-ahead method specifying register part 308. At the time of performing read access through a system bus 10, the input/ output device 20 outputs a signal for indicating the look-ahead mechanism 306 set to the device driver together with a requesting address. A look-ahead mechanism identification mechanism 304 generates a selection signal to the look-ahead mechanism 306 corresponding to the signal. Thus, the selected look- ahead mechanism 306 responds to the request. An appropriate look-ahead method is set to a free look-ahead mechanism 306 and it is utilized.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、メモリと、入出力
等の各種デバイスとの間でのデータ転送のための技術に
関し、特にDMA転送時のメモリからのデータの先読み
の効率化のための技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technique for transferring data between a memory and various devices such as an input / output device, and more particularly, to a technique for prefetching data from a memory efficiently during a DMA transfer. About technology.

【0002】[0002]

【従来の技術】入出力デバイスからメモリをリードする
場合に、転送性能を高めるため、メモリコントローラに
プリフェッチ(先読み)機構を設けたシステムが従来か
ら知られている。このようなシステムの一例として、例
えば特開平6−324986号公報に示されるものがあ
る。この従来システムでは、システムバスとメモリとの
間にデータ転送装置を設ける。システムバス上の入出力
デバイスからメモリに対し、あるアドレスについてのリ
ードアクセスがあった場合、データ転送装置は、入出力
デバイスの要求サイズ以上のデータをメモリから読み込
む。データ転送装置は、読み込んだデータのうち要求サ
イズ分だけを入出力デバイスに転送し、残りの部分はプ
リフェッチバッファに格納する。このプリフェッチバッ
ファへの格納処理は、バックグラウンドで行われる。そ
して、入出力デバイスから連続して次のアドレスへのリ
ードアクセスがあった場合、データ転送装置は、プリフ
ェッチバッファ内に格納済みのそのアドレスのデータを
入出力デバイスに転送する。
2. Description of the Related Art There has been known a system in which a memory controller is provided with a prefetch (prefetch) mechanism in order to improve transfer performance when reading a memory from an input / output device. An example of such a system is disclosed in, for example, Japanese Patent Application Laid-Open No. 6-324986. In this conventional system, a data transfer device is provided between a system bus and a memory. When there is a read access for a certain address from the input / output device on the system bus to the memory, the data transfer device reads data larger than the required size of the input / output device from the memory. The data transfer device transfers only the requested size of the read data to the input / output device, and stores the remaining portion in the prefetch buffer. The process of storing data in the prefetch buffer is performed in the background. Then, when there is a continuous read access to the next address from the input / output device, the data transfer device transfers the data at that address stored in the prefetch buffer to the input / output device.

【0003】一般的にメモリからデータを読み出すより
も、プリフェッチバッファからデータを読み出す方が速
いので、上述の従来システムによれば、入出力デバイス
から見かけ上高速にリードアクセスを行うことができ
る。
Generally, it is faster to read data from a prefetch buffer than to read data from a memory. Therefore, according to the above-described conventional system, an apparently high-speed read access can be performed from an input / output device.

【0004】しかしながら、上記従来システムは、プリ
フェッチバッファ機構を1系統しか備えていないため、
ランダムアクセスの場合や、複数の入出力デバイスから
同時期にアクセスを受けるような場合には、効果が得ら
れないという問題があった。
However, the above-mentioned conventional system has only one prefetch buffer mechanism,
In the case of random access or the case where access is made from a plurality of input / output devices at the same time, there is a problem that the effect cannot be obtained.

【0005】これに対し、プリフェッチバッファ機構を
複数系統設け、ランダムアクセスの場合や複数の入出力
デバイスからのアクセスにもある程度対応できるように
したシステムとして、特開平8−272732号公報に
開示されたものがある。このシステムでは、連続アドレ
スへの2回目のアクセスがあったときにプリフェッチを
行うべきと判断し、空いているプリフェッチバッファ機
構を選んでプリフェッチ処理を行わせる。
On the other hand, Japanese Unexamined Patent Publication No. Hei 8-272732 discloses a system in which a plurality of prefetch buffer mechanisms are provided so as to be able to cope with random access and accesses from a plurality of input / output devices to some extent. There is something. In this system, when there is a second access to a continuous address, it is determined that prefetch should be performed, and an empty prefetch buffer mechanism is selected to perform prefetch processing.

【0006】[0006]

【発明が解決しようとする課題】特開平8−27273
2号公報の技術には次のような問題がある。
Problems to be Solved by the Invention
The technique of Japanese Patent Publication No. 2 has the following problems.

【0007】まず、この従来技術では、接続される入出
力デバイスに対して一対一でプリフェッチバッファ機構
を設ける必要があるとともに、その対応づけは固定的な
ので、拡張性や処理の柔軟性の点で問題がある。例え
ば、1つのプリフェッチバッファ機構を複数の入出力デ
バイスに効率的に割り当てていくこともできない。
First, in this prior art, it is necessary to provide a one-to-one prefetch buffer mechanism for the connected input / output devices, and since the association is fixed, the expandability and the processing flexibility are reduced. There's a problem. For example, one prefetch buffer mechanism cannot be efficiently allocated to a plurality of input / output devices.

【0008】また、上記従来技術では、前回の要求アド
レスと今回の要求アドレスとが連続していることをもっ
てプリフェッチを行うか否かを判断しているので、一連
のデータ転送要求の最初の要求時にはプリフェッチ機構
が働かないという問題がある。
In the above-mentioned prior art, whether or not to perform prefetching is determined based on the continuity of the previous request address and the current request address. Therefore, at the time of the first request of a series of data transfer requests, There is a problem that the prefetch mechanism does not work.

【0009】本発明はこのような問題を解決するために
なされたものであり、複数のデバイスに対して柔軟にプ
リフェッチ処理を提供することができるデータ転送制御
システム及び装置を提供することを目的とする。また、
本発明は、先読み処理を迅速にスタートさせることがで
きる仕組みを提供することを目的とする。
The present invention has been made to solve such a problem, and an object of the present invention is to provide a data transfer control system and apparatus capable of providing a prefetch process flexibly to a plurality of devices. I do. Also,
An object of the present invention is to provide a mechanism that can quickly start prefetching processing.

【0010】[0010]

【課題を解決するための手段】本発明に係るデータ転送
制御システムは、メモリと複数のデバイスとの間のデー
タ転送のための転送制御システムであって、前記メモリ
からデータの先読みを行ってバッファに蓄積し、前記デ
バイスからリード要求されたアドレスのデータがバッフ
ァ内にあればそのデータを応答する複数の先読み手段
と、前記デバイスを制御するデバイス制御手段であっ
て、前記デバイスに対し前記メモリからのリード処理を
行わせる際に、前記複数の先読み手段からそのリード処
理に利用する先読み手段を選択するデバイス制御手段
と、前記デバイスからリード要求を受けた場合、そのデ
バイスに対して前記デバイス制御手段が選択した先読み
手段を識別し、その先読み手段に対しそのリード要求に
対する応答を行わせる識別手段と、を備える。
SUMMARY OF THE INVENTION A data transfer control system according to the present invention is a transfer control system for transferring data between a memory and a plurality of devices. A plurality of pre-reading means for responding to the data of the address requested to be read from the device if the data is in the buffer, and device control means for controlling the device, wherein the device Device control means for selecting a read-ahead means to be used for the read processing from the plurality of read-ahead means when performing the read processing, and, when a read request is received from the device, the device control means for the device. Identifies the prefetching means selected by the user and causes the prefetching means to respond to the read request. And means, the.

【0011】この構成によれば、先読み手段を、入出力
デバイス等の複数のデバイスに対して動的に割り当てて
使用することができ、装備した先読み手段を有効活用す
ることができる。また、選択された先読み手段は、デバ
イスからの1回目のリード要求ですぐに先読み処理を開
始できるので、従来技術よりも早く先読み効果を得るこ
とができる。
According to this configuration, the prefetch means can be dynamically allocated to a plurality of devices such as input / output devices and used, and the equipped prefetch means can be used effectively. Also, the selected prefetch means can start prefetch processing immediately upon the first read request from the device, so that a prefetch effect can be obtained earlier than in the prior art.

【0012】好適な態様では、前記各先読み手段は、そ
れぞれ複数の先読み手法に対応可能であって、それらの
うち外部から設定された先読み手法で前記メモリからデ
ータの先読みを行う機能を備え、前記デバイス制御手段
は、利用する前記先読み手段を選択すると同時に、選択
した先読み手段に対し前記リード処理に対応した先読み
手法を選択して設定する。
In a preferred aspect, each of the prefetching means is capable of coping with a plurality of prefetching methods, and has a function of prefetching data from the memory by using a prefetching method set from outside. The device control means selects the prefetch means to be used and, at the same time, selects and sets a prefetch method corresponding to the read processing for the selected prefetch means.

【0013】この態様によれば、同じ先読み手段を、デ
ータ転送の内容に応じた複数の先読み手法で利用するこ
とができるので、先読み手段を有効活用することができ
る。
According to this aspect, the same prefetching means can be used by a plurality of prefetching methods according to the contents of data transfer, so that the prefetching means can be effectively used.

【0014】また、別の好適な態様では、前記デバイス
制御手段は、選択した前記先読み手段を示す識別情報を
該当するデバイスに設定し、前記デバイスは、リード要
求の際、前記デバイス制御手段から設定された前記先読
み手段の識別情報を出力し、前記識別手段は、前記デバ
イスがリード要求の際に出力した前記識別情報に基づ
き、その要求に応答させる先読み手段を識別する。
In another preferred aspect, the device control means sets identification information indicating the selected read-ahead means to a corresponding device, and the device sets the identification information from the device control means upon a read request. The identification information of the read-ahead means is output, and the identification means identifies the read-ahead means responding to the request based on the identification information output by the device at the time of the read request.

【0015】この態様において、前記選択した先読み手
段を示す識別情報として、前記アドレスのうち前記メモ
リのアドレス空間で使用されない上位ビットを用いれ
ば、要求アドレスに先読み手段の指定を含めることがで
き、デバイスからのリード要求のサイクルを短くするこ
とができる。
In this aspect, if the higher-order bits of the address not used in the address space of the memory are used as the identification information indicating the selected look-ahead, the request address can include the designation of the look-ahead. , The cycle of the read request can be shortened.

【0016】また、別の好適な態様では、前記識別手段
は、前記デバイス制御手段が選択した先読み手段とそれ
に対応するデバイスとの対応関係を記憶し、リード要求
を行ったデバイスに対応する先読み手段を前記対応関係
から識別する。
In another preferred aspect, the identification means stores a correspondence relationship between the prefetch means selected by the device control means and the device corresponding thereto, and the prefetch means corresponding to the device which has issued the read request. Are identified from the correspondence.

【0017】この態様によれば、デバイス制御手段は、
選択した先読み手段を識別手段に設定すればよく、デバ
イスに対してバス等を介して設定する必要はなくなる。
According to this aspect, the device control means includes:
What is necessary is just to set the selected prefetch means as the identification means, and it is not necessary to set the device via a bus or the like.

【0018】また、更に好適な態様では、前記デバイス
制御手段は、選択した先読み手段に対し、前記先読み手
法に加えて前記リード処理の開始アドレスを設定し、選
択された前記先読み手段は、前記デバイス制御手段から
先読み手法及び開始アドレスの設定を受けると、前記デ
バイスからのリード要求を待たずに先読み処理を開始す
ることを特徴とする。
In a further preferred aspect, the device control means sets a start address of the read processing for the selected prefetch means in addition to the prefetch method, and the selected prefetch means sets the start address of the device. Upon receiving the setting of the prefetching method and the start address from the control means, the prefetching process is started without waiting for a read request from the device.

【0019】この態様によれば、デバイスからの1回目
のリード要求が来る前に先読みを開始できるので、デバ
イスからみた場合、時間のかかるメモリのリード処理が
ほぼ完全に隠蔽され、高速な先読み手段からのリードの
みでよくなるため、処理速度が向上する。
According to this aspect, prefetching can be started before the first read request from the device arrives, so that the time-consuming memory read process is almost completely hidden from the viewpoint of the device, and high-speed prefetching means The processing speed is improved because only reading from the memory is sufficient.

【0020】また本発明に係るシステムは、メモリとデ
バイスとの間のデータ転送のための転送制御システムで
あって、複数の先読み手法に対応可能であり、その中で
指定された先読み手法にて前記メモリからデータの先読
みを行ってバッファに蓄積し、前記デバイスからリード
要求されたアドレスのデータがバッファ内にあればその
データを応答する複数の先読み手段と、前記デバイスを
制御するデバイス制御手段であって、前記デバイスに対
し前記メモリからのリード処理を行わせる際に、前記先
読み手段に対して前記リード処理に対応した先読み手法
を選択して設定するデバイス制御手段と、を備える。
Further, the system according to the present invention is a transfer control system for transferring data between a memory and a device, which can support a plurality of prefetching methods, and uses a prefetching method designated therein. A plurality of pre-reading means for pre-reading data from the memory and accumulating the data in a buffer, and responding to the data of the address requested by the device if the data is in the buffer, and a device control means for controlling the device. And a device control means for selecting and setting a prefetch method corresponding to the read processing to the prefetch means when causing the device to perform a read process from the memory.

【0021】この構成によれば、同じ先読み手段を、デ
ータ転送の内容に応じた複数の先読み手法で利用するこ
とができるので、先読み手段を有効活用することができ
る。
According to this configuration, the same prefetching means can be used by a plurality of prefetching methods according to the contents of data transfer, so that the prefetching means can be effectively used.

【0022】また本発明に係る装置は、メモリと複数の
デバイスとの間のデータ転送を制御する装置であって、
前記メモリからデータの先読みを行ってバッファに蓄積
し、前記デバイスからリード要求されたアドレスのデー
タがバッファ内にあればそのデータを応答する複数の先
読み手段と、前記デバイスを制御するデバイス制御手段
から、前記デバイスがリード処理に使用する前記先読み
手段の選択を受け付ける手段と、前記デバイスからリー
ド要求を受けた場合、そのデバイスに対して前記デバイ
ス制御手段が選択した先読み手段を識別し、その先読み
手段に対しそのリード要求に対する応答を行わせる識別
手段とを備える。
An apparatus according to the present invention is an apparatus for controlling data transfer between a memory and a plurality of devices,
A plurality of read-ahead means for pre-reading data from the memory and accumulating the data in a buffer, and responding to the data at the address requested by the device if the data is in the buffer; and a device control means for controlling the device. A means for receiving a selection of the prefetch means used by the device for read processing, and, when a read request is received from the device, identifying the prefetch means selected by the device control means for the device; For responding to the read request.

【0023】この装置を用いれば、先読み手段を複数の
デバイスに対して動的に割り当てて使用することがで
き、先読み手段を有効活用することができる。
With this apparatus, the prefetch means can be dynamically allocated to a plurality of devices for use, and the prefetch means can be effectively utilized.

【0024】[0024]

【発明の実施の形態】以下、本発明の実施の形態(以下
実施形態という)について、図面に基づいて説明する。
Embodiments of the present invention (hereinafter referred to as embodiments) will be described below with reference to the drawings.

【0025】図1は、本発明に係るデータ転送システム
のハードウエア構成を概略的に示すブロック図である。
この図は、コンピュータシステムのうち、メモリ装置4
0(メインメモリ)と入出力デバイス20との間のデー
タ転送に関わる部分をとりだして示したものである。
FIG. 1 is a block diagram schematically showing a hardware configuration of a data transfer system according to the present invention.
This figure shows the memory device 4 in the computer system.
FIG. 2 shows a portion related to data transfer between the input / output device 20 and the input / output device 20.

【0026】図1において、システムバス10は、コン
ピュータシステムを構成する各種の制御機構(CPUな
ど)や入出力デバイス20(HDDやネットワークカー
ドなど)を接続するバスであり、典型的にはアドレス、
データ、及び制御信号のための信号線を備えている。そ
れら制御機構や入出力デバイス20は、予め定められた
プロトコルに従った通信により、そのシステムバス10
を介して相互にデータのやり取りを行う。
In FIG. 1, a system bus 10 is a bus for connecting various control mechanisms (such as a CPU) and an input / output device 20 (such as an HDD and a network card) constituting a computer system.
It has signal lines for data and control signals. The control mechanism and the input / output device 20 communicate with the system bus 10 through communication according to a predetermined protocol.
Exchange data with each other via

【0027】なお、ここでは説明の便宜のため、一般的
なバス構造のシステムを例にとって説明するが、本発明
の方式はバス接続のシステム以外の他の接続方式、例え
ば一対一のハブ接続のシステムにも適用可能である。
Here, for convenience of explanation, a system having a general bus structure will be described as an example, but the system of the present invention employs a connection system other than the bus connection system, for example, one-to-one hub connection. It is also applicable to systems.

【0028】システムバス10は、例えば、CPU(図
示省略)のデータ幅程度のビット数のデータバス(CP
Uデータ幅に等しい場合もあれば、それより大きい場合
又は小さい場合もある)や、CPUのアドレス空間を表
現するのに必要なビット数のアドレスバスを備え、更に
アービトレーション(バス調停)やDMAサイクル、C
PUサイクルを発生させたり、DMAサイクルやCPU
サイクルに応答したり、割込を通知したりするために用
いる制御線を備える。ここで、CPUサイクルとは、C
PUが周辺の入出力デバイスやメモリ装置に対して読み
出しや書き込みを行うサイクルであり、DMAサイクル
とは、CPU以外の装置がメモリ装置に対して読み出し
又は書き込みを行うサイクルである。
The system bus 10 is, for example, a data bus (CP) having a number of bits approximately equal to the data width of a CPU (not shown).
U data width may be equal to, greater than, or smaller than U data width), and an address bus having the number of bits necessary to represent the address space of the CPU, and arbitration (bus arbitration) and DMA cycles , C
Generate PU cycle, DMA cycle or CPU
It has control lines used to respond to cycles and signal interrupts. Here, the CPU cycle is C
A PU is a cycle in which a PU reads and writes to a peripheral input / output device and a memory device. A DMA cycle is a cycle in which a device other than the CPU reads or writes to a memory device.

【0029】各入出力デバイス20は、自らバスマスタ
となってメモリ装置40との間でDMA転送を行うバス
マスタDMA機能を有する。入出力デバイス20は、バ
スマスタとなってバスサイクル動作を起動する場合、ア
クセス要求するアドレス、メモリ装置40に対するチッ
プセレクト信号、及びサイクル開始を示す制御信号をシ
ステムバス10上に送出する。そして、読み出しサイク
ルであれば、入出力デバイス20はバス10からデータ
を取り込み、書き込みサイクルであればバス10にデー
タを供給する。
Each input / output device 20 has a bus master DMA function of performing a DMA transfer with the memory device 40 by itself becoming a bus master. When the input / output device 20 becomes a bus master and starts a bus cycle operation, the input / output device 20 sends an address to which an access request is made, a chip select signal for the memory device 40, and a control signal indicating a cycle start to the system bus 10. The input / output device 20 takes in data from the bus 10 in a read cycle, and supplies data to the bus 10 in a write cycle.

【0030】データ転送装置30は、メモリ装置40と
システムバス10との間に設けられ、メモリ装置40に
対する入出力デバイス20からのデータ転送(書き込
み、読み出し)の制御を行う。このデータ転送装置30
は、スレーブ制御機構302、先読み機構識別機構30
4、複数の先読み機構306、先読み手法指定レジスタ
部308、調停機構310及びメモリコントローラ31
2を備えている。
The data transfer device 30 is provided between the memory device 40 and the system bus 10, and controls data transfer (write, read) from the input / output device 20 to the memory device 40. This data transfer device 30
Are the slave control mechanism 302 and the prefetch mechanism identification mechanism 30
4. A plurality of prefetching mechanisms 306, a prefetching method designation register section 308, an arbitration mechanism 310, and a memory controller 31
2 is provided.

【0031】スレーブ制御機構302は、バスマスタ
(入出力デバイス20)からのチップセレクト信号を認
識し、それが自身に対するアクセスを示していれば、そ
のアクセスに対する応答のための処理を行う。ここで、
そのアクセスがメモリ装置40に対するリードアクセス
であり、後述する先読み機構識別機構304によりいず
れかの先読み機構306が選択された場合は、スレーブ
制御機構302は、その選択された先読み機構306に
対してリードサイクルを要求する。そして、その先読み
機構306から応答されたデータを、バスマスタである
入出力デバイス20に転送する。
The slave control mechanism 302 recognizes the chip select signal from the bus master (input / output device 20), and if it indicates an access to itself, performs a process for responding to the access. here,
If the access is a read access to the memory device 40 and one of the prefetch mechanisms 306 is selected by the prefetch mechanism identification mechanism 304 described later, the slave control mechanism 302 reads the selected prefetch mechanism 306. Request a cycle. Then, the data responded from the prefetch mechanism 306 is transferred to the input / output device 20 which is a bus master.

【0032】一方、入出力デバイス20からのアクセス
がライトアクセスの場合や、リードアクセスであっても
先読み機構識別機構304が先読み機構306を選択し
なかった場合は、スレーブ制御機構302は、メモリ装
置40に対するライト又はリードサイクルを調停機構3
10に対して要求する。このケースは、先読み処理とは
関係のない処理であり、先読み機構306は使用されな
い。スレーブ制御機構302は、調停機構310及びメ
モリコントローラ312を介してメモリ装置40に対
し、入出力デバイス20からの要求に応じてリード又は
ライト処理を行う。
On the other hand, if the access from the input / output device 20 is a write access, or if the prefetch mechanism identification mechanism 304 does not select the prefetch mechanism 306 even if the access is a read access, the slave control mechanism 302 Arbitration mechanism 3 for write or read cycle to 40
Request for 10. This case is a process unrelated to the prefetching process, and the prefetching mechanism 306 is not used. The slave control mechanism 302 performs read or write processing on the memory device 40 via the arbitration mechanism 310 and the memory controller 312 in response to a request from the input / output device 20.

【0033】先読み機構識別機構304は、入出力デバ
イス20からのアクセス要求に応じ、複数設けられた先
読み機構306の中からその入出力デバイス20に対応
したものを選択し、その先読み機構306に対応した選
択信号を出力する。この選択信号によりスレーブ制御機
構302は選択された先読み機構306を識別する。こ
の選択のため、先読み機構識別機構304には、入出力
デバイス20のアクセス要求からそのデバイスに対応す
る先読み機構306を特定するための仕組みが実装され
ている。
In response to an access request from the input / output device 20, the prefetch mechanism identification mechanism 304 selects a prefetch mechanism corresponding to the input / output device 20 from a plurality of prefetch mechanisms 306, and responds to the prefetch mechanism 306. The selected signal is output. The slave control mechanism 302 identifies the selected pre-reading mechanism 306 by the selection signal. For this selection, a mechanism for identifying a prefetch mechanism 306 corresponding to the input / output device 20 from an access request of the input / output device 20 is implemented in the prefetch mechanism identification mechanism 304.

【0034】好適な態様では、先読み機構306の特定
に、入出力デバイス20の要求アドレスの上位ビットを
用いる。例えば、本システムでは32ビットアドレスを
用い、実際のメモリ装置40のアドレス空間が0x0h
〜0xFFFFFFhの16Mバイトだったとする。こ
の場合メモリ装置40のアドレス指定には24ビットで
十分であり、本実施形態では、32ビットアドレスのう
ちの下位24ビットをメモリのアドレスとして用い、残
りの上位8ビットを各先読み機構306の特定のために
用いる。この場合、先読み機構識別機構304に、図2
のテーブルに示すような、アドレス上位値と先読み機構
との対応関係を実装する。図2に例示したテーブルで
は、例えば0番の先読み機構には0x80hのアドレス
上位8ビットが対応づけられている。また、アドレス上
位8ビット値0x0hは、先読み機構を使用しないアク
セス用に割り当てられている。
In a preferred embodiment, the upper bits of the request address of the input / output device 20 are used to specify the prefetch mechanism 306. For example, in the present system, a 32-bit address is used, and the actual address space of the memory device 40 is 0x0h.
It is assumed that the size is 16 Mbytes of ~ 0xFFFFFFh. In this case, 24 bits are sufficient to specify the address of the memory device 40. In the present embodiment, the lower 24 bits of the 32-bit address are used as the address of the memory, and the remaining upper 8 bits are used to specify each prefetch mechanism 306. Used for In this case, the pre-reading mechanism identifying mechanism 304 has
Implements the correspondence between the upper address value and the look-ahead mechanism as shown in the table. In the table illustrated in FIG. 2, for example, the upper 8 bits of the address of 0x80h are associated with the 0th look-ahead mechanism. The upper 8 bits 0x0h of the address are allocated for access without using the prefetch mechanism.

【0035】具体的には、例えば、先読み機構識別機構
304は、各先読み機構306と「先読みなし」の場合
とのそれぞれついて、対応するアドレス上位8ビットが
設定されたレジスタを備える。そして、それら各レジス
タごとに、バスマスタから受け付けた要求アドレスの上
位8ビットと当該レジスタの値と比較する比較器を備え
る。これら各比較器の出力信号線がスレーブ制御機構3
02に入力される。スレーブ制御機構302は、どの比
較器の出力がオンになっているかで、どの先読み機構3
06に対応する要求か(あるいは先読み機構を利用しな
い要求か)を判定することができる。
More specifically, for example, the prefetching mechanism identification mechanism 304 includes a register in which the upper 8 bits of the corresponding address are set for each of the prefetching mechanism 306 and the case of “no prefetching”. Each of the registers includes a comparator for comparing the upper 8 bits of the request address received from the bus master with the value of the register. The output signal line of each of these comparators is
02 is input. The slave control mechanism 302 determines which of the comparators is turned on and determines which of the prefetch mechanism 3
06 (or a request not using the prefetching mechanism).

【0036】また、データ転送装置30内には、各先読
み機構306の使用状況を示す図3に示すようなテーブ
ルが設けられる。このテーブルでは、各先読み機構ごと
に、それが使用されているか否かを示す使用フラグが設
けられている。フラグが0の場合は現在未使用であり、
1の場合は使用中である。
In the data transfer device 30, a table as shown in FIG. In this table, a use flag indicating whether or not the prefetch mechanism is used is provided for each prefetch mechanism. If the flag is 0, it is currently unused,
If it is 1, it is in use.

【0037】そして、本実施形態では、オペレーティン
グシステム等からの指示によりメモリ装置40といずれ
かの入出力デバイス20との間でデータ転送処理を始め
るに当たり、その入出力デバイス20のデバイスドライ
バが、図3に示す使用状況テーブルを参照して先読み機
構306のうち未使用のもの(すなわちフラグが0のも
の)を1つ選択し、それをその入出力デバイス20に割
り当てる。すなわち、デバイスドライバは、選択した先
読み機構306に対応するアドレス上位8ビットの値
を、その入出力デバイス20に通知する。以上は先読み
を行う場合の処理であり、先読みを行わない場合(メモ
リ装置40へのライトの場合や、メモリ装置40からの
リードの場合でも先読みが不要な転送処理の場合など)
は、先読み機構を使用しない場合のアドレス上位8ビッ
ト値(図2では0x0h)を、転送処理を行う入出力デ
バイス20に通知する。アドレス上位の値を受け取った
入出力デバイス20は、その転送処理が完了するまでの
各バスサイクルの要求の際に、アクセスしたいメモリア
ドレス(24ビット)の上位にその8ビット値を付加し
て32ビットの要求アドレスとして送出する。これを受
けたデータ転送装置30では、先読み機構識別機構30
4がその要求アドレスの上位8ビットを調べ、識別テー
ブルを参照してそれに対応する先読み機構306を選択
する(又は先読み機構を使用しないと判断する)。
In the present embodiment, when starting a data transfer process between the memory device 40 and one of the input / output devices 20 in accordance with an instruction from an operating system or the like, the device driver of the input / output device 20 is configured as shown in FIG. 3, one unused one (that is, one whose flag is 0) is selected from the pre-reading mechanism 306 and assigned to the input / output device 20. That is, the device driver notifies the input / output device 20 of the value of the upper 8 bits of the address corresponding to the selected prefetch mechanism 306. The above is the processing when prefetching is performed, and when prefetching is not performed (in the case of writing to the memory device 40, or in the case of transfer processing that does not require prefetching even in the case of reading from the memory device 40).
Notifies the input / output device 20 that performs the transfer processing of the upper 8 bits of the address (0x0h in FIG. 2) when the prefetch mechanism is not used. The input / output device 20, which has received the upper address value, adds the 8-bit value to the upper address of the memory address (24 bits) to be accessed when requesting each bus cycle until the transfer processing is completed. It is sent out as a bit request address. In response to this, the data transfer device 30 sets the pre-reading mechanism identifying mechanism 30
4 examines the upper 8 bits of the request address, refers to the identification table, and selects the corresponding prefetch mechanism 306 (or determines that the prefetch mechanism is not used).

【0038】各先読み機構306は、それぞれプリフェ
ッチバッファ(図示省略)を備えている。また、各先読
み機構306は、複数の先読み手法に対応する機能が組
み込まれており、それら複数の先読み手法のうち、指定
された手法で先読み(プリフェッチ)処理を行う。先読
み手法には、例えば、アドレスを順次一定値ずつインク
リメントして先読みする「インクリメントシーケンシャ
ル」、アドレスを一定値ずつデクリメントして先読みす
る「デクリメントシーケンシャル」などがある。また、
例えば同じインクリメントシーケンシャルでも、アドレ
スインクリメントの刻みが異なる場合が考えられる。そ
れら各々の場合に対して予めコードを割り当てておけ
ば、そのコードにより先読み手法を指定することができ
る。
Each prefetch mechanism 306 has a prefetch buffer (not shown). Each of the prefetch mechanisms 306 has a built-in function corresponding to a plurality of prefetch methods, and performs a prefetch (prefetch) process using a designated method among the plurality of prefetch methods. Examples of the prefetching method include “increment sequential” in which an address is sequentially incremented by a constant value and prefetching is performed, and “decrement sequential” in which an address is decremented by a constant value and prefetched is performed. Also,
For example, there is a case where the increment of the address increment is different even for the same increment sequential. If a code is allocated to each of these cases in advance, the prefetching method can be designated by the code.

【0039】先読み機構306は、マスタ(この例では
スレーブ制御機構302)から要求されたアドレスのデ
ータがプリフェッチバッファ内になければ、自らマスタ
となって調停機構310に対してリードサイクルを要求
し、メモリコントローラ312を介してメモリ装置40
からその要求アドレスのデータを読み出し、そのデータ
を用いてスレーブ制御機構302に対しスレーブ応答を
行う。そして、要求されたアドレスのデータをメモリ装
置40からリードし終えた後も、先読み機構306は、
予め指定された先読み手法に従って先読みアドレスを求
め、このアドレスのデータを同様にメモリ装置40から
読み出して自身のプリフェッチバッファに蓄える。プリ
フェッチバッファがいっぱいにならない限り、この先読
み・蓄積の処理が繰り返される。
If the data at the address requested by the master (in this example, the slave control mechanism 302) is not in the prefetch buffer, the prefetch mechanism 306 becomes the master and requests the arbitration mechanism 310 for a read cycle. The memory device 40 via the memory controller 312
, The data of the requested address is read out, and a slave response is made to the slave control mechanism 302 using the data. Then, even after reading the data at the requested address from the memory device 40, the prefetching mechanism 306 continues
A prefetch address is obtained according to a prefetch method specified in advance, and the data at this address is similarly read from the memory device 40 and stored in its own prefetch buffer. This prefetching / accumulating process is repeated as long as the prefetch buffer does not become full.

【0040】一方、マスタ(この例ではスレーブ制御機
構302)から受け付けたリード要求のアドレスのデー
タが、自分のプリフェッチバッファ内に既に格納されて
いる場合は、先読み機構306はそのデータを用いてマ
スタの要求に即座にスレーブ応答する。前述の先読み処
理が始まった後で、マスタから前回の要求アドレスの次
のアドレスが要求された場合、そのアドレスのデータは
既にプリフェッチバッファ内に蓄えられているので、そ
のデータが出力される。
On the other hand, if the data of the address of the read request accepted from the master (in this example, the slave control mechanism 302) is already stored in its own prefetch buffer, the prefetching mechanism 306 uses the data to make the master Immediately responds to the request. When the master requests the next address after the previous request address after the above-mentioned prefetching process is started, the data at that address is already stored in the prefetch buffer, so that the data is output.

【0041】なお、図1ではデータ転送装置30に先読
み機構306が4個設けられているが、これはあくまで
一例であり、転送装置30に組み込む先読み機構306
の数はこれに限定されるものではない。
In FIG. 1, the data transfer device 30 is provided with four prefetch mechanisms 306, but this is merely an example, and the prefetch mechanism 306 incorporated in the transfer device 30 is only an example.
The number is not limited to this.

【0042】先読み手法指定レジスタ部308は、転送
装置30内に設けられた各先読み機構306ごとに、先
読み手法を指定するためのレジスタを備える。これらレ
ジスタはCPUから設定可能なレジスタである。本実施
形態では、デバイスドライバが入出力デバイス20にデ
ータ転送処理の指示を出す際、使用する先読み機構30
6を選択した場合(前述)は、先読み機構指定レジスタ
部308内のその先読み機構306に対応するレジスタ
に、使用する先読み手法のコードを設定する。これによ
り、その後その入出力デバイス20からDMA転送サイ
クルの要求が来たとき、選択された先読み機構306
は、対応するレジスタに指定された先読み手法にしたが
って先読み処理を実行できる。また、レジスタ部308
には、各先読み機構306ごとにレジスタが設けられて
いるので、各先読み機構306ごとに個別に先読み手法
を設定することができる。
The prefetching method designation register section 308 includes a register for designating a prefetching method for each of the prefetching mechanisms 306 provided in the transfer device 30. These registers are registers that can be set from the CPU. In the present embodiment, when the device driver issues an instruction for data transfer processing to the input / output device 20, the prefetch mechanism 30 to be used is used.
When 6 is selected (described above), the code of the prefetching method to be used is set in the register corresponding to the prefetching mechanism 306 in the prefetching mechanism designation register unit 308. Thus, when a request for a DMA transfer cycle comes from the input / output device 20 thereafter, the selected look-ahead mechanism 306 is selected.
Can execute a prefetch process according to a prefetch method specified in a corresponding register. The register unit 308
Since a register is provided for each prefetch mechanism 306, a prefetch method can be individually set for each prefetch mechanism 306.

【0043】調停機構310は、複数の先読み機構30
6及びスレーブ制御機構302からメモリコントローラ
312へのアクセスを調停する機構である。調停機構3
10は、順次、選択したマスタ(この場合は複数の先読
み機構306、スレーブ制御機構302の中のいずれ
か)からのサイクル要求を受け付け、その受け付けたサ
イクル要求の情報をもとに、今度はメモリコントローラ
312に対してマスタとしてリード又はライトサイクル
を要求する。
The arbitration mechanism 310 includes a plurality of prefetch mechanisms 30.
6 and a mechanism for arbitrating access from the slave control mechanism 302 to the memory controller 312. Arbitration mechanism 3
10 sequentially receives cycle requests from the selected master (in this case, one of the plurality of read-ahead mechanisms 306 and the slave control mechanism 302), and based on the received cycle request information, The controller 312 requests a read or write cycle as a master.

【0044】メモリコントローラ312は、調停機構3
10から受け付けた各種サイクル要求の情報を、メモリ
装置40の実メモリのアドレスに変換し、実メモリに対
するアクセスの制御を行う。また、リフレッシュ等、メ
モリ装置40に特有の制御が必要ならば、それを実行す
る。
The memory controller 312 includes the arbitration mechanism 3
The information of the various cycle requests received from 10 is converted into the address of the real memory of the memory device 40, and the access to the real memory is controlled. Further, if control specific to the memory device 40 such as refreshing is required, the control is executed.

【0045】以上、本実施形態のシステム構成について
説明した。次に、このシステムによるデータ転送処理の
流れを説明する。
The system configuration of the present embodiment has been described above. Next, the flow of data transfer processing by this system will be described.

【0046】まず、アプリケーションあるいはOSなど
の処理に応じて、いずれかの入出力デバイス20とメモ
リ装置40との間でデータ転送が必要となった場合、そ
の入出力デバイス20に対応するデバイスドライバが起
動し、その入出力デバイス20等に対して転送処理のた
めの必要な制御処理を行う。その処理の流れを図4に示
す。この場合、デバイスドライバは、まずその転送処理
で先読みを行うか否かを判定する(S10)。入出力デ
バイス20からメモリ装置40へのライトの場合や、メ
モリ装置40からのリードの場合でも先読み効果の薄い
転送処理内容の場合は、この判定の結果がNoになる。
一方、メモリ装置40からのリードの場合で、連続アド
レスのサイズの大きいデータの転送など先読みが有効な
ときは、S10の判定結果がYesとなる。デバイスド
ライバは、OS等からのリード又はライト要求の内容に
応じて、S10の判定を行う。
First, when it becomes necessary to transfer data between any of the input / output devices 20 and the memory device 40 in accordance with the processing of the application or the OS, a device driver corresponding to the input / output device 20 is used. It starts up and performs necessary control processing for transfer processing on the input / output device 20 and the like. FIG. 4 shows the flow of the processing. In this case, the device driver first determines whether to perform prefetching in the transfer processing (S10). In the case of writing from the input / output device 20 to the memory device 40, or in the case of reading from the memory device 40, if the content of the transfer process has a small prefetch effect, the result of this determination is No.
On the other hand, in the case of reading from the memory device 40, if the pre-reading is effective such as the transfer of data having a large continuous address size, the determination result in S10 is Yes. The device driver makes the determination in S10 according to the content of the read or write request from the OS or the like.

【0047】S10で先読みを行うと判定した場合は、
デバイスドライバは転送装置30内に設けられた使用状
況テーブル(図3参照)を参照して、空いている先読み
機構306の中から使用するものを選択し(S12)、
選択した先読み機構306に先読み手法指定レジスタ部
308のレジスタに、適用する先読み手法のコードを設
定する(S14)。デバイスドライバは、OS等からの
要求の内容から、どの先読み手法を適用すればよいかが
分かっているので、その手法を設定すればよい。そし
て、デバイスドライバは、当該入出力デバイス20に対
して、データ転送処理を指示する(S16)。このと
き、転送方向や開始アドレス、総転送サイズなどの転送
処理内容の他に、S12で選択した先読み機構306に
対応するアドレス上位ビットの値を、その入出力デバイ
ス20に通知する。
If it is determined in S10 that prefetching is to be performed,
The device driver refers to the use status table (see FIG. 3) provided in the transfer device 30 and selects one to be used from the available prefetching mechanisms 306 (S12).
The code of the prefetching method to be applied is set in the register of the prefetching method designation register unit 308 in the selected prefetching mechanism 306 (S14). Since the device driver knows which prefetching method to apply from the content of the request from the OS or the like, the method may be set. Then, the device driver instructs the input / output device 20 to perform a data transfer process (S16). At this time, in addition to the contents of the transfer processing such as the transfer direction, the start address, and the total transfer size, the value of the address high-order bit corresponding to the prefetch mechanism 306 selected in S12 is notified to the input / output device 20.

【0048】一方、S10の判定で先読み処理を行わな
いと判定された場合は、デバイスドライバは、先読み機
構を使用しない旨を示すアドレス上位ビット値(図2の
例では0x0h)を含んだ転送指示を、入出力デバイス
20に対して行う(S16)。
On the other hand, if it is determined in S10 that the prefetching process is not to be performed, the device driver issues a transfer instruction including an address upper bit value (0x0h in the example of FIG. 2) indicating that the prefetching mechanism is not used. Is performed on the input / output device 20 (S16).

【0049】このようにしてS16の転送指示を受けた
入出力デバイス20は、自らがバスマスタとなり、指示
されたサイズのデータの転送が完了するまで、システム
バス10に繰り返しDMA転送サイクルを要求する。こ
のとき、入出力デバイス20は、通知されてきたアドレ
ス上位ビット値を、バス要求の上位アドレスに設定して
要求を行う。
The input / output device 20, which has received the transfer instruction in S16, becomes a bus master and requests the system bus 10 repeatedly for a DMA transfer cycle until the transfer of the data of the specified size is completed. At this time, the input / output device 20 makes the request by setting the notified upper bit value of the address to the upper address of the bus request.

【0050】次に、入出力デバイス20からメモリ装置
40へのDMAリード処理の流れを、具体例を用いて説
明する。この例では、2つの入出力デバイス20(以
下、バスマスタA、バスマスタBと呼ぶ)が同時期にメ
モリ装置40へのDMAリードを行うケースについて説
明する。
Next, the flow of DMA read processing from the input / output device 20 to the memory device 40 will be described using a specific example. In this example, a case will be described in which two input / output devices 20 (hereinafter, referred to as a bus master A and a bus master B) perform a DMA read to the memory device 40 at the same time.

【0051】この例では、バスマスタAは、アドレス0
x100000hから0x1FFFFFhまで昇順に1
MバイトのメモリブロックをDMAリードするよう、対
応するデバイスドライバから指示されているものとす
る。また、バスマスタBは、アドレス0x2FFFFF
hから0x200000hまで降順に1Mバイトのメモ
リブロックをDMAリードするよう、対応するデバイス
ドライバから指示されているものとする。また、この時
点では既に、バスマスタA及びBが用いる先読み機構3
06が、それぞれのデバイスドライバによって選択さ
れ、その先読み機構306を示すアドレス上位ビットの
値がバスマスタA,Bにそれぞれ通知されているものと
する。この例では、バスマスタAには先読み機構0(ア
ドレス上位0x80h)が、バスマスタBには先読み機
構1(アドレス上位0xF0h)が、それぞれ選択され
ているとする。また、先読み手法指定レジスタ部308
には、それら選択された各先読み機構306ごとに、適
切な先読み手法がデバイスドライバによって設定されて
いるものとする。すなわちこの例では、バスマスタAが
使用する先読み機構0のレジスタには、インクリメント
シーケンシャルの先読みを示すコードが設定され、バス
マスタBが使用する先読み機構1のレジスタには、デク
リメントシーケンシャルを示すコードが設定されてい
る。そして、バスマスタAとバスマスタBとがほぼ同時
にシステムバス10上でバス使用権を要求し、調停の結
果バスマスタAが最初に使用権を得たとする。
In this example, the bus master A has the address 0
1 in ascending order from x100000h to 0x1FFFFFh
It is assumed that the corresponding device driver has instructed the DMA read of the M-byte memory block. The bus master B has the address 0x2FFFFF
Assume that the corresponding device driver instructs to DMA-read a 1 Mbyte memory block in descending order from h to 0x200000h. At this time, the prefetch mechanism 3 used by the bus masters A and B has already been used.
06 is selected by each device driver, and the value of the address high-order bit indicating the prefetch mechanism 306 has been notified to the bus masters A and B, respectively. In this example, it is assumed that the prefetch mechanism 0 (upper address 0x80h) is selected for the bus master A, and the prefetch mechanism 1 (upper address 0xF0h) is selected for the bus master B. Further, the prefetching method designation register unit 308
It is assumed that an appropriate prefetching method is set by the device driver for each of the selected prefetching mechanisms 306. That is, in this example, a code indicating the increment sequential read ahead is set in the register of the prefetch mechanism 0 used by the bus master A, and a code indicating the decrement sequential is set in the register of the prefetch mechanism 1 used by the bus master B. ing. Then, it is assumed that the bus masters A and B request the right to use the bus on the system bus 10 almost simultaneously, and the bus master A first obtains the right to use as a result of the arbitration.

【0052】すると、バスマスタAは、獲得したバス上
に、まずアドレス0x80100000hを指定してメ
モリリードサイクル(DMA転送サイクル)を起動す
る。このアドレスのうち上位8ビット0x80は先読み
機構0を示しており、下位の24ビットは実メモリのア
ドレスを示している。この実メモリアドレス0x100
000hは、要求された1Mバイトの転送の最初のアド
レスである。メモリリードサイクルが起動されると、デ
ータ転送装置30のスレーブ制御機構302は、チップ
セレクト信号により自分が選択されていることを認識す
る。これと並行して、先読み機構識別機構304は、要
求アドレスの上位8ビットを各先読み機構0〜3及び
「先読みなし」に対応したレジスタのアドレス値と比較
する。この結果、先読み機構識別機構304は、先読み
機構0を選択する選択信号をスレーブ制御機構302に
発する。これを受けたスレーブ制御機構302は、先読
み機構0に対し、マスタとして、アドレス0x1000
00hのリード要求を行う。
Then, the bus master A starts a memory read cycle (DMA transfer cycle) by specifying the address 0x80100000h on the acquired bus. Of these addresses, the upper 8 bits 0x80 indicate the prefetch mechanism 0, and the lower 24 bits indicate the address of the real memory. This real memory address 0x100
000h is the first address of the requested 1 Mbyte transfer. When the memory read cycle is started, the slave control mechanism 302 of the data transfer device 30 recognizes that it is selected by the chip select signal. In parallel with this, the prefetch mechanism identification mechanism 304 compares the upper 8 bits of the request address with the address values of the registers corresponding to each of the prefetch mechanisms 0 to 3 and “no prefetch”. As a result, the prefetch mechanism identification mechanism 304 issues a selection signal for selecting the prefetch mechanism 0 to the slave control mechanism 302. Upon receiving this, the slave control mechanism 302 sends the address 0x1000 to the prefetch mechanism 0 as a master.
A read request of 00h is made.

【0053】この要求を受けた先読み機構0では、この
要求アドレスは一連の転送データの最初のアドレスなの
で、対応するデータがプリフェッチバッファ内に存在し
ない。このため、先読み機構0は、その要求アドレスを
ミスし、その結果自らマスタとなって調停機構310に
対してリード要求を伝播する。
In the prefetch mechanism 0 receiving this request, the requested address is the first address of a series of transfer data, and the corresponding data does not exist in the prefetch buffer. For this reason, the prefetch mechanism 0 misses the request address, and as a result, becomes a master and propagates the read request to the arbitration mechanism 310.

【0054】調停機構310によりリードサイクルを許
可され、スレーブ制御機構302から要求されたデータ
をメモリ装置40からリードし終えると、先読み機構0
はそのデータを自分のプリフェッチバッファに書き込
む。そして、その書き込みを終えた後も、先読み手法指
定レジスタ部304に設定された先読み手法に従って、
続きのアドレスのデータをメモリ装置40から先読みし
ていき、先読みしたデータをプリフェッチバッファにた
め込んでいく。プリフェッチバッファがいっぱいになる
まで、この先読み処理が継続される。
When the read cycle is permitted by the arbitration mechanism 310 and the data requested by the slave control mechanism 302 has been read from the memory device 40, the prefetch mechanism 0
Writes that data to its prefetch buffer. Then, even after the writing is completed, according to the prefetching method set in the prefetching method designation register unit 304,
The data of the subsequent address is prefetched from the memory device 40, and the prefetched data is stored in the prefetch buffer. This prefetching process is continued until the prefetch buffer becomes full.

【0055】さて、先読み機構0がメモリ装置40から
リードしたデータは、要求元であるスレーブ制御機構3
02に対して供給される。この供給は、前述した先読み
処理と並列的に行われる。スレーブ制御機構302は、
この供給されたデータを、データ要求元であるバスマス
タAに対して供給する。
The data read from the memory device 40 by the pre-reading mechanism 0 is transmitted to the slave control mechanism 3 which is the request source.
02. This supply is performed in parallel with the above-described prefetching process. The slave control mechanism 302
The supplied data is supplied to the bus master A which is the data request source.

【0056】次に、バスマスタBがシステムバス10の
使用権を獲得すると、バスマスタBは、0xF02FF
FFFからのメモリリード要求を行う。これにより、先
ほど説明したバスマスタAからの最初のDMA転送サイ
クルと同様の処理が行われる。この場合、要求アドレス
の上位8ビットは先読み機構1を示し、下位24ビット
はデバイスドライバが要求した転送データの最初のアド
レスを示している。したがって、先読み機構1が起動さ
れメモリ装置40からの先読み処理を開始し、最初に読
み出されたデータがスレーブ制御機構302を介して要
求元のバスマスタBに供給される。
Next, when the bus master B acquires the right to use the system bus 10, the bus master B becomes 0xF02FF.
A memory read request is issued from the FFF. As a result, the same processing as in the first DMA transfer cycle from the bus master A described above is performed. In this case, the upper 8 bits of the request address indicate the prefetch mechanism 1, and the lower 24 bits indicate the first address of the transfer data requested by the device driver. Therefore, the prefetch mechanism 1 is activated and the prefetch process from the memory device 40 is started, and the data read first is supplied to the requesting bus master B via the slave control mechanism 302.

【0057】このようにしてバスマスタA,Bが最初の
転送データを受け取った後、次にバスマスタA又はBが
次のアドレスのリード要求をしたときには、既に対応す
る先読み機構0又は1に次のアドレスのデータが蓄積さ
れている。したがって、この場合は、スレーブ制御機構
302からリード要求を受けた先読み機構0又は1は、
自分のプリフェッチバッファから要求されたデータを取
り出し、スレーブ制御機構302に供給する。そして、
このデータが、スレーブ制御機構302から、要求元の
バスマスタに供給される。
After the bus masters A and B have received the first transfer data in this manner, when the next bus master A or B makes a read request for the next address, the corresponding prefetch mechanism 0 or 1 sends the next address to the corresponding prefetch mechanism 0 or 1. Data is stored. Therefore, in this case, the prefetch mechanism 0 or 1 that has received the read request from the slave control mechanism 302
The requested data is retrieved from its own prefetch buffer and supplied to the slave control mechanism 302. And
This data is supplied from the slave control mechanism 302 to the requesting bus master.

【0058】したがって、本実施形態では、バスマスタ
からの一連のメモリリードの最初のサイクルでは、メモ
リ装置40から直接データを読み出すことになるが、2
回目以降のサイクルではプリフェッチバッファ内に蓄え
られたデータを読み出すことになる。すなわち、2回目
以降のサイクルでは、先読み機構がメモリ装置40から
データを読み出す動作と、先読み機構がスレーブ制御機
構302を介してバスマスタに応答する動作とが分離さ
れ、後者の動作では高速なバッファからのリードを行う
だけでよいので、バスマスタから見てメモリリードが高
速化される。
Therefore, in the present embodiment, in the first cycle of a series of memory reads from the bus master, data is read directly from the memory device 40.
In the subsequent cycles, the data stored in the prefetch buffer is read. That is, in the second and subsequent cycles, the operation of the read-ahead mechanism reading data from the memory device 40 and the operation of the read-ahead mechanism responding to the bus master via the slave control mechanism 302 are separated. , The speed of the memory read is increased from the viewpoint of the bus master.

【0059】以上説明したように、この実施形態によれ
ば、データ転送装置30に複数の先読み機構306を設
け、入出力デバイス20からの要求に対してこれら各先
読み機構306を動的に割り当てることができるので、
例えば入出力デバイス20の数よりも先読み機構の数が
少ない場合でも、それら先読み機構を効率よく各入出力
デバイス20に割り当てて利用することができる。
As described above, according to this embodiment, a plurality of prefetch mechanisms 306 are provided in the data transfer device 30 and these prefetch mechanisms 306 are dynamically assigned to requests from the input / output device 20. So you can
For example, even when the number of prefetch mechanisms is smaller than the number of input / output devices 20, the prefetch mechanisms can be efficiently allocated to the input / output devices 20 and used.

【0060】また、本実施形態では、各先読み機構30
6は、先読み処理の手法が固定されておらず、予め組み
込まれたいくつかの手法の中から動的に選択された手法
を実行することができるので、先読み機構を効率よく利
用できる。すなわち例えば、先読み機構が空いているに
もかかわらず先読み手法がマッチしないために使用でき
ないなどということがない。
In the present embodiment, each prefetch mechanism 30
In No. 6, the prefetching method is not fixed, and a method dynamically selected from several pre-installed methods can be executed. Therefore, the prefetching mechanism can be used efficiently. That is, for example, even if the prefetch mechanism is empty, there is no possibility that the prefetch method cannot be used because the prefetch method does not match.

【0061】また、本実施形態では、各先読み機構30
6は、それぞれ、他の先読み機構とは独立して先読み動
作を行うことができる。
In this embodiment, each prefetch mechanism 30
6 can perform a prefetch operation independently of other prefetch mechanisms.

【0062】また、本実施形態では、各先読み機構30
6は、一連のメモリリードが始まる時点で既にデバイス
ドライバから先読み手法が設定されているので、1回目
のリードアクセスから先読み処理を開始することができ
る。特開平8−272732号公報の技術では、連続ア
ドレスに対する2回目のアクセス時に先読みを行うか否
かを判定するので、先読みの効果が得られるのは3回目
のアクセス以降であった。これに対し、本実施形態で
は、1回目のアクセスから先読みを行うので、2回目の
アクセスから先読み効果が期待できる。
In this embodiment, each prefetch mechanism 30
In the case of No. 6, since the prefetching method has already been set by the device driver when a series of memory reads starts, the prefetching process can be started from the first read access. In the technique disclosed in Japanese Patent Application Laid-Open No. 8-272732, it is determined whether or not to perform prefetching at the time of the second access to a continuous address. Therefore, the effect of prefetching is obtained only after the third access. On the other hand, in the present embodiment, prefetching is performed from the first access, so that a prefetch effect can be expected from the second access.

【0063】以上、本発明の好適な実施形態を説明し
た。以上に説明した実施形態はあくまで本発明の具現化
の一例に過ぎず、本発明の範囲内で様々な変形が考えら
れる。
The preferred embodiment of the present invention has been described above. The embodiment described above is merely an example of the embodiment of the present invention, and various modifications can be considered within the scope of the present invention.

【0064】[変形例1]例えば、先読み機構識別機構
304の識別方式の別の例として、次のようなものが考
えられる。この方式では、未使用のアドレス上位ビット
を各入出力デバイス20に対して固定的に割り当てる。
そして、データ転送装置30に図5に示すようなテーブ
ルを設ける。このテーブルは、各先読み機構0〜3ごと
に、それを使用する入出力デバイス20(すなわちそれ
に対応するアドレス上位ビット)が設定される。使用さ
れていない先読み機構に対しては、未使用を示す値(例
えばnull値)が設定される。デバイスドライバは、
先読み機構の使用・未使用を図5のテーブルから知るこ
とができ、未使用の先読み機構を選択することができ
る。入出力デバイス20が使用する先読み機構306を
デバイスドライバが選択した際、デバイスドライバが、
このテーブルにおいて、選択した先読み機構の欄に対
し、その入出力デバイス20に対応する上位アドレスを
設定する。
[Modification 1] For example, the following is conceivable as another example of the identification method of the prefetch mechanism identification mechanism 304. In this method, unused upper bits of the address are fixedly assigned to each input / output device 20.
Then, the data transfer device 30 is provided with a table as shown in FIG. In this table, for each of the prefetch mechanisms 0 to 3, an input / output device 20 (that is, an upper address bit corresponding to the input / output device) using the prefetch mechanism is set. A value indicating unused (for example, a null value) is set for a prefetch mechanism that is not used. The device driver is
The use / non-use of the prefetch mechanism can be known from the table of FIG. 5, and an unused prefetch mechanism can be selected. When the device driver selects the look-ahead mechanism 306 used by the input / output device 20, the device driver
In this table, the upper address corresponding to the input / output device 20 is set in the column of the selected look-ahead mechanism.

【0065】入出力デバイス20は、バス10に要求を
発する際、アドレスの上位に自分に固定割当てされた値
を設定する。これを受けた先読み機構識別機構304
は、その要求アドレスの上位8ビットに一致するものが
テーブル(図5)にエントリされているかどうかを調
べ、あればそれに対応する先読み機構の選択信号を出力
する。
When issuing a request to the bus 10, the input / output device 20 sets a value fixedly assigned to itself to an upper address. Prefetching mechanism identifying mechanism 304 receiving this
Checks whether or not an entry matching the upper 8 bits of the request address is entered in the table (FIG. 5), and if so, outputs a corresponding prefetch mechanism selection signal.

【0066】先読み処理を行わないデータ転送の場合、
デバイスドライバは、図5のテーブルに入出力デバイス
のアドレスを設定しない。したがってこの場合、その入
出力デバイスから要求が来たときには、先読み機構選択
機構304は、テーブルにそのデバイスに対応するアド
レス値がないので、先読み機構を使用しない旨を示す選
択信号を出力する。
In the case of data transfer without prefetching,
The device driver does not set the address of the input / output device in the table of FIG. Therefore, in this case, when a request comes from the input / output device, the look-ahead mechanism selecting mechanism 304 outputs a selection signal indicating that the look-ahead mechanism is not used, because there is no address value corresponding to the device in the table.

【0067】[変形例2]また、先読み機構識別機構3
04の選択方式としてバス使用許可信号(bus grant)を
用いる方式も可能である。この方式を用いたシステム構
成例を図6に示す。図6において、図1の構成要素と同
様の構成要素には、同一符号を付してその説明を省略す
る。
[Modification 2] Further, the prefetching mechanism identifying mechanism 3
As the selection method 04, a method using a bus use grant signal (bus grant) is also possible. FIG. 6 shows an example of a system configuration using this method. 6, the same components as those in FIG. 1 are denoted by the same reference numerals, and description thereof will be omitted.

【0068】各入出力デバイス20のバスサイクル要求
は、バスアービタ50で調停される。ここで、バスアー
ビタ50から各入出力デバイス20へと延びるバス使用
許可信号(bus grant)線をそれぞれ分岐し、先読み機
構識別機構304に入力するようにする。これにより、
先読み機構識別機構304は、アービタ50からのバス
使用許可信号線のいずれがオンになるかによって、アク
セスしてきた入出力デバイス20を識別することができ
る。
The bus cycle request of each input / output device 20 is arbitrated by the bus arbiter 50. Here, a bus use grant signal (bus grant) line extending from the bus arbiter 50 to each of the input / output devices 20 is branched and input to the prefetch mechanism identification mechanism 304. This allows
The prefetch mechanism identification mechanism 304 can identify the accessing input / output device 20 depending on which of the bus use permission signal lines from the arbiter 50 is turned on.

【0069】なお、この変形例では、データ転送装置3
0は、上述の変形例1と同様のテーブルを備えており、
デバイスドライバは、データ転送に用いる先読み機構を
選択すると、テーブルのその先読み機構の欄に、対応す
る入出力デバイスの番号を設定する。したがって、先読
み機構識別機構304は、バス許可信号により入出力デ
バイスが識別できると、それに対応する先読み機構が特
定できる(あるいは先読みを行わないと判断できる)。
In this modification, the data transfer device 3
0 has the same table as in the first modification described above,
When the device driver selects the prefetch mechanism used for data transfer, the device driver sets the number of the corresponding input / output device in the column of the prefetch mechanism in the table. Therefore, when the input / output device can be identified by the bus permission signal, the prefetch mechanism identification mechanism 304 can identify the corresponding prefetch mechanism (or can determine that the prefetch is not performed).

【0070】この変形例2及び上述の変形例1では、1
つの入出力デバイス20に対して複数の先読み機構を同
時に対応づけることが可能になる。この場合、その入出
力デバイスのデバイスドライバが、複数の先読み機構を
選択し、テーブルのそれら先読み機構の欄にそのデバイ
スの番号を設定すればよい(デバイスドライバは、入出
力デバイスが幾つの内部バスマスタを備えているか知っ
ている)。この仕組みは、次のようなケースに有効であ
る。
In Modification 2 and Modification 1 described above, 1
A plurality of prefetch mechanisms can be simultaneously associated with one input / output device 20. In this case, the device driver of the input / output device may select a plurality of prefetch mechanisms and set the number of the device in the column of the prefetch mechanism in the table. Know what you have). This mechanism is effective in the following cases.

【0071】すなわち、入出力デバイス20の中には、
内部に複数のバスマスタを持つような回路構成のものが
ある。このようなデバイス20内部の各バスマスタか
ら、まったく異なる区間のアドレスが独立して要求され
た場合、各内部バスマスタごとには各々連続アドレスを
要求しているにもかかわらず、データ転送装置30から
は1つの入出力デバイス20からばらばらのアドレスが
要求されているようにしか見えないことがある。このよ
うな場合、入出力デバイス20に対し、その内部バスマ
スタの数だけ先読み機構306を選択すれば、先読みを
実現することが可能になる。
That is, in the input / output device 20,
There is a circuit configuration having a plurality of bus masters inside. When an address in a completely different section is independently requested from each bus master in the device 20 as described above, the data transfer device 30 receives a request from the data transfer device 30 even though each internal bus master requests a continuous address. It may appear that only one input / output device 20 requests a different address. In such a case, prefetching can be realized by selecting the prefetch mechanism 306 for the input / output device 20 by the number of internal bus masters.

【0072】その入出力デバイス20からリード要求が
あった場合、先読み機構識別機構304はスレーブ制御
機構302に対してそれら選択された複数の先読み機構
306を示す選択信号を供給する。スレーブ制御機構3
02は、それら複数の先読み機構306に対して所定の
順番でリードサイクルを要求していく。いずれかの先読
み機構306でプリフェッチバッファ内のデータがヒッ
トすれば、以降の先読み機構306には進まない。この
ようにしてそれら複数の先読み機構306を所定の順番
で当たっていく中で、最初にミスした先読み機構306
が、そのアドレスからの先読み処理を担当することにな
る。
When there is a read request from the input / output device 20, the prefetch mechanism identification mechanism 304 supplies a selection signal indicating the selected plurality of prefetch mechanisms 306 to the slave control mechanism 302. Slave control mechanism 3
No. 02 requests read cycles to the plurality of prefetch mechanisms 306 in a predetermined order. If data in the prefetch buffer is hit by any of the prefetch mechanisms 306, the process does not proceed to the subsequent prefetch mechanism 306. In this way, while hitting the plurality of prefetch mechanisms 306 in a predetermined order, the first mistake occurs in the prefetch mechanism 306.
Will be in charge of prefetching from that address.

【0073】[変形例3]また、例えばメモリ装置40
の実メモリのアドレス空間が、バス10のアドレスサイ
ズと同じ場合、未使用の上位アドレスを先読み機構の選
択に用いるという上述の手法はそのまま利用できない。
[Modification 3] For example, the memory device 40
If the address space of the real memory is the same as the address size of the bus 10, the above-described method of using an unused upper address for selecting a prefetch mechanism cannot be used as it is.

【0074】このような場合には、そのアドレス空間を
複数に分割し、各分割空間ごとに先読み機構306を割
り当てるようにすればよい。この場合、先読み機構識別
機構304は、入出力デバイス20の要求アドレスの上
位ビットから、そのアドレス区間を担当する先読み機構
306を自動的に選択することができる。
In such a case, the address space may be divided into a plurality of parts, and the prefetch mechanism 306 may be assigned to each divided space. In this case, the prefetch mechanism identification mechanism 304 can automatically select the prefetch mechanism 306 that is in charge of the address section from the upper bits of the request address of the input / output device 20.

【0075】なお、各分割区間ごとに複数の先読み機構
を割り当てるようにすれば、同じ分割区間に対して異な
るバスマスタからアクセスがあった場合にも対応でき、
融通性が高まる。
By assigning a plurality of prefetch mechanisms to each divided section, it is possible to cope with a case where the same divided section is accessed from a different bus master.
Greater flexibility.

【0076】[変形例4]また、上記実施形態では、入
出力デバイス20から1回目のリードアクセスがあって
初めて先読みを開始したが、この1回目のリードアクセ
スを待たずに先読みを開始することも可能である。
[Modification 4] In the above embodiment, prefetching is started only after the first read access from the input / output device 20, but prefetching is started without waiting for the first read access. Is also possible.

【0077】すなわち、この変形例では、デバイスドラ
イバが先読み機構306を選択し、先読み手法をレジス
タ部308に設定した時点で、その先読み機構306に
先読み処理を開始させる。この場合、先読み機構306
は、入出力デバイス20からの1回目の要求アドレスを
待たずに先読みを開始することになるので、デバイスド
ライバが先読み機構306を選択した時点で、デバイス
ドライバ自身がその先読み機構306に対して先読み処
理の開始アドレスを設定するようにする。
That is, in this modification, when the device driver selects the prefetching mechanism 306 and sets the prefetching method in the register unit 308, the prefetching mechanism 306 starts the prefetching process. In this case, the prefetch mechanism 306
Starts prefetching without waiting for the first request address from the input / output device 20. Therefore, when the device driver selects the prefetching mechanism 306, the device driver itself performs prefetching on the prefetching mechanism 306. Set the start address of the process.

【0078】この変形例によれば、入出力デバイス20
からの1回目のリードアクセスの時点から、要求したデ
ータが先読み機構306内に存在し、入出力デバイス2
0は、最初から最後まで先読み機構306からデータを
読み出すことになる。したがって、実メモリからのデー
タのリード処理は、入出力デバイス20から完全に隠蔽
され、高速なリード処理が実現できる。
According to this modification, the input / output device 20
The requested data exists in the prefetch mechanism 306 from the time of the first read access from the
0 means that data is read from the prefetch mechanism 306 from the beginning to the end. Therefore, the process of reading data from the real memory is completely hidden from the input / output device 20, and a high-speed read process can be realized.

【0079】[変形例5]上述の実施形態では、先読み
機構306がサポートする先読み手法として、インクリ
メントシーケンシャルとデクリメントシーケンシャルの
2種類を説明したが、これら以外の先読み手法も採用可
能である。別の先読み手法としては、例えばキャッシュ
方式、リングバッファ方式などがある。
[Fifth Modification] In the above-described embodiment, two types of prefetching methods supported by the prefetching mechanism 306 have been described: increment sequential and decremental sequential. However, other prefetching methods can be employed. As another look-ahead method, for example, there is a cache method, a ring buffer method, or the like.

【0080】キャッシュ方式は、マスタから要求された
アドレスのデータをミスする(プリフェッチバッファに
ない)ごとに、そのアドレスから始まる所定サイズのブ
ロックを先読みしてプリフェッチバッファに蓄える方式
である。プリフェッチバッファがいっぱいになれば、L
RU方式などの公知の方式で古いデータを新しいデータ
と置換する。これにより、局所性の高い、よく使用され
るデータを長期保存することができる。この方式は、バ
スマスタが要求するアドレスが予測できない場合などに
も、ある程度の先読み効果を提供することができる。
The cache system is a system in which every time data at the address requested by the master is missed (not in the prefetch buffer), a block of a predetermined size starting from the address is prefetched and stored in the prefetch buffer. If the prefetch buffer is full, L
Old data is replaced with new data by a known method such as the RU method. As a result, frequently used data having high locality can be stored for a long time. This method can provide a certain level of read-ahead effect even when the address requested by the bus master cannot be predicted.

【0081】また、リングバッファ方式は、データの開
始アドレスと折り返しアドレスを設定しておき、折り返
しアドレスまで先読みが終了すると開始アドレスに戻
り、同じブロック(開始アドレスから折り返しアドレス
まで)をサイクリックに繰り返して先読みする方式であ
る。
In the ring buffer system, a data start address and a return address are set, and when prefetching is completed up to the return address, the control returns to the start address, and the same block (from the start address to the return address) is cyclically repeated. This is a prefetching method.

【0082】このように各種の先読み手法を先読み機構
306に組み込み、選択して利用できるようにすること
により、様々な種類のデータ転送に先読みを実行するこ
とができる。
As described above, by incorporating various prefetching methods into the prefetch mechanism 306 and making them available selectively, prefetching can be executed for various types of data transfer.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 実施形態のデータ転送システムの概略構成を
示す図である。
FIG. 1 is a diagram illustrating a schematic configuration of a data transfer system according to an embodiment.

【図2】 先読み機構とアドレス上位ビットとの対応づ
けを示す図である。
FIG. 2 is a diagram showing a correspondence between a prefetch mechanism and upper bits of an address.

【図3】 先読み機構の使用状態を示すテーブルの一例
である。
FIG. 3 is an example of a table showing a use state of a prefetch mechanism.

【図4】 デバイスドライバの処理手順を示すフローチ
ャートである。
FIG. 4 is a flowchart illustrating a processing procedure of a device driver.

【図5】 別の先読み機構識別方式で使用するテーブル
の例である。
FIG. 5 is an example of a table used in another look-ahead mechanism identification method.

【図6】 バス使用許可信号により先読み機構を識別す
る変形例のシステム構成を示す図である。
FIG. 6 is a diagram illustrating a system configuration of a modification in which a prefetch mechanism is identified by a bus use permission signal.

【符号の説明】 10 システムバス、20 入出力デバイス、30 デ
ータ転送装置、40メモリ装置、302 スレーブ制御
機構、304 先読み機構識別機構、306先読み機
構、308 先読み手法指定レジスタ部、310 調停
機構、312メモリコントローラ。
[Description of Signs] 10 system bus, 20 input / output devices, 30 data transfer devices, 40 memory devices, 302 slave control mechanism, 304 prefetch mechanism identification mechanism, 306 prefetch mechanism, 308 prefetch method designation register section, 310 arbitration mechanism, 312 Memory controller.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 川染 一路 埼玉県岩槻市本町3丁目1番1号 WAT SUビル西館4F 富士ゼロックス株式会 社内 (72)発明者 吉野 勇司 埼玉県岩槻市本町3丁目1番1号 WAT SUビル西館4F 富士ゼロックス株式会 社内 (72)発明者 波多野 圭 埼玉県岩槻市本町3丁目1番1号 WAT SUビル西館4F 富士ゼロックス株式会 社内 (72)発明者 宮下 晴信 埼玉県岩槻市本町3丁目1番1号 WAT SUビル西館4F 富士ゼロックス株式会 社内 (72)発明者 岩渕 孝寛 埼玉県岩槻市本町3丁目1番1号 WAT SUビル西館4F 富士ゼロックス株式会 社内 Fターム(参考) 5B014 EA03 EB01 FA16 GC04 GC07 GC23 GD05 GD14 GD22 GD23 GD34 5B060 CA06 CB01 5B061 BA01 BA03 BB03 DD01 DD09 DD11 PP01 5B077 AA14 AA18 BA02 BB03 BB05 DD05 DD11 DD22  ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Ichikawa Kawasome 3-1-1 Honcho, Iwatsuki-shi, Saitama WAT SU Building West Building 4F Fuji Xerox Co., Ltd. In-house (72) Inventor Yuji Yoshino 3-chome, Honcho, Iwatsuki-shi, Saitama No. 1-1 WAT SU Building West Building 4F Fuji Xerox Co., Ltd. In-house (72) Inventor Kei Hatano 3-1-1 Honcho, Iwatsuki-shi, Saitama Prefecture WAT SU Building West Building 4F Fuji Xerox Co., Ltd. In-house (72) Inventor Harunobu Miyashita Saitama 3-1-1, Honcho, Iwatsuki-shi, WAT SU Building West Building 4F, Fuji Xerox Co., Ltd. In-house (72) Inventor Takahiro Iwabuchi 3-1-1, Honmachi, Iwatsuki-shi, Saitama 4F WAT SU Building West Building 4F, Fuji Xerox Co., Ltd. In-house F-term (Reference) 5B014 EA03 EB01 FA16 GC04 GC07 GC23 GD05 GD14 GD22 GD23 GD34 5B060 CA06 CB01 5B061 BA01 BA03 BB03 DD01 DD09 DD11 PP01 5B077 AA14 AA18 BA02 BB03 BB05 DD05 DD11 DD22

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 メモリと複数のデバイスとの間のデータ
転送のための転送制御システムであって、 前記メモリからデータの先読みを行ってバッファに蓄積
し、前記デバイスからリード要求されたアドレスのデー
タがバッファ内にあればそのデータを応答する複数の先
読み手段と、 前記デバイスを制御するデバイス制御手段であって、前
記デバイスに対し前記メモリからのリード処理を行わせ
る際に、前記複数の先読み手段からそのリード処理に利
用する先読み手段を選択するデバイス制御手段と、 前記デバイスからリード要求を受けた場合、そのデバイ
スに対して前記デバイス制御手段が選択した先読み手段
を識別し、その先読み手段に対しそのリード要求に対す
る応答を行わせる識別手段と、 を備えるデータ転送制御システム。
1. A transfer control system for transferring data between a memory and a plurality of devices, wherein data is pre-read from the memory and stored in a buffer, and data at an address requested to be read from the device is provided. A plurality of prefetch means for responding to the data if the data is in the buffer; and a device control means for controlling the device, wherein the plurality of prefetch means are provided when the device performs a read process from the memory. A device control unit for selecting a prefetch unit to be used for the read processing from the device, and when receiving a read request from the device, identifies the prefetch unit selected by the device control unit for the device. A data transfer control system comprising: identification means for responding to the read request;
【請求項2】 前記各先読み手段は、それぞれ複数の先
読み手法に対応可能であって、それらのうち外部から設
定された先読み手法で前記メモリからデータの先読みを
行う機能を備え、 前記デバイス制御手段は、利用する前記先読み手段を選
択すると同時に、選択した先読み手段に対し前記リード
処理に対応した先読み手法を選択して設定することを特
徴とする請求項1記載のデータ転送制御システム。
2. The device control means, wherein each of the prefetch means is capable of coping with a plurality of prefetch methods, and has a function of prefetching data from the memory by a prefetch method set from outside. 2. The data transfer control system according to claim 1, wherein, at the same time as selecting the prefetching means to be used, a prefetching method corresponding to the read processing is selected and set for the selected prefetching means.
【請求項3】 前記デバイス制御手段は、選択した前記
先読み手段を示す識別情報を該当するデバイスに設定
し、 前記デバイスは、リード要求の際、前記デバイス制御手
段から設定された前記先読み手段の識別情報を出力し、 前記識別手段は、前記デバイスがリード要求の際に出力
した前記識別情報に基づき、その要求に応答させる先読
み手段を識別する、 ことを特徴とする請求項1記載のデータ転送制御システ
ム。
3. The device control means sets identification information indicating the selected prefetch means in a corresponding device, and the device identifies the prefetch means set by the device control means at the time of a read request. 2. The data transfer control according to claim 1, wherein the information is output, and the identification unit identifies, based on the identification information output at the time of the read request, the read-ahead unit that responds to the request. 3. system.
【請求項4】 前記選択した先読み手段を示す識別情報
は、前記アドレスのうち前記メモリのアドレス空間で使
用されない上位ビットを用いて表されることを特徴とす
る請求項3記載のデータ転送制御システム。
4. The data transfer control system according to claim 3, wherein the identification information indicating the selected prefetch means is represented by using upper bits of the address that are not used in the address space of the memory. .
【請求項5】 前記メモリのアドレス空間を複数に分割
して各分割空間ごとに前記先読み手段を設け、前記識別
手段は前記デバイスからの要求アドレスが属する前記部
分空間の先読み手段に応答を行わせることを特徴とする
請求項1記載のデータ転送制御システム。
5. An address space of the memory is divided into a plurality of parts, and the prefetch means is provided for each divided space, and the identification means makes the prefetch means of the subspace to which a request address from the device belongs respond. 2. The data transfer control system according to claim 1, wherein:
【請求項6】 前記識別手段は、前記デバイス制御手段
が選択した先読み手段とそれに対応するデバイスとの対
応関係を記憶し、リード要求を行ったデバイスに対応す
る先読み手段を前記対応関係から識別することを特徴と
する請求項1記載のデータ転送制御システム。
6. The prefetch means stores a correspondence between the prefetch means selected by the device control means and a device corresponding to the prefetch means, and identifies the prefetch means corresponding to the device which has issued the read request from the correspondence relation. 2. The data transfer control system according to claim 1, wherein:
【請求項7】 前記識別手段は、バスアービタが出した
バス使用許可信号に基づき、リード要求を行っているデ
バイスを識別し、このデバイスに対応する先読み手段を
前記対応関係から識別することを特徴とする請求項6記
載のデータ転送制御システム。
7. The device according to claim 1, wherein the identification unit identifies a device that has issued a read request based on a bus use permission signal issued by a bus arbiter, and identifies a prefetching unit corresponding to the device from the correspondence relationship. The data transfer control system according to claim 6.
【請求項8】 前記デバイス制御手段は、選択した先読
み手段に対し、前記先読み手法に加えて前記リード処理
の開始アドレスを設定し、 選択された前記先読み手段は、前記デバイス制御手段か
ら先読み手法及び開始アドレスの設定を受けると、前記
デバイスからのリード要求を待たずに先読み処理を開始
することを特徴とする請求項2記載のデータ転送制御シ
ステム。
8. The device control means sets a start address of the read processing for the selected prefetch means in addition to the prefetch method, and the selected prefetch means determines a prefetch method and a prefetch method from the device control means. 3. The data transfer control system according to claim 2, wherein when a start address is set, a prefetch process is started without waiting for a read request from the device.
【請求項9】 1つの前記デバイスに対し複数の前記先
読み手段を対応づけ、前記デバイスからの異なる複数の
アドレス範囲への並列的なアクセスに対し、複数の前記
先読み手段にて対応可能とした請求項1記載のデータ転
送制御システム。
9. A plurality of prefetch means are associated with one device, and a plurality of prefetch means can cope with a parallel access from the device to a plurality of different address ranges. Item 2. The data transfer control system according to Item 1.
【請求項10】 メモリとデバイスとの間のデータ転送
のための転送制御システムであって、 複数の先読み手法に対応可能であり、その中で指定され
た先読み手法にて前記メモリからデータの先読みを行っ
てバッファに蓄積し、前記デバイスからリード要求され
たアドレスのデータがバッファ内にあればそのデータを
応答する複数の先読み手段と、 前記デバイスを制御するデバイス制御手段であって、前
記デバイスに対し前記メモリからのリード処理を行わせ
る際に、前記先読み手段に対して前記リード処理に対応
した先読み手法を選択して設定するデバイス制御手段
と、 を備えるデータ転送制御システム。
10. A transfer control system for transferring data between a memory and a device, which can correspond to a plurality of prefetching methods, and prefetches data from the memory by a prefetching method designated therein. A plurality of read-ahead means for responding to the data of the address requested to be read from the device if the data is in the buffer, and device control means for controlling the device, A data transfer control system comprising: a device control unit configured to select and set a prefetch method corresponding to the read process to the prefetch unit when performing a read process from the memory.
【請求項11】 メモリと複数のデバイスとの間のデー
タ転送を制御する装置であって、 前記メモリからデータの先読みを行ってバッファに蓄積
し、前記デバイスからリード要求されたアドレスのデー
タがバッファ内にあればそのデータを応答する複数の先
読み手段と、 前記デバイスを制御するデバイス制御手段から、前記デ
バイスがリード処理に使用する前記先読み手段の選択を
受け付ける手段と、 前記デバイスからリード要求を受けた場合、そのデバイ
スに対して前記デバイス制御手段が選択した先読み手段
を識別し、その先読み手段に対しそのリード要求に対す
る応答を行わせる識別手段と、 を備えるデータ転送制御装置。
11. An apparatus for controlling data transfer between a memory and a plurality of devices, wherein data is pre-read from the memory and stored in a buffer, and data at an address requested to be read from the device is stored in a buffer. A plurality of pre-reading means for responding to the data if it exists in the device; a means for receiving a selection of the pre-reading means used by the device for read processing from a device control means for controlling the device; A data transfer control device, comprising: identifying a prefetch means selected by the device control means for the device, and causing the prefetch means to respond to the read request.
JP2000070962A 2000-03-14 2000-03-14 Data transfer control system and device Pending JP2001256169A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000070962A JP2001256169A (en) 2000-03-14 2000-03-14 Data transfer control system and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000070962A JP2001256169A (en) 2000-03-14 2000-03-14 Data transfer control system and device

Publications (1)

Publication Number Publication Date
JP2001256169A true JP2001256169A (en) 2001-09-21

Family

ID=18589621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000070962A Pending JP2001256169A (en) 2000-03-14 2000-03-14 Data transfer control system and device

Country Status (1)

Country Link
JP (1) JP2001256169A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072473A (en) * 2004-08-31 2006-03-16 Fuji Xerox Co Ltd Data transfer method and device
JP2006251923A (en) * 2005-03-08 2006-09-21 Oki Electric Ind Co Ltd Look-ahead control method
JP2012128815A (en) * 2010-12-17 2012-07-05 Toshiba Corp Memory system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006072473A (en) * 2004-08-31 2006-03-16 Fuji Xerox Co Ltd Data transfer method and device
JP2006251923A (en) * 2005-03-08 2006-09-21 Oki Electric Ind Co Ltd Look-ahead control method
JP2012128815A (en) * 2010-12-17 2012-07-05 Toshiba Corp Memory system

Similar Documents

Publication Publication Date Title
KR100420707B1 (en) Method and system for bus arbitration in multiprocessor systems with simultaneous access of variable-width buses
KR100420706B1 (en) Method and system for I / O control in multiprocessor system using simultaneous access of variable width bus
US6049841A (en) Method and apparatus of selecting data transmission channels
US5644788A (en) Burst transfers using an ascending or descending only burst ordering
US6772237B2 (en) Host controller interface descriptor fetching unit
US5892978A (en) Combined consective byte update buffer
US6636927B1 (en) Bridge device for transferring data using master-specific prefetch sizes
US6189062B1 (en) Apparatus and method for address translation in bus bridge devices
KR100296718B1 (en) Method and system for simultaneously accessing variable-width buses in multiprocessor systems
JP2002140289A (en) Micro-controller dma operation with adjustable word size transfer and address array/increase
JP2853809B2 (en) Buffer memory subsystem and method for peripheral controller
EP0917063A2 (en) Data processing system and microprocessor
JP2002530731A (en) Method and apparatus for detecting data collision on a data bus during abnormal memory access or performing memory access at different times
JP2002530743A (en) Use the page tag register to track the state of a physical page in a memory device
US6397279B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
JPH10293744A (en) Pci bus system
JP2000115208A (en) Method and device for transferring data through processor interface bus
US6266723B1 (en) Method and system for optimizing of peripheral component interconnect PCI bus transfers
JP3455535B2 (en) Apparatus and method for performing bus processing
JPH06318174A (en) Cache memory system and method for performing cache for subset of data stored in main memory
JP2001256169A (en) Data transfer control system and device
US5809534A (en) Performing a write cycle to memory in a multi-processor system
US6205507B1 (en) Memory coherency in a processor-to-bus cycle in a multi-processor system
JP2009037639A (en) Dmac issue mechanism via streaming identification method
JP3206656B2 (en) Prefetch device and prefetch method on bus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040420

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040420

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070320

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070904