JPS6298441A - 情報処理装置による記憶管理機構 - Google Patents

情報処理装置による記憶管理機構

Info

Publication number
JPS6298441A
JPS6298441A JP60237296A JP23729685A JPS6298441A JP S6298441 A JPS6298441 A JP S6298441A JP 60237296 A JP60237296 A JP 60237296A JP 23729685 A JP23729685 A JP 23729685A JP S6298441 A JPS6298441 A JP S6298441A
Authority
JP
Japan
Prior art keywords
data
class
program
entry
information processing
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
JP60237296A
Other languages
English (en)
Other versions
JPH06105435B2 (ja
Inventor
Norihisa Suzuki
鈴木 則久
Toru Nojiri
徹 野尻
Shunpei Kawasaki
俊平 河崎
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60237296A priority Critical patent/JPH06105435B2/ja
Priority to KR1019860007395A priority patent/KR870004369A/ko
Priority to EP86114723A priority patent/EP0220683A3/en
Publication of JPS6298441A publication Critical patent/JPS6298441A/ja
Priority to US07/503,112 priority patent/US5043869A/en
Publication of JPH06105435B2 publication Critical patent/JPH06105435B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 [技術分野] この発明は、情報処理技術さらにはオブジェクト指向言
語で書かれたプログラム髪実行するマイクロプロセッサ
に適用して有効な技術に関し1例えばスモールトーク(
Srn+i l l t; a l k)と呼ばれる言
語で動くマイクロプロセッサにおける記憶管理方式に利
用して有効な技術に関する。
[背景技術] オブジェクト指向言語を用いたプログラミングでは、デ
ータとそのデータに対する手続きとが一体になったオブ
ジェクl−を単位としてプログラムが組み立てられる。
そして、とのオブジェクトに対するメツセージの送信が
基本操作となっている。
従って、プログラムを実行する場合、オブジェクトの読
み出しが頻繁に生1ッる。そのため、オブジェク1−指
向言語で書かれたプログラムを走らせるシステムでは、
オブジェクトの記憶管理とオブジェクトの読出し方式が
実行速度を決定する」二で重要となる。
従来、スモールトーク用マイクロプロセッサにおけるオ
ブジェクト・テーブルの各エントリ領域の構造は、第2
図に示すようにオブジェクトの参照数を記憶するリファ
レンス・カウント領域RCとフラグ領域F G、オブジ
ェクトの物理アドレス製表すセグメント欄SGおよびオ
フセット欄OFとにより構成されていた([株]岩波書
店、1985年6月24日発行、[岩披講座マイクロエ
レク1−ロニクス7 プログラミング言語とV 1. 
S I J第152頁〜]58頁参照)。
ところで、オブジェクト指向言語ではプログラム実行中
、次に来るオペレーションは、アクセスされたオブジェ
クトのクラスフィール1へ(オブジェクトの属するクラ
スの種類が入っている欄)を見ないと分からない。従っ
て、従来のオブジェクト・テーブルを用いた間接アクセ
ス方式では次に来るオペレーション髪決定する場合、先
ず、オブジェクト・テーブルを引いてそれによって得ら
れた物理アドレスでオブジェクトをアクセスしてクラス
を参照しなければならなかった。すなわち、次のオペレ
ーション(スモール1−一りではメソッドと呼ぶ)は、
受は手のオブジェクトのクラスとメツセージのセレクタ
とからメソッド・ディクショナリなるテーブルを引いて
メソッドの探索を行うため、オブジェクトのクラスが必
要となる。しかも、それをマクロプログラムで行ってい
た。そのため、オペレーションが決定されるまでの時間
が長く、プログラムの実行速度が遅いという不都合が合
った。
[発明の目的] この発明の1−1的は、オブジェクト指向言語で書かれ
たプログラムを実行するマイクロプロセッサにおけるプ
ログラムの実行速度の向−1−を図ることにある。
この発明の前記ならびにそのほかの目的と新規な特徴に
ついては、本明細書の記述および添附図面から明らかに
なるであろう。
[発明の概要] 本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおりである。
すなわら、オブジェクト指向言語で書かれたプログラム
を実行する場合、オブジェクト・テーブル内の各エント
リーにそのオブジェクト内のクラス等のデータを入れる
データ欄を付加してやることにより、オブジェクト・テ
ーブルを引いて対応するデータ欄を参照するだけで次の
オペレーションを決定したり、必要なデータを得ること
ができるようにして、プログラムの実行速度の向上を図
るという−に記目的を達成するものである。
[実施例] 第3図には、本発明を一例としてスモールトーク(Sm
s 11 t a l k)で書かれたプログラムによ
って動くシステムに適用した場合の要部の一4一 実施例が示されている。
この実施例では、オブジェクト・ポインタO0p内の値
(エントリ番号)によって指されるl:、メモリMEM
上に割り付けられたオブジェクト・テーブル(アドレス
変換用テーブル)OT内の各エントリENTに、データ
欄DTが設けられている。
このデータ欄DTには、そのエンI−リENT内の物理
アドレス(絶対アドレス)によって指示される主メモリ
M E M−hのヒープTTP内のオブジェクトOb 
jに関するデータ、例えば指示されたオブジェクトOb
 、jの属するクラスが格納される。ヒープHP内の各
オブジェクトOb 、iには、一般にそのオブジェクト
のサイズや各種データのほか、オブジェクトの属するク
ラスが入っている。従って、ヒープHP上に新しくオブ
ジェクトを形成し、かつオブジェクト・テーブルOT−
,1−にそのオブジェクトを読み出すためのエントリを
設ける際に、オブジェクト内に入れるクラスを、対応す
るエントリのデータ欄にも入れてやるようにすればよい
このようにしておけば、例えばスモールトークで書かれ
たプログラムにおいて、メソッ1−を呼び出す場合に必
要となる受は手のオブジェクトのクラスを簡litに知
ることができるようになる。すなわち、従来のアクセス
方式では、オブジェクト・テーブルOTを引いて得られ
た物理アドレスによっていちいちヒープIJ1〕内のオ
ブジェクトをアクセスしてクラス詮読み出す必要があっ
た。これに対し、」二記実施例の方式に従うと、オブジ
ェクトのクラスのみ知りたいような場合には、いちいち
ピーシ内まで捜さなくても、単にオブジェクト・テーブ
ルOTを引いて対応するエン1〜すE N T内のデー
タ欄DTを見るだけで、直ちに所望のクラスを知ること
ができる。
また、上記実施例では、オブジェクト・テーブルOT内
の各エントリENTに属するデータ欄D1゛に、−例と
して対応するオブジェクトのクラスを入れるようにした
ものについて説明したが、各エンl−IJ E N T
のデータ欄DTには、クラス以外に例えばオブジェクト
Ob 、jに関するデータの内特に使用頻度の高いもの
を入れておくようにしてもよい。プログラムの局所(’
lによって、同一オブジェクト内の同一データを使用す
るが頻繁に起きるので、オブジェクト・テーブルOT内
にそのようなデータを入れておくことによって、いちい
ちオブジェクト・テーブルOTを介して間接的にヒープ
HP内のオブジェクトをアクセスしなくても、オブジェ
クト・テーブルOT”を引くだけで必要なデータが得ら
れることが多くなる。
そのような、使用頻度の高い重要なデータが、オブジェ
クト形成の際に分かっていれば、予め対応するエン]へ
りENTのデータ欄1]゛Fに入れておけばよい。また
、エン1〜すIJ: N Tのデータ@ D ’I’に
予め重要なデータが入っていない場合にも、初めてその
データが使用されるときに、ヒープHP内のオブジェク
トOb 、iから読み出されたデータを、対応するオブ
ジェクト・テーブルOT」−のエントリENTのデータ
欄D Tに書き込んでやるようにしてもよい。このよう
にしても、プログラムの局所性から一度参照されたデー
タは再び使用される確立が高いので、同一データの二回
目以降の=7− アクセス時間が短縮されるようになる。
オブジェクト・テーブルOT上のエントリEN′Fのデ
ータ欄D Tに対応するオブジェクトのクラスを入れる
場合にも、最初にそのオブジェクトのクラスが参照され
たときにデータ欄に書き込むようにしてもよい。
第4図には、スモールトークのようなオブジェクト指向
n語に適したオブジェクト・テーブル01′のエントリ
のより具体的構成例が示されている。
すなオ〕ち、この実施例のエントリは、リファレンス・
カウント領域RCとフラグ領域FG、セグメンl−欄S
Gおよびオフセット欄OFに、例えば2ワードのデータ
欄1)Tが付属された構成にされている。
4ビットのセグメントl1lSGと16ビツトのオフセ
ラ1〜欄OFを結合した20ビツトで主メモリの物理ア
ドレスを形成し、ヒープHP内のオブジェクトObjを
アクセスするようにされる。フラグ領域FGには、オブ
ジェクトの中身がポインタであるか否かを示すピッ1−
等オブジェクトの記憶管理に必要なフラグが設けられて
いる。
また、リファレンス・カウント領域RCは、オブジェク
トの回収に利用する欄で、ここにはそのオブジェクトを
指している他のオブジェクトの数が入れるようにされて
いる。RCがOになれば、そのオブジェクトは他から参
照されていないことを意味する。そこで、RCが0にな
った場合には、ガーベッジ・コレクタと呼ばれるプログ
ラムによって、使用されなくなったオブジェクトを回収
し、空いた記憶領域の再利用を図るようにされている(
ガーベツジ・コレクション)。
さらに、新たにオブジェクトを形成する場合に、そのオ
ブジェクトが入るのに必要かつ十分な大きさの空き領域
髪速やかに見つけるため、同じ大きさの空き領域(チャ
ンク)をつないだ線型リスト(フリーチャンク・リスト
)と、大きさごとに空き領域の線型リストの先頭アドレ
スを入れたテーブルとを形成する。また、空き領域のサ
イズがだんだん小さくなって新しいオブジェクトの入る
空き領域の探索に失敗すると、ばらばらの空き領域髪集
めて一つの大きな空き領域を形成するコンパクシ9ンと
呼ばれる処理を行うようにされている。
−■−記のようなオブジェクト・テーブルOTの管理、
オブジェクトの形成、ガーベッジ・コレクション、線型
リストの作成およびコンパクション等の処理は、従来全
てマクロプログラムで実行されるようになっていた。し
かるに、この発明では、オブジェクト・テーブルOTを
用いた記憶管理に関するに記処理髪全でマイクロプロセ
ッサ内のマイクロプログラムによって行うようにした。
これによって、プログラムの実行速度が大幅に向上され
るようになる。
[効果] オブジェクト・テーブル内の各エントリのうち少なくと
も頻繁にアクセスされるオブジェクトを指示するものに
、そのオブジェクト内のクラス等のデータを入れるデー
タ欄を付加してなるので、オブジェクト・テーブルを引
いて対応するデータ欄を参照するだけで次のオペレーシ
ョンを決定したり、必要なデータを得ることができると
いう作用により、プログラムの実行速度が向1−される
しかも、この発明では、オブジェクト・テーブルを用い
た記憶管理をすべてマイクロプログラムで行うようにし
たので、さらに、プログラムの実行速度が向上されると
いう効果がある。
以」二本発明者によってなされた発明を実施例に基づき
具体的に説明したが、本発明はに記実施例に限定される
ものではなく、その要旨を逸脱しない範囲で種々変更可
能であることはいうまでもない。例えば、上記実施例で
は、オブジェクト・テーブルが主メモリー1−に形成さ
れていると説明したが、オブジェクト・テーブルはオン
チップの大容量レジスタ群」;に割り付けるようにして
もよい。
[利用分野] 以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるスモールトーク(S
mal、1talk)で書かれたプログラムで動くシス
テムに適用した場合について説明したが、この発明はそ
れに限定されず、オブジェクト指向言語で書かれたプロ
グラムを実行するシステムにおける記憶管理方式一般に
利用することができる。
【図面の簡単な説明】
第1図は、従来のスモールトーク(Smallt、al
k)用のマイクロプロセッサにおけるオブジェクトのア
クセス方式を示す説明図、第2図は、オブジェクトのア
クセスに使用される従来のオブジェクト・テーブルの構
成例を示す説明図、 第3図は、本発明に係るオブジェクト・テーブル使用方
式を示す説明図、 第4図は、そのオブジェクト・テーブルの構成例を示す
説明図である。 Oo p・・・・オブジェクト・ポインタ、OT・・・
・オブジェクト・テーブル、ENT・・・・エントリ領
域、r)T・・・・データ領域(データ欄)、FG・・
・・フラグ領域、RC・・・・リファランス・カウント
領域、SG・・・・セグメント欄、OF・・・・オフセ
ット欄、HP・・・・ヒープ、Ob j・・・・オブ第
1図 第2図

Claims (1)

  1. 【特許請求の範囲】 1、オブジェクト指向言語で書かれたプログラムを実行
    可能な情報処理装置において、オブジェクト指定用のレ
    ジスタによってアドレス変換用テーブルを介して主メモ
    リ上に割り付けられているオブジェクトの一つを指示で
    きるようにするとともに、上記オブジェクト指定用レジ
    スタの値によって指される上記アドレス変換用テーブル
    内のエントリ領域には、対応するオブジェクトの位置を
    示す物理アドレスの他、そのオブジェクト内の頻繁に参
    照が生じる一部のデータを格納可能なデータ領域を設け
    、上記アドレス変換用テーブル内から直接所望のオブジ
    ェクトに関するデータを得ることができるようにしたこ
    とを特徴とする情報処理装置における記憶管理方式。 2、上部エントリ領域内のデータ領域へのデータの書込
    みをマイクロプログラムで行うようにしたことを特徴と
    する特許請求の範囲第1項記載の情報処理装置における
    記憶管理方式。 3、上記オブジェクト内データとして、そのオブジェク
    トの属するクラスを上記アドレス変換用テーブル内のデ
    ータ領域へ書き込むようにしたことを特徴とする特許請
    求の範囲第1項もしくは第2項記載の情報処理装置にお
    ける記憶管理方式。
JP60237296A 1985-10-25 1985-10-25 情報処理装置による記憶管理機構 Expired - Lifetime JPH06105435B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP60237296A JPH06105435B2 (ja) 1985-10-25 1985-10-25 情報処理装置による記憶管理機構
KR1019860007395A KR870004369A (ko) 1985-10-25 1986-09-04 정보 처리 장치에 있어서의 기억 영역 구조
EP86114723A EP0220683A3 (en) 1985-10-25 1986-10-23 Storage area structure in information processor
US07/503,112 US5043869A (en) 1985-10-25 1990-03-30 Storage area structure in information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60237296A JPH06105435B2 (ja) 1985-10-25 1985-10-25 情報処理装置による記憶管理機構

Publications (2)

Publication Number Publication Date
JPS6298441A true JPS6298441A (ja) 1987-05-07
JPH06105435B2 JPH06105435B2 (ja) 1994-12-21

Family

ID=17013264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60237296A Expired - Lifetime JPH06105435B2 (ja) 1985-10-25 1985-10-25 情報処理装置による記憶管理機構

Country Status (4)

Country Link
US (1) US5043869A (ja)
EP (1) EP0220683A3 (ja)
JP (1) JPH06105435B2 (ja)
KR (1) KR870004369A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10116199A (ja) * 1996-10-14 1998-05-06 Nippon Telegr & Teleph Corp <Ntt> メモリ管理方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5603000A (en) * 1989-05-15 1997-02-11 Dallas Semiconductor Corporation Integrated circuit memory with verification unit which resets an address translation register upon failure to define one-to-one correspondences between addresses and memory cells
US5189733A (en) * 1989-08-22 1993-02-23 Borland International, Inc. Application program memory management system
JP2591217B2 (ja) * 1990-02-06 1997-03-19 日本電気株式会社 オブジェクトクラス定義情報実装装置
US5396630A (en) * 1992-10-06 1995-03-07 International Business Machines Corporation Method and system for object management across process boundries in a data processing system
SE501433C2 (sv) * 1993-06-23 1995-02-13 Ellemtel Utvecklings Ab Sätt att uppnå dataaccess i en primärminnesbaserad databas
US5463769A (en) * 1993-12-15 1995-10-31 International Business Machines Corporation Method and apparatus using dictionary of methods and states for high performance context switching between build and run modes in a computer application builder program
US5611043A (en) * 1994-03-18 1997-03-11 Borland International, Inc. Debugger system and method for controlling child processes
KR20020060419A (ko) * 2001-01-11 2002-07-18 최웅림 메모리 접근 방법
CN100461176C (zh) * 2006-01-26 2009-02-11 无锡永中科技有限公司 基于对象存储库的对象引用方法
CN100356330C (zh) * 2006-01-26 2007-12-19 无锡永中科技有限公司 基于对象存储库的粘贴链接处理方法和粘贴链接处理器

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1218406A (en) * 1968-07-04 1971-01-06 Ibm An electronic data processing system
FR2230258A5 (ja) * 1973-05-16 1974-12-13 Honeywell Bull Soc Ind
US4145745A (en) * 1974-12-20 1979-03-20 U.S. Philips Corporation Address conversion device for secondary memories
JPS52130532A (en) * 1976-04-27 1977-11-01 Fujitsu Ltd Address conversion system
DE2641722C3 (de) * 1976-09-16 1981-10-08 Siemens AG, 1000 Berlin und 8000 München Hierarchisch geordnetes Speichersystem für eine datenverarbeitende Anlage mit virtueller Adressierung
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
US4388682A (en) * 1979-09-04 1983-06-14 Raytheon Company Microprogrammable instruction translator
US4511964A (en) * 1982-11-12 1985-04-16 Hewlett-Packard Company Dynamic physical memory mapping and management of independent programming environments
USRE37305E1 (en) * 1982-12-30 2001-07-31 International Business Machines Corporation Virtual memory address translation mechanism with controlled data persistence
US4792895A (en) * 1984-07-30 1988-12-20 International Business Machines Corp. Instruction processing in higher level virtual machines by a real machine

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10116199A (ja) * 1996-10-14 1998-05-06 Nippon Telegr & Teleph Corp <Ntt> メモリ管理方法

Also Published As

Publication number Publication date
JPH06105435B2 (ja) 1994-12-21
EP0220683A3 (en) 1989-11-15
EP0220683A2 (en) 1987-05-06
US5043869A (en) 1991-08-27
KR870004369A (ko) 1987-05-09

Similar Documents

Publication Publication Date Title
US7065617B2 (en) Efficient write-watch mechanism useful for garbage collection in a computer system
JP2856620B2 (ja) コンピュータ・システムにおけるメモリ管理方法及び装置
US5930807A (en) Apparatus and method for fast filtering read and write barrier operations in garbage collection system
US5918251A (en) Method and apparatus for preloading different default address translation attributes
US7069279B1 (en) Timely finalization of system resources
US4937738A (en) Data processing system which selectively bypasses a cache memory in fetching information based upon bit information of an instruction
JPS6298441A (ja) 情報処理装置による記憶管理機構
JPH05274152A (ja) オブジェクト管理方式
JPS63238646A (ja) マイクロプロセッサ
DE102019117783A1 (de) Anwendungsprozessor und System-on-Chip
JPS5987566A (ja) メモリアクセス検出方式
JP3180336B2 (ja) 多層バッファを用いるデータアクセス方法
JP4701611B2 (ja) 動的変換方式のエミュレータ向けメモリ管理方法
JPS60252973A (ja) ダイナミツクロ−デイング制御方式
JPS6051741B2 (ja) プログラム管理方式
US7596668B2 (en) Method, system and program product for associating threads within non-related processes based on memory paging behaviors
JPS589452B2 (ja) フア−ムウエアホウシキ
Budd Centrum voor Wiskunde en lnformatica
JPS63106053A (ja) デ−タベ−ス書込み/読出し方式
JPS633351A (ja) バツフア検索制御方式
JPH0498516A (ja) ディスクアクセス方式
JPH04205535A (ja) コピーオンライト方式
JPH06309196A (ja) トレース機能付情報処理装置
JPS58166583A (ja) バツフアメモリ制御方式
JPH04348441A (ja) キャッシュメモリ制御方式