JPH03231346A - 可変長ページ式メモリ管理装置 - Google Patents

可変長ページ式メモリ管理装置

Info

Publication number
JPH03231346A
JPH03231346A JP2026799A JP2679990A JPH03231346A JP H03231346 A JPH03231346 A JP H03231346A JP 2026799 A JP2026799 A JP 2026799A JP 2679990 A JP2679990 A JP 2679990A JP H03231346 A JPH03231346 A JP H03231346A
Authority
JP
Japan
Prior art keywords
page
address
bits
bank
offset
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
JP2026799A
Other languages
English (en)
Inventor
Kazuya Kuriyama
和也 栗山
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.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric 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 Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Priority to JP2026799A priority Critical patent/JPH03231346A/ja
Publication of JPH03231346A publication Critical patent/JPH03231346A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〈産業上の利用分野〉 本発明は、主記憶を複数サイズのページフレームで管理
するメモリ管理装置の改善に関する。
同一サイズのページは、バンク単位で一括管理している
ため、ページフレームで管理する方式をページング方式
と呼ぶ二 〈従来の技術〉 従来よりコンピュータシステムにおけるメモリ管理方式
には、ページング方式とセグメント方式がある。本発明
はページング方式に関するものである。
従来のページング方式では、ページサイズの選択はある
ものの、この場合いずれか1つのページを選択する必要
がある。第3図は従来のページング方式を説明するため
の図で、中央処理装置(CPU)1から主記憶3をアク
セスする際、CPUから出力される論理アドレスの上位
20ビツトはメモリ管理装置(MMU)2に取り込まれ
、ページテーブルを参照して主記憶の物理ベースアドレ
スに変換する。二′のベースアドレスにより主記憶3の
ページが指定され、そのページの先頭を07・ドレスと
した時のオフセットアドレスがCPUから出力されるア
ドレスの下位12ビツトで指定される。
なお、ページテーブルの大部分は主記憶上に置かれ、一
部がMMU2内のキャッシュメモリ(図示せず)に置か
れる。また、ページサイズは、256バイト、IKバイ
ト、4にバイト111.32にバイトなど、適宜に選択
することができる。
〈発明が解決しようとする課題〉 しかしながら、このような従来のページング方式では、
システムの稼働時においてページサイズが一定のため、
特にメモリ容量の小さい組み込み型リアルタイムシステ
ムでは次のような弊害が発生する。
■ページサイズを大きく設定した場合には、ページ内の
メモリ利用効率が低下する。すなわち、メモリフラグメ
ンテーション(断片化)が起こり易い。
例えば、極端な場合、高々IKバイトのメモリを要求し
ているプログラムに対してもページサイズは32にバイ
トに設定され、このため31にバイトもの無駄が生じて
しまう。
■逆にページサイズを小さくした場合には、1つのプロ
グラムはより細分化され、これを管理するページテーブ
ル・エントリ数が多くなる。この結果、ページテーブル
を配置するためのメモリ容量が増大する。通常、ページ
テーブルは高速でアクセスされる必要があるので、高速
メモリ容量が必然的に増大し、コストア・ツブになる。
また、1プログラム当りのページテーブル数の増大は、
プログラム切換え時のページテーブル書換えオーバヘッ
ドの増大につながり、システム性能の劣化の大きな原因
になる。
■プログラムの要求するメモリサイズを予測して、適切
なページサイズを選択する方法もあるが、ソフトウェア
システム自体の変更は常についてまわり、その都度最適
値を求めることは困難であり、また最適値を求めたとし
てもそれでもまだ十分とは言えない。
本発明の目的は、このような点に鑑みてなされたもので
、メモリ利用効率を向上すると共に、ページテーブル番
エントリ数を減らしページテーブル用高速メモリの削減
およびプログラム切換え時のページテーブル書換えのオ
ーバーヘッドを軽減することのできる可変長ページ式メ
モリ管理装置を提供することにある。
く課題を解決するための手段〉 このような目的を達成するための本発明は、与えられた
論理アドレスからメモリの物理アドレスに変換するペー
ジング方式によるメモリ管理装置において、 同一サイズのページを一括管理するテーブルであって、
論理アドレスの上位の数ビットでなるページバンク番号
により指定されるアドレスにページ・ディスクリプタ・
テーブルのアドレスが格納されたページバンク・テーブ
ルと、 同一サイズページのページフレーム番号を一括管理する
テーブルであって、論理アドレスの中位の数ビットでな
るページ番号により指定されるアドレスにページフレー
ム番号が格納されたページΦディスクリブタ番テープJ
しとを備え、ページバンク・テーブルとページ・ディス
クリプタ・テーブルとからページフレーム番号を求め、
同時にページバンク番号よりオフセットのビット数を決
定して論理アドレスからそのビット数だけのオフセット
を取り出し、求めたページフレーム番号とオフセットを
加算して物理アドレスを生成するように構成したことを
特徴とする。
く作用〉 本発明では、まずページバンク・テーブルにより同一サ
イズのページを一括管理し、ページ・ディスクリプタ・
テーブルにより同一サイズページのページフレーム番号
を一括管理することができるようにする。そして、論理
アドレスのベーンバンク番号とページ番号から、ページ
バンク・テブルとページ・ディスクリプタ・テーブルと
を参照してページフレーム番号を得る。
また、オフセットはページバンク番号から何ビットか適
切かを割り出し、論理アドレスの下位ビットから所定の
ビット数分だけのオフセットを取り込む。
最後に、得られたページフレーム番号とオフセットを加
算して物理アドレスを生成する。
このようにして、サイズの異なるページを混在させるこ
とができ、メモリの利用効率の向上を図ることかできる
〈実施例〉 以下図面を参照して本発明の詳細な説明する。
第1図は本発明に係る可変長ページ式メモリ管理装置の
一実施例を示す構成図である。図において、10は論理
アドレスを送出するマイクロプロセッサ装置(MPU)
 、20はメモリ管理装置(MMU)、30は主記憶で
ある。
メモリ管理装置20は、32ビツトの論理アドレス(A
)を受けて、MMU内部のページテーブル(ページバン
ク・テーブルおよびページ・ディスクリプタ・テーブル
より構成される)を参照することによって物理アドレス
(B)(上位31−Nビット)に変換して送出する。下
位Nビットは当該ページ内のオフセットアドレスとして
出力される。
なお、ページテーブルは主に主記憶上に配置されるが、
一部はMMU内部のキャッシュメモリ(図示せず)に置
かれる。
主記憶30は、MMU20によってページ単位に分割さ
れる。たたし、従来のページング方式と異なるところは
、サイズが異なるページを混在させることかできる点で
ある。同一サイズのページはバンクという概念で一括管
理されて(する。ページの割付はシステムソフトウェア
(ζ)わゆるO3)が行なう。
以下このような構成における動作原理を第2図を参照し
て次に説明する。なお、丸囲みの番号Cよ図中の番号に
対応する。
MPUl0から送出される論理的なアドレス■は、上位
の一定ビット長がページノくンク番号、中位の可変長ビ
ットがページ番号、下位の可変長ビットがオフセットと
なっている。
MMU20はこのような形式の論理アドレスを受は取っ
て以下の手順により物理アドレス1こ変換するO MMU20は、論理アドレスの上位数ビ・ソトのページ
バンク番号により・何ノくイトのページのノくンクを参
照するかを知り、同時にページ内オフセ・ソトを下位前
ビットにするかを決定する。
ページバンク・テーブル(PBT)は同一サイズのペー
ジを一括管理するためのテーブルて、ページ・ディスク
リプタ・テーブル(PDT)のアドレスを格納している
。また、ページ・ディスクリプタ・テーブル(PDT)
は同一サイズページのページフレーム番号を一括管理す
るテーブルで、論理アドレス■の中位の数ビットがペー
ジ・ディスクリプタ・テーブル(PDT)中のページ番
号を示すようになっている。MMU20はこのページ番
号から該当ページのページフレーム番号を参照する。
ページ・ディスクリプタ・テーブル(PDT)中から取
り出されたページフレーム番号■は、物理アドレスの上
位ビットとなる。
次に、このページフレーム番号■と、MPU10から出
力された論理アドレスの下位数ビット■(ページオフセ
ット)とを加算して物理アドレス■を生成する。この物
理アドレス■は、メモリ制御回路、DMA (Dire
ct Memory Access)回路、l10(人
出力)デバイスに渡される。
なお、ページ割付はO8が行なう。O8は、プロセッサ
実行の際、必要なメモリサイズを検討し、適切なサイズ
のページを割り付ける。このとき割付の対象となるもの
として、コード、静的データ、スタック、共有データ、
定数等がある。
以上のようにして、可変長ページ方式のメモリ管理を行
なうことができる。
〈発明の効果〉 以上詳細に説明したように、本発明によれば次のような
効果がある。
■メモリ要求の少ないプログラムや、大きなプログラム
の端数を最適なサイズのページに割り付ける等ができる
ため、メモリ利用効率を向上させることが可能になる。
■大きなプロゲラ、ムの細分化を少なくできるので、そ
れだけ必要なページテーブルが少なくて済み、プログラ
ムの実行切換え時のページテーブル書換えが少なくシス
テムのパフォーマンスが向上する。
■また、ページテーブルは高速アクセスが要求されるた
め通常高速メモリ上に置かれる。本発明によればページ
テーブル・エントリ数が減り、高速メモリの節約となる
ため、コストダウンにも有効となる。
【図面の簡単な説明】
第1図は本発明に係る可変長ページ式メモリ管理装置の
一実施例を示す構成図、 第2図は動作を説明するための図、 第3図は従来のページング方式を説明するための図であ
る。 10・・・マイクロプロセッサ装置 20・・・メモリ管理装置 30・・・主記憶 第 図 第 図 十 Eページオフセット

Claims (1)

  1. 【特許請求の範囲】 与えられた論理アドレスからメモリの物理アドレスに変
    換するページング方式によるメモリ管理装置において、 同一サイズのページを一括管理するテーブルであって、
    論理アドレスの上位の数ビットでなるページバンク番号
    により指定されるアドレスにページ・ディスクリプタ・
    テーブルのアドレスが格納されたページバンク・テーブ
    ルと、 同一サイズページのページフレーム番号を一括管理する
    テーブルであって、論理アドレスの中位の数ビットでな
    るページ番号により指定されるアドレスにページフレー
    ム番号が格納されたページ・ディスクリプタ・テーブル
    とを備え、 上位の一定ビット長がページバンク番号、中位の可変長
    ビットがページ番号、下位の可変長ビットがオフセット
    を表わす論理アドレスを受け、前記ページバンク番号か
    ら何バイトのページのバンクを参照するかを知ってペー
    ジ内オフセットを下位何ビットにするかを決定すると共
    に、前記ページバンク番号によりページバンク・テーブ
    ルを参照してページ・ディスクリプタ・テーブルのアド
    レスを知り、そこに格納されているページフレーム番号
    を取り出し、このページフレーム番号と先に決定したオ
    フセットのビット数分だけ論理アドレスから読み出して
    得たオフセットとを加算して、主記憶の物理アドレスを
    生成するように構成したことを特徴とする可変長ページ
    式メモリ管理装置。
JP2026799A 1990-02-06 1990-02-06 可変長ページ式メモリ管理装置 Pending JPH03231346A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2026799A JPH03231346A (ja) 1990-02-06 1990-02-06 可変長ページ式メモリ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2026799A JPH03231346A (ja) 1990-02-06 1990-02-06 可変長ページ式メモリ管理装置

Publications (1)

Publication Number Publication Date
JPH03231346A true JPH03231346A (ja) 1991-10-15

Family

ID=12203362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2026799A Pending JPH03231346A (ja) 1990-02-06 1990-02-06 可変長ページ式メモリ管理装置

Country Status (1)

Country Link
JP (1) JPH03231346A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04320553A (ja) * 1991-03-13 1992-11-11 Internatl Business Mach Corp <Ibm> アドレス変換機構

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04320553A (ja) * 1991-03-13 1992-11-11 Internatl Business Mach Corp <Ibm> アドレス変換機構

Similar Documents

Publication Publication Date Title
US8799621B2 (en) Translation table control
US9921972B2 (en) Method and apparatus for implementing a heterogeneous memory subsystem
US5802341A (en) Method for the dynamic allocation of page sizes in virtual memory
US5899994A (en) Flexible translation storage buffers for virtual address translation
US6055617A (en) Virtual address window for accessing physical memory in a computer system
US6789156B1 (en) Content-based, transparent sharing of memory units
KR101137172B1 (ko) 가상 머신의 메모리를 관리하기 위한 시스템, 방법 및 프로그램
US6549995B1 (en) Compressor system memory organization and method for low latency access to uncompressed memory regions
US10572378B2 (en) Dynamic memory expansion by data compression
US10915459B2 (en) Methods and systems for optimized translation of a virtual address having multiple virtual address portions using multiple translation lookaside buffer (TLB) arrays for variable page sizes
EP3163451B1 (en) Memory management method and device, and memory controller
JPH07271674A (ja) キャッシュ最適化の方法
CN112445767A (zh) 内存管理方法及装置、电子设备、存储介质
US11922016B2 (en) Managing free space in a compressed memory system
US8751724B2 (en) Dynamic memory reconfiguration to delay performance overhead
CN112596913B (zh) 提高内存透明大页性能的方法、装置及用户设备、存储介质
JP2001282617A (ja) 共有されたキャッシュを動的に区分するための方法及びシステム
CN113010452A (zh) 一种高效且支持QoS的虚拟内存架构
JP3808058B2 (ja) 複数のホストが圧縮データを記憶するメモリ・セクタの集合を共用できるようにするための装置
JPH03231346A (ja) 可変長ページ式メモリ管理装置
CN108920254B (zh) 一种基于细粒度的内存分配方法
JP3875358B2 (ja) 記憶装置、記憶方法および記録媒体
JPH0548500B2 (ja)
CN114625476A (zh) 支持虚拟机的系统及管理相应系统中的物理地址空间的访问的方法
JPH04340143A (ja) ディジタル計算機