JPH05189238A - 動的プログラムロード方式 - Google Patents

動的プログラムロード方式

Info

Publication number
JPH05189238A
JPH05189238A JP4024546A JP2454692A JPH05189238A JP H05189238 A JPH05189238 A JP H05189238A JP 4024546 A JP4024546 A JP 4024546A JP 2454692 A JP2454692 A JP 2454692A JP H05189238 A JPH05189238 A JP H05189238A
Authority
JP
Japan
Prior art keywords
cache
main memory
program
instruction
memory
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
JP4024546A
Other languages
English (en)
Inventor
Yuji Ogawa
雄司 小川
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP4024546A priority Critical patent/JPH05189238A/ja
Publication of JPH05189238A publication Critical patent/JPH05189238A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 キャッシュメモリを有する計算機において、
動的にオブジェクトプログラムをロードした後にキャッ
シュメモリをフラッシュすることを目的とする。 【構成】 オブジェクトプログラムロード手段1では、
動的プログラムローダ9によってメインメモリ5にオブ
ジェクトプログラムをロードする。フラッシュキャッシ
ュ手段2では、フラッシュキャッシュ部8によりキャッ
シュメモリ4のすべての内容を無効にする。よってメイ
ンメモリ5との間のデータ、もしくは命令の次の転送を
キャッシュメモリ4から行わず、メインメモリ5から直
接行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はキャッシュメモリを有す
る計算機に関し、特に動的にオブジェクトプログラムを
キャッシュメモリへロードする情報処理システムに関す
る。
【0002】近年、電子計算機においてメインメモリと
CPUとの間にキャッシュメモリを設けることが一般的
になりつつある。CPU命令に従ってメインメモリの内
容を読み出したり、あるいは書き込んだりするときに、
キャッシュメモリと称する高速な記憶媒体に読み出し/
書き込みを行うことにより、そのCPU命令を完了させ
ることができれば、プログラムの実行性能を向上させる
ことができる。キャッシュメモリはメインメモリを高速
に参照できるが、記憶容量は小さい。
【0003】従って、キャッシュメモリはプログラムを
より効率よく実行するように、備えられ、その内容は動
的に変化する。よって、キャッシュメモリには、メイン
メモリ内容の一部分が保存されている。キャッシュメモ
リには、大きく分けてプログラムを実行時にデータとし
て使用するメインメモリの内容を保存するためのデータ
キャッシュと、プログラム自身が実行するCPU命令の
格納されているメインメモリの内容を保存するための命
令キャッシュとがある。これら2種類のキャッシュメモ
リは独立に制御されている。
【0004】ある番地のメインメモリの内容をCPUの
レジスタに読み込もうとすると、まず、データキャッシ
ュにメインメモリの内容が保存されているかが調べられ
る。当該内容が保存されていれば、それをレジスタに転
送し、保存されていなければ、メインメモリから直接、
その内容がレジスタに転送され、更にデータキャッシュ
にも保存される。このとき、データキャッシュからは、
ある上とは別なメインメモリの内容が一部失われること
になる。
【0005】逆に、CPUのレジスタの内容をメインメ
モリに書き出そうとすると、メインメモリにレジスタの
内容が書き出される。更に、データキャッシュにもメイ
ンメモリの内容が保存されていれば、それが更新され
る。命令キャッシュの場合も同様である。CPUがメイ
ンメモリのある番地に格納されている命令を実行しよう
とすると、当該番地の命令がまず命令キャッシュに保存
されているか否かが調べられる。命令が命令キャッシュ
に保存されていれば、それがCPUに転送される。しか
し、保存されていなければ、メインメモリから直接、そ
の内容がCPUに転送され、更に命令キャッシュにも転
送されて保存される。このとき、命令キャッシュからあ
る上とは別なメインメモリの内容が一部失われることに
なる。
【0006】このように、データキャッシュと命令キャ
ッシュとは独立に制御されているので、同一のメインメ
モリの内容をデータとしていても、命令として参照する
ようなことは想定していない。つまり、あるメインメモ
リの番地の命令を実行して、その内容が命令キャッシュ
に保存され、同一の番地の命令をデータの転送によって
別の命令に更新したとすると、その更新によってデータ
キャッシュの内容は更新される。しかし、命令キャッシ
ュの当該番地に対する内容は更新されることはない。そ
のため、この状態で再びその番地の命令を実行しようと
すると、命令キャッシュに保存されている以前の命令を
実行されてしまうことになる。
【0007】キャッシュメモリは高速な反面、メインメ
モリとの同期をとる必要があるというオーバヘッドが存
在するが、データをメインメモリに転送した際に命令キ
ャッシュの同期をとらないのは、このオーバヘッドを大
きくしないためである。
【0008】このような計算機で動的にオブジェクトプ
ログラムをロードし、実行する情報処理システムにおけ
る従来のプログラムロード方式は、オブジェクトプログ
ラムロード手段によってロードするプログラムのデータ
部にオブジェクトプログラムをロードするだけにとどま
っていた。
【0009】
【発明が解決しようとする課題】解決しようとする問題
は、キャッシュメモリには制御方式が考慮されていない
点である。すなわち、オブジェクトプログラムをメイン
メモリにロードしたとき、ロードした番地の以前の命令
の内容が命令キャッシュに保存されているため、ロード
されたオブジェクトプログラムの当該番地を実行するま
で保存された内容が失われることがなければ、そのオブ
ジェクトプログラムが誤動作する点である
【0010】
【課題を解決するための手段】本発明の動的プログラム
ロード方式は、オブジェクトプログラムをメインメモリ
にロードするときに、設定されたキャッシュメモリの内
容をすべて無効にする特徴がある。
【0011】
【実施例】次に、本発明について図面を参照して説明す
る。図1は、本発明による動的プログラムロード方式の
一実施例を示すブロック図である。図1において、1は
オブジェクトプログラムロード手段、2はフラッシュキ
ャッシュ手段、3はCPUである。オブジェクトプログ
ラムロード手段1は、メインメモリ5と、動的プログラ
ムローダ9とから成立つ。フラッシュキャッシュ手段2
は命令キャッシュ7およびデータキャッシュ6から構成
されるキャッシュメモリ4と、フラッシュキャッシュ部
8とから成立っている。
【0012】図1において、CPU3とメインメモリ5
との間にはキャッシュメモリ4が置かれていて、プログ
ラム実行時におけるCPU−メインメモリ間の高速なデ
ータ転送を実現している。キャッシュメモリ4の中には
データキャッシュ6と命令キャッシュ7とがあり、転送
されるデータの利用目的によってどちらかのキャッシュ
メモリが利用される。
【0013】オブジェクトプログラムロード手段1で
は、動的プログラムローダ9によってメインメモリ5に
オブジェクトプログラムがロードされる。フラッシュキ
ャッシュ手段2の内部では、フラッシュキャッシュ部8
によってキャッシュメモリ4のすべての内容が無効にさ
れ、次のメインメモリ5との間のデータ転送、もしくは
命令転送はキャッシュメモリ4から行われず、メインメ
モリ5から直接、行われることになる。
【0014】図2は、図1に示す方式によりプログラム
ロードを行う実例を示す説明図である。図2において
は、プログラムAをメインメモリ5に動的にロードして
実行した後、プログラムAの使用したメモリ領域に新し
いプログラムBをロードして、それを実行することを考
えている。
【0015】図2(a) は動的プログラムローダによって
メインメモリ5にプログラムAをロードし、フラッシュ
キャッシュ部8により命令キャッシュ7に保存されてい
た命令がすべて取り除かれた状態を表している。このと
き、仮にメインメモリ5の1000番地に命令aがある
とする。ロードされたプログラムAを実行するとメイン
メモリ5からCPU3へ命令が逐次転送されるが、それ
ぞれの命令が命令キャッシュ7に保存されているか否か
を問い合わせながら、CPU3に命令が運ばれてくる。
【0016】問い合わせ時に命令キャッシュ7に保存さ
れていなかった命令は、そのときから命令キャッシュ7
に保存されることになる。従って、命令キャッシュ7へ
の命令の保存が許容量に達したときには、命令キャッシ
ュ7に保存されている他のいずれかの命令を命令キャッ
シュ7から取り除くことになる。プログラムが終了した
時点で、どの命令が命令キャッシュ7に保存されている
かは、キャッシュメモリ4の内容の置き換えアルゴリズ
ムに依存する。ここでは、図2(b) のようにプログラム
Aを実行した後で、メインメモリ5の1000番地の命
令として命令aが命令キャッシュ7に保存されていたと
仮定する。
【0017】次に、プログラムAが不要となり、動的プ
ログラムローダ9によりプログラムBをメインメモリ5
にロードする。このとき、命令キャッシュ7には相変わ
らずメインメモリ5の1000番地の命令として命令a
が保存されていると仮定する。図2(c) はこの状態を表
している。この状態でプログラムBを実行し、メインメ
モリ5の1000番地の命令を実行する時点でも命令キ
ャッシュ7に命令aが保存されていれば、命令bを実行
せずに誤って命令aを実行してしまうことになる。
【0018】これは、キャッシュメモリ4の制御方式に
依存するが、実際にこのような状態になるかもしれない
し、あるいはならないかもしれないが、可能性はあると
考えられる。しかし、本発明ではプログラムをメインメ
モリ5にロードして図2(c)の状態になったとしても、
フラッシュキャッシュ手段2によって命令キャッシュ7
の内容をすべて無効にし、命令キャッシュ7に保存され
ている命令がない状態にする(第2図(d) )。したがっ
て、プログラムBがメインメモリ5の1000番地の命
令を実行する際には、命令キャッシュ7には命令aが保
存されていない。よって、プログラムBが誤動作をする
ようなことが起こることはない。
【0019】
【発明の効果】以上説明したように本発明は、オブジェ
クトプログラムをメインメモリにロードした後にキャッ
シュメモリの内容を初期状態に設定し直しているため、
命令キャッシュに保存されている以前の命令を実行する
危険性がない利点がある。
【図面の簡単な説明】
【図1】本発明による動的プログラムロード方式の一実
施例を示すブロック図である。
【図2】図1に示す方式によりプログラムロードを行う
実例を示す説明図である。
【符号の説明】
1 オブジェクトプログラムロード手段 2 フラッシュキャッシュ手段 3 CPU 4 キャッシュメモリ 5 メインメモリ 6 データキャッシュ 7 命令キャッシュ 8 フラッシュキャッシュ部 9 動的プログラムローダ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 主記憶装置(以下、メインメモリと呼
    ぶ)と中央処理装置(以下、CPUと呼ぶ)との間に高
    速記憶装置(以下、キャッシュメモリと呼ぶ)を設ける
    ことによりメモリの内容/更新の高速化を行っている電
    子計算機における、LISP,PROLOG等の解釈実
    行形言語処理系(以下、インタプリタと呼ぶ)のように
    動的にオブジェクトプログラムをメインメモリに生成し
    (以下、メインメモリにロードすると表現する)、該プ
    ログラムを実行するような情報処理システムにおいて、 前記オブジェクトプログラムを前記メインメモリにロー
    ドするためのオブジェクトプログラムロード手段と、 前記ロード時には以前に設定されていた前記キャッシュ
    メモリの内容をすべて無効にするためのフラッシュキャ
    ッシュ手段とを有することを特徴とする動的プログラム
    ロード方式。
  2. 【請求項2】 前記オブジェクトロード手段の構成は、
    動的に前記オブジェクトプログラムを前記メインメモリ
    にロードするための動的プログラムローダと、 前記フラッシュキャッシュ手段との間でデータまたは命
    令を授受することができるメインメモリとを備えたもの
    である請求項1記載の動的プログラムロード方式。
  3. 【請求項3】 前記フラッシュキャッシュ手段の構成
    は、 前記ロード時には以前に設定されていた内容をすべて無
    効にする処理を実行するためのフラッシュキャッシュ部
    と、 前記メインメモリと前記CPUとの間でデータまたは命
    令を授受することができるキャッシュメモリとを備えた
    ものである請求項1記載の動的プログラムロード方式。
  4. 【請求項4】 前記キャッシュメモリはデータを一時格
    納するためのデータキャッシュと、命令を一時格納する
    ための命令キャッシュとから成る請求項3記載の動的プ
    ログラムロード方式。
JP4024546A 1992-01-14 1992-01-14 動的プログラムロード方式 Pending JPH05189238A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4024546A JPH05189238A (ja) 1992-01-14 1992-01-14 動的プログラムロード方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4024546A JPH05189238A (ja) 1992-01-14 1992-01-14 動的プログラムロード方式

Publications (1)

Publication Number Publication Date
JPH05189238A true JPH05189238A (ja) 1993-07-30

Family

ID=12141155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4024546A Pending JPH05189238A (ja) 1992-01-14 1992-01-14 動的プログラムロード方式

Country Status (1)

Country Link
JP (1) JPH05189238A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63240650A (ja) * 1987-03-28 1988-10-06 Toshiba Corp キヤツシユメモリ装置
JPH01108650A (ja) * 1987-10-02 1989-04-25 Sun Microsyst Inc ワークステーシヨン
JPH03228151A (ja) * 1990-02-02 1991-10-09 Oki Electric Ind Co Ltd キャッシュメモリの無効化制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63240650A (ja) * 1987-03-28 1988-10-06 Toshiba Corp キヤツシユメモリ装置
JPH01108650A (ja) * 1987-10-02 1989-04-25 Sun Microsyst Inc ワークステーシヨン
JPH03228151A (ja) * 1990-02-02 1991-10-09 Oki Electric Ind Co Ltd キャッシュメモリの無効化制御装置

Similar Documents

Publication Publication Date Title
US5737568A (en) Method and apparatus to control cache memory in multiprocessor system utilizing a shared memory
JP2523814B2 (ja) ム―ブアウト・システム
US20150205721A1 (en) Handling Reads Following Transactional Writes during Transactions in a Computing Device
US7107407B2 (en) Arithmetic unit with reduced startup time and method of loading data
JPH05189238A (ja) 動的プログラムロード方式
JPS6319058A (ja) メモリ装置
JP3006204B2 (ja) 情報処理装置
JP2746189B2 (ja) ファイルアクセス制御システム
US5594909A (en) File I/O control device writing blocks to faster device first and canceling exclusive lock as each block is written
JPH0728701A (ja) 計算機システム
JPS60183652A (ja) キヤツシユメモリ制御方法
JPH03103951A (ja) メモリパトロール制御方式
JPH05242009A (ja) 直接メモリアクセス装置
JPH04264641A (ja) キャッシュメモリ方式
JPH0384636A (ja) 計算機制御方式
JPS6267648A (ja) 排他制御命令処理方式
JPS63286959A (ja) メモリアクセス方式
JPH04188326A (ja) スタック領域管理方式
JP2002259209A (ja) 演算処理システム
JP2019164491A (ja) 情報処理装置及びキャッシュ制御装置
JPH04251351A (ja) 磁気ディスクキャッシュ制御方式
JPH03158943A (ja) バッファ記憶・転送方式
JPH0546581B2 (ja)
JPH0563827B2 (ja)
JPH033167A (ja) 記憶制御方式