JPH0156411B2 - - Google Patents

Info

Publication number
JPH0156411B2
JPH0156411B2 JP59249307A JP24930784A JPH0156411B2 JP H0156411 B2 JPH0156411 B2 JP H0156411B2 JP 59249307 A JP59249307 A JP 59249307A JP 24930784 A JP24930784 A JP 24930784A JP H0156411 B2 JPH0156411 B2 JP H0156411B2
Authority
JP
Japan
Prior art keywords
data
memory
address
write
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
JP59249307A
Other languages
Japanese (ja)
Other versions
JPS61127050A (en
Inventor
Kazuo Taki
Akisumi Mitsuishi
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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP59249307A priority Critical patent/JPS61127050A/en
Publication of JPS61127050A publication Critical patent/JPS61127050A/en
Publication of JPH0156411B2 publication Critical patent/JPH0156411B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

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

〔産業上の利用分野〕 本発明は、メモリをスタツクとして使用する場
合の連続的データ書き込みの高速化に適した書き
込み制御方式を有するライト・スワツプ方式のキ
ヤツシユメモリ装置に関するものである。 キヤツシユメモリ装置の方式として、CPUか
らデータの書き込みを行なう際にデータをキヤツ
シユメモリ内と主記憶の両方に同時に書き込むラ
イト・スルー方式と、書き込み時にはキヤツシユ
メモリ内にだけ書き込みを行い、書き込んだ領域
が後になつて別のアドレスのキヤツシユアクセス
に使用されたときに、以前のデータを主記憶へ書
き出すライト・スワツプ方式の2つがある。本発
明は後者のライト・スワツプ方式に属するもの
で、主記憶からキヤツシユメモリへのむだなデー
タの読み込みを削減するものである。 〔従来の技術〕 従来のライト・スワツプ方式のキヤツシユメモ
リの書き込み方式について、図を用いて説明す
る。 第7図はキヤツシユメモリ装置の1例の構成図
である。アドレス・レジスタ30は、キヤツシユ
メモリをアクセスする場合のアドレスを保持する
レジスタで、上位アドレス部31、中位アドレス
部32、下位アドレス部33の3つの部分から成
る。データ・メモリ20は、データを記憶するた
めのメモリで、その記憶容量(語数)は中位アド
レス部32、下位アドレス部33を合わせたビツ
ト数で指定できるだけの大きさを持つ。データ・
メモリ20中のデータは1語ずつ管理されるもの
ではなく、下位アドレス部33のビツト数で指定
できる大きさの、ブロツクと呼ぶ単位でヒツト、
ミスヒツトの管理や主記憶との間のデータ入れ替
えの管理が行なわれる。以後本例では、1ブロツ
クの大きさを4語として説明を行なう。データ・
メモリ20中には、中位アドレス部32のビツト
数で指定できるだけの個数のブロツクが存在す
る。 デイレクトリ・メモリ10は、データ・メモリ
20の中の各ブロツクが有効か無効か、どこのア
ドレスに対応するデータが置かれているのか、主
記憶からキヤツシユに読み込まれた後に内容が変
更されたか否かの情報を保持し、キヤツシユメモ
リの読み書き時に、ヒツトかミスヒツトか、主記
憶との間にデータ転送の必要があるか否かの管理
に使用される。デイレクトリ・メモリ10は、有
効フラグ部11、変更フラグ部12、キーアドレ
ス部13から構成される。デイレクトリ・メモリ
10のエントリ数は、データ・メモリ20中のブ
ロツクの個数に等しい。比較器14は、アドレ
ス・レジスタ30中の上位アドレス部31の値
と、キーアドレス部13の値を比較し、その結果
がキヤツシユのヒツト、ミスヒツトの判定に使用
される。この場合、デイレクトリ・メモリ10は
中位アドレス部32を用いて検索される。カウン
タ34は、下位アドレス部33と同じビツト幅を
持ち(本例では2ヒツトとする)、ゼロクリア、
下位アドレス部33からの値のロード、+1の機
能を持ち、データ・メモリ20のブロツクの中味
(4語)を順次主記憶へ書き出す処理(ライトバ
ツク)および主記憶からデータ・メモリ20のブ
ロツクへ順にデータを読み込む場合の、最下位
(2ビツト)のアドレス生成に使用される。デー
タ選択器35は、データ・メモリ20および主記
憶へ供給するアドレスの最下位(2ビツト)とし
て、下位アドレス部33の値を使うか、カウンタ
34の値を使うかを決定するか、通常は下位アド
レス部33の方を選択しているものとする。読み
込みデータ・レジスタ21は、キヤツシユメモリ
に書き込むべきデータを保持するレジスタであ
る。主記憶インタフエース24は、主記憶とのデ
ータ、アドレス、制御信号の受け渡しを行なう部
分であり、アドレス情報として中位、下位アドレ
スについては、データ・メモリ20に供給されて
いるものと同じ情報が、上位アドレスについて
は、本例ではキーアドレス部の内容がそれぞれ使
用される。制御回路40は、キヤツシユ命令レジ
スタ41に置かれたキヤツシユ命令に従いキヤツ
シユメモリの読み書きを開始し、デイレクトリ・
メモリ10の内容にしたがい、ヒツト、ミスヒツ
トの別、主記憶との間のデータ転送の要否を判定
して、判定結果にしたがつた制御手順を実行す
る。なお、第7図において、22は読み出しデー
タ・レジスタ、23はキヤツシユ・データバスで
ある。 第8図は、キヤツシユ命令として書き込み(ラ
イト)が指定された場合の、制御手順の流れ図で
ある。デイレクトリ・メモリ10の有効フラグと
変更フラグの値、および比較器14の比較結果に
より処理が分岐する。流れ図の中で枝1から枝4
は、各々次の場合を示す。枝1は当該ブロツク中
に有効なデータがなくキヤツシユ・ミスヒツトと
なつた場合、枝2はキヤツシユ・ヒツトの場合、
枝3は当該ブロツク中に有効なデータが存在する
がキーアドレスが異なるためにミスヒツトとなつ
た場合で、かつブロツクの内容が主記憶から持つ
て来られた後に変更を受けておらず(変更フラグ
=0)主記憶へ書き戻す必要のない場合、枝4は
枝3と同様のミスヒツトの場合であるが変更フラ
グが1でありブロツクの内容を主記憶へライトバ
ツクする必要のある場合である。 各々場合の制御手順について説明する。枝4の
場合は、データ・メモリ20の当該ブロツクに
は、別のアドレスに対応する有効なデータに対応
する有効なデータが存在するため、まずブロツク
の内容4語を主記憶へ書き戻す。この処理が第8
図の枠71の処理である。こうしてブロツクを空
にした後枠72の処理で今書き込もうとしている
1語の書き込みを行なう。次に枠73,74でデ
イレクトリ・メモリ10の内容を更新する。最後
に枠75で、ブロツク内の残り3語に、主記憶の
しかるべきアドレスからデータを読み込み、処理
を終了する。枠71の処理を詳細化したのが第9
図である。ブロツク内の4語のデータを順次読み
出し主記憶へ書き込むために1ずつアドレスを変
化させる必要があるが、この目的で第7図のカウ
ンタ34を使用する。枠75の処理を詳細化した
のが第10図である。第8図の枠72で書き込み
を行つたアドレスを除く同一ブロツク内の3語に
ついて、主記憶からデータを読み込むために、同
じくカウンタ34を用いる。第9図との違いは、
カウンタの初期値としてはじめにアドレスレジス
タの下位アドレス部をロードし、それを1増加し
ては主記憶読み出しのための下位アドレスとして
使用することである。 枝1および3の処理は、枝4の処理から枠71
の処理を除いたものに全く等しい。 以上に述べたような従来例におけるキヤツシユ
メモリ書き込みの制御手順を用いると、メモリを
スタツクとして使用する場合でかつスタツクの先
頭につづけてデータを読み出して(プツシユし
て)ゆく場合に、明らかに不要な主記憶の読み出
しが発生する。この様子を図を用いて説明する。 第11図はメモリをスタツクとして使用する場
合の概念図である。書き込み前の図では、スタツ
クの先頭は1001(16)番地にあり、これから1002
(16)番地にデータの書き込みを行おうとすると
ころである。((16)は16進表示を示す)。破線は
キヤツシユメモリのブロツクの境界を示す。また
キヤツシユメモリには、異なるアドレスに対応す
る有効なデータで変更フラグ=1のものが存在し
ているものとする。1002(16)番地への書き込み
を実行すると、キヤツシユメモリはミスヒツトを
起こし、第8図の枝4の制御手順が実行されて、
まずブロツク内の元のデータ4語が主記憶へ書き
戻され、次に100(16)番地へ書き込むべきデータ
が当該ブロツクに読み込まれ、デイレクトリ・メ
モリ10が更新され、そしてブロツク内の残りの
3語が主記憶から読み込まれる。第11図の書き
込み後の図は、斜線が主記憶から読み込まれたデ
ータを示し、格子縞が書き込まれたデータを示
す。次に1003(16)番地への書き込みを行なうと、
キヤツシユメモリはヒツトし、第8図の枝2の制
御手順が実行されて、データの書き込みと変更フ
ラグのセツトだけが行われ、第11図の書き込み
後の図の1003(16)番地は、斜線から格子縞に変
わる(第12図の書き込み前の図)。次に1004
(16)番地へ書き込みを行なうと、再びミスヒツ
トが起こり、第8図枝4の制御手順が実行され
て、第12図の書き込み後の図のように、1004
(16)には書き込みデータが、1005(16)〜1007
(16)番地には主記憶から書き込まれたデータが
存在することになる。そうして書き込みをくり返
し、1002(16)から100D(16)番地までの12語に
書き込みを完了した時の図が第13図である。
1002(16)から100D(16)番地までに書き込んだ
データが存在し、1000(16)、1001(16)、100E
(16)、100F((16)番地には自動的に主記憶から
読み込まれたデータが存在している。この状態で
スタツクの先頭は100D(16)番地であり、それよ
り大きいアドレスのデータはスタツクを利用する
者にとつて意味のないデータである。またここで
注意するべきことは、1002(16)、1004(16)、1008
(16)、100C(16)番地の書き込み時にはキヤツシ
ユはミスヒツトして、主記憶からそれぞれ3語ず
つ合計12語のデータが読み込まれたが、その内の
8語、番地でいうと1003(16)、1005(16)、1006
(16)、1007(16)、、1009(16)、100A(16)、100B
(16)、100D(16)番地のデータは、使用されない
まま書き込みデータが上書きされていることであ
る。さらにスタツク利用の意味上、不要な100E
(16)、100F(16)番地のデータを含めて、10語も
の不要なデータが主記憶から読み込まれている。 以上に述べた各アドレスへのデータ書きこみの
際のヒツト、ミスヒツトの別、そのとき起動され
たキヤツシユ制御手順の種別、主記憶への書き出
し、主記憶からの読み込みの語数をまとめたもの
が第1表である。キヤツシユメモリへの12語のデ
ータ書き込みに対して、12語の主記憶からのデー
タ読み込みが発生し、その内の10語のデータは上
に述べたとおりむだな読み込みとなつている。
[Industrial Field of Application] The present invention relates to a write-swap type cache memory device having a write control method suitable for increasing the speed of continuous data writing when the memory is used as a stack. There are two methods for cache memory devices: a write-through method, in which data is written to both cache memory and main memory at the same time when data is written by the CPU; There are two types of write swap methods that write the previous data to main memory when the same area is later used for cache access at a different address. The present invention belongs to the latter write swap method, and is intended to reduce unnecessary reading of data from main memory to cache memory. [Prior Art] A conventional write-swap type cache memory writing system will be explained with reference to the drawings. FIG. 7 is a configuration diagram of an example of a cache memory device. The address register 30 is a register that holds an address when accessing the cache memory, and consists of three parts: an upper address part 31, a middle address part 32, and a lower address part 33. The data memory 20 is a memory for storing data, and its storage capacity (number of words) is large enough to specify the middle address part 32 and the lower address part 33 by the combined number of bits. data·
The data in the memory 20 is not managed word by word, but is managed in units called blocks, which can be specified by the number of bits in the lower address field 33.
Mishit management and data exchange with main memory are managed. Hereinafter, in this example, the size of one block will be explained as four words. data·
There are as many blocks in the memory 20 as can be specified by the number of bits in the middle address section 32. The directory memory 10 has information such as whether each block in the data memory 20 is valid or invalid, which address the corresponding data is located at, and whether the contents have been changed after being read from main memory to the cache. This information is used to manage whether there is a hit or miss and whether there is a need to transfer data to or from the main memory when reading or writing from the cache memory. The directory memory 10 includes a valid flag section 11, a change flag section 12, and a key address section 13. The number of entries in directory memory 10 is equal to the number of blocks in data memory 20. Comparator 14 compares the value of upper address field 31 in address register 30 with the value of key address field 13, and the result is used to determine whether the cache is a hit or a miss. In this case, directory memory 10 is searched using intermediate address portion 32. The counter 34 has the same bit width as the lower address part 33 (in this example, it is 2 hits), and has zero clear,
It has the function of loading a value from the lower address section 33 and +1, and has the function of sequentially writing the contents (4 words) of the blocks in the data memory 20 to the main memory (writeback) and sequentially writing the contents (4 words) of the blocks in the data memory 20 from the main memory to the blocks in the data memory 20. It is used to generate the lowest (2 bits) address when reading data. The data selector 35 determines whether to use the value of the lower address section 33 or the value of the counter 34 as the lowest (2 bits) of the address supplied to the data memory 20 and main memory. It is assumed that the lower address section 33 is selected. Read data register 21 is a register that holds data to be written to cache memory. The main memory interface 24 is a part that exchanges data, addresses, and control signals with the main memory, and the middle and lower addresses as address information are the same information that is supplied to the data memory 20. , and upper addresses, the contents of the key address part are used in this example. The control circuit 40 starts reading and writing the cache memory according to the cache command placed in the cache command register 41, and reads and writes the directory.
According to the contents of the memory 10, it is determined whether there is a hit or miss, and whether or not data is to be transferred to the main memory, and a control procedure is executed according to the determination results. In FIG. 7, 22 is a read data register, and 23 is a cache data bus. FIG. 8 is a flowchart of the control procedure when write is specified as the cache command. Processing branches depending on the values of the valid flag and change flag in the directory memory 10 and the comparison result of the comparator 14. Branch 1 to branch 4 in the flow diagram
indicates the following cases. Branch 1 is a cache miss when there is no valid data in the block, branch 2 is a cache miss,
Branch 3 is a case where there is valid data in the block, but the key address is different, resulting in a miss, and the contents of the block have not been modified since being brought from main memory (change flag is set). =0) When there is no need to write back to the main memory, branch 4 is a case of a miss similar to branch 3, but the change flag is 1 and the contents of the block need to be written back to the main memory. The control procedure in each case will be explained. In the case of branch 4, since valid data corresponding to valid data corresponding to another address exists in the block in the data memory 20, the contents of the block (4 words) are first written back to the main memory. This process is the 8th
This is the processing in frame 71 in the figure. After the block is emptied in this way, the one word that is about to be written is written in the process of frame 72. Next, the contents of the directory memory 10 are updated in frames 73 and 74. Finally, in box 75, data is read from the appropriate address in the main memory for the remaining three words in the block, and the process ends. The ninth item is the detailed processing of frame 71.
It is a diagram. In order to sequentially read and write the four words of data in the block into the main memory, it is necessary to change the address one by one, and the counter 34 shown in FIG. 7 is used for this purpose. FIG. 10 shows detailed processing of the frame 75. The counter 34 is also used to read data from the main memory for three words in the same block, excluding the address written in box 72 in FIG. The difference with Figure 9 is
First, the lower address part of the address register is loaded as the initial value of the counter, and then it is incremented by 1 and used as the lower address for reading from the main memory. Processing of branches 1 and 3 starts from processing of branch 4 to frame 71.
It is exactly the same as excluding the processing of . Using the conventional cache memory write control procedure described above, when using the memory as a stack and reading (pushing) data from the top of the stack, it becomes clear that Unnecessary main memory reading occurs. This situation will be explained using a diagram. FIG. 11 is a conceptual diagram when memory is used as a stack. In the diagram before writing, the top of the stack is at address 1001 (16), and from now on 1002
(16) An attempt is made to write data to address. ((16) shows hexadecimal display). Dashed lines indicate boundaries of blocks in cache memory. It is also assumed that valid data corresponding to a different address and with a change flag of 1 exists in the cache memory. When writing to address 1002 (16), a miss occurs in the cache memory, and the control procedure of branch 4 in Figure 8 is executed.
First, the original four words of data in the block are written back to main memory, then the data to be written to address 100 (16) is read into the block, directory memory 10 is updated, and the remaining three words in the block are written back to main memory. Words are read from main memory. In the diagram of FIG. 11 after writing, diagonal lines indicate data read from the main memory, and checkered stripes indicate written data. Next, when writing to address 1003 (16),
The cache memory is hit, the control procedure of branch 2 in FIG. 8 is executed, and only the data is written and the change flag is set, and the address 1003 (16) in the diagram after writing in FIG. The diagonal lines change to checkered stripes (Figure 12 before writing). then 1004
(16) When writing to the address, a miss occurs again, and the control procedure of branch 4 in Figure 8 is executed, resulting in 1004 as shown in Figure 12 after writing.
(16) contains write data, 1005 (16) to 1007
At address (16), there is data written from the main memory. The writing process is then repeated, and FIG. 13 shows when writing has been completed for 12 words from addresses 1002 (16) to 100D (16).
Data written from addresses 1002 (16) to 100D (16) exists, and 1000 (16), 1001 (16), 100E
(16), 100F (data automatically read from main memory exists at address (16). In this state, the top of the stack is address 100D (16), and data at larger addresses This data is meaningless to those who use the stack.Also, what should be noted here is that 1002 (16), 1004 (16), 1008
When writing addresses (16) and 100C (16), the cache made a mistake, and 3 words each were read from main memory for a total of 12 words, of which 8 words were 1003 (16). , 1005(16), 1006
(16), 1007 (16), 1009 (16), 100A (16), 100B
(16), the data at address 100D (16) has been overwritten with write data without being used. Furthermore, 100E is unnecessary in terms of stack usage.
(16), 10 words of unnecessary data have been read from main memory, including data at address 100F (16). The following is a summary of hits and misses when writing data to each address mentioned above, the type of cache control procedure activated at that time, and the number of words written to and read from main memory. This is table 1. When 12 words of data are written to the cache memory, 12 words of data are read from the main memory, and 10 of those words are read in vain as described above.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

本発明は、上述の従来のライト・スワツプ方式
のキヤツシユメモリ装置において、メモリをスタ
ツクとして使用する場合に、ある程度大きな一連
のデータをプツシユする際に、明らかにむだと分
かる主記憶からのデータの読み込みが発生し、主
記憶アクセスのために余分な時間がかかるという
欠点を改善するものである。 〔問題点を解決するための手段〕 本発明においては、上記問題点を解決するため
に以下のごとき手段を講ずる。すなわち、 データの書き込みを行う際に該データをキヤツ
シユメモリ内のみに書き込み、該書き込んだ領域
が後に別のアドレスのキヤツシユアクセスに使用
されるときに、該領域に書き込まれているデータ
を主記憶に書き戻すライト・スワツプ方式のキヤ
ツシユメモリにおいて、第1の書き込み手段と第
2の書き込み制御手段を備え、メモリをスタツク
として用いスタツクの先頭へデータの連続的書き
出しを行なう場合に、第1語の書き出しに第1の
制御手段を用い、第2語以後の書き出しに第2の
制御手段を用い、第1の制御手段においては書き
込みアドレスのデータセルを含むブロツク、すな
わちデータの管理単位がキヤツシユメモリ内に存
在しない場合には、当該ブロツクをキヤツシユメ
モリ内に確保した後に、書き込みデータを当該ア
ドレスのデータセルに書き込みを行ない、当該ブ
ロツク内の他のデータセルについては主記憶から
データの読み込みを行なう通常のライト・スワツ
プ方式の制御手段を実施し、第2の制御手段にお
いては書き込みアドレスのデータセルを含むブロ
ツクがキヤツシユメモリ内に存在しない場合に
は、当該ブロツクをキヤツシユメモリ内に確保し
た後に、書き込みデータを当該アドレスのデータ
セルにただちに書き込みを行ない、当該ブロツク
内の他のデータセルについては主記憶からデータ
を読み込むことをしないまま当該ブロツクを有効
化せしめるメモリ制御方式を提供する。 それにより、ライト・スワツプ方式のキヤツシ
ユメモリ装置において、メモリをスタツクとして
使用する場合に、スタツクへの連読的なデータ書
き込みの際に生ずる主記憶からのデータ読み込み
に関するむだな時間を削減でき、スタツクへの連
続的なデータ書き込みの高速化を図ることができ
る。 以下に実施例を示し、これを用いて本発明をさ
らに詳細に説明する。 〔実施例〕 以下本発明の1実施例について図を用いて説明
を行なう。第1図は本発明の実施例の1つである
キヤツシユメモリ装置の構成図である。本実施例
は、第7図から第13図及び表1を用いて説明し
た従来のキヤツシユメモリ装置の1例に対して、
ライト・スタツクと呼ぶ新たなキヤツシユ命令を
追加し、この命令の制御手順を実現するためのラ
イト・スタツク用制御回路50、ライトスタツク
用キヤツシユ命令デコーダ47を付加したもので
ある。制御回路43、キヤツシユ命令デコーダ4
6は、第7図の制御回路40、キヤツシユ命令デ
コーダ45に相等するものであり、第8図に制御
手順の流れ図を示したキヤツシユ命令の「ライ
ト」をはじめとする従来のキヤツシユ命令の制御
手順を実現する。但し、キヤツシユ命令レジスタ
41にキヤツシユ命令「ライト・スタツク」が置
かれた場合には、キヤツシユ命令デコーダ46は
命令解読信号を制御回路43へ転送せず、制御回
路43は制御信号線44とデイレクトリ・メモリ
10の有効フラグ部11、変更フラグ部12へデ
ータを送出する信号線を開放して、キヤツシユメ
モリ装置の制御権をライト・スタツク制御回路5
0へ渡す。ライト・スタツク用キヤツシユ命令デ
コーダ47は、ライト・スタツク命令を解読し、
命令解読信号をライト・スタツク制御回路50へ
送出し、ライト・スタツク制御回路50は、制御
信号線51を通して制御信号を送出し、ライト・
スタツクのキヤツシユ命令に対応する制御手順を
実行する。第1図中の他の構成要素は第7図のも
のと同じである。 アドレス・レジスタ30は、キヤツシユメモリ
をアクセスする場合のアドレスを保持するレジス
タで上位アドレス部31、中位アドレス部32、
下位アドレス部33の3つの部分から成る。デー
タ・メモリ20はデータを記憶するためのメモリ
で、その記憶容量(語数)は中位アドレス部3
2、下位アドレス部33を合わせたビツト数で指
定できるだけの大きさを持つ。データ・メモリ2
0中のデータは1語ずつ管理されるのではなく、
下位アドレス部33のビツト数で指定できる大き
さの、ブロツクと呼ぶ単位でヒツト、ミスヒツト
の管理や主記憶との間のデータ入れ替えの管理が
行なわれる。以後本例では、1ブロツクの大きさ
を4語として説明を行なう。データ・メモリ20
中には、中位アドレス部32のビツト数で指定で
きるだけの個数のブロツクが存在する。 デイレクトリ・メモリ10は、データ・メモリ
20の中の各ブロツクが有効か無効か、どこのア
ドレスに対応するデータが置かれているのか、主
記憶からキヤツシユに読みこまれた後に内容が変
更されたか否かを情報を保持し、キヤツシユメモ
リの読み書き時に、ヒツトかミスヒツトか、主記
憶との間にデータ転送の必要があるか否かの管理
に使用される。デイレクトリ・メモリ10は、有
効フラグ部11、変更フラグ部12、キーアドレ
ス部13から構成される。デイレクトリ・メモリ
のエントリ数は、データ・メモリ20中のブロツ
クの個数に等しく両者ともアドレス・レジスタの
中位アドレス部32によりアドレス指定される。
比較器14は、アドレス・レジスタ30中の上位
アドレス部31の値と、キーアドレス部13の値
を比較し、その結果がキヤツシユのヒツト、ミス
ヒツトの判定に使用される。カウンタ34は、下
位アドレス部33と同じビツト幅を持ち(本例で
は2ビツトとする)、ゼロクリア、下位アドレス
部33からの値のロード、+1の機能を持ち、デ
ータ・メモリのブロツクの中味(4語)を順次主
記憶へ書き出す処理(ライト・バツク)および主
記憶からデータ・メモリ20のブロツクに順にデ
ータを読み込む場合の、最下位(2ビツト)のア
ドレス生成に使用される。データ選択器35は、
データ・メモリ20および主記憶へ供給するアド
レスの最下位(2ビツト)としての下位アドレス
部33の値を使うかカウンタ34の値を使うかを
決定するが、通常は下位アドレス部33の方を選
択しているものとする。書き込みデータ・レジス
タ21は、キヤツシユメモリに書き込むべきデー
タを保持するレジスタである。主記憶インタフエ
ース24は、主記憶とのデータ、アドレス、制御
信号の受け渡しを行なう部分であり、アドレス情
報として、中位、下位アドレスについてはデー
タ・メモリに供給されているものと同じ情報が、
上位アドレスについては、キーアドレス部13の
内容がそれぞれ使用される。 第2図は、第1図のライト・スタツク制御回路
で実現する制御手順の流れ図である。デイレクト
リ・メモリ10(番号は以後第1図または第2図
中のものを指す)の有効フラグ部11と変更フラ
グ部12の値、および比較器14の比較効果によ
り制御手順の流れが分岐する。流れ図中で枝5か
ら枝8は、各々次の場合を示す。枝5は、アドレ
ス・レジスタ30の中位アドレス部32で指定さ
れるブロツク中に有効なデータがなくキヤツシ
ユ・ミスヒツトとなつて場合、枝6はキヤツシ
ユ・ヒツトの場合、枝7は当該ブロツク中に有効
なデータが存在するがキーアドレスの比較結果が
不一致でミスヒツトなつた場合で、かつブロツク
の内容が主記憶から持つ来られた後に変更を受け
ておらず(変更フラグ=0)主記憶へ書き戻す必
要のない場合、枝8は枝7と同様のミスヒツトの
場合であるが変更フラグが1でありブロツクの内
容を主記憶ヘライドバツクする必要のある場合で
ある。 各々の場合の制御手順について説明する。枝8
の場合は、データ・メモリ20の当該ブロツクに
は、異なるキーアドレスの有効なデータが存在す
るため、まずブロツクの内容4語を主記憶へ書き
戻す。この処理が第2図の枠101の処理であ
る。こうして書き込み対象ブロツクを確保した
後、枠102の処理で書き込みデータ・レジスタ
21中のデータをデータ・メモリ20中の当該ブ
ロツク内の指定アドレスのデータセルに書き込
む。この場合のアドレスとして、ブロツクを指定
するのに中位アドレス部32が、ブロツク内のデ
ータセルを指定するのに下位アドレス部33が使
用される。次に枠103ではデイレクトリ・メモ
リ10のキーアドレス部13に上位アドレス部3
1の内容を書き込み、枠104でデイレクトリ・
メモリ10の有効フラグと変更フラグを共に1に
書き替え当該ブロツクの有効化を完了し処理を終
了する。ここで述べた処理では、ブロツク内の4
語のデータセルのうち、枠102で書き込みを行
つた以外の3語のデータセルについては、従来例
のように主記憶から対応するアドレスの内容を読
み込むことはしていないので、以前の異なるキー
アドレスで同ブロツクを使用していた時のデータ
がそのまま残つている状態で同ブロツクが有効化
されている。これらの3語のデータは、利用者に
とつて意味のないデータであるが、引きつづくラ
イト・スタツクのキヤツシユ命令が実行された時
に、正しいデータにより上書きされるようにライ
ト・スタツクのキヤツシユ命令を使うことが必要
とされる。キヤツシユ命令の使い方については後
で詳しく述べる。枠101の処理内容を詳細に示
したのが第3図である。ブロツクの内容を主記憶
に書き出すためには、ブロツク内の4語を順に読
み出しては、アドレス情報と書き込み制御信号を
添えて主記憶インタフエース回路24へ送出す
る。この場合アドレスの下位2ビツト(ブロツク
内のデータセルアドレスに相等)を生成するため
にカウンタ34を使用する。第3図の枠1011
でまずカウンタをゼロクリアし、枠1012で通
常下位アドレス部33を選択しているデータ選択
器35をカウンタ34側に切替える。この状態で
枠1014でデータ・メモリ20を読み出すと、
中位アドレス部32で指定されるブロツクの中
の、データ選択器35の出力で指定されるデータ
セルが読み出される。これをキヤツシユ・データ
バス23を経由して主記憶インタフエース24へ
送ると共に、主記憶書き込みの制御信号を主記憶
インタフエース24へ送出すると、主記憶書き込
みの上位アドレスとしてはデイレクトリ・メモリ
10のキーアドレス部13の値が、中位、下位ア
ドレスとしてはデータ・メモリ20に供給されて
いるものと同じ値が使われて主記憶への書き込み
が行なわれる。この後枠1015でカウンタを1
だけ増加させて、再び枠1014の処理を実行す
ると、ブロツク内の次のデータセルの中味が、主
記憶の次のアドレスに書き込まれる。こうして枠
1014,1015の処理を4回くり返すとブロ
ツクの内容がすべて主記憶に書き出されるので、
最後に後処理として枠1016でデータ選択器3
5を下位アドレス部33を選択するように戻して
処理を終了する。 第2図枝5および7の処理は、キヤツシユ・ミ
スヒツトではあるが当該ブロツク中の古いデータ
を主記憶へ書き戻す必要がないため、枝8の処理
から枠101のライトバツクの処理を除いたもの
と等しくなつている。枠81〜83の各処理は、
枠102〜104の処理と同じである。枝6の処
理は、キヤツシユ・ヒツトの場合の処理であり、
ブロツク中に書き込むべきデータセルがすでに存
在しているため、枠91でデータの書き込みを行
ない(枠102と同じ処理)枠92で変更フラグ
を1にして処理を終了する。 以上に述べたライト・スタツクのキヤツシユ命
令を実現する制御手段を導入することにより、メ
モリをスタツクとして使用しかつスタツクの先頭
につづけてデータを書き出して(プツシユして)
ゆく場合に、CPUからキヤツシユメモリに第1
語めのデータを書き込む場合には、キヤツシユ命
令として従来例に示したライトを用い、第2語め
以後のデータを書き込む場合には、本例で示した
ライト・スタツクのキヤツシユ命令を使用するこ
とにより、不要な主記憶の読み出し回数を減少さ
せ、データ書き込みの高速化を図ることができ
る。このとき、一見して第1語めのデータ書き込
みにもライト・スタツクのキヤツシユ命令が適用
可能なように見られるが、適用可能なのは第1語
めのアドレスがキヤツシユのブロツクの先頭と一
致した場合に限られ、それ以外の場合にライト・
スタツク命令を適用すると、以前にスタツクへ格
納され主記憶上に存在しているデータが、キヤツ
シユメモリに読み込まれないという不都合が生じ
得る。このため、本例では、第1語目の書き込み
に際して無条件にライトのキヤツシユ命令を使用
した。 以下では、ライト・スタツク命令の使い方と、
それを用いてスタツクにデータを書き出してゆく
場合のスタツク上のデータの状態、およびその時
に主記憶との間で受け渡しされるデータ語数につ
いて第2表および第4図〜第6図を用いて説明す
る。
In the conventional write-swap type cache memory device described above, when the memory is used as a stack, when pushing a series of data of a certain size, data from the main memory that is obviously wasteful is transferred. This is to improve the disadvantage that reading occurs and extra time is required for main memory access. [Means for Solving the Problems] In the present invention, the following measures are taken to solve the above problems. In other words, when writing data, the data is written only in the cache memory, and when the area where the data is written is later used for cache access at another address, the data written in the area is used as the main memory. A write-swap type cache memory that writes data back to memory is provided with a first write means and a second write control means, and when the memory is used as a stack and data is continuously written to the top of the stack, the first The first control means is used to start writing a word, and the second control means is used to start writing the second and subsequent words. If the block does not exist in the cache memory, the write data is written to the data cell at the address after securing the block in the cache memory, and the data for other data cells in the block is read from the main memory. A normal write-swap type control means for reading is implemented, and if the block containing the data cell at the write address does not exist in the cache memory, the second control means replaces the block in the cache memory. Provides a memory control method that immediately writes write data to the data cell at the address after securing the block, and enables the block without reading data from the main memory for other data cells in the block. do. As a result, when the memory is used as a stack in a write-swap type cache memory device, it is possible to reduce the wasted time associated with reading data from the main memory that occurs when writing data to the stack in a continuous manner. It is possible to speed up continuous data writing to the stack. EXAMPLES The present invention will be explained in further detail using Examples below. [Example] An example of the present invention will be described below with reference to the drawings. FIG. 1 is a block diagram of a cache memory device which is one embodiment of the present invention. In this embodiment, in contrast to an example of the conventional cache memory device explained using FIGS. 7 to 13 and Table 1,
A new cache instruction called write stack is added, and a write stack control circuit 50 and a write stack cache instruction decoder 47 are added to realize the control procedure of this instruction. Control circuit 43, cache instruction decoder 4
6 is equivalent to the control circuit 40 and cache instruction decoder 45 in FIG. 7, and is capable of performing conventional cache instruction control procedures including the cache instruction "write" whose flowchart is shown in FIG. Realize. However, when the cache instruction "Write Stack" is placed in the cache instruction register 41, the cache instruction decoder 46 does not transfer the instruction decoding signal to the control circuit 43, and the control circuit 43 does not transfer the instruction decoding signal to the control signal line 44 and the directory. The signal lines for sending data to the valid flag section 11 and change flag section 12 of the memory 10 are opened, and the control right of the cache memory device is given to the write/stack control circuit 5.
Pass to 0. The write stack cache instruction decoder 47 decodes the write stack instruction,
The command decoding signal is sent to the write stack control circuit 50, and the write stack control circuit 50 sends out a control signal through the control signal line 51, and the write stack control circuit 50 sends out a control signal through the control signal line 51.
Executes the control procedure corresponding to the cache instruction in the stack. The other components in FIG. 1 are the same as those in FIG. The address register 30 is a register that holds addresses when accessing the cache memory, and includes an upper address section 31, a middle address section 32,
The lower address section 33 consists of three parts. The data memory 20 is a memory for storing data, and its storage capacity (number of words) is the middle address part 3.
2. It has a size that can be specified by the combined number of bits of the lower address part 33. data memory 2
The data in 0 is not managed word by word, but
Hits and misses are managed in units called blocks, which can be specified by the number of bits in the lower address field 33, and data exchange with the main memory is managed. Hereinafter, in this example, the size of one block will be explained as four words. data memory 20
There are as many blocks as can be specified by the number of bits in the intermediate address field 32. The directory memory 10 shows whether each block in the data memory 20 is valid or invalid, which address the corresponding data is located at, and whether the contents have been changed after being read from main memory to the cache. It is used to manage whether there is a hit or miss when reading or writing from the cache memory, and whether there is a need to transfer data to or from the main memory. The directory memory 10 includes a valid flag section 11, a change flag section 12, and a key address section 13. The number of entries in the directory memory is equal to the number of blocks in the data memory 20, both addressed by the middle address portion 32 of the address register.
Comparator 14 compares the value of upper address field 31 in address register 30 with the value of key address field 13, and the result is used to determine whether the cache is a hit or a miss. The counter 34 has the same bit width as the lower address section 33 (in this example, it is 2 bits), has the functions of zero clearing, loading a value from the lower address section 33, and +1, and stores the contents of the data memory block (2 bits in this example). It is used to generate the lowest (2 bits) address when sequentially writing data (4 words) to the main memory (write back) and sequentially reading data from the main memory to blocks in the data memory 20. The data selector 35 is
It is determined whether to use the value of the lower address section 33 as the least significant (2 bits) of the address supplied to the data memory 20 and main memory or the value of the counter 34, but usually the lower address section 33 is used. Assume that it is selected. Write data register 21 is a register that holds data to be written to the cache memory. The main memory interface 24 is a part that exchanges data, addresses, and control signals with the main memory, and as address information, the same information as that supplied to the data memory is used for middle and lower addresses.
For the upper addresses, the contents of the key address section 13 are used. FIG. 2 is a flowchart of a control procedure realized by the write stack control circuit of FIG. The flow of the control procedure branches depending on the values of the valid flag section 11 and the change flag section 12 of the directory memory 10 (numbers hereinafter refer to those in FIG. 1 or FIG. 2) and the comparison effect of the comparator 14. In the flow chart, branches 5 to 8 indicate the following cases. Branch 5 indicates that there is no valid data in the block specified by the middle address field 32 of the address register 30, resulting in a cache miss; If valid data exists but the key address comparison result does not match and a miss occurs, and the block contents have not been modified since being brought from main memory (modification flag = 0), write to main memory. If there is no need to restore the block, branch 8 is a case where there is a miss similar to branch 7, but the change flag is 1 and the contents of the block need to be transferred back to the main memory. The control procedure in each case will be explained. branch 8
In this case, since valid data with a different key address exists in the block in the data memory 20, the contents of the block (4 words) are first written back to the main memory. This process is the process in frame 101 in FIG. After securing the block to be written in this way, the data in the write data register 21 is written to the data cell at the specified address in the block in the data memory 20 in the process in box 102. In this case, the middle address section 32 is used to specify the block, and the lower address section 33 is used to specify the data cell within the block. Next, in the frame 103, the upper address part 3 is added to the key address part 13 of the directory memory 10.
Write the contents of 1 and select the directory in box 104.
Both the valid flag and the change flag in the memory 10 are rewritten to 1, the validation of the block is completed, and the process is terminated. In the process described here, the 4
Among the word data cells, for the three word data cells other than those written in the frame 102, the contents of the corresponding addresses are not read from the main memory as in the conventional example, so the contents of the corresponding addresses are not read from the main memory. The same block is enabled while the data from when the same block was used at the address remains. These three words of data are meaningless data for the user, but the write stack cache command is overwritten with the correct data when the subsequent write stack cache command is executed. is required to use. We will discuss in detail later how to use the cache command. FIG. 3 shows details of the processing contents of the frame 101. In order to write the contents of a block to the main memory, the four words in the block are read in sequence and sent to the main memory interface circuit 24 along with address information and a write control signal. In this case, counter 34 is used to generate the lower two bits of the address (equivalent to the data cell address within the block). Frame 1011 in Figure 3
First, the counter is cleared to zero, and the data selector 35, which normally selects the lower address section 33, is switched to the counter 34 side in the frame 1012. If the data memory 20 is read in the frame 1014 in this state,
The data cell specified by the output of the data selector 35 in the block specified by the middle address section 32 is read out. When this is sent to the main memory interface 24 via the cache data bus 23 and a main memory write control signal is sent to the main memory interface 24, the key of the directory memory 10 is used as the upper address for the main memory write. The values in the address field 13 are the same as those supplied to the data memory 20 as the middle and lower addresses, and are written into the main memory. After this, set the counter to 1 in frame 1015.
When the block 1014 is incremented by 1014 and the process in box 1014 is executed again, the contents of the next data cell in the block are written to the next address in the main memory. In this way, by repeating the processing in frames 1014 and 1015 four times, all the contents of the block will be written to the main memory, so
Finally, as post-processing, data selector 3 is selected in frame 1016.
5 is returned to select the lower address section 33, and the process is terminated. Although the processing of branches 5 and 7 in FIG. 2 is a cache miss, there is no need to write back the old data in the block to the main memory, so the processing of write back in frame 101 is removed from the processing of branch 8. are becoming equal. Each process in frames 81 to 83 is
The processing is the same as that of frames 102-104. The processing of branch 6 is the processing in the case of a cache human.
Since a data cell to be written already exists in the block, data is written in box 91 (same process as box 102), and the change flag is set to 1 in box 92, and the process ends. By introducing a control means that implements the write stack cache command described above, it is possible to use memory as a stack and write (push) data following the top of the stack.
When the CPU moves to the cache memory, the first
When writing the data of the second word, use the write shown in the conventional example as the cache command, and when writing the data after the second word, use the write stack cache command shown in this example. As a result, the number of unnecessary reads from the main memory can be reduced, and data writing can be performed faster. In this case, at first glance it appears that the write stack cache instruction can be applied to writing data in the first word, but it is only applicable when the address of the first word matches the beginning of the cache block. , otherwise the write
Application of the stack instruction may have the disadvantage that data previously stored on the stack and residing in main memory is not read into cache memory. Therefore, in this example, the write cache command is unconditionally used when writing the first word. Below, we will explain how to use the write stack command,
Using Table 2 and Figures 4 to 6, we will explain the state of data on the stack when data is written to the stack using this, and the number of data words transferred to and from main memory at that time. do.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、上述のように、メモリをスタ
ツクとして使用し、その先端部分へ連続的にデー
タを書き込む場合(特にキヤツシユメモリのブロ
ツクの大きさよりも大きなメモリを書き込む場
合)に、主記憶からの不要なデータ読み込みが削
減され書き込み時間が短縮されるという効果が生
じる。例えば、LISPやPROLOGプログラムをフ
アームウエアで記述されたインタープリタを用い
て解釈実行する場合に、実行制御情報をスタツク
格納する場合など、主記憶上にとられたスタツク
へある程度大きな一連のデータを連続書き込みす
る場合に、キヤツシユ・ミスヒツトにともなう主
記憶からキヤツシユメモリへのむだなデータの読
み込みを削減することができ、主記憶アクセスに
要する時間を短縮できるものであり、本発明はき
わめて有益である。
According to the present invention, as described above, when a memory is used as a stack and data is continuously written to the leading end of the stack (especially when writing a memory larger than the block size of the cache memory), the main memory This has the effect of reducing unnecessary data reading from and shortening write time. For example, when interpreting and executing a LISP or PROLOG program using an interpreter written in firmware, a series of relatively large data is continuously written to the stack stored in main memory, such as when storing execution control information in the stack. In this case, the present invention is extremely useful because it can reduce the unnecessary reading of data from the main memory to the cache memory due to a cache miss, and shorten the time required to access the main memory.

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

第1図は本発明の一実施例のキヤツシユメモリ
装置の構成図、第2図は第1図のライト・スタツ
ク制御回路で実現する制御手順の流れ図、第3図
は第2図の流れ図における枠101の処理内容を
詳細に示す図、第4図〜第6図は本発明の実施例
においてスタツクにデータを書き出してゆく場合
のスタツク上のデータの状態を示す図、第7図は
従来のキヤツシユメモリ装置の一例の構成図、第
8図は従来のキヤツシユメモリ装置において、キ
ヤツシユ命令として書き込みが指定された場合の
制御手順の流れ図、第9図は第8図の枠71の処
理を詳細に示す図、第10図は第8図の枠75の
処理を詳細に示す図、第11図〜第13図は従来
のキヤツシユメモリ装置において、メモリをスタ
ツクとして使用し、スタツクにデータを書き出し
てゆく場合のスタツク上のデータの状態を示す
図。 主な符号、10…デイレクトリ・メモリ、11
…有効フラグ部、12…変更フラグ部、13…キ
ーアドレス部、14…比較器、20…データ・メ
モリ、21…書き込みデータ・レジスタ、22…
読み出しデータ・レジスタ、23…キヤツシユ・
データバス、24…主記憶インタフエース、30
…アドレス・レジスタ、31…上位アドレス部、
32…中位アドレス部、33…下位アドレス部、
34…カウンタ、35…データ選択器、41…キ
ヤツシユ命令レジスタ、43…制御回路、44…
…制御信号線、46…キヤツシユ命令デコーダ、
47…ライト・スタツク用キヤツシユ命令デコー
ダ、50…ライト・スタツク用制御回路、51…
制御信号線。
FIG. 1 is a block diagram of a cache memory device according to an embodiment of the present invention, FIG. 2 is a flowchart of a control procedure realized by the write stack control circuit of FIG. 1, and FIG. 4 to 6 are diagrams showing the state of data on the stack when data is written to the stack in the embodiment of the present invention, and FIG. FIG. 8 is a block diagram of an example of a cache memory device. FIG. 8 is a flowchart of a control procedure when write is specified as a cache command in a conventional cache memory device. FIG. FIG. 10 is a diagram showing details of the processing in box 75 in FIG. A diagram showing the state of data on the stack when writing out. Main code, 10...Directory memory, 11
...Valid flag section, 12... Change flag section, 13... Key address section, 14... Comparator, 20... Data memory, 21... Write data register, 22...
Read data register, 23... cache
Data bus, 24...Main memory interface, 30
...address register, 31...upper address section,
32... Middle address part, 33... Lower address part,
34...Counter, 35...Data selector, 41...Cache instruction register, 43...Control circuit, 44...
...control signal line, 46...cash command decoder,
47... Write stack cache instruction decoder, 50... Write stack control circuit, 51...
control signal line.

Claims (1)

【特許請求の範囲】[Claims] 1 データの書き込みを行う際に該データをキヤ
ツシユメモリ内のみに書き込み、該書き込んだ領
域が後に別のアドレスのキヤツシユアクセスに使
用されるときに、該領域に書き込まれているデー
タを主記憶に書き戻すライト・スワツプ方式のキ
ヤツシユメモリにおいて、第1の書き込み制御手
段と第2の書き込み制御手段を備え、メモリをス
タツクとして用いスタツクの先頭へデータの連続
的書き出しを行う場合に、第1語の書き出しに第
1の制御手段を用い、第2語以後の書き出しに第
2の制御手段を用い、第1の制御手段において
は、書き込みアドレスのデータセルを含むブロツ
ク、すなわちデータの管理単位がキヤツシユメモ
リ内に存在しない場合には、当該ブロツクをキヤ
ツシユメモリ内に確保した後に、書き込みデータ
を当該アドレスのデータセルに書き込みを行な
い、当該ブロツク内の他のデータセルについては
主記憶からデータの読み込みを行う通常のライ
ト・スワツプ方式の制御手順を実施し、第2の制
御手段においては、書き込みアドレスのデータセ
ルを含むブロツクがキヤツシユメモリ内に存在し
ない場合には、当該ブロツクをキヤツシユメモリ
内に確保した後に、書き込データを当該アドレス
のデータセルにただちに書き込みを行ない、当該
ブロツク内の他のデータセルについては主記憶か
らデータを読み込むことをしないまま当該ブロツ
クを有効化せしめることを特徴とするメモリ制御
方式。
1. When writing data, the data is written only in the cache memory, and when the written area is later used for cache access at another address, the data written in the area is written to the main memory. A write-swap type cache memory is provided with a first write control means and a second write control means, and when the memory is used as a stack and data is continuously written to the top of the stack, the first The first control means is used to start writing a word, and the second control means is used to start writing the second and subsequent words. If the block does not exist in the cache memory, after allocating the block in the cache memory, write data is written to the data cell at the address, and data for other data cells in the block is read from the main memory. The second control means executes a normal write swap control procedure for reading the data cell, and if the block containing the data cell at the write address does not exist in the cache memory, the block is cached. After allocating the data in memory, the write data is immediately written to the data cell at the corresponding address, and the block is enabled without reading data from the main memory for other data cells in the block. Characteristic memory control method.
JP59249307A 1984-11-26 1984-11-26 Memory control system Granted JPS61127050A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59249307A JPS61127050A (en) 1984-11-26 1984-11-26 Memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59249307A JPS61127050A (en) 1984-11-26 1984-11-26 Memory control system

Publications (2)

Publication Number Publication Date
JPS61127050A JPS61127050A (en) 1986-06-14
JPH0156411B2 true JPH0156411B2 (en) 1989-11-30

Family

ID=17191037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59249307A Granted JPS61127050A (en) 1984-11-26 1984-11-26 Memory control system

Country Status (1)

Country Link
JP (1) JPS61127050A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151661A (en) * 1994-03-03 2000-11-21 International Business Machines Corporation Cache memory storage space management system and method
JP2004303232A (en) * 2003-03-20 2004-10-28 Matsushita Electric Ind Co Ltd Data memory cache device and data memory cache system

Also Published As

Publication number Publication date
JPS61127050A (en) 1986-06-14

Similar Documents

Publication Publication Date Title
US4593354A (en) Disk cache system
US20070016719A1 (en) Memory device including nonvolatile memory and memory controller
EP0019358B1 (en) Hierarchical data storage system
JPH05210585A (en) Cash management system
WO2004061673A2 (en) Method and apparatus for block oriented memory management provided in smart card controllers
JPS6111865A (en) Memory access control system
US5241639A (en) Method for updating data from a cache address location to main memory and maintaining the cache address in registration memory
JPH0115903B2 (en)
JPH0156411B2 (en)
US4424564A (en) Data processing system providing dual storage of reference bits
JPH044617B2 (en)
JPH0255812B2 (en)
EP0400851A2 (en) Efficient cache utilizing a store buffer
JP3190661B2 (en) Information processing system
JPH02188849A (en) Cache memory system
JPH0784886A (en) Method and unit for cache memory control
JPH05100926A (en) Input/output managing system
JP3219810B2 (en) Data processing device
JP2703255B2 (en) Cache memory writing device
JPH06266623A (en) Cache memory and cache memory control method
JPH07152650A (en) Cache control unit
JPS60221855A (en) Replacement control device
JPH0689228A (en) Cache memory controller
JPH04288647A (en) Substitution controller for cache memory
JPH10133948A (en) Cache memory device

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term