JPH09282233A - 仮想メモリ管理装置 - Google Patents

仮想メモリ管理装置

Info

Publication number
JPH09282233A
JPH09282233A JP8092239A JP9223996A JPH09282233A JP H09282233 A JPH09282233 A JP H09282233A JP 8092239 A JP8092239 A JP 8092239A JP 9223996 A JP9223996 A JP 9223996A JP H09282233 A JPH09282233 A JP H09282233A
Authority
JP
Japan
Prior art keywords
area
page
task
page table
virtual memory
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.)
Withdrawn
Application number
JP8092239A
Other languages
English (en)
Inventor
Yoshinari Mishima
善成 三島
Hajime Asano
肇 浅野
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP8092239A priority Critical patent/JPH09282233A/ja
Publication of JPH09282233A publication Critical patent/JPH09282233A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 マルチタスク環境における仮想メモリ空間の
効率的管理を可能とする仮想メモリ管理装置を提供す
る。 【解決手段】 TLB(アドレス変換バッファ)8を持
つメモリ管理において、メモリ管理プログラムMPはT
LBミスを起こした論理アドレスに対応のページテーブ
ルを検索するときに、対応の論理ページが仮想メモリの
予め使用目的別に区分された領域のいずれに属するか判
断しそれぞれの領域単位で最適な検索方法を採用する。
判断された領域がパッチ可能なROM領域である場合に
は、パッチ有無を判定する処理を行なってパッチのペー
ジテーブルの検索が行なわれ、判断された領域がデータ
とスタックのために使用される領域である場合には、ア
クティブなタスクのページテーブルを検索する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はコンピュータ装置
に実装された仮想メモリ領域を管理するための仮想メモ
リ管理装置に関する。
【0002】
【従来の技術および発明が解決しようとする課題】一般
に、コンピュータ装置に実装されたメモリ管理として仮
想記憶管理が使用されて、メモリの有効利用が図られ
る。この仮想記憶管理におけるページ管理において、論
理アドレスから物理アドレスを設定するための機構とし
てプロセッサ内部にアドレス変換バッファ(以下TLB
と呼ぶ:Translation Lookasaide Buffer )を備えて、
論理アドレスと物理アドレス間の変換情報をキャッシン
グしている。実行タスクに対応する論理アドレスがTL
B中にあれば、高速に物理アドレスへの変換が行なわれ
てタスクは実行される。ただし、このTLBに設定でき
るエントリの数は限られている。したがって、TLBの
エントリに論理アドレスが存在しないとき(これをTL
Bミスと呼ぶ)は、タスクの実行は中断され、TLBミ
スに応じた割込の発生により、一般にメモリマネージャ
と呼ばれるメモリ管理プログラムが呼出される。このメ
モリマネージャは、プロセッサ外部に予め設定された論
理アドレスの情報を参照して合致するページ情報をTL
Bに設定するので、実行が中断されたタスクは再開させ
られ実行が継続する。
【0003】一般にプロセッサ外部に予め設定された論
理アドレスの情報として論理アドレスと物理アドレスと
が対応づけされたページテーブルがコンピュータ装置に
1つ以上設けられる。
【0004】マルチタスク環境において、それぞれのタ
スクは固有の論理アドレス空間(以下、論理アドレス空
間を論理空間と略称する)を有しているので、タスクが
切換わるごとに、メモリマネージャが管理するページテ
ーブルをカレントなタスクのページ情報に対応させるこ
とが必要になる。また物理メモリのマップを変更したと
きにはページテーブルの更新作業が必要になる。
【0005】図9は、マルチタスク環境におけるページ
テーブルの従来の管理方法を説明するための図である。
図9では、タスクA、BおよびCが実行され得るマルチ
タスク環境においてメモリ管理プログラムMMにより管
理されるシステムテーブルとして、セグメントテーブル
SGおよび複数のページテーブルPGが示される。セグ
メントテーブルSGはメモリ管理プログラムMMが管理
する論理空間全域にわたってセグメント単位にエントリ
を有し、複数のページテーブルPGのそれぞれはこのセ
グメント単位のエントリによりポイントされる。たとえ
ば、図ではメモリ管理プログラムMMが管理する論理空
間が32ビットで構成されると想定した場合、1Mバイ
ト単位のセグメントで該論理空間を管理するにはセグメ
ントテーブルSGには4000エントリ有する必要があ
る。
【0006】通常タスクが使用できる最大論理空間サイ
ズは予め設定されており、このサイズのページテーブル
が保持される。このページテーブルを、1Mバイトの論
理空間に対して4Kバイトのページで管理するとした場
合、物理マップの有無にかかわらず256エントリが必
要であり、システム全体では、(タスクの最大論理空間
サイズ/1Mバイト)×256エントリが必要となる。
また、それぞれのタスクはタスク固有のページ情報を保
持するページテーブルを必要とする。
【0007】次に、図9を参照してタスク切換を行なう
場合のページテーブル更新作業について説明する。メモ
リ管理プログラムMMはまずページテーブルPGにおけ
る中断するタスクで使用されていたページエントリを無
効(invalid )にした後に、再開するタスク(図9のタ
スクA)のページエントリの内容をセグメントテーブル
SGと該セグメントテーブルSGにより指示されるペー
ジテーブルPGに書込む(図中のコピー操作)ことで論
理空間の情報が変更される。
【0008】この更新作業では、実行が中断・再開され
るタスクのページテーブルを全数サーチしてシステムの
ページテーブルPGを書換える作業が必要であり、この
作業は煩雑であるとともに、処理の時間がかかる。これ
を改善する手法として、セグメントテーブルSGとテー
ブルSGによりポイントされるページテーブルPGをタ
スクごとに準備して、セグメントテーブルSGへのポイ
ンタをタスク切換に応じて切換えることにより、ページ
テーブル更新作業を高速化するシステムもある。この手
法ではタスクの数だけのセグメントテーブルSGが必要
になり、ページテーブルのためのメモリ消費量が多すぎ
るという問題がある。
【0009】それゆえにこの発明の目的は、マルチタス
ク環境における仮想メモリ空間の管理を効率的に行なう
ための仮想メモリ管理装置を提供することである。
【0010】
【課題を解決するための手段】請求項1に記載の仮想メ
モリ管理装置は、複数のタスクを切換えながら実行する
マルチタスク環境において、実行中のタスクから出力さ
れた仮想メモリの論理アドレスより物理メモリの対応す
る物理アドレスを得るために検索されるアドレス変換バ
ッファを有した装置であり、複数タスクのそれぞれにつ
いて、仮想メモリ上の用途ごとの領域に対応のサイズを
有して論理アドレスに対応の物理アドレスを格納したペ
ージテーブルと、仮想メモリ上の用途ごとに区分された
領域について、開始アドレスとサイズとを記憶する記憶
手段と、前述の検索時に対応物理アドレスが得られない
場合に、記憶手段中の記憶内容に基づいて、対応物理ア
ドレスが得られなかった論理アドレスは仮想メモリ上の
区分された領域のいずれに該当するか判定する判定手段
と、判定手段により該当すると判定された領域の用途に
対応のページテーブルから、対応物理アドレスが得られ
なかった論理アドレスに対応の物理アドレスを検索する
検索手段とを備えて構成される。
【0011】請求項1に記載の仮想メモリ管理装置はこ
のように構成されて、各タスクは、各用途ごとの必要サ
イズのページテーブルを確保する。したがって、各タス
クは仮想メモリの用途単位別にページテーブルを準備す
ることにより、従来で必要であったセグメントテーブル
が不要となり、管理すべきテーブルを構成するためのメ
モリ消費量が削減できる。
【0012】請求項2に記載の仮想メモリ管理装置は、
請求項1に記載の装置において、判定手段により該当す
ると判定された領域が所定大きさの部分領域ごとにパッ
チをあてることができる用途を有したパッチ可能領域で
あるとき、検索手段はパッチ可能領域をページより大き
い領域単位で分割しながらパッチがあてられた部分領域
のページテーブルを特定する特定手段と、特定手段によ
り特定されたページテーブルから対応物理アドレスが得
られなかった論理アドレスに対応の物理アドレスを検索
する第1検索手段とを含んで構成される。
【0013】請求項2に記載の仮想メモリ管理装置はこ
のように構成されて、パッチ可能領域に対するパッチが
簡便に行なえる。また、検索手段は特定手段を有して、
パッチがあてられた部分領域のページテーブルを、パッ
チ可能領域をページより大きい領域単位で分割しながら
特定するので、パッチ対応のページ検索のために使用さ
れるページテーブルを構成するためのメモリ消費量を削
減できる。
【0014】請求項3に記載の仮想メモリ管理装置は、
請求項1または2に記載の装置において、タスク切換ご
とにポインタを変更して、このポインタを用いて実行中
のタスクに対応の用途ごとのページテーブルを指示する
ためのポイント手段をさらに備え、前述の検索手段はこ
のポイント手段により指示される用途ごとのページテー
ブルを検索対象とするよう構成される。
【0015】請求項3に記載の仮想メモリ管理装置はこ
のように構成されて、タスクが切換わるとき、切換によ
り実行中のタスクとなったタスクに対応のページテーブ
ルを指示するためにポインタが変更されるので、タスク
切換時の仮想メモリ管理のための更新処理がカレントな
(実行中の)タスクに対応のページテーブルへのポイン
タの変更だけでよい。したがって、従来のようにページ
エントリの更新作業が不要となって、該装置における処
理の軽減と処理時間の高速化および複数のタスク間でポ
インタを用いて検索手段により検索されるべきテーブル
が共有されることによって、テーブルを構成するメモリ
消費量の削減が図られる。
【0016】
【発明の実施の形態】以下、この発明の実施の形態につ
いて図面を参照し説明する。
【0017】図1は、この発明の実施の形態による仮想
メモリ管理装置におけるソフトウェアとデータの構成図
である。図1のタスクA、BおよびCによるマルチタス
ク環境において、仮想メモリ管理を行なうメモリ管理プ
ログラムMPは、タスク実行時、CPU9制御のもとに
TLB8を用いて図示されない仮想メモリ上に配置され
たデータを物理メモリ7上にページ単位でマッピングす
る。
【0018】各タスクはデータのメモリオブジェクト5
およびスタックのメモリオブジェクト6を有する。デー
タメモリオブジェクト5およびスタックメモリオブジェ
クト6のそれぞれはページテーブル5Tおよび6Tのそ
れぞれと、対応ページテーブルのサイズ5Sおよび6S
のそれぞれと、対応ページテーブルの仮想メモリにおけ
る開始論理アドレス5Aおよび6Aのそれぞれとを含
む。
【0019】メモリ管理プログラムMPはシステムテー
ブルとして、各タスクで共有されるシステムページテー
ブルSPおよびカレントタスクページテーブルCPを有
する。システムページテーブルSPはROM領域のRO
Mメモリオブジェクト1と共有メモリの共有メモリオブ
ジェクト2を含む。
【0020】メモリオブジェクト1および2のそれぞれ
は、ページテーブル1Tおよび2Tのそれぞれと、対応
ページテーブルのサイズ1Sおよび2Sのそれぞれと、
対応ページテーブルの仮想メモリにおける開始論理アド
レス1Aおよび2Aのそれぞれとを含む。
【0021】カレントタスクページテーブルCPは現在
実行されているタスク(図ではタスクA)のデータメモ
リオブジェクト5へのポインタ3とスタックメモリオブ
ジェクト6へのポインタ4とを含む。
【0022】図2はこの発明の実施の形態による仮想メ
モリ管理装置が搭載される情報処理装置のブロック図で
ある。図2において情報処理装置はCPU9、メモリ管
理ユニット(MMU)10、ユニット10により管理さ
れるTLB8を含むプロセッサ部20、種々のプログラ
ムやデータをストアするためのROM30ならびにRA
M40、タスクのスケジューリングなどの時間測定をす
るためのタイマ50、表示I/F(インタフェースの
略)60、ペン入力I/F70およびバス80を含む。
ROM30およびRAM40は図1のCPU9を除いた
部分に相当する。プロセッサ部20はペン入力I/F7
0に接続された図示されないペン入力装置の操作に応じ
てタスクを切換えながら動作する。プロセッサ部20は
アドレス変換したアドレスをバス80に出力して、RO
M30、RAM40、表示I/F60、ペン入力I/F
70およびタイマ50を制御する。
【0023】ROM30には図1で示されたメモリ管理
プログラムMP、各タスクの処理プログラムならびにこ
れらプログラム実行時参照される固定データが格納され
る。固定データにはタスク管理テーブル、ページテーブ
ルおよび表示I/F60に関するフォントデータなどが
含まれる。
【0024】RAM40は固定アドレスでアクセスされ
システムの管理情報などを格納するための固定アドレス
エリア41とメモリ管理プログラムMPによってページ
単位に管理されるページマッピングエリア42とを含
む。
【0025】固定アドレスエリア41はエリア410〜
416を含み、エリア410には後述する領域判定のた
めのデータ31が格納され、エリア411、412、4
13および414のそれぞれには管理情報としてシステ
ムページテーブルSPのROMメモリオブジェクト1お
よび共有メモリオブジェクト2、ならびにカレントタス
クページテーブルCPのデータメモリオブジェクトへの
ポインタ3およびスタックメモリオブジェクトへのポイ
ンタ4がそれぞれ格納される。また、エリア415には
各タスクのページテーブル5Tおよび6Tが格納されて
おり、エリア413および414のポインタ3および4
のそれぞれによりエリア415中のカレントなタスクの
ページテーブル5Tおよび6Tのそれぞれがポイントさ
れる。また、エリア416にはタスク情報管理データが
格納される。タスクが生成されたとき、エリア416の
タスク情報管理データの中とエリア415のタスクのペ
ージテーブルの中の未使用部分から該タスクについての
メモリが確保されて、該タスクのメモリオブジェクト5
および6とページテーブル5Tおよび6Tの設定が行な
われる。
【0026】図2の分割された各領域(ページマッピン
グエリア42およびROM30の各タスクの処理プログ
ラムのための領域)はメモリオブジェクトと呼ばれるオ
ブジェクトで管理され、メモリオブジェクトはページテ
ーブルと該テーブルの開始論理アドレスと該テーブルの
サイズとを含む。このページテーブルはサイズ分の(複
数ページのそれぞれについての)ページエントリを含
む。各ページエントリは対応ページが物理メモリ7上に
マッピングされた場合の開始物理アドレスと対応ページ
のアクセス属性をデータとして含む。アクセス属性はユ
ーザモードまたはシステムモードでの対応ページの読み
書きの制限を示す。
【0027】上述した仮想メモリ管理装置において、タ
スク実行時にTLBミスが生じて、応じて読出されたメ
モリ管理プログラムMPによりミスが生じた論理アドレ
スがどの領域に属するか、すなわち図2のROM30、
RAM40および入出力(タイマ50、表示I/F60
およびペン入力I/F70)の領域のいずれに属するか
判定された後に、属すると判定された領域のページテー
ブルが参照される。つまり、この参照方法では各領域の
性質(使用目的)に合わせたページ検索処理が行なわれ
る。
【0028】図3はこの発明の実施の形態による仮想メ
モリ管理装置における仮想メモリ空間の構成図である。
図3においては仮想メモリ空間としてROM領域RA、
データ領域DA、スタック領域SA、共有データ領域C
AおよびIO領域IAからなる論理空間90が示され
る。論理空間90は図2のROM30、RAM40、タ
イマ50、表示I/F60およびペン入力I/F70を
含んだ領域に対するメモリ空間である。
【0029】ROM領域RAは大きな連続領域であり部
分的にページ単位でバグ修正などのためのパッチがあて
られて、各タスクの処理プログラム(アプリケーション
プログラム)および各プログラム実行時に参照されるフ
ォントデータなどの各種データが格納される。ROM領
域RAはパッチの有無を判定するために図示されるよう
にROM領域RA全域に対応の第1段ページテーブルP
T1、テーブルPT1の内容によりポイントされる第2
段ページテーブルPT2およびテーブルPT2の内容に
よりポイントされる最終段ページテーブルPTLから構
成される。テーブルPT1とPT2とはROM領域RA
のパッチの有無を判定するためのテーブルであり、テー
ブルPTLはパッチありの領域のページテーブルであ
る。
【0030】第1段ページテーブルPT1ではページ単
位の何倍かの大きさの領域単位E1でパッチの有無の判
定がされ、第2段ページテーブルPT2ではページテー
ブルPT1のパッチありの領域単位E1をさらに分割し
た領域単位E2でパッチの有無が判定され、最終段ペー
ジテーブルPTLには第2段ページテーブルPT2のパ
ッチあり領域のサイズ(E2)のページエントリが格納
される。
【0031】したがって、図示されるようにテーブルP
T1、PT2およびPTLを用いてパッチありと判定さ
れた領域の範囲を順に狭めながらポイントする(検索す
る)ことにより、最終的にはテーブルPTLのページエ
ントリの内容からROM領域RAにおいてパッチが施さ
れたページの開始物理アドレスを特定することができ
る。このように、パッチの有無をページより大きい領域
単位で順に分割しながら判定することにより、ROM領
域RA全体のページテーブルを有することなく、すなわ
ちパッチありと判定された部分領域についてのページテ
ーブルのみを有するだけでページ単位でのパッチの有無
を判定でき、パッチの有無判定において消費メモリ量の
削減が図られる。
【0032】図3のデータ領域DAおよびスタック領域
SAは限られた連続エリアであり、この領域全体のペー
ジエントリを有したページテーブルを各タスク単位で有
する。データ領域DAはタスク処理プログラム(アプリ
ケーションプログラム)のワークデータが格納され、ス
タック領域SAはローカル変数領域として使用される。
【0033】この実施の形態によるマルチタスクに関し
ては各処理単位でタスクが生成される。時計の表示のタ
スク、ウィンドウマネージャのタスク、描画サーバのタ
スク、カレンダーのタスクおよびペン制御のタスクなど
が同時に存在する。これらのタスクは時分割に切換えら
れながらCPU9の制御のもとに実行される。各タスク
は固有の論理空間を有して、論理空間の論理アドレスは
TLB8とメモリ管理プログラムMPとによって物理メ
モリ7上にマッピングされて実行される。
【0034】タスクの実行中に、CPUの時間管理およ
びタスク間の通信待ちなどの要因で実行すべきタスクの
切換が行なわれると、このタスク切換により実行が中断
されたタスクのページ情報が無効に、すなわちRAM4
0の領域413および414の内容が無効にされた後
に、実行待ちをしている他のタスクの実行が開始され
る。このとき、メモリ管理プログラムMPは実行開始さ
れたタスクの論理空間を制御対象とするために、RAM
40の領域415内に予め登録された該タスクのデータ
メモリオブジェクト5およびスタックメモリオブジェク
ト6のページテーブルを領域413および414のカレ
ントタスクページテーブルCPのデータメモリオブジェ
クトへのポインタ3およびスタックメモリオブジェクト
へのポインタ4がポイントするように設定される。
【0035】したがって、タスク切換時のメモリ管理プ
ログラムMPによる更新処理は、カレントなタスクのペ
ージテーブルへのポインタの変更だけでよく、メモリ管
理プログラムMPの負荷の軽減と処理時間の高速化およ
びポインタの切換による各タスクでテーブル共有が図ら
れることでテーブルを構成するためのメモリ消費量の削
減が図られる。
【0036】ここで、本明細書で用いられるプロセッサ
内部とプロセッサ外部とについて説明する。プロセッサ
内部とはプログラムの処理がCPU9チップ(プロセッ
サ部20)内で実行れることを言い、プロセッサ外部と
はCPU9チップからバス80がアクセスされてCPU
9チップ外部のプログラムが実行されることを言う。
【0037】次に、プロセッサ外部で行なわれる上述の
ページ処理で使用されるページテーブル管理およびペー
ジ検索処理について説明する。プロセッサ内部でCPU
9から出力された論理アドレスがTLB8中になく、T
LBミスの発生が判定されたとき、CPU9はTLBミ
スを解消するために、割込を発生させて、現在実行中の
タスクの処理を中断させ、プロセッサ外部のメモリ管理
プログラムMPを起動させる。メモリ管理プログラムM
PはTLBミスの発生に応じて、TLBミスを起こした
論理アドレスが図3の論理空間90中のいずれの領域に
該当するかROM30の領域判定のためのデータ31を
参照して判定する。
【0038】図4は、図2の領域判定のためのデータ3
1の内容の一例を示す図である。図4のデータ31に
は、図3の論理空間90のROM領域RA、データ領域
DAおよびスタック領域SAのそれぞれについて、開始
論理アドレスRAA、DAAおよびSAAのそれぞれと
サイズRAS、DASおよびSASのそれぞれがセット
される。これらのデータはシステムリンク時に定義さ
れ、ROM30のメモリ管理プログラムMP内に設定す
るようにしてもよいし、また上述したように予めフラッ
シュメモリにこれらデータを記憶させて実行時に固定ア
ドレスエリア41に領域判定のためのデータ31として
読込むようにしてもよい。
【0039】なお、共有データ領域CAおよびIO領域
IAもページマッピングエリア42にマッピング可能で
あるが、本実施の形態では固定アドレスエリア41に設
定されるものとする。
【0040】図5は、この発明の実施の形態によるTL
Bミス処理における領域判定の処理フローチャートであ
る。図5を参照してメモリ管理プログラムMPはTLB
ミスの発生に応じて、TLBミスを発生させた論理アド
レスを取得して(1S)、図3の論理空間90のいずれ
の領域に属するかを領域判定のためのデータ31を参照
して判定する。詳細には、取得された論理アドレスが論
理空間90のROM領域RA、データ領域DAおよびス
タック領域SAのいずれに属するかを領域判定のための
データ31の各開始論理アドレスとサイズとに基づいて
判定する(2S、3Sおよび4S)。いずれかの領域に
属すると判定されると、後述する各領域に適したページ
テーブル検索処理(6S、7Sおよび8S)が呼び出さ
れる。一方、いずれの領域にも属さないと判定される
と、ページフォルト処理5Sが呼び出され、ページフォ
ルトを起こしたタスクは実行が終了させられて、他のタ
スクに制御が移る。ページテーブル検索処理またはペー
ジフォルト処理終了後は、TLBミスによる割込処理か
ら割込前の処理に復帰する。
【0041】図6はこの発明の実施の形態によるTLB
ミス処理におけるROM領域のページテーブル検索の処
理フローチャートである。図5の領域判定処理でROM
領域RAと判定されると、図6の処理が呼び出される。
ROM領域RA内のプログラムおよびデータの中では、
ページ単位でパッチがあたっており、パッチはRAM4
0にあり、ここにおける開始物理アドレスが最終段ペー
ジテーブルPTLに設定されている。ここでは、前述し
たように2段階の領域サイズでパッチの有無判定が行な
われている。
【0042】図6を参照して、メモリ管理プログラムM
PはTLBミスを起こした論理アドレスが該装置の実装
エリア内か否かを判定し(9S)、実装エリア内でなけ
ればページフォルト処理(10S)をしてリターンす
る。図5の領域判定で参照したサイズは未実装エリアも
含んでいるので、このままでは、第1段ページテーブル
PT1のサイズが必要以上に大きくなってしまうので、
この実装エリア内か否かの判定が行なわれる。
【0043】実装エリア内であれば第1段ページテーブ
ルPT1の該論理アドレスを含む領域におけるパッチの
有無判定が行なわれる(11S)。パッチなしならばペ
ージが算出されて(14S)、TLB8にデータが設定
され(15S)、パッチありならば第1段ページテーブ
ルPT1からポイントされる第2段ページテーブルPT
2におけるパッチの有無判定が行なわれ、パッチなしな
らばページが算出されて(14S)、TLB8にデータ
が設定され(15S)、パッチありならば第2段ページ
テーブルPT2からポイントされる最終段ページテーブ
ルPTLのページエントリ中から該論理アドレスに対応
のページエントリが選択されて取出され(13S)、T
LB8に設定する(15S)。TLB8に設定後はリタ
ーンする。
【0044】図7はこの発明の実施の形態によるTLB
ミス処理におけるスタック領域のページテーブル検索の
処理フローチャートである。図5の領域判定処理でスタ
ック領域SAと判定されると、図7の処理が呼び出され
る。
【0045】図7を参照して、メモリ管理プログラムM
PはTLBミスを起こした論理アドレスが領域判定のた
めのデータ31に従うスタック領域SAの範囲内に属す
るか否か判定し(16S)、範囲内ならば以降のページ
検索処理を行なうが、範囲外ならばページフォルト処理
(17S)を行なってリターンする。
【0046】ページ検索処理では、まずTLBミスを起
こした論理アドレスを出力したタスクに対応のページテ
ーブルについてのインデックスの計算が行なわれて、ペ
ージエントリが取得される(18S)。このインデック
スはたとえば(TLBミスを起こした論理アドレス−領
域SAの論理開始アドレスSAA)/ページのサイズを
整数演算することで求められる。
【0047】このとき、物理メモリ7上に対応のページ
がマッピング済か否か判定され(19S)、マッピング
済ならば得られたページエントリの情報に基づきTLB
8のエントリ設定が行なわれる(22S)。一方、マッ
ピング済でないならば対応のページが物理メモリ7上に
マッピング(アロケート)された後(20S)、得られ
たページエントリの内容がマッピング後により得られた
物理開始アドレスを用いて更新されて(21S)、その
後ページエントリの内容に基づきTLB8のエントリ設
定が行なわれる(22S)。TLB8のエントリ設定後
はリターンする。
【0048】図8はこの発明の実施の形態によるTLB
ミス処理におけるデータ領域のページテーブル検索の処
理フローチャートである。図5の領域判定処理でデータ
領域DAと判定されると、図8の処理が呼び出される。
【0049】図8を参照して、メモリ管理プログラムM
PはTLBミスを起こした論理アドレスが領域判定のた
めのデータ31に従うデータ領域DAの範囲内に属する
か否か判定し(23S)、範囲内ならば以降のページ検
索処理を行なうが、範囲外ならばページフォルト処理
(24S)を行なってリターンする。
【0050】ページ検索処理では、まずTLBミスを起
こした論理アドレスを出力したタスクに対応のページテ
ーブルについてのインデックスの計算が行なわれて、ペ
ージエントリが取得される(25S)。このインデック
スはたとえば(TLBミスを起こした論理アドレス−領
域DAの論理開始アドレスDAA)/ページのサイズを
整数演算することで求められる。
【0051】このとき、物理メモリ7上に対応のページ
がマッピング済か否か判定され(26S)、マッピング
済ならば得られたページエントリの情報に基づきTLB
8のエントリ設定が行なわれる(29S)。一方、マッ
ピング済でないならば対応のページが物理メモリ7上に
マッピング(アロケート)された後(27S)、得られ
たページエントリの内容がマッピング後により得られた
物理開始アドレスを用いて更新されて(28S)、その
後ページエントリの内容に基づきTLB8のエントリ設
定が行なわれる(29S)。TLB8のエントリ設定後
はリターンする。
【0052】以上のようにして、TLBミスを起こした
論理アドレスに対応のページが論理空間の使用目的別に
予め区分されたいずれの領域に属するか判定されなが
ら、TLB8に対応のエントリが設定されると、TLB
処理に戻り、更新されたエントリを用いてTLBミスを
起こした論理アドレスに対応の物理アドレスが指定され
て、TLBミスにより実行が中断されたタスクの処理が
再開される。
【図面の簡単な説明】
【図1】この発明の実施の形態による仮想メモリ管理装
置におけるソフトウェアとデータの構成図である。
【図2】この発明の実施の形態による仮想メモリ管理装
置が搭載される情報処理装置のブロック図である。
【図3】この発明の実施の形態による仮想メモリ管理装
置における仮想メモリ空間の構成図である。
【図4】図2の領域判定のためのデータの内容の一例を
示す図である。
【図5】この発明の実施の形態によるTLBミス処理に
おける領域判定の処理フローチャートである。
【図6】この発明の実施の形態によるTLBミス処理に
おけるROM領域のページテーブル検索の処理フローチ
ャートである。
【図7】この発明の実施の形態によるTLBミス処理に
おけるスタック領域のページテーブル検索の処理フロー
チャートである。
【図8】この発明の実施の形態によるTLBミス処理に
おけるデータ領域のページテーブル検索の処理フローチ
ャートである。
【図9】マルチタスク環境におけるページテーブルの従
来の管理方法を説明するための図である。
【符号の説明】
1 ROMメモリオブジェクト 2 共有メモリオブジェクト 3 データメモリオブジェクトへのポインタ 4 スタックメモリオブジェクトへのポインタ 5 データメモリオブジェクト 6 スタックメモリオブジェクト 7 物理メモリ 8 TLB 9 CPU MP メモリ管理プログラム SP システムページテーブル CP カレントタスクページテーブル なお、各図中同一符号は同一または相当部分を示す。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のタスクを切換えながら実行するマ
    ルチタスク環境において、実行中のタスクから出力され
    た仮想メモリの論理アドレスより物理メモリの対応する
    物理アドレスを得るために検索されるアドレス変換バッ
    ファを有した仮想メモリ管理装置であって、 前記複数タスクの各タスクについて、前記仮想メモリ上
    の用途ごとの領域に対応のサイズを有して前記論理アド
    レスに対応の前記物理アドレスを格納したページテーブ
    ルと、 前記仮想メモリ上の前記用途ごとに区分された領域につ
    いて、開始アドレスとサイズとを記憶する記憶手段と、 前記検索時に前記対応物理アドレスが得られない場合
    に、前記記憶手段中の記憶内容に基づいて、前記対応物
    理アドレスが得られなかった論理アドレスは前記仮想メ
    モリ上の区分された領域のいずれに該当するか判定する
    判定手段と、 前記判定手段により該当すると判定された前記領域の用
    途に対応の前記ページテーブルから、前記対応物理アド
    レスが得られなかった論理アドレスに対応の前記物理ア
    ドレスを検索する検索手段とを備えた、仮想メモリ管理
    装置。
  2. 【請求項2】 前記判定手段により該当すると判定され
    た前記領域が所定大きさの部分領域ごとにパッチをあて
    ることができる用途を有したパッチ可能領域であると
    き、 前記検索手段は、 前記パッチ可能領域をページより大きい領域単位で分割
    しながら、前記パッチがあてられた前記部分領域の前記
    ページテーブルを特定する特定手段と、 前記特定手段により特定された前記ページテーブルから
    前記対応物理アドレスが得られなかった論理アドレスに
    対応の前記物理アドレスを検索する第1検索手段とを含
    む、請求項1に記載の仮想メモリ管理装置。
  3. 【請求項3】 前記タスク切換ごとにポインタを変更し
    て、前記ポインタを用いて前記実行中のタスクに対応の
    前記用途ごとのページテーブルを指示するためのポイン
    ト手段をさらに備え、 前記検索手段は前記ポイント手段により指示される前記
    用途ごとのページテーブルを検索対象とすることを特徴
    とする、請求項1または2に記載の仮想メモリ管理装
    置。
JP8092239A 1996-04-15 1996-04-15 仮想メモリ管理装置 Withdrawn JPH09282233A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8092239A JPH09282233A (ja) 1996-04-15 1996-04-15 仮想メモリ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8092239A JPH09282233A (ja) 1996-04-15 1996-04-15 仮想メモリ管理装置

Publications (1)

Publication Number Publication Date
JPH09282233A true JPH09282233A (ja) 1997-10-31

Family

ID=14048893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8092239A Withdrawn JPH09282233A (ja) 1996-04-15 1996-04-15 仮想メモリ管理装置

Country Status (1)

Country Link
JP (1) JPH09282233A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275917B1 (en) 1998-08-12 2001-08-14 Fujitsu Limited High-speed address translation system
US7937553B2 (en) 2007-04-25 2011-05-03 Hitachi, Ltd. Controlling virtual memory in a storage controller
US8898429B2 (en) 2011-12-29 2014-11-25 Samsung Electronics Co., Ltd. Application processor and a computing system having the same

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275917B1 (en) 1998-08-12 2001-08-14 Fujitsu Limited High-speed address translation system
US7937553B2 (en) 2007-04-25 2011-05-03 Hitachi, Ltd. Controlling virtual memory in a storage controller
US8898429B2 (en) 2011-12-29 2014-11-25 Samsung Electronics Co., Ltd. Application processor and a computing system having the same

Similar Documents

Publication Publication Date Title
US9996475B2 (en) Maintaining processor resources during architectural events
US9836409B2 (en) Seamless application access to hybrid main memory
US9244855B2 (en) Method, system, and apparatus for page sizing extension
US5873127A (en) Universal PTE backlinks for page table accesses
US4563737A (en) Virtual storage management
JPH10254756A (ja) リファレンスされたオブジェクトを管理するための3状態リファレンスの使用
JPH0816479A (ja) メモリ・アドレス空間管理
US6606697B1 (en) Information processing apparatus and memory control method
JPH04213129A (ja) メモリ管理システム及びメモリ管理方法
US7676645B2 (en) Method, system, and article of manufacture for reserving memory
CN114816666B (zh) 虚拟机管理器的配置方法、tlb管理方法及嵌入式实时操作系统
JPH09282233A (ja) 仮想メモリ管理装置
EP1103898A2 (en) Microprocessor and memory
JPS6136264B2 (ja)
JPH06332803A (ja) 仮想計算機システムにおけるtlb制御方法
JP2924708B2 (ja) 情報処理装置
CN118210622A (zh) 一种内存分配方法及计算设备
JPH0343651B2 (ja)
JPH0612528B2 (ja) アドレス変換テ−ブルの制御方法
JPH02287740A (ja) コンピュータシステムおよびキャッシュメモリの無効化方法
JPH0216654A (ja) キャッシュメモリ制御方法
JPH05204758A (ja) マイクロプロセッサおよびそのメモリ制御方法
JPH06250918A (ja) メモリ管理装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030701