JPS6298442A - 情報処理装置における記憶管理方式 - Google Patents

情報処理装置における記憶管理方式

Info

Publication number
JPS6298442A
JPS6298442A JP23729785A JP23729785A JPS6298442A JP S6298442 A JPS6298442 A JP S6298442A JP 23729785 A JP23729785 A JP 23729785A JP 23729785 A JP23729785 A JP 23729785A JP S6298442 A JPS6298442 A JP S6298442A
Authority
JP
Japan
Prior art keywords
address
pointer
physical address
register
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP23729785A
Other languages
English (en)
Inventor
Norihisa Suzuki
鈴木 則久
Toru Nojiri
徹 野尻
Koichi Nakano
公一 中野
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 JP23729785A priority Critical patent/JPS6298442A/ja
Publication of JPS6298442A publication Critical patent/JPS6298442A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 [技術分野] この発明は、情報処理技術さらにはオブジェクト指向言
語で書かれたプログラムを実行するマイクロプロセッサ
に適用して有効な技術に関し、例えばスモールトーク(
Sma I l t al k)と呼ばれる言語で動く
マイクロプロセッサにおける記憶管理方式に利用して有
効な技術に関する。
[背鼠技術] オブジェクト指向言語を用いたプログラミングでは、デ
ータとそのデータに対する手続きとが一体になったオブ
ジェクトをQi位としてプログラムが組み立てられる。
そして、このオブジェクI−に対するメツセージの送信
が基本操作となっている。
従って、プログラムを実行する場合、オブジェクトの読
み出しが!繁に生じる。そのため、オブジェクト指向言
語で書かれたプログラムを走らせるシステムでは、オブ
ジェクトの記憶管理とオブジエクトの続出し方式が実行
速度を決定する上で重要となる。
従来5例えばスモールトーク(Sma l i t a
lk)用のマイクロプロセッサでは、第1図に示すよう
に、オブジェクト・ポインタOop内の値によってオブ
ジェク]−・テーブルOTを参照する。
そして、このオブジェクト・テーブルOT内の物理アド
レスによって、主メモリ内のヒープと呼ばれるeft 
k HI)に入っている所望のオブジェクトをアクセス
するようにしていた。また、オブジェクト・テーブル0
′rも主メモリ」二に割り付けられていた([株]岩波
書店、1985年6月24日発行、[音波u座マイクロ
エレクトロニクス7 プログラミング言語とV L S
 T J第152頁〜154頁針類)。
これによって、比較的小さなビット数で大きな空間な指
すことができるとともに、ヒープの中の記憶tll+か
してコンパクションを行っても、オブジェク1−・ポイ
ンタの値を変える必要がない。しかも、人モールトーク
(Small、talk)では、レファレンス・カウン
ティング・ガーベツジ・コレクションによってオブジェ
クト管理を行っているが、その際、各オブジェク1へ毎
の参照数を、オブジェクト・テーブル内に入れておくこ
とができるため、メモリの使用効率がよいという利点が
ある。
しかしながら、オブジェクト・テーブルを用いた間接的
アクセス方式では、オブジェク!−・ポインタOopか
らオブジェクトの中味に到達するまでに、2回主メモリ
へのアクセスが必要である。
その結果、オブジェクトの読出しに時間がかかり、プロ
グラムの実行速度が遅いという問題点があった。
また、オブジェクトの内部のデータを読み出す場合、オ
ブジェク]へ・テーブルOTから得られたオブジェクト
の先頭アドレスに、データのある位置を示すオフセット
値を加えて得られたアドレスを使ってアクセスする必要
があった。
[発明の目的] この発明の目的は、オブジェクト指向言語で書=3− かれたプログラムを実行するマイクロプロセッサにおけ
るプログラム実行速度の向上を図ることにある。
この発明の前部ならびにそのほかの目的と新規な特徴に
ついては、本明細書の記述および添附図面から明らかに
なるであろう。
[発明め概要] 本願において開示される発明のうち代表的なものの概要
を説明すれば、下記のとおりである。
すなオ)も、オブジェクト指向言語で書かれたプログラ
ムを実行する場合、同一のオブジェクトが使用されるこ
とが非常に多いことに着目して、マイクロプロセッサ内
部のレジスタ群に設けられるオブジェクト・ポインタと
対髪なすように、主メモリにのオブジェク上の位置を直
接示す物理アドレス(絶対番地)を入れる領域を設ける
ようにすることによって、アクセス回数の多いオブジェ
クトについてはオブジェクト・テーブルを介さずに直接
主メモリをアクセスして読み出すことができるようにし
て、プログラムの実行速度を向上させるという」1記目
的を達成するものである。
[実施例] 第2図には1本発明登スモールトーク(Smallta
l、k)で書かれたプログラムによって動くマイクロプ
ロセッサに適用した場合の一実施例が示されている。
アクセス対象となるオブジェクトを指示するオブジェク
ト・ポインタには、オブジェク!−の中にあるものと、
マイクロプロセッサ内のレジスター1−にあるものとが
ある。すなわち、よく使用されるオブジェクト・ポイン
タについては、これをチップ上にもつことによってオブ
ジェクトのアクセス時間を短くできるようになっている
。しかしながら、従来のスモールトーク(’Sma ]
、 ]、 t a 1 k)用マイクロプロセッサでは
、いずれのオブジェクト・ポインタについてもオブジェ
クト・テーブルを介してヒープ(主メモリ)をアクセス
する間接アクセス方式がとられていた。
これによって、レジスター上のオブジェクト・ポインタ
については、オブジェクトの物理アドレスを示すのに必
要なビット数(例えば20ビツト)より少ないビット長
(例えば16ビツト)にすることができ、レジスタのビ
ット長か短くて済む。
この実施例では、マイクロプロセッサのLSIチップ(
”、 PU−1:に設けられた大容量レジスタ群RFの
−1−、に、オブジェクト・テーブル○Tに対するエン
トリ・アドレスの入るオブジェクト・ポインタ領域Oo
pと、ヒープHP内のオブジェクトの物理アドレス領域
Phyaとからなるポインタ・アドレスペアPA P□
〜PAPnが設けられている。■、SI外部の主メモリ
MEM上のヒープHP内のオブジェクトを先頭からでは
なく、内部のデータを直接読み出す場合、」1記物理ア
ドレス領域P h y aには、先頭アドレスにオフセ
ット値を加えたアドレスが入るようにされる。
1;記物理アドレス領域Phyaへの物理アドレスの苺
込みおよび変更は、オブジェクト・テーブル0 ”I’
への書込みまたは変更が発生したときに同時に行えばよ
い。つまり、この場合、レジスタ上の物理アドレス領域
P h y a内のアドレスと、オブジェクト・テーブ
ルOT内の物理アドレスは常に一致しており、物理アド
レス領域Phya内のアドレスを使ってもオブジェクト
・テーブルOTを介しても所望のオブジェクトを読み出
すことができる。しかして、よく使われるオブジェクト
については物理アドレス領域Phya内のアドレスを使
って直接ヒープをアクセスすることにより、オブジェク
ト・テーブルOTを介した間接的なアクセスに比べて大
幅に実行速度を向上させることができる。
上記の場合、ガーベッジ・コレクションによって不要に
なったオブジェクトの回収が行われたとき、メモリの使
用効率を高めるため空き領域を結合するコレクションの
実行により、メモリ上でオブジェクトが移動する。これ
に伴って、オブジェクト・テーブルOT内の物理アドレ
スの変更が生じ、書き直しが行オ)れる。
このとき、レジスタRF−上のポインタ・アドレスペア
PAP内の物理アドレスがそのままであると、所望のオ
ブジェクトを直接アクセスすることができなくなる。し
かして、この場合にもポインタ・アドレスペアPAP内
のオブジェクト・ポインタOo pの値はそのまま使え
るので、オブジェクト・テーブルOT内のアドレスを読
み出して物理アドレス領域P h y a内に書き込ん
でやることにより、容易にポインタ・アドレスペアPA
P内の物理アドレスの変更を行うことができる。
に記処理は、マイクロプログラム化されたガーベツジ・
コレクタ一部を変更して、オブジェクト・テーブルOT
内の物理ア1くレスの書換えを行う際に同じに、ポイン
タ・アドレスペアPAP内の物理アドレス領域Phya
の書換えをガーベッジ・コレクタで行うようにすること
によって実現することができる。
あるいは、ポインタ・アドレスペアPAP内のオブジェ
クト・ポインタOopの値を使ってオブジェクト・テー
ブルOTを引いて間接的なオブジェクトの読出しが最初
に行われた際に、オブジェクト・テーブルO′Fから読
み出されて主メモリMEMに供給される物理アドレスを
、オンチップの大容量レジスタ群RFにも供給する。そ
して、この物理アドレスを、これを読み出すためオブジ
ェクト・テーブルOTを引くのに用いたオブジェクト・
ポインタOopとペアをなす物理アドレス領域Phya
内に入れてやることにより、物理アドレス領域Phya
の書込み、変更を行う。このようにすれば、プログラム
の局所性によって、一度読み出されたオブジェクトは再
度読み出される可能性が非常に高いので、同一のオブジ
ェク1−を2度以上読み出す場合に、2回目以降のアク
セスが非常に速くなる。
また、この場合にも、ガーベッジ・コレクションによっ
てオブジェクト・テーブルOT内の物理アドレスの書換
えが行われたならば、その後−回目の読出しの際に、ポ
インタ・アドレスペアPAP内のオブジェクト・ポイン
タOo pの値を使ってオブジェクト・テーブルOTを
介してヒープのアクセスを行い、そのとき得られた物理
アドレスをレジスタ内の物理アドレス領域Phyaに書
き込んでやるようにする。これによって、2回目以降の
同一オブジェクトの読出しに要する時間を短縮させるこ
とができる。
さらに、」−記のようなアクセス方式に採用すると、オ
ブジェクト・テーブルOTから得られた物理アドレス(
オブジェクトの先頭アドレス)にオフセラ1〜値を加え
たものによりオブジェクトの中にあるデータを直接読み
出した場合、2回目以降の同じデータの読出しの際にオ
フセットの加算を行う必要もなくなる。
なお、1一記実施例のように、オンチップのレジスタ群
RF上にオブジェクト・ポインタ○Opとペアで、オブ
ジェクトの読出し用物理アドレスに入れる領域P h 
y aを設けるようにした場合、物理ア1くレス領域P
 h y aはオブジェクト・ポインタr)opよりも
