JPH03129543A - Main storage device control system - Google Patents

Main storage device control system

Info

Publication number
JPH03129543A
JPH03129543A JP1268443A JP26844389A JPH03129543A JP H03129543 A JPH03129543 A JP H03129543A JP 1268443 A JP1268443 A JP 1268443A JP 26844389 A JP26844389 A JP 26844389A JP H03129543 A JPH03129543 A JP H03129543A
Authority
JP
Japan
Prior art keywords
address
page
main memory
storage device
area
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
JP1268443A
Other languages
Japanese (ja)
Inventor
Akio Uchiyama
昭夫 内山
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP1268443A priority Critical patent/JPH03129543A/en
Publication of JPH03129543A publication Critical patent/JPH03129543A/en
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To prevent other processes from being delayed at their execution due to swap-out/swap-in forced by a process continuously accessing a huge area by allowing the process to occupy an allocated main storage device up to the end of the process. CONSTITUTION:The system is provided with a function for allocation one process to one storage device and a function for occupying the main storage device allocated to the process concerned from the execution start of the process up to its end and stored in the same main storage device up to the end of the process. When plural processes are in the executable state, other processes can be prevented from being occupied at their pages in the main storage devices by the process continuously accessing a huge area and being delayed at their execution due to the forced swap-out/swap-in.

Description

【発明の詳細な説明】 産業上の利用分野 本発明(よ 複数のプログラムが同時に平行して処理さ
れるマルチタスク計算機の主記憶装置管理方式に関する
DETAILED DESCRIPTION OF THE INVENTION Field of the Invention The present invention relates to a main storage management system for a multitasking computer in which a plurality of programs are processed in parallel at the same time.

従来の技術 一般的な共有メモリーを有する計算機システムの例を第
2図に示す。第2図に示す共通のバス204上に 単一
又は複数の主記憶装置(共有メモリー)206と共にC
PU装置201〜203が接続されるシステムに於て、
一般に主記憶装置の有効利用の為に仮想アドレスが用い
られも 仮想アドレスを使用することにより、主記憶装
置206上の主記憶領域が不足する場合に(上 補助記
憶装置208をも含めた仮想記憶領域全体重 再配置可
能な状態でプログラムの内容を格納すも 補助記憶装置
208へのアクセス!;LI/○バス205を経て入出
力インターフェース207に接続された補助記憶装置2
08へと要求が出されもこの方法により、それぞれのシ
ステム毎に定められる記憶領域の最小の分割単位(ペー
ジ)以上の空き領域が各プロセスに割り当てられた領域
内に生成されなへ さらに 物理アドレスの連続又は非
連続のページを複数個に渡って連結することにより、プ
ログラムの長さに応じた異なる大きさの記憶領域を用意
することができも 従って、散在する物理ページ群をC
PUは連続した仮想アトIノスを用いてアクセスする機
能を実現していも 当該機能により、実際に配置される
記憶領域のアドレスとは無関係に実行コードのアドレス
が実行前に決定されも 発明が解決しようとする課題 前記の記憶装置管理方式によると、同時に複数個のプロ
セスが実行状態にあると、それらプロセスの開始時刻・
終了時刻の前後、使用する記憶容量の大小などの影響に
よって、新たに発生するプロセスの格納されるべき領域
力曳 連続した領域上に確保されるとは限らな鶏 さら
に −度スヮップ・アウトされた仮想ページが元の物理
ページに格納されるとは限らず、このA 連続した仮想
アドレスを散在する物理アドレスに対応させて管理する
為に セグメンテーションやベージング等の技術が用い
られる。この機能(よ 一般にメモリー管理機構と呼ば
れるCPUの機能に付属した処理機構によって実現され
ている択 使用する仮想記憶領域と主記憶領域の大きさ
の差力交 大きくなればなるほど、この機能に要する時
間が増大すもこの無駄時間を減少させることが本発明の
第1の課題であも 前記課題の解決に(上 ページ、サイズを大きくするこ
とによって当該無駄時間を減少を図ることも可能である
力曳 一部は使用されるものQ 残りの領域が未使用の
状態のページが生ずる場合、ページサイズ拡大によって
、使用されない空き領域が増大する可能性がある。この
こと(上 本来 記憶装置の有効利用を狙った前記記憶
管理方式の目的が遠戚され得な(\ 又 前記の従来の記憶管理方式によれば 主記憶装置上
の主記憶領域以上の記憶領域を占有するプロセスが存在
し かつ連続してそれらの領域を使用する場合、実行待
ちのプロセスカ曳 二次記憶以下の補助記憶装置208
にスワップ・アウトされ 実行の度毎に主記憶206と
補助記憶208の間の転送を待たなければならなヘ ス
ワップ・アウトされたプロセス(よ スワップ・インさ
れ再び実行可能になるまで実行が延期されも 従って、
プロセス間での資源の共有という点で不公平が生じ 大
規模な領域を使用するプロセスによって、本来スワップ
・アウトの必要のないプロセスがスワップ・アウトを強
いられも この不公平を是正し 全てのプロセスが平等
な条件の下で実行を開始する環境を実現すること択 本
発明の第2の課題である。
2. Description of the Related Art An example of a computer system having a common shared memory is shown in FIG. C with single or multiple main memory devices (shared memory) 206 on a common bus 204 shown in FIG.
In a system to which PU devices 201 to 203 are connected,
In general, virtual addresses are used to effectively utilize main memory. Total area weight Storing program contents in a relocatable state Access to auxiliary storage device 208!; Auxiliary storage device 2 connected to input/output interface 207 via LI/○ bus 205
Even if a request is made to 08, this method will not create free space in the area allocated to each process that is larger than the minimum division unit (page) of the storage area determined for each system.Furthermore, the physical address By concatenating multiple consecutive or non-contiguous pages, it is possible to prepare storage areas of different sizes depending on the length of the program.
Even if the PU realizes a function of accessing using a continuous virtual atto, the invention is solved even if the function determines the address of the executable code before execution, regardless of the address of the storage area where it is actually located. According to the storage management method described above, if multiple processes are running at the same time, the start time and
Depending on the effect of the end time, the amount of storage capacity used, etc., the space required to store newly generated processes may not necessarily be allocated in a contiguous area. A virtual page is not necessarily stored in the original physical page, and techniques such as segmentation and paging are used to manage these consecutive virtual addresses in correspondence with scattered physical addresses. This function is realized by a processing mechanism attached to the CPU function, which is generally called the memory management mechanism.The difference between the size of the virtual storage area used and the main storage area. The first problem of the present invention is to reduce the wasted time due to the increase in size. Part of the area is usedQ If a page with the remaining area unused occurs, expanding the page size may increase the amount of unused free space. The purpose of the above-mentioned memory management method, which was aimed at When using those areas, the auxiliary storage device 208 below the secondary storage
Processes that are swapped out and have to wait for transfer between main memory 206 and auxiliary memory 208 each time they are executed. Also, therefore,
If there is an inequity in the sharing of resources between processes, and a process that uses a large amount of space forces a process that should not otherwise need to be swapped out, it is possible to correct this inequity and ensure that all processes The second objective of the present invention is to realize an environment in which the execution starts under equal conditions.

本発明の目的は 共通のメモリーバス上に主記憶装置と
、CPUが構成される計算機システム上で仮想記憶を使
用する場合、物理アドレスと、仮想アドレスの変換に要
する時間が大きいことと、大規模なプロセスを実行中に
他のプロセスが頻繁に補助記憶領域に退避させられる現
象が起こるた△ これを防ぐことであも 課題を解決するための手段 本発明(表 計算機システムを構成する主記憶装置上に
於て記憶領域を各プロセスに割り当てる為のCPU上の
仮想アドレスを主記憶装置上の物理アドレスへ変換する
アドレス変換方式のう坂 プロセス番号と一対一に対応
する記憶領域を持板主記憶装置を物理的に複数の部分領
域(ページ〉に分割した主記憶装置群の内の唯一つを単
一プロセスに割り当てる機能と、前記プロセス番号を指
すプロセス番号指定領域部分とそのプロセスに割り当て
られた記憶領域内のロケーションを示すページアドレス
部分と前記記憶領域内でのページ番号指定領域部分から
戒る仮想アドレスとをwi丸前記プロセス番号指定領域
部分は前記プロセスに割り当てられたプロセス固有で唯
一の主記憶装置の物理アドレスの開始番地を示し 前記
ページアドレス部分は前記プロセスに割り当てられた主
記憶装置(ページ)内のアドレスオフセットを指し前記
ページ番号指定領域部分は前記記憶領域が主記憶装置を
含めて複数のページに渡る際のページ番号を指すことを
特徴とする主記憶装置管理方式また 本発明は前記アド
レス変換方式を実現する上で一記憶装置に対して−プロ
セス番号を割り当てる機能を有し それぞれの記憶装置
を各プロセスが占有し そのプロセスの実行開始から終
了まで前記プロセスに割り当てられた主記憶装置を占有
ヒ 同−主記憶装置上にプロセス終了時まで格納される
機能を有すん 加えて、本発明は前記アドレス変換方式を実現する上Δ
 ページフォルトを起こす可能性の有無を予め記憶する
機能を有すん 各々の分割された主記憶装置はメモリー
管理機能を有り、CPUの要求するページ番号をその時
点でのページテーブルから物理アドレスに変換L  C
PUの要求するページが主記憶上に現れているか否かの
チエ・ツクを行う機能を持1 又 主記憶の分割サイズ
(ページ)以上の記憶領域を要するプロセスが生ずる場
合、補助記憶装置上にこの分割サイズ(ページ〉と同じ
大きさの記憶領域を必要個数確保する機能を持つ。プロ
セスがそのプロセスに割り当てられた主記憶装置を含め
た複数ページの領域を使用する場合にはページフォルト
を起こす可能性のあることを記憶t、、CPUから渡さ
れた仮想アドレスのうちのページ指定領域を参照し 又
 当該プロセスがそのプロセスに割り当てられた主記憶
装置内の領域のみを使用する場合、ページ指定領域をy
ilt視する機能を有すん 作用 本発明(上 上述の構成によって一記憶装置に対して−
プロセス番号を割り当てる機能を備丸そのプロセスの実
行開始から終了まで当該プロセスに割り当てられた主記
憶装置を占有し 同−主記憶装置上にプロセス終了時ま
で格納される機能を有すん この機能により、複数のプ
ロセスが実行状態にあるとき、巨大な領域を連続的にア
クセスするプロセスによって、従来のように主記憶内の
ページを占有され 他のプロセスがスワップ・アウト、
スワップ・インを強制され その実行が遅らされるとい
う事態を避けることができもさらに 本発明の主記憶管
理方式Cヨ  ページフォルトを起こす可能性の有無を
予め記憶する機能を有すん 従って、各々の分割された
主記憶装置はメモリー管理機能を有り、、cpuの要求
するページが主記憶上に現れているか否かのチエツクを
行う機能を有すん プロセスチェンジ又はスワツピング
が起こらない限り、CPUが要求するページが直接各主
起憶上に現れていることか転 主記憶内ではページテー
ブルを参照する必要はな(1従って、アドレス変換に費
やされるロスが軽減されも また 本発明の主記憶管理方式(よ プロセス番号と一
対一に対応する記憶領域を持仮 主記憶装置を物理的に
複数の部分領域に分割した主記憶装置群と、この内の唯
一つを単一プロセスに割り当てる機能と、さらに 当該
プロセス番号を指すプロセス番号指定領域部分とそのプ
ロセスに割り当てられた記憶領域内のロケーションを示
すページアドレス部分と当該記憶領域内でのページ番号
指定領域部分から成る仮想アドレスとを備えも これに
よりCPU側から見るとプロセスの占有した記憶領域で
(よ 仮想アト1ノスの連続領域として使用され 割り
当てられた主記憶領域へ 無変換で要求を出すことがで
きも アドレス変換が必要ないA  CPU側ではペー
ジテーブルが省略されム即&  CPU側ではプロセス
番号とそのプロセスの格納されている主記憶アドレスと
の対応テーブルのみが必要となり、複数レベル以上の多
段階アドレス変換テーブルを用いて、散在する物理ペー
ジ群を連続した仮想ページ列として表示することは不必
要となも 一つのプロセス番号 複数のページを使用す
る場合、プロセス内でのページテーブルが必要になる力
交 これ(よ 各主記憶装置が管理L  CPUはこれ
とは無関係に主記憶に対して要求を出すことができも 
また スワップ・イン、スワップ・アウトの操作(上 
各主記憶装置が行うた。6cpuit  常に実行可能
プロセスを選択して、動作し続けることができも マルチプロセッサ・システムに於いて(友 各々のプロ
セッサが互いに独立の主記憶装置にアクセス可能となり
、従って独立なプロセスの実行を行なう。しかL  C
PU毎のローカル・メモリーではないことか板 どのプ
ロセッサーからも常にアクセス可能であり、プロセスの
チェンジが容易に行われh  cpu資源の共有を時分
割で行なうことが可能になも 実施例 第1図に 本発明の計算機システムの一実施例の構成図
を示も 具体的に(友 主記憶装置1(109)〜n 
(110)を複数測量等の構成で用意し これらを独立
のバス104〜105を通して、全てのCP U 1 
(101) 〜m(102) (n > =m)に接続
する。
The purpose of the present invention is to solve the following problems: When using virtual memory on a computer system in which a main storage device and a CPU are configured on a common memory bus, it takes a long time to convert physical addresses and virtual addresses, and A phenomenon in which other processes are frequently saved to the auxiliary storage area while one process is running occurs.Means for solving the problem by preventing this In order to allocate a storage area to each process, the address conversion method converts the virtual address on the CPU to a physical address on the main storage device. The device is physically divided into multiple partial areas (pages) and a main memory group is allocated to a single process, and one of them is assigned to a single process, and the process number designated area pointing to the process number and the area allocated to that process The page address part indicating the location in the storage area and the virtual address that is determined from the page number designation area part in the storage area are circled. The page address part indicates the starting address of the physical address of the storage device, and the page address part indicates the address offset in the main storage (page) allocated to the process, and the page number specification area part indicates that the storage area includes the main storage. A main storage device management method characterized by indicating a page number when spanning a plurality of pages, and the present invention has a function of assigning a process number to one storage device in realizing the address conversion method. Each process occupies the storage device assigned to the process from the start of execution to the end of the process. The present invention realizes the address conversion method by
It has a function that stores in advance whether or not there is a possibility of a page fault occurring.Each divided main memory has a memory management function that converts the page number requested by the CPU from the page table at that point into a physical address. C
It has a function to check whether the page requested by the PU appears on the main memory1.Also, when a process occurs that requires a storage area larger than the division size (page) of the main memory, it is stored on the auxiliary storage device. It has a function to secure the required number of storage areas of the same size as this partition size (pages). If a process uses multiple pages of area including the main memory allocated to that process, a page fault will occur. It is possible to refer to the page specification area of the virtual address passed by the CPU, and if the process uses only the area in the main memory allocated to it, the page specification area as y
The present invention (above) has the function of viewing illumination for one storage device (above).
The function that assigns a process number occupies the main memory assigned to the process from the start of execution to the end of the process, and stores it in the main memory until the end of the process.With this function, When multiple processes are running, a process that continuously accesses a huge area occupies pages in main memory, causing other processes to swap out and
The main memory management method of the present invention has a function of storing in advance whether or not there is a possibility that a page fault will occur. The divided main memory has a memory management function, and has the function of checking whether the page requested by the CPU appears in the main memory.As long as a process change or swapping does not occur, the page requested by the CPU There is no need to refer to the page table in the main memory (1).Therefore, the loss spent on address translation is reduced, and the main memory management method of the present invention (It has a storage area that corresponds one-to-one with the process number.) A main storage group in which the main storage is physically divided into multiple partial areas, a function to allocate only one of these to a single process, and A virtual address consisting of a process number designation area that points to the process number, a page address part that shows the location in the storage area allocated to the process, and a page number designation area in the storage area. From the side, it is a memory area occupied by a process.It is used as a contiguous area of the virtual atone, and requests can be issued to the allocated main memory area without conversion, but address conversion is not required on the CPU side. The table is omitted and the CPU only needs a correspondence table between the process number and the main memory address where that process is stored, and a multi-level address conversion table with multiple levels or more is used to convert the scattered physical pages. It is unnecessary to display the process number as a continuous string of virtual pages.If multiple pages are used, a page table is required within the process. The CPU can also make requests to main memory independently of this.
You can also perform swap in and swap out operations (above).
Each main memory device does this. 6cput can always select an executable process and keep it running, but in a multiprocessor system each processor can access independent main memory and therefore execute independent processes. Only LC
It is not local memory for each PU.It is always accessible from any processor, and processes can be easily changed.It is also possible to share CPU resources on a time-sharing basis.Embodiment Figure 1 A configuration diagram of an embodiment of the computer system of the present invention is shown in detail (main storage devices 1 (109) to n
(110) is prepared in a configuration such as multiple surveying, and these are connected to all CPUs 1 through independent buses 104 to 105.
Connect to (101) to m(102) (n > = m).

主記憶装置109〜110とは別に プロセス間で共有
される記憶領域(共有メモリー)111と、オペレーテ
ィング・システムの使用する記憶領域112を用意すも
 これらの記憶領域へのアクセス(友 プロセス間共有
記憶領域111は共有メモリーバス106、オペレーテ
ィング◆システムの使用する記憶領域112へはO8通
信用バス107を通して行われる。さらに オペレーテ
ィング・システム専用のプロセッサー103と、入出力
インターフェース部113を備L  入出力インターフ
ェース部113へのアクセスはI10バス108を通し
て行われも 入出力インターフェース部113に補助記
憶装置114が接続されており、補助記憶装置114へ
のアクセス;友 入出力インターフェース部113を通
して行われも又 第3図には本発明のアドレス変換方式
が備えa 仮想アドレスのアドレス構成図を示も 当該
プロセス番号を指すプロセス番号指定領域部分301と
そのプロセスに割り当てられた記憶領域内のロケーショ
ンを示すページアドレス部分303と当該記憶領域内で
のページ番号指定領域部分302から成る仮想アドレス
を表現すもさらに 第4図に(友 本発明のアドレス変
換方式が備えム −記憶装置に対して−プロセス番号を
割り当てる機能を表わす仮想領域の構成図を示す。当該
プロセス1 a (404)〜3 <405)の実行開
始から終了まで当該プロセスに割り当てられた主記憶装
置109〜110と、プロセス404〜405を実行す
るCPUI 01〜102と、プロセスlが複数ページ
にまたがる場色 主記憶装置109に格納されないペー
ジ1 b (410)〜1 x (412)力を補助記
憶装置114上のスワップ・エリアにスワップアウトさ
れている状態を示も O8力文 プロセスが発生した時点Δ 主記憶装置10
9〜110が空いていれば その内のただ一つの主記憶
装置を単一プロセスで占有させも当該主記憶装置上のペ
ージの大きさ(よ システムの用いるページサイズと等
しく、かス 当該主記憶装置は単一ページで構成されも
 アドレスのプロセス番号指定領域部分301と当該プ
ロセス404〜405の格納されている主記憶109〜
110のアドレスとの対応テーブルを全てのCPU10
1〜102が持坂 アドレス変換はCPU上のメモリー
管理部101a−102aが行う。変換後の主記憶のア
ドレスl!cPU内のバスコントロール部101b −
102bのバッファーに保存され 主記憶装置109〜
110へのバス104〜105のボート番号に等しくち
 当該対応テーブル(上 全てのCPUで同一性を保つ
機能を備え&  CPU上のPC(プログラム・カウン
ター)が使用するアドレスは一つの主記憶内でのページ
アドレス303とページ番号を示すアドレス部302を
使用し プロセス番号を指定するアドレス部分301は
プロセスチェンジが起こるときのみ使用されも プロセ
ス番号を指定するアドレス部分301 j!  プロセ
スがチェンジした時点でCPU内のレジスター内に保存
すも これと共に 当該アドレス301に対応するメモ
リーバス104〜105が接続すれているボートのボー
ト番号即板 主記憶装置の物理アドレスをCPUの持つ
バスコントロール部101b〜102b内のバッファー
に保存すも 従って、次のプロセスのチェンジまで1i
cPUはアドレスのページ番号部302と、当該主記憶
装置内のページアドレス303のみを参照すも プロセ
スのチェンジのFJ9L  CPU内のレジスター内に
保存されているプロセス番号が新たに実行の始まるプロ
セスのプロセス番号と異なる場合、バスコントロール部
101b −102b内のバッファーの主記憶装置の物
理アドレスをも更新すも 主記憶へのアクセスの際(友
 前記バッファーの指すボート番号に該当するバス10
4〜105へ要求が出されも 当該主記憶装置の接続さ
れたバス上の信号(上 他のCPUはそれぞれの前記バ
ッファーに当該バスのボート番号が保存されていない場
合は無視すも主記憶番号を指定するアドレス部301は
主記憶装置の拡張範囲を保証する長さの領域を持つ力t
プログラム内のインストラクションをフェッチするため
のアドレスとは独立しているた26.  CPUの扱う
ことのできるアドレス長には含まれ家 プログラムの拡
張性・システムの拡張性を妨げることはなへ 各々の分割された主記憶装置109〜110にメモリー
管理機能をもたせ、主記憶領域の分割サイズ(ページサ
イズ〉以上の記憶領域を要するプロセスが生じたとき(
友 補助記憶装置114上にこの分割サイズと同サイズ
の記憶領域を必要個数確保すも この為 アドレスには
各主記憶内でのページを指定する領域302を用意すも
 主記憶領域に格納不可能な大規模プログラムがロード
された場合、主記憶内109〜110の認識ビットを立
て、それ以降常に当該認識ビットを解釈してページフォ
ルトを起こす可能性のあることを認識L  CPUl0
I〜102の要求するページが主記憶109〜110上
に格納されているか否かをページ番号アドレス302か
転 主記憶装置の持つページテーブルを通して変換され
ム 物理ページのベースアドレスから参照すも 当該認
識ビットのない場合(よ ページ番号部のアドレス30
2は無視する。CPUの要求する該当するページ力を主
記憶109〜110上にない場合(よ 主記憶109〜
110が直ちにスワツピングの要求を出獣主起憶内でC
PUl0I〜102からアクセス可能になるまで、その
プロセスは実行が延期されもこの開削のプロセスが実行
可能であれ?i  プロセスがチェンジされも 設けた
ページ410〜412を含めた仮想記憶領域全体(10
9,114)を主記憶装置109が管理すも スワップ
・アウトの必要が生じた場合、補助記憶装置114のス
ワップ・エリア上のいずれのページを当該プロセス1に
割り当てるかCヨ  オペレーティング・システムが決
定すも スワップ領域へのアドレス変換Cヨ  各主記
憶装置が自らの持つ変換テーブルで行なう。プロセスの
チェンジまた(よ スワツピングが起こるまで(上 ペ
ージ内のアドレスのみを参照することによって、処理の
高速化を図も 各々の主記憶装置109〜110へのアクセスは 互い
に独立なバス104〜105を通して行なうものとすも
 これにより、マルチプロセッサシステムに於いて、各
々のCPUl0I〜102が互いに異なる主記憶装置1
09〜110にアクセス可能となん 主記憶装置109〜110とは別に プロセス間で共有
される記憶領域111と、オペレーティング・システム
の使用する記憶領域112を用意すも これら二つの記
憶領域1表 複数のプロセス間で共有され プロセス間
共有記憶領域111はプロセス間通信を行なう共有メモ
リーとして使用し、オペレーティング・システムの使用
する記憶領域112 i上  ○S用メモリーとしてオ
ペレーティング・システムのプロセス管理及びメモリー
管理と入出力管理に使用すも オペレーティング・シス
テムは専用のプロセッサ上で動作させ、一般のユーザー
プロセスとは別の記憶領域と処理装置を使用することに
なん プロセス管理と、メモリー管理はこのO8用プロ
セッサが行ら\ 各プロセッサに優先順位にしたがって
、プロセスを割り当て、プロセス毎に 主記憶領域を割
り当ても主記憶装置の数以上にプロセスが発生したとき
(よ このプロセス間で共有される記憶領域をそのプロ
セスに割り当て、主記憶装置が空き次第その領域ヘコピ
ーされも プロセス間共有記憶領域へのアドレス変換テ
ーブル;よ 主記憶装置を示すものと同様の形式の仮想
アドレスから当該共有記憶領域内のページへのアドレス
変換の機能を有する。
Apart from the main storage devices 109 to 110, a storage area 111 shared between processes (shared memory) and a storage area 112 used by the operating system are prepared. The area 111 is connected to a shared memory bus 106, and a storage area 112 used by the operating system is connected to the O8 communication bus 107.Furthermore, it is equipped with a processor 103 dedicated to the operating system and an input/output interface section 113. An auxiliary storage device 114 is connected to the input/output interface unit 113, and access to the auxiliary storage device 114 can be performed through the I10 bus 108. The address conversion method of the present invention is provided with an address configuration diagram of a virtual address.A process number designation area portion 301 indicating the process number, a page address portion 303 indicating the location in the storage area allocated to the process, and FIG. 4 shows a virtual address consisting of a page number designation area portion 302 within the storage area. A configuration diagram of a virtual area is shown.The main storage devices 109 to 110 allocated to the process from the start to the end of execution of the process 1a (404) to 3<405) and the CPUIs 01 to 110 that execute the processes 404 to 405 are shown. 102, and if process l spans multiple pages, pages 1 b (410) to 1 x (412) that are not stored in main memory 109 are swapped out to the swap area on auxiliary memory 114. Indication is also O8 force statement Time point when the process occurs Δ Main storage device 10
If 9 to 110 are free, even if only one of them is occupied by a single process, the size of the page on the main memory (which is equal to the page size used by the system) Although the device is composed of a single page, the process number designation area part 301 of the address and the main memory 109 ~ where the relevant processes 404 ~ 405 are stored are stored.
110 addresses and all CPUs 10
1 to 102 are Mochisaka Address conversion is performed by memory management units 101a to 102a on the CPU. Main memory address after conversion l! Bus control unit 101b in cPU -
It is stored in the buffer of 102b and the main storage device 109~
It is equal to the port number of buses 104 to 105 to 110. The correspondence table (above) has a function to maintain the sameness on all CPUs, and the addresses used by the PC (program counter) on the CPU are stored in one main memory. The page address 303 and address section 302 indicating the page number are used.The address section 301 specifying the process number is used only when a process change occurs, and the address section 301 specifying the process number j! Along with this, the boat number of the boat to which the memory bus 104 to 105 corresponding to the address 301 is connected is stored in the register of the CPU. Therefore, it is 1i until the next process change.
The cPU only refers to the page number part 302 of the address and the page address 303 in the main memory. If the number is different from the number, the physical address of the main memory of the buffer in the bus control unit 101b-102b is also updated.
Even if a request is issued to 4 to 105, the signal on the bus connected to the main memory device (on The address field 301 that specifies t has a length area that guarantees the extended range of the main memory.
26. It is independent of the address for fetching instructions in the program. This is included in the address length that the CPU can handle.It does not impede program expandability or system expandability.Each divided main storage device 109 to 110 has a memory management function, and the main storage area When a process that requires a storage area larger than the partition size (page size) occurs (
Although the necessary number of storage areas of the same size as this division size are secured on the auxiliary storage device 114, an area 302 is prepared for specifying each page in the main memory for the address, but it cannot be stored in the main storage area. When a large-scale program is loaded, the recognition bits 109 to 110 in main memory are set, and from then on, the recognition bits are always interpreted to recognize that a page fault may occur.
Whether or not the page requested by I-102 is stored in the main memories 109-110 is determined by the page number address 302.The page number address 302 is converted through the page table of the main storage device. If there is no bit (page number part address 30
2 is ignored. If the corresponding page capacity requested by the CPU is not available in the main memories 109 to 110 (main memories 109 to 110)
110 immediately sends a request for swapping to the owner's memory.
Even if the process is postponed until it can be accessed from PUl0I~102, can this excavation process still be executed? Even if the i process is changed, the entire virtual storage area (10
9, 114) are managed by the main memory 109. However, when it becomes necessary to swap out, the operating system determines which page on the swap area of the auxiliary memory 114 is assigned to the process 1. Address conversion to the swap area (C) Each main storage device performs this conversion using its own conversion table. By referencing only addresses within the page, access to each main memory device 109 to 110 is accessed through mutually independent buses 104 to 105. As a result, in a multiprocessor system, each CPU10I to 102 has a different main memory 1
In addition to the main storage devices 109 to 110, a storage area 111 shared between processes and a storage area 112 used by the operating system are prepared. The inter-process shared storage area 111 is shared between processes and is used as a shared memory for inter-process communication. The operating system is run on a dedicated processor and uses a storage area and processing unit separate from general user processes. Process management and memory management are performed by this O8 processor. \ Allocate processes to each processor according to priority, and allocate main storage area for each process. However, when more processes occur than the number of main storage devices (other than the storage area shared between processes, Address translation table for inter-process shared storage; address translation from a virtual address in the same format as that indicating main storage to a page in the shared storage area. It has the following functions.

プロセス番号部301 ILL  共有メモリーバス1
06へのボート番号に変換され ページ番号部302(
戴 共有メモリー111上のページのベースアドレスに
変換されも 共有メモリーバス106に(よ プロセス
番号部30トページ番号部302・ページアドレス部3
03の全てのアドレスが出されも これに対して、共有
メモリーはプロセス番号部301とページ番号部302
を、自らが管理するページテーブルを通して、要求され
ている物理ページのベースアドレスへと変換する。
Process number section 301 ILL shared memory bus 1
It is converted into a boat number to 06 and the page number part 302 (
The base address of the page on the shared memory 111 is converted to the base address of the page on the shared memory bus 106 (process number section 30, page number section 302, page address section 3).
On the other hand, the shared memory has a process number part 301 and a page number part 302.
into the base address of the requested physical page through the page table it manages.

発明の効果 以上の説明から明らかなように 本発明によれ(L 上
述の構成によって、複数のプロセスが実行状態にあると
き、巨大な領域を連続的にアクセスするプロセスによっ
て、主記憶内のページを占有され 他のプロセスがスワ
ップ・アウト、スワップ・インを強制され その実行が
遅らされるという事態を避けることができる。
Effects of the Invention As is clear from the above description, the present invention (L) With the above configuration, when a plurality of processes are in the execution state, pages in the main memory can be accessed by a process that continuously accesses a huge area. This avoids the situation where other processes are forced to swap out or swap in, delaying their execution.

さら以 プロセスチェンジ又はスワツピングが起こらな
い限り、CPUが要求するページが直接名主記憶上に現
れていることから、主記憶内ではページテーブルを参照
する必要はな〜 従って、アドレス変換に費やされるロ
スが軽減されも また これによりCPU側から見ると
プロセスの占有した記憶領域で(上 物理・仮想アドレ
ス共に連続領域として使用され アドレス変換が必要な
い忍 ページテーブルが省略されも 即叡 プロセス番
号とそのプロセスの格納されている主記憶アドレスとの
対応テーブルのみが必要となり、複数レベル以上の多段
階アドレス変換テーブルを用いて、散在する物理ページ
群を連続した仮想ページ列として表示することは不必要
となん また スワップ・イン、スワップ・アウトの操
作は 各主記憶装置が行うた。acpu+t  常に実
行可能プロセスを選択して、動作し続けることができも
マルチプロセッサ・システムに於いては 各々のプロセ
ッサが互いに独立の主記憶装置にアクセス可能となり、
従って独立なプロセスの実行を行なう。しかし ローカ
ル・メモリーではないことから、どのプロセッサーから
も常にアクセス可能であり、プロセスのチェンジが容易
に行われれCPU資源の共有を時分割で行なうことが可
能になん
Furthermore, unless a process change or swapping occurs, the page requested by the CPU appears directly in the main memory, so there is no need to refer to the page table in the main memory. Therefore, there is no need to refer to the page table in the main memory. This also reduces the memory area occupied by a process from the CPU's point of view (both physical and virtual addresses are used as contiguous areas, and the page table, which does not require address conversion, is omitted). Only the correspondence table with the main memory address where the is stored is required, and there is no need to use a multi-level address translation table with multiple levels or more to display a group of scattered physical pages as a continuous virtual page string. Also, since swap in and swap out operations are performed by each main memory device, acpu+t can always select an executable process and continue running, but in a multiprocessor system, each processor is independent of each other. can access the main memory of
Therefore, an independent process is executed. However, since it is not local memory, it can always be accessed by any processor, making it easy to change processes and sharing CPU resources on a time-sharing basis.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例における計算機システムの構
r&は  第2図は従来の共有メモリーを有する計算機
システムの構成は 第3図は本発明の使用する仮想アド
レスの構成は 第4図は本発明の主記憶管理方式におけ
るプロセスの主記憶への割当に関する概念図である。 101〜102・・・CPU、103・・・O8用プロ
セッサ、 104〜105・・・メモリーバ入 106
・・・共有メモリーバ入 107・・・O8通信用バ入
108・・・■/○バ入 109〜110・・・主記憶
装置群、 111・・・共有メモリー 112・・・O
8用メモリー、 113・・・入出力インターフエ−,
Ll14・・・補助記憶装置 301・・・プロセス番
号アドレス敵 302・・・ページ番号アドレス訊 3
03・・・ページアドレスR404,406−・・プロ
セ入 41O〜412補助記憶装置上のスワップ・エリ
アにスワップアウトされているページ。
FIG. 1 shows the configuration of a computer system according to an embodiment of the present invention. FIG. 2 shows the configuration of a conventional computer system with shared memory. FIG. 3 shows the configuration of virtual addresses used in the present invention. FIG. 2 is a conceptual diagram regarding allocation of processes to main memory in the main memory management system of the present invention. 101-102...CPU, 103...O8 processor, 104-105...Memory bar input 106
...Shared memory input 107...O8 communication input 108...■/○ input 109-110...Main memory group, 111...Shared memory 112...O
8 memory, 113... input/output interface,
Ll14...Auxiliary storage device 301...Process number address enemy 302...Page number address 3
03...Page address R404, 406--Process input 41O-412 Pages swapped out to the swap area on the auxiliary storage device.

Claims (3)

【特許請求の範囲】[Claims] (1)計算機システムを構成する主記憶装置上に於て記
憶領域を各プロセスに割り当てる為のCPU上の仮想ア
ドレスを主記憶装置上の物理アドレスへ変換するアドレ
ス変換方式のうち、プロセス番号と一対一に対応する記
憶領域を持ち、主記憶装置を物理的に複数の部分領域(
ページ)に分割した主記憶装置群の内の唯一つを単一プ
ロセスに割り当てる機能と、前記プロセス番号を指すプ
ロセス番号指定領域部分とそのプロセスに割り当てられ
た記憶領域内のロケーションを示すページアドレス部分
と前記記憶領域内でのページ番号指定領域部分から成る
仮想アドレスとを備え、前記プロセス番号指定領域部分
は前記プロセスに割り当てられたプロセス固有で唯一の
主記憶装置の物理アドレスの開始番地を示し、前記ペー
ジアドレス部分は前記プロセスに割り当てられた主記憶
装置(ページ)内のアドレスオフセットを指し、前記ペ
ージ番号指定領域部分は前記記憶領域が主記憶装置を含
めて複数のページに渡る際のページ番号を指すことを特
徴とする主記憶装置管理方式。
(1) Of the address conversion methods that convert a virtual address on the CPU to a physical address on the main storage device to allocate a storage area to each process on the main storage device that makes up the computer system, a process number and one pair are used. The main storage device is physically divided into multiple partial areas (
A function to allocate only one of a group of main memory devices divided into pages) to a single process, a process number designation area part that points to the process number, and a page address part that shows the location in the storage area allocated to that process. and a virtual address consisting of a page number designated area portion within the storage area, the process number designated area portion indicating the start address of a physical address of a process-specific and unique main storage device allocated to the process; The page address part indicates an address offset in the main memory (page) allocated to the process, and the page number specification area part indicates the page number when the memory area spans multiple pages including the main memory. A main storage management method characterized by:
(2)前記アドレス変換方式を実現する上で一記憶装置
に対して一プロセス番号を割り当てる機能を有し、それ
ぞれの記憶装置を各プロセスが占有し、そのプロセスの
実行開始から終了まで前記プロセスに割り当てられた主
記憶装置を占有し、同一主記憶装置上にプロセス終了時
まで格納されることを特徴とする特許請求の範囲第1項
記載の主記憶装置管理方式。
(2) In realizing the address conversion method, it has a function of assigning one process number to one storage device, and each process occupies each storage device, and the process is assigned from the start to the end of execution of that process. 2. The main memory management system according to claim 1, wherein the main memory is occupied by the allocated main memory and the data is stored in the same main memory until the end of the process.
(3)前記アドレス変換方式を実現する上でページフォ
ルトを起こす可能性の有無を予め記憶する機能を有し、
その機能はプロセスが、そのプロセスに割り当てられた
主記憶装置を含めた複数ページの領域を使用する場合に
は、ページフォルトを起こす可能性のあることを記憶し
、CPUから渡された仮想アドレスのうちのページ番号
指定領域を参照してページのベースアドレスを得て、前
記プロセスがそのプロセスに割り当てられた主記憶装置
のみを使用する場合、ページ番号指定領域を無視するこ
とを特徴とする特許請求の範囲第1項または第2項記載
の主記憶装置管理方式。
(3) Having a function of storing in advance whether or not there is a possibility of causing a page fault in realizing the address translation method,
This function remembers that a page fault may occur if a process uses multiple pages of space, including the main memory allocated to that process, and uses the virtual address passed from the CPU. A patent claim characterized in that the base address of the page is obtained by referring to the page number specification area, and the page number specification area is ignored when the process uses only the main memory allocated to the process. The main storage management method according to item 1 or 2.
JP1268443A 1989-10-16 1989-10-16 Main storage device control system Pending JPH03129543A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1268443A JPH03129543A (en) 1989-10-16 1989-10-16 Main storage device control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1268443A JPH03129543A (en) 1989-10-16 1989-10-16 Main storage device control system

Publications (1)

Publication Number Publication Date
JPH03129543A true JPH03129543A (en) 1991-06-03

Family

ID=17458576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1268443A Pending JPH03129543A (en) 1989-10-16 1989-10-16 Main storage device control system

Country Status (1)

Country Link
JP (1) JPH03129543A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004526233A (en) * 2001-01-26 2004-08-26 デルタ サーチ ラブズ インコーポレイテッド A modular microcontroller that manages CPUs and devices without an operating system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004526233A (en) * 2001-01-26 2004-08-26 デルタ サーチ ラブズ インコーポレイテッド A modular microcontroller that manages CPUs and devices without an operating system
JP2008181569A (en) * 2001-01-26 2008-08-07 Delta Search Labs Inc Modular microcontroller managing cpu and devices without operating system

Similar Documents

Publication Publication Date Title
US4511964A (en) Dynamic physical memory mapping and management of independent programming environments
EP1805629B1 (en) System and method for virtualization of processor resources
JP3920395B2 (en) Address translation control circuit and address translation method
EP2266040B1 (en) Methods and systems for dynamic cache partitioning for distributed applications operating on multiprocessor architectures
US5539899A (en) System and method for handling a segmented program in a memory for a multitasking data processing system utilizing paged virtual storage
US5893166A (en) Addressing method and system for sharing a large memory address space using a system space global memory section
JPS61141055A (en) Information processor
US5860144A (en) Addressing method and system for providing access of a very large size physical memory buffer to a number of processes
US7661115B2 (en) Method, apparatus and program storage device for preserving locked pages in memory when in user mode
JP2009520295A (en) Multiprocessor circuit with shared memory bank
EP0497600A2 (en) Memory access method and apparatus
JPH06231043A (en) Apparatus and method for transfer of data in cirtual storage system
KR102064764B1 (en) Communication of message signalled interrupts
JPS62100851A (en) Area control method for virtual memory device
US6457107B1 (en) Method and apparatus for reducing false sharing in a distributed computing environment
JP2778291B2 (en) Address conversion register control method
JP4862770B2 (en) Memory management method and method in virtual machine system, and program
JPH07129464A (en) Information processor
JPH03129543A (en) Main storage device control system
KR100294314B1 (en) Data processing system and method and communication system with such system
JP2742245B2 (en) Parallel computer
US20230315328A1 (en) High bandwidth extended memory in a parallel processing system
EP3992802A1 (en) Input/output device operational modes for a system with memory pools
JP2009301102A (en) Memory system for using cache memory, its method, and its program
JP3013742B2 (en) Cache memory management method