JPH04213133A - Storage key control system - Google Patents
Storage key control systemInfo
- Publication number
- JPH04213133A JPH04213133A JP3010614A JP1061491A JPH04213133A JP H04213133 A JPH04213133 A JP H04213133A JP 3010614 A JP3010614 A JP 3010614A JP 1061491 A JP1061491 A JP 1061491A JP H04213133 A JPH04213133 A JP H04213133A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- lbs
- store
- main memory
- tlb
- 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.)
- Granted
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【0001】0001
【産業上の利用分野】本発明は、記憶キーならびにスト
アイン方式のバッファ記憶を持つ計算機システムにおい
て、バッファ記憶に対する変更を記憶キー内の変更ビッ
トに反映させる記憶キー制御方式に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a storage key control method for reflecting changes to buffer storage in changed bits in the storage key in a computer system having storage keys and store-in type buffer storage.
【0002】0002
【従来の技術】多くの計算機システムにおいては、主記
憶を有効に利用するために仮想記憶方式が採用されてい
る。仮想記憶方式とはプログラムの局所性を利用して、
プログラム実行中の各時点で頻繁に使用される部分だけ
を主記憶装置上に置き、その他の部分は補助記憶装置上
に置いておき、プログラムの進行に従って必要に応じて
主記憶装置に読み込んでくるものである。これにより、
主記憶の容量以上に大きなプログラムの実行も可能とな
る。仮想記憶方式を実現するために、主記憶はページと
呼ばれる一定の大きさの領域に分割されており、このペ
ージを単位として、補助記憶装置から主記憶への転送(
ページイン)、主記憶から補助記憶装置への格納(ペー
ジアウト)が行われる。2. Description of the Related Art In many computer systems, a virtual memory system is adopted in order to effectively utilize main memory. Virtual memory method uses program locality to
Only the parts that are frequently used at each point during program execution are placed in main memory, other parts are placed in auxiliary storage, and are read into main memory as needed as the program progresses. It is something. This results in
It is also possible to execute programs that are larger than the main memory capacity. In order to implement virtual memory, main memory is divided into areas of a certain size called pages, and transfers from auxiliary storage to main memory are performed in units of pages.
(page-in) and storage (page-out) from the main memory to the auxiliary storage device.
【0003】ページアウトに際しては、主記憶上で変更
を加えられなかったページについては補助記憶装置への
格納は不要である。ページの変更の有無を示す情報は記
憶キーと呼ばれる主記憶制御情報に含まれている。[0003] At the time of page out, pages that have not been changed in the main memory do not need to be stored in the auxiliary storage device. Information indicating whether or not a page has been changed is included in main memory control information called a storage key.
【0004】第4図に記憶キーの構成を示す。記憶キー
は、4ビットのアクセス制御キー(ACC)、取り出し
防止ビット(F)、参照ビット(R)、変更ビット(C
)から成る。ACCビットは中央処理装置(CPU)内
の4ビットのアクセスキーと比較される。主記憶装置へ
の格納は中央処理装置のアクセスキーと記憶キーのアク
セス制御キー(ACC)とが一致した時のみ許可される
。主記憶装置からの取り出しは両者が一致してかつFビ
ットの値が0であれば許可される。Rビットはページ中
のデータが参照された時に1にセットされる。Rビット
は一定時間ごとに0にリセットされ、OSは各時間ごと
にどのページがアクセスされたかを知ることができる。
OSはこの情報に基づき、主記憶中に存在する各ページ
の最近の使用頻度を作成し、新たにページインを行う必
要が生じた時に最もアクセス頻度の低いページをページ
アウトする。Cビットは主記憶のページ中にデータが格
納された時に1にセットされる。OSはページアウトす
べきページのCビットが1であれば、補助記憶装置上に
保持されているページと主記憶上にあるページとの間に
不一致が生じたことを確認し、主記憶上のページを補助
記憶装置に書き戻す。しかし、このビットが0であれば
補助記憶装置上のページと主記憶装置上のページは一致
しており、わざわざ主記憶上のページを補助記憶装置に
書き戻す必要はない。これにより、低速な補助記憶装置
へのアクセスを減らしシステムの性能向上をはかってい
る。FIG. 4 shows the structure of the storage key. The storage key consists of a 4-bit access control key (ACC), a retrieval prevention bit (F), a reference bit (R), and a modification bit (C).
). The ACC bit is compared to a 4-bit access key within the central processing unit (CPU). Storage in the main storage device is permitted only when the access key of the central processing unit and the access control key (ACC) of the storage key match. Retrieval from the main memory is permitted if both match and the value of the F bit is 0. The R bit is set to 1 when data in a page is referenced. The R bit is reset to 0 at regular intervals, allowing the OS to know which page was accessed at each time. Based on this information, the OS creates a recent usage frequency of each page existing in main memory, and when it becomes necessary to perform a new page-in, it pages out the least frequently accessed page. The C bit is set to 1 when data is stored in a page of main memory. If the C bit of the page to be paged out is 1, the OS confirms that a mismatch has occurred between the page held in auxiliary storage and the page in main memory, and Write the page back to auxiliary storage. However, if this bit is 0, the page on the auxiliary storage device and the page on the main storage device match, and there is no need to take the trouble to write the page on the main storage device back to the auxiliary storage device. This reduces access to slow auxiliary storage and improves system performance.
【0005】バッファ記憶(LBS)は低速・大容量の
主記憶装置上のデータを細分化したブロックのコピーを
高速・小容量のキャッシュメモリ上に持っている。この
ように記憶装置を階層化することによってCPUから記
憶装置に対する見かけ上のアクセス時間を短縮している
。このLBSの制御方式はストアスルー方式とストアイ
ン方式の2つに大別される。ストアスルー方式では、デ
ータをLBSまたは主記憶から取り出すフェッチアクセ
スにおいて対象データがLBSに無かった場合には、主
記憶装置からLBSへ当該ブロックのムーブインを行う
。ストアアクセスにおいては、LBSにストア先のデー
タがない場合には主記憶装置のみにストアを行い、LB
Sにストア先のデータがある場合にはLBSと主記憶装
置の両者にストアを行う。すなわち、ストアスルー方式
ではLBSの内容は常に主記憶に反映している。ストア
イン方式では、フェッチアクセス/ストアアクセスのい
ずれにおいても、LBSに対象データがなければ主記憶
装置からLBSへの当該ブロックのムーブインを行う。[0005] Buffer storage (LBS) has copies of blocks obtained by subdividing data stored in a low-speed, large-capacity main memory in a high-speed, small-capacity cache memory. By layering the storage devices in this way, the apparent access time from the CPU to the storage devices is shortened. This LBS control method is roughly divided into two types: a store-through method and a store-in method. In the store-through method, if the target data is not in the LBS during fetch access to retrieve data from the LBS or main memory, the block is moved in from the main memory to the LBS. In store access, if there is no store destination data in the LBS, the store is performed only in the main memory, and the LB
If there is data to be stored in S, the data is stored in both the LBS and the main storage. That is, in the store-through method, the contents of the LBS are always reflected in the main memory. In the store-in method, in either fetch access or store access, if there is no target data in the LBS, the block is moved in from the main storage device to the LBS.
【0006】また、ストアアクセスの場合はLBSのみ
にストアを行う。LBSに書き込みが行われると、LB
Sが変更を受けたことを示し、TAGメモリに設けられ
た変更ビットCL ビットを1にセットする。LBSか
ら主記憶への反映が行われるのは、ムーブインの際に置
き換えの対象となったブロックの変更ビットCL ビッ
トが1である場合、あるいは他のCPUおよび入出力装
置などがCL ビットが1であるブロックを必要とした
場合である。この主記憶装置へのLBSからの書き戻し
をムーブアウトと呼ぶ。このようにCl ビットを設け
て不要なムーブアウトをなくすことにより性能向上が計
られている。[0006] Furthermore, in the case of store access, the store is performed only in the LBS. When a write is performed to LBS, LB
Indicates that S has been modified, and sets the modification bit CL bit provided in the TAG memory to 1. Reflection from LBS to main memory is performed when the change bit CL bit of the block to be replaced at the time of move-in is 1, or when the CL bit of another CPU or input/output device is 1. This is the case when a certain block is required. This writing back from the LBS to the main storage device is called moveout. Performance is improved by providing the Cl bit in this manner and eliminating unnecessary moveouts.
【0007】ストアスルー方式はムーブアウト操作が不
要なためストアイン方式と比較して制御が簡単である。
しかし、ストアスルー方式では、LBSにストア先のデ
ータがない場合には主記憶装置のみに、LBSにストア
先のデータがある場合にはLBSと主記憶装置の両者に
ストアを行うから各CPUでストアアクセスが発生する
たびに主記憶装置に対するストアが発生することとなり
、主記憶装置を共有するCPUの数が増えると主記憶装
置に対するアクセス待ち時間が増大するという欠点があ
る。そこで、主記憶装置を共有するCPUの数が増える
と、CPUから主記憶へのアクセスを減少させることの
できるストアイン方式のLBSを採用する傾向にある。The store-through method does not require a move-out operation, so it is easier to control than the store-in method. However, in the store-through method, if there is no data to store in the LBS, the data is stored only in the main memory, and if there is data in the LBS, the data is stored in both the LBS and the main memory, so each CPU Each time a store access occurs, a store to the main memory device occurs, and as the number of CPUs sharing the main memory device increases, there is a drawback that the waiting time for accessing the main memory device increases. Therefore, as the number of CPUs sharing a main memory device increases, there is a tendency to adopt a store-in type LBS that can reduce accesses from the CPUs to the main memory.
【0008】次に、記憶キー内のCビットについて説明
する。第5図にオペランドストア時のアドレスとデータ
の流れを示す。ストアアドレスがメインパイプラインの
制御を行う命令制御部(Instruction ユニ
ットすなわちIユニット)から、ストアデータがALU
等よりなる演算制御部(Execution すなわち
Eユニット)から記憶制御部(Storage ユニッ
トすなわちSユニット)へと送られてくる。Iユニット
からの論理アドレスの一部によりTLBがアクセスされ
、TLBがヒットすると、TLBに登録されているペー
ジ枠アドレスと論理アドレス内のページインデックスと
が合成され物理アドレスが得られる。TLBがミスヒッ
トすると、動的アドレス変換回路(DAT回路)により
、論理アドレスに対応するページ枠アドレスが求められ
て、TLBに登録される。TLBと同時にTAGがアク
セスされ、TAGに登録されている物理アドレスとTL
Bから得られた物理アドレスが比較される。両者が一致
するとLBSへEユニットからのデータが書き込まれる
。ミスヒットした場合には、主記憶へブロックフェッチ
要求が出され、LBSへ該当するブロックを読み込んだ
後にデータが書き込まれる。データがLBSに書き込ま
れた時点で、記憶キーのCビットが1にセットされねば
ならない。ストアスルー方式のLBSではLBSと主記
憶装置の両者にストアが行われるため、主記憶装置はス
トアが行われたことを認識しCビットを1にセットする
ことができる。Next, the C bit in the storage key will be explained. FIG. 5 shows the address and data flow when storing operands. The store address is sent to the ALU from the instruction control unit (Instruction unit or I unit) that controls the main pipeline.
The information is sent from the arithmetic control section (Execution, ie, E unit) to the storage control section (Storage unit, ie, S unit). The TLB is accessed by a part of the logical address from the I unit, and when the TLB is hit, the page frame address registered in the TLB and the page index in the logical address are combined to obtain a physical address. When a TLB mishit occurs, a dynamic address translation circuit (DAT circuit) determines a page frame address corresponding to the logical address and registers it in the TLB. The TAG is accessed at the same time as the TLB, and the physical address and TL registered in the TAG are
The physical addresses obtained from B are compared. When the two match, data from the E unit is written to the LBS. If there is a mishit, a block fetch request is issued to the main memory, the corresponding block is read into the LBS, and then data is written. The C bit of the storage key must be set to 1 when data is written to the LBS. In the store-through type LBS, since the store is performed in both the LBS and the main memory, the main memory can recognize that the store has been performed and set the C bit to 1.
【0009】しかし、ストアイン方式のLBSにおいて
はLBSのみにストアが行われるため、ストアが発生し
た時点では主記憶装置はこれを検出できない。そこで、
LBSへストアが生じるたびに主記憶キーの制御ビット
を1にセットするためにCPUから主記憶装置へ通知を
行う必要があり、特にCPUの数が多くなったときには
、CPUと主記憶装置間の通信を抑えることが可能なス
トアイン方式の特徴を充分に生かすことができなかった
。However, in a store-in type LBS, since a store is performed only in the LBS, the main storage cannot detect the store when it occurs. Therefore,
Each time a store occurs to the LBS, it is necessary to notify the main memory from the CPU in order to set the control bit of the main memory key to 1. Especially when the number of CPUs increases, the The feature of the store-in method, which can suppress communication, could not be fully utilized.
【0010】0010
【発明が解決しようとする課題】ストアイン方式におい
てLBSに書き込みが行われるごとに、主記憶装置に記
憶キーの変更ビットCビットの更新を求める必要があり
、大きなオーバヘッドを生じる。In the store-in method, each time a write is made to the LBS, it is necessary to request the main storage device to update the change bit C bit of the storage key, resulting in a large overhead.
【0011】本発明は、ストアイン方式において、主記
憶装置のあるページに対する変更が最初にあった時、記
憶キーの変更ビットを更新することにより主記憶装置へ
のアクセスのオーバヘッドを減少させて、情報処理装置
の高速化を図ることを目的とする。[0011] In the store-in method, the present invention reduces the overhead of accessing the main memory by updating the change bit of the storage key when a certain page in the main memory is first modified. The purpose is to speed up information processing equipment.
【0012】0012
【課題を解決するための手段】本発明は、第1図に示す
ように、ストアイン方式のバッファ記憶1と、論理アド
レスを物理アドレスに変換する動的アドレス変換機構2
と、動的アドレス変換の結果を保持し論理アドレスから
物理アドレスへの変換を高速に行うTLB3とを有する
、1つあるいは複数の中央処理装置4と、主記憶内のペ
ージごとに設けられた記憶キー5を有する主記憶装置6
を有する情報処理装置に関する。そして、TLB3中に
記憶キー5内の変更ビットの更新を行ったことを示す制
御ビットを設けることにより、主記憶装置6のあるペー
ジに対する変更が初めて行われた時のみ、主記憶装置6
へ記憶キー5内の変更ビットの更新を要求する記憶キー
変更ビット更新手段8を有する。[Means for Solving the Problems] As shown in FIG. 1, the present invention comprises a store-in type buffer storage 1 and a dynamic address translation mechanism 2 for converting a logical address into a physical address.
and a TLB 3 that holds the results of dynamic address translation and performs high-speed translation from logical addresses to physical addresses, one or more central processing units 4, and memory provided for each page in main memory. Main memory 6 with key 5
The present invention relates to an information processing device having: By providing a control bit in the TLB 3 that indicates that a change bit in the storage key 5 has been updated, only when a certain page in the main storage 6 is changed for the first time, the main storage 6
It has storage key change bit updating means 8 for requesting update of the change bit in the storage key 5.
【0013】[0013]
【作用】TLB内に記憶キー内の変更ビットCビットの
コピーを持ち、TLBエントリに対応するLBSのペー
ジのブロックに最初に書き込みが行われた時に、TLB
内のCP ビットを1にセットするとともに主記憶装置
へCビットを1にセットする要求を出す。これによりL
BSに書き込みが行われるごとに、CPUが記憶キーの
Cビットを変更するために主記憶をアクセスする必要が
なくなり、オーバヘッドを低減できる。[Operation] The TLB has a copy of the changed bit C bit in the storage key, and when a block of the page of the LBS corresponding to the TLB entry is first written, the TLB
It sets the CP bit in the memory to 1 and issues a request to the main memory to set the C bit to 1. This results in L
There is no need for the CPU to access the main memory to change the C bit of the storage key every time a write is performed to the BS, reducing overhead.
【0014】[0014]
【実施例】第2図に本発明を実施するためのSユニット
の実施例を示す。第3図はこのSユニットのタイムチャ
ートである。このSユニットは、(P−T−B−R)で
示されるパイプラインに従って動作する。Pはprio
rity、TはTLB TAG access ,B
はBuffer access,Rはresultのそ
れぞれのサイクルを示す。TLAR(T cycle
Logical Address Register)
はPサイクルにIユニットから送られてきた論理アドレ
スをTサイクルの間保持する。TLARが保持する論理
アドレスの一部によりTLBのラインが選択される。T
LBは1つあるいは複数のウェイで構成されており、各
ウェイに対応した比較装置COM1と、一致したウェイ
を示す信号生成回路と、物理アドレスおよびCPビット
の選択回路SEL1、およびSEL2を有している。こ
の信号生成回路はTWNR(TLB Way Num
ber Register), TLB書込みウェイ決
定回路D1よりなる。このエントリに登録されている論
理アドレスとTLARの上位ビット群が比較され一致し
た場合、同じエントリ中に保持されている物理アドレス
の上位ビット群とCP ビットが選択回路SEL1,S
EL2を通して出力される。一致するウェイが存在しな
かった場合には、TLBミスヒットを示す信号により動
的アドレス変換(DAT)回路が起動され、論理アドレ
スに対応する物理アドレスが計算されTLBに登録され
る。この時CP ビットは0にリセットされた状態で書
き込まれる。登録が行われた後TLBは再アクセスされ
、必ずTLBマッチが検出される。TAGはLBSに保
持されているデータのアドレス情報と、対応するLBS
のラインが変更を受けたかを示すCL ビットを保持し
ている。TAGは複数のウェイで構成されており、一致
したウェイを示す信号生成回路を有している。TLAR
に保持されている論理アドレスの一部でラインが選択さ
れ、エントリ中の物理アドレスの上位ビット群が読み出
され、TLBから送られる物理アドレスと比較器COM
2で比較され一致したウェイが存在すると、ヒットした
ウェイを示す信号が生成される。この信号はLWNR(
LBS Way Number Register),
LBS書込みWAY決定回路D2を介して、LBSへ送
出される。TAGがミスヒットすると、TLBから送ら
れた物理アドレスの主記憶内容をブロックフェッチする
要求が主記憶装置へ出され、LBSへムーブインされる
と同時に、ムーブインされたLBSのウェイおよびエン
トリに対応したTAGのエントリに物理アドレスとCL
ビットが登録される。この時、CL ビットは0であ
る。登録が行われた後TAGは再アクセスされ、必ずT
AGマッチが検出される。Embodiment FIG. 2 shows an embodiment of an S unit for carrying out the present invention. FIG. 3 is a time chart of this S unit. This S unit operates according to a pipeline indicated by (P-T-B-R). P is prio
ity, T is TLB TAG access, B
represents the cycle of Buffer access, and R represents the cycle of result. TLAR (T cycle
Logical Address Register)
holds the logical address sent from the I unit in the P cycle for T cycles. A line of the TLB is selected by a portion of the logical address held by the TLAR. T
The LB is composed of one or more ways, and has a comparison device COM1 corresponding to each way, a signal generation circuit indicating a matched way, and physical address and CP bit selection circuits SEL1 and SEL2. There is. This signal generation circuit is TWNR (TLB Way Num
ber Register), TLB write way determination circuit D1. The logical address registered in this entry and the upper bit group of TLAR are compared and if they match, the upper bit group of the physical address held in the same entry and the CP bit are
It is output through EL2. If a matching way does not exist, a dynamic address translation (DAT) circuit is activated by a signal indicating a TLB miss, and a physical address corresponding to the logical address is calculated and registered in the TLB. At this time, the CP bit is reset to 0 and written. After registration, the TLB is accessed again and a TLB match is always detected. TAG is the address information of the data held in the LBS and the corresponding LBS.
It holds a CL bit indicating whether the line has undergone a change. The TAG is made up of a plurality of ways and has a signal generation circuit that indicates a matched way. TLAR
A line is selected using part of the logical address held in the TLB, the upper bits of the physical address in the entry are read out, and the physical address sent from the TLB and the comparator COM are read out.
If a matching way exists after comparison in step 2, a signal indicating the hit way is generated. This signal is LWNR (
LBS Way Number Register),
It is sent to the LBS via the LBS write WAY determination circuit D2. When a TAG misses, a request is issued to the main memory to fetch the main memory contents of the physical address sent from the TLB, and at the same time, the TAG corresponding to the way and entry of the moved-in LBS is moved in to the LBS. physical address and CL in the entry of
The bit is registered. At this time, the CL bit is 0. After registration, the TAG is re-accessed and always
An AG match is detected.
【0015】BAAR(B cycle Absolu
te AddressRegister) は論理アド
レスに対応する物理アドレスをBサイクルの間保持する
。物理アドレスの上位ビット群はTLBから送られてく
るが、下位ビット群はTLARの論理アドレスの下位ビ
ット群(Byte Index) から送られてくる。BAAR (B cycle Absolute)
te AddressRegister) holds the physical address corresponding to the logical address for B cycles. The upper bit group of the physical address is sent from the TLB, while the lower bit group is sent from the lower bit group (Byte Index) of the logical address of the TLAR.
【0016】STAAR(Store Absolut
e Address Register)はストア先の
物理アドレスを保持する。TWNRはTLBのヒットし
たウェイを示す信号を保持し、CP ビットを1にセッ
トするウェイを決定する際に参照される。LWNRはT
AGのヒットしたウェイを示す信号を保持し、LBSの
アクセスおよびCL ビットを1にセットするTAGの
ウェイを決定する際に参照される。EUSTDR(E
Unit Store Data Register)
はEユニットからのストアデータを保持する。このレジ
スタにデータを取り込むタイミングを指示するのが、I
ユニットから送られてくるIU STDV( I U
nit Store Data Valid) 信号で
ある。PCFR( Page Change Fla
g Register) はTLBから読み出されたペ
ージの変更を示すCP ビットを保持する。なお、LS
Bデータ選択器SEL3はLBSの各ウェイから読み出
されたデータを選択してIユニットあるいはEユニット
へ送出するためのものである。[0016] STAAR (Store Absolute)
e Address Register) holds the physical address of the storage destination. TWNR holds a signal indicating the way in which the TLB has been hit, and is referenced when determining the way to set the CP bit to 1. LWNR is T
It holds a signal indicating the way of the AG hit and is referenced when determining the TAG way to access the LBS and set the CL bit to 1. EUSTDR(E
Unit Store Data Register)
holds store data from the E unit. The I
IU STDV sent from the unit (IU
nit Store Data Valid) signal. PCFR(Page Change Fla
gRegister) holds the CP bit indicating page changes read from the TLB. In addition, L.S.
The B data selector SEL3 is for selecting data read from each way of the LBS and sending it to the I unit or the E unit.
【0017】STDR(Store Data Reg
ister)はEUSTDRの出力をLBSの所定のア
ドレスに書き込まれるように、アラインして保持する。
STDRの出力はBDIR(B cycle Data
in Register)を介してLBSに書き込ま
れる。TLB書込ウェイ決定回路D1はTWNRに保持
されている値でTLBのウェイを選択し、PCFRの値
が0であればTLBの選択されたウェイへ書込み可能を
示す信号(CG)を送る。LBS書込ウェイ決定回路D
2はLWNRに保持されている値でTAG,LBSのウ
ェイを選択する。選択されたTAGのウェイへ書込み可
能信号(CG)を送りLBSのブロックの変更を示すC
L ビットを1にセットする。PCFRの値を反転させ
た信号と、ストアのフローを実行中であることを示す信
号(STORE ACCESS) との論理積が1であ
ればSET MCU REQを1にセットし、MC
Uに主記憶装置へのリクエストが存在することを通知す
る。この次のタイミングで、主記憶装置に対してリクエ
ストの内容を示すタグと対象となるアドレスを送出する
。STDR (Store Data Reg)
ister) aligns and holds the output of EUSTDR so that it is written to a predetermined address of the LBS. The output of STDR is BDIR (B cycle Data
in Register). The TLB write way determining circuit D1 selects a TLB way using the value held in TWNR, and if the value of PCFR is 0, sends a signal (CG) indicating that writing is possible to the selected TLB way. LBS write way determination circuit D
2 selects the TAG and LBS ways using the value held in LWNR. Sends a write enable signal (CG) to the selected TAG way and indicates a change in the LBS block.
Set the L bit to 1. If the AND of the signal that is the inverted value of PCFR and the signal (STORE ACCESS) indicating that a store flow is being executed is 1, set SET MCU REQ to 1, and
Notify U that there is a request to main storage. At the next timing, a tag indicating the content of the request and the target address are sent to the main storage device.
【0018】第2図において、Sユニットの動作をより
具体的に説明する。ここでは、論理アドレスおよび物理
アドレスは31ビットとからなるものとする。論理アド
レスのビット1〜11はセグメントインデックス、ビッ
ト12〜19はページインデックス、ビット20〜31
はバイトインデックスである。バイトインデックスはペ
ージ内変位であり物理アドレスのビット20〜31と等
しい。Referring to FIG. 2, the operation of the S unit will be explained in more detail. Here, it is assumed that the logical address and the physical address consist of 31 bits. Bits 1-11 of the logical address are segment index, bits 12-19 are page index, bits 20-31
is a byte index. The byte index is an intra-page displacement and is equal to bits 20-31 of the physical address.
【0019】TLBはPRIMARY とALTERN
ATE の2つのウェイからなるものとする。1つのウ
ェイは256 ラインから構成されており、各ラインは
論理アドレスのビット1〜ビット11と物理アドレスの
ビット1〜ビット19とページ変更ビット(Cp )を
対にして保持している。[0019]TLB is PRIMARY and ALTERN
It consists of two ways of ATE. One way is composed of 256 lines, and each line holds a pair of logical address bits 1 to 11, physical address bits 1 to 19, and a page change bit (Cp).
【0020】TAGとLBSは8つのウェイからなり、
1つのウェイは64ラインからなっているものとする。
TAGのウェイおよびラインは、LBSのウェイおよび
ラインと1対1に対応しており、LBSにあるデータの
アドレス情報と、LBSのデータがストアにより変更さ
れたことを示す変更ビット(Cl)を保持している。T
AGの保持するアドレスは、論理アドレスあるいは物理
アドレスのいずれかであるが、ここでは物理アドレスの
ビット1〜ビット19を保持している場合について考え
る。
LBSの1つのラインは主記憶の内容を64バイト単位
のブロックにして保持しているものとする。[0020] TAG and LBS consist of 8 ways,
It is assumed that one way consists of 64 lines. TAG ways and lines have a one-to-one correspondence with LBS ways and lines, and hold address information for data in the LBS and a change bit (Cl) that indicates that the data in the LBS has been changed by a store. are doing. T
The address held by AG is either a logical address or a physical address, but here we will consider the case where it holds bits 1 to 19 of the physical address. It is assumed that one line of the LBS holds the contents of the main memory in blocks of 64 bytes.
【0021】TLARはPサイクルに1ユニットから送
られてきたオペランド論理アドレスをTサイクルの間保
持する。TLARが保持する論理アドレスのビット12
〜ビット19によりTLBのラインを選択しPRIMA
RY とALTERNATE それぞれから論理アドレ
スと物理アドレスを読み出す。TLBから読み出された
論理アドレスは論理アドレス比較器COM1においてT
LARのビット1〜ビット11と比較される。論理アド
レス比較器COM1はPRIMARY とALTERN
ATE のそれぞれにあり、論理アドレスの一致が同時
に検査される。2つの論理アドレス比較器から論理アド
レスが一致したことを示す信号が、物理アドレス選択器
SEL1とCp ビット選択器SEL2に送られ、PR
IMARY 側の論理アドレスが一致した場合にはPR
IMARY 側の物理アドレスとCp ビットが選択さ
れ、ALTERNATE 側の論理アドレスが一致した
場合にはALTERNATE 側の物理アドレスとCp
ビットが選択される。また、論理アドレス比較器CO
M1の結果はTWNRに保持される。選択されたCp
ビットはPCFRに保持され、TLBにCp ビットを
登録する際に参照される。TLAR holds the operand logical address sent from one unit in P cycles for T cycles. Bit 12 of the logical address held by TLAR
~Select TLB line by bit 19 and PRIMA
Read the logical address and physical address from RY and ALTERNATE respectively. The logical address read from the TLB is determined by the logical address comparator COM1.
It is compared with bits 1 to 11 of LAR. Logical address comparator COM1 is PRIMARY and ALTERN
ATE and are simultaneously checked for logical address matching. A signal indicating that the logical addresses match from the two logical address comparators is sent to the physical address selector SEL1 and the Cp bit selector SEL2, and the PR
PR if the logical addresses on the IMARY side match.
If the physical address on the IMARY side and the Cp bit are selected and the logical address on the ALTERNATE side match, the physical address on the ALTERNATE side and the Cp bit are selected.
A bit is selected. Also, the logical address comparator CO
The result of M1 is held in TWNR. Selected Cp
The bit is held in the PCFR and is referenced when registering the Cp bit in the TLB.
【0022】また、TLARのビット20〜ビット25
によりTAGのラインを選択し8つのウェイから同時に
LBS内のデータのアドレスを読み出す。各ウェイ毎に
設けられた物理アドレス比較器COM2によりTAGか
ら読み出された物理アドレスと、TLBから読み出され
た物理アドレスが比較される。比較の結果はLWNRに
保持され、LBSのウェイの選択およびCl ビットを
登録するTAGのウェイ選択の際に参照される。[0022] Also, bits 20 to 25 of TLAR
selects the TAG line and reads out data addresses in the LBS simultaneously from eight ways. A physical address comparator COM2 provided for each way compares the physical address read from the TAG with the physical address read from the TLB. The comparison result is held in the LWNR and is referenced when selecting the LBS way and when selecting the TAG way that registers the Cl bit.
【0023】TLB書き込みウェイ決定回路D1は、T
WNRとPCFRの出力を入力としてTLBのPRIM
ARY あるいはALTERNATE のいずれにCp
ビットをセットするかを決定し、そのウェイへ書き込
み可能信号を送出する。LBS書き込みウェイ決定回路
D2はLWNRの出力を入力としてLBSのどのウェイ
をアクセスするか、またTAGのどのウェイにCl ビ
ットをセットするかを決定し、それぞれに書き込み可能
信号を送出する。[0023] The TLB write way determination circuit D1
PRIM of TLB with output of WNR and PCFR as input
Cp for either ARY or ALTERNATE
Decide whether to set the bit and send a write enable signal to that way. The LBS write way determination circuit D2 receives the output of the LWNR, determines which way of the LBS is to be accessed, and which way of the TAG to set the Cl bit, and sends a write enable signal to each.
【0024】BAARは物理アドレス選択器SEL1で
選択された物理アドレスをBサイクルにおいて保持する
。STAARはBAARの出力をストア要求のRサイク
ル以降保持する。MRQAR(MCU ReQues
t Address Register) はSTAA
Rの出力を入力としてMCUへ物理アドレスを送出する
。レジスタRはTLARのビット20〜ビット25をB
サイクルの間保持し、この出力でLBSのラインを選択
する。BAAR holds the physical address selected by physical address selector SEL1 in the B cycle. STAAR holds the output of BAAR after the R cycle of the store request. MRQAR(MCU ReQues
tAddress Register) is STAA
A physical address is sent to the MCU using the output of R as an input. Register R sets bits 20 to 25 of TLAR to B
This output is held for a cycle and selects the LBS line.
【0025】ストアするデータはEユニットから送出さ
れ、このデータが有効であることを示すIU STD
V信号をIユニットから受け取ってEUSTDRにデー
タを取り込む。EUSTDRの出力はALIGN回路に
より、LBSのアドレスにあわされ、STDRを介して
BDIRに取り込まれ、LBSに書き込まれる。The data to be stored is sent from the E unit, and the IU STD indicates that this data is valid.
It receives the V signal from the I unit and takes in the data to EUSTDR. The output of EUSTDR is matched to the address of LBS by the ALIGN circuit, taken into BDIR via STDR, and written to LBS.
【0026】PCFRの値が0、すなわちページ変更ビ
ットCp =0かつ、STORE ACCESSが1
のとき、つまり当該ページに対する最初のストアの時の
みにANDの出力データは1となり、これをSET
MCU REQにラッチしてMCUへリクエストを出
し、主記憶の記憶キー内の変更ビットを1にセットする
。2回目以降のストアの際には、PCFRの出力信号は
1であるためANDの出力は0となりSET MCU
REQはセットされない。このため主記憶装置に対
してはアクセスは行われない。[0026] When the value of PCFR is 0, that is, the page change bit Cp = 0 and STORE ACCESS is 1.
In other words, only when the page is first stored, the output data of AND is 1, and this is set as SET.
Latch MCU REQ to issue a request to the MCU and set the change bit in the memory key of the main memory to 1. During the second and subsequent stores, the output signal of PCFR is 1, so the output of AND is 0, and SET MCU
REQ is not set. Therefore, no access is made to the main memory.
【0027】次に第3図のタイミングチャートを用いて
第2図の実施例を説明する。まず、Pサイクルにおいて
、1ユニットからストア要求とストアを行うべき論理ア
ドレスが送られてくる。この要求のプライオリティが取
られるとストアの第1フローが開始される。Tサイクル
においてTLARはPサイクルに1ユニットから送られ
てきた論理アドレス00001004を取り込み保持す
る。この論理アドレスによりTLBとTAGのラインが
選択される。論理アドレス比較器COM1により論理ア
ドレスを比較した結果、PRIMARY 側が一致し物
理アドレス000E404 に変換される。TAGから
読み出された物理アドレスとTLBから得られた物理ア
ドレスを物理アドレス比較器COM2において比較した
結果TAGのウェイ3がヒットし、ストアを行うべきブ
ロックがLBSのウェイ3に存在することが検出される
。Next, the embodiment shown in FIG. 2 will be explained using the timing chart shown in FIG. First, in the P cycle, one unit sends a store request and a logical address to which the store should be performed. The first flow of stores is initiated when this request is prioritized. In the T cycle, TLAR takes in and holds the logical address 00001004 sent from 1 unit in the P cycle. This logical address selects the TLB and TAG lines. As a result of comparing the logical addresses by the logical address comparator COM1, the PRIMARY side matches and is converted to the physical address 000E404. As a result of comparing the physical address read from TAG and the physical address obtained from TLB in physical address comparator COM2, way 3 of TAG is hit, and it is detected that the block to be stored exists in way 3 of LBS. be done.
【0028】変換された物理アドレスはBサイクルにお
いてBAARに保持される。BAARの出力をSTAA
Rは入力としてストアを行うべき物理アドレスをRサイ
クル以降保持する。また、Rサイクル以降、LWNRに
LBSのウェイ番号3が、TWNRにPRIMARY
を示すデータが保持される。このRサイクルにIユニッ
トからIU STDV信号が、Eユニットからストア
データが送られてくる。IU STDV信号を受けた
Sユニットは、ストアの第2フローを開始するためのO
P STORE REQUEST信号をセットする
。これと同時に、Iユニットへストア要求の処理が完了
したことを示すSTV(STatus Valid)信
号を返す。The translated physical address is held in BAAR in the B cycle. BAAR output to STAA
R holds as input the physical address to be stored from the R cycle onward. Also, after the R cycle, LBS way number 3 is assigned to LWNR, and PRIMARY is assigned to TWNR.
Data indicating this is retained. During this R cycle, an IU STDV signal is sent from the I unit, and store data is sent from the E unit. The S unit that receives the IU STDV signal sends an O
Set the P STORE REQUEST signal. At the same time, an STV (STatus Valid) signal is returned to the I unit indicating that the processing of the store request has been completed.
【0029】OP STORE REQUEST信
号によりストアの第1フローが開始される。このPサイ
クルにおいて、第1のフローのTサイクルにTLBから
読み出されたCp ビットの値0がPCFRに保持され
る。ストアアクセスの状態でPCFR=0であるから、
図2のANDの出力が1となりSETMCU REQ
ラッチがセットされる。EUSTDRには直前のサイク
ルに送られてきたIU STDV信号をタイミング信
号として、EU STORE DATA“0043
D5F2”を取り込む。The OP STORE REQUEST signal initiates the first flow of stores. In this P cycle, the value 0 of the Cp bit read from the TLB in the T cycle of the first flow is held in the PCFR. Since PCFR=0 in the state of store access,
The output of AND in Figure 2 becomes 1 and SETMCU REQ
The latch is set. EU STORE DATA “0043” is sent to EUSTDR using the IU STDV signal sent in the previous cycle as a timing signal.
D5F2”.
【0030】次にTサイクルにおいて、TLARにより
ストアの第1フローで選択されたラインと同じTLBと
TAGのラインを選択する。選択すべきウェイは、TW
NRとLWNRの値を参照し、TLBはPRIMARY
側、TAGはウェイ3が選択される。選択されたTL
BのPRIMARY 側のラインにCp ビットとして
1を書き込む。TAGのウェイ3の選択されたラインに
はLBSのデータか変更を受けていることを示すCl
ビットとして1を書き込む。また、Pサイクルにおいて
SET MCU REQがセットされており、リク
エストの内容としてSET KEY STORAG
E CHANGE BITがMCUへ送られる。こ
れと同時に記憶キーのアドレスとして、STAARの出
力がMRQARに取り込まれ、MCUへ送られる。なお
、このフローにおいては論理アドレスを物理アドレスに
変換する必要はないため、TLBによるアドレス変換を
行わないように、BYPASS TLB信号がセット
される。Next, in the T cycle, the TLAR selects the same TLB and TAG line as the line selected in the first flow of the store. The way to choose is TW
Referring to the values of NR and LWNR, TLB is PRIMARY
Way 3 is selected for TAG. Selected TL
Write 1 as the Cp bit to the line on the PRIMARY side of B. The selected line of way 3 of TAG has CL indicating that the LBS data has been changed.
Write 1 as a bit. Also, SET MCU REQ is set in the P cycle, and SET KEY STORAG is set as the content of the request.
E CHANGE BIT is sent to MCU. At the same time, the output of STAAR is taken into MRQAR as the address of the storage key and sent to MCU. Note that in this flow, there is no need to convert a logical address into a physical address, so the BYPASS TLB signal is set so that address conversion by TLB is not performed.
【0031】次にBサイクルにおいて、LBSのウェイ
3の選択されたラインにストアデータが書き込まれ、全
ての処理が完了する。set MCU reqではMC
Uにrequest があることを伝えて、次のタイミ
ングでset key storage change
bit という要求をMCUの方に転送する。すな
わち、set MCU reqの内容がset key
storage change bitにあたる。M
CU requestregister がMCUにど
のキーを操作するのかのアドレスを伝える。すなわち、
キーをページ単位でもっているから、アドレスを考えな
いと、どこのキーのチェンジビットを1にセットすれば
よいのかわからない。そのためのアドレスを通知するレ
ジスタがMRQR(MCU Request Regi
ster)である。そして、MRQRはページ単位の記
憶キーアドレス0000E400を与える。Next, in cycle B, store data is written to the selected line of way 3 of the LBS, and all processing is completed. MC in set MCU request
Tell U that there is a request and set key storage change at the next timing
Transfers the request bit to the MCU. In other words, the contents of set MCU request are set key
This corresponds to the storage change bit. M
The CU request register tells the MCU the address of which key to operate. That is,
Since keys are held in page units, it is difficult to know which key's change bit should be set to 1 unless you consider the address. The register that notifies the address for this purpose is MRQR (MCU Request Register).
star). Then, MRQR gives a storage key address 0000E400 in page units.
【0032】上述したように、従来は主記憶装置の変更
ビットCビットをセットするという信号をMSUの方に
ストアのたびに送っていたのに対し、本発明では、最初
のストアのときだけ送ればよい。As mentioned above, whereas conventionally a signal to set the change bit C bit of the main memory was sent to the MSU every time a store was performed, in the present invention, the signal to set the change bit C bit of the main memory was sent only for the first store. Bye.
【0033】Cビットは一度変更が行われたページに対
しては、ページアウトされるまでは1のままである。し
たがって最初のストアのときにセットしてしまえば後ス
トア命令が何回到来しても、最初のストアのときだけ変
えれば十分なわけである。The C bit remains 1 for a page once modified until it is paged out. Therefore, if it is set during the first store, it is sufficient to change it only during the first store, no matter how many times subsequent store instructions arrive.
【0034】[0034]
【発明の効果】本発明によれば、ストアイン方式におい
て、主記憶装置への変更ビットCビットを1にセットす
る要求を最初のストアのときのみ行うことにより、スト
ア動作における主記憶装置へのアクセス回数を減少させ
ることにより、計算機装置の一層の高速動作を達成する
ことができる。According to the present invention, in the store-in method, by making a request to set the change bit C bit to 1 to the main memory only at the first store, By reducing the number of accesses, even faster operation of the computer device can be achieved.
【図1】本発明の原理ブロック図である。FIG. 1 is a block diagram of the principle of the present invention.
【図2】本発明の一実施例のブロック図である。FIG. 2 is a block diagram of one embodiment of the invention.
【図3】本実施例のタイムチャートである。FIG. 3 is a time chart of this embodiment.
【図4】記憶キーを示す図である。FIG. 4 is a diagram showing a storage key.
【図5】従来例のブロック図である。FIG. 5 is a block diagram of a conventional example.
1 バッファ記憶 2 DAT回路 4 中央処理装置 5 記憶キー 6 主記憶装置 1 Buffer memory 2 DAT circuit 4 Central processing unit 5 Memory key 6 Main memory
Claims (1)
と、論理アドレスを物理アドレスに変換する動的アドレ
ス変換機構(2)と、動的アドレス変換の結果を保持し
論理アドレスから物理アドレスへの変換を高速に行うT
LB(3)とを有する、1つあるいは複数の中央処理装
置(4)と、主記憶内のページごとに設けられた記憶キ
ー(5)を有する主記憶装置(6)と、からなる情報処
理装置において、前記TLB中に記憶キー内の変更ビッ
トの更新を行ったことを示す制御ビット(7)を設けて
該制御ビット(7)に基づいて、主記憶のあるページに
対する変更が初めて行われた時のみ、主記憶装置(6)
へ記憶キー(5)内の変更ビットの更新を要求する記憶
キー変更ビット更新手段(8)を有することを特徴とす
る記憶キー制御方式。[Claim 1] Store-in type buffer storage (1)
, a dynamic address translation mechanism (2) that converts logical addresses to physical addresses, and T that holds the results of dynamic address translation and performs high-speed translation from logical addresses to physical addresses.
An information processing system comprising one or more central processing units (4) having a LB (3), and a main memory (6) having a memory key (5) provided for each page in the main memory. In the device, a control bit (7) indicating that a change bit in the storage key has been updated is provided in the TLB, and based on the control bit (7), a change is made to a page in the main memory for the first time. Main memory (6)
A storage key control system characterized by comprising storage key change bit updating means (8) for requesting update of a change bit in a storage key (5).
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2-282640 | 1990-10-20 | ||
| JP28264090 | 1990-10-20 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04213133A true JPH04213133A (en) | 1992-08-04 |
| JPH0719229B2 JPH0719229B2 (en) | 1995-03-06 |
Family
ID=17655149
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3010614A Expired - Lifetime JPH0719229B2 (en) | 1990-10-20 | 1991-01-31 | Memory key control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0719229B2 (en) |
-
1991
- 1991-01-31 JP JP3010614A patent/JPH0719229B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0719229B2 (en) | 1995-03-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5371870A (en) | Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching | |
| US4583165A (en) | Apparatus and method for controlling storage access in a multilevel storage system | |
| US4995041A (en) | Write back buffer with error correcting capabilities | |
| US5388247A (en) | History buffer control to reduce unnecessary allocations in a memory stream buffer | |
| US5461718A (en) | System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory | |
| US5586294A (en) | Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer | |
| US5659713A (en) | Memory stream buffer with variable-size prefetch depending on memory interleaving configuration | |
| EP0036110B1 (en) | Cache addressing mechanism | |
| JP4045062B2 (en) | Method, processor, and system for executing load instructions | |
| US5155832A (en) | Method to increase performance in a multi-level cache system by the use of forced cache misses | |
| US20030023814A1 (en) | Method and system for detecting and resolving virtual address synonyms in a two-level cache hierarchy | |
| US5555395A (en) | System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table | |
| JP2001195303A (en) | Translation lookaside buffer whose function is parallelly distributed | |
| JP3431878B2 (en) | Instruction cache for multithreaded processors | |
| US5479629A (en) | Method and apparatus for translation request buffer and requestor table for minimizing the number of accesses to the same address | |
| US5452418A (en) | Method of using stream buffer to perform operation under normal operation mode and selectively switching to test mode to check data integrity during system operation | |
| EP0468804A2 (en) | Hierarchical memory control system | |
| US5341485A (en) | Multiple virtual address translation per computer cycle | |
| US4648033A (en) | Look-aside buffer LRU marker controller | |
| KR100218616B1 (en) | Transmission method and system for providing next address during current transaction | |
| US6298355B1 (en) | Computer system | |
| US4737908A (en) | Buffer memory control system | |
| JPH0756808A (en) | Data cache buffer and storage method | |
| US5510973A (en) | Buffer storage control system | |
| EP0140533A2 (en) | Time shared translation buffer |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19951219 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080306 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090306 Year of fee payment: 14 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100306 Year of fee payment: 15 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100306 Year of fee payment: 15 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110306 Year of fee payment: 16 |
|
| EXPY | Cancellation because of completion of term |