JP3113916B2 - 第1および第2のアドレスカウンタを含む装置 - Google Patents

第1および第2のアドレスカウンタを含む装置

Info

Publication number
JP3113916B2
JP3113916B2 JP02267540A JP26754090A JP3113916B2 JP 3113916 B2 JP3113916 B2 JP 3113916B2 JP 02267540 A JP02267540 A JP 02267540A JP 26754090 A JP26754090 A JP 26754090A JP 3113916 B2 JP3113916 B2 JP 3113916B2
Authority
JP
Japan
Prior art keywords
data
address
port
fifos
mode
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 - Fee Related
Application number
JP02267540A
Other languages
English (en)
Other versions
JPH03156789A (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 JPH03156789A publication Critical patent/JPH03156789A/ja
Application granted granted Critical
Publication of JP3113916B2 publication Critical patent/JP3113916B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/16Multiplexed systems, i.e. using two or more similar devices which are alternately accessed for enqueue and dequeue operations, e.g. ping-pong buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/62Performing operations exclusively by counting total number of pulses ; Multiplication, division or derived operations using combined denominational and incremental processing by counters, i.e. without column shift

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Static Random-Access Memory (AREA)
  • Vehicle Body Suspensions (AREA)
  • Valve Device For Special Equipments (AREA)
  • Memory System (AREA)
  • Iron Core Of Rotating Electric Machines (AREA)

Description

【発明の詳細な説明】 発明の背景 この発明は一般的にメモリ装置に関する。特に、この
発明は、シーケンシャルなデータがクロックサイクル当
たり1ワードの割合でメモリ装置へおよびメモリ装置か
ら転送され得る、バーストアクセスモードで動作可能な
メモリ装置に関する。
マイクロプロセッサ技術の進歩が全体的なシステムの
性能を向上させるためのいわゆる「バーストモード」の
発達をもたらしてきた。AMD社によって製造されたモデ
ルナンバー29000のRISCプロセッサ、およびモトローラ
社によって製造されたモデルナンバー68030等のバース
トモードの装置は、バーストモードメモリの読出しまた
は書出し動作を支持する能力があるプロセッサであり、
シーケンシャルなデータのワードは、プロセッサが各デ
ータワードのために読出しまたは書込みアドレスを与え
ることを必要とせず、メモリ装置へおよびメモリ装置か
ら転送される。より詳細には、プロセッサはバーストア
クセスモードでメモリ装置へ単一の実行開始アドレスを
供給するだけでよい。その後、アドレスカウンタがメモ
リ装置内の複数のアドレス位置へ書込みまたはそこから
の読出しをシーケンシャルに行なうためにメモリ装置に
より増分される。プロセッサは転送されるべき各データ
ワードに対してアドレス位置を提供する必要がないの
で、したがってより高度なシステムの性能が達成され得
る。
バーストアクセスモードでの動作に加えて、好ましく
はバーストアクセスモードの動作が行なわれているとき
同時に、非シーケンシャルなアドレス位置にデータが記
憶されかつそこから検索され得るようにメモリ装置が無
行為にアクセス可能であることが望ましい。二重ポート
のメモリ装置、すなわち一方のポート上でランダムアク
セスの読出しまたは書込み動作を行なう能力があり、同
時に第2のポート上でバーストモードでシーケンシャル
なデータの読出しまたは書込みを行なう能力がある二重
ポートRAMを備えれば、同時に2つのモードの動作が収
容され得る。
上記のようなランダムアクセスおよびバーストモード
双方の動作能力を有するバーストアクセスメモリ(以後
BAM)の実現は現状の当該技術の二重ポートRAMで達成さ
れ得るかもしれない。しかしながら、二重ポートのRAM
は商業的に実行可能なBAMへのそれらの適用性を制限す
るという不利益を有する。たとえば、二重ポートのRAM
は単一ポートのRAMに比べてより高価で、製造がより困
難でかつ密度がより低い。現在の単一ポートのRAMのセ
ルは現在の二重ポートのRAMのセルの大きさの半分であ
り、かつ現在の単一ポートのメモリアレイの密度は一般
的には現在の二重ポートメモリアレイの1世代先(4Xの
密度)にある。二重ポートの技術における従来の進歩が
単一ポートの技術における進歩を凌ぐことがあるとは考
えられないので、単一ポートのメモリアレイは常に上記
の二重ポートメモリアレイに対して優位を維持するであ
ろうと思われる。
したがって、上記の単一ポートメモリアレイの利点を
有し、かつバーストアクセスモードおよびランダムアク
セスモード双方において同時に動作し得るBAMを提供す
ることが望ましいであろう。加えて、33MIPでのAMD2900
0等の高速プロセッサを支持するために高速の動作速度
で(50MHzのオーダで)、バーストアクセスモードおよ
びランダムアクセスモード双方を提供し得るBAMを提供
することが望ましいであろう。
発明の要約 この発明はバーストアクセスモードおよびランダムア
クセスモード双方において同時に動作する能力を有する
高速BAMを提供する。より詳細には、高速BAMのアーキテ
クチャが、より高い密度およびより低い製造コスト等の
単一ポートのメモリアレイに関連する利点を提供し、か
つ同時に二重ポートの装置として動作しそれにより一方
のポート上でのバーストまたはランダムアクセスの読出
しまたは書込み動作を可能にし、かつ同時に第2のポー
ト上でバーストまたはランダムモードの動作におけるシ
ーケンシャルな読出しまたは書込みを支持する。バース
トアクセスは各ポートにおいて別個にどのような数のサ
イクルでも停止および再開され得る。BAMは50HMzのオー
ダでの速度で動作する能力があり、かつクロックサイク
ル当たり1つのメモリアクセスを提供する能力がある。
BAMはまた、集積モノリシックFIFO装置に到達する外部
の論理を使用してまたは内部の論理を実現化して、高速
FIFOとして形状化され得る。
背景は上記の通りであるが、ここで好ましい実施例の
詳細な説明と、図面について言及する。
好ましい実施例の詳細な説明 さて、第1図を参照して、16ビットのアドレスバス1
0、AポートおよびBポートアドレスカウンタ12および1
4、アドレスMUXユニット16、64Kx4SRAMメモリ18、デー
タMUXユニット20、AポートおよびBポートデータI/Oレ
ジスタ22および24、ならびにAおよびBポートデータバ
ス23および25を含む二重ポートBAM8が示される。二重ポ
ートBAM8の全体的な動作は、ロードアドレスA(LAA)
信号入力、ロードアドレスB(LAB)信号入力,書込み
可能(WE)信号入力、バースト可能A(BEA)信号入力
およびバースト可能B(BEB)信号入力を含むプロセッ
サ(図示せず)からの外部の制御信号を受けるための複
数の制御入力を有する二重ポートの制御論理回路26によ
り制御される。
動作においては、アドレスバス10の内容は、LAAまた
はLABが可能化されるときAポートアドレスカウンタ12
またはBポートアドレスカウント24のいずれかへロード
される。I/Oレジスタ22および24は読出し/書込み可能
ラッチ(図示せず)を含みかつWE入力の状態はデータ読
出しまたはデータ書込み動作いずれかを選択する選択さ
れたポートのための読出し/書込み可能ラッチへロード
される。データの転送はバースト可能入力BEAおよびBEB
により可能化される。
たとえば、AポートI/Oレジスタ22が読出し動作のた
めにセットされたならば、BEAの起動によりAポートア
ドレスカウンタ12にロードされた現在のアドレスカウン
タ値でのデータが出力MUX20を介してAポートデータバ
ス23へ与えられることになる。Aポートアドレスカウン
タ12はそこでクロック入力へ与えられるクロック信号の
立ち上がり端縁により増分される。代替的には、Aポー
トI/Oレジスタ22が書込み動作のためにセットされたな
らば、BEAの可動によりAポートデータバス23上のデー
タがAポートアドレスカウンタ12内に記憶された現在の
アドレスカウンタ値により特定されたアドレス位置での
メモリアレイ18内へクロックされることになる。Aポー
トアドレスカウンタ12は再び、クロック入力へ与えられ
るクロック信号の立ち上がり端縁により増分される。こ
のように、読出しまたは書込みいずれの動作において
も、二重ポートのBAM8はデータ転送の最初の開始アドレ
スのAポートアドレスカウンタ12へのロードが必要とさ
れるだけで動作のバーストアクセスモードを提供する。
BAM8はまた特定のアドレス位置を直接アドレスするメ
モリアレイ18へのランダムアクセスの読出しまたは書込
み動作を可能にする。ランダムアクセスモードの動作で
は、所望のポートに対応するバースト可能入力が単一の
転送動作のために可能化される。
上記BAM8のアーキテクチャは2クロックサイクルごと
に各ポートに1つのメモリアクセスを可能にする。バー
ストモードのアクセス速度はしかしながらバーストモー
ドアクセスがメモリアレイ内のシーケンシャルな位置を
アドレスしているという事実を利用して改善され得る。
したがって、第2図に示されるように一方のポートがメ
モリの、あるセクションをアドレスし、かつ第2のポー
トがメモリの異なるセクションをアドレスするように、
メモリアレイにインターリーブの方法が採用され得る。
第2図に示されるBAMは多重アドレスバス30,Aおよび
Bポートアドレスラッチ32および34,AおよびBポートア
ドレスカウンタ36および38、AおよびBポートアドレス
MUXユニット40および42、偶数アドレスのために指定さ
れた32Kx4SRAMアレイ44、奇数アドレスのために指定さ
れた32K×4SRAMアレイ46、AおよびBポートデータMUX
ユニット48および50、AおよびBポート可逆FIFO52およ
び54、AおよびBポートデータバス53および55、位相フ
リップフロップ(FF)56、制御論理回路58、およびアッ
プ/ダウンカウンタ60を含む。
アドレスバス30の多重化により、8ビットの外部のア
ドレスバスを使用するだけで16ビットのアドレスがもた
らされる。所望のアドレスの上位のビットはまずアドレ
スバス30上に置かれかつAおよびBポートアドレスラッ
チ32および34によりラッチされる。アドレスのより下位
のビットはそこでアドレスバス30上に置かれかつ16ビッ
トのアドレス全体が、LAAおよびLAB入力が起動されると
き、AおよびBポートアドレスカウンタ36および38内へ
クロックされる。
動作において、2つの位相(A/B)クロックシグナル
が、AおよびBポートアドレスMUXユニット40および42
ならびにAおよびBポートデータMUXユニット48および5
0に結合されるA/B位相FFに与えられる。クロックシグナ
ルのA位相の間、SRAMアレイ44はアドレスMUXユニット4
0を介してAポートアドレスカウンタ36およびデータMUX
ユニット48を介してAポート2ワードFIFO52に接続され
かつSRAMアレイ46はアドレスMUXユニット42を介してB
ポートアドレスカウンタ38およびデータMUXユニット50
を介してBポート2ワードFIFO54に接続される。上に述
べた接続はクロックのB位相の間に反転される。2ワー
ドFIFO52および54の動作ならびにアップ/ダウンフラッ
グカウンタ60の動作については後ほどより詳細に述べる
ものとする。
上記のアドレスMUXユニット40および42の制御により
AおよびBポートを介してのSRAMアレイ44および46への
インターリーブのアクセスがもたらされる。Aポートア
ドレスカウンタ36およびBポートアドレスカウンタ38の
増分がA/Bクロック位相に適切に同期されれば、各ポー
トにクロックサイクル当たり1つのアクセスが達成され
得る。たとえば、Aポートアドレスカウンタ36がA位相
の間偶数アドレスにあれば、B位相の間にはそれは奇数
アドレスになる。Aポートアドレスカウンタ36はそこで
バーストアクセスモードにおける各クロック上のシーケ
ンシャルなアクセスを可能にするSRAMアレイ44および46
の接続パターンを追跡する。
BAMはまたランダムアクセスモードの動作においても
アドレスされ得る。一般的には、二重ポートのRAMアレ
イへのランダムアクセスは3つのクロック期間を必要と
する。1つは所与のアドレスカウンタをロードするため
であり、1つは実際のアクセスのためであり、かつもう
1つはRAMアレイがもう1つのポートに接続されている
確率を可能にするためのものである。3つのクロックの
期間を待つことで、各ポートは同じメモリへの同時のア
クセスを有しているように見える、すなわち見かけの同
時二重ポートアクセスである。
所与のポートのために3つのクロック期間の変わりに
2つのクロック期間でのランダムアクセスが可能である
が、ただしこれは、もう一方のポートがアクセス時間に
使用されていない場合である。そのような場合には、第
2図に示されるA/B位相FF56がSRAMアレイ44、46のうち
1つがもう一方のポートに接続される確率を可能にする
ために必要なサイクルを取り除くべく使用される。詳細
には、示された実施例におけるA/B位相FFは入力アドレ
スの最下位ビットの位相へ強制される。
A/B位相FF56の動作を制御するための制御論理回路58
の部分をなす、FF論理回路69が第3図に示される。A/B
位相FF56の出力はアドレスMUX40および42ならびにデー
タMUX48および50の動作を制御するために使用される。
より詳細には、一方の出力がAポートをSRAMアレイ44に
かつBポートをSRAMアレイ46に接続するべきMUXを制御
するために使用され、かつ他方の出力がAポートをSRAM
46におよびBポートをSRAM44に接続するべくMUXを制御
するために使用される。
FF論理回路69は以下のとおり動作する。LAA信号が位
相FF56をセットしそれによりAポートが次のサイクルで
正しいSRAMを有し、読出し信号が位相FF56をA0にセット
しそれにより所望のデータが次のサイクル上に現われ、
BEAが活性化されていない書込信号が位相FF56をA0にセ
ットし、それにより次のサイクルに続くサイクル(すな
わち次+1のサイクル)でデータの書込みが可能であ
り、かつLABが位相FF56をセットしそれによりBポート
が次のサイクル上で正しいSRAMを有し、読出信号が位相
FFをA0にセットすることにより所望のデータが次のサイ
クル上に現われ、かつBEAが活性化されていない書込信
号が、位相FFをA0にセットしそれによりデータが次+1
のサイクル上に書込まれ得る。FF論理回路69の動作を示
す真理表が第4図に示される。上記のインターリーブの
アーキテクチャがシーケンシャルな転送のためのクロッ
クサイクル当たり1アクセスを可能にできる。さらに、
クロックサイクル当たり1アクセスでのシーケンシャル
な転送はそれぞれのポートのためのアドレスカウンタが
A/Bクロック位相に同期され続ける限り、一方のポート
が偶数アドレスへの転送動作を行ない、かつ他方が偶数
アドレスへの転送動作を行なう双方のポート上で同時に
達成され得る。これは単一のまたは奇数のクロックパル
スの後にシーケンシャルなアクセスを停止するときに困
難を引き起こし得る。アクセスが1サイクルのために停
止されかつ再開が試みられれば、同期が失われかつシス
テムは再同期するために1クロックサイクルを待たなけ
ればならなくなる。偶数のサイクルについては困難なく
同期が維持される。
同期の問題は、第2図に示された2ワードの可逆FIFO
52および54を使用することにより克服される。FIFO52お
よび54は所与のデータポートの外部のデータバス53およ
び55との間に位置する。FIFO52および54は1サイクルの
読出し停止の間に余分なワードを吸収しかつこのワード
を再同期クロックサイクルの間に供給する。より長い停
止が必要ならば、FIFO52および54はまず必要な2サイク
ルの内部停止を可能にするべく充てんされ得る。
2ワードのFIFO52および54ならびにそれらのSRAMアレ
イ44および45への接続を詳細に示すブロック図が第5図
に示される。2ワードのFIFO52および54は1対のフリッ
プフロップからなる2ビットのFIFO制御(FC)カウンタ
61および62により制御され、それは、FIFOラッチ64、6
6、FIFOMUX68、70、DAXおよびDBXレジスタ72および74、
ならびにDAYおよびDBYレジスタ76および78の書込みおよ
び読出し動作を制御する。
各FIFO制御カウンタは、そのアドレスカウンタが直接
アクセスの始まりにロードされるとき0にリセットされ
かつバースト可能がその自らのポート上で活性でありか
つ対向するポート上で不活性である直接アクセス書込み
の始まりでは1にセットされる。これによりアドレスお
よびデータが同じサイクルでクロックインされることが
可能になりかつ直接アクセス書込みの連鎖を可能にす
る。FIFO制御カウンタ61および62は、カウンタ値が0の
ときからでありかつそれが2のときいっぱいである。
所与のFIFO制御カウンタにおけるカウントが0のと
き、その関連する2ワードFIFOはデータのそこを通る流
れを可能にするためにセットされる。これは読出しモー
ドでの第2のサイクルの終りにアクセスを可能にする。
所与のFIFO制御カウンタおけるカウントが1のとき、そ
の関連するDXレジスタ(DAXレジスタ72またはDBXレジス
タ74のいずれか)が選択される。カウントが2のとき、
関連するDYレジスタ(DAYレジスタ76またはDBYレジスタ
78のいずれか)が選択される。このように、所与のFIFO
制御カウンタにおけるカウントが0、1および2ならば
対応する0、1および2のクロックサイクルの遅延がそ
れぞれのポートにもたらされる。
動作のバースト読出しモードでは、FIFOがいっぱいで
なければ、そのポートと関連するアドレスカウンタのLS
Bと位相FF56からポートにより受取られる信号との間に
一致が存在するときはいつも、所与の2ワードのFIFOが
書込まれる。この比較は図には示されない回路により行
なわれる。2ワードのFIFOは、バースト可能入力が活性
状態のときはいつも読出される。
バースト書込みモードでは、所与の2ワードのFIFO
が、バースト可能が活性状態のときはいつも書込まれ
る。それは、空でなければ、アドレスカウントと関連す
るそのポートのLSBと位相FF56から受取られる信号との
間に一致が存在するときはいつも読出される。
各FIFO制御カウンタは、その関連する2ワードのFIFO
が読出されることなく書込まれているときはいつも増分
され、かつその関連する2ワードのFIFOが書込まれるこ
となく読出されているときはいつも減分される。カウン
トは、2ワードのFIFOが同時に書込みおよび読出しをさ
れている場合は変化せずそのままである。
BAMの動作を示す種々のタイミング図が第7図ないし
第12図に示される。第7図、第8図および第9図はそれ
ぞれ読出し、書込みおよび書込み、続いて読出しという
タイミング図を示す。位相FFおよびFIFO論理の機能はこ
れら図に含まれる。読出しの図は通常および高速のアク
セスを示しかつバーストモードでの1サイクルのストー
ルを示す。書込みタイミング図は一般的な場合での書込
みタイミングと他方のポート上にバースト動作がない連
続的な書込みバーストの場合での書込タイミングを示
す。一般的な場合では、書込みまたまは読出しの新たな
ランダムアクセスを始める前にFIFOをクリアするために
2サイクルを要する。他方のポート上にバースト動作が
ない連続的なバーストの場合には、FIFOが充足すること
がないので2サイクル待つ必要がない。それらは空にさ
れるのと同じ速さで充足される。書込みの連続バースト
を達成するために、BEAはLAAの後の初めのサイクルで起
動化されなければならずかつ示されるように次のLAAま
で活性状態に保たれなければならない。第10図および11
図はそれぞれ直接アクセスおよび1サイクルストールで
のシーケンシャルなアクセスのための読出しおよび書込
み動作を示し、ここではバースト動作が他方のポート上
にありかつ位相FFが即時アクセスのための間違った位相
に現われる最悪のケースを想定する。第12図は連続的な
バースト書込みのための書込み・読出し動作を示す。位
相FFは書込みおよび読出し双方の場合にA0にセットされ
る。
上記のBAMはまた第2図に示された16ビットのアップ
/ダウンフラッグカウンタ60を使用して方向において可
逆である64K×4、50MHz同期FIFOとして実現され得るこ
とに留意されたい。制御論理58へのリセット入力はアド
レスカウンタ36および38ならびにフラッグカウンタ60双
方を0にクリアするために使用される。アップ/ダウン
フラッグカウンタ60の詳細なブロック図が第13図に示さ
れる。
BAMは単一のクロックにより実行されるので、アップ
/ダウンフラグカウンタ60は、書込み動作、読出し動作
もしくは同時の書込みまたは読出し動作のいずれが行な
われている(または行なわれていない)かに依存して各
サイクル上で増分、減分または保持のいずれかを行なう
簡単なアップ/ダウンカウンタ80を組込む。カウンタ80
に含まれる値が0で2ワード読出しFIFOカウンタが0の
とき空のフラッグが起動化されかつカウンタ80がすべて
1でありかつ書込み2ワードFIFOカウンタが一杯のとき
一杯のフラッグが起動化される。半分のフラッグはアッ
プ/ダウンフラッグカウンタ60の最上位ビットある。
16ビットのアップ/ダウンカウンタ80に関する論理図
が第14図に示される。動作においてこれは、テキサス・
インストルメンツ社によって製造される74LS191のモデ
ルナンバーのカウンタおよび同じくテキサス・インスト
ルメンツ社によって製造される74LS169のモデルナンバ
ーのカウンタに類似する。アップ/ダウンカウンタ80は
増分器82および84、マルチプレクサ86およびレジスタ88
を含む。アップ/ダウンカウンタ80は現在のカウントの
増分された値をロードすることにより増分しかつ減分さ
れた値をロードすることにより減分する。増分または減
分いずれも必要でなければ、アップ/ダウンカウンタ80
は現在の値をロードする(すなわち現在のカウントを保
持する)。
カウンタの減分機能は実際には増分器82を使用して実
現される。増分器82はレジスタ88の補数の出力に接続さ
れかつ増分器の出力82はマルチプレクサ86に与えられる
前に反転される。これはカウンタの補数をとり、補数を
とられた値を増分しかつその結果の再び補数をとること
に等しく、すなわち減分動作に等しい。
上記のとおり、この発明は以下の利点を有するBAMを
提供する。BAMはバーストアクセスモードでシーケンシ
ャルなデータをクロックパルスあたり1ワードの割合で
同時にいずれかのまたは双方のポート上に転送すること
が可能で、BAMのいずれかまたは双方のポートはランダ
ムまたはバーストアクセス動作に使用可能であり、かつ
いずれかのポート上でのバーストモードのアクセスは1
または2以上のクロックサイクルにわたって停止可能で
ありかつそれから再開され得る。
BAMはまた50MHzのクロック速度で動作が可能であり、
このことによりAMD29000RISCプロセッサ等の高速プロセ
ッサを使用する設計の適用に特に利用しやすくなる。た
とえば第16図は命令およびデータがより高性能でかつ高
速のDMAチャネルを与えるのに別個のバンクのBAMを使用
することころを示す。命令BAMはプロセッサの命令およ
びデータバス双方に接続される。このことによりプロセ
ッサが命令定数その他を読出すデータバスを介して命令
BAMにアクセスすることを可能にする。データBAMはプロ
セッサのデータバスのみに接続される。このことにより
ほとんどの場合データへの3サイクルのアクセスが可能
になる。データBAMの第2のポートは直接メモリアクセ
スポートとして使用され得る。このことによりワードカ
ウンタ以外の付加的な論理を必要としない25MHz29000プ
ロセッサシステム上での100mバイト/秒のDAMが可能に
なる。
この発明は、しかしながら、特定的に開示された実施
例に制限されていない。補正クレームの範囲内で修正お
よび変更が可能である。たとえば、メモリアレイのタイ
プおよび大きさは変更可能であり、アドレスおよびデー
タバスのアーキテクチャにも修正が可能でありかつ特定
的に開示された論理回路は同じ機能を達成するべく構造
的に修正れ得る。
【図面の簡単な説明】
第1図はこの発明の第1の実施例に従うBAMの概念ブロ
ック図である。 第2図はこの発明の第2の実施例に従いBAMを模式的に
示したブロック図である。 第3図は第2図に示されたBAMに採用されたフリップフ
ロップ制御回路を模式的に示すブロック図である。 第4図は第3図に示されたフリップフロップ制御回路の
ための真理表である。 第5図は第2図に示されたBAMに採用された2ワードのF
IFOを模式的に示すブロック図である。 第6図は2ワードのFIFOのための制御論理の条件を示す
表である。 第7図は読出しタイミング図である。 第8図は書込みタイミング図である。 第9図は書込み動作に続く読出し動作のためのタイミン
グ図である。 第10図は読出しタイミング図である。 第11図は書込みタイミング図である。 第12図は書込み・読出しタイミング図である。 第13図は第2図に示された実施例で採用されたFIFOフラ
ッグ論理を模式的に示す図である。 第14図は第13図に示されたフラッグ論理に採用されたカ
ウンタを模式的に示すブロック図である。 第15図はプロセッサを伴うBAMの実現を模式的に示すブ
ロック図である。 第16図はプロセッシング適用におけるより高度な性能と
より高速の双方のDMAチャネルを提供する命令およびデ
ータのためのBAMの別個のバンクの使用を示す図であ
る。 図において、8は二重ポートのBAM、10は16ビットのア
ドレスバス、12および14はアドレスカウンタ、16はMUX
ユニット、18は64K×4SRAMメモリアレイ、20はMUXユニ
ット、22はAポートデータI/Oレジスタ、23はAポート
データバス、24はBポートデータI/Oレジスタ、25はB
ポートデータバス、26は二重ポート制御論理、30は多重
アドレスバス、32はAポートアドレスラッチ、34はBポ
ートアドレスラッチ、36はAポートアドレスカウンタ、
38はBポートアドレスカウンタ、40はAポートアドレス
AUXユニット、42はBポートアドレスMUXユニット、44は
32K×4SRAMアレイ、46は32K×4SRAMアレイ、48はAポー
トデータMUXユニット、50はBポートデータMUXユニッ
ト、52はAポートFIFO、53はAポートデータバス、54は
BポートFIFO、55はBポートデータバス、56は位相フリ
ップフロップ、58は制御論理回路、60はアップ/ダウン
カウンタ、61および62は2ビットFIFO制御カウンタ、64
および66はFIFOラッチ、68および70はFIFOMUX、72はDAX
レジスタ、74はDBXレジスタ、76はDAYレジスタ、78はDB
Yレジスタである。
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G11C 11/41 - 11/419 G11C 7/00

Claims (18)

    (57)【特許請求の範囲】
  1. 【請求項1】第1および第2のアドレスカウンタと、 前記第1および第2のアドレスカウンタへアドレス値を
    ローディングするためのアドレス指定手段と、 第1および第2のメモリアレイと、 前記第1および第2のアドレスカウンタにローディング
    されたアドレス値を前記第1および第2のアドレスカウ
    ンタへ選択的に付与しかつ前記第1および第2のメモリ
    アレイに同時にアドレス値を供給するためのアドレス多
    重化手段と、 第1および第2の反転可能なFIFOと、 それぞれ前記第1および第2の反転可能なFIFOに接続さ
    れた第1および第2のデータポートと、 前記第1および第2の反転可能なFIFOを同時に選択的に
    前記第1および第2のメモリアレイに接続するためのデ
    ータ多重化手段と、 前記第1および第2の反転可能なFIFOならびに前記デー
    タ多重化手段の動作を制御して、前記第1および第2の
    反転可能なFIFOからのデータワードを動作の書込アクセ
    スモードで前記第1および第2のメモリアレイへ供給
    し、前記第1および第2のメモリアレイに記憶されたデ
    ータワードを動作の読出アクセスモードで前記第1およ
    び第2のFIFOへ選択的に供給し、それぞれ書込アクセス
    モードおよび読出アクセスモードの間に前記メモリアレ
    イへ/からデータワードを同時に供給し、かつ前記FIFO
    を使用して前記第1および第2のメモリアレイのアドレ
    ス指定を同期化するための制御手段とを含み、 前記第1および第2のデータポートは、前記第1および
    第2のデータポートがバーストモードにある際に、同時
    にデータワードを転送する、装置。
  2. 【請求項2】動作のバーストモードで前記第1および第
    2のアドレスカウンタを同時に順次インクリメントする
    ための手段をさらに含む、請求項1に記載の装置。
  3. 【請求項3】前記制御手段により制御されるフラグカウ
    ンタをさらに含み、書込動作が行なわれかつデータワー
    ドが前記第1および第2の反転可能なFIFOのうちの少な
    くとも1つに記憶されるときに、前記フラグカンタは前
    記制御手段によりインクリメントされ、かつ読出動作が
    行なわれかつデータワードが前記第1および第2の反転
    可能なFIFOのうちの少なくとも1つから読出されるとき
    に、前記フラグカウンタは前記制御手段によりデクリメ
    ントされる、請求項1に記載の装置。
  4. 【請求項4】前記メモリアレイが、一方メモリアレイに
    奇数のアドレスが含まれかつ他方のメモリアレイに偶数
    のアドレスが含まれるようにインタリーブされる、請求
    項1に記載の装置。
  5. 【請求項5】前記ポートのうち一方が、他方ポートがラ
    ンダムアクセスモードにあるときにバーストモードにさ
    れ得る、請求項1に記載の装置。
  6. 【請求項6】動作のバーストモードの間にクロックサイ
    クルに従いインクリメントされる第1および第2のアド
    レスカウンタと、 前記第1および第2のアドレスカウンタへアドレス値を
    ローディングするためのアドレス指定手段と、 第1および第2のメモリアレイを含み、前記第1のメモ
    リアレイが偶数アドレスを含みかつ前記第2のメモリア
    レイが奇数アドレスを含み、さらに、 前記第1および第2のアドレスカウンタに対応する第1
    および第2のデータポートを含み、前記データポートが
    前記動作のバーストモードにおいて同時に活性状態にな
    ることが可能で、かつ前記データポートが各々前記バー
    ストモードにおいて同時に活性である間にクロックサイ
    クルごとに1データワードを転送し、さらに、 バーストモードアクセスの際に、前記第1および第2の
    アドレスカウンタからの偶数アドレス値を前記第1のメ
    モリアレイに付与し、かつ前記第1および第2のアドレ
    スカウンタからの奇数アドレス値を前記第2のメモリア
    レイへ供給するためのアドレス多重化手段を含み、前記
    多重化手段が前記第1および第2のアレイへ同時に偶数
    および奇数アドレスを供給し、さらに 前記メモリアレイと前記データポートとの間に接続され
    て、バーストモードアクセスが停止されかつその後前記
    データポートの一方において再開される際に、前記デー
    タポート間の偶数および奇数のアドレス同期を維持し
    て、再開時の遅延を最小限にするための同期化手段とを
    含む、装置。
  7. 【請求項7】動作のバーストモードにおいて前記第1お
    よび第2のアドレスカウンタを順次インクリメントする
    ための手段をさらに含む、請求項6に記載の装置。
  8. 【請求項8】制御手段により制御されるフラグカウンタ
    をさらに含み、書込動作が行なわれかつデータワードが
    前記第1および第2の反転可能なFIFOのうちの少なくと
    も1つに記憶されるときに、前記フラグカウンタは前記
    制御手段によりインクリメントされ、かつ読出動作が行
    なわれかつデータワードが前記第1および第2の反転可
    能なFIFOのうちの少なくとも1つから読出されるとき
    に、前記フラグカウンタは前記制御手段によりデクリメ
    ントされる、請求項6に記載の装置。
  9. 【請求項9】前記装置の奇数および偶数位相を制御しか
    つ前記位相を示す位相信号を付与するための位相手段を
    さらに含む、請求項6に記載の装置。
  10. 【請求項10】前記同期化手段が、それぞれ前記第1お
    よび第2のデータポートに対応する第1および第2の反
    転可能なFIFOを含む、請求項9に記載の装置。
  11. 【請求項11】前記同期化手段が、 前記第1および第2の反転可能なFIFOを同時に前記第1
    および第2のメモリアレイへ選択的に接続するためのデ
    ータ多重化手段と、 前記第1および第2の反転可能なFIFOならびに前記デー
    タ多重化手段の動作を制御して、前記第1および第2の
    反転可能なFIFOからのデータワードを動作の書込アクセ
    スモードで前記第1および第2のメモリアレイへ供給
    し、動作の読出アクセスモードで前記第1および第2の
    メモリアレイに記憶されているデータワードを前記第1
    および第2のFIFOに選択的に供給し、かつそれぞれ書込
    アクセスモードおよび読出アクセスモードの間に、前記
    メモリアレイへ/からデータワードを同時に供給するた
    めの制御手段とを含む、請求項10に記載の装置。
  12. 【請求項12】前記FIFOの各々が第1および第2のレジ
    スタを含む、請求項11に記載の装置。
  13. 【請求項13】前記同期化手段が前記FIFOの各々につい
    て制御カウンタを含む、請求項12に記載の装置。
  14. 【請求項14】読出モードにおいて、各FIFOについて、 前記制御カウンタが0の場合、前記同期化手段が、デー
    タが前記第1および第2のレジスタをバイパスして、前
    記FIFOを通って前記第1および第2のアレイから前記対
    応するデータポートへ流れるように選択し、 前記制御カウンタが1の場合に、前記同期化手段が、デ
    ータが前記第1のレジスタから前記対応するデータポー
    トへ流れるように選択し、かつ 前記制御カウンタが2の場合に、前記同期化手段が、デ
    ータが前記第2のレジスタから前記対応するデータポー
    トへ流れるように選択する、請求項13に記載の装置。
  15. 【請求項15】前記FIFOは、書込モードで、バーストイ
    ネーブル信号が活性状態の場合に常に書込まれ、前記信
    号が対応するポートがバーストモードにあることを示
    す、請求項14に記載の装置。
  16. 【請求項16】前記FIFOは、前記FIFOが一杯でなくかつ
    前記位相信号と、前記FIFOに対応するポートに対応する
    アドレスカウンタの最下位ビット(LSB)との間に一致
    が存在する場合に常に読出モードで書込まれる、請求項
    15に記載の装置。
  17. 【請求項17】前記ポートのうち一方は、他方がランダ
    ムアクセスモードにある際にバーストモードでデータを
    転送する、請求項10に記載の装置。
  18. 【請求項18】動作のバーストモードの間にクロック周
    期に従いインクリメントされる第1および第2のアドレ
    スカウンタと、 前記第1および第2のアドレスカウンタへアドレス値を
    ローディングするためのアドレス指定手段と、 第1および第2のメモリアレイを含み、前記第1のメモ
    リアレイが偶数アドレスを含みかつ前記第2のメモリア
    レイが奇数アドレスを含み、さらに 前記第1および第2のアドレスカウンタに対応する第1
    および第2のデータポートを含み、前記データポートは
    動作の前記バーストモードにおいて同時に活性状態にな
    ることができ、かつ前記データポートは各々前記バース
    トモードで同時に活性状態にある際にクロック周期ごと
    に1データワードを転送し、さらに バーストモードアクセスの間に、前記第1および第2の
    アドレスカウンタからの偶数アドレス値を前記第1のメ
    モリアレイへ付与しかつ前記第1および第2のアドレス
    カウンタからの奇数アドレス値を前記第2のメモリアレ
    イに供給するためのアドレス多重化手段を含み、前記多
    重化手段は、偶数および奇数アドレスを前記第1および
    第2のアレイに同時に供給し、さらに 前記メモリアレイと前記データポートの間に接続され、
    バーストモードアクセスが停止されその後前記データポ
    ートのうち一方で再開される際に、前記データポート間
    の偶数および奇数アドレス同期を維持して、再開におけ
    る遅延を最小限にする同期化手段を含み、前記同期化手
    段が、それぞれ前記第1および第2のデータポートに対
    応する第1および第2の反転可能なFIFOを含み、さらに 前記装置の奇数および偶数位相を制御しかつ前記位相を
    示す位相信号を付与するための位相手段とを含み、 前記ポートのうち一方は、他方ポートがランダムアクセ
    スモードにある際にバーストモードでデータを転送す
    る、装置。
JP02267540A 1989-10-03 1990-10-03 第1および第2のアドレスカウンタを含む装置 Expired - Fee Related JP3113916B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41668089A 1989-10-03 1989-10-03
US416,680 1989-10-03

Publications (2)

Publication Number Publication Date
JPH03156789A JPH03156789A (ja) 1991-07-04
JP3113916B2 true JP3113916B2 (ja) 2000-12-04

Family

ID=23650876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02267540A Expired - Fee Related JP3113916B2 (ja) 1989-10-03 1990-10-03 第1および第2のアドレスカウンタを含む装置

Country Status (4)

Country Link
EP (1) EP0421627B1 (ja)
JP (1) JP3113916B2 (ja)
AT (1) ATE173348T1 (ja)
DE (1) DE69032757T2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287486A (en) * 1989-10-05 1994-02-15 Mitsubishi Denki Kabushiki Kaisha DMA controller using a programmable timer, a transfer counter and an or logic gate to control data transfer interrupts
JPH03122746A (ja) * 1989-10-05 1991-05-24 Mitsubishi Electric Corp Dma制御方式
US5469398A (en) * 1991-09-10 1995-11-21 Silicon Systems, Inc. Selectable width, brustable FIFO
KR940009733B1 (ko) * 1992-09-21 1994-10-17 삼성전자 주식회사 디지탈 신호 처리장치
JPH07182863A (ja) * 1993-12-22 1995-07-21 Nec Corp 内部アドレス生成回路
CA2150151A1 (en) * 1994-08-05 1996-02-06 John H. Baldwin First-in first-out memory
FR2728379A1 (fr) * 1994-12-15 1996-06-21 Matra Mhs Dispositif de gestion d'une memoire fifo
KR100528450B1 (ko) * 1997-12-26 2006-02-10 삼성전자주식회사 동기형 메모리 장치
KR100306966B1 (ko) * 1998-08-04 2001-11-30 윤종용 동기형버스트반도체메모리장치
US7082071B2 (en) 2001-08-23 2006-07-25 Integrated Device Technology, Inc. Integrated DDR/SDR flow control managers that support multiple queues and MUX, DEMUX and broadcast operating modes
US6795360B2 (en) 2001-08-23 2004-09-21 Integrated Device Technology, Inc. Fifo memory devices that support all four combinations of DDR or SDR write modes with DDR or SDR read modes
US7120075B1 (en) 2003-08-18 2006-10-10 Integrated Device Technology, Inc. Multi-FIFO integrated circuit devices that support multi-queue operating modes with enhanced write path and read path queue switching

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2084361B (en) * 1980-09-19 1984-11-21 Sony Corp Random access memory arrangements
US4674032A (en) * 1984-04-02 1987-06-16 Unisys Corporation High-performance pipelined stack with over-write protection
US4875196A (en) * 1987-09-08 1989-10-17 Sharp Microelectronic Technology, Inc. Method of operating data buffer apparatus
GB8824373D0 (en) * 1988-10-18 1988-11-23 Hewlett Packard Ltd Buffer memory arrangement

Also Published As

Publication number Publication date
JPH03156789A (ja) 1991-07-04
EP0421627A2 (en) 1991-04-10
EP0421627A3 (en) 1993-12-29
ATE173348T1 (de) 1998-11-15
EP0421627B1 (en) 1998-11-11
DE69032757D1 (de) 1998-12-17
DE69032757T2 (de) 1999-06-24

Similar Documents

Publication Publication Date Title
US5261064A (en) Burst access memory
US6175893B1 (en) High bandwidth code/data access using slow memory
US5557768A (en) Functional pipelined virtual multiport cache memory with plural access during a single cycle
US4799199A (en) Bus master having burst transfer mode
US8397020B2 (en) Memory array and method with simultaneous read/write capability
KR100272072B1 (ko) 동기형 다이나믹 램들을 활용한 고성능, 고대역폭 메모리 버스구조체
US7907469B2 (en) Multi-port memory device for buffering between hosts and non-volatile memory devices
US7096296B2 (en) Supercharge message exchanger
US20030182513A1 (en) Memory system with burst length shorter than prefetch length
EP2767908A1 (en) Method and system for improving serial port memory communication latency and reliability
JP3113916B2 (ja) 第1および第2のアドレスカウンタを含む装置
JPH0740430B2 (ja) メモリ装置
US6202119B1 (en) Method and system for processing pipelined memory commands
US5787489A (en) Synchronous SRAM having pipelined enable
EP0473302A2 (en) Memory device with improved means for controlling data transfer
JP4618758B2 (ja) クワッドデータレートシンクロナス半導体メモリ装置の駆動方法
JP3020008B2 (ja) マルチポート・メモリのためのパイプライン型多重化
US6487617B1 (en) Source-destination re-timed cooperative communication bus
US7069406B2 (en) Double data rate synchronous SRAM with 100% bus utilization
US5007012A (en) Fly-by data transfer system
US6094703A (en) Synchronous SRAM having pipelined memory access enable for a burst of addresses
JP2001035158A (ja) メモリアクセス方法及びメモリアクセス方式
JPH0855495A (ja) 同期メモリデバイスを非同期メモリデバイスとして再構成する回路及び方法
JP3765452B2 (ja) 半導体記憶装置
JP2689523B2 (ja) Dma転送装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees