JPH11120074A - Data transfer control method - Google Patents
Data transfer control methodInfo
- Publication number
- JPH11120074A JPH11120074A JP28370397A JP28370397A JPH11120074A JP H11120074 A JPH11120074 A JP H11120074A JP 28370397 A JP28370397 A JP 28370397A JP 28370397 A JP28370397 A JP 28370397A JP H11120074 A JPH11120074 A JP H11120074A
- Authority
- JP
- Japan
- Prior art keywords
- read
- storage device
- buffer
- processing device
- 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
Links
Abstract
(57)【要約】
【課題】 処理装置からのリード転送に対してプリリー
ド動作を行う制御装置において、処理装置から記憶装置
へのリード転送とプリリード転送の競合を抑える。
【解決手段】 制御装置10は、処理装置20からのメ
モリリード要求が発生すると、内部バッファに格納され
たデータに対応したアドレス情報と、処理装置20が要
求するアドレスとの一致をアドレス比較器で行い、ヒッ
トしなかった場合には、使用するプリリードバッファの
選択を行って記憶装置40への直接アクセスを行い、ヒ
ットした場合には内部のバッファからデータを読み出
す。バッファから記憶装置40へのプリリード要求が制
御装置10内で競合した場合に、後続のプリリード要求
の受付けを禁止または延期することによってプリリード
動作による記憶装置40へのアクセスの占有を避け、緊
急性のある処理装置から記憶装置40への直接アクセス
とプリリードアクセスとの競合を抑える。
(57) [Summary] A control device for performing a pre-read operation for a read transfer from a processing device suppresses competition between a read transfer from the processing device to a storage device and a pre-read transfer. When a memory read request is issued from a processing device, a control device determines whether address information corresponding to data stored in an internal buffer matches an address requested by the processing device with an address comparator. If no hit is found, a preread buffer to be used is selected to directly access the storage device 40, and if hit, data is read from an internal buffer. When a pre-read request from the buffer to the storage device 40 conflicts in the control device 10, the occupation of the access to the storage device 40 by the pre-read operation is avoided by prohibiting or delaying the acceptance of the subsequent pre-read request, thereby reducing the urgency. Contention between direct access to the storage device 40 from a certain processing device and pre-read access is suppressed.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、データ転送制御方
法、より詳細には、記憶装置から処理装置へのデータを
制御する制御装置に対して複数のプリリード要求があっ
た場合の調停方法に関する。The present invention relates to a data transfer control method, and more particularly, to an arbitration method when a plurality of pre-read requests are made to a control device for controlling data from a storage device to a processing device.
【0002】[0002]
【従来の技術】周知のように、プリリード回路とは一度
読まれたデータに続くアドレスのデータを、処理装置ま
たは処理装置の近傍にあり該処理装置が高速にアクセス
できる装置に予め読み込んでおき、次回処理装置が該当
データを必要としたときに直接記憶装置をアクセスする
よりも高速にリードサイクルを終了させる回路である。2. Description of the Related Art As is well known, a pre-read circuit pre-reads data at an address following data once read into a processing device or a device near the processing device which can be accessed at a high speed. This is a circuit for ending the read cycle faster than accessing the storage device directly when the processing device next needs the data.
【0003】図17は、代表的なプリリード回路の回路
例を示し、図18は、図17に示したプリリード回路を
複数組(3組)内臓した制御装置10と、処理装置20
と、ROM30と、記憶装置40と、バスマスタ50等
からなる回路の構成例を示す。FIG. 17 shows an example of a typical pre-read circuit. FIG. 18 shows a control device 10 having a plurality of (three) pre-read circuits shown in FIG.
And a configuration example of a circuit including a ROM 30, a storage device 40, a bus master 50, and the like.
【0004】図17において、AC1,AC2はアドレス
比較器、AB1,AB2はアドレスバッファ、DB1,D
B2はデータバッファで、AC1,AB1,DB1で1段の
バッファを、AC2,AB2,DB2で他の1段のバッフ
ァを構成しており、1段のバッファのサイズは、キャッ
シュのラインフェッチの様な最も一般的な連続転送のデ
ータサイズに合わせるのが普通である。バッファのヒッ
ト率を高めるために、バッファを多段構成にする事も多
く、図17では2段構成の場合を例に取り上げている。
バッファの各段は、データを格納するデータバッファ、
前記データのアドレス情報を保持するアドレスバッフ
ァ、前記アドレスと処理装置が要求するアドレスとの一
致(以下、ヒットと称する)を検出するアドレス比較器
から構成される。In FIG. 17, AC 1 and AC 2 are address comparators, AB 1 and AB 2 are address buffers, DB 1 and D
B 2 is a data buffer, AC 1 , AB 1 , and DB 1 constitute a buffer of one stage, and AC 2 , AB 2 , and DB 2 constitute another buffer of one stage. The size of the buffer of one stage is Usually, it is adjusted to the data size of the most common continuous transfer such as line fetch of the cache. In order to increase the buffer hit ratio, the buffer is often configured in a multi-stage configuration, and FIG. 17 shows a case of a two-stage configuration as an example.
Each stage of the buffer is a data buffer that stores data,
An address buffer for holding the address information of the data, and an address comparator for detecting a match between the address and the address requested by the processing device (hereinafter, referred to as a hit).
【0005】図19は、図18の回路の基本動作を説明
するためのフローチャートを示し、制御装置10は、処
理装置20からのメモリリード要求が発生すると(S
1)、内部バッファに格納されたデータに対応したアド
レス情報と、処理装置20が要求するアドレスとの一致
をアドレス比較器で行い(S2)、ヒットしなかった
(ミスヒット)場合には、使用するプリリードバッファ
の選択を行って(S3)記憶装置40への直接アクセス
を行い(S4)、ヒットした場合には内部のバッファか
らデータを読み出す(S5)。これと並行して、プリリ
ード制御装置10は、処理装置20に転送されてバッフ
ァ内に保持しておく必要がなくなったデータを無効化す
る(S6)。そして、第2段のバッファがヒットした場
合、又は、第1段のバッファ内のデータが全て無効化さ
れた場合に(S7)、第2段のバッファの内容を第1段
にシフトし、空いた第2段に後続のアドレスに格納され
たデータを記憶装置から読み込む(S8)。以下、この
動作をプリリードと称する。FIG. 19 is a flowchart for explaining the basic operation of the circuit shown in FIG. 18. When a memory read request is issued from the processing device 20 (S
1) The address information corresponding to the data stored in the internal buffer is matched with the address requested by the processing device 20 by the address comparator (S2). If no hit is found (miss hit), the address is used. A preread buffer to be selected is selected (S3), and direct access to the storage device 40 is performed (S4). If a hit occurs, data is read from the internal buffer (S5). Concurrently, the pre-read control device 10 invalidates the data transferred to the processing device 20 and no longer required to be held in the buffer (S6). Then, when the second-stage buffer hits or when all the data in the first-stage buffer is invalidated (S7), the contents of the second-stage buffer are shifted to the first stage and become empty. The data stored at the address subsequent to the second stage is read from the storage device (S8). Hereinafter, this operation is referred to as pre-read.
【0006】図20,図21及び図22,図23は、前
記プリリードの基本動作を説明するためのタイミングチ
ャートで、これらのタイミングチャートでは各々の転送
条件を、下記のように仮定している。 1.32ビットを1ワード、64ビットを1ダブルワー
ドと称し、処理装置20の要求する連続データ転送のサ
イズは8ワードとする。 2.処理装置20と制御装置10の間のバス(以下、ロ
ーカルバスと称する)の幅は1ワード(=32ビット)
である。 3.ローカルバスの8ワード連続転送時のクロック数は
2-1-1-1-1-1-1-1である。 4.制御装置10と記憶装置40の間のバス(以下、メ
モリバスと称する)の幅は2ワード(=1ダブルワード
=64ビット)である。 5.メモリバスの8ワード(=4ダブルワード)連続転
送時のクロック数は6-1-1-1である。FIGS. 20, 21 and 22 and 23 are timing charts for explaining the basic operation of the pre-read. In these timing charts, the respective transfer conditions are assumed as follows. 1.32 bits are called one word and 64 bits are called one double word, and the size of the continuous data transfer requested by the processor 20 is eight words. 2. The width of a bus (hereinafter, referred to as a local bus) between the processing device 20 and the control device 10 is 1 word (= 32 bits)
It is. 3. The number of clocks at the time of 8-word continuous transfer of the local bus is 2-1-1-1-1-1-1. 4. The width of a bus (hereinafter, referred to as a memory bus) between the control device 10 and the storage device 40 is 2 words (= 1 double word = 64 bits). 5. The number of clocks at the time of continuous transfer of 8 words (= 4 double words) of the memory bus is 6-1-1-1.
【0007】また、他のプリリードバッファは動作して
おらず、図18の他のバスマスタ50も動作していない
状態にあり、プリリード要求が発生すると制御装置10
は即座にプリリードサイクルを発生できる環境にあるも
のとする。なお、図中で、BR,BG,BBはハイアク
ティブの信号で其々Bus Request, Bus Grad, Bus Busy
の略である。また、Aはアドレスを、Dはデータを表す
ものとする。The other preread buffer is not operating, and the other bus master 50 in FIG. 18 is not operating.
Is in an environment where a pre-read cycle can be immediately generated. In the figure, BR, BG, and BB are high active signals, respectively, Bus Request, Bus Grad, Bus Busy.
Is an abbreviation for A represents an address, and D represents data.
【0008】処理装置20からのリードサイクル開始時
にバッファ内のアドレス比較器においてヒットチェック
を行い、ミスヒットの場合には処理装置20から記憶装
置40へ直接リードのリクエストをアサートする。ま
た、ヒットの場合にはバッファからデータを処理装置2
0に転送する。一度アドレスバッファにアドレスが登録
されると自動的に次のアドレスを計算し、バッファに空
きがある場合には記憶装置40から連続する8ワードの
データリードを行う。At the start of a read cycle from the processor 20, a hit check is performed in the address comparator in the buffer, and in the case of a mishit, a read request is asserted directly from the processor 20 to the storage device 40. In the case of a hit, the data is transferred from the buffer to the processing device 2.
Transfer to 0. Once an address is registered in the address buffer, the next address is automatically calculated, and if there is free space in the buffer, data reading of eight consecutive words from the storage device 40 is performed.
【0009】図20,図21は、A00アドレスから8
ワード単位の連続リード転送を2回行った場合のタイミ
ングチャートで、1回目の8ワード連続リード転送(0
CLK〜16CLK)では17クロック(=8ウェイ
ト)を要したが、プリリード回路が動作することによっ
て、これに続く2回目の8ワード連続リード転送(17
CLK〜26CLK)は、10クロック(=1ウェイ
ト)で終了している。FIG. 20 and FIG.
In the timing chart when the continuous read transfer in word units is performed twice, the first 8-word continuous read transfer (0
CLK to 16 CLK), 17 clocks (= 8 waits) were required. However, the pre-read circuit operates, and the subsequent second 8-word continuous read transfer (17 clocks) is performed.
CLK to 26CLK) are completed in 10 clocks (= 1 wait).
【0010】図22,図23は、A00アドレスからシ
ングルワードのリード転送を12回行った場合のタイミ
ングチャートで、1回目のリード転送(0CLK〜9C
LK)では10クロック(=8ウェイト)を要したが、
プリリード回路が動作することによって、これに続く2
回目以降のリード転送は2クロック(=0ウェイト)で
終了している。FIG. 22 and FIG. 23 are timing charts when a single word read transfer from the A00 address is performed 12 times, and the first read transfer (0CLK to 9C) is performed.
LK) required 10 clocks (= 8 waits),
When the pre-read circuit operates, the following 2
The second and subsequent read transfers are completed in two clocks (= 0 wait).
【0011】[0011]
【発明が解決しようとする課題】プリリード回路は、連
続するアドレスからの継続的なリードアクセスでは、前
述のように効果を発揮するが、ランダムなリードアクセ
スに対しては逆に遅くなることがある。The pre-read circuit is effective as described above for continuous read access from consecutive addresses, but may be slower for random read access. .
【0012】図24,図25,図26は、プリリードが
マイナスに作用する場合の例を説明するためのタイミン
グチャートで、図24,図25,図26は、A06とA
46アドレスという2系統のデータを処理装置が1ワー
ドずつ交互にリード転送する状態が続いた後で、A80
アドレスという前記の2系統とは別のデータを1ワード
リード転送した場合のタイミングチャートである。A0
6とA46アドレスからの転送が開始される以前に、2
系統のプリリードバッファ1,2がA06とA46アド
レスに該当するデータで満たされており、A80アドレ
スに該当するデータはプリリードバッファ内に存在しな
い場合を想定している。FIGS. 24, 25 and 26 are timing charts for explaining an example in which pre-reading acts negatively. FIGS. 24, 25 and 26 show A06 and A06.
After a state in which the processor alternately reads and transfers data of two systems of 46 addresses one word at a time, A80
FIG. 9 is a timing chart in the case where data other than the above-described two systems called addresses is transferred by one word read. A0
6 and before the transfer from the A46 address starts, 2
It is assumed that the preread buffers 1 and 2 of the system are filled with data corresponding to the addresses A06 and A46, and the data corresponding to the address A80 does not exist in the preread buffers.
【0013】このような場合、A06とA46アドレス
からの交互のリード転送が続いている間(0CLK〜1
5CLK)は、プリリード回路は有効に作用するが、イ
レギュラーであるA80アドレスからのシングルリード
転送が発生した時点(16CLK)で、プリリードバッ
ファ2からのプリリード転送と処理装置からの直接リー
ド転送が競合し、本来プリリードバッファが動作してい
なければ10クロック(=8ウェイト、図22,図23
の最初のシングル転送と同様)で終了する処理装置から
の直接リード転送が18クロック(=16ウェイト)の
転送となっている。この様に、その状態での利用が不確
定であり緊急度の低いプリリード転送が、緊急度の高い
処理装置からの直接リード転送の開始を阻害し、処理装
置の動作を停滞させる結果を招いている。In such a case, while the alternate read transfer from the addresses A06 and A46 continues (0CLK to 1
5CLK), the pre-read circuit operates effectively, but when the single read transfer from the irregular A80 address occurs (16 CLK), the pre-read transfer from the pre-read buffer 2 and the direct read transfer from the processing device are performed. 10 clocks (= 8 waits, FIG. 22, FIG. 23)
(Similar to the first single transfer), the direct read transfer from the processing device is a transfer of 18 clocks (= 16 waits). In this way, the pre-read transfer of which the use is uncertain in this state is uncertain and the urgency is low, which hinders the start of the direct read transfer from the processing device having a high urgency and results in the operation of the processing device being stagnated. I have.
【0014】本発明は、上述のごとき実情に鑑みてなさ
れたもので、処理装置(例CPU)と記憶装置(例メモ
リ)の間に位置し、処理装置からのリード転送に対して
プリリード動作を行う制御装置において、制御装置内で
のプリリード回路の競合を抑えることによって、処理装
置から記憶装置へのリード転送とプリリード転送の競合
を抑えるようにしたものである。The present invention has been made in view of the above situation, and is located between a processing device (example CPU) and a storage device (example memory), and performs a pre-read operation for a read transfer from the processing device. In the control device, the contention between the pre-read circuit and the read transfer from the processing device to the storage device is suppressed by suppressing the contention of the pre-read circuit in the control device.
【0015】[0015]
【課題を解決するための手段】請求項1の発明は、内部
にバッファを複数組保有する制御装置であって、記憶装
置から処理装置へのデータ転送を制御する前記制御装置
におけるデータ転送制御方法において、前記バッファか
ら前記記憶装置へのプリリード要求が前記制御装置内で
競合した場合に、後続のプリリード要求の受付けを禁止
または延期することによってプリリード動作による記憶
装置へのアクセスの占有を避け、緊急性のある処理装置
から記憶装置への直接アクセスとプリリードアクセスと
の競合を抑えることを特徴とし、もって、プリリード間
での競合を抑え、処理装置からの緊急度の高い直接リー
ド転送の高速化を図ったものである。According to a first aspect of the present invention, there is provided a control device having a plurality of sets of buffers therein, wherein the control device controls data transfer from a storage device to a processing device. In the case where a pre-read request from the buffer to the storage device conflicts in the control device, the occupation of access to the storage device by the pre-read operation is prevented by prohibiting or postponing the reception of a subsequent pre-read request, and It is characterized by suppressing contention between direct access to the storage device and pre-read access from the processing device with the possibility, thereby suppressing contention between pre-reads and increasing the speed of urgent direct read transfer from the processing device. It is intended.
【0016】請求項2の発明は、請求項1の発明におい
て、前記処理装置が前記記憶装置に対してリードアクセ
スを行った際に、該当データが前記制御装置内のバッフ
ァに存在し、前記記憶装置をアクセスする必要がない場
合に、前記リードアクセスによって発生したプリリード
要求または受付けを延期されているプリリード要求の中
の一つを実行することによって、プリリードバッファの
使用効率を高めることを特徴とし、もって、請求項1の
回路の短所であるプリリード回路の動作不足を補い、か
つ、処理装置からの直接リード転送とプリリードの競合
を考慮したプリリード転送を実施することを可能とした
ものである。According to a second aspect of the present invention, in the first aspect of the present invention, when the processing device makes a read access to the storage device, the corresponding data exists in a buffer in the control device, and When the device does not need to be accessed, the pre-read request generated by the read access or one of the pre-read requests whose acceptance has been postponed is executed, thereby increasing the use efficiency of the pre-read buffer. Therefore, it is possible to compensate for the shortage of the operation of the pre-read circuit, which is a disadvantage of the circuit of claim 1, and to perform the pre-read transfer in consideration of the conflict between the direct read transfer from the processing device and the pre-read.
【0017】請求項3の発明は、請求項1または2の発
明において、前記処理装置が、前記制御装置と前記記憶
装置のバス以外をアクセスした場合に、受付けを延期さ
れているプリリード要求の中の一つを実行することによ
って、プリリードバッファの使用効率を高めることを特
徴とし、もって、請求項1の回路の短所であるプリリー
ド回路の動作不足を補い、かつ、処理装置からの直接リ
ード転送とプリリードの競合を考慮したプリリード転送
を実施することを可能としたものである。According to a third aspect of the present invention, in the first or second aspect of the invention, when the processing unit accesses a bus other than the control device and the storage device bus, the pre-read request whose reception has been postponed has been delayed. (1) to increase the efficiency of use of the pre-read buffer, thereby compensating for the shortage of operation of the pre-read circuit, which is a disadvantage of the circuit of claim 1, and direct read transfer from the processing device. This makes it possible to perform pre-read transfer in consideration of contention between pre-read and pre-read.
【0018】[0018]
【発明の実施の形態】本発明は、制御装置内でプリリー
ド同士が競合し、メモリバスヘの転送要求をプリリード
回路が占有してしまう可能性がある場合に、プリリード
転送の発生を抑えるプリリード要求禁止信号を設け、そ
れによって、処理装置からのリード転送に対して、記憶
装置への直接リードで対応しなければならない場合の待
ち時間を短縮し、処理装置の動作を高速化するようにし
たものである。DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention provides a pre-read request inhibition signal for suppressing the occurrence of pre-read transfer when there is a possibility that a pre-read circuit may occupy a transfer request to a memory bus in a control device. Thus, the waiting time when the read transfer from the processing device must be dealt with by direct reading to the storage device is shortened, and the operation of the processing device is speeded up. .
【0019】[0019]
【実施例】図1は、本発明によるデータ転送制御方法の
一例を説明するためのフローチャート、図2乃至図4
は、タイミングチャートで、以下の説明において、プリ
リード要求禁止信号は、プリリード要求とメモリバスの
BB(Bus Busy)との和である。FIG. 1 is a flow chart for explaining an example of a data transfer control method according to the present invention, and FIGS.
Is a timing chart. In the following description, the pre-read request inhibition signal is the sum of the pre-read request and the BB (Bus Busy) of the memory bus.
【0020】(請求項1の発明)請求項1の発明は、バ
ッファから記憶装置へのプリリード要求が制御装置内で
競合した場合に、後続のプリリード要求の受付けを禁止
または延期することによってプリリード動作による記憶
装置へのアクセスの占有を避け、緊急性のある処理装置
から記憶装置への直接アクセスとプリリードアクセスと
の競合を抑えるようにしたもので、図1に示すフローチ
ャートにおいて、S1〜S8は図19のフローチャート
で説明した通りであり、違いは、図19のフローチャー
トと図1のフローチャートを比較して分るように、本発
明においては、S10に示すように、プリリード要求禁
止信号がアサートされている場合のプリリードの発生を
禁止したことである。According to a first aspect of the present invention, when a pre-read request from a buffer to a storage device conflicts in a control device, a pre-read operation is prohibited by prohibiting or delaying the acceptance of a subsequent pre-read request. Occupation of access to the storage device due to the above, and the conflict between the direct access to the storage device from the urgent processing device and the pre-read access is suppressed. In the flowchart shown in FIG. As described with reference to the flowchart of FIG. 19, the difference is that as shown in the flowchart of FIG. 19 and the flowchart of FIG. 1, in the present invention, the pre-read request inhibition signal is asserted as shown in S10. This is to prohibit the occurrence of pre-read when it exists.
【0021】図24,図25,図26及び図2,図3,
図4のタイミングチャートにおいて、A07とA47ア
ドレスは夫々プリリードバップァ1,2の1段目のデー
タバッファの最終データのアドレスであり、このデータ
を処理装置に転送した後では、各1段目のデータバッフ
ァは不要となる。よって、図24,図25,図26では
5CLK目と7CLK目の立ち上がりでプリリード要求
が発生する。しかし、図2,図3,図4の場合、7CL
K目にはプリリード要求禁止信号がアサートされており
プリリード要求はアサートされない。FIGS. 24, 25 and 26 and FIGS.
In the timing chart of FIG. 4, the addresses A07 and A47 are the addresses of the last data of the first stage data buffer of the pre-read buffers 1 and 2, respectively. No data buffer is required. Therefore, in FIGS. 24, 25, and 26, a pre-read request occurs at the rising edge of the fifth and seventh CLKs. However, in the case of FIG. 2, FIG. 3, and FIG.
The pre-read request prohibition signal is asserted at the Kth position, and the pre-read request is not asserted.
【0022】この結果、図24,図25,図26ではプ
リリードバッファ2によるリード転送中待たされていた
処理装置20からの直接リード転送が、図2,図3,図
4ではプリリードバッファ2によるプリリード転送が発
生しないために直ちに実施される。この結果、図24,
図25,図26では18クロック(=16ウェイト)で
あった処理装置20からの直接リード転送が、図2,図
3,図4では10クロック(=8ウェイト)と短縮され
る。また、7CLK目で禁止されていたプリリードバッ
ファ2によるプリリードは、29CLK目でA4aアド
レスをリードした時点で実施されるので、図2,図3,
図4の34CLK以降、同バッファのアクセスが引き続
き発生した場合にもウェイトを挿入することなくサイク
ルを終了することができる。As a result, in FIG. 24, FIG. 25 and FIG. 26, the direct read transfer from the processing device 20 which has been waiting during the read transfer by the pre-read buffer 2 is performed. Is performed immediately because the pre-read transfer due to is not generated. As a result, FIG.
In FIGS. 25 and 26, the direct read transfer from the processing device 20, which has been 18 clocks (= 16 waits), is reduced to 10 clocks (= 8 waits) in FIGS. 2, 3, and 4. Since the pre-read by the pre-read buffer 2 prohibited at the 7th CLK is performed when the A4a address is read at the 29th CLK, FIGS.
After 34 CLK in FIG. 4, even if access to the buffer continues, the cycle can be ended without inserting a wait.
【0023】上述のように、請求項1の発明によると、
プリリード間での競合を抑え、処理装置からの緊急度の
高い直接リード転送の高速化を図ることができる。しか
し、図2,図3,図4に示した例は、A88アドレスに
対するプリリードは発生しない。たとえ34CLK以降
プリリードバッファ1,2へヒットするアクセスが続
き、メモリバスへの転送要求が発生しない状態が続いて
も、プリリードバッファ3はプリリード要求を再度アサ
ートせず、メモリバスは空いたままとなる。そのため、
今後該当アドレスへのアクセスが発生した場合には、転
送サイクルにウェイトが挿入されることとなり、処理速
度の低下を招く。そこで、以下に説明する請求項2又は
3に示した制御方法を導入することにより、プリリード
バッファ3にプリリード要求を再度アサートさせて、処
理装置の速度低下を抑える。As described above, according to the first aspect of the present invention,
Competition between pre-reads can be suppressed, and the speed of direct read transfer with high urgency from the processing device can be increased. However, in the examples shown in FIG. 2, FIG. 3, and FIG. 4, the pre-read does not occur for the A88 address. Even if the access to hit the pre-read buffers 1 and 2 continues after 34 CLK and the transfer request to the memory bus does not occur, the pre-read buffer 3 does not assert the pre-read request again, and the memory bus remains empty. Becomes for that reason,
When an access to the corresponding address occurs in the future, a wait is inserted into the transfer cycle, which causes a reduction in processing speed. Therefore, by introducing the control method described in claim 2 or 3 described below, the pre-read request is again asserted to the pre-read buffer 3 to suppress a reduction in the speed of the processing device.
【0024】(請求項2の発明)図5,図6は、請求項
2の発明を説明するためのフローチャート、図7〜図1
0はタイミングチャートで、以下の説明において、プリ
リード要求マスク信号は、それをアサートしたプリリー
ドバッファからアサートされているプリリード要求をマ
スクする信号であり、メモリバスへのリード要求調停回
路にはプリリード要求マスク信号によってマスクしてい
ないプリリード要求のみが入力される。(Invention of Claim 2) FIGS. 5 and 6 are flowcharts for explaining the invention of Claim 2, and FIGS.
0 is a timing chart. In the following description, the pre-read request mask signal is a signal for masking the pre-read request asserted from the pre-read buffer which asserted it, and the pre-read request arbitration circuit for the memory bus performs the pre-read request arbitration circuit. Only the pre-read request not masked by the mask signal is input.
【0025】請求項2の発明は、処理装置が記憶装置に
対してリードアクセスを行った際に、該当データが制御
装置内のバッファに存在し、記憶装置をアクセスする必
要がない場合に、前記リードアクセスによって発生した
プリリード要求または受付けを延期されているプリリー
ド要求の中の一つを実行することによって、プリリード
バッファの使用効率を高めるようにしたもので、図5,
図6に示すフローチャートにおいて、S1〜S10は図
1に示したフローチャートと同じであり、図1と図5,
図6のフローチャートを比較して分かるように、プリリ
ード要求マスク信号を用いてプリリードの発生を禁止
(S11〜S16)したものである。つまり、図5にお
いて、該当データがプリリードバッファ内に存在し(S
2)、ヒットしたのが2段目のプリリードバッファであ
った場合(S11)、プリリードの追加受付け番号を発
信し(S12)、図6において、プリリード要求禁止信
号がアサートされており(S10)、プリリードのサイ
クル要求のマスク信号がアサートされている場合(S1
3)に、前記(S12)からのプリリードの追加受付け
信号を受信したかどうか判断し(S14)、受信した場
合は、プリリードのサイクル要求のマスク信号をネゲー
トし(S15)、メモリからのプリリードを実施する
(S16)。According to a second aspect of the present invention, when the processing device makes a read access to the storage device and the corresponding data exists in a buffer in the control device and the storage device does not need to be accessed, By executing one of a pre-read request generated by a read access or a pre-read request whose acceptance has been postponed, the usage efficiency of the pre-read buffer is improved.
In the flowchart shown in FIG. 6, S1 to S10 are the same as those in the flowchart shown in FIG.
As can be seen by comparing the flowcharts of FIGS. 6A and 6B, the occurrence of pre-read is inhibited using the pre-read request mask signal (S11 to S16). That is, in FIG. 5, the corresponding data exists in the pre-read buffer (S
2) If the hit is the second-stage pre-read buffer (S11), an additional pre-read acceptance number is transmitted (S12), and the pre-read request prohibition signal is asserted in FIG. 6 (S10). When the mask signal for the pre-read cycle request is asserted (S1
In 3), it is determined whether or not the additional pre-read acceptance signal from (S12) has been received (S14). If received, the mask signal of the pre-read cycle request is negated (S15), and the pre-read from the memory is performed. This is performed (S16).
【0026】図7〜図10のタイミングチャートにおい
て、40CLK目の立ち上がりまでは図2〜図4のタイ
ミングチャートと同様の動作となる。40CLKからの
転送サイクルはA4dアドレスであり、このアドレスか
らのリード転送はプリリードバッファ2から行われ、記
憶装置40へのアクセスは発生しない。そこで、この情
報とプリリード要求禁止信号のネゲートとの積をとって
プリリード要求追加受付け信号をアサートする。この時
点でアサートされているプリリード要求マスク信号の中
から1つを選んで41CLK目の立ち上がりで、そのプ
リリード要求マスク信号をネゲートする。図7〜図10
では、プリリードバッファ3からアサートされていたプ
リリード要求マスク信号がネゲートされている。この結
果、メモリバスに対してプリリードバッファ3が要求し
ているA88アドレスに対するプリリードが実施され
る。In the timing charts of FIGS. 7 to 10, the operations are the same as those in the timing charts of FIGS. The transfer cycle from 40CLK is the A4d address. Read transfer from this address is performed from the pre-read buffer 2, and no access to the storage device 40 occurs. Therefore, the pre-read request additional acceptance signal is asserted by multiplying this information by the negation of the pre-read request prohibition signal. At this point, one of the pre-read request mask signals asserted is selected, and the pre-read request mask signal is negated at the rising edge of the 41st CLK. 7 to 10
In the figure, the preread request mask signal asserted from the preread buffer 3 is negated. As a result, pre-reading is performed for the A88 address requested by the pre-read buffer 3 for the memory bus.
【0027】上述のように、請求項2の発明により、処
理装置20からの直接リード転送とプリリードの競合を
考慮したプリリード転送を実施することができる。As described above, according to the second aspect of the present invention, it is possible to perform pre-read transfer in consideration of competition between direct read transfer from the processing device 20 and pre-read.
【0028】(請求項3の発明)図11,図12は、請
求項3の発明を説明するためのフローチャート、図13
〜図16はタイミングチャートを示す図で、図2に示し
たように、制御装置10と処理回路20の間のローカル
バスにはROMやその他のデバイス30が存在している
ものとし、以下では、それらのデバイスへのアクセスを
総称してROMアクセスと呼ぶ。(Invention of Claim 3) FIGS. 11 and 12 are flow charts for explaining the invention of claim 3, FIG.
FIG. 16 to FIG. 16 are timing charts. As shown in FIG. 2, it is assumed that a local bus between the control device 10 and the processing circuit 20 has a ROM and other devices 30. Access to these devices is collectively called ROM access.
【0029】請求項3の発明は、処理装置が、制御装置
と記憶装置のバス以外をアクセスした場合に、受付けを
延期されているプリリード要求の中の一つを実行するこ
とによって、プリリードバッファの使用効率を高めるよ
うにしたもので、図5,図6と図11,図12のフロー
チャートを比較して分かるように、ROMアクセスの発
生時(S17)にもプリリード追加受付け信号をアサー
トするように(S18)したものである。According to a third aspect of the present invention, when the processing device accesses a bus other than the control device and the storage device bus, the processing device executes one of the preread requests whose reception has been postponed, thereby providing a preread buffer. As can be seen by comparing the flowcharts of FIGS. 5 and 6 with FIGS. 11 and 12, the pre-read additional acceptance signal is also asserted when a ROM access occurs (S17). (S18).
【0030】図13〜図16のタイミングチャートにお
いても、40CLK目の立ち上がりまでは図2〜図4の
タイミングチャートと同様の動作となる。40CLK目
からは図7〜図10のタイミングチャートではA4dに
対するアクセスがあったが、図13〜図16のタイミン
グチャートではROMへのアクセス(ROMサイクル)
が要求された場合を考える。一般的に、ROM30への
アクセスは記憶装置40へのアクセスよりも低速であ
る。そこで、ROM30へのアクセスが行われている
間、処理装置20からメモリバスへのアクセスは発生し
ないので、ROMアドレスデコードとプリリード要求禁
止信号のネゲートとの積をとってプリリード要求追加受
付け信号をアサートする。図13〜16では41CLK
目の立ち上がりで、プリリードバッファ3からアサート
されていたプリリード要求マスク信号がネゲートされて
いる。この結果、メモリバスに対してプリリードバッフ
ァ3が要求しているA88アドレスに対するプリリード
が実施される。In the timing charts of FIGS. 13 to 16, the operation is the same as that of the timing charts of FIGS. From the 40th CLK, there was access to A4d in the timing charts of FIGS. 7 to 10, but in the timing charts of FIGS. 13 to 16, access to the ROM (ROM cycle).
Is required. Generally, access to the ROM 30 is slower than access to the storage device 40. Therefore, while the access to the ROM 30 is being performed, the processing device 20 does not access the memory bus. Therefore, the product of the ROM address decode and the negation of the preread request prohibition signal is used to assert the preread request addition acceptance signal. I do. In FIGS.
At the rising edge of the eye, the pre-read request mask signal asserted from the pre-read buffer 3 is negated. As a result, pre-reading is performed for the A88 address requested by the pre-read buffer 3 for the memory bus.
【0031】上述のように請求項3の発明を用いること
により、処理装置からの直接リード転送とプリリードの
競合を考慮したプリリード転送を実施することができ
る。As described above, by using the invention of claim 3, it is possible to perform pre-read transfer in consideration of competition between direct read transfer from the processing device and pre-read.
【0032】[0032]
【発明の効果】請求項1の発明は、内部にバッファを複
数組保有する制御装置であって、記憶装置から処理装置
へのデータ転送を制御する前記制御装置におけるデータ
転送制御方法において、前記バッファから前記記憶装置
へのプリリード要求が前記制御装置内で競合した場合
に、後続のプリリード要求の受付けを禁止または延期す
ることによってプリリード動作による記憶装置へのアク
セスの占有を避け、緊急性のある処理装置から記憶装置
への直接アクセスとプリリードアクセスとの競合を抑え
るようにしたので、プリリード間での競合を抑え、処理
装置からの緊急度の高い直接リード転送の高速化を図る
ことができる。According to a first aspect of the present invention, there is provided a control device having a plurality of sets of buffers therein, wherein the control device controls data transfer from a storage device to a processing device. When a pre-read request to the storage device conflicts within the control device, the occupation of access to the storage device by the pre-read operation is prevented by prohibiting or postponing the acceptance of the subsequent pre-read request, and an urgent process is performed. Since the contention between the direct access from the device to the storage device and the pre-read access is suppressed, the contention between the pre-reads can be suppressed, and the speed of the urgent direct read transfer from the processing device can be increased.
【0033】請求項2の発明は、請求項1の発明におい
て、前記処理装置が前記記憶装置に対してリードアクセ
スを行った際に、該当データが前記制御装置内のバッフ
ァに存在し、前記記憶装置をアクセスする必要がない場
合に、前記リードアクセスによって発生したプリリード
要求または受付けを延期されているプリリード要求の中
の一つを実行することによって、プリリードバッファの
使用効率を高めるようにしたので、請求項1の発明の回
路の短所であるプリリード回路の動作不足を補い、か
つ、処理装置からの直接リード転送とプリリードの競合
を考慮したプリリード転送を実施することを可能にする
ことができる。According to a second aspect of the present invention, in the first aspect of the present invention, when the processing device makes a read access to the storage device, the corresponding data exists in a buffer in the control device, and When the apparatus does not need to be accessed, the pre-read request generated by the read access or one of the pre-read requests whose acceptance has been postponed is executed to increase the efficiency of use of the pre-read buffer. In addition, it is possible to compensate for the shortage of the operation of the pre-read circuit, which is a disadvantage of the circuit of the first aspect, and to perform the pre-read transfer in consideration of the conflict between the direct read transfer from the processing device and the pre-read.
【0034】請求項3の発明は、請求項1または2の発
明において、前記処理装置が、前記制御装置と前記記憶
装置のバス以外をアクセスした場合に、受付けを延期さ
れているプリリード要求の中の一つを実行することによ
って、プリリードバッファの使用効率を高めるようにし
たので、請求項1の発明の回路の短所であるプリリード
回路の動作不足を補い、かつ、処理装置からの直接リー
ド転送とプリリードの競合を考慮したプリリード転送を
実施することを可能にすることができる。According to a third aspect of the present invention, in the first or the second aspect of the present invention, when the processing device accesses a bus other than the control device and the bus of the storage device, the pre-read request whose reception has been postponed is deferred. By executing one of the above, the use efficiency of the pre-read buffer is enhanced, so that the shortage of the operation of the pre-read circuit, which is a disadvantage of the circuit according to the first aspect, is compensated for and the direct read transfer from the processing device is performed. It is possible to perform pre-read transfer in consideration of contention between pre-read and pre-read.
【図1】請求項1の発明の動作説明をするためのフロー
チャートである。FIG. 1 is a flowchart for explaining the operation of the invention of claim 1;
【図2】請求項1の発明の動作説明をするためのタイミ
ングチャートの部分図である。FIG. 2 is a partial view of a timing chart for explaining the operation of the invention of claim 1;
【図3】請求項1の発明の動作説明をするためのタイミ
ングチャートの他の部分図である。FIG. 3 is another partial view of the timing chart for explaining the operation of the invention of claim 1;
【図4】請求項1の発明の動作説明をするためのタイミ
ングチャートの更に他の部分図である。FIG. 4 is still another partial view of the timing chart for explaining the operation of the invention of claim 1;
【図5】請求項2の発明の動作説明をするためのフロー
チャートの部分図である。FIG. 5 is a partial view of a flowchart for explaining the operation of the invention according to claim 2;
【図6】請求項2の発明の動作説明をするためのフロー
チャートの他の部分図である。FIG. 6 is another partial view of the flowchart for explaining the operation of the invention of claim 2;
【図7】請求項2の発明の動作説明をするためのタイミ
ングチャートの部分図である。FIG. 7 is a partial view of a timing chart for explaining the operation of the invention according to claim 2;
【図8】請求項2の発明の動作説明をするためのタイミ
ングチャートの他の部分図である。FIG. 8 is another partial view of the timing chart for explaining the operation of the invention of claim 2;
【図9】請求項2の発明の動作説明をするためのタイミ
ングチャートの更に他の部分図である。FIG. 9 is still another partial view of the timing chart for explaining the operation of the invention according to claim 2;
【図10】請求項2の発明の動作説明をするためのタイ
ミングチャートの更に他の部分図である。FIG. 10 is still another partial view of the timing chart for explaining the operation of the invention according to claim 2;
【図11】請求項3の発明の動作説明をするためのフロ
ーチャートの部分図である。FIG. 11 is a partial view of a flowchart for explaining the operation of the invention according to claim 3;
【図12】請求項3の発明の動作説明をするためのフロ
ーチャートの他の部分図である。FIG. 12 is another partial view of the flowchart for explaining the operation of the invention of claim 3;
【図13】請求項3の発明の動作説明をするためのタイ
ミングチャートの部分図である。FIG. 13 is a partial view of a timing chart for explaining the operation of the invention of claim 3;
【図14】請求項3の発明の動作説明をするためのタイ
ミングチャートの他の部分図である。FIG. 14 is another partial diagram of a timing chart for explaining the operation of the invention according to claim 3;
【図15】請求項3の発明の動作説明をするためのタイ
ミングチャートの他の部分図である。FIG. 15 is another partial view of the timing chart for explaining the operation of the invention of claim 3;
【図16】請求項3の発明の動作説明をするためのタイ
ミングチャートの更に他の部分図である。FIG. 16 is still another partial view of the timing chart for explaining the operation of the invention according to claim 3;
【図17】プリリード回路の代表的な回路例を示す図で
ある。FIG. 17 is a diagram illustrating a typical circuit example of a pre-read circuit.
【図18】図17に示したプリリード回路を含む情報処
理回路の例を示す図である。18 is a diagram illustrating an example of an information processing circuit including the pre-read circuit illustrated in FIG.
【図19】プリリード回路の基本動作を説明するための
フローチャートである。FIG. 19 is a flowchart illustrating a basic operation of a pre-read circuit.
【図20】プリリード回路の基本動作(8ワード連続転
送)を説明するためのタイミングチャートの一部であ
る。FIG. 20 is a part of a timing chart for explaining a basic operation (8-word continuous transfer) of the pre-read circuit.
【図21】図20に示したタイミングチャートに続く部
分のタイミングチャートである。FIG. 21 is a timing chart of a part following the timing chart shown in FIG. 20;
【図22】プリリード回路の他の基本動作(シングルワ
ード転送)を説明するためのタイミングチャートの一部
である。FIG. 22 is a part of a timing chart for explaining another basic operation (single word transfer) of the pre-read circuit.
【図23】図22に示したタイミングチャートに続く部
分のタイミングチャートである。FIG. 23 is a timing chart of a portion following the timing chart shown in FIG. 22;
【図24】プリリードが処理装置から記憶装置への直接
リードと競合する場合の例を説明するためのタイミング
チャートの一部である。FIG. 24 is a part of a timing chart for explaining an example of a case where pre-read conflicts with direct reading from the processing device to the storage device.
【図25】図24に示したタイミングチャートに続くタ
イミングチャートの一部を示す図である。FIG. 25 is a diagram showing a part of a timing chart following the timing chart shown in FIG. 24;
【図26】図25に示したタイミングチャートに続くタ
イミングチャートである。FIG. 26 is a timing chart subsequent to the timing chart shown in FIG. 25;
1〜3…プリリードバッファ、10…制御装置、20…
処理装置、30…ROM、40…記憶装置、50…バス
マスタ。1-3: pre-read buffer, 10: control device, 20 ...
Processing device, 30 ROM, 40 storage device, 50 bus master.
Claims (3)
置であって、記憶装置から処理装置へのデータ転送を制
御する前記制御装置におけるデータ転送制御方法におい
て、前記バッファから前記記憶装置へのプリリード要求
が前記制御装置内で競合した場合に、後続のプリリード
要求の受付けを禁止または延期することによってプリリ
ード動作による記憶装置へのアクセスの占有を避け、緊
急性のある処理装置から記憶装置への直接アクセスとプ
リリードアクセスとの競合を抑えることを特徴とするデ
ータ転送制御方法。1. A data transfer control method in a control device having a plurality of sets of buffers therein and controlling data transfer from a storage device to a processing device, wherein a pre-read from the buffer to the storage device is performed. When requests conflict in the control device, the occupation of access to the storage device by the preread operation is prevented by prohibiting or delaying the acceptance of a subsequent preread request, and direct access from the processing device with urgency to the storage device is prevented. A data transfer control method characterized by suppressing contention between data and pre-read access.
ードアクセスを行った際に、該当データが前記制御装置
内のバッファに存在し、前記記憶装置をアクセスする必
要がない場合に、前記リードアクセスによって発生した
プリリード要求または受付けを延期されているプリリー
ド要求の中の一つを実行することによって、プリリード
バッファの使用効率を高めることを特徴とする請求項1
記載のデータ転送制御方法。2. When the processing device performs read access to the storage device, if the data is present in a buffer in the control device and the storage device does not need to be accessed, the read operation is performed. 2. The use efficiency of a pre-read buffer is increased by executing one of a pre-read request generated by an access and a pre-read request whose acceptance has been postponed.
The described data transfer control method.
憶装置のバス以外をアクセスした場合に、受付けを延期
されているプリリード要求の中の一つを実行することに
よって、プリリードバッファの使用効率を高めることを
特徴とする請求項1または2記載のデータ転送制御方
法。3. The use of a pre-read buffer by executing one of pre-read requests whose acceptance has been postponed when the processing device accesses a bus other than the control device and the bus of the storage device. 3. The data transfer control method according to claim 1, wherein the efficiency is increased.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP28370397A JPH11120074A (en) | 1997-10-16 | 1997-10-16 | Data transfer control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP28370397A JPH11120074A (en) | 1997-10-16 | 1997-10-16 | Data transfer control method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11120074A true JPH11120074A (en) | 1999-04-30 |
Family
ID=17668996
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP28370397A Pending JPH11120074A (en) | 1997-10-16 | 1997-10-16 | Data transfer control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11120074A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2002056183A1 (en) * | 2001-01-11 | 2002-07-18 | Flasys Corporation | Semiconductor memory device and method for accessing the same |
| US7650453B2 (en) | 2004-09-16 | 2010-01-19 | Nec Corporation | Information processing apparatus having multiple processing units sharing multiple resources |
| US20180107505A1 (en) * | 2016-10-13 | 2018-04-19 | International Business Machines Corporation | Cache memory transaction shielding via prefetch suppression |
-
1997
- 1997-10-16 JP JP28370397A patent/JPH11120074A/en active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2002056183A1 (en) * | 2001-01-11 | 2002-07-18 | Flasys Corporation | Semiconductor memory device and method for accessing the same |
| US7650453B2 (en) | 2004-09-16 | 2010-01-19 | Nec Corporation | Information processing apparatus having multiple processing units sharing multiple resources |
| US20180107505A1 (en) * | 2016-10-13 | 2018-04-19 | International Business Machines Corporation | Cache memory transaction shielding via prefetch suppression |
| US10802971B2 (en) * | 2016-10-13 | 2020-10-13 | International Business Machines Corporation | Cache memory transaction shielding via prefetch suppression |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5987555A (en) | Dynamic delayed transaction discard counter in a bus bridge of a computer system | |
| US6298424B1 (en) | Computer system including priorities for memory operations and allowing a higher priority memory operation to interrupt a lower priority memory operation | |
| EP0748481B1 (en) | Highly pipelined bus architecture | |
| US6279087B1 (en) | System and method for maintaining coherency and improving performance in a bus bridge supporting write posting operations | |
| US5758166A (en) | Method and apparatus for selectively receiving write data within a write buffer of a host bridge | |
| JP2002530731A (en) | Method and apparatus for detecting data collision on a data bus during abnormal memory access or performing memory access at different times | |
| JP2002530742A (en) | Method and apparatus for prioritizing access to external devices | |
| AU687627B2 (en) | Multiprocessor system bus protocol for optimized accessing of interleaved storage modules | |
| JP2003535380A (en) | Memory controller improves bus utilization by reordering memory requests | |
| US6321307B1 (en) | Computer system and method employing speculative snooping for optimizing performance | |
| US5761708A (en) | Apparatus and method to speculatively initiate primary memory accesses | |
| JP2002530743A (en) | Use the page tag register to track the state of a physical page in a memory device | |
| US6247101B1 (en) | Tagged access synchronous bus architecture | |
| US5829010A (en) | Apparatus and method to efficiently abort and restart a primary memory access | |
| JP7468112B2 (en) | INTERFACE CIRCUIT AND METHOD FOR CONTROLLING INTERFACE CIRCUIT - Patent application | |
| US5913231A (en) | Method and system for high speed memory address forwarding mechanism | |
| US5890216A (en) | Apparatus and method for decreasing the access time to non-cacheable address space in a computer system | |
| JPH11120074A (en) | Data transfer control method | |
| US6097403A (en) | Memory including logic for operating upon graphics primitives | |
| JP3153078B2 (en) | Data processing device | |
| JP3420114B2 (en) | Data transfer method | |
| JP3039391B2 (en) | Memory system | |
| US20040103267A1 (en) | Data processor having cache memory | |
| JP3161422B2 (en) | Microcomputer | |
| JP2001256169A (en) | Data transfer control system and device |