JPH10198603A - Information processing system, its control method and information processor - Google Patents

Information processing system, its control method and information processor

Info

Publication number
JPH10198603A
JPH10198603A JP9001442A JP144297A JPH10198603A JP H10198603 A JPH10198603 A JP H10198603A JP 9001442 A JP9001442 A JP 9001442A JP 144297 A JP144297 A JP 144297A JP H10198603 A JPH10198603 A JP H10198603A
Authority
JP
Japan
Prior art keywords
cache
storage device
cache blocks
priority
information processing
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.)
Withdrawn
Application number
JP9001442A
Other languages
Japanese (ja)
Inventor
Toshiyuki Fukui
俊之 福井
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP9001442A priority Critical patent/JPH10198603A/en
Publication of JPH10198603A publication Critical patent/JPH10198603A/en
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To attain improvement in throughput by discriminating the storage device to which plural cache blocks belong, and replacing any one of plural cache blocks based on the discriminated result. SOLUTION: Whether it is necessary to replace the cache block or not is discriminated. When it is necessary to perform replacement, any one of cache blocks under using is selected and defined as an object to replace newly read data. Next, when the permission of utilization of a shared bus 15 is provided, a cache memory 11 transfers its address to a shared address 151. Then, a read request and the address of read access are accepted by the memory 12 and data are transferred to a shared bus 152. The cache memory 11 registers the data transferred to the shared data bus 152 on the entry of data block selected as the replacing object of SRAN in the cache memory 11.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はアクセス遅延の異な
る複数の記憶装置を有するシステムにおけるキャッシュ
・メモリのデータブロックの置換制御を実行する情報処
理システム及びその制御方法、情報処理装置に関するも
のである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing system for executing replacement control of data blocks in a cache memory in a system having a plurality of storage devices having different access delays, a control method thereof, and an information processing apparatus.

【0002】[0002]

【従来の技術】近年の計算機システムにおいては、記憶
装置(以下メモリに代表させる)に対し発せられるプロ
セッサからのアクセス要求に高速に応答するため、各プ
ロセッサにはキャッシュ・メモリが付随されることが多
い。プロセッサから発行されるメモリへのアクセス要求
はキャッシュ・メモリを介して行われ、キャッシュ・メ
モリ中にはそれらメモリへのアクセス要求対象のデータ
ブロックのコピーが置かれることとなる。
2. Description of the Related Art In recent computer systems, a cache memory is attached to each processor in order to quickly respond to an access request from a processor issued to a storage device (hereinafter, represented by a memory). Many. An access request to a memory issued from a processor is made via a cache memory, and a copy of a data block for which access to the memory is requested is placed in the cache memory.

【0003】キャッシュ・メモリの構成法としてはダイ
レクトマップ方式、フルアソシアティブ方式、セット・
アソシアティブ方式等が代表的なものとして挙げられ
る。これらは、既に公知の構成法であり、例えば”Co
mputer Architecture a Qua
ntitative Approach” Secon
d Edition(David A. Patter
son, John L.Hennessy 著、以
下、参考文献1と呼ぶ)の376、377ページにこれ
らに関する記載がある。
[0003] As a method of configuring a cache memory, a direct map method, a fully associative method, a set
A typical example is an associative method. These are already known construction methods, for example, “Co
mputer Architecture a Qua
active Approach ”Second
d Edition (David A. Pattern)
Son, John L. Hennessy, hereinafter referred to as Reference Document 1), pages 376 and 377, describe these.

【0004】キャッシュ・メモリにおいて、キャッシュ
・ミスした場合にはキャッシュ・ブロックを置き換える
必要が生じる。その場合、上記の3方式の中でも、比較
的今日良く用いられるセット・アソシアティブ方式で
は、置き換えの候補となるキャッシュ・ブロックが複数
あり、その中からどのキャッシュ・ブロックを置き換え
るかを選択しなければならない。選択方法としては、主
としてランダム法とLRU(Least‐Recent
ly Used)法のうちのいずれか、もしくはそれに
似せた方法が取られていることが多い。尚、各手法に関
しては参考文献1の378ページ等に記載がある。
In a cache memory, when a cache miss occurs, it is necessary to replace a cache block. In this case, among the three methods, in the set associative method, which is relatively frequently used today, there are a plurality of cache blocks which are candidates for replacement, and it is necessary to select which cache block is to be replaced. . The selection method mainly includes a random method and LRU (Least-Recent).
ly Used) method, or a method similar thereto. Each method is described on page 378 of Reference 1.

【0005】一方、近年の計算機の処理能力の向上の要
求に応えて分散共有メモリ型のクラスタ型計算機及びそ
れらを複数構成した計算機システムが見られるようにな
ってきた。図1にその概略を示す。これは複数の単体の
計算機をノードとし、高速のネットワークで接続し、一
つの大きな計算機システムとして稼働させることによ
り、処理能力を向上させることをねらったものである。
これらのシステムの場合、あるノード1に存在するプロ
セッサ10からは自ノード1内部のメモリ12とノード
2上に存在するメモリ22とにアクセスすることが可能
である。メモリ12とメモリ22とのプロセッサ10か
ら見た差異は、メモリ22の方がネットワークを介して
アクセスするためアクセス遅延が大きいことである。し
かし、キャッシュ・メモリ11の存在により、一旦キャ
ッシュ・メモリ11にデータブロックが格納されてしま
えば、それ以降のプロセッサ10からのアクセスに関し
てはアクセス遅延は隠蔽され、処理能力の向上が期待で
きる。
[0005] On the other hand, in response to the recent demand for improvement in the processing capability of computers, distributed shared memory type cluster computers and computer systems comprising a plurality of such computers have come to be seen. FIG. 1 shows the outline. This aims to improve the processing capacity by connecting a plurality of single computers as nodes, connecting them via a high-speed network, and operating them as one large computer system.
In the case of these systems, the processor 10 existing in a certain node 1 can access the memory 12 in the own node 1 and the memory 22 existing in the node 2. The difference between the memory 12 and the memory 22 from the viewpoint of the processor 10 is that the memory 22 has a longer access delay because it is accessed via the network. However, once a data block is stored in the cache memory 11 due to the presence of the cache memory 11, the access delay is concealed for subsequent accesses from the processor 10, and an improvement in processing performance can be expected.

【0006】[0006]

【発明が解決しようとする課題】しかしながら、上記従
来のセットアソシアティブ方式をとったキャッシュ・メ
モリにおいて、一旦、キャッシュ・ミスが発生すると、
LRU法等のメモリアクセス遅延を考慮しない方法でキ
ャッシュ・ブロックの置換対象の選択を行っていた。そ
のため、クラスタ方式のようなメモリアクセス遅延に大
きな差異を生じるようなシステムにおいては、そのキャ
ッシュ・ブロックがノード内、ノード外のいずれにある
かに関わらず置換対象として選択されてしまう。その結
果、特に、ノード外のアドレスに対応するデータのキャ
ッシュ・ブロックが置換対象として選択され、再び、そ
のノード外のメモリにアクセスした場合には、大きなメ
モリアクセス遅延が必要となり、システム全体の性能の
著しい低下を招く一因となっていた。
However, once a cache miss occurs in the above-mentioned conventional set-associative cache memory,
The replacement target of the cache block is selected by a method that does not consider the memory access delay such as the LRU method. Therefore, in a system such as a cluster system in which a large difference occurs in memory access delay, the cache block is selected as a replacement target regardless of whether the cache block is inside or outside the node. As a result, particularly when a cache block of data corresponding to an address outside the node is selected as a replacement target and the memory outside the node is accessed again, a large memory access delay is required, and the performance of the entire system is reduced. This has led to a significant drop in

【0007】本発明は上記の問題点を鑑みてなされたも
のであり、処理能力を向上させることができる情報処理
システム及びその制御方法、情報処理装置を提供するこ
とを目的とする。
[0007] The present invention has been made in view of the above problems, and has as its object to provide an information processing system, a control method thereof, and an information processing apparatus capable of improving the processing capability.

【0008】[0008]

【課題を解決するための手段】上記の目的を解決するた
めの本発明による情報処理装置は以下の構成を備える。
即ち、第1の記憶装置と、該第1の記憶装置よりもアク
セス遅延が大きい第2の記憶装置と、複数のキャッシュ
・ブロックを有するキャッシュ・メモリとを備える情報
処理システムであって、前記複数のキャッシュ・ブロッ
クのいずれかを置換する場合、該複数のキャッシュ・ブ
ロックそれぞれが前記第1の記憶装置及び前記第2の記
憶装置のどちらに属しているかを判定する判定手段と、
前記判定手段の判定結果に基づいて、前記複数のキャッ
シュ・ブロックのいずれかを置換する置換手段とを備え
る。
An information processing apparatus according to the present invention for solving the above-mentioned object has the following arrangement.
That is, an information processing system including a first storage device, a second storage device having a longer access delay than the first storage device, and a cache memory having a plurality of cache blocks. When replacing any one of the cache blocks, a determination unit that determines whether each of the plurality of cache blocks belongs to the first storage device or the second storage device;
A replacement unit that replaces one of the plurality of cache blocks based on a determination result of the determination unit.

【0009】また、好ましくは、前記置換手段による置
換対象としない優先度を前記複数のキャッシュ・ブロッ
ク毎に保持する保持手段を更に備え、前記判定手段の判
定結果及び前記保持手段が保持する優先度に基づいて、
前記置換手段は前記複数のキャッシュ・ブロックのいず
れかを置換する。また、好ましくは、前記置換手段によ
る置換されるキャッシュ・ブロックの優先度に基づい
て、該キャッシュ・ブロックを含む前記複数のキャッシ
ュ・ブロックの優先度を変更する変更手段を更に備え
る。
Preferably, the apparatus further comprises holding means for holding, for each of the plurality of cache blocks, a priority not to be replaced by the replacement means, wherein the determination result of the determination means and the priority held by the holding means are provided. On the basis of,
The replacement means replaces one of the plurality of cache blocks. Preferably, the apparatus further comprises changing means for changing the priority of the plurality of cache blocks including the cache block based on the priority of the cache block replaced by the replacing means.

【0010】また、好ましくは、前記変更手段は、前記
置換手段によって置換されるキャッシュ・ブロックの優
先度を最上位に変更し、該優先度と同じあるいはそれ以
下の優先度を持つキャッシュ・ブロックの優先度を上昇
させる。また、好ましくは、前記複数のキャッシュ・ブ
ロックそれぞれ保持するデータが有効であるか否かを示
す情報を管理する管理手段を更に備え、前記判定手段の
判定結果及び前記保持手段が保持する優先度及び前記管
理手段が管理する情報に基づいて、前記置換手段は前記
複数のキャッシュ・ブロックのいずれかを置換する。
Preferably, the changing means changes the priority of the cache block to be replaced by the replacing means to the highest priority, and sets the priority of the cache block having the same or lower priority as the priority. Increase priority. Preferably, the apparatus further comprises management means for managing information indicating whether the data held by each of the plurality of cache blocks is valid or not, wherein the determination result of the determination means and the priority held by the holding means and The replacement unit replaces any of the plurality of cache blocks based on information managed by the management unit.

【0011】また、好ましくは、有効なデータを保持し
ていないキャッシュ・ブロックを示す情報を前記管理手
段が管理し、かつ前記複数のキャッシュ・ブロックのい
ずれかを置換する場合は、前記置換手段は該有効なデー
タを保持していないキャッシュ・ブロックを置換する。
また、好ましくは、前記判定手段は、前記第1の記憶装
置と前記第2の記憶装置それぞれに割り当てられたアド
レス空間に基づいて、前記複数のキャッシュ・ブロック
それぞれが前記第1の記憶装置及び前記第2の記憶装置
のどちらに属しているかを判定する。
Preferably, when the management means manages information indicating a cache block that does not hold valid data and replaces any of the plurality of cache blocks, the replacement means Replace the cache block that does not hold the valid data.
Also, preferably, the determination unit determines that each of the plurality of cache blocks is based on an address space allocated to each of the first storage device and the second storage device. It is determined to which of the second storage devices it belongs.

【0012】上記の目的を達成するための本発明による
情報処理システムの制御方法は以下の構成を備える。即
ち、第1の記憶装置と、該第1の記憶装置よりもアクセ
ス遅延が大きい第2の記憶装置と、複数のキャッシュ・
ブロックを有するキャッシュ・メモリとを備える情報処
理システムの制御方法であって、前記複数のキャッシュ
・ブロックのいずれかを置換する場合、該複数のキャッ
シュ・ブロックそれぞれが前記第1の記憶装置及び前記
第2の記憶装置のどちらに属しているかを判定する判定
工程と、前記判定工程の判定結果に基づいて、前記複数
のキャッシュ・ブロックのいずれかを置換する置換工程
とを備える。
A control method for an information processing system according to the present invention for achieving the above object has the following configuration. That is, a first storage device, a second storage device having a longer access delay than the first storage device, and a plurality of caches
A method of controlling an information processing system including a cache memory having blocks, wherein when replacing any one of the plurality of cache blocks, each of the plurality of cache blocks includes the first storage device and the And a replacement step of replacing any one of the plurality of cache blocks based on the determination result of the determination step.

【0013】上記の目的を達成するための本発明による
情報処理装置は以下の構成を備える。即ち、第1の記憶
装置と、該第1の記憶装置よりもアクセス遅延が大きい
第2の記憶装置と、複数のキャッシュ・ブロックを有す
るキャッシュ・メモリとを備える情報処理装置であっ
て、前記複数のキャッシュ・ブロックのいずれかを置換
する場合、該複数のキャッシュ・ブロックそれぞれが前
記第1の記憶装置及び前記第2の記憶装置のどちらに属
しているかを判定する判定手段と、前記判定手段の判定
結果に基づいて、前記複数のキャッシュ・ブロックのい
ずれかを置換する置換手段と、を備える。
An information processing apparatus according to the present invention for achieving the above object has the following configuration. That is, an information processing apparatus including a first storage device, a second storage device having a longer access delay than the first storage device, and a cache memory having a plurality of cache blocks. When replacing any of the cache blocks, the determination unit determines which one of the plurality of cache blocks belongs to the first storage device or the second storage device; and Replacement means for replacing any of the plurality of cache blocks based on the determination result.

【0014】上記の目的を達成するための本発明による
コンピュータ可読メモリは以下の構成を備える。即ち、
第1の記憶装置と、該第1の記憶装置よりもアクセス遅
延が大きい第2の記憶装置と、複数のキャッシュ・ブロ
ックを有するキャッシュ・メモリとを備える情報処理シ
ステムの制御のプログラムコードが格納されたコンピュ
ータ可読メモリであって、前記複数のキャッシュ・ブロ
ックのいずれかを置換する場合、該複数のキャッシュ・
ブロックそれぞれが前記第1の記憶装置及び前記第2の
記憶装置のどちらに属しているかを判定する判定工程の
プログラムコードと、前記判定手段の判定結果に基づい
て、前記複数のキャッシュ・ブロックのいずれかを置換
する置換工程のプログラムコードとを備える。
A computer-readable memory according to the present invention for achieving the above object has the following configuration. That is,
A program code for controlling an information processing system including a first storage device, a second storage device having a longer access delay than the first storage device, and a cache memory having a plurality of cache blocks is stored. Replacing any of the plurality of cache blocks with the plurality of cache blocks.
Which of the plurality of cache blocks is determined based on a program code of a determination step of determining whether each block belongs to the first storage device or the second storage device, and a determination result of the determination unit. And a program code of a replacement step of replacing the data.

【0015】[0015]

【発明の実施の形態】以下、図面を参照して本発明の好
適な実施形態を詳細に説明する。 <実施形態1>図1は本発明を実現する実施形態1の計
算機システムの構成を示すブロック図である。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Preferred embodiments of the present invention will be described below in detail with reference to the drawings. <First Embodiment> FIG. 1 is a block diagram showing a configuration of a computer system according to a first embodiment for realizing the present invention.

【0016】尚、図1では、単体で動作し得る計算機を
それぞれノード1、ノード2とし、2つのノードが外部
バス5によって相互に接続されることにより分散共有メ
モリ型のクラスタ型計算機システムを構成する。図1に
おいて、10、20は各ノード1、2のプロセッサであ
り、各プロセッサ10、20は、プロセッサバス14、
24を介してそれぞれキャッシュ・メモリ11、21に
接続される。プロセッサバス14は、プロセッサアドレ
スバス141、プロセッサデータバス142、プロセッ
サコントロールバス143から構成されている。同様
に、プロセッサバス24は、プロセッサアドレスバス2
41、プロセッサデータバス242、プロセッサコント
ロールバス243から構成されている。
In FIG. 1, a computer which can operate alone is a node 1 and a node 2, respectively, and the two nodes are mutually connected by an external bus 5 to constitute a distributed shared memory type cluster type computer system. I do. In FIG. 1, reference numerals 10 and 20 denote processors of the nodes 1 and 2, respectively.
24 are connected to the cache memories 11 and 21, respectively. The processor bus 14 includes a processor address bus 141, a processor data bus 142, and a processor control bus 143. Similarly, the processor bus 24 is connected to the processor address bus 2
41, a processor data bus 242, and a processor control bus 243.

【0017】また、各キャッシュ・メモリ11、21は
共有バス15、25を介してメモリ12、22、及びノ
ード間の接続を司る外部バスインタフェース13、23
と接続される。共有バス15は、共有アドレスバス15
1、共有データバス152、共有コントロールバス15
3から構成されている。同様に、共有バス25は、共有
アドレスバス251、共有データバス252、共有コン
トロールバス253から構成されている。
The cache memories 11 and 21 are connected to the memories 12 and 22 via the shared buses 15 and 25 and external bus interfaces 13 and 23 for controlling connections between the nodes.
Connected to The shared bus 15 is a shared address bus 15
1. Shared data bus 152, shared control bus 15
3 is comprised. Similarly, the shared bus 25 includes a shared address bus 251, a shared data bus 252, and a shared control bus 253.

【0018】16、26は各ノード1、2のバスアービ
タであり、それぞれノード1、2の内部におけるキャッ
シュ・メモリ11、21と外部バスインタフェース1
3、23との間での共有バス15、25の利用権を調停
するためのものである。外部バスインタフェース(外部
バスI/F)13、14には、ノードIDレジスタ(N
odeIDREG.)131、231が存在する。実施
形態1では、ノードIDレジスタ131にはノード1を
示す”0”が、ノードIDレジスタ231にはノード2
を示す”1”がそれぞれ格納されている。
Reference numerals 16 and 26 denote bus arbiters of the nodes 1 and 2, respectively, and the cache memories 11 and 21 and the external bus interface 1 inside the nodes 1 and 2, respectively.
It is for arbitrating the right to use the shared buses 15 and 25 between the shared buses 3 and 23. The external bus interfaces (external bus I / F) 13 and 14 have node ID registers (N
odeIDREG. ) 131 and 231 exist. In the first embodiment, “0” indicating the node 1 is stored in the node ID register 131, and the node 2 is stored in the node ID register 231.
Is stored.

【0019】次に実施形態1の図1のクラスタ型計算機
システム全体のアドレス空間の割り当てについて、図2
を用いて説明する。図2は実施形態1のクラスタ型計算
機システム全体のアドレス空間の割り当てを示す図であ
る。図2に示すように、ノード1にはアドレス空間とし
て”0x00000000”〜”0x7ffffff
f”(0xは16進数を表わす)の領域が、ノード2に
はアドレス空間として”0x80000000”〜”0
xffffffff”の領域が割り当てられている。
Next, the assignment of the address space of the entire cluster type computer system of FIG.
This will be described with reference to FIG. FIG. 2 is a diagram showing the allocation of the address space of the entire cluster type computer system according to the first embodiment. As shown in FIG. 2, the node 1 has "0x00000000" to "0x7ffffff" as an address space.
f ”(0x represents a hexadecimal number), and the node 2 has an address space of“ 0x80000000 ”to“ 0 ”.
An area of “xffffffffff” is allocated.

【0020】以上の構成において、図1に示すノード1
上のプロセッサ10は、キャッシュ・メモリ11及び外
部バス5等を介してノード2上のメモリ22に対してア
クセスすることができる。また、このノード2上のメモ
リ22に対するアクセスは、ノード1上のメモリ12と
同様にアクセスすることができる。そして、ノード1の
プロセッサ10がノード2上のメモリ22に実際にアク
セスする場合には、図2に示されるノード2内のアドレ
ス空間を示すメモリアクセスを発行すればよい。しか
し、このキャッシュ・メモリ11を介してプロセッサ1
0が行うノード2上のメモリ22へのアクセスは、ノー
ド1、2間の通信等に要するオーバヘッドがかかるた
め、ノード1上のメモリ12へのアクセスに比べてアク
セス遅延が大きいものとなる。
In the above configuration, the node 1 shown in FIG.
The upper processor 10 can access the memory 22 on the node 2 via the cache memory 11 and the external bus 5 or the like. The access to the memory 22 on the node 2 can be performed in the same manner as the access to the memory 12 on the node 1. Then, when the processor 10 of the node 1 actually accesses the memory 22 on the node 2, a memory access indicating the address space in the node 2 shown in FIG. 2 may be issued. However, the processor 1 is connected via the cache memory 11.
Since access to the memory 22 on the node 2 performed by the node 0 requires overhead required for communication between the nodes 1 and 2, the access delay is longer than access to the memory 12 on the node 1.

【0021】次に実施形態1のキャッシュ・メモリ1
1、21の詳細な構成について、図3を用いて説明す
る。図3は実施形態1のキャッシュ・メモリの詳細な構
成を示すブロック図である。尚、キャッシュ・メモリ1
1、21の構成は同様のものであり、ここでは、キャッ
シュ・メモリ11の詳細な構成として説明する。
Next, the cache memory 1 of the first embodiment
The detailed configuration of the components 1 and 21 will be described with reference to FIG. FIG. 3 is a block diagram showing a detailed configuration of the cache memory according to the first embodiment. Note that the cache memory 1
The configurations of 1 and 21 are the same, and here, a detailed configuration of the cache memory 11 will be described.

【0022】図3において、キャッシュ・メモリ11の
本体は、キャッシュ・メモリ制御シーケンサ111、ア
ドレスタグ112、状態フラグ113、SRAM11
4、比較器115、選択器116からなる。ここで、S
RAM114は、データを保持するためのデータ・ブロ
ックを構成する。アドレスタグ112は、データ・ブロ
ックであるSRAM114のアドレスを保持する。状態
フラグ113は、SRAM114上のデータの状態を保
持する役割りを果たす。比較器115は、アドレスタグ
112の内容とプロセッサバス14、共有バス15から
もたらされるアドレス及びノードIDとを比較する。選
択器116は、比較器115の比較結果からSRAM1
14内のデータを選択する。キャッシュ・メモリ制御シ
ーケンサ111は、これらキャッシュ・メモリ11内の
各モジュールを制御する。
In FIG. 3, the main body of the cache memory 11 includes a cache memory control sequencer 111, an address tag 112, a status flag 113, and an SRAM 11
4, a comparator 115 and a selector 116. Where S
RAM 114 forms a data block for holding data. The address tag 112 holds the address of the SRAM 114 which is a data block. The status flag 113 plays a role of maintaining the status of data on the SRAM 114. The comparator 115 compares the content of the address tag 112 with the address and the node ID provided from the processor bus 14 and the shared bus 15. The selector 116 determines the SRAM 1 based on the comparison result of the comparator 115.
14 is selected. The cache memory control sequencer 111 controls each module in the cache memory 11.

【0023】尚、実施形態1のキャッシュ・メモリ11
は、4ウェイ・セット・アソシアティブの構成をとる
が、これらのキャッシュ・メモリを有する計算機システ
ムの構成は本発明により制限されるものではない。キャ
ッシュ・メモリ11内の各モジュールは、プロセッサバ
ス14を介してプロセッサ10と、プロセッサバスアド
レスインタフェース(プロセッサバスアドレスI/F)
144、プロセッサバスデータインタフェース(プロセ
ッサバスデータI/F)145、プロセッサバスコント
ロールインタフェース(プロセッサバスコントロールI
/F)アドレス146によって接続される。そして、プ
ロセッサ10からもたらされるアクセス要求に従って、
データの供給等を実行する。
The cache memory 11 of the first embodiment
Takes a 4-way set associative configuration, but the configuration of a computer system having these cache memories is not limited by the present invention. Each module in the cache memory 11 communicates with the processor 10 via a processor bus 14 and a processor bus address interface (processor bus address I / F).
144, processor bus data interface (processor bus data I / F) 145, processor bus control interface (processor bus control I / F)
/ F) connected by address 146. Then, according to the access request provided by the processor 10,
Executes data supply and the like.

【0024】また、キャッシュ・メモリ11内の各モジ
ュールは、共有バス15に、共有バスアドレスインタフ
ェース(共有バスアドレスI/F)154、共有バスデ
ータインタフェース(共有バスデータI/F)155、
共有バスコントロールインタフェース(共有バスコント
ロールI/F)156によって接続され、プロセッサか
らもたらされるアクセス要求に従ってデータの供給等を
実行する。例えば、キャッシュ・ミスした場合には、デ
ータをメインメモリ12からキャッシュ・メモリ11内
にロードしたり、キャッシュ・メモリ11に蓄えられた
データをプロセッサ10に供給したり、他のキャッシュ
・メモリからもたらされる情報をもとに、キャッシュ・
メモリ11内部の状態フラグ113を変更したりする。
Each module in the cache memory 11 has a shared bus address interface (shared bus address I / F) 154, a shared bus data interface (shared bus data I / F) 155,
It is connected by a shared bus control interface (shared bus control I / F) 156 and executes data supply and the like in accordance with an access request provided from the processor. For example, in the case of a cache miss, data is loaded from the main memory 12 into the cache memory 11, data stored in the cache memory 11 is supplied to the processor 10, or data is transferred from another cache memory. Based on the information
For example, the status flag 113 in the memory 11 is changed.

【0025】次に実施形態1のアドレスタグ112、状
態フラグ113、SRAM114の詳細な構成につい
て、図4を用いて説明する。図4は実施形態1のアドレ
スタグ、状態フラグ、SRAMの詳細な構成を示す図で
ある。図4において、上述したようにキャッシュ・メモ
リ11は、4ウェイ・セット・アソシアティブの構成を
とっているため、同一のラインアドレス(アドレスーm
171)で指し示される領域が4つ存在する。そして、
1ラインあたりに含まれるSRAM114上のデータ
(D0〜D3)は、4つの4バイトワード(32ビッ
ト)となっている。
Next, a detailed configuration of the address tag 112, the status flag 113, and the SRAM 114 according to the first embodiment will be described with reference to FIG. FIG. 4 is a diagram illustrating a detailed configuration of the address tag, the status flag, and the SRAM according to the first embodiment. In FIG. 4, since the cache memory 11 has a 4-way set associative configuration as described above, the same line address (address-m
There are four regions indicated by 171). And
The data (D0 to D3) on the SRAM 114 included per line is four 4-byte words (32 bits).

【0026】状態フラグ113内の「V」で示される領
域は、それぞれそのアドレスに対応するキャッシングデ
ータが有効(”1”)であるか無効(”0”)であるか
を示している。また、「LRU」で示される領域は、L
RU管理ビットである。これは、この同一のラインアド
レスに対応する4つのセットのうちで最も最近にアクセ
スされたセットはどれかを指し示すものである。
The area indicated by "V" in the status flag 113 indicates whether the caching data corresponding to the address is valid ("1") or invalid ("0"). The area indicated by “LRU” is L
RU management bit. This indicates which of the four sets corresponding to the same line address is the most recently accessed set.

【0027】アドレスタグ112には、アドレスの上位
22ビット(addrーh’173)が格納される。こ
れらの値は、アクセスが発生する度にキャッシュ・メモ
リ制御シーケンサ111によって最新の状態を示すよう
に書き換えられる。以上説明した上記の図1〜図4で示
される実施形態1の計算機システムで用いるプロトコル
は、ライトスルー型キャッシュ・メモリの無効化型プロ
トコルを用いるとする。そして、その条件の下で、キャ
ッシュ・ミスが発生した場合のキャッシュ・ブロックの
置換対象の選択を、その原データが保存されるべき記憶
装置へのアクセス遅延の大小を考慮にいれて決定するこ
とができる実施形態1の具体例について説明する。
The address tag 112 stores the upper 22 bits of the address (addr-h'173). These values are rewritten by the cache memory control sequencer 111 to indicate the latest state each time an access occurs. The protocol used in the computer system according to the first embodiment shown in FIGS. 1 to 4 described above uses an invalidation protocol of the write-through cache memory. Then, under such conditions, the selection of a replacement target of a cache block in the event of a cache miss is determined in consideration of the delay in access to a storage device in which the original data is to be stored. A specific example of Embodiment 1 that can perform the above will be described.

【0028】この具体例の概要を説明すると、キャッシ
ュ・ミスが発生し且つキャッシュ・ブロックの置換が必
要となった場合に、その置換対象を決定する際、従来の
LRU法の方法に加えて、そのキャッシュ・ブロックを
再びキャッシュ・メモリに読み込むために必要となるア
クセス遅延の大小を考慮して決定する。この決定の実現
は、アクセス遅延の大きな記憶装置に由来するデータブ
ロックのキャッシュ・メモリ内部に存続する優先度を上
昇させ、アクセス遅延の大きなメモリに由来するキャッ
シュ・ブロックが置換対象として選択されにくくするこ
とで実現する。以下、これを実現するキャッシュ・メモ
リを備える計算機システムの動作手順と詳細な構成につ
いて、図1〜図4及び図5〜図7のフローチャートを用
いて説明する。
To explain the outline of this specific example, when a cache miss occurs and a cache block needs to be replaced, the replacement target is determined in addition to the conventional LRU method. The determination is made in consideration of the magnitude of the access delay required to read the cache block into the cache memory again. The realization of this decision raises the priority of the data blocks originating from the storage device having a large access delay to remain inside the cache memory, and makes it difficult for the cache blocks originating from the memory having the large access delay to be selected as replacement targets. It is realized by. Hereinafter, an operation procedure and a detailed configuration of a computer system having a cache memory for realizing this will be described with reference to the flowcharts of FIGS. 1 to 4 and FIGS.

【0029】まず、メモリ12からプロセッサ10にデ
ータブロックを読み込むLOAD命令を実行するの際の
実施形態1のキャッシュ・メモリ11における制御手順
について、図5を用いて説明する。図5は実施形態1で
実行されるLOAD命令が発行された際のキャッシュ・
メモリにおける制御手順を示すフローチャートである。
(以下、LOAD命令がプロセッサ10から発行された
ものとして説明する。) 図5において、プロセッサ10から発行されるLOAD
命令に対して、プロセッサアドレスバス141に出力さ
れているアドレスと、アドレスタグ112に格納された
アドレスとを比較器115により比較する(ステップS
501)。そして、キャッシュ・リードヒットした場合
(ステップS501でYES)、キャッシュ・メモリ1
1は、プロセッサ10に対してSRAM114よりデー
タを供給する(ステップS503)。次いで、状態フラ
グ113内部のLRU管理ビットを更新する(ステップ
S504)。
First, a control procedure in the cache memory 11 of the first embodiment when executing a LOAD instruction for reading a data block from the memory 12 to the processor 10 will be described with reference to FIG. FIG. 5 shows the cache memory when the LOAD instruction executed in the first embodiment is issued.
5 is a flowchart illustrating a control procedure in a memory.
(Hereinafter, a description will be given assuming that the LOAD instruction is issued from the processor 10.) In FIG.
For the instruction, the comparator 115 compares the address output to the processor address bus 141 with the address stored in the address tag 112 (step S).
501). If a cache read hit occurs (YES in step S501), the cache memory 1
1 supplies data from the SRAM 114 to the processor 10 (step S503). Next, the LRU management bit inside the status flag 113 is updated (step S504).

【0030】一方、プロセッサ10から発行されるLO
AD命令に対して、キャッシュ・リードミスした場合
(ステップS501でNO)、キャッシュ・メモリ11
は、キャッシュ・ミス処理を行い、メモリ12からデー
タを読み込む(ステップS502)。尚、キャッシュ・
ミス処理の詳細については、図6のフローチャートを用
いて説明する。そして、プロセッサ10に対してSRA
M114よりデータを供給する(ステップS503)。
この場合、キャッシュ・リードミスしたデータがキャッ
シュ・メモリ11に供給されるまで、キャッシュ・メモ
リ11はプロセッサ10に対して当該データの供給を行
わない。
On the other hand, the LO issued from the processor 10
If a cache read miss occurs for the AD instruction (NO in step S501), the cache memory 11
Performs a cache miss process and reads data from the memory 12 (step S502). In addition, cash
Details of the miss processing will be described with reference to the flowchart of FIG. Then, the SRA is sent to the processor 10.
Data is supplied from M114 (step S503).
In this case, the cache memory 11 does not supply the data to the processor 10 until the cache read miss data is supplied to the cache memory 11.

【0031】次に、実施形態1のキャッシュ・ミス処理
の制御手順について、図6を用いて説明する。図6は実
施形態1のキャッシュ・ミス処理の制御手順を示すフロ
ーチャートである。図6において、まず、キャッシュ・
ブロックの置換を行う必要があるか否かを判定する(ス
テップS601)。キャッシュ・ブロックの置換を行う
必要がある場合(ステップS601でYES)、即ち、
選択されたラインに対応する全てのセットが使用中であ
る場合、使用中であるキャッシュ・ブロックの中の一つ
を選択し、新しく読み込んだデータを置換する対象とす
る(ステップS602)。尚、どのキャッシュ・ブロッ
クを選択するかの置換アルゴリズムの詳細に関しては後
述する。一方、キャッシュ・ブロックの置換を行う必要
がない場合(ステップS601でNO)、ステップS6
03に進む。
Next, a control procedure of the cache miss process according to the first embodiment will be described with reference to FIG. FIG. 6 is a flowchart illustrating a control procedure of the cache miss process according to the first embodiment. In FIG. 6, first, the cache
It is determined whether or not it is necessary to replace the block (step S601). When it is necessary to replace a cache block (YES in step S601),
If all the sets corresponding to the selected line are in use, one of the cache blocks being used is selected and replaced with newly read data (step S602). The details of the replacement algorithm for selecting which cache block will be described later. On the other hand, when it is not necessary to replace the cache block (NO in step S601), step S6
Go to 03.

【0032】続いて、その状態で、バスアービタ16に
対して共有バス15の利用許可要求を発行する(ステッ
プS603)。キャッシュ・メモリ11は、共有バス1
5の利用許可を得るまで待機する(ステップS60
4)。共有バス15の利用許可を得られたら、共有アド
レスバス151に対して当該アドレスのアドレスを転送
する。そして、共有コントロールバス153に対してリ
ード要求を示す信号等をドライブし、共有データバス1
52にデータが供給されるのを待つ(ステップS60
5)。
Subsequently, in this state, a use permission request for the shared bus 15 is issued to the bus arbiter 16 (step S603). The cache memory 11 has a shared bus 1
5 until the use permission is obtained (step S60).
4). When the use permission of the shared bus 15 is obtained, the address of the address is transferred to the shared address bus 151. Then, a signal indicating a read request is driven to the shared control bus 153, and the shared data bus 1 is driven.
52, and waits for data to be supplied (step S60).
5).

【0033】メモリ12により、リード要求及び当該リ
ードアクセスのアドレスが受けつけられて、共有データ
バス152にデータが転送される(ステップS60
6)。キャッシュ・メモリ11は、共有データバス15
2に転送されたデータをキャッシュ・メモリ11内のS
RAM114の置換対象として選択された当該データブ
ロックのエントリに登録する(ステップS607)。
The memory 12 receives the read request and the address of the read access, and transfers the data to the shared data bus 152 (step S60).
6). The cache memory 11 has a shared data bus 15
2 in the cache memory 11
The data is registered in the entry of the data block selected as the replacement target in the RAM 114 (step S607).

【0034】次にプロセッサ10がデータをメモリ12
上のアドレスで示される領域に書き込むSTORE命令
を実行する際の実施形態1のキャッシュ・メモリ11に
おける制御手順について、図7を用いて説明する。図7
は実施形態1で実行されるSTORE命令が発行された
際のキャッシュ・メモリにおける制御手順を示すフロー
チャートである。(以下、STORE命令がプロセッサ
10から発行されたものとして説明する。) 尚、実施形態1においては、STORE時のミスにおけ
る処理方式として、ノー・ライト・アロケート方式を採
用している場合を例に挙げて説明する。
Next, the processor 10 stores the data in the memory 12.
The control procedure in the cache memory 11 of the first embodiment when executing the STORE instruction to write to the area indicated by the above address will be described with reference to FIG. FIG.
6 is a flowchart showing a control procedure in the cache memory when a STORE instruction executed in the first embodiment is issued. (Hereinafter, a description will be made assuming that the STORE instruction is issued from the processor 10.) In the first embodiment, a case where the no-write allocate method is adopted as a processing method for a STORE error will be described as an example. A description is given below.

【0035】図7において、プロセッサ10から発行さ
れるSTORE命令に対して、プロセッサアドレスバス
141に出力されているアドレスとアドレスタグ112
に格納されたアドレスとを比較器115により比較し、
一致したアドレスがあるか、即ち、キャッシュライトヒ
ットしたか否かを調べる(ステップS701)。キャッ
シュ・ライトヒットした場合(ステップS701でYE
S)、プロセッサ10が供給するデータを、キャッシュ
・メモリ11中のSRAM114は対応するデータブロ
ックに登録する(ステップS702)。次いで、状態フ
ラグ113を所定の値に更新する(ステップS70
3)。
In FIG. 7, in response to a STORE instruction issued from the processor 10, the address output to the processor address bus 141 and the address tag 112 are output.
Is compared with the address stored in
It is checked whether there is a matching address, that is, whether a cache write hit has occurred (step S701). When a cache write hit occurs (YE in step S701)
S), the SRAM 114 in the cache memory 11 registers the data supplied by the processor 10 in a corresponding data block (step S702). Next, the status flag 113 is updated to a predetermined value (step S70).
3).

【0036】同時に、キャッシュ・メモリ11は、その
ままライトされるデータをメモリ12に書き込むため、
共有バス15の利用許可要求を発行する(ステップS7
04)。そして、キャッシュ・メモリ11は、利用許可
を得るまで待機する(ステップS705)。共有バス1
5の利用許可を得られたら、共有アドレスバス151に
対して当該アドレスのアドレスを転送する。そして、共
有コントロールバス153に対してライト要求を示す信
号等をドライブし、共有データバス152にデータが供
給されるのを待つ(ステップS706)。メモリ12に
より、ライト要求及び当該ライトアクセスのアドレスが
受け付けられて、共有データバス152にデータが転送
される(ステップS707)。そして、メモリ12は、
共有データバス152に転送されたデータを取り込む
(ステップS708)。
At the same time, the cache memory 11 writes the data to be written to the memory 12 as it is,
A use permission request for the shared bus 15 is issued (step S7).
04). Then, the cache memory 11 waits until the use permission is obtained (step S705). Shared bus 1
5 is obtained, the address of the address is transferred to the shared address bus 151. Then, a signal indicating a write request or the like is driven to the shared control bus 153, and waits for data to be supplied to the shared data bus 152 (step S706). The memory 12 receives the write request and the address of the write access, and transfers the data to the shared data bus 152 (step S707). And the memory 12
The data transferred to the shared data bus 152 is fetched (step S708).

【0037】一方、キャッシュライトミスした場合(ス
テップS701でNO)、そのライトされるデータはメ
モリに書き込まれるだけで、メモリ12の対応ラインが
それによってキャッシュ・メモリ11にロードされるこ
とはない。その場合、ステップS704〜ステップS7
08の動作のみが実施される。更に、この際、キャッシ
ュの一貫性保持動作が同時に行われる。
On the other hand, if a cache write miss occurs (NO in step S701), the data to be written is only written to the memory, and the corresponding line of the memory 12 is not loaded into the cache memory 11 by that. In that case, steps S704 to S7
Only the operation 08 is performed. Further, at this time, the cache coherency maintaining operation is performed simultaneously.

【0038】即ち、STORE命令が発行されると、キ
ャッシュ・メモリ11以外のキャッシュ・メモリ、ここ
では、1つのクラスタ型計算機システムを共有メモリ型
システムとして構成しているノード2内部のキャッシュ
・メモリ21が保持しているデータとの一貫性を取るた
めに、キャッシュ・メモリ21側においてキャッシュ・
メモリの一貫性保持動作が行われる。
That is, when the STORE instruction is issued, a cache memory other than the cache memory 11, in this case, the cache memory 21 inside the node 2 which configures one cluster type computer system as a shared memory type system. In order to maintain consistency with the data held by the cache memory 21,
A memory coherency operation is performed.

【0039】この場合、ノード1内部の共有バス15上
にSTORE命令に伴うメモリ12へのライト動作が行
われていることを、ノード1内部の外部バスインタフェ
ース13が検出する。そして、アドレス情報等を含むそ
の検出に関する情報を外部バス5を通じて、ノード2の
外部バスインタフェース23に通知する。ノード2の外
部バスインタフェース23は、通知されたアドレス情報
を元にノード2内部の共有バス25上にダミーのライト
要求を発行する。
In this case, the external bus interface 13 inside the node 1 detects that the write operation to the memory 12 according to the STORE instruction is being performed on the shared bus 15 inside the node 1. Then, information about the detection including address information and the like is notified to the external bus interface 23 of the node 2 through the external bus 5. The external bus interface 23 of the node 2 issues a dummy write request on the shared bus 25 inside the node 2 based on the notified address information.

【0040】これにより、キャッシュ・メモリ21は共
有バス25上に行われているライト要求をスヌープする
(ステップS711)。そして、キャッシュ・メモリ2
1内のアドレスタグ(不図示)を検索する(ステップS
712)。検索の結果、一致するアドレスタグが存在す
るか否かを判定する。アドレスタグ上に一致するアドレ
スが発見され、それの状態フラグが有効(”1”)を示
していた場合(ステップS713でYES)、その状態
フラグ無効化(”0”に)し、動作を終了する(ステッ
プS714)。一方、一致するアドレスタグがない場合
(ステップS713でNO)、そのまま処理を終了す
る。
As a result, the cache memory 21 snoops the write request performed on the shared bus 25 (step S711). And the cache memory 2
1 is searched for an address tag (not shown) (step S
712). As a result of the search, it is determined whether a matching address tag exists. If a matching address is found on the address tag and its status flag indicates valid ("1") (YES in step S713), the status flag is invalidated ("0") and the operation is terminated. (Step S714). On the other hand, if there is no matching address tag (NO in step S713), the process ends.

【0041】以上の動作が、実施形態1におけるキャッ
シュ・メモリの一貫性保持動作である。次に実施形態1
の各メモリ12、22のメモリトランザクション実行時
の状態フラグの状態遷移について、図8を用いて説明す
る。図8は実施形態1の各メモリトランザクション実行
時の状態フラグの状態遷移を示す図である。(以下、キ
ャッシュ・メモリ11の状態フラグ113の状態遷移と
して説明する。) 図8において、状態INVALIDは、当該状態フラグ
113が管理するデータエントリが無効(”0”)であ
ることを示す。状態VALIDは、当該状態フラグ11
3が管理するデータエントリが有効(”1”)であるこ
とを示す。
The above operation is the operation of maintaining the consistency of the cache memory in the first embodiment. Next, Embodiment 1
The state transition of the state flag when the memory transaction of each of the memories 12 and 22 is executed will be described with reference to FIG. FIG. 8 is a diagram showing the state transition of the state flag when each memory transaction is executed in the first embodiment. (Hereinafter, the state transition of the state flag 113 of the cache memory 11 will be described.) In FIG. 8, the state INVALID indicates that the data entry managed by the state flag 113 is invalid ("0"). The status VALID is the status flag 11
3 indicates that the data entry managed is valid ("1").

【0042】INVALID状態のデータに対して、プ
ロセッサ10からLOAD命令が発行された場合、キャ
ッシュ・リード・ミス処理が行なわれ、状態フラグ11
3はVALIDに遷移する。INVALID状態のデー
タに対して、プロセッサ10からSTORE命令が発行
された場合、実施形態1の計算機システムではノー・ラ
イト・アロケート方式を採用しているため、メモリ12
の対応ラインのキャッシュ・メモリ11へのロードは行
われず、状態フラグ113はINVALIDのままであ
る。
When a LOAD instruction is issued from the processor 10 to data in the INVALID state, a cache read miss process is performed, and the state flag 11
3 changes to VALID. When the STORE instruction is issued from the processor 10 to the data in the INVALID state, since the computer system of the first embodiment employs the no-write allocate method, the memory 12
Is not loaded into the cache memory 11 and the status flag 113 remains INVALID.

【0043】INVALID状態のデータに対して、外
部のバスマスタのライト処理に対応してスヌープミスし
た場合は、状態フラグ113はINVALIDのままで
ある。VALID状態のデータに対して、プロセッサ1
0からLOAD命令が発行された場合及びSTORE命
令が発行された場合は、キャッシュ・メモリ11へのヒ
ット/ミスにかかわらず、状態フラグ113はVALI
Dのままとなる。
When a snoop miss occurs in response to write processing by an external bus master with respect to data in the INVALID state, the state flag 113 remains INVALID. For data in the VALID state, the processor 1
When the LOAD instruction is issued from 0 and when the STORE instruction is issued, the status flag 113 is set to VALI regardless of the hit / miss to the cache memory 11.
D remains.

【0044】VALID状態のデータに対して、外部の
バスマスタのライト処理に対応してスヌープヒットした
場合は、一貫性保持動作が実行され、状態フラグ113
はINVALIDに遷移する。VALID状態のデータ
に対して、外部のバスマスタのライト処理に対応してス
ヌープミスした場合は、一貫性保持動作が実行されず、
状態フラグ113はVALIDのままである。
If a snoop hit occurs in response to write processing by an external bus master for data in the VALID state, a consistency maintaining operation is executed and the state flag 113
Transitions to INVALID. If a snoop miss occurs in response to write processing by an external bus master for data in the VALID state, the consistency maintaining operation is not executed,
The status flag 113 remains VALID.

【0045】次に、実施形態1の計算機システムの特長
であるキャッシュ・ミス時における置換対象ブロックを
選択する置換アルゴリズムについて、図9、図10を用
いて詳細に説明する。ここで、状態フラグ113の中の
LRUビットは、図4で説明したように同一のラインア
ドレスに対応する4つのセットのうちで最も最近にアク
セスされたセットはどれかを指し示すためのものであ
る。そこで、アドレスタグ112とLRUビットの値の
変化の様子について、図9を用いて説明する。尚、説明
の簡単化のため、ここで行われるアクセスは、全てプロ
セッサ10のLOAD命令発行に伴うリード動作である
ものとする。
Next, a replacement algorithm for selecting a replacement target block at the time of a cache miss, which is a feature of the computer system of the first embodiment, will be described in detail with reference to FIGS. Here, the LRU bit in the status flag 113 is for indicating which of the four sets corresponding to the same line address is the most recently accessed set as described with reference to FIG. . The state of the change in the value of the address tag 112 and the LRU bit will be described with reference to FIG. For simplicity of description, it is assumed that all accesses performed here are read operations accompanying the issuance of the LOAD instruction of the processor 10.

【0046】図9は実施形態1のアドレスタグとLRU
ビットの遷移の一例を示す部である。図9において、ま
ず、時刻0において、アドレス0x00000000へ
のアクセスがプロセッサ10から発行され、その処理の
結果のキャッシュライン0における各セットのアドレス
タグ112及びLRUビットの状態が1行目に示されて
いる。この場合は、セット0のアドレスタグ112には
アドレス0x00000000を指し示すための情報
が、セット1のアドレスタグ112にはアドレス0x1
0000000を指し示すための情報が、セット2のア
ドレスタグ112にはアドレス0x20000000を
指し示すための情報が、セット3のアドレスタグ112
にはアドレス0x30000000を指し示すための情
報が、それぞれ入っている。そして、過去のアクセスの
履歴により、そのLRUビットは、それぞれセット0が
0、セット1が1、セット2が2、セット3が3を示し
ているものとする。なお、ここで、LRUビットは数が
小さい程、最近アクセスされていることを示しているも
のとする。この場合、セット3のLRUビットが3であ
るので、LRUビットとしてはセット3が示されてい
る。
FIG. 9 shows the address tag and LRU of the first embodiment.
5 is a section illustrating an example of bit transition. In FIG. 9, first, at time 0, an access to the address 0x00000000 is issued from the processor 10, and the state of the address tag 112 and the LRU bit of each set in the cache line 0 as a result of the processing is shown in the first line. I have. In this case, information indicating the address 0x00000000 is set in the address tag 112 of the set 0, and the address 0x1 is set in the address tag 112 of the set 1.
The information for pointing to the address 0x20000000 is stored in the address tag 112 of the set 2 and the information for pointing to the address 0x20000000 is stored in the address tag 112 of the set 3.
Contains information for pointing to the address 0x30000000. It is assumed that the LRU bits indicate 0 for set 0, 1 for set 1, 1 for set 2, and 3 for set 3 based on the past access history. Here, it is assumed that the smaller the number of LRU bits, the more recently accessed. In this case, since the LRU bit of set 3 is 3, set 3 is indicated as the LRU bit.

【0047】尚、ここで、全てのラインは有効(VAL
ID)状態にあるものとする。次に、時刻1において、
キャッシュライン0に関連するアドレス0x30000
000へのアクセスが行われる。この場合、キャッシュ
・ヒットして各キャッシュタグは変更されず、LRUビ
ットがそれぞれ更新される。続いて、時刻2において、
キャッシュライン0に関連するアドレス0x30000
000へのアクセスが行われる。この場合、キャッシュ
・ヒットして各キャッシュタグは変更されない。また、
LRUビットの値もLRU=0を値として持つセットが
アクセスされたため、そのまま保たれる。
Here, all the lines are valid (VAL
ID) state. Next, at time 1,
Address 0x30000 associated with cache line 0
000 is accessed. In this case, a cache hit occurs and each cache tag is not changed, and the LRU bit is updated. Subsequently, at time 2,
Address 0x30000 associated with cache line 0
000 is accessed. In this case, a cache hit occurs and each cache tag is not changed. Also,
The value of the LRU bit is also kept as it is because a set having LRU = 0 as a value is accessed.

【0048】時刻3において、キャッシュライン0に関
連するアドレス0x10000000へのアクセスが行
われる。この場合、キャッシュ・ヒットして各キャッシ
ュタグは変更されず、LRUビットがそれぞれ更新され
る。但し、LRU=2を値として持つセットがアクセス
されたため、LRUの値が2以下のセットに関してのみ
LRUビットが更新される。
At time 3, an access is made to address 0x10000000 associated with cache line 0. In this case, a cache hit occurs and each cache tag is not changed, and the LRU bit is updated. However, since a set having LRU = 2 as a value is accessed, the LRU bit is updated only for a set having an LRU value of 2 or less.

【0049】時刻4において、キャッシュライン0に関
連するアドレス0x20000000へのアクセスが行
われる。この場合、キャッシュ・ヒットして各キャッシ
ュタグは変更されず、LRUビットがそれぞれ更新され
る。時刻5において、キャッシュライン0に関連するア
ドレス0x40000000へのアクセスが行われる。
この場合、キャッシュ・リードミスするため、キャッシ
ュ・ブロックの置換が実施される。ここでは、時刻4の
処理終了時点においてLRUセットとして示されていた
セット0が置換対象となり、そこのキャッシュタグには
アドレス0x40000000を示すための情報が格納
される。同時にLRUビットがそれぞれ更新される。
At time 4, an access is made to address 0x20000000 associated with cache line 0. In this case, a cache hit occurs and each cache tag is not changed, and the LRU bit is updated. At time 5, an access is made to address 0x40000000 associated with cache line 0.
In this case, because of a cache read miss, replacement of the cache block is performed. Here, the set 0 indicated as the LRU set at the end of the processing at time 4 is to be replaced, and information indicating the address 0x40000000 is stored in the cache tag there. At the same time, the LRU bits are updated respectively.

