JPH06149653A - 複数バージョンのメモリ空間管理方式 - Google Patents

複数バージョンのメモリ空間管理方式

Info

Publication number
JPH06149653A
JPH06149653A JP30018892A JP30018892A JPH06149653A JP H06149653 A JPH06149653 A JP H06149653A JP 30018892 A JP30018892 A JP 30018892A JP 30018892 A JP30018892 A JP 30018892A JP H06149653 A JPH06149653 A JP H06149653A
Authority
JP
Japan
Prior art keywords
version
block
memory
space
address
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
JP30018892A
Other languages
English (en)
Inventor
Tsunemichi Shiozawa
恒道 塩澤
Yasuo Kinouchi
康夫 木ノ内
Masanori Hirano
正則 平野
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP30018892A priority Critical patent/JPH06149653A/ja
Publication of JPH06149653A publication Critical patent/JPH06149653A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 本発明の目的は、複数のバージョンのメモリ
空間を効率的に管理することができる複数バージョンの
メモリ空間管理方式を提供することである。 【構成】 本発明は、処理ユニット1からの読み出しア
クセスに対しては、時空間管理メモリ2からバージョン
レジスタ11にセットされている値と等しいかより古い
(バージョンが小さい)が転送され、処理ユニット1か
らの書き換えアクセスに対しては、時空間管理メモリか
らバージョンレジスタ11にセットされている値と等し
いバージョンのデータが時空間管理メモリ2内に自律的
に生成され、書き換えは、時空間管理メモリ2内のデー
タに対してのみ行なう。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数バージョンのメモ
リ空間管理方式に係り、特に、情報処理装置において、
処理ユニットがメインメモリの複数バージョンのメモリ
空間を効率良く管理するための複数バージョンのメモリ
空間管理方式に関する。
【0002】
【従来の技術】メインメモリに格納したプログラムを処
理ユニットで実行する無中断型の情報処理装置は、プロ
グラムの改良のために、メインメモリ上のプログラム又
はデータの一部を変更(バージョンアップ)する場合が
ある。この時、変更誤り、又は変更が正しくメインメモ
リに反映されず、新バージョンのプログラムが正しく動
作しない場合には、プログラム及びデータを変更前の状
態(旧バージョン)に戻す必要がある。
【0003】さらに、旧バージョンのプログラムを処理
ユニットで実行する合間に新バージョンのプログラムが
正しく動作しない原因を診断するために、新バージョン
のメインメモリの内容を解析プログラムによって解析す
る必要がある。
【0004】従来の複数バージョンのプログラムの管理
方法においては、以下のメインメモリを2面使用する方
法と、メインメモリを分割する2つの方法がある。
【0005】(a)メインメモリを2面使用する方法 この方法は、処理ユニットがアクセス可能なメインメモ
リを2面(ここでは、A面及びB面と呼ぶ)を設け、新
旧バージョンのプログラム及びデータをそれぞれA面の
メインメモリに格納されているプログラム及びデータを
アクセスして、新バージョンのプログラムを実行する。
【0006】新バージョンのプログラムの実行中に誤っ
た動作を検出すると、レジスタ等にモードをセットする
ことによって、ハードウェアを用いてアクセスするメイ
ンメモリをB面に切り替え、旧バージョンのプログラム
を実行する。
【0007】解析プログラムは、処理ユニット上で断続
的に本来の処理の合間に実行され、レジスタのモードを
セットすることで、アクセスするメインメモリをA面に
切り替えて、誤動作の原因解析を行う。
【0008】(b)メインメモリを分割する方法 処理ユニットがアクセス可能なメインメモリのアドレス
空間を2つに分割(ここでは空間(A)及び空間
(B))し、新旧バージョンのプログラム及びデータを
それぞれ空間(A)及び空間(B)に格納する。処理ユ
ニットは空間(A)のプログラム及びデータをアクセス
して新バージョンのプログラムを実行する。新バージョ
ンのプログラムの実行中に誤った動作を検出すると、予
め定められた空間(B)のプログラムの開始アドレスに
分岐(プログラムの制御を移行)することによって、以
後のアクセスする空間を空間(B)に切り替え、旧バー
ジョンのプログラムを実行する。
【0009】解析プログラムは処理ユニット上で断続的
に本来の処理の合間に実行され、空間(A)にアクセス
することによって誤動作の原因解析を行う。
【0010】
【発明が解決しようとする課題】しかしながら、上記
(a),(b)の方法では、新バージョン及び旧バージ
ョンのプログラムとデータを管理するために2倍のメイ
ンメモリが必要になるという欠点がある。
【0011】また、一般にバージョンアップでは、従来
のプログラムまたはデータの全てが変更になる場合より
も、一部のプログラムまたは、データが変更になる場合
が多いので、上記(a),(b)の方法では、メインメ
モリ上に冗長なプログラム及びデータが格納されること
になる。
【0012】さらに、上記(b)の方法では、新バージ
ョンのプログラムの実行中に誤った動作を検出した場合
に、分岐する旧バージョンのアドレスを新バージョンの
プログラムに予め組み込む必要がある。
【0013】本発明は上記の点に鑑みなされたもので、
上記欠点を除去し、メインメモリの容量が少なくで済
み、新バージョンのプログラムの実行中に誤動作を検出
した場合に新バージョンのプログラムに旧バージョンの
プログラムの開始アドレス等を保持せずに、複数のバー
ジョンのメモリ空間を効率的に管理することができる複
数バージョンのメモリ空間管理方式を提供することを目
的とする。
【0014】
【課題を解決するための手段】図1は本発明の原理構成
を示す。
【0015】本発明の複数バージョンのメモリ空間管理
方式は、複数のブロックに分割されるアドレス空間を有
するメインメモリ5と、ブロックを指定するアドレス情
報を格納するアドレス情報部201、ブロックの内容を
格納するブロック情報部202、ブロック情報部202
に格納されているブロックのバージョンの新旧を示す情
報を格納するバージョン情報部2303、各部の情報が
有効であるか否かを示すバリット部204を含む複数の
エントリを有する時空間管理メモリ2と、実行中の処理
が時空間管理メモリ2にアクセスするアドレス空間のバ
ージョンを通知するバージョン通知手段110と、メモ
リバス3を介してメインメモリ4のブロックにアクセス
する際に、ブロックを指定するためのアドレス情報11
7、読み出し指示または書き換えを指示するアクセス種
別112を、書き換えを行う際には更新データをメモリ
バス3に出力する出力手段113を有する処理ユニット
1より構成される。
【0016】また、本発明の複数バージョンのメモリ空
間管理方式は、処理ユニット1がメモリバス3を介して
メインメモリ4のブロックを読み出す際に、時空間管理
メモリ2がメモリバス3に出力されたアドレス情報で指
定されるブロックをブロック情報部202に格納し、処
理ユニット1で実行中の処理がアクセスする時空間管理
メモリのアドレス空間のバージョンの値に比べ、時空間
管理メモリ2のバージョン情報部203に格納されてい
るバージョンが等しいか又はより古いバージョンのエン
トリが1つ以上存在している場合に、時空間管理メモリ
2内のエントリの中で最もバージョンが新しいエントリ
のブロック情報部202に格納されているブロックをア
ドレス出力元の処理ユニット1の要求に従って読み出
し、それ以外の場合にはメインメモリ4から読み出す。
【0017】さらに、本発明の複数バージョンのメモリ
空間管理方式は、処理ユニット1がメモリバス3を介し
てメインメモリ4のブロックに書き換え指示を行う場合
に、時空間管理メモリ2はメモリバス3に出力されたア
ドレス情報で指定されるブロックをブロック情報部20
2に格納し、処理ユニット1で実行中の処理がアクセス
するアドレス空間のバージョンが時空間管理メモリ2の
バージョン情報部203に格納されているバージョンと
一致している場合には、時空間管理メモリの当エントリ
のブロック情報部202に格納されているブロックをア
ドレス出力元の処理ユニットからの指示に従って書き換
え、時空間管理メモリ2は、メモリバス3に出力された
アドレス情報で指定されるブロックをブロック情報部2
02に格納し、処理ユニット1で実行中の処理がアクセ
スするアドレス空間のバージョンがバージョン情報部に
格納されているバージョンより古いバージョンのエント
リが1つ以上存在している場合に、時空間管理メモリ2
内のエントリの中で最もバージョンが新しいエントリの
ブロック情報部202に格納されているブロックと、当
該ブロックを指定するためのアドレス情報及び処理ユニ
ットで実行中の処理がアクセスするアドレス空間のバー
ジョンをそれぞれ予め定められた手続きに従って選択し
たエントリのブロック情報部、アドレス情報部、バージ
ョン情報部に格納し、エントリのブロック情報部に格納
されているブロックをアドレス出力元の処理ユニットか
らの指示に従って書き換え、時空間管理メモリ2のエン
トリは、メモリバス3に出力されたアドレス情報で指定
されるブロックをブロック情報部202に格納し、処理
ユニット1で実行中の処理がアクセスするアドレス空間
のバージョンがバージョン情報部203に格納されてい
るバージョンに等しいか又はより古いバージョンのエン
トリが存在しない場合、予め定められた手続きに従って
エントリを選択し、メインメモリ4上のブロックとブロ
ックを指定するための情報及び処理ユニット1で実行中
の処理がアクセスするアドレス空間のバージョンをそれ
ぞれエントリのブロック情報部202、アドレス情報部
201、バージョン情報部203に格納し、エントリの
ブロック情報部202に格納されているブロックをアド
レス出力元の処理ユニット1からの指示に従って書き換
える。
【0018】また、本発明の複数バージョンのメモリ空
間管理方式は、処理ユニットが時空間管理メモリ2に対
してバージョンが異なるアドレス空間の内容を重合わせ
る処理であるフラッシュの指示を行ったとき、時空間管
理メモリ2は、バージョン情報部203に格納されてい
る値と処理ユニットから通知されたバージョンとが予め
定められた組み合わせの全てのエントリのブロック情報
部に格納されているブロックの内容でアドレス情報部2
01に格納されているアドレスで指定されるメインメモ
リのブロックを書き換える。
【0019】また、本発明の複数バージョンのメモリ空
間管理方式は、処理ユニットが時空間管理メモリに対し
てエントリの無効化処理であるパージの指示を行ったと
き、時空間管理メモリはバージョン情報部203に格納
されている値と処理ユニット1から通知されたバージョ
ンとが予め定められた組み合わせの全てのエントリのバ
リッド部204にエントリが無効であることを示す情報
をセットする。
【0020】
【作用】本発明は、処理ユニットが時空間管理メモリに
バージョン情報を通知し、時空間管理メモリが処理ユニ
ットが出力したアドレスで指定されるデータが時空間管
理メモリ内の有効な(バリッド部に有効を示す情報がセ
ットされている)エントリに格納され、かつ当該エント
リのバージョン情報に格納されている値と処理ユニット
が通知したバージョン情報との値を比較し、以下に示す
条件に従ってデータのアクセスを行う複数バージョンの
メモリ空間を管理する。
【0021】a)処理ユニットからのアクセス種別が読
み出しの場合には、処理ユニットが出力したバージョン
と比較し、等しいかまたは、古いバージョンのデータが
時空間管理メモリに1つ以上存在していれば、それらの
中から最新のバージョンデータを読み出す。処理ユニッ
トが出力したバージョンに等しいかまたはより古いバー
ジョンのデータが時空間管理メモリに存在していなけれ
ば(新しいバージョンのみが存在する場合も含む)、メ
インメモリからデータを読み出す。
【0022】b)処理ユニットからのアクセス種別が書
き換えの場合、処理ユニットが出力したバージョンのデ
ータが存在しない時には、新たに等しいバージョンのデ
ータを生成して書き換えを行う。
【0023】これにより、メインメモリ2面(複数)も
つ事もなく、メインメモリのアドレス空間を2つ(複
数)に分割する事もなく、変更を行った部分のプログラ
ム及びデータのみが時空間管理メモリ内に格納され、処
理ユニットから出力するバージョン情報を変更すること
によって、2つ(複数)のメモリ空間を切り替えて使用
することができる。
【0024】
【実施例】以下、本発明の実施例を図面とともに詳細に
説明する。
【0025】図2は、本発明の第1の実施例の情報処理
装置の構成図である。
【0026】本発明の情報処理装置は、処理ユニット
1、時空間管理メモリ2、メモリバス3、メインメモリ
4及び、バスマスタコントローラ5により構成される。
【0027】処理ユニット1は、プロセッサ10、時空
間管理メモリ2に実行中の処理がアクセスするアドレス
空間のバージョンを通知するバージョンレジスタ11、
バスコントーラ12、上記の各部を接続するプロセッサ
バス100、バージョンレジスタ11とバスコントロー
ラ11を接続する信号線103、バスマスタコントロー
ラ5と、バスコントローラ12を接続する信号線10
1、102により構成される。
【0028】時空間管理メモリ2は、複数のエントリを
含むブロック管理部21、バスコントローラ22、ブロ
ック管理部21とバスコントローラ22を接続する信号
線203、204、バスマスタコントローラ5と時空間
管理メモリ2を接続する信号線201、202により構
成される。
【0029】メインメモリ4は複数のブロックに分割さ
れている。
【0030】メモリバス3は、アドレスバス31、デー
タバス32、リード/ライトバス33、バージョンバス
34、転送応答バス35、リトライ応答バス36からな
る。
【0031】図3は本発明の時空間管理メモリのブロッ
ク管理部が有するエントリの例を示す。
【0032】ブロック管理部21の各エントリは、アド
レス情報部211、ブロックデータ部212、バージョ
ン情報部213、バリッド部214、比較器215,2
16、アンドゲート217,218,219、信号線2
20,221,223、出力信号線224,225より
構成される。
【0033】アドレス情報部211は、メインメモリ4
のブロックのアドレスを格納する。ブロックデータ部2
12は、メインメモリ4のブロックのデータを格納す
る。バージョン情報部213は、ブロックデータ部21
2に格納されているブロックのバージョンを格納する。
バリッド部213は、エントリに格納されている各部の
内容が有効であるか無効であるかを示す。比較器215
は、アドレスバス31に出力されたメインメモリ4のブ
ロックアドレスが信号線220に入力されたときに、ア
ドレス情報部211の内容と信号線220の内容とが一
致した時に出力を“オン”とする。アンドゲート217
は、比較器215の出力が“オン”でかつバリット部2
14の値が「1(有効)」である場合に出力を“オン”
とする。比較器216は、バージョンバス34に出力さ
れたバージョンが信号線221に入力された時にバージ
ョン情報部213の内容と信号線221の内容とが一致
した時に信号線222の出力を“オン”とし、バージョ
ン情報部213の内容より信号線221の内容が大きい
ときに、信号線223の出力を“オン”とする。アンド
ゲート218は、アンドゲート217の出力が“オン”
でかつ信号線222が“オン”の場合に出力信号224
を“オン”とする。アンドゲート219は、アンドゲー
ト217の出力が“オン”でかつ信号線223が“オ
ン”の場合に出力信号線225を“オン”とする。
【0034】以下、本発明の第1の実施例の動作につい
て説明する。
【0035】本実施例においては、処理ユニット1のバ
ージョンレジスタ11、メモリバス3のバージョンバス
34及び時空間管理メモリ2のブロック管理部21のバ
ージョン情報部213の値(バージョン)は、値が小さ
い程古いバージョンを意味するものとする。
【0036】また、メインメモリ4のアドレスaで指定
されるデータを含むブロックをBaとし、ブロセッサ1
0がブロックBaをアクセスする場合の動作を以下に説
明する。
【0037】図4は本発明の第1の実施例の動作を示す
フローチャートを示す。同図は、処理ユニット1からの
アクセスに対する時空間管理メモリ2での処理であり、
論理回路を用いることによって、この処理の予め定めら
れた時間(処理ユニット1がメモリバス3を介して行っ
たアクセスの処理を中止可能な時間)以内に実行され
る。
【0038】ステップ100:処理ユニット1のプロセ
ッサ10は、メインメモリ4のアドレスaで指定される
ブロックBaのデータの読み出し又は書き換えアクセス
を行う場合に、プロセッサバス100にアドレスa、読
み出しまたは書き換えの種別、書き換えデータ(書き換
えの場合のみ)を出力し、処理ユニット1のバスコント
ローラ12は以下のような処理を行う。
【0039】バスコントローラ12は、信号線101を
介してメモリバス3の使用要求をバスマスタコントロー
ラ5に知らせる。バスマスタコントローラ5は、予め定
められた手続きに従い、処理ユニット1または時空間管
理メモリ2のいずれか一方にのみ、メモリバス3の使用
許可を与える。信号線102を介してメモリバス3の使
用許可がバスコントローラ12に与えられたとき、バス
コントローラ12はアドレスバス31上にアドレスaを
出力する。
【0040】ステップ101:時空間管理メモリ2のブ
ロック管理部21内の全エントリの信号線220にアド
スaのアドレス情報を入力する。
【0041】ステップ102:処理ユニット1は、バー
ジョンパス34に信号線103を介してバージョンレジ
スタ11の値を出力する。
【0042】ステップ103:リード/ライトバス33
に「読み出し」または「書き換え」を出力し、「書き換
え」の場合には書き換えデータをデータバス32に出力
する。このとき、リード/ライトバス33に「読み出
し」が出力されている場合にはステップ200の読み出
し要求処理を実行し、「書き換え」が出力されている場
合にはステップ300の書き換え要求処理を実行する。
【0043】・読み出し要求(エントリEあり) 時空間メモリ2のバスコントローラ22は、メモリバス
3のアドレスバス31、データバス32、リード/ライ
トバス33、バージョンバス34を監視し、信号線20
3及び信号線204を介して相互に情報の受け渡しを行
う。
【0044】図5は本発明の第1の実施例の読み出し要
求の場合の動作を示すフローチャートである。
【0045】ステップ200:ブロック管理部21のエ
ントリのアンドゲート218の出力信号線224または
アンドゲート219の出力信号線225が“オン”とな
るアドレスaのデータを含むブロックBaを格納する有
効なエントリで、かつバージョンバス34に出力された
値が当該エントリのバージョン情報部213に格納され
ている値より大きいか、または等しいエントリが存在す
る場合にはステップ201に移行し、存在していない場
合にはステップ250以降の処理を実行する。
【0046】ステップ201:アンドゲート218の出
力信号線224が“オン”となるエントリが存在すれ
ば、ステップ202に移行し、アンドゲート218の出
力信号線224が“オン”であるエントリが存在しなけ
れば、ステップ203に移行する。
【0047】ステップ202:そのエントリを以下エン
トリEとし、ステップ204に移行する。
【0048】ステップ203:信号線224が“オン”
であるエントリが存在しなければ、出力信号線225が
“オン”であるエントリの中でバージョン情報部213
の値が最大のエントリ(バージョンパス34に出力され
たバージョンより古いバージョンの中で最も新しいブロ
ックBaを格納しているエントリ)を以下エントリEと
する。
【0049】ステップ204:処理ユニット1がアクセ
ス可能(バージョン情報部213のバージョンがバージ
ョンレジスタ11の値より小さい)なブロックBaの最
新バージョンは、エントリEのブロックデータ部212
に格納されているブロックBaを時空間管理メモリ2の
バスコントローラ22に転送する。
【0050】ステップ205:バスコントローラ22
は、データバス32にブロックBaを出力し、転送応答
バス35を介して処理ユニット1のバスコントローラ1
2に応答を出力したことを通知する。
【0051】ステップ206:処理ユニット1のバスコ
ントローラ12はデータバス32から入力したブロック
Baのアドレスaで指定されるデータをブロセッサバス
100を介してプロセッサ10に転送する。
【0052】ステップ207:メインメモリ4は転送応
答バス35を介して読み出しが時空間管理メモリ2で行
われたことを知り、処理ユニット1がメモリバス3上に
出力した読み出しアクセスの処理を中止する。
【0053】ステップ208:バスコントーラ12は信
号線101を介してメモリバス3の使用を終了したこと
をバスマスタコントローラ5に通知する。
【0054】・読み出し要求(エントリEなし) 図6は本発明の第1の実施例の読み出し要求の場合であ
り、かつ全てのエントリの信号線が“オフ”の場合の処
理の動作を示すフローチャートを示す。
【0055】以下に示すフローチャートは、アドレスa
のデータを含むブロックBaを格納する有効なエントリ
で、かつバージョンバス34に出力された値が当該エン
トリのバージョン情報部213に格納されている値より
大きいエントリが存在しない場合(全てのエントリの信
号線224及び225“オフ”)の動作である。
【0056】ステップ250:時空間管理メモリ2のバ
スコントローラ22は転送応答バス35及びリトライ応
答バス36に信号を出力しない。
【0057】ステップ251:予め定められた時間が経
過しても、時空間管理メモリ2のバスコントローラ22
が転送応答バス35またはリトライ応答バス36に信号
を出力しないと、メインメモリ4はブロックBaをデー
タバス32に出力する。
【0058】ステップ252:メインメモリ4は、転送
応答バス35を介してバスコントローラ12に応答を出
力したことを通知する。
【0059】ステップ253:処理ユニット1のバスコ
ントローラ12は、データバス32から入力されたブロ
ックBaのアドレスaで指定されるデータをプロセッサ
バス100を介してプロセッサ10に転送する。
【0060】ステップ254:処理ユニット1のバスコ
ントローラ12は信号線101を介してメモリバス3の
使用を終了したことをバスマスタコントローラ5に通知
する。
【0061】上記のように、読み出し要求があった場合
に、時空間メモリ2から処理ユニット1のバージョンレ
ジスタ11にセットされている値と等しいかより古い
(バージョンが小さい)エントリのブロックが転送され
る。従って、処理ユニット1はバージョンレジスタ11
の内容を変更することにより複数バージョンのメモリ空
間を相互に切り替えてアクセスすることができる。
【0062】・「書き換え要求」の場合の処理 次に処理ユニット1がメモリバスを介して「書き換え」
要求を行った場合について説明する。処理ユニット1が
書き換え要求を行う場合に、ブロック管理部21のアン
ドゲート218の出力信号線224が“オン”となる場
合と、アンドゲート219の出力信号225が“オン”
となる場合がある。
【0063】ここで出力信号線224が“オン”となる
場合は、信号線221の入力とバージョン情報部213
の値が一致しており、信号線220の入力とアドレス情
報部211の入力が一致し、その信号がアンドゲート2
17にバリット部214の値と共に入力される。
【0064】 ・書き換え要求(出力信号線224が“オン”の場合) 図7は本発明の第1の実施例の書き換え要求の場合の動
作を示すフローチャートを示す。
【0065】ステップ300:アドレスaのデータを含
むブロックBaを有効なエントリで、かつバージョンパ
ス34に出力された値が当該エントリのバージョン情報
部213に格納される値と等しいエントリが時空間管理
メモリ2に存在する場合についての処理であり、本ステ
ップでは、アンドゲート218の出力信号線224が
“オン”であるエントリが存在するかを判断する。アン
ドゲート218の出力信号線224が“オフ”の場合に
はステップ310に移行する。
【0066】ステップ301:ステップ300におい
て、アンドゲート218の出力信号線224が“オン”
であるエントリを以下エントリEとする。
【0067】ステップ302:エントリEのブロックデ
ータ部212に格納されているブロックBaのアドレス
aで指定されるデータをデータバス32に出力する。
【0068】ステップ303:エントリEのブロックデ
ータ部212に格納されているブロックBaのアドレス
aで指定されるデータを書き換えデータで更新する。
【0069】ステップ304:時空間管理メモリ2のバ
スコントローラ22は、転送応答バス35を介して処理
ユニット1のバスコントローラ12及びメインメモリ4
に書き換えを行ったことを通知する。
【0070】ステップ305:処理ユニット1のバスコ
ントローラ12は、アドレスaで指定されるデータを書
き換えた旨をプロセッサバス100を介してプロセッサ
10に通知する。
【0071】ステップ306:メインメモリ4は転送応
答バス35を介して書き換えが時空間管理メモリで行わ
れたこと知り、処理ユニット1がメモリバス3上に出力
した書き換えアクセスの処理を中止する。
【0072】ステップ307:処理ユニット1のバスコ
ントーラ12は、信号線101を介してメモリバス3の
使用終了をバスマスタコントローラ5に通知する。
【0073】 ・書き換え要求(出力信号線225が“オン”の場合) ステップ310:アンドゲート219の信号出力線22
5“オン”であれば、以下の処理を行い、“オフ”であ
れば、ステップ350に移行する。
【0074】図8は本発明の第1の実施例の信号線22
5が“オン”であるエントリが存在する場合の動作を示
すフローチャートを示す。
【0075】ステップ320:本ステップアドレスaの
データを含むブロックBaを格納するエントリで、且つ
バージョンパス34に出力された値が当該エントリのバ
ージョン情報部213に格納されている値より大きいエ
ントリが存在するかを判定する。アンドゲート219の
出力信号線225が“オン”のエントリが一つ以上ある
かを判定し、“オン”となるエントリが存在しない場合
には、ステップ350に移行する。
【0076】ステップ321:出力信号線225が“オ
ン”であるエントリの中でバージョン情報部213の値
が最大のエントリ(バージョンパス34に出力されたバ
ージョンより古いバージョンの中で最も新しいブロック
Baを格納しているエントリ)を以下エントリeとす
る。この場合、ブロックBの最新バージョンはエントリ
eのブロックデータ部212に格納されている。
【0077】ステップ322:ブロック管理部21は、
予め定められた手続きにより、バリッド部214に値
「0(無効)」がセットされているエントリから任意の
エントリを選択する。
【0078】ステップ323:そのエントリをエントリ
Eとする。ブロック管理部21はエントリeのアドレス
情報部211及び、ブロックデータ部212の内容をそ
れぞれエントリEのアドレス情報部211及び、ブロッ
クデータ部212に複写する。
【0079】ステップ324:エントリEのバリッド部
214に「1(有効)」をセットし、バージョン情報部
213にバージョンバス34に出力された値を格納す
る。
【0080】ステップ325:ブロック管理部21は信
号線203を介してバスコントローラ22からデータバ
ス32上に出力された書き換えデータを入力する。エン
トリEのブロックデータ部212に格納されているブロ
ックBaのアドレスaで指定されるデータをデータバス
32に出力された書き換えデータで更新する。
【0081】ステップ326:時空間管理メモリ2のバ
スコントローラ22は、転送応答バス35を介してバス
コントーラ12及びメインメモリ4に書き換えを行った
ことを通知する。処理ユニット1のバスコントローラ1
2はアドレスaで指定されるデータを書き換えた旨をプ
ロセッサパス100を介してプロセッサ10に通知す
る。メインメモリ4は転送応答バス35を介して書き換
えが時空間管理メモリ2で行われたことを知り、処理ユ
ニット1がメモリバス3上に出力した書き換えアクセス
の処理を中止する。処理ユニット1のバスコントーラ1
2は信号線101を介してメモイバス3の使用を終了し
たことをバスマスタコントローラ5に通知する。
【0082】・書き換え要求(出力信号線224、22
5が“オフ”) 図9は本発明の第1の実施例の全てのエントリの信号線
224、225が“オフ”になる場合の動作を説明する
ためのフローチャートを示す。
【0083】ステップ350:以降のステップは、アド
レスaのデータを含むブロックBaを格納する有効なエ
ントリで、かつバージョンバス34に出力された値が当
該エントリのバージョン情報部213に格納される値よ
り大きいエントリが存在しない場合(全てのエントリの
出力信号線224及び225が“オフ”)の動作であ
る。
【0084】ステップ351:時空間管理メモリ2のブ
ロック管理部21は信号線204を介してバスコントロ
ーラ22にリトライを指示し、時空間管理メモリ2のバ
スコントローラ22はリトライ応答バス36を介してバ
スコントーラ12及びメインメモリ4にリトライ要求を
通知する。バスコントローラ12はリトライ要求が発生
したことを知り、信号線101を介してメモリバス3の
使用終了をバスマスタコントローラ5に通知する。処理
ユニット1のバスコントローラ12は、予め定められた
時間が経過した後に書き換えアクセスを再度行う。メイ
ンメモリ4はリトライ応答バス36を介してリトライ要
求が時空間管理メモリ2で発生したことを知り、処理ユ
ニット1がメモリバス3上に出力した書き換えアクセス
の処理を中止する。
【0085】時空間管理メモリ2のバスコントーラ22
は信号線201を介してメモリバス3の使用要求をバス
マスタコントローラ5に知らせる。バスマスタコントロ
ーラ5は、予め定められた手続きに従い、処理ユニット
1または時空間管理メモリ2のいずれか一方にのみメモ
リバス3の使用許可を与える。信号線202を介してメ
モリバス3の使用許可がバスコントローラ22に与えら
れた時、バスコントローラ22は、アドレスバス31上
に処理ユニット1が出力したアドレスaを出力する。リ
ード/ライトバス33に「読み出し」を出力する。予め
定められた時間が経過してもバスコントローラ22が転
送応答バス35またはリトライ応答バス36に信号を出
力しない。メインメモリ4はブロックBaをデータバス
32に出力し、転送応答バス35を介してバスコントロ
ーラ22に応答を出力したことを通知する。
【0086】ステップ352:バスコントーラ22はデ
ータバス32から入力したブロックBaを信号線203
を介してブロック管理部21に転送する。バスコントロ
ーラ22は信号線201を介してメモリバス3の使用終
了をバスマスタコントローラ5に通知する。
【0087】ステップ353:ブロック管理部21は、
バリッド部214に値「0(無効)」がセットされてい
るエントリから任意のエントリを選択する。この選択さ
れたエントリをエントリEとする。ブロック管理部21
はエントリEのアドレス情報部211にアドレスaのア
ドレス情報を格納する。
【0088】ステップ354:ブロック管理部21は、
ブロックデータ部212に信号線203を介して転送さ
れたブロックBaの内容を格納する。
【0089】ステップ355:バリッド部214に「1
(有効)」をセットする。ブロック管理部21は、処理
ユニット1から出力されたバージョンの値をバージョン
バス34を介してバージョン情報部213に格納する。
予め時間が経過した後、処理ユニット1のバスコントロ
ーラ12はメモリバスの使用要求を行う。使用許可が与
えられると、アドレスaに対する書き換えアクセスを再
度実行する。このとき、アドレスaのデータを含むブロ
ックBaを格納する有効なエントリで、かつバージョン
バス34に出力された値が当該エントリのバージョン情
報部213に格納されている値と等しいエントリEが存
在するので、以下のステップが実行される。
【0090】・ブロック管理部21は、信号¥線203
を介してバスコントローラ22からデータバス32上に
出力された書き換えデータを入力する。
【0091】・エントリEのブロックデータ部212に
格納されているブロックBaのアドレスaで指定される
データを書き換えデータで更新する。
【0092】・バスコントローラ22は、転送応答バス
35を介してバスコントローラ12及びメインメモリ4
に書き換えを行ったことを通知する。
【0093】・バスコントローラ12はアドレスaで指
定されるデータを書き換えた旨をプロセッサバス100
を介してプロセッサ10に通知する。
【0094】・メインメモリ4は転送応答バス35を介
して書き換えが時空間管理メモリで行われたことを知
り、処理ユニット1がメモリバス3上に出力した書き換
えアクセスの処理を中止する。
【0095】・バスコントローラ12は信号線101を
介してメモリバス3の使用を終了したことをバスマスタ
コントローラ5に通知する。
【0096】以上述べたように、処理ユニット1からの
読み出しアクセスに対しては、バージョンレジスタ11
1にセットされている値と等しいバージョンのデータ時
空間管理メモリ2内に生成され、書き換えは時空間管理
メモリ内のデータに対してのみ行われる。これによっ
て、処理ユニット1はバージョンレジスタ111の内容
を変更することで、複数のバージョンメモリ空間を相互
に切り替えてアクセスすることが可能となる。
【0097】なお、上記第1の実施例では、バージョン
レジスタ111を処理ユニット1の内部に設けてアクセ
ス毎にメモリバス3に出力しているが、バージョンレジ
スタを時空間管理メモリ2の内部に設け、処理ユニット
1から時空間管理メモリ2の内部のバージョンレジスタ
211にバージョンを設定する手段を設け、アクセス毎
にメモリバス3にバージョンを出力しない方法もある。
【0098】次に、本発明の第2の実施例について説明
する。
【0099】図10は本発明の第2の実施例の情報処理
装置の構成を示す。同図中、図2と同一構成部分には同
一符号を付し、その説明を省略する。
【0100】同図に示す構成は、時空間管理メモリ2に
ブロック管理部21内の複数のエントリを順次指定する
ことができるカウンタ23を設ける。
【0101】本実施例の構成は、論理回路を用いること
により、この処理の各部分を並列に実行することができ
る。
【0102】以下に本実施例の動作を詳細に説明する。
【0103】本実施例は、ブロック管理部21のバージ
ョン情報部213に格納されている値と処理ユニット1
から通知されたバージョンとの予め定められた組み合わ
せの例として、処理ユニット1から指定されったバージ
ョン、及び指定されたバージョンより古いバージョンの
内容でメインメモリ4の内容を更新する動作(フラッシ
ュ処理)を示す。
【0104】図12は本発明の第2の実施例の動作を説
明するフローチャートである。
【0105】ステップ1000:時空間管理メモリ2
は、メモリバス3を介してフラッシュの指示(予め定め
られたアドレスへのアクセス)とともにバージョンバス
34を介してフラッシュバージョン(このバージョンと
等しいかまたはより複利バージョンがフラッシュの処理
の対象となる)を受信すると、カウンタ23の値を初期
値(ここではカウンタ=1)とする)に設定し、カウン
タ23の値がインクリメントされる毎に、カウンタ値の
時空間管理メモリ2内のエントリの総数uになるまで、
カウンタ23の値以降の値で指定されるエントリに対し
て以下の処理を行う。
【0106】ここで、カウンタ23の値「c」で指定さ
れるエントリをエントリEcとすると、エントリカウン
タ23の値以降の値で指定されるエントリはEc+1 ,E
c+ 2 ,Ec+3 ,…,Eu-1 ,Eu となる(ステップ10
01)。
【0107】(ハ)エントリEcのバリット部214の
値が「0(無効)」の場合には、カウンタ23の値をイ
ンクリメントする(ステップ1015)。
【0108】(ニ−a)エントリEcのバージョン情報
部213の値がフラッシュバージョンより大きい場合に
は(ステップ1002)、バージョン情報部213の値
がらフラッシュバージョンの値を減じた値をバージョン
情報部213に格納し、カウンタ23の値をインクリメ
ントする(ステップ1003) (ニ−b)エントリEcのバージョン情報部213の値
がフラッシュバージョンと等しい場合には(ステップ1
005)、バスコントローラ22は、信号線201を介
してメモリバス3の使用要求をバスマスタコントローラ
5に知らせる。バスマスタコントーラ5は、予め定めら
れた手続きに従い、時空間管理メモリ2にもにメモリバ
ス3の使用許可を与える。信号線202を介してメモリ
バス3の使用許可がバスコントローラ22に与えられた
とき、バスコントーラ22は、アドレスバス31上にエ
ントリEcのアドレス情報部211に格納されているア
ドレスaを出力し、リード/ライトバス33に「書き換
え」を出力し、データバス32にブロックデータ部21
2に格納されているブロックBaを出力する。
【0109】予め定められた時間が経過してもバスコン
トローラ22が転送応答バス35またはリトライ応答バ
ス36に信号を出力しないので、メインメモリ4は、ア
ドレスバス31に出力されているアドレスaで指定され
るメインメモリ4内のブロックをデータバス32に出力
されているブロックBaで書き換え、転送応答バス35
を介してバスコントローラ22に書き換えを行ったこと
を通知する(ステップ1009)。
【0110】バスコントローラ22は、信号線201を
介してメモリバス3の使用を終了したことをバスマスタ
コントローラ5に通知すると共に、信号線203を介し
て書き換えが完了したことをブロック管理部21に通知
する。
【0111】ブロック管理部21は、エントリは
c+1 ,Ec+2 ,Ec+3 ,…,Eu-1 ,E uの信号線2
20にエントリEcのアドレス情報部211に格納され
ているアドレスaを入力し、信号線221は、それら全
てのエントリのバリッド部214に「0(無効)」をセ
ットする。
【0112】上記の処理が完了した後は、エントリEc
のバリッド部214に「0(無効)」をセットする(ス
テップ1010)。
【0113】(ニ−c)エントリEcのバージョン情報
部213の値がフラッシュバージョンより小さい場合
(ステップ1005)には、ブロック管理部21はエン
トリE c+1 ,Ec+2 ,Ec+3 ,…,Eu-1 ,E uの信号
線220にエントリEcのアドレス情報部211に格納
されているアドレスaを入力し、信号線221にフラッ
シュバージョンを入力し、信号線224または信号線2
25の出力がオンとなるエントリの中に、アバージョン
情報部213の値がエントリEcのバージョン情報部2
13の値より大きいエントリEm が存在する時(ステッ
プ1006)、以下(ニ−c−1)の処理を行い、エン
トリが存在していない時は、以下(ニ−c−2)の処理
を行う。
【0114】(ニ−c−1)エントリEcより新しいバ
ージョンでフラッシュの対象となるブロックを格納して
いるエントリが存在する場合は、エントリEm を除く信
号線224または、信号線225の出力が“オン”とな
るエントリ及びエントリEcのバリッド部214に「0
(無効)」をセットする(ステップ1011)。
【0115】バスコントーラ22は、信号線201を介
してメモリバス3の使用要求をバスマスタコントローラ
5に知らせる。バスマスタコントローラ5は予め定めら
れた手続きに従い時空間管理メモリ2にのみメモリバス
3の使用許可を与える。信号線202を介してメモリバ
ス3の使用許可がバスコントローラ22に与えられたと
き、バスコントローラ22は、アドレスバス31上にエ
ントリEm のアドレス情報部211に格納されているア
ドレスaを出力し、リード/ライトバス33に「書き換
え」を出力し、データバス32にエントリEm のブロッ
クデータ部212に格納されているブロックBaを出力
する。
【0116】予め定められた時間が経過してもバスコン
トローラ22が転送応答バス35または、リトライ応答
バス36に信号を出力しないので、メインメモリ4は、
アドレスバス31に出力されているアドレスaで指定さ
れるメインメモリ4内のブロックをデータバス32に出
力されているブロックBaで書き換え、転送応答バス3
5を介してバスコントローラ22に書き換えを行ったこ
とを通知する(ステップ1012)。さらにエントリE
m のバリッド部214に「0(無効)」をセットする
(ステップ1013)。これらの処理が完了した後、カ
ウンタ23の値をインクリメントする(ステップ101
5)。
【0117】(ニ−c−2)エントリEcより新しいバ
ージョンでフラッシュの対象となるブロックを格納して
いるエントリが存在しない場合の処理である。
【0118】信号線225の出力がオンとなるすべての
エントリのバリッド部214に「0(無効)」をセット
する バスコントーラは信号線201を介してメモリバス3の
使用要求をバスマスタコントーラ5に知らせる。バスマ
スタコントローラ5は、予め定められた手続きに従い時
空間管理メモリ2にのみメモリバス3の使用許可を与え
る。信号線202を介してメモリバス3の使用許可がバ
スコントローラ22に与えられた時、バスコントローラ
22は、アドレスバス31上にエントリEcのアドレス
情報部211に格納されているアドレスaを出力し、リ
ード/ライトバス33に「書き換え」を出力し、データ
バス32にエントリEcのブロックデータ部212に格
納されているブロックBaを出力する。
【0119】予め定められた時間が経過してもバスコン
トローラ22が転送応答バス35または、リトライ応答
バス36に信号を出力しないので、メインメモリ4は、
アドレスバス31に出力されているアドレスaで指定さ
れるメインメモリ内のブロックをデータバス32に出力
されているブロックBaで書き換え、転送応答バス35
を介してバスコントローラ22に書き換えを行ったこと
を通知する。
【0120】バスコントローラ22は信号線201を介
してメモリバス3の使用を終了したことをバスマスタコ
ントローラ5に通知すると共に、信号線203を介して
書き換えが完了したことをブロック管理部21に通知す
る。
【0121】上記の処理が完了した後、エントリEcの
バリット部214に「0(無効)」をセットし、カウン
タ23の値をインクリメントする。
【0122】これにより、フラッシュバージョン以前の
すべてのメモリの内容をメインメモリ4に反映すること
が可能となり、新バージョンのプログラム及びデータに
特に障害が検出されなかった場合にメインメモリ4の内
容を新バージョンの内容に更新することが可能となる。
【0123】次に、本発明の第3の実施例について説明
する。
【0124】本実施例の情報処理装置の構成は図11と
同様である。
【0125】本実施例は、処理ユニット1から指定され
たバージョンとバージョン情報部の値との組み合わせの
例として、処理ユニットから指定されたバージョンとバ
ージョン情報とが一致したエントリを無効化する処理で
ある。本実施例においても、論理回路を用いることによ
って、この処理の各部分を並列に実行することができ
る。
【0126】図12は本発明の第3の実施例の動作を説
明するためのフローチャートを示す。
【0127】時空間管理メモリ2は、メモリバス3を介
して無効化の指示(予め定められたアドレスへのアクセ
ス)とともに、バージョンバス34を介してパージバー
ジョン(このバージョンと等しいバージョンが無効化処
理の対象となる)を受信すると、カウンタ23の値を初
期値(ここでは「1」とする)に設定し(ステップ20
00)、カウンタ23の値がインクリメントされる毎
に、カウンタ値が時空間管理メモリ2内のエントリの総
数uになるまで以下の処理を行う。
【0128】ここで、カウンタ23の値「c」で指定さ
れるエントリをエントリEとする。
【0129】(ホ)エントリEcのバリッド部214の
値が「0(無効)」の場合(ステップ2001)には、
カウンタ23をインクリメントする。
【0130】(ヘ−a)エントリEcのバリッド部21
4の値が「1(有効)」の場合(ステップ2001No)
でありかつ、エントリEcのバージョン情報部213の
値がフラッシュバージョンより大きい場合には(ステッ
プ2002Yes )、バージョン情報部213の値から
「1」減じた値をバージョン情報部213に格納し(ス
テップ2003)、カウンタ23の値をインクリメント
する。
【0131】(ヘ−b)エントリEcのバージョン情報
部213の値がパージバージョンと等しい場合には(ス
テップ2004Yes )、エントリEcのバリッド部21
4に値「0(無効)」をセットし(ステップ200
5)、カウンタ23の値をインクリメントする(ステッ
プ2007)。
【0132】(ヘ−c)エントリEcのバージョン情報
部213の値がパージバージョンより小さい場合には
(ステップ2004No)、カウンタ23の値をインクリ
メントする(ステップ2007)。
【0133】これにより、パージバージョンと等しい全
てのメモリの内容を無効化することが可能となり、不要
となったバージョンを削除し、時空間管理メモリ内のエ
ントリを効率良く使用することができる。
【0134】
【発明の効果】上述のように、本発明によれば、処理ユ
ニットからの読み出しアクセスに対しては、時空間管理
メモリからバージョンレジスタにセットされている値と
等しいかより古い(バージョンが小さい)が転送され、
処理ユニットからの書き換えアクセスに対しては、時空
間管理メモリからバージョンレジスタにセットされてい
る値と等しいバージョンのデータが時空間管理メモリ内
に自律的に生成され、書き換えは、時空間管理メモリ内
のデータに対してのみ行われる。これにより、処理ユニ
ットは、バージョンレジスタの内容を変更することで、
複数バージョンのメモリ空間を相互に切り替えてアクセ
スすることが可能となり、新バージョンのプログラムま
たは、データで誤りを検出した場合、旧バージョンの空
間にメモリ空間の内容を切り替えて、プログラムを実行
することが可能となる。
【0135】また、断続的に本来の処理の合間に実行さ
れる解析プログラムは、バージョンレジスタの内容を変
更することで、アクセスするメモリ空間をシンバージョ
ンの空間に切り替えて、誤動作の原因解析を行うことが
できる。
【0136】時空間管理メモリ内のエントリ数は、各バ
ージョンで実際に書き換えられるブロック数以上あれば
十分であり、メインメモリを2面(複数)もつ方法や、
メインメモリのアドレス空間を2つ(複数)に分割する
方法に比べて大幅にメモリ容量を削減することが可能と
なる。
【0137】また、空間の切り替えはバージョンレジス
タの変更によって行われるので、新バージョンのプログ
ラムの実行中に誤った動作を検出した場合に分岐する旧
バージョンのアドレスを新バージョンのプログラムに組
み込むことも不要である。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の第1の実施例の情報処理装置の構成図
である。
【図3】本発明の時空間管理メモリのブロック管理部が
有するエントリの例を示す図である。
【図4】本発明の第1の実施例の動作を示すフローチャ
ートである。
【図5】本発明の第1の実施例の読み出し要求の場合の
動作を示すフローチャートである。
【図6】本発明の第1の実施例の読み出し要求の場合
で、かつ全てのエントリの信号線が“オフ”の場合の動
作を示すフローチャートである。
【図7】本発明の第1の実施例の書き換え要求の場合の
動作を示すフローチャートである。
【図8】本発明の第1の実施例の信号線225が“オ
ン”であるエントリが存在する場合の動作を示すフロー
チャートである。
【図9】本発明の第1の実施例のすべてのエントリの信
号線224、225が“オフ”になる場合の動作を説明
するためのフローチャート(その1)である。
【図10】本発明の第1の実施例のすべてのエントリの
信号線224、225が“オフ”になる場合の動作を説
明するためのフローチャート(その2)である。
【図11】本発明の第2の実施例の情報処理装置の構成
図である。
【図12】本発明の第3の実施例の動作を説明するため
のフローチャートである。
【符号の説明】
1 処理ユニット 2 時空間管理メモリ 3 メモリバス 4 メインメモリ 5 バスマスタコントローラ 10 プロセッサ 11 バージョンレジスタ 12 バスコントローラ 21 ブロック管理部 22 バスコントローラ 23 カウンタ 31 アドレスバス 32 データバス 33 リード/ライトバス 34 バージョンバス 35 転送応答バス 36 リトライ応答バス 100 プロセッサバス 101,102,103,201,202 信号線 220,221,222,223 信号線 211 アドレス情報部 212 ブロックデータ部 213 バージョン情報部 214 バリッド部 215,216 比較器 218,319 アンドゲート 224、225 出力信号線

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 処理ユニット、メインメモリ、時空間管
    理メモリがメモリバスで接続されている情報処理装置に
    おいて、 複数のブロックに分割されるアドレス空間を有するメイ
    ンメモリと、 該メインメモリのブロックを指定するアドレス情報を格
    納するアドレス情報部、該ブロックの内容を格納するブ
    ロック情報部、該ブロック情報部に格納されているブロ
    ックのバージョンの新旧を示す情報を格納するバージョ
    ン情報部、該各部の情報が有効であるか否かを示すバリ
    ット部を含む複数のエントリを有する時空間管理メモリ
    と、 実行中の処理が該時空間管理メモリにアクセスする該メ
    インメモリのブロックのアドレス空間のバージョンを通
    知するバージョン通知手段と、該メモリバスを介して該
    メインメモリのブロックにアクセスする際に、該ブロッ
    クを指定するためのアドレス情報と、該メインメモリの
    ブロックのデータの読み出し指示または書き換えを指示
    するアクセス種別と、書き換えを行う際には更新データ
    を該メモリバスに出力する出力手段とを有する処理ユニ
    ットとを含むことを特徴とする複数バージョンのメモリ
    空間方式。
  2. 【請求項2】 前記処理ユニットが前記メモリバスを介
    して前記メインメモリのブロックを読み出す際に、前記
    メモリバスに出力された該アドレス情報で指定されるブ
    ロックを前記時空間管理メモリの前記ブロック情報部に
    格納し、 前記処理ユニットで実行中の処理がアクセスする前記時
    空間管理メモリの該アドレス空間のバージョンの値と前
    記時空間管理メモリの該バージョン情報部に格納されて
    いるバージョンとを比較して、等しいか又はより古いバ
    ージョンのエントリが1つ以上前記時空間管理メモリに
    存在している場合に、前記時空間管理メモリ内のエント
    リの中で最もバージョンが新しいエントリのブロック情
    報部に格納されているブロックをアドレス出力元の処理
    ユニットの要求に従って読み出す請求項1記載の複数バ
    ージョンのメモリ空間方式。
  3. 【請求項3】 前記処理ユニットが前記メモリバスを介
    して前記メインメモリのブロックに書き換え指示を行う
    場合に、前記時空間管理メモリは前記メモリバスに出力
    されたアドレス情報で指定されるブロックを該ブロック
    情報部に格納し、前記処理ユニットで実行中の処理がア
    クセスするアドレス空間のバージョンが前記時空間管理
    メモリの該バージョン情報部に格納されているバージョ
    ンと一致している場合には、前記時空間管理メモリの当
    該エントリのブロック情報部に格納されているブロック
    をアドレス出力元の処理ユニットからの指示に従って書
    き換え、 前記時空間管理メモリは、前記メモリバスに出力された
    該アドレス情報で指定されるブロックを該ブロック情報
    部に格納し、前記処理ユニットで実行中の処理がアクセ
    スするアドレス空間のバージョンが該バージョン情報部
    に格納されているバージョンより古いバージョンのエイ
    ントリが1つ以上存在している場合に、前記時空間管理
    メモリ内のエントリの中で最もバージョンが新しいエン
    トリのブロック情報部に格納されているブロックと、当
    該ブロックを指定するためのアドレス情報及び前記処理
    ユニットで実行中の処理がアクセスするアドレス空間の
    バージョンをそれぞれ予め定められた手続きに従って選
    択したエントリのブロック情報部、アドレス情報部、バ
    ージョン情報部に格納し、該選択されたエントリの該ブ
    ロック情報部に格納されているブロックをアドレス出力
    元の処理ユニットからの指示に従って書き換え、 前記時空間管理メモリのエントリは、メモリバスに出力
    された該アドレス情報で指定されるブロックを該ブロッ
    ク情報部に格納し、前記処理ユニットで実行中の処理が
    アクセスする該アドレス空間のバージョンが該バージョ
    ン情報部に格納されているバージョンと比較して等しい
    か又はより古いバージョンのエントリが存在しない場合
    に、予め定められた手続きに従って該エントリを選択
    し、前記メインメモリ上の該ブロックと該ブロックを指
    定するための情報及び処理ユニットで実行中の処理がア
    クセスするアドレス空間のバージョンをそれぞれ選択さ
    れた該エントリの該ブロック情報部、前記アドレス情報
    部、該バージョン情報部に格納し、該エントリの該ブロ
    ック情報部に格納されているブロックをアドレス出力元
    の処理ユニットからの指示に従って書き換える請求項1
    記載の複数バージョンのメモリ空間管理方式。
  4. 【請求項4】 前記処理ユニットが前記時空間管理メモ
    リに対してバージョンが異なるアドレス空間の内容を重
    合わせる処理であるフラッシュの指示を行ったとき、前
    記時空間管理メモリは、前記バージョン情報部に格納さ
    れている値と前記処理ユニットから通知されたバージョ
    ンとが予め定められた組み合わせの全てのエントリのブ
    ロック情報部に格納されているブロックの内容で前記ア
    ドレス情報部に格納されているアドレスで指定される前
    記メインメモリのブロックを書き換える請求項1記載の
    複数バージョンのメモリ空間管理方式。
  5. 【請求項5】 前記処理ユニットが前記時空間管理メモ
    リに対して前記エントリの無効化処理であるパージの指
    示を行ったとき、前記時空間管理メモリは前記バージョ
    ン情報部に格納されている値と前記処理ユニットから通
    知されたバージョンとが予め定められた組み合わせの全
    ての前記エントリの前記バリット部に前記エントリが無
    効であることを示す情報をセットする請求項1記載の複
    数バージョンのメモリ空間管理方式。
JP30018892A 1992-11-10 1992-11-10 複数バージョンのメモリ空間管理方式 Pending JPH06149653A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30018892A JPH06149653A (ja) 1992-11-10 1992-11-10 複数バージョンのメモリ空間管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30018892A JPH06149653A (ja) 1992-11-10 1992-11-10 複数バージョンのメモリ空間管理方式

Publications (1)

Publication Number Publication Date
JPH06149653A true JPH06149653A (ja) 1994-05-31

Family

ID=17881796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30018892A Pending JPH06149653A (ja) 1992-11-10 1992-11-10 複数バージョンのメモリ空間管理方式

Country Status (1)

Country Link
JP (1) JPH06149653A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013546056A (ja) * 2010-10-13 2013-12-26 ローズマウント インコーポレイテッド 自己記述を有するフィールド装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013546056A (ja) * 2010-10-13 2013-12-26 ローズマウント インコーポレイテッド 自己記述を有するフィールド装置

Similar Documents

Publication Publication Date Title
US7912053B2 (en) Method and system for decreasing routing latency for switching platforms with variable configuration
EP0833248B1 (en) Computer system with memory update history storage
US5960457A (en) Cache coherency test system and methodology for testing cache operation in the presence of an external snoop
JPH0227441A (ja) コンピュータ・システム
JPH0713939A (ja) リソースの制御方法及び装置
JPH0950400A (ja) マルチプロセッサシステム
US5381544A (en) Copyback memory system and cache memory controller which permits access while error recovery operations are performed
US6490662B1 (en) System and method for enhancing the reliability of a computer system by combining a cache sync-flush engine with a replicated memory module
JPH06149653A (ja) 複数バージョンのメモリ空間管理方式
US7139880B2 (en) Disk array device, method for controlling the disk array device and storage system
KR102376396B1 (ko) 멀티 코어 프로세서 및 그것의 캐시 관리 방법
JP3381079B2 (ja) キャッシュメモリを用いた排他制御システム
JP3239935B2 (ja) 密結合マルチプロセッサシステムの制御方法、密結合マルチプロセッサシステム及びその記録媒体
JP3381086B2 (ja) 排他制御可能なマルチプロセッサシステム
JP3427901B2 (ja) メモリ内容回復装置
JPH04305746A (ja) キャッシュメモリ制御装置
JPH08137748A (ja) コピーバックキャッシュを有するコンピュータ及びコピーバックキャッシュ制御方法
KR100232880B1 (ko) 교환기 시스템의 응용 프로그램의 갱신방법
JP2587468B2 (ja) ロツクデータ設定装置
JPH0644261B2 (ja) マルチプロセッサシステムにおけるキャッシュ制御方式
JP3068491B2 (ja) キャッシュ索引障害処理方式
JP3299361B2 (ja) 共有メモリを持つマルチプロセッサシステム
JP3144979B2 (ja) プログラム処理装置及び処理方法
JPH06266621A (ja) データアクセス方法
JPH07104834B2 (ja) 処理装置間ロック制御システム