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
Links
- 238000000034 method Methods 0.000 claims description 38
- 238000012545 processing Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
〔産業上の利用分野〕
本発明は、メモリをスタツクとして使用する場
合の連続的データ書き込みの高速化に適した書き
込み制御方式を有するライト・スワツプ方式のキ
ヤツシユメモリ装置に関するものである。 キヤツシユメモリ装置の方式として、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語のデータは上
に述べたとおりむだな読み込みとなつている。
合の連続的データ書き込みの高速化に適した書き
込み制御方式を有するライト・スワツプ方式のキ
ヤツシユメモリ装置に関するものである。 キヤツシユメモリ装置の方式として、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語のデータは上
に述べたとおりむだな読み込みとなつている。
本発明は、上述の従来のライト・スワツプ方式
のキヤツシユメモリ装置において、メモリをスタ
ツクとして使用する場合に、ある程度大きな一連
のデータをプツシユする際に、明らかにむだと分
かる主記憶からのデータの読み込みが発生し、主
記憶アクセスのために余分な時間がかかるという
欠点を改善するものである。 〔問題点を解決するための手段〕 本発明においては、上記問題点を解決するため
に以下のごとき手段を講ずる。すなわち、 データの書き込みを行う際に該データをキヤツ
シユメモリ内のみに書き込み、該書き込んだ領域
が後に別のアドレスのキヤツシユアクセスに使用
されるときに、該領域に書き込まれているデータ
を主記憶に書き戻すライト・スワツプ方式のキヤ
ツシユメモリにおいて、第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図を用いて説明す
る。
のキヤツシユメモリ装置において、メモリをスタ
ツクとして使用する場合に、ある程度大きな一連
のデータをプツシユする際に、明らかにむだと分
かる主記憶からのデータの読み込みが発生し、主
記憶アクセスのために余分な時間がかかるという
欠点を改善するものである。 〔問題点を解決するための手段〕 本発明においては、上記問題点を解決するため
に以下のごとき手段を講ずる。すなわち、 データの書き込みを行う際に該データをキヤツ
シユメモリ内のみに書き込み、該書き込んだ領域
が後に別のアドレスのキヤツシユアクセスに使用
されるときに、該領域に書き込まれているデータ
を主記憶に書き戻すライト・スワツプ方式のキヤ
ツシユメモリにおいて、第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図を用いて説明す
る。
本発明によれば、上述のように、メモリをスタ
ツクとして使用し、その先端部分へ連続的にデー
タを書き込む場合(特にキヤツシユメモリのブロ
ツクの大きさよりも大きなメモリを書き込む場
合)に、主記憶からの不要なデータ読み込みが削
減され書き込み時間が短縮されるという効果が生
じる。例えば、LISPやPROLOGプログラムをフ
アームウエアで記述されたインタープリタを用い
て解釈実行する場合に、実行制御情報をスタツク
格納する場合など、主記憶上にとられたスタツク
へある程度大きな一連のデータを連続書き込みす
る場合に、キヤツシユ・ミスヒツトにともなう主
記憶からキヤツシユメモリへのむだなデータの読
み込みを削減することができ、主記憶アクセスに
要する時間を短縮できるものであり、本発明はき
わめて有益である。
ツクとして使用し、その先端部分へ連続的にデー
タを書き込む場合(特にキヤツシユメモリのブロ
ツクの大きさよりも大きなメモリを書き込む場
合)に、主記憶からの不要なデータ読み込みが削
減され書き込み時間が短縮されるという効果が生
じる。例えば、LISPやPROLOGプログラムをフ
アームウエアで記述されたインタープリタを用い
て解釈実行する場合に、実行制御情報をスタツク
格納する場合など、主記憶上にとられたスタツク
へある程度大きな一連のデータを連続書き込みす
る場合に、キヤツシユ・ミスヒツトにともなう主
記憶からキヤツシユメモリへのむだなデータの読
み込みを削減することができ、主記憶アクセスに
要する時間を短縮できるものであり、本発明はき
わめて有益である。
第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…
制御信号線。
装置の構成図、第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…
制御信号線。
Claims (1)
- 1 データの書き込みを行う際に該データをキヤ
ツシユメモリ内のみに書き込み、該書き込んだ領
域が後に別のアドレスのキヤツシユアクセスに使
用されるときに、該領域に書き込まれているデー
タを主記憶に書き戻すライト・スワツプ方式のキ
ヤツシユメモリにおいて、第1の書き込み制御手
段と第2の書き込み制御手段を備え、メモリをス
タツクとして用いスタツクの先頭へデータの連続
的書き出しを行う場合に、第1語の書き出しに第
1の制御手段を用い、第2語以後の書き出しに第
2の制御手段を用い、第1の制御手段において
は、書き込みアドレスのデータセルを含むブロツ
ク、すなわちデータの管理単位がキヤツシユメモ
リ内に存在しない場合には、当該ブロツクをキヤ
ツシユメモリ内に確保した後に、書き込みデータ
を当該アドレスのデータセルに書き込みを行な
い、当該ブロツク内の他のデータセルについては
主記憶からデータの読み込みを行う通常のライ
ト・スワツプ方式の制御手順を実施し、第2の制
御手段においては、書き込みアドレスのデータセ
ルを含むブロツクがキヤツシユメモリ内に存在し
ない場合には、当該ブロツクをキヤツシユメモリ
内に確保した後に、書き込データを当該アドレス
のデータセルにただちに書き込みを行ない、当該
ブロツク内の他のデータセルについては主記憶か
らデータを読み込むことをしないまま当該ブロツ
クを有効化せしめることを特徴とするメモリ制御
方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59249307A JPS61127050A (ja) | 1984-11-26 | 1984-11-26 | メモリ制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59249307A JPS61127050A (ja) | 1984-11-26 | 1984-11-26 | メモリ制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS61127050A JPS61127050A (ja) | 1986-06-14 |
| JPH0156411B2 true JPH0156411B2 (ja) | 1989-11-30 |
Family
ID=17191037
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59249307A Granted JPS61127050A (ja) | 1984-11-26 | 1984-11-26 | メモリ制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS61127050A (ja) |
Families Citing this family (2)
| 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 (ja) * | 2003-03-20 | 2004-10-28 | Matsushita Electric Ind Co Ltd | データメモリキャッシュ装置及びデータメモリキャッシュシステム |
-
1984
- 1984-11-26 JP JP59249307A patent/JPS61127050A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS61127050A (ja) | 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 (ja) | キャッシュ管理システム | |
| WO2004061673A2 (en) | Method and apparatus for block oriented memory management provided in smart card controllers | |
| JPS6111865A (ja) | メモリアクセス制御方式 | |
| US5241639A (en) | Method for updating data from a cache address location to main memory and maintaining the cache address in registration memory | |
| JPH0115903B2 (ja) | ||
| JPH0156411B2 (ja) | ||
| JPH044617B2 (ja) | ||
| JPS6194159A (ja) | メモリ装置 | |
| JP3335919B2 (ja) | ディスクキャッシュ制御装置 | |
| JPH0255812B2 (ja) | ||
| EP0400851A2 (en) | Efficient cache utilizing a store buffer | |
| JP3190661B2 (ja) | 情報処理システム | |
| JPH02188849A (ja) | キャッシュメモリ方式 | |
| JPH05100926A (ja) | 入出力管理方式 | |
| JP3219810B2 (ja) | データ処理装置 | |
| JPH06266623A (ja) | キャッシュメモリ及びキャッシュメモリ制御方法 | |
| JPH0689228A (ja) | キャッシュメモリ制御装置 | |
| JPS62297948A (ja) | デ−タベ−スの障害回復方式 | |
| JPH07152650A (ja) | キャッシュ制御装置 | |
| JPS589452B2 (ja) | フア−ムウエアホウシキ | |
| JPS60221855A (ja) | リプレース制御装置 | |
| JPH04288647A (ja) | キャッシュメモリにおける置き換え制御装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |