JPH05233427A - Information processor - Google Patents

Information processor

Info

Publication number
JPH05233427A
JPH05233427A JP4036025A JP3602592A JPH05233427A JP H05233427 A JPH05233427 A JP H05233427A JP 4036025 A JP4036025 A JP 4036025A JP 3602592 A JP3602592 A JP 3602592A JP H05233427 A JPH05233427 A JP H05233427A
Authority
JP
Japan
Prior art keywords
area
memory
program
capacity
data
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
JP4036025A
Other languages
Japanese (ja)
Inventor
Toshimi Kiyohara
敏視 清原
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 JP4036025A priority Critical patent/JPH05233427A/en
Priority to US08/015,866 priority patent/US5548740A/en
Publication of JPH05233427A publication Critical patent/JPH05233427A/en
Withdrawn legal-status Critical Current

Links

Abstract

PURPOSE:To speed up interchanging process for data including a program between storage device which differ in access speed. CONSTITUTION:The information processor has a main memory MM, a subprocessor memory SM which gains high-speed access, and a low-speed access magnetic disk storage device HD; when a requested memory area RE needs to be secured in the memory MM, a main program 2 is rolled out to try to secure the area, but a roll-out to a free area UE of the memory SM by a roll- out LO1 is indicated at this time and if the roll-out LO1 can not be performed, the storage device HD is indicated by a roll-out LO3 next to totally shorten the time required to a roll-out process.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は情報処理装置に関し、
特に、異なるアクセス速度を有する複数の記憶装置を内
蔵し、これら記憶装置間でのデータ(プログラムを含
む)交換を行なう情報処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing device,
In particular, the present invention relates to an information processing apparatus that incorporates a plurality of storage devices having different access speeds and exchanges data (including programs) between the storage devices.

【0002】[0002]

【従来の技術】従来より、大型の計算機システムあるい
はワークステーションは、プログラムが実行される記憶
領域として高速小容量の1次記憶装置(主記憶装置)を
備え、その領域を仮想的に大容量とするように仮想記憶
方式を採用する。仮想記憶方式は、磁気ディスク記憶装
置などの低速大容量の2次記憶装置(補助記憶装置)を
利用する。仮想記憶方式においては、一般にアクセス頻
度が高いなどの優先度に従って、優先度の高いプログラ
ムやデータを1次記憶装置に格納し、格納しきれないプ
ログラムやデータは2次記憶装置に格納される。プログ
ラム実行中、2次記憶装置に格納されたプログラムを実
行させる必要が起こると、このプログラムを1次記憶装
置に呼出して、1次記憶装置の上で実行させる。プログ
ラムを2次記憶装置から1次記憶装置に呼出して、1次
記憶装置に格納することをローディングと呼ぶ。ローデ
ィングされるデータやプログラムの分割単位は、セグメ
ントまたはページ単位で行なわれる。
2. Description of the Related Art Conventionally, a large-scale computer system or workstation has a high-speed, small-capacity primary storage device (main storage device) as a storage area in which a program is executed, and the area is assumed to have a virtually large capacity. The virtual memory system is adopted as described above. The virtual storage system uses a low-speed large-capacity secondary storage device (auxiliary storage device) such as a magnetic disk storage device. In the virtual memory system, generally, programs and data with high priority are stored in the primary storage device according to priorities such as high access frequency, and programs and data that cannot be stored are stored in the secondary storage device. When it is necessary to execute the program stored in the secondary storage device during the execution of the program, the program is called to the primary storage device and executed on the primary storage device. Calling a program from the secondary storage device to the primary storage device and storing it in the primary storage device is called loading. The division unit of the loaded data or program is a segment or page unit.

【0003】このように、プログラム実行時必要に応じ
て、2次記憶装置からプログラムが1次記憶装置にロー
ディングされて実行されることにより、1次記憶装置の
同一領域が複数のプログラムにより多重に使用されるこ
とになる。言換えれば、1次記憶装置が複数のプログラ
ムを実行できるだけの記憶領域を有しているかのように
錯覚を起こさせて、いわゆる仮想的に1次記憶装置の大
容量化を図っているわけである。
As described above, when the program is executed, the program is loaded from the secondary storage device into the primary storage device and executed as necessary, so that the same area of the primary storage device is multiplexed by a plurality of programs. Will be used. In other words, the primary storage device has an illusion as if it has a storage area capable of executing a plurality of programs, so that the capacity of the primary storage device is virtually increased. is there.

【0004】さて、仮想記憶方式を採用したプログラム
実行中に、プログラムのローディングが行なわれると、
2次記憶装置から呼出されたプログラムは、既に1次記
憶装置上にあるプログラムのうち不必要になったプログ
ラムに被せられるように、上書されてストアされること
がある。これをオーバレイと呼ぶ。このオーバレイによ
ると、元1次記憶装置上にあったプログラムは消えてし
まうので、これを回避するためにロールイン/ロールア
ウト方式が採用される。
When a program is loaded during execution of the program using the virtual memory system,
A program called from the secondary storage device may be overwritten and stored so as to cover an unnecessary program among programs already on the primary storage device. This is called overlay. According to this overlay, the program existing in the original primary storage device disappears, so the roll-in / roll-out method is adopted to avoid this.

【0005】図11は、従来のロールイン/ロールアウ
ト方式を説明するための図である。ロールイン/ロール
アウト方式は、図11に示されるように情報処理装置内
の1次記憶装置と2次記憶装置との間で行なわれる。図
11の1次記憶装置にはメインプログラム1、2および
3が格納され、2次記憶装置にはメインプログラム0が
格納される。2次記憶装置からメインプログラム0を1
次記憶装置にローディングするとき、既に1次記憶装置
上にあるプログラムを2次記憶装置に退避させ、その後
にメインプログラム0を1次記憶装置に配置する。した
がって、元1次記憶装置上にあったプログラムは消える
ことなく、後で実行再開始可能である。元の1次記憶装
置上にあったプログラムを2次記憶装置に退避させるこ
とをロールアウトと呼び、ロールアウトされたプログラ
ムを1次記憶装置上に再ロードすることをロールインと
呼ぶ。
FIG. 11 is a diagram for explaining a conventional roll-in / roll-out system. The roll-in / roll-out method is performed between the primary storage device and the secondary storage device in the information processing apparatus as shown in FIG. The main programs 1, 2, and 3 are stored in the primary storage device of FIG. 11, and the main program 0 is stored in the secondary storage device. 1 from main program 0 from secondary storage
When loading to the secondary storage device, the program already on the primary storage device is saved to the secondary storage device, and then the main program 0 is placed in the primary storage device. Therefore, the program on the original primary storage device can be restarted later without disappearing. Saving the program that was on the original primary storage device to the secondary storage device is called roll-out, and reloading the rolled-out program onto the primary storage device is called roll-in.

【0006】ロールイン/ロールアウト方式は、あるプ
ログラム実行中に、割込んできた処理の優先度が高いプ
ログラムのため、一時、1次記憶装置のメモリ領域を空
け渡すときにも用いられ、優先度の高いプログラムをロ
ーディングする前に1次記憶装置上の実行中のプログラ
ムをロールアウトし、その後にローディングし、優先度
の高いプログラムの実行終了後、ロールアウトした実行
途中のプログラムをロールインして実行再開始させる。
The roll-in / roll-out method is used also when a memory area of a temporary primary storage device is emptied because a program interrupted during execution of a program has a high priority. Roll out the program being executed on the primary storage device before loading the program having a high frequency, load it afterwards, and roll in the program being executed that has been rolled out after the execution of the program having a high priority is completed. And run again.

【0007】上述のように、仮想記憶方式におけるロー
ルイン/ロールアウト方式は1次記憶装置と2次記憶装
置との間で行なわれていた。
As described above, the roll-in / roll-out method in the virtual memory system has been performed between the primary storage device and the secondary storage device.

【0008】[0008]

【発明が解決しようとする課題】図11の2次記憶装置
は、一般に磁気ディスク記憶装置(以下、HDと呼ぶ)
またはフレキシブルディスク記憶装置(以下、FDと呼
ぶ)からなり、1次記憶装置を構成するDRAM(ダイ
ナミックランダムアクセスメモリ)やSRAM(スタテ
ィックRAM)などに比べるとデータの読出速度および
書込速度が大変遅い。これを、次に詳細に説明する。
The secondary storage device of FIG. 11 is generally a magnetic disk storage device (hereinafter referred to as HD).
Alternatively, the data read speed and the write speed are very slow as compared with a DRAM (Dynamic Random Access Memory) or an SRAM (Static RAM), which is composed of a flexible disk storage device (hereinafter referred to as FD) and constitutes a primary storage device. .. This will be described in detail below.

【0009】図12は、標準的な記憶装置間でのアクセ
ス速度の比較を表形式にして示す図である。
FIG. 12 is a table showing a comparison of access speeds between standard storage devices.

【0010】図12には、1回のアクセス当りのデータ
量を4KBと想定した場合の各メモリについてのアクセ
ス速度の比較が示される。図中の2次記憶装置を構成す
るHDのアクセス速度は、1次記憶装置を構成するSR
AMまたはDRAMのアクセス速度を1に設定して正規
化すると、102 〜103 倍遅いことがわかる。また、
2次記憶装置を構成するFDのアクセス速度についても
同様に、103 〜10 4 倍遅く、1次記憶装置と2次記
憶装置との間ではアクセス速度において大差があること
が明らかである。
FIG. 12 shows data per access.
Access for each memory when the amount is assumed to be 4 KB
A comparison of speeds is shown. Configure the secondary storage device in the figure
The access speed of the HD is the SR that constitutes the primary storage device.
Normal by setting the access speed of AM or DRAM to 1
When turned into 102-103You can see that it is twice as slow. Also,
Regarding the access speed of the FD that constitutes the secondary storage device,
Similarly, 103-10 FourDouble slower primary storage and secondary storage
There is a large difference in access speed between the storage device
Is clear.

【0011】上述したような理由から、1次記憶装置と
2次記憶装置間のアクセス速度の大差が、プログラムの
ロールイン/ロールアウト時のプログラム交換速度を遅
くするという問題を引起こした。さらに、この問題は1
次記憶装置と、1次記憶装置に関連して2次記憶装置を
設けて仮想記憶方式を採用する情報処理装置における処
理速度も遅くするという問題を引起こす。このプログラ
ム交換速度が遅いことは、ロールイン/ロールアウトの
対象プログラムの容量が大きいほど顕著となる。
For the reasons described above, the large difference in access speed between the primary storage device and the secondary storage device causes a problem that the program exchange speed at the time of roll-in / roll-out of the program is slowed down. Furthermore, this problem is 1
This causes a problem that the processing speed in the information processing apparatus adopting the virtual storage system is slowed by providing the secondary storage device and the secondary storage device in association with the primary storage device. The slower program exchange speed becomes more remarkable as the capacity of the roll-in / roll-out target program is larger.

【0012】それゆえに、この発明の目的は、情報処理
装置においてアクセス速度の異なる記憶装置間のプログ
ラムを含むデータの交換処理の高速化を図ることのでき
る情報処理装置を提供することである。
Therefore, an object of the present invention is to provide an information processing apparatus capable of speeding up the process of exchanging data including a program between storage devices having different access speeds in the information processing apparatus.

【0013】[0013]

【課題を解決するための手段】この発明に係る情報処理
装置は、アクセス速度が高速である第1の記憶手段と、
アクセス速度は低速であるが大容量の第2の記憶手段と
を備える情報処理装置において、さらにアクセス速度が
前記第2記憶手段のそれよりも高速である第3記憶手段
を備え、第1記憶手段に格納されるデータをロールアウ
トする場合に、第2または第3記憶手段のいずれか一方
に選択的にロールアウトするよう構成される。
An information processing apparatus according to the present invention comprises first storage means having a high access speed,
An information processing apparatus including a second storage unit having a low access speed and a large capacity, further comprising a third storage unit having an access speed higher than that of the second storage unit, and a first storage unit. When the data stored in the storage device is rolled out, the data is selectively rolled out to one of the second and third storage means.

【0014】また、この発明に係る情報処理装置は、前
述の第1の記憶手段、第2の記憶手段および第3の記憶
手段を備える情報処理装置において、第1判定手段と、
選択手段と、領域確保手段と、第2判定手段と、第1転
送手段と、第2転送手段と、設定手段とをさらに備えて
構成されてもよい。
The information processing apparatus according to the present invention is the information processing apparatus including the above-mentioned first storage means, second storage means and third storage means, and a first determination means,
It may be configured to further include a selection unit, an area securing unit, a second determination unit, a first transfer unit, a second transfer unit, and a setting unit.

【0015】上述の第1判定手段は、第1記憶手段にお
ける第1容量の領域の確保要求に応じて、第1記憶手段
において第1容量の領域の確保が可能か否かを判定する
よう構成される。
The above-mentioned first determination means is configured to determine whether or not the first storage area can be secured in the first storage means in response to a request for securing the first capacity area in the first storage means. To be done.

【0016】上述の選択手段は、第1判定手段による不
可能判定に応じて、第1記憶手段に予め記憶されるデー
タ群のうち、所定基準に一致し、かつそれらを格納する
各領域の容量の総和が第1容量以上の第2容量となるよ
うな少なくとも1つ以上のデータを選択するよう構成さ
れる。
The above-mentioned selecting means, in accordance with the inability judgment by the first judging means, of the data group previously stored in the first storing means, the capacity of each area that matches a predetermined criterion and stores them. Is configured to select at least one or more pieces of data such that the sum of the two becomes a second capacity equal to or larger than the first capacity.

【0017】上述の領域確保手段は第3記憶手段におい
て、前述の第2容量を有する領域を確保し、第2判定手
段は、領域確保手段により領域確保できたか否かを判定
するよう構成される。
The area securing means secures an area having the above-mentioned second capacity in the third storage means, and the second determining means determines whether the area securing means has secured the area. ..

【0018】前述の第1転送手段は、第2判定手段によ
る確保不可の判定に応じて、選択手段により選択された
データを第2記憶手段に転送し、第2転送手段は、第2
判定手段による確保可の判定に応じて、選択手段により
選択されたデータを領域確保手段により確保された第3
記憶手段の前述の第2容量を有する領域に転送するよう
構成される。
The above-mentioned first transfer means transfers the data selected by the selection means to the second storage means in accordance with the determination that the second determination means cannot secure the data, and the second transfer means operates the second storage means.
A third area in which the data secured by the selecting means is secured by the area securing means in accordance with the determination that the securing is possible by the determining means.
It is arranged to transfer to the area of the storage means having the aforementioned second capacity.

【0019】設定手段は、前述の第1または第2転送手
段によるデータ転送後、第1記憶手段において第2容量
を構成する領域を確保可能に設定するよう構成される。
The setting means is configured to set the area constituting the second capacity in the first storage means so that the area can be secured after the data transfer by the first or second transfer means.

【0020】また、上述した選択手段における所定基準
は、第1記憶手段の連続した領域に記憶され、かつ参照
される頻度が低いことを含むような基準であってもよ
い。
Further, the predetermined criterion in the above-mentioned selecting means may be a criterion including that the frequency is stored in a continuous area of the first storage means and referred to infrequently.

【0021】さらに、前述したデータはプログラムを含
むようにしてもよい。
Further, the above-mentioned data may include a program.

【0022】[0022]

【作用】上述した第1の記憶手段と第2の記憶手段とを
備える情報処理装置においては、さらに第3の記憶手段
を備えるだけで、第1記憶手段に格納されるデータのロ
ールアウト先として、第2または第3記憶手段のいずれ
か一方を選択的に指定することができるので、ロールア
ウト先として第3記憶手段が選択された場合は、ロール
アウト処理速度が高速化される。
In the information processing apparatus having the first storage means and the second storage means described above, the third storage means is further provided to serve as the roll-out destination of the data stored in the first storage means. , Either the second or the third storage means can be selectively designated, so that when the third storage means is selected as the rollout destination, the rollout processing speed is increased.

【0023】また、第1記憶手段と第2記憶手段と第3
記憶手段とを備える情報処理装置においては、第2判定
手段の判定結果に応じて、選択手段により選択された第
1記憶手段に格納されるデータが第1および第2転送手
段のいずれか一方を介して、第2および第3記憶手段の
いずれか一方に選択的に転送されるので、第2転送手段
により転送処理が行なわれた場合は、第1転送手段によ
りデータ転送が行なわれた場合よりも転送処理は高速化
され、第1記憶手段における第1容量の領域の確保要求
に応じて行なわれる選択手段により選択されたデータの
転送速度を高速化することが可能となる。
The first storage means, the second storage means, and the third storage means
In the information processing device including the storage means, the data stored in the first storage means selected by the selection means in accordance with the determination result of the second determination means is either the first transfer means or the second transfer means. Since it is selectively transferred to either one of the second and third storage means via the second transfer means, when the transfer processing is performed by the second transfer means, it is more than when the data transfer is performed by the first transfer means. Also, the transfer processing is speeded up, and it is possible to speed up the transfer speed of the data selected by the selection means performed in response to the request to secure the area of the first capacity in the first storage means.

【0024】[0024]

【実施例】以下、この発明の一実施例について図面を参
照して詳細に説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described in detail below with reference to the drawings.

【0025】図1は、本発明の一実施例による情報処理
装置におけるメモリ領域利用時の制御方法を説明するた
めの図である。
FIG. 1 is a diagram for explaining a control method when a memory area is used in an information processing apparatus according to an embodiment of the present invention.

【0026】図2は、図1に示されるメモリ領域利用時
の領域利用状態とプログラムのロールイン/ロールアウ
ト状況とを対応させて示す図である。
FIG. 2 is a diagram showing the area usage state and the program roll-in / roll-out status when the memory area shown in FIG. 1 is used in association with each other.

【0027】本実施例における情報処理装置は、装置内
におけるメモリの未使用部分をプログラムやデータのロ
ールアウトのための領域として利用しながら、処理を進
める方法を採用する。
The information processing apparatus according to the present embodiment employs a method of advancing processing while using an unused portion of the memory in the apparatus as an area for rolling out programs and data.

【0028】まず、図1を参照して本実施例による情報
処理装置におけるメモリ領域利用時の制御方法の概略を
説明する。
First, an outline of a control method when the memory area is used in the information processing apparatus according to the present embodiment will be described with reference to FIG.

【0029】図1に示される制御方法を採用する情報処
理装置は、マルチプロセッサ構成を採用すると想定す
る。
It is assumed that the information processing apparatus adopting the control method shown in FIG. 1 adopts a multiprocessor configuration.

【0030】図1において、情報処理装置のメモリ領域
は、マルチプロセッサのうちメインとなるプロセッサが
有するメインメモリMM、サブとなるプロセッサが有す
るサブプロセッサメモリSMおよびHD(磁気ディスク
記憶装置)を含む。メインメモリMMはメモリ領域M1
〜M4から構成される。サブプロセッサメモリSMはた
とえば6MBの比較的大きな記憶容量を有し、メモリ領
域M5〜M7を含んで構成される。磁気ディスク記憶装
置HDはメインメモリMMおよびサブプロセッサメモリ
SMに比較すると、はるかにその記憶容量は大きく、メ
インプログラムn,m1〜4およびサブプロセッサプロ
グラムを記憶する。アクセス速度を比較すると、その順
位はメインメモリMM,サブプロセッサメモリSM,H
Dの順に高速である。図12で示したようにHDはSR
AMまたはDRAMからなるメモリMMおよびSMに比
較すると、はるかに低速である。
In FIG. 1, the memory area of the information processing apparatus includes a main memory MM included in a main processor of the multiprocessors, a sub processor memory SM included in a sub processor, and an HD (magnetic disk storage device). The main memory MM is a memory area M1
~ M4. Sub-processor memory SM has a relatively large storage capacity of 6 MB, for example, and is configured to include memory areas M5 to M7. The magnetic disk storage device HD has a much larger storage capacity than the main memory MM and the sub processor memory SM, and stores the main programs n, m1 to 4 and the sub processor programs. Comparing the access speeds, the order is the main memory MM, the sub-processor memories SM, H
The speed is high in the order of D. As shown in FIG. 12, HD is SR
It is much slower than the memories MM and SM consisting of AM or DRAM.

【0031】図1には、情報処理装置におけるプログラ
ム実行時のある期間におけるプログラムの記憶状態が示
される。この期間、メインメモリMMにおいては、領域
M1にメインプログラム3が、領域M3にメインプログ
ラム2が、そして領域M4にメインプログラム1がそれ
ぞれストアされる。このとき領域M2はプログラムやデ
ータがストアされず、空きの状態にある。サブプロセッ
サメモリSMには、領域M7にサブプロセッサプログラ
ムがそれぞれストアされる。このとき、メモリSMのメ
モリ領域M7を除くメモリ領域M5およびM6を含む他
のメモリ領域はそこにストアされるプログラムが実行さ
れる見込みが低いなど、いわゆる利用されていない領域
である。以下、このような領域を遊休領域UEと呼ぶ。
また、メインメモリMMにおいては、プログラム実行中
にたとえばプログラムを実行するために新たな領域の確
保が要求される。このように要求されるメモリ上の領域
を要求メモリ領域REと呼ぶ。
FIG. 1 shows the storage state of the program during a certain period when the program is executed in the information processing apparatus. During this period, in the main memory MM, the main program 3 is stored in the area M1, the main program 2 is stored in the area M3, and the main program 1 is stored in the area M4. At this time, the program and data are not stored in the area M2, and the area M2 is in an empty state. In the sub processor memory SM, sub processor programs are stored in the area M7. At this time, the other memory areas including the memory areas M5 and M6 except the memory area M7 of the memory SM are so-called unused areas such that the programs stored therein are unlikely to be executed. Hereinafter, such an area is referred to as an idle area UE.
Further, in the main memory MM, it is required to secure a new area for executing the program during execution of the program. The area on the memory thus requested is called a requested memory area RE.

【0032】次に、図1と図2を参照して、図1におけ
るメモリ領域利用方法を説明する。図2には、メモリ領
域利用時の制御状態として状態1〜5が示される。さら
に状態1〜5に対応してメインメモリMMにおける利用
状態とサブプロセッサメモリSMにおける利用状態が示
される。さらに、メインメモリMMおよびサブプロセッ
サメモリSMの利用状態のそれぞれに対応して、領域R
Eを必要とするプログラムとその時点で不要とされるプ
ログラムに対するロールアウト状況が示される。
Next, the method of using the memory area in FIG. 1 will be described with reference to FIGS. In FIG. 2, states 1 to 5 are shown as control states when the memory area is used. Further, the usage status in the main memory MM and the usage status in the sub processor memory SM are shown corresponding to the statuses 1 to 5. Further, the region R is associated with each of the usage states of the main memory MM and the sub-processor memory SM.
The rollout status for programs that need E and programs that are no longer needed is shown.

【0033】図2の状態1において、メインメモリMM
に十分な空き領域がある。このときメモリMM中のメイ
ンプログラム1〜3のいずれかが要求メモリ領域REを
必要とした場合、領域REをメモリMMの空き領域にお
いて確保することができるので、不要プログラムのロー
ルアウト動作は行なわれない。
In the state 1 of FIG. 2, the main memory MM
There is enough free space. At this time, if any of the main programs 1 to 3 in the memory MM requires the requested memory area RE, the area RE can be secured in the empty area of the memory MM, so that the rollout operation of the unnecessary program is performed. Absent.

【0034】図2の状態2において、メインメモリMM
は空き領域がない(FULL)状態であるが、サブプロ
セッサメモリSMに十分な空き領域がある場合、メモリ
MM中のメインプログラム1または3のいずれかが領域
REを必要とすれば、図1のロールアウトLO1が行な
われ、たとえば不要であるメインプログラム2がサブプ
ロセッサメモリSMの空き領域に転送されて、メモリM
M上に要求メモリ領域REが確保される。
In the state 2 of FIG. 2, the main memory MM
Is in a state where there is no free area (FULL), but when the sub processor memory SM has a sufficient free area, if either the main program 1 or 3 in the memory MM needs the area RE, Rollout LO1 is performed, and unnecessary main program 2 is transferred to an empty area of subprocessor memory SM, and memory M
The required memory area RE is secured on M.

【0035】図2の状態3において、メインメモリMM
がFULLであり、サブプロセッサメモリSMもFUL
Lである場合、メモリMMのメインプログラム1または
3のいずれかが要求メモリ領域REの確保を必要とすれ
ば、ロールアウトLO3によりたとえば不要であるメイ
ンプログラム2がHDに転送されて、メモリMM上に領
域REが確保される。
In state 3 of FIG. 2, main memory MM
Is FULL, and the sub-processor memory SM is also FULL
If it is L, if either the main program 1 or 3 of the memory MM needs to secure the required memory area RE, the rollout LO3 transfers, for example, the unnecessary main program 2 to the HD, and A region RE is secured in the area.

【0036】図2の状態4において、メインメモリMM
がFULLであり、サブプロセッサメモリSMもFUL
Lである場合、メインメモリMMのメインプログラム1
または3が領域REの確保を必要とすれば、まずロール
アウトLO2によりサブプロセッサメモリSMの遊休領
域UEにあるプログラムがHDに転送される。次にロー
ルアウトLO1によりメインメモリMM上のたとえば不
要であるメインプログラム2がサブプロセッサメモリS
M上の領域UEに転送される。これにより、メインメモ
リMM上に要求メモリ領域REが確保される。
In state 4 of FIG. 2, main memory MM
Is FULL, and the sub-processor memory SM is also FULL
If L, the main program 1 of the main memory MM
If 3 or 3 needs to secure the area RE, the program in the idle area UE of the sub-processor memory SM is first transferred to the HD by the rollout LO2. Then, the rollout LO1 causes the unnecessary main program 2 on the main memory MM to be transferred to the sub-processor memory S.
It is transferred to the area UE on M. As a result, the required memory area RE is secured in the main memory MM.

【0037】図2の状態5において、メインメモリMM
がFULLであり、サブプロセッサメモリSMもFUL
Lである場合、サブプロセッサメモリSMのサブプロセ
ッサプログラムが要求メモリ領域REの確保を必要とす
れば、ロールアウトLO2によりサブプロセッサメモリ
SM中の遊休領域REにストアされるプログラムがHD
に転送される。これにより、サブプロセッサメモリSM
にサブプロセッサプログラムが必要とする要求メモリ領
域REが確保される。
In state 5 of FIG. 2, main memory MM
Is FULL, and the sub-processor memory SM is also FULL
If it is L, if the subprocessor program of the subprocessor memory SM needs to secure the required memory area RE, the program stored in the idle area RE in the subprocessor memory SM by the rollout LO2 is HD.
Transferred to. As a result, the sub processor memory SM
The required memory area RE required by the sub processor program is secured.

【0038】上述の方法は、不要なプログラムやデータ
のロールアウトのためのメモリ領域として、まず、メイ
ンメモリMM以外のサブプロセッサメモリSMの遊休領
域UEの有無をチェックする。仮に、メモリSMに遊休
領域UEが存在する場合は、その領域UEをロールアウ
トのための領域として利用しHDは利用されない。逆に
サブプログラムメモリSMに遊休領域UEが存在しない
場合は、従来と同様にHDをロールアウトのための記憶
領域として利用する。
In the above-mentioned method, as a memory area for rolling out unnecessary programs and data, first, the existence of the idle area UE of the sub-processor memory SM other than the main memory MM is checked. If there is an idle area UE in the memory SM, the area UE is used as an area for rollout and the HD is not used. On the contrary, when the idle area UE does not exist in the sub program memory SM, the HD is used as a storage area for rollout as in the conventional case.

【0039】図1では、要求メモリ領域REを確保する
ためにメインメモリMM上のプログラムをロールアウト
するための記憶領域としてサブプロセッサメモリSMを
第1に指向するようにしたが、メインプロセッサとサブ
プロセッサの共有メモリや他の高速アクセスファイル
(ICカードやRAMディスク装置)における遊休領域
UEを指向するようにしてもよい。また、プログラムを
ロールアウトするようにしているが、データを同様にし
てロールアウトすることもできる。
In FIG. 1, the sub processor memory SM is oriented first as a storage area for rolling out a program on the main memory MM in order to secure the required memory area RE. The idle area UE in the shared memory of the processor or other high-speed access file (IC card or RAM disk device) may be directed. Although the program is rolled out, the data can be rolled out in the same manner.

【0040】従来はプログラムやデータのロールアウト
先として一律に2次記憶装置であるHDが指向されてい
たが、本実施例ではまず高速アクセス可能なサブプロセ
ッサメモリSMが指向され、次に低速アクセスのHDが
指向されるので、ロールアウトにおけるデータやプログ
ラムの転送時間は総体して従来より短くなる。また、上
述したロールアウトLO1〜LO3のそれぞれに対応し
て行なわれるロールインLI1〜LI3の動作を含むデ
ータの転送時間も飛躍的に短くすることができる。
Conventionally, the secondary storage device, HD, was uniformly used as the roll-out destination of programs and data, but in the present embodiment, the sub-processor memory SM that can be accessed at high speed is directed first, and then the low-speed access is performed. Since the HD is aimed at, the transfer time of the data and the program in the rollout becomes shorter as a whole than before. Further, the data transfer time including the operations of the roll-ins LI1 to LI3 performed corresponding to each of the rollouts LO1 to LO3 described above can be dramatically shortened.

【0041】図3は、本発明の一実施例による文書処理
専用ワークステーションのブロック図である。
FIG. 3 is a block diagram of a document processing dedicated workstation according to one embodiment of the present invention.

【0042】図4(a)〜(c)は、図3の文書処理専
用ワークステーション稼動時、図1の制御方法に従った
該ワークステーションにおけるメモリ領域利用状況を説
明する図である。
FIGS. 4 (a) to 4 (c) are diagrams for explaining the memory area utilization state in the workstation according to the control method of FIG. 1 when the workstation dedicated to document processing of FIG. 3 is operating.

【0043】図3のワークステーションは、人間への応
答性、操作性の向上を図るようにメインモジュールX、
グラフィックモジュールYおよび入力制御モジュールZ
を含む階層型のマルチプロセッサ構成を採用している。
The workstation shown in FIG. 3 has a main module X, which improves responsiveness to humans and operability.
Graphic module Y and input control module Z
Hierarchical multiprocessor configuration including is adopted.

【0044】広く利用されているシングルプロセッサ、
単一バスの構造では、たとえばマウス操作などのレスポ
ンスの要求が高い処理から、負荷が重いエディタ編集処
理までを同一のオペレーティングシステムの上にソフト
ウェアにして作成されているため、相互の処理内容と性
能によって、その動作や応答性が予想しにくい。したが
って、プリンタ、キーボード、マウス、およびスキャナ
などを含むマルチメディアを取扱うことが可能で、かつ
応答が高速であるシステムが望まれる。そこで、図3の
ワークステーションでは、各機能ごとに専用のプロセッ
サを含んだハードウェアモジュールX〜Zを個別に分離
して準備し、それらを階層的に積上げてこの要望に応え
ている。
A widely used single processor,
With the structure of a single bus, processing from a high response request such as mouse operation to heavy editor editing processing is created as software on the same operating system, so mutual processing content and performance Therefore, it is difficult to predict the behavior and responsiveness. Therefore, a system capable of handling multimedia including a printer, a keyboard, a mouse, a scanner, and the like, and having a fast response is desired. Therefore, in the workstation shown in FIG. 3, the hardware modules X to Z each including a dedicated processor are separately prepared for each function, and these modules are hierarchically stacked to meet this demand.

【0045】図3においてメインモジュールXは文書編
集、ファイル処理および通信処理を行なうように、メイ
ンCPU(中央処理装置)1、メインメモリ2、HD
3、ROMからなり、日本語処理ために設けられるAI
辞書4、外部との通信を制御するLAN(ローカルエリ
アネットワーク)制御部5を含む。さらに、メインモジ
ュールXはメインCPU1に接続されるバスと装置外部
を接続するバスとのバス仕様の差に従ってデータフォー
マットを変換するためのバス変換部6、入出力制御部
7、ワークステーションの外部に取付けられる外付HD
9と該ワークステーションとを接続するためのSCSI
(スモールコンピュータシステムインタフェース)8、
制御部7を介してメインCPU1に接続されるプリンタ
10およびFD11を含む。上述のHD3および外付H
D9はメインメモリ2を仮想的に大容量とするための仮
想記憶装置として設けられる。
In FIG. 3, the main module X performs main document editing, file processing and communication processing so that the main CPU (central processing unit) 1, main memory 2 and HD can be used.
3. AI that consists of ROM and is provided for processing Japanese
It includes a dictionary 4 and a LAN (local area network) controller 5 for controlling communication with the outside. Further, the main module X is provided outside the bus conversion unit 6, the input / output control unit 7, and the workstation for converting the data format according to the difference in bus specifications between the bus connected to the main CPU 1 and the bus connecting the outside of the device. External HD attached
9 for connecting the workstation and the workstation
(Small computer system interface) 8,
The printer 10 and the FD 11 are connected to the main CPU 1 via the control unit 7. The above HD3 and external H
D9 is provided as a virtual storage device for virtually increasing the capacity of the main memory 2.

【0046】グラフィックモジュールYは、高精度の表
示制御を行なうように、グラフィックCPU12、ベク
トル描画部14、CRT(陰極線管)16およびCRT
167に関連して設けられるフレームメモリ15を含
む。
The graphic module Y is provided with a graphic CPU 12, a vector drawing unit 14, a CRT (cathode ray tube) 16 and a CRT so as to perform highly accurate display control.
A frame memory 15 provided in association with 167 is included.

【0047】入力制御モジュールZは入力制御CPU1
7、入出力制御部20、入出力制御部20を介し入力制
御CPU17接続される外部操作可能なマウス21およ
びキーボード22を含む。
The input control module Z is the input control CPU 1
7, an input / output control unit 20, an externally operable mouse 21 and a keyboard 22 connected to the input control CPU 17 via the input / output control unit 20.

【0048】また、モジュールX、Y、Zはそれぞれ独
自のシステムソフトウェア(オペレーティングシステム
を含む)を有する。モジュールXのシステムソフトウェ
アはメインメモリ2の利用を制御および管理するために
メインメモリ管理プログラム(以下、メインメモリ管理
と呼ぶ)を含む。モジュールYのシステムソフトウェア
は該モジュール内のメモリの利用を制御および管理する
ためにグラフィックメモリ管理プログラム(以下、グラ
フィックメモリ管理と呼ぶ)を含む。
Each of the modules X, Y and Z has its own system software (including an operating system). The system software of the module X includes a main memory management program (hereinafter referred to as main memory management) for controlling and managing the use of the main memory 2. The system software of module Y includes a graphic memory management program (hereinafter referred to as graphic memory management) to control and manage the use of memory in the module.

【0049】上述のように該ワークステーションでは、
その入力側に近い方から入力制御モジュールZ、グラフ
ィックモジュールYおよびメインモジュールXの順に階
層的に積上げ、それぞれの層間、つまりメインモジュー
ルXとグラフィックモジュールYとの間に共有メモリ1
3を設け、グラフィックモジュールYと入力制御モジュ
ールZとの間には共有メモリ18およびローカルメモリ
19を設けることによって、各モジュール間の情報交換
を行なうようなアーキテクチャが実現されている。な
お、メモリ2、13、15、18および19は高速アク
セス可能な半導体メモリである。また、このように階層
構造を採用した処理の分散とバスの多重化により、画像
処理のような大容量データ処理から、マウス制御のよう
なレスポンスの高い処理までを一元的に対応することが
できる。
As described above, in the workstation,
The input control module Z, the graphic module Y, and the main module X are stacked in this order from the side closer to the input side, and the shared memory 1 is provided between the layers, that is, between the main module X and the graphic module Y.
3 is provided, and the shared memory 18 and the local memory 19 are provided between the graphic module Y and the input control module Z, thereby realizing an architecture for exchanging information between the modules. The memories 2, 13, 15, 18, and 19 are semiconductor memories that can be accessed at high speed. In addition, the distributed processing and the multiplexing of the buses adopting the hierarchical structure as described above can centrally deal with large-capacity data processing such as image processing to highly responsive processing such as mouse control. ..

【0050】図3のワークステーションでは、画像デー
タの取扱いをするグラフィックモジュールYが、印字の
ためのデータバッファ(以下、印字用バッファと呼ぶ)
として広大なメモリ空間を予め図2の共有メモリ13上
に準備している。印字用バッファはプリンタ10に関連
して設けられ、プリンタ10の印字動作時以外は必要と
されないので、通常は、遊休領域UEである。そこで、
メインモジュールXは、メインメモリ2からプログラム
をロールアウトする場合、プログラムのロールアウト先
として、まず共有メモリ13の遊休領域UEを指向し、
次に2次記憶装置であるHD3または外付HD9を指向
する。
In the workstation of FIG. 3, the graphic module Y for handling image data has a data buffer for printing (hereinafter referred to as a printing buffer).
A vast memory space is prepared in advance on the shared memory 13 in FIG. Since the print buffer is provided in association with the printer 10 and is not required except during the printing operation of the printer 10, it is normally the idle area UE. Therefore,
When the program is rolled out from the main memory 2, the main module X first directs the idle area UE of the shared memory 13 as the roll-out destination of the program,
Next, the secondary storage device HD3 or the external HD9 is directed.

【0051】図3のワークステーションのシステム立上
げ時には、共有メモリ13の印字用バッファは遊休領域
UEである場合が多い。したがって、システム立上げ直
後には、メインメモリ2のプログラムのロールアウト先
として、無条件に共有メモリ13を第1に指向する。こ
の印字用バッファは該ワークステーション稼動中に、必
要に応じて印字用データが記憶されて遊休領域UEでな
い状態があるので、そのときはメインメモリ2における
プログラムのロールアウト先として2次記憶装置である
HD3または外付HD9が指向される。
When the system of the workstation of FIG. 3 is started up, the print buffer of the shared memory 13 is often the idle area UE. Therefore, immediately after the system is started up, the shared memory 13 is unconditionally directed to the first as the roll-out destination of the program in the main memory 2. Since the printing buffer stores the printing data as needed and is not in the idle area UE during the operation of the workstation, at this time, the secondary storage device is used as the roll-out destination of the program in the main memory 2. A certain HD3 or external HD9 is directed.

【0052】以下、説明を簡単にするために、メインメ
モリ2におけるプログラムのロールアウト先として第1
に共有メモリ13の遊休領域UEが指向され、第2に外
付HD9が指向されると想定する。
In the following, in order to simplify the explanation, the first roll-out destination of the program in the main memory 2 is the first.
It is assumed that the idle area UE of the shared memory 13 is pointed to and the second is the external HD 9.

【0053】図4(a)〜(c)には、図3の文書処理
専用ワークステーション稼動時、前述した図1の制御方
法に従った該ワークステーションにおけるメモリ領域利
用状況が示される。
FIGS. 4 (a) to 4 (c) show the usage status of the memory area in the workstation according to the control method of FIG. 1 when the workstation dedicated to document processing of FIG. 3 is operating.

【0054】図4(a)はワークステーション稼動時に
モジュールXがメインメモリ2においてxKBの区画
(メモリ領域のこと)の割付を必要とした場合に、メイ
ンメモリ2に空き領域EE(>xKB)があったので、
メインメモリ2にxKBの区画を割付けて、この区画に
区画番号Pを付けた状況が示される。
FIG. 4A shows that when the module X needs to allocate a section (memory area) of xKB in the main memory 2 when the workstation is operating, an empty area EE (> xKB) is created in the main memory 2. because there was,
A situation in which a section of xKB is allocated to the main memory 2 and a section number P is given to this section is shown.

【0055】図4(b)は、ワークステーション稼動時
にモジュールXがメインメモリ2にストアされた区画番
号Qの大きさyKBのプログラムαを共有メモリ13の
遊休領域UEにロールアウトした場合が示される。この
とき、メインメモリ2にはyKBの空き領域が新たに確
保され、共有メモリ13にはプログラムαがロールアウ
トされたことによるyKBのロールアウト領域LOMが
含まれる。
FIG. 4B shows a case where the module X rolls out the program α of the size yKB of the partition number Q stored in the main memory 2 to the idle area UE of the shared memory 13 when the workstation is in operation. .. At this time, a free area of yKB is newly secured in the main memory 2, and the shared memory 13 includes a roll-out area LOM of yKB due to the roll-out of the program α.

【0056】図4(c)はワークステーション稼動時に
モジュールXがメインメモリ2におけるyKBのプログ
ラムαをHD9にロールアウトした場合が示される。こ
のとき、メインメモリ2にはyKBの空き領域が新たに
確保され、HD9にはロールアウトされたプログラムα
がストアされるyKBのロールアウト領域LOMが含ま
れる。
FIG. 4C shows a case where the module X rolls out the yKB program α in the main memory 2 to the HD 9 when the workstation is operating. At this time, a free space of yKB is newly secured in the main memory 2, and the rolled-out program α is stored in the HD 9.
The roll-out area LOM of yKB in which is stored is included.

【0057】図5は、図3の文書処理専用ワークステー
ション稼動時における図1の制御方法に従ったメモリ領
域利用の手順を示すフロー図である。
FIG. 5 is a flow chart showing a procedure for using the memory area according to the control method of FIG. 1 when the dedicated document processing workstation of FIG. 3 is operating.

【0058】図6(a)および(b)は、図5のフロー
に従う処理実行中に参照されるテーブルの構成の一例を
示す図である。
FIGS. 6 (a) and 6 (b) are diagrams showing an example of the configuration of a table referred to during the execution of the process according to the flow of FIG.

【0059】図6(a)には、メモリ管理テーブルMT
Bの構成の一例が示される。図6(b)には、空き領域
テーブルETBの構成の一例が示される。
FIG. 6A shows the memory management table MT.
An example of a B configuration is shown. FIG. 6B shows an example of the structure of the free space table ETB.

【0060】図6(a)のメモリ管理テーブルMTBお
よび空き領域テーブルETBのそれぞれは各メモリに対
応して個々に設けられる。
Each of the memory management table MTB and the free area table ETB of FIG. 6A is provided individually corresponding to each memory.

【0061】図6(a)においてテーブルMTBはメモ
リに設けられる各区画について区画番号f、容量cp、
先頭番地hb、領域の状態stを含む。区画番号fは、
該区画をメモリ上で一意に特定するために付けられる番
号であり、図6(a)に示されるように、たとえば昇順
に連続する。容量cpは該区画の大きさを示し、先頭番
地hbは該区画のメモリ上における先頭アドレスを示
し、領域の状態stは該区画にプログラムまたはデータ
がストアされているか否かを示し、ストアされていない
場合は“空き”となりストアされている場合は“割付”
と設定される。
In FIG. 6A, the table MTB shows a partition number f, a capacity cp, and a partition number f for each partition provided in the memory.
The start address hb and the state st of the area are included. Section number f is
This is a number assigned to uniquely identify the partition on the memory, and as shown in FIG. 6A, it is continuous in ascending order, for example. The capacity cp indicates the size of the section, the start address hb indicates the start address of the section on the memory, the state st of the area indicates whether or not a program or data is stored in the section, and is stored. If there is no store, it is "empty", and if it is stored, "assignment"
Is set.

【0062】図6(b)の空き領域テーブルETBはメ
モリ管理テーブルMTBに関連して設けられ、メモリ管
理テーブルMTBにより管理されるメモリの区画のうち
領域の状態st=“空き”であるものを集中的に管理す
る。つまり、メモリ管理テーブルMTBに登録される区
画のうち領域の状態st=“空き”である区画のそれぞ
れについて、参照フラグF、区画番号DN、容量CP、
先頭番地HBおよび領域の状態STが設けられる。参照
フラグFは該区画にストアされるプログラムやデータが
参照される(アクセスされる)と“1”にセットされ
る。区画番号DNは該区画を一意に特定するための番号
であり、メモリ管理テーブルMTBのそれに一致する。
容量CPは該区画の大きさを示し、先頭番地HBは該区
画のメモリ上における先頭アドレスを示し、領域の状態
STはメモリ管理テーブルMTBの領域の状態stと同
様に該区画が“空き”および“割付”のいずれであるか
を示す。この場合、領域の状態STには該区画が空き領
域であることを示すために“空き”が設定される。
The empty area table ETB of FIG. 6B is provided in association with the memory management table MTB, and the one of the areas of the memory managed by the memory management table MTB that has the area state st = “empty”. Manage centrally. That is, of the partitions registered in the memory management table MTB, the reference flag F, partition number DN, capacity CP, and
The head address HB and the state ST of the area are provided. The reference flag F is set to "1" when a program or data stored in the section is referred to (accessed). The partition number DN is a number for uniquely identifying the partition and matches with that of the memory management table MTB.
The capacity CP indicates the size of the section, the head address HB indicates the head address in the memory of the section, and the state ST of the area indicates that the section is “empty” like the state st of the area of the memory management table MTB. Indicates whether it is an "allocation". In this case, "empty" is set in the area state ST to indicate that the partition is an empty area.

【0063】図3のワークステーションのメインメモリ
管理はメインメモリ2に対して設けられるメモリ管理テ
ーブルMTBおよび空き領域テーブルETBをアクセス
するので、そこにストアされるデータはメインメモリ管
理により読書きされる。また同様にグラフィックモジュ
ールY中の各メモリに対して設けられるメモリ管理テー
ブルMTBおよび空き領域テーブルETBについてもグ
ラフィックモジュール管理によりそこにストアされるデ
ータが読書きされる。このように、各メモリに対して設
けられるテーブルMTBおよびETBは、該ワークステ
ーション稼動時に、メモリの利用状況に従ってデータ更
新される。
Since the main memory management of the workstation of FIG. 3 accesses the memory management table MTB and the free area table ETB provided for the main memory 2, the data stored therein is read and written by the main memory management. .. Similarly, the data stored in the memory management table MTB and the empty area table ETB provided for each memory in the graphic module Y are read and written by the graphic module management. In this way, the data in the tables MTB and ETB provided for each memory is updated according to the usage status of the memory when the workstation is operating.

【0064】以下、図5の手順について、図3〜図6を
参照しながら説明する。図3のワークステーションに電
源が投入されてシステムが立上げられると、ワークステ
ーションは起動してデータ処理を開始する。ワークステ
ーション稼動中、メインモジュールXが、たとえばメイ
ンメモリ2上に容量xKBの一時バッファの確保を要求
したと想定する。この区画の割付要求に応じて図5の容
量xKBの区画の割付要求処理のための一連の処理が実
行開始される。
The procedure of FIG. 5 will be described below with reference to FIGS. When the workstation of FIG. 3 is powered on and the system is booted, the workstation boots and begins data processing. It is assumed that the main module X requests, for example, a temporary buffer of a capacity xKB on the main memory 2 while the workstation is operating. In response to the allocation request for this partition, a series of processing for allocation request processing for the partition of capacity x KB in FIG. 5 is started.

【0065】メインモジュールXが容量xKBの区画の
割付を要求すると、これは割込として処理され図5のス
テップS1(図中S1と略す)のサブルーチンSUB1
に処理が移る。サブルーチンSUB1の詳細は後述する
が、ここではメインメモリ管理がメインメモリ2上に容
量xKBの区画の割付を行なうよう処理する。サブルー
チンSUB1による区画の割付処理が終了すると、処理
はモジュールXに戻り次のステップS2において、メモ
リ2において区画の割付が成功したか否かが判定され
る。区画の割付が図4(a)のように成功したと判定さ
れるならば、次のステップS3の処理に移行し、メイン
メモリで割付られた区画番号(=P)を直前の割込によ
り処理が中断されていたプログラムに渡して、そのプロ
グラムの実行を再開始する。
When the main module X requests allocation of a section of capacity xKB, this is processed as an interrupt, and the subroutine SUB1 of step S1 of FIG. 5 (abbreviated as S1 in the figure).
The process moves to. The details of the subroutine SUB1 will be described later, but here, the main memory management processes so as to allocate the section of the capacity x KB on the main memory 2. When the section allocation processing by the subroutine SUB1 is completed, the process returns to the module X and in the next step S2, it is determined whether or not the section allocation in the memory 2 is successful. If it is determined that the partition allocation has succeeded as shown in FIG. 4A, the process proceeds to the next step S3, and the partition number (= P) allocated in the main memory is processed by the immediately preceding interrupt. To the program that was suspended and restart the program's execution.

【0066】前述のステップS2の処理においてメイン
メモリ2上に容量xKBの区画の割付ができなかったな
らば、次のステップS4のサブルーチンSUB2に移
る。
If the partition of the capacity xKB cannot be allocated on the main memory 2 in the process of step S2, the process proceeds to the subroutine SUB2 of the next step S4.

【0067】サブルーチンSUB2の処理の詳細につい
ては後述するが、ここではメインメモリ管理がメインメ
モリ2上に容量xKBの一時バッファを確保するため
に、メインメモリ2上で実行されていないy(≧x)K
Bのプログラムαを選択する。この選択されたプログラ
ムαがメインメモリ2からロールアウトされるプログラ
ムである。ロールアウトされるプログラムαが選択され
ると、サブルーチンSUB2の処理は終了し、処理はス
テップS5に移る。
The details of the processing of the subroutine SUB2 will be described later, but here, in order for the main memory management to secure the temporary buffer of the capacity xKB in the main memory 2, y (≧ x is not executed in the main memory 2). ) K
Select the program α of B. This selected program α is a program that is rolled out from the main memory 2. When the program α to be rolled out is selected, the process of the subroutine SUB2 ends, and the process proceeds to step S5.

【0068】ステップS5においては、前述のサブルー
チンSUB1の処理が開始される。ステップS5のサブ
ルーチンSUB1は、グラフィックメモリ管理によって
実行され、グラフィックメモリ管理は前述のステップS
4において選択されたプログラムαのロールアウト先で
あるyKBの区画の割付を共有メモリ13上において行
なうように処理する。この割付処理終了後、処理はモジ
ュールXに戻り次のステップS6に移行する。
In step S5, the process of the above-mentioned subroutine SUB1 is started. The subroutine SUB1 of step S5 is executed by the graphic memory management, and the graphic memory management is performed by the above-mentioned step S5.
The allocation of the yKB partition, which is the roll-out destination of the program α selected in 4, is performed on the shared memory 13. After this allocation process is completed, the process returns to the module X and moves to the next step S6.

【0069】ステップS6においては、ステップS5に
おいてグラフィックメモリ管理により共有メモリ13上
にyKBの区画の割付が成功したか否かが判定される。
割付に成功したと判定されるならば、次のステップS7
の処理に移行する。
In step S6, it is determined whether or not the allocation of the yKB section on the shared memory 13 has succeeded by the graphic memory management in step S5.
If it is determined that the allocation is successful, the next step S7
Process shifts to.

【0070】ステップS7の処理においては、共有メモ
リ13上にグラフィックメモリ管理によりyKBの新た
な区画の割付が行なわれたことに応じて、メインメモリ
2上のプログラムαが共有メモリ13上へロールアウト
される。この様子を図示したものが図4(b)である。
図4(b)において、メインメモリ2上のロールアウト
すべきプログラムαはグラフィックメモリ管理により共
有メモリ13上に区画割付されたロールアウト領域LO
Mにロールアウトされる。したがって、メインメモリ2
上には区画番号Qの空き領域ができる。その後処理は後
述するステップS9の処理に移行する。
In the process of step S7, the program α in the main memory 2 is rolled out to the shared memory 13 in response to the allocation of a new partition of yKB to the shared memory 13 by the graphic memory management. To be done. FIG. 4B shows this state.
In FIG. 4B, the program α to be rolled out on the main memory 2 is a roll-out area LO divided into the shared memory 13 by the graphic memory management.
Rolled out to M. Therefore, the main memory 2
There is an empty area of the section number Q on the top. After that, the process proceeds to the process of step S9 described later.

【0071】前述のステップS6の処理に戻り、ステッ
プS5においてグラフィックメモリ管理により共有メモ
リ13上に容量yKBの新たな区画の割付ができなかっ
た場合は、ステップS8の処理が実行される。
Returning to the processing of step S6, if a new partition of the capacity yKB cannot be allocated on the shared memory 13 by the graphic memory management in step S5, the processing of step S8 is executed.

【0072】ステップS8の処理においては、メインメ
モリ2上のロールアウトすべきプログラムαがHD9へ
ロールアウトされる。この様子が図4(c)に示され
る。図4(c)には、メインメモリ2上のロールアウト
すべきプログラムαがHD9上のロールアウト領域LO
Mにロールアウトされる様子が示される。これにより、
メインメモリ2上には容量yKBの空き領域ができる。
その後処理はステップS9に移行する。
In the process of step S8, the program α to be rolled out on the main memory 2 is rolled out to the HD 9. This state is shown in FIG. In FIG. 4C, the program α to be rolled out on the main memory 2 is the rollout area LO on the HD 9.
It is shown to be rolled out to M. This allows
A free area of capacity yKB is created on the main memory 2.
Thereafter, the processing shifts to step S9.

【0073】なお、前述したステップS8の処理は、既
にHD9にプログラムαが格納されている場合は、不必
要な処理であり行なわれない。
The process of step S8 described above is unnecessary and is not performed when the program α is already stored in the HD 9.

【0074】ステップS9の処理においては、メインメ
モリ管理がメインメモリ2上でプログラムαが利用して
いた区画(区画番号=Q)が空き領域となるように開放
処理が行なわれる。この処理の詳細については後述する
が、メインメモリ2上で区画番号=Qの区画の開放処理
が行なわれると、処理は再び前述のステップS1の処理
に戻り、メインモジュールXが新たな区画の割付要求を
出すことによって発生する次の割込に備える。
In the processing of step S9, the main memory management is performed so that the partition (partition number = Q) used by the program α on the main memory 2 becomes an empty area. Although the details of this processing will be described later, when the processing of opening the partition of the partition number = Q on the main memory 2 is performed, the processing returns to the processing of step S1 described above, and the main module X allocates a new partition. Be prepared for the next interrupt generated by issuing a request.

【0075】以上のように、メインモジュールXが区画
の割付を要求すると、まず、ステップS1のサブルーチ
ンSUB1により、メインメモリ2上に区画の割付が行
なわれる。このときメインメモリ2上に区画の割付がで
きなかった場合は、ステップS4ないしステップS9の
処理が実行されて、メインメモリ2上のプログラムαを
まず共有メモリ13にロールアウトしようとする。メイ
ンメモリ2上のプログラムαを共有メモリ13にロール
アウトできない場合は、HD9にロールアウトする。こ
のように、メインメモリ2上で新たな区画割付要求が発
生した場合、メインメモリ2からロールアウトするプロ
グラムのロールアウト先としてまず共有メモリ13を指
向し、共有メモリ13へのロールアウトが不可能な場
合、次にHD9へのロールアウトを指向するようにして
いる。
As described above, when the main module X requests the partition allocation, the subroutine SUB1 in step S1 first allocates the partition on the main memory 2. If the partition cannot be allocated on the main memory 2 at this time, the processes of steps S4 to S9 are executed to first roll out the program α on the main memory 2 to the shared memory 13. If the program α on the main memory 2 cannot be rolled out to the shared memory 13, it is rolled out to the HD 9. Thus, when a new partition allocation request occurs in the main memory 2, the shared memory 13 is first directed as the roll-out destination of the program to be rolled out from the main memory 2, and the roll-out to the shared memory 13 is impossible. In that case, the rollout to the HD 9 is directed next.

【0076】図7は、図5に示されるサブルーチンSU
B1の処理フロー図である。図8は、図5に示されるサ
ブルーチンSUB2の処理フロー図である。
FIG. 7 shows the subroutine SU shown in FIG.
It is a processing flow figure of B1. FIG. 8 is a process flow diagram of the subroutine SUB2 shown in FIG.

【0077】図9(a)〜(d)は、図5の手順に従っ
た場合に得られるメインメモリ利用状態の例を示す図で
ある。
FIGS. 9A to 9D are diagrams showing examples of the main memory utilization state obtained when the procedure of FIG. 5 is followed.

【0078】図10は、図5に示されるサブルーチンS
UB3の処理フロー図である。次に、図5に示されるメ
モリ領域利用の手順を、図7ないし図10を参照しなが
ら、各サブルーチン処理を含めて説明する。
FIG. 10 is a subroutine S shown in FIG.
It is a processing flow figure of UB3. Next, the procedure for using the memory area shown in FIG. 5 will be described with reference to FIGS.

