WO2004046931A1 - Memory control device and store bypass control method - Google Patents

Memory control device and store bypass control method Download PDF

Info

Publication number
WO2004046931A1
WO2004046931A1 PCT/JP2002/012136 JP0212136W WO2004046931A1 WO 2004046931 A1 WO2004046931 A1 WO 2004046931A1 JP 0212136 W JP0212136 W JP 0212136W WO 2004046931 A1 WO2004046931 A1 WO 2004046931A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
store
access
cpu
memory
Prior art date
Application number
PCT/JP2002/012136
Other languages
French (fr)
Japanese (ja)
Inventor
Yasutomo Sakurai
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to PCT/JP2002/012136 priority Critical patent/WO2004046931A1/en
Publication of WO2004046931A1 publication Critical patent/WO2004046931A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3826Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency

Definitions

  • the present invention relates to a memory control device having a store buffer and a store bypass control method, and more particularly to a memory control device and a store bypass control method capable of shortening a load access time at the time of store bypass.
  • FIG. 4 is a block diagram showing a configuration of a conventional cache memory device 10.
  • the cache memory device shown in this figure is a device provided with a cache memory 13 in order to fill a speed difference between a CPU (Central Processing Unit) 11 and a main memory unit 16.
  • CPU Central Processing Unit
  • the CPU 11 reads / writes data by accessing the cache memory 13 or the main memory unit 16.
  • the main memory unit 16 has a feature that it has a large capacity and an access time is slower than that of the cache memory 13.
  • the main memory unit 16 stores all data used in the CPU 11.
  • the cache memory 13 stores a part of the data stored in the main memory unit 16 and includes a tag RAM (Random Access Memory) 14 and a data RAM I5.
  • the cache memory 13 is, for example, a static random access memory (SRAM), and has a characteristic that the access time is shorter than that of the main memory unit 16.
  • FIG. 5 is a diagram for explaining the correspondence between the main memory cut 16 and the cache memory 13 shown in FIG.
  • the “index” stores the lower n bits of the address stored in the main memory unit 16 as an index.
  • the upper three bits of the address stored in the main memory unit 16 are stored as a tag. These “index” and “tag” are stored in tag RAMI 4 (see Fig. 4).
  • “data” stores data stored in the main memory unit 16. This "data” is stored in the data RAMI5.
  • the cache access control unit 12 has a function of controlling access to the cache memory 13 and the store buffer 19 in response to an access request from the CPU 11.
  • access requests there are two types of access requests: load access for loading (reading) data from the cache memory 13 or the like, and store access for storing (writing) data to the cache memory 13 or the like.
  • the comparison circuit 17 compares the address of the CPU 11 with the address of the tag RAMI 4 under the control of the cache access control unit 12.
  • the refill request unit 18 issues a refill request to request data corresponding to an address from the CPU 11 to the main memory unit 16 when the comparison result of the comparison circuit 17 does not match.
  • the store buffer 19 is a buffer for storing an address from the CPU 11, control information (data size, etc.) and data D2 at the time of access to the store.
  • the bypass enable / disable judging unit 20 judges whether or not the data D2 is stored in the store buffer 19 (whether or not the store bypass described later is possible).
  • the comparison circuit 21 compares the address from the CPU 11 with the address stored in the store buffer 19 under the control of the cache access control unit 12 at the time of load access.
  • the AND circuit 22 ANDs the output signal of the comparison circuit 21 and the output signal of the bypass enable / disable determining unit 20.
  • the valid signal generation unit 23 includes an AND circuit 22 On the basis of the output signal of the comparator 11 or the output signal of the comparison circuit 17, a valid signal indicating that the data loaded to the CPU 11 is valid is generated.
  • the merging unit 24 merges data D2 stored in the store buffer 19 and data D1 stored in the data RAMI5.
  • the selection circuit 25 is a circuit for selecting the data RAMI 5 when the output signal of the comparison circuit 17 is a “1J signal.
  • the multiplexer 26 outputs the output of the merge unit 24 or the output of the data RAMI 5.
  • the multiplexer 27 selects the output of the main memory unit 16 or the output of the store buffer 19.
  • the cache access control unit 12 arbitrates with another access request. Measure. Then, when the priority of the access request (load access) becomes the highest, the cache access control unit 12 controls access to the cache memory 13 based on the address from the CPU 11.
  • the comparison circuit 17 compares the address from the CPU 11 with the address of the tag RAMI 4. If they match (cache hit), the comparison circuit 17 outputs a “1” signal, and the selection circuit 25 selects the data RAMI 5 side.
  • the data D1 corresponding to the above address is loaded into the CPU 11 via the multiplexer 26.
  • the refill request unit 18 refills the main memory unit 16.
  • the main memory unit 16 maps the data corresponding to the above address.
  • the data is written to the data RAMI 5 via the multiplexer 27.
  • the cache access control unit 12 executes the above access control again, so that the data D1 corresponding to the above address is loaded from the data RAMI 5 and the CPU 1 via the merge unit 24 and the multiplexer 26.
  • the valid signal is output from the valid signal generator 23 to the CPU 11.
  • the CPU 11 When performing a store access to store (write) data in the cache memory 13 (or the main memory unit 16), the CPU 11 transmits an access request (store access) and an address to the cache access control unit 12. Output to
  • the CPU 11 stores the data D2 to be stored and the control information in the store buffer 19. At this point, the CPU 11 recognizes that the store is completed irrespective of whether the data D2 is actually stored in the data RAM5.
  • the cache access control unit 12 controls access to the cache memory 13 based on an address from the CPU 11.
  • the comparison circuit 17 compares the address from the CPU 11 with the address of the tag RAMI 4. If the two match (cache hit), the data D2 stored in the store buffer 19 is stored (written) to the data RAMI5 via the multiplexer 27.
  • the cache access control unit 12 performs access control.
  • the comparison circuit 21 compares the address from the CPU 11 with the address of the store buffer 19, and in this case, outputs a “1” signal because they match.
  • the bypass enable / disable determining unit 20 stores the data in the store buffer 19 based on the control information. It is determined whether or not D2 is stored, that is, whether or not store bypass is possible. In this case, a “1” signal is output as possible.
  • the “1 J signal is output from the AND circuit 22 to the valid signal generating unit 23, and the valid signal is output from the valid signal generating unit 23 to the CPU 11.
  • the data D2 is loaded via the merging unit 24 and the multiplexer 26. Loaded to CPU 11 as data.
  • the data D 1 from the store buffer 19 are merged with the data D 2 from the store buffer 19 in the merge section 24, via the multiplexer 26.
  • 11 1 1 is loaded as data 0 3 (P-data).
  • the present invention has been made in view of the above, and an object of the present invention is to provide a memory control device and a store bypass control method that can reduce the load access time at the time of store bypass. Disclosure of the invention
  • the present invention provides a storage control means for reading first data corresponding to a specified address from a memory in response to a store access request from a higher-level device; Merging means for storing, as third data, a result of merging the second data of the first data and the first data as a third data; and storing the third data before storing the third data in the memory.
  • Load access control means for loading the third data from the storage buffer to the host device when a load access request corresponding to the designated address is issued from the device.
  • the present invention provides a store access control step of reading first data corresponding to a desired address from a memory capacity in response to a store access request from a higher-level device; and a second storage target supplied from the higher-level device and targeted for a store. Merging a result of merging data and the first data as third data in a store buffer; and storing the specified key from the higher-level device before the third data is stored in the memory. And a load access control step of loading the third data from the store buffer to the host device when there is a load access request corresponding to the address.
  • the first data corresponding to the specified address is read from the memory in response to the store access request from the higher-level device, and the second data supplied from the higher-level device to be stored and the first data are stored.
  • the result of merging with the data is stored in the store buffer as the third data, and when a load access request corresponding to the specified address is issued from the higher-level device before the third data is stored in the memory. Since the third data is loaded from the store buffer to the host device, the load access time at the time of store bypass can be shortened.
  • FIG. 1 is a diagram showing the configuration of the first embodiment according to the present invention
  • FIG. 2 is a diagram for explaining the operation of the first embodiment
  • FIG. FIG. 4 is a diagram showing a configuration of a conventional cache memory device 10
  • FIG. 5 is a diagram showing a main memory unit 16 shown in FIG.
  • FIG. 6 is a diagram for explaining a correspondence relationship with the cache memory 13
  • FIG. 6 is a diagram for explaining an operation of the cache memory device 10 shown in FIG. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a block diagram showing a configuration of a first embodiment according to the present invention.
  • parts corresponding to the respective parts in FIG. 4 are denoted by the same reference numerals, and description thereof will be omitted.
  • a merge unit 101 is provided instead of the merge unit 24 shown in FIG.
  • the merging unit 101 is interposed between the CPU 11 and the storage buffer 19, and is a result of merging data D2 from the CPU 11 and data D1 from the data RAMI 5 at the time of store access. Is data D 3.
  • the data D3 is stored in the storage buffer 19.
  • merging is not performed at the time of load access as in the conventional case (see FIG. 6), but by performing merging at the time of store access, load access time at the time of store bypass can be reduced.
  • the CPU 11 when performing a store access to store (write) data to the cache memory 13 (or the main memory unit 16), the CPU 11 transmits an access request (store access) and an address to the cache access control unit. Output to 12.
  • the CPU 11 outputs the data D 2 to be stored to the merging unit 101 and stores the control information in the store buffer 19.
  • the cache access control unit 12 controls access to the cache memory 13 based on an address from the CPU 11.
  • the comparison circuit 17 compares the address from the CPU 11 with the address of the tag RAMI 4 as shown in FIG. 2 (store access). If the two match (cache hit), the data D1 corresponding to the above address is output from the data RAMI 5 to the merge unit 101. As a result, the merging unit 101 stores the result (data D3) obtained by merging the data D2 from the CPU 11 with the data D1 from the data RAM 15 in the store buffer 19. This data D3 corresponds to the data D3 merged by the merging unit 24 shown in FIG.
  • the cache access control unit 12 performs access control.
  • the comparison circuit 21 compares the address from the CPU 11 with the address of the storage buffer 19, and in this case, outputs a “1” signal because they match.
  • the bypass enable / disable determining unit 20 determines whether the data D3 is stored in the store buffer 19, that is, whether or not the store bypass is possible, based on the control information. And outputs a “1” signal.
  • the “1” signal is output from the AND circuit 22 to the valid signal generating unit 23, and the valid signal generating unit 23 outputs a valid signal to the CPU 11.
  • the data D3 corresponding to the address is loaded from the store buffer 19 to the CPU 11 via the multiplexer 26 as load data.
  • the data D1 corresponding to the address is read from the cache memory 13 in response to the access request (store access) from the CPU 11, and the storage target supplied from the CPU 11 is stored.
  • the result of merging data D2 and data D1 is stored in the storage buffer 19 as data D3.
  • Before data D3 is stored in the cache memory 13, the data is transferred from the CPU 11 to the above address.
  • the data D3 is loaded from the store buffer 19 to the CPU 11, so the store Load access time during bypass can be reduced.
  • the configuration may be such that the data from the main memory unit 16 and the data D2 are merged in the event of a cache miss.
  • this configuration example will be described as a second embodiment.
  • FIG. 3 is a block diagram showing a configuration of a second embodiment according to the present invention.
  • parts corresponding to the respective parts in FIG. 1 are denoted by the same reference numerals.
  • a multiplexer 201 is provided in the cache memory device 200 shown in FIG. 3.
  • the multiplexer 201 selects the output (data D1) of the data RAM 15 or the output (data D4) of the main memory unit 16 and outputs it to the merge unit 101.
  • the CPU 11 outputs the data D 2 to be stored to the merging unit 101 and stores the control information in the store buffer 19.
  • the cache access control unit 12 controls access to the cache memory 13 based on an address from the CPU 11.
  • the comparison circuit 17 compares the address from the CPU 11 with the address of the tag RAMI 4 as shown in FIG. 2 (store access). If they do not match (a cache miss), the refill request unit 18 issues a refill request to request data corresponding to the address of the CPU 11 from the main memory unit 16. As a result, the data D4 corresponding to the above address is output from the main memory unit 16. This data D4 is output to the merge unit 101 via the multiplexer 201.
  • the merging unit 101 stores the result (data D3,) obtained by merging the data D2 from the CPU 11 and the data D4 from the main memory unit 16 in the store buffer 19.
  • the data D3 ' is transmitted from the store buffer 19 via the multiplexer 26 as load data to the CPU 1 through the multiplexer 26 through the above-described operation. Loaded to 1.
  • the data D4 is read from the main memory unit 16, so that the data D4 and the data D2 are Is stored in the store buffer 19 as the merged data D3, so that even in the event of a cache miss, the load access time during store bypass can be reduced.
  • the first data corresponding to the specified address is read from the memory in response to the store access request from the higher-level device, and the second data to be stored is supplied from the higher-level device.
  • the result of merging with the first data is stored in the store buffer as third data, and before the third data is stored in the memory, a load access request corresponding to the specified address is issued from the higher-level device.
  • the third data is loaded from the store buffer to the host device, so that the load access time at the time of store bypass can be reduced.
  • the first data if the first data does not exist in the memory, the first data is read from the main memory unit, so that the first data and the second data are merged.
  • the third data is stored in the store buffer, so that even in the event of a cache miss, the load access time during store bypass can be reduced.
  • the memory control device and the store bypass control method according to the present invention are useful for accessing a cache memory having a store buffer.

