JPS60258660A - キヤシユメモリ制御方式 - Google Patents
キヤシユメモリ制御方式Info
- Publication number
- JPS60258660A JPS60258660A JP59113860A JP11386084A JPS60258660A JP S60258660 A JPS60258660 A JP S60258660A JP 59113860 A JP59113860 A JP 59113860A JP 11386084 A JP11386084 A JP 11386084A JP S60258660 A JPS60258660 A JP S60258660A
- Authority
- JP
- Japan
- Prior art keywords
- bank
- cache memory
- processor
- program
- cache
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
技術分野
本発明はキャシュメモリ制御方式に関する。本発明によ
る制御方式は計算機に設けられたキャシュメモリの分割
管理に用いられる。
る制御方式は計算機に設けられたキャシュメモリの分割
管理に用いられる。
従来技術と問題点
キャシュメモリを備えた計算機は、第1図に概略全体構
成図として示すように、プロセッサ1、キャシュアドレ
スコントローラ2、キャシュメモリ3および主メモリ4
により構成される。通常プロセッサ1が命令を実行する
ときは論理アドレスLAおよび物理アドレスPAを順に
追っていきシーケンシャルなフローにより実行される。
成図として示すように、プロセッサ1、キャシュアドレ
スコントローラ2、キャシュメモリ3および主メモリ4
により構成される。通常プロセッサ1が命令を実行する
ときは論理アドレスLAおよび物理アドレスPAを順に
追っていきシーケンシャルなフローにより実行される。
これは、主メモリ4゛からキャシュメモリ3にプログラ
ムα。
ムα。
β、γがロードされた後にキャシュメモリ3の最初から
シーケンシャルに命令を実行し最後になるとこれを検出
し一旦実行は停止され、主メモリ4からキャシュメモリ
3への次のロードが行われた後にプロセッサは次の命令
の実行を最初から行う。
シーケンシャルに命令を実行し最後になるとこれを検出
し一旦実行は停止され、主メモリ4からキャシュメモリ
3への次のロードが行われた後にプロセッサは次の命令
の実行を最初から行う。
この際、キャシュメモリにロードしているときはキャシ
ュメモリは使えないのでプロセンサは命令の実行を停止
していることになる。即ち、プロセッサがシーケンシャ
ルに命令を実行していき最後にキャシュメモリにない内
容をアクセスするときページフォルトが発生し、次のロ
ードが終了するまで実行が停止されるのでプロセッサの
能力とは無関係に処理速度の低下を来している。このよ
うなページフォルトは実行のジャンプによっても発生す
る。即ち、アドレスがシーケンシャルではなく飛んで分
岐が行われた場合に分岐先がキャシュメモリの領域から
はずれた場合である。ページフォルトがシーケンシャル
な実行で発生する場合でもジャンプによって発生する場
合でも、この間はプロセッサの実行が停止することにな
るので上述したようにプロセッサの能力とは無関係に処
理速度は低下する。
ュメモリは使えないのでプロセンサは命令の実行を停止
していることになる。即ち、プロセッサがシーケンシャ
ルに命令を実行していき最後にキャシュメモリにない内
容をアクセスするときページフォルトが発生し、次のロ
ードが終了するまで実行が停止されるのでプロセッサの
能力とは無関係に処理速度の低下を来している。このよ
うなページフォルトは実行のジャンプによっても発生す
る。即ち、アドレスがシーケンシャルではなく飛んで分
岐が行われた場合に分岐先がキャシュメモリの領域から
はずれた場合である。ページフォルトがシーケンシャル
な実行で発生する場合でもジャンプによって発生する場
合でも、この間はプロセッサの実行が停止することにな
るので上述したようにプロセッサの能力とは無関係に処
理速度は低下する。
発明の目的
本発明の目的は、上述の問題点に鑑み、キャシュメモリ
を備えた計算機において、キャシュメモリを複数に分割
し、プログラム領域を常に分割されたキャシュメモリ
(バンク)の中央のページに置き、ページフォルトが発
生した時はキャシュメモリのバンク切換にて他のバンク
へのロードを行いつつプログラムの再実行が行えるよう
にすることにより、ページフォルトの発生に伴う実行の
停止を低減し、処理速度の向上を図ることができるキャ
シュメモリ制御方式を提供することにある。
を備えた計算機において、キャシュメモリを複数に分割
し、プログラム領域を常に分割されたキャシュメモリ
(バンク)の中央のページに置き、ページフォルトが発
生した時はキャシュメモリのバンク切換にて他のバンク
へのロードを行いつつプログラムの再実行が行えるよう
にすることにより、ページフォルトの発生に伴う実行の
停止を低減し、処理速度の向上を図ることができるキャ
シュメモリ制御方式を提供することにある。
発明の構成
この目的は、本発明によれば、少なくともプロセッサ、
キャシュアドレスコントローラ、キャシュメモリおよび
主メモリを備えた計算機におけるキャシュメモリ制御方
式において、該キャシュメモリは少なくとも3つの物理
的に独立したバンクを具備し、該プロセッサの命令実行
中に発生するページフォルトを検出する該キャシュアド
レスコントローラにより該プロセッサからの論理アドレ
スを中央に位置するバンクを指定する物理アドレスに変
換し、ページフォルトの発生に伴いバンクの切換が行わ
れ、同時に該主メモリから実行中のバンクの次に位置す
るバンクへロードが行われる、ことを特徴とするキャシ
ュメモリ制御方式、を提供することにより達成される。
キャシュアドレスコントローラ、キャシュメモリおよび
主メモリを備えた計算機におけるキャシュメモリ制御方
式において、該キャシュメモリは少なくとも3つの物理
的に独立したバンクを具備し、該プロセッサの命令実行
中に発生するページフォルトを検出する該キャシュアド
レスコントローラにより該プロセッサからの論理アドレ
スを中央に位置するバンクを指定する物理アドレスに変
換し、ページフォルトの発生に伴いバンクの切換が行わ
れ、同時に該主メモリから実行中のバンクの次に位置す
るバンクへロードが行われる、ことを特徴とするキャシ
ュメモリ制御方式、を提供することにより達成される。
実施例
第2図は本発明のL実施例としてのキャシュメモリ制御
方式を実施する計算機の概略全体構成回である。第1図
と同様、1はプロセッサ、2は仮想空間をサポートする
ためのキャシュアドレスコントローラ、4は主メモリで
あるが、キャシュメモリ3は本実施例ではバンクはA、
BおよびCに3分割され、これらはアドレス的に結ばれ
ているが物理的には独立している。また、5はダイレク
ト・アクセス・メモリ・コントロール(DM八へ)であ
り、プロセッサ1からの指令により主メモリ4からいず
れかのバンクへのロードをtl+ll 御する。
方式を実施する計算機の概略全体構成回である。第1図
と同様、1はプロセッサ、2は仮想空間をサポートする
ためのキャシュアドレスコントローラ、4は主メモリで
あるが、キャシュメモリ3は本実施例ではバンクはA、
BおよびCに3分割され、これらはアドレス的に結ばれ
ているが物理的には独立している。また、5はダイレク
ト・アクセス・メモリ・コントロール(DM八へ)であ
り、プロセッサ1からの指令により主メモリ4からいず
れかのバンクへのロードをtl+ll 御する。
本発明によるキャシュメモリ制御方式は、ページフォル
トが発生した時プロセッサ1の再実行が高速に行えるよ
うに、キャシュメモリの実行中のプログラムが入ってい
るバンクBを中心にしてサンドイッチ状に上下のバンク
A、Cヘプログラムの前後の部分を主メモリ4から同時
にロードしておき、ページフォルトが生じた際は、オペ
レーティングシステム(O5)によるバンク切換によっ
てフォールト先のプログラムが入っているバンクをサン
ドイッチ状の領域の中心に移動し、不要になったバンク
には次のバンクに入れるべきプログラム領域を主メモリ
4からプロセッサ1のアクセスとは無関係にロードする
ようにしたものである。
トが発生した時プロセッサ1の再実行が高速に行えるよ
うに、キャシュメモリの実行中のプログラムが入ってい
るバンクBを中心にしてサンドイッチ状に上下のバンク
A、Cヘプログラムの前後の部分を主メモリ4から同時
にロードしておき、ページフォルトが生じた際は、オペ
レーティングシステム(O5)によるバンク切換によっ
てフォールト先のプログラムが入っているバンクをサン
ドイッチ状の領域の中心に移動し、不要になったバンク
には次のバンクに入れるべきプログラム領域を主メモリ
4からプロセッサ1のアクセスとは無関係にロードする
ようにしたものである。
以下、第3図に示す制御手順図によって動作を詳細に説
明する。
明する。
プロセッサ1の実行前に、DMAC5はプロセッサのO
8の指示により主メモリ4から実行プログラムαをバン
クBヘプログラムβをバンクCヘロードする(ステップ
■)転送が終了するとプロセッサ1の実行が開始される
。このときの論理アドレスLA、物理アドレスPAは図
示の実線で示す位置にあるとする(ステップ■)。本発
明では、物理アドレスPAは常にプロセッサ1から見て
中央のバンクBのみを指定するようにキャシュアドレス
コントローラ2により制御される。このままプログラム
の実行が進むとやがてLA、PAは点線で示すようにバ
ンクCの上端まで達しページフォルトが発生ずる(ステ
ップ■)。このページフォルトの発生はキャシュアドレ
スコントローラ2にて検出される。従来の方式であれば
この段トシシでキャシュメモリ3に対して主メモリ4か
らプログラムの再ロードが行われるが本発明では、O8
の管理によって、進行方向のページフォルトに対してL
Aの変更をまず行い、次にバンクAのPAをバンクCの
次のプログラム領域γになるように設定し、DlIAC
5に対してプログラムγをバンクAにロードするように
指示する。このようにキャシュメモリ3のバンク切換が
行われる(ステップ■)。
8の指示により主メモリ4から実行プログラムαをバン
クBヘプログラムβをバンクCヘロードする(ステップ
■)転送が終了するとプロセッサ1の実行が開始される
。このときの論理アドレスLA、物理アドレスPAは図
示の実線で示す位置にあるとする(ステップ■)。本発
明では、物理アドレスPAは常にプロセッサ1から見て
中央のバンクBのみを指定するようにキャシュアドレス
コントローラ2により制御される。このままプログラム
の実行が進むとやがてLA、PAは点線で示すようにバ
ンクCの上端まで達しページフォルトが発生ずる(ステ
ップ■)。このページフォルトの発生はキャシュアドレ
スコントローラ2にて検出される。従来の方式であれば
この段トシシでキャシュメモリ3に対して主メモリ4か
らプログラムの再ロードが行われるが本発明では、O8
の管理によって、進行方向のページフォルトに対してL
Aの変更をまず行い、次にバンクAのPAをバンクCの
次のプログラム領域γになるように設定し、DlIAC
5に対してプログラムγをバンクAにロードするように
指示する。このようにキャシュメモリ3のバンク切換が
行われる(ステップ■)。
即ちO3によってバンクの切換と実行アドレスの変更が
行われる。これらの過程が終了するとプロセッサ1はプ
ログラムβの実行を続け、同時にDMAC5は主メモリ
4に対してバンクAにプログラムγをロードする指示を
行う(ステップ■)。このようにすることによりプロセ
ッサから見るとキャシュメモリは常に自分の実行してい
るキャシュメモリのプログラムの上下に主メモリ上のプ
ログラムの前後の領域を含んでいることになる。さらに
実行が続きバンクCのプロ・グラムβにおいて相対ジャ
ンプが発生し次の実行命令がTの領域のアドレスになっ
たときページフォルトを再び発生する(ステップ■)。
行われる。これらの過程が終了するとプロセッサ1はプ
ログラムβの実行を続け、同時にDMAC5は主メモリ
4に対してバンクAにプログラムγをロードする指示を
行う(ステップ■)。このようにすることによりプロセ
ッサから見るとキャシュメモリは常に自分の実行してい
るキャシュメモリのプログラムの上下に主メモリ上のプ
ログラムの前後の領域を含んでいることになる。さらに
実行が続きバンクCのプロ・グラムβにおいて相対ジャ
ンプが発生し次の実行命令がTの領域のアドレスになっ
たときページフォルトを再び発生する(ステップ■)。
以後は上述の動作と同様に、O8は、ページフォルトに
対してLAの変更を行い、バンクBのPAをバンクAの
次の領域になるように設定し、[1M/Ic 5に対し
てプログラムδをバンクBにロードするような指示をし
、キャシュメモリのバンク切換が行われる(ステップ■
)。次にプロセッサ1はプログラムγの実行を続け、前
述と同様、同時にDHAC5は主メモリ4に対してバン
クBにプログラムδをロードする指示を行う(ステップ
■)。上述したような制御手順によって、プロセッサは
ページフォルト時にもバンク切換の時間のみ期待するだ
けでプログラムの実行が行えるので処理速度は向上する
。
対してLAの変更を行い、バンクBのPAをバンクAの
次の領域になるように設定し、[1M/Ic 5に対し
てプログラムδをバンクBにロードするような指示をし
、キャシュメモリのバンク切換が行われる(ステップ■
)。次にプロセッサ1はプログラムγの実行を続け、前
述と同様、同時にDHAC5は主メモリ4に対してバン
クBにプログラムδをロードする指示を行う(ステップ
■)。上述したような制御手順によって、プロセッサは
ページフォルト時にもバンク切換の時間のみ期待するだ
けでプログラムの実行が行えるので処理速度は向上する
。
第4図は第2図に示すキャシュアドレスコントローラ2
を詳細に示すブロック線図である。第4図において、キ
ャシュアドレスコントローラ2は、レジスタ21,22
、比較器23,24、アドレスコンバータ25,26,
27、およびスティタスランチ28により構成される。
を詳細に示すブロック線図である。第4図において、キ
ャシュアドレスコントローラ2は、レジスタ21,22
、比較器23,24、アドレスコンバータ25,26,
27、およびスティタスランチ28により構成される。
レジスタ21によりプロセッサ1の論理アドレスLAの
下限が規定され、レジスタ22により上限が規定される
。比較器23はLAがレジスタ21に規定された下限を
越えたとき出力をアクティブにし、比較器24はLAが
レジスタ22に規定された」―限を越えたとき出力をア
クティブにする。アドレスコンバータ25.2’6.2
7は論理アドレスを物理アドレスを変換するために設け
られ、比較器23がらの出力がアクティブのときは物理
アドレスを1ブロツクだけ減らして発生するようにし、
比較器24からの出力がアクティブのときは物理アドレ
スを1ブロツクだけ増やして発生するようにする。尚、
PA+ はバンクへの物理アドレスを、PA2はバンク
Bの物理アドレスを、PA3はバンクCの物理アドレス
をそれぞれ示す。スティタスランチ28は現在中央の領
域に対するキャシュメモリを指すものと、ページフォル
トが上限か下限かを示すランチにより構成され、DMA
C5に対して空いているバンクを知らせるために用いら
れるこの指令はプロセッサを経てO8に与えられる。
下限が規定され、レジスタ22により上限が規定される
。比較器23はLAがレジスタ21に規定された下限を
越えたとき出力をアクティブにし、比較器24はLAが
レジスタ22に規定された」―限を越えたとき出力をア
クティブにする。アドレスコンバータ25.2’6.2
7は論理アドレスを物理アドレスを変換するために設け
られ、比較器23がらの出力がアクティブのときは物理
アドレスを1ブロツクだけ減らして発生するようにし、
比較器24からの出力がアクティブのときは物理アドレ
スを1ブロツクだけ増やして発生するようにする。尚、
PA+ はバンクへの物理アドレスを、PA2はバンク
Bの物理アドレスを、PA3はバンクCの物理アドレス
をそれぞれ示す。スティタスランチ28は現在中央の領
域に対するキャシュメモリを指すものと、ページフォル
トが上限か下限かを示すランチにより構成され、DMA
C5に対して空いているバンクを知らせるために用いら
れるこの指令はプロセッサを経てO8に与えられる。
本実施例ではキャシュメモリを3分割、即ち3組設けて
管理する方式について説明したが、3組以上にすること
も可能である。さらに、キャシュメモリの組をプログラ
ム領域、データ領域等、領域ごとに分割することも可能
である。
管理する方式について説明したが、3組以上にすること
も可能である。さらに、キャシュメモリの組をプログラ
ム領域、データ領域等、領域ごとに分割することも可能
である。
発明の効果
本発明によれば、プロセッサの実行と主メモリからキャ
シュメモリへのロードが同時に行えるのでプロセッサの
処理速度を向上させることが可能である。
シュメモリへのロードが同時に行えるのでプロセッサの
処理速度を向上させることが可能である。
第1図は、従来のキャシュメモリを備えた計算機の全体
構成図、 第2図は、本発明の一実施例としてのキャシュメモリ制
御方式を実施する計算機の全体構成図、第3図は、第2
図に示す構成の制御手順を示す制御手順図、 第4図は、第2図に示すキャシュアドレスコントローラ
の詳細ブロック線図、および 第5〜12図は第3図に示す制御手順を順に図示した説
明図である。 (7J号の説明) l−プロセッサ、 2−キャシュアドレスコントローラ、 3−キャシュメモリ、 4−主メモリ、 5−ダイレクト・メモリ・アクセス・コントロール、 A、B、C−バンク、 LA−論理アドレス、 PA−一物理アドレス、 BUS−データバス。 特許出願人 富士通株式会社 特許出願代理人 弁理士 青 木 朗 弁理士西舘和之 弁理士内田幸男 弁理士 山 口 昭 之 第1図 4 弗2図 第3図 WJ4図
構成図、 第2図は、本発明の一実施例としてのキャシュメモリ制
御方式を実施する計算機の全体構成図、第3図は、第2
図に示す構成の制御手順を示す制御手順図、 第4図は、第2図に示すキャシュアドレスコントローラ
の詳細ブロック線図、および 第5〜12図は第3図に示す制御手順を順に図示した説
明図である。 (7J号の説明) l−プロセッサ、 2−キャシュアドレスコントローラ、 3−キャシュメモリ、 4−主メモリ、 5−ダイレクト・メモリ・アクセス・コントロール、 A、B、C−バンク、 LA−論理アドレス、 PA−一物理アドレス、 BUS−データバス。 特許出願人 富士通株式会社 特許出願代理人 弁理士 青 木 朗 弁理士西舘和之 弁理士内田幸男 弁理士 山 口 昭 之 第1図 4 弗2図 第3図 WJ4図
Claims (1)
- 1、 少なくともプロセッサ、キャシュアドレスコント
ローラ、キャシュメモリおよび主メモリを備えた計算機
におけるキャシュメモリ制御方式において、該キャシュ
メモリは少なくとも3つの物理的に独立したバンクを具
備し、該プロセッサの命令実行中に発生するページフォ
ルトを検出する該キャシュアドレスコントローラにより
該プロセッサからの論理アドレスを中央に位置するバン
クを指定する物理アドレスに変換し、ページフォルトの
発生に伴いバンクの切換が行われ、同時に該主メモリか
ら実行中のバンクの次に位置するバンクへロードが行わ
れる、ことを特徴とするキャシュメモリ制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59113860A JPS60258660A (ja) | 1984-06-05 | 1984-06-05 | キヤシユメモリ制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59113860A JPS60258660A (ja) | 1984-06-05 | 1984-06-05 | キヤシユメモリ制御方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS60258660A true JPS60258660A (ja) | 1985-12-20 |
Family
ID=14622894
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59113860A Pending JPS60258660A (ja) | 1984-06-05 | 1984-06-05 | キヤシユメモリ制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60258660A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01241648A (ja) * | 1988-03-23 | 1989-09-26 | Nec Corp | 情報処理装置 |
| JPH01241645A (ja) * | 1988-03-23 | 1989-09-26 | Nec Corp | 演算処理装置 |
| US6253342B1 (en) | 1997-11-14 | 2001-06-26 | Nec Corporation | Semiconductor integrated circuit |
| KR100327854B1 (ko) * | 1997-11-07 | 2002-08-13 | 닛본 덴기 가부시끼가이샤 | 캐시메모리시스템 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5829188A (ja) * | 1981-08-15 | 1983-02-21 | Nec Corp | 情報処理装置 |
-
1984
- 1984-06-05 JP JP59113860A patent/JPS60258660A/ja active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5829188A (ja) * | 1981-08-15 | 1983-02-21 | Nec Corp | 情報処理装置 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01241648A (ja) * | 1988-03-23 | 1989-09-26 | Nec Corp | 情報処理装置 |
| JPH01241645A (ja) * | 1988-03-23 | 1989-09-26 | Nec Corp | 演算処理装置 |
| KR100327854B1 (ko) * | 1997-11-07 | 2002-08-13 | 닛본 덴기 가부시끼가이샤 | 캐시메모리시스템 |
| US6253342B1 (en) | 1997-11-14 | 2001-06-26 | Nec Corporation | Semiconductor integrated circuit |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4163280A (en) | Address management system | |
| EP0106669B1 (en) | Operating system supervisor | |
| US7607133B2 (en) | Interrupt processing control | |
| JPS60258660A (ja) | キヤシユメモリ制御方式 | |
| US5649231A (en) | Storage control method and apparatus having a buffer storage for transferring variable amounts of data to a main storage based on current system load | |
| JP2677458B2 (ja) | システムコール実行装置 | |
| JP3659941B2 (ja) | マイクロプロセッサおよびその処理方法 | |
| JPH0668725B2 (ja) | データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法 | |
| JPH02183342A (ja) | 割込み制御装置 | |
| JPH05165641A (ja) | シングルチップマイクロコンピュータ | |
| JPS6073758A (ja) | デイスクキヤツシユ制御方式 | |
| JPH0150936B2 (ja) | ||
| JPS5914063A (ja) | マイクロコンピユ−タのスタ−トアツプ方式 | |
| JPS60142450A (ja) | 記憶システム | |
| JP2003345515A (ja) | ディスク制御装置、ストレージシステム、及びその制御方法 | |
| JPH10507548A (ja) | データ処理システムおよび方法およびこのようなシステムとの通信システム | |
| JPH0664569B2 (ja) | マイクロプログラムローディング方法 | |
| JPH041373B2 (ja) | ||
| JPS63132368A (ja) | マルチプロセサの割込み方式 | |
| JPS61165172A (ja) | メモリアクセス制御方式 | |
| JPS59127153A (ja) | プログラム・ロ−デイング処理方式 | |
| JPS63284673A (ja) | 情報処理装置 | |
| JPS62297954A (ja) | メモリ制御方式 | |
| JPH0452834A (ja) | 電子計算機 | |
| JPS58146925A (ja) | マイクロプロセツサのダイレクトメモリアクセス方式 |