JPH09198300A - Method for controlling memory access - Google Patents

Method for controlling memory access

Info

Publication number
JPH09198300A
JPH09198300A JP8004546A JP454696A JPH09198300A JP H09198300 A JPH09198300 A JP H09198300A JP 8004546 A JP8004546 A JP 8004546A JP 454696 A JP454696 A JP 454696A JP H09198300 A JPH09198300 A JP H09198300A
Authority
JP
Japan
Prior art keywords
memory
data
read
memory area
access
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
JP8004546A
Other languages
Japanese (ja)
Inventor
Noboru Yamamoto
昇 山本
Masabumi Shibata
正文 柴田
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8004546A priority Critical patent/JPH09198300A/en
Publication of JPH09198300A publication Critical patent/JPH09198300A/en
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Memory System (AREA)

Abstract

PROBLEM TO BE SOLVED: To efficiently execute memory access from an I/O device by executing control so as to preferentially reading out the data of a memory area specified by a memory reading request and an area continued to the specified memory area only when the I/O device accesses continuous memory areas. SOLUTION: Access history showing whether a memory area designated by a memory reading request tends to be continued or not is sampled for each of I/O devices 105a, 105n. The access history information is referred to at the time of receiving a memory reading request from the I/O device 105a or 105n, and only when the I/O device 105a or 105n tends to access continuous memory areas, the data of a memory area designated by the memory reading request and a memory area continued to the specified memory area are controlled so as to be prefrentially read out. Even when plural-bus hierarchical constitution is adopted, memory access can be efficiently executed without increasing memory read latency.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】この発明は、コンピュータシ
ステムにおける入出力装置(I/O装置)からのメモリ
アクセス制御方法に係り、特に、I/O装置からのメモ
リアクセス傾向やアクセス特性を採取し、その結果によ
り、メモリアクセスの単位やタイミングを変化させるよ
うにしたメモリアクセス制御方法に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of controlling memory access from an input / output device (I / O device) in a computer system, and in particular, collecting memory access tendency and access characteristics from the I / O device, The present invention relates to a memory access control method in which the unit and timing of memory access are changed according to the result.

【0002】[0002]

【従来の技術】従来において、コンピュータシステムに
おけるI/O装置からのメモリアクセス制御方法につい
ては、例えば、特開平5−242010号公報に開示さ
れているように、2階層のバスを接続するバス接続装置
を設け、このバス接続装置の中にデータの一時格納用の
バッファを持たせ、バス相互間で効率的なデータ転送を
実行するようにしたものがある。
2. Description of the Related Art Conventionally, as for a method of controlling memory access from an I / O device in a computer system, for example, as disclosed in JP-A-5-242010, a bus connection for connecting buses of two layers There is a device which is provided with a buffer for temporarily storing data in this bus connection device so as to execute efficient data transfer between buses.

【0003】また、特開平5−242011号、特開平
5−242014号、特開平5−242015号公報に
開示されたものがある。
Further, there are those disclosed in JP-A-5-242011, JP-A-5-242014, and JP-A-5-242015.

【0004】これらの公知例に示されたデータバッファ
を用いたメモリアクセス制御方法にあっては、I/O装
置からのメモリリード要求をバス接続装置が受け付けた
場合、バス接続装置はメモリ制御部に対して、メモリに
接続するバスを経由して所定の速度かつ要求データ量で
メモリリード要求を発行する。
In the memory access control method using the data buffer shown in these publicly known examples, when the bus connection device accepts a memory read request from the I / O device, the bus connection device operates as a memory control unit. , A memory read request is issued at a predetermined speed and a requested data amount via a bus connected to the memory.

【0005】通常、この要求データ量は、I/O装置か
らの要求データ量よりも大きい。バス接続装置は、その
リードデータをバス接続装置内のデータバッファに一時
格納し、I/O装置からの要求データをI/O装置に返
送する。この状態で、次回にI/O装置から連続する領
域へのメモリリード要求が発生した場合には、データバ
ッファ内部に存在するデータをI/O装置に返送する。
Usually, this requested data amount is larger than the requested data amount from the I / O device. The bus connecting device temporarily stores the read data in a data buffer in the bus connecting device and returns the request data from the I / O device to the I / O device. In this state, when a memory read request from the I / O device to a continuous area is generated next time, the data existing in the data buffer is returned to the I / O device.

【0006】このような方法により、I/O装置からメ
モリに対するアクセス回数を削減し、I/O装置から見
たメモリリードレイテンシを削減し、効率的なデータ転
送を実行し、その結果として、I/O装置によるメモリ
アクセス時のスループットを向上させるものである。
By such a method, the number of accesses to the memory from the I / O device is reduced, the memory read latency seen from the I / O device is reduced, and efficient data transfer is executed. As a result, I This is to improve the throughput at the time of memory access by the / O device.

【0007】[0007]

【発明が解決しようとする課題】近年、データ処理シス
テムあるいはコンピュータシステムにおいては、サポー
トするディスク装置などに大容量化が求められ、かつ高
速の入出力動作を行うことが要求されている。I/O装
置の容量を増加するためには、I/O装置自体を大容量
なものにするだけでなく、接続するI/O装置の数を増
やすために、I/Oバスの数を増加し、I/O装置接続
箇所を増加する必要がある。
In recent years, in a data processing system or a computer system, it is required that a supported disk device or the like has a large capacity and high-speed input / output operation. In order to increase the capacity of the I / O device, not only the capacity of the I / O device itself is increased, but also the number of I / O buses is increased in order to increase the number of I / O devices to be connected. However, it is necessary to increase the number of I / O device connection points.

【0008】ここで、I/Oバスの数を増加するために
は、その物理的理由により、バス構造の階層を増やすな
どの方法を採用することが必要である。
In order to increase the number of I / O buses, it is necessary to adopt a method such as increasing the hierarchy of the bus structure due to the physical reason.

【0009】この方法では、I/O装置とメモリとの間
のバス階層と論理が増加し、I/O装置がメモリリード
を実行する場合、メモリリード時のレイテンシが大きく
なり、副作用としてスループットが減少する。また、デ
ィスク入出力装置、高速通信回線、画像I/Oなどの高
いスループットを要求するI/O装置を搭載する場合で
は、設計値の性能を得ることができなくなる。
In this method, the bus hierarchy and the logic between the I / O device and the memory increase, and when the I / O device executes the memory read, the latency at the time of the memory read becomes large and the throughput is a side effect. Decrease. Further, when an I / O device that requires a high throughput such as a disk input / output device, a high-speed communication line, and an image I / O is mounted, the performance of the designed value cannot be obtained.

