JPH0441439B2 - - Google Patents
Info
- Publication number
- JPH0441439B2 JPH0441439B2 JP59237412A JP23741284A JPH0441439B2 JP H0441439 B2 JPH0441439 B2 JP H0441439B2 JP 59237412 A JP59237412 A JP 59237412A JP 23741284 A JP23741284 A JP 23741284A JP H0441439 B2 JPH0441439 B2 JP H0441439B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- input
- output
- lead
- gate
- 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
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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/16—Multiplexed 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)
- Communication Control (AREA)
- Dram (AREA)
Description
【発明の詳細な説明】
本発明は先入れ先出し(FIFO)メモリシステ
ムに関するものであつて、特に複数個の“フオー
ルスルー(fall−through)”スタツクを有する高
速のFIFOメモリに関するものである。
ムに関するものであつて、特に複数個の“フオー
ルスルー(fall−through)”スタツクを有する高
速のFIFOメモリに関するものである。
第1図はFIFOメモリシステムのブロツク線図
であり、それは本発明のFIFOメモリシステムの
みならず、従来のFIFOメモリをも包含する様に
充分広範に描かれている。この総括的なFIFOメ
モリバツフア10は、FIFOメモリ4を有してお
り、それは、夫々、入力ポート1を介してのデー
タの書込と出力ポート7を介してのデータの読出
とを同時的に行なうことを可能としている。更
に、FIFOプロトコールが、最初にメモリに書き
込まれ、次いでメモリから読み出されるデータに
課される。
であり、それは本発明のFIFOメモリシステムの
みならず、従来のFIFOメモリをも包含する様に
充分広範に描かれている。この総括的なFIFOメ
モリバツフア10は、FIFOメモリ4を有してお
り、それは、夫々、入力ポート1を介してのデー
タの書込と出力ポート7を介してのデータの読出
とを同時的に行なうことを可能としている。更
に、FIFOプロトコールが、最初にメモリに書き
込まれ、次いでメモリから読み出されるデータに
課される。
入力制御論理2はFIFOメモリ4がその容量一
杯につめ込まれているか否かを表す情報をユーザ
へ供給し、且つFIFOメモリが更にデータを受け
取る準備がなされているかどうかを表す情報をユ
ーザへ供給する。出力制御論理5は、メモリが空
であるかどうか又データをメモリから読み出す準
備がなされているかどうかを表す情報をユーザへ
供給する。FIFOメモリ4が容量一杯につめ込ま
れていると、入力制御論理2が更に付加的なデー
タがFIFOメモリ4へ入力されることを禁止する。
同様に、FIFOメモリ4が空であると、出力制御
論理5がFIFOメモリ4からデータを除去せんと
する試みを禁止する。
杯につめ込まれているか否かを表す情報をユーザ
へ供給し、且つFIFOメモリが更にデータを受け
取る準備がなされているかどうかを表す情報をユ
ーザへ供給する。出力制御論理5は、メモリが空
であるかどうか又データをメモリから読み出す準
備がなされているかどうかを表す情報をユーザへ
供給する。FIFOメモリ4が容量一杯につめ込ま
れていると、入力制御論理2が更に付加的なデー
タがFIFOメモリ4へ入力されることを禁止する。
同様に、FIFOメモリ4が空であると、出力制御
論理5がFIFOメモリ4からデータを除去せんと
する試みを禁止する。
データ入力バツフア3は入力ポート1に現れる
入力信号を電気的にバツフアし、適切な動作を行
なう為にFIFOメモリ4によつて必要とされるデ
ータ入力信号の電圧レベルを発生する。データ出
力バツフア6はFIFOメモリ4のデータワード読
出を表す信号を電気的にバツフアし、かくしてバ
ツフアした信号を外部回路(不図示)へ供給す
る。
入力信号を電気的にバツフアし、適切な動作を行
なう為にFIFOメモリ4によつて必要とされるデ
ータ入力信号の電圧レベルを発生する。データ出
力バツフア6はFIFOメモリ4のデータワード読
出を表す信号を電気的にバツフアし、かくしてバ
ツフアした信号を外部回路(不図示)へ供給す
る。
FIFOメモリシステム10がスタンダードなシ
フトレジスタと異なる特徴は、適切な内部動作条
件が満足される場合には、データの読出及び書込
を異なつた速度で行なうことも含めて、入力ポー
トと出力ポートとを完全に非同期的に動作させる
能力である。
フトレジスタと異なる特徴は、適切な内部動作条
件が満足される場合には、データの読出及び書込
を異なつた速度で行なうことも含めて、入力ポー
トと出力ポートとを完全に非同期的に動作させる
能力である。
従来のFIFOメモリシステムは内部構成に応じ
て2つの種類、即ちフオールスルーシステムとポ
インターを基礎としたシステム、とに分割するこ
とが可能である。フオールスルーFIFOメモリシ
ステム19の内部構成を第2図に示してある。フ
オールスルーFIFOメモリ20は、連続的に21
−0から21−(N−1)と番号を付けたデータ
レジスタのスタツク21と、制御レジスタ23−
0,…,23−(N−1)のスタツク23と、ワ
ード伝播論理27とを有している。
て2つの種類、即ちフオールスルーシステムとポ
インターを基礎としたシステム、とに分割するこ
とが可能である。フオールスルーFIFOメモリシ
ステム19の内部構成を第2図に示してある。フ
オールスルーFIFOメモリ20は、連続的に21
−0から21−(N−1)と番号を付けたデータ
レジスタのスタツク21と、制御レジスタ23−
0,…,23−(N−1)のスタツク23と、ワ
ード伝播論理27とを有している。
このシステムの動作はバケツトブリゲードのも
のと類似している。データレジスタ21−0乃至
21−(N−1)と夫々関連した制御レジスタ2
3−0乃至23−(N−1)の各々は、その関連
したデータレジスタが空の場合に論理0を有し、
その関連するデータレジスタが情報を有している
場合に論理1をストアする。最初に、空のメモリ
の場合に付いて考察する。空のメモリの場合、制
御レジスタ23−0乃至23−(N−1)が各々
論理0をストアする。データワードが入力ポート
28からフオールスルーFIFOメモリ20内にシ
フト入力されると、それはデータレジスタ21−
0内にラツチされ、且つ制御レジスタ23−0が
論理1にセツトされる。このシフト入力サイクル
が完了すると、ワード伝播論理27が、制御レジ
スタ23−1が論理0をストアし(即ち、データ
レジスタ21−1が空)且つ制御レジスタ23−
0が論理1をストア(即ち、データレジスタ21
−0が満杯)であることを検出し、データレジス
タ21−0からデータレジスタ21−1へのデー
タの伝送を開始し、且つ制御レジスタ23−0を
論理0へリセツトするので、それはデータレジス
タ21−0が空であることを表し制御レジスタ2
3−1を論理1にセツトし、それはデータレジス
タ21−1が満杯であることを表す。同様に、デ
ータワードは、それがデータレジスタ21−(N
−1)に到達する迄フオールスルーFIFOメモリ
の各データレジスタを介して連続的に転送され
る。メモリに書き込まれる次のワードがデータレ
ジスタ21−(N−2)にフオールスルーし、こ
の様に、データワードは、フオールスルーFIFO
メモリ20が満杯になる迄データ入力バツフア2
2へ向かつて連続的にデータレジスタ内をフオー
ルスルーし停止することを継続する。制御レジス
タ23−0が論理0をストアしている場合にはい
つでもワードをデータレジスタ21−0内にシフ
ト入力させることが可能であり、且つ或る制御レ
ジスタが論理1をストアしており又次の下位の制
御レジスタが論理0をストアしていることをワー
ド伝播論理27が検出するとメモリ内の各ワード
は或るデータレジスタからスタツク内の次の下位
のデータレジスタへフオール即ち降下し、従つて
或る時間において1つを越えたワードがフオール
スループロセス中に存在することが可能である。
のと類似している。データレジスタ21−0乃至
21−(N−1)と夫々関連した制御レジスタ2
3−0乃至23−(N−1)の各々は、その関連
したデータレジスタが空の場合に論理0を有し、
その関連するデータレジスタが情報を有している
場合に論理1をストアする。最初に、空のメモリ
の場合に付いて考察する。空のメモリの場合、制
御レジスタ23−0乃至23−(N−1)が各々
論理0をストアする。データワードが入力ポート
28からフオールスルーFIFOメモリ20内にシ
フト入力されると、それはデータレジスタ21−
0内にラツチされ、且つ制御レジスタ23−0が
論理1にセツトされる。このシフト入力サイクル
が完了すると、ワード伝播論理27が、制御レジ
スタ23−1が論理0をストアし(即ち、データ
レジスタ21−1が空)且つ制御レジスタ23−
0が論理1をストア(即ち、データレジスタ21
−0が満杯)であることを検出し、データレジス
タ21−0からデータレジスタ21−1へのデー
タの伝送を開始し、且つ制御レジスタ23−0を
論理0へリセツトするので、それはデータレジス
タ21−0が空であることを表し制御レジスタ2
3−1を論理1にセツトし、それはデータレジス
タ21−1が満杯であることを表す。同様に、デ
ータワードは、それがデータレジスタ21−(N
−1)に到達する迄フオールスルーFIFOメモリ
の各データレジスタを介して連続的に転送され
る。メモリに書き込まれる次のワードがデータレ
ジスタ21−(N−2)にフオールスルーし、こ
の様に、データワードは、フオールスルーFIFO
メモリ20が満杯になる迄データ入力バツフア2
2へ向かつて連続的にデータレジスタ内をフオー
ルスルーし停止することを継続する。制御レジス
タ23−0が論理0をストアしている場合にはい
つでもワードをデータレジスタ21−0内にシフ
ト入力させることが可能であり、且つ或る制御レ
ジスタが論理1をストアしており又次の下位の制
御レジスタが論理0をストアしていることをワー
ド伝播論理27が検出するとメモリ内の各ワード
は或るデータレジスタからスタツク内の次の下位
のデータレジスタへフオール即ち降下し、従つて
或る時間において1つを越えたワードがフオール
スループロセス中に存在することが可能である。
データワードがメモリからシフト出力される
と、シフトアウト手順が制御レジスタ23−(N
−1)を論理1から論理ゼロへリセツトする。典
型的なフオールスルー動作においては、制御レジ
スタ23−(N−2)が論理1を有していると、
データレジスタ21−(N−2)内のデータワー
ドがデータレジスタ21−(N−1)へ前方へ伝
播し、出力ポート29に現れる。FIFO内に残存
する全てのワードは引き続き1つのデータレジス
タをデータ出力バツフア24へ向かつて進行させ
る。スタツク23の上部における制御レジスタ2
3−0が論理0を有する場合にのみ、即ちデータ
レジスタ21−0が空であることを表す場合にの
み、入力制御論理25によるデータ入力が許可さ
れる。同様に、スタツク23の下部における制御
レジスタ23−(N−1)が論理1を有している
場合にのみ、即ちデータレジスタ21−(N−1)
が満杯である場合にのみ、出力制御論理26によ
るデータ出力が許可される。
と、シフトアウト手順が制御レジスタ23−(N
−1)を論理1から論理ゼロへリセツトする。典
型的なフオールスルー動作においては、制御レジ
スタ23−(N−2)が論理1を有していると、
データレジスタ21−(N−2)内のデータワー
ドがデータレジスタ21−(N−1)へ前方へ伝
播し、出力ポート29に現れる。FIFO内に残存
する全てのワードは引き続き1つのデータレジス
タをデータ出力バツフア24へ向かつて進行させ
る。スタツク23の上部における制御レジスタ2
3−0が論理0を有する場合にのみ、即ちデータ
レジスタ21−0が空であることを表す場合にの
み、入力制御論理25によるデータ入力が許可さ
れる。同様に、スタツク23の下部における制御
レジスタ23−(N−1)が論理1を有している
場合にのみ、即ちデータレジスタ21−(N−1)
が満杯である場合にのみ、出力制御論理26によ
るデータ出力が許可される。
従来のフオールスルーメモリシステムの1例
は、本願出願人のモノリシツクメモリーズ、イン
コーポレイテツドに譲渡されており1979年に発行
された発明者Mossの「先入れ先出し(FIFO)メ
モリ」という名称の米国特許第4151609号に記載
されている。
は、本願出願人のモノリシツクメモリーズ、イン
コーポレイテツドに譲渡されており1979年に発行
された発明者Mossの「先入れ先出し(FIFO)メ
モリ」という名称の米国特許第4151609号に記載
されている。
ポインターを基礎にしたFIFOメモリシステム
の動作と比較してフオールスルーFIFOメモリシ
ステムの動作には特に重要な3つの特徴がある。
第1に、空のフオールスルーFIFOメモリのデー
タレジスタ21−0に入つた最初のワードが最後
のデータレジスタ21−(N−1)へ伝播するの
に関連して著しい遅れ(フオールスルー時間)が
ある。この遅れは、又、データワードが満杯のフ
オールスルーFIFOメモリからシフト出力される
場合に出力データレジスタ位置(データレジスタ
21−(N−1))から入力レジスタ位置(データ
レジスタ21−0)へ空のレジスタ位置が戻る為
の逆方向伝播においても存在する。この遅れは、
各データワードはそれが読み出される前にフオー
ルスルーFIFOメモリ内の全てのレジスタを介し
て通過せねばならないという事実の直接的結果で
ある。
の動作と比較してフオールスルーFIFOメモリシ
ステムの動作には特に重要な3つの特徴がある。
第1に、空のフオールスルーFIFOメモリのデー
タレジスタ21−0に入つた最初のワードが最後
のデータレジスタ21−(N−1)へ伝播するの
に関連して著しい遅れ(フオールスルー時間)が
ある。この遅れは、又、データワードが満杯のフ
オールスルーFIFOメモリからシフト出力される
場合に出力データレジスタ位置(データレジスタ
21−(N−1))から入力レジスタ位置(データ
レジスタ21−0)へ空のレジスタ位置が戻る為
の逆方向伝播においても存在する。この遅れは、
各データワードはそれが読み出される前にフオー
ルスルーFIFOメモリ内の全てのレジスタを介し
て通過せねばならないという事実の直接的結果で
ある。
第2に、フオールスルー構成によつて課される
シフト入力(及びシフト出力)サイクル時間に関
して重大な限定が存在することである。即ち、入
力ポート28又は出力ポート29の何れかにおけ
る理論的な最大データ転送速度はフオールスルー
レジスタスタツクの見掛けのシフト周波数の50%
に過ぎないということである。この制限の背後に
おける細かな理由は複雑であるが、データレジス
タ21−0内に高速で2つの連続するデータワー
ドからなるデータをシフト入力させる場合には以
下の如き動作シーケンスが必要であるということ
を注意することによつて要約することが可能であ
る。
シフト入力(及びシフト出力)サイクル時間に関
して重大な限定が存在することである。即ち、入
力ポート28又は出力ポート29の何れかにおけ
る理論的な最大データ転送速度はフオールスルー
レジスタスタツクの見掛けのシフト周波数の50%
に過ぎないということである。この制限の背後に
おける細かな理由は複雑であるが、データレジス
タ21−0内に高速で2つの連続するデータワー
ドからなるデータをシフト入力させる場合には以
下の如き動作シーケンスが必要であるということ
を注意することによつて要約することが可能であ
る。
(1) 最初のデータワードはデータ入力バツフア2
2を介して入力ポート28からフオールスルー
スタツク21のデータレジスタ21−0内にシ
フト入力される。
2を介して入力ポート28からフオールスルー
スタツク21のデータレジスタ21−0内にシ
フト入力される。
(2) 最初のデータワードがデータレジスタ21−
0からデータレジスタ21−1へシフトされ
る。
0からデータレジスタ21−1へシフトされ
る。
(3) ステツプ(2)におけるシフト動作が完了する前
ではないが完了するや否やデータ入力ポートか
ら第2のデータワードがデータレジスタ21−
0内へシフト入力される。
ではないが完了するや否やデータ入力ポートか
ら第2のデータワードがデータレジスタ21−
0内へシフト入力される。
フオールスルーFIFO構成の3番目の重要な特
徴は、データが常にデータ入力ポート28から同
一の物理的なメモリ位置内に移動し、同一の物理
的なメモリ位置のシーケンスを介して通過し、且
つ同一の物理的なメモリ位置からデータ出力バツ
フア24を介して出力ポート29へ移動するとい
る拘束があることである。
徴は、データが常にデータ入力ポート28から同
一の物理的なメモリ位置内に移動し、同一の物理
的なメモリ位置のシーケンスを介して通過し、且
つ同一の物理的なメモリ位置からデータ出力バツ
フア24を介して出力ポート29へ移動するとい
る拘束があることである。
ポインターを基礎にしたFIFOメモリシステム
の内部構成を第3図に示してある。ポインターを
基礎にしたFIFOメモリ30は、データを貯蔵す
る為のランダムアクセスメモリ(RAM)と制御
論理32とを有している。制御論理32は、
FIFOプロトコルを形成し、入力ポート35と
RAM31との間のインターフエースを制御し、
且つRAM31と出力ポート36との間のインタ
ーフエースを制御する。
の内部構成を第3図に示してある。ポインターを
基礎にしたFIFOメモリ30は、データを貯蔵す
る為のランダムアクセスメモリ(RAM)と制御
論理32とを有している。制御論理32は、
FIFOプロトコルを形成し、入力ポート35と
RAM31との間のインターフエースを制御し、
且つRAM31と出力ポート36との間のインタ
ーフエースを制御する。
制御論理32は、2つのカウンタと、入力アド
レスカウンタ32−1と、出力アドレスカウンタ
32−2と、アドレスマグニチユード比較器32
−3と、雑多事項制御論理32−4とを有してい
る。入力アドレスカウンタ32−1は、次のデー
タ入力ワードをストアすべき貯蔵位置のアドレス
を発生し、又出力アドレスカウンタ32−2は次
のデータ出力ワードを取り出すべき貯蔵位置のア
ドレスを発生する。アドレスマグニチユード比較
器32−3は、現在入力及び出力アドレスカウン
タ31−1及び32−2内にストアされている2
つのカウンタアドレスを比較し、RAM31が満
杯であるか又は空であるか否かを識別する。雑多
事項制御論理32−4は、内部RAM制御信号を
発生すると共に、入力制御論理33及び出力制御
論理37へRAM31と制御論理32の状態を表
す信号を提供する。
レスカウンタ32−1と、出力アドレスカウンタ
32−2と、アドレスマグニチユード比較器32
−3と、雑多事項制御論理32−4とを有してい
る。入力アドレスカウンタ32−1は、次のデー
タ入力ワードをストアすべき貯蔵位置のアドレス
を発生し、又出力アドレスカウンタ32−2は次
のデータ出力ワードを取り出すべき貯蔵位置のア
ドレスを発生する。アドレスマグニチユード比較
器32−3は、現在入力及び出力アドレスカウン
タ31−1及び32−2内にストアされている2
つのカウンタアドレスを比較し、RAM31が満
杯であるか又は空であるか否かを識別する。雑多
事項制御論理32−4は、内部RAM制御信号を
発生すると共に、入力制御論理33及び出力制御
論理37へRAM31と制御論理32の状態を表
す信号を提供する。
説明の便宜上、入力及び出力アドレスカウンタ
によつて発生されるアドレスは、0,1,2,
…,N−1として表し、ここでNはデータワード
をストアする為に使用可能なRAM31内の貯蔵
位置の番号を表している。各アドレスはRAM3
1内の独特のワード貯蔵位置に対応する。
によつて発生されるアドレスは、0,1,2,
…,N−1として表し、ここでNはデータワード
をストアする為に使用可能なRAM31内の貯蔵
位置の番号を表している。各アドレスはRAM3
1内の独特のワード貯蔵位置に対応する。
ポインターを基礎にしたFIFOメモリ30の動
作は簡明である。初期値化されると、
FIFORAM31は空となり、入力及び出力アド
レスカウンタ32−1及び32−2の両方が夫々
アドレス0にポイントを向ける。kがカウンタ内
の番号である場合に、カウンタはアドレスkをポ
イントしていると言う。データ入力バツフア34
を介して入力ポート35からFIFORAM31内
に最初のワードW(0)がロードされると、それ
はアドレス0を持つたワード貯蔵位置における
RAM31内にロードされる。
作は簡明である。初期値化されると、
FIFORAM31は空となり、入力及び出力アド
レスカウンタ32−1及び32−2の両方が夫々
アドレス0にポイントを向ける。kがカウンタ内
の番号である場合に、カウンタはアドレスkをポ
イントしていると言う。データ入力バツフア34
を介して入力ポート35からFIFORAM31内
に最初のワードW(0)がロードされると、それ
はアドレス0を持つたワード貯蔵位置における
RAM31内にロードされる。
概して、kが前にストアされていたデータワー
ドの数(k=0,1,2,…)であるとし、且つ
k(mod N)がkをNで割つた整数残部であると
すると、入力アドレスカウンタ32−1はアドレ
スがk(mod N)である貯蔵位置をポイントす
る。即ち、入力データワードW(0),W(1),
…,W(k),…がRAM31内に循環的にストア
され、データワードW(k)はそのアドレスがk
(mod N)でk=0,1,…に対する貯蔵位置内
にストアされる。比較器32−3は入力アドレス
カウンタが貯蔵位置が満杯であるアドレスをポイ
ントした時を検知し、次いでデータの入力は制御
論理32によつて禁止される。
ドの数(k=0,1,2,…)であるとし、且つ
k(mod N)がkをNで割つた整数残部であると
すると、入力アドレスカウンタ32−1はアドレ
スがk(mod N)である貯蔵位置をポイントす
る。即ち、入力データワードW(0),W(1),
…,W(k),…がRAM31内に循環的にストア
され、データワードW(k)はそのアドレスがk
(mod N)でk=0,1,…に対する貯蔵位置内
にストアされる。比較器32−3は入力アドレス
カウンタが貯蔵位置が満杯であるアドレスをポイ
ントした時を検知し、次いでデータの入力は制御
論理32によつて禁止される。
概して、jがRAMから以前読み出されたデー
タワードの数である(j=0,1,2,…)とし
て、出力アドレスカウンタ32−2はアドレスが
j(mod N)である貯蔵位置をポイントする。従
つて、データ出力ワードも循環的に読み出され
る。この場合も、出力アドレスカウンタが貯蔵位
置が空のアドレスをポイントすることを比較器3
2−3が検知すると、読出は制御論理32によつ
て禁止される。
タワードの数である(j=0,1,2,…)とし
て、出力アドレスカウンタ32−2はアドレスが
j(mod N)である貯蔵位置をポイントする。従
つて、データ出力ワードも循環的に読み出され
る。この場合も、出力アドレスカウンタが貯蔵位
置が空のアドレスをポイントすることを比較器3
2−3が検知すると、読出は制御論理32によつ
て禁止される。
上述した公式から明らかな如く、FIFORAM
31が空であるか又は満杯である場合にのみ入力
及び出力カウンタ上のアドレスは等しいというこ
とが分かる。これらのアドレスが等しい場合に
は、k=j(mod N)である。上述した拘束条件
の下で、k=jであつてその場合は前にストアさ
れたデータワードの数が前に読み出されたデータ
ワードの数と等しく即ちRAMが空であるか、又
はk=(j+N)であつてその場合は前にストア
したデータワードの数が前に読み出されたデータ
ワードの数よりRAM31内のワード貯蔵位置の
数であるNだけ越えており即ちRAM31は満杯
である。
31が空であるか又は満杯である場合にのみ入力
及び出力カウンタ上のアドレスは等しいというこ
とが分かる。これらのアドレスが等しい場合に
は、k=j(mod N)である。上述した拘束条件
の下で、k=jであつてその場合は前にストアさ
れたデータワードの数が前に読み出されたデータ
ワードの数と等しく即ちRAMが空であるか、又
はk=(j+N)であつてその場合は前にストア
したデータワードの数が前に読み出されたデータ
ワードの数よりRAM31内のワード貯蔵位置の
数であるNだけ越えており即ちRAM31は満杯
である。
逆に、RAM31が空であると、前にストアさ
れたデータワードの数は前に読み出されたワード
の数と等しく即ちk=jであり従つてk≡j
(mod N)である。又、RAM31が満杯である
と、前にストアされたデータワードの数が前に読
み出されたデータワードの数よりNだけ越え、従
つてk=(j+N)であり、この場合もk≡j
(mod N)である。従つて、RAM31が空であ
るか又は満杯であると、入力アドレスカウンタ3
2−1及び出力アドレスカウンタ32−2内の
夫々のアドレスk(mod N)及びj(mod N)は
等しい。
れたデータワードの数は前に読み出されたワード
の数と等しく即ちk=jであり従つてk≡j
(mod N)である。又、RAM31が満杯である
と、前にストアされたデータワードの数が前に読
み出されたデータワードの数よりNだけ越え、従
つてk=(j+N)であり、この場合もk≡j
(mod N)である。従つて、RAM31が空であ
るか又は満杯であると、入力アドレスカウンタ3
2−1及び出力アドレスカウンタ32−2内の
夫々のアドレスk(mod N)及びj(mod N)は
等しい。
マグニチユード比較器は、k≡j(mod N)で
あるか否かを決定してRAMが空であるか又は満
杯であるかを識別し、且つ入力ポート35におい
てのデータ入力を許可するか又は禁止するか又は
出力ポート36においてデータの出力を許可する
か又は禁止する為に雑多事項制御論理に信号を送
る。
あるか否かを決定してRAMが空であるか又は満
杯であるかを識別し、且つ入力ポート35におい
てのデータ入力を許可するか又は禁止するか又は
出力ポート36においてデータの出力を許可する
か又は禁止する為に雑多事項制御論理に信号を送
る。
従来のポインタを基礎にしたFIFOメモリシス
テムの1例は、1983年2月15日に発行された
Barnesの米国特許第4374428号「拡張可能な
FIFOシステム」の第1欄、第47行−第68行及び
第2欄第1行−第58行に記載されている。
Barnesは、各デバイスがN個の貯蔵位置を持つ
たメモリとFIFOシステムの読出迄連続した貯蔵
位置内にワードの書込を指示するポイント手段と
を有しており、同一の方法で接続した同一の
FIFOデバイスのリングを形成すべく配設した拡
張可能な数N個の個別的なFIFOデバイスを設け
ることによつて従来技術のシステムを改良してい
る。
テムの1例は、1983年2月15日に発行された
Barnesの米国特許第4374428号「拡張可能な
FIFOシステム」の第1欄、第47行−第68行及び
第2欄第1行−第58行に記載されている。
Barnesは、各デバイスがN個の貯蔵位置を持つ
たメモリとFIFOシステムの読出迄連続した貯蔵
位置内にワードの書込を指示するポイント手段と
を有しており、同一の方法で接続した同一の
FIFOデバイスのリングを形成すべく配設した拡
張可能な数N個の個別的なFIFOデバイスを設け
ることによつて従来技術のシステムを改良してい
る。
ポインタを基礎としたFIFOメモリシステムと
フオールスルーFIFOメモリシステムの動作には
著しい差異がある。第1に、ポインタを基礎とし
たメモリにはフオールスルータイプのものに類似
したフオールスルー時間が無い。データ入力から
使用可能なデータ出力への遅れがあるが、それは
短いものであり、少数のゲート遅れによつて起こ
されるものであつて、フオールスルー現象に関連
するものでは無い。第2に、ポインタを基礎とし
たFIFOメモリ内におけるシフト入力及びシフト
出力のサイクル時間に関する制限はフオールスル
ーFIFOメモリにおけるのと異なつた事象のシー
ケンスによつて課されるものである。各データシ
フト動作毎に、関連のカウンタはインクリメント
せねばならず、マグニチユード比較器はセトルせ
ねばならず、即ち、満杯の状態又は空の状態の何
れが存在するのかを決定せねばならず、且つ次の
シフト動作が起こる前にポート制御信号が調節さ
れねばならない。一層大きなFIFOメモリは一層
長いワードアドレスを必要とし且つマグニチユー
ド比較器のセトリングに一層長い遅れを必要とす
るので、サイクル時間はポインタを基礎とした
FIFOメモリの全ワード寸法と共に増加する。最
後に、ポインタを基礎にしたFIFOメモリにおい
ては、RAM構成がデバイスのコアとして使用さ
れるという事実に起因して、データをデータメモ
リ内の任意の物理的な位置に入力するか又はそこ
から出力することが可能であることが明白であ
る。
フオールスルーFIFOメモリシステムの動作には
著しい差異がある。第1に、ポインタを基礎とし
たメモリにはフオールスルータイプのものに類似
したフオールスルー時間が無い。データ入力から
使用可能なデータ出力への遅れがあるが、それは
短いものであり、少数のゲート遅れによつて起こ
されるものであつて、フオールスルー現象に関連
するものでは無い。第2に、ポインタを基礎とし
たFIFOメモリ内におけるシフト入力及びシフト
出力のサイクル時間に関する制限はフオールスル
ーFIFOメモリにおけるのと異なつた事象のシー
ケンスによつて課されるものである。各データシ
フト動作毎に、関連のカウンタはインクリメント
せねばならず、マグニチユード比較器はセトルせ
ねばならず、即ち、満杯の状態又は空の状態の何
れが存在するのかを決定せねばならず、且つ次の
シフト動作が起こる前にポート制御信号が調節さ
れねばならない。一層大きなFIFOメモリは一層
長いワードアドレスを必要とし且つマグニチユー
ド比較器のセトリングに一層長い遅れを必要とす
るので、サイクル時間はポインタを基礎とした
FIFOメモリの全ワード寸法と共に増加する。最
後に、ポインタを基礎にしたFIFOメモリにおい
ては、RAM構成がデバイスのコアとして使用さ
れるという事実に起因して、データをデータメモ
リ内の任意の物理的な位置に入力するか又はそこ
から出力することが可能であることが明白であ
る。
本発明は、以上の点に鑑みなされたものであつ
て、上述した如き従来技術の欠点を解消し改良し
たFIFOメモリシステムを提供することを目的と
する。本発明のFIFOメモリシステムにおいては、
N個のワード貯蔵位置を有するメモリを各々が
M/Nの長さのM個のフオールスルーデータ列に
構成している。制御列が、各列内の上部データレ
ジスタからのデータワードを各列内の下部データ
レジスタへ伝播させる為の各データ列と関連して
いる。
て、上述した如き従来技術の欠点を解消し改良し
たFIFOメモリシステムを提供することを目的と
する。本発明のFIFOメモリシステムにおいては、
N個のワード貯蔵位置を有するメモリを各々が
M/Nの長さのM個のフオールスルーデータ列に
構成している。制御列が、各列内の上部データレ
ジスタからのデータワードを各列内の下部データ
レジスタへ伝播させる為の各データ列と関連して
いる。
ポインタを有する入力制御論理は各列の上部に
おけるM個の空のデータレジスタの1つに入つて
来るデータワードを循環的に読み込ませる。ポイ
ンタを有する出力制御論理は、各列の下部におけ
るM個のデータレジスタの1つから前にストアし
たデータワードを循環的に読み出す。フオールス
ルー遅れはスタツクの数Mに逆比例し、且つ入力
及び出力ポートにおける最大シフト速度はM≧2
の場合に従来のFIFOメモリシステムと比較して
少なくとも2倍となつている。
おけるM個の空のデータレジスタの1つに入つて
来るデータワードを循環的に読み込ませる。ポイ
ンタを有する出力制御論理は、各列の下部におけ
るM個のデータレジスタの1つから前にストアし
たデータワードを循環的に読み出す。フオールス
ルー遅れはスタツクの数Mに逆比例し、且つ入力
及び出力ポートにおける最大シフト速度はM≧2
の場合に従来のFIFOメモリシステムと比較して
少なくとも2倍となつている。
以下、添付の図面を参考に本発明の具体的な実
施の態様に付いて詳細に説明する。
施の態様に付いて詳細に説明する。
本発明に基づいて構成された高速FIFOメモリ
システムの1実施例を第4図に示してある。第4
図は、Nを偶数の正の整数として、Nワード二重
スタツクFIFOメモリシステム40を示したブロ
ツク線図である。入力制御論理50は入力ポート
制御信号を発生し、且つデータ入力バツフア42
をデータレジスタL(0)及びR(0)、左側及び
右側のデータレジスタスタツクL及びRの夫々の
初期データレジスタとインターフエースする。デ
ータ入力バツフア42は入力ポート43に現れる
入力信号を電気的にバツフアし、且つデータレジ
スタL(0)及びR(0)によつて必要とされるデ
ータ入力信号の電圧レベルを発生する。入力側ポ
イント45は2個のフオールスルースタツクL及
びR上で交互に動作する様に入力シフト制御論理
44を指示する。
システムの1実施例を第4図に示してある。第4
図は、Nを偶数の正の整数として、Nワード二重
スタツクFIFOメモリシステム40を示したブロ
ツク線図である。入力制御論理50は入力ポート
制御信号を発生し、且つデータ入力バツフア42
をデータレジスタL(0)及びR(0)、左側及び
右側のデータレジスタスタツクL及びRの夫々の
初期データレジスタとインターフエースする。デ
ータ入力バツフア42は入力ポート43に現れる
入力信号を電気的にバツフアし、且つデータレジ
スタL(0)及びR(0)によつて必要とされるデ
ータ入力信号の電圧レベルを発生する。入力側ポ
イント45は2個のフオールスルースタツクL及
びR上で交互に動作する様に入力シフト制御論理
44を指示する。
同様に、出力制御論理51は出力側ポインタ4
9を有しており、それは出力シフト制御論理48
を指示して2つのスタツクL及びR上で交互に動
作させる。データ出力バツフア46は選択された
データレジスタL((N/2)−1)又はR(((N/
2)−1)から読み出されたデータワードを表す
信号を電気的にバツフアする。
9を有しており、それは出力シフト制御論理48
を指示して2つのスタツクL及びR上で交互に動
作させる。データ出力バツフア46は選択された
データレジスタL((N/2)−1)又はR(((N/
2)−1)から読み出されたデータワードを表す
信号を電気的にバツフアする。
右側スタツク47及び左側スタツク41内の各
制御レジスタは、その関連したデータレジスタが
空の場合に論理Oを有しており、又その関連した
データレジスタが満杯、即ちデータワードをスト
アしている場合に論理1を有している。メモリシ
ステム40が初期値化されると、右側制御レジス
タスタツク47内の各制御レジスタCR(0)乃至
CR((N/2)−1)及び左側制御レジスタスタツ
ク41内の各制御レジスタCL(0)乃至CL
((N/2)−1)は論理0にセツトされ、それら
の関連したデータレジスタR(0)乃至R((N/
2)−1)及びL(0)乃至L((N/2)−1)が
データを有するものではないことを意味する。メ
モリシステム40が初期値化されると、入力側ポ
インタ45と出力側ポインタ49の両方が左側ス
タツクLをポイントする。
制御レジスタは、その関連したデータレジスタが
空の場合に論理Oを有しており、又その関連した
データレジスタが満杯、即ちデータワードをスト
アしている場合に論理1を有している。メモリシ
ステム40が初期値化されると、右側制御レジス
タスタツク47内の各制御レジスタCR(0)乃至
CR((N/2)−1)及び左側制御レジスタスタツ
ク41内の各制御レジスタCL(0)乃至CL
((N/2)−1)は論理0にセツトされ、それら
の関連したデータレジスタR(0)乃至R((N/
2)−1)及びL(0)乃至L((N/2)−1)が
データを有するものではないことを意味する。メ
モリシステム40が初期値化されると、入力側ポ
インタ45と出力側ポインタ49の両方が左側ス
タツクLをポイントする。
第1のデータ入力ワードW(0)が左側フオー
ルスルースタツクLのデータレジスタL(0)内
に入り、左側ワード伝播論理54の制御の下で左
側フオールスルースタツクの下部データレジスタ
L((N/2)−1)へ伝播し、シフト出力される
迄そこに留まる。シフト入力され入力側ポインタ
45によつて指向された第2のデータワードW
(1)は右側フオールスルースタツクRのデータ
レジスタR(0)内にストアされ、右側ワード伝
播論理55の制御下において右側フオールスルー
スタツクの下部レジスタR((N/2)−1)へ伝
播し、シフト出力される迄そこに留まる。
ルスルースタツクLのデータレジスタL(0)内
に入り、左側ワード伝播論理54の制御の下で左
側フオールスルースタツクの下部データレジスタ
L((N/2)−1)へ伝播し、シフト出力される
迄そこに留まる。シフト入力され入力側ポインタ
45によつて指向された第2のデータワードW
(1)は右側フオールスルースタツクRのデータ
レジスタR(0)内にストアされ、右側ワード伝
播論理55の制御下において右側フオールスルー
スタツクの下部レジスタR((N/2)−1)へ伝
播し、シフト出力される迄そこに留まる。
概して、データワードW(k)は、kが偶数で
ある場合にデータレジスタL(0)内にシフト入
力され、且つkが奇数である場合にデータレジス
タR(0)内にシフト入力させる。尚、k=0,
1,2,…である。(この取り極めを逆にするこ
とも可能である。) データワードが一度フオールスルーデータスタ
ツクの初期レジスタL(0)又はR(0)に入る
と、それはデータレジスタのスタツクを介してデ
ータ出力バツフア46に最も近い空でないデータ
レジスタへ伝播する。右側ワード伝播論理55
と、制御レジスタ47の右側スタツクと、データ
レジスタRの右側スタツクとが(N/2)ワード
フオールスルーFIFOメモリスタツクを形成して
おり、それが第2図の要素20として説明した如
く動作する。
ある場合にデータレジスタL(0)内にシフト入
力され、且つkが奇数である場合にデータレジス
タR(0)内にシフト入力させる。尚、k=0,
1,2,…である。(この取り極めを逆にするこ
とも可能である。) データワードが一度フオールスルーデータスタ
ツクの初期レジスタL(0)又はR(0)に入る
と、それはデータレジスタのスタツクを介してデ
ータ出力バツフア46に最も近い空でないデータ
レジスタへ伝播する。右側ワード伝播論理55
と、制御レジスタ47の右側スタツクと、データ
レジスタRの右側スタツクとが(N/2)ワード
フオールスルーFIFOメモリスタツクを形成して
おり、それが第2図の要素20として説明した如
く動作する。
同様に、左側ワード伝播論理54と、制御レジ
スタ41の左側スタツクと、データレジスタLの
左側スタツクとは(N/2)ワードフオールスル
ーFIFOメモリスタツクを形成し、それは第2図
の要素20に付いて説明した如く動作する。
スタ41の左側スタツクと、データレジスタLの
左側スタツクとは(N/2)ワードフオールスル
ーFIFOメモリスタツクを形成し、それは第2図
の要素20に付いて説明した如く動作する。
メモリシステム40が一度初期値化されると、
出力側ポインタ49の指示の下で、出力シフト制
御論理48はデータがデータレジスタL((N/
2)−1)内に存在するか否かを決定する。デー
タが存在すると、出力側ポインタ49の指示の下
で、出力シフト制御論理48は夫々データが与え
られる限りデータレジスタL((N/2)−1)及
びデータレジスタR((N/2)−1)から交互に
データをデータ出力ポート52へシフトさせる。
出力側ポインタ49の指示の下で、出力シフト制
御論理48はデータがデータレジスタL((N/
2)−1)内に存在するか否かを決定する。デー
タが存在すると、出力側ポインタ49の指示の下
で、出力シフト制御論理48は夫々データが与え
られる限りデータレジスタL((N/2)−1)及
びデータレジスタR((N/2)−1)から交互に
データをデータ出力ポート52へシフトさせる。
第6図は、本発明に基づいて構成された64ワー
ド二重スタツクFIFOメモリシステムの1実施例
の論理回路図であつて、それは各々が32個の5ビ
ツトワードをストアすることの可能な2つの“フ
オールスルー”スタツク内に64個の5ビツトワー
ドを貯蔵することが可能である。ブロツク85は
RDR0乃至RDR31として示したデータレジス
タの右側フオールスルースタツクであり、各右側
データレジスタの機能はデータワードをストアす
ることである。
ド二重スタツクFIFOメモリシステムの1実施例
の論理回路図であつて、それは各々が32個の5ビ
ツトワードをストアすることの可能な2つの“フ
オールスルー”スタツク内に64個の5ビツトワー
ドを貯蔵することが可能である。ブロツク85は
RDR0乃至RDR31として示したデータレジス
タの右側フオールスルースタツクであり、各右側
データレジスタの機能はデータワードをストアす
ることである。
右側制御レジスタスタツク87はRCR0乃至
RCR31として示した制御レジスタを有してい
る。対応するデータレジスタがデータワードを有
する場合にのみ論理1が右側制御レジスタ内にス
トアされる。右側ワード伝播論理86はゲート
RG1乃至RG31を有している。与えられた右
側データレジスタに対応する右側制御レジスタが
論理1を有しており且つその直下の右側制御レジ
スタ論理0を有している場合にのみ与えられた右
側データレジスタからその直下の右側データレジ
スタへデータワードが転送される。
RCR31として示した制御レジスタを有してい
る。対応するデータレジスタがデータワードを有
する場合にのみ論理1が右側制御レジスタ内にス
トアされる。右側ワード伝播論理86はゲート
RG1乃至RG31を有している。与えられた右
側データレジスタに対応する右側制御レジスタが
論理1を有しており且つその直下の右側制御レジ
スタ論理0を有している場合にのみ与えられた右
側データレジスタからその直下の右側データレジ
スタへデータワードが転送される。
ブロツク88,90,89は、夫々、データレ
ジスタの左側スタツクと、制御レジスタの左側ス
タツクと、左側ワード伝播論理であり、前述した
如く、対応するブロツク85,87,86と類似
した機能を行なう。入力ポート95は入力制御論
理83とデータ入力バツフア84とを有してい
る。入力制御論理83は入力シフト制御論理82
と入力側ポインタ81とを有している。データ入
力バツフア84は外部回路から電気信号をバツフ
アし、且つバツフアした信号をデータレジスタス
タツク85及び88へ供給する。
ジスタの左側スタツクと、制御レジスタの左側ス
タツクと、左側ワード伝播論理であり、前述した
如く、対応するブロツク85,87,86と類似
した機能を行なう。入力ポート95は入力制御論
理83とデータ入力バツフア84とを有してい
る。入力制御論理83は入力シフト制御論理82
と入力側ポインタ81とを有している。データ入
力バツフア84は外部回路から電気信号をバツフ
アし、且つバツフアした信号をデータレジスタス
タツク85及び88へ供給する。
入力側ポインタ81は入力シフト制御論理82
を指示して入力データを夫々左側又は右側データ
レジスタスタツク88又は85の何れか一方へ交
互に指向させる。入力側ポインタ81はラツチを
有しており、それは各データワードがFIFOメモ
リ80内に入ると、論理1から論理0へ又は論理
0から論理1へ状態を変化させる。該ラツチが論
理1を有すると、次の入力データワードが左側デ
ータレジスタスタツク88の上部レジスタ内にス
トアされる。
を指示して入力データを夫々左側又は右側データ
レジスタスタツク88又は85の何れか一方へ交
互に指向させる。入力側ポインタ81はラツチを
有しており、それは各データワードがFIFOメモ
リ80内に入ると、論理1から論理0へ又は論理
0から論理1へ状態を変化させる。該ラツチが論
理1を有すると、次の入力データワードが左側デ
ータレジスタスタツク88の上部レジスタ内にス
トアされる。
入力シフト制御論理82はNANDゲート82
−3乃至82−7及びラツチ82−8を有してい
る。回路82の1つの機能は、シフトインリード
SI及び入力レデイーリードIRを介して外部回路
(不図示)とインターフエースすることである。
入力レデイーIRは、ワードをFIFO80内にシフ
ト入力させることが可能であるか否かを表す信号
をユーザへ供給する。シフトイン左側ゲート82
−3からの低アクテイブパルスがワード入力をト
リガーし、その後の左側データスタツク88を通
つての伝播をトリガーする。シフトイン右側ゲー
ト82−4は左側データスタツク85の場合と同
様に動作する。
−3乃至82−7及びラツチ82−8を有してい
る。回路82の1つの機能は、シフトインリード
SI及び入力レデイーリードIRを介して外部回路
(不図示)とインターフエースすることである。
入力レデイーIRは、ワードをFIFO80内にシフ
ト入力させることが可能であるか否かを表す信号
をユーザへ供給する。シフトイン左側ゲート82
−3からの低アクテイブパルスがワード入力をト
リガーし、その後の左側データスタツク88を通
つての伝播をトリガーする。シフトイン右側ゲー
ト82−4は左側データスタツク85の場合と同
様に動作する。
入力レデイー右側センスゲート82−7は右側
データレジスタスタツク85がいつデータを受信
する準備がなされるかを検知し、且つ入力左側セ
ンスゲート82−6は左側データレジスタスタツ
ク88に対して同様の機能を与えている。入力レ
デイーバツフア82−5は夫々の左側及び右側入
力レデイーセンスゲート82−6及び82−7か
ら入力信号を受け取る。入力レデイーリードIR
上のバツフア82−5からの高出力信号はFIFO
メモリ80はデータを受け取る準備が出来ている
ことをユーザへ知らせる。
データレジスタスタツク85がいつデータを受信
する準備がなされるかを検知し、且つ入力左側セ
ンスゲート82−6は左側データレジスタスタツ
ク88に対して同様の機能を与えている。入力レ
デイーバツフア82−5は夫々の左側及び右側入
力レデイーセンスゲート82−6及び82−7か
ら入力信号を受け取る。入力レデイーリードIR
上のバツフア82−5からの高出力信号はFIFO
メモリ80はデータを受け取る準備が出来ている
ことをユーザへ知らせる。
シフトイン保持ラツチ82−8は主にダイナミ
ツク的な機能を行なう。即ち、ユーザがワードを
FIFO80内にシフト入力させると、ラツチ82
−8の存在によつてユーザがシフトイン信号SIを
高とする度に正確に1個のワードをシフト入力す
ることを可能としている。デバイスの内部動作が
ダイナミツクであり、且つシフト入力されるワー
ドが物理的に内部回路によつてデータ入力バツフ
ア84から持ち去られるので、シフトイン保持ラ
ツチ82−8は長期間のシフトイン信号がマルチ
プルシフトイン信号として現れることを防止す
る。即ち、シフトインサイクルが開始すると(SI
が高となる)、シフトイン保持ラツチ82−8が
論理0にセツトされ、SIが再度低となる迄再び高
となることはない。シフトイン保持ラツチの論理
0状態は、入力レデイー信号IRが高となること
を論理的に防止し、従つてSIが低とされる迄如何
なる付加的なデータの入力をも排除する。
ツク的な機能を行なう。即ち、ユーザがワードを
FIFO80内にシフト入力させると、ラツチ82
−8の存在によつてユーザがシフトイン信号SIを
高とする度に正確に1個のワードをシフト入力す
ることを可能としている。デバイスの内部動作が
ダイナミツクであり、且つシフト入力されるワー
ドが物理的に内部回路によつてデータ入力バツフ
ア84から持ち去られるので、シフトイン保持ラ
ツチ82−8は長期間のシフトイン信号がマルチ
プルシフトイン信号として現れることを防止す
る。即ち、シフトインサイクルが開始すると(SI
が高となる)、シフトイン保持ラツチ82−8が
論理0にセツトされ、SIが再度低となる迄再び高
となることはない。シフトイン保持ラツチの論理
0状態は、入力レデイー信号IRが高となること
を論理的に防止し、従つてSIが低とされる迄如何
なる付加的なデータの入力をも排除する。
出力ポート96はデータ出力バツフア91と出
力制御論理94とを有している。出力制御論理9
4は、出力シフト制御論理93と出力側ポインタ
92とを有している。出力ポート96内の回路
は、入力ポート93内の対応するデバイスと類似
した機能を行なう。例えば、データ出力バツフア
91は、データレジスタスタツク85及び88内
の下部データレジスタの選択した1つから受け取
つた電気信号をバツフアし、且つバツフアした信
号を外部回路(不図示)へ供給する。入力ポート
95の場合には存在しない出力ポート96に対す
る唯一の付加的な機能は、どのデータレジスタ列
85又は88からデータを取り外部回路へ供給す
べきであるかということに関して出力シフト制御
論理93も又データ出力バツフア91へ指示を与
えるということであり、この選択は出力側ポイン
タ92の指示の下でなされる。
力制御論理94とを有している。出力制御論理9
4は、出力シフト制御論理93と出力側ポインタ
92とを有している。出力ポート96内の回路
は、入力ポート93内の対応するデバイスと類似
した機能を行なう。例えば、データ出力バツフア
91は、データレジスタスタツク85及び88内
の下部データレジスタの選択した1つから受け取
つた電気信号をバツフアし、且つバツフアした信
号を外部回路(不図示)へ供給する。入力ポート
95の場合には存在しない出力ポート96に対す
る唯一の付加的な機能は、どのデータレジスタ列
85又は88からデータを取り外部回路へ供給す
べきであるかということに関して出力シフト制御
論理93も又データ出力バツフア91へ指示を与
えるということであり、この選択は出力側ポイン
タ92の指示の下でなされる。
二重スタツクFIFO構成用の入力制御論理50
(第4図に示してある)の特定の実施例を第7図
に示してある。入力制御論理50は、入力側ポイ
ンタ45と入力シフト制御論理44とを有してい
る。入力側ポインタ45は、バイステーブルラツ
チとして動作する様に周知の方法で構成された2
つのNANDゲート45−1及び45−2を有し
ている。入力側ポインタ45の出力線45−3及
び45−4は、入力シフト制御論理44へ入力信
号を供給し、且つこれらの信号の論理状態は入力
シフト制御論理44が入つて来るデータワードの
シーケンスを第4図に示した夫々左側及び右側デ
ータスタツクL及びR内に交互に(1つおき)に
シフト入力させる様に指示すべく機能する。信号
線SISL(シフトインスタートレフト)と、信号線
SISR(シフトインスタートライト)と、信号線
MR(マスターリセツト)は入力側ポインタ45
の3つの入力線である。静止動作状態において、
即ちFIFO40(第4図に示してある)内におい
てデータ入力動作が現在進行中で無い場合、これ
らの3本の入力線の全てが論理1状態であり、入
力側ポインタ45はメモリ要素として機能し且つ
その現在の状態を保持する。任意の時間におい
て、線SISL、SISR、の1つのみが論理0と
なる。マスターリセツト線はFIFO40全体
が動作を行なう為に初期値化されている場合にの
みアクテイブ(論理0)となる。信号線上の
論理0は、入力側ポインタ45によつて最初にス
トアされているデータに拘らず信号線45−4上
に論理1を発生させる。線45−4上に論理1が
あり線SISL上に論理1がある組合せによつて、
線45−3上に論理0が発生される。マスターリ
セツト信号が取り除かれると、即ち信号線が
高となると、入力側ポインタ45はNANDゲー
ト45−2の出力信号が高でゲート45−1の出
力信号が低である論理状態を保持する。マスター
リセツトにおいてどの論理状態がラツチ45を構
成するかという選択は設計的な選択である。第7
図に示した実施例においてなされている選択は、
FIFO40内に入力される第1データワードを左
側データスタツクLの最上部レジスタL(0)内
にシフト入力させるべく入力制御論理を構成して
いる。
(第4図に示してある)の特定の実施例を第7図
に示してある。入力制御論理50は、入力側ポイ
ンタ45と入力シフト制御論理44とを有してい
る。入力側ポインタ45は、バイステーブルラツ
チとして動作する様に周知の方法で構成された2
つのNANDゲート45−1及び45−2を有し
ている。入力側ポインタ45の出力線45−3及
び45−4は、入力シフト制御論理44へ入力信
号を供給し、且つこれらの信号の論理状態は入力
シフト制御論理44が入つて来るデータワードの
シーケンスを第4図に示した夫々左側及び右側デ
ータスタツクL及びR内に交互に(1つおき)に
シフト入力させる様に指示すべく機能する。信号
線SISL(シフトインスタートレフト)と、信号線
SISR(シフトインスタートライト)と、信号線
MR(マスターリセツト)は入力側ポインタ45
の3つの入力線である。静止動作状態において、
即ちFIFO40(第4図に示してある)内におい
てデータ入力動作が現在進行中で無い場合、これ
らの3本の入力線の全てが論理1状態であり、入
力側ポインタ45はメモリ要素として機能し且つ
その現在の状態を保持する。任意の時間におい
て、線SISL、SISR、の1つのみが論理0と
なる。マスターリセツト線はFIFO40全体
が動作を行なう為に初期値化されている場合にの
みアクテイブ(論理0)となる。信号線上の
論理0は、入力側ポインタ45によつて最初にス
トアされているデータに拘らず信号線45−4上
に論理1を発生させる。線45−4上に論理1が
あり線SISL上に論理1がある組合せによつて、
線45−3上に論理0が発生される。マスターリ
セツト信号が取り除かれると、即ち信号線が
高となると、入力側ポインタ45はNANDゲー
ト45−2の出力信号が高でゲート45−1の出
力信号が低である論理状態を保持する。マスター
リセツトにおいてどの論理状態がラツチ45を構
成するかという選択は設計的な選択である。第7
図に示した実施例においてなされている選択は、
FIFO40内に入力される第1データワードを左
側データスタツクLの最上部レジスタL(0)内
にシフト入力させるべく入力制御論理を構成して
いる。
入力シフト制御論理44はNANDゲート44
−1乃至44−7を有している。ゲート44−6
及び44−7は共に接続されてバイステーブルラ
ツチ101を構成している。入力シフト制御論理
44は3本の出力線、即ち線SISL(シフトインス
タートレフト)、線SISR(シフトインスタートラ
イト)、線IR(インプツトレデイー)を有してい
る。線IRは、外部回路において使用するデバイ
スのユーザに対して使用可能であつて、且つ
FIFO40がいつデータワードを受け取る準備が
なされているか、即ち選択したデータスタツク内
の最上部の制御レジスタが論理0をストアするこ
とを表す信号を供給する。線SISLは、第4図に
示した、入力側ポインタ45と、左側制御レジス
タスタツク41と、左側ワード伝播論理54とに
入力信号を供給する。左側制御レジスタスタツク
41への入力信号として、この信号SISLは、低
であると、制御レジスタCL(0)を論理1にセツ
トして、データレジスタL(0)が満杯であるこ
とを表す。SISL信号が論理1(高)へ遷移する
ことによつて、スタツクLの上部におけるデータ
レジスタL(0)内に入つたワードは典型的なフ
オールスルー態様で下流側へ伝播を開始すること
が理解される。更に、線SISL上の信号は入力側
ポインタ45の入力信号として機能し、且つその
中にストアされたデータの状態を変化させて、そ
の際にFIFO40内に入つた爾後のデータワード
がデータレジスタスタツクRの上部レジスタR
(0)内に入ることを可能とする。同様に、信号
線SISRは、右側フオールスルースタツクRにお
けるデータの伝播を行なわせ且つ爾後の上部デー
タレジスタL(0)内へのデータワードを左側フ
オールスルースタツクL内に指向させる為に入力
側ポインタ45をリセツトさせる信号を供給す
る。入力シフト制御論理44は8本の入力線を有
しており、即ち、マスターリセツト線、シフ
トイン線SI、線45−3及び45−4、入つて来
るデータを左か右かのデータスタツクへシフトさ
せるべきであるかを入力シフト制御論理44に情
報を与えるべく機能する信号を発生する入力側ポ
インタ45の2つの出力線、線50−4及び50
−5でこれらの信号は一体となつていつ左側のフ
オールスルースタツクLが付加的なデータを受け
取る準備がなされているか即ち制御レジスタCL
(0)が論理0をストアしていることを表すもの
であり、線50−6及び50−7でその信号は一
体となつていつ右側のフオールスルースタツクR
が付加的なデータを受け取る準備がなされている
かということを表すべく機能するものである。ゲ
ート44−1の出力信号の1機能は、データの入
力を開始させ、且つ左側データスタツクへの伝播
を開始させることである。第2に、それは入力側
ポインタ45に信号を送つてトグルさせ、爾後の
データワードを右側データスタツクR内に入力さ
せ、且つゲート44−3、ゲート44−4及びラ
ツチ101に信号を送つてデータワードをFIFO
40内にシフト入力させることを可能とさせる。
ゲート44−2はFIFO40の右側の部分を除い
てゲート44−1と同様に機能する。NANDゲ
ート44−3は、左側フオールスルーデータスタ
ツクLと共にいつ入力シフト制御論理44が付加
的なデータを受け取る準備がなされているかを検
知すべく機能する。ゲート44−4は右側データ
スタツクRに対するものである点を除いてゲート
44−3と同様に機能する。ゲート44−5は、
入力レデイー線IR上に信号を発生するが、線4
4−11及び44−12上の入力信号を介してい
つ左側データスタツクL又は右側データスタツク
Rの何れか一方がデータを受け取る準備がなされ
るかということを検知する。線44−11上に低
信号があると、データレジスタスタツクL内の第
1データレジスタL(0)がデータワードを受け
取る準備がなされていることを表す。線44−1
2上に低信号があると、データレジスタスタツク
R内の第1データレジスタR(0)がデータを受
け取る準備がなされていることを表す。論理構成
による動作において、線44−11又は44−1
2の1つのみが任意の時間において低であり、即
ち左及び右のフオールスルースタツクの1つのみ
が任意の時間においてデータを受け取る準備がな
される。本回路の構成によれば、スタツクR及び
Lの両方が各スタツクの上部におけるレジスタL
(0)及びR(0)内にデータを受ける余裕がある
かも知れないが、入力側ポインタ45がNAND
ゲート44−3及び44−4へ信号を送つて、線
44−11及び44−12の一方のみが或る与え
られた時間において低となる様にしている。
−1乃至44−7を有している。ゲート44−6
及び44−7は共に接続されてバイステーブルラ
ツチ101を構成している。入力シフト制御論理
44は3本の出力線、即ち線SISL(シフトインス
タートレフト)、線SISR(シフトインスタートラ
イト)、線IR(インプツトレデイー)を有してい
る。線IRは、外部回路において使用するデバイ
スのユーザに対して使用可能であつて、且つ
FIFO40がいつデータワードを受け取る準備が
なされているか、即ち選択したデータスタツク内
の最上部の制御レジスタが論理0をストアするこ
とを表す信号を供給する。線SISLは、第4図に
示した、入力側ポインタ45と、左側制御レジス
タスタツク41と、左側ワード伝播論理54とに
入力信号を供給する。左側制御レジスタスタツク
41への入力信号として、この信号SISLは、低
であると、制御レジスタCL(0)を論理1にセツ
トして、データレジスタL(0)が満杯であるこ
とを表す。SISL信号が論理1(高)へ遷移する
ことによつて、スタツクLの上部におけるデータ
レジスタL(0)内に入つたワードは典型的なフ
オールスルー態様で下流側へ伝播を開始すること
が理解される。更に、線SISL上の信号は入力側
ポインタ45の入力信号として機能し、且つその
中にストアされたデータの状態を変化させて、そ
の際にFIFO40内に入つた爾後のデータワード
がデータレジスタスタツクRの上部レジスタR
(0)内に入ることを可能とする。同様に、信号
線SISRは、右側フオールスルースタツクRにお
けるデータの伝播を行なわせ且つ爾後の上部デー
タレジスタL(0)内へのデータワードを左側フ
オールスルースタツクL内に指向させる為に入力
側ポインタ45をリセツトさせる信号を供給す
る。入力シフト制御論理44は8本の入力線を有
しており、即ち、マスターリセツト線、シフ
トイン線SI、線45−3及び45−4、入つて来
るデータを左か右かのデータスタツクへシフトさ
せるべきであるかを入力シフト制御論理44に情
報を与えるべく機能する信号を発生する入力側ポ
インタ45の2つの出力線、線50−4及び50
−5でこれらの信号は一体となつていつ左側のフ
オールスルースタツクLが付加的なデータを受け
取る準備がなされているか即ち制御レジスタCL
(0)が論理0をストアしていることを表すもの
であり、線50−6及び50−7でその信号は一
体となつていつ右側のフオールスルースタツクR
が付加的なデータを受け取る準備がなされている
かということを表すべく機能するものである。ゲ
ート44−1の出力信号の1機能は、データの入
力を開始させ、且つ左側データスタツクへの伝播
を開始させることである。第2に、それは入力側
ポインタ45に信号を送つてトグルさせ、爾後の
データワードを右側データスタツクR内に入力さ
せ、且つゲート44−3、ゲート44−4及びラ
ツチ101に信号を送つてデータワードをFIFO
40内にシフト入力させることを可能とさせる。
ゲート44−2はFIFO40の右側の部分を除い
てゲート44−1と同様に機能する。NANDゲ
ート44−3は、左側フオールスルーデータスタ
ツクLと共にいつ入力シフト制御論理44が付加
的なデータを受け取る準備がなされているかを検
知すべく機能する。ゲート44−4は右側データ
スタツクRに対するものである点を除いてゲート
44−3と同様に機能する。ゲート44−5は、
入力レデイー線IR上に信号を発生するが、線4
4−11及び44−12上の入力信号を介してい
つ左側データスタツクL又は右側データスタツク
Rの何れか一方がデータを受け取る準備がなされ
るかということを検知する。線44−11上に低
信号があると、データレジスタスタツクL内の第
1データレジスタL(0)がデータワードを受け
取る準備がなされていることを表す。線44−1
2上に低信号があると、データレジスタスタツク
R内の第1データレジスタR(0)がデータを受
け取る準備がなされていることを表す。論理構成
による動作において、線44−11又は44−1
2の1つのみが任意の時間において低であり、即
ち左及び右のフオールスルースタツクの1つのみ
が任意の時間においてデータを受け取る準備がな
される。本回路の構成によれば、スタツクR及び
Lの両方が各スタツクの上部におけるレジスタL
(0)及びR(0)内にデータを受ける余裕がある
かも知れないが、入力側ポインタ45がNAND
ゲート44−3及び44−4へ信号を送つて、線
44−11及び44−12の一方のみが或る与え
られた時間において低となる様にしている。
入力シフト制御論理44内のゲート44−1乃
至44−7及び入力側ポインタ45内のゲート4
5−1及び45−2の全ては略同じゲート遅れを
持つており、この共通ゲート遅れを入力制御論理
50の動作を説明するうえでの時間の単位として
使用している。
至44−7及び入力側ポインタ45内のゲート4
5−1及び45−2の全ては略同じゲート遅れを
持つており、この共通ゲート遅れを入力制御論理
50の動作を説明するうえでの時間の単位として
使用している。
ゲート44−6及び44−7によつて形成され
るラツチ101はシフトインシーケンスが開始さ
れた完了していないことを表す出力信号を供給す
る為に使用されている。典型的なシフトインシー
ケンスは以下の如くに発生する。入力レデイー線
IRが高で、シフトイン線SIが低から高へ上げら
れるとシフトインシーケンスが開始される。例え
ば、側部ポインタ45がセツトされてFIFO40
の左側において活動を開始すると、シフトイン線
SIが高となつた後の1個のゲート遅れの後に、信
号線SISLが低となる。1個のゲート遅れの後、
信号線44−11が高となり、その後に1個のゲ
ート遅れの後に、入力レデイー線IRが低となる。
然し乍ら、入力レデイー線IRが低となる時間を
越えた時間に渡つてシフトイン線SIが高状態を持
続する場合には、入力側ポインタ45が論理状態
を変化させ、ゲート44−2をイネーブルして次
のデータワードの入力とする。ラツチ101がな
かつた場合、入力側ポインタ45の状態変化はゲ
ート44−4が右側データスタツクの上部におい
てレデイー状態を検知することを許容し、次いで
入力レデイー線IRを高とさせる。これにより、
ワードが右側スタツクの上部データレジスタR
(0)内に入力し、それはSIが低とされ次いで再
び高とされる迄行なわれるべきではない。ラツチ
101は以下の後とくしてこれが起こることを防
止する。シフトイン線SIが高となりシフトインシ
ーケンスが開始された後1個のゲート遅れの後
に、線SISL上の信号が低となり、それは信号線
44−13上のレベルを論理1から論理0とさせ
且つシフトイン線SIが再度ユーザによつて低とさ
れる迄低の儘に維持する。線44−13上の低レ
ベルは、ゲート44−1,44−2,44−3,
44−4への入力信号として機能するが、進行中
のシフトインシーケンスが未だ完了していないの
で、スタツクL又はRの何れかがデータを受け取
る準備がされていることをゲート44−3及び4
4−4が意味することを防止する。同様に、進行
中のシフトインシーケンスが線SI上のシフトイン
信号を低下させることによつて完了される迄、線
44−13上の低レベルは、論理ゲート44−1
及び44−2が夫々の出力線SISL及びSISR上に
付加的な低信号を供給することを防止している。
最後に、注意すべきことであるが、シフトインシ
ーケンスの開始は信号線SISL又はSISR上に遷移
論理レベル(低)を発生させるに過ぎない。この
遷移低レベルの期間は、可及的に短く且つそれが
FIFO40の左側又は右側の何れかの制御スタツ
ク41又は47とインターフエースする際に入力
シフト制御論理44の適切な機能を維持すること
が可能である様に選択されている。線SISL又は
SISRの何れか一方におけるこの遷移低信号の期
間は約3個のゲート遅れの間存在する。典型的な
シフトインサイクルでは、シフトイン線SIを高に
上げた時に入力レデイー線IRが高となる。線
SISLは、シフトイン線SIが高とされた後1個の
ゲート遅れの後に低となる。線44−11は、シ
フトイン線SIが高とされてから2個のゲート遅れ
の後に高とされる。入力レデイー線IRは、シフ
トイン線SIが高とされてから3個のゲート遅れの
後に低とされ、線IR上の信号はゲート44−1
への入力信号であるので、線SISLは4個のゲー
ト遅れの後に再度高となる。このSISL(及び
SISR)上の低レベル信号の3個のゲート遅れの
期間は入力シフト制御論理の構成において最適で
あると考えられる。
るラツチ101はシフトインシーケンスが開始さ
れた完了していないことを表す出力信号を供給す
る為に使用されている。典型的なシフトインシー
ケンスは以下の如くに発生する。入力レデイー線
IRが高で、シフトイン線SIが低から高へ上げら
れるとシフトインシーケンスが開始される。例え
ば、側部ポインタ45がセツトされてFIFO40
の左側において活動を開始すると、シフトイン線
SIが高となつた後の1個のゲート遅れの後に、信
号線SISLが低となる。1個のゲート遅れの後、
信号線44−11が高となり、その後に1個のゲ
ート遅れの後に、入力レデイー線IRが低となる。
然し乍ら、入力レデイー線IRが低となる時間を
越えた時間に渡つてシフトイン線SIが高状態を持
続する場合には、入力側ポインタ45が論理状態
を変化させ、ゲート44−2をイネーブルして次
のデータワードの入力とする。ラツチ101がな
かつた場合、入力側ポインタ45の状態変化はゲ
ート44−4が右側データスタツクの上部におい
てレデイー状態を検知することを許容し、次いで
入力レデイー線IRを高とさせる。これにより、
ワードが右側スタツクの上部データレジスタR
(0)内に入力し、それはSIが低とされ次いで再
び高とされる迄行なわれるべきではない。ラツチ
101は以下の後とくしてこれが起こることを防
止する。シフトイン線SIが高となりシフトインシ
ーケンスが開始された後1個のゲート遅れの後
に、線SISL上の信号が低となり、それは信号線
44−13上のレベルを論理1から論理0とさせ
且つシフトイン線SIが再度ユーザによつて低とさ
れる迄低の儘に維持する。線44−13上の低レ
ベルは、ゲート44−1,44−2,44−3,
44−4への入力信号として機能するが、進行中
のシフトインシーケンスが未だ完了していないの
で、スタツクL又はRの何れかがデータを受け取
る準備がされていることをゲート44−3及び4
4−4が意味することを防止する。同様に、進行
中のシフトインシーケンスが線SI上のシフトイン
信号を低下させることによつて完了される迄、線
44−13上の低レベルは、論理ゲート44−1
及び44−2が夫々の出力線SISL及びSISR上に
付加的な低信号を供給することを防止している。
最後に、注意すべきことであるが、シフトインシ
ーケンスの開始は信号線SISL又はSISR上に遷移
論理レベル(低)を発生させるに過ぎない。この
遷移低レベルの期間は、可及的に短く且つそれが
FIFO40の左側又は右側の何れかの制御スタツ
ク41又は47とインターフエースする際に入力
シフト制御論理44の適切な機能を維持すること
が可能である様に選択されている。線SISL又は
SISRの何れか一方におけるこの遷移低信号の期
間は約3個のゲート遅れの間存在する。典型的な
シフトインサイクルでは、シフトイン線SIを高に
上げた時に入力レデイー線IRが高となる。線
SISLは、シフトイン線SIが高とされた後1個の
ゲート遅れの後に低となる。線44−11は、シ
フトイン線SIが高とされてから2個のゲート遅れ
の後に高とされる。入力レデイー線IRは、シフ
トイン線SIが高とされてから3個のゲート遅れの
後に低とされ、線IR上の信号はゲート44−1
への入力信号であるので、線SISLは4個のゲー
ト遅れの後に再度高となる。このSISL(及び
SISR)上の低レベル信号の3個のゲート遅れの
期間は入力シフト制御論理の構成において最適で
あると考えられる。
ゲート44−1,44−3,45−5は、一体
となつて、2個の入力リードSIとIR及び出力リ
ードSISLとを持つた遅延手段103として機能
する。リードSI及びIRはゲート44−1への入
力リードであり、44−1の出力リードSISLは
ゲート44−3への入力リードとして機能し、そ
の出力リード44−11はゲート44−5への入
力として機能する。ゲート44−5の出力リード
はリードIRである。
となつて、2個の入力リードSIとIR及び出力リ
ードSISLとを持つた遅延手段103として機能
する。リードSI及びIRはゲート44−1への入
力リードであり、44−1の出力リードSISLは
ゲート44−3への入力リードとして機能し、そ
の出力リード44−11はゲート44−5への入
力として機能する。ゲート44−5の出力リード
はリードIRである。
遅延手段103がリードSISL上の(低)アク
テイブパルスの期間を制御する。リードSISL上
の信号は、リードSI及びIR上の入力信号が両方
共高となつた後1個のゲート遅れの後低となり、
それが低となつてから3個のゲート遅れの後に再
度高となる。
テイブパルスの期間を制御する。リードSISL上
の信号は、リードSI及びIR上の入力信号が両方
共高となつた後1個のゲート遅れの後低となり、
それが低となつてから3個のゲート遅れの後に再
度高となる。
同様に、ゲート44−2,44−4,44−5
は、リードSISR上の低パルスの期間を制御する
遅延手段として機能し、類似した遅延手段が出力
シフト制御論理48内において使用されている出
力シフト制御論理48及び出力側部ポインタ49
は入力シフト制御論理44及び入力側部ポインタ
45と夫々同様に機能する。
は、リードSISR上の低パルスの期間を制御する
遅延手段として機能し、類似した遅延手段が出力
シフト制御論理48内において使用されている出
力シフト制御論理48及び出力側部ポインタ49
は入力シフト制御論理44及び入力側部ポインタ
45と夫々同様に機能する。
典型的な従来のフオールスルーFIFOメモリシ
ステムと比べ、Nワード二重スタツクメモリシス
テム40(第4図)は幾つかの利点を有してい
る。
ステムと比べ、Nワード二重スタツクメモリシス
テム40(第4図)は幾つかの利点を有してい
る。
(1) 従来の単一フオールスルースタツクを2つの
同等のスタツクに分割しているので、フオール
スルー遅れが半分になる。
同等のスタツクに分割しているので、フオール
スルー遅れが半分になる。
(2) 位置「0」から位置「1」へ内部シフトに起
因する遅れがサイクルから除かれているので最
大シフトイン(シフトアウト)周波数の理論的
限界が2倍となつている。最小シフトサイクル
からこの遅れを取り除いているのは側部から側
部へのスイツチングである。
因する遅れがサイクルから除かれているので最
大シフトイン(シフトアウト)周波数の理論的
限界が2倍となつている。最小シフトサイクル
からこの遅れを取り除いているのは側部から側
部へのスイツチングである。
本発明によれば、NワードMスタツクのメモリ
システム60が構成され、MはN≡0(mod M)
を満足する2以上の任意の正の整数であり、即ち
MはNを割りきれる。注意すべきであるが、M=
Nであると、RAM内における各ワード貯蔵位置
に対して1個のフオールスルー“スタツク”があ
る。このMフオールスルースタツク構造の1実施
例のブロツク線図を第5図に示してある。Nワー
ドメモリをスタツク当たり(N/M)ワードのM
個のスタツクに構成している。
システム60が構成され、MはN≡0(mod M)
を満足する2以上の任意の正の整数であり、即ち
MはNを割りきれる。注意すべきであるが、M=
Nであると、RAM内における各ワード貯蔵位置
に対して1個のフオールスルー“スタツク”があ
る。このMフオールスルースタツク構造の1実施
例のブロツク線図を第5図に示してある。Nワー
ドメモリをスタツク当たり(N/M)ワードのM
個のスタツクに構成している。
第5図における各データワード列は、k=0,
…,M−1に対しするデータレジスタDR(k,
0),…,DR(k,(N/M))のフオールスルー
列で形成されている。第5図における各制御列
は、k=0,…,M−1に対するN/M制御レジ
スタCR(k,0),…,CR(k,(N/M)−1)
の列と、DR(k,j+1)が空の場合にのみ、
k=0,…,M−1;j=0,…,(N/M)−
2、データレジスタDR(k,j)内のデータワ
ードをDR(k,j+1)へ伝播する為の雑多事
項ワード伝播論理とを有している。
…,M−1に対しするデータレジスタDR(k,
0),…,DR(k,(N/M))のフオールスルー
列で形成されている。第5図における各制御列
は、k=0,…,M−1に対するN/M制御レジ
スタCR(k,0),…,CR(k,(N/M)−1)
の列と、DR(k,j+1)が空の場合にのみ、
k=0,…,M−1;j=0,…,(N/M)−
2、データレジスタDR(k,j)内のデータワ
ードをDR(k,j+1)へ伝播する為の雑多事
項ワード伝播論理とを有している。
k番目のデータ列、制御列、及びワード伝播論
理は第2図の要素20に対して説明した如く機能
する。
理は第2図の要素20に対して説明した如く機能
する。
入力ポート61はデータ入力バツフア62と入
力制御論理63とを有している。入力制御論理6
3は、入力シフト制御論理64と、入力列ポイン
タ65とを有しており、且つ入力ワードW(i),
i=0,1,…,のデータシーケンスを受け取つ
た順番にメモリ内に指向させ、そこでデータワー
ドW(i)はそのデータレジスタが空である場合
にのみ、データレジスタDR(i(mod M),0)
内にシフト入力される。データ入力バツフア62
は第4図内のデータ入力バツフア42と同様に機
能する。
力制御論理63とを有している。入力制御論理6
3は、入力シフト制御論理64と、入力列ポイン
タ65とを有しており、且つ入力ワードW(i),
i=0,1,…,のデータシーケンスを受け取つ
た順番にメモリ内に指向させ、そこでデータワー
ドW(i)はそのデータレジスタが空である場合
にのみ、データレジスタDR(i(mod M),0)
内にシフト入力される。データ入力バツフア62
は第4図内のデータ入力バツフア42と同様に機
能する。
出力制御論理70は、出力シフト制御論理67
と出力列ポインタ69とを有している。出力制御
論理70は、データワードW(0)をデータレジ
スタDR(0,(N/M)−1)からシフト出力さ
せ、且つデータワードW(i)をデータレジスタ
DR((i mod M,(N/M)−1)からシフト
出力させるが、それはi=1,2,…に対してデ
ータワードW(i−1)が前以てデータレジスタ
DR((i−1)(mod M),(N/M)−1)から
シフト出力されている場合のみである。データ出
力バツフア66は第4図のデータ出力バツフア4
6と同様に機能する。
と出力列ポインタ69とを有している。出力制御
論理70は、データワードW(0)をデータレジ
スタDR(0,(N/M)−1)からシフト出力さ
せ、且つデータワードW(i)をデータレジスタ
DR((i mod M,(N/M)−1)からシフト
出力させるが、それはi=1,2,…に対してデ
ータワードW(i−1)が前以てデータレジスタ
DR((i−1)(mod M),(N/M)−1)から
シフト出力されている場合のみである。データ出
力バツフア66は第4図のデータ出力バツフア4
6と同様に機能する。
入力ポート61及び出力ポート68は、所望に
より、非同期的に動作させることも可能である。
より、非同期的に動作させることも可能である。
NワードメモリにおいてスタツクMの数を増加
することは種々の利点につながる。第1に、明ら
かにフオールスルー遅延が減少され、それはスタ
ツク数に逆比例する。第2に、入力ポート及び出
力ポートにおける最大シフト速度を、基本的に制
御論理を構成するのに使用する技術によつて制限
される速度迄向上させることが可能である。即
ち、理論的に、理想的な制御論理を持つた世界に
おける本発明のMスタツクFIFOメモリシステム
は従来の単一スタツクFIFOメモリとして得られ
るポート速度のM倍である。実際上、このM倍の
改良は、制御論理において必要とされる論理動作
を実行する為に必要な時間が存在するので得るこ
とは出来ない。
することは種々の利点につながる。第1に、明ら
かにフオールスルー遅延が減少され、それはスタ
ツク数に逆比例する。第2に、入力ポート及び出
力ポートにおける最大シフト速度を、基本的に制
御論理を構成するのに使用する技術によつて制限
される速度迄向上させることが可能である。即
ち、理論的に、理想的な制御論理を持つた世界に
おける本発明のMスタツクFIFOメモリシステム
は従来の単一スタツクFIFOメモリとして得られ
るポート速度のM倍である。実際上、このM倍の
改良は、制御論理において必要とされる論理動作
を実行する為に必要な時間が存在するので得るこ
とは出来ない。
第6図に示した実施例においては、バイポーラ
シヨツトキー技術で集積回路として構成する場合
には、入力ポート乃至は出力ポートにおける最大
シフト速度は略2倍増加され、この技術において
は付加的なスタツクは等価電力レベルにおける回
路の動作に対してこの速度を増加することはな
い。第3に、或るIC回路技術においては、例え
ばバイポーラ又はNMOSではD.C.電力消費を必
要とし、入力及び出力ポートにおける与えられた
最大シフト速度に対して、スタツクの数が増加す
ると与えられたポートのシフト速度に対して要求
される各スタツク内の伝播速度が遅くなるので、
MスタツクFIFOを介してデータワードシーケン
スを伝播させるのに必要とされる電力はMが増加
すると減少する。このことは、基本的に全てのス
タツクを介して与えられたスタツクからサイクル
させ且つそのあたえられたスタツクへ帰還させる
為に列ポインタに対する時間が増加することに起
因するものである。
シヨツトキー技術で集積回路として構成する場合
には、入力ポート乃至は出力ポートにおける最大
シフト速度は略2倍増加され、この技術において
は付加的なスタツクは等価電力レベルにおける回
路の動作に対してこの速度を増加することはな
い。第3に、或るIC回路技術においては、例え
ばバイポーラ又はNMOSではD.C.電力消費を必
要とし、入力及び出力ポートにおける与えられた
最大シフト速度に対して、スタツクの数が増加す
ると与えられたポートのシフト速度に対して要求
される各スタツク内の伝播速度が遅くなるので、
MスタツクFIFOを介してデータワードシーケン
スを伝播させるのに必要とされる電力はMが増加
すると減少する。このことは、基本的に全てのス
タツクを介して与えられたスタツクからサイクル
させ且つそのあたえられたスタツクへ帰還させる
為に列ポインタに対する時間が増加することに起
因するものである。
以上、本発明の具体的実施の態様に付いて詳細
に説明したが、本発明はこれら具体例にのみ限定
されるべきものでは無く、本発明の技術的範囲を
逸脱すること無しに種々の変形が可能であること
は勿論である。
に説明したが、本発明はこれら具体例にのみ限定
されるべきものでは無く、本発明の技術的範囲を
逸脱すること無しに種々の変形が可能であること
は勿論である。
第1図はFIFOメモリシステムのブロツク線図、
第2図は従来のフオールスルーFIFOメモリシス
テムのブロツク線図、第3図は従来のポインタ型
FIFOメモリシステムのブロツク線図、第4図は
第4a図と第4b図との配置関係を示した説明
図、第4a図及び第4b図は第4図の如く配置さ
れた場合に本発明の1実施例に基づいて構成され
たNワード二重スタツクFIFOメモリシステムの
部分を示す各部分ブロツク線図、第5図は第5a
図と第5b図との配置関係を示した説明図、第5
a図及び第5b図は第5図の如く配置された場合
に本発明の1実施例に基づいて構成されたNワー
ドMスタツクFIFOメモリシステムの部分を示す
各部分ブロツク線図、第6図は第6a図乃至第6
d図の配置関係を示した説明図、第6a図乃至第
6d図は第6図の如く配置された場合に本発明の
1実施例に基づいて構成された64ワード二重ス
タツクFIFOメモリシステムの部分を示す各部分
ブロツク線図、第7図は二重スタツクFIFOメモ
リシステム様の入力制御論理の1実施例の論理
図、である。 符号の説明、40……Nワード二重スタツク
FIFOメモリ、41……左側スタツク、42……
データ入力バツフア、43……入力ポート、44
……入力シフト制御論理、46……データ出力バ
ツフア、47……右側スタツク、48……出力シ
フト制御論理、49……出力側部ポインタ、50
……入力制御論理。
第2図は従来のフオールスルーFIFOメモリシス
テムのブロツク線図、第3図は従来のポインタ型
FIFOメモリシステムのブロツク線図、第4図は
第4a図と第4b図との配置関係を示した説明
図、第4a図及び第4b図は第4図の如く配置さ
れた場合に本発明の1実施例に基づいて構成され
たNワード二重スタツクFIFOメモリシステムの
部分を示す各部分ブロツク線図、第5図は第5a
図と第5b図との配置関係を示した説明図、第5
a図及び第5b図は第5図の如く配置された場合
に本発明の1実施例に基づいて構成されたNワー
ドMスタツクFIFOメモリシステムの部分を示す
各部分ブロツク線図、第6図は第6a図乃至第6
d図の配置関係を示した説明図、第6a図乃至第
6d図は第6図の如く配置された場合に本発明の
1実施例に基づいて構成された64ワード二重ス
タツクFIFOメモリシステムの部分を示す各部分
ブロツク線図、第7図は二重スタツクFIFOメモ
リシステム様の入力制御論理の1実施例の論理
図、である。 符号の説明、40……Nワード二重スタツク
FIFOメモリ、41……左側スタツク、42……
データ入力バツフア、43……入力ポート、44
……入力シフト制御論理、46……データ出力バ
ツフア、47……右側スタツク、48……出力シ
フト制御論理、49……出力側部ポインタ、50
……入力制御論理。
Claims (1)
- 【特許請求の範囲】 1 Mは2以上であり且つN≡0(mod M)であ
つてM個のフオールスルー列0,…,M−1に配
設されたNワード貯蔵位置を持つておりk番目の
フオールスルー列がk=0,…,M−1に対しデ
ータレジスタDR(k,0),…,DR(k,N/M
−1)を有しているメモリが設けられており、一
連のデータワードW(i)を受け取る為の入力ポ
ートが設けられており、k=0,…,m−1でj
=0,…,(N/M)−2でデータレジスタDR
(k,j+1)が空の場合にのみデータレジスタ
DR(k,j)内のデータワードをデータレジス
タDR(k,j+1)へ伝播させる為の制御レジ
スタCR(k,0),…,CR(k(N/M)−1)の
列が設けられており、制御レジスタCR(k,j)
がいつそれと関連するデータレジスタDR(k,
j)が空であるか又は満杯でることを表すかを検
知し且つk=0,…,M−1でj=0,…,
(N/M)−2でDR(k,j)が満杯でDR(k,
j+1)が空の場合にデータレジスタDR(k,
j)からDR(k,j+1)へのデータの転送を
開始する他の各列k=1,…,M−1に対するワ
ード伝播論理WPL(k)が設けられており、W
(i)がW(j)の前に受け取られた場合にのみ前
記シーケンスW(i),i=0,1,…,のデータ
ワード(jはiよりも大)を受け取り且つ前記デ
ータワードのシーケンスをk=1,…,(M−1)
に対する前記データレジスタDR(k,0)へ提
供する為の入力データバツフアが設けられてお
り、k=1,…,(M−1)に対する前記データ
レジスタDR(k,0)内に前記入力データバツ
フアによつて受け取られた順番に前記データワー
ドW(i),i=0,1,…,をシフト入力させて
データレジスタDR(i(mod M),0)が空であ
る場合にのみ前記データワードW(i)を前記デ
ータレジスタDR(i(mod M),0)内にシフト
入力させるべく前記入力ポートに指示する為の入
力制御論理が設けられており、前記データワード
W(i)のシーケンスを外部回路へ供給する為の
出力ポートが設けられており、k=0,…,M−
1に対してデータレジスタDR(k,(N/M)−
1)から前記データワードを受け取り且つ前記デ
ータワードを前記出力ポートへ供給する為の出力
データバツフアが設けられており、前記データレ
ジスタDR(0,(N/M)−1)からのデータワ
ードW(0)を検知し且つ該検知したデータワー
ドW(0)を前記出力ポートへ供給すべく前記出
力データバツフアを指示し又前記データレジスタ
DR(0,(N/M)−1)からのデータワードW
(0)をシフトさせ又i=1,2,…、で前記デ
ータレジスタDR(i(mod M),(N/M)−1)
からのデータワードW(i)を検知し且つデータ
ワードW(i−1)が前にデータレジスタDR
((i−1)(mod M),(N/M)−1)から検知
されており且つ前記出力ポートへ供給されている
場合にのみ前記検地されたデータワードW(i)
を前記出力ポートへ供給すべく前記出力データバ
ツフアを指示し又前記データワードW(i)を前
記データレジスタDR(i mod M,(N/M)−
1)からシフトさせる為の出力制御論理が設けら
れていることを特徴とするFIFOメモリ方式。 2 特許請求の範囲第1項において、M=2であ
ることを特徴とする方式。 3 特許請求の範囲第1項又は第2項において、
前記入力制御論理が入力シフト制御論理と入力側
部ポインタとを有することを特徴とする方式。 4 特許請求の範囲第1項又は第2項において、
前記入力制御論理が、第1所定電位を受け取る為
の第1入力リードと、第2所定電位を受け取る為
の第2入力リードと、第1所定期間の間又は前記
第1所定電位が前記第1入力リードに印加され且
つ前記第2所定電位が前記第2入力リードに印加
された後においては第2所定期間の間第3所定電
位を供給する出力リードとを持つた遅延手段を有
することを特徴とする方式。 5 特許請求の範囲第4項において、前記第1所
定期間は3個のゲート遅れであることを特徴とす
る方式。 6 特許請求の範囲第4項において、前記第2所
定期間は1個のゲート遅れであることを特徴とす
る方式。 7 特許請求の範囲第4項において、前記遅延手
段が、前記遅延手段の前記第1入力リードに接続
されている第1入力リードと、前記遅延手段の前
記第2入力リードに接続されている第2入力リー
ドと、前記遅延手段の前記出力リードに接続され
ている出力リードとを持つた第1ゲートと、前記
第1ゲートの前記出力リードに接続された入力リ
ードを具備すると共に出力リードを具備した第2
ゲートと、前記第2ゲートの前記出力リードへ接
続されている入力リードを具備すると共に前記第
1ゲートの前記第2入力リードへ接続されている
出力リードを具備した第3ゲートとを有すること
を特徴とする方式。 8 特許請求の範囲第1項又は第2項において、
前記出力制御論理が、出力シフト制御論理と出力
側部ポインタとを有することを特徴とする方式。 9 特許請求の範囲第1項又は第2項において、
前記出力制御論理が、第1所定電位を受け取る為
の第1入力リードと、第2所定電位を受け取る為
の第2入力リードと、第1所定期間か又は前記第
1所定電位が前記第1入力リードに印加され且つ
前記第2所定電位が前記第2入力リードに印加さ
れたのちは第2所定期間の間第3所定電位を供給
する出力リードとを有することを特徴とする方
式。 10 特許請求の範囲第9項において、前記第1
所定期間が3個のゲート遅れであることを特徴と
する方式。 11 特許請求の範囲第9項において、前記第2
所定期間が1個のゲート遅れであることを特徴と
する方式。 12 特許請求の範囲第9項において、前記遅延
手段が、前記遅延手段の前記第1入力リードに接
続されている第1入力リードと前記遅延手段の前
記第2入力リードに接続されている第2入力リー
ドと前記遅延手段の前記出力リードに接続されて
いる出力リードとを具備した第1ゲートと、前記
第1ゲートの前記出力リードに接続されている入
力リードを具備すると共に出力リードを具備した
第2ゲートと、前記第2ゲートの前記出力リード
に接続されている入力リードを具備すると共に前
記第1ゲートの前記第2入力リードに接続されて
いる出力リードを具備する第3ゲートとを有する
ことを特徴とする方式。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US551735 | 1983-11-10 | ||
| US06/551,735 US4642797A (en) | 1983-11-10 | 1983-11-10 | High speed first-in-first-out memory |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60231994A JPS60231994A (ja) | 1985-11-18 |
| JPH0441439B2 true JPH0441439B2 (ja) | 1992-07-08 |
Family
ID=24202462
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59237412A Granted JPS60231994A (ja) | 1983-11-10 | 1984-11-10 | 高速fifoメモリ |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US4642797A (ja) |
| EP (1) | EP0142263B1 (ja) |
| JP (1) | JPS60231994A (ja) |
| DE (2) | DE3484419D1 (ja) |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2552916B1 (fr) * | 1983-09-29 | 1988-06-10 | Thomas Alain | File d'attente asynchrone a empilement de registres |
| US4862419A (en) * | 1983-11-10 | 1989-08-29 | Advanced Micro Devices, Inc. | High speed pointer based first-in-first-out memory |
| GB8414109D0 (en) * | 1984-06-02 | 1984-07-04 | Int Computers Ltd | Data reorganisation apparatus |
| US4833655A (en) * | 1985-06-28 | 1989-05-23 | Wang Laboratories, Inc. | FIFO memory with decreased fall-through delay |
| US4727312A (en) * | 1985-12-23 | 1988-02-23 | Genrad, Inc. | Circuit tester |
| US5133062A (en) * | 1986-03-06 | 1992-07-21 | Advanced Micro Devices, Inc. | RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory |
| US4949301A (en) * | 1986-03-06 | 1990-08-14 | Advanced Micro Devices, Inc. | Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs |
| US4894797A (en) * | 1986-11-17 | 1990-01-16 | Amp Incorporated | FIFO data storage system using PLA controlled multiplexer for concurrent reading and writing of registers by different controllers |
| US4907186A (en) * | 1987-02-09 | 1990-03-06 | The United States Of America As Represented By The Secretary Of Commerce | Data direct ingest system |
| US4817058A (en) * | 1987-05-21 | 1989-03-28 | Texas Instruments Incorporated | Multiple input/output read/write memory having a multiple-cycle write mask |
| US5179688A (en) * | 1987-06-30 | 1993-01-12 | Tandem Computers Incorporated | Queue system with uninterrupted transfer of data through intermediate locations to selected queue location |
| US5121479A (en) * | 1988-01-27 | 1992-06-09 | Storage Technology Corporation | Early start mode data transfer apparatus |
| EP0353942A3 (en) * | 1988-08-02 | 1991-01-16 | Advanced Micro Devices, Inc. | A ripple-through fifo memory |
| US5099450A (en) * | 1988-09-22 | 1992-03-24 | Syracuse University | Computer for reducing lambda calculus expressions employing variable containing applicative language code |
| EP0374764B1 (en) * | 1988-12-19 | 2001-04-04 | Nec Corporation | Data transfer apparatus |
| GB2232797B (en) * | 1989-06-16 | 1993-12-08 | Samsung Semiconductor Inc | RAM based serial memory with pipelined look-ahead reading |
| US5122988A (en) * | 1989-09-21 | 1992-06-16 | Schlumberger Tecnologies, Inc. | Data stream smoothing using a FIFO memory |
| US5255242A (en) * | 1990-12-17 | 1993-10-19 | Texas Instruments Incorporated | Sequential memory |
| US5278957A (en) * | 1991-04-16 | 1994-01-11 | Zilog, Inc. | Data transfer circuit for interfacing two bus systems that operate asynchronously with respect to each other |
| US5343435A (en) * | 1991-06-14 | 1994-08-30 | Integrated Device Technology, Inc. | Use of a data register to effectively increase the efficiency of an on-chip write buffer |
| US5473755A (en) * | 1992-06-01 | 1995-12-05 | Intel Corporation | System for controlling data stream by changing fall through FIFO last cell state of first component whenever data read out of second component last latch |
| US5956492A (en) * | 1996-03-29 | 1999-09-21 | Lsi Logic Corporation | N-deep fixed latency fall-through FIFO architecture |
| US6067267A (en) * | 1998-08-12 | 2000-05-23 | Toshiba America Electronic Components, Inc. | Four-way interleaved FIFO architecture with look ahead conditional decoder for PCI applications |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3883854A (en) * | 1973-11-30 | 1975-05-13 | Ibm | Interleaved memory control signal and data handling apparatus using pipelining techniques |
| US3976842A (en) * | 1975-03-10 | 1976-08-24 | Hayward Research, Inc. | Analog rate changer |
| JPS5320825A (en) * | 1976-08-11 | 1978-02-25 | Hitachi Ltd | Memory control system |
| US4151609A (en) * | 1977-10-11 | 1979-04-24 | Monolithic Memories, Inc. | First in first out (FIFO) memory |
| US4152781A (en) * | 1978-06-30 | 1979-05-01 | International Business Machines Corporation | Multiplexed and interlaced charge-coupled serial-parallel-serial memory device |
| US4259719A (en) * | 1979-06-13 | 1981-03-31 | Ford Motor Company | Binary input processing in a computer using a stack |
| US4288860A (en) * | 1979-08-02 | 1981-09-08 | Sperry Corporation | Dynamic storage synchronizer using variable oscillator and FIFO buffer |
| US4374428A (en) * | 1979-11-05 | 1983-02-15 | Rca Corporation | Expandable FIFO system |
-
1983
- 1983-11-10 US US06/551,735 patent/US4642797A/en not_active Expired - Lifetime
-
1984
- 1984-10-10 DE DE8484306913T patent/DE3484419D1/de not_active Expired - Lifetime
- 1984-10-10 DE DE198484306913T patent/DE142263T1/de active Pending
- 1984-10-10 EP EP84306913A patent/EP0142263B1/en not_active Expired
- 1984-11-10 JP JP59237412A patent/JPS60231994A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| EP0142263A3 (en) | 1987-06-03 |
| US4642797A (en) | 1987-02-10 |
| EP0142263B1 (en) | 1991-04-10 |
| DE3484419D1 (de) | 1991-05-16 |
| JPS60231994A (ja) | 1985-11-18 |
| EP0142263A2 (en) | 1985-05-22 |
| DE142263T1 (de) | 1985-10-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0441439B2 (ja) | ||
| US4862419A (en) | High speed pointer based first-in-first-out memory | |
| US4829475A (en) | Method and apparatus for simultaneous address increment and memory write operations | |
| US4751671A (en) | Size configurable data storage system | |
| US5497478A (en) | Memory access system and method modifying a memory interleaving scheme so that data can be read in any sequence without inserting wait cycles | |
| JPH03130983A (ja) | パイプラインシリアルメモリ及びそのパイプラインの方法 | |
| WO1990007184A1 (en) | Method and apparatus for handling high speed data | |
| JPH0576650B2 (ja) | ||
| JPH0531176B2 (ja) | ||
| US3851335A (en) | Buffer systems | |
| US3997880A (en) | Apparatus and machine implementable method for the dynamic rearrangement of plural bit equal-length records | |
| EP0057096A2 (en) | Information processing unit | |
| US4549283A (en) | Digital time delay circuit with high speed and large delay capacity | |
| JP2820462B2 (ja) | データ列発生装置 | |
| US3971005A (en) | Dual access magnetic domain memory | |
| JP2667702B2 (ja) | ポインタリセット方式 | |
| EP1585024B1 (en) | An improved on-chip storage memory for storing variable data bits | |
| SU1179430A1 (ru) | Устройство для обслуживания запросов в доменной памяти | |
| KR0121145B1 (ko) | 씨디롬 디코더의 디엠에이 제어회로 | |
| EP0117347B1 (en) | Magnetic bubble memory systems | |
| JPH01269150A (ja) | バッファリング装置 | |
| JP2917290B2 (ja) | レジスタ制御回路 | |
| KR0179903B1 (ko) | 선입선출 메모리 | |
| SU1714684A1 (ru) | Буферное запоминающее устройство | |
| SU881863A1 (ru) | Стековое запоминающее устройство |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |