JPS6376033A - Virtual memory system with variable memory size - Google Patents

Virtual memory system with variable memory size

Info

Publication number
JPS6376033A
JPS6376033A JP61221495A JP22149586A JPS6376033A JP S6376033 A JPS6376033 A JP S6376033A JP 61221495 A JP61221495 A JP 61221495A JP 22149586 A JP22149586 A JP 22149586A JP S6376033 A JPS6376033 A JP S6376033A
Authority
JP
Japan
Prior art keywords
memory size
circuit
register
value
execution time
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
JP61221495A
Other languages
Japanese (ja)
Inventor
Masashi Niwa
雅司 丹羽
Hideo Miyake
英雄 三宅
Susumu Arai
進 新井
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP61221495A priority Critical patent/JPS6376033A/en
Publication of JPS6376033A publication Critical patent/JPS6376033A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE:To contrive to improve processing efficiency by changing the using range of a page table in accordance with the increase/decrease of a value in a memory size register. CONSTITUTION:A memory size increase/decrease circuit 18 increases/decreases a value in the memory size register 17 by a previously determined constant value on the basis of the compared result of a ratio of a garbage collection processing executing time within a fixed period with a threshold. The memory size of the fixed value to be assigned to a user is initially set up in the register 17 and the value is outputted to the circuit 18 and a page table control part 19. the control part 19 controls the using range of the page table 20 in accordance with the current value with the memory size stored in the register 17 to change the memory size. Consequently, the overhead of paging in the virtual storage and starting frequency of a gabage collector are balanced and the processing efficiency can be improved.

Description