【0010】そこで、上記従来技術を応用し、I/O装
置からのメモリリード要求に対して、メモリリード要求
された領域に連続したメモリ領域も同時に読み出し、そ
の読出しデータをデータバッファに格納しておき、次回
のメモリリード要求に対してはデータバッファ内のデー
タをI/O装置に返送することにより、メモリリード時
のレイテンシを小さくする方法が考えられる。
Therefore, by applying the above-mentioned conventional technique, in response to a memory read request from an I / O device, a memory area continuous to the area requested to be read is also read at the same time, and the read data is stored in a data buffer. Then, in response to the next memory read request, the data in the data buffer may be returned to the I / O device to reduce the latency at the time of memory read.

【0011】また他に、事前にメモリリードアドレスを
予測し、その予測したメモリアドレス領域を先行して読
み出すことにより、レイテンシを小さくする方法が考え
られる。
In addition, another method is conceivable in which the memory read address is predicted in advance and the predicted memory address area is read in advance to reduce the latency.

【0012】しかし、同一のI/O装置が常に連続した
領域へのメモリリード要求を発生するとは限らない。ま
た、予測したメモリリードアドレスが実際に要求された
アドレスと常に一致するとは限らない。
However, the same I / O device does not always generate a memory read request to a continuous area. Moreover, the predicted memory read address does not always match the actually requested address.

【0013】従って、同一のI/O装置が連続した領域
へのメモリリード要求を発生しない場合や、予測したメ
モリリードアドレスが実際に要求されたアドレスと異な
っている場合では、I/O装置に転送しない無駄なデー
タをメモりから読み出すこととなり、不要なメモリへの
読出し動作やバス上での無駄なデータ転送動作が生じ、
中央処理装置(CPU)や他のI/O装置などからのデ
ータ転送を却って妨害してしまう事象が発生し得る。こ
のような事象が発生した場合には、システム全体の性能
が低下することになる。
Therefore, when the same I / O device does not issue a memory read request to a continuous area, or when the predicted memory read address is different from the actually requested address, the I / O device is notified. Unnecessary data that is not transferred will be read from memory, and unnecessary memory read operations and unnecessary data transfer operations on the bus will occur.
An event may occur in which data transfer from a central processing unit (CPU) or another I / O device is rather disturbed. When such an event occurs, the performance of the entire system will deteriorate.

【0014】本発明の目的は、複数バス階層構成を採用
した場合であっても、メモリリードレイテンシを増加さ
せることなく、I/O装置からのメモリアクセスを効率
良く実行することができるメモリアクセス制御方法を提
供することにある。
It is an object of the present invention to perform memory access control capable of efficiently executing a memory access from an I / O device without increasing the memory read latency even when a multi-bus hierarchical structure is adopted. To provide a method.

【0015】[0015]

【課題を解決するための手段】上記目的を達成するため
に、本発明のメモリアクセス制御方法は、I/O装置毎
に、そのメモリリード要求で指定されるメモリ領域が連
続する傾向にあるのか否かのアクセス履歴を採取し、I
/O装置からのメモリリード要求に対して当該I/O装
置のアクセス履歴の情報を参照し、当該I/O装置が連
続メモリ領域をアクセスする傾向にある場合にのみ、該
メモリリード要求で指定されたメモリ領域に加え、該メ
モリ領域に連続するメモリ領域のデータを先行して読出
す制御を行うことを特徴とする。
In order to achieve the above object, the memory access control method of the present invention has a tendency that, for each I / O device, the memory area designated by the memory read request is continuous. I collect the access history of whether or not, I
For the memory read request from the I / O device, refer to the access history information of the I / O device, and specify in the memory read request only when the I / O device tends to access the continuous memory area. In addition to the selected memory area, the control is performed such that the data in the memory area continuous to the memory area is read in advance.

【0016】また、I/O装置毎に、そのメモリリード
要求で指定されるメモリ領域が連続する傾向にあるのか
否かのアクセス特性情報を予め設定しておき、I/O装
置からのメモリリード要求に対して当該I/O装置のア
クセス特性情報を参照し、当該I/O装置が連続メモリ
領域をアクセスする傾向にある場合にのみ、該メモリリ
ード要求で指定されたメモリ領域に加え、該メモリ領域
に連続するメモリ領域のデータを先行して読出す制御を
行うことを特徴とする。
Further, access characteristic information indicating whether or not the memory area designated by the memory read request tends to be continuous is preset for each I / O device, and the memory read from the I / O device is set. In response to the request, the access characteristic information of the I / O device is referred to, and only when the I / O device tends to access the continuous memory area, in addition to the memory area specified by the memory read request, It is characterized in that control is performed such that data in a memory area continuous to the memory area is read in advance.

【0017】ここで、連続するメモリ領域のデータは、
メモリリード要求で指定されたメモリ領域のデータを読
出した後、次回のメモリリード要求が同一I/O装置か
ら発行される以前のタイミングで読み出す方法と、今回
のメモリリード要求で指定されたメモリ領域と同じタイ
ミングで読み出す方法がある。
Here, the data in the continuous memory area is
After reading the data in the memory area specified by the memory read request, the method reads the data before the next memory read request is issued from the same I / O device, and the memory area specified by the current memory read request. There is a method to read at the same timing as.

【0018】また、アクセス特性情報は、I/O装置毎
に設けたレジスタに予め設定しておき、システム初期診
断や構成認識実行時にプログラムにより、各I/O装置
毎のアクセス特性情報を採取することにより、その情報
により、各I/O装置からのメモリリード要求に対し
て、連続メモリ領域まで先行して読み出すかを決定する
ことができる。
The access characteristic information is preset in a register provided for each I / O device, and the access characteristic information for each I / O device is collected by a program at the time of system initial diagnosis and configuration recognition execution. As a result, it is possible to determine whether to read the continuous memory area prior to the memory read request from each I / O device, based on the information.

【0019】この場合、アクセス特性情報を設定するレ
ジスタは、各I/O装置内に設ける構成であってもよい
し、メモリのシステム構成情報設定領域に設ける構成で
あってもよい。
In this case, the register for setting the access characteristic information may be provided in each I / O device or may be provided in the system configuration information setting area of the memory.

【0020】アクセス履歴またはアクセス特性情報を参
照し、連続メモリ領域をアクセスする傾向にある場合に
のみ、メモリリード要求で指定されたメモリ領域に加
え、該メモリ領域に連続するメモリ領域のデータを先行
して読出す制御を行うことにより、連続メモリ領域をア
クセスする傾向にない場合は、指定されたメモリ領域の
みのデータ読出しが実行されるため、I/O装置に転送
しない無駄なデータの先行読出し動作とデータ転送動作
が減少し、メモリリードレイテンシを減少させ、ひいて
はシステムの性能の低下を防止することが可能になる。
Only when there is a tendency to access the continuous memory area by referring to the access history or access characteristic information, in addition to the memory area specified by the memory read request, the data of the memory area continuous to the memory area is preceded. When the continuous memory area is not tended to be accessed by performing the read control, the data reading is executed only in the designated memory area, so that the useless data advance reading that is not transferred to the I / O device is performed. The operation and the data transfer operation are reduced, the memory read latency can be reduced, and the deterioration of the system performance can be prevented.

【0021】特に、I/O装置毎にアクセス特性情報を
設定する方法では、入出力バス(I/Oバス)に接続さ
れるI/O装置が変更された時に、新たなアクセス特性
情報を設定または採取する必要が生じるが、アクセス履
歴を採取する方法にあっては、入出力バスに接続される
I/O装置が変更された場合であってもその必要がな
く、システムの運用において極めて効果的である。
Particularly, in the method of setting access characteristic information for each I / O device, new access characteristic information is set when the I / O device connected to the input / output bus (I / O bus) is changed. However, the access history collection method does not need to be performed even when the I / O device connected to the I / O bus is changed, which is extremely effective in system operation. Target.

【0022】[0022]

【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して詳細に説明する。
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

【0023】第1の実施の形態 図1は、本発明を適用したコンピュータシステムの第1
の実施の形態を示すブロック構成図であり、CPU10
1およびメモリ102とバス接続装置103がシステム
バス104により接続され、さらにバス接続装置103
の直下の階層のI/Oバス106には複数のI/O装置
105a,105nが接続されている。
First Embodiment FIG. 1 shows a first computer system to which the present invention is applied.
2 is a block configuration diagram showing an embodiment of
1 and the memory 102 and the bus connecting device 103 are connected by the system bus 104, and the bus connecting device 103
A plurality of I / O devices 105a and 105n are connected to the I / O bus 106 in the layer immediately below the.

【0024】バス接続装置103は、複数のI/O装置
105a,105nからのメモリアクセスを制御する装
置である。
The bus connection device 103 is a device for controlling memory access from a plurality of I / O devices 105a and 105n.

【0025】なお、バス接続装置103とI/Oバスの
階層数は任意である。
The number of layers of the bus connection device 103 and the I / O bus is arbitrary.

【0026】図1の構成においては、例えばI/O装置
105aがI/Oバス106上にメモリアクセス要求を
発生すると、バス接続装置103は、そのメモリアクセ
ス要求を受け取り、システムバス104の転送フォーマ
ットに変換し、メモリ202へメモリアクセス要求を発
行する。このメモリアクセス要求が読出し要求であった
場合には、その要求で指定されたデータがメモリ202
から読み出され、バス接続装置103経由で要求元のI
/O装置105aに返送される。
In the configuration of FIG. 1, for example, when the I / O device 105a issues a memory access request on the I / O bus 106, the bus connection device 103 receives the memory access request and transfers the system bus 104 in the transfer format. And issues a memory access request to the memory 202. If the memory access request is a read request, the data specified by the request is stored in the memory 202.
Read from the I / O server, and the request source I
It is returned to the I / O device 105a.

【0027】図2は、バス接続装置103の内部構成を
詳細に示したブロック図であり、バス接続装置103
は、I/Oバスインタフェース制御部1031、システ
ムバスインタフェース制御部1032、バッファ制御部
1033、ヒストリ採取/記憶制御部1034から構成
されている。
FIG. 2 is a block diagram showing in detail the internal configuration of the bus connection device 103.
Is composed of an I / O bus interface control unit 1031, a system bus interface control unit 1032, a buffer control unit 1033, and a history collection / storage control unit 1034.

【0028】I/Oバスインタフェース制御部1031
は、I/Oバス106を介して複数のI/O装置105
a,105nとの間のデータの転送を行うものであり、
I/O装置105a,105nのいずれかがI/Oバス
106上に発行したメモリアクセス要求を受信した場合
には、メモリアクセス要求発行元のI/O装置を示す情
報、アクセス先を示すアドレス情報、要求データ量、リ
ードとライトの区別を示す情報を、ヒストリ採取/記憶
部1034の判定部1035およびキュー1036と、
バッファ制御部1033内のデータバッファ入出力制御
部1038およびバッファデータ制御部1039に対し
て転送する。
I / O bus interface controller 1031
Are connected to the plurality of I / O devices 105 via the I / O bus 106.
a, 105n to transfer data between
When one of the I / O devices 105a and 105n receives a memory access request issued on the I / O bus 106, information indicating the I / O device that issued the memory access request and address information indicating the access destination , The requested data amount, information indicating the distinction between read and write, and the determination unit 1035 and the queue 1036 of the history collection / storage unit 1034,
The data is transferred to the data buffer input / output control unit 1038 and the buffer data control unit 1039 in the buffer control unit 1033.

【0029】システムバスインタフェース制御部103
2は、バッファ制御部1033からのメモリアクセス要
求を受け取り、システムバス104を経由してメモリア
クセス要求を発行し、またシステムバス104からメモ
リリード要求に対する読出しデータを受け取ると、その
受信報告をデータバッファ入出力制御部1038に行う
と共に、読出しデータをバッファ制御部1033のデー
タバッファ1040に転送するものである。
System bus interface control unit 103
2 receives a memory access request from the buffer control unit 1033, issues a memory access request via the system bus 104, and receives read data for the memory read request from the system bus 104, the reception report is received in the data buffer. This is performed for the input / output control unit 1038 and also transfers the read data to the data buffer 1040 of the buffer control unit 1033.

【0030】バッファ制御部130は、メモリ102に
対して発行したリード要求に対する読出しデータを格納
するデータバッファ1040、その読出しデータのアド
レス、転送先I/O装置を示す情報を格納するアドレス
格納バッファ1041、I/Oバスインタフェース制御
部1031からのメモリアクセス要求を受け取り、デー
タバッファ1040内部にアクセス先メモリのデータの
コピーを格納しているか否かを判定するバッファデータ
制御部1039を備えている。
The buffer controller 130 stores a data buffer 1040 for storing read data for a read request issued to the memory 102, an address of the read data, and an address storage buffer 1041 for storing information indicating a transfer destination I / O device. , A buffer data control unit 1039 which receives a memory access request from the I / O bus interface control unit 1031 and determines whether or not a copy of the data of the access destination memory is stored in the data buffer 1040.

【0031】また、制御のための機能として、データバ
ッファ1040の内部のデータが有効であるか無効であ
るかを示す有効フラグを持ち、その有効フラグのセット
とリセットの制御および読出しデータを受信してデータ
バッファ1040に格納制御を行うバッファ入出力制御
部1038を備え、メモリリード要求発行時には、アド
レスバッファ1041内部にメモリリード先アドレスを
格納しておき、アドレスバッファ1041に格納したメ
モリリード先アドレスに対応するデータバッファ104
0内のバッファ領域に読出しデータを格納するように構
成されている。
As a control function, a valid flag indicating whether the data inside the data buffer 1040 is valid or invalid is provided, and control and read data for setting and resetting the valid flag are received. The data buffer 1040 is provided with a buffer input / output control unit 1038 for performing storage control. When a memory read request is issued, the memory read destination address is stored inside the address buffer 1041 and the memory read destination address stored in the address buffer 1041 is stored. Corresponding data buffer 104
The read data is stored in the buffer area within 0.

【0032】バッファデータ制御部1039は、メモリ
リード要求に関する情報(メモリアクセス要求発行元の
I/O装置を示す情報)とアドレスバッファ1041に
格納してあるアドレス情報およびバッファの内部のデー
タが有効であるか無効であるかを示す有効フラグを用い
て、メモリリード要求先のデータがデータバッファ10
40に有効データとして格納されているか否かを判定
し、判定結果をデータバッファ入出力制御部1038へ
報告するものである。
The buffer data control unit 1039 validates the information regarding the memory read request (information indicating the I / O device which issued the memory access request), the address information stored in the address buffer 1041 and the data inside the buffer. Data of the memory read request destination is stored in the data buffer 10 by using the valid flag indicating whether the data is valid or invalid.
It is determined whether or not the data is stored as valid data in 40, and the determination result is reported to the data buffer input / output control unit 1038.

【0033】一方、ヒストリ採取/記憶部1034は、
各I/O装置毎に用意したヒストリカウンタ1037お
よびカウンタ制御部1042、判定部1035、キュー
1036によって構成されている。
On the other hand, the history collection / storage unit 1034 is
The I / O device includes a history counter 1037, a counter control unit 1042, a determination unit 1035, and a queue 1036.

【0034】キュー1036は、対応するI/O装置毎
に、I/Oバス106上に発行されたメモリアクセス要
求のうち最新のアドレスと要求データ量、リードとライ
トの区別の情報を記憶するものである。
The queue 1036 stores, for each corresponding I / O device, the latest address of the memory access request issued on the I / O bus 106, the requested data amount, and information for distinguishing between read and write. Is.

【0035】判定部1035は、キュー1036に記憶
した情報と、I/Oバスインタフェース制御部1031
から転送されてきたアクセス発行元I/O装置を示す情
報とメモリアクセス要求の情報により、I/Oバス10
6上に発行された、そのI/O装置によるメモリアクセ
ス要求が、そのI/O装置が1つ前に発行したメモリア
クセス要求先領域に連続する領域への同一要求データ量
のメモリリード要求であったか否かを判定し、この判定
結果をカウンタ制御部1042へ転送するものである。
The determination unit 1035 has information stored in the queue 1036 and the I / O bus interface control unit 1031.
The information indicating the access issue source I / O device and the memory access request information transferred from the I / O bus 10
6 is a memory read request issued by the I / O device, which is a memory read request of the same requested data amount to an area continuous to the memory access request destination area issued immediately before by the I / O apparatus. It is determined whether or not there is, and the determination result is transferred to the counter control unit 1042.

【0036】ヒストリカウンタ1037およびカウンタ
制御部1042は、I/O装置毎にメモリアクセスのヒ
ストリの採取と記憶を行うものである。ヒストリカウン
タ1037は、各I/O装置毎に用意し、判定部103
5から送られる制御信号によりカウント値が増加または
減少する。このヒストリカウンタ1037は、各I/O
装置ごとに用意したN(Nは整数)ビットのカウンタで
あり、初期値は「0」、取り得る値は「0」以上で
「(2のN乗)−1」以下である。
The history counter 1037 and the counter control unit 1042 collect and store the history of memory access for each I / O device. The history counter 1037 is prepared for each I / O device, and the determination unit 103
The count value is increased or decreased according to the control signal sent from 5. This history counter 1037 is used for each I / O
The counter is an N-bit (N is an integer) bit counter prepared for each device. The initial value is “0”, and the possible values are “0” or more and “(2 N power) −1” or less.

【0037】ヒストリカウンタ1037の制御につい
て、図3を用いて説明する。
The control of the history counter 1037 will be described with reference to FIG.

【0038】判定部1035は、あるI/O装置による
連続領域への同一要求データ量のリード要求を検出した
場合、ヒストリカウンタ1037のカウントアップ要求
信号をカウンタ制御部1042に送信する。
The determination unit 1035 transmits a count-up request signal of the history counter 1037 to the counter control unit 1042 when a read request of the same request data amount to a continuous area by a certain I / O device is detected.

【0039】カウンタ制御部1042は、該当するヒス
トリカウンタ1037のカウント値を「1」増加する。
但し、カウント値が最大値であった場合には、値は変化
させない。
The counter control unit 1042 increments the count value of the corresponding history counter 1037 by "1".
However, when the count value is the maximum value, the value is not changed.

【0040】判定部1035は、上記以外のリード要求
またはライト要求を検出した場合、ヒストリカウンタ1
037のカウント値を「1」減らす。但し、カウント値
が「0」の場合には、「0」のまま保持する。
When the determining unit 1035 detects a read request or a write request other than the above, the history counter 1
The count value of 037 is reduced by "1". However, when the count value is "0", it is held as "0".

【0041】すなわち、判定部1035は、あるI/O
装置が1つ前に発行したメモリアクセスに対して、 (1)転送要求データ量が一致する (2)連続するアドレス空間へのアクセス (3)リードアクセス である「条件A」を満足した時、ヒストリカウンタ10
37のカウントアップ要求信号をカウンタ制御部104
2に送信する。
That is, the determination unit 1035 determines that a certain I / O
When the device satisfies the "condition A", which is (1) the transfer request data amount matches the previous memory access, (2) continuous access to the address space, and (3) read access, History counter 10
The count-up request signal of 37 is sent to the counter control unit 104.
Send to 2.

【0042】また、メモリアクセスがメモリライト要求
であった時、またはメモリリード要求であるが、1つ前
に発行したメモリアクセスに対して、 (1)転送要求データ量が一致しない (2)連続するアドレス空間へのアクセスではない (3)リードアクセスではない という「条件B」に該当する場合は、判定部1035
は、ヒストリカウンタ1037のカウント値を「1」減
らす要求信号をカウンタ制御部1042に送信する。
When the memory access is a memory write request or a memory read request, (1) the transfer request data amount does not match that of the memory access issued immediately before (2) continuous Access to the address space to be performed (3) If the “condition B” of not being a read access is satisfied, the determination unit 1035
Sends a request signal for reducing the count value of the history counter 1037 by “1” to the counter control unit 1042.

【0043】従って、各I/O装置にそれぞれ対応した
ヒストリカウンタ1037には、現在までのメモリアク
セス動作において、連続した領域をリードアクセスした
回数が多い程、大きな値のカウント値が保持されること
になる。
Therefore, the history counter 1037 corresponding to each I / O device holds a larger count value as the number of times of continuous read access to the memory area increases. become.

【0044】この場合、「条件B」に該当するメモリア
クセスにたいしてはカウント値が減らされるため、最近
のリードアクセスにおけるリードアドレスが連続してい
る場合にのみ、カウント値が大きくなる。
In this case, since the count value is decreased for the memory access corresponding to the "condition B", the count value becomes large only when the read addresses in the latest read access are continuous.

【0045】ここで、ヒストリカウンタ1037のカウ
ント値が、図3に示すように、ある値(例えば、2)以
上の場合には、カウンタ制御部1042は、対応するI
/O装置は連続領域へのアクセスを実行すると予想し、
データバッファ入出力制御部1038に対して、連続領
域へのアクセスを予測する信号を送信する。
Here, when the count value of the history counter 1037 is a certain value (for example, 2) or more as shown in FIG. 3, the counter control unit 1042 causes the corresponding I value.
/ O device expects to perform access to contiguous areas,
A signal for predicting access to the continuous area is transmitted to the data buffer input / output control unit 1038.

【0046】データバッファ入出力制御部1038で
は、カウンタ制御部1042からの連続領域アクセス予
測信号と、バッファデータ制御部133からのメモリア
クセス要求信号,メモリアクセス要求アドレス,要求デ
ータ量表示信号,アクセス発行元I/O装置を示す情報
を受信する。
In the data buffer input / output control unit 1038, the continuous area access prediction signal from the counter control unit 1042, the memory access request signal, the memory access request address, the requested data amount display signal, and the access issue from the buffer data control unit 133. The information indicating the original I / O device is received.

【0047】データバッファ入出力制御部1038は、
要求されたデータがデータバッファ1040内部に存在
する場合には、データバッファ1040から該当データ
をリードし、I/Oバスインタフェース制御部1031
へデータを転送する。
The data buffer input / output control unit 1038
When the requested data exists inside the data buffer 1040, the corresponding data is read from the data buffer 1040 and the I / O bus interface control unit 1031 is read.
Transfer data to.

【0048】しかし、データバッファ1040内部に該
当データが存在しない場合には、システムバスインタフ
ェース制御部1032に対してメモリリード要求を発行
する。
However, if the corresponding data does not exist inside the data buffer 1040, a memory read request is issued to the system bus interface control unit 1032.

【0049】データバッファ1040内部にデータが存
在しない場合において、アクセス発行元I/O装置に対
応するカウンタ制御部1042からの連続領域アクセス
予測信号が出力されており、かつデータバッファ104
0のデータ処理バイト数と同じアドレス境界へのリード
要求であった場合には、I/Oバス106上でのメモリ
リード要求データ量から、データバッファ1040に格
納可能な最大データ量に、要求データ量を拡大してメモ
リリードを行う。
When there is no data in the data buffer 1040, the continuous area access prediction signal from the counter control unit 1042 corresponding to the access issue source I / O device is output, and the data buffer 104 is also present.
If the read request is to the same address boundary as the number of data processing bytes of 0, the request data is changed from the memory read request data amount on the I / O bus 106 to the maximum data amount that can be stored in the data buffer 1040. Read the memory by expanding the amount.

【0050】次に、メモリアクセス時の要求データ量の
拡大制御について、図4を用いて説明する。
Next, the expansion control of the requested data amount at the time of memory access will be described with reference to FIG.

【0051】この場合、ヒストリカウンタ1037を2
ビット構成のカウンタとし、カウント値の初期値を
「0」とする。また、カウント値が「2」以上の場合
に、I/O装置が連続した領域へのメモリリード要求を
発行すると予測し、メモリリード時に要求データ量を増
やしてメモリリードを実行するものとする。
In this case, the history counter 1037 is set to 2
The counter has a bit configuration, and the initial value of the count value is "0". When the count value is “2” or more, it is predicted that the I / O device will issue memory read requests to continuous areas, and the memory read is executed by increasing the requested data amount at the time of memory read.

【0052】まず、I/O装置105a,105nのう
ち例えば105aが、I/Oバス106上にメモリ10
2の「0」番地からの16バイトデータのメモリリード
要求401を発行した場合、バス接続装置103は、メ
モリリード要求の検出によりヒストリカウンタ1037
のカウント値を「1」増加すると共に、「0」番地から
の16バイトデータのメモリリード要求411をメモリ
102に発行する。
First, for example, 105a of the I / O devices 105a and 105n is connected to the memory 10 on the I / O bus 106.
When the memory read request 401 of 16-byte data from the address “0” of 2 is issued, the bus connection device 103 detects the memory read request and detects the history counter 1037.
The count value of is increased by "1" and a memory read request 411 of 16-byte data from the address "0" is issued to the memory 102.

【0053】I/O装置105aがメモリ102からリ
ードデータを受け取った後、最後に発行したメモリリー
ド要求401にてリードした領域に連続する領域、即
ち、16進数で10番地(0x10番地)への16バイ
トのデータのメモリリード要求402を発行した場合、
バス接続装置103は、前回と同様に、ヒストリカウン
タ1037のカウンタ値を「1」増加して「2」とし、
メモリリード要求412を発行する。
After the I / O device 105a receives the read data from the memory 102, a region continuous with the region read by the memory read request 401 issued last, that is, to the hexadecimal address 10 (0x10) When a memory read request 402 of 16-byte data is issued,
The bus connection device 103 increments the counter value of the history counter 1037 by “1” to “2”, as in the previous time.
A memory read request 412 is issued.

【0054】さらに、メモリリード要求402によって
読出した領域に連続する領域へのI/O装置105aか
らのメモリリード要求403をバス接続装置103が受
信した場合、前記のように、連続領域へのリード要求で
あること、かつヒストリカウンタ1037のカウント値
が「2」以上であることから、バス接続装置103は、
そのI/O装置105aは今後も連続アドレス領域への
アクセスを実行するものと予測し、メモリ102に対し
16バイトのリード要求ではなく、要求データ量を増や
した「32」バイトのメモリリード要求413を発行す
る。このとき、ヒストリカウンタ1037のカウント値
も「1」増加し、「3」とする。
Further, when the bus connection device 103 receives the memory read request 403 from the I / O device 105a to the area continuous to the area read by the memory read request 402, as described above, the read to the continuous area is performed. Since it is a request and the count value of the history counter 1037 is “2” or more, the bus connection device 103
It is predicted that the I / O device 105a will continue to access the continuous address area, and instead of the 16-byte read request to the memory 102, the "32" -byte memory read request 413 in which the requested data amount is increased is performed. To issue. At this time, the count value of the history counter 1037 is also increased by "1" to "3".

【0055】次のメモリリード要求403をバス接続装
置103が検出した時、すなわちI/O装置105aか
らの16進数で30番地(0x30番地)への16バイ
トのデータのメモリリード要求403をバス接続装置1
03が検出した場合、バス接続装置103は、データバ
ッファ1040内部にリード要求先のメモリデータのコ
ピーを持っているので、メモリ102へのメモリリード
要求を発行せずに、データバッファ1040内部のデー
タを要求元のI/O装置105aに対して転送する。
When the bus connection device 103 detects the next memory read request 403, that is, the memory read request 403 of 16 bytes of data from the I / O device 105a to hexadecimal number 30 (0x30) is connected to the bus. Device 1
When 03 detects, the bus connection device 103 has a copy of the memory data of the read request destination in the data buffer 1040, and therefore, the data in the data buffer 1040 is not issued without issuing the memory read request to the memory 102. To the request source I / O device 105a.

【0056】このように、ヒストリカウンタ1037に
よって各I/O装置のアクセス履歴を採取し、そのアク
セス履歴の情報を参照し、メモリリード要求を発したI
/O装置が連続メモリ領域をアクセスする傾向にある場
合にのみ、メモリリード要求で指定されたメモリ領域に
加え、該メモリ領域に連続するメモリ領域のデータを先
行して読出す制御を行うことにより、連続メモリ領域を
アクセスする傾向にない場合は、指定されたメモリ領域
のみのデータ読出しが実行されるため、I/O装置に転
送しない無駄なデータの先行読出し動作とデータ転送動
作が減少し、メモリリードレイテンシを減少させ、ひい
てはシステムの性能の低下を防止することが可能にな
る。
As described above, the history counter 1037 collects the access history of each I / O device, refers to the access history information, and issues the memory read request.
Only when the I / O device tends to access the continuous memory area, in addition to the memory area specified by the memory read request, the data in the memory area continuous to the memory area is controlled to be read in advance. If there is no tendency to access the continuous memory area, only the designated memory area is read out, which reduces the useless data read-ahead operation and the data transfer operation which are not transferred to the I / O device. It is possible to reduce the memory read latency, and eventually prevent the performance of the system from deteriorating.

【0057】特に、I/O装置毎にアクセス履歴を採取
しているため、I/Oバス106に接続されるI/O装
置が変更された場合であってもアクセス特性などの情報
について何等の設定操作を行う必要がなく、システムの
運用において極めて効果的である。
In particular, since the access history is collected for each I / O device, even if the I / O device connected to the I / O bus 106 is changed, what kind of information about access characteristics and the like can be obtained. There is no need to perform setting operation, which is extremely effective in system operation.

【0058】第2の実施形態 バス接続装置103によってI/O装置毎のメモリアク
セスヒストリを採取し、記憶するのではなく、システム
の初期診断や構成認識実行時に、プログラムにより、各
I/O装置のアクセス特性を示す情報を取得し、その情
報により、I/O装置からのメモリリード要求に対し
て、転送要求データ量を増加するのか、また先行リード
要求を発行するかを、バス接続装置103に設定する構
成とすることによっても、メモリリードレイテンシの増
大を防ぎ、システム性能の向上を図ることができる。
Second Embodiment Instead of collecting and storing the memory access history of each I / O device by the bus connection device 103, each I / O device is programmed by a program at the time of initial diagnosis and configuration recognition execution of the system. Information indicating the access characteristics of the bus connection device 103, which is used to determine whether the transfer request data amount is increased or the preceding read request is issued in response to the memory read request from the I / O device. With the configuration set to, it is possible to prevent an increase in memory read latency and improve system performance.

【0059】この場合、図2のヒストリ採取/記憶部1
034の代わりに、各I/O装置毎に用意した書き込み
可能なレジスタを搭載すれば実現できる。
In this case, the history collection / storage unit 1 of FIG.
This can be realized by mounting a writable register prepared for each I / O device instead of the 034.

【0060】また、レジスタは、各I/O装置毎に設け
るのでなく、アクセス傾向が類似したI/O装置をグル
ープ化し、そのグループ毎に設ける構成であってもよ
い。
Further, the register may be provided not for each I / O device but for each I / O device having similar access tendency grouped.

【0061】このレジスタへの設定値が、ヒストリカウ
ンタ1037のカウント値に相当する。また、レジスタ
出力値の他に、バス接続装置103へ外部から入力する
信号値を使用する構成も可能である。
The value set in this register corresponds to the count value of the history counter 1037. In addition to the register output value, a signal value externally input to the bus connection device 103 may be used.

【0062】また、I/Oバス106には、様々なI/
O装置を接続する可能性が高い。これらのI/O装置に
おけるメモリアクセス要求の発行間隔や要求データ量
は、一様ではない。このため、図2に示したアドレスバ
ッファ1041とデータバッファ1040を1組とし、
I/Oバス106に接続するI/O装置毎にバッファの
組を複数組用意することにより、I/O装置によるメモ
リリード要求時に読み出し対象データがバッファ内部に
存在する確率を高くすることができる。あるいは、複数
のバッファの組をI/O装置が使用可能な構成とするこ
とにより、I/O装置からの連続する領域へのリードを
予想する場合に、図1のバス接続装置103がI/O装
置からのリード要求を検出する以前にメモリ102に対
して、先行リード要求を発行することが可能となる。ま
た、これらのバッファ構成を組み合わせ、更にスループ
ットを向上することができるような構成とすることも可
能である。
The I / O bus 106 has various I / Os.
There is a high possibility that an O device will be connected. The issue intervals of memory access requests and the amount of requested data in these I / O devices are not uniform. Therefore, the address buffer 1041 and the data buffer 1040 shown in FIG.
By preparing a plurality of buffer sets for each I / O device connected to the I / O bus 106, it is possible to increase the probability that the data to be read exists inside the buffer when a memory read request is issued by the I / O device. . Alternatively, when a set of a plurality of buffers is configured so that the I / O device can use the bus connection device 103 of FIG. It is possible to issue a preceding read request to the memory 102 before detecting the read request from the O device. Further, it is also possible to combine these buffer configurations so that the throughput can be further improved.

【0063】第3の実施の形態 ヒストリカウンタ1037と,カウンタ制御部104
2,判定部1035,キュー1036は、例えば4バイ
ト以上といった、ある要求データ量以上のメモリアクセ
スを検出した場合のみ動作する制御となるように、組み
込む構成とすることも可能である。
Third Embodiment History Counter 1037 and Counter Control Unit 104
2, the determination unit 1035 and the queue 1036 may be configured to be incorporated so that the control is performed only when a memory access of a certain requested data amount such as 4 bytes or more is detected.

【0064】また、あるI/O装置がメモリリード要求
を発行し、その後、連続アドレス領域へのメモリリード
要求が発行されると、さらに連続して同一I/O装置か
らのメモリリード要求が発行されるものと予想し、実際
のメモリリード要求が発生していない時点で、すなわち
次回の新たなメモリリード要求が発生する前のタイミン
グで投機的にメモりリード要求を発行し、事前に該当デ
ータを読み出すように構成することもできる。
When an I / O device issues a memory read request and then issues a memory read request to a continuous address area, memory read requests from the same I / O device are issued continuously. The memory read request is speculatively issued and the memory read request is speculatively issued at the time when the actual memory read request is not generated, that is, at the timing before the next new memory read request is generated. Can also be configured to read.

【0065】この場合、その先行メモリリードにより、
メモリリード時のレイテンシを隠すことが可能であり、
I/O装置から見たスループットが大幅に向上する。
In this case, by the preceding memory read,
It is possible to hide the latency when reading the memory,
The throughput seen from the I / O device is greatly improved.

【0066】第4の実施の形態 次に、メモリアクセスヒストリを採取し、メモリアクセ
ス制御を切り換える機能を搭載する装置に関して、他の
例を示す。
Fourth Embodiment Next, another example will be described with respect to an apparatus having a function of collecting memory access history and switching memory access control.

【0067】I/O装置からのメモリアクセスのヒスト
リを採取し、その情報を利用し、I/O装置からのメモ
リアクセス時の制御を切り換える機能は、必ずしもバス
接続装置103に搭載する必要はなく、I/O装置と、
メモリ102に接続したメモリ制御装置との間の経路上
に設置した装置に搭載すればよい。しかし、I/O装置
毎に動作のアクセス特性が異なるので、I/O装置が発
生するメモリアクセスをI/O毎に検出可能であるI/
Oバス制御機能を持つ装置に、その機能を搭載する方式
の方が実際にシステムを構築し易い。
The function of collecting the history of memory access from the I / O device and using the information to switch the control at the time of memory access from the I / O device is not necessarily installed in the bus connection device 103. , I / O device,
It may be mounted on a device installed on the path between the memory 102 and the memory control device. However, since the access characteristics of the operation are different for each I / O device, the memory access generated by the I / O device can be detected for each I / O.
It is easier to actually construct a system by a method in which a device having an O-bus control function is equipped with that function.

【0068】また、データバッファを持つ場合にも、I
/O装置からのメモリリード時のデータがバッファ内部
に存在する場合のリードレイテンシを短縮するために、
I/O装置に近い装置内部にデータバッファを搭載する
方式の方が有利である。
When the data buffer is provided, I
In order to reduce the read latency when the data at the time of memory read from the / O device exists inside the buffer,
The method of mounting the data buffer inside the device close to the I / O device is more advantageous.

【0069】また、前記の機能を、メモリ102に接続
したメモリ制御装置に搭載し、CPUからのメモリアク
セスやI/O装置からのメモリアクセスといった区分で
メモリアクセスヒストリを採取し、メモリ制御装置内部
で、メモリ102からのデータを先行リードし、メモリ
制御装置内部のバッファに格納しておくことにより、性
能向上を図る方法も考えることができる。
In addition, the above-mentioned function is installed in the memory control device connected to the memory 102, and the memory access history is collected in the memory access from the CPU or the memory access from the I / O device. Then, a method of improving the performance by reading the data from the memory 102 in advance and storing it in a buffer inside the memory control device can be considered.

【0070】[0070]

【発明の効果】以上のように、本発明によれば、I/O
装置によるメモリリードアクセス時に、I/O装置のメ
モリアクセス傾向またはアクセス特性を取得し、I/O
装置が連続した領域へのリードを行うと予測した場合に
は、I/O装置が要求したデータに加えて、そのデータ
に連続するデータを先行して読出し、その先行読出しデ
ータをデータバッファに格納しておき、次回のメモリア
クセス要求においてデータバッファ内に存在するデータ
がメモリリード要求によって指定されている場合は、メ
モリアクセスを実行せずに、データバッファ内のデータ
を要求元のI/O装置に転送するようにしたため、複数
バス階層構成を採用した場合であっても、メモリリード
レイテンシを増加させることなく、I/O装置からのメ
モリアクセスを効率良く実行することができる。
As described above, according to the present invention, I / O
When the memory read access is performed by the device, the memory access tendency or access characteristic of the I / O device is acquired and the I / O
When it is predicted that the device will read continuous areas, in addition to the data requested by the I / O device, the data that follows the data is read in advance, and the preceding read data is stored in the data buffer. Incidentally, when the data existing in the data buffer is designated by the memory read request in the next memory access request, the data in the data buffer is not executed and the I / O device of the request source is not executed. Therefore, even when a multi-bus hierarchical structure is adopted, the memory access from the I / O device can be efficiently executed without increasing the memory read latency.

【0071】また、連続するメモリ領域のデータを、メ
モリリード要求で指定されたメモリ領域のデータを読出
した後、次回のメモリリード要求が同一I/O装置から
発行される以前のタイミングで読み出すようにした場合
も、前記と同様な効果が得られる。
Further, after reading the data in the memory area designated by the memory read request, the data in the continuous memory area is read at the timing before the next memory read request is issued from the same I / O device. Also in the case, the same effect as described above can be obtained.

【0072】特に、入出力装置毎にアクセス傾向を設定
する方法では、アクセス特性を設定する場合に比べ、シ
ステムの運用において極めて効果的である。
Particularly, the method of setting the access tendency for each input / output device is extremely effective in the operation of the system as compared with the case of setting the access characteristics.

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

【図1】本発明を適用したコンピュータシステムの実施
の形態を示すブロック構成図である。
FIG. 1 is a block configuration diagram showing an embodiment of a computer system to which the present invention is applied.

【図2】図1におけるバス接続装置の詳細構成を示すブ
ロック図である。
FIG. 2 is a block diagram showing a detailed configuration of a bus connecting device in FIG.

【図3】メモリアクセスヒストリの採取を行うカウンタ
の制御と動作の概略を示したフロー図である。
FIG. 3 is a flowchart showing an outline of control and operation of a counter for collecting a memory access history.

【図4】メモリアクセスヒストリを用いたメモリアクセ
ス制御の様子を示すフロー図である。
FIG. 4 is a flowchart showing a state of memory access control using a memory access history.

【符号の説明】[Explanation of symbols]

101…CPU、102…メモリ、103…バス接続装
置、104…システムバス、105a,105b…入出
力(I/O)装置、106…I/Oバス、1031…I
/Oバスインタフェース制御部、1032…システムバ
スインタフェース制御部、1033…バッファ制御部、
1034…ヒストリ採取/記憶部、1035判定部、1
036…キュー、1037…ヒストリカウンタ、104
0…データバッファ、1041…アドレスバッファ。
101 ... CPU, 102 ... Memory, 103 ... Bus connection device, 104 ... System bus, 105a, 105b ... Input / output (I / O) device, 106 ... I / O bus, 1031 ... I
/ O bus interface control unit, 1032 ... system bus interface control unit, 1033 ... buffer control unit,
1034 ... History collection / storage unit, 1035 determination unit, 1
036 ... queue, 1037 ... history counter, 104
0 ... Data buffer, 1041 ... Address buffer.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 入出力装置からのメモリリード要求に対
し、該メモリリード要求で指定されたメモリ領域に加
え、該メモリ領域に連続するメモリ領域のデータを先行
して読出し、入出力装置に対してはメモリリード要求で
指定されたメモリ領域からの読出しデータを転送し、連
続メモリ領域から先行読出ししたデータはデータバッフ
ァに格納しておき、同一入出力装置からの次回のメモリ
リード要求に対しては該メモリリード要求で指定された
メモリ領域のデータが前記データバッファ内に存在して
いるか否かを判定し、存在しているならば、メモリに対
してメモリリード要求を発行せず、データバッファ内に
存在する同メモリ領域に関する読出しデータを入出力装
置に転送するメモリアクセス制御方法であって、 入出力装置毎に、そのメモリリード要求で指定されるメ
モリ領域が連続する傾向にあるのか否かのアクセス履歴
を採取し、入出力装置からのメモリリード要求に対して
当該入出力装置のアクセス履歴の情報を参照し、当該入
出力装置が連続メモリ領域をアクセスする傾向にある場
合にのみ、該メモリリード要求で指定されたメモリ領域
に加え、該メモリ領域に連続するメモリ領域のデータを
先行して読出す制御を行うことを特徴とするメモリアク
セス制御方法。
1. In response to a memory read request from an input / output device, in addition to the memory area designated by the memory read request, data in a memory area continuous to the memory area is read in advance, and the data is read from the input / output apparatus. For example, the read data from the memory area specified by the memory read request is transferred, and the data read in advance from the continuous memory area is stored in the data buffer and the next memory read request from the same I / O device is performed. Determines whether the data in the memory area specified by the memory read request exists in the data buffer, and if so, does not issue the memory read request to the memory A memory access control method for transferring read data relating to the same memory area existing in a storage device to an input / output device. An access history is collected to determine whether the memory area specified by the read request tends to continue, and for the memory read request from the I / O device, the access history information of the I / O device is referenced, and Only when the output device tends to access the continuous memory area, in addition to the memory area specified by the memory read request, control is performed to read the data of the memory area continuous to the memory area in advance. A characteristic memory access control method.
【請求項2】 入出力装置からのメモリリード要求に対
し、該メモリリード要求で指定されたメモリ領域に加
え、該メモリ領域に連続するメモリ領域のデータを先行
して読出し、入出力装置に対してはメモリリード要求で
指定されたメモリ領域からの読出しデータを転送し、連
続メモリ領域から先行読出ししたデータはデータバッフ
ァに格納しておき、同一入出力装置からの次回のメモリ
リード要求に対しては該メモリリード要求で指定された
メモリ領域のデータが前記データバッファ内に存在して
いるか否かを判定し、存在しているならば、メモリに対
してメモリリード要求を発行せず、データバッファ内に
存在する同メモリ領域に関する読出しデータを入出力装
置に転送するメモリアクセス制御方法であって、 入出力装置毎に、そのメモリリード要求で指定されるメ
モリ領域が連続する傾向にあるのか否かのアクセス特性
情報を予め設定しておき、入出力装置からのメモリリー
ド要求に対して当該入出力装置のアクセス特性情報を参
照し、当該入出力装置が連続メモリ領域をアクセスする
傾向にある場合にのみ、該メモリリード要求で指定され
たメモリ領域に加え、該メモリ領域に連続するメモリ領
域のデータを先行して読出す制御を行うことを特徴とす
るメモリアクセス制御方法。
2. In response to a memory read request from an input / output device, in addition to the memory area designated by the memory read request, data in a memory area continuous to the memory area is read in advance, and the read / write operation is performed to the input / output apparatus. For example, the read data from the memory area specified by the memory read request is transferred, and the data read in advance from the continuous memory area is stored in the data buffer and the next memory read request from the same I / O device is performed. Determines whether the data in the memory area specified by the memory read request exists in the data buffer, and if so, does not issue the memory read request to the memory A memory access control method for transferring read data relating to the same memory area existing in a storage device to an input / output device. Access characteristic information indicating whether or not the memory area specified by the read request tends to be continuous is set in advance, and the access characteristic information of the input / output device is referred to for the memory read request from the input / output device. , Only when the input / output device tends to access the continuous memory area, in addition to the memory area specified by the memory read request, the control for reading the data of the memory area continuous to the memory area in advance is performed. A method for controlling memory access, characterized by:
【請求項3】 前記連続するメモリ領域のデータは、メ
モリリード要求で指定されたメモリ領域のデータを読出
した後、次回のメモリリード要求が同一入出力装置から
発行される以前のタイミングで読み出すことを特徴とす
る請求項1または2記載のメモリアクセス制御方法。
3. The data in the continuous memory area is read at a timing before the next memory read request is issued from the same input / output device after reading the data in the memory area specified by the memory read request. 3. The memory access control method according to claim 1 or 2.
JP8004546A 1996-01-16 1996-01-16 Method for controlling memory access Pending JPH09198300A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8004546A JPH09198300A (en) 1996-01-16 1996-01-16 Method for controlling memory access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8004546A JPH09198300A (en) 1996-01-16 1996-01-16 Method for controlling memory access

Publications (1)

Publication Number Publication Date
JPH09198300A true JPH09198300A (en) 1997-07-31

Family

ID=11587057

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8004546A Pending JPH09198300A (en) 1996-01-16 1996-01-16 Method for controlling memory access

Country Status (1)

Country Link
JP (1) JPH09198300A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10078602B2 (en) 2015-05-18 2018-09-18 Fujitsu Limited Information processing apparatus, memory controller, and memory control method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10078602B2 (en) 2015-05-18 2018-09-18 Fujitsu Limited Information processing apparatus, memory controller, and memory control method

Similar Documents

Publication Publication Date Title
AU637543B2 (en) Receiving buffer control system
US6453388B1 (en) Computer system having a bus interface unit for prefetching data from system memory
JP2008502069A (en) Memory cache controller and method for performing coherency operations therefor
US7941608B2 (en) Cache eviction
JP2000227878A (en) Data managing method for asynchronous i/o cache memory
JP2001147854A (en) Processing system and method for optimizing storage in writing buffer unit and method for storing and distributing data
JPH06222992A (en) Cache system and method for control of cache controller
WO1996039667A1 (en) Write cache for write performance improvement
JP3626609B2 (en) Multiprocessor system
US7543113B2 (en) Cache memory system and method capable of adaptively accommodating various memory line sizes
JPH09128325A (en) Hierarchical bus control system and bus bridge
JPH09198300A (en) Method for controlling memory access
US6397304B1 (en) Method and apparatus for improving system performance in multiprocessor systems
US7089387B2 (en) Methods and apparatus for maintaining coherency in a multi-processor system
JPH0415493B2 (en)
JPH0784879A (en) Cache memory device
JP2000047942A (en) Device and method for controlling cache memory
JP3039391B2 (en) Memory system
JPH06103477B2 (en) Parallel cache memory
JP2976980B2 (en) Cache control method
JP3013781B2 (en) Cash system
JPH09160863A (en) Input/output buffer device and management method therefor
JP3299147B2 (en) Cache control circuit
JPH0612331A (en) Cache memory controller
JP2003044357A (en) Cache prefetch system