JPS6320640A - Memory access controller - Google Patents

Memory access controller

Info

Publication number
JPS6320640A
JPS6320640A JP61167232A JP16723286A JPS6320640A JP S6320640 A JPS6320640 A JP S6320640A JP 61167232 A JP61167232 A JP 61167232A JP 16723286 A JP16723286 A JP 16723286A JP S6320640 A JPS6320640 A JP S6320640A
Authority
JP
Japan
Prior art keywords
data
memory
cache
write
memory access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP61167232A
Other languages
Japanese (ja)
Inventor
Atsushi Takahashi
淳 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP61167232A priority Critical patent/JPS6320640A/en
Publication of JPS6320640A publication Critical patent/JPS6320640A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve the performance of memory access processing by suppressing the write to a cache memory if cache mishit occurs during sweep of the cache memory. CONSTITUTION:A rewrite control part (RE WRT CNT) 10C, a write suppression control part (WRT ST CNT) 114 for a DA CNT 109, a timing priority control part (TMG CNT) 10F, an OR gate 110, an AND gate 111, a signal line (BYPS) 115, and a cache memory address control part (AACNT) 113 are provided.If a sweep instruction is set to a mode register (SMDR) 10E and a signal WRTMISS 112 indicating that the write request fails to hit exists, the write of merge data to a cache memory data part (CDA) 106 is suppressed in accordance with the output of the AND gate 111 by the control of the WRT ST CNT 114 in the DA CNT 109. The CDA 106 is by-passed through the BYPS 115, and this merge data is selected by the control of the RE WRT CNT 10C and is stored in a swap data buffer (SDB) 107.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、キャッジ−メモリを肩し、主記憶装置との間
のデータ転送をブロックデータで実行可能なメモリアク
セス制御装置に関し、特に、処理装置からの書込要求で
あるメモリアクセス要求がキャッシュミスヒツトした場
合の制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a memory access control device that handles a cache memory and is capable of executing data transfer between a main storage device and a main storage device using block data. The present invention relates to a control method when a memory access request, which is a write request from a device, causes a cache miss.

〔従来の技術〕[Conventional technology]

従来のメモリアクセス制御装置では、メモリアクセス処
理の性能向上及び、主記憶装置の負荷軽減の目的でキャ
ッジ−メモリを設けておシ、処理装置からのメモリアク
セス要求ri90%以上の確率でキャツシュヒツトする
。キャッシュミスヒツトの場合はキャッシュメモリデー
タの置換を実行するが、このとき最新データ保持のため
必要に応じて、キャッジ−メモリデータのスワップアウ
トを実行する。
In conventional memory access control devices, a cache memory is provided for the purpose of improving the performance of memory access processing and reducing the load on the main storage device, and caches memory access requests from the processing device with a probability of 90% or more. In the case of a cache miss, cache memory data is replaced, and at this time, cache-memory data is swapped out as necessary to maintain the latest data.

処理装置からのメモリアクセス要求が、キャッシュゴス
ヒツトした場合の、キャッシュデータのスワップアウト
制御は、後述するようにアドレスプレイのMビットによ
り行なわれている。キヤ、。
Swap-out control of cache data when a memory access request from a processing device hits the cache is performed by the M bit of address play, as will be described later. Kiya.