【0050】時刻6において、キャッシュライン0に関
連するアドレス0x20000000へのアクセスが行
われる。この場合、キャッシュ・ヒットして各キャッシ
ュタグは変更されず、LRUビットがそれぞれ更新され
る。但し、LRU=1を値として持つセットがアクセス
されたため、LRUの値が1以下のセットに関しての
み、LRUビットが更新される。
At time 6, an access is made to address 0x20000000 associated with cache line 0. In this case, a cache hit occurs and each cache tag is not changed, and the LRU bit is updated. However, since a set having LRU = 1 as a value is accessed, the LRU bit is updated only for a set having an LRU value of 1 or less.

【0051】以上説明した図9に示した遷移例では、時
刻5において、キャッシュ・ブロックの置換が行われて
いる。そして、このキャッシュ・ブロックの置換対象を
決定するために実行される実施形態1の計算機システム
の置換アルゴリズムは、上述したLRU法に加えて、そ
のキャッシュ・ブロックを再びキャッシュ・メモリに読
み込むために必要となるアクセス遅延の大小を考慮する
ために、アクセス遅延の大きな記憶装置に由来するデー
タブロックのキャッシュ内部に存続する優先度を上昇さ
せることによって、アクセス遅延の大きなメモリに由来
するキャッシュ・ブロックが置換対象として選択されに
くくするものである。
In the transition example shown in FIG. 9 described above, replacement of a cache block is performed at time 5. The replacement algorithm of the computer system according to the first embodiment, which is executed to determine the replacement target of the cache block, is necessary to read the cache block into the cache memory again in addition to the LRU method described above. In order to take into account the size of the access delay, the priority of the data blocks originating from the storage device having a large access delay to be retained inside the cache is increased, thereby replacing the cache block originating from the memory having a large access delay. This makes it difficult to be selected as an object.

【0052】以下、実施形態1のキャッシュ・ブロック
の置換対象を決定する置換アルゴリズムの制御手順につ
いて、図10を用いて説明する。図10は実施形態1の
キャッシュ・ブロックの置換対象を決定する置換アルゴ
リズムの制御手順を示すフローチャートである。図10
において、まず、キャッシュ・ブロックの置換対象とし
て、再優先されるのは無効フラグ(V=”0”)の立っ
ているセットである。そこで、無効フラグ(V=”
0”)が存在するか否かを判定する(ステップS100
1)。複数のセットにおいて無効フラグがたっている場
合(ステップS1001でYES)、実施形態1では該
当セットの内、セットNo.が最小のものを選択する
(ステップS1002)。
A control procedure of a replacement algorithm for determining a replacement target of a cache block according to the first embodiment will be described below with reference to FIG. FIG. 10 is a flowchart illustrating a control procedure of a replacement algorithm for determining a replacement target of a cache block according to the first embodiment. FIG.
First, as a replacement target of a cache block, a set having an invalid flag (V = “0”) set again is given priority. Therefore, the invalid flag (V = “
0 ") is determined (step S100).
1). If the invalid flag is set in a plurality of sets (YES in step S1001), in the first embodiment, the set No. Is selected (step S1002).

【0053】一方、無効フラグが立っているセットが存
在しない(全てのセットにおいてV=”1”)場合(ス
テップS1001でNO)、現在有効にキャッシングさ
れているセットの内、どれか一つを置き換えなければな
らない。そこで、実施形態1では、その置き換えを実行
するための基準として2つの基準を用いている。その第
1の基準としてLRU(Least‐Recently
Used)法を用いる。これは、すぐに必要となる情
報を捨ててしまわないように、各セットへのアクセスを
記録し最も長時間使用されなかったセットを置換対象と
して選択するものである。また、図9に示した遷移例の
ように、LRUビットをそのアクセスの度に更新するこ
とによって最も最近にアクセスされたものから順にLR
Uビットを0、1、2、3とそのセットの状態フラグ1
13に記録している。この場合、最も長時間使用されて
いないものはLRUビット=3、その次に長期間使用さ
れていないものはLRUビット=2となる。
On the other hand, if there is no set with an invalid flag set (V = “1” in all sets) (NO in step S1001), any one of the currently validly cached sets is deleted. Must be replaced. Therefore, in the first embodiment, two criteria are used as criteria for executing the replacement. The first standard is LRU (Least-Recently).
(Used) method. In this method, access to each set is recorded, and a set that has not been used for the longest time is selected as a replacement target so as not to discard immediately required information. Also, as in the transition example shown in FIG. 9, the LRU bit is updated every time the access is made, so that the LRU bit is sequentially updated from the most recently accessed one.
The U bit is set to 0, 1, 2, 3 and the set status flag 1
13 is recorded. In this case, the LRU bit = 3 for the least used one, and the LRU bit = 2 for the second unused one.

【0054】また、更に置換対象となるセットを選択す
る第2の基準として、その置換対象となったセットのア
ドレスタグ112に入っているアドレスがノード内アド
レスを指しているのか、ノード外アドレスを指している
のかを用いている。このノード内アドレスかどうかを判
断するための情報自体は、外部バスインタフェース13
内のノードIDレジスタ131に示されている値(ノー
ドID:”0”又は”1”)を、共有コントロールバス
153及び共有バスコントロールインタフェース156
を通してNodeID信号181として比較器115に
与えられる。
Further, as a second criterion for selecting a set to be replaced, the address in the address tag 112 of the set to be replaced indicates whether the address in the node points to the address inside the node or the address outside the node. It uses what you are pointing to. The information itself for determining whether or not the address is within the node is stored in the external bus interface 13.
The value (node ID: “0” or “1”) indicated in the node ID register 131 within the shared control bus 153 and the shared bus control interface 156
To the comparator 115 as a NodeID signal 181.

【0055】ここでNodeID信号181に示される
ノードIDは、図2に示されるアドレス空間の最上位ビ
ットと同一のものである。即ち、ノードID=0はノー
ド1を、ノードID=1はノード2をそれぞれ示してい
る。このNodeID信号181を各アドレスタグ11
2に入っているアドレスの最上位ビットと比較すること
によって、一致すればノード内部のアドレス、一致しな
ければノード外部のアドレスを示していることが判明す
る。
Here, the node ID shown in NodeID signal 181 is the same as the most significant bit of the address space shown in FIG. That is, node ID = 0 indicates node 1, and node ID = 1 indicates node 2. This NodeID signal 181 is transmitted to each address tag 11
By comparing with the most significant bit of the address contained in 2, it is found that a match indicates an address inside the node, and a mismatch indicates an address outside the node.

【0056】この第1の基準と第2の基準とを組みあわ
せた置換対象のセットを選択する置換アルゴリズムは以
下の通りである。 1. LRU=3を示すセットに蓄えられているアドレ
スタグ112が示すアドレスがノード内アドレスである
か否かを検査する(ステップS1003)。ノード内ア
ドレスである場合(ステップS1003でYES)、そ
のままLRU=3のセットを置換対象として選択する
(ステップS1004)。
A replacement algorithm for selecting a set to be replaced by combining the first criterion and the second criterion is as follows. 1. It is checked whether or not the address indicated by the address tag 112 stored in the set indicating LRU = 3 is a node address (step S1003). If it is a node address (YES in step S1003), the set of LRU = 3 is selected as it is as a replacement target (step S1004).

【0057】2. 1においてLRU=3のセットに蓄
えられているアドレスタグ112が示すアドレスがノー
ド外アドレスである場合(ステップS1003でN
O)、第2の置換候補としてLRU=2の示すセットの
アドレスタグ112が示すアドレスがノード内アドレス
であるか否かを検査する(ステップS1005)。 3. LRU=2のセットの持つアドレスがノード内ア
ドレスである場合(ステップS1005でYES)、そ
のLRU=2のセットを置換対象として選択する(ステ
ップS1006)。
2. 1, if the address indicated by the address tag 112 stored in the set of LRU = 3 is an external node address (N in step S1003)
O) It is checked whether the address indicated by the address tag 112 of the set indicated by LRU = 2 as the second replacement candidate is an intra-node address (step S1005). 3. If the address of the set of LRU = 2 is the address in the node (YES in step S1005), the set of LRU = 2 is selected as a replacement target (step S1006).

【0058】4. LRU=2のセットの持つアドレス
がノード外アドレスである場合(ステップS1005で
NO)、第1の置換候補であったLRU=3のセットを
置換対象として選択する(ステップS1007)。この
ように、ノード外アドレスをキャッシングしていた場合
は、置換対象として選択されずにキャッシュ・メモリ1
2内部に残る可能性がLRU法のみを用いて判断してい
た時に比べて1レベル高くなる。
4. If the address of the set with LRU = 2 is an address outside the node (NO in step S1005), the set with LRU = 3, which was the first replacement candidate, is selected as a replacement target (step S1007). As described above, when the address outside the node is cached, the cache memory 1 is not selected as a replacement target and is not selected.
The possibility of remaining inside 2 is one level higher than when it was determined using only the LRU method.

【0059】以上のような置換アルゴリズムを実行する
ことによって、ノード外のメモリからデータを読み込む
ようなアクセス遅延の大きな記憶装置に由来するデータ
ブロックのキャッシュ・メモリ11内部に存続する優先
度を上昇させることが可能になる。この結果、計算機シ
ステム全体としての動作速度を向上させ、システム性能
の向上を図ることができる。
By executing the above-described replacement algorithm, the priority of the data blocks originating in the storage device having a large access delay such as reading data from the memory outside the node and remaining in the cache memory 11 is increased. It becomes possible. As a result, the operation speed of the entire computer system can be improved, and the system performance can be improved.

【0060】<実施形態2>実施形態2では、単体で動
作し得る計算機システムに拡張用インタフェースを介し
てアクセス遅延の大きい拡張メモリを増設した計算機シ
ステムに対し本発明を適用する。尚、以下に示す実施形
態2の計算機システムは、基本的に実施形態1と重複す
る部分が多いので、以下、図の説明等では実施形態2に
おいて特徴的なところを重点的に述べる。
<Second Embodiment> In the second embodiment, the present invention is applied to a computer system in which an extended memory with a large access delay is added to a computer system that can operate alone via an extension interface. The computer system according to the second embodiment described below basically basically overlaps with the first embodiment. Therefore, in the description of the drawings and the like, the features of the second embodiment will be mainly described below.

【0061】図11は本発明を実現する実施形態2の計
算機システムの構成を示すブロック図である。図11に
おいて、10はプロセッサであり、プロセッサバス14
を介してキャッシュ・メモリ11に接続される。また、
キャッシュ・メモリ11は共有バス15を介してメモリ
12及び拡張用インタフェース33と接続される。拡張
用インタフェース33の先には拡張バス35が存在し、
拡張バス35を介して拡張メモリ32が配置されてい
る。
FIG. 11 is a block diagram showing a configuration of a computer system according to the second embodiment for realizing the present invention. In FIG. 11, reference numeral 10 denotes a processor, and a processor bus 14
Is connected to the cache memory 11 via the. Also,
The cache memory 11 is connected to the memory 12 and the extension interface 33 via the shared bus 15. An extension bus 35 exists at the end of the extension interface 33.
The extension memory 32 is arranged via the extension bus 35.

【0062】次に実施形態2の図11の計算機システム
全体のアドレス空間の割り当てについて、図12を用い
て説明する。図12は実施形態2の計算機システム全体
のアドレス空間の割り当てを示す図である。図12に示
すように、もともとのシステム領域(拡張用ではない領
域)にはアドレス空間として”0x00000000”
〜”0x7fffffff”(0xは16進数を表わ
す)の領域が、拡張用の領域にはアドレス空間として”
0x80000000”〜”0xffffffff”の
領域が割り当てられている。
Next, the assignment of the address space of the entire computer system of FIG. 11 according to the second embodiment will be described with reference to FIG. FIG. 12 is a diagram showing the allocation of the address space of the entire computer system according to the second embodiment. As shown in FIG. 12, “0x00000000” is used as an address space in the original system area (area not for expansion).
An area of ~ 0x7ffffffff (0x represents a hexadecimal number) is used as an address space in an area for extension.
Areas from 0x80000000 "to" 0xffffffff "are allocated.

【0063】以上の構成において、図11に示すプロセ
ッサ10は、キャッシュ・メモリ11を介してメモリ1
2及び拡張メモリ32にアクセスすることができる。こ
の際、拡張メモリ32は拡張用インタフェース33等を
介してアクセスするため、メモリ12に比べてアクセス
遅延が大きいものとなる。次に実施形態2のキャッシュ
・メモリ11の詳細な構成について、図13を用いて説
明する。
In the above configuration, the processor 10 shown in FIG.
2 and the extended memory 32 can be accessed. At this time, since the extension memory 32 is accessed via the extension interface 33 and the like, the access delay is larger than that of the memory 12. Next, a detailed configuration of the cache memory 11 according to the second embodiment will be described with reference to FIG.

