[go: up one dir, main page]

JPH04358241A - Store buffer controller - Google Patents

Store buffer controller

Info

Publication number
JPH04358241A
JPH04358241A JP3131532A JP13153291A JPH04358241A JP H04358241 A JPH04358241 A JP H04358241A JP 3131532 A JP3131532 A JP 3131532A JP 13153291 A JP13153291 A JP 13153291A JP H04358241 A JPH04358241 A JP H04358241A
Authority
JP
Japan
Prior art keywords
address
real
buffer
data
page
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
JP3131532A
Other languages
Japanese (ja)
Inventor
Kazuya Matsumoto
和也 松本
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 JP3131532A priority Critical patent/JPH04358241A/en
Publication of JPH04358241A publication Critical patent/JPH04358241A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To accelerate data transfer to a data request part when an entire real address is not coincident although an in-page address is coincident by suppressing the comparison of the in-page address and directly executing the comparison of the entire real address. CONSTITUTION:When the read address of a read request outputted from the data request part is registered on a first address translation buffer 111, the coincidence of the entire read address is compared on a cache access stage after an in-page address 112 of the read request coming from the data request part is compared with each in-page address of the address part of a store buffer on an address translation stage. When the real address is not registered on the first address translation buffer 111 but registered on a second address translation buffer 113, an address comparison part control means 101 is provided to compare the coincidence of the entire real address on the address translation stage. Therefore, the data transfer to the data request part can be accelerated, and performance can be improved.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、スロアバッファ制御装
置に関し、特に演算処置装置から主記憶に書き込まれる
データと該データのアドレスを各々対応させて記憶する
ストアバッファを制御するストアバッファ制御装置に関
する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a throw buffer control device, and more particularly to a store buffer control device that controls a store buffer that stores data written from an arithmetic processing unit to a main memory in correspondence with the address of the data.

【0002】0002

【従来の技術】従来、この種のストアバッファ制御装置
では、データ要求部から出されたリードリクエストが仮
想アドレスから実アドレスへの変換を伴なう場合に、ア
ドレス変換ステージを過ぎなければ実アドレスが求まら
ないため、アドレス変換ステージでは、リードリクエス
トのページ内アドレスとストアバッファのアドレス部の
各ページ内アドレスのみの一致を比較し、一致が検出さ
れた場合に、アドレス変換ステージで求めた実アドレス
と、ストアバッファのアドレス部に格納されている各実
アドレスの一致をキャッシュアクセスステージで比較し
、ページ内アドレスの比較と、実アドレス全体での比較
による一致検出によりキャッシュメモリにまだストアさ
れていないストアリクエストをキャッシュメモリから読
み出そうとするリードリクエストを検出すると、ストア
バッファ内のストアリクエストをキャッシュメモリに掃
き出し、一致検出の要因となったストアリクエストがキ
ャッシュメモリに掃き出された後、データ要求部へデー
タを返していた。
[Prior Art] Conventionally, in this type of store buffer control device, when a read request issued from a data request unit involves translation from a virtual address to a real address, the real address is cannot be determined, so the address translation stage compares only the address in the page of the read request and the address in each page of the address part of the store buffer, and if a match is detected, the address translation stage calculates the The cache access stage compares the real address with each real address stored in the address field of the store buffer, and detects a match by comparing addresses within the page and comparing all real addresses. When a read request that attempts to read a store request that has not been matched from the cache memory is detected, the store request in the store buffer is flushed to the cache memory, and after the store request that caused the match detection is flushed to the cache memory, Data was being returned to the data request section.

【0003】0003

【発明が解決しようとする課題】上述した従来のストア
バッファ制御装置では、データ要求部から出されたリー
ドリクエストの実アドレスが第1のアドレス変換バッフ
ァに登録されておらず、第2のアドレス変換バッファに
登録されている場合のように、アドレス変換ステージで
アドレスアレイを索引する際にすでに実アドレスが求ま
っている場合であっても、アドレス変換ステージでペー
ジ内アドレスの一致を比較してから、キャッシュアクセ
スステージで実アドレス全体の比較を行なうようになっ
ていたため、ページ内アドレスは一致するが実アドレス
全体では一致しない場合、データ要求部へのデータ転送
が遅れ、性能が低下するという欠点があった。
[Problems to be Solved by the Invention] In the conventional store buffer control device described above, the real address of the read request issued from the data request section is not registered in the first address translation buffer, and Even if the real address has already been found when indexing the address array in the address translation stage, such as when it is registered in a buffer, the address translation stage compares the addresses within the page and then Since the entire real address was compared in the cache access stage, if the address within the page matched but the entire real address did not match, the data transfer to the data requesting unit was delayed and performance deteriorated. Ta.

【0004】0004

【課題を解決するための手段】本発明のストアバッファ
制御装置は、仮想ページ番号と実ページ番号の対を複数
組格納し、データ要求部からのリクエストアドレスを仮
想アドレスから実アドレスへ高速に変換する小容量な第
1のアドレス変換バッファと、第1のアドレス変換バッ
ファに求めようとする実アドレスが登録されていない場
合にアドレス変換を行なう大容量ではあるが第1のアド
レス変換バッファに比べて低速な第2のアドレス変換バ
ッファと、アドレス変換された実アドレスにより、デー
タ要求部からリクエストされたデータがキャッシュメモ
リ上に存在するか否かを調べるアドレスアレイと、演算
実行部での演算結果及び演算結果の主記憶上への格納ア
ドレスの対を複数組保持するストアバッファを備え、ア
ドレス変換ステージでリクエストアドレスの仮想アドレ
スから実アドレスへの変換と、アドレスアレイの索引を
行ないデータ要求部さら読み出し要求されたデータがキ
ャッシュメモリからのデータリードを行なうパイプライ
ン計算機においてデータ要求部からだされたリードリク
エストの実アドレスが第1のアドレス変換バッファに登
録されている場合には、データ要求部から来たリードリ
クエストのページ内アドレスとストアバッファのアドレ
ス部各ページ内アドレスの一致をアドレス変換ステージ
で比較してからキャッシュアクセスステージで実アドレ
ス全体の一致を比較させ、第1のアドレス変換バッファ
には登録されていなく、第2のアドレス変換バッファに
登録されている場合には、アドレス変換ステージで実ア
ドレス全体の一致を比較させるアドレス比較部制御手段
とを有している。
[Means for Solving the Problems] A store buffer control device of the present invention stores a plurality of pairs of virtual page numbers and real page numbers, and quickly converts a request address from a data requesting unit from a virtual address to a real address. The first address translation buffer has a small capacity to perform address translation, and the first address translation buffer has a large capacity but performs address translation when the actual address to be sought is not registered in the first address translation buffer. A low-speed second address translation buffer, an address array that checks whether the data requested by the data request unit exists in the cache memory using the converted real address, and an operation result and Equipped with a store buffer that holds multiple pairs of storage addresses of operation results on the main memory, the address conversion stage converts the request address from a virtual address to a real address, indexes the address array, and further reads the data request section. If the real address of the read request sent from the data request section is registered in the first address conversion buffer in a pipeline computer where the requested data is read from the cache memory, the address of the read request sent from the data request section is The address in the page of the read request is compared with the address in each page of the store buffer in the address translation stage, and then in the cache access stage, the match in the entire real address is compared, and the address is registered in the first address translation buffer. If the real address is not registered in the second address translation buffer, the address comparison unit control means is provided to compare the entire real addresses for coincidence in the address translation stage.

【0005】[0005]

【実施例】次に本発明について図面を参照して説明する
DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be explained with reference to the drawings.

【0006】図1は本発明の第1の実施例を示すブロッ
ク図である。図1において、本発明の第1の実施例のス
トアバッファ制御装置は、アドレス比較部制御回路10
1からなる。ストアアドレスレジスタA102,ストア
アドレスレジスタB103は、演算実行部から主記憶へ
ストアされるデータの主記憶への書き込みアドレスを格
納するためのレジスタであり、アドレスライトポインタ
105の示すストアアドレスレジスタに、実アドレスA
104が書き込まれ、アドレスリードポインタ106と
セレクタA107により選択されたレジスタの内容が主
記憶及びキャッシュメモリに送られる。仮想アドレスレ
ジスタ108は、アドレス送出部から送られてくる仮想
アドレス(アドレス変換を必要としない場合は実アドレ
ス)を格納するレジスタであり、アドレス変換を必要と
しない場合には、そのまま実アドレスレジスタA109
に格納される。アドレス変換が必要な場合には、仮想ペ
ージ番号110がアドレス変換バッファTLB1(11
1)で実ページ番号に変換された後に実アドレスレジス
タA109に格納される。なお、ページ内アドレス11
2はそのまま格納される。アドレス変換バッファTLB
2(113)では、TLB1(111)と同時にアドレ
ス変換を行ない実アドレスレジスタB114に変換され
た実アドレスが格納される。ここでもし、TLB1(1
11)に仮想ページ番号110に対応する実ページ番号
が登録されていなかった場合には、TLB2(113)
でアドレス変換された実アドレスすなわち実アドレスセ
ジスタB114の内容が実アドレスレジスタA109に
格納される。TLB2(113)にも仮想ページ番号1
10に対応する実ページ番号が登録されていなかった場
合には、ページング機構により実ページ番号が求められ
、ページ内アドレスと共に実アドレスレジスタC115
に格納された後、実アドレスレジスタA109に格納さ
れる。ところで、アドレス変換ステージでは、実アドレ
スを求めると共に、その実アドレスを使ってデータ要求
部から読み出し要求されたデータがキャッシュメモリ上
に存在するか否かを図示せぬアドレスアレイにより調べ
るが、TLB1(111)は小容量であるため、アドレ
ス変換が非常に高速であり、TLB1(111)で変換
された実ページ番号を使い直接アドレスアレイを調べる
ことができる。ところが小容量であるために、TLBヒ
ット(TLBに求めようとする実ページ番号が登録され
ていること)をあまり期待することができない。そのた
め、TLB1(111)でTLBミスした場合には、よ
り大きな容量を持つ(すなわちTLBヒットの確率は高
いが、低速であり、アドレス変換した実アドレスを使い
直接アドレスアレイを調べることができない。)TLB
2(113)でアドレス変換し実アドレスレジスタB1
14に格納された実アドレスを使うことにより、TLB
1(111)のTLBヒットの確率の低さによる性能の
低下を最小におさえている。
FIG. 1 is a block diagram showing a first embodiment of the present invention. In FIG. 1, the store buffer control device according to the first embodiment of the present invention includes an address comparator control circuit 10.
Consists of 1. The store address register A102 and the store address register B103 are registers for storing write addresses to the main memory of data stored from the arithmetic execution unit to the main memory. Address A
104 is written, and the contents of the register selected by the address read pointer 106 and selector A 107 are sent to the main memory and cache memory. The virtual address register 108 is a register that stores the virtual address (or real address if address translation is not required) sent from the address sending unit.If address translation is not required, the virtual address register A109 is used as is.
is stored in If address translation is required, virtual page number 110 is set to address translation buffer TLB1 (11
After being converted into a real page number in step 1), it is stored in the real address register A109. In addition, address 11 on the page
2 is stored as is. Address translation buffer TLB
2 (113), address conversion is performed simultaneously with TLB1 (111), and the converted real address is stored in the real address register B114. Here, if TLB1(1
If the real page number corresponding to virtual page number 110 is not registered in 11), TLB2 (113)
The real address converted in step 1, that is, the contents of the real address register B114, is stored in the real address register A109. TLB2 (113) also has virtual page number 1
If the real page number corresponding to 10 is not registered, the paging mechanism obtains the real page number and stores it in the real address register C115 along with the address within the page.
After that, it is stored in the real address register A109. By the way, in the address translation stage, a real address is obtained and, using the real address, it is checked by an address array (not shown) whether or not the data requested to be read from the data request section exists in the cache memory. ) has a small capacity, so address conversion is very fast, and the address array can be directly examined using the real page number converted by TLB1 (111). However, since the capacity is small, it is difficult to expect a TLB hit (the actual page number to be sought is registered in the TLB). Therefore, if there is a TLB miss in TLB1 (111), it has a larger capacity (that is, the probability of a TLB hit is high, but it is slow and the address array cannot be directly examined using the converted real address). T.L.B.
2 (113) converts the address and stores it in real address register B1.
By using the real address stored in TLB
The deterioration in performance due to the low probability of a TLB hit of 1 (111) is minimized.

【0007】ページ内アドレス比較部116ではストア
アドレスレジスタA102,ストアアドレスレジスタB
103に格納されている実アドレスのページ内アドレス
部と、リードリクエストのページ内アドレス112の一
致をアドレス変換ステージで行なっており、実アドレス
比較部117では、ストアアドレスレジスタA102,
ストアアドレスレジスタB103に格納されている実ア
ドレスと、リードリクエストの実アドレスB118の一
致を比較している。実アドレスB118は、通常では、
実アドレスレジスタA109の出力が選択されているた
め、キャッシュアクセスステージで実アドレスの比較が
行なわれるが、TLB1(111)でTLBヒットした
場合には、実アドレスレジスタ切り換え信号119によ
り、アドレス比較部制御回路101が実アドレスB11
8を実アドレスレジスタB114の出力に切り換えるた
め、アドレス変換ステージで実アドレスの比較が行なわ
れることになる。又、この時、ページ内アドレス比較部
116の比較出力は、アドレス比較部制御回路101に
より抑止される。そして、ストアチェック部120では
、ページ内アドレス比較部116と、実アドレス比較部
117からの一致報告により、リードリクエストのスト
アリクエスト追越しを検出すると、すなわち、ストアア
ドレスレジスタA102,ストアアドレスレジスタB1
03に格納されるアドレスに対応するストアデータがキ
ャッシュメモリに書き込まれる前にデータ要求部がその
データをキャッシュメモリから読み出そうとしたのを検
出すると、データ要求部へのリプライ信号121を抑止
し、ストアバッファ内のストアリクエストをキャッシュ
メモリに掃き出し、アドレス一致検出の要員となったス
トアリクエストがキャッシュメモリ掃き出された後、リ
プライ信号121と共にキャッシュメモリからデータ要
求部へ要求されたデータを転送する。
[0007] The intra-page address comparison unit 116 stores the store address register A102 and the store address register B.
The address conversion stage matches the in-page address part of the real address stored in A 103 and the in-page address 112 of the read request.
The real address stored in the store address register B103 and the real address B118 of the read request are compared to see if they match. The real address B118 is usually
Since the output of the real address register A109 is selected, the real addresses are compared in the cache access stage, but if there is a TLB hit in TLB1 (111), the real address register switching signal 119 causes the address comparison unit control to be performed. Circuit 101 is real address B11
8 to the output of the real address register B114, a comparison of the real addresses is performed in the address translation stage. Also, at this time, the comparison output of the intra-page address comparison section 116 is suppressed by the address comparison section control circuit 101. Then, when the store check unit 120 detects that the read request has overtaken the store request based on the match report from the in-page address comparison unit 116 and the real address comparison unit 117, that is, the store address register A102, the store address register B1
When the data request unit detects that the data request unit attempts to read the store data corresponding to the address stored in address 03 from the cache memory before it is written to the cache memory, the reply signal 121 to the data request unit is suppressed. , the store request in the store buffer is flushed out to the cache memory, and after the store request that is the key to detecting address matching is flushed out of the cache memory, the requested data is transferred from the cache memory to the data requesting unit along with the reply signal 121. .

