JP2821534B2 - デュアルポートランダムアクセスメモリ装置 - Google Patents

デュアルポートランダムアクセスメモリ装置

Info

Publication number
JP2821534B2
JP2821534B2 JP1330913A JP33091389A JP2821534B2 JP 2821534 B2 JP2821534 B2 JP 2821534B2 JP 1330913 A JP1330913 A JP 1330913A JP 33091389 A JP33091389 A JP 33091389A JP 2821534 B2 JP2821534 B2 JP 2821534B2
Authority
JP
Japan
Prior art keywords
data
update
ram
portions
signal
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.)
Expired - Lifetime
Application number
JP1330913A
Other languages
English (en)
Other versions
JPH02246092A (ja
Inventor
ルディ・ジョゼフ・アルバッハテン・ザ・サード
ロバート・ウィリアム・オウデル
Original Assignee
アドバンスト・マイクロ・ディバイシズ・インコーポレーテッド
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 アドバンスト・マイクロ・ディバイシズ・インコーポレーテッド filed Critical アドバンスト・マイクロ・ディバイシズ・インコーポレーテッド
Publication of JPH02246092A publication Critical patent/JPH02246092A/ja
Application granted granted Critical
Publication of JP2821534B2 publication Critical patent/JP2821534B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups

Description

【発明の詳細な説明】 発明の背景 本発明はデュアルポートランダムアクセスメモリ(RA
M)に関し、より特定的に2つの装置の間の通信を容易
にするシャドウ機能を有するデュアルポートRAMに関す
る。
従来、システム設計者はコントローラやプロセッサの
ような2つの知能装置が互いに通信するのを可能にして
きた。ランダムアクセスメモリの使用は装置の間のこの
ような通信またはデータ転送を容易にした。言換える
と、1つの装置は第2の装置が使用するデータを発生さ
せることができる。もちろん、2方向性通信は、第1の
装置が受取り側であるときに第2の装置がデータを発生
することができるように、RAMでも必要である。
ランダムアクセスメモリの使用は、発生する側の装置
または受取る方の装置のどちらかによって後でデータが
更新されるのを可能にする。
2つの装置による並行なまたはほぼ並行なデータアク
セスの問題を解決するために、デュアルポートRAMが開
発された。しかし先行技術のデュアルポートRAMは、第
2の装置が或る場所へのデータ書込を試みる前に、また
は第2の装置がデータ読取を試みる前に、第1の装置は
データ書込を終了しなければならないという事実によっ
て、著しいアクセス時間の不利益の可能性を含め、いく
つかの欠点を有する。
コンテンションの問題は両方の装置がメモリの同じ場
所に対して書込む、または一方装置が読取を行なってい
る間に他方装置が書込を試みようとするときに起こる。
一般に、そして幸いに、コンテンションは2つの装置が
同じデータの読取を試みるときは存在しない。さらに、
与えられた装置がメモリへのアクセスを許される前に、
どの装置がメモリへのアクセスを得るべきかの決定(す
なわちアービトレーション)、および必要な遅延の長さ
の決定は、著しく時間を消費する要因となることがあ
る。
或る期間の間にRAM装置を必要とするデータアクセス
の量は不確実である。記録維持、テストおよびその他同
種のものは、他の装置によって以前に更新されたメモリ
へのアクセスが許される前に起こり得る。先行技術は装
置からのアクセスインターリーブのトラックを保つため
に、READYおよびACKNOWLEDGEのような特定の制御信号の
使用を教示する。
2つの異種の装置が1つのデュアルポートRAMで使用
される場合に、別の問題が起こる。デュアルポートRAM
が発生させる特定の制御信号はRAMにストアされている
データをアクセスする装置すべてに対して適切でないか
もしれない。したがって、いわゆる「グルー論理」(gl
uelogic)は、或るコントローラによって発生されかつ
他のものによってアクセスされるデータ、または2つの
以上のコントローラによってアクセスされるはずのデー
タの移行を平滑にするために必要である。
簡単なシステム設計においてプロセッサのような2つ
以上の装置を互いにインターフェイスするのは有利であ
る。
デュアルポートRAMの使用によって2つの装置の間の
通信を容易にすることも有利である。
2つの装置がその中にあるデータをほぼ同時にアクセ
スすることができるようなデュアルポートRAMを提供す
るのは有利である。
RAMの予め定められたメモリ場所のデータをアクセス
する際の制御信号をなくすことも有利である。
2つの異種の装置が互いに通信するのを可能にするた
め従来的に必要なグルー論理またはその他の手段をなく
すことも有利である。
そこに接続されている異種の装置による更新されたデ
ータのアクセスを容易にするために、デュアルポートRA
Mにストアされているデータを更新するための機構を提
供することも有利である。
比較的高い動作速度および低いコストのデュアルポー
トRAMを提供することも有利である。
RAMにインターフェイスするための同期化されたバス
サイクルを伴なう装置に対して固定アクセス時間を含む
システムを提供することも有利である。
単一のICチップの上にデュアルポートRAM、1つの装
置、およびそのインターフェイス手段を提供することも
有利である。
発明の要約 本発明に従って、少なくとも2つの装置が与えられた
メモリ場所をアクセスするのを可能にするインターフェ
イスを有するメモリ場所を有するデュアルポートランダ
ムアクセスメモリ装置が提供される。メモリ場所は少な
くとも2つの部分に再分される。その部分の1つはソー
スであり、その部分の1つは転送先である。シャドウ更
新機能が各メモリ場所部分に設けられかつ接続されて、
部分の1つにストアされるデータが他方の部分にコピー
されるのを可能にする。
本発明の完全な理解は、詳細な説明と関連して、添付
の図面を参照することによって得られる。
好ましい実施例の説明 第1図を参照すると、本発明に従ったシステムのブロ
ック図が示される。
マイクロコントローラは包括的に参照番号10で示され
る。適切なマイクロコントローラはアドバンスト・マイ
クロ・ディバイシズ・インコーポレーテッドから入手可
能であるモデル番号80C525である。マイクロコントロー
ラ10はこれもアドバンスト・マイクロ・ディバイシズ・
インコーポレーテッドから入手可能であるモデル番号80
C521のような内部CPU12を含み、引用によりここに援用
される1988年4月18日に出願された同時係属特許出願第
176,076号でより詳細に説明される。しかし、コントロ
ーラ、プロセッサおよびその他同種のもののようないか
なる装置は、知能に関係なく内部CPU12として使用でき
ることは理解されるべきである。類似して、本発明は内
部装置の使用に限定されず、2つの外部装置の間のデー
タ通信を容易にすることができる。しかし、マイクロコ
ントローラ10を結果としてもたらす、単一の集積回路チ
ップにCPU12およびその他のコンポーネントを提供する
ことが最も有効である。
デュアルポートRAM14はマイクロコントローラ10に含
まれる。デュアルポートRAM14に対するアクセス時間は
約90nsであり、いかなる状況下においても保証された最
大アクセス時間を提供する。デュアルポートRAM14は参
照番号28aとして包括的に示されまた「A側」または
「Aアンターフェイス」の言葉によって識別されるイン
ターフェイスバスを介して内部CPU12に接続される。A
側インターフェイスバス28aは以下でより詳細に説明さ
れる。さらにCPU12に接続されるのはプログラム可能マ
スク可能アドレスレコグナイザ(RMAR)18である。割込
フラグライン19はPMAR18から内部CPU12に与えられる。
マイクロコントローラ10はホストシステムデータ通信
バス22によって、アドバンスト・マイクロ・ディバイシ
ズ・インコーポレーテッドより入手可能であるモデル番
号80C521のような外部CPU20に接続される。ホストシス
テムバス22にさらに接続されるのは外部RAM24およびDMA
コントローラ26であり、その詳細は当該技術において周
知であり、ここで説明される必要はない。
マイクロコントローラ10は「B側」または「Bインタ
ーフイス」の言葉によって識別されるスレーブインター
フェイスバス16aを介してホストシステムバス22に接続
される。B側スレーブインターフェイスバス16aはデー
タ通信バス、アドレスバス、READ信号およびWRITE信号
を含む。PMAR18はバス29によってB側スレーブインター
フェイスバス16aに接続される。
一般目的割込(GPI)装置17はB側インターフェイス
バス16aおよび内部CPU12の間に設けられる。
好ましい実施例では、外部CPU20はホストシステムバ
ス22およびB側スレーブインターフェイスバス16aのマ
スタである。DMAコントローラ26はデュアルポートRAM14
をアクセスしなければならないときにホストシステムバ
ス22のマスタになることは理解される。
マスタインターフェイス30によってマイクロコントロ
ーラ10に接続されるのは別の外部RAM装置32、および包
括的に参照番号34によって示される類別された周辺装置
である。RAM32および周辺装置34は互いに、またローカ
ルシステム通信バス36によってマスタインターフェイス
30に接続される。
第2図を参照すると、デュアルポートRAM14(第1
図)のブロック図がより詳細に示される。デュアルポー
トRAM14は下記で説明されるようにアレイ40においてメ
モリ場所だけでなく、下でより詳細に示されかつ説明さ
れるAインターフェイス28およびBインターフェイス16
からなる。アレイ40はこの図では示されないレジスタの
対を含む。アービトレーション論理218および220はイン
ターフェイス28および16の間に、またアレイ40に対して
通信的関係に設けられる。
Aインターフェイス28はアドレスロケーションをデコ
ードし、アービタ220および218からA_RDGOおよびA−WR
GO信号によって許可が与えられるまでアレイ40への読取
および書込アクセスを遅延する。A読取はA_DATAバス28
aが予充電されたバスであるので、A_RDGO信号が発生さ
れるまで行なわれることができない。データ読取は読取
動作が始まってから変えることはできない。
Bインターフェイス16はアドレスロケーションをデコ
ードして、アービタ220からのB_WRGO信号によって許可
が与えられるまでアレイ40への書込アクセスを遅延させ
る。Bインターフェイス16はB書込およびB読取のため
に、B_DATA外部データバス22からB_DATA内部データバス
16aに/からデータを動かす。Bインターフェイス16が
Aインターフェイス28と異なるのは、B_DATAバス16aが
静的に駆動されたバスであり、また読取アクセスにおい
て初期に値を変更できるという事実によって、アービタ
218および220からの許可を必要とせずにB読取が開始で
きることである。
アービタ論理218はA書込、B読取およびAからBの
シャドウ更新を制御し、アービタ論理220はB書込、A
読取、およびBからAのシャドウ更新を制御する。
第3図を参照すると、メモリ場所を示す複数個の8ビ
ットレジスタが参照番号50、52、54および56として示さ
れる。説明および簡潔のため、この図では4つのメモリ
場所のみが示されているが、好ましい実施例では16のメ
モリ場所が使用される。その上、設計者が規定したシス
テム環境の特定の予め定められた機能および能力を満た
すために、メモリ場所はいくつでも使用することができ
る。
各メモリ場所50ないし56は2つの部分、A側およびB
側を有する。各レジスタ50ないし56のA側はインターフ
ェイス28にデータを書込む、またはそこからデータを読
取るために使用され、類似して各レジスタ50ないし56の
B側はBインターフェイス16にデータを書込む、または
そこからデータを読取るために使用される。
第4図を参照すると、典型的なレジスタ50がより詳細
に示される。トランジスタ50cないし50dはレジスタ50の
A側からのデータをそのB側に転送することができるよ
うに、また同様にレジスタ50のB側からのデータをその
A側に転送することができるように、配列されている。
言換えると、トランジスタ50aおよび50bはAインターフ
ェイスへ/からのレジスタのA側の読取/書込を可能に
し、トランジスタ50eおよび50fはBインターフェイスへ
/からのレジスタのB側の読取/書込を可能にする。
第3図を再び参照すると、レジスタ50ないし56に接続
されるのは表示または更新必要セット/リセットフリッ
プフロップ58ないし72であり、対応するメモリレジスタ
A側またはB側に対して書込動作が行なわれたかどうか
を示す。書込動作が起こると、フリップフロップ58ない
し72の状態は、レジスタ50ないし56の一方側のデータに
対してその他方側にコピーまたはシャドウ動作が行なわ
れるべきであることをシステムに示す。セットおよびリ
セットの両方がアサートされるときは、これらの従来的
フリップフロップ58ないし72においてセット位置がクリ
アに対して優位を占める。
動作において、A−UPDATE信号がアサートされると、
レジスタ50ないし56のA側からB側への必要な更新が始
まる。これらの更新が行なわれると、A−UPDONE信号が
対応するAからBの更新必要フリップフロップ58ないし
64をクリアする。BからAの更新必要フリップフロップ
66ないし72はレジスタ50ないし56のB側からA側にデー
タがコピーされるべきであることを示す。B−UPDATEお
よびB−DONE信号はこれらのシャドウ更新を開始/終了
させるためにこのような状況で使用される。
A−UPDATE信号はこの図では示されないアービトレー
ション論理によって発生され、ライン99を介して与えら
れ、ANDゲート102ないし108に接続される。ANDゲート10
2ないし108の出力はそれぞれレジスタ50ないし56のA側
に与えられる。
同様に、B−UPDATE信号は示されていないアービトレ
ーション論理によって発生され、ライン119を介して与
えられ、ANDゲート110ないし116に接続される。ANDゲー
ト110ないし116の出力は、それぞれレジスタ50ないし56
のB側に与えられる。
第5図を参照すると、A側スレーブインターフェイス
28(第1図)のブロック図が示される。A側アドレス
(A_ADDRESS信号)が2−4アドレスデコーダ200に与え
られ、これは標準の2進デコード動作を行なう。アドレ
スデコーダ200は図で示されるように、読取および書込A
NDゲート202ないし216に与えられる4つの出力ライン
(Q0ないしQ3)を有する。読取リクエスト(A_READ)信
号および読取許可許与(A_RDGO)信号は別のANDゲート2
18に与えられ、その出力は読取ANDゲート202、206、210
および214によってデコーダ200の出力と組合わせられ
て、アレイ14に対して明白な読取信号A_RD(0)ないし
A_RD(3)を発生させる。
類似して、読取リクエスト(A_WRITE)信号および書
込許可許与(A_WRGO)信号は別のANDゲート220に与えら
れ、その出力は書込ANDゲート204、208、212および216
によってデコーダ200のデコードされた出力と組合わせ
られ、アレイ14に対して明白な書込信号A_WR(0)ない
しA_WR(3)を発生させる。
A側スレーブインターフェイス28はデータトランシー
バ222も含み、これにはA_WRITE信号およびANDゲート218
の出力が与えられる。トランシーバ222は、A_RDGO信号
によって許可が与えられた後、読取動作の間データをバ
ッファされたデータバス224から内部データバス28aに転
送する。これは予充電されたA_DATAバスに悪いデータの
書込を防ぐ。
類似して、データトランシーバ222は書込動作の間デ
ータをバッファされたデータバス224から内部データバ
ス28aに転送する。バッファされたデータバス224は静止
バスであるので、A_WRGO信号はこの転送を能動化するた
めに必要ではない。
第6図を参照すると、B側インターフェイス16(第1
図)のブロック図が示される。2−4アドレスデコーダ
300にはB側アドレス(B_ADDRESS)信号が与えられてお
り、この図で示されるように読取および書込ANDゲート3
02ないし316に与えられる4つの出力信号(Q0−Q3)を
発生させる。読取リクエスト(B_READ)信号は読取AND
ゲート302、306、310および314によってデコーダ300の
デコードされた出力と組合わせられ、アレイ14に対して
明白な読取信号B_RD(0)ないしB_RD(3)を発生させ
る。
類似して、書込許可許与(B_WRGO)信号が書込ANDゲ
ート304、308、312および316によってデコーダ300のデ
コードされた出力と組合わせられ、アレイ14に対して明
白な書込信号B_WR(0)ないしB_WR(3)を発生させ
る。
B側インターフェイス16はデータトランシーバ322を
含み、これにはB_WRITEおよびB_READ信号が与えられて
いる。トランシーバ322は読取動作の間、バッファされ
たデータバス324からデータを外部データバス16aに転送
する。
類似して、トランシーバ322は書込動作の間、データ
を外部データバス16からバッファされたデータバス324
に転送する。バッファされたデータバス324および外部
バス16aは両方とも静的バスであるので、B_WRGOまたはB
_RDGO信号のどちらもこれらの転送を能動化するのに必
要ではない。
第7図を参照すると、代替の実施例のアービトレーシ
ョン論理ユニット218および220(第2図)の概略的図が
より詳細に示される。第7図で示されるアービタ論理は
A書込、B読取、およびAからB更新動作を行なうため
にアービタ218が使用することができ、同じアービタ論
理(第7図)はB書込、A読取、およびBからA更新動
作を行なうためにアービタ220が使用することができ
る。こうして、書込動作はデュアルポートRAM14のAま
たはB側によって開始され、適当なアービタ218または2
20によって適切に処理される。
アービタ論理は13個のインバータ400ないし424、3個
のNANDゲート430ないし434、2つのNORゲート440、44
2、セット/リセットフリップフロップ450、および包括
的に参照番号460で示される基準更新ビットを含む。回
路はデュアルポートRAM14のAまたはB側のどちらかか
ら読取リクエストまたは書込リクエスト信号を受取るよ
うに適用される。このアービタの出力は次の信号、UPDA
TE、RD_GO、WR_GOおよびUPDONEの1つまたは1つ以上が
RAM14のAまたはB側のそれぞれに対してセットされる
のをもたらす。読取リクエスト信号はインバータ400に
よって反転され、NANDゲート430に与えられる。類似し
て、書込リクエスト信号はインバータ402によって反転
され、NANDゲート430に与えられる。NANDゲート430の出
力(能動ロー)は待機している読取または書込リクエス
トがなくまた更新が必要なときにアサートされる。更新
サイクルはこれらの条件が合ったときのみ開始されるこ
とができる。
NANDゲート432および434は更新が始まるときにセット
されるフリップフロップを形成する。フリップフロップ
432、434は更新動作が終了するとクリアされる。インバ
ータ404および408はフリップフロップ432、434の準安定
電圧よりはるかに下の引き外し点を有する。フリップフ
ロップ432、434が準安定状態に留まって次に変わると、
準安定の間はアクセスまたは更新が開始されない。代わ
りに、更新リクエストおよび外部リクエスト(読取また
は書込のどちらか)の両方はフリップフロップ432、434
が変わるのを待たなければならない。
インバータ410ないし416は、読取アクセスが開始でき
る前に、フリップフロップ432、434が変わるまたは少な
くとも準安定状態に達する時間を有することを確実にす
るために遅延ラインを形成する。遅延ライン410ないし4
16はフリップフロップ432、434およびインバータ408を
介してRD_REQ信号を伝搬するのに必要な遅延に対応す
る。
類似して、インバータ418ないし424は、書込アクセス
を開始する前に、フリップフロップ432、434が変わるま
たは準安定状態に達する時間を有するのを確実にするた
めに遅延ラインを形成する。遅延ライン418ないし424は
フリップフロップ432、434およびインバータ408を介し
て伝搬されるWR_REQ信号の遅延に対応する。
NORゲート440はかなりの時間が経過した後で読取動作
の開始を許可して外部アクセスが許される決定を下す。
RD_REQ信号が到着する前に更新動作が開始されると、更
新が完了するとすぐに、フリップフロップ432、434はリ
セットしてRD_GO信号はアサートされる。類似して、NOR
ゲート442はかなりの時間が経過した後で書込動作の開
始を許可して外部アクセスが許される決定を下す。WR_R
EQ信号が到着する前に更新動作が開始されると、更新動
作が終了するとすぐに、フリップフロップ432、434はリ
セットしてWR_GO信号がアサートされる。
セット/リセットフリップフロップ450はいずれかの
場所に書込動作によってセットされ、基準更新ビット46
0がセットされるとクリアされる。
基準更新ビット460はUPDATE信号のソースに対して遠
隔の場所に物理的に置かれる回路を含む。すなわち、基
準更新ビット460は最悪物理的場所に置かれる。UPDATE
信号がアサートされると、転送が基準更新ビット460で
開始される。この転送が完了すると、UPDONE信号がアサ
ートされ、セット/リセットフリップフロップ450をク
リアする。逆に、セット/リセットフリップフロップ45
0がクリアされると、更新状態はデアサートされ、待機
アクセスはもはやブロックされない。基準更新ビット46
0は次の更新動作のために再アームドされる。
いかなるREADY、BUSYまたはWAITライン出力または論
理はデュアルポートRAM14と関連していないが、これは
本発明のアービトレーション機構が固定アクセス時間内
においてデータの利用度を保証するからである。デュア
ルポートRAMアクセス時間は最大の最悪値であり、更新
がスタートするのと同じときに内部CPU12または外部CPU
20による同時アクセスの場合を含む。メモリ場所50ない
し56からのデータが一方のCPU12または20によって読取
られ、同時に他方CPU20または12によって書込まれる
と、データ破損は起こることはない。もとのデータまた
は新しいデータのどちらかが読取のCPU12または20に提
示される。マイクロコントローラ10とインターフェイス
する外部CPU20はREADYライン入力を含む必要がなく、固
定バスサイクル時間と動作することができる。こうし
て、外部CPU20は内部CPU12に関して非同期的にデュアル
ポートRAM14をアクセスすることができる。
デュアルポートRAM14は外部CPU20にとって、90nsアク
セス時間の16バイトの静的RAMに見える。類似して、マ
イクロコントローラ10は16の特別な機能レジスタとして
デュアルポートRAM14と通信し、あたかもこのようなレ
ジスタのセットであるかのようにいつでもデュアルポー
トRAM14をアクセスすることができる。
第8図を参照すると、アービタ218およびアービタ220
として使用する好ましい実施例のアービトレーション論
理ユニットの概略図が示される。6個のインバータ464a
ないし464gを含む遅延ラインは予め定められた時間の間
A_GO信号を遅延するために設けられる。
NORゲート466、NANDゲート468および470、ならびにイ
ンバータ472、474、476は先着検出器を形成し、B_REQ信
号および更新リクエストの間をアービトレートするため
に適用される。更新がリクエストされる前にB_REQ信号
が到着すると、更新リクエストはBアクセス動作が終了
してB_REQ信号がデアサートされるまでブロックされ
る。先に更新信号が到着すると、B_REQ信号は更新動作
が完了してUPDATE_NEEDED信号がデアサートされるまで
遅延される。インバータ472および474は先着検出器46
8、470の準安定電圧よりはるか下の引き外し点を有す
る。したがって、先着検出器468、470が準安定状態で留
まると、先着検出器468、470がどちらかの方向に変わる
までアクセスは両方のBアクセスおよび更新に対して否
定される。インバータ478、484、486および488、NANDゲ
ート480および482はフリップフロップを形成する。この
フリップフロップは更新動作が進行中であることを示
し、更新動作が開始されるとセットされる。このフリッ
プフロップは更新動作が終了するとクリアされる。した
がって、Aアクセスがちょうど始まるときに始まる更新
動作によって引き起こされる短いパルスおよびグリッチ
は扱われることができる。フリップフロップはパルスを
捉えて自分自身をセットするか、または完全にパルスを
取り逃す。インバータ484および486はNANDゲート480お
よび482の準安定電圧よりはるかに下の引き外し点を有
するので両方のAアクセスおよび更新はフリップフロッ
プ480、482が変わるのを待たなければならない。遅延ラ
イン464aないし464gはNORゲート490とともに、更新動作
を始めるための許可を引込めるだけ十分長くAアクセス
を遅延する。フリップフロップ480、482はフリップする
または準安定状態に入る時間を有する。
セット/リセットフリップフロップ492はレジスタに
対する書込動作が行なわれるとセットされる。フリップ
フロップ492はシャドウ更新動作を行なうために1つ以
上のレジスタが更新窓を必要とすることを示す。
基準更新ビットは包括的に496で示され、UPDATE信号
のソースに対して遠隔の場所に物理的に置かれる回路を
含む。すなわち、基準更新ビット496は最悪物理的場所
に置かれる。UPDATE信号がアサートされると、転送が基
準更新ビット496で開始される。この転送が完了する
と、UPDONE信号がアサートされ、セット/リセットフリ
ップフロップ492をクリアする。逆に、セット/リセッ
トフリップフロップ492がクリアされると、更新状態は
デアサートされて待機アクセスはもはやブロックされな
くなる。基準更新ビット496は次の更新動作のために再
アームドされる。
第9a図ないし第9g図を参照すると、動作におけるアー
ビトレーション論理ユニット218および220のタイミング
図が示される。これらのタイミング図は、デューアルポ
ートRAM14(第1図)にストアされるデータが2つのCPU
12および20によってアクセスされる状態を示す。しか
し、並行データアクセスおよび通信を可能にするために
当該技術において周知の適切な回路で2つ以上の装置を
使用することができるのは理解される。
B読取動作がリクエストされて進行中の更新がない場
合(第9a図)、許可は即座に与えられる。
B書込動作がリクエストされて進行中の更新がない場
合(第9b図)、許可は即座に与えられる。書込が起こる
と、フリップフロップ492はセットされる。書込動作が
終了するとすぐに、データがちょうど書込まれたレジス
タ50ないし56の側を更新するために更新動作が始められ
る。
A書込動作が先に起こる場合、更新動作が必要となる
(第9c図)。A書込動作が終わると、更新動作が開始さ
れる。更新がまだ進行中の間、B読取動作がリクエスト
されるが、更新が完了するまで遅延される。
A読取動作がリクエストされて進行中の更新がない場
合(第9d図)、許可は即座に与えられる。
A書込動作がリクエストされて進行中の更新がない場
合(第9e図)、許可は即座に与えられる。
書込が起こると、フリップフロップ492がセットされ
る。書込動作が終了するとすぐに、データがちょうど書
込まれたレジスタ50ないし56の側を更新するために、更
新動作が始められる。
B書込動作が先に起こる場合、更新動作が必要である
(第9f図)。B書込動作が終了すると、更新動作が開始
される。更新が進行中の間に、A読取動作がリクエスト
されるが、更新が完了するまで遅延される。
A書込動作が先に起こる場合、更新動作が必要とな
る。A書込動作が終了する前に、B読取動作が始まり、
更新動作はB読取動作が終了するまで遅延される。
回復時間は単に外部CPU20によるB側スレーブインタ
ーフェイス16aの読取および書込動作の間に必要な遅延
である。連続読取または連続書込の間の時間は、マイク
ロコントローラ10のおよそ3つのクロックサイクルであ
る(すなわち16MHzクロックで約200ns)。したがって、
特定のより速い外部プロセッサでは、B側スレーブイン
ターフェイス16aで動作するバック・ツー・バック読取
/読取または書込/書込命令は避けるべきである。しか
し、読取および書込動作、または書込および読取動作の
間の回復時間は単に次のアクセスのアドレスおよびチッ
プ選択のためのセットアップ時間である。したがって、
読取/変更書込動作は簡単に実現される。
第10図を参照すると、プログラム可能マスク可能アド
レスコグナイザ(PMAR)18(第1図)の概略図が示され
る。PMAR18は2つの主要コンポーネント、テンプレート
アドレス500およびアドレスマスク502を備え、その出力
は相互接続されるゲート504ないし514に与えられ、それ
は適切な状況下でADDRESS MATCH DETECTED信号を発生さ
せるために使用される。テンプレートアドレス500およ
びアドレスマスク502は内部CPU12(第1図)によって規
定される。テンプレートアドレス500はアドレスマスク5
02にセットされるビットに対応するすべてのビットを無
視してA側アドレスバス501と比較される。アドレスマ
スク502によって検出されるすべてのマスクされないビ
ットは、ADDRESS MATCH DETECTED信号が発生される前
に、B側アドレスバス501およびテンプレートアドレス5
00と好ましく比較されなければならない。
PMAR18は外部CPU20(第1図)がRAM24の特定の場所を
アクセスすると割込が発生されるのを許す。これらの場
所は1つの場所から全体の16バイトアレイまでプログラ
ム可能である。こうして、外部CPUアクティビティの即
時表示が利用可能である。
スレーブモードでは、デュアルポートRAM14の示され
ない16バイトはマイクロコントローラ10を外部CPU20に
インターフェイスするために利用可能である。これはマ
イクロコントローラ10および示されない複数個のCPUの
間でコマンド、パラメータ、データおよび状態情報を転
送する機構を与える。高められたI/Oモードでは、デュ
アルポートRAM14は16バイトの追加の直接アドレス可能
なRAMとなる。16バイトの2つは必ず内部CPU12によって
ビットアドレス可能である。
スレーブモードでは、デュアルポートRAM14の与えら
れたアドレスまたは或るセットのアドレスへのアクセス
が外部CPU20によって発生されると、PMAR18は内部CPU12
に割込を発生される。高められたI/Oモードでは、PMAR1
8の示されない割込フラグビットは割込フラグライン19
を介して発生されて内部CPU12によって使用されて、ソ
フトウェア誘起割込を発生させることができる。
前述のように、デュアルポートRAM14は一方CPUから他
方にデータの高速非同期通信を可能にする。PMAR18は能
動化されてデュアルポートRAMアドレスの選択可能セッ
ト(50)の1個(たとえば参照番号50a)が外部コンポ
ーネント20、24または26によってアクセスされると、割
込フラグライン19を介して割込を発生させる。一般的目
的割込(GPI)17(第1図)は内部CPU12によって外部割
込が発生されるのを許す。GPIは外部CPU20によって能動
化、不能化および肯定応答されることができる。
デュアルポートRAM14、PMAR18およびGPIの機能は有効
なデータ交換機構を与える。コマンド、状態または他の
データが外部CPU20によってデュアルポートRAM14に書込
まれると、マイクロコントローラ10はPMAR18によって発
生された割込フラグライン19を介する割込によってすぐ
にそれを認識させられる。類似して、マイクロコントロ
ーラ10がデュアルポートRAM14に関係する動作を終了す
ると、次にGPIを使って外部CPU20を割込むことができ
る。
前述の説明から、本発明は次のように動作するのがわ
かる。
データはCPU20およびCPU12の間で転送され、前記CPU
の両方はデュアルポートRAM14に接続される。データは
デュアルポートRAM14においてメモリ場所の第1の部分
たとえば50に書込まれる。データは次にデュアルポート
RAM14の第1のメモリ場所部分から第2の部分に転送さ
れる。次にデータは第2のメモリ場所から読取られる。
データ転送はデータがデュアルポートRAM14に書込まれ
るときは禁止される。データ転送処理の間、アービトレ
ーション論理218および220は書込動作の試みがいつ起こ
るかを決定する。
言換えると、本発明は同時にデュアルポートRAM14か
らのデータの読取およびデータの書込を可能にするため
の方法である。この方法はいくつかのメモリ場所50ない
し56を有するデュアルポートRAM14を与えるステップを
含み、各メモリ場所はデータをストアするための第1の
部分および第2の部分を有する。データは1つのメモリ
場所50の第1のメモリ場所部分に書込まれ、書込データ
のステップと並行に第1のメモリ場所部分50に対応する
第2のメモリ場所部分50から読取られる。データは次に
予め定められた期間の間、第1のメモリ場所部分50から
第2のメモリ場所部分に転送される。
特定の動作要件および環境に合うように変えられる他
の修正および変更は当業者にとって明らかであるので、
この発明は開示の目的のために選ばれた例に制限される
とは考えられず、この発明の真の精神および範囲からの
逸脱を構成しないすべての変更および修正を網羅する。
【図面の簡単な説明】
第1図は本発明のデュアルポートRAMを示すブロック図
である。 第2図は第1図で示されるデュアルポートRAMの内部構
造を示すブロック図である。 第3図は第2図で示されるアレイの内部構造を示すブロ
ック図である。 第4図は第3図で示されるレジスタの1つの概略図であ
る。 第5図は本発明のA側インターフェイスを示すブロック
図である。 第6図は本発明のB側インターフェイスを示すブロック
図である。 第7図は本発明の代替の実施例に従ったデュアルポート
RAMで使用されるアービトレーション論理の概略図であ
る。 第8図は本発明の好ましい実施例で使用されるアービト
レーション論理の概略図である。 第9a図ないし第9g図は本発明のアービトレーション論理
のタイミング図である。 第10図は本発明のデュアルポートRAMと関連して使用さ
れるPMAR論理の概略図である。 図において、10はマイクロコントローラ、12は内部CP
U、14はデュアルポートRAM、22はホストシステムデータ
通信バス、24は外部RAM、26はDMAコントローラ、30はイ
ンターフェイス、32は外部RAM装置、34は周辺装置、36
はローカルシステム通信バス、40はアレイ、50、52、54
および56はメモリ場所、58ないし72はフリップフロッ
プ、200はデコーダ、222はトランシーバ、300はデコー
ダ、322はトランシーバ、400および402はインバータ、4
50はセット/リセットフリップフロップである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロバート・ウィリアム・オウデル アメリカ合衆国、テキサス州、オーステ ィン フォースター・レイン、3203 (56)参考文献 特開 昭53−68523(JP,A) (58)調査した分野(Int.Cl.6,DB名) G11C 11/41

Claims (19)

    (57)【特許請求の範囲】
  1. 【請求項1】デュアルポートランダムアクセスメモリ
    (RAM)装置であって、 少なくとも2つの部分(A,B)に再分されるメモリセル
    (50−56)を備え、前記部分の1つはソースであり前記
    部分の1つは転送先であり、 前記セル部分の各々に作動的に接続され、それにより前
    記部分の1つにストアされるデータが前記部分の他にコ
    ピーされることができるようにするためのシャドー更新
    手段を備え、それにより2つの部分が同時にアクセスさ
    れることができかつデータを第2の部分に書込んでいる
    間データが第1の部分から読出されることができ、 各前記部分はそれぞれの部分にストアされたデータの読
    出を許容するように能動化される第1のゲート手段(50
    a,50f)と、それぞれの部分へデータを書込むのを許容
    するように能動化される第2のゲート手段(50b,50e)
    と、更新動作が要求されかつ読出または書込動作が行な
    われていないときそれぞれの部分からのデータを他の部
    分へコピーするようにシャドー更新手段(218,220)か
    らの信号に応答して能動化される第3のゲート手段(50
    c,50d)とを備えることを特徴とする、RAM装置。
  2. 【請求項2】シャドー更新手段に対し更新動作が要求さ
    れていることを表示するための表示手段をさらに備え
    る、請求項1に記載のRAM装置。
  3. 【請求項3】セル部分(12,14)の各々にそれぞれ接続
    されるアドレスインタフェース(16,28)をさらに備
    え、前記インタフェース(16,28)の各々はアドレス信
    号をデコードしかつ、シャドー更新手段に関連のアービ
    トレーション手段(218,220)からの出力信号によって
    許容されるときのみ書込イネーブル信号をそれぞれの第
    2のゲート手段(50b,50e)へ与え、それによってデー
    タの書込が禁止され、他方、データは1つの部分から他
    の部分へコピーされる、請求項1に記載のRAM装置。
  4. 【請求項4】インタフェース(16,28)の1つはアービ
    トレーション手段(218,220)からの出力信号によって
    許容されるときのみそれぞれの第1のゲート手段(50a,
    50f)へ読出イネーブル信号を与え、他方、インタフェ
    ース(16,28)の他方はアービトレーション手段(218,2
    20)とは独立に、それぞれの第1のゲート手段(50a,50
    f)へ読出イネーブル信号を与える、請求項3に記載のR
    AM装置。
  5. 【請求項5】前記部分の他方にコピーされるデータは最
    も最近に更新されたデータである、請求項1から4のい
    ずれかに記載のRAM装置。
  6. 【請求項6】複数のメモリセル(50−56)をさらに備
    え、各セルは前記少なくとも2つの部分に再分されかつ
    各々は前記アドレスインタフェース(16,28)によって
    個々にアクセス可能である、請求項3または4に記載の
    RAM装置。
  7. 【請求項7】前記メモリ部分の各々は複数個のビットを
    含む、請求項6に記載のRAM装置。
  8. 【請求項8】前記メモリ部分の少なくとも1個に作動的
    に接続され、そこのデータのアクセスを示すための表示
    手段をさらに含む、請求項6または7に記載のRAM装
    置。
  9. 【請求項9】前記表示手段(58−72)はプログラム可能
    である、請求項8に記載のRAM装置。
  10. 【請求項10】前記プログラム可能表示手段は個々のメ
    モリ部分のデータアクセスを決定するようになってい
    る、請求項9に記載のRAM装置。
  11. 【請求項11】請求項3に記載のRAM装置を含み、かつ
    前記アドレスインタフェース(16,28)に作動的に接続
    される2つの装置(12,20,24,26)をさらに含む、デー
    タ処理システム。
  12. 【請求項12】前記RAM、前記2つの装置の1つ、およ
    び前記アドレスインタフェースが単一の集積回路チップ
    に配置される、請求項11に記載のシステム。
  13. 【請求項13】前記装置の1つは前記RAMと同期的に動
    作するようになっている、請求項11に記載のシステム。
  14. 【請求項14】前記装置の1つはコントローラ(26)を
    含む、請求項11から13のいずれかに記載のシステム。
  15. 【請求項15】前記コントローラはDMAコントローラで
    ある、請求項14に記載のシステム。
  16. 【請求項16】前記アービトレーション手段(218,22
    0)は、予め定められた期間の間、2つの前記メモリ部
    分間のデータ転送を禁止するようになっている、請求項
    3または4に記載のRAM装置。
  17. 【請求項17】前記アービトレーション手段は、前記装
    置の1つによる前記メモリ部分の1つをアクセスするこ
    とを禁止するようになっている、請求項11に記載のシス
    テム。
  18. 【請求項18】前記アービトレーション手段(218,22
    0)は、各更新動作が完了する点を決める最悪転送手段
    を含む、請求項17に記載のシステム。
  19. 【請求項19】前記最悪転送手段は基準ビットを含む、
    請求項18に記載のシステム。
JP1330913A 1988-12-19 1989-12-19 デュアルポートランダムアクセスメモリ装置 Expired - Lifetime JP2821534B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/286,200 US5014247A (en) 1988-12-19 1988-12-19 System for accessing the same memory location by two different devices
US286,200 1994-08-08

Publications (2)

Publication Number Publication Date
JPH02246092A JPH02246092A (ja) 1990-10-01
JP2821534B2 true JP2821534B2 (ja) 1998-11-05

Family

ID=23097531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1330913A Expired - Lifetime JP2821534B2 (ja) 1988-12-19 1989-12-19 デュアルポートランダムアクセスメモリ装置

Country Status (7)

Country Link
US (1) US5014247A (ja)
EP (1) EP0375194B1 (ja)
JP (1) JP2821534B2 (ja)
AT (1) ATE126922T1 (ja)
DE (1) DE68923944T2 (ja)
ES (1) ES2078245T3 (ja)
GR (1) GR3017876T3 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247649A (en) * 1988-05-06 1993-09-21 Hitachi, Ltd. Multi-processor system having a multi-port cache memory
JPH03219345A (ja) * 1990-01-25 1991-09-26 Toshiba Corp 多ポートキャッシュメモリ制御装置
US5341473A (en) * 1990-08-09 1994-08-23 Nec Corporation System of transferring data in a multi-CPU arrangement using address generators
US5826101A (en) * 1990-09-28 1998-10-20 Texas Instruments Incorporated Data processing device having split-mode DMA channel
US5249283A (en) * 1990-12-24 1993-09-28 Ncr Corporation Cache coherency method and apparatus for a multiple path interconnection network
GB9101227D0 (en) * 1991-01-19 1991-02-27 Lucas Ind Plc Method of and apparatus for arbitrating between a plurality of controllers,and control system
DE4129809C2 (de) * 1991-01-28 2000-08-17 Bosch Gmbh Robert Mehrrechnersystem
FR2672140B1 (fr) * 1991-01-28 1996-08-30 Bosch Gmbh Robert Systeme a multicalculateur.
JPH04257048A (ja) * 1991-02-12 1992-09-11 Mitsubishi Electric Corp デュアルポートメモリ
JP2673390B2 (ja) * 1991-03-13 1997-11-05 三菱電機株式会社 マルチポートメモリ
JP3169639B2 (ja) * 1991-06-27 2001-05-28 日本電気株式会社 半導体記憶装置
US5289427A (en) * 1992-07-20 1994-02-22 Motorola, Inc. Multiport memory with write priority detector
EP0596651A1 (en) * 1992-11-02 1994-05-11 National Semiconductor Corporation Network for data communication with isochronous capability
USRE39116E1 (en) 1992-11-02 2006-06-06 Negotiated Data Solutions Llc Network link detection and generation
USRE39395E1 (en) 1992-11-02 2006-11-14 Negotiated Data Solutions Llc Data communication network with transfer port, cascade port and/or frame synchronizing signal
EP0596648A1 (en) 1992-11-02 1994-05-11 National Semiconductor Corporation Network link endpoint capability detection
US5581720A (en) * 1994-04-15 1996-12-03 David Sarnoff Research Center, Inc. Apparatus and method for updating information in a microcode instruction
US5533018A (en) 1994-12-21 1996-07-02 National Semiconductor Corporation Multi-protocol packet framing over an isochronous network
JPH1027150A (ja) 1996-07-09 1998-01-27 Murata Mach Ltd 情報処理装置及び外部装置
DE19909081C2 (de) * 1999-03-02 2003-03-20 Siemens Ag Anordnung zur Übertragung von in mehrere Wörter unterteilten Datensätzen
DE10060124A1 (de) * 2000-12-04 2002-06-13 Siemens Ag Verfahren zum Betrieb eines Datenverarbeitungssystems
US6980481B1 (en) * 2001-12-20 2005-12-27 Lsi Logic Corporatiion Address transition detect control circuit for self timed asynchronous memories
GB0203070D0 (en) * 2002-02-09 2002-03-27 Qinetiq Ltd Multiple write-port memory
US7788669B2 (en) * 2003-05-02 2010-08-31 Microsoft Corporation System for isolating first computing environment from second execution environment while sharing resources by copying data from first portion to second portion of memory
US7483313B2 (en) * 2007-01-31 2009-01-27 Dell Products, Lp Dual ported memory with selective read and write protection
US20080235477A1 (en) * 2007-03-19 2008-09-25 Rawson Andrew R Coherent data mover
US8359437B2 (en) * 2008-05-13 2013-01-22 International Business Machines Corporation Virtual computing memory stacking
US9870318B2 (en) 2014-07-23 2018-01-16 Advanced Micro Devices, Inc. Technique to improve performance of memory copies and stores

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4125877A (en) * 1976-11-26 1978-11-14 Motorola, Inc. Dual port random access memory storage cell
JPS59142799A (ja) * 1983-02-04 1984-08-16 Hitachi Ltd バツクアツプ用蓄電装置付二重化記憶装置
EP0275884B1 (de) * 1987-01-23 1993-05-26 Siemens Aktiengesellschaft Halbleiterspeicher mit wahlfreiem Zugriff über zwei getrennte Ein/Ausgänge

Also Published As

Publication number Publication date
US5014247A (en) 1991-05-07
DE68923944D1 (de) 1995-09-28
ATE126922T1 (de) 1995-09-15
JPH02246092A (ja) 1990-10-01
GR3017876T3 (en) 1996-01-31
EP0375194A3 (en) 1991-09-04
DE68923944T2 (de) 1996-04-11
EP0375194A2 (en) 1990-06-27
EP0375194B1 (en) 1995-08-23
ES2078245T3 (es) 1995-12-16

Similar Documents

Publication Publication Date Title
JP2821534B2 (ja) デュアルポートランダムアクセスメモリ装置
US5555425A (en) Multi-master bus arbitration system in which the address and data lines of the bus may be separately granted to individual masters
US5535341A (en) Apparatus and method for determining the status of data buffers in a bridge between two buses during a flush operation
EP0166272B1 (en) Processor bus access
KR100207887B1 (ko) 데이타 프로세싱 시스템 및 방법
US6480929B1 (en) Pseudo-concurrency between a volatile memory and a non-volatile memory on a same data bus
EP0426329B1 (en) Combined synchronous and asynchronous memory controller
US5844856A (en) Dual port memories and systems and methods using the same
US5119480A (en) Bus master interface circuit with transparent preemption of a data transfer operation
US5717873A (en) Deadlock avoidance mechanism and method for multiple bus topology
JPS5921048B2 (ja) 多重取出しバス・サイクル操作を与えるシステム
US20040139267A1 (en) Accessing a primary bus messaging unit from a secondary bus through a pci bridge
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
EP0587370A1 (en) Method and apparatus for software sharing between multiple controllers
JPH051504B2 (ja)
JP2574821B2 (ja) ダイレクトメモリアクセス・コントローラ
JPS63155254A (ja) 情報処理装置
JPS6051151B2 (ja) デ−タ処理システム
JPS63183678A (ja) マルチポ−トメモリ装置
JPS5938827A (ja) マイクロプロセツサipl方式
JPS589274A (ja) 書込デ−タバツフア制御装置
JPS61117651A (ja) インタ−フエイス装置
JPS6215903B2 (ja)
JPH03223953A (ja) バス制御方式
JPH05324533A (ja) デュアルポートメモリ装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070904

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080904

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080904

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090904

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090904

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100904

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100904

Year of fee payment: 12