シュメモリへのデータ書込があった場合、アドレスアレ
イの該当アドレスに設けられたMビットを更新し、論理
1とする。処理装置からのメモリアクセス要求がキャッ
ジ−ミスヒツトした場合、後述するように最長不使用履
歴部(1east  recentlyused以下L
RUという)で決定される置換レベルに対応するMビッ
トが論理1ならば、キャッシュメモリデータのスワップ
アウトを実行する。
When data is written to the memory, the M bit provided at the corresponding address in the address array is updated and set to logic 1. When a memory access request from a processing device causes a cache miss, the longest unused history section (1st recently used or less L
If the M bit corresponding to the replacement level determined by the RU (referred to as RU) is logical 1, the cache memory data is swapped out.

上記のようにメモリアクセス制御装置は、処理装置から
のメモリアクセス要求がキャッジ−ばスヒヴトした場合
は、主記憶装置との間で10ツクデータ転送を行ないキ
ャッシュメモリデータの置換を実行するが、このときの
メモリ続出データは、前記キャッジ−ミスヒツトしたメ
モリアクセス要求が、書込要求ならば、要求元からの書
込データとマージされ、キャッシュメモリに書込まれる
ことになる。
As described above, when a memory access request from a processing device is cached, the memory access control device performs 10 data transfers with the main storage device and replaces cache memory data. If the cache-missed memory access request is a write request, the memory successive data will be merged with the write data from the request source and written to the cache memory.

第2図は、一般的なコンピュータシステムを示すブロッ
ク図であシ、メモリアクセス制御装置(以下8IUとい
う)201では、各処理装置(以下中央処理装置のとき
dcPU、入出力処理装置のときdIOPという)20
3.l0P204からメモリアクセス要求を受付けると
、その優先順位に従い処理し、主記憶装置(以下M M
 Uという)202ヘメモリアクセス要求を送出する。
FIG. 2 is a block diagram showing a general computer system. In a memory access control unit (hereinafter referred to as 8IU) 201, each processing unit (hereinafter referred to as dcPU for central processing unit and dIOP for input/output processing unit) )20
3. When a memory access request is received from the l0P204, it is processed according to its priority and transferred to the main memory (hereinafter referred to as MM
A memory access request is sent to 202 (referred to as U).

該メモリアクセス要求が書込要求であれば、書込データ
をMMU 202の該当アドレスに書込み、又読出要求
であればMMU 202の該当アドレスのデータが読出
され、S IU201を介して要求元処理装置へ返され
る。
If the memory access request is a write request, the write data is written to the corresponding address of the MMU 202, and if the memory access request is a read request, the data at the corresponding address of the MMU 202 is read out and sent to the requesting processing device via the S IU 201. will be returned to.

この8IU201において、メモリアクセス処理の性能
向上及び、MMU 202の負荷軽減の目的で、キャッ
ジ−メモリを設けるようになると、CPU203、l0
P204からのメモリアクセス要求は90%以上の確率
でキャッジ−ヒツトし、M M U2O5を介さず該要
求に対する処理を実行でき、キャッシュミスヒツトの場
合にriMMU 202との間でメモリデータ続出し及
び必要に応じてスワップアウトをブロックデータで実行
しキャッシュメモリに最新データを書込む。
In this 8IU 201, when a cache memory is provided for the purpose of improving the performance of memory access processing and reducing the load on the MMU 202, the CPU 203, l0
A memory access request from P204 will be cache-hit with a probability of over 90%, and processing for the request can be executed without going through MMU2O5, and in the case of a cache miss, memory data will be successively transferred to and from riMMU 202 and the necessary Accordingly, swap out the block data and write the latest data to the cache memory.

前記メモリアクセス処理は、他系メモリアクセス制御装
置8IU211.主記憶装置MMU212及び処理装置
CPU213.l0P214についても同様である。
The memory access processing is performed by the other system memory access control device 8IU211. Main storage device MMU212 and processing device CPU213. The same applies to l0P214.

前記コンピュータシステムにおいて、故障等原因により
、他系メモリアクセス制御装置8IU211が接続され
ている場合のS IU201の切離し時に最新データ保
持の目的でS IU201内キヤツシユメモリデータの
MMU 202へのはき出し処理が必シュメモリデータ
のはき出し指示が発行され、該にき出し指示による該当
アドレスのキャッシュメモリデータは、MMU 202
ヘスワツプアウトされる。
In the computer system, when the S IU 201 is disconnected due to a malfunction or other cause, when the S IU 201 is connected, the cache memory data in the S IU 201 is exported to the MMU 202 for the purpose of retaining the latest data. An instruction to write out essential memory data is issued, and the cache memory data at the corresponding address according to the instruction is transferred to the MMU 202.
swapped out.

第3図は従来のメモリアクセス制御装置の10ツク図で
ある。
FIG. 3 is a 10-step diagram of a conventional memory access control device.

CPU203.l0P204からの書込要求であるメモ
リアクセス要求がキャッシュミスヒツトした場合、第3
図のメモリアクセス制御装置5IU301においては、
読出し制御部(以下RDCNTという)30Aの制御に
てメモリデータの読出指令がMMU 302へ発行され
る。MMU 302では、該読出指令を受けて、該当ア
ドレスのデータ(プロ。
CPU203. If a memory access request, which is a write request from l0P204, causes a cache miss, the third
In the memory access control device 5IU301 shown in the figure,
A memory data read command is issued to the MMU 302 under the control of a read control unit (hereinafter referred to as RDCNT) 30A. The MMU 302 receives the read command and reads the data at the corresponding address (Profile).

クデータ)が読出され、5IU301へ送出される。data) is read out and sent to the 5IU 301.

S ItJ301内では、MMU 302からのデータ
リプライのタイぐングを認識しておシ、メモリ読出デー
タが受付けられると、ミスヒケトスドアデータバッファ
(以下MSDBという)303に格納されていた、書込
データとマージし、メモリデータレジスタ(以下MDR
とい5)305を介して、キャッシュメモリ制御部(以
下DACNTという)308の制御により、キャッジ−
メモリ(以下DAという)306に該マージされたデー
タを書込む。このときDA306データのスワップアウ
トの必要がある場合は、該当するDA306のデータを
絖出し、スワ、プデータバ、ファ(以下8DBという)
307に格納し、書込み制御部(以下WRTCNTとい
う)309によるメモリ書込指令に従って?’1Hlr
iU 302へ送出する。
In the S ItJ 301, the timing of the data reply from the MMU 302 is recognized, and when the memory read data is accepted, the write data stored in the miss door data buffer (hereinafter referred to as MSDB) 303 is data and memory data register (hereinafter referred to as MDR).
5) Through the cache memory control unit (hereinafter referred to as DACNT) 308, the cache is
The merged data is written into a memory (hereinafter referred to as DA) 306. At this time, if it is necessary to swap out the DA306 data, the data of the relevant DA306 is swapped out, swapped out, and swapped out.
307 and according to a memory write command from the write control unit (hereinafter referred to as WRTCNT) 309? '1Hlr
Send to iU 302.

以上が書込要求であるメモリアクセス要求がキャッシュ
ミスヒツトした場合の処理であるが、該要求がモードレ
ジスタ(以下S M D Rという)30Cからはき出
し指示かでて全キャッシュメモリDA306データはき
出し中に受付けられた場合は、DA306へのデータ書
込みを実行後、該当アドレスのDA306のデータが、
WRTCNT309の制御によυMMU 302へはき
出されることになる。即ち、該DA306への書込デー
タ(ブロックデータ)をはき出す場合、DA306を介
している為、DA306へのブロックデータ書込処理と
、同データのDA306からのブロックデータ読出処理
が必要である。
The above is the process when a memory access request, which is a write request, causes a cache miss.The request is executed when a write request is issued from the mode register (hereinafter referred to as SMD R) 30C, and all cache memory DA306 data is being written out. If it is accepted, after writing the data to the DA306, the data of the DA306 at the corresponding address will be
It will be output to υMMU 302 under the control of WRTCNT 309. That is, when writing data (block data) to the DA 306 is to be read out, it is necessary to write the block data to the DA 306 and read the block data from the DA 306 because the data is written through the DA 306.

またスワップアウトの実行ri第4図における、キャッ
シュメモリアドレス部(以下AAという)401に登録
されているMビットにより決定される。
Also, the execution of swap-out is determined by the M bit registered in the cache memory address section (hereinafter referred to as AA) 401 in FIG. 4.

SI[J201のキャッジ−メモリ(AA4 o 1と
キャッシュメモリデータ部(以下ODAという)407
とからなる)rj4レベル構成であシ、このレベルがデ
ータ置換の対象となる。CPU203”またはl0P2
04からのメモリアクセス要求が、キャッシュミスヒツ
トしたときの置換レベルは、LRU402により示され
る。LRU402ri最も最近使われなかったレベルを
置換の対象として示す。
SI [J201 cache memory (AA4 o 1 and cache memory data section (hereinafter referred to as ODA) 407
This level is the target of data replacement. CPU203” or l0P2
The replacement level when the memory access request from 04 causes a cache miss is indicated by LRU 402. LRU402ri Indicates the least recently used level for replacement.

例えば、キャッシュメモリのレベル0〜3がo→1→2
→3の順でアクセスされた時、優先度はレベル3が最も
高く、その順位riO→l→2→3となる。次にレベル
2→レベル0の順にキャッシュメモリがアクセスされる
と、優先度ri1→3→2→0となシ、LRU402の
示す置換レベルは最も優先度の低いレベル1である。
For example, cache memory levels 0 to 3 are o → 1 → 2
When accessed in the order of →3, level 3 has the highest priority, and the priority is riO→l→2→3. Next, when the cache memory is accessed in the order of level 2 → level 0, the priorities change as ri1 → 3 → 2 → 0, and the replacement level indicated by the LRU 402 is level 1, which has the lowest priority.

この様にLRU 402の制御によ少、置換レベルが示
されるが、このレベル内該当アドレスのデータのスワッ
プアウトは、Mビット=111の時のみに実行される。
In this way, a replacement level is indicated under the control of the LRU 402, but swapping out of data at a corresponding address within this level is executed only when the M bit=111.

Mh’ッ)dAA401内に登録されており、CDA4
07に書込があった場合にAA401内の対象アドレス
のMビットが111に更新される。部ちMビット=11
1のときdCDA407に書込が行なわれ、データが最
新であシ、主記憶装置M M U2O5内の対象アドレ
スのデータと異なることを示す。スワップアウトは、こ
の最新データ保持のために行なわれる。
Mh't) It is registered in dAA401, and CDA4
When there is a write to 07, the M bit of the target address in AA401 is updated to 111. Part M bit = 11
When it is 1, it indicates that data is written to the dCDA 407, that the data is the latest, and that it is different from the data at the target address in the main memory device MMU2O5. Swap out is performed to maintain this latest data.

キャッシュミスヒツトしたアドレスに対応するAA40
1の各レベルのS1ピツ) riMピットレジスタ(以
下M A A Rという)4o3に格納され、その出力
と、LRU402の出力である置換レベルLVLO〜3
とがNANDゲー)405で条件がとられる。つまシL
RU 402が示す置換レベルのMビット=11″のと
きにのみ、スワップアウトを実行する。
AA40 corresponding to the cache miss address
1) is stored in the riM pit register (hereinafter referred to as MAAR) 4o3, and its output and the replacement level LVLO~3 which is the output of the LRU 402
(NAND game) 405 is the condition. Tsumashi L
Swap out is performed only when the M bit of the replacement level indicated by RU 402 = 11''.

