JPH0512106A - メモリバンク切り替え方式 - Google Patents

メモリバンク切り替え方式

Info

Publication number
JPH0512106A
JPH0512106A JP16020691A JP16020691A JPH0512106A JP H0512106 A JPH0512106 A JP H0512106A JP 16020691 A JP16020691 A JP 16020691A JP 16020691 A JP16020691 A JP 16020691A JP H0512106 A JPH0512106 A JP H0512106A
Authority
JP
Japan
Prior art keywords
page
data
item
bank switching
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
Application number
JP16020691A
Other languages
English (en)
Inventor
Katsuhiro Ono
勉弘 小野
Satoru Tezuka
悟 手塚
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP16020691A priority Critical patent/JPH0512106A/ja
Publication of JPH0512106A publication Critical patent/JPH0512106A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】特権モード上のページ変換キャッシュ・フラッ
シュ命令の使用なしに、バンク切り替えの高速化を図っ
たメモリバンク切り替え方式の提供。 【構成】ページ変換機能をもつCPUからなる情報処理
装置は、ページ・テーブルの項目を書き換えるユーザ・
モード上のソフトウェア手段21と、前記ページ変換キ
ャッシュ内の項目を全てバンク切り替えの対象外の論理
ページに関する項目に置き換えるユーザ・モード上のソ
フトウェア手段22とからなる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、メモリのバンク切り替
え方式に係り、特に、ページ変換機能とページ変換用キ
ャッシュとを備えたCPUにより構成された情報処理装
置において、ページ・テーブルの項目の書き換えによる
バンク切り替えをユーザ・モード上のプログラムから高
速に実現する場合に用いて好適な方式に関する。
【0002】
【従来の技術】ページ変換機能とページ変換用キャッシ
ュを備えたCPUにより構成される情報処理装置におい
て、ページ・テーブルの書き換えによりバンク切り替え
を行うバンク切り替え方式の従来技術を図5に示す。こ
の技術は、ユーザ・モード上プログラムの発行するバン
ク切り替え命令をCPUの機能によりトラップし特権モ
ードに移行させ、主メモリ上のページ・テーブルの項目
の書き換えを行い、そのページ・テーブルの項目の書き
換えによって生じるページ変換用キャッシュの以前の項
目データと主メモリにあるページ・テーブルの新しい項
目との不一致を、ページ変換用キャッシュ内の項目デー
タを全て無効にする処理(以後、キャッシュのフラッシ
ュと呼ぶ)により解消させる、という一連の特権モード
上のプログラム処理により、バンク切り替えを実現する
ものであった。以下、この従来技術を図面により説明す
る。
【0003】図5において、100はユーザ・モード上
のプログラム、200は特権モード上のバンク切り替え
プログラム、110はバンク切り替え命令、120はそ
の次の命令である。
【0004】いま、ユーザ・モード上のプログラム10
0の実行に際して、バンク切り替え命令110に実行の
制御が移ったとする。そのとき、トラップ機能によりユ
ーザ・モードから特権モードに対するモード遷移300
が生じ、実行の制御は特権モード上のプログラム200
に移る。プログラム200では、まず、命令の解析処理
210によりユーザ・モード上のプログラムの命令11
0の解析が行われ、その命令110がバンク切り替え命
令であると判定される。そして、主メモリ上ページ・テ
ーブルのバンク切り替えの対象となる論理ページに関す
る項目の書換処理220により、論理ページと物理ペー
ジの対応づけを変更して意図するバンク切り替えを行
う。さらに、処理220によって書き換えられたページ
・テーブルの項目とページ変換用キャッシュの項目デー
タとの一貫性を保つために、ページ変換用キャッシュの
フラッシュ230が行われる。その後、特権モードから
ユーザ・モードへのモード遷移301が行われ、ユーザ
・モード上のプログラムの次の命令120に実行の制御
が移り、バンク切り替え処理が完了する。
【0005】
【発明が解決しようとする課題】図5に示した従来例で
は、ページ・テーブルの書き換え処理220によって生
じたページ・テーブルとページ変換用キャッシュとの矛
盾を解消し、ページ変換用キャッシュのフラッシュ命令
230によりページ変換用キャッシュの項目データを全
て無効にすることによって一貫性を保っている。ここ
で、ページ変換用キャッシュのフラッシュ命令は、一般
に、特権モード上でしか実行できない特権命令となる。
その特権命令を使用するために、図5に示した従来例で
は、バンク切り替え命令110をトラップして、ユーザ
・モードと特権モード間をモード遷移させる必要があ
る。しかし、ユーザ・モードと特権モード間のモード遷
移(図5における300および301)は、一般に、通
常の命令よりも多くの処理時間を必要とし、バンク切り
替えの処理に多くの時間がかかり、ユーザ・モード上の
プログラムの処理速度を低下させる。
【0006】本発明の目的は、ページ変換用キャッシュ
のフラッシュを行う特権命令を使用することなくページ
変換用キャッシュの一貫性を保ち、また、特権命令の使
用に伴うユーザ・モードと特権モード間のモード遷移に
よる速度低下を招くことなく、高速にバンク切り替え処
理を行う、バンク切り替え方式を提供することにある。
【0007】
【課題を解決するための手段】従来例では、ページ変換
用キャッシュのフラッシュを行う特権命令によって、ペ
ージ変換用キャッシュに格納されている項目データを全
て無効にし、そのキャッシュ・フラッシュ以前に書き換
えられたページ・テーブルの項目が、キャッシュ・フラ
ッシュ以後のページ変換において必ず使用されることを
保証している。
【0008】本発明は、ユーザ・モード上のプログラム
によってページ変換用キャッシュの旧項目データを全て
バンク切り替えの対象外の論理ページに関する項目デー
タに置き換えることにより、ページ・テーブルに対して
書き換えを行ったバンク切り替えの対象となる論理ペー
ジに関する項目が以後のバンクメモリへの参照において
必ず使用されることを保証し、ページ変換用キャッシュ
のフラッシュを行う特権命令の使用を必要としない。
【0009】
【作用】本発明によれば、ユーザ・モード上のプログラ
ムのみで、ページ変換用キャッシュとページ・テーブル
との一貫性を保つことができ、特権モード上のページ変
換用キャッシュをフラッシュする特権命令を使用しなく
て済むため、ユーザ・モードと特権モード間のモード遷
移時間を削減でき、より高速なバンク切り替えが行え
る。
【0010】
【実施例】以下、本発明によるメモリバンク切り替え方
式の一実施例を図面により詳細に説明する。
【0011】図1は、本発明によるメモリバンク切り替
え処理を行うユーザ・モード上のプログラムのフローチ
ャートである。図1において、11はバンク切り替えを
行うユーザ・モード上のメイン・ルーチン、21は主メ
モリ上ページ・テーブルのバンク切り替えの対象となる
論理ページに関する項目の書き換え処理、22はページ
変換用キャッシュにある全ての項目データをバンク切り
替え対象外の論理ページに関する項目データに置き換え
る処理である。
【0012】図1において、メモリバンクの切り替え
は、次の手順で行われる。すなわち、まず、処理21で
主メモリ上のページ・テーブルを書き換え、論理ページ
と物理ページの対応関係を変更し意図したバンク切り替
えを行う。次の処理22では、ページ変換用キャッシュ
上の全ての項目データをバンク切り替え対象外の論理ペ
ージに関する項目データに置き換える。そのため、ペー
ジ変換用キャッシュがバンク切り替えの対象外の論理ペ
ージに関する項目データで全て満たされるために、その
後のユーザ・モード上のプログラムによるバンクメモリ
への参照において、ページ変換用キャッシュへのヒット
が生じることがなく、処理21が更新した主メモリ上の
ページ・テーブル上の項目が参照され、ユーザ・プログ
ラムが意図したメモリバンクに正しくアクセスすること
ができる。
【0013】次に、図1におけるページ変換用キャッシ
ュのデータ置き換え処理22の具体的な手順を図2に示
す。データ置き換え処理22はユーザ・モード上のプロ
グラムで構成され、具体的には、図3に示すページ変換
用キャッシュの項目データ格納領域選択アルゴリズムを
前提として、注意深くバンク切り替え対象外の異なる論
理ページに対しデータ参照命令と分岐命令の実行を繰り
返すことによって、ページ変換用キャッシュの全ての項
目データ領域をバンク切り替え対象外の論理ページに関
する項目データに置き換える。
【0014】次に、図3によってページ変換用キャッシ
ュの項目データ格納領域選択アルゴリズムを説明し、次
に図2に示すページ変換用キャッシュの項目データ置き
換え処理の流れを説明し、その正当性を図4に示す。
【0015】図3において、ページ変換用キャッシュ
は、項目データの格納領域を四つ持っているとし、これ
ら四つのデータ格納領域をそれぞれL1、L2、L3、
L4とする。また、同図において、B0、B1、B2は
それぞれ四つのデータ格納領域の更新または参照状態を
表す1または0の状態を持つフラグ変数である。
【0016】図3において、まず、判断80によって四
つのデータ領域L1、L2、L3、L4が全て有効なデ
ータで満たされているか判定される。もし四つのデータ
領域のいずれかに無効なデータが存在する場合には、処
理81によって、まだ満たされていない領域がページ・
テーブルから読み込まれた項目データの格納に使用され
る。もし四つのデータ領域が全て有効な項目データで満
たされているならば、次に示す手順で四つのデータ領域
L1、L2、L3、L4のいずれかが選択されてデータ
格納に使用され、処理を終了する。
【0017】図3において、判断82によってフラグ変
数B0の値が0であるかどうかが判定される。もし、フ
ラグ変数B0が0の場合は、直前にL3ないしはL4が
データ格納用に選択されたか、または、参照されと判断
され、直前に参照されていないL1ないしはL2を選択
する処理に移行する。つまり、処理83によってB0に
値0が代入され判断85に続く。もしフラグ変数B0が
1の場合は、直前にL1ないしはL2がデータ格納用に
選択されたか、または参照されと判断され、直前に参照
されていないL3ないしはL4を選択する処理に移行す
る。つまり、処理84によってB0に値0が代入され判
断86に続く。
【0018】判断85によってフラグ変数B1の値が0
であるかどうかが判定される。もし、フラグ変数B1が
0の場合は、直前にL2がデータ格納用に選択された
か、または参照された判断され、直前に参照されていな
いL1を選択する処理に移行する。つまり、処理87に
よってB1に値1が代入され、処理91によってデータ
領域L1に項目データが格納され、処理を終了する。も
し、フラグ変数B1が1の場合は、直前にL1がデータ
格納用に選択されたか、または、参照されと判断され、
直前に参照されていないL2を選択する処理に移行す
る。つまり、処理88によってB1に値0が代入され、
処理92によってデータ領域L2に項目データが格納さ
れ、処理を終了する。
【0019】判断86によってフラグ変数B2の値が0
であるかどうかが判定される。もし、フラグ変数B2が
0の場合は、直前にL4がデータ格納用に選択された
か、または参照されと判断され、直前に参照されていな
いL3を選択する処理に移行する。つまり、処理89に
よってB2に値1が代入され、処理93によってデータ
領域L3に項目データが格納され、処理を終了する。も
し、フラグ変数B2が1の場合は、直前にL3がデータ
格納用に選択されたか、または参照されと判断され、直
前に参照されていないL4を選択する処理に移行する。
つまり、処理90によってB2に値0が代入され、処理
94によってデータ領域L4に項目データが格納され、
処理を終了する。
【0020】以上の手順によって、ページ変換用キャッ
シュの四つのデータ領域であるL1、L2、L3、L4
のうちいずれかのデータ領域が選択される。つぎに、ペ
ージ変換用キャッシュの置き換え処理ルーチンの一実施
例を図2により説明する。
【0021】図2において、30は論理アドレス、4
0,41,42,43は論理アドレス30上の異なる論
理ページ、50,51は図1に示したデータ置き換え処
理22の一実施例を示す処理ルーチンである。データ置
き換えルーチン50が実行されると、まず、論理ページ
41の参照命令が実行され、論理ページ41に対するデ
ータ参照60が行われる。次に、論理ページ42への分
岐命令が実行され、処理ルーチン51に制御が渡され
る。処理ルーチン51では、まず、論理ページ43の参
照命令が実行され、論理ページ43へのデータ参照61
が行われる。次に論理ページ40への分岐命令が実行さ
れ、データ置き換えの本体ルーチン50に再び制御が戻
される。ここで、図2で、論理ページ40,41,4
2,43は、バンク切り替えの対象とならない異なる論
理ページであればよく、必ずしも連続している必要はな
い。
【0022】次に、図2で示したアルゴリズムによって
ページ変換用キャッシュの全ての項目データ領域が置き
換えられる過程を図4によって説明する。図4の
(a)、(b)、(c)、(d)、(e)、(f)はそ
れぞれページ変換用キャッシュのフラグ変数B0、B
1、B2の値と、四つのデータ格納領域L1、L2、L
3、L4に格納されている項目データどの論理ページに
関するものかを表す。以下、この図3を用いて、図2に
よるページ変換用キャッシュの項目データ置き換えルー
チンの処理過程を説明し、その正当性を示す。
【0023】まず、(a)は初期状態であり、B0=
0、B1=0、B2=0であるのでデータ領域L4が直
前に更新または参照されたことを表す。同図(a)にお
いて、データ領域L1、L2、L3、L4の項目データ
はそれぞれ、ある適当な論理ページ45,46,47,
48を指しているとする。
【0024】図2に示した論理ページ40にあるルーチ
ン50に制御が渡るときに、フラグ変数がB0=0、B
1=0のため図3に示したアルゴリズムに従いデータ領
域L1が使用され、論理ページ40に関する項目データ
がデータ領域L1に格納される。そして、直前にデータ
領域L1が更新されたことを表すためにフラグ変数がB
0=1、B2=1となり、図4の(a)から状態(b)
に移行する。
【0025】図2に示したルーチン50の論理ページ4
1への参照命令が実行されるときに、フラグ変数がB0
=1、B2=0のため図3に示したアルゴリズムに従っ
てデータ領域L3が使用され、参照された論理ページ4
1に関する項目データが格納される。そして、直前にデ
ータ領域L3が更新されたことを表すためにフラグ変数
がB0=0、B2=1となり、図4の状態(b)から状
態(c)に移行する。
【0026】図2に示したルーチン50の論理ページ4
2への分岐命令が実行されるときに、フラグ変数がB0
=0、B1=1のため図3に示したアルゴリズムに従い
データ領域L2が使用され、分岐先である論理ページ4
2に関する項目データが格納される。そして、直前にデ
ータ領域L2が更新されたことを表すためにフラグ変数
がB0=1、B1=0となり、図4の状態(c)から状
態(d)に移行する。
【0027】図2に示したルーチン50の論理ページ4
2への参照命令が実行されるときに、フラグ変数がB0
=1、B2=1のため図3に示したアルゴリズムに従い
データ領域L4が使用され、参照された論理ページ42
に関する項目データが格納される。そして、直前にデー
タ領域L4が更新されたことを表すためにフラグ変数が
B0=0、B2=0となり、図4の状態(d)から状態
(f)に移行する。
【0028】この図4の状態(f)に至り、ページ変換
用キャッシュの4つのデータ領域L1、L2、L3、L
4が、それぞれ以前のデータである論理ページ45、4
6、47、48に関する項目データから、論理ページ4
0,41,42,43に関する項目データとなり、すべ
ての項目データ格納領域のデータ置き換えが完了する。
【0029】最後に、図2のルーチン51の論理ページ
40にあるルーチン50への復帰命令によって、ページ
変換用キャッシュの項目データ置き換えルーチン50の
処理が終了する。
【0030】以上、図2に示したデータ置き換えルーチ
ンの実行によって、ページ変換用キャッシュに格納され
ている全ての項目データが新しいデータに更新され、以
前のデータと異なるものに置き換えられる。
【0031】従って、図1におけるページ・テーブルの
書き換え処理21で発生した、ページ変換用キャッシュ
と主メモリ上のページ・テーブルとの間の矛盾が解消さ
れ、ページ・テーブルに対して変更した項目が有効にな
り、バンク切り替え処理が正常に終了する。
【0032】図2は、ページ変換用キャッシュのデータ
格納領域が四つである場合の、ページ変換用キャッシュ
のデータ置き換え処理ルーチンを示しているが、一般に
は、ページ変換用キャッシュは四つの項目データの格納
領域を一セットとして、その整数倍のデータ領域のセッ
トを持つように構成される。従って、四つの項目データ
の格納領域を一セットとして、そのN倍のデータ領域の
セットをCPUのページ変換用キャッシュが持っている
場合には、図2に示したページ変換用キャッシュのデー
タ置き換えルーチンを基本単位として、そのN個の処理
ルーチンを繋いだ形で実現すれば良い。このとき、N個
の連続したページ変換用キャッシュのデータ置き換えル
ーチンのそれぞれの分岐命令と参照命令は、バンク切り
替えの対象外の異なる論理ページに対して行われるよう
にする。
【0033】本発明の実施例における、図1のルーチン
22の処理およびその具体例である図2のアルゴリズム
は、ページ・テーブル書き換えによるページ・テーブル
とページ変換用キャッシュの矛盾を解消するものであ
り、従来技術を示す図5の内部キャッシュのフラッシュ
230の代用を果たすことになる。そのため、図2にお
ける、ユーザ・モードから特権モードへのモード遷移3
00と、モード遷移に伴う命令の解析210と、特権モ
ードからユーザ・モードへのモード遷移301とが必要
なくなる。
【0034】一般に、CPUの各モード間の遷移には、
通常の命令の実行と比較して、より多くの処理時間が掛
かる。従って、実施例によれば従来技術より高速なバン
ク切り替えが実現できる。
【0035】
【発明の効果】本発明によれば、ユーザ・モード上のペ
ージ変換用キャッシュの項目データ置き換え処理によっ
て、ページ変換用キャッシュ・フラッシュのための特権
命令を使用することなく、それに伴うモード遷移による
速度低下を招くことなく、より高速なバンク切り替えを
実現することができる。
【図面の簡単な説明】
【図1】本発明の一実施例による全体構成のフローチャ
ート、
【図2】図1におけるページ変換用キャッシュの項目デ
ータ置き換え処理のフローチャート、
【図3】ページ変換用キャッシュの更新の際にデータ格
納領域が選択されるアルゴリズムを示す説明図、
【図4】図2に示したページ変換用キャッシュの項目デ
ータ置き換え処理の説明図、
【図5】ページ変換機能を用いたバンク切り替え処理の
従来例の説明図。
【符号の説明】
11…バンク切り替え処理メイン・ルーチン、21…ペ
ージ・テーブル書き換え処理、22…ページ変換用キャ
ッシュの項目データ置き換え処理、50,51…ページ
変換用キャッシュの項目データ置き換え処理ルーチン、
100…ユーザ・モード上のバンク切り替えを指示する
プログラム、200…特権モード上のバンク切り替え処
理ルーチン。

