JPS59130000A - 仮想記憶装置保護方法 - Google Patents

仮想記憶装置保護方法

Info

Publication number
JPS59130000A
JPS59130000A JP58228621A JP22862183A JPS59130000A JP S59130000 A JPS59130000 A JP S59130000A JP 58228621 A JP58228621 A JP 58228621A JP 22862183 A JP22862183 A JP 22862183A JP S59130000 A JPS59130000 A JP S59130000A
Authority
JP
Japan
Prior art keywords
page
bit
instruction
circuit
address
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.)
Granted
Application number
JP58228621A
Other languages
English (en)
Other versions
JPS6248258B2 (ja
Inventor
スチ−ブン・フランク・サロカ
グレン・チヤピン・スミス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS59130000A publication Critical patent/JPS59130000A/ja
Publication of JPS6248258B2 publication Critical patent/JPS6248258B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔技術分野〕 本発明は単一プロセッサ(UP)システムまたは多■プ
ロセッサ(MP)システムで使用される仮想記憶装置の
記憶内容の保全性を維持する技術に関し、特に回復不能
な故障停止につながる記憶内容の破壊を防止する技術に
関する。
〔先行技術〕
現任のオペレーティングシステムは、不測のシステム故
障停止を引き起こし得る次のような問題に弱い。
(1)主記憶装置stにあるシステム制御プログラム(
SCP)域への無肝−可ユーザアクセス。これはプログ
ラミング上の規則を無視した故意のまたは偶然のブラン
チによって生じる。普通はシステムユーザがSCPルー
チンおよびSCPテーデーをアクセスすることはできな
いようになっているが、この規貝11が6皮もれると、
オペレーティングシステムがうま(働かな(なる。
(2)無if呵ユーザまたは誤った舖令実行によるSC
Pデータ域(オペレーティングシステム全体に影り1・
牙を及ぼす制御ブロックなど)の変更。
IBMシステム/370で採用されている保全手段には
次のようなものがある。
(1)CPU問題状態:問題状態にあるCPUは特殊な
SCP命令7a′実行できない。このよ51よ命令は特
帷状態においてのみ実行可能である。
(2)記1.は保−キー:キー制御型の保護は実記憶装
置献(主記憶装置)におけるブロック即ちページフレー
ムにのみ適用される。ティスフなどの補助記憶装置tに
あるページは、ページ不在の発生によって実記1.ハ装
置d中の選択されたページフレームへ転送された場合に
のみ記憶保坤キーを割当てられる。
実記憶装置のページフレーム9て割当てられるキー(記
憶装置キーと呼はれる)はOかも15までの値をとる。
実記憶装置をアクセスするプログラムにもキー(プログ
ラムアクセスキーまたは単に保護キーと呼ばれる)が割
当てられ、対応するプログラム状況ワード(p sw)
中にプログラムアクセスキーが書込まれる。普通(Cへ
ページフレームへの↑記憶要求は、そのページフレーム
に割当てられている記憶装置キーと現PSW中のプログ
之ムアクセスキーとが一致した場合にのみ許可される。
ただし、プログラムアクセスキーがOの場合は、記憶装
置キーの値が何であっても一致とみなされる。取出し要
求は一般にキーの一致、不一致には1叫1丞なく許可さ
れるが、取出し保護ビットがオンになっていると、キー
の一致を必要とする。
(6)下位アドレス保護:これは、実記憶装置00希地
から511番地までのアドレス範囲にある情報かCP 
U 0′)割込み処理の間yc誤って破壊されてしまう
のを防ぐもので、制御レジスタ0のビット6がオンであ
ればこの保護恢’ti’t“が働・く。
(4)許可プログラム機構(APF):これは純粋のソ
フトウェアによる許可制御で、IBM MVS/370
VCおいて許可プログラムだけがSVCルーチンを使用
できるようにしたものである。
以上の他にも様々な記憶装置保全技術が提案されている
が、その多(は実記憶装置に関するものである。ところ
が、本発明が対象としている仮想紀・1、は装置dの保
全は実記憶装置の保全とは異なり、アドレス空間の概念
および仮想アドレスから実アドレスへの変換を考慮する
8袈がある。最近ではユーザ毎に異なったアドレス空間
を用いる多重仮想記憶装(I’f、 (M V ’S 
)も登場している。
このような仮想記憶装置の保全技術として、アドレス変
換に使用されるセグメントテーブルの各エントリにセグ
メント保護ビラトラ設けておき、このビットがオンのセ
グメントに対しては配憶動作?禁止するようにしたもの
がある。しかしセグメントの大きさは最大1Mバイトに
も達するから、もう少しきめi+、IIIかい保護を与
えたい場合にはこれで+S、 牛十分であり、またセグ
メント保護ビットでは記憶動作は禁止できるが、取出し
動作は禁止できない。
仮想アドレスの上位2ビツトヲ利用してアドレス艶聞な
4つの区域、即ちシステムコード域、システムデータ域
、ユーザコード域およびユーザテーク域に分ける技術も
提案されているが、各区域の大きさが固定されているた
め融通性に欠け、また4つの区域が均等に使用されるわ
けではないから、アドレス空間の使用効率が悪くなる。
〔発明の目的〕
本発明の目的は仮想記憶装置の記憶自答を上記1、ハ配
装に合せてセグメントよりも小さいページ単位で保護す
ることにある。
〔発明の概要〕 不発明はページテーブルを使用して仮想アドレスから災
アドレスへの変換を行い、゛変換済みのアドレス対をT
LB(変換索引緩衝4m4]与)に保持しているデータ
処理システムにおいて、谷仮想ページの記憶自答を識別
するフラグをページテーブル中の対応する各エントリに
含ませておき、ページテーブルを使用したアドレス変換
によってTLBにエンiJ’aj作る際に変換済みのア
ドレス対の他にこのアドレス対に対応するページテーブ
ルエントリ(以下、PTEと略称する)中のフラグなT
LBへ転送し、変換すべき仮想アドレス′?:TLBへ
送ってこの仮想アドレスに対応するTLBエントリが見
つかれはその中に含まれるフラグを読出し、このフラグ
を変換された仮想アドレスに係るアクセス要求と比較し
て両立しない場合はCPUに割IΔみなかけるようにし
たことを特徴としている。
〔実施l夕lの乍几要〕
谷仮想ページの記憶内容な識別するPTE中のフラグと
して、SCP芙付1丁能/変史不能(SENC)フラグ
およびデータ専用(Do)フラグが使用される。5EN
Cフラグは、もしオンでル)れは、対応するページがS
 ENCページであること、即ち、SCPの命令または
データを含んでいることを示す。通常のユーザプログラ
ムあるいはアプリケーションプログラムがSCPチータ
ケ変更することは許されない。ページテーブルもSCP
データの1つである。Doフラグは、もしオンであれば
、対応するページ(Doページ)の記憶内容がデータだ
けで、実行可能なコードあるいは命令を含んでいないこ
とを示す。従って、例えはり。
ページに対して命令取出し要求が出された場合には、そ
のような命令(実際はデータ)は無効であるから、CP
Uに割込みがかり゛られる。5ENCフラグおよびDo
フラグはいずれも1ビツトのフラグであるから、以下こ
れらをS ENCビットおよびDoビットと呼ぶことに
する。
S ENCビットおよびDoビットは、第1実施例にお
いては、アドレス変換に伴ってそのままページテーブル
からT I、 Bへ転送され、DOビットはシステムD
’Oビットとして扱われる。システムDoビットは、対
応するページがSCPデータだけを含んでいることを示
す。SCPデータの変更は5ENCページから取出され
た命令によってのみ可能である。5ENCビツトおよび
システムDOビットがいずれもオフであれば、対応する
ページは普通のページ(例えばS/370ページ)とし
て扱われ、記憶保護キーによる制約を除くと、取出し動
作および記憶動作を自由に行うこと力くできる。
PTE中の5ENCビツトおよびDoビットは、第2火
施例においては、その4稗類の組合せによってページの
内WY 識別する。即ち、(1)両ビットか共にオフで
あればS/370ページを示し、(2)S ENCビッ
トがオンでDoビットがオフであれは5ENCページを
示し、(318ENCビツトがオフでDoビットがオン
であればユーザDoページを示し、(4)両ビットが共
にオンであればシステムDoページを示す。
SCP以外のプログラム、例えばアプリケーションプロ
グラムがSCP命令またはSCPデータを含むページヶ
アクセスするのヲ余止するため、SCP状態と呼ばれる
特別の内部状態が設定される。SCP状縣は、慎緘チェ
ック割込み、外音19害1」込み、プログラム割込み、
入出力割込み、命令(監視プログラム呼出し、プロ1グ
ラム呼出し、プログラム転送など)による割込みなどの
ノ・−ドウエア割込みによるPSWの切替えによって開
始される。sep状態は、CPUが5ENCページから
命令を取出している限り続き、非5ENCページから命
令が取出されると、リセットされる。
記憶装置に対するアクセス要求が関連する5ENCビツ
トおよびDOビットと両立しない場合に(rf、次のよ
うなプログラム割込みXX、YYまたはzzが生じる。
XX−DP’Uが非sep状態において、5ENCペー
ジから取出した命令を実行しようとした。
YY’−CPUがシステム1)0ページから命令を取出
して実行しようとした。
ZZ−CPUが非SCP状態において、システムDOペ
ージにデータを記憶しようとした。
本発明は非バイグライン型のCPUおよびノくイプライ
ン型のCPUのいずれにおいても実施できるが、実施態
様は後者の方が複雑になる。というのは、バイグライン
型のCPUにおいては、5ENCページからグリフエッ
チされた命令が実行されるまでSCP状態を長子させて
はいけないからである。即ち、ページがS ENCペー
ジか非5ENCページかは命令のブリフェッチ中に識別
できるが、SCP状態の終了、割込みXX、YYまたZ
Zの発生、およびオペランド記憶禁11−信号の発生は
、保全性を損う命令の実行までj¥らされる。
〔実施例の説明〕
第1図(σページテーブル中に写像された仮想記憶装置
を含むシステム配憶装置1を示している。
(反間記憶装置dの幾つかのページは主記憶装置の41
(バイトのページフレーム中に存在している。7A・・
−7Mはs’cpルーチンを含む5ENCページのフレ
ームを光わし、例えば7Aは資源初期設定モジュール(
RIM)フ=ログラムを含み、7MB仮想記憶′げ埋(
vsM)プログラム(v s M )をシステムDOペ
ージはページフレーム8A〜8Pにある。ページフレー
ム8Aは一峻数のPTE9A〜9Nを有するページテー
ブル9ヶ含む。各PTEは複数のフィールドから成り、
ページフレーム来アドレス(P F RA )、無効(
I)ビット、S ENCビットおよびDOビットを含ん
でいる。
10A・〜10Zはアプリケーションコード(10グラ
ム)およびアプリケーションデータを含むページフレー
ムである。
すべてのページテーブル中のすべてのPTEフィールド
を初JすJ設定するのにRI Mプログラムが使用され
る。この初期設定では、PFRAフィールドはブランク
値に設定され、■ビットはすべてオン状態に設定される
。RIMプログラムはマタS ENCページの内容を主
i’ie憶装置中の割当てられたページフレームにロー
ドし、すべてのページテーブル中のS E N’ Cビ
ラトラ対応するページの内容に従ってオン状−またはオ
フ状態に設定し、すべてのDoビットをオフ状態に設定
(リセット)する。RIMプログラムによる初期設定の
様子を第6図に示す。この流れ図の説明は不要であろう
なお、第6図中のLPAライブラリは仮想記憶オペレー
ティングシステムO8/VS2において、連係パック域
(LPA)に入るように指定されたモジュールを含む区
分データセットのことである。
VSMグログラムはユーザプログラムのあとでCPUに
より実行され、仮想アドレスミスが生じたときにページ
フレームを割振るためにテイスバツチされる。その際、
斐求されたページのアドレスから特定のPTEが選択さ
れ、PFRAが割当てられ、更にIビットがオフ状態に
設定されて、当該PTEが有効になったことを示す。V
SMプログラムは、現仮想ページのアドレスにつき所定
のページ内容割当てテーブル(図示せす)を検査し、笈
4央中のページがDOページであることがこのテーブル
中に示されていると、P↑EのDoビットヲオン状態に
設定する。
以下に詳述するように、■SM8Mグログラム1実施例
においては、システムDoベージに対してのみDoビッ
トをオン状態に設定し、第2実施例においては、システ
ムDoページおよびユーザDoベージのいずれに対して
もDoビットをオン状態に設定し、更にシステムDoペ
ージの場合はS ENCビットもオン状態に設定する。
本発明の第1実施例を第2図に示す。第1実施例では、
ページテーブル9における5ENCビツトおよびDo(
システムDo)ビットの状態が下記の表1に従って解釈
される。
表   1 はい   018CPデータのみ   要(システムD
oページ) 変更不能 (SENCページ) −11許されない 要求されている仮想アドレスによって各ユーザのページ
テーブルにある特定のPTEが選択されると、その5E
NCビツトおよびシステムDoビットが各々緋12およ
び11を介してCPUの記憶制御装置dへ送られ、TL
B(変換索引緩衝機構)10の選択されたエントリ中に
入れられる。
TLBloのエントリは、命令実行回路16かも母、v
j161へ14j力された仮想アドレスによって選択さ
れる。この選択方法やTLB 10の基本動作1よらび
にアドレス変換方法は従来どおりでよい。
TLBloの各エントリは、有効(V)ビット、セグメ
ントテーブル起点(STO)、仮想アドレス、ページフ
レーム実アドレス(PF’RA)、5ENCビツトおよ
びシステムDoビットを含んでいる。なお、ページテー
ブルの他にセグメントテーブルを使用するアドレス’A
−41u It:i周知であるし、セグメントテーブル
自体は本発明とは無関係であるから、詳細については省
略する。
よ(知られているように、要求された仮想アドレスがT
LB 10になければ(TLBミス)、!特定のTLB
エントリが選択されて、その仮想アドレスフィールドに
要求された仮想アドレスが書き込まれ、選択されたPT
E(例えば第1図の9N)のPFRAフィールドの自答
が選択されたTLBエントりのPFRAフィールドに書
き込まれ、更にvビットがオン状態に設定されて当該T
LBエントリが有効であることを示す。
従来と異なる点は、5ENCビツトおよびシステムDo
ビットが選択されたTLBエントリ中に曹き込まれるこ
とである。
ti勝61’hの仮想アドレスがTLB 10にあり且
つそのエントリが有効であれば(TLBビット)、S 
ENCビットおよびシステムDoビットの状態が谷々緋
62および66へ読出される。AND回路21は両ビッ
トの許されない組合せ(表1によれは両方共”1”)を
検出して、変換指定例外を下す信号な線61へ出力する
5ep(システム制御プログラム)を実行するためには
CPUがSCP状悪になっている必要がある。CPUが
SCP状態であるかどうかはSCP状態トリガ17によ
って示される。このトリガ17は命令実行回路16から
巌66へ出力されるPSW切替え(割込み)信号により
セットされる。
SCP状態においては、たとえSCPが00アクセスキ
ーな用いていたとしても、キーの一致がなければ主記憶
装置においてページフレームの自答を変更することはで
きない。
CPUが5ENCページから命令を取り出している限り
sc、p状態が絖(。CPUが非S E N Cページ
からの命令の実行を試みると、対応するTLBエントリ
中の5ENCビツトがオフになっているため、直ちに線
62ヘオフ状態の信号が出力され、反転器22で反転さ
れてAND回路25の一方の入力ヲ条件付ける。AND
回路25の他方の入力には、命令実行回路16からの命
令取出し要求信号が印加される。これらの入力条件が満
たされると、AND回路25はscp状態トリガ17を
リセットする信号を発生する。
第2図の実施例は、1つの命令の取出しおよび実行が終
ってから次の命令の実行を開始するという非パインフィ
ン型のCPUK遍している。
SCP状悪について要約すると、(1)命令はSEN 
Cページから取出され、(2)どのシステムDOページ
における変更もすべて5ENCページから取出され7’
vSCP命令によってのみ行われ、(6)主記憶装置へ
書込みを行う場合は、たとえキー゛Oを使用していたと
してもキーの一致を必要とする。第2図の回路はこれら
6つの条件を実現させる。
AND回路23.27および2Bからは4.l!類の仮
想ページ−保護信号が各々発生される。
A N D回路27は、5ENCページから命令を取出
すときにはCPUがSCP状)漂にあるようにする。A
 N D +pr+路27への入力は、反転器18から
縁71へ出力される非sep状態信号、線62上の5E
NCビット信号、線67上の命令取出し袈水信シ号、お
よび現命令アドレスが実アドレスではなくて仮想アドレ
スであることケ示す綜69上のDAT (動的アドレス
変侠)モード信号である。
A N I)回路27から?[、Vi+37へ出力され
るのは割込みxH計号で、それによりCPUに割込みが
かけられてPSWが切替えられ、史にこの型の割込みの
原因を識別するために一意的な割込みコードXXがプロ
グラム割込みコード記憶位置に書込まれる。
AND回路23は、scp状’d の間ニS E N 
Cページから取出されたSCP命令だけがシステムDo
ページを変更できるようにする。AND回路230入力
は、腺71上の非sep状態信号、想66上のシステム
Doビット信号、餓68上のオペランド記憶要求信号、
および%−n 69 )−、のI) A Tモード信号
である。線63へ出力されるのは割込みZZ倍信号、プ
ログラム割込みにょるPswの切替えを行わせる(プロ
グラム割込み処理プログラムを呼出すため)。更に、割
込みZZ倍信号割込み原因を識別するために一意的な割
込みコードZZを発生して、プログラム割込みコード記
憶位1dに書込む。
A N D 回路28は、システムDoページからUテ
ークだけが取出されるようにする。システムDOページ
からテークを取出す場合、CPUはSCP状悪および非
SCP状態のいずれであってもよい。
AND回hk% 28の入力)、−1、)[63上のシ
ステムDOピッ)4に号、線67−Fの命令取出し安来
信号、および瞭69上のDATモード信号である。柑6
8へ出力されるの(は割込みYY18号で、それにより
、CPUがシステムDoページから命令を取出そうと(
〜でいることを示す割込みコードYYが発生される。
AND回路26は、線68上のオペランド記憶要求信号
および反転器46からの非削込みZZ倍信号より乗注伺
けられて、線66へ記憶可能信号な出力する。この信号
はオペランド記1.@動作のだめの条件付り゛信号とし
て、第3図のOR回路51かものキーー牧佃号と共にア
クセス制御lrJ路(図示せず)へ送られる。AND回
路26が割込みZz悟号な発生しているとA N D回
路26が条件付けられγよいので、アクセスIII御回
路によるオペランド「、田1は動作が阻1トされ、かく
て記憶装↑dの保全性が保たれる。史に、シー」込みz
z倍信号このよう11オペランド記憶要求を出した命令
の実行を抑止する。
第6図は、記憶装置のアクセスを保護キーに基いて開側
jする回路を示し、第2図または第4図(第2実Af(
例)の仮想ページ保丙回路と協働して、腺52ヘキー一
致信号を出刃する。この信号は記憶装置dアクセス要求
を許可する条件付は信号としてアクセス制側1回路(図
示せず)へ供給される。
アクセス要求を許可する条件はOR回路51の出力だけ
ではなく、記憶動作の場合はA N I)回路26から
の記憶可能信号も必要である。他の許可条件は本発明と
は無関係であるから、ここでは触れないことにする。O
R回路51がキー一致信号を発生しなり゛れば、アクセ
ス制御1口1路の動作は禁止される。
OR回路51の出力は、記憶装置キーアレイ(図示せず
)からレジスタ71ヘロードされた記憶:、旧itキー
とPSW72のアクセスキーとが一致している刀・否か
を示す。次の3つの条件のうちの1つでも満たされたい
るとこれらのキーは一致しているとみなされ、OR回路
51はキー一致信号な発生する。
(1)  レジスタ71のビット位置0〜6にある記憶
装置キーとPSW72のビット位置8〜11にあるアク
セスキーとが実際に一致している。
(2)第2図のOR回路70Aから腺70へ取出し安来
信号が発生されたときに、レジスタ710ビット位置4
にある取出し保護ビットFがオフである。
(3)非SCP状態においてPSW72のアクセスキー
の値がOである。
条件(1)は比戟器73で検出され、条件(2)は取出
し保1、妥ピッ)Fを反転する反転器74と、反転され
た取出し保護ビットおよび緋70上の取出し要求信号る
受取るAND回路75とによって検出され、条件(3)
はPSW72のアクセスキーがOか否かを調べるゼロ検
出器77と、線19上のSCP状悪<=号を反転する反
転器79と、これらの出力を受取るA N D [Li
J路7Bとによって検出される。
本)6明の第2実施例を第4図および第5図に示す。第
2実施例の基本は表1とは少し異なり、下H己の表2の
ようになっている。
表  2 変更用化 (S/370ページ) 変更可能 (ユーザDoページ) 一タ 変更不能 (SENCページ) (システムDoページ) 第2実施例では、5ENCビツトおよびDoビットのす
べての組合せが使用され、それによってページが通常の
べ=i;/(S / 370ページ)か、ユーザDoペ
ージか、SEN、Cページか、ある(はシステムDoペ
ージかを示ス。シ、z、 テA D O”−ジおよびユ
ーザDOページはいずれも実行可能なコードを含まない
という点で共通しているが、変更方法が異なっている。
システム1)0ページはSCP状態の間に5ENCペー
ジから取出されたSCP命令だけが変更できる。ユーザ
DOページはsep命令だけでなく、S/370ページ
から取出されたユーザ命令によっても変更できる。
第2実施例で使用されるページテーブルの形式は、5E
NCビツトおよびDoピットの設定か表2に従って付わ
れることを除(と、第1実施例と同じである。ただしT
LB 10Aの形式は第1実施例とは少し異なっており
、ユーザDoビットのフィールドが谷エンドIJに追加
されている。更に谷エントリ中の5ENCビツト、シス
テムDOビットおよびユーザDoビット火表2に従って
設定するため、線11上のDoビット信号および線12
上の5ENCビット信号を解脱する解読器として働<A
ND回路13.14および15が設けられている。、A
ND回路1ろは緋11が非活動状態にあり且つ線12が
活Iljυ状態v(あるときに条件付けられて、選択さ
れた’l” L Bエントリ中の5ENCビツトをオン
状態に設定するAND回路14はi)、id 11およ
び12がいずれも活+−1rlr状憇にあるときに条件
付り゛られて、選択されたTLT3エントリ中のシステ
ムDoビットヲオン状態に設定する。AND回i!h 
15は線11が活動状態にあり且つ線12が非(言動状
態にあるとぎに条件付けられて、選択されたTLBエン
トリ中のユーザDoピッlオン状態に設定する。
選択されたTLBエントリ中の5ENCビツト、システ
ムDOビットおよびユーザDoビットは各々線62.6
6および64へwt出される。&I62および63はO
R回wr82の入力に接続されており、いずれかの腺が
活動状態にあれば、OR回路82はAND回路83の一
方の入力へ条件付は信号を供給する。AND回路86の
他方の入力には、命令取出し制御回路87から−89を
介して命令取出し要求16号が供粘される。従ってAN
D回路83は、データしか含んでいないシステムDOペ
ージまたはユーザDoページに対して命令の取出しが行
われようとしたときに条件付けられ、11租83Aへr
)0命令1ヌ出し信号に発生ずる。
システムDoページおよびユーザD Oヘ−シI/C対
して共通のDo命令取出し信号を発生する代りVC、シ
ステムDo命令取出し信号およびユーザDO館令取出し
信号を別々に発生するようにしてもよい。その場合は、
OR回路82は不要であるが、AND回路85を2つ設
けて、それらに線66および64を別々に接続する必要
がある。それに合せて第5図の回路も少し修正しなり゛
ればならない。
こうして7M(と、割込みYYが生じたときに、それが
システムDOページ違反(Y’Y1)によるものか、ユ
ーザDOページ違反(YY2)によるものかを区別して
示すことができる。
AND回路84は、システムDoページからオペランド
が取出されようとしていることを検出するもので、H9
6s上のシステムDoビットおよび#1191上のオペ
ランド取出し要求信号を受取る。
これらの−がいずれも活動状態にあると、AND回路8
4はシステムDoページからのオペランド取出し火示す
システムDOオペランド取出し信号を線84Aへ出力す
る。
A N l)回路85は5ENCページから命令が取出
されようとしていることを検出するもので、選択された
’I’ L BエンドIJから線62へ読出された5E
NCビツトおよび命令取出し制御回路87かも緋89へ
出力された命令取出し要求信号を受取る。これらの入力
によって条件付けられると、AND回路85は命令5E
NC信号を線85Aへ出力する。
加令取出し’+f111+し11回1昭87から騨89
.91および92へ各々出力される命令取出し要求信号
、オペランド取出し安水信号16よびオペランド記憶要
求信号は記憶装置アクセス回路88にも供給される。こ
の回路8Bは通常のやり方で命令またはオペランドを主
記憶装置ばから取出し、命令の場合は!けル」1138
 Aへ出力し、オペランドの場合は母線88Bへ出力す
る。
腺δiA、84A、85A、88A、88Bおよび92
はいずれも第5図の回路に接続されている。第5図は例
えばIBM3033処理装置で使用されているような命
令ユニット(真中の破線より一ト側)および実行ユニッ
ト(真中の破線より下側)に本発明を適用し7た例を示
したもので、命令ユニットは6つの命令バッファ95A
、95Bおよび95Cを含んでいる。これらの命令バッ
ファは母線88A上の命令を受取るものであるが、一対
の新しいフラグピッ)ISおよびYYが付加されて(・
る点がI BM3033処理装置のものと異なっている
。フラグビット■Sは線85A上の命令sENc4g号
により設定され、フラグビットYYはild 85 A
上のDo館令取出し信号により設定される。命令取出し
時にこれら6つの命令バッファのうちの1つが選択され
、更にその甲の特定の命箭記短位i!イが選択されて、
そこに命令がロードされ且つ関連するフラグビット■S
およびYYが設定される。
火付すべき命令は、選択された命令)(ツファ95A1
95Bまたは95CからフラグビットIsおよびYYと
共に命令レジ−4夕96へ転送される。
命令レジスタ96へロードされた命令の実行に心安なオ
ペランドデータは、第4図の回路88により主記憶装置
から母線88Bへ取出され、オペランドレジスタ97ヘ
ロードされる。このとき線84A上のシステムDoオペ
ランド取出し信号によってオペランドレジスタ97のフ
ラグビットSDが設定される。IBM3’033の処理
装置はオペランドレジスタ97を伐叔備えている′が、
第5図には祝明を簡単にするため1つしか示していない
第5図の下側の実行ユニットに含まれる回路117.1
18.122.126.126.127.12Bおよび
143は第2図の回路17.1B、22.26.26.
27.2Bおよび46に各々対応している。
SCP状態トリガ117は実行ユニットの割込み制uL
11回路102から17102 Aへ出力される割込み
4N号によりセットされる。セットされたトリガ117
は勝19を活動状態にし、CPUがSCP状態にあるこ
とを示す。トリガ117がリセットされていると、反転
器118の出力が非SCP状悪を示す。トリガ117は
、命令レジスタ96ヘロードされたフラグビットIsが
オフのときに、GJ 96 Aおよび反転器122を介
してリセットされる。従って、SCP命令以外の通常の
ユーザ命令が実行のために命令レジスタ96へ転送され
てくると、s、cp状態は終了する。
A Nl)回路123は、命令レジスタ96にある天性
中のl令がシステムDOページから取出したオペランド
を袈史して、非SCP状態においてシステムDoページ
へ記憶させようとしたときに割込みzz741出する。
このため、オペランド記憶製氷1g号、オペランドレジ
スタ97にあるフラグピッ)SDl PSWからのDA
Tモード信号および反I藍器118からの非SCP状態
信号が各・7鑞92.97A、102Bおよび118A
を介してAND回路123へ供給される。AND回路1
23(はこれらの入力によって条Yト付けられると、割
込み制御回路102に接枕された線126Aへ割込みZ
Z(ば号を発生してCPUに割込みをがける。
AND回路127は、非SCP状態において命令レジス
タ96へ転送されてきた命令がS ENCベージから取
出されたものであったときに割込みXXを検出する。こ
のため、命令レジスタ9乙にあるフラグビットIs、1
)SWからのDATモード信号および反転器118から
の非SCP状態信号が各々線96A11D2Bおよび1
18Aを介してAND回路127へ供給される。AND
回路12ノからの割込XX信号も纒127Aを介して割
込み制御回路102へ送られ、割込みな生ぜしめる。
AND回路128は、CPUがシステムDoベージまた
はユーザDOページから取出した命令(実際はデータ)
を実行しようとしたときに割込みYYをイ火出する。こ
のため、命令レジスタ9乙にあるフラグビットYYおよ
びPSWからのDATモード信号が各々線96Bおよび
102Bを介してAND回路128へ供給される。他の
割込み信号く同じく、AND回路128からの割込みY
Y倍信号總128Aを介して割込み?1ilJ御回路1
02へ送られる。
A N D回路126は、反転器143がAND回路1
23かもの22割込みイど号を受取っていない限り、線
92上のオペランド記憶要求信号に応答して、緋36へ
記憶可北賛求信号な出力する。
命令およびオペランドは各々レジスタ96および97か
ら実行ユニットの実行匍1Ti11回路101へ送られ
る。実行開側1回路101は命令のOPコードをノリ4
統し、オペランドを用いて命令を実行する。
割込みのために命令の実行を抑止する心安がある場合は
、割込み′1IIII側1回路102が線102Cへ抑
、市1g号を出力する。
実施例の動作を要約すると、主記憶装置のページフレー
ムが仮想ページアドレスに割当てられるとぎに、そのア
ドレスに特定の記1、は裂idキーが割当てられる。I
BM  MVSのようなオペレーティングシステムにお
いては、最初に特定のアクセスキーが谷プログラムに割
当てられる。ページフレームのキー割当てはPTEでは
g猷されない。
5ENCページにあるSCPルーチンは、アクセスキー
および記憶装置キーの死金な一致を条件として、システ
ムDoページおよびユーザDoぺ〜−20内芥ヲ変史す
ることができる。アプリケーションプログラムのような
非S E N Cページのルーチンは、システムDoペ
ージへの6中意Cよできないが、関連する取出し保、i
9ビット’(F)がオフであれば、データの取出しは可
能である。非5ENCページからの命令による。システ
ムDoページへの記1.ハ安求はプログラム割込み(2
2)を引き起こし、命令の実行が抑止される。
非S E N Cページのルーチンは5ENCページの
ル−チニ/7アクセスできない。ハードウェア割込みに
よってSCP状態ヲ設定し、それにより5ENCページ
の命令をアクセスするためには、非5ENCページのル
ーチンはsvc命令を使用しなげればならない。このよ
うに、非5ENCページおよび5ENCページのルーチ
ンの間には強固なインターフェースが存仕している。S
CP状態は、l1isENcページへのアクセス安来が
出されると解除される。
アドレス変15%用のページテーブルはシステムDOペ
ージに含複れているから、ページテーブル中の5ENC
ビツトおよびDoビットg、CPUがSCP状悪にある
ときに5ENCページからの命令によってのみ変更する
ことができる。
SCPの初JtJIロードおよび5ENCビツトの初j
す1設定はRI Mプログラム(第6図)によって行わ
れる。RIMプログラムは、モジュールをティスフから
主記憶装置dへ転送するたびに、そのモジュールが連係
バック域LPA(IPL時にロードされる書入−I’J
’ T止ルーチンを入れる仮想記憶域)からM7e Q
られたものであるかどうか、または5ENCページとし
て!1寺別に保護されるべき属性を持っているかどうか
を恢育する。検査結果が肯定的であれは、当該モジュー
ルを含むすべてのページのPTEにある5ENCビツト
がオン状態に設定される。RI Mプログラムは、初期
ロードされたページテーブル中のすべてのS E N 
Cビットかい一3′れかの状態に6’ydされる才で上
述のプロセスを繰返す。
ページテーブル中のDoビットは、RIMプログラムの
実行前にシステムリセット操作によってオフ状態に設定
され、VSMブ゛ログラムがページの#11服りを行う
ときに剃ペレーテイングシステムまたはユーザの要求に
応じてオン状態に設定されるか、ま7tはオフ状態のま
まに保たれる。5ENCページからの命令だけがシステ
ムDoページの内容を変更できる。
VSI\4プログラムは割1ノ1史り要求があると、ペ
ージテーブルをアクセスしてI(無効)ビットの状1埋
を便青し、プ、1(ヰ効ベージ(ツjjlj効PTE 
)を必要数だけそろえる。5ENCページ(は予め割振
られているので、VS]viプログラムによる割振りの
対象には1よらない。
システムDoページのためのPTEi設定する場合、■
5IVlノログラムは第1芙施例においてはIピッ)’
(ffオフ状態に設定し且つDOビットヲオン状態に設
定するが、第2実施例においては、■ビットをオフ状態
に設足し且つ5ENCビツトおよびDOビットの両方を
オン状態に設定する。第2実施例で使用されたユーザD
Oページの場合は、■ビットがオフ状態に設定され且っ
DOビットだけがオン状態に設定される。
上−H’TI;のように、各P ’1” Eに含まれる
S ENCビットはIPL時に、はいてのみ設定される
が、D。
ビットは辿常励作時に動的にオン状態またはオフ状態に
設定される。
最後に、不発明をパイプライン型のCPUK適用した第
2実施例におけるSCP状悪トリガ117(第5図)の
リセットについて注想しておく。
このリセットのタイミングは、実行に先立って命令を主
起1、ハ装置から命令バッファヘプリフェッチしておか
ねはならないので、第1実施例のscP状悪トリガ17
のリセットより遅らせる必要がある。トリガ17は非S
 E N Cページからの命令取出しによって直ちにリ
セットされるが、第2実施例においては、非5ENCペ
ージがら命令が取出されても、まだ実行されていないs
cP命令がいくつか命令バッファに残っているので、こ
れらのSCP命令が実行されてしまうまでSCP状態ト
リガ117をリセットすべきではない。トリガ117が
リセットされるのは、非5ENCページから取出されて
命令バッファに保管されている命令が、実行のために命
令レジスタ96へ転送されたときであ゛る。
【図面の簡単な説明】
弔1図はシステム記1意装置縦の記憶内容の一例手r不
ナプロツク図。 第2図は本発明の第1実施1/llを不すブロック図。 第6図I−i記憶保−キーの?IjlI御回路を水回路
ロック図。 第4図および第5図は本発明の第2実施例を示すブロッ
ク図。 第6図はR1,Mプログラムの流れ図。

Claims (1)

  1. 【特許請求の範囲】 ページテーブルを使用して仮想アドレスから実アドレス
    への変換を行い、変換済みのアドレス対’1TLBに保
    持しているデータ処理システムにおいて、 各仮想ページの記憶内容を識別するフラグを前記ページ
    テーブル中の対応する各エントリに含ませておき、 前記ページテーブルを使用したアドレス変換によって前
    記TLBにエントリヲ作る際に、前記変換済みのアドレ
    ス対の他に該アドレス対に対応するページテーブルエン
    トリ中の前記フラグを前記TLBへ転送し、 変侠丁べき仮想アドレスを前記TLBへ送って、該仮想
    アドレスに対応するTLB工/トリが見つかれは、該T
    LBエン) IJに含まれる前記フラグなtt7e出し
    、 前記TLBかも読出したフラグを前記仮想アドレスに係
    るアクセス要求と比較して、両立しない場合はCPUに
    割込みをかけるようにしたことを特徴とする仮想記憶袋
    ↑1を保護方法。
JP58228621A 1983-01-10 1983-12-05 仮想記憶装置保護方法 Granted JPS59130000A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/456,882 US4581702A (en) 1983-01-10 1983-01-10 Critical system protection
US456882 1983-01-10

Publications (2)

Publication Number Publication Date
JPS59130000A true JPS59130000A (ja) 1984-07-26
JPS6248258B2 JPS6248258B2 (ja) 1987-10-13

Family

ID=23814518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58228621A Granted JPS59130000A (ja) 1983-01-10 1983-12-05 仮想記憶装置保護方法

Country Status (5)

Country Link
US (1) US4581702A (ja)
EP (1) EP0115877B1 (ja)
JP (1) JPS59130000A (ja)
CA (1) CA1200919A (ja)
DE (1) DE3485605D1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62165249A (ja) * 1986-01-16 1987-07-21 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション ペ−ジ・セグメント化仮想記憶デ−タ処理システムにおけるセグメント・サイズを自動的に大きくする方法
JPH04306750A (ja) * 1991-04-03 1992-10-29 Agency Of Ind Science & Technol マルチプロセッサシステム

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE37305E1 (en) * 1982-12-30 2001-07-31 International Business Machines Corporation Virtual memory address translation mechanism with controlled data persistence
IN165278B (ja) * 1984-09-21 1989-09-09 Digital Equipment Corp
US5255384A (en) * 1985-02-22 1993-10-19 Intergraph Corporation Memory address translation system having modifiable and non-modifiable translation mechanisms
US4860192A (en) * 1985-02-22 1989-08-22 Intergraph Corporation Quadword boundary cache system
US4933835A (en) * 1985-02-22 1990-06-12 Intergraph Corporation Apparatus for maintaining consistency of a cache memory with a primary memory
US4899275A (en) * 1985-02-22 1990-02-06 Intergraph Corporation Cache-MMU system
US4884197A (en) * 1985-02-22 1989-11-28 Intergraph Corporation Method and apparatus for addressing a cache memory
US5060137A (en) * 1985-06-28 1991-10-22 Hewlett-Packard Company Explicit instructions for control of translation lookaside buffers
JPH0658649B2 (ja) * 1985-10-28 1994-08-03 株式会社日立製作所 仮想記憶装置における領域管理方法
US4885680A (en) * 1986-07-25 1989-12-05 International Business Machines Corporation Method and apparatus for efficiently handling temporarily cacheable data
JPS6376034A (ja) * 1986-09-19 1988-04-06 Hitachi Ltd 多重アドレス空間制御方式
US5091846A (en) * 1986-10-03 1992-02-25 Intergraph Corporation Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency
US5317717A (en) * 1987-07-01 1994-05-31 Digital Equipment Corp. Apparatus and method for main memory unit protection using access and fault logic signals
US5140684A (en) * 1987-09-30 1992-08-18 Mitsubishi Denki Kabushiki Kaisha Access privilege-checking apparatus and method
JPH01270815A (ja) * 1988-04-22 1989-10-30 Doriimu Sogo Kenkyusho:Kk ウォーターベッドフレーム
US5201052A (en) * 1989-02-10 1993-04-06 Fujitsu Limited System for transferring first and second ring information from program status word register and store buffer
US5293612A (en) * 1989-05-11 1994-03-08 Tandem Computers Incorporated Selective dump method and apparatus
US5265227A (en) * 1989-11-14 1993-11-23 Intel Corporation Parallel protection checking in an address translation look-aside buffer
US5345567A (en) * 1991-06-10 1994-09-06 International Business Machines Corporation System and method for modifying program status word system mask, system access key, and address space code with overlap enabled
JP3520102B2 (ja) * 1993-12-28 2004-04-19 株式会社東芝 マイクロコンピュータ
US5590309A (en) * 1994-04-01 1996-12-31 International Business Machines Corporation Storage protection cache and backing storage having system control element data cache pipeline and storage protection bits in a stack array with a stack directory for the stack array
US5715420A (en) * 1995-02-10 1998-02-03 International Business Machines Corporation Method and system for efficient memory management in a data processing system utilizing a dual mode translation lookaside buffer
US5809546A (en) * 1996-05-23 1998-09-15 International Business Machines Corporation Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers
US6643759B2 (en) 2001-03-30 2003-11-04 Mips Technologies, Inc. Mechanism to extend computer memory protection schemes
US6651156B1 (en) 2001-03-30 2003-11-18 Mips Technologies, Inc. Mechanism for extending properties of virtual memory pages by a TLB
WO2012132218A1 (ja) * 2011-03-31 2012-10-04 ルネサスエレクトロニクス株式会社 プロセッサシステム及びその制御方法
US8918885B2 (en) * 2012-02-09 2014-12-23 International Business Machines Corporation Automatic discovery of system integrity exposures in system code

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2258112A5 (ja) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
US3947823A (en) * 1973-12-26 1976-03-30 International Business Machines Corp. Means for coordinating asynchronous main store accesses in a multiprocessing system using virtual storage
US4136385A (en) * 1977-03-24 1979-01-23 International Business Machines Corporation Synonym control means for multiple virtual storage systems
US4096573A (en) * 1977-04-25 1978-06-20 International Business Machines Corporation DLAT Synonym control means for common portions of all address spaces
US4376297A (en) * 1978-04-10 1983-03-08 Signetics Corporation Virtual memory addressing device
US4373179A (en) * 1978-06-26 1983-02-08 Fujitsu Limited Dynamic address translation system
US4355355A (en) * 1980-03-19 1982-10-19 International Business Machines Corp. Address generating mechanism for multiple virtual spaces

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62165249A (ja) * 1986-01-16 1987-07-21 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション ペ−ジ・セグメント化仮想記憶デ−タ処理システムにおけるセグメント・サイズを自動的に大きくする方法
JPH04306750A (ja) * 1991-04-03 1992-10-29 Agency Of Ind Science & Technol マルチプロセッサシステム

Also Published As

Publication number Publication date
JPS6248258B2 (ja) 1987-10-13
CA1200919A (en) 1986-02-18
US4581702A (en) 1986-04-08
EP0115877B1 (en) 1992-03-25
DE3485605D1 (de) 1992-04-30
EP0115877A3 (en) 1988-06-01
EP0115877A2 (en) 1984-08-15

Similar Documents

Publication Publication Date Title
JPS59130000A (ja) 仮想記憶装置保護方法
CN109002706B (zh) 一种基于用户级页表的进程内数据隔离保护方法和系统
AU611468B2 (en) Virtual input/output commands
US4783731A (en) Multicomputer system having dual common memories
CA2024444C (en) Process using virtual addressing in a non-privileged instruction to control the copying of a page of data in or between multiple media
US7725663B2 (en) Memory protection system and method
KR970004513B1 (ko) 데이타 처리장치
US20030200405A1 (en) Page granular curtained memory via mapping control
US20030093686A1 (en) Memory management system and method providing linear address based memory access security
US5873124A (en) Virtual memory scratch pages
JPS58139400A (ja) デ−タの取出防止制御機構
GB2367648A (en) Avoidance of repeated trap handling
US6754794B2 (en) Chip card with integrated circuit
GB2216306A (en) Load and synchronize computer architecture and process
KR100791815B1 (ko) 컴퓨터 시스템 및 컴퓨터 시스템에서 인스트럭션을 실행하는 방법
US5802397A (en) System for storage protection from unintended I/O access using I/O protection key by providing no control by I/O key entries over access by CP entity
CN111752604A (zh) 一种具有多个运行模式的处理器
EP0117930B1 (en) Interactive work station with auxiliary microprocessor for storage protection
GB2367646A (en) Resource access control with faked response for a faulty resource
US6889308B1 (en) Method and apparatus for protecting page translations
JPS6250863B2 (ja)
JPS626351A (ja) 記憶保護装置
WO2023283004A1 (en) Debug in system on a chip with securely partitioned memory space
JPS6073762A (ja) 記憶保護方式
JPH01180656A (ja) メモリ保護装置