【0008】[0008]

【発明の効果】以上説明したように本発明は小容量高速
なアドレス変換バッファTLB1でTLBミスし、大容
量低速なアドレス変換バッファTLB2でTLBヒット
した場合に、ページ内アドレスの比較を抑止し、直接実
アドレス全体での比較を行なうことにより、ページ内ア
ドレスは一致するが、実アドレス全体で一致しない場合
におけるデータ要求部へのデータ転送を早め性能を上げ
る効果がある。
As explained above, the present invention suppresses the comparison of addresses within a page when a TLB miss occurs in the small-capacity, high-speed address translation buffer TLB1, and a TLB hit occurs in the large-capacity, low-speed address translation buffer TLB2. Direct comparison of the entire real addresses has the effect of speeding up data transfer to the data requesting unit and improving performance when addresses within the page match but the real addresses do not match as a whole.

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

【図1】図1は本発明の一実施例を示す構成図である。FIG. 1 is a configuration diagram showing one embodiment of the present invention.

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

101    アドレス比較部制御回路102    
ストアアドレスレジスタA103    ストアアドレ
スレジスタB104    実アドレスA 105    アドレスライトポインタA106   
 アドレスリードポインタ107    セレクタA 108    仮想アドレスレジスタ 109    実アドレスレジスタA 110    仮想ページ番号 111    アドレス変換バッファ(TLB1)11
2    ページ内アドレス 113    アドレス変換バッファ 114    実アドレスレジスタB 115    実アドレスレジスタC 116    ページ内アドレス比較部117    
実アドレス比較部 118    実アドレスB 119    実アドレスレジスタ切換え信号120 
   ストアチェック部 121    リプライ信号
101 Address comparison section control circuit 102
Store address register A103 Store address register B104 Real address A 105 Address write pointer A106
Address read pointer 107 Selector A 108 Virtual address register 109 Real address register A 110 Virtual page number 111 Address translation buffer (TLB1) 11
2 In-page address 113 Address conversion buffer 114 Real address register B 115 Real address register C 116 In-page address comparison section 117
Real address comparison section 118 Real address B 119 Real address register switching signal 120
Store check section 121 reply signal

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  仮想ページ番号と実ページ番号の対を
複数組格納し、データ要求部からのリクエストアドレス
を仮想アドレスから実アドレスへ高速に変換する小容量
な第1のアドレス変換バッファと、該第1のアドレス変
換バッファに求めようとする実アドレスが登録されてい
ない場合にアドレス変換を行なう大容量ではあるが該第
1のアドレス変換バッファに比べて低速な第2のアドレ
ス変換バッファと、アドレス変換された実アドレスによ
り、該データ要求部からリクエストされたデータがキャ
ッシュメモリ上に存在するか否かを調べるアドレスアレ
イと、該演算実行部での演算結果及び該演算結果の主記
憶上への格納アドレスの対を複数組保持するストアバッ
ファを備え、アドレス変換ステージで、リクエストアド
レスの仮想アドレスから実アドレスへの変換と、該アド
レスアレイの索引を行ない、該データ要求部から読み出
し要求されたデータがキャッシュメモリ上に存在するな
らば、次のキャッシュアクセスステージでキャッシュメ
モリからのデータリードを行なうパイプライン計算機に
おいて、該データ要求部から出されたリードリクエスト
の実アドレスが該第1のアドレス変換バッファに登録さ
れている場合には、該データ要求部から来たリードリク
エストのページ内アドレスと、該ストアバッファのアド
レス部の各ページ内アドレスの一致をアドレス変換ステ
ージで比較してから、キャッシュアクセスステージで実
アドレス全体の一致を比較させ、該第1のアドレス変換
バッファには登録されていなく、該第2のアドレス変換
バッファに登録されている場合には、アドレス変換ステ
ージで実アドレス全体の一致を比較させるアドレス比較
部制御手段を有することを特徴とするストアバッファ制
御装置。
1. A small-capacity first address conversion buffer that stores a plurality of pairs of virtual page numbers and real page numbers and converts a request address from a data request unit from a virtual address to a real address at high speed; A second address translation buffer, which has a large capacity but is slower than the first address translation buffer, performs address translation when the desired real address is not registered in the first address translation buffer; An address array that checks whether or not the data requested by the data requesting section exists on the cache memory using the converted real address, and an address array that checks whether the data requested by the data requesting section exists on the cache memory, and storing the operation result in the operation execution section and the operation result on the main memory. It is equipped with a store buffer that holds multiple pairs of storage addresses, and the address conversion stage converts the request address from a virtual address to a real address, indexes the address array, and reads the data requested by the data request unit. exists on the cache memory, in the pipeline computer that reads data from the cache memory in the next cache access stage, the real address of the read request issued from the data request unit is transferred to the first address translation buffer. If the address in the page of the read request that came from the data request section matches the address in each page of the address section of the store buffer, the address translation stage compares the address in the page, and then the cache access stage The match of the entire real address is compared at the address translation stage, and if it is not registered in the first address translation buffer but is registered in the second address translation buffer, the match of the entire real address is compared in the address translation stage. A store buffer control device comprising address comparison unit control means for comparison.
JP3131532A 1991-06-04 1991-06-04 Store buffer controller Pending JPH04358241A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3131532A JPH04358241A (en) 1991-06-04 1991-06-04 Store buffer controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3131532A JPH04358241A (en) 1991-06-04 1991-06-04 Store buffer controller

Publications (1)

Publication Number Publication Date
JPH04358241A true JPH04358241A (en) 1992-12-11

Family

ID=15060277

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3131532A Pending JPH04358241A (en) 1991-06-04 1991-06-04 Store buffer controller

Country Status (1)

Country Link
JP (1) JPH04358241A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009540411A (en) * 2006-06-07 2009-11-19 インターナショナル・ビジネス・マシーンズ・コーポレーション Fast and inexpensive store-load contention scheduling and transfer mechanism

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009540411A (en) * 2006-06-07 2009-11-19 インターナショナル・ビジネス・マシーンズ・コーポレーション Fast and inexpensive store-load contention scheduling and transfer mechanism

Similar Documents

Publication Publication Date Title
US6493791B1 (en) Prioritized content addressable memory
JPH0137773B2 (en)
KR20190087500A (en) Memory address translation
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
KR20190059221A (en) Memory address translation
US4658356A (en) Control system for updating a change bit
KR960008320B1 (en) System equipped with processor and method of converting addresses in the said system
JPH04358241A (en) Store buffer controller
JPH07248974A (en) Information processing equipment
JPH02308349A (en) Buffer storage control system
JPH02254553A (en) Information processor
JP3130569B2 (en) Cache memory store method
JP2501353B2 (en) Prefetch control method
JPS623354A (en) Cache memory access system
JPH086852A (en) Cache control method
JPH04355847A (en) Store buffer controller
EP0349757B1 (en) Apparatus and method for enhanced virtual to real address translation for accessing a cache memory unit
JP2507785B2 (en) Pageable entry invalidation device
JPH04353949A (en) Cache memory control system
JPH02178750A (en) Address conversion processing system
JPS62197846A (en) Address converting device
JPS5821352B2 (en) Buffer memory control method
JP2001195390A (en) Operand cache for vector processor
JPH0336647A (en) Cache buffering control method
JPH06124237A (en) Address translation buffer device