JPS5938991A - 計算機システム - Google Patents

計算機システム

Info

Publication number
JPS5938991A
JPS5938991A JP57147650A JP14765082A JPS5938991A JP S5938991 A JPS5938991 A JP S5938991A JP 57147650 A JP57147650 A JP 57147650A JP 14765082 A JP14765082 A JP 14765082A JP S5938991 A JPS5938991 A JP S5938991A
Authority
JP
Japan
Prior art keywords
area
address
program
task
page
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
JP57147650A
Other languages
English (en)
Other versions
JPH0479019B2 (ja
Inventor
Keiichi Nakane
啓一 中根
Tomoaki Nakamura
智明 中村
Hiroaki Nakanishi
宏明 中西
Toshiro Jinnai
神内 俊郎
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 JP57147650A priority Critical patent/JPS5938991A/ja
Publication of JPS5938991A publication Critical patent/JPS5938991A/ja
Publication of JPH0479019B2 publication Critical patent/JPH0479019B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

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機システムの記憶装置管理方式においては、
最も高度な管理方式の一つとしてオンデマンドページス
ワツピング(略称:デマンドベージング)法による仮想
記憶管理方式が知られている。
仮想記憶管理方式は、計算機が実行の対象とするプログ
ラム上では記憶装置のアドレスが実在する主記憶装置に
付された実アドレスではなく、実在せず、論理的な構成
のみからなる仮想記憶領域に付された仮想アドレスで記
述されることに特徴がある。従って、仮想アドレスを実
アドレスに対応付けるためのハードウェア機構並びにソ
フトウェアプログラムが不可欠となる。この対応付けを
行うために必要なハードウェアとソフトウェアをアドレ
ス変換機構と呼ぶ。アドレス変換機構を実現するための
代表的手法として前記のデマンドページング法がある。
以下にデマンドベージング法の概要を述べる。
デマンドページング法では、仮想記憶領域を固定長のペ
ージと呼ばれる小領域に分割し、主記憶装置をページフ
レーム(以下PFと略す)と呼ばれるページと同一長の
小領域に予め分割しておく。
ページとPFは共に0から順に番号+1け孕れている。
プログラムは、1個或いは複19個の連続したページ」
二に他のプログラムがN11己置されているページと取
々らぬように配置される。プログラムを実行するために
行うべき処理はデマンドページング法では次のようにな
る。
あるプログラムを実行中にPFと対応付けられていない
ページ内の仮想アドレス変換照すること(これをページ
フォールトと呼ぶ)が判ると、該ページとPFの対応付
けを行なう。即ち、前記アドレス変換機構では、ページ
とPFの対応付けが成されていない場合、未だどこにも
対応伺けられていないPIi”(これを空きPFと呼ぶ
)を該ページと対応付ける。空きPFが無い場合、ある
決められた規則に従い、既に対応付けられている別ペー
ジ(これを使用中ページと呼ぶ)とPFとの対応を解除
し、この操作により空きとなったPFを前記ページと対
応付ける。プログラムの実行が終了すると、そのプログ
ラムが使用中であったページは全てP Fとの対応付け
が解除され、それらのPFは空きとなる。
このデマンドページング法の利点は、(1)実行中のペ
ージのみがPFと対応付けられていればよいため、プロ
グラムの大きさが主記憶装置の容量によって制約されず
、仮想記憶領域の大きさには原理的には制限がない、(
2)一定時間内に参照、実行の対象になるページは、プ
ログラム全領域の内で一部分に限られる性質があるため
、稀にしか参照や実行がされないページがPFを占有す
ることも稀であり、主記憶装置の利用効率が大きい、(
3)以上の点から、複数のプログラムを並行して実行す
る場合(これを多重プログラミングと呼ぶ)に、使用中
ページの総和は該プログラム群の総ページ容量に比べて
大巾に小さくすることが出来るため、限られた主記憶装
置に入り得るプログラム数は、総ページ容量で決まる数
よりも大巾に多くなり、多重プログラミングの多重度が
大きくなる、等がある。
しかしながら、一方では欠点として、(1)プログラム
の実行中にページフォールトがある頻度をもって発生す
るため、ページ置換アルゴリズムを実行する時間(これ
をO8のオーバヘッドと呼ぶ)分だけ本来のプログラム
実行時間が長くなり、処理性能が低下する、(2)むや
みに多くのプログラムを実行させると計算機時間の大部
分がO8のオーバヘッドに費される、所謂スラッシング
現象が生じ、計算機システムが事実上機能を果さなくな
る可能性がある、(3)アドレス変換機構を付加する分
だけ、計算機の価格が高くなる、等がある。この内、(
3)の点に関しては、近年のハードウェア・デバイス技
術の進歩によυ比較的安価に実現できる11.0向にあ
りさしたる問題ではなくなってきているが、(1)、(
2)の点は本質的な問題であり、特にプラント制御シス
テム等のリアルタイム処理を行う場合には致命的となる
これらの問題点を解決し、従来のデマンドページング法
の利点である大容量プログラムを主記憶容量に制約され
ずに実行できる点を生かしつつ、更に高速応答処理を要
求されるプログラムをも実行可能にするためのハードウ
ェア並びにソフトウェアを具備した仮想記憶管理方式が
特願昭56−200645 にて提示されている。該発
明の特徴は、アドレス変換の対象となる仮想記憶領域を
二倍し、一方は計算機システム構簗(システムジェネレ
ーション)時に、ページとPFとの対1.F;付けを行
うアドレス変換固定領域(Fixed Area :以
後Ti”X領域と呼ぶ)とし、他方はプログラム実行開
始時に、ページとPFとの対応付けを行い、プログラム
実行終了時に該対応付けを解除するアドレス変換可変領
域(Floating Area  : J後PL領域
と呼ぶ)とすることとし、FX領域に高速応答性を要求
されるプログラムを配置し、FL領領域大容量プログラ
ムを配置することにある。
一方、従来の計算機システムにおいては、システムの機
能拡張や既存機能の仕様変更に伴い、プログラムやデー
タの大きさに変更が生ずると、たいていの場合は、主記
憶上のプログラムやデータの配置形態(これをメモリマ
ツプと呼ぶ)をすべての領域にわたって変更しなければ
ならなかった。
リアルタイムンステムに於ては高速う4゛件を保障する
ために、はとんどのプログラムを主記惰上の絶対アドレ
スを有するロードモジュールの形式で計算機システム内
にローディングしている。このため、メモリマツプを変
更してしまうと、すべてのプログラムを新しい主記憶」
ニアドレス(、−% Miしたロードモジュールとして
もう一兜作成し直し、それらを計算機システム内に再ロ
ーディングし直さなければならず、多大な労力を費さな
ければならない。この問題は主記憶容量が大きくなれば
なる程、T10−ディングまでの作♀頌は尤犬となり、
特に先に述べた仮想記憶制御方式においてはその影響は
多大なものとなる。
本発明の目的は、メモリマツプの変更に伴うプログラム
の再ローディング等の作業量を最小にし、かつ仮想記憶
領域表らびに主記憶装置の有効利用を計ることを可能に
するため、および大容はプログラムを主記憶装置容量の
制約を受けずに実行でき、かつ高速応答性を要求される
プログラムをも実行可能にするための、ハードウェアお
よびソフトウェアを具備した仮想記憶管理方式を提供す
ることにある。
本発明の特徴は、前掲の特願昭56−200645に記
載の内容に加えて、仮想記憶領域の使用状況、すなわち
どの領域がどの様に使われているかの管理、主記憶装置
の各PFが使用中か否かの管理、仮想記憶の各ページが
主記憶装置のどのPFに対応しているかの管理、および
FL領領域配置されたプログラムの内の最大容量の管理
を行ない、システムの機能拡張や仕様変更に伴うプログ
ラムやデータの容量増加が生じた場合に、変更したプロ
グラムやデータをそれまでとは別な仮想記憶領域に配置
し、変更前まで使用していたPFとそれまで未使用であ
ったPFとに該当ページを対応付けることにより、メモ
リマツプの変更を最小限にて済寸せ手、かつメモリマツ
プ変更に伴うプログラムやデータの再ローディング等の
作業量を必要部分だけに限定することにある。
以下、本発明の一実施例を第1図〜第9図によシ説明す
る。
第1図(A)は本発明に関する仮想記憶領域(Virt
ual Storage  :以後V8と略す)100
、主%F2.’1st装置(Main Storage
 :以後M−Sと略す)300、二次配憶装置(Sec
ondary Storage :以後SSと略す)4
00の配置内容とアドレス変換機構200を含めた対応
関係を示したものである。VSlooば、アドレス非7
&領域(以後V−R領域と呼ぶ)とアドレス変換領域(
以後V〆R領域と呼ぶ)により構成され、図上にて左端
を第0番地として1バイト単位−ヒ荷幀に仮世アドレス
が割当てられている。V=R領域はさらに、基本ソフト
ウェアプログラムを配置するO8(Qperating
 System) ’=廻或110と将来該OS領域の
拡張領域として使用するF U (Future[Js
e)領域120より構成される。また、V≠R≠域はさ
らに、vSとM Sとの対応付けがシステム構築後は固
定されているF’X領域と、VSとMSとの対応付けが
プログラム実行開始時に行われ、プログラム実行終了後
には防対応付けを解除するFL領領域り構成される。F
X領域は、あるまとまった機能を果し互いに並行に動作
しイする処Eft、 7’ o クラムチあるタスク(
’1.”ask )t 50 、 1.60と、タスク
間で共通に使用するテーブルであるグローバルエリア(
GT、R)130、及びタスクで共通に使用するサブル
ーチン(B、80B)140より構成される。FL領領
域タスク170より構成される。
MSは、OS 110. GLB130. R,S[J
B140゜R,TASK150.N几’T’ASK16
0のFX各り盲域については、第1図(A)中に示した
ようにvSと1対1に対応付けられている。FL領領域
ついては、MS上の・F T、領域よりは小さな領域が
M S上に配置されている。M Sも左端を0として1
バイト中位上昇1昭に実アドレスが割当てられている。
寸たV≠几領領域、前記したページ180とPF310
の単位で分割されている。ページ180とPF310も
、それぞれ、vS9MSの左端のものを0として上昇順
に番号付けされている。
次に88400は、VSlooのF’U12(1除く全
領域を格納す石−他、電源OFF時等、MS300の内
容が不定であるせ、斬から該N13上に前記各領域の悄
it作り出すプログラムである立上げプログラムI P
 L (Tnit ial Program J、oa
der)410、VSlooにも入りきれない程犬容忙
なファイル430やNR,TA S K 160の退避
便切420を保持するための領域により構成されている
5S400も、左端を第0番地として512バイト単位
上昇順にアドレス付けされる。このアドレスをロジカル
セクタアドレス(以後J、 S Aと略す)と呼ぶ。
本実施例でに、R,TASKとNRTA8にの2種のエ
リアをタスクに割当てている。両者の相違は、R,’l
’ASKが、各タスクのプログラムが互いに重ガること
なくページを与えられる領域であり、該タスクは前記立
上げ時にI Pb010によって5S400上からMS
300上にロードされる(この声味からR,TASK上
のタスクは常駐タスク(R,es 1dent ’l”
’ask)と呼ばれる)のに対し、NR,TASKは同
時に動作することの無いまたはしなくとも良い複数のタ
スクのプログラムを同一のVSアドレスに対応例けるこ
とにより、VSの有効利用を図った領域であり、タスク
毎に時っている処理の優先レベルにより、立上げ時でけ
力くタスク実行時に、該領域の使用権のF11定が行わ
す11、該優先レベルの劣るタスクは、5S400の前
記退避エリア420に退避され、該優先レベルの高いタ
スクが58400上からへ48300上にロードされる
(この黄味からNR,TASK上のタスクは非常駐タス
ク(Non−11,esident Ta5k)と呼ば
れる)府である。
従って、vSlooには、管理方法の異なる3種のタス
クが配置されうることになり、FX領域のRTA8に1
50け最モリアルタイム糸件の厳しい高速処理タスク用
に、FL領領域NRTASK170はR,TASK15
0やNRTAST(160のサイズ?越える容量をもつ
タスク用に、まfcF X 側城のNR1’ASK16
0はリアルタイム性、容量ともに、前二者の中間に位置
するタスク用に使用することとする。
ここで、MS上のメモリマツプの変更とそれに伴うvS
とM Sとの対応付けの変化の梯子を第1図(13)に
示す。(1)il−1これまでに説1明したVSの4f
準的々メモリマツプとvSとMSとの対応関係ケ示す。
VS100上のP X %C4域およびFL領領域各構
成領域GLBI  131.R,5UBI  141.
rtTAsK1151、NR,TASKx161.NR
,TASKL171には、将来の客用拡大に備えて、そ
れぞれP U (FLlture(Jse) @4域1
21〜125を設けたメモリマツプとする。MS 30
0との対応は、これらのF’U領域を除いたVS 10
0上で有効な領域をMS上にFX領域、FT、領域とし
て予め割当てておく領域にそれぞれ先頭から対応付ける
ものとする。(1)のメモリマツプにおいで、FX領域
のFU領域121゜123、124に新にC+ T、 
B 2132. R,5UB2 142゜R,TA8に
152を登録すると(2)に示すようなメモリマツプに
なる。即ち、それまでのF U領域121゜123.1
24は、それまで2pきであったMS領域321の先頭
から対応付けられる( 332,342゜352)。こ
の(2)のメモリマツプにおいて、MS上のR,TAS
KI  151を拡張しようとすると、(3)に示すよ
うなメモリマツプrCなる。即ち、■5100上は、F
X領域としてのFU領域124には新しいTLTASK
i け収容しきれいために、FL領領域して確保し7て
あったFU領域125の一部を改めてFX炉域とし、そ
こをR,TA8に1 153とし、それ寸でのRTAs
Kl  151はFU領域126とする。
また、]’V18300との対応付けは、それまでのR
,TASK 1に対応付けられていたMS領域353と
FX領琥として割当てられていたへ48 領域でそれま
で空きであった領域354、およびTi’L領域として
割当てられていたMS領域でそのときに空きテ、% ツ
た領域355をMS上(DRTASKI  153に対
応付けることにする。
j′−1上のようにメモリマツプを変更すれば、本発明
の目的は達せられることとなる。
第2図に本実施例の適用対象である計算機システムの全
体ハードウェア構成を示′す。計算機システムは、前記
MS 3001該MSを制御する主記憶制御装置(MC
Uと略す)500.該MS上の機械命令を解読し実行す
る機能をもつジョブプロセッサ(JOBP、と略す)7
00.前記5S400、該SSを制御するファイルコン
トロール装動(FCEと略す)890、前記JOBP7
00よりの指示に基づき該FCEを通してWI記S S
 4 (10ど前記MS300とのデータ転送2行うフ
ァイルプロセッサ800(FCPと略す)、前記λ[C
O200、JOBP700.FCP800との間を結び
データ転送子Pを提供するシステムバス(SFlrJS
と略す)610、および該8BUS!/−制御するシス
テムバス制御装置(SBCと略す)600により構成さ
れる。更にJOBP700は、MCU300にアクセス
対象vSアドレスを指示するためのメモリアドレスレジ
スタ(MARと略す)710、IJ−)’/ライト用の
データを格納するデータレジスタ(D R,と略す)7
30.MCU300やFCP800を制御するための一
連のフリップフロップ群(FFと略す)720、論理、
算術、シスト演算等の演算機能をもつ演嘗ユニツ)(A
I−Uと略す)740、次に実行すべき機械命令の格納
されているVBアドレスを示すプログラムカウンタ(P
Cと略す>780、#算時に用いられる汎用レジスタ群
(GRと略す)790、機械命令を解読し、どの様な処
理を行えばよいかを記憶する制御メモリ(WO2と略す
)750、および該wcs上の次に実行すべきアドレス
を示すマイクロプログラムカウンタ(MPCと略す)7
60.および前記MS300の情報をアクセスする時間
を短縮するために設けたキャッシュメモリ(CACHE
と略す)770によシ構成される。
前記FCP800もJOBP700  と類似の構成で
ありALU840.WC8850,MPC860’r&
つ。但し、前記M S 300fの機械命令を実行する
機能は無いためPC780は持たずに、その代りに88
400とMS300とのデータ転送速度の違いを吸収す
るためのデータ転送用バッファ870、および前記FC
E890との間のデータ転送を制御するための人出力制
御回路880を持っている。
次にMCU300は、MS 300との入出力バッファ
レジスタ550、vSアドレスレジスタ(VARと略す
)530、実メモリアドレスレジスタ(M A R,と
略す)520.アドレス変換用演W、ユ= ット(AT
Uと略す)580.該A’[’Uがアドレス変換を行う
際に参照するアドレス変換バッフ7(’]’LBと略す
)510XV=l(、領域境界レジスタ(VEQRと略
す)560.ページテーブルインデックスの先頭アドレ
スを格納しておくページテーブルインデックスオリジン
レジスタ(PTIORと略す)5701及び前記JOB
P700゜FCP800のli”F’720に相当する
制御フリップ70ツブ群540より構成される。
本図の構成において、JOBP700T P C780
の指す命令をWC8750に従い実行した結果、M S
 300を参照する場合の手順を以下に述べる。
まず該JOBPはVAR,710にアクセスすべきVS
アドレスをセットし、FF’720に参照する旨の情報
をセットする。MCU300け、この信号k F F 
540 K 受ケル(!: V A R,530K V
 S 7ドレスを取込み、AT0580を起動する。該
A TUハVEQR560,PT、TOR570,TL
B510 e参照し、実アドレスを求め、MAR520
にセットし、N4 S 300を起動し、該M A R
で指定されるアドレスのデータを取出し、人出カバッフ
ァレジスタ550にセットし、データが取出されたこと
をFF540に表示する。前記、JOBP700H1該
表示をF’F720に受取ると、該人出カバッファレジ
スタ550よりDR,7301/l照データを取込み、
一連のMS参照処理を終える。
第3図に、前記V8100上のos領域110に配置さ
れ、本発明に係る制御テーブルと制御プログラムを示す
制御テーブルは、多段のリスト構造をしておシ、最上位
レベルのO8共通ブロック(O8CBと略す)10の下
に、PTIX(ページテーブルインデックス)20、P
FQ、(ページフレーム待ち管理テーブル)40、RQ
PB(タスク実行待ちポインタブロック)50.TCB
 (タスク制御fllブロック)60、ACT (xリ
ア制副テーブル)701PPCB(ページフレーム制゛
剖ブロック)90があり、更に、PTIX2oの下にP
T(ページテーブル)30、PF’Q40の下にリスト
構造のP F ’I”・(べ−シフレ−ムチ−プル)8
0とT CB 60、R,QPB50の下にリスト構造
の’Jl’CB60がある構造をしている。
更に08CBIOHlV S 100 上(7)FH?
7 )’t−スに配、(べされ、第1図(A)にて説明
したV = R,の最終ページアドレスを示すVEQR
ll 、PTT(”)R12゜PEQ、40. R,Q
PB50 、TCB60. ACT70. Pに’CB
90の先頭アドレスを示すTPPEQ]、3.TPRQ
、PB14、’J”P’l’CB15.TPACT16
.TPPFCB97の各フィールド、及び、FI、領域
の先頭VSアドレスを示すFXFT、RV17、P L
領域の先頭実アト1/スを示−1FXFLP、MlB 
、λ1Sの最終実アドレスを示すA4A XIV/Is
 19、VSの最終アドレスを示すMAXVS99.1
7’T、領域にて動作するプログラムの發大容−ち1(
ページ数)(即ちF T、領域として最低限必要なMS
容゛計(PF’数))を示すMIN、F’LPN98の
各フィールドより構成される。
制御プログラムは、前記VS100上の各領域を管理す
る機能をもつエリア登録1’ill除プログラム1、前
記R,TASK150、NR,TASK160,170
についてタスクとして実行させるための制御テーブルを
作成或いは解放する神仙をもつタスク生成IQ’i’除
プログラム2,2で作成したタスクを起動或いは終了さ
せる機能をもつタスク起動終了プログラム3、起動要求
がかけられている複数のタスクのうちから実行可能で且
つ最も優先レベルの高いものをf択し、該タスクに制御
を移す機能全もつタスクディスパッチャ(DISPと略
す)4、該DISF’より呼ばれ、該タスクがPL領領
域NR,TASK170である場合にペー2180とP
F’310との対応付けおよび対応の解除を行う機能を
もつMS獲得解放プログラム5を設ける。
第4図に、前記MCU300内のTL1351.0゜お
よび前記O8領域110内の制御テーブル、pT工oa
t2.PTIX20.PT30.ppQ4o、PQPB
50、TCB60.ACT70.PFT80.PFCB
90 の構成を示す。各テーブルの左端に付された値は
フィールドの相対バイト位置を示す。本実施例では、v
Sアドレスは32ビツト(4バイト)巾、ページサイズ
は2048バイトであることを前提とじている。
TLB510は1024エントリのテーブルを2セツト
もち1エントリが1ページに対応したテーブルで、VS
アドレスの第11〜20ビツトのページ番号(VPNと
略す)により該TLBのエントリ番号を求めてアクセス
される。TLB510の構成は、ページフレーム番号P
FN511、該ページのアクセス保蝕用情報PRT5]
、2、VSアドレスの第1〜10ビツト目(IMBfg
にVSを切ったときの番号)に相当するVA513、本
TLBの有効無効の判定ビットv514.2セツトのT
LBの書換え制量用ピッ) R,51,5によりなる。
PTIOR12とPTIX20は同一構成で、PTIX
はVSエリアIMB毎に1エントリ用意される。
これらは、有効指示フラグV21、PTIX20或いは
PT30の先頭VSアドレスと長さを示すTPPT(I
)およびLENGTI−323により構成される。
PT30は、1ページにつき1エントリ用意され、有効
指示フラグV31、ページフレーム番号PFN32、ア
クセス保護情報PRT 33により構成される。
PFQ40は、PFTの総奏ケース数PFCT41、空
きPFT先頭ケースVSアドレス43、空きPPT最終
ケースvSアドレス44、占有中PF’T先ヴ百、最終
ケースVSアドレス45,46、NRTASK起動時に
前記MS獲得制狽1プログラム5にて空きPFT80が
不足していると判断した場合に、該タスクを待ち状態と
するための待ち行列管理エリア47.48 (47,4
8は各々待ちTCBの先頭、最終ケースvSアドレスを
指す。
以下、リスト構造のテーブルは全て本テーブルの如く、
先頭、最終ケースのVSアドレスにより管理するものと
する)によ多構成される。
RQ、PB50は、TCB60の待ち行列ヘッダ51.
52によ#)構成され、タスクの優先レベル毎に1エン
トリ用意する。前記タスク起動プログラム3は、該RQ
PBの中で起動すべきタスクによシ決る優先レベルに対
応するRQPBを管理テーブルとする実行待行列の最後
尾に該タスクのTCB6055接続する。タスク終了プ
ログラム3は、該タスクの実行終了時に、該実行待行列
より該TCBを取りはずす。
TCB60はタスク毎に用意され、前記I(QPB50
に接続するためのポインタR,QFP61. R,QB
P62、PFQのPFWFP47.PFWBP48等の
リソース待ち状態になる場合に接続されるソース待ちを
ポインタ63,64、タスク番号65、待ち状態フラグ
E66−1、その他制御フラグ66、優先レベル67−
1、アクセス保護情報67、その他)制御情報68によ
り構成される。
ACT70は、V8100上の各領域の各モジュール(
各II’(SUB、 GLB、タスク、等)毎に用意さ
れ、次テーブルのvSアドレスを指すポインタACTF
P71、ACTBP72.モジュール識別情報IDES
TIF−IER73,モジュールが配置されるVS先頭
アドレ、7.VA74.先頭SSアドレスLSA75.
モジュールのサイズ(バイト数)SIZE76、その他
の制御情報77によ多構成される。
PξT80は、前記MS300のF L領域のPF数だ
け用意され、次テーブルのvSアドレスをさすポインタ
FPNT81.BPNT82.ページ番号VPN83 
、ページフレーム番号PFN84により構成される。
PFCB90は、前記MS300のPFの使用状況を管
理するもので、未だVSlooのどのページにも固定的
に対応付けられていないFX領域用P 、F数EPPN
X91、同FL領謔用PF数EPFNL92、各PFの
使用状態(既にVSlooに固定的に対応t1けられて
いるか否か)をビット対応にPF番号順に管理するBI
TMAP93より構成される。
次に、第2図、第3図、第4図を用いて、前記MCU 
500におけるアドレス変換方法について説明する。
該M CtJでは、捷ず、VAR530に与えられたv
SアドレスとVEQR,560とを比較し、前者の方が
小さいか等しい場合、若しくはPTIOR,570のV
ピット21が無効を示している場合には、アドレス変換
を行わずMAR520にはV A R,530の第9〜
31ピツトがそのままセットされる。従ってVS100
上ノV=R,領域ij VEQR560(D 示すアド
レスより小さいため、アドレス変換は行われず、そのま
4MS 300に対応付けられる。上記判定の結果、V
SアドレスがVEQR1560より大きく、且つPTI
OR570のVピット2,1が有効であることを示して
いる場合は、VAR530の第11〜20ビツトよりT
LB510の該当エイトリを求め、VAR,530第1
〜10ビツトと2セツトあるT L B 510の内の
何れかのVA 513が一致するかどうかチェックする
。一致する堵2合(TLBビット時と呼ぶ)には該TL
BのPFN511をMAR520の第9〜20ビツトに
セラ)L、VARの第21〜31ピツトをMAR,の第
21〜31ピツトにセットしてアドレス変換を終える。
若し、上記判定にて何れのTLBとも一致しなかった場
合(TLBミスピット時と呼ぶ)は次の処理を行う。ま
ずPTIOR570のTPPTI22よ、D PTIX
20 の先頭アドレスを求める。次にLENGTH23
とVAR,の第1〜7ピツトを比較し、後者が小さけれ
は対応するPTIXが存在しないこト全意味するので前
記したページフォールトトスる。前記LENGTH23
がVAR,530の第1〜7ビツトの内容を等しいか大
きい場合は、VAR,のル1〜11ビットよりPTIX
20  の該当ケースアドレスを求めVピット21を判
定する。該Vピットが無効を示していればページフォー
ルトとする。有効であればTP PT 22 によpP
T30の先頭アドレスを求める。次にVAR530の第
12〜16ピツトとPTIX20のLENGTH23を
比較し、先頭と同様にPT30の長さチェックを行う。
次に、VAII、 530(7)第12〜20ビツトよ
り該P’Tの該当ケースアドレスを求めVビット31を
判定する。該ビットが無効ならばページフォールトとし
、有効ならば、PFN32をMAR520の第9〜20
ビツトにセットし、下位21〜31ビツトはVAR,5
30の第21〜31ピツトをそのままセットしてアドレ
ス変換を終える。
以上の説明により明らかなように、該当するPT30の
PFN32にシステムジエネレーション時に予め対応す
るページフレーム番号をセットしておくことにより、ア
ドレス変換を固定としておくことができ、従って前記F
X領域が実現できる。
次に、第5図〜第9図に前記1〜5の制illプログラ
ムの処理フローを示す。
第5図(イ)、(B)は、エリア登録プログラム1の処
理フローを示したものである。本プログラムは、エリア
の種別、識別番号、先頭VSアドレス、先頭SSアドレ
ス、容易および制御情報を人力情報とし、ACT70に
それらの情報を設定することにより、FX領域、FL領
領域おけるエリアの登録、増設を行なう。
まず、上記人力情報を取込み′1502)、指定された
エリアが最大VSアドレスMAXVS99を超えるかど
うかを判定する(1504)。この結果、該エリアがM
AXV890を超えるものであれば、MS容−敞が不足
しでいる旨をリターン情報として出力しく1548)、
本プログラムの処理を終える。該エリアがMAXVS9
0を超えるものでなければ、次に、該エリアと同−VS
先頭アドレス、容量全包含するエリアが既に登録されて
いるかtAcT(70)をサーチすることにより判定し
く1506)、同一エリアの二重登録を防止する。該エ
リアと一部でもオーバラップするエリアが既に登録済で
あれば、該エリアは登録済である旨乍リターン情報とし
て出力しく1550)、本プログラムの処理を終える。
該エリアが未登録エリアであれば、次に該エリアがFX
領域として登録しようとするものかを入力情報のエリア
種別によシ判定する(1508)。該エリアがFX領域
として登録しようとするものであれば、さらに該エリア
のサイズがPFCf390のIi’X領域用空きPF数
EPFNX91で示されるものに納まるかを判定する(
1510)。該エリアがEPFNX91で示されるサイ
ズに納まるものであれば、以下に示す手順によシ必要な
PFの占有処理とVSのページとMSの該PFとの対応
付は処理を行なう。まず、PFCB90 のBITMA
P93を先頭よりサーチし、空きPF番号を求めると同
時に、該PF番号に相当するビットを使用中表示に設定
する( 151.2 )。次に、登録しようとするVS
アドレスに74応するPT30のアドレスを求d)(1
,514)、該PTのVビット31を設定し、P I”
 N :S 2に先。
に求めたPF番号を設定し、PILT33iで匍J 1
fil ・F^”報の一部を設定する(1516)。こ
れらの1512〜1516の処理を、登録し7ようとす
るエリアの容量分についてそのページ数分だけ処理しr
v(1518゜1520)i”t、PIi”CBのE[
JFNX91登何したイr柑(ページ数)分だけ城じて
おく (1522)。次に、未使用のACT70のアド
レスを示しく1560)、該ACTのIDENTIFI
ER73にエリア種別および、1鷹別許号を1没定し、
VA74に先頭vSアドレスを設定し、LSA75に先
U118 Sアドレスを設定し、5IZB76に容量を
設定し、制?I情報77に制御情報を設定する(156
2)。そして、正常終了の旨をリターン情報として出力
しく1564L本10グラムの処理を行える。以上の処
理番′こよシ、1i’ X領域におけるエリアの登録を
行うことができる。
一方、処理1510にて、登録しようとするFX領域の
エリアサイズがPFCBのEl)FNX91で示される
サイズに納1らない場合(Cは、さらに、EPNX91
+EPFNL92−N11N丁’I、PN98  にて
示されるサイズ内に#’+するかを判定する(1524
)。これは、該エリアがF L領域1で1目いると登録
できるか否かを判定するものである。上記サイズに納ま
らない場合には、へ1BB挙、が不足している旨をリタ
ーン情、銀として出力しく1558)、本プログラムの
処理を終わる。上記サイズに納−まる1合には、まず該
エリアの先頭からBPFNX91にて示されるページ数
分のエリアに°りいて、前述の処理1512〜1522
と同様の処理を行ない、PFCBのBITMAP93と
gppNXc+t、j、−よびl) T 30の設定を
行なう(1526)。次に、該エリアの残シのページに
ついての登録を以下の処理(1530〜1546)によ
り行なう。PF’Q40のEFPN’T’43にて示さ
れる窒きPFT80のアドレスを求め(1530)、該
PFTを空きPFTリストからはずし、OF’PNT4
5で管理される1吏用中PF’Tリストにつなぐ(15
32)。
登録しようとするVSアドレスに対応するページ番号を
該PFTのVPN83に設定し、また該当P F Tに
対応するページフレーム番号PFN84を求める(15
36)。PFCB90のBITMAP93をサーチし、
上記PFN84に対応するビラトラ使用中表示に設定す
る(1538)。登録しようとするVSアドレスに関し
て、先に述べた処理514〜516と同様にして、PT
30への各種情報の設定する(1540)。vSアドレ
スを1ペ一ジ分進める(1542)。これらの処理(1
530〜1542)を残りのページ数分だけ繰返し行っ
た(1544)後、P P CBのEPF’NL92 
 をそのページ数分だけ減する(1546)。そして、
ACT70への該エリア情報の登録およびリターン情報
の出カケ先に述べた処理1560〜1564を行ない、
本プログラムの処理を終える。以上により、FX領域に
おけるエリア登録を、FX領域として割当てられている
MS領域だけでなく、FL領領域して割当てられている
MS領域を差しつかえない範囲で用いることにより、行
うことができる。
−また、登録しようとするエリアがFL領領域ものであ
れば、さらに該エリアがPFCB90 のEPFNL9
2で示されるサイズに納まるかを判定しく1552)、
上記サイズ内に納まらない場合には、MSの容量が不足
している旨をリターン情報として出力しく1558)、
本プログラムの処理を終わる。
上記サイズ内に納まる場合には、そのエリアがMINF
I、PH10に示すサイズを越えている場合には該サイ
ズ(ページ数)をMINFI、PH10に設定した上で
(1554,1556)、ACT70へのエリア情報の
登録およびリターン情報の出力を先に述べた処理156
0〜1564にて行ない、本プログラムの処理を終わる
。以上の処理により i、+ L領域におけるエリアの
登録を行うことができる。
第5図■は、エリア削除プログラム2の処理フローを示
したものである。本プログラムは、エリアの種別および
識別番号を人力情報とし、それらの情報に合致した内容
をもつACT70を無効にすることにより、FX領域、
FL領領域おけるエリアの削除を行う。
まず、人力情報を取込み(1572)、ACT70をサ
ーチし、指だエリアの種別と識別番号に一散するIDh
:NTIF’TE)1.73を持つACT70を求める
(1574)。このとき、該当するACTが見当[らな
ければ(1576)、該エリアは未登録である旨のリタ
ーン打1報を出力しく1602)、本プログラムの処理
を終える。該当するACTがあった場合は、i亥ACT
のIDENTIF’IER73にそのACTが空きであ
ることを示すコードを設定し7た上で(1578)、該
エリアはF”X・4域のものかを判定する(1580)
該エリアがFX領域のものである場合は、該エリアのV
Sアドレス、容量を該ACTより求め(1582L以下
の処理によってVS上の該当ページおよびMS上の該当
PFの占有解除を行う。まず、削除しようとするVSア
ドレスに対応する1) T 30のアドレスを求め(1
584)、該FTのVビット311?Cリセットし、P
F’N32より対応するPF番号を求める(1586)
。次いで、PPCB90のBITMAP93上で、上記
にて求めfcPF番号に対応するビットを空き表示に設
定する(1588)。
烙らに、該当PFがFX領域用のものかを判定し、(1
590)、それがFX領域用のものであれば、PF’C
BのEPFNX91に1を加算する。もしそれがFX領
域用のものでなければ、PFQ40の0FPNT45に
て示される使用中PFTリス)tサーチし、該当VSア
ドレスに対応しているPFT80を求め(1610)、
言亥PFTをP Ii’ Qの■じli”))NT43
にて示される空きPFTリストに登録し、EP、FNI
、92に1を加算する(1612)。次いで、VSアド
レス&1ページ分進め(1594)、削除しようとする
エリア各社(ページ数)分について上記の処理(158
4〜1594)を繰返し行い、最後に正常に終了した旨
をリターン情報として出力しく1600)、本プログラ
ムの処理を終える。以上の処理によシ、FX領域のエリ
アの削除を行うことができる。
一方、削除しようとするエリアがFL領領域ものである
場合には、該エリアに対応するACTよりその容量を求
め(1604)、MINFLPN98  と等しいかを
判定する(1606)。このとき、該エリアの容量がM
INFLPN98 と等しければ、有効なACTをサー
チし、FL領領域エリアで最大の工リアサイズ?もつも
のを求め、そのエリアサイズを1ν1INI”I、PN
98に設定しく1608)、正常終了の旨?リターン情
報として出力しく1609)、本プログラムの処理を終
える。才だ、該エリアの容量がMINPT、PN98 
 と等しくなければ、MINFLPN98はそのままで
、正常終了の旨t IJターン情報として出力する(1
609)だけで、本プログラムの処理を終える。以上の
処理により、FL領領域エリアの削除を行うことができ
る。
第6図(5)に、タスク生成プログラム2のフローを示
したものである。本プログラムは、タスク番号、悴先レ
ベル、保護情報、プログラム清報を人力しく910)、
それらをもとにTC860に各種情報を設定する処理(
911〜915)を行なう。特産処理913,914て
゛は、入力されたプログラム情報(プログラムアドレス
、容量)より該タスク番号に対応するACT’7(l求
め、そのACT情報の一部kTcBに設定する。これら
の情報は、FL領領域タス7tディスパッチするときに
、F L ’vfi域のページとPFとの対応付けを行
うのに用いる。
第6図(B) H、タスク削除プログラム2のフローを
示すものである。本プログラムは、タスク番号を人力し
く916)、TCB60を空きにする処理(917,9
18)を行う。
第7図(A)は、タスク起動プログラム3のフローを示
すものである。本プログラムは、タスク番号を人力しく
920)、対応するタスクの優先レベルを求め(921
,922)、RQPB50 にて管理される該優先レベ
ルの実行待行列にTCB60を接続する処理(923,
924)を行う。
第7図(B)は、タスク終了プログラム3のフローを示
すものである。本プログラムは、自タスクのTCB60
より優先レベルを求め(925)、該TCBを実行待行
列よシはずしく926,927>、他のタスクに制御を
移す為に、ディスパッチャ4に制御を移す処理(928
)を行う。このとき、該タスクがPL領領域ものであれ
ば、MS解放プログラム5を呼び出して、該タスクが占
有していたPFを解放することを行う(984,986
)。
第8図は、ディスパッチャ4のフローを示すものである
。本プログラムは、最も優先レベルの高いRQPB50
の実行待行列から順にTCB60をサーチし、Eフラグ
がOFFであるものを求め(930〜934)、該タス
クに制H’c移す処理(941)を行う。このとき、該
タスクがFL領領域タスクか否かケ該TCB60に対応
するACT70のIDENTIFIEFL73より判定
しく935〜937L FL領領域タスクであれば、M
S獲得プログラム5を呼び出しく938,939)、該
タスクが動作するに必要なVS上ベーンとMS上PFと
の対応付けを行った後、該タスクに制御を移す。
第9図CA)?−1,、MS獲得プログラム5のフロー
を示したものである。本プログラムはタスク番号とVS
エリアの先頭アドレスとページ数を人力しく950)、
空きPFT80が十分にあるか否かを判定しく951)
、十分にあれば、空きPFT80を求めて使用中とした
後(952〜954)、VPN83を設定しく955)
、対応するPT30を作成する処理(956,957)
を全ページについて行ない(958,959)、正常終
了とする。前記PFQの判定において、空きPJ’i’
T80の数が十分でない場合には、核タスク牙待ち状態
としく961〜963)、PF数の不足をリターン情報
として報告しく964)、本プログラムの処理を終える
第9図(B)は、MS解放プログラム5のフローを示す
ものである。本プログラムは、Vsエリアの先頭アドレ
スとページ数を入力しく970)、対応するPFT80
を空きとする処理(973゜974)および対応するP
T30を空きとする処理(980,982)を全ページ
について行い、更に、空きPF待ちのTCB60がある
か否かを判定しく977)、もしあれば、それらのタス
クの待ちを解除する処理(978)を行う。
本実施例によれば、以上に述べた1〜5のプログラムを
用いることによシ以下の効果がある。即ち、エリア登録
プログラムおよびエリア削除プログラム1を実行するこ
とにより、VS上における各種エリアの新規登録、削除
、配置変更に半う登録7);容易に可能となり、メモリ
マツプの変更に伴うプログラムやデータの再ローディン
グ等の作業(−2必要最小限にとどめることができる。
また、テイスバツチ4とMS獲得プログラムおよびMS
解放フログラム全実行することにより、タスク実行時に
MSとVSとの対応付けを行うPL領領域サポートが可
能になる。
本発明によれば、仮想記憶領域をアドレス変換同定領域
(FX領域)とアドレス変換可変領域(1’i” L領
域)に分割して管理し、FL領領域適宜FX領域として
エリアを登録可能にできるため、メモリマツプを変更す
る際に必要となるプログラムのゼ)ローディング等の作
業量を最小にし、且つ仮想記憶領域ならびに主記憶装置
の有効利用を計ることができる、等の効果がある。
【図面の簡単な説明】
第1図(5)は、本発明に四する仮想記憶管理方式にお
けるアドレス変換方式を示す図である。第1図(B)は
、本発明に関する目的と効果を示すためのメモリマツプ
を示す図である。第2図は、本発明が適用される計′r
4.機システム構成の一実施例を示す図である。第3図
は本発明に用いられる制御テーブル、プログラムの一実
施例を示す図である。 第4図は、本発明に用いられる制御テーブルのフィール
ド構成の一実施例である。第5図は、本発明に用いるエ
リア登録プログラム、エリア削除プログラムの一実施例
を示す。第6図は、本発明に用いるタスク登録プログラ
ム、タスク削除プログラムの一実施例を示す。第7図は
、本発明に用いるタスク起動プログラム、タスク終了プ
ログラムの一実施例を示す。第8図は、本発明に用いる
ディスパッチャの一実施例を示す。第9図は、本発明に
用いるMS獲得プログラム、MS解放グログ41 図(
A) 第 1  閏 (B) 第 2 図 第 3 図 閉 4− 暖(B) l//) 第 5 口(A) v 5  図 (B) 第 6 図 (A)

Claims (1)

    【特許請求の範囲】
  1. 計算機システムの主記憶管理方式において、仮想空間の
    仮想アドレスを実記憶の物理的なアドレスに変換するア
    ドレス変換機構、該仮想アドレスの一部を実記憶に半固
    定的に対応付ける変換手段、該仮想アドレスの一部をプ
    ログラムの実行開始時にプログラムの実行に必要且つ十
    分な実記憶を割肖てて対応付ける手段、さらに、仮想空
    間全体および上記二種の領域の使用状況を管理する手段
    、実記憶全体および上記二種の領域に予め用意された部
    分の使用状況を管理する手段を設けたことを特徴とする
    仮想記憶管理方式。
JP57147650A 1982-08-27 1982-08-27 計算機システム Granted JPS5938991A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57147650A JPS5938991A (ja) 1982-08-27 1982-08-27 計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57147650A JPS5938991A (ja) 1982-08-27 1982-08-27 計算機システム

Publications (2)

Publication Number Publication Date
JPS5938991A true JPS5938991A (ja) 1984-03-03
JPH0479019B2 JPH0479019B2 (ja) 1992-12-14

Family

ID=15435142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57147650A Granted JPS5938991A (ja) 1982-08-27 1982-08-27 計算機システム

Country Status (1)

Country Link
JP (1) JPS5938991A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5286863A (en) * 1991-08-22 1994-02-15 Ciba-Geigy Corporation Oxidation process for preparing quinacridone pigments

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56134382A (en) * 1980-03-21 1981-10-21 Fujitsu Ltd Memory control system of computer on virtual memory control system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56134382A (en) * 1980-03-21 1981-10-21 Fujitsu Ltd Memory control system of computer on virtual memory control system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5286863A (en) * 1991-08-22 1994-02-15 Ciba-Geigy Corporation Oxidation process for preparing quinacridone pigments

Also Published As

Publication number Publication date
JPH0479019B2 (ja) 1992-12-14

Similar Documents

Publication Publication Date Title
US4577274A (en) Demand paging scheme for a multi-ATB shared memory processing system
US4563737A (en) Virtual storage management
US5761734A (en) Token-based serialisation of instructions in a multiprocessor system
DE3688978T2 (de) Seitenspeicherverwaltungseinheit mit der fähigkeit nach wahl mehrere adressräume zu unterstützen.
DE69529374T2 (de) Datenprozessor mit Teilassoziativer Einheit
EP0856797B1 (en) A cache system for concurrent processes
US5159678A (en) Method for efficient non-virtual main memory management
DE69231743T2 (de) Prozessintervalabhängige Adressraumverwaltung
DE112017001027B4 (de) Seitenfehlerbehebung
JPS60221851A (ja) メモリ・アクセス・コントローラを具えるデータ処理装置
CN101446923A (zh) 一种响应于指令而清洗高速缓冲存储器线的装置和方法
JPH05257803A (ja) 仮想記憶空間管理方法及びアドレス計算装置
JPH01303527A (ja) 共有資源の管理方法
US7493464B2 (en) Sparse matrix
DE102013206336A1 (de) Cache-Steuerung zur Reduktion von Transaktions-Rollback
JPH05257811A (ja) メモリ管理装置
JP2001056783A (ja) プログラム単位メモリ属性管理方式
CN115454502B (zh) 用于调度simt架构处理器的返回数据的方法及相应处理器
JPS5938991A (ja) 計算機システム
CN111723250A (zh) 一种基于引用计数的链表管理方法
JPH10500235A (ja) データ記憶装置
EP0543032A1 (en) Expanded memory addressing scheme
CN119853973B (zh) 面向网络安全访问控制策略的冲突检测规则无锁更新方法
JPH01152546A (ja) アクセス管理手段及びアクセス要求衝突管理ユニットの利用方法
JPH02294835A (ja) 使用中テーブルの管理方法