【発明の詳細な説明】 (概要〕 仮想記憶とガーベジコレクタとをそなえた情報処理装置
において、仮想記憶のメモリサイズを可変にし、仮想記
憶におけるベージングのオーバヘッドとガーベジコレク
ション処理時間とをバランスさせて実効的な性能向上を
図る。
[Detailed Description of the Invention] (Summary) In an information processing device equipped with a virtual memory and a garbage collector, the memory size of the virtual memory is made variable, and the overhead of paging in the virtual memory and the garbage collection processing time are balanced. Aim to improve performance.

〔産業上の利用分野〕[Industrial application field]

本発明は、情報処理装置における仮想記憶方式%式% 〔従来の技術と本発明が解決しようとする問題点〕一般
に、仮想記憶方式による情報処理装置、特にLISTプ
ロセッサなどでは、処理の進行とともに、第3図に示す
ように、データの削除等に基づく小さな空き領域が分散
して多数生じ、割り当てられたメモリサイズの有効利用
が困難となるのが普通である。このためガーベジコレク
タをそなえ、適当なタイミングで、空き領域を集合化す
るガーベジコレクタぢン処理を行なわせて、メモリスペ
ースの効率化を図っている。
[Prior art and problems to be solved by the present invention] In general, in an information processing device using a virtual storage method, especially a LIST processor, etc., as processing progresses, As shown in FIG. 3, a large number of small free areas are generated in a distributed manner due to data deletion, etc., and it is normal that it becomes difficult to effectively utilize the allocated memory size. For this reason, a garbage collector is provided to perform garbage collection processing to collect free areas at appropriate timings, thereby increasing the efficiency of memory space.

このような仮想記憶と、ガーベジコレクタとを有する従
来の情報処理装置においては、ユーザに対して、アドレ
ス可能なメモリ空間一杯まで仮想記憶を提供するか、ま
たはシステムで決められた一定のメモリサイズで仮想記
憶を提供していた。
In conventional information processing devices that have such virtual memory and a garbage collector, virtual memory is provided to the user until the addressable memory space is full, or virtual memory is provided to the user with a fixed memory size determined by the system. It provided virtual memory.

このため、小規模プログラムでも、大規模なプログラム
でも同一のメモリサイズで実行されているために、小規
模なプログラムでは、実記憶のみで実行可能であるにも
かかわらず、仮想記憶で実行され、ページングのオーバ
ヘッドにより応答時間が長くなっていた。
For this reason, both small and large programs are executed with the same memory size, so even though a small program can be executed only in real memory, it is executed in virtual memory. Paging overhead was causing long response times.

また、逆に大規模なプログラムに小さなメモリサイズし
か提供しない場合には、ガーベジコレクタが頻繁に起動
されたために、処理プロセッサの実行時間よりもガーベ
ジコレクシシン処理に要する時間が多くなり、実行性能
が低下するという問題があった。
On the other hand, if only a small memory size is provided to a large program, the garbage collector will be started frequently, and the time required for garbage collection processing will be longer than the execution time of the processing processor, resulting in a decrease in execution performance. There was a problem with the decline.

〔問題点を解決するための手段〕[Means for solving problems]

本発明は、プログラムに適したメモリサイズを与えるこ
とにより、仮想記憶のページングのオーバヘッドとガー
ベジコレクション処理に要する時間の双方を減少させ、
高速な実行性能を提供するものである。
The present invention reduces both the overhead of virtual memory paging and the time required for garbage collection processing by providing a memory size suitable for a program.
It provides high-speed execution performance.

本発明は、プログラムに対して小さなメモリサイズを与
えるとページングのオーバヘッドは少ない替りに、ガー
ベジコレクタが頻繁に起動されて実行性能が低下し、逆
に大きなメモリサイズを与えるとガーベジコレクタが起
動されることは少ない替りに、ページングのオーバヘッ
ドが大きくなり、実行性能が低下することから、ガーベ
ジコレクタの起動頻度が常に一定の値になるようにメモ
リサイズを変更制御して、双方のオーバヘッドを軽減す
るものである。
The present invention proposes that when a small memory size is given to a program, the paging overhead is small, but the garbage collector is started frequently and execution performance deteriorates, whereas when a large memory size is given, the garbage collector is started. However, the overhead of paging increases and execution performance decreases, so the memory size is changed and controlled so that the garbage collector activation frequency is always a constant value to reduce both overheads. It is.

すなわち、本発明では、ガーベジコレクタの頻度が大き
い場合には、メモリサイズを拡大し、逆にガーベジコレ
クタのt負度が少ない場合にはメモリサイズを小さくす
るように構成するものである。
That is, in the present invention, the memory size is expanded when the frequency of the garbage collector is high, and conversely, the memory size is decreased when the t-negativity of the garbage collector is low.

第1図に、本発明の原理的構成を示す1図において、l
はCPUであり、ユーザのプログラム処理およびガーベ
ジコレクション処理を実行する。
FIG. 1 shows the basic configuration of the present invention.
is a CPU that executes user program processing and garbage collection processing.

2は第1のタイマ回路であり、CPUの全実行時間また
は全実行時間中でのガーベジコレクション処理以外の実
行時間を計測する。ただし第1図では、便宜上、全実行
時間を計測するものとして説明する。
2 is a first timer circuit, which measures the entire execution time of the CPU or the execution time other than garbage collection processing within the entire execution time. However, in FIG. 1, for convenience, the explanation will be given assuming that the total execution time is measured.

3は第2のタイマ回路であり、ガーベジコレクシシン処
理の実行時間のみを計測する。
3 is a second timer circuit, which measures only the execution time of garbage collection processing.

4は比率計算回路であり、第1のタイマ回路2が計測し
たcpuの全実行時間と第2のタイマ回路3が計測した
ガーベジコレクション処理の実行時間との比率を求める
Reference numeral 4 denotes a ratio calculating circuit, which calculates the ratio between the total execution time of the CPU measured by the first timer circuit 2 and the execution time of the garbage collection process measured by the second timer circuit 3.

5は閾値レジスタであり、比率計算回路4が計算した比
率の適正値を示す閾値を保持する。
Reference numeral 5 denotes a threshold value register, which holds a threshold value indicating an appropriate value of the ratio calculated by the ratio calculation circuit 4.

6は比較回路であり、比率計算回路4が計算した比率と
閾値とを比較してその差を求める。
A comparison circuit 6 compares the ratio calculated by the ratio calculation circuit 4 with a threshold value to find a difference.

7はメモリサイズレジスタであり、仮想記憶のメモリサ
イズを指定する値を保持する。
A memory size register 7 holds a value specifying the memory size of the virtual memory.

8はメモリサイズ増減回路であり、比較回路6の比較結
果に基づいてメモリサイズレジスタ7の値を増減する。
A memory size increase/decrease circuit 8 increases or decreases the value of the memory size register 7 based on the comparison result of the comparator circuit 6.

9はページテーブル制御部であり、メモリサイズレジス
タ7に設定されている値にしたがって、ページテーブル
10の有効範囲を制御する。
A page table control unit 9 controls the effective range of the page table 10 according to the value set in the memory size register 7.

〔作用〕[Effect]

第1図に示された本発明の構成において、CPUIは、
何らかの処理を実行している期間中、第1のタイマ回路
2を動作させ、全実行時間を計測させ、また特にガーベ
ジコレクション処理を実行している期間中、第2のタイ
マ回路3を動作させる。
In the configuration of the present invention shown in FIG.
A first timer circuit 2 is operated to measure the total execution time during a period in which some processing is being executed, and a second timer circuit 3 is operated particularly during a period in which garbage collection processing is being executed.

次に、全実行時間(T、で表わす)に対するガーベジコ
レクション処理実行時間(TGで表わす)の比率(TG
/TC)を比率計算回路4で求め、これを比較回路6で
、閾値レジスタ5に予め適正値として設定されている閾
値(αで表わす)と比較し、(TG /TC)  >α
、(TG /Tc )〈αのそれぞれの場合に対応する
信号を作成する。
Next, the ratio (TG
/TC) is calculated by the ratio calculation circuit 4, and compared with the threshold value (represented by α) set in advance as an appropriate value in the threshold value register 5 by the comparison circuit 6, and (TG /TC) >α
, (TG/Tc)<α.

(Tc/Tc)>α、すなわちガーベジコレクション処
理実行時間が全実行時間中に占めている割り合いが適正
値を超えている場合には、メモリサイズ増減回路8にメ
モリサイズの増加を行なわせる。またその反対に、(T
c/Tc)<αである場合には、メモリサイズを減少さ
せる。
If (Tc/Tc)>α, that is, the proportion of the garbage collection processing execution time in the total execution time exceeds the appropriate value, the memory size increase/decrease circuit 8 is caused to increase the memory size. On the other hand, (T
If c/Tc)<α, reduce the memory size.

このようにして、メモリサイズの値を増減することによ
り、ページテーブル制御部9にページテーブル10の有
効表示を変更させ、メモリサイズの増減制御を行なう。
By increasing or decreasing the value of the memory size in this way, the page table control unit 9 changes the valid display of the page table 10, thereby controlling the increase or decrease of the memory size.

C実施例〕 第2図に、本発明の1実施例の構成を示す。C Example] FIG. 2 shows the configuration of one embodiment of the present invention.

図において、11はCPU、12はCPUタイマ、13
はGCタイマ、14はGC比率計算回路、15は閾値レ
ジスタ、16は比較回路、17はメモリサイズレジスタ
、1日はメモリサイズ増減回路、19はページテーブル
制御部、20はページテーブル、21はLRU回路、2
2はアドレスレジスタ、23はデータレジスタ、24は
MSC(記憶制御装置)、25はMS(記憶装置)、2
6はチャネル、27はディスク装置である。
In the figure, 11 is the CPU, 12 is the CPU timer, 13
is a GC timer, 14 is a GC ratio calculation circuit, 15 is a threshold register, 16 is a comparison circuit, 17 is a memory size register, 1st is a memory size increase/decrease circuit, 19 is a page table control unit, 20 is a page table, 21 is an LRU circuit, 2
2 is an address register, 23 is a data register, 24 is an MSC (storage controller), 25 is an MS (storage device), 2
6 is a channel, and 27 is a disk device.

なお、第2図中に11ないし20で示されている構成要
素は、第1図中に1ないし10で示されている構成要素
にそれぞれ対応している。
Note that the components indicated by 11 to 20 in FIG. 2 correspond to the components indicated by 1 to 10 in FIG. 1, respectively.

CPUI 1は、アドレスレジスタ22とデータレジス
タ23とを通じて、MS25との間でデータの送受を行
なう。また、ガーベジコレクタの起動時には、ガーベジ
コレクション処理に要する実行時間を測定するために、
GCクイマ13をスタートサせ、ガーベジコレクション
処理の終了時に、GCタイマ13をストップさせる。他
方、CPUタイマ12については、ガーベジコレクタの
起動時にストップし、ガーベジコレクション処理の終了
時にスタートさせるように制御する。
The CPU 1 sends and receives data to and from the MS 25 through an address register 22 and a data register 23. Also, when starting the garbage collector, in order to measure the execution time required for garbage collection processing,
The GC timer 13 is started, and the GC timer 13 is stopped when the garbage collection process ends. On the other hand, the CPU timer 12 is controlled to be stopped when the garbage collector is activated and started when the garbage collection process ends.

これにより、CPUタイマ12は、ガーベジコレクショ
ン処理以外の実行時間を計測する。また、GCタイマ1
3では、ガーベジコレクション処理に要する実行時間の
みを計測する。
Thereby, the CPU timer 12 measures execution time other than garbage collection processing. Also, GC timer 1
3, only the execution time required for garbage collection processing is measured.

MSC24は、MS25とCPUI 1あるいはチャネ
ル26との間で、メモリアクセス制御およびデータ転送
制御を行なう。
The MSC 24 performs memory access control and data transfer control between the MS 25 and the CPUI 1 or the channel 26.

GC比率計算回路14は、一定期間内におけるガーベジ
コレクション処理実行時間の比率(GC比率)を計算し
ている。
The GC ratio calculation circuit 14 calculates the ratio of garbage collection processing execution time (GC ratio) within a certain period of time.

閾値レジスタ15は、ガーベジコレクション処理実行時
間の適正比率を示す閾値を保持している。
The threshold value register 15 holds a threshold value indicating an appropriate ratio of garbage collection processing execution time.

比較回路16は、GC比率と閾値とを比較し、その結果
をメモリサイズ増減回路1日に出力する。
The comparison circuit 16 compares the GC ratio with the threshold value and outputs the result to the memory size increase/decrease circuit 1st.

メモリサイズ増減回路18は、比較結果に基づき、メモ
リサイズレジスタ17の値を予め定められた一定量だけ
増減する演算を行なう、すなわち、GC比率が高い時に
は、メモリサイズの値に一定量だけ加算し、比率が低い
時には、メモリサイズの値より一定量だけ減算する。こ
の一定壇としては、数百KB、数MBを採用すれば良い
The memory size increase/decrease circuit 18 performs an operation to increase/decrease the value of the memory size register 17 by a predetermined constant amount based on the comparison result. That is, when the GC ratio is high, the memory size increase/decrease circuit 18 increases or decreases the value of the memory size register 17 by a constant amount. , when the ratio is low, a certain amount is subtracted from the memory size value. As this fixed stage, it is sufficient to adopt several hundred KB or several MB.

メモリサイズレジスタ17には最初にユーザに割り当て
る一定値、例えば4MBあるいは16MBのメモリサイ
ズが設定され、その値はメモリサイズ増減回路18およ
びページテーブル制御部19に出力される。ページテー
ブル制御部19は、メモリサイズレジスタ17内のメモ
リサイズの現在値に従って、ページテーブル20の使用
範囲を制御することにより、メモリサイズを変更する。
The memory size register 17 is initially set with a fixed value allocated to the user, for example, a memory size of 4 MB or 16 MB, and this value is output to the memory size increase/decrease circuit 18 and the page table control section 19. The page table control unit 19 changes the memory size by controlling the usage range of the page table 20 according to the current value of the memory size in the memory size register 17.

L RU (Least Recently 1Jse
d)回路21は、ページスワップの候補選択をするため
の論理を実行する。
LRU (Least Recently 1Jse
d) Circuit 21 executes logic for selecting candidates for page swapping.

チャネル26は、MS25とディスク装置27との間の
データ転送を制御する。
Channel 26 controls data transfer between MS 25 and disk device 27.

ディスク装置27には、ページアウトされたページが格
納される。
The disk device 27 stores pages that have been paged out.

(発明の効果〕 本発明によれば、プログラムに適したメモリサイズが自
動的に設定され、仮想記憶でのページングのオーバヘッ
ドとガーベジコレクタの起動頻度がバランスされるため
、双方のオーバヘッドを減少させることができ、処理効
率の向上と処理の高速化とが得られる。
(Effects of the Invention) According to the present invention, the memory size suitable for the program is automatically set, and the overhead of paging in virtual memory and the activation frequency of the garbage collector are balanced, so that the overhead of both can be reduced. This results in improved processing efficiency and faster processing.

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

第1図は本発明の原理的構成図、第2図は本発明の1実
施例の構成図、第3図は仮想記憶内に発生する空き領域
の説明図である。 第1図中、 1:CPU 2:第1のタイマ回路 3:第2のタイマ回路 4:比率計算回路 5:閾値レジスタ 6:比較回路 7:メモリサイズレジスタ 8:メモリサイズ増減回路 9:ベージテーブル制御部 10:ページテーブル
FIG. 1 is a diagram showing the basic configuration of the present invention, FIG. 2 is a diagram showing the configuration of one embodiment of the invention, and FIG. 3 is an explanatory diagram of free space generated in virtual storage. In Figure 1, 1: CPU 2: First timer circuit 3: Second timer circuit 4: Ratio calculation circuit 5: Threshold register 6: Comparison circuit 7: Memory size register 8: Memory size increase/decrease circuit 9: Page table Control unit 10: page table

Claims (1)

【特許請求の範囲】 仮想記憶と、ガーベジコレクタとを備えた情報処理装置
において、 全体の実行時間またはガーベジコレクタのガーベジコレ
クション処理を除く実行時間を計測する第1のタイマ回
路(2)と、 ガーベジコレクタのガーベジコレクション処理に要する
実行時間を計測する第2のタイマ回路(3)と、全体の
実行時間またはガーベジコレクション処理以外の実行時
間に対する、ガーベジコレクション処理に要する実行時
間の比率を計算する比率計算回路(4)と、比率につい
ての所定の閾値を保持する閾値レジスタ(5)と、前記
閾値と前記比率計算回路(4)が計算した結果の比率と
を比較する比較回路(6)と、メモリサイズを保持する
メモリサイズレジスタ(7)と、比較回路(6)の比較
結果出力によってメモリサイズレジスタ(7)の値を増
減するメモリサイズ増減回路(8)とをそなえ、メモリ
サイズレジスタ(7)の値の増減に従ってページテーブ
ル(10)の利用範囲を変更することにより仮想記憶の
メモリサイズを増減することを特徴とする可変メモリサ
イズの仮想記憶方式。
[Claims] An information processing device including a virtual memory and a garbage collector, comprising: a first timer circuit (2) for measuring the entire execution time or the execution time excluding garbage collection processing of the garbage collector; A second timer circuit (3) that measures the execution time required for garbage collection processing of the collector, and a ratio calculation that calculates the ratio of the execution time required for garbage collection processing to the entire execution time or execution time other than garbage collection processing. a circuit (4), a threshold register (5) that holds a predetermined threshold for the ratio, a comparison circuit (6) that compares the threshold with the ratio calculated by the ratio calculation circuit (4), and a memory. The memory size register (7) is equipped with a memory size register (7) that holds the size, and a memory size increase/decrease circuit (8) that increases or decreases the value of the memory size register (7) based on the comparison result output of the comparison circuit (6). A variable memory size virtual storage system characterized in that the memory size of the virtual storage is increased or decreased by changing the usage range of a page table (10) according to an increase or decrease in the value of .
JP61221495A 1986-09-19 1986-09-19 Virtual memory system with variable memory size Pending JPS6376033A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61221495A JPS6376033A (en) 1986-09-19 1986-09-19 Virtual memory system with variable memory size

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61221495A JPS6376033A (en) 1986-09-19 1986-09-19 Virtual memory system with variable memory size

Publications (1)

Publication Number Publication Date
JPS6376033A true JPS6376033A (en) 1988-04-06

Family

ID=16767605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61221495A Pending JPS6376033A (en) 1986-09-19 1986-09-19 Virtual memory system with variable memory size

Country Status (1)

Country Link
JP (1) JPS6376033A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005045683A1 (en) * 2003-11-05 2005-05-19 Electronics And Telecommunications Research Institute Apparatus and method for garbage collection

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005045683A1 (en) * 2003-11-05 2005-05-19 Electronics And Telecommunications Research Institute Apparatus and method for garbage collection
GB2423172A (en) * 2003-11-05 2006-08-16 Korea Electronics Telecomm Apparatus and method for garbage collection
GB2423172B (en) * 2003-11-05 2007-02-28 Korea Electronics Telecomm Apparatus and method for garbage collection
US7797498B2 (en) 2003-11-05 2010-09-14 Electronics And Telecommunications Research Institute Apparatus and method for garbage collection

Similar Documents

Publication Publication Date Title
EP0483525B1 (en) Workstation power management
JP4802284B2 (en) Semiconductor memory device and control method thereof
US6581142B1 (en) Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer
JP4189402B2 (en) Cache circuit
JP2001022464A (en) Device and method for hibernation, recording medium stored with same, and computer applied with same
US7228445B2 (en) Clock frequency control method and electronic apparatus
JP4519151B2 (en) Cache control circuit
JP2001060169A (en) Cache controller and computer system
JPS6376033A (en) Virtual memory system with variable memory size
CN113391974B (en) Memory monitoring method, device, processor and storage medium
US7512753B2 (en) Disk array control apparatus and method
JP2000353126A (en) Method for redividing buffer cache of computer system and computer system with buffer cache redividing function
JP3356090B2 (en) Memory management method, memory management device, and recording medium
JP3085267B2 (en) Memory access acceleration device
JPH0495145A (en) Cache memory device and computer system
JPH05334194A (en) Information processor
JP2976909B2 (en) Cache data flush control method
JPH07146814A (en) Memory device
JPH04280337A (en) Virtual storage computer system
JPS63208144A (en) Cache memory controller
JP2778623B2 (en) Prefetch control device
JPH05189301A (en) Dram controller
JP4837144B2 (en) Semiconductor memory device and control method thereof
JPS62125437A (en) Control method for additional processor
JPH09198305A (en) Memory controller