【0079】図5において、メインモジュールXが容量
xKBの区画の割付を要求すると、これが割込として処
理され、ステップS1の処理が実行され、図7のサブル
ーチンSUB1が実行される。
In FIG. 5, when the main module X requests allocation of a section of capacity xKB, this is processed as an interrupt, the process of step S1 is executed, and the subroutine SUB1 of FIG. 7 is executed.

【0080】図7のサブルーチンSUB1は容量xKB
の区画の割付要求を受けて、メインメモリ管理の制御に
より実行される。
The subroutine SUB1 in FIG. 7 has a capacity x KB.
In response to the allocation request for the section, the program is executed under the control of the main memory management.

【0081】メインモジュールXからメインメモリ2上
に容量xKBの新たな区画の割付要求があると、メイン
メモリ管理は、サブルーチンSUB1の実行を開始す
る。まずステップS20ないしステップS24を含むル
ープ処理を繰り返しながらメインメモリ2に関する空き
領域テーブルETBを先頭から検索して(容量CP≧x
KB)である区画を特定する。このとき、ループ処理を
繰返すことによりテーブルETBを先頭から最終まで検
索した結果、(容量CP≧xKB)である区画がないこ
とが判別されれば、メインメモリ2上には容量xKBの
新たな区画割付はできないので、このループ処理を抜け
てステップS25の処理が行なわれ、サブルーチンSU
B1の処理を終了して、割付不可能の旨のデータをメイ
ンモジュールXに渡す。
When there is a request from the main module X to allocate a new section of the capacity xKB on the main memory 2, the main memory management starts execution of the subroutine SUB1. First, the free space table ETB relating to the main memory 2 is searched from the beginning while repeating the loop processing including steps S20 to S24 (capacity CP ≧ x
Identify the partition that is KB). At this time, as a result of searching the table ETB from the beginning to the end by repeating the loop processing, if it is determined that there is no partition of (capacity CP ≧ xKB), a new partition of capacity xKB on the main memory 2 is determined. Since the assignment is not possible, the process of step S25 is performed after exiting this loop process, and the subroutine SU
The process of B1 is ended, and the data indicating that the allocation is impossible is passed to the main module X.

【0082】一方、空き領域テーブルETBを先頭から
検索して、(容量CP≧xKB)である区画を1つ特定
できたら、直ちにこのループ処理を抜けて、ステップS
26ないしS31の処理が実行される。
On the other hand, when the free area table ETB is searched from the beginning and one partition having (capacity CP.gtoreq.xKB) can be specified, this loop processing is immediately exited and step S
The processing of 26 to S31 is executed.

【0083】ステップS26ないしステップS31の処
理においては、メインメモリ2の空き領域テーブルET
Bを検索して、メインメモリ2上に(容量CP≧xK
B)である区画があると判別されたことに応じて、特定
されたメインメモリ2上の区画に関してテーブルETB
とテーブルMTBのデータ更新処理が行なわれる。つま
り、特定された区画について(容量CP=xKB)であ
る場合は、ステップS26の処理において特定された区
画についてテーブルETBのデータをすべて空にする
(意味のないデータにする)。(容量CP>xKB)で
ある場合は、ステップS27ないしS29の処理におい
て特定された区画についてテーブルETBのデータをx
KBを用いて更新するので、該区画の容量CPは(CP
−x)KBとなり、先頭番地HBは(HB+x)とな
る。
In the processing of steps S26 to S31, the empty area table ET of the main memory 2
B is searched and stored in the main memory 2 (capacity CP ≧ xK
Table ETB regarding the specified section in the main memory 2 in response to the determination that there is a section that is B).
And the data updating process of the table MTB is performed. That is, if the specified partition is (capacity CP = xKB), all the data in the table ETB is emptied (sets meaningless data) for the partition specified in the process of step S26. If (capacity CP> xKB), the data in the table ETB is x for the partition specified in the processing of steps S27 to S29.
Since it is updated using KB, the capacity CP of the partition is (CP
-X) KB, and the head address HB becomes (HB + x).

【0084】上述した特定区画について空き領域テーブ
ルETBのデータ更新後は、特定された区画の区画番号
DNを区画番号Pに設定する。さらに、メインメモリ2
に容量xKBの新たな区画割付がなされたので、区画番
号PについてのテーブルMTBの領域の状態stを“割
付”に設定する。
After updating the data of the free area table ETB for the above-mentioned specific partition, the partition number DN of the specified partition is set to the partition number P. In addition, the main memory 2
Since a new partition allocation of the capacity xKB has been made in the above, the state st of the area of the table MTB for the partition number P is set to "allocation".

【0085】このように、容量xKBの新たな区画割付
をメインメモリ2上で行なうように空き領域テーブルE
TBおよびメモリ管理テーブルMTBをデータ更新する
とともに、メインメモリ2上で新たに割付けられた区画
番号PをメインモジュールXに渡して、サブルーチンS
UB1の処理を終了する。
As described above, the empty area table E is used so that the new partition allocation of the capacity xKB is performed on the main memory 2.
The TB and the memory management table MTB are updated, and the partition number P newly allocated on the main memory 2 is passed to the main module X, and the subroutine S is executed.
The process of UB1 ends.

【0086】図5のステップS2の処理に戻り、前述し
たサブルーチンSUB1から渡されたデータを判別し
て、区画番号Pが渡された場合はメインメモリ2上に容
量xKBの区画割付が成功したことから次のステップS
3に移行して、処理はメインモジュールXに復帰する。
このとき、メインメモリ2上の新たな区画割付状態は図
4(a)のようになる。
Returning to the processing of step S2 in FIG. 5, the data passed from the above-mentioned subroutine SUB1 is discriminated, and when the partition number P is passed, it means that the partition allocation of the capacity xKB on the main memory 2 has succeeded. To the next step S
Then, the process returns to the main module X.
At this time, the new partition allocation state on the main memory 2 is as shown in FIG.

【0087】サブルーチンSUB1から割付不可能の旨
のデータが渡された場合は、ステップS2の処理におい
て、メインメモリ2上に容量xKBの区画割付が不可能
であったと判断され、ステップS4のサブルーチンSU
B2の処理が実行される。
When the data indicating that allocation is impossible is passed from the subroutine SUB1, it is determined in the process of step S2 that the partition of the capacity xKB cannot be allocated on the main memory 2, and the subroutine SUB of step S4 is executed.
The processing of B2 is executed.

【0088】図8にサブルーチンSUB2の処理が示さ
れる。この処理はメインメモリ管理の制御によって実行
される。
FIG. 8 shows the processing of the subroutine SUB2. This processing is executed under the control of main memory management.

【0089】図8のサブルーチンSUB2は、前述した
サブルーチンSUB1の処理においてメインメモリ2上
に容量xKBの区画割付をするだけの空き領域がないこ
とに応じて、メモリ2上に格納されるプログラムのう
ち、不要であるプログラムを選択し、これをロールアウ
トすることにより、メモリ2上に容量xKBの区画割付
をできるだけの空き領域を新たに作ろうとする処理であ
る。
The subroutine SUB2 of FIG. 8 is one of the programs stored in the memory 2 when the main memory 2 does not have a free area for partitioning the capacity x KB in the processing of the above-mentioned subroutine SUB1. In this process, an unnecessary program is selected and rolled out to newly create a free area in the memory 2 that allows partition allocation of the capacity xKB.

【0090】詳細には、メインメモリ2に関する空き領
域テーブルETBを先頭から順に検索して、まず参照フ
ラグFについて(F=1)か否かを判別する(ステップ
S42)。(F=1)である場合、該区画にストアされ
るプログラムは最近参照(アクセス)されたので、ロー
ルアウトするプログラム候補からは除外され、次に該プ
ログラムは実行中であるか否かが判別される(ステップ
S49)。このとき、プログラム実行中と判別されれ
ば、空き領域テーブルETBの次の区画が検索される。
逆にプログラム実行中でないと判別されれば参照フラグ
Fは(F=0)にリセットされ(ステップS50)、空
き領域テーブルETBの次の区画が検索される。
More specifically, the free area table ETB related to the main memory 2 is sequentially searched from the beginning, and it is first determined whether or not the reference flag F (F = 1) is satisfied (step S42). If (F = 1), the program stored in the partition has been recently referenced (accessed), so it is excluded from the program candidates to be rolled out, and then it is determined whether or not the program is being executed. (Step S49). At this time, if it is determined that the program is being executed, the next section of the free area table ETB is searched.
On the contrary, if it is determined that the program is not being executed, the reference flag F is reset to (F = 0) (step S50), and the next partition of the free space table ETB is searched.

【0091】前述のステップS42の処理に戻り、参照
フラグFについて(F=0)であればロールアウトする
プログラム候補と判断され、(その区画の容量cp≧容
量x)が成立するか否かが判別される(ステップS4
3)。このとき、成立すると判別されれば該区画におい
て容量xの区画割付ができることになるので、ここにス
トアされるプログラムをロールアウトすべきプログラム
αとして選択する(ステップS44)。そしてサブルー
チンSUB2の処理を終了する。逆に、ステップS43
の判別処理において、(その区画の容量cp<容量x)
であれば空き領域テーブルETBの次の領域が検索され
て、参照フラグについて(F=1)か否かが判別され
る。(F=1)であれば、前述のステップS49以降の
処理が実行され、(F=0)であればその区画の容量は
容量xを割付けるための容量に加えられる(ステップS
48)。その後、ステップS42の処理に戻る。
Returning to the processing of step S42 described above, if the reference flag F (F = 0), it is determined to be a program candidate to be rolled out, and whether (capacity cp of the partition ≧ capacity x) is satisfied or not. It is determined (step S4)
3). At this time, if it is determined that the condition is satisfied, the partition of the capacity x can be allocated in the partition, so the program stored here is selected as the program α to be rolled out (step S44). Then, the processing of the subroutine SUB2 ends. Conversely, step S43
In the determination process of (the capacity of the partition cp <the capacity x)
If so, the next area of the free area table ETB is searched to determine whether or not the reference flag is (F = 1). If (F = 1), the processes from step S49 onward are executed, and if (F = 0), the capacity of the section is added to the capacity for allocating the capacity x (step S49).
48). Then, the process returns to step S42.

【0092】このように、サブルーチンSUB2ではメ
インメモリ2上に格納されるプログラムのうち、最近参
照されず、かつ実行されていないプログラムを格納する
区画が連続して割付られているような領域(容量yK
B)を特定して、そこにストアされるプログラムをロー
ルアウトすべきプログラムαとして決定している。この
サブルーチンSUB2においてメインメモリ2からロー
ルアウトすべきプログラムαが決定されると、図5のス
テップS5に示されるサブルーチンSUB1の処理に移
行して、制御はグラフィックメモリ管理に移る。
As described above, in the subroutine SUB2, among the programs stored in the main memory 2, an area (capacity in which the sections for storing the programs that have not been referred to recently and have not been executed are continuously allocated (capacity). yK
B) is specified and the program stored therein is determined as the program α to be rolled out. When the program α to be rolled out from the main memory 2 is determined in the subroutine SUB2, the process proceeds to the process of the subroutine SUB1 shown in step S5 of FIG. 5, and the control proceeds to the graphic memory management.