大きくしなければ、20ビツトのようなピッ1〜数の大
きな物理アドレスを入れることができない。そこで、先
ず第1に、オンチップのレジスタ群RFを主メモリの物
理アドレスに対応して20ビツトにする方法が考えられ
る。この方を人では、オンチップのレジスタの容量が大
きくなる。しかし、32ビツトマイクロプロセツサのよ
うな高機能マイクロプロセッサに適用する場合には、オ
ンチップのレジスタも32ビツトのようなビット長にさ
れるので、容易に物理アドレス領域Phyaを組み込む
ことができる。
第2の方法としては、物理アドレス領域Phyaを2ワ
ードで構成する方法が考えられる。この方法に従うと、
16ビツトマイクロプロセツサで充分に適用できるがオ
ンチップの大容量レジスタ群上F上に割り付けることが
できるポインタ・アドレスペアP A I)の数が制限
されるという不都合がある。
また、第3方法としては、オブジェクト・ポインタOo
pのビット数を減らし、オブジェク1へ・ポインタOo
 pの後の数ビットと物理アドレス領域Phyaとで必
要なビット数の物理アドレスを得る方法が考えられる。
この方法によると、効率よくオンチップレジスタを使用
できるが、オブジェクト・ポインタOOTlのピッl−
数が減少した分だけ、ヒープ内に取れるオブジェクトの
数が少なくなる。
上記のような各方法の特徴製考慮していずれかの方法を
採用することにより、オブジェクトの読出しに要する時
間を大幅に短縮させることができる。
[効果] マイクロプロセッサ内部のレジスタ群に設けられるオブ
ジェクト・ポインタと対をなすように、主メモリーにの
オブジェクトの位置を直接示す物理アドレス(絶対番地
)を入れる領域を設けるようにしたので、アクセス回数
の多いオブジェクトについてはオブジェク1−・テーブ
ルを介さずに直接主メモリをアクセスして読み出すこと
ができるとともに、オブジェク1へ内部のデータを読み
出す際にも、2回目以降はオフセットの加算が不要にな
るという作用により、プログラムの実行速度が向される
という効果がある。
以上本発明者によってなされた発明を実施例に基づき具
体的に説明したが、本発明は上記実施例に限定されるも
のではなく、その要旨を逸脱しない範囲で種々変更可能
であることはいうまでもない。例えば、上記実施例では
、オブジェクト・テーブルが主メモリ上に形成されてい
ると説明したが、オブジェクト・テーブルはオンチップ
の大容量レジスタ群上に割り付けるようにしてもよい。
さらに、この発明は、レジスタ上のオブジェクト・ポイ
ンタのみでなく、主メモリ上のオブジェク1へ・ポイン
タについても適用することができる。
[利用分野] 以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野であるスモールトーク(S
ma ] ]、 t a l k)用のマイクロプロセ
ッサに適用した場合について説明したが、この発明はそ
れに限定されず、オブジェクト指向言語で書かれたプロ
グラムを実行するマイクロプロセッサもしくはコプロセ
ッサによるオブジェクトの読出し方式に利用することが
できる。
【図面の簡単な説明】
第1−図は、従来のスモールトーク(Smalltal
k)用のマイクロプロセッサ番こおけるオブジェノ1〜
の読出し方式を示す説明図、第2図は1本発明に係るス
モールトーク(Sma 1 ]、 l: a ] k 
)用のマイクロプロセッサにおけるオブジェクトの読出
し方式を示す説明図である。 CPU・・・・マイクロプロセッサ(LSIチップ)、
MEM・・・・主メモリ、RF・・・・大容量レジスタ
群、Oo p・・・・ポインタレジスタ(オブジェクト
・ポインタ)、Phya・・・・アドレスレジスタ(物
理アドレス領域)、PAP□〜PAPr1・・・レジス
タ対(ポインタ・アドレスペア)、01”・・・・オブ
ジェクト・テーブル、HP・・・・ヒープ。

