JP2978706B2 - Control storage caching method - Google Patents

Control storage caching method

Info

Publication number
JP2978706B2
JP2978706B2 JP5330621A JP33062193A JP2978706B2 JP 2978706 B2 JP2978706 B2 JP 2978706B2 JP 5330621 A JP5330621 A JP 5330621A JP 33062193 A JP33062193 A JP 33062193A JP 2978706 B2 JP2978706 B2 JP 2978706B2
Authority
JP
Japan
Prior art keywords
cache memory
microprogram
address
stored
compartment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP5330621A
Other languages
Japanese (ja)
Other versions
JPH07191912A (en
Inventor
康之 那須
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP5330621A priority Critical patent/JP2978706B2/en
Publication of JPH07191912A publication Critical patent/JPH07191912A/en
Application granted granted Critical
Publication of JP2978706B2 publication Critical patent/JP2978706B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は、制御記憶キャッシン
グ、特にマイクロプログラムの読み出し制御時の制御記
憶キャッシング方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to control storage caching, and more particularly, to a control storage caching method for controlling reading of a microprogram.

【0002】[0002]

【従来の技術】従来、演算処理装置を制御するためのマ
イクロプログラムは、小容量であればLSI内臓のRO
MあるいはRAM等に格納され、大容量であればLSI
外部のROMあるいはRAM等に格納されるか、主記憶
装置等に格納されていた。
2. Description of the Related Art Conventionally, a microprogram for controlling an arithmetic processing unit has a small capacity of an RO built in an LSI.
M or RAM, etc.
It is stored in an external ROM or RAM, or stored in a main storage device or the like.

【0003】大容量のマイクロプラグラムをLSI外部
のROMあるいはRAMに格納するためには、ROMあ
るいはRAMとのインタフェースのためのLSI入出力
ピンが必要となり、LSI入出力ピンが不足してしま
う。このため、マイクロプログラムを主記憶装置上に格
納し、通常の主記憶装置アクセス機構を使用してマイク
ロプログラムを読み出すことで、LSI入出力ピンの不
足を解消することが多い。
In order to store a large-capacity microprogram in a ROM or RAM outside the LSI, LSI input / output pins for interfacing with the ROM or RAM are required, and the number of LSI input / output pins becomes insufficient. For this reason, the shortage of the LSI input / output pins is often solved by storing the microprogram on the main storage device and reading the microprogram using a normal main storage device access mechanism.

【0004】しかしながら、マイクロプログラムの読み
出し時間は演算処理装置の性能に直接影響を与えるの
で、主記憶装置上にマイクロプログラムを格納する場合
は、読み出し時間の遅れを補うために、演算処理装置と
主記憶装置の間にキャッシュメモリが必要になる。この
場合、従来の制御記憶キャッシング方式は、キャッシュ
ミスヒット時に追い出すべきコンパートメントを決定す
るのに、最後にアクセスされた時刻を基準とするため、
LRUメモリを備えている。
However, the read time of the microprogram directly affects the performance of the arithmetic processing unit. Therefore, when the microprogram is stored in the main storage device, the microprogram and the main processor must be connected to each other to compensate for the delay in the read time. A cache memory is required between the storage devices. In this case, the conventional control storage caching method determines the compartment to be evicted in the event of a cache miss, based on the last access time,
It has an LRU memory.

【0005】[0005]

【発明が解決しようとする課題】上述した従来の制御記
憶キャッシング方式では、演算処理装置の台数が比較的
多いマルチプロセッサ構成のシステムの場合には、キャ
ッシュメモリのヒット率が低下してしまい、結果として
マイクロプログラムの読み出し時間が長くなりシステム
性能が低下してしまうという問題があった。
In the above-described conventional control storage caching method, in a multiprocessor system having a relatively large number of arithmetic processing units, the hit rate of the cache memory is reduced. As a result, there has been a problem in that the reading time of the microprogram becomes longer and the system performance is reduced.

【0006】[0006]

【課題を解決するための手段】本発明の方式は、演算処
理装置と主記憶装置との間に複数のコンパートメントか
ら構成されるセットアソシアティブ方式のキャッシュメ
モリを有し、前記主記憶装置に格納された前記演算処理
装置を制御するためのマイクロプログラムを前記キャッ
シュメモリにキャッシングして動作する情報処理装置に
おける制御記憶キャッシング方式において、前記キャッ
シュメモリの特定のキャッシュメモリアドレスにのみマ
イクロプログラムが格納されるように、マイクロプログ
ラムが格納される主記憶上のアドレスを特定のアドレス
範囲に限定し、マイクロプログラムがキャッシュメモリ
上に読み込まれているか否かを示す前記キャッシュメモ
の特定キャッシュメモリアドレス範囲のブロックに対
応したフラグを設け、ブロックのスワップ事象が発生し
た場合に前記フラグがマイクロプログラムの格納を示し
ている場合にはそのブロックに掃き出しは行わずに他の
コンパートメントのブロックを掃き出すことを特徴とす
る。
According to the method of the present invention, there is provided a set associative cache memory comprising a plurality of compartments between an arithmetic processing unit and a main storage device, and stored in the main storage device. and the control store caching scheme microprograms for controlling the arithmetic processing apparatus in the information processing apparatus which operates caching in the cache memory, said cache
Only to specific cache memory addresses in
Microprograms are stored so that microprograms can be stored.
The address in main memory where the RAM is stored is a specific address
Limited to the range, the micro-program a flag corresponding to the block of a particular cache memory address range of the cache memory indicating whether read into the cache memory, the flag when the swap event block has occurred Indicates that a microprogram is stored, a block in another compartment is swept out without sweeping out that block.

【0007】[0007]

【実施例】本発明の第1の実施例を示す図1を参照する
と、本実施例は、演算処理装置1、主記憶装置2、キャ
ッシュメモリ3、アドレスレジスタ31、アドレスアレ
イ320〜32n、データアレイ330〜33n、有効
フラグメモリ340〜34n、アドレス比較回路350
〜35n、マイクロプログラム格納フラグ360〜36
n、LRUメモリ37、コンパートメント選択回路38
から構成されている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring to FIG. 1 showing a first embodiment of the present invention, the present embodiment includes an arithmetic processing unit 1, a main storage unit 2, a cache memory 3, an address register 31, address arrays 320 to 32n, data Arrays 330 to 33n, valid flag memories 340 to 34n, address comparison circuit 350
To 35n, microprogram storage flags 360 to 36
n, LRU memory 37, compartment selection circuit 38
It is composed of

【0008】演算処理装置1がマイクロプログラム読み
出しリクエストを発行すると、そのリクエストアドレス
はアドレスレジスタ31に格納される。アドレスレジス
タ31の一部分のビット群がアドレスアレイ320〜3
2nのアドレスとなり索引される。一例として、記憶空
間が32ビットアドレッシング(4ギガバイト)、ブロ
ックサイズが64バイト、キャッシュメモリ容量が4メ
ガバイトの4コンパートメントのキャッシュメモリ3の
場合を述べる。アドレスアレイ320〜323の各コン
パートメントは、16キロワード×12ビットで構成さ
れ、アドレス32ビットのうちの上位の12ビットを格
納する。アドレス32ビットのうちの中位の14ビット
がアドレスアレイの格納アドレス、下位の6ビットはブ
ロックサイズ64バイト内の1バイトをそれぞれ指示す
る。
When the arithmetic processing unit 1 issues a microprogram read request, the request address is stored in the address register 31. A part of the bit group of the address register 31 corresponds to the address arrays 320 to 3.
2n addresses are indexed. As an example, a case of a 4-compartment cache memory 3 having a storage space of 32 bits addressing (4 gigabytes), a block size of 64 bytes, and a cache memory capacity of 4 megabytes will be described. Each compartment of the address arrays 320 to 323 is composed of 16 kilowords × 12 bits, and stores the upper 12 bits of the 32 bits of the address. The middle 14 bits of the 32 bits of the address indicate the storage address of the address array, and the lower 6 bits indicate 1 byte of the block size of 64 bytes.

【0009】アドレスアレイ320〜32nから読み出
されたアドレス情報はアドレス比較回路350〜35n
でアドレスレジスタ31の上位のビット群と比較され、
その結果が一致し、かつ、対応する有効フラグメモリ3
40〜34nの値が有効であれば、キャッシュヒットと
判定され対応するデータアレイ330〜33nからマイ
クロプログラムが読み出される。前述した例によると、
アドレスアレイ320〜323に格納されているアドレ
スの上位の12ビットと、アドレスレジスタ31の対応
する12ビットを4つのアドレス比較回路350〜35
3で各々比較を行い、比較結果が一致し、かつ、有効フ
ラグメモリ340〜343がブロックの有効を示してい
るコンパートメントがキャッシュヒットと判定されるこ
とになる。
The address information read from the address arrays 320 to 32n is applied to address comparison circuits 350 to 35n.
Is compared with the upper bit group of the address register 31,
The result matches, and the corresponding valid flag memory 3
If the values of 40 to 34n are valid, a cache hit is determined and the microprogram is read from the corresponding data array 330 to 33n. According to the example above,
The upper 12 bits of the address stored in the address arrays 320 to 323 and the corresponding 12 bits of the address register 31 are converted into four address comparison circuits 350 to 35.
3, the comparison results are identical, and the compartments in which the validity flag memories 340 to 343 indicate the validity of the block are determined to be cache hits.

【0010】キャッシュヒットと判定されなかった場合
は、主記憶装置2に対し、マイクロプログラム読み出し
リクエストを発行する。主記憶装置2から読み出された
マイクロプログラムはコンパートメント選択回路38に
よって選択されたデータアレイ330〜33nの1コン
パートメントへ格納される。同時に、アドレスアレイ3
20〜32nにマイクロプログラムの一部分が格納さ
れ、有効フラグ340〜34nの該当ビットを有効に
し、マイクロプログラム格納フラグ360〜36nの該
当ビットもセットする。
If a cache hit is not determined, a microprogram read request is issued to the main storage device 2. The microprogram read from the main storage device 2 is stored in one compartment of the data arrays 330 to 33n selected by the compartment selection circuit 38. At the same time, address array 3
A part of the microprogram is stored in 20 to 32n, the corresponding bits of the valid flags 340 to 34n are made valid, and the corresponding bits of the microprogram storage flags 360 to 36n are also set.

【0011】演算処理装置1がマイクロプログラム読み
出しリクエスト以外のリクエストを発行するとき、その
リクエストアドレスをアドレスレジスタ31に格納す
る。アドレスレジスタ31の一部分のビット群がアドレ
スアレイ320〜32nのアドレスとなり索引される。
アドレスアレイ320〜32nから読出されたアドレス
情報はアドレス比較回路350〜35nでアドレスレジ
スタ31の一部分のビット群と比較した結果、一致し、
かつ、対応する有効フラグメモリ340〜34nの値が
有効であれば、キャッシュヒットと判定され対応するデ
ータアレイ330〜33nに対してデータの読み書きを
行う。
When the arithmetic processing unit 1 issues a request other than the microprogram read request, the request address is stored in the address register 31. A part of the bit group of the address register 31 becomes an address of the address arrays 320 to 32n and is indexed.
The address information read from the address arrays 320 to 32n is compared with a part of the bit group of the address register 31 by the address comparing circuits 350 to 35n, and as a result,
If the values of the corresponding valid flag memories 340 to 34n are valid, it is determined that a cache hit has occurred, and data is read from or written to the corresponding data arrays 330 to 33n.

【0012】キャッシュヒットと判定されなかった場合
は、主記憶装置2に対し、リクエストを発行する。主記
憶装置2から読み出されたデータはキャッシュメモリ上
に格納される事になるが、この場合、既にキャッシュメ
モリ3上に格納されているデータをキャッシュメモリ3
上から追い出さなければならない。どのコンパートメン
トを追い出すかはLRUメモリ37によって示される最
後にアクセスされた時刻が最も古いコンパートメントを
コンパートメント選択回路38が選択する。このとき、
マイクロプログラム格納フラグ360〜36nがセット
されていないコンパートメントが優先的に選択される。
従って、マイクロプログラムが格納されているブロック
は、同一キャッシュメモリの全てのコンパートメントに
マイクロプログラムが格納されていない限り、追い出さ
れることは無いので、マイクロプログラムは一旦キャッ
シュメモリ3へ読出されるとミスヒットをすることはほ
とんど無くなる。
If no cache hit is determined, a request is issued to the main storage device 2. The data read from the main storage device 2 is stored in the cache memory. In this case, the data already stored in the cache memory 3 is stored in the cache memory 3.
You have to get rid of it from above. The compartment selection circuit 38 selects the compartment whose last access time indicated by the LRU memory 37 is the oldest. At this time,
A compartment in which the microprogram storage flags 360 to 36n are not set is preferentially selected.
Therefore, the block in which the microprogram is stored is not evicted unless the microprogram is stored in all compartments of the same cache memory. Is almost never done.

【0013】図2は本発明の第2の実施例を示す。図2
を参照すると、本実施例は、演算処理装置1、主記憶装
置2、キャッシュメモリ3、アドレスレジスタ31、ア
ドレスアレイ320〜32n、データアレイ330〜3
3n、有効フラグメモリ340〜34n、アドレス比較
回路350〜35n、マイクロプログラム格納フラグ3
60、LRUメモリ37、コンパートメント選択回路3
8から構成されている。
FIG. 2 shows a second embodiment of the present invention. FIG.
Referring to FIG. 1, in the present embodiment, the arithmetic processing device 1, the main storage device 2, the cache memory 3, the address register 31, the address arrays 320 to 32n, and the data arrays 330 to 3
3n, valid flag memories 340 to 34n, address comparison circuits 350 to 35n, microprogram storage flag 3
60, LRU memory 37, compartment selection circuit 3
8.

【0014】図1に示した第1の実施例との相違点は、
マイクロプログラムが特定のコンパートメント、例えば
コンパートメント#0にのみ格納される点である。した
がって、マイクロプログラム格納フラグ360がブロッ
ク対応ではなくアドレスアレイ320〜32nのアドレ
ス対応に設けられる。
The difference from the first embodiment shown in FIG.
The microprogram is stored only in a specific compartment, for example, compartment # 0. Therefore, microprogram storage flag 360 is provided not for blocks but for addresses of address arrays 320 to 32n.

【0015】キャッシュメモリ3上に格納されているデ
ータをキャッシュメモリ3上から追い出す際に、マイク
ロプログラム格納フログ360がセットされていれば、
コンパートメント選択回路38で選択を行う際にコンパ
ートメント#0は除外される。したがって、アドレスア
レイ320〜32nのアドレスが16キロワードでブロ
ックサイズが64バイトの場合では、マイクロプログラ
ム容量が1メガバイトまでのとき、一旦キャッシュメモ
リ3へ読出されるとミスヒットすることは無くなる。
When the data stored in the cache memory 3 is evicted from the cache memory 3, if the microprogram storage blog 360 is set,
When the selection is made by the compartment selection circuit 38, the compartment # 0 is excluded. Therefore, in the case where the addresses of the address arrays 320 to 32n are 16 kilowords and the block size is 64 bytes, when the microprogram capacity is up to 1 megabyte, no mishit occurs once the data is read into the cache memory 3.

【0016】図3は本発明の第3の実施例を示す。図3
を参照すると、本実施例は、演算処理装置1、主記憶装
置2、キャッシュメモリ3、アドレスレジスタ31、ア
ドレスアレイ320〜32n、データアレイ330〜3
3n、有効フラグメモリ340〜34n、アドレス比較
回路350〜35n、マイクロプログラム格納フラグ3
60〜36n、LRUメモリ37、コンパートメント選
択回路38から構成されている。
FIG. 3 shows a third embodiment of the present invention. FIG.
Referring to FIG. 1, in the present embodiment, the arithmetic processing device 1, the main storage device 2, the cache memory 3, the address register 31, the address arrays 320 to 32n, and the data arrays 330 to 3
3n, valid flag memories 340 to 34n, address comparison circuits 350 to 35n, microprogram storage flag 3
60 to 36n, an LRU memory 37, and a compartment selection circuit 38.

【0017】図1に示した第1の実施例との相違点は、
マイクロプログラムがアドレスアレイ320〜32nの
特定のアドレスにしか読み込まれないように主記憶上に
マッピングされている点である。
The difference from the first embodiment shown in FIG.
The point is that the microprogram is mapped on the main memory so as to be read only at a specific address of the address arrays 320 to 32n.

【0018】例えば、記憶空間が32ビットアドレッシ
ング(4ギガバイト)、ブロックサイズが64バイト、
キャッシュメモリ容量が4メガバイトの4コンパートメ
ントのキャッシュメモリの場合について説明すると、マ
イクロプログラムの容量が64キロバイトの場合、主記
憶上のアドレスが0000000016番地、00100
00016番地、0020000016番地、および003
0000016番地、から始まる各々16キロバイトの領
域にマッピングを行う。そうすると、マイクロプログラ
ムはキャッシュメモリ3上の000016番地〜0100
16番地の256エントリー(1024ブロック)に読み
込まれることになる。
For example, the storage space is 32-bit addressing (4 gigabytes), the block size is 64 bytes,
When the cache memory will be described for the case of the cache memory of 4 compartments 4 megabyte when the capacity of 64 kilobytes microprogram address on the main memory is 00000000 address 16, 00100
000 16 address, 00200000 16 address, and 003
00000 address 16, and maps each 16 kilobyte region starting. Then, the micro-program 0000 16 address on the cache memory 3 to 0100
The data is read into 256 entries (1024 blocks) at address 16 .

【0019】この場合、マイクロプログラム格納フラグ
は256エントリー×4コンパートメント=1024ビ
ットを設ければよいことになる。本実施例も第一の実施
例と同様に、キャッシュメモリ3上に格納されているデ
ータをキャッシュメモリ3上から追い出す際に、マイク
ロプログラム格納フラグ360〜36nがセットされて
いないコンパートメントが優先的に選択される。
In this case, the microprogram storage flag may have 256 entries × 4 compartments = 1024 bits. In the present embodiment, similarly to the first embodiment, when data stored in the cache memory 3 is evicted from the cache memory 3, the compartments in which the microprogram storage flags 360 to 36n are not set have priority. Selected.

【0020】図4は本発明の第4の実施例を示す図であ
る。図4を参照すると、本実施例は、演算処理装置1、
主記憶装置2、キャッシュメモリ3、アドレスレジスタ
31、アドレスアレイ320〜32n、データアレイ3
30〜33n、有効フラグメモリ340〜34n、アド
レス比較回路350〜35n、マイクロプログラム選択
フラグ360、LRUメモリ37、コンパートメント選
択回路38から構成されている。
FIG. 4 is a diagram showing a fourth embodiment of the present invention. Referring to FIG. 4, the present embodiment includes an arithmetic processing device 1,
Main storage device 2, cache memory 3, address register 31, address arrays 320 to 32n, data array 3
30 to 33n, valid flag memories 340 to 34n, address comparison circuits 350 to 35n, a micro program selection flag 360, an LRU memory 37, and a compartment selection circuit 38.

【0021】図3に示した第3の実施例との相違点は、
マイクロプログラムが特定のコンパートメント、例えば
コンパートメント#0にのみ格納される点である。した
がって、マイクロプログラム格納フラグ360がブロッ
ク対応ではなくアドレスアレイ320〜32nのアドレ
ス対応に設けられる。
The difference from the third embodiment shown in FIG.
The microprogram is stored only in a specific compartment, for example, compartment # 0. Therefore, microprogram storage flag 360 is provided not for blocks but for addresses of address arrays 320 to 32n.

【0022】例えば、記憶空間が32ビットアドレッシ
ング(4ギガバイト)、ブロックサイズが64バイト、
キャッシュメモリ容量が4メガバイトの4コンパートメ
ントのキャッシュメモリ3の場合を述べる。マイクロプ
ログラムの容量が64キロバイトで、主記憶上のアドレ
スが0000000016番地から始まる領域にマッピン
グを行う。そうすると、マイクロプログラムはキャッシ
ュメモリ3のコンパートメント#0の000016番地〜
040016番地の1024エントリー(1024ブロッ
ク)に読み込まれることになる。この場合、マイクロプ
ログラム格納フラグは1024エントリー×1コンパー
トメント=1024ビットを設ければよいことになる。
For example, the storage space is 32-bit addressing (4 gigabytes), the block size is 64 bytes,
The case of a four-compartment cache memory 3 having a cache memory capacity of 4 megabytes will be described. In a volume of 64 kilobyte microprogram, a mapping to a region where the address on the main memory begins 00000000 address 16. Then, the micro-program 0000 16 of the compartment # 0 of the cache memory 3 to
It will be loaded into the 0400 16 address of the 1024 entry (1024 block). In this case, the microprogram storage flag should have 1024 entries × 1 compartment = 1024 bits.

【0023】本実施例も第2の実施例と同様に、キャッ
シュメモリ3上に格納されているデータをキャッシュメ
モリ3上から追い出す際に、マイクロプログラム格納フ
ラグ360がセットされていれば、コンパートメント選
択回路38で選択を行う際にコンパートメント#0は除
外される。本実施例は、マイクロプログラムの容量がキ
ャッシュメモリ3の1コンパートメント分の容量よりも
小さい場合に、マイクロプログラム格納フラグ360の
ビット数を減らせるという点で優れている。
In this embodiment, as in the second embodiment, when data stored in the cache memory 3 is evicted from the cache memory 3, if the microprogram storage flag 360 is set, the compartment selection is performed. In making the selection in circuit 38, compartment # 0 is omitted. This embodiment is excellent in that the number of bits of the microprogram storage flag 360 can be reduced when the capacity of the microprogram is smaller than the capacity of one compartment of the cache memory 3.

【0024】[0024]

【発明の効果】以上説明したように、本発明によれば、
主記憶装置上にマイクロプログラムを格納した場合、キ
ャッシュメモリのヒット率が演算処理装置の性能に直接
影響するが、マイクロプログラムが一旦キャッシュメモ
リ上に読み込まれるとキャッシュメモリ上から追い出さ
れないように制御することで、マイクロプログラムのキ
ャッシュメモリヒット率を上げることが可能になる。し
たがって、マイクロプログラムが主記憶装置上に格納さ
れているにもかかわらず、性能的にはキャッシュメモリ
に常駐している場合と等価になり、高マルチプロセッサ
構成のシステムの場合においてもキャッシュメモリのミ
スヒットによる性能低下を最小限にできる。
As described above, according to the present invention,
When a microprogram is stored on the main storage device, the cache memory hit ratio directly affects the performance of the processing unit, but once the microprogram is read into the cache memory, it is controlled so as not to be evicted from the cache memory. By doing so, it is possible to increase the cache memory hit rate of the microprogram. Therefore, in spite of the fact that the microprogram is stored in the main memory, the performance is equivalent to the case where the microprogram is resident in the cache memory. Performance degradation due to hits can be minimized.

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

【図1】本発明の第1の実施例を示す図である。FIG. 1 is a diagram showing a first embodiment of the present invention.

【図2】本発明の第2の実施例を示す図である。FIG. 2 is a diagram showing a second embodiment of the present invention.

【図3】本発明の第3の実施例を示す図である。FIG. 3 is a diagram showing a third embodiment of the present invention.

【図4】本発明の第4の実施例を示す図である。FIG. 4 is a diagram showing a fourth embodiment of the present invention.

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

1 演算処理装置 2 主記憶装置 3 キャッシュメモリ 31 アドレスレジスタ 320〜32n アドレスアレイ 330〜33n データアレイ 340〜34n 有効フラグメモリ 350〜35n アドレス比較回路 360〜36n マイクロプログラム格納フラグ 37 LRUメモリ 38 コンパートメント選択回路 Reference Signs List 1 arithmetic processing unit 2 main storage device 3 cache memory 31 address register 320-32n address array 330-33n data array 340-34n valid flag memory 350-35n address comparison circuit 360-36n microprogram storage flag 37 LRU memory 38 compartment selection circuit

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 演算処理装置と主記憶装置との間に複数
のコンパートメントから構成されるセットアソシアティ
ブ方式のキャッシュメモリを有し、前記主記憶装置に格
納された前記演算処理装置を制御するためのマイクロプ
ログラムを前記キャッシュメモリにキャッシングして動
作する情報処理装置における制御記憶キャッシング方式
において、前記キャッシュメモリの特定のキャッシュメ
モリアドレスにのみマイクロプログラムが格納されるよ
うに、マイクロプログラムが格納される主記憶上のアド
レスを特定のアドレス範囲に限定し、マイクロプログラ
ムがキャッシュメモリ上に読み込まれているか否かを示
す前記キャッシュメモリの特定キャッシュメモリアドレ
ス範囲のブロックに対応したフラグを設け、ブロックの
スワップ事象が発生した場合に前記フラグがマイクロプ
ログラムの格納を示している場合にはそのブロックに掃
き出しは行わずに他のコンパートメントのブロックを掃
き出すことを特徴とする制御記憶キャッシング方式。
1. A set associative cache memory comprising a plurality of compartments between an arithmetic processing device and a main storage device, for controlling the arithmetic processing device stored in the main storage device. In a control storage caching method in an information processing apparatus that operates by caching a microprogram in the cache memory, a specific cache memory of the cache memory is used.
Micro program is stored only in memory address
As shown, the address in the main memory where the microprogram is stored
Address is limited to a specific address range, and a specific cache memory address of the cache memory indicating whether the microprogram is read in the cache memory.
Scan range flag corresponding to the block of the provided, if the flag when the swap event block has occurred indicates storage of microprogram sweeping blocks other compartments without the sweep in the block A control storage caching method, characterized in that:
【請求項2】 前記キャッシュメモリの特定のキャッシ
ュメモリアドレスにのみマイクロプログラムが格納され
るように、マイクロプログラムが格納される主記憶上の
アドレスを特定のアドレス範囲に限定するとともに、前
記キャッシュメモリの複数のコンパートメントのうちマ
イクロプログラムが格納されるコンパートメントを特定
のコンパートメントに限定し、マイクロプログラムがキ
ャッシュメモリ上に読み込まれているか否かを示す前記
キャッシュメモリの特定のキャッシュメモリアドレスか
つ特定コンパートメントのブロックに対応したフラグを
設け、ブロックのスワップ事象が発生した場合に前記フ
ラグがマイクロプログラムの格納を示している場合には
前記特定のコンパートメント上のブロックの掃き出しは
行わずに前記特定コンパートメント以外のコンパートメ
ントのブロックを掃き出すことを特徴とする請求項1記
載の制御記憶キャッシング方式。
2. An address on a main memory where a microprogram is stored is limited to a specific address range so that the microprogram is stored only at a specific cache memory address of the cache memory. Of the plurality of compartments, the compartment in which the microprogram is stored is limited to a particular compartment, and a specific cache memory address of the cache memory indicating whether the microprogram is read in the cache memory and a block of the particular compartment are provided. A corresponding flag is provided, and when a block swap event occurs, if the flag indicates storage of a microprogram, the block in the specific compartment is not flushed and the specific command is not executed. 2. The control storage caching method according to claim 1, wherein a block of a compartment other than the compartment is swept out.
JP5330621A 1993-12-27 1993-12-27 Control storage caching method Expired - Fee Related JP2978706B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5330621A JP2978706B2 (en) 1993-12-27 1993-12-27 Control storage caching method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5330621A JP2978706B2 (en) 1993-12-27 1993-12-27 Control storage caching method

Publications (2)

Publication Number Publication Date
JPH07191912A JPH07191912A (en) 1995-07-28
JP2978706B2 true JP2978706B2 (en) 1999-11-15

Family

ID=18234713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5330621A Expired - Fee Related JP2978706B2 (en) 1993-12-27 1993-12-27 Control storage caching method

Country Status (1)

Country Link
JP (1) JP2978706B2 (en)

Also Published As

Publication number Publication date
JPH07191912A (en) 1995-07-28

Similar Documents

Publication Publication Date Title
US6446188B1 (en) Caching dynamically allocated objects
US6282617B1 (en) Multiple variable cache replacement policy
US5802568A (en) Simplified least-recently-used entry replacement in associative cache memories and translation lookaside buffers
US6640283B2 (en) Apparatus for cache compression engine for data compression of on-chip caches to increase effective cache size
US6401175B1 (en) Shared write buffer for use by multiple processor units
US6704822B1 (en) Arbitration protocol for a shared data cache
JP3795985B2 (en) Computer memory system contention cache
US5751990A (en) Abridged virtual address cache directory
US7577793B2 (en) Patrol snooping for higher level cache eviction candidate identification
US20030217237A1 (en) Selective memory controller access path for directory caching
WO2007024937A1 (en) Tlb lock indicator
JPH08227380A (en) Data-processing system
US5829051A (en) Apparatus and method for intelligent multiple-probe cache allocation
US5953747A (en) Apparatus and method for serialized set prediction
KR100606873B1 (en) Status bits for cache memory
US6324632B1 (en) Processing a data stream
JPS6111865A (en) Memory access control system
JPH05216766A (en) Method for maintaining coherence of cache between data cache and segment descriptor and memory device of computer
US6393521B1 (en) Information processing apparatus
US5966737A (en) Apparatus and method for serialized set prediction
JP2978706B2 (en) Control storage caching method
JP3078303B2 (en) Cache memory control circuit
US20230236961A1 (en) Priority-Based Cache-Line Fitting in Compressed Memory Systems of Processor-Based Systems
JPH0784886A (en) Method and unit for cache memory control
WO2001018653A9 (en) Dynamic memory caching

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: 19990824

LAPS Cancellation because of no payment of annual fees