JPH06103156A - 可逆メモリ装置 - Google Patents

可逆メモリ装置

Info

Publication number
JPH06103156A
JPH06103156A JP2278391A JP2278391A JPH06103156A JP H06103156 A JPH06103156 A JP H06103156A JP 2278391 A JP2278391 A JP 2278391A JP 2278391 A JP2278391 A JP 2278391A JP H06103156 A JPH06103156 A JP H06103156A
Authority
JP
Japan
Prior art keywords
address
data
memory
pointer
epoch
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
JP2278391A
Other languages
English (en)
Inventor
Chikao Ookubo
京夫 大久保
Takashi Kikuchi
隆 菊池
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 ULSI Engineering Corp
Hitachi Ltd
Original Assignee
Hitachi ULSI Engineering Corp
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 ULSI Engineering Corp, Hitachi Ltd filed Critical Hitachi ULSI Engineering Corp
Priority to JP2278391A priority Critical patent/JPH06103156A/ja
Publication of JPH06103156A publication Critical patent/JPH06103156A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 応用目的にあったシステムが構築できる可逆
メモリ装置を提供することにある。用途の多様化を図っ
た半導体記憶装置を提供する。 【構成】 スタックメモリとそのコントローラからなる
可逆メモリ装置において、上記スタックメモリ及びその
コントローラにおける論理的時間変数を指定するエポッ
クポインタを実装基板上に搭載してそれが接続されるシ
ステム仕様に応じて記憶容量を拡張可能にする。また、
スタックメモリを構成する複数からなるメモリとコント
ローラとの間及びシステム側とを共通化されたアドレス
用とデータ用のバスによりそれぞれ接続する。 【効果】 実装基板上でのメモリ数の増減により応用目
的に応じたメモリシステムを構築できる。また、バスの
共通化によってコントローラの端子数を減らすことがで
き、コントローラのLSI化が容易になるとともに応用
目的に応じたメモリとの接続が簡単に行える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、可逆メモリ装置に関
し、例えば論理型言語の処理などのようなバックトラッ
クを含む処理に利用して有効な技術に関するものであ
る。
【0002】
【従来の技術】新しいデータを書き込んだメモリの内容
を元に戻して失われたデータを復元したいという要求
は、深さ優先の木探索やエディタのコマンド取り消しな
どのようなバックトラックを含む処理の中でしばしば現
れる。このようなバックトラック処理をソフトウェアに
より等価的に行うものに代え、ハードウェアにより実現
した可逆メモリ装置が提案されている。このような可逆
メモリ装置に関しては、例えば特開平1−129333
号公報、1987年12月『電子情報通信学会論文誌』
頁2793〜頁2795がある。可逆メモリ装置の構成例とて
は、同文献にも示されているようにコントローラ(制御
回路)を1個のLSIチップに収納し、スタックメモリ
を構成するアドレスマップAM、トレイルスタックTS
及びエポックポインタEPを外付けすること、あるいは
上記コントローラと比較的小さな間口及び奥行きサイズ
のメモリを1チップ内に組み込み、大きな奥行きサイズ
が必要なときだけトレイルスタックTS用のメモリチッ
プを外部に追加する方法が提案されている。
【0003】
【発明が解決しようとする課題】本願発明者において、
上記可逆メモリ装置の実用化を検討した結果、以下のよ
うな問題の生じることが明らかになった。上記公報又は
文献に示された可逆メモリ装置では、コントローラと各
メモリとが個々のバスにより接続されるものであるた
め、半導体集積回路化にあっては後述するように内部の
信号線の数が膨大になって極端に集積度が悪くなる。ま
た、オンチップ化においては、メモリ容量が固定になる
ことになる。これに対して可逆メモリ装置は、その応用
目的に応じてメモリの間口サイズや奥行サイズが区々と
なる。したがって、上記のようなオンチップ化された可
逆メモリ装置としては、小量多品種となってしまい量産
によってコストを下げる半導体集積回路装置には不利な
ものとなる。また、上記外付けメモリを設ける場合に
は、図9に示すように、コントローラCONTとマイク
ロプロセッサMPU及びスタックメモリを構成す各メモ
リとの間でデータ用にDT1〜DT7、アドレス用にA
D1〜AD4の合計で11種類もの信号線が必要にな
る。例えば、各バス幅nを32ビットとにすると、アド
レス用とデータ用だけで32×11もの膨大な端子数が
必要になってしまうという問題が生じる。この発明の目
的は、応用目的にあったシステムが構築できる可逆メモ
リ装置を提供することにある。この発明の他の目的は、
コントローラとの接続を簡素化した可逆メモリ装置を提
供することにある。この発明の前記ならびにそのほかの
目的と新規な特徴は、本明細書の記述および添付図面か
ら明らかになるであろう。
【0004】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば、下
記の通りである。すなわち、スタックメモリとそのコン
トローラからなる可逆メモリ装置において、上記スタッ
クメモリ及びそのコントローラに含まれる論理的時間変
数を指定するエポックポインタを実装基板上に搭載して
それが接続されるシステム仕様に応じて記憶容量を拡張
可能にする。また、スタックメモリを構成する複数から
なるメモリとコントローラとの間及びシステム側とを共
通化されたアドレス用とデータ用のバスによりそれぞれ
接続する。
【0005】
【作用】上記した手段によれば、実装基板上でのメモリ
数の増減により応用目的に応じたメモリシステムを構築
できる。また、バスの共通化によってコントローラの端
子数を減らすことができ、コントローラのLSI化が容
易になるとともに応用目的に応じたメモリとの接続が簡
単に行える。
【0006】
【実施例】図1には、この発明に係る可逆メモリ装置の
一実施例のブロック図が示されている。同図において、
特に制限されないが、各回路ブロックは1ないし複数か
らなる半導体集積回路装置により構成され、同図に破線
で示すようなプリント基板等のような実装基板( ボー
ド)上に搭載される。この実施例の可逆メモリ装置(re
versible memory ;REM)は、半導体集積回路装置L
SIにより構成されたコントローラCONTの外部端子
数を減らすために、実装基板上に形成された4つのバス
を介して相互に接続される。この実施例では、特に制限
されないが、マイクロプロセッサMPUは、32ビット
構成とされ、D0〜D31の32ビットからなるデータ
バスD0〜D31とA0〜A31の32ビットからなる
アドレスバスA0〜A31及びC1〜C6を含むコント
ロールバスを持つ。Aバスは主としてデータ用のバスで
あり、ゲート機能を持つ入出力バッファIOBを介して
上記D0〜D31からなるデータバスに接続される。B
バスはアドレスバスであり、ゲート機能を持つ入力バッ
ファIB1を介して、上記A0〜A31からなるアドレ
スバスに接続される。コントロールバスは、特に制限さ
れないが、入力バッファIB2を介して入力された制御
信号とクロックパルスからなる6種類の信号をコントロ
ーラCONTに伝える。これらの信号は、図示ないが、
クロックパルスCLK、リセット信号RES、チップイ
ネーブル信号CE、ライトイネーブル信号WE、インク
リメントエポック信号INFE、デクリメントエポック
信号DECEから構成される。
【0007】REMを構成する実装基板上に形成された
たAバスには、コントローラCONTのデータ端子の
他、エポックポインタ(Epoch Pointer)EPのデータ端
子、デプリケートカウンタ(Duplicate Counter) DPの
データ端子、バックワードポインタ(Backword Pointe
r) BPのデータ端子、アドレスマップ(Address Map)
AMのデータ端子、データ用メモリDATAのデータ端
子及びラッチ回路LTの入力端子がそれぞれ共通に接続
される。上記実装基板上に形成されたBバスには、コン
トローラCONTのアドレス端子の他、アドレスマップ
AMのアドレス端子とアドレスマップポインタ(Address
Map Pointer)AMPのデータ端子がそれぞれ共通に接
続される。そして、上記実装基板上に形成されたCバス
には、エポックポインタEPのアドレス端子、デプリケ
ートカウンタDPのアドレス端子、バックワードポイン
タBPのアドレス端子、データ用メモリDATAのアド
レス端子及びアドレスマップポインタAMPのアドレス
端子がそれぞれ共通に接続される。上記各メモリやポイ
ンタのアドレス端子から入力されたアドレス信号はデコ
ーダDECによって解読され、各デコーダDECによっ
てそのアドレス信号に対応したメモリエリアが選択され
る。上記ラッチ回路LTは、Aバスの信号を保持し、そ
れをCバスに伝える。例えば、アドレスマップMAから
出力されたアドレス信号はAバスを通してラッチ回路L
Tに伝えられ、このラッチ回路LTを通してアドレスマ
ップポインタAMPやデータ用メモリDATA等のアク
セスが行われる。
【0008】上記各回路ブロックの各機能は、後に詳細
に説明するが、その概略は次の通りである。エポックポ
インタEPは、インクリメントエポックの際にスタック
ポインタSPの値を格納するメモリである。デプリケー
トカウンタDPは、書き込みを行わずにインクリメント
エポックをした場合、その回数を格納するメモリであ
る。バックワードポインタBPは、データの付属情報と
して1エポック前のデータが格納されているデータ用メ
モリDATAのアドレスを格納するメモリである。言い
換えるならば、スタックメモリの戻り用のアドレスを格
納するメモリである。アドレスマップAMは、データ用
メモリDATA、バックワードポインタBP及びアドレ
スマップポインタAMPのアドレスを格納するメモリで
ある。DATAは、データ格納を行うメモリである。ア
ドレスマップポインタAMPは、データの付属情報とし
ての入力アドレス(AMのアドレス)を格納するメモリ
である。
【0009】次に、可逆メモリ装置の概略を、前記文献
を引用して次に説明する。通常のリードライトに関して
は、アドレスを与えてデータにアドレスする一般のRA
M(ランダム・アドレス・メモリ)と変わるところはな
い。ライトされた内容を順次もとに戻す動作を、ソフト
ウェアの指令で適切に実行するためには、メモリの内
部,外部(MPU側)で論理的な時間、又は世代の概念
を共有する必要がある。この実施例においては、これを
「エポック」と呼ぶものとする。エポックは、1から始
まる整数値をとる変数の値で表される。このメモリはリ
ード/ライトの外に、インクリメントエポック,デクリ
メントエポック及びイニシャライズの制御指令を受け付
ける。この実施例の可逆メモリ装置は、これらの指令に
対して以下のように応答する。
【0010】図4には、可逆メモリの動作を説明するた
めの概念図が示されている。同図では時系列の例(左か
ら右へ)が示されている。過去に書き込まれた内容の読
み出しについては、一般のメモリと変わるところはな
い。すなわち、現在をエポックnとすると、エポック1
からエポックnまでのいずれの世代に書かれたものであ
っても、その後同じ番地にオーバーライトされない限
り、現在そのまま読み出される。ここで、デクメリント
エポックを実行すると、メモリの状態がそっくりエポッ
クn−1の最後の時点、すなわちn−1からnにインク
リメントされる直前の時点の状態に戻ってしまう。すな
わちエポックnにおいてアドレス(1)に書かれた内容
4は失われ、エポックnでオーバーライトによって消失
した記憶内容8が復帰する。したがって、 エポックn
−2においてアドレス(1)に3を書き込みんだ後にア
ドレス(1)に8を書き込んだように、同一エポック内
に2度以上同じ番地に書き込んだ場合は、そのエポック
内で最後に書いたもの8だけが上記のように復元でき
る。ここでもう一度デクリメントエポックを行うと、今
度はエポックn−2の最終状態まで復帰する。すなわ
ち、アドレス(0)内容は2に、アドレス(1)の内容
は7に、アドレス(2)の内容は6に、アドレス(3)
の内容は4に復帰する。
【0011】インクリメントエポックは、それが実行さ
れた時点をそのエポックの最終状態と定義し、それ以後
を次のエポックとするものである。したがって、プログ
ラム上で、今のメモリの状態を後で復元する必要がある
ときには、インクリメントエポックを指令すればよい。
なお、イニシャライズ指令により、メモリの内容はすべ
て「未定義コード」,エポックは1になる。可逆メモリ
装置は、通常のノイマン型マイクロプロセッサMPUに
接続され、アドレシング、リード/ライトに関しては通
常のメモリサイクルが適用される。インクルメントエポ
ック、デクリメントエポック及びイニシャライズ指令に
ついては、マイクロプロセッサMPUからのI/O命令
などによって与えられる。可逆メモリ装置のメモリ容量
については、以下の3通りの規定が設けられる。 (a)通常のメモリサイズと同じ意味のアドレスバスか
ら見た空間の大きさ、以下「間口サイズ」と呼ぶことに
する。(b)復帰可能な情報の最大量、これは後述する
ように内部のトレイスタックTSのサイズによって規定
され、以後「奥行きサイズ」と呼ぶことにする。(c)
エポックの最大値。それぞれのサイズとその比率は、応
用されるシステムの応用目的により依存される。
【0012】図5には、可逆メモリ内部の論理構造が示
されている。この実施例の可逆メモリ装置は、アドレス
マップAMと、トレイルスタックTSと、エポックカウ
ンタECと、エポックポインタEPと、スタックポイン
タSPとから構成される。トレイルスタックTSは、ア
ドレスマップポインタAMPと、バックワードポインタ
BPとデータ用メモリDATAとか構成される。なお、
可逆メモリ装置は、図示しないアンドゥフラグやイニシ
ャライズフラグを持つ。同図においては、現在がエポッ
ク2で、エポック1で4番地にDATA4,2番地にD
ATA2を書き込み、エポック2で4番地にDATA
4’を書き込んだ後の状態を示している。
【0013】エポックカウンタECの内容は、現在のエ
ポックから1を減じた値であり、これはまたエポックポ
インタEPをポイントする。エポックポインタEPは、
過去の各エポックで使用された最後のトレイルスタック
TSをポイントする。スタックポインタSPは、現在ま
でに使用しているトレイルスタックTSの最後の位置を
指す。アドレスマップAMは、高速RAMなどにより構
成され、トレイルスタックTSに対するポインタを格納
する。トレイルスタックTSは、ダイナミック型RAM
などで構成され、アドレスマップポインタAMP、バッ
クワードポインタBP及びデータ用メモリDATAの3
ワードからなるレコードを順次格納する。
【0014】図6には、この実施例の可逆メモリの動作
の一例をより詳細に説明するための概念図が示されれ、
図7には上記図6の動作概念図に対応した可逆メモリ装
置の一実施例のブロック図が示されている。図6は、前
記図4と同様に左から右への時系列の例が示されてい
る。ただし、エポックのインクリメント又はディクリメ
ントによってメモリ内容が変化しないものは一部省略し
て描かれている。図7において、可逆メモリ装置は、コ
ントローラCONTにレジスタA〜Eが設けられる。レ
ジスタA〜Dは、Aバスに対応した内部バスに並列形態
に接続され、レジスタEはBバスに対応した内部バスに
接続される。レジスタAは、Aバス(データバス)から
入力されるデータ及びアドレスマップAM、バックワー
ドポインタBP、データ用メモリDATAからの出力デ
ータを一時的に格納するためのものである。レジスタB
は、バックワードポインタBP、データ用メモリDAT
A、アドレスマップポインタAMPをアクセスするため
のものである。レジスタCは、エポックポインタEP、
デプリケートカウンタDPをアクセスするためのもので
ある。レジスタDは、図4のエポックn等の値を格納す
るためのものである。レジスタEは、Bバス(アドレス
バス)から入力されるアドレス及びアドレスマップポイ
ンタAMPの出力を一時的に格納するためのものであ
る。なお、上記レジスタB,C及びDは、必要に応じて
ALU部でインクリメント、デクリメントされる。
【0015】図6においては、エポックは0から開始さ
れる。図6の左側のエポック0のときには、図7のアド
レスマップAMのアドレス0〜3には順に0,1,2,
3が格納され、データ用メモリDATAのアドレス0〜
7のうち、アドレス0〜3には順に2,7,6,4が格
納されている。レジスタAには無効データが、レジスタ
Bには上記のようにデータ用メモリには既に4つのデー
タが格納されているから最終アドレスに対応した3が、
レジスタCには0が、レジスタDにはエポック0が、レ
ジスタEには無効データがそれぞれ格納されている。
【0016】インクリメントエポック(INC)は、次
のように行われる。レジスタCのアドレス0がラッチ回
路LTに取り込まれる。このラッチ回路LTに保持され
たアドレス0は、エポックポインタEPに伝えられてア
ドレス0が指定される。そして、レジスタBの3がAバ
スを通してエポックポインタEPのアドレス0に書き込
まれる。上記ラッチ回路LTに保持されたアドレス0
は、デプリケートカウンタDPに伝えられてアドレス0
が指定される。ALUにより形成されたデータ0がAバ
スを通してデプリケートカウンタDPのアドレス0に書
き込まれる。ALUは、+1の演算動作を行いレジスタ
CとDに1を書き込む。このようにしてインクリメント
エポックが行われ、エポックは0から1に変わる。
【0017】エポック1でのアドレス1のメモリ内容を
3に書き換える動作は、次のようにして行われる。マイ
クロプロセッサMPUからBバス(アドレスバス)を通
してアドレス1がレジスタEと、Aバス(データバス)
を通してデータ3がレジスタAにそれぞれ書き込まれ
る。ALUは、レジスタBのアドレスを3から4にイン
クリメントさせる。レジスタBのアドレス4は、ラッチ
回路LTに伝えられる。ラッチ回路LTに取り込まれた
アドレス4は、Cバスを通してデータ用メモリDATA
に伝えられてアドレス4が指定される。レジスタAに取
り込まれたデータ3が、Aバスを通してデータ用メモリ
DATAのアドレス4に書き込まれる。上記ラッチ回路
LTに保持されたアドレス4は、Cバスを通してアドレ
スマップポイタAMPに伝えられてアドレス4が指定さ
れる。レジスタEに取り込まれたアドレス1はBバスを
通してアドレスマップポインタAMPのアドレス4に書
き込まれる。上記レジスタEに取り込まれたアドレス1
は、Bバスを通してアドレスマップAMに伝えられてア
ドレス1が指定される。アドレスマップAMのアドレス
1に格納されていたアドレス1が読み出されてAバスを
通してレジスタAに書き込まれる。上記ラッチ回路LT
に保持されたアドレス4は、Cバスを通してバックワー
ドポインタBPに伝えられてアドレス4が指定される。
レジスタAに取り込まれたアドレス1は、Aバスを通し
てバックワードポインタBPのアドレス4に書き込まれ
る。レジスタEに取り込まれたアドレス1は、Bバスを
通してアドレスマップAMに伝えられてアドレス1が指
定される。レジスタBのアドレス4はAバスを通してア
ドレスマップAMのアドレス1に書き込まれる。
【0018】エポック2へのインクリメント動作は、次
のようにして行われる。レジスタCのアドレス1は、ラ
ッチ回路LTに取り込まれる。ラッチ回路LTに保持さ
れたアドレス1は、Cバスを通してエポックポインタE
Pに伝えられてアドレス1が指定される。レジスタBに
格納されたアドレス4はAバスを通してエポックポイン
タEPのアドレス1に書き込まれる。上記ラッチ回路L
Tに保持されたアドレス1は、Cバスを通してデプリケ
ートカンウタDPに伝えられてアドレス1が指定され
る。ALUにより形成されたデータ0はAバスを通して
デプリケートカウンタDPのアドレス1に書き込まれ
る。そして、ALUは、+1の演算動作を行いレジスタ
CとDに2を書き込む。このようにしてインクリメント
エポックが行われ、エポックは1から2に変わる。
【0019】メモリ内容の変更を伴わないでエポック2
から3へのインクリメント動作は、次のようにして行わ
れる。ALUは、アドレス1を形成してAバスを通して
ラッチ回路LTに伝える。これによりラッチ回路LTに
保持されたアドレス1は、Cバスを通してデプリケート
カウンタDPに伝えられてアドレス1が指定される。A
LUは、+1の演算動作を行い、データ1を形成してA
バスを通してデプリケートカウンタDPのアドレス1に
書き込む。そして、ALUは、+1の演算動作を行いレ
ジスタDに3を書き込む。このようにしてインクリメン
トエポックが行われ、エポックは2から3に変わる。
【0020】エポック3でのアドレス2のメモリ内容を
9に書き換える動作は、次のようにして行われる。前記
エポック1の場合と同様にマイクロプロセッサMPUか
らBバス(アドレスバス)を通してアドレス2がレジス
タEと、Aバス(データバス)を通してデータ9がレジ
スタAにそれぞれ書き込まれる。ALUは、レジスタB
のアドレスを4から5にインクリメントさせる。レジス
タBのアドレス5は、ラッチ回路LTに伝えられる。ラ
ッチ回路LTに取り込まれたアドレス5は、Cバスを通
してデータ用メモリDATAに伝えられてアドレス5が
指定される。レジスタAに取り込まれたデータ9が、A
バスを通してデータ用メモリDATAのアドレス5に書
き込まれる。上記ラッチ回路LTに保持されたアドレス
5は、Cバスを通してアドレスマップポイタAMPに伝
えられてアドレス5が指定される。レジスタEに取り込
まれたアドレス2はBバスを通してアドレスマップポイ
ンタAMPのアドレス5に書き込まれる。上記レジスタ
Eに取り込まれたアドレス2は、Bバスを通してアドレ
スマップAMに伝えられてアドレス2が指定される。ア
ドレスマップAMのアドレス2に格納されていたアドレ
ス2が読み出されてAバスを通してレジスタAに書き込
まれる。上記ラッチ回路LTに保持されたアドレス5
は、Cバスを通してバックワードポインタBPに伝えら
れてアドレス5が指定される。レジスタAに取り込まれ
たアドレス2は、Aバスを通してバックワードポインタ
BPのアドレス5に書き込まれる。レジスタEに取り込
まれたアドレス2は、Bバスを通してアドレスマップA
Mに伝えられてアドレス2が指定される。レジスタBの
アドレス5はAバスを通してアドレスマップAMのアド
レス2に書き込まれる。
【0021】エポック2へのデクリメント(DEC)動
作は、次のようにして行われる。ALUは、−1の演算
動作を行いレジスタDに2を書き込む。ALUはアドレ
ス1を形成してAバスを通してラッチ回路LTに伝え
る。ラッチ回路LTに保持されたアドレス1は、Cバス
を通してデプリケートカウンタDPに伝えられアドレス
1が指定される。ALUは、−1の演算動作を行いデー
タ0を形成してAバスを通してデプリケートカウンタD
Pのアドレス1に書き込む。このようにして、エポック
が3から2にデクリメントされる。
【0022】引き続いて行われるエポック1へのデクリ
メント動作は、次のようにして行われる。レジスタBに
格納されていたアドレス5がAバスを通してラッチ回路
LTに伝えられた保持される。ラッチ回路LTに保持さ
れたアドレス5は、Cバスを通してバックワードポイン
タDPとアドレスマップポインタAMに伝えられてアド
レス5がそれぞれ指定される。バックワードポインタD
Pのアドレス5に保持されていたデータ2が読み出され
てAバスを通してレジスタAに格納される。アドレスマ
ップポインタAMPのアドレス5に保持されていたアド
レス2が読み出されてBバスを通してレジスタEに格納
される。レジスタEに格納されたアドレス2は、Bバス
を通してアドレスマップAMに伝えられてアドレス2が
指定される。上記レジスタAに格納されたデータ2は、
Aバスを通してアドレスマップAMのアドレス2に書き
込まれる。これにより、アドレスマップAMにアドレス
2の内容が5から2に変更され、アドレス2にはデータ
用メモリDATAのアドレス2に対応したデータ6とな
ってメモリ内容が9から6に回復される。ALUは、−
1の演算動作を行いレジスタBに4を書き込む。そし
て、同様に−1の演算動作を行いレジスタCとDに1を
書き込む。このようにしてエポック2からエポック1へ
のデクリメントが行われる。
【0023】引き続いて行われるエポック0へのデクリ
メント動作は、次のようにして行われる。レジスタBに
格納されていたアドレス4がAバスを通してラッチ回路
LTに伝えられた保持される。ラッチ回路LTに保持さ
れたアドレス4は、Cバスを通してバックワードポイン
タBPとアドレスマップポインタAMに伝えられてアド
レス4がそれぞれ指定される。バックワードポインタD
Pのアドレス4に保持されていたデータ1が読み出され
てAバスを通してレジスタAに格納される。アドレスマ
ップポインタAMPのアドレス4に保持されていたアド
レス1が読み出されてBバスを通してレジスタEに格納
される。レジスタEに格納されたアドレス1は、Bバス
を通してアドレスマップAMに伝えられてアドレス1が
指定される。上記レジスタAに格納されたデータ1は、
Aバスを通してアドレスマップAMのアドレス1に書き
込まれる。これにより、アドレスマップAMにアドレス
1の内容が4から1に変更され、アドレス1にはデータ
用メモリDATAのアドレス1に対応したデータ7とな
ってメモリ内容が3から7に回復される。ALUは、−
1の演算動作を行いレジスタBに3を書き込む。そし
て、同様に−1の演算動作を行いレジスタCとDに0を
書き込む。このようにしてエポック1からエポック0へ
のデクリメントが行われる。
【0024】図8と図9には、この実施例の可逆メモリ
装置の動作の一例を説明するためのフローチャート図が
示されている。図8に示すように、アドレスバスから与
えられるアドレス信号により、まずアドレスマップAM
が アドレスされる。したがって、アドレスマップAM
のサイズは間口サイズに等しい。リードアドレスの場
合、データはアドレスマップAMの当該番地が指してい
るトレイルスタックTSのデータ用メモリDATAから
読み出される。但し、アンドゥもしくはイニシャライズ
が行われている最中、すなわちウンドゥフラグUFもく
しはイニシャライズフラグIFが1のときにはステップ
(1)により待機する。このときには、適当な方法によ
りシステム側のマイクロプロセッサMPUのメモリサイ
クルを延長させる必要がある。
【0025】ライトアドレスの場合は、現在のエポック
内ですでにその番地に書き込みが行われているか否かで
動作が異なる。すでに書き込みが行われている場合は、
ステップ(6)にて単にトレイルスタックTSのデータ
領域であるデータ用メモリDATAを書き直すだけであ
る。一方、現在のエポックでの初めての書き込みのとき
には、ステップ(2)より、スタックポインタSPをイ
ンクリメントして新たにトレイルスタックTS内のデー
タ用メモリDATAを確保してここにデータを書き込む
とともに、ステップ(3)にて現在のアドレスマップA
Mの値をバックワードポインタBP、ステップ(4)に
て新たなスタックポインタSPの値をアドレスマップA
Mに、ステップ(5)にてアドレスされているアドレス
マップAMのアドレスをアドレスマップポインタAMP
に書き込んでポインタのリンクを完成する。
【0026】図9に示すように、インクリメントエポッ
クは、エポックカウンタECの値を1増加し、エポック
ポインタEP内の新たにポイントされた位置にスタック
ポインタSPの値を書き込むだけでよい。一方デクリメ
ントエポックに対しては、アンドゥが行われる。すなわ
ち、スタックポインタSPの値がエポックカウンタEC
によって指されているエポックポインタEPの位置の内
容に等しくなるまで順にスタックポインタSPの値を減
じながら、そのつどスタックポインタSPによってポイ
ントされたトレイルスタックTSのバックワードポイン
タBPの値を、アドレスマップポインタAMPによって
指されたアドレスマップAMの位置に書き込んで行く。
終了後にエポックカウンタECの値を1減じる。この動
作中アンドゥフラグUFは1が立てられる。もし、アン
ドゥ動作中再度デクリメントエポックがされたときに
は、ただエポックカウンタECを減じてアンドゥ動作を
継続すればよい。
【0027】図2には、この発明に係る可逆メモリ装置
の他の一実施例のブロック図が示されている。この実施
例では、高速読み出し用データメモリHSDATAが追
加される。すなわち、高速読み出し用データメモリHS
DATAは、デコーダDECがBバスに接続されること
により前記説明したデータ用メモリDATAと異なり、
外部からのアドレス信号A0〜A31によりアクセス可
能にされる。すなわち、図1の実施例においては、マイ
クロプロセッサMPUによるメモリリードが、(1)M
PUによるAMリードアクセス、(2)AMの出力によ
るDATAのリードアクセス、(3)DATAの出力を
MPUのデータバスへ出力、という手順をとるものであ
る。これに対して、この実施例では(1)MPUによる
HSDATAのリードアクセス、(2)HSDATAの
出力をMPUのデータバスへ出力、という手順を用いる
ことができ、リードアクセスの高速化が可能になる。他
の構成は、前記図1のものと同様であるのでその説明を
省略する。なお、上記高速読み出し用データメモリHS
DATAは、最新の世代(エポック)のデータを格納す
るアドレスマップAMと同じアドレス空間の広さを持つ
高速読み出し用メモリである。
【0028】図3には、この発明に係る可逆メモリ装置
の更に他の一実施例のブロック図が示されている。この
実施例では、システムの簡素化のために図1の可逆メモ
リ装置に対して、デプリケートカウンタDPが省略され
る。このデプリケートカウンタDPは、書き込みを行わ
なずにインクリメントエポックした回数を格納するメモ
リであるから、エポックポインタEPがメモリ容量を余
分に持てば問題ない。すなわち、その応用目的に対応し
て上記書き込みを行わないでエポックをインクリメント
することが少ないものでは、上記デプリケートカウンタ
DPを搭載しないで、エポックポインタDPを用いた方
がシステムの簡素化の観点からは有利になるものであ
る。他の構成は、前記図1の同様であるので、その説明
は省略する。
【0029】上記の実施例から得られる作用効果は、下
記の通りである。すなわち、 (1) スタックメモリとそのコントローラからなる可
逆メモリ装置において、上記スタックメモリ及びコント
ロールに含まれ、論理的時間変数を指定するエポックポ
インタを実装基板上に搭載してそれが接続されるシステ
ム仕様に応じて記憶容量を拡張可能にすることにより、
応用目的に応じたメモリシステムを構築できるという効
果が得られる。 (2) スタックメモリを構成する複数からなるメモリ
とコントローラとの間及びシステム側とを共通化された
アドレス用とデータ用のバスによりそれぞれ接続するこ
とにより、コントローラの端子数を減らすことができ、
コントローラのLSI化が容易になるとともに応用目的
に応じたメモリとの接続が簡単に行えるという効果が得
られる。 (3) 実装基板上において、可逆メモリシステとして
の内部バスと、その入力信号を保持するラッチ回路を設
けてデータバスを一時的にアドレスバスと共用して用い
ることにより、実装基板上におけるバス構成を簡素化で
きるという効果が得られる。 (4) 最新世代のデータを格納する高速読み出し用デ
ータメモリを設けることにより、この高速読み出し用デ
ータメモリを外部アドレスでアクセスするだけで最新世
代のデータが高速に得られるという効果が得られる。
【0030】以上本発明者によってなされた発明を実施
例に基づき具体的に説明したが、本願発明は前記実施例
に限定されるものではなく、その要旨を逸脱しない範囲
で種々変更可能であることはいうまでもない。例えば、
各メモリの呼びかたは同様な機能を持つものであればよ
い。各メモリは、それぞれに要求されるアクセスタイム
や記憶容量に応じてダイナミック型RAM又はスタティ
ック型RAMあるいはこれらを組み合わせて使用でき
る。高速読み出し用メモリとしては、Bi−CMOS構
成のスタティック型RAMを利用できる。実装基板は、
プリント配線基板やセラミック配線基板等何であっても
よい。実装基板への半導体集積回路装置の接続は、IC
ソケットを介して行うもの他、実装基板に対して半導体
集積回路装置のリードを半田付け等により直接接続する
ものであってもよい。この発明は、可逆メモリ装置とし
て広く適用できる。
【0031】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば、下
記の通りである。すなわち、スタックメモリとそのコン
トローラからなる可逆メモリ装置において、上記スタッ
クメモリ及びコントロールに含まれ、論理的時間変数を
指定するエポックポインタを実装基板上に搭載してそれ
が接続されるシステム仕様に応じて記憶容量を拡張可能
にすることにより実装基板上におけるメモリ数の増減さ
せて応用目的に応じたメモリシステムを構築することが
できる。また、スタックメモリを構成する複数からなる
メモリとコントローラとの間及びシステム側とを共通化
されたアドレス用とデータ用のバスによりそれぞれ接続
することによりコントローラの端子数を減らすことがで
き、コントローラのLSI化が容易になるとともに応用
目的に応じたメモリとの接続が簡単に行える。
【図面の簡単な説明】
【図1】この発明に係る可逆メモリ装置の一実施例を示
すブロック図である。
【図2】この発明に係る可逆メモリ装置の他の一実施例
を示すブロック図である。
【図3】この発明に係る可逆メモリ装置の更に他の一実
施例を示すブロック図である。
【図4】可逆メモリ装置の動作を説明するための概念図
である。
【図5】可逆メモリ装置の内部論理構造図である。
【図6】この発明の可逆メモリ装置の動作を詳細に説明
するための概念図である。
【図7】図6の動作概念図に対応した可逆メモリ装置の
一実施例を示すブロック図である。
【図8】可逆メモリ装置の動作の一例を示すフローチャ
ート図である。
【図9】可逆メモリ装置の動作の他の一例を示すフロー
チャート図である。
【図10】従来の可逆メモリ装置の一例を示すブロック
図である。
【符号の説明】
MPU…マイクロプロセッサ、CONT…コントロー
ラ、TS…トレイルスタック、EP…エポックポイン
タ、EC…エポックカウンタ、DP…デプリケートカウ
ンタ、BP…バックワードポインタ、AM…アドレスマ
ップ、DATA…データ用メモリ、AMP…アドレスマ
ップポインタ、IOB…入出力バッファ、IB1,IB
2…入力バッファ、HSDATA…高速データ用メモ
リ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 菊池 隆 東京都小平市上水本町5丁目20番1号 日 立超エル・エス・アイ・エンジニアリング 株式会社内

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 スタックメモリとそのコントローラから
    なり、新しいデータを書き込んだメモリの内容を基に戻
    して失われたデータを復元する機能を持つ可逆メモリ装
    置において、上記スタックメモリ及びそのコントローラ
    に含まれる論理的時間変数を指定するエポックポインタ
    を実装基板上に搭載し、それが接続されるシステムの応
    用目的応じて記憶容量を拡張可能に構成することを特徴
    とする可逆メモリ装置。
  2. 【請求項2】 上記スタックメモリは、スタックメモリ
    のアドレスを格納すするアドレスマップと、このアドレ
    スマップのアドレスを格納するアドレスマップポインタ
    と、上記アドレスマップの戻り用のアドレスを格納する
    バックワードポインタと、スタックポインタに格納され
    たアドレスにより指定されるデータ用メモリとを含み、
    上記コントローラにはデータの論理的時間変数を決める
    スタックカウンタと、上記スタックカウンタにより指定
    されるエポックポインタと、上記スタックメモリのスタ
    ックポインタとを含むものであることを特徴とする請求
    項1の可逆メモリ装置。
  3. 【請求項3】 上記実装基板上においては、書き込みを
    行わないでインクリメントされたエポックの回数を格納
    するデプリケートカウンタも外付けされて搭載されるも
    のであることを特徴とする請求項1又は2の可逆メモリ
    装置。
  4. 【請求項4】 上記エポックポインタ及びデプリケート
    カウンタを除くコントローラを構成する回路は1つの半
    導体集積回路により構成されるものであることを特徴と
    する請求項1、2又は3の可逆メモリ装置。
  5. 【請求項5】 スタックメモリとそのコントローラから
    なり、新しいデータを書き込んだメモリの内容を基に戻
    して失われたデータを復元する機能を持つ可逆メモリ装
    置において、スタックメモリを構成する複数からなるメ
    モリとコントローラとの間及びシステム側とを共通化さ
    れたアドレス用とデータ用のバスによりそれぞれ接続す
    ることを特徴とする可逆メモリ装置。
  6. 【請求項6】 上記スタックメモリは、スタックメモリ
    のアドレスを格納すするアドレスマップと、このアドレ
    スマップのアドレスを格納するアドレスマップポインタ
    と、上記アドレスマップの戻り用のアドレスを格納する
    バックワードポインタト、スタックポインタに格納され
    たアドレスにより指定されるデータ用メモリとを含み、
    上記コントローラにはデータの論理的時間変数を決める
    スタックカウンタにより指定されるエポックポインタを
    含むものであり、共通化されたアドレスバスにはアドレ
    スマップのアドレス端子、アドレスマップポインタのデ
    ータ端子及びコントローラのアドレス端子が接続され、
    共通化されたデータバスにはバックワードポインタのデ
    ータ端子、アドレスマップのデータ端子、データ用メモ
    リのデータ端子、エポックポインタのデータ端子、ラッ
    チ回路の入力端子及びコントローラのデータ端子が接続
    され、共通化された内部バスにはラッチ回路の出力端
    子、エポックポインタのアドレス端子、バックワードポ
    インタのアドレス端子、データ用メモリのアドレス端子
    及びアドレスマップポインタのアドレス端子が接続され
    るものであることを特徴とする請求項5の可逆メモリ装
    置。
  7. 【請求項7】 上記アドレスバス、データバス及び内部
    バスは実装基板上に構成され、それが接続されるシステ
    ム仕様に応じて記憶容量が拡張可能にされるものである
    ことを特徴とする請求項5又は6の可逆メモリ装置。
JP2278391A 1991-01-23 1991-01-23 可逆メモリ装置 Pending JPH06103156A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2278391A JPH06103156A (ja) 1991-01-23 1991-01-23 可逆メモリ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2278391A JPH06103156A (ja) 1991-01-23 1991-01-23 可逆メモリ装置

Publications (1)

Publication Number Publication Date
JPH06103156A true JPH06103156A (ja) 1994-04-15

Family

ID=12092274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2278391A Pending JPH06103156A (ja) 1991-01-23 1991-01-23 可逆メモリ装置

Country Status (1)

Country Link
JP (1) JPH06103156A (ja)

Similar Documents

Publication Publication Date Title
US20050262288A1 (en) Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner
JP2004536417A (ja) 読出及び書込動作でバースト順序が異なるアドレッシングを行うメモリデバイス
JPH0248747A (ja) マイクロプロセツサ
JP2735173B2 (ja) ワンチップメモリデバイス
JPH0586576B2 (ja)
JPH06103156A (ja) 可逆メモリ装置
JP2591514B2 (ja) 1チップメモリデバイス
US6425020B1 (en) Systems and methods for passively transferring data across a selected single bus line independent of a control circuitry
US7395399B2 (en) Control circuit to enable high data rate access to a DRAM with a plurality of areas
JP2605656B2 (ja) 1チップメモリデバイス
US6356976B1 (en) LSI system capable of reading and writing at high speed
JP2591515B2 (ja) 1チップメモリデバイス
JP3075280B2 (ja) 情報処理システム
JPS63129438A (ja) メモリ制御装置
JP2854301B2 (ja) メモリアクセス回路
JPS6349809B2 (ja)
JP3085299B2 (ja) 情報処理システム
JP2919357B2 (ja) Cpuインタフェース回路
JPH04245346A (ja) マイクロコンピュータシステム
JP2719589B2 (ja) 1チップ半導体記憶装置
JP2716284B2 (ja) 半導体集積回路
JPH10198599A (ja) メモリ制御装置
JPH0241058B2 (ja)
JPH07210453A (ja) メモリアクセス装置
JPH1124985A (ja) 同期式半導体記憶装置