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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/16—Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Multi Processors (AREA)
- Static Random-Access Memory (AREA)
- Hardware Redundancy (AREA)
- Memory System (AREA)
- Forklifts And Lifting Vehicles (AREA)
- Pens And Brushes (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
M)に関し、より特定的に2つの装置の間の通信を容易
にするシャドウ機能を有するデュアルポートRAMに関す
る。
ような2つの知能装置が互いに通信するのを可能にして
きた。ランダムアクセスメモリの使用は装置の間のこの
ような通信またはデータ転送を容易にした。言換える
と、1つの装置は第2の装置が使用するデータを発生さ
せることができる。もちろん、2方向性通信は、第1の
装置が受取り側であるときに第2の装置がデータを発生
することができるように、RAMでも必要である。
または受取る方の装置のどちらかによって後でデータが
更新されるのを可能にする。
セスの問題を解決するために、デュアルポートRAMが開
発された。しかし先行技術のデュアルポートRAMは、第
2の装置が或る場所へのデータ書込を試みる前に、また
は第2の装置がデータ読取を試みる前に、第1の装置は
データ書込を終了しなければならないという事実によっ
て、著しいアクセス時間の不利益の可能性を含め、いく
つかの欠点を有する。
所に対して書込む、または一方装置が読取を行なってい
る間に他方装置が書込を試みようとするときに起こる。
一般に、そして幸いに、コンテンションは2つの装置が
同じデータの読取を試みるときは存在しない。さらに、
与えられた装置がメモリへのアクセスを許される前に、
どの装置がメモリへのアクセスを得るべきかの決定(す
なわちアービトレーション)、および必要な遅延の長さ
の決定は、著しく時間を消費する要因となることがあ
る。
の量は不確実である。記録維持、テストおよびその他同
種のものは、他の装置によって以前に更新されたメモリ
へのアクセスが許される前に起こり得る。先行技術は装
置からのアクセスインターリーブのトラックを保つため
に、READYおよびACKNOWLEDGEのような特定の制御信号の
使用を教示する。
される場合に、別の問題が起こる。デュアルポートRAM
が発生させる特定の制御信号はRAMにストアされている
データをアクセスする装置すべてに対して適切でないか
もしれない。したがって、いわゆる「グルー論理」(gl
uelogic)は、或るコントローラによって発生されかつ
他のものによってアクセスされるデータ、または2つの
以上のコントローラによってアクセスされるはずのデー
タの移行を平滑にするために必要である。
以上の装置を互いにインターフェイスするのは有利であ
る。
通信を容易にすることも有利である。
スすることができるようなデュアルポートRAMを提供す
るのは有利である。
する際の制御信号をなくすことも有利である。
め従来的に必要なグルー論理またはその他の手段をなく
すことも有利である。
ータのアクセスを容易にするために、デュアルポートRA
Mにストアされているデータを更新するための機構を提
供することも有利である。
トRAMを提供することも有利である。
サイクルを伴なう装置に対して固定アクセス時間を含む
システムを提供することも有利である。
置、およびそのインターフェイス手段を提供することも
有利である。
メモリ場所をアクセスするのを可能にするインターフェ
イスを有するメモリ場所を有するデュアルポートランダ
ムアクセスメモリ装置が提供される。メモリ場所は少な
くとも2つの部分に再分される。その部分の1つはソー
スであり、その部分の1つは転送先である。シャドウ更
新機能が各メモリ場所部分に設けられかつ接続されて、
部分の1つにストアされるデータが他方の部分にコピー
されるのを可能にする。
の図面を参照することによって得られる。
ック図が示される。
る。適切なマイクロコントローラはアドバンスト・マイ
クロ・ディバイシズ・インコーポレーテッドから入手可
能であるモデル番号80C525である。マイクロコントロー
ラ10はこれもアドバンスト・マイクロ・ディバイシズ・
インコーポレーテッドから入手可能であるモデル番号80
C521のような内部CPU12を含み、引用によりここに援用
される1988年4月18日に出願された同時係属特許出願第
176,076号でより詳細に説明される。しかし、コントロ
ーラ、プロセッサおよびその他同種のもののようないか
なる装置は、知能に関係なく内部CPU12として使用でき
ることは理解されるべきである。類似して、本発明は内
部装置の使用に限定されず、2つの外部装置の間のデー
タ通信を容易にすることができる。しかし、マイクロコ
ントローラ10を結果としてもたらす、単一の集積回路チ
ップにCPU12およびその他のコンポーネントを提供する
ことが最も有効である。
まれる。デュアルポートRAM14に対するアクセス時間は
約90nsであり、いかなる状況下においても保証された最
大アクセス時間を提供する。デュアルポートRAM14は参
照番号28aとして包括的に示されまた「A側」または
「Aアンターフェイス」の言葉によって識別されるイン
ターフェイスバスを介して内部CPU12に接続される。A
側インターフェイスバス28aは以下でより詳細に説明さ
れる。さらにCPU12に接続されるのはプログラム可能マ
スク可能アドレスレコグナイザ(RMAR)18である。割込
フラグライン19はPMAR18から内部CPU12に与えられる。
バス22によって、アドバンスト・マイクロ・ディバイシ
ズ・インコーポレーテッドより入手可能であるモデル番
号80C521のような外部CPU20に接続される。ホストシス
テムバス22にさらに接続されるのは外部RAM24およびDMA
コントローラ26であり、その詳細は当該技術において周
知であり、ここで説明される必要はない。
ーフイス」の言葉によって識別されるスレーブインター
フェイスバス16aを介してホストシステムバス22に接続
される。B側スレーブインターフェイスバス16aはデー
タ通信バス、アドレスバス、READ信号およびWRITE信号
を含む。PMAR18はバス29によってB側スレーブインター
フェイスバス16aに接続される。
バス16aおよび内部CPU12の間に設けられる。
ス22およびB側スレーブインターフェイスバス16aのマ
スタである。DMAコントローラ26はデュアルポートRAM14
をアクセスしなければならないときにホストシステムバ
ス22のマスタになることは理解される。
ーラ10に接続されるのは別の外部RAM装置32、および包
括的に参照番号34によって示される類別された周辺装置
である。RAM32および周辺装置34は互いに、またローカ
ルシステム通信バス36によってマスタインターフェイス
30に接続される。
図)のブロック図がより詳細に示される。デュアルポー
トRAM14は下記で説明されるようにアレイ40においてメ
モリ場所だけでなく、下でより詳細に示されかつ説明さ
れるAインターフェイス28およびBインターフェイス16
からなる。アレイ40はこの図では示されないレジスタの
対を含む。アービトレーション論理218および220はイン
ターフェイス28および16の間に、またアレイ40に対して
通信的関係に設けられる。
ードし、アービタ220および218からA_RDGOおよびA−WR
GO信号によって許可が与えられるまでアレイ40への読取
および書込アクセスを遅延する。A読取はA_DATAバス28
aが予充電されたバスであるので、A_RDGO信号が発生さ
れるまで行なわれることができない。データ読取は読取
動作が始まってから変えることはできない。
ードして、アービタ220からのB_WRGO信号によって許可
が与えられるまでアレイ40への書込アクセスを遅延させ
る。Bインターフェイス16はB書込およびB読取のため
に、B_DATA外部データバス22からB_DATA内部データバス
16aに/からデータを動かす。Bインターフェイス16が
Aインターフェイス28と異なるのは、B_DATAバス16aが
静的に駆動されたバスであり、また読取アクセスにおい
て初期に値を変更できるという事実によって、アービタ
218および220からの許可を必要とせずにB読取が開始で
きることである。
シャドウ更新を制御し、アービタ論理220はB書込、A
読取、およびBからAのシャドウ更新を制御する。
ットレジスタが参照番号50、52、54および56として示さ
れる。説明および簡潔のため、この図では4つのメモリ
場所のみが示されているが、好ましい実施例では16のメ
モリ場所が使用される。その上、設計者が規定したシス
テム環境の特定の予め定められた機能および能力を満た
すために、メモリ場所はいくつでも使用することができ
る。
側を有する。各レジスタ50ないし56のA側はインターフ
ェイス28にデータを書込む、またはそこからデータを読
取るために使用され、類似して各レジスタ50ないし56の
B側はBインターフェイス16にデータを書込む、または
そこからデータを読取るために使用される。
に示される。トランジスタ50cないし50dはレジスタ50の
A側からのデータをそのB側に転送することができるよ
うに、また同様にレジスタ50のB側からのデータをその
A側に転送することができるように、配列されている。
言換えると、トランジスタ50aおよび50bはAインターフ
ェイスへ/からのレジスタのA側の読取/書込を可能に
し、トランジスタ50eおよび50fはBインターフェイスへ
/からのレジスタのB側の読取/書込を可能にする。
されるのは表示または更新必要セット/リセットフリッ
プフロップ58ないし72であり、対応するメモリレジスタ
A側またはB側に対して書込動作が行なわれたかどうか
を示す。書込動作が起こると、フリップフロップ58ない
し72の状態は、レジスタ50ないし56の一方側のデータに
対してその他方側にコピーまたはシャドウ動作が行なわ
れるべきであることをシステムに示す。セットおよびリ
セットの両方がアサートされるときは、これらの従来的
フリップフロップ58ないし72においてセット位置がクリ
アに対して優位を占める。
レジスタ50ないし56のA側からB側への必要な更新が始
まる。これらの更新が行なわれると、A−UPDONE信号が
対応するAからBの更新必要フリップフロップ58ないし
64をクリアする。BからAの更新必要フリップフロップ
66ないし72はレジスタ50ないし56のB側からA側にデー
タがコピーされるべきであることを示す。B−UPDATEお
よびB−DONE信号はこれらのシャドウ更新を開始/終了
させるためにこのような状況で使用される。
ション論理によって発生され、ライン99を介して与えら
れ、ANDゲート102ないし108に接続される。ANDゲート10
2ないし108の出力はそれぞれレジスタ50ないし56のA側
に与えられる。
ーション論理によって発生され、ライン119を介して与
えられ、ANDゲート110ないし116に接続される。ANDゲー
ト110ないし116の出力は、それぞれレジスタ50ないし56
のB側に与えられる。
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_WRGO)信号は別のANDゲート220に与えら
れ、その出力は書込ANDゲート204、208、212および216
によってデコーダ200のデコードされた出力と組合わせ
られ、アレイ14に対して明白な書込信号A_WR(0)ない
しA_WR(3)を発生させる。
バ222も含み、これにはA_WRITE信号およびANDゲート218
の出力が与えられる。トランシーバ222は、A_RDGO信号
によって許可が与えられた後、読取動作の間データをバ
ッファされたデータバス224から内部データバス28aに転
送する。これは予充電されたA_DATAバスに悪いデータの
書込を防ぐ。
ータをバッファされたデータバス224から内部データバ
ス28aに転送する。バッファされたデータバス224は静止
バスであるので、A_WRGO信号はこの転送を能動化するた
めに必要ではない。
図)のブロック図が示される。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)を発生させ
る。
ート304、308、312および316によってデコーダ300のデ
コードされた出力と組合わせられ、アレイ14に対して明
白な書込信号B_WR(0)ないしB_WR(3)を発生させ
る。
含み、これにはB_WRITEおよびB_READ信号が与えられて
いる。トランシーバ322は読取動作の間、バッファされ
たデータバス324からデータを外部データバス16aに転送
する。
を外部データバス16からバッファされたデータバス324
に転送する。バッファされたデータバス324および外部
バス16aは両方とも静的バスであるので、B_WRGOまたはB
_RDGO信号のどちらもこれらの転送を能動化するのに必
要ではない。
ョン論理ユニット218および220(第2図)の概略的図が
より詳細に示される。第7図で示されるアービタ論理は
A書込、B読取、およびAからB更新動作を行なうため
にアービタ218が使用することができ、同じアービタ論
理(第7図)はB書込、A読取、およびBからA更新動
作を行なうためにアービタ220が使用することができ
る。こうして、書込動作はデュアルポートRAM14のAま
たはB側によって開始され、適当なアービタ218または2
20によって適切に処理される。
の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の出
力(能動ロー)は待機している読取または書込リクエス
トがなくまた更新が必要なときにアサートされる。更新
サイクルはこれらの条件が合ったときのみ開始されるこ
とができる。
されるフリップフロップを形成する。フリップフロップ
432、434は更新動作が終了するとクリアされる。インバ
ータ404および408はフリップフロップ432、434の準安定
電圧よりはるかに下の引き外し点を有する。フリップフ
ロップ432、434が準安定状態に留まって次に変わると、
準安定の間はアクセスまたは更新が開始されない。代わ
りに、更新リクエストおよび外部リクエスト(読取また
は書込のどちらか)の両方はフリップフロップ432、434
が変わるのを待たなければならない。
る前に、フリップフロップ432、434が変わるまたは少な
くとも準安定状態に達する時間を有することを確実にす
るために遅延ラインを形成する。遅延ライン410ないし4
16はフリップフロップ432、434およびインバータ408を
介してRD_REQ信号を伝搬するのに必要な遅延に対応す
る。
を開始する前に、フリップフロップ432、434が変わるま
たは準安定状態に達する時間を有するのを確実にするた
めに遅延ラインを形成する。遅延ライン418ないし424は
フリップフロップ432、434およびインバータ408を介し
て伝搬されるWR_REQ信号の遅延に対応する。
の開始を許可して外部アクセスが許される決定を下す。
RD_REQ信号が到着する前に更新動作が開始されると、更
新が完了するとすぐに、フリップフロップ432、434はリ
セットしてRD_GO信号はアサートされる。類似して、NOR
ゲート442はかなりの時間が経過した後で書込動作の開
始を許可して外部アクセスが許される決定を下す。WR_R
EQ信号が到着する前に更新動作が開始されると、更新動
作が終了するとすぐに、フリップフロップ432、434はリ
セットしてWR_GO信号がアサートされる。
場所に書込動作によってセットされ、基準更新ビット46
0がセットされるとクリアされる。
隔の場所に物理的に置かれる回路を含む。すなわち、基
準更新ビット460は最悪物理的場所に置かれる。UPDATE
信号がアサートされると、転送が基準更新ビット460で
開始される。この転送が完了すると、UPDONE信号がアサ
ートされ、セット/リセットフリップフロップ450をク
リアする。逆に、セット/リセットフリップフロップ45
0がクリアされると、更新状態はデアサートされ、待機
アクセスはもはやブロックされない。基準更新ビット46
0は次の更新動作のために再アームドされる。
理はデュアルポートRAM14と関連していないが、これは
本発明のアービトレーション機構が固定アクセス時間内
においてデータの利用度を保証するからである。デュア
ルポートRAMアクセス時間は最大の最悪値であり、更新
がスタートするのと同じときに内部CPU12または外部CPU
20による同時アクセスの場合を含む。メモリ場所50ない
し56からのデータが一方のCPU12または20によって読取
られ、同時に他方CPU20または12によって書込まれる
と、データ破損は起こることはない。もとのデータまた
は新しいデータのどちらかが読取のCPU12または20に提
示される。マイクロコントローラ10とインターフェイス
する外部CPU20はREADYライン入力を含む必要がなく、固
定バスサイクル時間と動作することができる。こうし
て、外部CPU20は内部CPU12に関して非同期的にデュアル
ポートRAM14をアクセスすることができる。
セス時間の16バイトの静的RAMに見える。類似して、マ
イクロコントローラ10は16の特別な機能レジスタとして
デュアルポートRAM14と通信し、あたかもこのようなレ
ジスタのセットであるかのようにいつでもデュアルポー
トRAM14をアクセスすることができる。
として使用する好ましい実施例のアービトレーション論
理ユニットの概略図が示される。6個のインバータ464a
ないし464gを含む遅延ラインは予め定められた時間の間
A_GO信号を遅延するために設けられる。
ンバータ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はシャドウ更新動作を行なうために1つ以
上のレジスタが更新窓を必要とすることを示す。
のソースに対して遠隔の場所に物理的に置かれる回路を
含む。すなわち、基準更新ビット496は最悪物理的場所
に置かれる。UPDATE信号がアサートされると、転送が基
準更新ビット496で開始される。この転送が完了する
と、UPDONE信号がアサートされ、セット/リセットフリ
ップフロップ492をクリアする。逆に、セット/リセッ
トフリップフロップ492がクリアされると、更新状態は
デアサートされて待機アクセスはもはやブロックされな
くなる。基準更新ビット496は次の更新動作のために再
アームドされる。
ビトレーション論理ユニット218および220のタイミング
図が示される。これらのタイミング図は、デューアルポ
ートRAM14(第1図)にストアされるデータが2つのCPU
12および20によってアクセスされる状態を示す。しか
し、並行データアクセスおよび通信を可能にするために
当該技術において周知の適切な回路で2つ以上の装置を
使用することができるのは理解される。
合(第9a図)、許可は即座に与えられる。
合(第9b図)、許可は即座に与えられる。書込が起こる
と、フリップフロップ492はセットされる。書込動作が
終了するとすぐに、データがちょうど書込まれたレジス
タ50ないし56の側を更新するために更新動作が始められ
る。
(第9c図)。A書込動作が終わると、更新動作が開始さ
れる。更新がまだ進行中の間、B読取動作がリクエスト
されるが、更新が完了するまで遅延される。
合(第9d図)、許可は即座に与えられる。
合(第9e図)、許可は即座に与えられる。
る。書込動作が終了するとすぐに、データがちょうど書
込まれたレジスタ50ないし56の側を更新するために、更
新動作が始められる。
(第9f図)。B書込動作が終了すると、更新動作が開始
される。更新が進行中の間に、A読取動作がリクエスト
されるが、更新が完了するまで遅延される。
る。A書込動作が終了する前に、B読取動作が始まり、
更新動作はB読取動作が終了するまで遅延される。
ーフェイス16aの読取および書込動作の間に必要な遅延
である。連続読取または連続書込の間の時間は、マイク
ロコントローラ10のおよそ3つのクロックサイクルであ
る(すなわち16MHzクロックで約200ns)。したがって、
特定のより速い外部プロセッサでは、B側スレーブイン
ターフェイス16aで動作するバック・ツー・バック読取
/読取または書込/書込命令は避けるべきである。しか
し、読取および書込動作、または書込および読取動作の
間の回復時間は単に次のアクセスのアドレスおよびチッ
プ選択のためのセットアップ時間である。したがって、
読取/変更書込動作は簡単に実現される。
レスコグナイザ(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と好ましく比較されなければならない。
アクセスすると割込が発生されるのを許す。これらの場
所は1つの場所から全体の16バイトアレイまでプログラ
ム可能である。こうして、外部CPUアクティビティの即
時表示が利用可能である。
ない16バイトはマイクロコントローラ10を外部CPU20に
インターフェイスするために利用可能である。これはマ
イクロコントローラ10および示されない複数個のCPUの
間でコマンド、パラメータ、データおよび状態情報を転
送する機構を与える。高められたI/Oモードでは、デュ
アルポートRAM14は16バイトの追加の直接アドレス可能
なRAMとなる。16バイトの2つは必ず内部CPU12によって
ビットアドレス可能である。
れたアドレスまたは或るセットのアドレスへのアクセス
が外部CPU20によって発生されると、PMAR18は内部CPU12
に割込を発生される。高められたI/Oモードでは、PMAR1
8の示されない割込フラグビットは割込フラグライン19
を介して発生されて内部CPU12によって使用されて、ソ
フトウェア誘起割込を発生させることができる。
方にデータの高速非同期通信を可能にする。PMAR18は能
動化されてデュアルポートRAMアドレスの選択可能セッ
ト(50)の1個(たとえば参照番号50a)が外部コンポ
ーネント20、24または26によってアクセスされると、割
込フラグライン19を介して割込を発生させる。一般的目
的割込(GPI)17(第1図)は内部CPU12によって外部割
込が発生されるのを許す。GPIは外部CPU20によって能動
化、不能化および肯定応答されることができる。
なデータ交換機構を与える。コマンド、状態または他の
データが外部CPU20によってデュアルポートRAM14に書込
まれると、マイクロコントローラ10はPMAR18によって発
生された割込フラグライン19を介する割込によってすぐ
にそれを認識させられる。類似して、マイクロコントロ
ーラ10がデュアルポートRAM14に関係する動作を終了す
ると、次にGPIを使って外部CPU20を割込むことができ
る。
かる。
の両方はデュアルポートRAM14に接続される。データは
デュアルポートRAM14においてメモリ場所の第1の部分
たとえば50に書込まれる。データは次にデュアルポート
RAM14の第1のメモリ場所部分から第2の部分に転送さ
れる。次にデータは第2のメモリ場所から読取られる。
データ転送はデータがデュアルポートRAM14に書込まれ
るときは禁止される。データ転送処理の間、アービトレ
ーション論理218および220は書込動作の試みがいつ起こ
るかを決定する。
らのデータの読取およびデータの書込を可能にするため
の方法である。この方法はいくつかのメモリ場所50ない
し56を有するデュアルポートRAM14を与えるステップを
含み、各メモリ場所はデータをストアするための第1の
部分および第2の部分を有する。データは1つのメモリ
場所50の第1のメモリ場所部分に書込まれ、書込データ
のステップと並行に第1のメモリ場所部分50に対応する
第2のメモリ場所部分50から読取られる。データは次に
予め定められた期間の間、第1のメモリ場所部分50から
第2のメモリ場所部分に転送される。
の修正および変更は当業者にとって明らかであるので、
この発明は開示の目的のために選ばれた例に制限される
とは考えられず、この発明の真の精神および範囲からの
逸脱を構成しないすべての変更および修正を網羅する。
である。 第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はセット/リセットフリップフロップである。
Claims (19)
- 【請求項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】シャドー更新手段に対し更新動作が要求さ
れていることを表示するための表示手段をさらに備え
る、請求項1に記載のRAM装置。 - 【請求項3】セル部分(12,14)の各々にそれぞれ接続
されるアドレスインタフェース(16,28)をさらに備
え、前記インタフェース(16,28)の各々はアドレス信
号をデコードしかつ、シャドー更新手段に関連のアービ
トレーション手段(218,220)からの出力信号によって
許容されるときのみ書込イネーブル信号をそれぞれの第
2のゲート手段(50b,50e)へ与え、それによってデー
タの書込が禁止され、他方、データは1つの部分から他
の部分へコピーされる、請求項1に記載のRAM装置。 - 【請求項4】インタフェース(16,28)の1つはアービ
トレーション手段(218,220)からの出力信号によって
許容されるときのみそれぞれの第1のゲート手段(50a,
50f)へ読出イネーブル信号を与え、他方、インタフェ
ース(16,28)の他方はアービトレーション手段(218,2
20)とは独立に、それぞれの第1のゲート手段(50a,50
f)へ読出イネーブル信号を与える、請求項3に記載のR
AM装置。 - 【請求項5】前記部分の他方にコピーされるデータは最
も最近に更新されたデータである、請求項1から4のい
ずれかに記載のRAM装置。 - 【請求項6】複数のメモリセル(50−56)をさらに備
え、各セルは前記少なくとも2つの部分に再分されかつ
各々は前記アドレスインタフェース(16,28)によって
個々にアクセス可能である、請求項3または4に記載の
RAM装置。 - 【請求項7】前記メモリ部分の各々は複数個のビットを
含む、請求項6に記載のRAM装置。 - 【請求項8】前記メモリ部分の少なくとも1個に作動的
に接続され、そこのデータのアクセスを示すための表示
手段をさらに含む、請求項6または7に記載のRAM装
置。 - 【請求項9】前記表示手段(58−72)はプログラム可能
である、請求項8に記載のRAM装置。 - 【請求項10】前記プログラム可能表示手段は個々のメ
モリ部分のデータアクセスを決定するようになってい
る、請求項9に記載のRAM装置。 - 【請求項11】請求項3に記載のRAM装置を含み、かつ
前記アドレスインタフェース(16,28)に作動的に接続
される2つの装置(12,20,24,26)をさらに含む、デー
タ処理システム。 - 【請求項12】前記RAM、前記2つの装置の1つ、およ
び前記アドレスインタフェースが単一の集積回路チップ
に配置される、請求項11に記載のシステム。 - 【請求項13】前記装置の1つは前記RAMと同期的に動
作するようになっている、請求項11に記載のシステム。 - 【請求項14】前記装置の1つはコントローラ(26)を
含む、請求項11から13のいずれかに記載のシステム。 - 【請求項15】前記コントローラはDMAコントローラで
ある、請求項14に記載のシステム。 - 【請求項16】前記アービトレーション手段(218,22
0)は、予め定められた期間の間、2つの前記メモリ部
分間のデータ転送を禁止するようになっている、請求項
3または4に記載のRAM装置。 - 【請求項17】前記アービトレーション手段は、前記装
置の1つによる前記メモリ部分の1つをアクセスするこ
とを禁止するようになっている、請求項11に記載のシス
テム。 - 【請求項18】前記アービトレーション手段(218,22
0)は、各更新動作が完了する点を決める最悪転送手段
を含む、請求項17に記載のシステム。 - 【請求項19】前記最悪転送手段は基準ビットを含む、
請求項18に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US286,200 | 1988-12-19 | ||
US07/286,200 US5014247A (en) | 1988-12-19 | 1988-12-19 | System for accessing the same memory location by two different devices |
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)
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 |
FR2672140B1 (fr) * | 1991-01-28 | 1996-08-30 | Bosch Gmbh Robert | Systeme a multicalculateur. |
DE4129809C2 (de) * | 1991-01-28 | 2000-08-17 | Bosch Gmbh Robert | Mehrrechnersystem |
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 |
EP0596648A1 (en) | 1992-11-02 | 1994-05-11 | National Semiconductor Corporation | Network link endpoint capability detection |
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 |
EP0596651A1 (en) * | 1992-11-02 | 1994-05-11 | National Semiconductor Corporation | Network for data communication with isochronous capability |
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)
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 | バツクアツプ用蓄電装置付二重化記憶装置 |
DE3881222D1 (de) * | 1987-01-23 | 1993-07-01 | Siemens Ag | Halbleiterspeicher mit wahlfreiem zugriff ueber zwei getrennte ein/ausgaenge. |
-
1988
- 1988-12-19 US US07/286,200 patent/US5014247A/en not_active Expired - Lifetime
-
1989
- 1989-12-01 ES ES89312592T patent/ES2078245T3/es not_active Expired - Lifetime
- 1989-12-01 DE DE68923944T patent/DE68923944T2/de not_active Expired - Lifetime
- 1989-12-01 EP EP89312592A patent/EP0375194B1/en not_active Expired - Lifetime
- 1989-12-01 AT AT89312592T patent/ATE126922T1/de not_active IP Right Cessation
- 1989-12-19 JP JP1330913A patent/JP2821534B2/ja not_active Expired - Lifetime
-
1995
- 1995-10-25 GR GR950402981T patent/GR3017876T3/el unknown
Also Published As
Publication number | Publication date |
---|---|
US5014247A (en) | 1991-05-07 |
EP0375194B1 (en) | 1995-08-23 |
GR3017876T3 (en) | 1996-01-31 |
ATE126922T1 (de) | 1995-09-15 |
DE68923944D1 (de) | 1995-09-28 |
EP0375194A2 (en) | 1990-06-27 |
EP0375194A3 (en) | 1991-09-04 |
DE68923944T2 (de) | 1996-04-11 |
ES2078245T3 (es) | 1995-12-16 |
JPH02246092A (ja) | 1990-10-01 |
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 | |
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 | |
US6175888B1 (en) | Dual host bridge with peer to peer support | |
JPH09146878A (ja) | データ処理システム及びデータ処理方法 | |
JPH06231075A (ja) | ゼロ潜伏性ループアービトレーションの方法及び装置 | |
JPS5921048B2 (ja) | 多重取出しバス・サイクル操作を与えるシステム | |
US7007126B2 (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 | |
JP2574821B2 (ja) | ダイレクトメモリアクセス・コントローラ | |
JPS63155254A (ja) | 情報処理装置 | |
JPS6051151B2 (ja) | デ−タ処理システム | |
JPS63183678A (ja) | マルチポ−トメモリ装置 | |
JPS5938827A (ja) | マイクロプロセツサipl方式 | |
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 |