【0064】図13は実施形態2のキャッシュ・メモリ
の詳細な構成を示すブロック図である。図13におい
て、キャッシュ・メモリ11の本体は、キャッシュ・メ
モリ制御シーケンサ111、アドレスタグ112、状態
フラグ113、SRAM114、比較器115、選択器
116からなる。ここで、構成自体は実施形態1とほと
んど同一であるので詳細な説明は省略する。実施形態2
と実施形態1との主な違いは、キャッシュ・メモリ制御
シーケンサ111の内部にキャッシュ・メモリ11にア
クセスが発生する度にインクリメントを繰り返す2ビッ
トのカウンタが存在していることである。
FIG. 13 is a block diagram showing a detailed configuration of the cache memory according to the second embodiment. In FIG. 13, the main body of the cache memory 11 includes a cache memory control sequencer 111, an address tag 112, a status flag 113, an SRAM 114, a comparator 115, and a selector 116. Here, since the configuration itself is almost the same as that of the first embodiment, detailed description will be omitted. Embodiment 2
The main difference between the first embodiment and the first embodiment is that a 2-bit counter that repeats increment every time an access occurs to the cache memory 11 exists inside the cache memory control sequencer 111.

【0065】次に実施形態2のアドレスタグ112、状
態フラグ113、SRAM114の詳細な構成につい
て、図14を用いて説明する。図14は実施形態2のア
ドレスタグ、状態フラグ、SRAMの詳細な構成を示す
図である。図14において、実施形態2のキャッシュ・
メモリ11も実施形態と同様、4ウェイ・セット・アソ
シアティブの構成をとっているため、同一のラインアド
レス(アドレス‐m171)で指し示される領域が4つ
存在する。そして、1ラインあたりに含まれるSRAM
114上のデータ(D0〜D3)は、4つの4バイトワ
ード(32ビット)となっている。
Next, a detailed configuration of the address tag 112, the status flag 113, and the SRAM 114 according to the second embodiment will be described with reference to FIG. FIG. 14 is a diagram illustrating a detailed configuration of an address tag, a status flag, and an SRAM according to the second embodiment. In FIG. 14, the cache
Since the memory 11 also has a 4-way set associative configuration, as in the embodiment, there are four areas indicated by the same line address (address-m171). And SRAM included per line
The data (D0-D3) on 114 is four 4-byte words (32 bits).

【0066】状態フラグ113内のVで示される領域
は、それぞれそのアドレスに対応するキヤッシングデー
タが有効(”1”)であるか無効(”0”)であるかを
示している。アドレスタグ112には、アドレスの上位
22ビット(addrーh’173)が格納される。こ
れらの値は、アクセスが発生する度にキャッシュ・メモ
リ制御シーケンサ111によって最新の状態を示すよう
に書き換えられる。
The area indicated by V in the status flag 113 indicates whether the cache data corresponding to the address is valid ("1") or invalid ("0"). The upper 22 bits (addr-h'173) of the address are stored in the address tag 112. These values are rewritten by the cache memory control sequencer 111 to indicate the latest state each time an access occurs.

【0067】以上説明した上記の図11〜図14で示さ
れる実施形態2の計算機システム用いるプロトコルは、
ライトスルー型キャッシュ・メモリの無効化型プロトコ
ルを用いるとする。そして、その条件の下で、キャッシ
ュ・ミスが発生した場合のキャッシュ・ブロックの置換
対象の選択を、その原データが保存されるべき記憶装置
へのアクセス遅延の大小を考慮にいれて決定することが
できる実施形態2の具体例について説明する。
The protocol used in the computer system according to the second embodiment shown in FIGS.
It is assumed that a write-through type cache memory invalidation type protocol is used. Then, under such conditions, the selection of a replacement target of a cache block in the event of a cache miss is determined in consideration of the delay in access to a storage device in which the original data is to be stored. A specific example of Embodiment 2 that can perform the above will be described.

【0068】この具体例の概要を説明すると、キャッシ
ュ・ミスが発生し且つキャッシュ・ブロックの置換が必
要となった場合に、その置換対象を決定する際、従来の
ランダム法の方法に加えて、そのキャッシュ・ブロック
を再びキャッシュ・メモリに読み込むために必要となる
アクセス遅延の大小を考慮して決定する。この決定の実
現は、アクセス遅延の大きな記憶装置に由来するデータ
ブロックのキャッシュ・メモリ内部に存続する優先度を
上昇させ、アクセス遅延の大きなメモリに由来するキャ
ッシュ・ブロックが置換対象として選択されにくくする
ことで実現する。以下、これを実現するキャッシュ・メ
モリを備える計算機システムの動作手順と詳細な構成に
ついて、図11〜図14及び図15のフローチャートを
用いて説明する。
To explain the outline of this specific example, when a cache miss occurs and a cache block needs to be replaced, when the replacement target is determined, in addition to the conventional random method, The determination is made in consideration of the magnitude of the access delay required to read the cache block into the cache memory again. The realization of this decision raises the priority of the data blocks originating from the storage device having a large access delay to remain inside the cache memory, and makes it difficult for the cache blocks originating from the memory having the large access delay to be selected as replacement targets. It is realized by. Hereinafter, an operation procedure and a detailed configuration of a computer system including a cache memory for realizing this will be described with reference to flowcharts of FIGS. 11 to 14 and 15.

【0069】尚、実施形態2におけるキャッシュ・メモ
リ11の基本動作及び状態遷移は、実施形態1の図5〜
図8で説明したものと同一であるので割愛する。但し、
実施形態2の計算機システムは実施形態1のような複数
のプロセッサを有するマルチプロセッサの構成をとって
いないので、実施形態1の図7及び図8におけるバスス
ヌープ側の動作は、ここでは発生しない。
The basic operation and state transition of the cache memory 11 according to the second embodiment are described in FIGS.
Since it is the same as that described in FIG. 8, it is omitted. However,
Since the computer system of the second embodiment does not have a multiprocessor configuration having a plurality of processors as in the first embodiment, the operation on the bus snoop side in FIGS. 7 and 8 of the first embodiment does not occur here.

【0070】次に、実施形態2のシステムのキャッシュ
・ブロックの置換対象を決定する置換アルゴリズムの制
御手順について、図15を用いて説明する。図15は実
施形態2のキャッシュ・ブロックの置換対象を決定する
置換アルゴリズムの制御手順を示すフローチャートであ
る。図15において、まず、キャッシュ・ブロックの置
換対象として、再優先されるのは、無効フラグ(V=”
0”)の立っているセットである。そこで、無効フラグ
(V=”0”)が存在するか否かを判定する(ステップ
S1501)。複数のセットにおいて無効フラグがたっ
ている場合(ステップS1501でYES)、実施形態
2では該当セットの内、セットNo.が最小のものを選
択する(ステップS1502)。
Next, a control procedure of a replacement algorithm for determining a replacement target of a cache block in the system of the second embodiment will be described with reference to FIG. FIG. 15 is a flowchart illustrating a control procedure of a replacement algorithm for determining a replacement target of a cache block according to the second embodiment. In FIG. 15, first, the invalid flag (V = “
0 ”). Therefore, it is determined whether or not an invalid flag (V =“ 0 ”) exists (step S1501) .If the invalid flags are set in a plurality of sets (step S1501) YES), in the second embodiment, a set having the smallest set No. is selected from the corresponding sets (step S1502).

【0071】一方、無効フラグが立っているセットが存
在しない(全てのセットにおいてV=”1”)場合(ス
テップS1501でNO)、現在有効にキャッシングさ
れているセットの内、どれか一つを置き換えなければな
らない。そこで、実施形態2では、その置き換えを実行
するための基準として2つの基準を用いている。その第
1の基準としてランダム法を用いる。これは、置換対象
にどのセットを選ぶかをランダムに選択するものであ
る。それを実現するために、キャッシュ・メモリ制御シ
ーケンサ111の中に2ビットのカウンタ182を設け
ている。カウンタ182は、上述したように、キャッシ
ュ・メモリ11がアクセスされる度にインクリメントさ
れるようになっている。そして、キャッシュ・ミスが発
生し、選択されたラインに対応する4セット全てが有効
である場合、このカウンタの示す番号のセットが置換の
第1候補として選択される。
On the other hand, if there is no set with an invalid flag set (V = “1” in all sets) (NO in step S 1501), one of the sets that is currently effectively cached is deleted. Must be replaced. Therefore, in the second embodiment, two criteria are used as criteria for executing the replacement. A random method is used as the first criterion. This is to randomly select which set is to be selected as a replacement target. To realize this, a 2-bit counter 182 is provided in the cache memory control sequencer 111. As described above, the counter 182 is incremented each time the cache memory 11 is accessed. When a cache miss occurs and all four sets corresponding to the selected line are valid, the set with the number indicated by this counter is selected as the first candidate for replacement.

【0072】また、更に置換対象となるセットを選択す
る第2の基準として、その置換対象となったセットのア
ドレスタグ112に入っているアドレスがシステム内ア
ドレスを指しているのか、拡張用領域アドレスを指して
いるのかを用いている。この拡張用領域アドレスかどう
かを判断するための情報自体は、比較器115内部に保
持されている。即ち、図12に示されるアドレス空間の
最上位ビットを判断に用いている。つまり、各アドレス
タグ112に入っているアドレスの最上位ビットが0で
あればシステム領域、1であれば拡張用領域のアドレス
を示していることが判明する。
Further, as a second criterion for further selecting a set to be replaced, whether the address included in the address tag 112 of the set to be replaced indicates an address in the system or the address of the extension area Is used. The information itself for determining whether the address is the extension area address is held in the comparator 115. That is, the most significant bit of the address space shown in FIG. 12 is used for the determination. That is, if the most significant bit of the address contained in each address tag 112 is 0, it indicates that if the most significant bit is 1, the address indicates the address of the extension area.

【0073】この第1の基準と第2の基準とを組みあわ
せた置換対象のセットを選択する置換アルゴリズムは以
下の通りである。尚、参考までにカウンタの指し示す番
号として2が与えられている場合にどのセットが選択さ
れるのかを例示する。 1. カウンタ182の指し示す番号のセット(ここで
はセット2)に蓄えられているアドレスタグ112が示
すアドレスがシステム領域アドレスであるか否かを検査
する(ステップS1503)。システム領域アドレスで
ある場合(ステップS1503でYES)、そのままカ
ウンタの番号の指し示すセット(ここではセット2)を
置換対象に選択する(ステップS1504)。
A replacement algorithm for selecting a set to be replaced by combining the first criterion and the second criterion is as follows. For reference, an example of which set is selected when 2 is given as the number indicated by the counter is shown. 1. It is checked whether or not the address indicated by the address tag 112 stored in the set of numbers indicated by the counter 182 (here, set 2) is a system area address (step S1503). If the address is the system area address (YES in step S1503), the set indicated by the counter number (here, set 2) is selected as the replacement target (step S1504).

【0074】2. 1においてカウンタ182の指し示
す番号のセット(ここではセット2)に蓄えられている
アドレスタグ112が示すアドレスが拡張用領域アドレ
スである場合(ステップS1503でNO)、第2の置
換候補として”カウンタ−1”の指し示すセット(ここ
ではセット1)のアドレスタグ112がシステム領域ア
ドレスである否かを検査する(ステップS1505)。
尚、カウンタ値が0であった場合にはセット3のアドレ
スタグ112が検査の対象となる。
2. If the address indicated by the address tag 112 stored in the set of numbers indicated by the counter 182 (here, set 2) is the extension area address (NO in step S1503), “counter- It is checked whether the address tag 112 of the set pointed to by 1 "(here, set 1) is a system area address (step S1505).
If the counter value is 0, the address tag 112 of set 3 is to be inspected.

【0075】3. ”カウンタ値−1”の指し示すセッ
ト(ここではセット1)の持つアドレスがシステム領域
アドレスである場合(ステップS1505でYES)、
そのセット(ここではセット1)を置換対象として選択
する(ステップS1506)。 4. ”カウンタ値−1”の指し示すセット(ここでは
セット1)の持つアドレスが拡張用領域アドレスである
場合(ステップS1505でNO)、第1の置換候補で
あったカウンタの指し示す番号のセット(ここではセッ
ト2)を置換対象として選択する(ステップS150
7)。このように、拡張用領域アドレスをキャッシング
していた場合、置換対象として選ばれずにキャッシュ内
部に残る可能性がランダム法のみを用いて判断していた
時に比べて1レベル高くなることになる。
3. If the address of the set indicated by "counter value-1" (here, set 1) is the system area address (YES in step S1505),
The set (here, set 1) is selected as a replacement target (step S1506). 4. If the address of the set (here, set 1) indicated by “counter value −1” is the extension area address (NO in step S1505), the set of numbers indicated by the counter that was the first replacement candidate (here, Set 2) is selected as a replacement target (step S150)
7). As described above, in the case where the extension area address is cached, the possibility that the extension area address is not selected as a replacement target and remains in the cache is increased by one level as compared with the case where it is determined using only the random method.

【0076】以上のような置換アルゴリズムを実行する
ことによって、システム領域外のメモリからデータを読
み込むようなアクセス遅延の大きな記憶装置に由来する
データブロックのキャッシュ・メモリ11内部に存続す
る優先度を上昇させることが可能になる。この結果、計
算機システム全体としての動作速度を向上させ、システ
ム性能の向上を図ることができる。
By executing the above replacement algorithm, the priority of data blocks originating from a storage device having a large access delay, such as reading data from a memory outside the system area, remaining in the cache memory 11 is increased. It becomes possible to do. As a result, the operation speed of the entire computer system can be improved, and the system performance can be improved.

【0077】以上説明したように、実施形態1、2によ
れば、アクセス遅延の異なる複数の記憶装置を有する計
算機システムにおいて、キャッシュ・メモリのデータブ
ロックの置換を行う際に、よりキャッシング効果が得ら
れるような置換対象となるデータブロックの決定方法を
提供でき、計算機システム全体の処理能力を向上させる
ことができる効果がある。
As described above, according to the first and second embodiments, in a computer system having a plurality of storage devices with different access delays, a greater caching effect can be obtained when replacing a data block in a cache memory. As a result, a method of determining a data block to be replaced can be provided, and the processing capability of the entire computer system can be improved.

【0078】尚、本発明は、複数の機器(例えば、ホス
トコンピュータ、インタフェース機器、リーダ、プリン
タ等)から構成されるシステムに適用しても、一つの機
器からなる装置(例えば、複写機、ファクシミリ装置
等)に適用してもよい。また、本発明の目的は、前述し
た実施形態の機能を実現するソフトウェアのプログラム
コードを記録した記憶媒体を、システムあるいは装置に
供給し、そのシステムあるいは装置のコンピュータ(ま
たはCPUやMPU)が記憶媒体に格納されたプログラ
ムコードを読出し実行することによっても、達成される
ことは言うまでもない。
Even if the present invention is applied to a system including a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), a device including one device (for example, a copying machine, a facsimile, etc.) Device). Further, an object of the present invention is to provide a storage medium storing a program code of software for realizing the functions of the above-described embodiments to a system or an apparatus, and a computer (or CPU or MPU) of the system or apparatus to store the storage medium. Needless to say, this can also be achieved by reading and executing the program code stored in the program.

【0079】この場合、記憶媒体から読出されたプログ
ラムコード自体が上述した実施の形態の機能を実現する
ことになり、そのプログラムコードを記憶した記憶媒体
は本発明を構成することになる。プログラムコードを供
給するための記憶媒体としては、例えば、フロッピディ
スク、ハードディスク、光ディスク、光磁気ディスク、
CD−ROM、CD−R、磁気テープ、不揮発性のメモ
リカード、ROMなどを用いることができる。
In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiment, and the storage medium storing the program code constitutes the present invention. As a storage medium for supplying the program code, for example, a floppy disk, a hard disk, an optical disk, a magneto-optical disk,
A CD-ROM, CD-R, magnetic tape, nonvolatile memory card, ROM, or the like can be used.

【0080】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施の形態の機能
が実現される場合も含まれることは言うまでもない。
When the computer executes the readout program code, not only the functions of the above-described embodiment are realized, but also the OS (Operating System) running on the computer based on the instruction of the program code. ) May perform some or all of the actual processing, and the processing may realize the functions of the above-described embodiments.

【0081】更に、記憶媒体から読出されたプログラム
コードが、コンピュータに挿入された機能拡張ボードや
コンピュータに接続された機能拡張ユニットに備わるメ
モリに書き込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。
Further, after the program code read from the storage medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the program code is read based on the instruction of the program code. It goes without saying that the CPU included in the function expansion board or the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing.

【0082】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明したフローチャートに対応す
るプログラムコードを格納することになるが、簡単に説
明すると、図16のメモリマップ例に示す各モジュール
を記憶媒体に格納することになる。すなわち、少なくと
も「判定モジュール」および「置換モジュール」の各モ
ジュールのプログラムコードを記憶媒体に格納すればよ
い。
When the present invention is applied to the storage medium, the storage medium stores program codes corresponding to the above-described flowcharts. Each module shown will be stored in a storage medium. That is, at least the program code of each of the “determination module” and the “replacement module” may be stored in the storage medium.

【0083】尚、「判定モジュール」は、複数のキャッ
シュ・ブロックのいずれかを置換する場合、該複数のキ
ャッシュ・ブロックそれぞれが第1の記憶装置及び第2
の記憶装置のどちらに属しているかを判定する。「置換
モジュール」は、判定結果に基づいて、複数のキャッシ
ュ・ブロックのいずれかを置換する。
When replacing any of the plurality of cache blocks, the "determination module" replaces each of the plurality of cache blocks with the first storage device and the second storage block.
Which storage device belongs to which storage device. The “replacement module” replaces any one of the plurality of cache blocks based on the determination result.

【0084】[0084]

【発明の効果】以上説明したように、本発明によれば、
処理能力を向上させることができる情報処理システム及
びその制御方法、情報処理装置を提供できる。
As described above, according to the present invention,
It is possible to provide an information processing system, a control method thereof, and an information processing apparatus capable of improving processing capacity.

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

【図1】本発明を実現する実施形態1の計算機システム
の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a computer system according to a first embodiment for realizing the present invention.

【図2】実施形態1のクラスタ型計算機システム全体の
アドレス空間の割り当てを示す図である。
FIG. 2 is a diagram showing an address space allocation of the entire cluster type computer system according to the first embodiment.

【図3】実施形態1のキャッシュ・メモリの詳細な構成
を示すブロック図である。
FIG. 3 is a block diagram illustrating a detailed configuration of a cache memory according to the first embodiment;

【図4】実施形態1のアドレスタグ、状態フラグ、SR
AMの詳細な構成を示す図である。
FIG. 4 is an address tag, status flag, and SR of the first embodiment.
It is a figure showing the detailed composition of AM.

【図5】実施形態1で実行されるLOAD命令が発行さ
れた際のキャッシュ・メモリにおける制御手順を示すフ
ローチャートである。
FIG. 5 is a flowchart illustrating a control procedure in the cache memory when a LOAD instruction executed in the first embodiment is issued.

【図6】実施形態1のキャッシュ・ミス処理の制御手順
を示すフローチャートである。
FIG. 6 is a flowchart illustrating a control procedure of a cache miss process according to the first embodiment.

【図7】実施形態1で実行されるSTORE命令が発行
された際のキャッシュ・メモリにおける制御手順を示す
フローチャートである。
FIG. 7 is a flowchart illustrating a control procedure in the cache memory when a STORE instruction executed in the first embodiment is issued.

【図8】実施形態1の各メモリトランザクション実行時
の状態フラグの状態遷移を示す図である。
FIG. 8 is a diagram showing a state transition of a state flag when each memory transaction is executed in the first embodiment.

【図9】実施形態1のアドレスタグとLRUビットの遷
移の一例を示す部である。
FIG. 9 is a diagram illustrating an example of transition of an address tag and an LRU bit according to the first embodiment.

【図10】実施形態1のキャッシュ・ブロックの置換対
象を決定する置換アルゴリズムの制御手順を示すフロー
チャートである。
FIG. 10 is a flowchart illustrating a control procedure of a replacement algorithm for determining a replacement target of a cache block according to the first embodiment.

【図11】本発明を実現する実施形態2の計算機システ
ムの構成を示すブロック図である。
FIG. 11 is a block diagram showing a configuration of a computer system according to a second embodiment for realizing the present invention.

【図12】実施形態2の計算機システム全体のアドレス
空間の割り当てを示す図である。
FIG. 12 is a diagram showing address space allocation of the entire computer system according to the second embodiment.

【図13】実施形態2のキャッシュ・メモリの詳細な構
成を示すブロック図である。
FIG. 13 is a block diagram illustrating a detailed configuration of a cache memory according to a second embodiment.

【図14】実施形態2のアドレスタグ、状態フラグ、S
RAMの詳細な構成を示す図である。
FIG. 14 shows an address tag, a status flag, and S of the second embodiment.
FIG. 2 is a diagram illustrating a detailed configuration of a RAM.

【図15】実施形態2のキャッシュ・ブロックの置換対
象を決定する置換アルゴリズムの制御手順を示すフロー
チャートである。
FIG. 15 is a flowchart illustrating a control procedure of a replacement algorithm for determining a replacement target of a cache block according to the second embodiment.

【図16】本発明の実施形態を実現するプログラムコー
ドを格納した記憶媒体のメモリマップの構造を示す図で
ある。
FIG. 16 is a diagram showing a structure of a memory map of a storage medium storing a program code for realizing an embodiment of the present invention.

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

1、2 ノード 5 外部バス 10、20 プロセッサ 11、21 キャッシュ・メモリ 12、22 メモリ 13、23 外部バスインタフェース 14、24 プロセッサバス 15、25 共有バス 16、26 バスアービタ 32 拡張メモリ 33 拡張用インタフェース 35:拡張バス 111 キャシュ・メモリ制御シーケンサ 112 アドレスタグ 113 状態フラグ 114 SRAM 115 比較器 116 選択器 117 キャッシュ・ブロックコントロール 118 比較器コントロール信号 119 Select信号 131、231 NodeIDレジスタ 141 プロセッサアドレスバス 142 プロセッサデータバス 143 プロセッサコントロールバス 144 プロセッサバスアドレスインタフェース 145 プロセッサバスデータインタフェース 146 プロセッサバスコントロールインタフェース 151 共有アドレスバス 152 共有データバス 153 共有コントロールバス 154 共有バスアドレスインタフェース 155 共有バスデータインタフェース 156 共有バスコントロールインタフェース 170 アドレスーh 171 アドレスーm 172 アドレスーl 173 アドレスーh’ 174 データ 175 データ’ 176 ステータス信号 177 共有バスインタフェースコントロール信号 178 プロセッサバスインタフェースコントロール信
号 179 L‐Cont信号 180 S‐Cont信号 181 NodeID信号 182 カウンタ 351 拡張アドレスバス 352 拡張データバス 353 拡張コントロールバス
1, 2 node 5 external bus 10, 20 processor 11, 21 cache memory 12, 22 memory 13, 23 external bus interface 14, 24 processor bus 15, 25 shared bus 16, 26 bus arbiter 32 expansion memory 33 expansion interface 35: Extension bus 111 Cache / memory control sequencer 112 Address tag 113 Status flag 114 SRAM 115 Comparator 116 Selector 117 Cache block control 118 Comparator control signal 119 Select signal 131, 231 Node ID register 141 Processor address bus 142 Processor data bus 143 Processor Control bus 144 Processor bus address interface 145 Processor bus data interface 146 Processor bus control interface 151 Shared address bus 152 Shared data bus 153 Shared control bus 154 Shared bus address interface 155 Shared bus data interface 156 Shared bus control interface 170 Address-h 171 Address-m 172 Address-l 173 Address-h '174 Data 175 Data' 176 Status signal 177 Shared bus interface control signal 178 Processor bus interface control signal 179 L-Cont signal 180 S-Cont signal 181 NodeID signal 182 Counter 351 Extended address bus 352 Extended data bus 353 Extended control bus

Claims (17)

【特許請求の範囲】[Claims] 【請求項1】 第1の記憶装置と、該第1の記憶装置よ
りもアクセス遅延が大きい第2の記憶装置と、複数のキ
ャッシュ・ブロックを有するキャッシュ・メモリとを備
える情報処理システムであって、 前記複数のキャッシュ・ブロックのいずれかを置換する
場合、該複数のキャッシュ・ブロックそれぞれが前記第
1の記憶装置及び前記第2の記憶装置のどちらに属して
いるかを判定する判定手段と、 前記判定手段の判定結果に基づいて、前記複数のキャッ
シュ・ブロックのいずれかを置換する置換手段とを備え
ることを特徴とする情報処理システム。
An information processing system comprising: a first storage device; a second storage device having an access delay greater than that of the first storage device; and a cache memory having a plurality of cache blocks. A determination unit configured to determine whether each of the plurality of cache blocks belongs to the first storage device or the second storage device; An information processing system comprising: a replacement unit that replaces one of the plurality of cache blocks based on a determination result of the determination unit.
【請求項2】 前記置換手段による置換対象としない優
先度を前記複数のキャッシュ・ブロック毎に保持する保
持手段を更に備え、 前記判定手段の判定結果及び前記保持手段が保持する優
先度に基づいて、前記置換手段は前記複数のキャッシュ
・ブロックのいずれかを置換することを特徴とする請求
項1に記載の情報処理システム。
2. The information processing apparatus according to claim 1, further comprising a storage unit configured to store, for each of the plurality of cache blocks, a priority not to be replaced by the replacement unit, based on a determination result of the determination unit and a priority stored by the storage unit. 2. The information processing system according to claim 1, wherein said replacing means replaces any one of said plurality of cache blocks.
【請求項3】 前記置換手段による置換されるキャッシ
ュ・ブロックの優先度に基づいて、該キャッシュ・ブロ
ックを含む前記複数のキャッシュ・ブロックの優先度を
変更する変更手段を更に備えることを特徴とする請求項
2に記載の情報処理システム。
3. The information processing apparatus according to claim 1, further comprising a change unit that changes the priority of the plurality of cache blocks including the cache block based on the priority of the cache block replaced by the replacement unit. The information processing system according to claim 2.
【請求項4】 前記変更手段は、前記置換手段によって
置換されるキャッシュ・ブロックの優先度を最上位に変
更し、該優先度と同じあるいはそれ以下の優先度を持つ
キャッシュ・ブロックの優先度を上昇させることを特徴
する請求項3に記載の情報処理システム。
4. The changing means changes the priority of a cache block replaced by the replacing means to the highest priority, and changes the priority of a cache block having a priority equal to or lower than the priority. The information processing system according to claim 3, wherein the information processing system is raised.
【請求項5】 前記複数のキャッシュ・ブロックそれぞ
れ保持するデータが有効であるか否かを示す情報を管理
する管理手段を更に備え、 前記判定手段の判定結果及び前記保持手段が保持する優
先度及び前記管理手段が管理する情報に基づいて、前記
置換手段は前記複数のキャッシュ・ブロックのいずれか
を置換することを特徴とする請求項2に記載の情報処理
システム。
5. A management unit for managing information indicating whether data held by each of the plurality of cache blocks is valid or not, and a determination result of the determination unit, a priority held by the storage unit, 3. The information processing system according to claim 2, wherein the replacement unit replaces one of the plurality of cache blocks based on information managed by the management unit.
【請求項6】 有効なデータを保持していないキャッシ
ュ・ブロックを示す情報を前記管理手段が管理し、かつ
前記複数のキャッシュ・ブロックのいずれかを置換する
場合は、前記置換手段は該有効なデータを保持していな
いキャッシュ・ブロックを置換することを特徴とする請
求項5に記載の情報処理システム。
6. When the management unit manages information indicating a cache block that does not hold valid data, and replaces any of the plurality of cache blocks, the replacement unit determines the validity of the cache block. The information processing system according to claim 5, wherein a cache block that does not hold data is replaced.
【請求項7】 前記判定手段は、前記第1の記憶装置と
前記第2の記憶装置それぞれに割り当てられたアドレス
空間に基づいて、前記複数のキャッシュ・ブロックそれ
ぞれが前記第1の記憶装置及び前記第2の記憶装置のど
ちらに属しているかを判定することを特徴とする請求項
1に記載の情報処理システム。
7. The method according to claim 1, wherein the determining unit determines that each of the plurality of cache blocks is based on an address space assigned to each of the first storage device and the second storage device. The information processing system according to claim 1, wherein it is determined which of the second storage devices the storage device belongs to.
【請求項8】 第1の記憶装置と、該第1の記憶装置よ
りもアクセス遅延が大きい第2の記憶装置と、複数のキ
ャッシュ・ブロックを有するキャッシュ・メモリとを備
える情報処理システムの制御方法であって、 前記複数のキャッシュ・ブロックのいずれかを置換する
場合、該複数のキャッシュ・ブロックそれぞれが前記第
1の記憶装置及び前記第2の記憶装置のどちらに属して
いるかを判定する判定工程と、 前記判定工程の判定結果に基づいて、前記複数のキャッ
シュ・ブロックのいずれかを置換する置換工程とを備え
ることを特徴とする情報処理システムの制御方法。
8. A control method for an information processing system including a first storage device, a second storage device having an access delay larger than that of the first storage device, and a cache memory having a plurality of cache blocks. And determining whether each of the plurality of cache blocks belongs to the first storage device or the second storage device when replacing any of the plurality of cache blocks. And a replacement step of replacing one of the plurality of cache blocks based on a result of the determination in the determination step.
【請求項9】 前記置換工程による置換対象としない優
先度を前記複数のキャッシュ・ブロック毎に保持する保
持工程を更に備え、 前記判定工程の判定結果及び前記保持工程で保持される
優先度に基づいて、前記置換工程は前記複数のキャッシ
ュ・ブロックのいずれかを置換することを特徴とする請
求項8に記載の情報処理システムの制御方法。
9. A storage unit for storing, for each of the plurality of cache blocks, a priority not to be replaced by the replacement step, based on a determination result of the determination step and a priority held in the storage step. 9. The method according to claim 8, wherein the replacing step replaces any one of the plurality of cache blocks.
【請求項10】 前記置換工程による置換されるキャッ
シュ・ブロックの優先度に基づいて、該キャッシュ・ブ
ロックを含む前記複数のキャッシュ・ブロックの優先度
を変更する変更工程を更に備えることを特徴とする請求
項9に記載の情報処理システムの制御方法。
10. The method according to claim 1, further comprising the step of: changing a priority of the plurality of cache blocks including the cache block based on a priority of the cache block to be replaced in the replacement step. A control method for an information processing system according to claim 9.
【請求項11】 前記変更工程は、前記置換工程によっ
て置換されるキャッシュ・ブロックの優先度を最上位に
変更し、該優先度と同じあるいはそれ以下の優先度を持
つキャッシュ・ブロックの優先度を上昇させることを特
徴する請求項10に記載の情報処理システムの制御方
法。
11. The changing step changes the priority of a cache block replaced by the replacing step to the highest priority, and changes the priority of a cache block having a priority equal to or lower than the priority. The control method for an information processing system according to claim 10, wherein the control is performed.
【請求項12】 前記複数のキャッシュ・ブロックそれ
ぞれ保持するデータが有効であるか否かを示す情報を管
理する管理工程を更に備え、 前記判定工程の判定結果及び前記保持工程で保持される
優先度及び前記管理工程で管理される情報に基づいて、
前記置換工程は前記複数のキャッシュ・ブロックのいず
れかを置換することを特徴とする請求項9に記載の情報
処理システムの制御方法。
12. A management step for managing information indicating whether data held in each of the plurality of cache blocks is valid or not, and a result of the judgment step and a priority held in the holding step. And based on the information managed in the management process,
10. The method according to claim 9, wherein the replacing step replaces one of the plurality of cache blocks.
【請求項13】 有効なデータを保持していないキャッ
シュ・ブロックを示す情報が前記管理工程で管理され、
かつ前記複数のキャッシュ・ブロックのいずれかを置換
する場合は、前記置換工程は該有効なデータを保持して
いないキャッシュ・ブロックを置換することを特徴とす
る請求項12に記載の情報処理システムの制御方法。
13. The information indicating a cache block that does not hold valid data is managed in the management step,
13. The information processing system according to claim 12, wherein when replacing any of the plurality of cache blocks, the replacing step replaces a cache block that does not hold the valid data. Control method.
【請求項14】 前記判定工程は、前記第1の記憶装置
と前記第2の記憶装置それぞれに割り当てられたアドレ
ス空間に基づいて、前記複数のキャッシュ・ブロックそ
れぞれが前記第1の記憶装置及び前記第2の記憶装置の
どちらに属しているかを判定することを特徴とする請求
項8に記載の情報処理システムの制御方法。
14. The method according to claim 1, wherein the plurality of cache blocks are based on an address space allocated to each of the first storage device and the second storage device. 9. The method according to claim 8, wherein it is determined to which of the second storage devices the storage device belongs.
【請求項15】 第1の記憶装置と、該第1の記憶装置
よりもアクセス遅延が大きい第2の記憶装置と、複数の
キャッシュ・ブロックを有するキャッシュ・メモリとを
備える情報処理装置であって、 前記複数のキャッシュ・ブロックのいずれかを置換する
場合、該複数のキャッシュ・ブロックそれぞれが前記第
1の記憶装置及び前記第2の記憶装置のどちらに属して
いるかを判定する判定手段と、 前記判定手段の判定結果に基づいて、前記複数のキャッ
シュ・ブロックのいずれかを置換する置換手段と、 を備えることを特徴とする情報処理装置。
15. An information processing apparatus comprising: a first storage device; a second storage device having a longer access delay than the first storage device; and a cache memory having a plurality of cache blocks. A determination unit configured to determine whether each of the plurality of cache blocks belongs to the first storage device or the second storage device; An information processing apparatus, comprising: replacement means for replacing any of the plurality of cache blocks based on a determination result of the determination means.
【請求項16】 前記置換手段による置換対象としない
優先度を前記複数のキャッシュ・ブロック毎に保持する
保持手段を更に備え、 前記判定手段の判定結果及び前記保持手段が保持する優
先度に基づいて、前記置換手段は前記複数のキャッシュ
・ブロックのいずれかを置換することを特徴とする請求
項15に記載の情報処理装置。
16. A storage unit for holding, for each of the plurality of cache blocks, a priority not to be replaced by the replacement unit, based on a determination result of the determination unit and a priority held by the storage unit. 16. The information processing apparatus according to claim 15, wherein said replacing means replaces any one of said plurality of cache blocks.
【請求項17】 第1の記憶装置と、該第1の記憶装置
よりもアクセス遅延が大きい第2の記憶装置と、複数の
キャッシュ・ブロックを有するキャッシュ・メモリとを
備える情報処理システムの制御のプログラムコードが格
納されたコンピュータ可読メモリであって、 前記複数のキャッシュ・ブロックのいずれかを置換する
場合、該複数のキャッシュ・ブロックそれぞれが前記第
1の記憶装置及び前記第2の記憶装置のどちらに属して
いるかを判定する判定工程のプログラムコードと、 前記判定手段の判定結果に基づいて、前記複数のキャッ
シュ・ブロックのいずれかを置換する置換工程のプログ
ラムコードとを備えることを特徴とするコンピュータ可
読メモリ。
17. Control of an information processing system including a first storage device, a second storage device having a longer access delay than the first storage device, and a cache memory having a plurality of cache blocks. A computer-readable memory storing a program code, wherein when replacing any of the plurality of cache blocks, each of the plurality of cache blocks is one of the first storage device and the second storage device. And a program code for a replacement step of replacing any of the plurality of cache blocks based on a determination result of the determination unit. Readable memory.
JP9001442A 1997-01-08 1997-01-08 Information processing system, its control method and information processor Withdrawn JPH10198603A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9001442A JPH10198603A (en) 1997-01-08 1997-01-08 Information processing system, its control method and information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9001442A JPH10198603A (en) 1997-01-08 1997-01-08 Information processing system, its control method and information processor

Publications (1)

Publication Number Publication Date
JPH10198603A true JPH10198603A (en) 1998-07-31

Family

ID=11501565

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9001442A Withdrawn JPH10198603A (en) 1997-01-08 1997-01-08 Information processing system, its control method and information processor

Country Status (1)

Country Link
JP (1) JPH10198603A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100395758B1 (en) * 2001-06-21 2003-08-21 삼성전자주식회사 Cache memory compliant with new block replacement scheme
JP2010538390A (en) * 2007-09-04 2010-12-09 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Second chance replacement mechanism for highly responsive processor cache memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100395758B1 (en) * 2001-06-21 2003-08-21 삼성전자주식회사 Cache memory compliant with new block replacement scheme
JP2010538390A (en) * 2007-09-04 2010-12-09 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド Second chance replacement mechanism for highly responsive processor cache memory

Similar Documents

Publication Publication Date Title
US7698508B2 (en) System and method for reducing unnecessary cache operations
KR100318789B1 (en) System and method for managing cache in a multiprocessor data processing system
US6631447B1 (en) Multiprocessor system having controller for controlling the number of processors for which cache coherency must be guaranteed
US5325504A (en) Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system
US5987571A (en) Cache coherency control method and multi-processor system using the same
US6571322B2 (en) Multiprocessor computer system with sectored cache line mechanism for cache intervention
US6446185B2 (en) Selective address translation in coherent memory replication
US7237068B2 (en) Computer system employing bundled prefetching and null-data packet transmission
US6289420B1 (en) System and method for increasing the snoop bandwidth to cache tags in a multiport cache memory subsystem
US5787478A (en) Method and system for implementing a cache coherency mechanism for utilization within a non-inclusive cache memory hierarchy
US5692149A (en) Block replacement method in cache only memory architecture multiprocessor
JP4447580B2 (en) Partitioned sparse directory for distributed shared memory multiprocessor systems
US6138217A (en) Method and apparatus for cache coherency in an interconnecting network
JP2000010860A (en) Cache memory control circuit, processor, processor system, and parallel processor system
US20110173393A1 (en) Cache memory, memory system, and control method therefor
US20080301371A1 (en) Memory Cache Control Arrangement and a Method of Performing a Coherency Operation Therefor
US5675765A (en) Cache memory system with independently accessible subdivided cache tag arrays
US6950906B2 (en) System for and method of operating a cache
US5361342A (en) Tag control system in a hierarchical memory control system
JP2007156821A (en) Cache system and shared secondary cache
US6484241B2 (en) Multiprocessor computer system with sectored cache line system bus protocol mechanism
US6553462B2 (en) Multiprocessor computer system with sectored cache line mechanism for load and store operations
JPH10198603A (en) Information processing system, its control method and information processor
US5636365A (en) Hierarchical buffer memories for selectively controlling data coherence including coherence control request means
JP2000267935A (en) Cache memory device

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20040406