Abstract

A memory control device comprises a cache access control unit (12) which reads data D1 corresponding to the address from a cache memory (13) according to an access request (a store access) from a CPU (11), and a merge unit (101) for merging the data D2 and to be stored and fed from the CPU (11) with data D1 and storing the merged result as data D3 in a store buffer (19). When an access request (a load access) corresponding to the same address is made from the CPU (11) before data D3 is stored in the cache memory (13), data D3 is loaded on the CPU (11) from the store buffer (19).

Description

明 細 書 メモリ制御装置およびストアバイパス制御方法 技術分野  Description Memory control device and store bypass control method
本発明は、 ストァバッファを有するメモリ制御装置およびストアバイパス制御 方法に関するものであり、 特に、 ストアバイパス時のロードアクセス時間を短縮 することができるメモリ制御装笸およびストアバイパス制御方法に関するもので ある。 背景技術  The present invention relates to a memory control device having a store buffer and a store bypass control method, and more particularly to a memory control device and a store bypass control method capable of shortening a load access time at the time of store bypass. Background art
第 4図は、 従来のキャッシュメモリ装置 1 0の構成を示すブロック図である。 この図に示したキャッシュメモリ装置は、 C P U (Central Processing Unit) 1 1とメインメモリュニット 1 6との間の速度差を埋めるために、 キャッシュメモ リ 1 3を備えた装置である。  FIG. 4 is a block diagram showing a configuration of a conventional cache memory device 10. The cache memory device shown in this figure is a device provided with a cache memory 13 in order to fill a speed difference between a CPU (Central Processing Unit) 11 and a main memory unit 16.
C P U 1 1は、 キャッシュメモリ 1 3またはメインメモリュニット 1 6にァク セスすることで、データのリード/ライ トを行う。メインメモリュニット 1 6は、 大容量であってかつアクセス時間がキャッシュメモリ 1 3に比して遅いという特 性を備えている。 このメインメモリユニット 1 6には、 C P U 1 1で用いられる データの全てが記憶されている。  The CPU 11 reads / writes data by accessing the cache memory 13 or the main memory unit 16. The main memory unit 16 has a feature that it has a large capacity and an access time is slower than that of the cache memory 13. The main memory unit 16 stores all data used in the CPU 11.
キャッシュメモリ 1 3は、 メインメモリュニット 1 6に記憶されているデータ の一部を記憶しており、 タグ R AM (Random Access Memory) 1 4およびデータ R AM I 5から構成されている。 キャッシュメモリ 1 3は、 例えば、 S R AM (Static Random Access Memory) であり、 アクセス時間がメインメモリユニット 1 6に比して短いという特性を備えている。  The cache memory 13 stores a part of the data stored in the main memory unit 16 and includes a tag RAM (Random Access Memory) 14 and a data RAM I5. The cache memory 13 is, for example, a static random access memory (SRAM), and has a characteristic that the access time is shorter than that of the main memory unit 16.
さらに、 記憶容量の面から見れば、 メインメモリユニット 1 6よりもキヤッシ ュメモリ 1 3の記憶容量が小さい。 第 5図は、 第 4図に示したメインメモリュ-ット 16とキャッシュメモリ 13 との対応関係を説明する図である。同図に示したキャッシュメモリ 1 3において、 「インデックス」 には、 メインメモリユニット 16に記憶されているアドレスの 下位 nビットがィンデッタスとして格納されている。 Further, from the viewpoint of the storage capacity, the storage capacity of the cache memory 13 is smaller than that of the main memory unit 16. FIG. 5 is a diagram for explaining the correspondence between the main memory cut 16 and the cache memory 13 shown in FIG. In the cache memory 13 shown in the figure, the “index” stores the lower n bits of the address stored in the main memory unit 16 as an index.
「タグ」 には、 メインメモリユニット 16に記憶されているアドレスの上位 3 ビットがタグとして記憶されている。 これらの 「インデックス」 および 「タグ」 は、 タグ RAMI 4 (第 4図参照) に記憶されている。  In the “tag”, the upper three bits of the address stored in the main memory unit 16 are stored as a tag. These “index” and “tag” are stored in tag RAMI 4 (see Fig. 4).
一方、 「データ」 には、 メインメモリユニット 16に記憶されているデータが 記憶されている。 この 「データ」 は、 データ RAMI 5に記憶されている。  On the other hand, “data” stores data stored in the main memory unit 16. This "data" is stored in the data RAMI5.
第 4図に戻り、 キャッシュアクセス制御部 12は、 CPUl 1からのアクセス 要求に応じて、 キャッシュメモリ 13、 ストアバッファ 19へのアクセスを制御 する機能を備えている。 ここでアクセス要求としては、 キャッシュメモリ 13等 からデータをロード (リード) するためのロードアクセスと、 キャッシュメモリ 13等へデータをストア (ライト) するためのストアアクセスという二種類があ る。  Referring back to FIG. 4, the cache access control unit 12 has a function of controlling access to the cache memory 13 and the store buffer 19 in response to an access request from the CPU 11. Here, there are two types of access requests: load access for loading (reading) data from the cache memory 13 or the like, and store access for storing (writing) data to the cache memory 13 or the like.
比較回路 17は、 キャッシュアクセス制御部 12の制御により、 CPU1 1力 らのァドレスと、タグ RAMI 4のァドレスとを比較する。 refill要求部 18は、 比較回路 1 7の比較結果が不一致である場合、 CPU 1 1からのアドレスに対応 するデータをメインメモリュニット 16へ要求するという refill要求を出す。 ストァバッファ 19は、上記ストァアクセス時に、 CPU 1 1からのァドレス、 制御情報 (データサイズ等) およびデータ D 2を格納するバッファである。 バイ パス可否判定部 20は、 ストアバッファ 19にデータ D 2が格納されているか否 か (後述するストアバイパスが可能である力否か) を判定する。  The comparison circuit 17 compares the address of the CPU 11 with the address of the tag RAMI 4 under the control of the cache access control unit 12. The refill request unit 18 issues a refill request to request data corresponding to an address from the CPU 11 to the main memory unit 16 when the comparison result of the comparison circuit 17 does not match. The store buffer 19 is a buffer for storing an address from the CPU 11, control information (data size, etc.) and data D2 at the time of access to the store. The bypass enable / disable judging unit 20 judges whether or not the data D2 is stored in the store buffer 19 (whether or not the store bypass described later is possible).
比較回路 21は、 ロードアクセス時に、 キャッシュアクセス制御部 12の制御 により、 CPUl 1からのアドレスと、 ストアバッファ 19に格納されたァドレ スとを比較する。 アンド回路 22は、 比較回路 21の出力信号と,バイパス可否判 定部 20の出力信号とのアンドをとる。 有効信号生成部 23は、 アンド回路 22 の出力信号または比較回路 17の出力信号に基づいて、 CPU1 1にロードされ るデータが有効であることを表す有効信号を生成する。 The comparison circuit 21 compares the address from the CPU 11 with the address stored in the store buffer 19 under the control of the cache access control unit 12 at the time of load access. The AND circuit 22 ANDs the output signal of the comparison circuit 21 and the output signal of the bypass enable / disable determining unit 20. The valid signal generation unit 23 includes an AND circuit 22 On the basis of the output signal of the comparator 11 or the output signal of the comparison circuit 17, a valid signal indicating that the data loaded to the CPU 11 is valid is generated.
マージ部 24は、 ストアバッファ 19に格納されているデータ D 2と、 データ RAMI 5に格納されているデータ D 1とをマージする。 選択回路 25は、 比較 回路 17の出力信号が 「 1J 信号である場合に、 データ RAMI 5側を選択する ための回路である。 マルチプレクサ 26は、 マージ部 24の出力またはデータ R AMI 5の出力を選択する。 マルチプレクサ 27は、 メインメモリユニット 16 の出力またはストァバッファ 19の出力を選択する。  The merging unit 24 merges data D2 stored in the store buffer 19 and data D1 stored in the data RAMI5. The selection circuit 25 is a circuit for selecting the data RAMI 5 when the output signal of the comparison circuit 17 is a “1J signal. The multiplexer 26 outputs the output of the merge unit 24 or the output of the data RAMI 5. The multiplexer 27 selects the output of the main memory unit 16 or the output of the store buffer 19.
つぎに、 従来のキャッシュメモリ装置 10の動作について説明する。 CPU1 1からのアクセス要求が、 キャッシュメモリ 13 (またはメインメモリユニット 16) からデータをロード (リード) するためのロードアクセスである場合、 キ ャッシュアクセス制御部 12は、 他のアクセス要求との間で調停をはかる。 そして、 当該アクセス要求 (ロードアクセス) の優先順位が最上位になると、 キャッシュアクセス制御部 12は、 CPU 11からのアドレスに基づいて、 キヤ ッシュメモリ 13へのアクセス制御を行う。  Next, the operation of the conventional cache memory device 10 will be described. When the access request from the CPU 11 is a load access for loading (reading) data from the cache memory 13 (or the main memory unit 16), the cache access control unit 12 arbitrates with another access request. Measure. Then, when the priority of the access request (load access) becomes the highest, the cache access control unit 12 controls access to the cache memory 13 based on the address from the CPU 11.
これにより、 比較回路 17では、 CPU 1 1からのァドレスとタグ RAMI 4 のアドレスとが比較される。 両者が一致した場合 (キャッシュヒット) には、 比 較回路 1 7から 「1」 信号が出力され、 選択回路 25でデータ RAMI 5側が選 択される。  As a result, the comparison circuit 17 compares the address from the CPU 11 with the address of the tag RAMI 4. If they match (cache hit), the comparison circuit 17 outputs a “1” signal, and the selection circuit 25 selects the data RAMI 5 side.
そして、 データ RAMI 5からは、 上記アドレスに対応するデータ D 1がマル チプレクサ 26を介して、 CPU 1 1へロードされる。  Then, from the data RAMI 5, the data D1 corresponding to the above address is loaded into the CPU 11 via the multiplexer 26.
また、 キャッシュヒットの場合には、 有効信号生成部 23からは、 データ D 1 が有効であることを表す有効信号が C PU11へ出力される。  In the case of a cache hit, a valid signal indicating that data D 1 is valid is output from CPU 11 to CPU 11.
一方、 CPU11からのアドレスとタグ RAMI 4のアドレスとが不一致であ る場合 (キャッシュミス) 、 すなわち、 データ RAMI 5に当該データが存在し ない場合、 refill要求部 18は、メインメモリユニット 16へ refill要求を出す。 これにより、 メインメモリユニット 16は、 上記アドレスに対応するデータをマ ルチプレクサ 27を介してデータ RAMI 5ヘライトする。 そして、 キャッシュ ァクセス制御部 12により、上述したァクセス制御が再度実行されることにより、 データ RAMI 5から上記アドレスに対応するデータ D 1がロードされ、 マージ 部 24およびマルチプレクサ 26を介して、 C PU 1 1へ出力されるとともに、 有効信号生成部 23から有効信号が CPU 1 1へ出力される。 On the other hand, if the address from the CPU 11 does not match the address of the tag RAMI 4 (cache miss), that is, if the data does not exist in the data RAMI 5, the refill request unit 18 refills the main memory unit 16. Make a request. As a result, the main memory unit 16 maps the data corresponding to the above address. The data is written to the data RAMI 5 via the multiplexer 27. Then, the cache access control unit 12 executes the above access control again, so that the data D1 corresponding to the above address is loaded from the data RAMI 5 and the CPU 1 via the merge unit 24 and the multiplexer 26. At the same time, the valid signal is output from the valid signal generator 23 to the CPU 11.
また、 CPU 11は、 キャッシュメモリ 13 (またはメインメモリユニット 1 6) へデータをストア (ライ ト) するためのストアアクセスを行う場合、 ァクセ ス要求 (ス トアアクセス) およびアドレスをキャッシュアクセス制御部 12へ出 力する。  When performing a store access to store (write) data in the cache memory 13 (or the main memory unit 16), the CPU 11 transmits an access request (store access) and an address to the cache access control unit 12. Output to
つぎに、 CPU 11は、 ストアすべきデータ D 2および制御情報をストアバッ ファ 19に格納する。 この時点で、 CPU 1 1は、 データ D 2が実際にデータ R AMI 5にストァされたか否かにかかわらず、 ストァが完了したと認識する。 キャッシュアクセス制御部 12は、 CPU 1 1からのアドレスに基づいて、 キ ャッシュメモリ 13へのアクセス制御を行う。  Next, the CPU 11 stores the data D2 to be stored and the control information in the store buffer 19. At this point, the CPU 11 recognizes that the store is completed irrespective of whether the data D2 is actually stored in the data RAM5. The cache access control unit 12 controls access to the cache memory 13 based on an address from the CPU 11.
これにより、 比較回路 17では、 CPU1 1からのアドレスとタグ RAMI 4 のアドレスとが比較される。 両者が一致した場合 (キャッシュヒット) には、 ス トァバッファ 19に格納されているデータ D 2が、 マルチプレクサ 27を介して データ RAMI 5にストア (ライト) される。  As a result, the comparison circuit 17 compares the address from the CPU 11 with the address of the tag RAMI 4. If the two match (cache hit), the data D2 stored in the store buffer 19 is stored (written) to the data RAMI5 via the multiplexer 27.
ここで、 データ D 2がデータ RAMI 5にストア (ライト) される前に、 スト ァバッファ 19に格納されたァドレスと同一のァドレスに対するアクセス要求 Here, before the data D2 is stored (written) to the data RAMI 5, an access request to the same address as the address stored in the store buffer 19 is made.
(ロードアクセス) があった場合には、 ストアバッファ 19から CPU 11へデ 一タをストァするというストアバイパス処理が実行される。 If there is (load access), store bypass processing of storing data from the store buffer 19 to the CPU 11 is executed.
すなわち、 CPU 1 1からの上記同一のアドレスに対するアクセス要求 (ロー ドアクセス)があると、キャッシュアクセス制御部 12は、アクセス制御を行う。 これにより、 比較回路 21は、 CPU 11からのアドレスとストアバッファ 1 9のアドレスとを比較し、 この場合、一致するため「1」信号を出力する。また、 バイパス可否判定部 20は、 制御情報に基づいて、 ストアバッファ 1 9にデータ D 2が格納されているか否か、 すなわち、 ストアバイパスが可能であるか否かを 判定し、 この場合、 可能であるとして 「1」 信号を出力する。 That is, when there is an access request (load access) to the same address from the CPU 11, the cache access control unit 12 performs access control. As a result, the comparison circuit 21 compares the address from the CPU 11 with the address of the store buffer 19, and in this case, outputs a “1” signal because they match. The bypass enable / disable determining unit 20 stores the data in the store buffer 19 based on the control information. It is determined whether or not D2 is stored, that is, whether or not store bypass is possible. In this case, a “1” signal is output as possible.
これにより、アンド回路 2 2から「1 J信号が有効信号生成部 2 3へ出力され、 有効信号生成部 2 3からは、 有効信号が C P U 1 1へ出力される。  As a result, the “1 J signal is output from the AND circuit 22 to the valid signal generating unit 23, and the valid signal is output from the valid signal generating unit 23 to the CPU 11.
ここで、 当該アクセス要求 (ロードアクセス) で要求されているデータがスト ァバッファ 1 9に全て格納されている場合には、 データ D 2がマージ部 2 4およ ぴマルチプレクサ 2 6を介して、ロードデータとして C P U 1 1にロードされる。 一方、 当該アクセス要求 (ロードアクセス) で要求されているデータがストア バッファ 1 9に全て格納されていない場合には、 第 6図に示したように、 不足分 のデータ D 1がデータ R AM I 5からロードされ、 このデータ D 1と、 ストアバ ッファ 1 9からのデータ D 2とがマージ部 2 4でマージされ、 マルチプレクサ 2 6を介して、 ?11 1 1にデータ0 3 ( P—ドデータ) としてロードされる。 ところで、 前述したように従来のキャッシュメモリ装置 1 0においては、 スト アバイパス時に、 データ R AM I 5からのデータ D 1とストァバッファ 1 9から のデータ D 2とをマージ部 2 4でマージした結果 (データ D 3 ) を C P U 1 1へ ストアしているため、 マージ分の処理ステップが必要となり、 ロードアクセス時 間がかかるという問題があった。  Here, if the data requested by the access request (load access) is all stored in the storage buffer 19, the data D2 is loaded via the merging unit 24 and the multiplexer 26. Loaded to CPU 11 as data. On the other hand, if all the data requested by the access request (load access) is not stored in the store buffer 19, as shown in FIG. 5 and the data D 1 from the store buffer 19 are merged with the data D 2 from the store buffer 19 in the merge section 24, via the multiplexer 26. 11 1 1 is loaded as data 0 3 (P-data). By the way, as described above, in the conventional cache memory device 10, the result of merging the data D1 from the data RAM I5 and the data D2 from the store buffer 19 in the store bypass at the time of the store bypass. Since (data D 3) is stored in the CPU 11, a processing step for the merge is required, and there is a problem that the load access time is required.
本発明は、 上記に鑑みてなされたもので、 ストアバイパス時のロードアクセス 時間を短縮することができるメモリ制御装置およびストアバイパス制御方法を提 供することを目的としている。 発明の開示  The present invention has been made in view of the above, and an object of the present invention is to provide a memory control device and a store bypass control method that can reduce the load access time at the time of store bypass. Disclosure of the invention
上記目的を達成するために、 本発明は、 上位装置からのストアアクセス要求に 応じて、 メモリから指定ァドレスに対応する第 1のデータを読み出すストァァク セス制御手段と、 前記上位装置から供給されストア対象の第 2のデータと前記第 1のデータとをマージした結果を第 3のデータとして、 ストァバッファに格納す るマージ手段と、 前記第 3のデータが前記メモリにストアされる前に、 前記上位 装置から前記指定ァドレスに対応するロードアクセス要求があった場合、 前記ス トァバッファから前記第 3のデータを前記上位装置へロードさせるロードアクセ ス制御手段と、 を備えたことを特徴とする。 In order to achieve the above object, the present invention provides a storage control means for reading first data corresponding to a specified address from a memory in response to a store access request from a higher-level device; Merging means for storing, as third data, a result of merging the second data of the first data and the first data as a third data; and storing the third data before storing the third data in the memory. Load access control means for loading the third data from the storage buffer to the host device when a load access request corresponding to the designated address is issued from the device.
また、 本発明は、 上位装置からのストアアクセス要求に応じて、 メモリ力 ら旨 定アドレスに対応する第 1のデータを読み出すストアアクセス制御工程と、 前記 上位装置から供給されストァ対象の第 2のデータと前記第 1のデータとをマージ した結果を第 3のデータとして、 ストアバッファに格納するマージ工程と、 前記 第 3のデータが前記メモリにストァされる前に、 前記上位装置から前記指定ァド レス対応するロードアクセス要求があった場合、 前記ストァバッファから前記第 3のデータを前記上位装置へロードさせるロードアクセス制御工程と、 を含むこ とを特 とする。  Also, the present invention provides a store access control step of reading first data corresponding to a desired address from a memory capacity in response to a store access request from a higher-level device; and a second storage target supplied from the higher-level device and targeted for a store. Merging a result of merging data and the first data as third data in a store buffer; and storing the specified key from the higher-level device before the third data is stored in the memory. And a load access control step of loading the third data from the store buffer to the host device when there is a load access request corresponding to the address.
力かる発明によれば、 上位装置からのストアアクセス要求に応じて、 メモリか ら指定アドレスに対応する第 1のデータを読み出し、 上位装置から供給されスト ァ対象の第 2のデータと第 1のデータとをマージした結果を第 3のデータとして、 ストアバッファに格納しておき、 第 3のデータがメモリにストアされる前に、 上 位装置から指定ァドレスに対応するロードアクセス要求があった場合、 ストアバ ッファから第 3のデータを上位装置へロードさせることとしたので、 ストアバイ パス時のロードアクセス時間を短縮することができる。 図面の簡単な説明  According to the powerful invention, the first data corresponding to the specified address is read from the memory in response to the store access request from the higher-level device, and the second data supplied from the higher-level device to be stored and the first data are stored. When the result of merging with the data is stored in the store buffer as the third data, and when a load access request corresponding to the specified address is issued from the higher-level device before the third data is stored in the memory. Since the third data is loaded from the store buffer to the host device, the load access time at the time of store bypass can be shortened. BRIEF DESCRIPTION OF THE FIGURES
第 1図は、 本発明にかかる実施の形態 1の構成を示す図であり、 第 2図は、 実 施の形態 1の動作を説明する図であり、 第 3図は、 本発明にかかる実施の形態 2 の構成を示す図であり、 第 4図は、 従来のキャッシュメモリ装置 1 0の構成を示 す図であり、 第 5図は、 第 4図に示したメインメモリュニット 1 6とキャッシュ メモリ 1 3との対応関係を説明する図であり、 第 6図は、 第 4図に示したキヤッ シュメモリ装置 1 0の動作を説明する図である。 発明を実施するための最良の形態 FIG. 1 is a diagram showing the configuration of the first embodiment according to the present invention, FIG. 2 is a diagram for explaining the operation of the first embodiment, and FIG. FIG. 4 is a diagram showing a configuration of a conventional cache memory device 10, and FIG. 5 is a diagram showing a main memory unit 16 shown in FIG. FIG. 6 is a diagram for explaining a correspondence relationship with the cache memory 13, and FIG. 6 is a diagram for explaining an operation of the cache memory device 10 shown in FIG. BEST MODE FOR CARRYING OUT THE INVENTION
以下、 図面を参照して本発明にかかる実施の形態 1および 2について詳細に説 明する。  Hereinafter, Embodiments 1 and 2 according to the present invention will be described in detail with reference to the drawings.
(実施の形態 1)  (Embodiment 1)
第 1図は、 本発明にかかる実施の形態 1の構成を示すブロック図である。 この図 において、 第 4図の各部に対応する部分には同一の符号を付け、 その説明を省略 する。 第 1図に示したキャッシュメモリ装置 100においては、 第 4図に示した マージ部 24に代えて、 マージ部 101が設けられている。 FIG. 1 is a block diagram showing a configuration of a first embodiment according to the present invention. In this figure, parts corresponding to the respective parts in FIG. 4 are denoted by the same reference numerals, and description thereof will be omitted. In the cache memory device 100 shown in FIG. 1, a merge unit 101 is provided instead of the merge unit 24 shown in FIG.
このマージ部 101は、 CPU 1 1とストァバッファ 19との間に介揷されて おり、 ストアアクセス時に、 CPU 1 1からのデータ D 2と、 データ RAMI 5 からのデータ D 1とをマージした結果をデータ D 3とする。 データ D3は、 スト ァバッファ 19に格納される。  The merging unit 101 is interposed between the CPU 11 and the storage buffer 19, and is a result of merging data D2 from the CPU 11 and data D1 from the data RAMI 5 at the time of store access. Is data D 3. The data D3 is stored in the storage buffer 19.
つまり、 実施の形態 1においては、 従来のようにロードアクセス時にマージを 行うのではなく (第 6図参照) 、 ストアアクセス時にマージを行うことにより、 ストアバイパス時のロードアクセス時間の短縮化が図られる。  That is, in the first embodiment, merging is not performed at the time of load access as in the conventional case (see FIG. 6), but by performing merging at the time of store access, load access time at the time of store bypass can be reduced. Can be
つぎに、 実施の形態 1の動作について説明する。 第 1図において、 CPU1 1 は、 キャッシュメモリ 13 (またはメインメモリュニット 16) へデータをスト ァ (ライト) するためのストアアクセスを行う場合、 アクセス要求 (ストアァク セス) およびアドレスをキャッシュアクセス制御部 12へ出力する。  Next, the operation of the first embodiment will be described. In FIG. 1, when performing a store access to store (write) data to the cache memory 13 (or the main memory unit 16), the CPU 11 transmits an access request (store access) and an address to the cache access control unit. Output to 12.
つぎに、 CPU 1 1は、 ストアすべきデータ D 2をマージ部 101へ出力する とともに、 制御情報をストァバッファ 19に格納する。  Next, the CPU 11 outputs the data D 2 to be stored to the merging unit 101 and stores the control information in the store buffer 19.
キャッシュアクセス制御部 12は、 CPU1 1からのアドレスに基づいて、 キ ャッシュメモリ 1 3へのアクセス制御を行う。  The cache access control unit 12 controls access to the cache memory 13 based on an address from the CPU 11.
これにより、 比較回路 17では、 第 2図 (ストアアクセス) に示したように、 CPU 11からのアドレスとタグ RAMI 4のアドレスとが比較される。 両者が 一致した場合 (キャッシュヒット) には、 データ RAMI 5からは、 上記ァドレ スに対応するデータ D 1がマージ部 101へ出力される。 これにより、 マージ部 101は、 CPU1 1からのデータ D 2と、 データ RA Ml 5からのデータ D 1とをマージした結果 (データ D3) をストアバッファ 1 9に格納する。 このデータ D3は、 第 4図に示したマージ部 24でマージされた データ D 3に対応している。 As a result, the comparison circuit 17 compares the address from the CPU 11 with the address of the tag RAMI 4 as shown in FIG. 2 (store access). If the two match (cache hit), the data D1 corresponding to the above address is output from the data RAMI 5 to the merge unit 101. As a result, the merging unit 101 stores the result (data D3) obtained by merging the data D2 from the CPU 11 with the data D1 from the data RAM 15 in the store buffer 19. This data D3 corresponds to the data D3 merged by the merging unit 24 shown in FIG.
ここで、 データ D 3がデータ RAMI 5にストア (ライト) される前に、 スト ァバッファ 19に格納されたァドレスと同一のァドレスに対するアクセス要求 Here, before the data D3 is stored (written) to the data RAMI5, an access request to the same address as the address stored in the store buffer 19 is made.
(ロードアクセス) があった場合には、 ストアバッファ 19から CPU 1 1へデ —タをロードするというストアバイパス処理が実行される。 If there is a (load access), store bypass processing of loading data from the store buffer 19 to the CPU 11 is executed.
すなわち、 CPU 11からの上記同一のアドレスに対するアクセス要求 (ロー ドアクセス)があると、キャッシュアクセス制御部 12は、アクセス制御を行う。 これにより、 比較回路 21は、 CPU 1 1からのァドレスとストァバッファ 1 9のァドレスとを比較し、 この場合、一致するため「1」信号を出力する。 また、 バイパス可否判定部 20は、 制御情報に基づいて、 ストァバッファ 19にデータ D 3が格納されているか否力、 すなわち、 ストアバイパスが可能である力、否かを 判定し、 この場合、 可能であるとして 「1」 信号を出力する。  That is, when there is an access request (load access) to the same address from the CPU 11, the cache access control unit 12 performs access control. As a result, the comparison circuit 21 compares the address from the CPU 11 with the address of the storage buffer 19, and in this case, outputs a “1” signal because they match. Further, the bypass enable / disable determining unit 20 determines whether the data D3 is stored in the store buffer 19, that is, whether or not the store bypass is possible, based on the control information. And outputs a “1” signal.
これにより、アンド回路 22から「1」信号が有効信号生成部 23へ出力され、 有効信号生成部 23カ らは、 有効信号が CPU1 1へ出力される。  As a result, the “1” signal is output from the AND circuit 22 to the valid signal generating unit 23, and the valid signal generating unit 23 outputs a valid signal to the CPU 11.
そして、 ストアバッファ 19からは、 第 2図 (ロードアクセス) に示したよう に、 上記アドレスに対応するデータ D 3がマルチプレクサ 26を介して、 ロード データとして CPU 11にロードされる。  Then, as shown in FIG. 2 (load access), the data D3 corresponding to the address is loaded from the store buffer 19 to the CPU 11 via the multiplexer 26 as load data.
以上説明したように、 実施の形態 1によれば、 CPU1 1からのアクセス要求 (ストアアクセス) に応じて、 キャッシュメモリ 13からアドレスに対応するデ ータ D1を読み出し、 CPU1 1から供給されストァ対象のデータ D 2とデータ D 1とをマージした結果をデータ D 3として、 ストァバッファ 19に格納してお き、 データ D3がキャッシュメモリ 13にストアされる前に、 CPU1 1力 ら上 記アドレスに対応するアクセス要求 (ロードアクセス) があった場合、 ストアバ ッファ 19からデータ D 3を CPU 1 1へロードさせることとしたので、 ストァ バイパス時のロードアクセス時間を短縮することができる。 As described above, according to the first embodiment, the data D1 corresponding to the address is read from the cache memory 13 in response to the access request (store access) from the CPU 11, and the storage target supplied from the CPU 11 is stored. The result of merging data D2 and data D1 is stored in the storage buffer 19 as data D3.Before data D3 is stored in the cache memory 13, the data is transferred from the CPU 11 to the above address. When there is a corresponding access request (load access), the data D3 is loaded from the store buffer 19 to the CPU 11, so the store Load access time during bypass can be reduced.
(実施の形態 2)  (Embodiment 2)
さて、 実施の形態 1では、 第 1図に示したデータ RAMI 5からのデータ D 1 と CPU1 1からのデータ D 2とをマージ部 101でマージした後、 データ D3 をストアバッファ 19に格納する例について説明したが、 キャッシュミスの場合 にメインメモリュニット 16からのデータとデータ D 2とをマージする構成とし てもよい。 以下では、 この構成例を実施の形態 2として説明する。  In the first embodiment, an example in which the data D1 from the data RAMI 5 and the data D2 from the CPU 11 shown in FIG. 1 are merged by the merging unit 101, and then the data D3 is stored in the store buffer 19 However, the configuration may be such that the data from the main memory unit 16 and the data D2 are merged in the event of a cache miss. Hereinafter, this configuration example will be described as a second embodiment.
第 3図は、 本発明にかかる実施の形態 2の構成を示すブロック図である。 この 図において、 第 1図の各部に対応する部分には同一の符号を付ける。 第 3図に示 したキャッシュメモリ装置 200においては、 マルチプレクサ 201が設けられ ている。  FIG. 3 is a block diagram showing a configuration of a second embodiment according to the present invention. In this figure, parts corresponding to the respective parts in FIG. 1 are denoted by the same reference numerals. In the cache memory device 200 shown in FIG. 3, a multiplexer 201 is provided.
このマルチプレクサ 201は、 データ RAM 15の出力 (データ D1) または メインメモリユニット 16の出力 (データ D4) を選択し、 マージ部 101へ出 力する。  The multiplexer 201 selects the output (data D1) of the data RAM 15 or the output (data D4) of the main memory unit 16 and outputs it to the merge unit 101.
つぎに、 実施の形態 2の動作について説明する。 第 3図において、 CPU1 1 は、 キャッシュメモリ 13 (またはメインメモリユニット 16) へデータをスト ァ (ライト) するためのストアアクセスを行う場合、 アクセス要求 (ストアァク セス) およびアドレスをキャッシュアクセス制御部 12へ出力する。  Next, the operation of the second embodiment will be described. In FIG. 3, when performing a store access to store (write) data to the cache memory 13 (or the main memory unit 16), the CPU 11 transmits an access request (store access) and an address to the cache access control unit 12. Output to
つぎに、 CPU 1 1は、 ストアすべきデータ D 2をマージ部 101へ出力する とともに、 制御情報をストァバッファ 19に格納する。  Next, the CPU 11 outputs the data D 2 to be stored to the merging unit 101 and stores the control information in the store buffer 19.
キャッシュアクセス制御部 12は、 CPU 1 1からのアドレスに基づいて、 キ ャッシュメモリ 13へのアクセス制御を行う。  The cache access control unit 12 controls access to the cache memory 13 based on an address from the CPU 11.
これにより、 比較回路 17では、 第 2図 (ストアアクセス) に示したように、 CPU 11からのァドレスとタグ RAMI 4のァドレスとが比較される。 両者が 不一致である場合 (キャッシュミス) には、 refill要求部 18は、 CPU1 1力、 らのァドレスに対応するデータをメインメモリュニット 16へ要求するという refill要求を出す。 これにより、 メインメモリユニット 16からは、 上記アドレスに対応するデ一 タ D4が出力される。 このデータ D4は、 マルチプレクサ 201を介して、 マー ジ部 101へ出力される。 As a result, the comparison circuit 17 compares the address from the CPU 11 with the address of the tag RAMI 4 as shown in FIG. 2 (store access). If they do not match (a cache miss), the refill request unit 18 issues a refill request to request data corresponding to the address of the CPU 11 from the main memory unit 16. As a result, the data D4 corresponding to the above address is output from the main memory unit 16. This data D4 is output to the merge unit 101 via the multiplexer 201.
これにより、 マージ部 101は、 CPU 11からのデータ D2と、 メインメモ リユニット 16からのデータ D4とをマージした結果 (データ D3, ) をストア バッファ 19に格納する。  As a result, the merging unit 101 stores the result (data D3,) obtained by merging the data D2 from the CPU 11 and the data D4 from the main memory unit 16 in the store buffer 19.
ここで、 データ D3' がデータ RAMI 5にス トア (ライト) される前に、 ス トァバッファ 19に格納されたァドレスと同一のァドレスに対するアクセス要求 (ロードアクセス) があった場合には、 ストアバッファ 19から CPU 1 1へデ ータ D3, をロードするというス トアバイパス処理が実行される。  If there is an access request (load access) to the same address as the address stored in the store buffer 19 before the data D3 'is stored (written) to the data RAMI 5, the store buffer 19 The store bypass process of loading the data D3, from the CPU 11 into the CPU 11 is executed.
すなわち、 CPU 11からの上記同一のアドレスに対するアクセス要求 (ロー ドアクセス) があると、 前述した動作を経て、 ストアバッファ 19からは、 デー タ D3' がマルチプレクサ 26を介して、 ロードデータとして CPU 1 1にロー ドされる。  That is, when there is an access request (load access) to the same address from the CPU 11, the data D3 'is transmitted from the store buffer 19 via the multiplexer 26 as load data to the CPU 1 through the multiplexer 26 through the above-described operation. Loaded to 1.
以上説明したように、 実施の形態 2によれば、 キャッシュメモリ 13にデータ D 1が存在しない場合、 メインメモリユニット 16から該データ D 4を読み出す こととしたので、 データ D 4とデータ D 2とがマージされたデータ D 3, として ストアバッファ 19に格納され、 キャッシュミスの場合にも、 ストアバイパス時 のロードアクセス時間を短縮することができる。  As described above, according to the second embodiment, when the data D1 does not exist in the cache memory 13, the data D4 is read from the main memory unit 16, so that the data D4 and the data D2 are Is stored in the store buffer 19 as the merged data D3, so that even in the event of a cache miss, the load access time during store bypass can be reduced.
以上本発明にかかる実施の形態 1および 2について図面を参照して詳述してき たが、具体的な構成例はこれらの実施の形態 1および 2に限られるものではなく、- 本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。  The first and second embodiments according to the present invention have been described in detail with reference to the drawings. However, specific configuration examples are not limited to the first and second embodiments. Even a design change or the like within a range not departing from the present invention is included in the present invention.
以上説明したように、 本発明によれば、 上位装置からのストアアクセス要求に 応じて、 メモリから指定アドレスに対応する第 1のデータを読み出し、 上位装置 から供給されストァ対象の第 2のデータと第 1のデータとをマージした結果を第 3のデータとして、 ストアバッファに格納しておき、 第 3のデータがメモリにス トァされる前に、 上位装置から指定ァドレスに対応するロードアクセス要求があ つた場合、 ストァバッファから第 3のデータを上位装置へロードさせることとし たので、 ストアバイパス時のロードアクセス時間を短縮することができるという 効 *果を奏する。 As described above, according to the present invention, the first data corresponding to the specified address is read from the memory in response to the store access request from the higher-level device, and the second data to be stored is supplied from the higher-level device. The result of merging with the first data is stored in the store buffer as third data, and before the third data is stored in the memory, a load access request corresponding to the specified address is issued from the higher-level device. Ah In this case, the third data is loaded from the store buffer to the host device, so that the load access time at the time of store bypass can be reduced.
また、 本発明によれば、 メモリに第 1のデータが存在しない場合、 メインメモ リユニットから該第 1のデータを読み出すこととしたので、 第 1のデータと第 2 のデータとがマージされた第 3のデータとしてストァバッファに格納され、 キヤ ッシュミスの場合にも、 ストアバイパス時のロードアクセス時間を短縮すること ができるという効果を奏する。 産業上の利用可能性  Further, according to the present invention, if the first data does not exist in the memory, the first data is read from the main memory unit, so that the first data and the second data are merged. The third data is stored in the store buffer, so that even in the event of a cache miss, the load access time during store bypass can be reduced. Industrial applicability
以上のように、 本発明にかかるメモリ制御装置およびストアバイパス制御方法 は、 ストァバッファを有するキャッシュメモリのアクセスに対して有用である。  As described above, the memory control device and the store bypass control method according to the present invention are useful for accessing a cache memory having a store buffer.

Claims

請 求 の 範 囲 The scope of the claims
1 . 上位装置からのストアアクセス要求に応じて、 メモリから指定アドレスに対 応する第 1のデータを読み出すストァアクセス制御手段と、 1. store access control means for reading first data corresponding to a specified address from a memory in response to a store access request from a higher-level device;
前記上位装置から供給されストァ対象の第 2のデータと前記第 1のデータとを マージした結果を第 3のデータとして、ストアバッファに格納するマージ手段と、 前記第 3のデータが前記メモリにストァされる前に、 前記上位装置から前記指 定ァドレスに対応するロードアクセス要求があった場合、 前記ストァバッファか ら前記第 3のデータを前記上位装置へロードさせるロードアクセス制御手段と、 を備えたことを特徴とするメモリ制御装置。  Merging means for storing the result of merging the second data to be stored and the first data supplied from the higher-level device and the first data in the store buffer as third data; and storing the third data in the memory in the memory. And a load access control unit that loads the third data from the storage buffer to the host device when a load access request corresponding to the specified address is received from the host device before the request is issued. A memory control device characterized by the above-mentioned.
2 . 前記ストアアクセス制御手段は、 前記メモリに第 1のデータが存在しない場 合、 メインメモリュニットから該第 1のデータを読み出すことを特徴とする請求 の範囲第 1項に記載のメモリ制御装置。 2. The memory control according to claim 1, wherein the first data is read from the main memory unit when the first data does not exist in the memory. apparatus.
3 . 上位装置からのストアアクセス要求に応じて、 メモリから指定アドレスに対 応する第 1のデータを読み出すストァァクセス制御工程と、 3. a storage control step of reading first data corresponding to a specified address from a memory in response to a store access request from a higher-level device;
前記上位装置から供給されストァ対-象の第 2のデータと前記第 1のデータとを マージした結果を第 3のデータとして、ストァバッファに格納するマージ工程と、 前記第 3のデータが前記メモリにストアされる前に、 前記上位装置から前記指 定アドレス対応するロードアクセス要求があった場合、 前記ストァバッファから 前記第 3のデータを前記上位装置へロードさせるロードアクセス制御工程と、 を含むことを特徴とするストアバイパス制御方法。  A merge step of storing, as third data, the result of merging the second data to be stored and the first data supplied from the higher-level device and storing the third data in a store buffer; and A load access control step of loading the third data from the storage buffer to the higher-level device when a higher-level device requests a load access corresponding to the specified address before the higher-level device stores the third data. A store bypass control method.
4 . 前記ストアアクセス制御工程では、 前記メモリに第 1のデータが存在しない 場合、 メインメモリュニットから該第 1のデータを読み出すことを特徴とする請 求の範囲第 3項に記載のストアバイパス制御方法。 4. The store bypass according to claim 3, wherein in the store access control step, when the first data does not exist in the memory, the first data is read from a main memory unit. Control method.
PCT/JP2002/012136 2002-11-20 2002-11-20 Memory control device and store bypass control method WO2004046931A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/012136 WO2004046931A1 (en) 2002-11-20 2002-11-20 Memory control device and store bypass control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/012136 WO2004046931A1 (en) 2002-11-20 2002-11-20 Memory control device and store bypass control method

Publications (1)

Publication Number Publication Date
WO2004046931A1 true WO2004046931A1 (en) 2004-06-03

Family

ID=32321513

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/012136 WO2004046931A1 (en) 2002-11-20 2002-11-20 Memory control device and store bypass control method

Country Status (1)

Country Link
WO (1) WO2004046931A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62212745A (en) * 1986-03-14 1987-09-18 Hitachi Ltd Data processor having buffer memory
JPS6347857A (en) * 1986-08-15 1988-02-29 Nec Corp Memory access controller
JPH02224041A (en) * 1988-11-17 1990-09-06 Nec Ic Microcomput Syst Ltd Cache memory control circuit
JPH02259945A (en) * 1989-03-31 1990-10-22 Fujitsu Ltd Storing processing system
JPH03269650A (en) * 1990-03-20 1991-12-02 Fujitsu Ltd Buffer storage
JPH04175944A (en) * 1990-11-09 1992-06-23 Mitsubishi Electric Corp Data processor
JPH07182167A (en) * 1993-10-29 1995-07-21 Advanced Micro Devicds Inc Loading/storing function unit of microprocessor and apparatus for information processing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62212745A (en) * 1986-03-14 1987-09-18 Hitachi Ltd Data processor having buffer memory
JPS6347857A (en) * 1986-08-15 1988-02-29 Nec Corp Memory access controller
JPH02224041A (en) * 1988-11-17 1990-09-06 Nec Ic Microcomput Syst Ltd Cache memory control circuit
JPH02259945A (en) * 1989-03-31 1990-10-22 Fujitsu Ltd Storing processing system
JPH03269650A (en) * 1990-03-20 1991-12-02 Fujitsu Ltd Buffer storage
JPH04175944A (en) * 1990-11-09 1992-06-23 Mitsubishi Electric Corp Data processor
JPH07182167A (en) * 1993-10-29 1995-07-21 Advanced Micro Devicds Inc Loading/storing function unit of microprocessor and apparatus for information processing

Similar Documents

Publication Publication Date Title
US7076598B2 (en) Pipeline accessing method to a large block memory
US6467022B1 (en) Extending adapter memory with solid state disks in JBOD and RAID environments
JP4884382B2 (en) MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY SYSTEM, AND MEMORY CONTROL METHOD
CN102915208B (en) The control method of signal conditioning package, semiconductor storage and semiconductor storage
US8225044B2 (en) Storage system which utilizes two kinds of memory devices as its cache memory and method of controlling the storage system
US7373452B2 (en) Controller for controlling nonvolatile memory
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
US8799585B2 (en) Cache memory capable of adjusting burst length of write-back data in write-back operation
US8171239B2 (en) Storage management method and system using the same
US5906000A (en) Computer with a cache controller and cache memory with a priority table and priority levels
JP3798049B2 (en) Data memory and operation method thereof
US10990463B2 (en) Semiconductor memory module and memory system including the same
JP2021034052A (en) Memory system having different kinds of memory, computer system including the same, and data management method therefor
US11698734B2 (en) Collision reduction through just-in-time resource allocation
US20220035566A1 (en) Pre-suspend before program in a non-volatile memory (nvm)
US20170004095A1 (en) Memory Control Circuit and Storage Device
CN101930344B (en) Determine the data storage protocols of the project storing in link data reservoir and rewrite
JP3935873B2 (en) Memory power management using prefetch buffer
JP2000112820A (en) Method and device for controlling cache memory
US7003637B2 (en) Disk array device with utilization of a dual-bus architecture dependent on data length of cache access requests
WO2004046931A1 (en) Memory control device and store bypass control method
US7543113B2 (en) Cache memory system and method capable of adaptively accommodating various memory line sizes
JPH11184761A (en) Read modify write control system
US20230062773A1 (en) Nonvolatile memory and memory system
JP5216719B2 (en) Information processing apparatus and control apparatus

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP