JP2000173261A - 修正されたピンポンモ―ドで動作するメモリ - Google Patents

修正されたピンポンモ―ドで動作するメモリ

Info

Publication number
JP2000173261A
JP2000173261A JP11344007A JP34400799A JP2000173261A JP 2000173261 A JP2000173261 A JP 2000173261A JP 11344007 A JP11344007 A JP 11344007A JP 34400799 A JP34400799 A JP 34400799A JP 2000173261 A JP2000173261 A JP 2000173261A
Authority
JP
Japan
Prior art keywords
memory
address
data
cycle
storage locations
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11344007A
Other languages
English (en)
Inventor
James W Seery
ダブリュ.シーリイ ジェームス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of JP2000173261A publication Critical patent/JP2000173261A/ja
Pending 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 本発明は、アプリケーション仕様の集積回路
において使用されるメモリデバイスに関する。 【解決手段】 メモリは、2nの累乗の倍数でない複数
の格納場所を有するにもかかわらず、第1のサイクルの
間、データを偶数(奇数)場所に書き込み、奇数(偶
数)場所からアンロードし、また、第2のサイクルの
間、データを奇数(偶数)場所に書き込み、偶数(奇
数)場所からアンロードし、そして以後のサイクルにつ
いて同様のことを行うことにより、ピンポンモードで動
作する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、アプリケーション
仕様の集積回路において使用されるメモリデバイスに関
する。
【0002】
【従来の技術及び発明が解決しようとする課題】メモリ
デバイスは、第1のサイクルの間、データがメモリの第
1の半分に格納され、次いで、前サイクルの間にメモリ
の第2の半分に格納されていたデータが、メモリから読
み出される、いわゆるピンポン式に使用されることがあ
る。次の第2のサイクルの間、データは、メモリの第2
の半分に格納され、メモリの第1の半分から読み出され
る。この読み出し/書き込み処理は、メモリ書き込みお
よび読み出しアドレスの最上位ビットを逆の状態に切り
替えることにより容易に達成される。これを実行するた
めに、メモリを構成する場所の数は、2nという累乗か
らなる倍数にする必要がある。たとえば、最上位を使用
して256の書き込み場所と256の読み出し場所間を
ピンポンする必要があるアプリケーションは、512場
所(2nという累乗からなる倍数)のメモリを、256
場所という2等分に分割することができる。しかし、ア
プリケーションが、400の書き込み場所と400の読
み出し場所のみを必要とした場合は、最上位ビットを用
いて、メモリの2つの半分を切り替えることができな
い。その理由は、800(400+400)という数
が、2nという累乗の倍数ではないからである。不都合
なことに、このアプリケーションは、もっと複雑なアド
レス方式にたよる必要がある。このアプリケーション
は、1024(800に最も近い値である2nの累乗の
倍数)の場所を有するもっと大きなメモリを使用するこ
とができる。典型的に、特大のメモリの使用は、そのコ
ストが比較的安いので問題はない。また、これは、アプ
リケーションが多数のピンポンメモリを使用する必要が
ある場合にも確かなことである。
【0003】しかしながら、集積回路のスペース(領
域)と電力消費が非常に制限されており、したがって、
効率的に使用される必要がある場合のアプリケーション
仕様集積回路(ASIC)の設計時に、問題が起こる。
このように、ピンポン目的のためにASIC上に集積す
る特大メモリデバイスは、スペースと電力消費が効率的
に使用されないので、意図とは逆の結果を招くだろう。
【0004】
【課題を解決するための手段】メモリを構成する場所の
数が2nの累乗の倍数である必要がないメモリの2つの
半分を切り替えるために最下位ビットを用いることによ
り、上述の課題を処置することができることがわかっ
た。そして、好都合にも、ほとんどどんなサイズのメモ
リでも、たとえば800の格納場所を有するメモリで
も、格納場所を無駄にすることなく、ピンポンモードで
使用することができる。
【0005】より詳細には、本発明の一態様によれば、
最下位ビットが0である第1のサイクルの間、偶数番号
のアドレスを有する場所は書き込み場所として使用され
かつ奇数番号のアドレスを有する場所は読み出し場所と
して使用され、最下位ビットが1に切り替えられる次の
サイクルの間、その逆に使用されるように、最下位ビッ
トを切り替える。
【0006】本発明のこれらおよび他の態様は、添付図
面に関して読まれる場合以下の詳細な説明からわかる。
【0007】
【発明の実施の形態】本発明の理解を容易にするため
に、まず以下に、最上位ビット(MSB)を使用してメ
モリの2つの半分を切り替える従来のピンポンメモリの
動作を説明する。次いで、メモリの一方の半分が偶数場
所からなり、他方の半分が奇数場所からなり、場所の数
が2nの累乗の倍数である必要がないように、メモリ、
たとえば768場所を有するメモリの2つの半分を切り
替える本発明を説明する。
【0008】そこで、図1は、なかんずく、メモリ10
0と、アドレスカウンタ10と、フリップフロップ5を
有する最大カウント回路15とからなる例示的なメモリ
システムの概略ブロック図である。書き込みおよび読み
出しポート101−1および101−2があるだけで、
メモリ100のデータインおよびデータアウトポート
は、他のポートと同様に示されていない。メモリ100
を構成する場所の数Mは、特定のシステムサイクル、た
とえば第1のサイクルの間、データをメモリの半分10
0−1に書き込み、メモリの半分100−2から読み出
すことができるように、2nの累乗で分割することがで
きると仮定される。次の第2のサイクルの間、データ
は、メモリの半分100−1から読み出され、メモリの
半分100−2に書き込まれる。システムは、現在第1
のシステムサイクルにあり、フリップフロップ5の出力
は0であり、書き込みアドレスの最上位ビット(MS
B)としてリード25に出力され、ポート101−1に
供給されていると仮定する。インバータ30は、フリッ
プフロップ5より供給される出力を反転し、反転結果を
読み出しポート101−2に供給する。したがって、ポ
ート101−1にMSBとして0が供給されると、バイ
ナリ1がMSBとしてポート101−2に供給され、ま
たその逆が行われ、それにより、メモリ100の2つの
半分は、いわゆるピンポンモードで動作する。
【0009】カウンタ10は、従来の仕方で、リードC
LKを介して供給されるシステムクロックパルスをカウ
ントし、そのカウント値を、MSBの値で補われるメモ
リ読み出し/書き込みの下位アドレスビットとして出力
する。したがって、カウント値がゼロである第1のサイ
クルにおいては、リード25および35上のMSBの値
の結果として、メモリの半分100−1の第1の場所
が、書き込み場所としてアドレスされると共に、メモリ
の半分100−2の第1の場所が、読み出し場所として
アドレスされる。次のクロックパルスに対しては、カウ
ンタ10は1に進み、その値は、リード25を介して供
給されるMSBの値と共に、メモリ100のWポート1
01−1を、半分100−1における次の格納場所にア
ドレスさせる。カウンタ10の出力と、リード35上の
MSBの値は、同様に、Rポート101−2を、半分1
00−2における次の格納場所にアドレスさせる。以
下、カウンタ10の値がM/S、たとえば1024/2
に達するまで、同様のことが行われる。すなわち、最大
カウント回路15は、下位アドレスとしてバス20に出
力されたカウント値を、M/2の値と引き続き比較す
る。これらの値が互いに等しい場合、最大カウント回路
15は、次のクロックパルスを使用してアドレスカウン
タ10をクリアすると共にフリップフロップ5を切り替
え、それにより、次のシステムサイクルの間、Wポート
101−1をメモリ半分100−2にアドレスせしめか
つRポート101−2をメモリ半分100−1−1にア
ドレスせしめる。それだけで、そのシステムサイクルの
間、システムデータ受信部(図示しない)は、メモリ半
分101−1からデータを受信し(読み出し)、システ
ムデータ供給部(図示しない)は、データをメモリ半分
101−2にロードする(書き込む)。次の第3のサイ
クルの間、受信部は、供給部がメモリ101−2に格納
したデータをロードせず、データ供給部は、新しいデー
タをメモリ半分101−1にロードする。
【0010】メモリ100が、Mをたとえば800に等
しくしたアプリケーションで使用され、かつメモリの総
数がたとえば1024であった場合は、図1に示される
ように、その場所のうちの224が使用されないだろう
ということに注意されたい。
【0011】本発明の原理にしたがって配置されたメモ
リシステムの一例が、図2に示されている。メモリ20
0は、より詳細には、ASIC(図3)に配置された従
来のメモリであり、2nの累乗の倍数、たとえばM=7
68で内格納場所数から構成されている。したがって、
メモリ200の各半分200−1および200−2は、
M/2=384の場所からなり、これらの場所は、本発
明の態様にしたがってピンポン式にアクセスされる。特
に、データは、第1のシステムサイクルの間、メモリ2
00の偶数場所に書き込むことができると共に、メモリ
の奇数場所から読み出すことができる。同様に、データ
は、次のシステムサイクルの間、メモリ200の偶数場
所から読み出すことができると共に、メモリの奇数場所
に書き込む(ロードする)ことができる。特に、このシ
ステムは、現在第1のシステムサイクルになっており、
フリップフロップ205の出力は0であり、これは、リ
ード225に書き込みアドレスの最下位ビット(LS
B)として出力され、ポート201−1に供給される。
インバータ230は、フリップフロップ205より供給
される出力を反転し、反転結果を読み出しポート201
−2に供給する。したがって、LSBとして0がポート
201−1に供給された場合、バイナリ1がLSBとし
てポート201−2に供給され、また、LSBとして1
がポート201−1に供給された場合、バイナリ0がL
SBとしてポート201−2に供給される。それによ
り、メモリ200の2つの半分(奇数および偶数場所)
が修正されたピンポンモードで動作し、データは、上述
のように、偶数アドレスを有する格納場所に書き込まれ
ると共に、奇数アドレスを有するメモリ200の場所か
ら読み出される。
【0012】カウンタ210は、従来通り、加算器ラッ
チ210−1と加算器210−2から構成され、Wポー
ト201―1とRポート201−2のための上位アドレ
スを発生し、リードCLKを介するラッチ210−1か
らのクロックパルスの受信に応じて1ビットだけ上位ア
ドレスを進める。アドレスのLSBは、上述のように、
フリップフロップよりリード225を介して供給され
る。同様に、カウント値が0かつリード225上のLS
Bが0である第1のサイクルにおいて、メモリ200の
最初の偶数場所(アドレス00)が、書き込み場所とし
てアドレスされると共に、メモリ200の最初の奇数場
所(アドレス01)が、読み出し場所としてアドレスさ
れる。すなわち、データは、最初の場所にロードされ
(書き込まれ)、次の場所から読み出される。次のクロ
ックパルスの受信に基づき、ラッチ210−1のカウン
トは1だけ進められる。その時点では、メモリ200の
第2の偶数場所(アドレス10)が、書き込み場所とし
てアドレスされると共に、第2の奇数場所(アドレス1
1)が、読み出し場所としてアドレスされる。以下、カ
ウンタ210が最後の上位アドレスとして383をバス
220に出力するまで、同じことが繰り返され、それに
より、図3に示されるように、メモリ200の383番
目+0が書き込み場所としてアドレスされると共に、メ
モリ200の383番目+1が読み出し場所としてアド
レスされる。同様に、比較器215は、カウンタ210
が上位アドレスバス220に出力する各アドレスを、M
/2の値(この値は、この例では384と仮定される)
と比較する。バス220上の上位アドレスがM/2の値
と等しければ、次のクロックパルスにより、比較器21
5は、フリップフロップ205をセットし、リード22
5に出力されるLSBの値を変更する。すなわち、LS
Bの値は、反対の状態に切り替えられる。それだけで、
現在と後続のクロックサイクルの間、(リード/バス2
41で表される)システムデータ受信部は、偶数アドレ
スを有するメモリ100場所からデータを受信し(読み
出し)、(リード240で表される)システムデータ供
給部は、奇数アドレスを有するメモリ200場所にデー
タをロードし(書き込み)、以下図4に示すように行わ
れる。
【0013】好適には、本発明の一態様にしたがって、
メモリ200の場所数は、2nの累乗の倍数になってい
ないが、それぞれのアプリケーションが要求し(すなわ
ち、、2で割ることができ)、ピンポンモードで動作す
るのを希望するほとんどどんなサイズでも良い。
【0014】図5は、メモリ300−1を除いて、メモ
リ300−2および300−3のサイズが2nの累乗の
倍数ではない、本発明のピンポンモードにしたがって各
々が動作する多数の異なるメモリを有するASIC30
0の一例である。
【0015】したがって、ここに示されている本発明
は、特定の実施例に関して説明されているが、当業者
は、ここに明確に示され説明されていないにもかかわら
ず、本発明の原理を具体化しかつその精神および範囲内
にある多くの他の配置を工夫することができることがわ
かる。たとえば、請求されている発明は、2nの累乗の
倍数のどれかである多くの場所を有するメモリと共に使
用することができる。また、メモリにアクセスするため
に生じるアドレスは、必ずしも順番になっている必要が
ない。さらに、メモリのサイズは、必ずしも2で割れる
必要がない。
【図面の簡単な説明】
【図1】メモリの2つの半分が従来のピンポンモードで
使用されるメモリシステムの概略ブロック図である。
【図2】本発明に原理にしたがって動作するメモリシス
テムの概略ブロック図である。
【図3】前記動作の一例を示す図である。
【図4】前記動作の一例を示す図である。
【図5】多数の異なるメモリを搭載したASICの概略
ブロック図である。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 予め決められた数の格納場所を有すると
    共に読み出しポートおよび書き込みポートを有するメモ
    リと、 第1のサイクルの間、それぞれの偶数値のアドレスが上
    記書き込みポートに供給されかつそれぞれの奇数値のア
    ドレスが上記読み出しポートに供給されるように、ま
    た、次の第2のサイクルの間、それぞれの奇数値のアド
    レスが上記書き込みポートに供給されかつそれぞれの偶
    数値のアドレスが上記読み出しポートに供給されるよう
    に、そして以後のサイクルについて同様のことが行われ
    るように、それぞれ、上記メモリにデータを書き込み、
    上記メモリからデータを読み出すために上記書き込みポ
    ートおよび読み出しポートに供給される一連のアドレス
    を発生する装置とからなるメモリシステム。
  2. 【請求項2】 請求項1記載のメモリシステムにおい
    て、さらに、 前記一連のアドレスを発生する第1のアドレス発生器
    と、 各々の前記サイクルのスタート時にそれぞれ反対のバイ
    ナリ値に変更される相補的なバイナリ値を有する第1お
    よび第2のビットを発生する第2のアドレス発生器とを
    含み、 上記第1のビットは、前記書き込みポートに供給される
    各アドレスに対して最下位ビットとして供給され、上記
    第2のビットは、前記読み出しポートに供給される各ア
    ドレスに対して最下位ビットとして供給されるメモリシ
    ステム。
  3. 【請求項3】 請求項1記載のメモリシステムにおい
    て、さらに、前記装置が発生する各アドレスを、前記予
    め決められた数の1/2の値と比較し、上記比較が真で
    ある場合に、第1のアドレスで前記一連のアドレスの発
    生をスタートするように前記装置を初期化することによ
    り前記サイクルを次の連続するサイクルに切り替える比
    較器を含むメモリシステム。
  4. 【請求項4】 請求項1記載のメモリシステムにおい
    て、前記メモリと装置はASIC上に集積されているメ
    モリシステム。
  5. 【請求項5】 M>1の場合のM個の格納場所を有する
    メモリと、 第1のサイクルの間、データをデータ供給部から受信し
    た時に、M個の格納場所のうち連続する奇数アドレスを
    有するそれぞれの格納場所に格納し、データをデータ受
    信部に運ぶために、M個の格納場所のうち連続する偶数
    アドレスを有するそれぞれの格納場所からデータをアン
    ロードする装置とからなるメモリシステム。
  6. 【請求項6】 予め決められた数の格納場所を有するメ
    モリと、 第1のサイクルの間、データをデータ供給部から受信し
    た時に、連続する格納場所のうちの奇数アドレスを有す
    るそれぞれの格納場所に格納し、かつ連続する格納場所
    のうち偶数アドレスを有するそれぞれの格納場所からデ
    ータをアンロードし、アンロードされたデータをデータ
    受信部に供給すると共に、第2のサイクルの間、データ
    をデータ供給部から受信した時に、連続する格納場所の
    うちの偶数アドレスを有するそれぞれの格納場所に格納
    し、また連続する格納場所のうち奇数アドレスを有する
    それぞれの格納場所からデータをアンロードして、アン
    ロードされたデータをデータ受信部に供給し、そして以
    後のサイクルについて同様のことを行う装置とからなる
    メモリシステム。
  7. 【請求項7】 予め決められた数の格納場所を有するメ
    モリと、 連続する各サイクルの間、上記メモリの上記場所の半分
    の各アドレスに対応する連続するアドレスストリームと
    して発生し、発生したアドレスを上記メモリの書き込み
    ポートおよび読み出しポートに供給するアドレス発生器
    と、 そのバイナリ値が各サイクルのスタート時に反対の値に
    変わるビットを最下位ビットとして、メモリ書き込みア
    ドレスとして書き込みポートに供給される上記発生した
    アドレスの各々に加算すると共に、上記ビットの相補的
    な値を最下位ビットとして、メモリ読み出しアドレスと
    して読み出しポートに供給される上記発生したアドレス
    の各々に加算する装置とからなるメモリシステム。
JP11344007A 1998-12-03 1999-12-03 修正されたピンポンモ―ドで動作するメモリ Pending JP2000173261A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US20457398A 1998-12-03 1998-12-03
US09/204573 1998-12-03

Publications (1)

Publication Number Publication Date
JP2000173261A true JP2000173261A (ja) 2000-06-23

Family

ID=22758483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11344007A Pending JP2000173261A (ja) 1998-12-03 1999-12-03 修正されたピンポンモ―ドで動作するメモリ

Country Status (3)

Country Link
EP (1) EP1006435A1 (ja)
JP (1) JP2000173261A (ja)
CA (1) CA2287034A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293538A (ja) * 2005-04-07 2006-10-26 Renesas Technology Corp 演算システム
US7366968B2 (en) 2004-03-31 2008-04-29 Nec Corporation Data processing apparatus, and its processing method, program product and mobile telephone apparatus
US8612505B1 (en) * 2008-07-14 2013-12-17 The Mathworks, Inc. Minimum resource fast fourier transform

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9442846B2 (en) 2009-03-17 2016-09-13 Cisco Technology, Inc. High speed memory systems and methods for designing hierarchical memory systems
US8266408B2 (en) 2009-03-17 2012-09-11 Memoir Systems, Inc. System and method for storing data in a virtualized high speed memory system
US8433880B2 (en) 2009-03-17 2013-04-30 Memoir Systems, Inc. System and method for storing data in a virtualized high speed memory system
WO2011075167A1 (en) 2009-12-15 2011-06-23 Memoir Systems,Inc. System and method for reduced latency caching
CN113704362A (zh) * 2021-11-01 2021-11-26 中科声龙科技发展(北京)有限公司 一种实现Equihash算法的芯片及方法
US11853596B2 (en) * 2021-12-06 2023-12-26 Taiwan Semiconductor Manufacturing Company, Ltd. Data sequencing circuit and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS607529A (ja) * 1983-06-27 1985-01-16 Mitsubishi Electric Corp バツフアメモリ装置
JPS6228993A (ja) * 1985-07-30 1987-02-06 Toshiba Corp 記憶装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366968B2 (en) 2004-03-31 2008-04-29 Nec Corporation Data processing apparatus, and its processing method, program product and mobile telephone apparatus
JP2006293538A (ja) * 2005-04-07 2006-10-26 Renesas Technology Corp 演算システム
US8612505B1 (en) * 2008-07-14 2013-12-17 The Mathworks, Inc. Minimum resource fast fourier transform

Also Published As

Publication number Publication date
CA2287034A1 (en) 2000-06-03
EP1006435A1 (en) 2000-06-07

Similar Documents

Publication Publication Date Title
US5652536A (en) Non-glitch clock switching circuit
US6381684B1 (en) Quad data rate RAM
US5463542A (en) DC/DC converter and RS-232 interface circuit using the same
US20020074568A1 (en) Semiconductor memory having refresh function
JPH10198597A (ja) 直列的に提供されるデータストリームのためのレジスタ格納先を選択する方法
JPH1165699A (ja) 半導体集積回路装置
JP2000173261A (ja) 修正されたピンポンモ―ドで動作するメモリ
JP2002519773A (ja) クロック回路のデータレートを制御する方法および装置
JP2004259343A (ja) 半導体記憶装置
US5418932A (en) Generation of width modulated pulses by relatively adjusting rising and falling edges upon comparison of counter with programmably stored values
JP2719052B2 (ja) マイクロコンピュータ
US4999807A (en) Data input circuit having latch circuit
JP2006252656A (ja) マルチポートメモリ装置
US6272065B1 (en) Address generating and decoding circuit for use in burst-type random access memory device having a double data rate, and an address generating method thereof
US20050024942A1 (en) Semiconductor memory device having a burst continuous read function
US7366012B2 (en) Synchronous memory device with reduced power consumption
US6249839B1 (en) Color palette RAM and D/A converter
US5778447A (en) System and method for fast memory access using speculative access in a bus architecture system
JP4678471B2 (ja) 均衡が取れたデュアルエッジでトリガーされたデータビットシフトの回路および方法
US20010012290A1 (en) Data input circuit and semiconductor device utilizing data input circuit
JP2000330862A (ja) マイクロコントローラ
US6901470B1 (en) Data input/output system
KR100546170B1 (ko) 내부 어드레스신호 발생장치
KR100703584B1 (ko) 조정형 이중-에지 트리거식 데이터 비트 시프팅 회로 및 방법
JP4061841B2 (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050316

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050810