Claims (1)

  1. 【特許請求の範囲】 1、比較的容量の大きなレジスタ群を有し、オブジェク
    ト指向言語で書かれたプログラムを実行可能な情報処理
    装置において、上記レジスタ群上には、適当なテーブル
    を介して主メモリ上に割り付けられているオブジェクト
    の一つを指示するためのポインタレジスタと、上記主メ
    モリ上のオブジェクトの位置を直接示す絶対番地の入る
    アドレスレジスタとからなるレジスタ対を複数個設け、
    このレジスタ対のアドレスレジスタの絶対番地を使って
    オブジェクトを直接呼び出すことができるようにしたこ
    とを特徴とする情報処理装置における記憶管理方式。 2、上記レジスタ対のアドレスレジスタには、対応する
    ポインタレジスタにより参照されるテーブル上のオブジ
    ェクトの絶対番地の書き込み、変更を行う際に同時に同
    じ絶対番地を書き込むようにしたことを特徴とする特許
    請求の範囲第1項記載の情報処理装置における記憶管理
    方式。
JP23729785A 1985-10-25 1985-10-25 情報処理装置における記憶管理方式 Pending JPS6298442A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23729785A JPS6298442A (ja) 1985-10-25 1985-10-25 情報処理装置における記憶管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23729785A JPS6298442A (ja) 1985-10-25 1985-10-25 情報処理装置における記憶管理方式

Publications (1)

Publication Number Publication Date
JPS6298442A true JPS6298442A (ja) 1987-05-07

Family

ID=17013280

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23729785A Pending JPS6298442A (ja) 1985-10-25 1985-10-25 情報処理装置における記憶管理方式

Country Status (1)

Country Link
JP (1) JPS6298442A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226583A (ja) * 2006-02-24 2007-09-06 Hitachi Ltd ポインタの圧縮・伸張方法、これを実行するプログラム、及び、これを用いた計算機システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007226583A (ja) * 2006-02-24 2007-09-06 Hitachi Ltd ポインタの圧縮・伸張方法、これを実行するプログラム、及び、これを用いた計算機システム

Similar Documents

Publication Publication Date Title
JPS61112255A (ja) コンピユ−タ装置
KR100309615B1 (ko) 고속프로그램가능로직컨트롤러(plc)
JP2002535777A (ja) 高速プロセッサシステム、これを使用する方法及び記録媒体
EP0169018A2 (en) Computer memory system
JPH05509189A (ja) コンピュータシステムを動作する方法及びコンピュータシステムにおけるメモリ管理装置
JP2007048296A (ja) 複数のアドレス・キャッシュ・エントリーを無効にする方法、装置およびシステム
US8473722B2 (en) Processor architecture for exact pointer identification
US5420994A (en) Method for reading a multiple byte data element in a memory system with at least one cache and a main memory
US8028118B2 (en) Using an index value located on a page table to index page attributes
JPS5868286A (ja) キヤツシユメモリおよびその作動方法
US5835945A (en) Memory system with write buffer, prefetch and internal caches
JPS6298441A (ja) 情報処理装置による記憶管理機構
JPS6298442A (ja) 情報処理装置における記憶管理方式
US20200201791A1 (en) System, method and apparatus for fine granularity access protection
KR20240011738A (ko) 트리 기반 데이터 구조
JP3187465B2 (ja) コンピューターメモリオープンページバイアス法とその装置
JPH04250542A (ja) コンピューターメモリシステム
SE8107832L (sv) Dator med forbettrat fickminne
KR920005296B1 (ko) 정보처리장치
JPS63106053A (ja) デ−タベ−ス書込み/読出し方式
Ji et al. A self-maintained memory module supporting DMM
AL SHIPLY CACHE MEMORY
Coburn et al. NVTM: A transactional interface for next-generation non-volatile memories
JPS6298433A (ja) 情報処理装置
JPS63237143A (ja) プログラマブルコントロ−ラ