WO1999049395A1 - Buffer memory controller - Google Patents

Buffer memory controller Download PDF

Info

Publication number
WO1999049395A1
WO1999049395A1 PCT/JP1998/001233 JP9801233W WO9949395A1 WO 1999049395 A1 WO1999049395 A1 WO 1999049395A1 JP 9801233 W JP9801233 W JP 9801233W WO 9949395 A1 WO9949395 A1 WO 9949395A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
request
store
buffer
address
Prior art date
Application number
PCT/JP1998/001233
Other languages
French (fr)
Japanese (ja)
Inventor
Ichiki Honma
Hiroshi Kurokawa
Shinichi Mihashi
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 PCT/JP1998/001233 priority Critical patent/WO1999049395A1/en
Publication of WO1999049395A1 publication Critical patent/WO1999049395A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0855Overlapped cache accessing, e.g. pipeline
    • G06F12/0859Overlapped cache accessing, e.g. pipeline with reload from main memory

Definitions

  • the present invention relates to a buffer storage control method, and more particularly to a control method suitable for a stored-type buffer storage.
  • One of the methods for speeding up data reference using a buffer memory that holds a part of the data in the main memory is a strain method.
  • FIG. 2 shows a conventional technique, which is a control method in which a part of data of a main memory 41 is stored in a buffer memory 30 in a stored manner.
  • Requests from the central processing unit are held in the request code register queue 1 and processed on a first-in first-out (FIFO) basis.
  • Address information corresponding to the request code register queue 1 is held in the address register queue 2 and store data is stored in the store data register queue 3, respectively.
  • the buffer address array 6 stores the address of data stored in the buffer memory in the main memory, and is controlled by, for example, a direct mapping method.
  • the buffer register 20 is a high-speed buffer installed between the main memory 41 and the buffer memory 30, temporarily holds the line transfer data, and stores the data in the buffer register 20 after all the line transfer data has been collected. The contents are written to buffer memory 30.
  • the request (ST0) extracted from the request code register queue 1 at time tO is determined by the request decoder 5 as a store request.
  • the store data is extracted from the address register queue 2 and the store data from the store data register queue 3.
  • a part of the address (column address) is sent to the buffer address array 6, and the address capacity is changed.
  • the hit determination circuit 10 determines whether or not the data exists in the buffer memory 30.
  • the column address is also sent to the address register 32 through the selector 36 at the same time, and the buffer memory 30 is stored. Since this case is a hit case, the hit judgment result 51 ⁇ s' rises, and the buffer storage access control unit 14 selects the selector 37 based on the hit judgment result 51.
  • the buffer storage writes the store data at time tl, and ST0 is completed.
  • the request (ST1) extracted from the request code register queue 1 refers to the buffer address array 6 in the same procedure.
  • the hit determination result 5 1 5 does not stand because this case is a mistake case.
  • the buffer memory access control unit 1 4 is set to write inhibit information to the control register 3 1 receives that no stand 5 1 force s, not written Sutoade one Taka s in the buffer memory at time t2
  • the buffer register access control unit 12 sets the stored data in the buffer register 20 at time t2 in response to the fact that it does not stand for 51 seconds, and at the same time, corresponds to the store destination position in the change bit 21.
  • the line transfer control unit 13 issues a request to the main memory access control unit 40 in response to the fact that 51 does not stand up, and at the same time, sends the address during line transfer to the line transfer address register 7. , Set each.
  • the main memory access control unit 40 activates the main memory 41, and the line transfer data is transferred from the main memory 41 to the buffer register 20 between times t4 and t5.
  • the buffer register access control unit 12 sets the line transfer data in the buffer register 20 between the time t5 and the time t6, but already uses the output of the change bit 21 to set the line transfer data. Control the bytes to which the store data is written so that they are not overwritten by the line transfer data.
  • the line transfer control unit 13 activates the buffer storage access control unit 14.
  • the buffer storage access control unit 14 receives this, and transfers the contents of the buffer register 20 to the write register 33, the write request to the control register 31 and the address to select and replace the selector 36. 2, each set.
  • the buffer memory 30 writes the line transfer data at time t7.
  • the contents of the line transfer address register 7, which is the address of the line transfer are set in the buffer address array 6, and at time t7, the line transfer address register 7 is reset. Complete.
  • the contents of the line transfer address register 7, buffer register 20 and change bit 21 become invalid and are not used until the next line transfer is started. That line transfer address register 7, Roh Ffareji Star 2 0, is changed bit 2 1 force s effective time from the time t2 to t6.
  • the request (ST1) that activated the line transfer can be processed at high speed. If the request (ST2) following the ST1 is a store request and matches the column address during the line transfer, Did not process the request until the line transfer was completed.
  • the request (ST2) is determined to be a store request by the request decoder 5 at time t2, and the address of the store request is compared with the contents of the line transfer address register 7 by the column conflict determination circuit 15.
  • the request cutout control unit 4 has suppressed the cutout of the request.
  • the capacity of the main memory 41 is 4 gigabytes
  • the capacity of the buffer storage is 1 megabyte
  • the data length (line size) transferred to the buffer storage 30 in one line transfer is 25.
  • the address registered in the address register queue 2 consists of the following three parts. That is, the upper address indicated by the address bits (0,0) to (1,3), the column address indicated by the address bits (1,4) to (2,7), and the address bit (3, This is the address within the line indicated by (0) to (3, 7).
  • the parts registered in the line transfer address register 7 are the upper addresses (0,0) to (3) and the column addresses (1,4) to (2,7).
  • the column conflict judgment circuit 15 has a column register in address register queue 2 When the address part 202 and the column address part 72 of the line transfer address register 7 are input, and both addresses match, the power is raised 53.
  • the section in which the request (ST2) cut-out force 5 ′ is suppressed due to such a conflict with the column address during line transfer is a section in which line transfer is executed, that is, the time when the line transfer address register 7 is valid.
  • line transfer is completed in 5 processing times from time t2 to t6, and if the processing time required for line transfer increases due to factors such as an increase in the amount of transfer data in line transfer, the At the same time, the time at which the subsequent request is cut out is delayed, which eventually leads to a reduction in the processing performance of the entire processing apparatus.
  • An object of the present invention is to make it possible to cut out a store request and store a store request for a store request following a request that has activated a line transfer, even if the address matches the address performing the line transfer. And to improve the performance of the entire processing apparatus. Disclosure of the invention
  • the present invention relates to a buffer storage control device for controlling buffer storage by a string method, a means for comparing an address being transferred in a line with an address of a subsequent request, and a line transfer when the address power is 5 '.
  • FIG. 1 is a block diagram of a first embodiment of the present invention
  • FIG. 2 is a block diagram of a conventional technique
  • FIG. 3 is a block diagram of a second embodiment of the present invention
  • FIG. FIG. 5 is a time chart (No. 1) in the first embodiment of FIG. 1
  • FIG. 6 is a time chart in the second embodiment of FIG.
  • FIG. 7 is a time chart (No. 2) in the first embodiment of FIG. 1
  • FIG. 8 is a diagram showing a method of determining a column conflict
  • FIG. 9 is a diagram showing a determination of an address conflict. It is a figure showing a method. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 shows a first embodiment of the present invention.
  • the hit determination result 51 is not set in this case because it is a miss case.
  • the buffer memory access control unit 1 4 writes inhibition information to the control register 3 1 accepted by that no stand 5 1 force s hit determination result and set, at time t2 to Bruno Ffa Symbol ⁇ to so as not written power of s.
  • the buffer register ⁇ habit scan control unit 1 2 in response to the fact that not stand 5 1 force s hit determination result, at time t2 and at the same time set the strike Ade Ichita the buffer register 2 0, the change bit 2 1 Set the bit corresponding to the byte position of the middle store destination to 1 so that the store data will not be overwritten by the line transfer data.
  • the line transfer control unit 13 issues a request to the main memory access control unit 40 in response to the hit determination result 51 not being established, and also issues a line transfer address. Set the address during line transfer to register 7.
  • the main memory access control unit 40 activates the main memory 41, and the line transfer data is transferred from the main memory 41 to the buffer register 20 between times t4 and t5.
  • the buffer register access control unit 12 uses the output s of the line transfer data in the buffer register 20 between the time t5 and t6 to set the line transfer data and the output of the change bit 21 when the line transfer data is set.
  • the part that has been written door Adeta force s is controlled to like not such a go-between by overwriting the Rain transfer de one data.
  • the request (ST2) existing in the request code register queue 1 at time t2 is determined by the request decoder 5 to be a store request.
  • the contents of the line transfer address register 7 are compared with the address of ST2 and they match, 52, which is the result of the address conflict determination circuit 11, stands.
  • the capacity of the main memory 41 is 4 gigabytes
  • the capacity of the buffer storage is 1 megabyte
  • the data length (line size) transferred to the buffer storage 30 in one line transfer is 256.
  • the address registered in the address register queue 2 is composed of the following three parts. That is, the upper address indicated by the address bits (0,0) to (3), the column address indicated by the address bits (1,4) to (2,7), and the address bits (3,0) to ( This is an in-line address indicated by (3, 7).
  • the parts registered in the line transfer address register 7 are the upper addresses (0,0) to (1,3) and the column addresses (1,4) to (2,7).
  • the address conflict judgment circuit 11 has an upper address portion 201 and a column address portion 202 of the address register queue 2 and an upper address portion 70 1 and a column address portion 70 2 of the line transfer address register 7. 5 Entered, both address power s — If they match, the result of the address conflict judgment is 5 2 ⁇ 1.
  • the buffer register access control unit 1 2 sends the ST2
  • the contents of the 'store data register queue 3' which is the ST2 store data
  • the notifier register 20 the contents of the 'store data register queue 3', which is the ST2 store data
  • a store request that caused an address conflict even during line transfer can be processed by writing to the buffer register, and when store data and line transfer data are set in the buffer register 20 at the same time.
  • the corresponding bit of the change bit 21 is set to 1 at the same time to prevent overwriting by the line transfer data.
  • requests s are extracted from the request code register queue 1 from the requests ST3 to ST5 and processed.
  • ST3 to ST5 are all store requests, and the address matches the address being transferred during line transfer.
  • the line transfer control unit 13 activates the buffer storage access control unit 14.
  • the buffer storage access control unit 14 receives this, and writes the contents of the buffer register 20 to the write register 33, the write request to the control register 31, and the selector 36 to select and replace the line.
  • the buffer memory 30 writes the line transfer data at time t7.
  • the address in the main memory which is the target of the line transfer, is written from the line transfer address register 7 into the buffer address array 6, and the line transfer address register 7 is reset to perform a series of line transfers. Is completed.
  • the contents of the line transfer address register 7, the buffer register 20 and the change bit 21 become invalid and are not used until the next line transfer is started.
  • FIG. 1 a time chart in the case where the request following the request that activated the line transfer is a fetch and the address matches the address of the preceding store request is shown in FIG.
  • the operation of the fetch request (FT) at time t2 will be described. It is assumed that the FT existing in the request code register queue 1 at time t2 matches the address of ST1. Therefore, a comparison with the line transfer address register 7 gives an address conflict determination result 52.
  • the request cutout control unit 4 receives the fact that the FT is a fetch request from the request decoder 5 and that the FT is up to 52 s, and suppresses the cutout of the FT. This state continues until time t5 is a line transfer address register 7 force s effective, for updating the time t6 the buffer address array 6, actually become the FT force s possible cut becomes time t7 or later.
  • FIG. 3 shows a second embodiment of the present invention.
  • the difference between the present embodiment and the embodiment of FIG. 1 is that there is no buffer register 20 between the main memory 41 and the buffer memory 30 and there is no buffer register access control unit 12 and the light register 33 is The point is that write register A 34 and write register B 35 are used to support 2-port input. That is, with this change, the line transfer data is directly transferred from the main memory 41 to the buffer memory 30 via the write register B 35, and the write register A 34 can be written at the same time. Store data in the You.
  • FIG. 5 shows that when the store request (ST1) at time tl starts line transfer, the store data is set in the buffer register 20 in FIG. 5 ', FIG. 6 shows that data is written directly into the buffer memory 30, and that the line transfer data from the main memory 41 is written directly into the buffer memory 30.
  • the process of transferring data from the far register 20 to the buffer storage 30 can be omitted.
  • the update time of the buffer address array 6 to be t5
  • the time at which the store request (ST6) is cut out can be advanced as compared with the example of FIG.
  • the store data is written in parallel with the writing of the line transfer data.
  • Store processing can be performed without waiting for the completion of the transfer.
  • the throughput of the store processing is improved, and thus the throughput of the entire processing apparatus is improved.
  • the present invention relates to a storage device that performs control by the store-in method. Therefore, it is suitable for use in a buffer storage control device that improves the throughput of the entire storage device.

Abstract

A buffer memory controller that controls a buffer memory by the store-in method, which is provided with a means for comparing the address being transferred on line and the subsequent address of a store request and a means for writing, parallely in the buffer memory, the line transfer data and the store data when the data match. Thus the subsequent store request can be processed with no influence by the processing time on the line transfer, and thereby the processing performance of the entire processor can be improved.

Description

ファ記憶制御装置 技術分野  Technical field
本発明はバッファ記憶の制御方式に関するものであり、 特にストァイン方 式のバッファ記憶に適した制御方式に関する。 背景技術  The present invention relates to a buffer storage control method, and more particularly to a control method suitable for a stored-type buffer storage. Background art
主記憶のデータの一部を保持するバッファ記憶を用いて、 データ参照を高 速化する方式の一つとしてス トァイン方式がある。  One of the methods for speeding up data reference using a buffer memory that holds a part of the data in the main memory is a strain method.
ストアイン方式は、 あるストァリクエストに対してス トァ先のァドレス力 バッファ記憶に無い場合に、 対応する主記憶のデータの一部をある単位 (ラ イン) で読み出し、 バッファ記憶に転送 (ライン転送) した後、 該ス トアリ クエストのデータをバッファ記憶に書き込む処理方式である。 In the store-in method, when a certain store request is not stored in the buffer capacity of the storage destination, a part of the corresponding main memory data is read in a certain unit (line) and transferred to the buffer storage (line transfer). ), And then writes the data of the strike request to the buffer storage.
ここで問題となるのは、 主記憶のアクセス速度がバッファ記憶のアクセス速 度に比べて遅い程、 ライン転送を起動したストァリクエストを処理するのに かかる時間も増大し、 ノ ッファ記憶のリクエストの処理スループッ ト力 S低下 する点である。 The problem here is that the slower the main memory access speed is than the buffer memory access speed, the longer it takes to process the store request that activated the line transfer, and the The point is that the processing throughput force S decreases.
この問題点を解決する方法の一つとして、 特開昭 6 1 - 1 1 8 6 5に示され る技術力'ある。 One of the methods for solving this problem is the technical capability shown in Japanese Patent Application Laid-Open No. S61-118865.
すなわち、 あるストアリクエストがライン転送を起動した場合、 ライン転送 のデータをバッファ記憶に書き込むのに先行して、 ストァリクエストのデ一 タをバッファ記憶に書き込み、 既にストァのデータを書き込んだ部分につい ては、 ライン転送データによって上書きされることを防止する機能を備える ことで、 ライン転送の完了を待たずに、 該ライン転送を起動したス トアリク エストを処理することにより、 処理時間を短縮するというものである。 図 2は従来技術を示したものであり、 主記憶 4 1のデータの一部をバッ ファ記憶 3 0にストァイン方式で保持する制御方式である。 In other words, when a store request activates line transfer, the store request data is written to the buffer storage before the line transfer data is written to the buffer storage. Is to provide a function to prevent overwriting by line transfer data, thereby reducing the processing time by processing the request that started the line transfer without waiting for the completion of the line transfer. It is. FIG. 2 shows a conventional technique, which is a control method in which a part of data of a main memory 41 is stored in a buffer memory 30 in a stored manner.
中央処理装置 (図示せず) からのリクエストはリクエストコ一ドレジス夕 キュー 1に保持され、 ファース トイン ' ファース トアウト (FIFO) で処理 される。 又、 リクエストコードレジスタキュー 1に対応するアドレス情報は ァドレスレジスタキュー 2に、 ス トァデータはス トァデータレジスタキュー 3にそれぞれ保持される。 Requests from the central processing unit (not shown) are held in the request code register queue 1 and processed on a first-in first-out (FIFO) basis. Address information corresponding to the request code register queue 1 is held in the address register queue 2 and store data is stored in the store data register queue 3, respectively.
ノ ッファアドレスアレイ 6は、 バッファ記憶に格納されているデータの主記 憶上でのァドレス力登録されており、 例えばダイレク トマツピング方式等に よる制御がなされる。 The buffer address array 6 stores the address of data stored in the buffer memory in the main memory, and is controlled by, for example, a direct mapping method.
ノ ツファレジスタ 2 0は、 主記憶 4 1 とノ ツファ記憶 3 0の間に設置される 高速のバッファで、 ライン転送データを一時的に保持し、 ライン転送データ 力全て揃った後にバッファレジスタ 2 0の内容がバッファ記憶 3 0に書き込 まれる。 The buffer register 20 is a high-speed buffer installed between the main memory 41 and the buffer memory 30, temporarily holds the line transfer data, and stores the data in the buffer register 20 after all the line transfer data has been collected. The contents are written to buffer memory 30.
図 2の従来技術での動作を図 4のタイムチヤ一トに示す。  The operation of the prior art shown in FIG. 2 is shown in the time chart of FIG.
先ずリクエストのアドレス力バッファ記憶内に存在する場合 (ヒッ トケー ス) の動作について示す。 First, the operation in the case where the request address exists in the buffer memory (hit case) will be described.
時刻 tOでリクエストコードレジスタキュー 1から切り出されたリクエスト (ST0) は、 リクエストデコーダ 5によりストアリクエストと判定される。 この時、 同時にアドレスレジスタキュー 2よりアドレス力 \ ス トアデータレ ジスタキユー 3よりストァデータがそれぞれ切り出される。 ァドレスの一部 分 (カラムアドレス) はバッファアドレスアレイ 6に送られ、 該ァドレス力? ノ"?ッファ記憶 3 0に存在するか否かがヒッ ト判定回路 1 0で求められる。 又、 該カラムアドレスは同時にセレクタ 3 6を通りアドレスレジスタ 3 2に も送られ、 ノ ッファ記憶 3 0のアクセスに用いられる。 本ケースはヒッ ト ケースであるためヒッ ト判定結果 5 1力 s '立ち、 バッファ記憶アクセス制御部 1 4はヒッ ト判定結果 5 1を元にセレクタ 3 7を選択してス トァデータをラ ィ トレジスタ 3 3に、 書き込み信号を制御レジスタ 3 1に、 それぞれセッ ト する。 バッファ記憶は時刻 tlで該ストアデータを書き込み、 ST0が完了す る。 The request (ST0) extracted from the request code register queue 1 at time tO is determined by the request decoder 5 as a store request. At this time, at the same time, the store data is extracted from the address register queue 2 and the store data from the store data register queue 3. A part of the address (column address) is sent to the buffer address array 6, and the address capacity is changed. The hit determination circuit 10 determines whether or not the data exists in the buffer memory 30. The column address is also sent to the address register 32 through the selector 36 at the same time, and the buffer memory 30 is stored. Since this case is a hit case, the hit judgment result 51 力 s' rises, and the buffer storage access control unit 14 selects the selector 37 based on the hit judgment result 51. Set store data to write register 33 and write signal to control register 31 I do. The buffer storage writes the store data at time tl, and ST0 is completed.
次にリクエストのァドレスカバッファ記憶内に存在しない場合 (ミスケー ス) の動作について示す。  Next, the operation when the request does not exist in the addressless buffer storage (mis-case) will be described.
時刻 tlでリクエストコ一ドレジスタキユー 1より切り出されたストァリクェ スト (ST1) が同様の手順でバッファアドレスアレイ 6を参照した結果、 本 ケースはミスケースのためヒッ ト判定結果 5 1力5、立たない。 この場合、 バッ ファ記憶アクセス制御部 1 4は 5 1力 s立たなかったことを受けて制御レジス タ 3 1に書き込み抑止情報をセッ トし、 時刻 t2でバッファ記憶にストアデ一 タカ s書き込まれない様にする。 一方バッファレジスタアクセス制御部 1 2は 5 1力 s立たないことを受けて、 時刻 t2でストアデータをバッファレジスタ 2 0にセッ トすると同時に、 変更ビッ ト 2 1の中のストァ先の位置に該当する 部分 (例えば、 1バイ ト単位) のビッ トを 1にセッ トして、 ライン転送デー タによって該ストアデータ力上書きされない様にする。 これと並行して、 ラ イン転送制御部 1 3は 5 1が立たないことを受けて主記憶アクセス制御部 4 0にリクエストを発行し、 併せてライン転送ァドレスレジスタ 7ヘライン転 送中のアドレスを、 それぞれセッ トする。 主記憶アクセス制御部 4 0は主記 憶 4 1を起動し、 ライン転送データが主記憶 4 1からバッファレジスタ 2 0 へ時刻 t4から t5の間に転送される。 ノ ッファレジスタアクセス制御部 1 2は ノ ッファレジスタ 2 0に該ライン転送データを時刻 t5から t6の間にセッ トす るが、 セッ トする際に変更ビッ ト 2 1の出力を用いて、 既にストアデータが 書き込まれているバイ トについてはライン転送データによつて上書きされな い様に制御する。 At time tl, the request (ST1) extracted from the request code register queue 1 refers to the buffer address array 6 in the same procedure. As a result, the hit determination result 5 1 5 does not stand because this case is a mistake case. In this case, the buffer memory access control unit 1 4 is set to write inhibit information to the control register 3 1 receives that no stand 5 1 force s, not written Sutoade one Taka s in the buffer memory at time t2 Like On the other hand, the buffer register access control unit 12 sets the stored data in the buffer register 20 at time t2 in response to the fact that it does not stand for 51 seconds, and at the same time, corresponds to the store destination position in the change bit 21. Set the bit of the part (for example, one byte unit) to 1 to 1 so that the store data is not overwritten by the line transfer data. In parallel with this, the line transfer control unit 13 issues a request to the main memory access control unit 40 in response to the fact that 51 does not stand up, and at the same time, sends the address during line transfer to the line transfer address register 7. , Set each. The main memory access control unit 40 activates the main memory 41, and the line transfer data is transferred from the main memory 41 to the buffer register 20 between times t4 and t5. The buffer register access control unit 12 sets the line transfer data in the buffer register 20 between the time t5 and the time t6, but already uses the output of the change bit 21 to set the line transfer data. Control the bytes to which the store data is written so that they are not overwritten by the line transfer data.
ラィン転送デ一タが時刻 t6でバッファレジスタ 2 0に全てセッ トされると、 ライン転送制御部 1 3はバッファ記憶アクセス制御部 1 4を起動する。 バッ ファ記憶アクセス制御部 1 4はこれを受けてバッファレジスタ 2 0の内容を ライ トレジスタ 3 3に、 書き込みリクエストを制御レジスタ 3 1 に、 セレク タ 3 6を選択して置換するアドレスをァドレスレジスタ 3 2に、 それぞれ セッ トする。 ノ ッファ記憶 3 0は時刻 t7でライン転送データを書き込む。 ま た、 時刻 t6でバッファァドレスアレイ 6に該ライン転送となったァドレスで あるライン転送アドレスレジスタ 7の内容をセッ トし、 時刻 t7でライン転送 アドレスレジスタ 7をリセッ トし、 一連のライン転送が完了する。 ライン転 送が完了した時刻 t7以降は、 ラィン転送ァドレスレジスタ 7、 バッファレジ スタ 2 0、 変更ビッ ト 2 1の内容は無効となり、 次のライン転送が起動され るまで使用されない。 つまりライン転送アドレスレジスタ 7、 ノ ッファレジ スタ 2 0、 変更ビッ ト 2 1力 s有効な時間は時刻 t2から t6までである。 When all the line transfer data is set in the buffer register 20 at time t6, the line transfer control unit 13 activates the buffer storage access control unit 14. The buffer storage access control unit 14 receives this, and transfers the contents of the buffer register 20 to the write register 33, the write request to the control register 31 and the address to select and replace the selector 36. 2, each set. The buffer memory 30 writes the line transfer data at time t7. At time t6, the contents of the line transfer address register 7, which is the address of the line transfer, are set in the buffer address array 6, and at time t7, the line transfer address register 7 is reset. Complete. After the time t7 when the line transfer is completed, the contents of the line transfer address register 7, buffer register 20 and change bit 21 become invalid and are not used until the next line transfer is started. That line transfer address register 7, Roh Ffareji Star 2 0, is changed bit 2 1 force s effective time from the time t2 to t6.
上記従来技術ではライン転送を起動したリクエスト (ST1)についてはその 処理を高速ィ匕できる力'、 ST1続くリクエスト (ST2)がストアリクエストで、 かつライン転送中のカラムアドレスと一致していた場合には、 そのリクエス トはライン転送が完了するまで処理することができなかった。  In the above-mentioned conventional technology, the request (ST1) that activated the line transfer can be processed at high speed. If the request (ST2) following the ST1 is a store request and matches the column address during the line transfer, Did not process the request until the line transfer was completed.
すなわち図 4において、 時刻 t2でリクエスト (ST2)がリクエストデコーダ 5 によってストァリクエストと判定された力?、 ストァリクエストのァドレスを ライン転送ァドレスレジスタ 7の内容とカラムコンフリク ト判定回路 1 5で 比較した結果、 一致することを示す信号 5 3が立った場合は、 リクエスト切 り出し制御部 4は該リクエストの切り出しを抑止していた。 That is, in FIG. 4, the request (ST2) is determined to be a store request by the request decoder 5 at time t2, and the address of the store request is compared with the contents of the line transfer address register 7 by the column conflict determination circuit 15. When the signal 53 indicating the coincidence is raised, the request cutout control unit 4 has suppressed the cutout of the request.
このァドレスの比較方法を図 8を用いて説明する。 The method of comparing the address will be described with reference to FIG.
本従来技術の場合、 例えば主記憶 4 1の容量を 4ギガバイ ト、 バッファ記憶 の容量を 1メガバイ ト、 1回のライン転送でバッファ記憶 3 0に転送される データ長 (ラインサイズ) を 2 5 6バイト、 とするとアドレスレジスタ キュー 2に登録されているアドレスは次の 3つの部分より構成される。 すな わち、 アドレスビッ ト(0,0)〜(1,3)で示される上位アドレス、 アドレスビッ ト (1,4)〜(2,7)で示されるカラムアドレス、 アドレスビット(3,0)〜(3,7)で示され るライン内アドレスである。 この内、 ライン転送アドレスレジスタ 7に登録 される部分は上位ァドレス (0,0)〜ひ, 3)およびカラムアドレス (1,4)〜(2,7)であ る。 ここでアドレスビッ ト (a,b)は 「aバイ ト中の bビッ ト」 を意味する。 カラムコンフリク ト判定回路 1 5にはァドレスレジスタキュー 2のカラムァ ドレス部 2 0 2と、 ライン転送ァドレスレジスタ 7のカラムァドレス部 7 0 2力入力され、 双方のアドレスが一致した場合、 5 3力立つ。 In the case of this conventional technology, for example, the capacity of the main memory 41 is 4 gigabytes, the capacity of the buffer storage is 1 megabyte, and the data length (line size) transferred to the buffer storage 30 in one line transfer is 25. If it is 6 bytes, the address registered in the address register queue 2 consists of the following three parts. That is, the upper address indicated by the address bits (0,0) to (1,3), the column address indicated by the address bits (1,4) to (2,7), and the address bit (3, This is the address within the line indicated by (0) to (3, 7). Of these, the parts registered in the line transfer address register 7 are the upper addresses (0,0) to (3) and the column addresses (1,4) to (2,7). Here, the address bits ( a , b) mean “b bits in a byte”. The column conflict judgment circuit 15 has a column register in address register queue 2 When the address part 202 and the column address part 72 of the line transfer address register 7 are input, and both addresses match, the power is raised 53.
この様なライン転送中のカラムァドレスとのコンフリク トによりリクエス ト (ST2)の切り出し力5'抑止される区間は、 ラィン転送が実行されている区間、 すなわちライン転送ァドレスレジスタ 7力有効である時刻 t2から t6まで続 本構成ではラィン転送は時刻 t2から t6の 5処理時間で完了するせ、 ラィン転 送での転送データ量が増大する等の要因によりライン転送にかかる処理時間 力増加すると、 それに併せて後続のリクエストが切り出される時刻が遅れ、 ひいては処理装置全体の処理性能の低下につながる。 The section in which the request (ST2) cut-out force 5 ′ is suppressed due to such a conflict with the column address during line transfer is a section in which line transfer is executed, that is, the time when the line transfer address register 7 is valid. In this configuration, line transfer is completed in 5 processing times from time t2 to t6, and if the processing time required for line transfer increases due to factors such as an increase in the amount of transfer data in line transfer, the At the same time, the time at which the subsequent request is cut out is delayed, which eventually leads to a reduction in the processing performance of the entire processing apparatus.
本発明の目的は、 ライン転送を起動したリクェス トに続くス トアリクエス トについて、 そのァドレスがライン転送を実行中のァドレスと一致した場合 にも、 該ストアリクエストを切り出してストアをする処理を可能とし、 処理 装置全体の性能を向上させることにある。 発明の開示  An object of the present invention is to make it possible to cut out a store request and store a store request for a store request following a request that has activated a line transfer, even if the address matches the address performing the line transfer. And to improve the performance of the entire processing apparatus. Disclosure of the invention
本発明は、 バッファ記憶をストァイン方式により制御するバッファ記憶制 御装置において、 ライン転送中のァドレスと後続するス トァリクエス トのァ ドレスを比較する手段と、 ァドレス力5'—致した際にライン転送データとスト ァデータを並列にバッファ記憶に書き込むこと力 s可能な手段とを設けること により、 ライン転送にかかる処理時間に影響されることなく後続のストァリ クェス トを処理し、 処理装置全体の処理性能を向上させる。 図面の簡単な説明 The present invention relates to a buffer storage control device for controlling buffer storage by a string method, a means for comparing an address being transferred in a line with an address of a subsequent request, and a line transfer when the address power is 5 '. by providing a possible force s possible means for writing data and strike Adeta the buffer memory in parallel, to process subsequent Sutari Kuesu bets without being affected by the processing time in the line transfer, the entire processing apparatus processing performance Improve. BRIEF DESCRIPTION OF THE FIGURES
図 1は本発明の第 1の実施例のプロック図であり、 図 2は従来技術のブ ロック図であり、 図 3は本発明の第 2の実施例のプロック図であり、 図 4は 図 2の従来技術におけるタイムチヤ一トであり、 図 5は図 1の第 1の実施例 におけるタイムチャート (その 1 ) であり、 図 6は図 3の第 2の実施例にお けるタイムチャートであり、 図 7は図 1の第 1の実施例におけるタイム チャート (その 2 ) であり、 図 8はカラムコンフリク トの判定方法を示す図 であり、 図 9はアドレスコンフリク トの判定方法を示す図である。 発明を実施するための最良の形態 FIG. 1 is a block diagram of a first embodiment of the present invention, FIG. 2 is a block diagram of a conventional technique, FIG. 3 is a block diagram of a second embodiment of the present invention, and FIG. FIG. 5 is a time chart (No. 1) in the first embodiment of FIG. 1, and FIG. 6 is a time chart in the second embodiment of FIG. FIG. 7 is a time chart (No. 2) in the first embodiment of FIG. 1, FIG. 8 is a diagram showing a method of determining a column conflict, and FIG. 9 is a diagram showing a determination of an address conflict. It is a figure showing a method. BEST MODE FOR CARRYING OUT THE INVENTION
以下、 本発明の実施例について図面を用いて説明する。 図中、 同一部分に は同一番号を付してある。  Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings, the same parts are denoted by the same reference numerals.
図 1は本発明の第 1の実施例である。  FIG. 1 shows a first embodiment of the present invention.
図 2の従来技術からの変更点は、 カラムコンフリク ト判定回路 1 5がァドレ スコンフリク ト判定回路 1 1に置き換わっていること、 及びバッファレジス タアクセス制御部 1 2に対してァドレスコンフリクト判定回路 1 1およびリ クェストデコーダ 5からの信号が追加されていることである。 The difference from the prior art of FIG. 2 is that the column conflict determination circuit 15 is replaced with the address conflict determination circuit 11 and that the buffer register access control unit 12 has an address conflict determination circuit 11. And the signal from the request decoder 5 is added.
図 1の実施例での動作を図 5のタイムチヤ一トに示す。 The operation in the embodiment of FIG. 1 is shown in the time chart of FIG.
時刻 tOでのリクエスト (ST0)はヒッ トケースのため、 図 2に示す従来技術の 動作と同様である。 Since the request (ST0) at time tO is a hit case, it is the same as the operation of the conventional technique shown in FIG.
次にミスケースについて説明する。 Next, a miss case will be described.
時刻 でリクエストコードレジスタキュー 1 より切り出されたス トアリクェ スト (ST1) が同様の手順でバッファアドレスアレイ 6を参照した結果、 本 ケースはミスケースのためヒッ ト判定結果 5 1が立たない。 この場合、 バッ ファ記憶アクセス制御部 1 4はヒッ ト判定結果 5 1力 s立たなかったことを受 けて制御レジスタ 3 1に書き込み抑止情報をセッ トし、 時刻 t2でノ ッファ記 憶にストァデータ力 s書き込まれない様にする。 一方バッファレジスタァクセ ス制御部 1 2はヒッ ト判定結果 5 1力 s立たないことを受けて、 時刻 t2でスト アデ一タをバッファレジスタ 2 0にセッ トすると同時に、 変更ビッ ト 2 1の 中のストァ先のバイ ト位置に対応するビットを 1にセッ トして、 ライン転送 データによって該ストァデータ力上書きされない様にする。 これと並行し て、 ライン転送制御部 1 3はヒッ ト判定結果 5 1が立たないことを受けて主 記憶アクセス制御部 4 0にリクエストを発行し、 併せてライン転送アドレス レジスタ 7ヘライン転送中のアドレスをセッ トする。 主記憶アクセス制御部 4 0は主記憶 4 1を起動し、 ライン転送データが主記憶 4 1からバッファレ ジスタ 2 0へ時刻 t4から t5の間に転送される。 バッファレジスタアクセス制 御部 1 2はバッファレジスタ 2 0に該ライン転送データを時刻 t5から t6の間 にセッ トする力 s、 セッ トする際に変更ビッ ト 2 1の出力を用いて、 既にス ト ァデータ力 s書き込まれている部分はラィン転送デ一タによつて上書きされな い様に制御する。 As a result of the request (ST1) extracted from the request code register queue 1 at the time referring to the buffer address array 6 in the same procedure, the hit determination result 51 is not set in this case because it is a miss case. Sutadeta this case, the buffer memory access control unit 1 4 writes inhibition information to the control register 3 1 accepted by that no stand 5 1 force s hit determination result and set, at time t2 to Bruno Ffa Symbol憶to so as not written power of s. On the other hand, the buffer register § habit scan control unit 1 2 in response to the fact that not stand 5 1 force s hit determination result, at time t2 and at the same time set the strike Ade Ichita the buffer register 2 0, the change bit 2 1 Set the bit corresponding to the byte position of the middle store destination to 1 so that the store data will not be overwritten by the line transfer data. In parallel with this, the line transfer control unit 13 issues a request to the main memory access control unit 40 in response to the hit determination result 51 not being established, and also issues a line transfer address. Set the address during line transfer to register 7. The main memory access control unit 40 activates the main memory 41, and the line transfer data is transferred from the main memory 41 to the buffer register 20 between times t4 and t5. The buffer register access control unit 12 uses the output s of the line transfer data in the buffer register 20 between the time t5 and t6 to set the line transfer data and the output of the change bit 21 when the line transfer data is set. the part that has been written door Adeta force s is controlled to like not such a go-between by overwriting the Rain transfer de one data.
これに続くリクエストの処理手順を以下に示す。 The following shows the procedure for processing the request.
時刻 t2でリクエストコードレジスタキュー 1に存在するリクエスト (ST2)は リクエストデコーダ 5により、 ストアリクエストと判定されたとする。 この 時ライン転送ァドレスレジスタ 7の内容と ST2のァドレスを比較して一致し た場合、 アドレスコンフリクト判定回路 1 1の結果である 5 2が立つ。 It is assumed that the request (ST2) existing in the request code register queue 1 at time t2 is determined by the request decoder 5 to be a store request. At this time, if the contents of the line transfer address register 7 are compared with the address of ST2 and they match, 52, which is the result of the address conflict determination circuit 11, stands.
このァドレスの比較方法を図 9を用いて説明する。 The method of comparing the address will be described with reference to FIG.
本実施例の場合、 例えば主記憶 4 1の容量を 4ギガバイ ト、 バッファ記憶の 容量を 1メガバイト、 1回のライン転送でバッファ記憶 3 0に転送される データ長 (ラインサイズ) を 2 5 6バイト、 とするとアドレスレジスタ キュー 2に登録されているアドレスは次の 3つの部分より構成されること力 s 分かる。 すなわち、 アドレスビット(0,0)〜ひ, 3)で示される上位アドレス、 ァ ドレスビッ ト(1,4)〜(2,7)で示されるカラムアドレス、 アドレスビッ ト(3,0)〜 (3,7)で示されるライン内アドレスである。 この内、 ライン転送アドレスレジ スタ 7に登録される部分は上位ァドレス (0,0)〜(1,3)およびカラムアドレス (1,4)〜(2,7)である。 In the case of the present embodiment, for example, the capacity of the main memory 41 is 4 gigabytes, the capacity of the buffer storage is 1 megabyte, and the data length (line size) transferred to the buffer storage 30 in one line transfer is 256. It can be understood that the address registered in the address register queue 2 is composed of the following three parts. That is, the upper address indicated by the address bits (0,0) to (3), the column address indicated by the address bits (1,4) to (2,7), and the address bits (3,0) to ( This is an in-line address indicated by (3, 7). Of these, the parts registered in the line transfer address register 7 are the upper addresses (0,0) to (1,3) and the column addresses (1,4) to (2,7).
ァドレスコンフリク ト判定回路 1 1にはァドレスレジスタキュー 2の上位ァ ドレス部 2 0 1およびカラムアドレス部 2 0 2と、 ライン転送ァドレスレジ スタ 7の上位ァドレス部 7 0 1およびカラムアドレス部 7 0 2力5入力され、 双方のァドレス力 s—致した場合、 ァドレスコンフリクト判定結果 5 2 ± つ。 The address conflict judgment circuit 11 has an upper address portion 201 and a column address portion 202 of the address register queue 2 and an upper address portion 70 1 and a column address portion 70 2 of the line transfer address register 7. 5 Entered, both address power s — If they match, the result of the address conflict judgment is 5 2 ± 1.
バッファレジスタァクセス制御部 1 2はリクエストデコーダ 5より該 ST2力 ストアリクエストであること、 およびアドレスコンフリク ト判定結果 5 2せ 立ったことを受けて、 ノ ツファレジスタ 2 0に該 ST2のストァデータである' ストアデータレジスタキュー 3の内容をセッ トする。 ここで、 ライン転送中 であってもアドレスコンフリク トとなったストアリクエストはバッファレジ スタに書き込むことで処理が可能な点、 およびス トアデータとライン転送 データを同時にバッファレジスタ 2 0にセッ トする場合、 必ずストァデータ を優先してセッ トする点に注意を要する。 この時同時に変更ビッ ト 2 1の該 当するビッ トを 1とし、 ライン転送データによって上書きされることを防止 する。 The buffer register access control unit 1 2 sends the ST2 In response to the store request and the address conflict determination result 52, the contents of the 'store data register queue 3', which is the ST2 store data, are set in the notifier register 20. Here, a store request that caused an address conflict even during line transfer can be processed by writing to the buffer register, and when store data and line transfer data are set in the buffer register 20 at the same time. However, care must be taken to always set the store data first. At this time, the corresponding bit of the change bit 21 is set to 1 at the same time to prevent overwriting by the line transfer data.
上記と同様の手順で、 時刻 t3から t5の間にリクエストコードレジスタキュー 1より、 リクエスト ST3から ST5まで力 s切り出され、 処理される。 但しここ で ST3から ST5までは全てストァリクエストで、 かつァドレスがライン転送 中のァドレスと一致するものとする。 In the same procedure as above, between the times t3 and t5, requests s are extracted from the request code register queue 1 from the requests ST3 to ST5 and processed. However, here, it is assumed that ST3 to ST5 are all store requests, and the address matches the address being transferred during line transfer.
ライン転送データが時刻 t6でバッファレジスタ 2 0に全てセッ トされると、 ライン転送制御部 1 3はバッファ記憶アクセス制御部 1 4を起動する。 バッ ファ記憶アクセス制御部 1 4はこれを受けてバッファレジスタ 2 0の内容を ライ トレジスタ 3 3に、 書き込みリクエストを制御レジスタ 3 1に、 セレク タ 3 6を選択して置換するアドレスである、 ライン転送ァドレスレジスタ 7 のカラムアドレス部分をァドレスレジスタ 3 2に、 それぞれセッ トする。 バッファ記憶 3 0は時刻 t7でライン転送データを書き込む。 また、 時刻 t6で ノ ッファアドレスアレイ 6に該ライン転送の対象となった主記憶上のァドレ スをライン転送アドレスレジスタ 7より書き込み、 ライン転送アドレスレジ スタ 7をリセッ トし、 一連のライン転送が完了する。 ライン転送が完了した 時点で、 ライン転送アドレスレジスタ 7、 ノ ッファレジスタ 2 0、 変更ビッ ト 2 1はその内容が無効となり、 以降次のラィン転送が起動されるまで使用 されない。 When all the line transfer data is set in the buffer register 20 at time t6, the line transfer control unit 13 activates the buffer storage access control unit 14. The buffer storage access control unit 14 receives this, and writes the contents of the buffer register 20 to the write register 33, the write request to the control register 31, and the selector 36 to select and replace the line. Set the column address part of the transfer address register 7 in the address register 32, respectively. The buffer memory 30 writes the line transfer data at time t7. At time t6, the address in the main memory, which is the target of the line transfer, is written from the line transfer address register 7 into the buffer address array 6, and the line transfer address register 7 is reset to perform a series of line transfers. Is completed. When the line transfer is completed, the contents of the line transfer address register 7, the buffer register 20 and the change bit 21 become invalid and are not used until the next line transfer is started.
このライン転送を完了するための、 時刻 t6でのバッファァドレスアレイ 6の 更新処理、 時刻 t7でのバッファ記憶 3 0の更新処理中は、 ライン転送中のァ ドレスと一致するリクエストは全て抑止される必要がある。 よって時刻 t6で リクエストコードレジスタキュー 1にはリクエスト (ST6) がある力、 同時 刻にライン転送アドレスレジスタ 7はリセットされているため該リクェスト は切り出すことができず、 ライン転送処理が全て完了する時刻 t7になった時 点から切り出し力'再開される。 During the update processing of the buffer address array 6 at time t6 and the update processing of the buffer memory 30 at time t7 to complete this line transfer, the All requests that match the dress need to be suppressed. Therefore, at time t6, there is a request (ST6) in the request code register queue 1 and the line transfer address register 7 is reset at the same time, so that the request cannot be cut out and the line transfer processing is completed. The cutting force is restarted at the point when it reaches t7.
次に図 1の実施例において、 ライン転送を起動したリクエストの後続のリ クエストがフェッチの場合で、 かつ先行するストァリクエストのアドレスと —致していた場合のタイムチヤ一トを図 7に示す。  Next, in the embodiment of FIG. 1, a time chart in the case where the request following the request that activated the line transfer is a fetch and the address matches the address of the preceding store request is shown in FIG.
図 7において時刻 tOにおけるストアリクエスト (ST0) はヒッ トケース、 時 刻 Uにおけるストアリクエスト (ST1) はミスケースであり、 動作は共に図 5での説明と同様である。 In FIG. 7, the store request (ST0) at time tO is a hit case, and the store request (ST1) at time U is a miss case, and the operation is the same as that described in FIG.
時刻 t2でのフェッチリクエス ト (F T ) の動作について示す。 時刻 t2でリク エストコードレジスタキュー 1に存在する F Tは ST1のァドレスと一致して いたとする。 よってライン転送ァドレスレジスタ 7との比較によりァドレス コンフリク ト判定結果 5 2が立つ。 リクエスト切り出し制御部 4はリクエス トデコーダ 5より該 F Tがフェツチリクエストであることおよぴ 5 2力 s立つ ことを受けて、 該 F Tの切り出しを抑止する。 この状態はライン転送アドレ スレジスタ 7力 s有効である時刻 t5まで続く 、 時刻 t6ではバッファアドレス アレイ 6の更新を行うため、 実際に F T力 s切り出し可能となるのは時刻 t7以 降となる。 The operation of the fetch request (FT) at time t2 will be described. It is assumed that the FT existing in the request code register queue 1 at time t2 matches the address of ST1. Therefore, a comparison with the line transfer address register 7 gives an address conflict determination result 52. The request cutout control unit 4 receives the fact that the FT is a fetch request from the request decoder 5 and that the FT is up to 52 s, and suppresses the cutout of the FT. This state continues until time t5 is a line transfer address register 7 force s effective, for updating the time t6 the buffer address array 6, actually become the FT force s possible cut becomes time t7 or later.
次に本発明の第 2の実施例を図 3に示す。  Next, FIG. 3 shows a second embodiment of the present invention.
本実施例と図 1の実施例との違いは、 主記憶 4 1とバッファ記憶 3 0の間の ノ ツファレジスタ 2 0と、 ノ ッファレジスタアクセス制御部 1 2が無く、 ラ ィ トレジスタ 3 3が 2ポート入力に対応するためにライ トレジスタ A 3 4、 ライトレジスタ B 3 5となっている点である。 つまりこの変更により、 ライ ン転送データは主記憶 4 1からライ トレジスタ B 3 5を仲介にバッファ記憶 3 0に直接転送されることになり、 また同時にストァデータ書き込みも行え るようにライ トレジスタ A 3 4にストアデータをセッ トするようになってい る。 The difference between the present embodiment and the embodiment of FIG. 1 is that there is no buffer register 20 between the main memory 41 and the buffer memory 30 and there is no buffer register access control unit 12 and the light register 33 is The point is that write register A 34 and write register B 35 are used to support 2-port input. That is, with this change, the line transfer data is directly transferred from the main memory 41 to the buffer memory 30 via the write register B 35, and the write register A 34 can be written at the same time. Store data in the You.
図 3の第 2の実施例での動作を図 6のタイムチヤ一トに示す。 The operation in the second embodiment of FIG. 3 is shown in the time chart of FIG.
本実施例の動作と図 5との違いは、 時刻 tlでのストアリクエス ト (ST1)がラ ィン転送を起動した際に、 図 5ではバッファレジスタ 2 0にストァデータを セッ トしていた力5'、 図 6では直接バッファ記憶 3 0に書き込んでいる点、 お よぴ主記憶 4 1からのライン転送データを直接バッファ記憶 3 0に書き込ん でいる点である。 The difference between the operation of the present embodiment and FIG. 5 is that when the store request (ST1) at time tl starts line transfer, the store data is set in the buffer register 20 in FIG. 5 ', FIG. 6 shows that data is written directly into the buffer memory 30, and that the line transfer data from the main memory 41 is written directly into the buffer memory 30.
この様にストァデータおよびライン転送データを直接バッファ記憶 3 0に書 き込むことで、 ファレジスタ 2 0からバッファ記憶 3 0にデータを転送 する処理を省略することができる。 また本実施例では、 ッファアドレスァ レイ 6の更新時刻を t5とすることで、 図 5の例と比べてストァリクエスト (ST6)の切り出す時刻を早めることも可能となる。 By directly writing the store data and the line transfer data to the buffer storage 30 in this manner, the process of transferring data from the far register 20 to the buffer storage 30 can be omitted. Further, in the present embodiment, by setting the update time of the buffer address array 6 to be t5, the time at which the store request (ST6) is cut out can be advanced as compared with the example of FIG.
なお、 全ての実施例においてバッファ記憶 3 0から主記憶 4 1への書き戻 し (ラインバック) 力不要なケースについて説明したが、 ラインバックが必 要なケースではライン転送を起動する前にラインバックを実行し、 その後ラ ィン転送を起動すれば良いことは明らかである。  In all the embodiments, the case where the writing back from the buffer memory 30 to the main memory 41 (line back) is unnecessary has been described. However, in the case where the line back is required, the line transfer is performed before starting the line transfer. It is clear that we need to perform the back and then activate the line transfer.
本発明によれば、 ライン転送を起動したリクエストに続くス トアリクエス トについて、 そのァドレスがライン転送中のァドレスと一致した場合にも、 ライン転送データの書き込みと並行してストァデータを書き込むことで、 ラ ィン転送の完了を待たずにストァ処理を可能としている。 これによりストア 処理のスループットが向上し、 ひいては処理装置全体のスループッ トが向上 する。  According to the present invention, for a store request following a request that activated line transfer, even when the address matches the address being transferred during line transfer, the store data is written in parallel with the writing of the line transfer data. Store processing can be performed without waiting for the completion of the transfer. As a result, the throughput of the store processing is improved, and thus the throughput of the entire processing apparatus is improved.
なお、 実施例では主記憶とバッファ記憶の構成を採っていた力 複数の記 憶階層からなる処理装置の個々の記憶階層に本発明が適応できることは明白 でめる。 産業上の利用可能性  It is apparent that the present invention can be applied to the individual storage layers of the processing device having a plurality of storage layers in the embodiment. Industrial applicability
以上のように、 本発明は、 ス トアイン方式により制御を行う記憶装置にお いて、 記憶装置全体でのスループッ トを向上させるバッファ記憶制御装置に 用いるのに適している。 As described above, the present invention relates to a storage device that performs control by the store-in method. Therefore, it is suitable for use in a buffer storage control device that improves the throughput of the entire storage device.

Claims

請求の範囲 The scope of the claims
1 .主記憶のデータの一部を保持するバッファ記憶と、 該バッファ記憶に保 持されたデータの主記憶ァドレスを保持するアドレスアレイとを有し、 スト アイン方式により該バッファ記憶へのアクセスを制御するバッファ記憶制御 装置であって、 ノ ツファ記憶内に必要なデータカ?存在しないことにより起動 される主記憶からバッファ記憶へのデータ転送の完了前に、 該データ転送を 起動したストァリクエス トのストァデータを該バッファ記憶に書き込む手段 を備えたバッファ記憶制御装置において、 該データ転送を起動したストアリ クエストに後続するストァリクエスト力 該データ転送中のァドレスと一致 したことを検出する手段と、 一致を検出した場合に該データ転送の完了前に 後続するストァリクエストのストァデータをバッファ記憶に書き込む手段と を有することを特徴とするバッファ記憶制御装置。 1. It has a buffer memory for holding a part of the data in the main memory, and an address array for holding a main memory address of the data held in the buffer memory, and accesses the buffer memory by a store-in method. a control buffer storage control unit, Roh Tsufa Detaka required in the memory? from the main memory which is activated by the absence before the completion of the data transfer to the buffer memory, the Sutarikuesu bets that started the data transfer Sutadeta In the buffer storage control device having means for writing the data into the buffer storage, a means for detecting that the storage request force following the store request that started the data transfer matches the address during the data transfer, and In this case, the storage data of the subsequent storage request is buffered before the data transfer is completed. Means for writing to a buffer storage.
2 .主記憶とノ ツファ記憶との間にバッファレジスタを設け、 転送データと 該データ転送を起動したストァリクエストのストァデータ、 あるいは転送 データと該データ転送起動したストァリクエストに後続するストァリクエス トのストアデータを、 前記バッファレジスタに書き込み、 データ転送が終了 した後に前記バッファレジスタの内容をバッファ記憶に書き込むことを特徴 とする請求項 1記載のバッファ記憶制御装置。  2.A buffer register is provided between the main memory and the buffer memory to store the transfer data and the store data of the store request that started the data transfer, or the transfer data and the store data of the store request that follows the store request that started the data transfer. 2. The buffer storage control device according to claim 1, wherein the content of the buffer register is written into the buffer storage after the data transfer is completed.
3 .前記バッファレジスタは複数の領域から成り、 ストァデータを書き込ん だ領域の位置を記憶しておくための判定ビッ トを備え、 転送データを書き込 む際に判定ビッ トを参照して、 判定ビッ トが立っている領域には、 転送デー タを書き込まないように制御する手段を備えたことを特徴とする請求項 2記 載のバッファ記憶制御装置。  3. The buffer register includes a plurality of areas, and includes a determination bit for storing the position of the area where the store data has been written, and refers to the determination bit when writing the transfer data. 3. The buffer storage control device according to claim 2, further comprising means for controlling transfer data not to be written in the area where the data stands.
4 .前記バッファレジスタは複数の領域から成り、 ス トアデータを書き込ん だ領域の位置を記憶しておくための判定ビッ トを備え、 転送データを書き込 む際に判定ビッ トを参照して、 判定ビッ トカ s立っている領域についてはデー タ転送を行わないように制御する手段を備えたことを特徴とする請求項 2記 載のバッファ記憶制御装置。 4.The buffer register includes a plurality of areas, and includes a determination bit for storing the position of the area where the store data has been written, and refers to the determination bit when writing the transfer data, and Day is for the region to stand-bit river crossing s 3. The buffer storage control device according to claim 2, further comprising means for controlling data transfer not to be performed.
5 .ストアイン方式により制御されるバッファ記憶において、 下位記憶から のデータ転送を起動したストァリクエストのストァデータ書き込み先 (リプ レ一ス先) が決定した段階で、 該ストアリクエス トのス トアデータをリブ レース先に書き込み、 さらに後続するストァリクエストカ s該リプレース先に 対するリクエストである場合は、 データ転送が完了する前に該リプレース先 に前記ストァデータを書き込むことを特徴とするバッファ記憶制御方法。 5. In the buffer storage controlled by the store-in method, when the store data write destination (replay destination) of the store request that started the data transfer from the lower-level storage is determined, the store data of the store request is re-written. A buffer storage control method, comprising: writing to a race destination; and, if the request is for the succeeding store request, further writing the store data to the replacement destination before data transfer is completed.
6 .ストアイン型バッファ記憶において、 下位記憶からのデータ転送の転送 単位でのァドレスが同一で、 かつバッファ記憶内に所望のデータ力存在しな い部分への連続するリクエストについて、 先行するリクエストがストァリク エストでかつ後続するリクエス トがストァリクエストの場合の処理時間が、 先行するリクエストがス トァリクエストでかつ後続するリクエス トがフェッ チリクエストの場合の処理時間よりも短いことを特徴とするバッファ記憶制 御方法。 6.In the store-in type buffer storage, for consecutive requests to the part where the address of the data transfer from the lower-order storage in the transfer unit is the same and the desired data capacity does not exist in the buffer storage, the preceding request A buffer storage characterized in that the processing time when the request is a store request and the subsequent request is a store request is shorter than the processing time when the preceding request is a store request and the subsequent request is a fetch request. Control method.
PCT/JP1998/001233 1998-03-23 1998-03-23 Buffer memory controller WO1999049395A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP1998/001233 WO1999049395A1 (en) 1998-03-23 1998-03-23 Buffer memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1998/001233 WO1999049395A1 (en) 1998-03-23 1998-03-23 Buffer memory controller

Publications (1)

Publication Number Publication Date
WO1999049395A1 true WO1999049395A1 (en) 1999-09-30

Family

ID=14207867

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/001233 WO1999049395A1 (en) 1998-03-23 1998-03-23 Buffer memory controller

Country Status (1)

Country Link
WO (1) WO1999049395A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312218B2 (en) 2006-02-27 2012-11-13 Fujitsu Limited Cache controller and cache control method
TWI760702B (en) * 2020-03-03 2022-04-11 瑞昱半導體股份有限公司 Data write system and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6111865A (en) * 1984-06-27 1986-01-20 Hitachi Ltd Memory access control system
JPH02259945A (en) * 1989-03-31 1990-10-22 Fujitsu Ltd Storing processing system
JPH08212133A (en) * 1995-01-31 1996-08-20 Hitachi Ltd Data processor and cache memory control method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6111865A (en) * 1984-06-27 1986-01-20 Hitachi Ltd Memory access control system
JPH02259945A (en) * 1989-03-31 1990-10-22 Fujitsu Ltd Storing processing system
JPH08212133A (en) * 1995-01-31 1996-08-20 Hitachi Ltd Data processor and cache memory control method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8312218B2 (en) 2006-02-27 2012-11-13 Fujitsu Limited Cache controller and cache control method
TWI760702B (en) * 2020-03-03 2022-04-11 瑞昱半導體股份有限公司 Data write system and method

Similar Documents

Publication Publication Date Title
JP3577331B2 (en) Cache memory system and method for manipulating instructions in a microprocessor
US5454093A (en) Buffer bypass for quick data access
US8725987B2 (en) Cache memory system including selectively accessible pre-fetch memory for pre-fetch of variable size data
US6836829B2 (en) Peripheral device interface chip cache and data synchronization method
JPH06318177A (en) Method, device and computer system for reducing cache mistake penalty
JP3763579B2 (en) Apparatus and method for reducing read miss latency by predicting instruction read first
JPH07114500A (en) Nonvolatile memory device
JP2001051896A (en) Storage device
US7007137B2 (en) Method and architecture capable of accessing data and instructions using store and forward
WO1999049395A1 (en) Buffer memory controller
JP3296240B2 (en) Bus connection device
US20080244153A1 (en) Cache systems, computer systems and operating methods thereof
JP4374956B2 (en) Cache memory control device and cache memory control method
JPH0415493B2 (en)
US5926840A (en) Out-of-order fetching
JP4111645B2 (en) Memory bus access control method after cache miss
JP3284508B2 (en) Data prefetch control device
US20060129762A1 (en) Accessible buffer for use in parallel with a filling cacheline
JPS63101943A (en) Cache move-in control system
JP2001229074A (en) Memory controller and information processor and memory control chip
JPH06301600A (en) Storage device
JP3241679B2 (en) Cache read method for large data transfer processing request from processor
JPH10111798A (en) Information processor
GB2454811A (en) Cache memory which pre-fetches data when an address register is written
JPH10187540A (en) Sweep-out control method for cache data

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase