JPS6138503B2 - - Google Patents

Info

Publication number
JPS6138503B2
JPS6138503B2 JP56126579A JP12657981A JPS6138503B2 JP S6138503 B2 JPS6138503 B2 JP S6138503B2 JP 56126579 A JP56126579 A JP 56126579A JP 12657981 A JP12657981 A JP 12657981A JP S6138503 B2 JPS6138503 B2 JP S6138503B2
Authority
JP
Japan
Prior art keywords
address
buffer
data
memory
write
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.)
Expired
Application number
JP56126579A
Other languages
Japanese (ja)
Other versions
JPS5829186A (en
Inventor
Hideki Nishimura
Hiroyuki Nishimura
Mikya Akagi
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
Nippon Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP56126579A priority Critical patent/JPS5829186A/en
Priority to US06/294,121 priority patent/US4467414A/en
Priority to FR8116082A priority patent/FR2489021B1/en
Publication of JPS5829186A publication Critical patent/JPS5829186A/en
Publication of JPS6138503B2 publication Critical patent/JPS6138503B2/ja
Granted legal-status Critical Current

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 or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • 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/0846Cache with multiple tag or data arrays being simultaneously accessible
    • G06F12/0848Partitioned cache, e.g. separate instruction and operand caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明はキヤツシユメモリのようなバツフアメ
モリを主記憶装置の代りに使用して、演算処理部
との間で高速で情報の授受を行なう情報処理装置
に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an information processing apparatus that uses a buffer memory such as a cache memory in place of a main memory to exchange information with an arithmetic processing unit at high speed.

一般に、この種の情報処理装置では演算処理部
からの命令読出、オペランドの読出及び書込等の
ように、データの読出、書込を行なう際に、バツ
フアメモリがアクセスされる。バツフアメモリは
大容量の主記憶装置に比較して高速であるため、
バツフアメモリを有する情報処理装置は主記憶装
置に直接アクセスするバツフアメモリをもたない
のに比べてスループツトを著しく改善できる。
In general, in this type of information processing device, the buffer memory is accessed when reading and writing data, such as reading instructions from an arithmetic processing unit and reading and writing operands. Buffer memory is faster than large-capacity main memory, so
An information processing apparatus having a buffer memory can significantly improve throughput compared to an information processing apparatus having no buffer memory that directly accesses the main memory.

ここで、バツフアメモリを有する情報処理装置
の問題点を指摘するために、その動作を概略的に
説明する。まず、演算処理部から読出要求があつ
た場合、バツフアメモリをアクセスしバツフアメ
モリが存在すれば直接データを取り出す。このた
め、低速な主記憶装置を起動するのは、バツフア
メモリに所望のデータがなく主記憶装置からバツ
フアメモリへ所望のデータを含む1ブロツクのデ
ータを転送する時だけである。
Here, in order to point out the problems of an information processing device having a buffer memory, its operation will be briefly described. First, when a read request is received from the arithmetic processing section, the buffer memory is accessed and if the buffer memory exists, data is directly taken out. Therefore, the slow main memory is activated only when there is no desired data in the buffer memory and one block of data containing the desired data is to be transferred from the main memory to the buffer memory.

演算処理部からの書込要求に対しては、バツフ
アメモリは主記憶装置の写しであり、バツフアメ
モリと主記憶装置間のデータの内容に不一致を生
じさせない為、バツフアメモリに書込動作を行な
うと同時に主記憶装置にも同じデータを書込む必
要がある。即ち、書込動作では必ず低速な主記憶
装置を起動する必要がある。
In response to a write request from the arithmetic processing unit, the buffer memory is a copy of the main memory, and in order to avoid discrepancies in the data content between the buffer memory and the main memory, the main The same data must also be written to the storage device. That is, in a write operation, it is necessary to start up the slow main storage device.

これを避けるために演算処理部から書込要求が
あつた場合、とりあえず、バツフアメモリに書込
動作を行なうに留め、適当な時期に、例えば、バ
ツフアメモリの1ブロツクの置換が必要になつた
ときに置換の対象のブロツクに書込動作が行なわ
れていればそのブロツクを主記憶装置に書込む方
法もある。この方法はストア・スワツプ方式と呼
ばれるが、複数の情報処理装置が主記憶装置のメ
モリエリアを共有するシステムでは主記憶装置と
バツフアメモリのデータの同期が難しい。具体的
に言えば、情報処理装置が主記憶装置に対し、1
ブロツクの読出リクエストを出した場合、他の情
報処理装置のバツフアメモリを調べて最新のデー
タの有無を常に確認する必要がある。従つて、現
在、実施されている書込方式はストアスルー方式
と呼ばれ、バツフアメモリと主記憶装置に同時に
書込むことにより、バツフアメモリと主記憶装置
との間のデータの同期をとつている。
To avoid this, when a write request is received from the arithmetic processing unit, the write operation is limited to the buffer memory for the time being, and replacement is performed at an appropriate time, for example, when one block of the buffer memory needs to be replaced. There is also a method in which if a write operation has been performed on the target block, that block is written to the main memory. This method is called the store-swap method, but in systems where multiple information processing devices share the memory area of the main memory, it is difficult to synchronize the data in the main memory and buffer memory. Specifically, the information processing device stores 1
When a block read request is issued, it is necessary to always check the buffer memories of other information processing devices to see if the latest data is present. Therefore, the currently implemented writing method is called a store-through method, and data is synchronized between the buffer memory and the main storage by writing to the buffer memory and the main storage at the same time.

バツフアメモリへの書込動作は、その制御及び
使用するメモリ素子の特性上、読出動作に比較し
て動作に多くの時間を要するのが普通である。言
い換えれば、書込動作は読出動作に比べて、その
サイクルタイムが大きい。また、前記ストアスル
ー方式では、バツフアメモリと主記憶装置に同時
に書込む必要があり、もし主記憶装置が他の情報
処理装置からのリクエストを処理中で書込要求を
受付けられない場合は書込要求を出した情報処理
装置の処理の実施を一時、停止せざるを得なくな
る。
A write operation to a buffer memory usually requires more time than a read operation due to its control and the characteristics of the memory element used. In other words, a write operation has a longer cycle time than a read operation. In addition, in the store-through method, it is necessary to write to the buffer memory and the main memory at the same time, and if the main memory is processing a request from another information processing device and cannot accept the write request, the write request is made. The processing of the information processing device that issued the error will have to be temporarily suspended.

以上の問題点を解決するため、情報処理装置内
に演算処理部からの書込要求に付随するアドレス
情報及びデータを保持しておくストアバツフアを
設けることが提案されている(特願昭55−115533
号明細書参照)。この提案に係る情報処理装置で
は、ストアバツフアに書込要求に伴なうアドレス
情報及びデータが格納された時点で、書込要求に
対する動作を取り敢えず終了し、演算処理部から
次の要求を受け付け得る状態となる。ストアバツ
フアはバツフアメモリ及び主記憶装置における空
時間を見つけて書込動作を実施する。ストアバツ
フアはバツフアメモリの一部として扱われ、演算
処理部からの読出要求に対しては当然参照の対象
となる。もし、読出要求に対して所望のデータが
ストアバツフアに存在すれば、そのデータを演算
処理部に転送しなければならない。
In order to solve the above problems, it has been proposed to provide a store buffer within the information processing device to hold address information and data accompanying write requests from the arithmetic processing unit (Japanese Patent Application No. 55-115533).
(see specification). In the information processing device according to this proposal, once address information and data associated with a write request are stored in the store buffer, the operation for the write request is temporarily terminated, and the state is such that the next request can be accepted from the arithmetic processing unit. becomes. The store buffer finds free time in buffer memory and main memory to perform write operations. The store buffer is treated as part of the buffer memory, and is naturally referenced in response to a read request from the arithmetic processing unit. If desired data exists in the store buffer in response to a read request, that data must be transferred to the arithmetic processing section.

一方、この種の情報処理装置では、仮想記憶方
式が採用されることが多い。この場合、プログラ
ムは論理空間に対して配置され、演算処理部から
バツフアメモリに対する読出、書込要求は論理ア
ドレスを伴なつている。また、バツフアメモリ及
び主記憶装置は実アドレスによつてアクセスされ
るから、情報処理装置内には、通常、論理アドレ
スを実アドレスに変換するアドレス変換機構が設
けられる。
On the other hand, in this type of information processing apparatus, a virtual storage method is often adopted. In this case, the program is arranged in a logical space, and a read/write request from the arithmetic processing unit to the buffer memory is accompanied by a logical address. Furthermore, since the buffer memory and the main memory are accessed using real addresses, an address conversion mechanism for converting logical addresses into real addresses is usually provided in the information processing device.

このように、通常用いられる。アドレス変換機
構をストアバツフアを有する情報処理装置に適用
した場合、演算処理部からの読出、書込要求に伴
なう論理アドレスはアドレス変換機構で実アドレ
スに変換され、バツフアメモリ及びストアバツフ
アに与えられることになる。
In this way, it is commonly used. When the address conversion mechanism is applied to an information processing device having a store buffer, the logical address accompanying a read or write request from the arithmetic processing unit is converted into a real address by the address conversion mechanism and then given to the buffer memory and store buffer. Become.

ここで、読出要求が与えられた場合をより具体
的に説明する。この場合、アドレス変換機構から
の実アドレスはバツフアメモリ並びにストアバツ
フアに供給される。バツフアメモリはこの実アド
レスによつて参照され、このバツフアメモリに所
望のデータが存在すればリプライデータがバツフ
アメモリから演算処理部に転送されることにな
る。他方、ストアバツフアにも当該実アドレスに
関するデータが存在すれば、バツフアメモリから
演算処理部に送られるリプライを抑止し、代り
に、ストアバツフアに存在する書込データを演算
処理部に送る必要がある。これは、バツフアメモ
リ内のデータが対応するストアバツフアメモリ内
のデータによつて書き換えられていないからであ
る。
Here, the case where a read request is given will be explained in more detail. In this case, the real address from the address translation mechanism is provided to the buffer memory as well as the store buffer. The buffer memory is referenced by this real address, and if the desired data exists in the buffer memory, the reply data will be transferred from the buffer memory to the arithmetic processing section. On the other hand, if data related to the real address also exists in the store buffer, it is necessary to suppress the reply sent from the buffer memory to the arithmetic processing section and instead send the write data existing in the store buffer to the arithmetic processing section. This is because the data in the buffer memory has not been rewritten by the data in the corresponding store buffer memory.

高性能の情報処理装置では、ハードウエアを動
作させるクロツクが速く、論理回路の遅延時間に
対する要求は厳しい。したがつて、上述したよう
に、演算処理部からの読出要件に伴なう論理アド
レスを実アドレスに変換し、ストアバツフアを参
照、索引して所望のデータの有無の検出後、バツ
フアメモリから演算処理部に送られるリプライを
抑止したのではリプライを抑止できなくなつてし
まう。
In a high-performance information processing device, the clock that operates the hardware is fast, and the requirements for the delay time of the logic circuit are strict. Therefore, as described above, after converting the logical address required for reading from the arithmetic processing unit into a real address, referencing and indexing the store buffer to detect the presence or absence of desired data, the arithmetic processing unit reads the data from the buffer memory. If you suppress replies sent to , you will no longer be able to suppress replies.

本発明の目的はバツフアメモリのほかにストア
バツフアを有する情報処理装置において、読出要
求に付随する論理アドレスに対応したデータがバ
ツフアメモリ及びストアバツフアの双方に存在す
る場合、バツフアメモリからの読出データをその
転送前に抑止できる情報処理装置を提供すること
である。
An object of the present invention is to suppress read data from the buffer memory before transferring it in an information processing device having a store buffer in addition to a buffer memory, when data corresponding to a logical address accompanying a read request exists in both the buffer memory and the store buffer. The objective is to provide an information processing device that can.

本発明によれば、論理アドレスでアクセスし、
論理アドレスから実アドレスへの変換を行なうア
ドレス変換機構を有し、且つ、バツフアメモリの
ブロツクに関するアドレス情報を含む情報を保持
するアドレスアレイと、そのデータストレージで
あるデータアレイとを少なくとも備えたバツフア
メモリを有する情報処理装置において、書込要求
に対し書込要求を保持しておくストアバツフアを
備え、該ストアバツフアはアドレス情報として書
込要求に付随する論理アドレスの全部又は一部分
と該論理アドレスをアドレス変換して得られる実
アドレスを少なくとも保持し、読出要求が発生し
た場合、バツフアメモリ及びストアバツフアに対
しデータの存在の有無を判定する手段を持ち、特
にストアバツフアの索引に対しては、読出要求に
付随する論理アドレスとストアバツフアに貯蔵さ
れている書込要求に付随する論理アドレスと比較
することによりストアバツフアに所望のデータが
存在するか否かを判定する手段を備えた情報処理
装置が得られる。
According to the present invention, access is performed using a logical address,
The buffer memory has an address conversion mechanism that converts a logical address into a real address, and includes at least an address array that holds information including address information regarding a block of the buffer memory, and a data array that is the data storage thereof. The information processing device includes a store buffer that holds write requests in response to write requests, and the store buffer stores all or part of the logical address accompanying the write request as address information and the logical address obtained by address conversion. When a read request occurs, it has means for determining whether data exists in the buffer memory and store buffer, and in particular, for the store buffer index, it stores the logical address and store buffer associated with the read request. The present invention provides an information processing apparatus having means for determining whether or not desired data exists in the store buffer by comparing it with the logical address associated with the write request stored in the store buffer.

以下、図面を参照して本発明を説明する。 The present invention will be described below with reference to the drawings.

第1図を参照すると、本発明の適用される情報
処理装置1は主記憶装置2に対してインタフエー
ス3を介して接続されている。この情報処理装置
1は演算処理部11を備え、演算処理部11は読
出、書込要求を論理アドレスを伴なつた形で送出
する。書込要求に伴なう書込データは演算処理部
11からストアバツフア13に与えられる。論理
アドレスは後述するアドレス変換機構12で実ア
ドレスにアドレス変換され、バツフアメモリ14
をアクセスする。論理アドレスはストアバツフア
13にも供給され、読出要求の際、ストアバツフ
ア13に格納されている書込要求に付随する論理
アドレスと読出要求に付随する論理アドレスを比
較することにより、所望のデータがストアバツフ
ア13に存在するか否かを調査する。
Referring to FIG. 1, an information processing device 1 to which the present invention is applied is connected to a main storage device 2 via an interface 3. This information processing device 1 includes an arithmetic processing section 11, and the arithmetic processing section 11 sends out read and write requests accompanied by logical addresses. Write data associated with a write request is provided from the arithmetic processing section 11 to the store buffer 13. The logical address is converted into a real address by an address conversion mechanism 12, which will be described later, and is transferred to a buffer memory 14.
access. The logical address is also supplied to the store buffer 13, and when a read request is made, the desired data is transferred to the store buffer 13 by comparing the logical address associated with the write request stored in the store buffer 13 with the logical address associated with the read request. Investigate whether it exists or not.

上述したことからも明らかな通り、本発明に係
る情報処理装置1はキヤツシユメモリ等のバツフ
アメモリ14のほかに、書込要求に付随する書込
アドレス及びデータを格納するストアバツフア1
3を備えているから、書込要求に対する処理を主
記憶装置2の状態に依存することなく処理を行な
うことができる。このように、ストアバツフア1
3を設けた場合、読出要求の際、前述した通り、
このストアバツフア13も索引の対象となること
を考慮しておく必要がある。
As is clear from the above, the information processing device 1 according to the present invention includes, in addition to the buffer memory 14 such as a cache memory, the store buffer 1 that stores write addresses and data accompanying write requests.
3, it is possible to process write requests without depending on the state of the main storage device 2. In this way, store buffer 1
3, when making a read request, as mentioned above,
It must be taken into consideration that this store buffer 13 is also subject to indexing.

第2図を参照すると、本発明の一実施例に係る
情報処理装置は第1図と対応する部分には同一の
参照符号を付して示されている。第2図におい
て、ストアバツフア13はアドレス部13−1と
書込データ部13−2とに分けられており、且
つ、読出要求の際、読出要求に付随するアドレス
がストアバツフア13中に格納されている否かを
判定するために、アドレス部13−1には比較回
路43及びストアバツフアヒツトレジスタ(以
下、SHRと略称する)35とからなる判定回路
40が接続されている。また、ストアバツフアア
ドレス部13−1は論理アドレス部(以下、
STB−LAと略称)25と実アドレス部(以下、
STB−RAと略称)26とを有している。
Referring to FIG. 2, in an information processing apparatus according to an embodiment of the present invention, parts corresponding to those in FIG. 1 are designated with the same reference numerals. In FIG. 2, the store buffer 13 is divided into an address section 13-1 and a write data section 13-2, and when a read request is made, an address associated with the read request is stored in the store buffer 13. In order to determine whether or not the address section 13-1 is the same, a determination circuit 40 comprising a comparison circuit 43 and a store buffer hit register (hereinafter abbreviated as SHR) 35 is connected to the address section 13-1. Furthermore, the store buffer address section 13-1 is a logical address section (hereinafter referred to as
(abbreviated as STB-LA) 25 and the real address part (hereinafter referred to as
STB-RA (abbreviated as STB-RA) 26.

まず、演算処理部11からの読出要求及び書込
要求は図示しない回路で判定され、各要求に付随
する論理アドレスはアドレス変換機構12の論理
アドレスレジスタ(以下、LARと略称)31に
セツトされる。アドレス変換機構12には、アド
レス変換バツフアとしてのトランスレーシヨン
ルツクアサイド バツフア(以下、TLB)が設
けられており、このTLBは登録されているエン
トリのデイレクトリであるTLBKEY部21、実
アドレスを格納しているデータ部22、比較回路
41、及びアンドゲート47とを有している。
TLBはLAR31にセツトされた論理アドレスに
よつて索引され、TLBに論理アドレスから実ア
ドレスへの対応が登録されているか否かが検出さ
れる。尚、TLBの索引はセツトアソシエーシヨ
ン方式で行なわれるものとする。
First, a read request and a write request from the arithmetic processing unit 11 are determined by a circuit (not shown), and the logical address associated with each request is set in the logical address register (hereinafter abbreviated as LAR) 31 of the address translation mechanism 12. . The address translation mechanism 12 has a translation function as an address translation buffer.
A lookaside buffer (hereinafter referred to as TLB) is provided, and this TLB includes a TLBKEY section 21 that is a directory of registered entries, a data section 22 that stores real addresses, a comparison circuit 41, and an AND gate 47. have.
The TLB is indexed by the logical address set in the LAR 31, and it is detected whether a correspondence from a logical address to a real address is registered in the TLB. It is assumed that the TLB index is performed using the set association method.

TLBに、アドレス変換対が登録済であれば、
TLBデータ部22に実ページアドレスが登録さ
れていることになる。この場合、第1の切換回路
44はアンドゲート47を介して与えられる
TLBデータ部22の出力を選択して、物理アド
レスレジスタ(以下、PARと略称)32へ送出
する。他方、LAR31内のページ内アドレスは
第2の切換回路45で選択されてPAR32に送
られ、PAR32では、実ページアドレスをペー
ジ内アドレスとを連接することにより実アドレス
を得る。TLBに変換対が登録されていない場合
には、アドレス変換を行なつて、その結果を
TLBに登録するが、この手段は公知であるか
ら、ここでは説明を省略する。
If the address translation pair is registered in the TLB,
This means that the real page address is registered in the TLB data section 22. In this case, the first switching circuit 44 is applied via an AND gate 47.
The output of the TLB data section 22 is selected and sent to the physical address register (hereinafter abbreviated as PAR) 32. On the other hand, the intra-page address in the LAR 31 is selected by the second switching circuit 45 and sent to the PAR 32, and the PAR 32 obtains the real address by concatenating the real page address with the intra-page address. If no translation pair is registered in the TLB, perform address translation and send the result.
The information is registered in the TLB, but since this method is well known, the explanation will be omitted here.

次に、書込動作について説明する。この場合、
上述した形式により、TLBデータ部22の出力
及びLAR31からのページ内アドレスはSTB−
RA26に実アドレスとして格納される。同じタ
イミングでLAR31にセツトされている論理ア
ドレスはSTB−LA25に格納される。この実施
例において、ストアバツフア13のアドレス部1
3−1及び書込データ部13−2として使用され
る各メモリはフアーストイン フアーストアウト
形式のものである。
Next, the write operation will be explained. in this case,
According to the above format, the output of the TLB data section 22 and the in-page address from the LAR 31 are STB-
It is stored in RA26 as a real address. At the same timing, the logical address set in LAR31 is stored in STB-LA25. In this embodiment, address section 1 of store buffer 13
Each memory used as the write data section 3-1 and the write data section 13-2 is of a first-in first-out type.

ストアバツフア13のアドレス部13−1に論
理アドレス及び実アドレスが共に格納されると、
情報処理装置1は書込動作をとりあえず終結さ
せ、演算処理部11から次の要求を受け付けるこ
とが可能な状態になる。尚、パイプライン制御で
は、アドレス部13−1に論理アドレス及び実ア
ドレスが格納された後、書込データが書込データ
部13−2に格納される。
When both the logical address and the real address are stored in the address section 13-1 of the store buffer 13,
The information processing device 1 temporarily ends the write operation and becomes ready to accept the next request from the arithmetic processing unit 11. Note that in pipeline control, after the logical address and real address are stored in the address section 13-1, the write data is stored in the write data section 13-2.

読出動作の場合、前述したのと同様に、実アド
レスが得られると共に、これと並行してアドレス
アレイ(以下、AAと略称)23をセツトアソシ
エーシヨン方式で索引して、バツフアメモリ14
に所望のデータを含む1ブロツクが登録されてい
るか否かを比較回路42を用いて調べ、その結果
をアドレスアレイヒツトレジスタ(以下、AHR
と略称)34にセツトする。通常、バツフアメモ
リ14に登録されている場合、AHR34は
FOUND BLOCK(以下、FDBと略称)信号を送
出し、登録されていない場合、NOT FOUND
BLOCK(以下、NFBと略称)信号を送出する。
In the case of a read operation, the real address is obtained in the same way as described above, and in parallel with this, the address array (hereinafter abbreviated as AA) 23 is indexed using the set association method, and the buffer memory 14 is indexed.
The comparison circuit 42 is used to check whether one block containing the desired data is registered in the address array hit register (hereinafter referred to as AHR).
) is set to 34. Normally, when registered in buffer memory 14, AHR34
Sends a FOUND BLOCK (hereinafter abbreviated as FDB) signal, and if not registered, NOT FOUND
Sends a BLOCK (hereinafter abbreviated as NFB) signal.

一方、この読出動作の際、LAR31にセツト
された論理アドレスはSTB−LA25にも接続さ
れたアドレス一致検出回路40の比較回路43に
入力され、所望の読出データがストアバツフア1
3内に格納されているか否かが検出され、その結
果をSHR35にセツトする。この実施例ではス
トアバツフア13はフルアソシエーシヨン方式で
索引されるものとする。
On the other hand, during this read operation, the logical address set in the LAR 31 is input to the comparison circuit 43 of the address match detection circuit 40 which is also connected to the STB-LA 25, and the desired read data is transferred to the store buffer 1.
It is detected whether or not it is stored in SHR35, and the result is set in SHR35. In this embodiment, it is assumed that the store buffer 13 is indexed using a full association method.

TLBを用いてPAR32にセツトされた実アド
レスによつて、バツフアメモリ14のデータスト
レージであるデータアレイ(以下、DAと略称)
24がアクセスされる。この場合、SHR35を
調べて、所望の読出データがストアバツフア13
に存在しなければ、AHR34を調べる。このと
き、FDB信号が送出されていれば、DA24から
読み出されたデータがアンドゲート48及び第3
の切換回路46を介して選択され、読出データと
して要求元である。演算処理部11に送出され
る。他方、AHR34からNFB信号が送出されて
おり、且つ所望のデータがストアバツフア13に
も存在しない場合、アドレス変換機構12は主記
憶装置に対し所望のデータを含む1ブロツクを読
み出す読出要求をPAR32にセツトされている
実アドレスを伴なつて送出する。また、SHR3
5を調べた結果、所望のデータがストアバツフア
13に存在することが判明すると、第3の切換回
路46は書込データ部(STB−WD)27からの
出力を選択して読出データとして要求元の演算処
理部11に送り出す。
The data array (hereinafter abbreviated as DA) which is the data storage of the buffer memory 14 is determined by the real address set in PAR32 using TLB.
24 are accessed. In this case, the SHR 35 is checked and the desired read data is stored in the store buffer 13.
If it does not exist, check AHR34. At this time, if the FDB signal is sent out, the data read from the DA24 will be sent to the AND gate 48 and the third
is selected via the switching circuit 46 and is the request source as read data. The data is sent to the arithmetic processing unit 11. On the other hand, if the NFB signal is being sent from the AHR 34 and the desired data does not exist in the store buffer 13, the address conversion mechanism 12 sets a read request to the PAR 32 to read one block containing the desired data from the main storage device. It is sent along with the actual address that is being sent. Also, SHR3
5, if it is found that the desired data exists in the store buffer 13, the third switching circuit 46 selects the output from the write data section (STB-WD) 27 and sends it to the request source as the read data. It is sent to the arithmetic processing section 11.

前述した通り、演算処理部11からの書込要求
に対する処理はストアバツフアアドレス部13−
1に論理アドレス及び実アドレスが格納された時
点で一応終結させた。しかし、書込データは主記
憶装置及びバツフアメモリ14に最終的に格納さ
れなければならない。この実施例では、演算処理
部11から読出要求がなく、主記憶装置が要求受
付け可能であり、且つ、STB−WD13−2に書
込データが準備された状態になつたときに、スト
アバツフア13に格納されている書込要求に伴な
う実アドレス及び書込データをバツフアメモリ1
4及び主記憶装置に送り出す。具体的に述べる
と、STB−RA26の実アドレスは出力アドレス
レジスタ(以下、SARと略称)33及び第2の
切換回路45を通してAA23に与えられてい
る。AA23のSTB−RA26による索引は演算
処理部11から読出要求が出されていないことを
条件として、第1及び第2の切換回路44及び4
5が切り換えられることによつて行なわれる。
AA23の索引の結果はAHR34に与えられ、且
つ、SAR23からの実アドレスはPAR32にセ
ツトされる。
As mentioned above, processing for write requests from the arithmetic processing unit 11 is performed by the store buffer address unit 13-
The process was temporarily terminated when the logical address and real address were stored in 1. However, the write data must ultimately be stored in the main memory and buffer memory 14. In this embodiment, when there is no read request from the arithmetic processing unit 11, the main storage device is ready to accept requests, and write data is prepared in the STB-WD 13-2, the data is stored in the store buffer 13. The real address and write data associated with the stored write request are transferred to buffer memory 1.
4 and sent to main storage. Specifically, the real address of the STB-RA 26 is given to the AA 23 through an output address register (hereinafter abbreviated as SAR) 33 and a second switching circuit 45. The index by the STB-RA 26 of the AA 23 is read by the first and second switching circuits 44 and 4 on the condition that no read request is issued from the arithmetic processing unit 11.
This is done by switching 5.
The index result of AA23 is given to AHR34, and the real address from SAR23 is set to PAR32.

AHR34がFDB信号を送出しているときに
は、STW−WD13−2の書込データがDA24
に書き込まれると共に、主記憶装置にも、PAR
32にセツトされている実アドレス及びSTB−
WD13−2の書込データが書込要求と共に送り
出される。AHR34がNFB信号を送出している
ときには、DA24に対する書込動作はは行なわ
れず、主記憶装置に対する書込動作のみが行なわ
れる。
When AHR34 is sending the FDB signal, the write data of STW-WD13-2 is sent to DA24.
In addition to being written to main memory, PAR
The real address set to 32 and STB-
The write data of WD 13-2 is sent together with the write request. When the AHR 34 is sending out the NFB signal, no write operation is performed on the DA 24, and only a write operation is performed on the main storage device.

以上述べたように、ストアバツフア13からの
書込要求に対する処理はTLBを使用することな
く行なわれている。したがつて、この処理期間
中、演算処理部11からの書込要求を受け付ける
ことが可能である。言い換えれば、ストアバツフ
アからの書込要求の掃き出しとストアバツフアへ
の書込要求の格納を同時に実行することができ
る。
As described above, processing for write requests from the store buffer 13 is performed without using the TLB. Therefore, during this processing period, it is possible to accept write requests from the arithmetic processing unit 11. In other words, it is possible to simultaneously flush out write requests from the store buffer and store write requests in the store buffer.

第3図を参照すると、本発明の他の実施例に係
る情報処理装置はオペランド用及び命令用の第1
及び第2のバツフアメモリ14−1及び14−
2、各バツフアメモリを制御する第1及び第2の
メモリ制御回路15−1及び15−2と共に備え
ている。ここで、各メモリ制御回路15−1,1
5−2は第2図に図示された第1乃至第3の切換
回路44,45,46、及びSAR33、PAR3
2等の各回路間に示されたインタフエースに対応
している。また、ストアバツフア13は演算処理
部11からライン16を介してアドレス変換機構
12に与えられる書込要求に付随する論理アドレ
ス及び実アドレスを第1及び第2のアドレスバツ
フア13−1及び13−2で受けると共に、ライ
ン17を介して書込要求に伴なう書込データを第
1及び第2のデータバツフア回路13−3及び1
3−4で受ける。
Referring to FIG. 3, the information processing apparatus according to another embodiment of the present invention has a first
and second buffer memories 14-1 and 14-
2. It is provided with first and second memory control circuits 15-1 and 15-2 that control each buffer memory. Here, each memory control circuit 15-1, 1
5-2 are the first to third switching circuits 44, 45, 46, SAR 33, and PAR 3 shown in FIG.
This corresponds to the interface shown between each circuit of the second class. Further, the store buffer 13 stores the logical address and real address associated with the write request given from the arithmetic processing unit 11 to the address translation mechanism 12 via the line 16 to the first and second address buffers 13-1 and 13-2. At the same time, the write data accompanying the write request is received via the line 17 to the first and second data buffer circuits 13-3 and 1.
Receive it 3-4.

この実施例では、オペランド読出し要求及びオ
ペランド読出しアドレスもライン16を介してア
ドレス変換機構12に与えられるものとし、命令
読出し要求及び命令読出しアドレスはライン18
を通して、第2のメモリ制御回路15−2に供給
されるものとする。尚、命令読出しアドレスを論
理アドレスから実アドレスに変換するためのアド
レス変換機構が必要であるが、ここでは、図示を
省略した。いずれにしても、第1及び第2のアド
レスバツフア回路13−1及び13−2の内容は
第1及び第2のアドレス一致検出回路40−1及
び40−2でオペランド及び命令読出し要求の際
に与えられる論理アドレスのままで比較され、一
致が検出されると、第1及び第2の一致検出信号
CD1及びCD2がそれぞれ送出される。
In this embodiment, the operand read request and operand read address are also provided to the address translation mechanism 12 via line 16, and the instruction read request and instruction read address are provided to the address translation mechanism 12 via line 18.
It is assumed that the signal is supplied to the second memory control circuit 15-2 through the memory control circuit 15-2. Note that an address conversion mechanism is required to convert the instruction read address from a logical address to a real address, but its illustration is omitted here. In any case, the contents of the first and second address buffer circuits 13-1 and 13-2 are transmitted to the first and second address match detection circuits 40-1 and 40-2 when an operand and instruction read request is made. are compared with the logical addresses given as they are, and if a match is detected, the first and second match detection signals are output.
CD 1 and CD 2 are respectively sent out.

第1及び第2の一致検出信号CD1及びCD2を受
けると、第1及び第2のメモリ制御回路15−1
及び15−2は第1及び第2のアドレスバツフア
回路13−1及び13−2から与えられるバツフ
アストア要求を演算処理部11からのオペランド
及び命令読出し要求より前に、それぞれ優先的に
処理する。例えば、第1の一致検出信号CD1が送
出されている状態では、第1のメモリ制御回路1
5−1は第1のアドレスバツフア回路13−1か
らのバツフアストア要求に伴なう実アドレスを第
1のバツフアメモリ14−1に第1のデータバツ
フア回路13−3からのデータと共に与え、この
第1のバツフアメモリ14−1に該当するアドレ
スがなければ、主記憶装置に書込要求、アドレス
及びデータを送出する。一方、第1の一致検出信
号CD1が送出されていない状態では、読出し要求
に伴なうアドレス変換された実アドレスを第1の
メモリ制御回路15−1を介して第1のバツフア
メモリ14−1及び主記憶装置に送出し、実アド
レスで指示されたアドレスから読み出しを行な
う。尚、第2の一致検出信号CD2が送出されてい
ない場合、第2のメモリ制御回路15−2は上述
した第1のメモリ制御回路15−1と同様な動作
を行なう。
Upon receiving the first and second coincidence detection signals CD 1 and CD 2 , the first and second memory control circuits 15-1
and 15-2 process buffer store requests given from the first and second address buffer circuits 13-1 and 13-2 with priority, respectively, before operand and instruction read requests from the arithmetic processing unit 11. For example, in a state where the first coincidence detection signal CD 1 is being sent out, the first memory control circuit 1
5-1 provides the real address accompanying the buffer store request from the first address buffer circuit 13-1 to the first buffer memory 14-1 together with the data from the first data buffer circuit 13-3, and If there is no corresponding address in the buffer memory 14-1, the write request, address and data are sent to the main memory. On the other hand, in a state where the first coincidence detection signal CD 1 is not sent out, the converted real address associated with the read request is sent to the first buffer memory 14-1 via the first memory control circuit 15-1. and sends it to the main memory, and reads from the address specified by the real address. Note that when the second coincidence detection signal CD 2 is not sent out, the second memory control circuit 15-2 performs the same operation as the first memory control circuit 15-1 described above.

上述した実施例ではオペランド及び命令の読出
し要求とを互いに独立して行なうこことができる
と共に、書込要求と読出し要求との競合による処
理の遅延をも防止可能である。
In the embodiment described above, operand and instruction read requests can be made independently of each other, and processing delays due to conflicts between write requests and read requests can also be prevented.

以上述べた通り、本発明ではストアバツフアと
AAを並列索引していてAAの索引結果をレジス
タAHRにセツトしている為、ストアバツフアの
索引を論理アドレスで行なう長所が生まれる。す
なわち、ストアバツフアの索引結果はレジスタ
SHRにセツトされていてストアバツフア及びバ
ツフアメモリのデータの有無をレジスタ(フリツ
プから構成される)の出力で直接判断できる為、
ハードウエアにとつて論理素子のの遅延時間に関
し非常に有利となり、従つて制御もやりやすくな
る。
As mentioned above, in the present invention, the store buffer
Since AA is indexed in parallel and the AA index result is set in register AHR, there is an advantage of indexing the store buffer using logical addresses. In other words, the index result of the store buffer is stored in a register.
Since it is set in SHR and the presence or absence of data in the store buffer and buffer memory can be determined directly from the output of the register (consisting of flips),
This is very advantageous for the hardware regarding the delay time of the logic elements, and therefore control becomes easier.

ところで仮想記憶方式では、異なる論理アドレ
スに対し同じ実アドレスを割り付けることがあ
る。この場合、1つの論理空間において異なる論
理アドレスが同時に同じ実アドレスを指してはい
けないという条件が必要である。
By the way, in the virtual memory system, the same real address may be assigned to different logical addresses. In this case, a condition is required that different logical addresses in one logical space must not point to the same real address at the same time.

論理空間の切換、及び主記憶装置のメモリエリ
アのページイン、ページアウトに際しては、アド
レス変換バツフアの同期化が必要であり、且つ、
書込要求がストアバツフアに存在しないことを確
認しなければならない。もし、書込要求がストア
バツフアに保持されている場合は、すべての書込
要求をストアバツフアから掃き出して、情報処理
装置内で書込処理が終了した後、論理空間の切換
え、及び主記憶装置のページイン、ページアウト
が可能となる。このような処理は通常、行なわれ
ていることであり、本発明を実施する為の制限と
はならない。
When switching the logical space and page-in/page-out of the memory area of the main storage device, it is necessary to synchronize the address translation buffer, and
You must ensure that no write requests exist in the store buffer. If write requests are held in the store buffer, all write requests are purged from the store buffer, and after the write process is completed in the information processing device, the logical space is switched and the main memory page is It is possible to page in and page out. Such processing is commonly performed and is not a limitation for implementing the present invention.

以上のように、ストアバツフアの索引を論理ア
ドレスで行なうことにより、ストアバツフアの索
引結果をレジスタ出力として用いることができ、
高速のクロツクに対応した制御が可能となる。
As described above, by indexing the store buffer using logical addresses, the store buffer index result can be used as register output.
Control compatible with high-speed clocks becomes possible.

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

第1図は本発明の一実施例に係る情報処理装置
を示すブロツク図、第2図は第1図に示した情報
処理装置をより具体的に説明するためのブロツク
図、及び第3図は本発明の他の実施例に係る情報
処理装置を示すブロツク図である。 1……情報処理装置、2……主記憶装置、3…
…インタフエース、11……演算処理部、12…
…アドレス変換機構、13……ストアバツフア、
14……バツフアメモリ、21……TLBKEY
部、22……TLBデータ部、23……アドレス
アレイ 略称AA、24……データアレイ 略称
DA、13−1……ストアバツフアのアドレス
部、25……ストアバツフアの論理アドレス部
略称STB−LA、26……ストアバツフアの実ア
ドレス部 略称STB−RA、13−2……ストア
バツフアの書込データ部 略称STB−WD、31
……論理アドレスレジスタ 略称LAR、32…
…物理アドレスレジスタ 略称PAR、33……
ストアバツフア出力アドレスレジスタ 略称
SAR、34……アドレスアレイヒツトレジスタ
略称AHR、35……ストアバツフアヒツトレ
ジスタ 略称SHR、41……比較回路、42…
…比較回路、43……比較回路、44……切換回
路1、45……切換回路2、46……切換回路
3、47……ANDゲート、48……ANDゲー
ト。
FIG. 1 is a block diagram showing an information processing apparatus according to an embodiment of the present invention, FIG. 2 is a block diagram for more specifically explaining the information processing apparatus shown in FIG. 1, and FIG. FIG. 3 is a block diagram showing an information processing device according to another embodiment of the present invention. 1... Information processing device, 2... Main storage device, 3...
...Interface, 11... Arithmetic processing unit, 12...
...Address translation mechanism, 13...Store buffer,
14...Batsufua Memory, 21...TLBKEY
Part, 22...TLB data part, 23...Address array Abbreviation AA, 24...Data array Abbreviation
DA, 13-1... address part of store buffer, 25... logical address part of store buffer
Abbreviation STB-LA, 26...Real address part of store buffer Abbreviation STB-RA, 13-2...Write data part of store buffer Abbreviation STB-WD, 31
...Logical address register Abbreviation: LAR, 32...
...Physical address register abbreviation PAR, 33...
Store buffer output address register Abbreviation
SAR, 34... Address array hit register Abbreviation AHR, 35... Store buffer hit register Abbreviation SHR, 41... Comparison circuit, 42...
...Comparison circuit, 43...Comparison circuit, 44...Switching circuit 1, 45...Switching circuit 2, 46...Switching circuit 3, 47...AND gate, 48...AND gate.

Claims (1)

【特許請求の範囲】[Claims] 1 バツフアメモリを備え、該バツフアメモリは
当該バツフアメモリのブロツクに関するアドレス
情報を保持するアドレスアレイと、該アドレスア
レイのデータストレージであるデータアレイとを
有しているような情報処理装置において、読出要
求及び書込要求に付随するアドレス情報を論理ア
ドレスの形で受け、該論理アドレスを実アドレス
へ変換するアドレス変換機構と、前記書込要求に
応答して、当該書込要求に付随する論理アドレス
の少なくとも一部、及び当該論理アドレスを前記
アドレス変換機構で変換することによつて得られ
る実アドレスとを少なくとも保持するストアバツ
フアと、前記読出要求が発生した場合、前記読出
要求に付随する論理アドレスと前記ストアバツフ
アに保持されている論理アドレスとを比較するこ
とにより、前記ストアバツフアに読出すべきアド
レスに関するデータが存在するか否かを判定する
手段とを備え、前記読出要求の発生の際、前記バ
ツフアメモリは前記アドレス変換機構でアドレス
変換された実アドレスによつてアクセスされるこ
とを特徴とする情報処理装置。
1. In an information processing device that is equipped with a buffer memory, the buffer memory has an address array that holds address information regarding blocks of the buffer memory, and a data array that is data storage for the address array. an address translation mechanism that receives address information associated with a request in the form of a logical address and converts the logical address into a real address; and in response to the write request, at least a portion of the logical address associated with the write request. , and a store buffer that holds at least a real address obtained by converting the logical address by the address translation mechanism, and when the read request occurs, the logical address associated with the read request and the store buffer hold means for determining whether or not data related to the address to be read exists in the store buffer by comparing the data with the logical address that has been read, and when the read request occurs, the buffer memory An information processing device characterized in that the information processing device is accessed using a real address that has been converted into an address.
JP56126579A 1980-08-22 1981-08-14 Information processor Granted JPS5829186A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP56126579A JPS5829186A (en) 1981-08-14 1981-08-14 Information processor
US06/294,121 US4467414A (en) 1980-08-22 1981-08-19 Cashe memory arrangement comprising a cashe buffer in combination with a pair of cache memories
FR8116082A FR2489021B1 (en) 1980-08-22 1981-08-21 ARRANGEMENT OF ANTHEMOIRES COMPRISING A BUFFER ANEMEMORY IN COMBINATION WITH A PAIR OF ANTEMEMORY

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56126579A JPS5829186A (en) 1981-08-14 1981-08-14 Information processor

Publications (2)

Publication Number Publication Date
JPS5829186A JPS5829186A (en) 1983-02-21
JPS6138503B2 true JPS6138503B2 (en) 1986-08-29

Family

ID=14938659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56126579A Granted JPS5829186A (en) 1980-08-22 1981-08-14 Information processor

Country Status (1)

Country Link
JP (1) JPS5829186A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60181942A (en) * 1984-02-29 1985-09-17 Fujitsu Ltd Memory control device
US20070288725A1 (en) * 2006-06-07 2007-12-13 Luick David A A Fast and Inexpensive Store-Load Conflict Scheduling and Forwarding Mechanism

Also Published As

Publication number Publication date
JPS5829186A (en) 1983-02-21

Similar Documents

Publication Publication Date Title
US5613071A (en) Method and apparatus for providing remote memory access in a distributed memory multiprocessor system
CA1284389C (en) Read in process memory apparatus
US4439829A (en) Data processing machine with improved cache memory management
US6167492A (en) Circuit and method for maintaining order of memory access requests initiated by devices coupled to a multiprocessor system
JP2571342B2 (en) System and method for storing data in cache memory
JPH0137773B2 (en)
JPS5821353B2 (en) Channel-to-memory writing device
GB2242294A (en) Memory architecture using page mode writes and single level write buffering
EP1012734A1 (en) Address translation in computer bus bridge devices
US5034885A (en) Cache memory device with fast data-write capacity
JPS6126702B2 (en)
JPH0319976B2 (en)
US4648033A (en) Look-aside buffer LRU marker controller
JPS6138503B2 (en)
JPH1091521A (en) Duplex directory virtual cache and its control method
EP0224168A2 (en) Buffer storage control system
JPS59157887A (en) Information processor
JPH06187286A (en) Bus conversion adapter
JPS6329297B2 (en)
JP3784932B2 (en) Channel device control method
JPS6252339B2 (en)
JP3287239B2 (en) Hierarchical cache memory and its state transition control method
JP2703255B2 (en) Cache memory writing device
JPH04353949A (en) Cache memory control system
JPH0387949A (en) Cache memory controller