【0093】グラフィックメモリ管理は図7のサブルー
チンSUB1を前述と同様に実行して、メインメモリ2
からロールアウトされるプログラムαをストアできるだ
けの容量yKBの区画を共有メモリ13上に割付けよう
とする。サブルーチンSUB1により共有メモリ13上
で容量yKBの区画割付ができた場合、区画番号がメイ
ンモジュールXに渡されるが、区画割付できなかった場
合、割付不可能の旨のデータがメインモジュールXに渡
される。
For graphic memory management, the subroutine SUB1 of FIG. 7 is executed in the same manner as described above, and the main memory 2
An attempt is made to allocate a partition of the capacity yKB capable of storing the program α rolled out from the shared memory 13 to the shared memory 13. If the partition SUB1 can allocate the partition of the capacity yKB on the shared memory 13, the partition number is passed to the main module X, but if the partition allocation cannot be performed, data indicating that the allocation is impossible is passed to the main module X. ..

【0094】ステップS5における共有メモリ13上の
容量yKBの区画割付結果は、ステップS6において判
別され、区画番号が渡されればステップS7の処理に移
行し、逆に区画割付不可能の旨のデータが渡されればス
テップS8の処理に移行する。
The partition allocation result of the capacity yKB on the shared memory 13 in step S5 is determined in step S6, and if the partition number is passed, the process proceeds to step S7, and conversely the data indicating that partition allocation is impossible. If is passed, the process proceeds to step S8.

【0095】ステップS7の処理において、メインモジ
ュールXは共有メモリ13上に容量yKBの区画割付が
できたことに応じて、図4(b)に示されるようにメイ
ンメモリ2上のプログラムαをロールアウト領域LOM
にロールアウトする。このロールアウト領域LOMは、
前述したステップS5においてグラフィックメモリ管理
が共有メモリ13上に容量yKBの大きさで割付けた区
画である。ステップS8においては、共有メモリ13に
ロールアウト領域LOMが割付できなかったので、図4
(c)に示されるようにメインメモリ2上のプログラム
αはHD9にロールアウトされる。
In the processing of step S7, the main module X rolls the program α on the main memory 2 as shown in FIG. 4B in response to the partition allocation of the capacity yKB being completed on the shared memory 13. Out area LOM
Roll out to. This rollout area LOM is
In step S5 described above, the graphic memory management is a section allocated on the shared memory 13 by the size of the capacity yKB. In step S8, the roll-out area LOM could not be allocated to the shared memory 13, so that FIG.
As shown in (c), the program α on the main memory 2 is rolled out to the HD 9.

【0096】このように、メインメモリ2上のプログラ
ムαのロールアウト後、次のステップS9の処理が実行
される。
In this way, after the program α on the main memory 2 is rolled out, the processing of the next step S9 is executed.

【0097】ステップS9の処理においては、メインメ
モリ管理により、メインメモリ2上の共有メモリ13ま
たはHD9へロールアウトされたプログラムαが格納さ
れていた区画の開放処理が行なわれる。つまり、図4
(b)または図4(c)に示されるメインメモリ2上の
区画番号Qの開放要求が、メインメモリ管理に対して行
なわれるので、この開放要求を受けてメインメモリ管理
がステップS9に示されるサブルーチンSUB3の処理
を実行する。
In the processing of step S9, the processing for releasing the partition storing the program α rolled out to the shared memory 13 or the HD 9 on the main memory 2 is performed by the main memory management. That is, FIG.
Since the request for releasing the partition number Q on the main memory 2 shown in (b) or FIG. 4 (c) is issued to the main memory management, the main memory management is shown in step S9 in response to the release request. The processing of the subroutine SUB3 is executed.

【0098】メインメモリ管理は、区画番号Qの開放要
求に応答して、図10に示されるサブルーチンSUB3
を実行開始する。
The main memory management responds to the request to release the partition number Q, and the subroutine SUB3 shown in FIG.
Start executing.

【0099】さて、プログラムαを格納していた区画番
号Qの区画は、メモリ2上で図9(a)〜(d)の状態
のいずれかで存在する。
Now, the partition of the partition number Q in which the program α is stored exists in the memory 2 in any of the states shown in FIGS.

【0100】図9(a)は、メモリ2上で区画番号Qの
区画に隣接する区画は空きではない状態を示し、図9
(b)および(c)は同様に隣接する区画のうち一方の
区画が空きである状態を示し、図9(d)は同様に隣接
する区画がいずれも空きである状態を示す。
FIG. 9A shows a state in which the partition adjacent to the partition of the partition number Q on the memory 2 is not empty.
Similarly, (b) and (c) show a state in which one of the adjacent sections is empty, and FIG. 9 (d) similarly shows a state in which both adjacent sections are empty.

【0101】メインメモリ管理は、図10のサブルーチ
ンSUB3を実行して、まず、区画番号Qの区画がメイ
ンメモリ2上で図9(a)〜(d)のいずれの状態で割
付けられているかを判別する。そしてその判別結果に基
づき、メインメモリ2上で区画番号Qの区画を含む空き
の区画が相互に隣接する場合は連続して1つの空き区画
となるようにメモリ管理テーブルMTBおよび空き領域
テーブルETBのデータ更新処理を行なう。
In the main memory management, the subroutine SUB3 of FIG. 10 is executed to first determine in which state of FIG. 9A to 9D the partition of the partition number Q is allocated in the main memory 2. Determine. Then, based on the determination result, when the empty partitions including the partition of the partition number Q on the main memory 2 are adjacent to each other, the memory management table MTB and the empty area table ETB are continuously set to one empty partition. Perform data update processing.

【0102】まず、メインメモリ管理はメインメモリ2
に関するテーブルMTBを検索して区画番号Qに対応す
る区画の容量CPおよび先頭番地hbを読出し(変数C
1=容量cp、変数B1=先頭番地hp)と設定し、さ
らにテーブルMTBの領域の状態stを“空き”に設定
する(ステップS61およびS62)。
First, the main memory is managed by the main memory 2
Table MTB regarding the partition number Q and the capacity CP and the head address hb of the partition corresponding to the partition number Q are read (variable C
1 = capacity cp, variable B1 = start address hp), and the state st of the area of the table MTB is set to “empty” (steps S61 and S62).

【0103】その後、区画番号Qの区画がメモリ2上で
図9(a)〜(d)のいずれの状態で割付けられている
かを判別する(ステップS63)。
Then, it is determined which of the states in FIGS. 9A to 9D the section with the section number Q is assigned in the memory 2 (step S63).

【0104】判別結果、図9(a)の割付状態であれ
ば、空き領域テーブルETBに区画番号Qの区画につい
ての一連のデータが新たに書込まれる。したがって、空
き領域テーブルETBには図9(a)の区画番号Qの区
画について、容量CP=C1、先頭番地HB=B1、区
画番号DN=Q、領域の状態ST=“空”にして新たに
追加設定される(ステップS64およびステップS6
5)。
As a result of the discrimination, in the case of the allocation state of FIG. 9A, a series of data regarding the section of the section number Q is newly written in the empty area table ETB. Therefore, in the empty area table ETB, for the partition with the partition number Q in FIG. 9A, the capacity CP = C1, the head address HB = B1, the partition number DN = Q, the area state ST = “empty” Additional settings are made (steps S64 and S6).
5).

【0105】判別結果、図9(b)または(c)の割付
状態であれば、隣接する一方の空の区画と区画Qとを併
合するように、空き領域テーブルETBの隣接する一方
の空の区画に関するデータを更新する(ステップS66
〜ステップS68)。
As a result of the discrimination, in the allocation state of FIG. 9B or 9C, one adjacent empty space of the empty area table ETB is merged so that one adjacent empty space and the area Q are merged. The data regarding the section is updated (step S66).
-Step S68).

【0106】判別結果、図9(d)の割付状態であれ
ば、区画番号Qの区画を含んで3つの空き領域が隣接す
る状態にあるので、これら3つの空き区画の領域を1つ
の連続した空きの区画とするように空き領域テーブルE
TBを更新する(ステップS69およびステップS7
0)。
As a result of the discrimination, in the allocation state of FIG. 9D, three empty areas including the partition of the partition number Q are adjacent to each other. Free area table E so that it becomes an empty partition
TB is updated (steps S69 and S7).
0).

【0107】以上のようにメインメモリ2上の図9
(a)ないし(d)の状態に従って、空き領域テーブル
ETBのデータ更新をして、メインメモリ2上で区画Q
を空き領域となるよう設定する。その後サブルーチンS
UB3の処理は終了し、処理は再びメインモジュールX
に戻る。
As described above, FIG.
According to the states of (a) to (d), the data of the free area table ETB is updated, and the partition Q on the main memory 2 is updated.
Is set to be an empty area. Then subroutine S
The processing of UB3 ends, and the processing is performed again on the main module X.
Return to.

【0108】このように、メインモジュールXがメイン
メモリ2の容量を超える記憶容量を必要とする場合、メ
インメモリ2からロールアウトすべきプログラムを選択
し、選択されたプログラムのロールアウト先として、ま
ず比較的高速アクセス可能な共有メモリ13が指向され
るよにしているので、ロールアウト先をHD9に特定し
た従来の場合に比較して、プログラムロールアウトに要
する時間が短縮される。
As described above, when the main module X requires a storage capacity exceeding the capacity of the main memory 2, the program to be rolled out is selected from the main memory 2 and the roll-out destination of the selected program is first selected. Since the shared memory 13 that can be accessed at a relatively high speed is directed, the time required for program rollout is shortened as compared with the conventional case in which the rollout destination is the HD 9.

【0109】上述した実施例では、グラフィックモジュ
ールYが共有メモリ13上にたとえば容量xKBの区画
の割付要求をした場合の動作についての説明は省略して
いるが、この場合の区画の割当については、前述したメ
インモジュールXと同様の処理ルーチンで動作が行なわ
れる。
In the above-mentioned embodiment, the description of the operation when the graphic module Y requests the allocation of the partition of the capacity xKB on the shared memory 13 is omitted, but the allocation of the partition in this case is omitted. The operation is performed in the same processing routine as that of the main module X described above.

【0110】また、グラフィックモジュールY側でメイ
ンモジュールXからロールアウトされたプログラムαが
格納されていた区画と同じ大きさの区画が何らかのデー
タ処理のために必要となった場合は、前述した図5と同
様な処理が行なわれる。ただし、グラフィックモジュー
ルYでは、ロールアウトのプログラム候補として上位層
のメインモジュールXにおけるメインプログラムを優先
的に抽出する。
If a partition of the same size as the partition in which the program α rolled out from the main module X was stored on the side of the graphic module Y for some data processing, the above-mentioned FIG. Processing similar to is performed. However, the graphic module Y preferentially extracts the main program in the main module X in the upper layer as a program candidate for rollout.

【0111】上述の実施例は、マルチプロセッサ構成と
したが、単一プロセッサにして共有メモリ13に相当す
るメモリを新たに設けて適用してもよい。
Although the above-described embodiment has a multiprocessor configuration, a single processor may be newly provided with a memory corresponding to the shared memory 13.

【0112】上述の実施例は、共有メモリ13のみを利
用しているが、これに限定されず図3の装置内のその他
の高速アクセス可能な複数メモリの空き領域を利用する
ようにしてもよい。
Although the above-described embodiment uses only the shared memory 13, the present invention is not limited to this, and it is also possible to use free areas of other fast accessible memories in the apparatus of FIG. ..

【0113】[0113]

【発明の効果】以上のようにこの発明によれば、第1記
憶手段に格納されるデータをロールアウトする場合に、
データを第2または第3記憶手段のいずれか一方に選択
的にロールアウトする。また、第1記憶手段における第
1容量の領域の確保要求に応じて、第1判定手段が領域
の確保が不可能であると判定した場合、選択手段により
選択されたデータは、第1転送手段または第2転送手段
により第2記憶手段または第3記憶手段に転送された
後、設定手段により第3記憶手段において領域の確保が
可能に設定される。このように、第1記憶手段からロー
ルアウトされるデータ、または第1記憶手段における第
1容量の領域の確保要求に応じて選択手段により選択さ
れたデータは、第2または第3記憶手段のいずれか一方
にロールアウトまたは転送されるので、従来ロールアウ
ト先または転送先を一律に第2記憶手段に設定していた
場合よりもそれらのデータ転送速度向上を図ることがで
きる。
As described above, according to the present invention, when the data stored in the first storage means is rolled out,
Data is selectively rolled out to either the second or third storage means. Further, when the first determination unit determines that the area cannot be secured in response to the request to secure the area of the first capacity in the first storage unit, the data selected by the selection unit is the first transfer unit. Alternatively, after the data is transferred to the second storage means or the third storage means by the second transfer means, the setting means enables the area to be secured in the third storage means. In this way, the data rolled out from the first storage means or the data selected by the selection means in response to the request to secure the area of the first capacity in the first storage means is either the second storage means or the third storage means. Since the data is rolled out or transferred to either side, the data transfer speed can be improved as compared with the case where the rollout destination or the transfer destination is uniformly set in the second storage means.

【0114】上述したロールアウトまたはデータ転送に
関する速度向上は、情報処理装置に第3記憶手段をさら
に備えるだけで、または第1記憶手段、第2記憶手段お
よび第3記憶手段を備える情報処理装置においては、こ
れらの既設の記憶手段を有効利用するだけで、実現して
いるので、コストパフォーマンスを向上させることがで
きるという効果がある。
The above-mentioned speed-up related to rollout or data transfer can be achieved only by providing the information processing apparatus with the third storage means, or in the information processing apparatus provided with the first storage means, the second storage means and the third storage means. Has been realized by merely effectively using these existing storage means, and therefore, there is an effect that cost performance can be improved.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例による情報処理装置における
メモリ領域利用時の制御方法を説明するたの図である。
FIG. 1 is a diagram illustrating a control method when a memory area is used in an information processing apparatus according to an embodiment of the present invention.

【図2】図1に示されるメモリ領域利用時の領域利用状
態とプログラムのロールイン/ロールアウト状況とを対
応させて示す図である。
FIG. 2 is a diagram showing an area usage state and a program roll-in / roll-out status in association with each other when the memory area shown in FIG. 1 is used.

【図3】本発明の一実施例による文書処理専用ワークス
テーションのブロック図である。
FIG. 3 is a block diagram of a document processing dedicated workstation according to an embodiment of the present invention.

【図4】(a)〜(c)は、図3の文書処理専用ワーク
ステーション稼動時、図1の制御方法に従った該ワーク
ステーションにおけるメモリ領域利用状況を説明する図
である。
4A to 4C are diagrams for explaining a memory area utilization state in the workstation according to the control method in FIG. 1 when the workstation dedicated to document processing in FIG. 3 is operating.

【図5】図3の文書処理専用ワークステーション稼動時
における図1の制御方法に従ったメモリ領域利用の手順
を示すフロー図である。
5 is a flowchart showing a procedure for using a memory area according to the control method of FIG. 1 when the document processing dedicated workstation of FIG. 3 is in operation.

【図6】(a)および(b)は、図5のフローに従う処
理実行中に参照されるテーブルの構成の一例を示す図で
ある。
6 (a) and 6 (b) are diagrams showing an example of the configuration of a table that is referred to during processing execution according to the flow of FIG.

【図7】図5に示されるサブルーチンSUB1の処理フ
ロー図である。
FIG. 7 is a process flow diagram of a subroutine SUB1 shown in FIG.

【図8】図5に示されるサブルーチンSUB2の処理フ
ロー図である。
FIG. 8 is a process flow diagram of a subroutine SUB2 shown in FIG.

【図9】(a)〜(d)は、図5の手順に従った場合に
得られるメインメモリ利用状態の例を示す図である。
9A to 9D are diagrams showing an example of a main memory use state obtained when the procedure of FIG. 5 is followed.

【図10】図5に示されるサブルーチンSUB3の処理
フロー図である。
FIG. 10 is a process flow diagram of a subroutine SUB3 shown in FIG.

【図11】従来のロールイン/ロールアウト方式を説明
するための図である。
FIG. 11 is a diagram for explaining a conventional roll-in / roll-out method.

【図12】標準的な記憶装置間でのアクセス速度の比較
を表形式にして示す図である。
FIG. 12 is a diagram showing a comparison of access speeds between standard storage devices in a table format.

【符号の説明】 2、MM メインメモリ SM サブプロセッサメモリ HD 磁気ディスク記憶装置 LO1、LO2およびLO3 ロールアウト 13 共有メモリ MTB メモリ管理テーブル ETB 空き領域テーブル なお、各図中、同一符号は同一または相当部分を示す。[Explanation of reference numerals] 2, MM main memory, SM sub-processor memory, HD magnetic disk storage device, LO1, LO2, and LO3 rollout 13 shared memory MTB memory management table ETB free area table Indicates.

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 アクセス速度が高速である第1の記憶手
段と、アクセス速度は低速であるが大容量の第2の記憶
手段とを備える情報処理装置において、 アクセス速度が前記第2記憶手段のそれよりも高速であ
る第3記憶手段をさらに備え、 前記第1記憶手段に格納されるデータをロールアウトす
る場合に、前記データを前記第2または第3記憶手段の
いずれか一方に選択的にロールアウトすることを特徴と
する、情報処理装置。
1. An information processing apparatus comprising: a first storage means having a high access speed; and a second storage means having a low access speed but a large capacity, wherein the access speed is the same as that of the second storage means. A third storage unit having a higher speed than that is further provided, and when the data stored in the first storage unit is rolled out, the data is selectively stored in one of the second and third storage units. An information processing device characterized by being rolled out.
【請求項2】 アクセス速度が高速である第1の記憶手
段と、アクセス速度は低速であるが大容量の第2の記憶
手段と、アクセス速度が前記第2記憶手段のそれよりも
高速である第3記憶手段とを備える情報処理装置におい
て、 前記第1記憶手段における第1容量の領域の確保要求に
応じて、前記第1記憶手段において前記第1容量の領域
の確保が可能か否かを判定する第1判定手段と、 前記第1判定手段による不可能判定に応じて、前記第1
記憶手段に予め記憶されるデータ群のうち、所定基準に
一致し、かつそれらを格納する各領域の容量の総和が前
記第1容量以上の第2容量となるような少なくとも1つ
以上のデータを選択する選択手段と、 前記第3記憶手段において、前記第2容量を有する領域
を確保する領域確保手段と、 前記領域確保手段により領域確保できたか否かを判定す
る第2判定手段と、 前記第2判定手段による確保不可の判定に応じて、前記
選択手段により選択されたデータを前記第2記憶手段に
転送する第1転送手段と、 前記第2判定手段による確保可の判定に応じて、前記選
択手段により選択されたデータを前記領域確保手段によ
り確保された前記第3記憶手段の前記第2容量を有する
領域に転送する第2転送手段と、 前記第1または第2転送手段によるデータ転送後、前記
第1記憶手段において前記第2容量を構成する領域を確
保可能に設定する設定手段とをさらに備えた、情報処理
装置。
2. A first storage means having a high access speed, a second storage means having a low access speed but having a large capacity, and an access speed being higher than that of the second storage means. In an information processing device including a third storage means, it is determined whether or not the first storage area can be secured in the first storage means in response to a request to secure a first capacity area in the first storage means. First determining means for determining, and the first determining means for determining whether the first determining means is impossible.
At least one data of the data group stored in advance in the storage means that matches a predetermined reference and has a sum of the capacities of the respective areas for storing them that is the second capacity that is equal to or larger than the first capacity. Selecting means for selecting; area securing means for securing an area having the second capacity in the third storage means; second determining means for determining whether or not the area securing means has secured the area; 2 first transfer means for transferring the data selected by the selection means to the second storage means in response to the determination by the determination means that the data cannot be secured; Second transfer means for transferring the data selected by the selection means to the area having the second capacity of the third storage means secured by the area securing means; and the first or second transfer means. After the data transfer, further comprising setting means for setting to allow secure an area constituting the second capacitor in the first storage unit, the information processing apparatus.
【請求項3】 前記所定基準は連続した領域に記憶さ
れ、かつ参照される頻度が低いことを含む、請求項2に
記載の情報処理装置。
3. The information processing apparatus according to claim 2, wherein the predetermined criterion includes that the predetermined criterion is stored in a continuous area and is referred to less frequently.
【請求項4】 前記データはプログラムを含む、請求項
1ないし3のいずれかに記載の情報処理装置。
4. The information processing apparatus according to claim 1, wherein the data includes a program.
JP4036025A 1992-02-10 1992-02-24 Information processor Withdrawn JPH05233427A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4036025A JPH05233427A (en) 1992-02-24 1992-02-24 Information processor
US08/015,866 US5548740A (en) 1992-02-10 1993-02-09 Information processor efficiently using a plurality of storage devices having different access speeds and a method of operation thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4036025A JPH05233427A (en) 1992-02-24 1992-02-24 Information processor

Publications (1)

Publication Number Publication Date
JPH05233427A true JPH05233427A (en) 1993-09-10

Family

ID=12458186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4036025A Withdrawn JPH05233427A (en) 1992-02-10 1992-02-24 Information processor

Country Status (1)

Country Link
JP (1) JPH05233427A (en)

Similar Documents

Publication Publication Date Title
US5548740A (en) Information processor efficiently using a plurality of storage devices having different access speeds and a method of operation thereof
US5884077A (en) Information processing system and method in which computer with high load borrows processor of computer with low load to execute process
US6151670A (en) Method for conserving memory storage using a pool of short term memory registers
US3647348A (en) Hardware-oriented paging control system
JPH07175698A (en) File system
JPH064405A (en) Computer with extended virtual storage
US20080184247A1 (en) Method and System for Resource Allocation
JPH06250928A (en) Information processor
US5640597A (en) Method and apparatus for servicing simultaneously a plurality of requests for data streams
CN110069336A (en) Memory source distribution method, distributor, chip and storage device
JPH06110715A (en) Dynamic allocating method for computer resources in virtual computer system
JPH05233427A (en) Information processor
JP4200882B2 (en) Changing the dynamic allocation of logical partitions
CN115794368A (en) Service system, memory management method and device
KR100294314B1 (en) Data processing system and method and communication system with such system
JP3013742B2 (en) Cache memory management method
JP3817055B2 (en) Memory management device and recording medium
JPH05225055A (en) Information processor
US20240160487A1 (en) Flexible gpu resource scheduling method in large-scale container operation environment
JPH11249955A (en) Dynamic buffer management method and computer readable storage medium where program to execute each process of this method in computer is recorded
US20230168822A1 (en) Memory management method and semiconductor device adjusting size of contiguous memory allocation area
JP3772003B2 (en) Memory management system and data management method
JPH08339324A (en) Information processor
CN115516436A (en) Reasoning in memory
JPH0830512A (en) Thread control system

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: 19990518