5IU201の動作とし一’c−a、CPU203また
はl0P204からのメモリ書込要求がキャッシュミス
ヒツトした場合、第4図の様にして、スフツブアウトの
条件がとられ、条件成立(置換レベルのMビット== 
l lt )のときに、CDA407の該当アドレスの
データをMMU 2 Q 2へスフップアウトする。メ
モIJ a比データの該レベルへの4込にスワップアウ
トの終了を対って行なわれる。N(ピッ)=”O”のと
きにスフップアウ)tit実施せず、そのままメモリ読
出データをCDA407の該当アドレスに書込む。
5 As for the operation of the IU 201, if a memory write request from the CPU 203 or the 10P 204 causes a cache miss, as shown in FIG. =
l lt ), the data at the corresponding address of the CDA 407 is flopped out to the MMU 2 Q 2 . The completion of the swap-out is performed upon the completion of the swap-out to the memo IJa ratio data to the corresponding level. When N (beep) = "O", the memory read data is written to the corresponding address of the CDA 407 without performing tit.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上述した従来のメモリアクセス制御装置は、処理装置か
らのメモリアクセス要求がキャッシュミスヒツトした場
合、主記憶装置との間でブロックデータ転送を行ない、
このときのメモリ読出データはメモリアクセス要求が書
込袂求ならは、要求元からの書込データとマージされ、
キャッジ−メモリに書込まれることになる。
The conventional memory access control device described above transfers block data to and from the main storage device when a memory access request from the processing device causes a cache miss.
If the memory access request is a write request, the memory read data at this time is merged with the write data from the request source.
Cache - will be written to memory.

ここで、全キャッジ−メモリデータのはき出し処理中に
もかかわらず、処理装置からの書込要求であるメモリア
クセス要求があシ、キャッシュミスヒツトした場合、前
記、メモリ読出データと、要求元からの書込データとの
マージデータは、−旦キャッシュメモリに書込まれる様
になっているので、前記データのマージ処理後、主記憶
装置への書込データとして送出てれるまでに、キャッシ
ュメモリへのブロックデータ書込み処理及び同ブロック
データの読出処理を行わなければならず、その分の時間
ロスがあるという欠点があった。
Here, even though all cache memory data is being read out, if a memory access request, which is a write request from the processing device, is missed and a cache miss occurs, the memory read data and the request source are The data merged with the write data is written to the cache memory once, so after the data is merged, the data must be written to the cache memory before being sent as write data to the main storage device. This method has the disadvantage that it is necessary to perform block data write processing and read processing of the same block data, resulting in time loss.

またメモリアクセス要求がキャッジ−ミスヒツトした場
合、メモリデータの読出し、キャッジ−メモリへの省込
み、及び必要に応じてのキャッシュメモリデータのスフ
ツブアウトはブロックデータで行なっているので、該処
理の実行による性能低下に問題がある。特にキャッジ−
メモリデータのスワップアウト処理では、キャッシュメ
モリからのデータ読出と主記憶装置へのデータ書込をブ
ロックデータで実行するため、スフツブアウトの確率が
高いと性能がいちぢるしくダウンするという欠点がある
In addition, when a memory access request causes a cache miss, reading of memory data, saving to the cache memory, and smoothing out cache memory data as necessary are performed using block data, so the performance of the processing is improved. There is a problem with the decline. especially the cat-
In the memory data swap-out process, data is read from the cache memory and data is written to the main storage device using block data, so if the probability of a short-out is high, the performance will be severely degraded.

〔問題点を解決するための手段〕[Means for solving problems]

本発明の装置は、ストアイン方式のキャッシュメモリを
有し処理装置からのメモリアクセス要求がキャッシュミ
スヒツトした場合に主記憶装置との間のデータ転送を所
定のデータ長を単位とじて実行するメモリアクセス制御
装置において、前記キャッシュミスヒツトしたメモリア
クセス要求が書込要求の場合前記主記憶装置からのメモ
リ続出データと、前記処理装置からの書込データとをマ
ージしたマージデータをキャッシュメモリ【書込むとと
もに該マージデータをキャッシュメモリをバイパスして
スワップデータバッファへの格納データとして選択する
スワップデータバッファ格納データ選択手段と、前記メ
モリアクセス要求がキャッシュミスヒツトした場合に前
記主記憶装置へ送出されたメモリ読出指令をメモリ再書
込指令に変換する指令変換手段と、前記キャッシュミス
ヒツトした書込要求であるメモリアクセス要求に伴うメ
モリ読出指令と、スフツブアウト時のメモリ書込指令と
、前記指令変換手段により変換されたメモリ再書込指令
とを選択して前記主記憶装置に送出するメモリアクセス
要求手段と、前記マージデータのキャッシュメモリへの
書込み時に、キャッシュメモリdK格納されている情報
と対応する前記主記憶装置のアドレスに格納されている
情報との一致を示すビットの更新を抑止する手段と、全
キャッジ−メモリデータのはき出し処理中に前記処理装
置からの書込み要求であるメモリアクセス要求がちシキ
ャッシーミスヒットした場合のみ前記マージデータのキ
ャッシュメモリへの書込みを抑止する書込抑止手段とを
含んで構成される。
The device of the present invention has a store-in type cache memory, and when a memory access request from a processing device causes a cache miss, the device transfers data to and from the main storage device in units of a predetermined data length. In the access control device, when the cache-missed memory access request is a write request, the merged data obtained by merging the memory successive data from the main storage device and the write data from the processing device is stored in the cache memory. swap data buffer storage data selection means for selecting the merge data as data to be stored in the swap data buffer bypassing the cache memory; A command conversion means for converting a read command into a memory rewrite command, a memory read command accompanying a memory access request which is a write request that has caused a cache miss, a memory write command at the time of a short-out, and the command conversion means. memory access request means for selecting the converted memory rewrite command and sending it to the main storage device; Means for suppressing updating of a bit indicating a match with information stored in an address of a storage device; and a means for suppressing update of a bit indicating a match with information stored in an address of a storage device; and write inhibiting means for inhibiting writing of the merge data to the cache memory only when there is a hit.

