JPH03129548A - デュアル・ポート・メモリとその通信方法 - Google Patents
デュアル・ポート・メモリとその通信方法Info
- Publication number
- JPH03129548A JPH03129548A JP2210163A JP21016390A JPH03129548A JP H03129548 A JPH03129548 A JP H03129548A JP 2210163 A JP2210163 A JP 2210163A JP 21016390 A JP21016390 A JP 21016390A JP H03129548 A JPH03129548 A JP H03129548A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- address
- bus
- port
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 13
- 230000015654 memory Effects 0.000 claims abstract description 234
- 230000004044 response Effects 0.000 claims abstract description 14
- 230000009977 dual effect Effects 0.000 claims abstract description 10
- 238000012546 transfer Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 2
- 230000003139 buffering effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 abstract description 5
- 239000000872 buffer Substances 0.000 description 32
- 238000013461 design Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- FESBVLZDDCQLFY-UHFFFAOYSA-N sete Chemical compound [Te]=[Se] FESBVLZDDCQLFY-UHFFFAOYSA-N 0.000 description 2
- 101100510617 Caenorhabditis elegans sel-8 gene Proteins 0.000 description 1
- 241000396386 Saga Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000003870 depth resolved spectroscopy Methods 0.000 description 1
- 208000009743 drug hypersensitivity syndrome Diseases 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003446 memory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000700 radioactive tracer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000010902 straw Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Bus Control (AREA)
- Memory System (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(産業上の利用分野〉
本発明は改良されたメモリ・アクセス時間を有するマイ
クロプロセッサと使用するランダム・アクセス・メモリ
に一般に関係し、特にデュアル・プロセッサに対して透
明な方法でマイクロプロセッサ間の競合を解消させる速
度でメモリ・アクセスが得られるデュアル・ポート共有
メモリに関係づる。
クロプロセッサと使用するランダム・アクセス・メモリ
に一般に関係し、特にデュアル・プロセッサに対して透
明な方法でマイクロプロセッサ間の競合を解消させる速
度でメモリ・アクセスが得られるデュアル・ポート共有
メモリに関係づる。
(従来の技術〉
ランダム・アクヒス・メモリは多くの異なる構成と各種
の設計要件を満足する多くの異なる特徴で利用可能であ
る。各種メモリ容量、速度でスタティック及びダイナく
ツク・メeす・チップが利用可能である。一般に、より
vi雑な回路設計と製造技術に頼る通常の必要性により
13速メモリはメモリ容量のビット当りコストが高くな
る。
の設計要件を満足する多くの異なる特徴で利用可能であ
る。各種メモリ容量、速度でスタティック及びダイナく
ツク・メeす・チップが利用可能である。一般に、より
vi雑な回路設計と製造技術に頼る通常の必要性により
13速メモリはメモリ容量のビット当りコストが高くな
る。
デュアル・ポート・メモリは1対の別々なプロセッサに
よるメモリの共有を可能とするために使用される。所要
の装置性能を得るためには単一プロセッサの容量又は速
度が不適当な場合には多重プロセッサが応用例にはひん
ばんに使用される。
よるメモリの共有を可能とするために使用される。所要
の装置性能を得るためには単一プロセッサの容量又は速
度が不適当な場合には多重プロセッサが応用例にはひん
ばんに使用される。
その別々の機能を実行する際に情報又は変数が両方のプ
ロセッサで使用される場合共有メモリの使用は望ましい
。例えば、第1のプロセッサは車輌のエンジンの操作を
ill 611し、一方第2のプロセッサは車輌のトラ
ンスミツシコンを制御する。別々の制ti11機能゛は
複数の検出装置パラメータにより実装され、エンジン速
度、エンジン・トルク、車輌速度のようなその内のいく
つかは絢方のプロセラ1すにより使用される。
ロセッサで使用される場合共有メモリの使用は望ましい
。例えば、第1のプロセッサは車輌のエンジンの操作を
ill 611し、一方第2のプロセッサは車輌のトラ
ンスミツシコンを制御する。別々の制ti11機能゛は
複数の検出装置パラメータにより実装され、エンジン速
度、エンジン・トルク、車輌速度のようなその内のいく
つかは絢方のプロセラ1すにより使用される。
各種の型式のデュアル・ポート・ランダム・アクセス・
メモリが公知である。あるメモリ設計は各ポートからの
同時アクセスを許可するが、一方他の設計はアクセス・
アービトレーシジン方法により各ポートに別々にアクセ
スを許可することを必要とする。非同期アービトレーシ
コン・アクセスの場合、メモリから情報を検索する十分
な時間を与えるために要求プロセッサにウェイト状態を
発生させることによりアクセス・ポートを介して要求し
た情報検索の遅れは処理される。ウェイト状態の追加は
マイク用ブロセッナ装置動作の効率を著しく損う。この
代りにハンドシェイク法を使用してデュアル・メモリ・
ポートを介してのメモリ・アクセスを整合可能である。
メモリが公知である。あるメモリ設計は各ポートからの
同時アクセスを許可するが、一方他の設計はアクセス・
アービトレーシジン方法により各ポートに別々にアクセ
スを許可することを必要とする。非同期アービトレーシ
コン・アクセスの場合、メモリから情報を検索する十分
な時間を与えるために要求プロセッサにウェイト状態を
発生させることによりアクセス・ポートを介して要求し
た情報検索の遅れは処理される。ウェイト状態の追加は
マイク用ブロセッナ装置動作の効率を著しく損う。この
代りにハンドシェイク法を使用してデュアル・メモリ・
ポートを介してのメモリ・アクセスを整合可能である。
しかしながら、メモリ・アクセス要求から適当なハンド
シェイク信号を使用してアクセスが許可されるまでの遅
延のため?イクロプロセッサ効率はこれも減少する。
シェイク信号を使用してアクセスが許可されるまでの遅
延のため?イクロプロセッサ効率はこれも減少する。
(発明の要旨〉
従って、木発、明の主要な目的はランダム・アクセス・
メ〔り動作速度を改善する方法と装置を提供することで
ある。
メ〔り動作速度を改善する方法と装置を提供することで
ある。
本発明の別な目的は、メモリのコストを相当増加するこ
となく増大したメモリ・アクセス速度を達成することで
ある。
となく増大したメモリ・アクセス速度を達成することで
ある。
本発明の他の目的は、ハンドシェイク又は追加ウェイト
状態のような特別なタイミング動作なしで各ポートから
の非同期アクセスを可能とする十分高速度で動作するデ
ュアル・ポート・メモリを提供することである。
状態のような特別なタイミング動作なしで各ポートから
の非同期アクセスを可能とする十分高速度で動作するデ
ュアル・ポート・メモリを提供することである。
これらの及び他の目的は、多重化情報路を介して読取り
/害込みメモリと電fブロセツザとの間でデータを通信
する方法により達成される。プロセッサからメモリへの
情報路上で正しいアドレスが送信される。情報路上で送
信された情報は正しいアドレスであることを指示する制
御信号はプロセッサからメモリへ送信される。正しいア
ドレスはメモリ中にラッチされる。データをメモリから
又はメモリへのどちらへ転送するかを指示することなく
、制御信号に応答して正しいアドレスの内容が検索され
る。検索内容はレジスタに記憶される。プロセッサにま
り権込み要求又は読取り要求が送信される。レジスタか
らの内容は読取り要求に応答して情報路に転送される。
/害込みメモリと電fブロセツザとの間でデータを通信
する方法により達成される。プロセッサからメモリへの
情報路上で正しいアドレスが送信される。情報路上で送
信された情報は正しいアドレスであることを指示する制
御信号はプロセッサからメモリへ送信される。正しいア
ドレスはメモリ中にラッチされる。データをメモリから
又はメモリへのどちらへ転送するかを指示することなく
、制御信号に応答して正しいアドレスの内容が検索され
る。検索内容はレジスタに記憶される。プロセッサにま
り権込み要求又は読取り要求が送信される。レジスタか
らの内容は読取り要求に応答して情報路に転送される。
この目的は、メモリ素子アレイ、メモリ制御部、多重化
アドレス/データ・バス、バス・ラッ゛チ、制御バス及
びメモリ出力レジスタを含む装置によりさらに達成され
る。メモリ制御部はメモリ素子アレイへ結合される。バ
ス・ラッチはアドレス/データ・バス、メモリllll
l1部、メモリ素子アレイに結合される。制御バスは、
メモリ・アドレスとしてアドレス/データ・バス上に流
された内容をバス・ラッチにラッチさせるアドレス正当
信号を流すバス・ラッチとメモリ制御部に結合されてい
る。!IIIJ u11バスは又メモリからの読込又は
メモリへの裏込みのデータ流の方向を指示する方向信号
をm1B1能も果たす。アドレス正当信号は対応する方
向信号の前の時間に制御バス上に流される。メモリ出力
レジスタはメモリ素子アレイとメモリ制御部に結合され
ている。メモリ制御部は、アドレス正当信号の発生時に
メモリ・アドレスのメモリ素子アレイの内容をメモリ出
力レジスタへ転送させる。メモリ制御部は、メモリから
のデータの読取りに対応する方向信号の発生時にメモリ
出力レジスタの内容をアドレス/データ・バスへ駆動さ
せる。
アドレス/データ・バス、バス・ラッ゛チ、制御バス及
びメモリ出力レジスタを含む装置によりさらに達成され
る。メモリ制御部はメモリ素子アレイへ結合される。バ
ス・ラッチはアドレス/データ・バス、メモリllll
l1部、メモリ素子アレイに結合される。制御バスは、
メモリ・アドレスとしてアドレス/データ・バス上に流
された内容をバス・ラッチにラッチさせるアドレス正当
信号を流すバス・ラッチとメモリ制御部に結合されてい
る。!IIIJ u11バスは又メモリからの読込又は
メモリへの裏込みのデータ流の方向を指示する方向信号
をm1B1能も果たす。アドレス正当信号は対応する方
向信号の前の時間に制御バス上に流される。メモリ出力
レジスタはメモリ素子アレイとメモリ制御部に結合され
ている。メモリ制御部は、アドレス正当信号の発生時に
メモリ・アドレスのメモリ素子アレイの内容をメモリ出
力レジスタへ転送させる。メモリ制御部は、メモリから
のデータの読取りに対応する方向信号の発生時にメモリ
出力レジスタの内容をアドレス/データ・バスへ駆動さ
せる。
(実施例)
ここで第1図を参照すると、マイクロプロセッサ10と
マイクロプロセッサ11とを含むマイクロブ目セッサ装
買が図示されている。マイク「lプロセッサ10はバス
15を介して読取り専用メモリ(ROM>12、ランダ
ム・アクセス・メモリ(RAM>13、共有RAM14
を結合される。
マイクロプロセッサ11とを含むマイクロブ目セッサ装
買が図示されている。マイク「lプロセッサ10はバス
15を介して読取り専用メモリ(ROM>12、ランダ
ム・アクセス・メモリ(RAM>13、共有RAM14
を結合される。
マイクロプロセッサ11はバス18を介してROM16
、RAM17、共有RAM14に結合される。バス15
.18は別々の制御バスとアドレス/データ・バスを含
むことが望ましい。多くのマイクロプロセッサは外部チ
ップ接続数(すなわちビン出力)を処理可能な数まで減
少させるために多重化アドレス/データ・バスを使用し
ている。
、RAM17、共有RAM14に結合される。バス15
.18は別々の制御バスとアドレス/データ・バスを含
むことが望ましい。多くのマイクロプロセッサは外部チ
ップ接続数(すなわちビン出力)を処理可能な数まで減
少させるために多重化アドレス/データ・バスを使用し
ている。
第1図に用いたマイクnプロセッサ構成のため、マイク
ロプロセッサ10とマイクロプロセッサ11が共有RA
M14を同時にアクセスしようとする可能性がある。複
数個のポートを介してメモリへの同時アクセスを可能と
するメモリ設計がある。
ロプロセッサ10とマイクロプロセッサ11が共有RA
M14を同時にアクセスしようとする可能性がある。複
数個のポートを介してメモリへの同時アクセスを可能と
するメモリ設計がある。
しかしながら、これらの設計は与えられたメモリ含量に
対して複雑度、コスト、寸法で欠点に苦しむ。又従来の
技術からメモリ・アクセスの同時要求が発生した時には
競合解消を提供でることも知られている。
対して複雑度、コスト、寸法で欠点に苦しむ。又従来の
技術からメモリ・アクセスの同時要求が発生した時には
競合解消を提供でることも知られている。
メモリ競合のアービトレーションはファースト・カム、
ファースト・サーブド(最初に来たちのが最初にザービ
スを受ける)方法で解消されるか、又は各々のポートを
通してアクセスするための所定の時間スロットを設定す
ることにより(すなわち時間多電化)達成される。いず
れにせよ、1ポートのみが−・時にメモリをアクセス可
能な共有RAMの設置は側室するメモリ・アクセス要求
時にはメモリ応答時間を遅くする。共有RAM14への
アクセス要求に続いてマイクロプロセッサ(10又は1
1)がウェイトする必要がある場合には、全体の装置動
作速度は影響を受tプた。
ファースト・サーブド(最初に来たちのが最初にザービ
スを受ける)方法で解消されるか、又は各々のポートを
通してアクセスするための所定の時間スロットを設定す
ることにより(すなわち時間多電化)達成される。いず
れにせよ、1ポートのみが−・時にメモリをアクセス可
能な共有RAMの設置は側室するメモリ・アクセス要求
時にはメモリ応答時間を遅くする。共有RAM14への
アクセス要求に続いてマイクロプロセッサ(10又は1
1)がウェイトする必要がある場合には、全体の装置動
作速度は影響を受tプた。
各マイクlコプロヒッ1すと共有メモリ間に別々の要求
線が設けられるハンドシェイク技術によりメモリ競合は
・処理IiT能である。メモリは要求を裁定し、メモリ
と各マイク[17Oセッナ間に接続された別々の許可線
を介して各マイクロプロセッサへ直接アクセスを許1■
ツる。マイクロプロセッサがメモリ・アクセス要求を発
行した後、これはメモリ・アクセスを許可されるまでそ
の許可線を監視する。しかしながら、アクセスを許可さ
れる遅延は長くなるため、効率は失われる。
線が設けられるハンドシェイク技術によりメモリ競合は
・処理IiT能である。メモリは要求を裁定し、メモリ
と各マイク[17Oセッナ間に接続された別々の許可線
を介して各マイクロプロセッサへ直接アクセスを許1■
ツる。マイクロプロセッサがメモリ・アクセス要求を発
行した後、これはメモリ・アクセスを許可されるまでそ
の許可線を監視する。しかしながら、アクセスを許可さ
れる遅延は長くなるため、効率は失われる。
又、2つのポートによる裁定アクセス用に十分な時間を
与えるため、マイクロプロセッサの動作にウェイト状態
を含めることも知られている。しかしながら、任意のマ
イクロプロセッサ命令に対応する第2図のタイミング図
の考慮からより明らかとなるように、ウェイト状態も又
効率を減少させる。マイク[Iプロセッサ命令の実行は
当該命令の演算コードにより決定される命令サイクル時
に実行される。各命令サイクルはマイクロプロセッサ装
置クロックのサイクルに対応する複数のマシン状態(T
、T2.T3・・・と番号)を含む。第2A図のタ
イミング図は命令サイクルの終了時のメモリ読取り操作
時のいくつかの信号のタイくングを図示している。り[
1ツク信号CLKは1命令サイクルのマシン状IT7.
T8.T、と次の命令1ナイクルのマシン状態゛「1以
後を定める。多重化アドレス/データ・バスの内容は2
本のυ1@線、すなわち正しいアドレスがバス上に含ま
れていることを指示するアドレス・ラッチ・イネーブル
ALE信岩と、データをメモリから読してバス上に置い
たことを信号する反転読取り信号RD/(信号指示の終
りのスラッシュは信号が低状態の時に対応する論理変数
が真であることを指示する〉と共に示され“Cいる。
与えるため、マイクロプロセッサの動作にウェイト状態
を含めることも知られている。しかしながら、任意のマ
イクロプロセッサ命令に対応する第2図のタイミング図
の考慮からより明らかとなるように、ウェイト状態も又
効率を減少させる。マイク[Iプロセッサ命令の実行は
当該命令の演算コードにより決定される命令サイクル時
に実行される。各命令サイクルはマイクロプロセッサ装
置クロックのサイクルに対応する複数のマシン状態(T
、T2.T3・・・と番号)を含む。第2A図のタ
イミング図は命令サイクルの終了時のメモリ読取り操作
時のいくつかの信号のタイくングを図示している。り[
1ツク信号CLKは1命令サイクルのマシン状IT7.
T8.T、と次の命令1ナイクルのマシン状態゛「1以
後を定める。多重化アドレス/データ・バスの内容は2
本のυ1@線、すなわち正しいアドレスがバス上に含ま
れていることを指示するアドレス・ラッチ・イネーブル
ALE信岩と、データをメモリから読してバス上に置い
たことを信号する反転読取り信号RD/(信号指示の終
りのスラッシュは信号が低状態の時に対応する論理変数
が真であることを指示する〉と共に示され“Cいる。
第2A図に図示するように、メモリ中の位置に対応する
アドレスがマシン状3T7時にマイクロプロセッサによ
りバス上に配置される。AL[信号も又マシン状態17
時に開始され、ALE信号の負の転移時にメモリはさら
に処理するためのアドレスをラッチする。RD/信番号
の負の転移を開始づることによりマイクロブ[1セツサ
はデータをラッチしたアドレスから読取るべきであるこ
とを指示する。メモリ・アクセス時間に対応づる遅延1
9の後、メモリ位置からの検索内容は出力データとして
メモリによりバス上に置かれる。マイクロプロセッサは
RD/信号の正の転移時にバスからデータをラッチする
。このように、データはマイクロプロセッサにより期待
される時間にバス上に用意できなければならない。標準
的には、RD/信8の正の転移はCLK信号の正の転移
と一致する。
アドレスがマシン状3T7時にマイクロプロセッサによ
りバス上に配置される。AL[信号も又マシン状態17
時に開始され、ALE信号の負の転移時にメモリはさら
に処理するためのアドレスをラッチする。RD/信番号
の負の転移を開始づることによりマイクロブ[1セツサ
はデータをラッチしたアドレスから読取るべきであるこ
とを指示する。メモリ・アクセス時間に対応づる遅延1
9の後、メモリ位置からの検索内容は出力データとして
メモリによりバス上に置かれる。マイクロプロセッサは
RD/信号の正の転移時にバスからデータをラッチする
。このように、データはマイクロプロセッサにより期待
される時間にバス上に用意できなければならない。標準
的には、RD/信8の正の転移はCLK信号の正の転移
と一致する。
メモリから読取ったデータが読取信号を発行するマシン
状態時に利用可能でない時、ウェイト状態として知られ
る追加のマシン状態を第2B図に示すように読取り要求
の開始とマイクロプロセッサによるデータのラッチとの
間に挿入可能である。
状態時に利用可能でない時、ウェイト状態として知られ
る追加のマシン状態を第2B図に示すように読取り要求
の開始とマイクロプロセッサによるデータのラッチとの
間に挿入可能である。
1−1/2クロツク・サイクルより大きいメモリ・アク
セス時間21が図示されている。それ故、2つのウェイ
ト状態T、T9が挿入され、従つてマシン状BF1oの
CLK信号の正転移時にデータがマイク[+プロセッサ
によりラッチされる。
セス時間21が図示されている。それ故、2つのウェイ
ト状態T、T9が挿入され、従つてマシン状BF1oの
CLK信号の正転移時にデータがマイク[+プロセッサ
によりラッチされる。
ウェイト状態の間、マイクロプロセッサは他のタスクを
実行不能で、マイクロプロセッサがそのプログラムを実
行する速度は減少する。
実行不能で、マイクロプロセッサがそのプログラムを実
行する速度は減少する。
メモリ・アクセス時間19.21は第2A図及び第2B
図で読取り信号の開始に対応する?シン状1llT8の
開始から測定される。従来技術のメモリでは、ラップさ
れたアドレスが読取られるか又は書込まれるか知られ”
Glないため読取り信号の受信前にはメモリ・アクセス
は開始されない。この結果として、バス上のアドレスの
ラッチと読取り信号の発行までの間の時間20はメモリ
が何の動作もせず経過する。本発明によると、明確なメ
モリ応答時間を改善するためにこの時間をメモリにより
使用可能とすることが認められる。従って、本発明によ
ると、正当アドレスが7ドレス・バス上に配置されたこ
とを指示する信号がマイクロブ1]セツサにより送信さ
れると、このアドレスがメモリ内の記憶レジスタにラッ
チされる。このアドレスがメモリ内のメモリ位置に対応
する場合、データをメモリ・アドレスへ転送するか又は
メモリ◆アドレスから読取るかのどちらかの指示を受信
する前にへそのアドレスの内容が検索される。内容を一
旦検索すると、これはレジスタに記憶され−る。正当ア
ドレス信号の送信後のある時間に、マイク1]プロセツ
ザはメモリへ書込み指令又は読取り指令のどちらかを送
信する。読取り要求に応答して、アドレスに対応する記
憶レジスタの内容が直ちにレジスタからデータ・バスへ
転送される。
図で読取り信号の開始に対応する?シン状1llT8の
開始から測定される。従来技術のメモリでは、ラップさ
れたアドレスが読取られるか又は書込まれるか知られ”
Glないため読取り信号の受信前にはメモリ・アクセス
は開始されない。この結果として、バス上のアドレスの
ラッチと読取り信号の発行までの間の時間20はメモリ
が何の動作もせず経過する。本発明によると、明確なメ
モリ応答時間を改善するためにこの時間をメモリにより
使用可能とすることが認められる。従って、本発明によ
ると、正当アドレスが7ドレス・バス上に配置されたこ
とを指示する信号がマイクロブ1]セツサにより送信さ
れると、このアドレスがメモリ内の記憶レジスタにラッ
チされる。このアドレスがメモリ内のメモリ位置に対応
する場合、データをメモリ・アドレスへ転送するか又は
メモリ◆アドレスから読取るかのどちらかの指示を受信
する前にへそのアドレスの内容が検索される。内容を一
旦検索すると、これはレジスタに記憶され−る。正当ア
ドレス信号の送信後のある時間に、マイク1]プロセツ
ザはメモリへ書込み指令又は読取り指令のどちらかを送
信する。読取り要求に応答して、アドレスに対応する記
憶レジスタの内容が直ちにレジスタからデータ・バスへ
転送される。
書込み要求が受信された場合、レジスタ内容は無視され
る。このように、メモリ読取りサイクルのタイミングは
以上の方法のデータ・ブリフエッヂ機能により改善され
る。
る。このように、メモリ読取りサイクルのタイミングは
以上の方法のデータ・ブリフエッヂ機能により改善され
る。
メモリの多重ポート特性が各アクセス・マイクロプロセ
ッサにとって透明であるべきデュアル・ポート・メモリ
では(すなわちウェイト状態又はハンドシてインは導入
されない)、最も危急のメモリ・サイクルは読取リサイ
クルである。これは標準のマイク1コブOセツザが、読
取り要求を発行した後70ナノ秒以下でデータ・バスへ
データを出力する必要があるためである。2個のマイク
ロプロセツサからの同時要求により生じる競合の場合、
2つの要求は70ナノ秒要件内に満足されなければなら
ない。データ・ブリフェッヂ機能は、マイクロプロセッ
サにより実際の読取り又は書込み要求が発行される前で
、アドレスが正当となる、やいなやデータをレジスタヘ
ブリフエッヂし記憶させることによりこの問題を解決す
る。次いで読取り要求を発行した場合、データは単に記
憶レジスタからバス上へ駆動される。書込み要求が発行
された場合、プリフェッチされたデータは無視され通常
の書込みサイクルが実行される。データ・ブリフエツブ
機能は競合解消とメモリ・アクセスに別の半クロック・
ナイクルを可能とし、完全透明性を保持しつつより遅い
メモリ素子の使用を可能とする。
ッサにとって透明であるべきデュアル・ポート・メモリ
では(すなわちウェイト状態又はハンドシてインは導入
されない)、最も危急のメモリ・サイクルは読取リサイ
クルである。これは標準のマイク1コブOセツザが、読
取り要求を発行した後70ナノ秒以下でデータ・バスへ
データを出力する必要があるためである。2個のマイク
ロプロセツサからの同時要求により生じる競合の場合、
2つの要求は70ナノ秒要件内に満足されなければなら
ない。データ・ブリフェッヂ機能は、マイクロプロセッ
サにより実際の読取り又は書込み要求が発行される前で
、アドレスが正当となる、やいなやデータをレジスタヘ
ブリフエッヂし記憶させることによりこの問題を解決す
る。次いで読取り要求を発行した場合、データは単に記
憶レジスタからバス上へ駆動される。書込み要求が発行
された場合、プリフェッチされたデータは無視され通常
の書込みサイクルが実行される。データ・ブリフエツブ
機能は競合解消とメモリ・アクセスに別の半クロック・
ナイクルを可能とし、完全透明性を保持しつつより遅い
メモリ素子の使用を可能とする。
第3図を参照すると、共有RAM14が詳細に図示され
る。マイクロプロセッサ10は、制御バス21と多重化
アドレス/データ・バス22を含むバス15を介してポ
ートAへ結合される。制御バス21はポートAのバス中
インターフェース20に結合される。アドレス/データ
・バス22はバス・イン、ターフエース20とメモリ・
バッファ28に結合される。アドレス・バス27はバス
・インターフェース20をバッファ28に結合する。
る。マイクロプロセッサ10は、制御バス21と多重化
アドレス/データ・バス22を含むバス15を介してポ
ートAへ結合される。制御バス21はポートAのバス中
インターフェース20に結合される。アドレス/データ
・バス22はバス・イン、ターフエース20とメモリ・
バッファ28に結合される。アドレス・バス27はバス
・インターフェース20をバッファ28に結合する。
マイクロプロセツサ11は、制御バス24とアドレス/
データ・バス25を含むバス18を介して共有RAM1
4のポートBに結合される。制御バス24はポートBの
バス・インターフェース23に結合される。アドレス/
データ・バス25はバス・インターフェース23とメモ
リ◆バッファ31に結合される。バス・インターフェー
ス23はアドレス・バス30を介してバッフ?31へ結
合される。
データ・バス25を含むバス18を介して共有RAM1
4のポートBに結合される。制御バス24はポートBの
バス・インターフェース23に結合される。アドレス/
データ・バス25はバス・インターフェース23とメモ
リ◆バッファ31に結合される。バス・インターフェー
ス23はアドレス・バス30を介してバッフ?31へ結
合される。
バス・インターフェース20とバス・インターフェース
23は、制御バス32を通して通信される信号に上りメ
モリ・アレイ33とメモリ・バッファ28.31の操作
を制御する制御及びアービトレーション回路26へ各々
結合される。メモリ・アレイ33はメモリ・バッファ2
8.31へさらに結合される。メモリ・アレイ33は詔
構成のメモリで各々偶および奇メモリ・アドレスに対応
する低位バイトと高位バイトを有するよう構成されるこ
とが望ましい。従って、メモリ・アレイからの読取り又
はそこへの書込みは特定のアドレス−の低位バイト又は
高位バイトのどちらかである。
23は、制御バス32を通して通信される信号に上りメ
モリ・アレイ33とメモリ・バッファ28.31の操作
を制御する制御及びアービトレーション回路26へ各々
結合される。メモリ・アレイ33はメモリ・バッファ2
8.31へさらに結合される。メモリ・アレイ33は詔
構成のメモリで各々偶および奇メモリ・アドレスに対応
する低位バイトと高位バイトを有するよう構成されるこ
とが望ましい。従って、メモリ・アレイからの読取り又
はそこへの書込みは特定のアドレス−の低位バイト又は
高位バイトのどちらかである。
各バス・インターフェースと制御及びアービトレーショ
ン回路26との間に接続された制御線はREAD要求線
、WRITE LOW要求線、WRITE HIG
口要求線を含む。l’(E A DDOWN及びWRI
TE DONE線路はサービス後のメモリ・アクセス
要求をリセットするため1111!l及びアービトレー
ション回路26から各バス・インターフェースへ接続さ
れる。
ン回路26との間に接続された制御線はREAD要求線
、WRITE LOW要求線、WRITE HIG
口要求線を含む。l’(E A DDOWN及びWRI
TE DONE線路はサービス後のメモリ・アクセス
要求をリセットするため1111!l及びアービトレー
ション回路26から各バス・インターフェースへ接続さ
れる。
動作時に、マイクロプロセツサ10がメモリ・アレイ3
3中のある位置をアクヒスしようとする時、これは最初
に適当なアドレスをアドレス/データ・バス22上に置
く。制御バス21はアドレス正当制御線を含み、この線
路は正当アドレスがバス22上にあることを指示するレ
ベルへ切換えられる。正当アドレス信号に応答して、バ
ス・インターフェース20はバス22上のアドレスをラ
ッチし、・メモリ・アレイ33中でアクセス可能なアド
レスの範囲内にアドレスがあるかどうかを決定するため
アドレスを検査する。アドレスが範囲内の場合、バス・
インターフ1−ス20はREAD信号を制御及びアービ
トレーション回路26へ発行し、アドレス・バス27を
通してメモリ・バッファ28へバス・インターフェース
20により与えられるアドレスの内容の読取りを要求す
る。
3中のある位置をアクヒスしようとする時、これは最初
に適当なアドレスをアドレス/データ・バス22上に置
く。制御バス21はアドレス正当制御線を含み、この線
路は正当アドレスがバス22上にあることを指示するレ
ベルへ切換えられる。正当アドレス信号に応答して、バ
ス・インターフェース20はバス22上のアドレスをラ
ッチし、・メモリ・アレイ33中でアクセス可能なアド
レスの範囲内にアドレスがあるかどうかを決定するため
アドレスを検査する。アドレスが範囲内の場合、バス・
インターフ1−ス20はREAD信号を制御及びアービ
トレーション回路26へ発行し、アドレス・バス27を
通してメモリ・バッファ28へバス・インターフェース
20により与えられるアドレスの内容の読取りを要求す
る。
メモリが利用可能となると貞ちに、制御及びアービトレ
ーション回路26は制御バス32を通してallI t
IlW号を発行して、バッファ28を介してメモリ・ア
レイ33の読取りを付勢する。データはメモリ・アレイ
33からバッファ28へ読出され、マイクロプロセッサ
10によるメモリ・アクセスがREADであるか又はW
RITEであるかを指示するため別の制御信号をマイク
ロプロセッサ10から受取るまでそこに記憶される。マ
イクロプロセッサ10からRE八り信号を受信した場合
、バッファ28は制御及びアービトレーション回路26
を介して付勢されて、バラノア28に記憶した検索デー
タによりアドレス/データ・バス22を駆動する。マイ
クロプロセラ1す10からWRITE信号を受信した場
合、バス・インター、フェースは制御及びアービトレー
ション回路26へ別のメモリ・アクセス要求を開始して
、メモリ・アレイ33へ高位又は低位バイトを書込む。
ーション回路26は制御バス32を通してallI t
IlW号を発行して、バッファ28を介してメモリ・ア
レイ33の読取りを付勢する。データはメモリ・アレイ
33からバッファ28へ読出され、マイクロプロセッサ
10によるメモリ・アクセスがREADであるか又はW
RITEであるかを指示するため別の制御信号をマイク
ロプロセッサ10から受取るまでそこに記憶される。マ
イクロプロセッサ10からRE八り信号を受信した場合
、バッファ28は制御及びアービトレーション回路26
を介して付勢されて、バラノア28に記憶した検索デー
タによりアドレス/データ・バス22を駆動する。マイ
クロプロセラ1す10からWRITE信号を受信した場
合、バス・インター、フェースは制御及びアービトレー
ション回路26へ別のメモリ・アクセス要求を開始して
、メモリ・アレイ33へ高位又は低位バイトを書込む。
書込まれるデータはアドレス/データ・バス22からバ
ッファ28ヘラツチされ、次いで制御及びアービトレー
ション回路26によるアクセスの許可時にメモリ・アレ
イ33へ書込まれる。
ッファ28ヘラツチされ、次いで制御及びアービトレー
ション回路26によるアクセスの許可時にメモリ・アレ
イ33へ書込まれる。
第4図へ戻ると、共有メモリ14の詳細な実施例が説明
されている。図示の都合上、ポートAはインテル社%l
の800196マイクロコントローラのインターフェー
ス用構成を有し、ポートBはインテル8061マイクロ
」ントローラとインターフェースする構成を有している
のが図示されている。デュアル・ポート非同期メモリが
第4図には図示されているが、より少い又はより多いポ
ートを右づるメモリ又は同期アクセスのメモリも本発明
のデータ・フリフェッチ機能から同様に恩恵をうけるこ
とが理解できる。
されている。図示の都合上、ポートAはインテル社%l
の800196マイクロコントローラのインターフェー
ス用構成を有し、ポートBはインテル8061マイクロ
」ントローラとインターフェースする構成を有している
のが図示されている。デュアル・ポート非同期メモリが
第4図には図示されているが、より少い又はより多いポ
ートを右づるメモリ又は同期アクセスのメモリも本発明
のデータ・フリフェッチ機能から同様に恩恵をうけるこ
とが理解できる。
アドレス/データ・バス22はポートA用のバス・イン
ターフェース20中のアドレス・ラッチ40に結合され
る。800196マイクロコントローラのアーキテクチ
ャによると、バス22は16ビツト両方向多重化アドレ
ス/データ・バスである。バス22はバッファ28へさ
らに結合される。ポート八に含まれる制御バス21はラ
ッチ40のクロック入力に結合されるアドレス正当線4
1と、ラッチ40のクリヤ入力に結合された命令線42
、ANDゲート46の一方の入力に接続したWRITE
LOW線路43、A N Dゲート47の一方の入
力に接続したWRITE HIGH線路44、AND
ゲート101の一方の入力に接続したREEADE路1
0oを含む。ラップ40のラッチされたアドレス出力は
アドレス・バス27へ接続され、これはさらにデコード
回路45とアドレス・デコーダ及びドライバ90へ接続
される。
ターフェース20中のアドレス・ラッチ40に結合され
る。800196マイクロコントローラのアーキテクチ
ャによると、バス22は16ビツト両方向多重化アドレ
ス/データ・バスである。バス22はバッファ28へさ
らに結合される。ポート八に含まれる制御バス21はラ
ッチ40のクロック入力に結合されるアドレス正当線4
1と、ラッチ40のクリヤ入力に結合された命令線42
、ANDゲート46の一方の入力に接続したWRITE
LOW線路43、A N Dゲート47の一方の入
力に接続したWRITE HIGH線路44、AND
ゲート101の一方の入力に接続したREEADE路1
0oを含む。ラップ40のラッチされたアドレス出力は
アドレス・バス27へ接続され、これはさらにデコード
回路45とアドレス・デコーダ及びドライバ90へ接続
される。
デコード回路45は、アドレスの仏をチエツクし、RE
ADEッチ48のSETE力へ、ANDゲート46の他
方の入力へ、ANDゲート47の他方の入力へ、AND
ゲート101の他方の入力へRANGE信号を与える複
数個のコンパレータを含む。ANDゲート46の出力は
WRITEラッチ50のSETE力へ接続され、AND
ゲート47の出力はwRrrcラッチ51のSE丁六入
力接続される。ラッチ48.50.51のリセット入力
は、以下で説明するようにRESETE号を与える制御
及びアービトレーション回路26中の遅延回路75の出
力に接続される。ラッチ48゜50.51はD型フリッ
プフロップを含むことが望ましい。
ADEッチ48のSETE力へ、ANDゲート46の他
方の入力へ、ANDゲート47の他方の入力へ、AND
ゲート101の他方の入力へRANGE信号を与える複
数個のコンパレータを含む。ANDゲート46の出力は
WRITEラッチ50のSETE力へ接続され、AND
ゲート47の出力はwRrrcラッチ51のSE丁六入
力接続される。ラッチ48.50.51のリセット入力
は、以下で説明するようにRESETE号を与える制御
及びアービトレーション回路26中の遅延回路75の出
力に接続される。ラッチ48゜50.51はD型フリッ
プフロップを含むことが望ましい。
RE A Dラッチ48の出力はORゲート65の一方
の入力とANDゲート70の・一方の入力に接続される
。WRITEラッチ50の出ノ」はORゲート65の他
方の入力とANDゲート71の入力に接続される。WR
ITEラッチ51の出ツノはORゲート65の他方の人
力とANDゲート72の一方の入力に接続される。OR
ゲート65の出力は、ジグ、ネテイツク社製造の74F
786パス・アービタ集積回路を含むアービトレーショ
ン回路67の一方の入力に接続される。アービトレーシ
ョン回路67は、ポートAがメモリへのアクセスを許可
されたかどうかを指示するΔWON信弓を与える。AW
ON出力はANDゲート70.71.72の残りの入力
とORゲート83の一方の入力に接続される。ANDゲ
ート?0.71.72の出力はloIIJilll部7
3の各入力とORゲート74の各入力へ各々接続される
。ORゲート74の出力は遅延回路75の入力に結合さ
れる。
の入力とANDゲート70の・一方の入力に接続される
。WRITEラッチ50の出ノ」はORゲート65の他
方の入力とANDゲート71の入力に接続される。WR
ITEラッチ51の出ツノはORゲート65の他方の人
力とANDゲート72の一方の入力に接続される。OR
ゲート65の出力は、ジグ、ネテイツク社製造の74F
786パス・アービタ集積回路を含むアービトレーショ
ン回路67の一方の入力に接続される。アービトレーシ
ョン回路67は、ポートAがメモリへのアクセスを許可
されたかどうかを指示するΔWON信弓を与える。AW
ON出力はANDゲート70.71.72の残りの入力
とORゲート83の一方の入力に接続される。ANDゲ
ート?0.71.72の出力はloIIJilll部7
3の各入力とORゲート74の各入力へ各々接続される
。ORゲート74の出力は遅延回路75の入力に結合さ
れる。
ANDゲート101の出力はメモリ・バッファ28に接
続される。
続される。
ANDゲート70の出力はORゲート84の一方の入力
へさらに接続される。ANDゲート71の出力はORゲ
ート85の一方の入力へさらに接続される。ANDゲー
ト72の出力はORゲート86の一方の入力へさらに接
iされる。
へさらに接続される。ANDゲート71の出力はORゲ
ート85の一方の入力へさらに接続される。ANDゲー
ト72の出力はORゲート86の一方の入力へさらに接
iされる。
1 / OtIll 111部73の出カバホードA
111制御ハス32Aに接続され、これはさらに両方共
バッファ28に含まれる低位バイト・バッフ?94と高
位バイト・バッファ95に接続される。
111制御ハス32Aに接続され、これはさらに両方共
バッファ28に含まれる低位バイト・バッフ?94と高
位バイト・バッファ95に接続される。
8061マイクロコントローラをホストとするよう構成
されたポートBへの接続を見ると、アト2レス/f−タ
・バス25は8ビツト両方向多重化アドレス/データ・
バス(一般にMBLJSと呼ばれる〉で、アドレス・ラ
ッチ52の入力とメモリ・バッファ31に接続される。
されたポートBへの接続を見ると、アト2レス/f−タ
・バス25は8ビツト両方向多重化アドレス/データ・
バス(一般にMBLJSと呼ばれる〉で、アドレス・ラ
ッチ52の入力とメモリ・バッファ31に接続される。
、制御バス24はシフトレジスタ55のクロック入力に
接続したストロ−1線53、シフトレジスタ55のクリ
ヤ入力とアドレス・ラッチ52のクリヤ入力に接続した
命令線54、ANDゲート103の一方の入力と1対の
ラッチ60.61のD入力へ接続されたデータ入力線1
02を含む。
接続したストロ−1線53、シフトレジスタ55のクリ
ヤ入力とアドレス・ラッチ52のクリヤ入力に接続した
命令線54、ANDゲート103の一方の入力と1対の
ラッチ60.61のD入力へ接続されたデータ入力線1
02を含む。
シフトレジスタ55は、シフトレジスタ55がストロー
ブ線53により調時された時にその出力ST1.ST2
.ST3.ST4が類番に高状態となるように構成され
ている。シフトレジスタ55が命令線54上の信号によ
りリセットされた時に全ての出力はLOW値に復元され
る。線路ST1はラッチ52のLOWアドレス・バイト
・クロック入力へ接続される。シフトレジスタ55のS
T2出力はラッチ52の口IGHアドレス・バイト・り
Oツク入力に接続される。ST3出力はANDゲート5
7の一方の入力に接続され、出力ST4はANDゲート
58の一方の入力に接続される。
ブ線53により調時された時にその出力ST1.ST2
.ST3.ST4が類番に高状態となるように構成され
ている。シフトレジスタ55が命令線54上の信号によ
りリセットされた時に全ての出力はLOW値に復元され
る。線路ST1はラッチ52のLOWアドレス・バイト
・クロック入力へ接続される。シフトレジスタ55のS
T2出力はラッチ52の口IGHアドレス・バイト・り
Oツク入力に接続される。ST3出力はANDゲート5
7の一方の入力に接続され、出力ST4はANDゲート
58の一方の入力に接続される。
アドレス・ラッチ52のラッチされたアドレスの出)j
は、デコード回路56とアドレス・デコーダ及びドライ
バ90とに接続された16ビツト・アドレス・バス30
に与えられる。アドレス・バス30の最小位ビットtよ
バイト選択回路e3にさらに接続される。
は、デコード回路56とアドレス・デコーダ及びドライ
バ90とに接続された16ビツト・アドレス・バス30
に与えられる。アドレス・バス30の最小位ビットtよ
バイト選択回路e3にさらに接続される。
デコード回路56は、アドレス・バス30上のアドレス
をデコードし、アドレスがポートBによりアクセス可能
な範聞内にあるかどうが決定する2個の8ビツト・コン
パレータを含むことが望ましい。RANGE出力信号は
デコード回路56がらREADラッチ62のSE「入力
、ANDゲート57の他方の入力、へNOゲート58の
他方の入力、ANDゲート103の他方の入力へ与えら
れる。ANDゲート57の出力はWRITEラッチ60
のクロック入力に接続される。ANDゲート58の出力
はWRITEラッチ61のクロック入力に接続される。
をデコードし、アドレスがポートBによりアクセス可能
な範聞内にあるかどうが決定する2個の8ビツト・コン
パレータを含むことが望ましい。RANGE出力信号は
デコード回路56がらREADラッチ62のSE「入力
、ANDゲート57の他方の入力、へNOゲート58の
他方の入力、ANDゲート103の他方の入力へ与えら
れる。ANDゲート57の出力はWRITEラッチ60
のクロック入力に接続される。ANDゲート58の出力
はWRITEラッチ61のクロック入力に接続される。
ラッチ60.61.62のリセット入力は各々RESE
TI号を与える遅延回路82の出力に接続される。ラッ
チ60.81゜62はD型フリップ70ツブを含むこと
が望ましい。
TI号を与える遅延回路82の出力に接続される。ラッ
チ60.81゜62はD型フリップ70ツブを含むこと
が望ましい。
WRITEラッチ60の出力は第1真込操作のタイミン
グを指示するバイト選択回路63へのWRI信0を与え
る。WRITEラッチ62の出力は第2書込操作のタイ
ミングを与えるバイト選択回路63へのWR2信弓信号
える。
グを指示するバイト選択回路63へのWRI信0を与え
る。WRITEラッチ62の出力は第2書込操作のタイ
ミングを与えるバイト選択回路63へのWR2信弓信号
える。
READラッチ62の出力はANDゲート76の−・方
の入力とORゲート66の一力の入力に接続される。バ
イト選択回路63からの低位バイト出力はANDゲート
77の一方の入力とORゲート66の他方の入力へ接続
される。バイト選択回路63の高位バイト出力はAND
ゲート78の一方の入力とLORゲート66の他方の入
力に接続される。ORゲート66の出力はアービトレー
ション回路67のポートB要求入力に接続される。
の入力とORゲート66の一力の入力に接続される。バ
イト選択回路63からの低位バイト出力はANDゲート
77の一方の入力とORゲート66の他方の入力へ接続
される。バイト選択回路63の高位バイト出力はAND
ゲート78の一方の入力とLORゲート66の他方の入
力に接続される。ORゲート66の出力はアービトレー
ション回路67のポートB要求入力に接続される。
B W ON 14号はアービトレーション回路67か
らORゲート83の入力とANDゲート76.77゜7
8の残りの入ツノへ与えられる。
らORゲート83の入力とANDゲート76.77゜7
8の残りの入ツノへ与えられる。
ANDゲート76の出力はORゲート81の一方の入力
、ORゲート84の入力、I / Ot、l制御部80
の入力に接続される。ANDゲート77の出力はORゲ
ート81の他方の入力、ORゲート85の他方の入力、
I / Of、II 8部80の他方の入力に接続され
る。ANDゲート78の出力はORゲート81の他方の
入力、ORゲート86の他方の入力、I / Oiil
tl1部80の他方の入力に接続される。ORゲート
81の出力は遅延回路82に接続される。
、ORゲート84の入力、I / Ot、l制御部80
の入力に接続される。ANDゲート77の出力はORゲ
ート81の他方の入力、ORゲート85の他方の入力、
I / Of、II 8部80の他方の入力に接続され
る。ANDゲート78の出力はORゲート81の他方の
入力、ORゲート86の他方の入力、I / Oiil
tl1部80の他方の入力に接続される。ORゲート
81の出力は遅延回路82に接続される。
I10!11111部80の出力は、メモリ・バッファ
31に含まれる低位バイト・バッファ96と高位バイト
・バッファ97に接続されるポート[3III Ill
バス32Bに接続される。
31に含まれる低位バイト・バッファ96と高位バイト
・バッファ97に接続されるポート[3III Ill
バス32Bに接続される。
ORゲート83.84.85.86の出力は、メモリ・
アレイ33にも接続されている1iIll tallバ
ス32C上に出力を与えるメモリ制御部87に接続され
る。メモリ・アレイ33は低位バイト部92と高位バイ
ト部93とを含む。アドレス・デコーダ及びドライバ9
0はメモリ・アレイ33を駆動するメモリ1llrnバ
ス91に接続される。この型式のメモリ構成とメモリ制
御部は当該技術で公知である。
アレイ33にも接続されている1iIll tallバ
ス32C上に出力を与えるメモリ制御部87に接続され
る。メモリ・アレイ33は低位バイト部92と高位バイ
ト部93とを含む。アドレス・デコーダ及びドライバ9
0はメモリ・アレイ33を駆動するメモリ1llrnバ
ス91に接続される。この型式のメモリ構成とメモリ制
御部は当該技術で公知である。
メモリ・アレイ33の低位バイト部分92はバス341
−を通してポートへ低位バイト・バッフ?94に接続さ
れる。高位バイト部93はバス34Nを通してポートへ
高位バイト・バッファ95に接続される。低位バイト部
92はバス35Lを通してポートB低位バイト・バッフ
ァ96に接続される。メモリ・アレイ33の高位バイト
部93はバス35)−1を通してポートB高位バイト・
バッファ96に接続される。
−を通してポートへ低位バイト・バッフ?94に接続さ
れる。高位バイト部93はバス34Nを通してポートへ
高位バイト・バッファ95に接続される。低位バイト部
92はバス35Lを通してポートB低位バイト・バッフ
ァ96に接続される。メモリ・アレイ33の高位バイト
部93はバス35)−1を通してポートB高位バイト・
バッファ96に接続される。
第4図に示す共布メモリの動作を以Fに説明する。
ポートAによるメモリ・アクセスを最初に考える。命令
サイクルの開始時に、新たな命令サイクルを指示する命
令線42上の信号がアドレス・ラッチ40をクリヤする
。以後の命令サイクルの間、ポートAについたマイクロ
プロセッサが、所要のメモリ・アドレスをバス22上へ
与えることによりメモリをアクセスしようとする。次い
でマイクo7ot=ツサG、tAL)DRESS V
ALID線路41上のADDRESS VALID信
号を開始し、これはアドレス・ラッチ40を調時し、従
ってバス22上のアドレスはアドレス・ラッチ40にラ
ッチされる。
サイクルの開始時に、新たな命令サイクルを指示する命
令線42上の信号がアドレス・ラッチ40をクリヤする
。以後の命令サイクルの間、ポートAについたマイクロ
プロセッサが、所要のメモリ・アドレスをバス22上へ
与えることによりメモリをアクセスしようとする。次い
でマイクo7ot=ツサG、tAL)DRESS V
ALID線路41上のADDRESS VALID信
号を開始し、これはアドレス・ラッチ40を調時し、従
ってバス22上のアドレスはアドレス・ラッチ40にラ
ッチされる。
ラッチ40はデコード回路45により受信されるラップ
されたアドレスによりバス27を駆vJする。デコード
回路45はメモリ・アレイ33中のアクセス可能な佐賀
に対応するアドレスの所定の範囲とバス27上のアドレ
スとを比較する。アドレスが範囲角の場合、RANGE
信号がRE八八ツラッチ48高状態にセットし、ANL
)ゲート46.47を付勢し、このゲートは書込線43
,44の伝送ゲートとして作用のする。READラッヂ
ラッがセットされると、その出ツノによりORゲート6
5の出力はアービトレーション回路67の動作を開始さ
せる。前からのアクセス要求が待機していない場合には
直ちに、アービトレーション回路67はAWON伯号を
高状態とすることによりポート八へのメモリ・アクセス
を許可する。
されたアドレスによりバス27を駆vJする。デコード
回路45はメモリ・アレイ33中のアクセス可能な佐賀
に対応するアドレスの所定の範囲とバス27上のアドレ
スとを比較する。アドレスが範囲角の場合、RANGE
信号がRE八八ツラッチ48高状態にセットし、ANL
)ゲート46.47を付勢し、このゲートは書込線43
,44の伝送ゲートとして作用のする。READラッヂ
ラッがセットされると、その出ツノによりORゲート6
5の出力はアービトレーション回路67の動作を開始さ
せる。前からのアクセス要求が待機していない場合には
直ちに、アービトレーション回路67はAWON伯号を
高状態とすることによりポート八へのメモリ・アクセス
を許可する。
へWON信号はチップ付勢ORゲート33を通してメモ
リItTlIIt1部87を付勢する。
リItTlIIt1部87を付勢する。
READEッチ48からの高出力とANDゲート70を
通してのg A W ON 信号入力により、ANDゲ
ート70の出力は高状態となり、I10制御部73を付
勢する。制御バス32A上のυl111信弓はメモリ・
バッファ28を構成してメモリ・アレイ33からのデー
タを受信する。所要の読取り操作に対応するメモリ・ア
ドレスはバス27からのアドレス・デコーダ及びドライ
バ90に含まれる。メモリ制御部87は読取り操作を1
111始するためa+制御バス32Gを通してi制制御
信金送信する。
通してのg A W ON 信号入力により、ANDゲ
ート70の出力は高状態となり、I10制御部73を付
勢する。制御バス32A上のυl111信弓はメモリ・
バッファ28を構成してメモリ・アレイ33からのデー
タを受信する。所要の読取り操作に対応するメモリ・ア
ドレスはバス27からのアドレス・デコーダ及びドライ
バ90に含まれる。メモリ制御部87は読取り操作を1
111始するためa+制御バス32Gを通してi制制御
信金送信する。
従って、マイクロプロセッサから受信したADDR5S
S VALID信月に応答して、ラッチされたアドレ
スのメモリ・アレイ33の内容はメモリ・バッファ28
に転送される。
S VALID信月に応答して、ラッチされたアドレ
スのメモリ・アレイ33の内容はメモリ・バッファ28
に転送される。
次いでメモリ読取り操作を必襞としていることをマイク
ロプロセッサが指示する場合、読取線100上で受信し
たREADE号が高状態となる。
ロプロセッサが指示する場合、読取線100上で受信し
たREADE号が高状態となる。
RANGE信号が高状態のため、ANDゲート101の
出力も高状態となる。高レベル信号がANDゲート10
1からメモリ・バッファ28へ転送される。高信号がメ
モリ・バッファ28に前に受信したメモリ内容をアドレ
ス/データ・バス22上へ駆動させる。
出力も高状態となる。高レベル信号がANDゲート10
1からメモリ・バッファ28へ転送される。高信号がメ
モリ・バッファ28に前に受信したメモリ内容をアドレ
ス/データ・バス22上へ駆動させる。
この間、ポートAがアレイトレーシコン回路67により
メモリ・アレイ33へのアクセスを許可されていて、A
NDゲート70の出力が高状態となると、ORゲート7
4の出力も高状態となり、遅延回路75の動作を開始す
る。メモリ・アレイ33をアクセスし、メモリ内容をバ
ッファ28へ記憶させるのに要する既知の時間に対応つ
る所定の遅延時間の後、遅延回路75はラッチ48.5
0.51をリセットするRESET信号を発生し、OR
ゲート65の出力からのメモリ・アクセス要求信号を取
除く。
メモリ・アレイ33へのアクセスを許可されていて、A
NDゲート70の出力が高状態となると、ORゲート7
4の出力も高状態となり、遅延回路75の動作を開始す
る。メモリ・アレイ33をアクセスし、メモリ内容をバ
ッファ28へ記憶させるのに要する既知の時間に対応つ
る所定の遅延時間の後、遅延回路75はラッチ48.5
0.51をリセットするRESET信号を発生し、OR
ゲート65の出力からのメモリ・アクセス要求信号を取
除く。
マイク−プロセッサが読取り操作ではなくメモリ・アレ
イ33への書込み操作を実行する場合、既にラッチされ
たメモリ・アドレスへ書込まれるべきデータはマイクロ
プロセッサによりバス22上へ出される。RANGE信
号はデコード回路45からの高レベルを続行し、伝送A
NDゲート46.47は付勢され続ける。書込低位線4
3又は裏込高位線44上のWRITE信号は従って各書
込みラッチ(50又は51)へ伝送される。書込みラッ
プ(50又は51)の出力は次いでORゲート65を通
してアービトレーション回路67へのメモリ・アクセス
を開始する。A W ON fi号によりメeす・アク
セスが許を寸されると、メモリ1Iliao部87はチ
ップ選択ORゲート83を通してメモリ付勢信号を受信
する。ANDゲート(71又は72)は次いで再入力が
高レベルとなり、従ってその出力の一方も高状態となる
。、、ANDゲート(7,1又は72)からの高出力は
ORゲート(85又は86〉を通してメモリ制御部87
へ書込低位又は書込高位信号を開始する。又ANDゲー
ト(71又は72)からの高出力により、l10i!1
1制御El 73はメモリ◆バッファ28にメモリ・ア
レイ33へ書込むためのバス22のT−夕内容をラッチ
させる。ANDゲート(71又は72)の高出力は又O
Rゲート74を通して遅延回路75の遅延タイミングも
開始する。メモリ制御部87は、低位バイト・バッファ
94又は高位バイト・バッファ95のどちらかから適当
なバス(34L又は340〉を通してメモリ・バッファ
28のラッチされた内容をアドレス・デコーダ及びドラ
イバ90に指定されたアドレスへ転送させる。
イ33への書込み操作を実行する場合、既にラッチされ
たメモリ・アドレスへ書込まれるべきデータはマイクロ
プロセッサによりバス22上へ出される。RANGE信
号はデコード回路45からの高レベルを続行し、伝送A
NDゲート46.47は付勢され続ける。書込低位線4
3又は裏込高位線44上のWRITE信号は従って各書
込みラッチ(50又は51)へ伝送される。書込みラッ
プ(50又は51)の出力は次いでORゲート65を通
してアービトレーション回路67へのメモリ・アクセス
を開始する。A W ON fi号によりメeす・アク
セスが許を寸されると、メモリ1Iliao部87はチ
ップ選択ORゲート83を通してメモリ付勢信号を受信
する。ANDゲート(71又は72)は次いで再入力が
高レベルとなり、従ってその出力の一方も高状態となる
。、、ANDゲート(7,1又は72)からの高出力は
ORゲート(85又は86〉を通してメモリ制御部87
へ書込低位又は書込高位信号を開始する。又ANDゲー
ト(71又は72)からの高出力により、l10i!1
1制御El 73はメモリ◆バッファ28にメモリ・ア
レイ33へ書込むためのバス22のT−夕内容をラッチ
させる。ANDゲート(71又は72)の高出力は又O
Rゲート74を通して遅延回路75の遅延タイミングも
開始する。メモリ制御部87は、低位バイト・バッファ
94又は高位バイト・バッファ95のどちらかから適当
なバス(34L又は340〉を通してメモリ・バッファ
28のラッチされた内容をアドレス・デコーダ及びドラ
イバ90に指定されたアドレスへ転送させる。
遅延回路75により与えられる遅延の後、書込みラッチ
50又はぷ込みラッチ51はRESET信号によりリセ
ットされ、書込みラッチの出力は低レベルへ世帰し、ア
ービトレーシジン回路67からのメモリ・アクセス要求
を取除く。
50又はぷ込みラッチ51はRESET信号によりリセ
ットされ、書込みラッチの出力は低レベルへ世帰し、ア
ービトレーシジン回路67からのメモリ・アクセス要求
を取除く。
読取り又は書込みアクセスのどちらかが完了し、アレイ
トレーシコン回路許可信号AWONが低レベルに機動し
た後、ORゲート83の出力はメモリ1jlItE部8
7を消勢し、ANDゲート70.71゜72の出力はI
10制御部73を消勢する。マイクロブロセッナ読取り
操作の後、読取I2100上のREAD信号は低レベル
へ復帰し、ANDゲート101の出力を消勢し、メモリ
・バッファ38がデータをバス22士へ駆動することを
貼止する。
トレーシコン回路許可信号AWONが低レベルに機動し
た後、ORゲート83の出力はメモリ1jlItE部8
7を消勢し、ANDゲート70.71゜72の出力はI
10制御部73を消勢する。マイクロブロセッナ読取り
操作の後、読取I2100上のREAD信号は低レベル
へ復帰し、ANDゲート101の出力を消勢し、メモリ
・バッファ38がデータをバス22士へ駆動することを
貼止する。
次の命令がII′G始し、アドレス・ラッチ40をクリ
ヤさせ、デコード回路45からのRANGE信号を低状
態とする。次いでポートAは他のメモリ・アクセス要求
を受取る用意が出来る。
ヤさせ、デコード回路45からのRANGE信号を低状
態とする。次いでポートAは他のメモリ・アクセス要求
を受取る用意が出来る。
ポートBは8061マイクnコントローラをホストとす
るよう構成されているためマイクロプロセッサへのイン
ターフエースが異なる点を除いて、ポート13の動作U
ポートAの動作と実質的に同一である。この場合、バス
25は8ビット多重化アドレス/データ・バスであるた
め、メ〔す・アレイ33中の各16ビツト・アドレスの
半分が連続してラッチされる。制御バス24は、アドレ
ス及びデータ示バス25上で正しい時間を定めるストロ
ーブ・パルスを運ぶスト1コープ線53を含む。
るよう構成されているためマイクロプロセッサへのイン
ターフエースが異なる点を除いて、ポート13の動作U
ポートAの動作と実質的に同一である。この場合、バス
25は8ビット多重化アドレス/データ・バスであるた
め、メ〔す・アレイ33中の各16ビツト・アドレスの
半分が連続してラッチされる。制御バス24は、アドレ
ス及びデータ示バス25上で正しい時間を定めるストロ
ーブ・パルスを運ぶスト1コープ線53を含む。
ストローブ・パルスは、り[1ツク入力をストローブI
253に接続した直列人力並列出力のシフトレジスタに
よりデコードされる。シフトレジスタ55のデータ入力
は高レベル電圧(図示せず)に接続される。シフトレジ
スタ55は最初は命令線54上のlN5TRUCTIO
N信号によりリセットされる。以後、ストローブl11
53上の各パルスにより出力ST1.ST2.ST3.
ST4は連続的に高レベルを受ける。S T 1はアド
レス・ラッチ52にバス25を通して送られるアドレス
の低位バイト部分をラッチさせる。S T 2はアドレ
スの高位バイト部分をラッチさせるためラッチ52を調
時する。ラッチされた16ビツト・アドレスはアドレス
・バス30上に与えられてデコーダ回路56によりデコ
ードされる。アドレスは所定の箱間のアドレスと比較さ
れ、ラッチ62を読取るためRA N G E信号が与
えられる。範囲内アドレスは、ポート八に関連して上述
したものと同様にアドレス・バス30上のアドレスによ
り指される高位又は低位バイトの読取りを起させる。
253に接続した直列人力並列出力のシフトレジスタに
よりデコードされる。シフトレジスタ55のデータ入力
は高レベル電圧(図示せず)に接続される。シフトレジ
スタ55は最初は命令線54上のlN5TRUCTIO
N信号によりリセットされる。以後、ストローブl11
53上の各パルスにより出力ST1.ST2.ST3.
ST4は連続的に高レベルを受ける。S T 1はアド
レス・ラッチ52にバス25を通して送られるアドレス
の低位バイト部分をラッチさせる。S T 2はアドレ
スの高位バイト部分をラッチさせるためラッチ52を調
時する。ラッチされた16ビツト・アドレスはアドレス
・バス30上に与えられてデコーダ回路56によりデコ
ードされる。アドレスは所定の箱間のアドレスと比較さ
れ、ラッチ62を読取るためRA N G E信号が与
えられる。範囲内アドレスは、ポート八に関連して上述
したものと同様にアドレス・バス30上のアドレスによ
り指される高位又は低位バイトの読取りを起させる。
ポートBを通して指定されたアドレスのメモリ内容は検
索されメモリ・バッファ31の対応部分に記憶される。
索されメモリ・バッファ31の対応部分に記憶される。
ポートBに接続したマイクロプロセッサが読取り操作を
行なう場合、DI倍信号データ入力8101上に伝送さ
れ、ANDゲート103の出力を高状態とし、これはメ
モリ・バッファ31の内容をアドレス/データ・バス2
5上へ駆動させる。
行なう場合、DI倍信号データ入力8101上に伝送さ
れ、ANDゲート103の出力を高状態とし、これはメ
モリ・バッファ31の内容をアドレス/データ・バス2
5上へ駆動させる。
ポートBに接続したマイクロプロセッサが只有メモリへ
の書込みを実行している時、メモリへ書込まれるべき第
1バイトはバス25上におかれる。
の書込みを実行している時、メモリへ書込まれるべき第
1バイトはバス25上におかれる。
マイクロプロセッサは、シフトレジスタ55からST3
出力として現われる線路53上のスト[1−プ・パルス
を1311始する。ST3信弓に応答して、ANDゲー
ト57の出力は告込みラッチ60を調時する。線路10
2上の信号DIが書込み操作を指示している場合、書込
みラッチ60からの出力信号がバイト選択回路63へ与
えられて、データの第1パイ、トをメモリ・アレイ33
へ書込むべきであることを指示する。
出力として現われる線路53上のスト[1−プ・パルス
を1311始する。ST3信弓に応答して、ANDゲー
ト57の出力は告込みラッチ60を調時する。線路10
2上の信号DIが書込み操作を指示している場合、書込
みラッチ60からの出力信号がバイト選択回路63へ与
えられて、データの第1パイ、トをメモリ・アレイ33
へ書込むべきであることを指示する。
8061マイクnプ「1セツサのプロトコルによると、
書込まれるべき第1バイトは16ビツト・アドレスの最
小位ビットの値により高位バイト又は低位バイトのどち
らかである。従って、最小位ビット(LSB)がバイト
選択回路63に与えられる。バイト選択回路63からの
低位バイト出力又は高位バイト出力のどちらかがLS[
3の値により高状態となる。バイト選択回路63により
発生される高位信号はANDゲート77又はANDゲー
ト78のどちらかとORゲート66の入力とに接続され
る。書込みリイクルの以後の動作はポート八に対して記
述した書込みサイクルと実質的に同一である。
書込まれるべき第1バイトは16ビツト・アドレスの最
小位ビットの値により高位バイト又は低位バイトのどち
らかである。従って、最小位ビット(LSB)がバイト
選択回路63に与えられる。バイト選択回路63からの
低位バイト出力又は高位バイト出力のどちらかがLS[
3の値により高状態となる。バイト選択回路63により
発生される高位信号はANDゲート77又はANDゲー
ト78のどちらかとORゲート66の入力とに接続され
る。書込みリイクルの以後の動作はポート八に対して記
述した書込みサイクルと実質的に同一である。
最初のアドレスに隣接する残りの低位又は高位バイトも
書込む場合は、マイクロプロセッサはバス25上に適当
なデータを与えてストローブ線53上の他のストローブ
・パルスを開始する。シフトレジスタ55のST4出力
はANDゲート58を介して伝送され、書込みラッチ6
1を調時する。
書込む場合は、マイクロプロセッサはバス25上に適当
なデータを与えてストローブ線53上の他のストローブ
・パルスを開始する。シフトレジスタ55のST4出力
はANDゲート58を介して伝送され、書込みラッチ6
1を調時する。
信号DIが依然として高状態であると仮定すると、書込
みラッチ61からの出力信号はバイト選択回路63へ送
られて、メモリ・アレイ33へ第2バイトを書込むべき
であることを指示する。バイト選択回路63はアドレス
のLSBをトグルすることにより同じ語配列の境界内で
正しい低位又は高位バイトを選択し、第1の書込み操作
と同様に書込み操作が続行する。
みラッチ61からの出力信号はバイト選択回路63へ送
られて、メモリ・アレイ33へ第2バイトを書込むべき
であることを指示する。バイト選択回路63はアドレス
のLSBをトグルすることにより同じ語配列の境界内で
正しい低位又は高位バイトを選択し、第1の書込み操作
と同様に書込み操作が続行する。
ポート八とポートBからのメモリ・アクセス要求が競合
する場合、共有メモリによりホストされるマイクロブ1
コセツナの最短の読取り応答仕様に対応する時間内で両
方の読取り聾求を満足させなければならないため、最ら
危いメモリ・サイクルは読取りナイクルである。上述し
たデータ・プリフェッチ機能は、全てのメEす・アクセ
ス要求を最短の可能時1i’llで満足させることを可
能とづることにより、メモリのデュアル・ポート特性の
完全な透明性を保持づる。メモリのコストを実質的に増
大させることなく増加したメモリ・アクセス速度が達成
される。ウェイト状態とハンドシェイク技術はホストの
マイクロプロセッサで避けられ、高瓜な動作効率が保持
される。
する場合、共有メモリによりホストされるマイクロブ1
コセツナの最短の読取り応答仕様に対応する時間内で両
方の読取り聾求を満足させなければならないため、最ら
危いメモリ・サイクルは読取りナイクルである。上述し
たデータ・プリフェッチ機能は、全てのメEす・アクセ
ス要求を最短の可能時1i’llで満足させることを可
能とづることにより、メモリのデュアル・ポート特性の
完全な透明性を保持づる。メモリのコストを実質的に増
大させることなく増加したメモリ・アクセス速度が達成
される。ウェイト状態とハンドシェイク技術はホストの
マイクロプロセッサで避けられ、高瓜な動作効率が保持
される。
本発明の望ましい実施例を本明細害で図示し記述してき
たが、前記実施例は単に1例として与えられたものであ
ることを理解すべきr−ある。本発明の要旨から逸脱す
ることなく多くの修正、変更、置換えが当業者には考え
つる。従って、添附の特4゜ 許請求の範囲が本発明の要旨と!!囲内に該当する全て
のこのような変更をカバーする意判である。
たが、前記実施例は単に1例として与えられたものであ
ることを理解すべきr−ある。本発明の要旨から逸脱す
ることなく多くの修正、変更、置換えが当業者には考え
つる。従って、添附の特4゜ 許請求の範囲が本発明の要旨と!!囲内に該当する全て
のこのような変更をカバーする意判である。
本発明の新規な特徴は特に添附請求の範囲に記述されて
いる。しかしながら、発明の構成と操作方法の内方に関
しては、その別の目的と利点に加えて、発明自体は添附
図面と関連して行なわれる以下の説明を参照することに
より最もよ<U解できる。 第1図は標厚的なマルチプロセシング装置を示すブロッ
ク線図である。 第2A図及び第2B図は標卑的なマイクロプロセッサに
よるメモリ・アクヒスを示づタイミング図である。 第3図は本発明によるデュアル・ポート透明アクセス共
有メモリを示すブロック線図である。 第4図は本発明によるデュアル・ポート・メモリを詳細
に示す概略ブロック線図である。 10.11・・・マイクロプロセッサ、20.23・・
・ポート、26制御及びアービトレーション回路、28
゜ 31・・・メモリ・バッファ、 33・・・メモリ・ アレイ。
いる。しかしながら、発明の構成と操作方法の内方に関
しては、その別の目的と利点に加えて、発明自体は添附
図面と関連して行なわれる以下の説明を参照することに
より最もよ<U解できる。 第1図は標厚的なマルチプロセシング装置を示すブロッ
ク線図である。 第2A図及び第2B図は標卑的なマイクロプロセッサに
よるメモリ・アクヒスを示づタイミング図である。 第3図は本発明によるデュアル・ポート透明アクセス共
有メモリを示すブロック線図である。 第4図は本発明によるデュアル・ポート・メモリを詳細
に示す概略ブロック線図である。 10.11・・・マイクロプロセッサ、20.23・・
・ポート、26制御及びアービトレーション回路、28
゜ 31・・・メモリ・バッファ、 33・・・メモリ・ アレイ。
Claims (1)
- 【特許請求の範囲】 (1)多重化情報路を通して読取り/書込みメモリと電
子プロセッサとの間でデータを通信する方法において、 前記プロセッサから前記メモリへ前記情報路上に正しい
アドレスを送信する段階と、 前記情報路上に送られた情報は正しいアドレスであるこ
とを指示する信号を前記プロセッサから前記メモリへ送
信する段階と、 前記メモリに前記正しいアドレスをラッチする段階と、 前記信号に応答し、かつデータを前記メモリから転送す
るのか又は前記メモリへ転送するのかの指示なしに前記
正しいアドレスの内容を検索する段階と、 前記内容をレジスタに記憶する段階と、 前記プロセッサから前記メモリへ書込み要求又は読取り
要求のどちらかを送信する段階と、読取り要求に応答し
て前記レジスタから前記情報路へ前記内容を転送する段
階と、 を含む多重化情報路を通して読取り/書込みメモリと電
子プロセッサとの間でデータを通信する方法。 (2)請求の範囲第1項記載の方法において、前記正し
いアドレスが前記メモリ内のアドレスに対応するかどう
か決定する段階と、 前記正しいアドレスが前記メモリ内のアドレスに対応し
ない場合には以後のアドレスが送信されるまで前記メモ
リ内の処理を中止する段階と、をさらに含む方法。 (3)多重化アドレス/データ・バスを有する読取り/
書込みメモリを操作する方法において、前記メモリは所
定の範囲のアドレスに対応する複数個のメモリ素子を含
み、 前記バス上に送信されるディジタル値を前記所定の範囲
と回帰的に比較する段階と、 前記所定範囲内である前記バス値に応答して、前記バス
値に対応するメモリ素子アドレスの内容をメモリ出力レ
ジスタへ転送する段階と、 読取り要求又は書込み要求のどちらかを前記バスを通し
て受信する段階と、 読取り要求に応答して前記メモリ出力レジスタの内容を
前記バスへ転送する段階と、 を含む多重化アドレス/データ・バスを有する読取り/
書込みメモリを操作する方法。 (4)装置において、 各素子がユニークなアドレスを有するメモリ素子アレイ
と、 前記メモリ素子アレイに結合したメモリ制御部と、 多重化アドレス/データ・バスと、 前記アドレス/データ・バスと前記メモリ制御部と前記
メモリ素子アレイとに結合したバス・ラッチと、 前記バス・ラッチと前記メモリ制御部とに結合され、前
記バス・ラッチにメモリ・アドレスとして前記アドレス
/データ・バス上に流される内容をラッチさせるためア
ドレス正当信号を流し、前記メモリへの書込み又は前記
メモリからの読取りのためのデータ移動の方向を指示す
る方向信号を流す制御バスであって、前記アドレス正当
信号は対応する方向信号より前の時間に前記制御バス上
に流れている前記制御バスと、 前記メモリ素子アレイ、前記メモリ制御部、前記アドレ
ス/データ・バスへ結合したメモリ出力レジスタと、 アドレス正当信号の発生時に前記メモリ・アドレスの前
記メモリ素子アレイの内容を前記メモリ出力レジスタへ
転送させ、前記メモリからのデータの読出しに対応する
方向信号の発生時に前記メモリ出力レジスタの内容を前
記アドレス/データ・バスへ転送させる前記メモリ制御
部と、 を含む装置。 (5)デュアル・ポート・メモリにおいて、第1の正当
アドレス信号と第1の読取り信号を流すための第1の制
御バスを含み、アドレス及びデータ信号を流す第1の多
重化バス装置を含む第1のポートと、 第2の正当アドレス信号と第2の読取り信号を流すため
の第2の制御バスを含み、アドレス及びデータ信号を流
す第2の多重化バス装置を含む第2のポートと、 前記ポートのどちらかを通してユニークなアドレスを介
してランダムにアクセス可能な複数個のメモリ素子と、 前記第1のポートと前記メモリ素子とに結合さ、れ、前
記メモリ素子から前記第1の多重化バス装置へ送信され
るデータをバッファする第1のレジスタ装置と、 前記第2のポートと前記メモリ素子とに結合され、前記
メモリ素子から前記第2の多重化バス装置へ送信される
データをバッファする第2のレジスタ装置と、 前記第1及び第2のポート、前記第1及び第2のレジス
タ装置、そして前記メモリ素子とに結合され、前記メモ
リ素子への書込み及び読取りアクセスを制御する制御装
置であつて、前記制御バスの各々の正当アドレス信号に
応答して選択したメモリ素子から前記レジスタ装置の一
方へデータを転送し、以後前記制御バスの各々の各読取
り信号に応答して前記レジスタ装置の内容を各多重化バ
ス装置へ転送する前記制御装置と、 を含むデュアル・ポート・メモリ。 (6)請求項第5項記載のメモリにおいて、前記ポート
の一方のみが一時に前記複数個のメモリ素子をアクセス
可能であり、前記メモリ装置は、前記第1のポート、前
記第2のポート、前記制御装置に結合され、前記制御装
置を付勢して一時に前記ポートの内の一方のみによる前
記メモリ素子へのアクセスを制御するアービトレーショ
ン装置をさらに含むメモリ。 (7)請求項第6項記載のメモリにおいて、前記アービ
トレーション装置はどちらのポートが前記メモリ素子へ
のアクセスを最初に要求したかを決定する比較装置を含
むメモリ。(8)請求項第6項記載のメモリにおいて、
前記アービトレーション装置は時間多重化により前記ポ
ートの各々へのメモリ・アクセスを可能とするタイミン
グ装置を含むメモリ。(9)請求項第5項記載のメモリ
において、前記第1のポート、前記第2のポート、前記
アービトレーション装置、前記メモリ制御部に結合され
、各々のアドレスが前記複数個のメモリ素子に対応する
アドレスの範囲内にある時にのみ前記アービトレーショ
ン装置と前記メモリ制御部を付勢する範囲装置をさらに
含むメモリ。 (10)請求項第7項記載のメモリにおいて、前記制御
装置に結合され、第1の所定の遅延後に前記第1のポー
トに対応するアクセス要求を終了させる第1の遅延装置
と、 前記制御装置に結合され、第2の所定の遅延後に前記第
2のポートに対応するアクセス要求を終了させる第2の
遅延装置と、 を含むメモリ。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/390,952 US4967398A (en) | 1989-08-09 | 1989-08-09 | Read/write random access memory with data prefetch |
| US390952 | 1989-08-09 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03129548A true JPH03129548A (ja) | 1991-06-03 |
Family
ID=23544622
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2210163A Pending JPH03129548A (ja) | 1989-08-09 | 1990-08-08 | デュアル・ポート・メモリとその通信方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4967398A (ja) |
| EP (1) | EP0412666B1 (ja) |
| JP (1) | JPH03129548A (ja) |
| CA (1) | CA2018503C (ja) |
| DE (1) | DE69021461T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7930523B2 (en) | 2005-11-11 | 2011-04-19 | Denso Corporation | Inter-CPU data transfer device |
Families Citing this family (38)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5155812A (en) * | 1989-05-04 | 1992-10-13 | Texas Instruments Incorporated | Devices and method for generating and using systems, software waitstates on address boundaries in data processing |
| US5247649A (en) * | 1988-05-06 | 1993-09-21 | Hitachi, Ltd. | Multi-processor system having a multi-port cache memory |
| US5617574A (en) | 1989-05-04 | 1997-04-01 | Texas Instruments Incorporated | Devices, systems and methods for conditional instructions |
| DE69023395T2 (de) * | 1989-06-14 | 1996-05-15 | Matsushita Electric Ind Co Ltd | Arbitrierungsschaltung. |
| US5105387A (en) * | 1989-10-13 | 1992-04-14 | Texas Instruments Incorporated | Three transistor dual port dynamic random access memory gain cell |
| US5115411A (en) * | 1990-06-06 | 1992-05-19 | Ncr Corporation | Dual port memory system |
| JP2719852B2 (ja) * | 1991-03-07 | 1998-02-25 | 三菱電機株式会社 | 半導体記憶装置およびそれからのデータ読出方法 |
| JP2673390B2 (ja) * | 1991-03-13 | 1997-11-05 | 三菱電機株式会社 | マルチポートメモリ |
| US5130769A (en) * | 1991-05-16 | 1992-07-14 | Motorola, Inc. | Nonvolatile memory cell |
| US5267199A (en) * | 1991-06-28 | 1993-11-30 | Digital Equipment Corporation | Apparatus for simultaneous write access to a single bit memory |
| US5392412A (en) * | 1991-10-03 | 1995-02-21 | Standard Microsystems Corporation | Data communication controller for use with a single-port data packet buffer |
| US5375250A (en) * | 1992-07-13 | 1994-12-20 | Van Den Heuvel; Raymond C. | Method of intelligent computing and neural-like processing of time and space functions |
| DE69316559T2 (de) * | 1992-12-03 | 1998-09-10 | Advanced Micro Devices Inc | Servoregelkreissteuerung |
| US5430676A (en) * | 1993-06-02 | 1995-07-04 | Rambus, Inc. | Dynamic random access memory system |
| GB9315753D0 (en) * | 1993-07-30 | 1993-09-15 | Communicate Ltd | Digital communication unit monitoring |
| US5375089A (en) * | 1993-10-05 | 1994-12-20 | Advanced Micro Devices, Inc. | Plural port memory system utilizing a memory having a read port and a write port |
| US5398211A (en) * | 1993-10-14 | 1995-03-14 | Integrated Device Technology, Inc. | Structure and method for providing prioritized arbitration in a dual port memory |
| FR2719683B1 (fr) * | 1994-05-05 | 1996-07-12 | Renault | Procédé pour augmenter les capacités d'un calculateur embarqué sur un véhicule automobile. |
| US5896292A (en) * | 1995-06-05 | 1999-04-20 | Canon Kabushiki Kaisha | Automated system for production facility |
| EP1981033B1 (en) * | 1997-10-10 | 2011-08-24 | Rambus Inc. | Apparatus and method for pipelined memory operations with write mask |
| EP1046172B1 (en) * | 1998-09-25 | 2003-08-06 | Koninklijke Philips Electronics N.V. | Device containing a multi-port memory |
| US6141710A (en) * | 1998-12-15 | 2000-10-31 | Daimlerchrysler Corporation | Interfacing vehicle data bus to intelligent transportation system (ITS) data bus via a gateway module |
| US7120761B2 (en) * | 2000-12-20 | 2006-10-10 | Fujitsu Limited | Multi-port memory based on DRAM core |
| KR100432218B1 (ko) * | 2001-07-28 | 2004-05-22 | 삼성전자주식회사 | 데이타 액세스 타이밍을 조정하는 듀얼 포트 메모리콘트롤러 |
| KR100441606B1 (ko) * | 2001-10-05 | 2004-07-23 | 삼성전자주식회사 | 복수의 모듈들간의 데이터 송수신 시스템 및 송수신제어방법 |
| US6717834B2 (en) * | 2002-03-26 | 2004-04-06 | Intel Corporation | Dual bus memory controller |
| KR100474704B1 (ko) * | 2002-04-29 | 2005-03-08 | 삼성전자주식회사 | 데이터의 버스트 동시쓰기가 가능한 프로세서 이중화 장치 |
| US6920510B2 (en) * | 2002-06-05 | 2005-07-19 | Lsi Logic Corporation | Time sharing a single port memory among a plurality of ports |
| US7421559B1 (en) | 2003-12-18 | 2008-09-02 | Cypress Semiconductor Corporation | Apparatus and method for a synchronous multi-port memory |
| JP2006072935A (ja) * | 2004-09-06 | 2006-03-16 | Fujitsu Ltd | 半導体装置及びデータ書き込み制御方法 |
| KR100688537B1 (ko) * | 2005-03-16 | 2007-03-02 | 삼성전자주식회사 | 다수개의 프로세서들에 억세스 가능한 메모리 장치를 갖는시스템 |
| KR101153712B1 (ko) * | 2005-09-27 | 2012-07-03 | 삼성전자주식회사 | 멀티-포트 sdram 엑세스 제어장치와 제어방법 |
| US7962698B1 (en) | 2005-10-03 | 2011-06-14 | Cypress Semiconductor Corporation | Deterministic collision detection |
| KR100655081B1 (ko) * | 2005-12-22 | 2006-12-08 | 삼성전자주식회사 | 가변적 액세스 경로를 가지는 멀티 포트 반도체 메모리장치 및 그에 따른 방법 |
| KR100735612B1 (ko) * | 2005-12-22 | 2007-07-04 | 삼성전자주식회사 | 멀티패쓰 억세스블 반도체 메모리 장치 |
| KR100788980B1 (ko) * | 2006-02-03 | 2007-12-27 | 엠텍비젼 주식회사 | 휴대형 장치 및 공유 메모리의 저전력 모드 제어 방법 |
| KR100745374B1 (ko) * | 2006-02-21 | 2007-08-02 | 삼성전자주식회사 | 멀티포트 반도체 메모리 장치 및 그에 따른 신호 입출력방법 |
| CN110825312B (zh) * | 2018-08-10 | 2023-06-23 | 昆仑芯(北京)科技有限公司 | 数据处理装置、人工智能芯片及电子设备 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4541076A (en) * | 1982-05-13 | 1985-09-10 | Storage Technology Corporation | Dual port CMOS random access memory |
| US4616310A (en) * | 1983-05-20 | 1986-10-07 | International Business Machines Corporation | Communicating random access memory |
| US4610004A (en) * | 1984-10-10 | 1986-09-02 | Advanced Micro Devices, Inc. | Expandable four-port register file |
| US4623990A (en) * | 1984-10-31 | 1986-11-18 | Advanced Micro Devices, Inc. | Dual-port read/write RAM with single array |
| US4660177A (en) * | 1985-01-14 | 1987-04-21 | American Telephone And Telegraph Company | Dual port complementary memory |
| US4627030A (en) * | 1985-02-04 | 1986-12-02 | At&T Bell Laboratories | Dual port memory word size expansion technique |
| US4685088A (en) * | 1985-04-15 | 1987-08-04 | International Business Machines Corporation | High performance memory system utilizing pipelining techniques |
| DE3786539T2 (de) * | 1986-12-19 | 1993-10-28 | Fujitsu Ltd | Halbleiterspeicher mit Doppelzugriffseinrichtung zur Realisierung eines Lesebetriebs mit hoher Geschwindigkeit. |
-
1989
- 1989-08-09 US US07/390,952 patent/US4967398A/en not_active Expired - Fee Related
-
1990
- 1990-06-07 CA CA002018503A patent/CA2018503C/en not_active Expired - Fee Related
- 1990-07-17 DE DE69021461T patent/DE69021461T2/de not_active Expired - Fee Related
- 1990-07-17 EP EP90307789A patent/EP0412666B1/en not_active Expired - Lifetime
- 1990-08-08 JP JP2210163A patent/JPH03129548A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7930523B2 (en) | 2005-11-11 | 2011-04-19 | Denso Corporation | Inter-CPU data transfer device |
Also Published As
| Publication number | Publication date |
|---|---|
| DE69021461D1 (de) | 1995-09-14 |
| DE69021461T2 (de) | 1996-01-25 |
| EP0412666A3 (en) | 1992-12-23 |
| EP0412666A2 (en) | 1991-02-13 |
| CA2018503A1 (en) | 1991-02-09 |
| CA2018503C (en) | 1997-12-09 |
| US4967398A (en) | 1990-10-30 |
| EP0412666B1 (en) | 1995-08-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4967398A (en) | Read/write random access memory with data prefetch | |
| US5218686A (en) | Combined synchronous and asynchronous memory controller | |
| EP0700003B1 (en) | Data processor with controlled burst memory accesses and method therefor | |
| US4016541A (en) | Memory unit for connection to central processor unit and interconnecting bus | |
| US5732250A (en) | Multi-function microprocessor wait state mechanism using external control line | |
| JPS6327738B2 (ja) | ||
| JPH02227765A (ja) | デジタル・コンピユータのデータ転送装置 | |
| US6085261A (en) | Method and apparatus for burst protocol in a data processing system | |
| GB2430053A (en) | Accessing external memory from an system on a chip integrated circuit | |
| CN101118526A (zh) | 用于控制猝发存储器存取的存储器接口及其控制方法 | |
| US5710939A (en) | Bidirectional parallel data port having multiple data transfer rates, master, and slave operation modes, and selective data transfer termination | |
| JPH06243111A (ja) | 2つの非同期プロセッサ間でランダムアクセスメモリを共用する方法及びその方法を実施するための電子回路 | |
| KR100266963B1 (ko) | 전송되는 패킷을 오버래핑하여 인터페이스의 대기시간을 감소시키는 방법 및 장치 | |
| US6665748B1 (en) | Specialized PCMCIA host adapter for use with low cost microprocessors | |
| JPS61166647A (ja) | マイクロプロセツサ装置およびアドレス可能なメモリから情報を読出すためのアクセス方法 | |
| KR950000125B1 (ko) | 듀얼 포트램을 이용한 at-버스와 입출력 콘트롤러 프로세서의 인터페이스 회로 | |
| JPS6383844A (ja) | マイクロプロセツサシステム | |
| GB2339369A (en) | Controlling timing of transfer requests within a data processing apparatus | |
| JP3206656B2 (ja) | バス上でのプリフェッチ装置およびプリフェッチ方法 | |
| JP2682789B2 (ja) | コンピュータ入出力キャッシュ・システム | |
| KR0170742B1 (ko) | 엠버스를 이용한 데이터 전송 방법 | |
| JP2003085125A (ja) | メモリ制御器及びメモリ制御方法 | |
| JP3947223B2 (ja) | 送信パケットを重ねることによりインタフェース上の待ち時間を短縮するための方法および装置 | |
| KR100240923B1 (ko) | 정보 처리 시스템 내의 버스상에 결합된 내부 장치들간의 통신을 위한 방법 및 그 정보 처리 시스템 | |
| KR100662275B1 (ko) | 단일 번지 모드를 사용한 dma 전송 장치 |