Claims (1)

  1. 【特許請求の範囲】 【請求項1】主メモリ上のページ・テーブル内の項目に
    基いて論理アドレスから物理アドレスへの変換をページ
    単位で行えるページ変換機能と、前記ページ変換を高速
    に行うために前記ページ・テーブル内の項目を格納する
    データ領域を複数備えたページ変換用キャッシュと、特
    権モードとユーザ・モードと、命令のトラップにより前
    記両モード間を遷移するモード遷移手段と、主メモリ上
    のページ・テーブルの項目の書き換えにおいてページ・
    テーブルの項目とページ変換用キャッシュ内の項目デー
    タとの間の一貫性を保証するために前記ページ変換用キ
    ャッシュ内の項目を全て無効にする特権モード上の命令
    と、前記ページ変換用キャッシュ内の項目を格納するた
    めのデータ領域をある特定のアルゴリズムに従って選択
    する手段とをもつCPUにより構成された情報処理装置
    において、 前記ページ・テーブルの項目を書き換えるユーザ・モー
    ド上のソフトウェア手段と、前記ページ変換用キャッシ
    ュ内の項目データを全てバンク切り替えの対象外の論理
    ページに関する項目データに置き換えるユーザ・モード
    上のソフトウェア手段とにより、前記ページ・テーブル
    のバンク切り替えの対象である項目の書き換えに伴って
    生じるページ変換用キャッシュと前記ページ・テーブル
    との矛盾を解消するために前記特権命令を使用すること
    なく、前記特権命令の使用のために前記モード遷移で生
    じる速度低下を招くことなく、高速にバンク切り替えを
    行うことを特徴とするメモリバンク切り替え方式。
JP16020691A 1991-07-01 1991-07-01 メモリバンク切り替え方式 Pending JPH0512106A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16020691A JPH0512106A (ja) 1991-07-01 1991-07-01 メモリバンク切り替え方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16020691A JPH0512106A (ja) 1991-07-01 1991-07-01 メモリバンク切り替え方式

Publications (1)

Publication Number Publication Date
JPH0512106A true JPH0512106A (ja) 1993-01-22

Family

ID=15710063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16020691A Pending JPH0512106A (ja) 1991-07-01 1991-07-01 メモリバンク切り替え方式

Country Status (1)

Country Link
JP (1) JPH0512106A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9209545B2 (en) 2011-10-14 2015-12-08 Omron Corporation Terminal having an insertion groove for a conductor and a pair of conductive arm parts with a plurality of slits
US9231316B2 (en) 2011-10-14 2016-01-05 Omron Corporation Electrical terminal assembly having an insertion groove
US9231324B2 (en) 2011-10-14 2016-01-05 Omron Corporation Terminal

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9209545B2 (en) 2011-10-14 2015-12-08 Omron Corporation Terminal having an insertion groove for a conductor and a pair of conductive arm parts with a plurality of slits
US9231316B2 (en) 2011-10-14 2016-01-05 Omron Corporation Electrical terminal assembly having an insertion groove
US9231324B2 (en) 2011-10-14 2016-01-05 Omron Corporation Terminal

Similar Documents

Publication Publication Date Title
US5577227A (en) Method for decreasing penalty resulting from a cache miss in multi-level cache system
JP5670508B2 (ja) アーキテクチャイベントの間のプロセッサリソースの保持
EP0088239B1 (en) Multiprocessor cache replacement under task control
JP4268332B2 (ja) 仮想アドレスからページ・テーブル・インデックスを計算する方法および装置
US7234038B1 (en) Page mapping cookies
JPH0326863B2 (ja)
EP0173981A2 (en) Cache memory control circuit
JPH08272692A (ja) 仮想アドレス変換方法
JPS61141055A (ja) 情報処理装置のアドレス変換方式
JPH0340046A (ja) キャッシュメモリ制御方式および情報処理装置
JPH0661068B2 (ja) 記憶再配置方法および階層化記憶システム
EP0669579B1 (en) Coherence index generation for use by an input/output adapter
JPH09120374A (ja) フルアソシアティブ・アドレス変換器
JPH0322155A (ja) キャッシュメモリ装置
JP2001195304A (ja) キャッシュ記憶装置
JP2930071B2 (ja) 情報処理装置およびプロセッサ
US20040133760A1 (en) Replacement algorithm for a replicated fully associative translation look-aside buffer
EP0173909B1 (en) Look-aside buffer least recently used marker controller
JPH0512106A (ja) メモリバンク切り替え方式
JP3954248B2 (ja) 情報処理装置の試験方法
JP3078303B2 (ja) キャッシュメモリ制御回路
JPS6161143B2 (ja)
JPH04361341A (ja) Alb読み出し制御方式
JP3476376B2 (ja) 仮想記憶アドレス空間アクセス制御方法とそのための装置
JPH01226056A (ja) アドレス変換回路