〔実施例〕〔Example〕

次に本発明について図面を参照して説明する。 Next, the present invention will be explained with reference to the drawings.

第1図は本発明の一実施例を示すブロック図である。第
3図の従来装置との主たる相異点は再書込制御部(以下
R,EWRT CNTという)IOC。
FIG. 1 is a block diagram showing one embodiment of the present invention. The main difference from the conventional device shown in FIG. 3 is the rewrite control unit (hereinafter referred to as R, EWRT CNT) IOC.

DACNT109内への書込み抑止制御部(以下WRT
 ST CNTという)114.タイミングプライ第1
ノテイ制御部(以下TMGCNTという)10F、OR
ゲート110.ANDゲー)111.信号ax1s(以
下BYPSという)キャッシュメモリアドレス部制御部
(以下AACNTという)113をGけキャッジ−メモ
リDA306をキャブシュメモリアドレス部(以下AA
という)108゜およびキャッシュメモリデータ部(以
下ODAという)106とに分割して図示したことであ
る。
Write inhibition control unit (hereinafter referred to as WRT) in the DACNT109
(referred to as ST CNT)114. Timing ply 1st
Note control unit (hereinafter referred to as TMGCNT) 10F, OR
Gate 110. AND game) 111. The signal ax1s (hereinafter referred to as BYPS) and the cache memory address unit control unit (hereinafter referred to as AACNT) 113 are set to the cache memory address unit (hereinafter referred to as AACNT).
108°) and a cache memory data section (hereinafter referred to as ODA) 106.

次に第1図を参照して本実施例の動作を説明する。Next, the operation of this embodiment will be explained with reference to FIG.

処理装置からの書込要求であるメモリアクセス要求がキ
ヤ、シュミスヒ2..トシた場合、RDCNTloBに
より、メモリ読出指令が作成され、主記憶装置MMU1
02へ送出される。MMU l 02はメモリ読出指令
を受けると、該当アドレスのデータを読出し、5IUI
OIに返し8IUi01t−tMMU102からのデー
タリプライタイミングを認識していて、メモリ続出デー
タを受ると、MSDB103のデータとマージしてマー
ジデータをレジスタMDRIQ5に格納する。該MDR
105に格納されたマージデータは、DACNT109
の制御により0DAIQ5に書込まれる。又同時に、0
DAIQ5を信号線115を介してバイパスしたマージ
データは、REWRTCNTloCの制御により選択さ
れ、5DRIQ7に格納される。R,DCNTIOBで
作成しMMU I Q 2へ送出したメモリ読出指令は
REWRTCNTloCでメモリ再曹込指令に変換され
、Tに1GcNT10Fにより、そのタイピングと優先
度が制御され、選択され、レジスタADR10Dを介し
てkIMU 102へ送出される。5DB107に格納
された、DA106をバイパスしたマージデータは、該
メモリ再書込指令に従ってMMU 102へ書込まれる
。ところで、CDA106に書込まれたマージデータに
対するアドレス情報はAA108に登録されるが、この
場合、AACNT113の制御により該アドレスに対応
するAA108のMビットは更新されず論41 Q l
である。
A memory access request, which is a write request from the processing device, is automatically processed.2. .. If the memory read command is created by RDCNTloB, the main memory device MMU1
02. When MMU l 02 receives a memory read command, it reads the data at the corresponding address and writes 5IUI
It recognizes the data reply timing from the 8IUi01t-tMMU102, and when it receives memory successive data, it merges it with the data in the MSDB 103 and stores the merged data in the register MDRIQ5. The MDR
The merge data stored in DACNT 105 is
is written to 0DAIQ5 under the control of . At the same time, 0
The merge data bypassing DAIQ5 via the signal line 115 is selected under the control of REWRTCNTloC and stored in 5DRIQ7. The memory read command created by R, DCNTIOB and sent to MMU IQ 2 is converted into a memory refill command by REWRTCNTloC, and its typing and priority are controlled and selected by 1GcNT10F at T, and then sent via register ADR10D. kIMU 102. The merge data stored in the 5DB 107 and bypassing the DA 106 is written to the MMU 102 in accordance with the memory rewrite command. By the way, the address information for the merge data written in the CDA 106 is registered in the AA 108, but in this case, the M bit of the AA 108 corresponding to the address is not updated under the control of the AACNT 113.
It is.

尚、このキャッジ−ミスヒツト処理において、必要に応
じてスフツブアウト処理が実行される。
Incidentally, in this cache-miss-hit processing, a short-out processing is executed as necessary.

上述の処理動作は、第3図で説明したSMDR30Cと
同じ機能のはき出し指示を示すSMDR10E出力と、
書込要求がキャッシュミスヒツトしたことを示す制御信
号WRTMI8S112との、論理和であるORゲート
110出力を、TMGCNTloFとREWRTCNT
loCとして送ることにより、メモリ読出指令をメモリ
再書込指令に変更し、又タイミングを制御して、このメ
モリ再書込指令を選択する。更に論理積であるANDゲ
ート111出力をDACNT109へ送シ後述のCDA
106への書込禁止は、キャッジ−はき出し時のみとし
、又、制御信号WRT MI S 8112をAACN
T 113へ送り、Mビットの更新を抑止することによ
り、前記処理を実行する。
The above processing operation is performed by the SMDR10E output which indicates the same function as the SMDR30C explained in FIG.
The output of the OR gate 110, which is the logical sum of the control signal WRTMI8S112 indicating that the write request has caused a cache miss, is output as TMGCNTloF and REWRTCNT.
By sending it as loC, the memory read command is changed to a memory rewrite command, and the timing is controlled to select this memory rewrite command. Furthermore, the AND gate 111 output, which is a logical product, is sent to the DACNT 109.
Writing to 106 is prohibited only when the carriage is being ejected, and the control signal WRT MI S 8112 is set to AACN
The above processing is executed by transmitting the data to T 113 and suppressing the update of the M bit.

次に書込要求であるメモリアクセス要求が、全キャッジ
−メモリデータのはき出し処理中に受付けられ、キャブ
シュミスヒツトした場合の動作について以下に示す。
Next, the operation when a memory access request, which is a write request, is accepted during the entire cache-memory data flushing process and a cab mismatch occurs will be described below.

SMDRIOEにこのはき出し指示があシかり書込み要
求がミスヒツトしたことを示すWRTMIS8112信
号があると、A N Dゲート111の出力に:すDA
CNT109内のWR,T ST CNT 110の制
御により、マージデータの0DA106への書込みを抑
止し、BYPS115を介してCDA106をバイパス
し、このマージデータをIIWRTCNT、toCの制
御により選択して、5DB107に格納する(このマー
ジデータはブロックデータである)。キャッシュミスヒ
、vト処qでR,D CNT10Bにて作成され、MM
U 102に送出されるメモリ読出指令riREWRT
 CNTl0CKてメモリ再書込指令に変換される。こ
のメモリ再書込指令はTMG CNT 10 Fにより
タイミングが制御されて選択され、MMU 1o2に送
出される。TMGCN T 10 F ri キー? 
? ’/ −ミスヒツト時(D MMU 102からの
データリプライタイミングを認識しておち、それを考慮
してMMU l 02へのメモリ再書込指令の選択タイ
ミングを制御する。5DB107に格納されていたマー
ジデータは、このメモリ再書込指令に従ってMMU l
 02の所定アドレスに書込まれる。
When the SMDRIOE receives this write instruction and there is a WRTMIS8112 signal indicating that the write request has missed, the output of the AAND gate 111:
WR, T ST in CNT 109. Writing of merge data to 0DA 106 is suppressed under the control of CNT 110, CDA 106 is bypassed via BYPS 115, and this merge data is selected under the control of IIWRTCNT and toC and stored in 5DB 107. (This merge data is block data). Created with R, D CNT10B due to cache miss, v processing q, MM
Memory read command riREWRT sent to U 102
CNT10CK is converted into a memory rewrite command. This memory rewrite command is selected with timing controlled by TMG CNT 10F and sent to MMU 1o2. TMGCN T10 Fri key?
? '/-When there is a mishit (DM Recognizes the data reply timing from the MMU 102 and controls the selection timing of the memory rewrite command to the MMU 102 in consideration of it. 5 Merge data stored in the DB 107 MMU l according to this memory rewrite command
It is written to a predetermined address of 02.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明には、処理装置からの書込要
求であるメモリアクセス徴求がキャッシュミスヒツトし
た場合に限シ、主記憶装置からのメモリ読出データと、
処理装置からの書込データとのマージデータを、キャブ
シュメモリに薔込むとともに、主記憶装置への書込みを
行ない、更に処理装置からのデータ書込があったところ
を示すMビットの更新を抑止すること(てよシ、キャッ
シュメモリデータのスワツプアウトの確率を減らし、更
にキャッジ−メモリのはき出し千に上記キャッシュミス
ヒツトがあったときにはキャッシュメモリへの書込みを
抑止することによりメモリアクセス処理の性能を向上す
ることが出来るという効果がある。
As explained above, in the present invention, only when a memory access request, which is a write request from a processing device, causes a cache miss, memory read data from the main storage device,
The merge data with the write data from the processing device is written to the cache memory, and is written to the main memory, and furthermore, the update of the M bit indicating where data has been written from the processing device is suppressed. This method improves the performance of memory access processing by reducing the probability of cache memory data being swapped out, and by inhibiting writes to the cache memory when there is a cache miss as described above during cache memory flushing. It has the effect of being able to do things.

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

第1図は本発明の一実施例を示すブロック図、第2図は
コンピュータシステムのプロ、νり図、第3図は従来装
置を示すブロック図、第4図はスフ、プアウトを説明す
るブロック図である。 101・・・・・・メモリアクセス制御装置(SIU)
、102・・・・・・主記憶装置(MMU)、103・
・・・・・ミスヒツトストアデータバッファ(MSDB
 )、104・・・・・・メモリデータレジスタ(MD
R)、105−・・・・メモリデータレジスタ(M D
 R)、106・・・・・・キャッジ−メモリデータ部
(CDA)、107・・・・・・スワップデータバッフ
ァ(SDB)、108・・・・・・キャッジ−メモリア
ドレス部(AA)、109−・・・・・DA制御部(D
ACNT)、IOA・・・・・・書込制御部(WRT 
CNT)、10 B−・−読出制御部(RDCNT )
、IDC・・・・・・再書込制御部(RBWRTCNT
)、IOD・・・・・・メモリアクセスレジスタ(AD
R)、IOE・・・・・・モードレジスタ(SMDRン
、10F・・・・・・タイミング・プライオリティ制御
部(TMGCNT)、110・・・・・・ORゲート、
111+++ +++ A N Dゲート、112・・
・−・・信号線(WRT MI S S )、113・
・・・・・A A f!1TIJ 両部、114・・・
・・・書込み抑止制御部(WRT 5TCNT)、11
5・・・・・・信号線(BYP8)、201・・・・・
・メモリアクセス制御装置(S I tJ’ )、2Q
2・・・・・・主記憶装置(MMU)、203・・・・
・・処理装置(CPU)、204・・・・・・処理装置
(IOP)、211・−・・・・メモリアクセス制御装
置(SIU)、212・−・・・・主記憶装置(Mへf
U)、213・・・・・・処理装置(CPU)、214
・・・−・−処理装置(IOP)、301・・・・・・
メモリアクセス制御装置(SIU)、302・・・・・
・主記憶装置(MMU)、303・・・・・・ミスヒツ
トストアデータバッファ(MSI)B )、304・・
・・・・メモリデータレジスタ(へfDR)、305・
・・・・・メモリデータレジスタ(MDR)、306・
旧・・キャッジ為メモリ(DA)、307・・・・−・
スワップデータ・<ツファ(SDB)、308・・・−
・・キャッシュメモリ制御部(DACNT)、309・
・・・・・書込制御部(WRTCNT)、30A・・・
・・−読出制御部(RDCNT)、30B・・−・・・
メモリアクセスレジスタ(ADR)、30C・・・・−
%−ドvジxり(SMDR)、401・・・用キャッシ
ュメモリアドレス部(AA )、402・・・・・・最
長不使用履歴部(LRU)、403・・・・・・Mビッ
トレジスタ(MAARl)、404・輪・・・Dへ制両
部(DACNT)、405・・・・・・NANDゲー)
(NAND)、406・・・・・−N A N Dゲー
ト(NAND)407・・・・・・キャッシュメモリデ
ータ部(CDA)、408・・・・・・アドレスレジス
タ(AR)。 \、二ノ′ 第1 面 フ 2T:!3
Fig. 1 is a block diagram showing an embodiment of the present invention, Fig. 2 is a professional computer system diagram, Fig. 3 is a block diagram showing a conventional device, and Fig. 4 is a block diagram explaining setup and pullout. It is a diagram. 101...Memory access control unit (SIU)
, 102... Main memory unit (MMU), 103.
...Miss store data buffer (MSDB)
), 104...Memory data register (MD
R), 105-...Memory data register (MD
R), 106... Catch-memory data section (CDA), 107... Swap data buffer (SDB), 108... Catch-memory address section (AA), 109 ---DA control section (D
ACNT), IOA...Write control unit (WRT
CNT), 10B--Read control unit (RDCNT)
, IDC...Rewrite control unit (RBWRTCNT
), IOD...Memory access register (AD
R), IOE...Mode register (SMDR), 10F...Timing priority control unit (TMGCNT), 110...OR gate,
111+++ +++ A N D gate, 112...
...Signal line (WRT MISS), 113.
...A A f! 1TIJ both parts, 114...
...Write inhibition control unit (WRT 5TCNT), 11
5...Signal line (BYP8), 201...
・Memory access control device (SI tJ'), 2Q
2... Main memory unit (MMU), 203...
...Processing unit (CPU), 204...Processing unit (IOP), 211...Memory access control unit (SIU), 212...Main storage device (f to M
U), 213...processing unit (CPU), 214
...--Processing device (IOP), 301...
Memory access control unit (SIU), 302...
- Main memory unit (MMU), 303... Mishit store data buffer (MSI) B), 304...
...Memory data register (fDR), 305.
...Memory data register (MDR), 306.
Old memory for cache (DA), 307...-
Swap data <Zuffa (SDB), 308...-
・Cache memory control unit (DACNT), 309・
...Write control unit (WRTCNT), 30A...
...-Read control unit (RDCNT), 30B...
Memory access register (ADR), 30C...-
Cache memory address section (AA), 402... Longest unused history section (LRU), 403... M bit register (MAARl), 404, ring...D to control section (DACNT), 405...NAND game)
(NAND), 406...-NAND gate (NAND) 407... Cache memory data section (CDA), 408... Address register (AR). \, Nino' 1st side F 2T:! 3

Claims (1)

【特許請求の範囲】 ストアイン方式のキャッシュメモリを有し処理装置から
のメモリアクセス要求がキャッシュミスヒットした場合
に主記憶装置との間のデータ転送を所定のデータ長を単
位として実行するメモリアクセス制御装置において、 前記キャッシュミスヒットしたメモリアクセス要求が書
込要求の場合前記主記憶装置からのメモリ読出データと
、前記処理装置からの書込データとをマージしたマージ
データをキャッシュメモリに書込むとともに該マージデ
ータをキャッシュメモリをバイパスしてスワップデータ
バッファへの格納データとして選択するスワップデータ
バッファ格納データ選択手段と、 前記メモリアクセス要求がキャッシュミスヒットした場
合に前記主記憶装置へ送出されたメモリ読出指令をメモ
リ再書込指令に変換する指令変換手段と、 前記キャッシュミスヒットした書込要求であるメモリア
クセス要求に伴うメモリ読出指令と、スワップアウト時
のメモリ書込指令と、前記指令変換手段により変換され
たメモリ再書込指令とを選択して前記主記憶装置に送出
するメモリアクセス要求手段と、 前記マージデータのキャッシュメモリへの書込み時に、
キャッシュメモリに格納されている情報と対応する前記
主記憶装置のアドレスに格納されている情報との一致を
示すビットの更新を抑止する手段と、 全キャッシュメモリデータのはき出し処理中に前記処理
装置からの書込み要求であるメモリアクセス要求があり
キャッシュミスヒットした場合のみ前記マージデータの
キャッシュメモリへの書込みを抑止する書込抑止手段と
を含むことを特徴とするメモリアクセス制御装置。
[Claims] Memory access that has a store-in type cache memory and executes data transfer to and from the main storage device in units of a predetermined data length when a memory access request from a processing device results in a cache miss. In the control device, when the memory access request causing the cache miss is a write request, writing merged data obtained by merging memory read data from the main storage device and write data from the processing device to the cache memory; Swap data buffer storage data selection means for selecting the merged data as data to be stored in the swap data buffer bypassing the cache memory; and memory read data sent to the main storage device when the memory access request results in a cache miss. a command conversion means for converting a command into a memory rewrite command; a memory read command associated with a memory access request which is the write request that caused the cache miss; a memory write command at the time of swap out; memory access request means for selecting the converted memory rewrite command and sending it to the main storage device; and when writing the merge data to the cache memory,
means for suppressing updating of a bit indicating a match between information stored in a cache memory and information stored at a corresponding address in the main storage device; 1. A memory access control device comprising write inhibiting means for inhibiting writing of said merge data to a cache memory only when there is a memory access request, which is a write request, and a cache miss occurs.
JP61167232A 1986-07-15 1986-07-15 Memory access controller Pending JPS6320640A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61167232A JPS6320640A (en) 1986-07-15 1986-07-15 Memory access controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61167232A JPS6320640A (en) 1986-07-15 1986-07-15 Memory access controller

Publications (1)

Publication Number Publication Date
JPS6320640A true JPS6320640A (en) 1988-01-28

Family

ID=15845899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61167232A Pending JPS6320640A (en) 1986-07-15 1986-07-15 Memory access controller

Country Status (1)

Country Link
JP (1) JPS6320640A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2275936A1 (en) 2009-06-29 2011-01-19 Fujitsu Limited Processor and processing method
US8312218B2 (en) 2006-02-27 2012-11-13 Fujitsu Limited Cache controller and cache control method

Cited By (3)

* 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
EP2275936A1 (en) 2009-06-29 2011-01-19 Fujitsu Limited Processor and processing method
US8589636B2 (en) 2009-06-29 2013-11-19 Fujitsu Limited Cache memory device, processor, and processing method

Similar Documents

Publication Publication Date Title
JP2554449B2 (en) Data processing system having cache memory
US6460114B1 (en) Storing a flushed cache line in a memory buffer of a controller
US7698508B2 (en) System and method for reducing unnecessary cache operations
JP5417879B2 (en) Cache device
US5960463A (en) Cache controller with table walk logic tightly coupled to second level access logic
EP1089185A2 (en) Method of controlling a cache memory to increase an access speed to a main memory, and a computer using the method
JP3609656B2 (en) Computer system
US20090259813A1 (en) Multi-processor system and method of controlling the multi-processor system
US6345320B1 (en) DMA address buffer and cache-memory control system
US8549227B2 (en) Multiprocessor system and operating method of multiprocessor system
US5675765A (en) Cache memory system with independently accessible subdivided cache tag arrays
JPS6111865A (en) Memory access control system
US20020174304A1 (en) Performance improvement of a write instruction of a non-inclusive hierarchical cache memory unit
US20080162818A1 (en) Cache-memory control apparatus, cache-memory control method and computer product
US5517633A (en) System for controlling an internally-installed cache memory
US6901450B1 (en) Multiprocessor machine and cache control method for providing higher priority to shared cache that is accessed by multiprocessors
JPH03172947A (en) Microcomputer system
US20020042860A1 (en) Cache system
JPS6320640A (en) Memory access controller
JP2022015514A (en) Semiconductor device
US20060015689A1 (en) Implementation and management of moveable buffers in cache system
JPH05282208A (en) Cache memory control system
JPH04174042A (en) Control system for cache memory
US20080046662A1 (en) Information processing system, information processing board, and method of updating cache tag and snoop tag
JPH0210446A (en) Buffer storage device