JPS6097444A - メモリ制御方法 - Google Patents

メモリ制御方法

Info

Publication number
JPS6097444A
JPS6097444A JP20519683A JP20519683A JPS6097444A JP S6097444 A JPS6097444 A JP S6097444A JP 20519683 A JP20519683 A JP 20519683A JP 20519683 A JP20519683 A JP 20519683A JP S6097444 A JPS6097444 A JP S6097444A
Authority
JP
Japan
Prior art keywords
data
area
capacity
memory
block
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.)
Granted
Application number
JP20519683A
Other languages
English (en)
Other versions
JPH0136132B2 (ja
Inventor
Takeko Yumoto
湯本 健子
Koichi Usuda
薄田 孝一
Akira Fukushima
章 福島
Sachiko Iida
飯田 幸子
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.)
Tektronix Japan Ltd
Original Assignee
Sony Tektronix 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 Sony Tektronix Corp filed Critical Sony Tektronix Corp
Priority to JP20519683A priority Critical patent/JPS6097444A/ja
Publication of JPS6097444A publication Critical patent/JPS6097444A/ja
Publication of JPH0136132B2 publication Critical patent/JPH0136132B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明はメモリ制御方法、特に複数のメモリ・ブロック
から成るランダム・アクセス・メモリ内のデータ領域間
に空き領域がある場合、データを連続的(二記憶し直し
てこの空き領域をなくすメモリ制御方法に関する。
〔発明の背景〕
コンピュータはメモリ(ランダム・アクセス・メモ!]
:RAM)に記憶されたデータ(本明細書のデータはメ
イン・ルーチン及びサブ・ルーチンも含む)(−基づき
中央処理装置(CI) U )が種々の演算及び処理を
行なっている。データは必要(二応じてメモリ(=順次
記憶されていくが、演算処理が終わった後不要なデータ
は削除される。このデータの削除(二より、メモリ内く
−はデータ領域間に空き領域が生じる。メモリを効率良
く利用するにはこの空き領域も使用しなければならない
が、新たなデータが1つの空き領域に納まらずに複数の
空き領域(二わたって記憶する場合、書込み及び読出し
アドレスの制御が複雑かつ面倒になる。また、メモリの
記憶内容を順次読出して表示装置に表示したりする際も
、メモリ内のデータ領域間に空き領域があると、メモリ
の読出しアドレス制御が不便である。特に記憶内容の削
除及び新規データの記憶が多数回行なわれると、メモリ
・アドレスの制御は一層複雑になる。
上述の欠点を改善するため(二、ガーベノジ0コレクン
ヨン(garbage correction )が提
案されてり゛るOこのノf−ゝノジ・コレクション(二
よJtLt’。
データ領域間の空き領域に次のデータ領域のデータを順
次転送して、データを詰め、データ領域間の空き領域を
最後のデータ領域の後に移動できる。
即ち、データ領域の各データのアドレスが連続となり、
アドレス制御が容易となる。
空き領域の次のデータ領域のデータを空き領域に転送す
るには、1アドレス分のデータずつ転送する方法がある
。しかし、この方法では全データの転送に長時間を必要
とし、CPUの使用効率が悪くなる。
ところで、Z80型マイクロプロセッサ又はzsooo
型マイク型ダイクロプロセッサUとして用いると、これ
らマイクロプロセッサC二はブロック転送の命令がある
ため、大量のデータを一度に転送できる。しかし、この
ブロック転送は、転送するデータ領域のメモリ・アドレ
スに境界(boundary )があると実行できない
。この境界間のメモリ領域をメモリ・ブロックという。
例えばzsooo型マイク型ダイクロプロセッサと、こ
のプロセッサの構造(二よりメモリ(二は64にアドレ
ス毎に境界が生じる。また、他のプロセッサを用いた場
合であっても、特定のアドレス領域(二固定の特定デー
タを記憶しておくと、この特定のアドレス領域が境界と
して作用する。よって、このように境界を具えたメモリ
において、データ領域に境界が含まれるとブロック転送
を利用できない。
〔発明の目的〕
したがって、本発明の目的は、複数のメモリ・ブロック
から成るメモリ内のデータ領域間(二空き領域がある場
合、次のデータ領域のデータを効率よく空き領域に転送
してデータを詰めるメモリ制御方法の提供(二ある。
〔発明の概要〕
本発明は、境界(二より分離された複数のメモリ・ブロ
ックから成るメモリ(二おいて、境界を考慮したブロッ
ク転送を行ない、ガーベソジ・コレクションを高速化し
ている。即ち、メモリの菟き領域内の最初のメモリ・ブ
ロックの容量及び次のデータl1rj域内の最初のメモ
リ・ブロックの容量を比較し、小さい方の容量を転送容
量としている。
次にこの転送容h1分のデータをデータ領域の最初のメ
モリ・ブロックから空き領域の最初のメモリ・ブロック
にブロック転送し、新たな空き領域(二対し上述のブロ
ック転送を繰返している。
〔発明の実施例〕
以下、添付図を参照して本発明の好適な実施例を説明す
る。
第1図はCI) Uを利用したシステムのブロック図で
ある。CP U 10、リード・オンリ・メモリ(RO
M)12.RAMI 4.入力装置16、及び利用装置
18はパス(データ線、アドレス線及び制御線を含む)
20を介して相互接続している。CP U i、 0は
1例えばZ8000型マイクロプロセッサであり、RO
M12に記憶されたプログラム(二よりRAM14を一
層メモリとして種々の演算処理を行なう。人力装置16
は、例えばキーボードであり、命令やデータの人力に用
いる。利用装置18は、例えば図形表示装置であり、C
Poloの制御によりRAM14の記憶内容を表示した
りする。
第2図はRAM14のメモリ構成を示す図である。この
実施例ではCPUl0がZ8000型マイクロプロセッ
サであるため、メモリのアドレス空間は16進法でoo
 ooooから7F FFI”F まであるが、FFF
F (64K )毎に境界22が生じる。
これら境界22に区切られるメモリ領域がメモリ・ブロ
ックであり、CPU 10は単一のメモリ・ブロック内
のデータならばまとめて転送(ブロック転送)できる。
この実施例では、アドレス000000−Al−1,A
l−A2−1.A2−A3−1.A3−A4−1.A4
−A3−1.A5〜八6−1の各領域にラヘルLO−L
5が付けられており、ルーチンを含むデータが記憶され
ている。今、ラベルL1及びL4の領域のデータが削除
されたと仮定すると。
これら領域は空き領域となる。しかし、ラベルLO,L
2.L3及びL5の領域は有効なデータを記憶している
データ領域である。このようにデータ領域間(二空き領
域が存在すると、ガーベソジ・コレクションが必要とな
る。
本発明では、l<AM14の特定アドレス領域(第2図
に示されない領域)に第3図に示す如きステータス・テ
ーブル(状態表)を記憶している。この表は、ラベル名
、各ラベルの開始アドレス、及び各ラベルの領域がデー
タ領域(例えば符号「]」)か双き領域(例えば符号「
0」)かの情報(内容)から構成されている。尚、この
実施例では6つのメモリ領域しか登録されていないこと
(二注意されたい。
今1人力装置16からガーベノジ・コレクレヨンを開始
させる命令を人力するか、又は、CP U 1. Oが
J、< AM 1.4内のデータ領域間に空き領域のあ
ることを検出すると、ガーベノジ・コレクションが第4
〜第6図の流れ図に示したプログラムに従って行なわれ
る。なお、これらプログラムはROM12i二記憶され
Cおり、CPUl0が以下の動作を制御する。
マス、CPU 10はステータス・テーブルにおいて開
始アドレスが小さい順に並んでいるかを検査する。これ
は、データの削除、新データの記憶を行なっていると、
開始アドレスが小さい順(二並ばなくなるからである。
開始アドレス力と小さい順に並んでいない場合、CPU
10はソート処理を行ない、ステータス・テーブルにお
いて開始アドレスを小さい順(=並び換える。第3図の
ステータス・テーブルでは開始アドレスの小さい順(−
並んでいる。
次に第4図のステップ24において、CPUl0はRA
M14内のステータス・テーブルの内容の欄から最初の
空き領域を探し、その開始アドレス(例えばA1)をC
PU 10のレジスタ(1蓄わえる。このレジスタの内
容を5AVE lとする。
CPUl0はひき続きステップ26において、ラベルL
L(空き領域)以降(二おける最初のデータ領域をステ
ータス・テーブルから探し、そのデータ領域の開始アド
レス(例えばA2)をC1)UIOのレジスタ(1蓄わ
える。このレジスタの内容を5AVE2とする。ヌテノ
ブ28(二おいて、CPU10はラベルL2(データ領
域)の次の空き領域をステータス・テーブル(二より探
し、その空き領域の開始アドレス(例えばA4)を5A
VE 3としてCPIJ 10のレジスタに蓄積する。
これらステップ24.26及び28により、詰められる
べき空き領域及びこの空き領域に転送するデータ領域が
明らか(二なる。なお、登録されたメモリ領域、即ちス
テータス・テーブル内に空き領域が1つしかない場合は
、ステップ28の5AVE 3は最終データ領域の次の
アドレス(ニすればよい。
ステップ30において、CPUl0は 5AVE l、 2及び3に基づきデータ領域を空き領
域に転送する。よって、第7図(二示す如く、ラベルL
O,L2及びL3のデータ領域のアドレスが連続し、途
14月二草き領域がなくなる。このステップ30は転送
ルーチンとして、第5及び第6図を参照して詳細に後述
するが、このステップ30の最後(−おいて、転送した
データ領域の新たな最終アト1ノス(ηS7図のラベル
L3のデータ領域の最終アドレスA3′)を5AVE1
として蓄積しておく必要がある点(二留意されたい。次
にCPUl0は、ステップ32(二おいて、登録した全
ステータスを調べたかをチェックする。これは二4ベル
L5までをチェックしたかを調べればよい。まだ全ステ
ータスを調べていない(否定の)場合はステップ26に
進み、全ステータスを調べた(肯定の)場合はメモリ側
副(ガーベッジ・コレクション)を終了する。実施例で
はまだ第2図のラベルL4の空き領域及びラベルL5の
データ領域を処理していないので、ステップ26.28
及び30i二よりラベルL5のデータ領域を新たな空き
領域(二転送する。
よって、最終的にはRAM14のメモリ構造は第7図の
ように、ラベル1,0.1,2. L3及びL5のデー
タ領域が空き領域をはさまず(二連続し、メモリ制御を
終了する。
次(1第5図を参照して転送ルーヅーン30を説明する
。ステップ34において、 5AVE ] (ステップ
24でめた最初の空き領域の開始アドレス)及び5AV
E 2 (ステップ26でめた次のデ−タ領域の開始ア
ドレス)を夫々5AVE 1’ 及び5AVE 2’に
置換する。これは複数回のブロック転送を行なう際、各
ブロック転送に必要な開始アドレスが異なるため、5A
VE 1及び5AVE 2として固定しておけないため
である。ステップ360おいて、CI) U J Oは
5AViじ1′(例えば第2図のアドレスAl)から空
き領域(例えば第2図のラベルL1の領域)の最初のメ
モリ・ブロック(例えば第2図のアドレス01 000
0から01 FFFF までの領域)内に占める空き領
域の容量(例えば第2図のアドレスA1から01″F 
F F Fまでの領域の容量)をめると共に、5AVl
u 2’ (例えば第2図のアドレスA2)からデータ
領域(例えば第2図のラベルJ、 2及びL3の領域)
の最初のメモリ・ブロック(例えば第2図の7ドレヌ0
20000から02FFFFまでの領域)内(二重める
データ領域の容量、(例えば第2図のアドレスA2から
02P L” I” Fまでの領域の容量)をめる。こ
れら容量は5AVE 1’及び2′と各メモリ・ブロッ
クの最終アドレスどの差からめてもよいが、各メモリ・
ブロックの容量が2進法表示で全て「1」の場合、5A
VE 1’及び2′の内メモリ・ブロックを表わす上位
桁を除いた下位桁の補数からめてもよい。
例えば実施例では各メモリ・ブロックの容量は64K(
−16進法表示でrli”Ii’FFl、2進法表示で
1l−tlll、111 11−11 1.tll、J
 )なので、 5AVIう1′及び2′が16進6桁の
場合、下4桁の補数をめればよい。ステップ36では、
空き領域及びデータ領域の最初のメモリ・ブロックの容
量(例えば5AVE 1’及び2′、即ちアドレスA1
及びA2の下4桁の補数)をめた後、これら容量を比較
し、小さい方の容量を転送するデータの容量、即ち転送
容量とする。これは、例えば空き領域の最初のメモリ・
ブロックの容量の方が小さい場合。
データ領域の最初のメモリ・ブロックの全データを転送
すると、転送データを受ける領域が境界を越えてしまい
、ブロック転送命令が利用できないためである。また、
同様(−、データ領域の最初のメモリ・ブロックの容量
の方が小さい場合、空き領域の最初のメモリ・ブロック
の容量を転送容量(ニすると、転送されるデータは境界
を越えてしまい、ブロック転送命令を利用できないため
である。
ステップ3Gにおいて、転送容量が決定すると、ステッ
プ38(二おいて、CPUl0はデータ領域の最初のメ
モリ・ブロックから転送容量分のデータ(データ領域の
最初のメモリ・ブロックの容量の方が転送容量より大き
い場合は、アドレスの小さい方から転送容量分のデータ
)を望き領域の最初のメモリ・ブロックにブロック転送
を行なう。このステップ38は第6図を参照して更に後
述するが、データが転送された後、空き領域及びデータ
領域が変更するので、5AVID1′及び2′は新たな
窄き領域及び新たなデータ領域の開始アドレスに更新さ
れることに注意されたい。なお、データ領域の全データ
を転送し終わると5AVE 2’は最後(二転送したデ
ータ領域の最終アドレス(二1を加えたものになる。
ステップ40において、CPUl0は、ステップ38で
更新した5AVE 2’がステップ28でめた5AVE
 Bに等しいか否か、即ち、データ領域の全データが転
送されたか否かを調べる。全データが転送された(肯定
の)場合、第4図のステップ32に進み、まだ全データ
が転送されない(否定の)場合、ステップ42に進む。
ステップ42じ進んだ場合、残りのデータのブロック転
送を繰返すが、2回目以降の転送ではステップ36のよ
う(二転送容量をめることはしない。即ち。
この実施例では各メモリ・ブロックの容量は互いに等し
いため、前回のブロック転送の際の転送容量が空き領域
の最初のメモリ・ブロックの容量で決定していれば、新
たなデータ領域の最初のメモリ・ブロックの容量の方が
新たな空き領域の最初のメモリ・ブロックの容量よりも
小さい。よって、この場合はステップ44に進み、 5
AVE 2’(新たなデータ領域の開始アドレス)によ
りステップ36と同様に転送容量をめる。即ち、 5A
VE 2・の−F4桁の補数を転送容量とする。また、
前回のブロック転送の際の転送容量がデータ領域の最初
のメモリ・ブロックの容量で決定していれは、新たな空
き領域の最初のメモリ・ブロックの容量が新たなデータ
領域の最初のメモリ・ブロックの容量よりも小さいので
、ステップ46(二進み、5AVE1′の下4桁の補数
を転送容ff+1とする。ステップ44及び46の後ス
テップ38に戻り、上述の動作を繰返す。
次(1弟6図を参照して、ステップ38のブロック転送
ルーチンを説明する。まず、ステップ48において、5
AVE J’から転送データを受(する輩き領域の開始
アドレスを設定し、5AVE2’からデータ領域の転送
するデータ領域(転送領域)の開始アドレスを設定し、
ステップ36.44又は46でめた転送容置な設定する
。ステップ50ではステップ48の設定に基づきブロッ
ク転送を行なう。このブロック転送は、例えばzsoo
o型−1イクロプロセノサの場合、LDIR(Load
、Lncrement and Repeat )とい
う単一の命令で杓なえ。
単一メモリ・ブロック内の大量のデータを1度(二高速
で転送できる。このブロック転送が終わった後、ステッ
プ52において、」二連した5AVE ]’及び2′の
更新を行ない、第5図のステップ4Of二進む。これら
ステップの動作(二より、ガーベノジ・コレクシ1ンが
高速に終了する。
〔実施例の変更〕
」二連は本発明の好適な実施例についての説明であるが
、当業者には本発明の要旨を逸脱することなく種々の変
更が可能なことが理解できよう。
例えば、各メモリ・ブロックの容量が異なる場合、第5
図においてステップ42.44及び46をと略し、ステ
ップ40の判断結果が否定のときにステップ36に戻っ
てもよい。また、−に述の実施例では、メモリの境界は
幅を持たず、境界の前後でアドレスが連続していたが、
特定のデータを特定のアドレス領域に固定しておき、こ
のアドレス領域を境界とみなしてもよい。更に、ステー
タス・テーブルを用いる代りに、メモリの各メモリ・ブ
ロックにそのブロックの内容を記憶しておき、これを利
用してもよい。また1本発明のメモリ制御方法を繰返し
実行する際に、第3図(二示す・如きステータス・テー
ブルの空き領域に関するデータを削除し、その分を詰め
てもよい。このこと(二より。
データ領域及び菟き領域の判別が高速となる。
〔発明の効果〕 」二連の如く本発明(二よれば、ガーベノジ・コレクシ
ョンのため;ニデータを転送する際、メモリの境界を考
慮して効率よくブロック転送を行なうので、このメモリ
制御を高速で行なえる。
【図面の簡単な説明】
第1図はCI) Uを用いたシステムのブロック図、第
2図は本発明を説明するだめのメモリの構成図、第3図
は本発明を説明するためのステータス・テーブルの図、
第4図、第5図及び第6図は本発明を説明するだめの流
れ図、第7図は本発明を説明するだめのメモリの構成図
である。 1/I:メモリ 特許出願人二ソニー・テクトロニクス株式会社燦10 兜31羽 2 豫2(¥l 富7図

Claims (1)

    【特許請求の範囲】
  1. 複数のメモリ・ブロックから成るメモリの空き領域内の
    最初のメモリ・ブロックの容量及び次のデータ領域内の
    最初のメモリ・ブロックの8鼠を比較し、小さい方の容
    量を転送容量とし、この転送容量分のデータを上記デー
    タ領域の最初のメモリ・グロックから上記空き領域の最
    初のメモリ・ブロック(−ブロック転送し、新たな空き
    領域に対し上記ブロック転送を繰返し、データを上記メ
    モリの所定アドレス領域内C二連続的に記憶することを
    特徴とするメモリ制御方法。
JP20519683A 1983-11-01 1983-11-01 メモリ制御方法 Granted JPS6097444A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP20519683A JPS6097444A (ja) 1983-11-01 1983-11-01 メモリ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20519683A JPS6097444A (ja) 1983-11-01 1983-11-01 メモリ制御方法

Publications (2)

Publication Number Publication Date
JPS6097444A true JPS6097444A (ja) 1985-05-31
JPH0136132B2 JPH0136132B2 (ja) 1989-07-28

Family

ID=16502991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20519683A Granted JPS6097444A (ja) 1983-11-01 1983-11-01 メモリ制御方法

Country Status (1)

Country Link
JP (1) JPS6097444A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6451868A (en) * 1987-08-24 1989-02-28 Canon Kk Memory device and memory managing method
JPH01175048A (ja) * 1987-12-29 1989-07-11 Sharp Corp コンピュータ
US5295411A (en) * 1993-06-22 1994-03-22 Speckhart Frank H Torsional vibration absorber system
US5351574A (en) * 1992-06-08 1994-10-04 Nissan Motor Company, Ltd. Flywheel
US6116112A (en) * 1997-12-31 2000-09-12 Samsung Electronics Co., Ltd Self-compensating dynamic balancer
US6125977A (en) * 1996-10-22 2000-10-03 Mitsubishi Heavy Industries, Ltd. Self-tuning type vibration damping apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6451868A (en) * 1987-08-24 1989-02-28 Canon Kk Memory device and memory managing method
JPH01175048A (ja) * 1987-12-29 1989-07-11 Sharp Corp コンピュータ
US5351574A (en) * 1992-06-08 1994-10-04 Nissan Motor Company, Ltd. Flywheel
US5295411A (en) * 1993-06-22 1994-03-22 Speckhart Frank H Torsional vibration absorber system
US6125977A (en) * 1996-10-22 2000-10-03 Mitsubishi Heavy Industries, Ltd. Self-tuning type vibration damping apparatus
US6116112A (en) * 1997-12-31 2000-09-12 Samsung Electronics Co., Ltd Self-compensating dynamic balancer

Also Published As

Publication number Publication date
JPH0136132B2 (ja) 1989-07-28

Similar Documents

Publication Publication Date Title
US3878513A (en) Data processing method and apparatus using occupancy indications to reserve storage space for a stack
EP0170284B1 (en) Microcomputer
JPS6027964A (ja) メモリアクセス制御回路
JPS6097444A (ja) メモリ制御方法
DE69630416T2 (de) Mikroprozessor zur Ausführung von Befehlen mit variablen Längen
CN85107899A (zh) 信息处理装置
US3689893A (en) Accounting machine processor
US3405396A (en) Digital data processing systems
US20040078551A1 (en) Method for operating a data processing device as well as contruction of a data processing device as a memory-programmable control unit
JPS6154536A (ja) デ−タ整順化回路
JPS6150359B2 (ja)
JPS58129544A (ja) デ−タ分類記憶装置
JPS5844551A (ja) デ−タ書込み制御方式
JPH0315772B2 (ja)
CN119358614A (zh) 数据处理方法、装置、存储介质及电子设备
JPS59106047A (ja) マイクロコンピユ−タ
JPS5839326A (ja) プログラムロ−ド方式
JPH06250711A (ja) プログラマブルコントローラ
JPH05298893A (ja) 連想記憶装置
JP2654230B2 (ja) ファイル転送方式
JPS6057440A (ja) 情報処理装置
JPH07120263B2 (ja) ソ−ト機能を備えた処理装置
JPS59180720A (ja) 電子計算機のキ−入出力装置
JPH04257921A (ja) 浮動小数点演算器
JPS58217046A (ja) 用語編集装置