JPS61296424A - シフトレジスタ・メモリの状態を決定する方法と装置 - Google Patents

シフトレジスタ・メモリの状態を決定する方法と装置

Info

Publication number
JPS61296424A
JPS61296424A JP61143996A JP14399686A JPS61296424A JP S61296424 A JPS61296424 A JP S61296424A JP 61143996 A JP61143996 A JP 61143996A JP 14399686 A JP14399686 A JP 14399686A JP S61296424 A JPS61296424 A JP S61296424A
Authority
JP
Japan
Prior art keywords
memory
write
read
data
output
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.)
Granted
Application number
JP61143996A
Other languages
English (en)
Other versions
JP2612559B2 (ja
Inventor
モリス デイー.ワード
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments 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 Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of JPS61296424A publication Critical patent/JPS61296424A/ja
Application granted granted Critical
Publication of JP2612559B2 publication Critical patent/JP2612559B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/12Indexing scheme relating to groups G06F5/12 - G06F5/14
    • G06F2205/123Contention resolution, i.e. resolving conflicts between simultaneous read and write operations

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は全般的にディジタル信号の非同期伝送、更に具
体的に云えば、メモリの空及び一杯の状態によってディ
ジタル情報の非同期的な書込み及び読取が注意深く制御
される様なメモリ・バッファに圓する。
従来の技術及び問題点 データ伝送が広く普及して現在人気を得ていることは、
計算機、処理@置等に接続可能な商用的に入手し得るデ
ィジタル周辺装置の憬によって明らかである。全般的に
データ処理システムは、コンビュータプロセッサの様な
動作が極めて速い装置とディスク記録装置及びプリンタ
の様な動作が一層遅い他の周辺装置の間の相互の連絡を
必要とする。
システムの相互接続された種々の部品が非同期的に連絡
することが出来る様にして、動作の速い装置が、例えば
プリンタと、このプリンタの一層理い通信速度で通信し
なくてもよい様にする時、この様なシステムの最も効率
の良い利用が実現される。
システムの部品の間の中間バッファとしてメモリを用い
、ある速度で送信側の装置が書込んだデータを記憶する
と共に、別の速度で宛先の装置がこのメモリから読取る
様にすることは周知の慣行である。この構成では、送信
側の装置がデータを伝送する時、メモリの記憶空間を利
用し得ることが絶対条件である。更に、メモリの記憶空
間が一杯である時、それ以上の伝送を行なうことが出来
ないことを送信側の装置に知らせることが必要である。
宛先の装置は、メモリ記憶装置が空であって、送信側の
装置からその中に追加のデータが書込まれない以上、そ
れからそれ以上の読取を行なうことが出来ない時には、
中間バッファから合図を受取ることも、同じ様に重要で
ある。
従って、ディジタル装置の間の非同期的な通信のバッフ
ァ作用を行なうメモリ構造を見かけることはまれではな
い。ディジタル・ワードを所望の速度で直列に書込み、
異なる速度でそれから直列に読取る為に、シフトレジス
タを使うことが出来ることはよく知られている。しかし
、こういう形式のバッファの問題は、その中に書込まれ
たデータは、そのデータが出力側の端に利用出来る様に
なるまでには、全てのメモリ位置を通過1ノで波及(リ
ップル)して行かなければならないことである。この方
式によると、シフトレジスタの入力からその出力にデー
タを漸進的にシフトさせる為に、かなりの遅延時間が起
こらざるを得ない。
穫く最近になって、先入れ先出しくFIFO)特性を持
つバッファ・ランダムアクセス・メモリが開発されてい
る。然し、このメモリ内でのデータの移送は、どの記憶
セルが有効なデータを保持しているかの記述(acco
unt )を管理する制御部門によって管理される。例
えば、米国特許第4゜151.608号及び同第4.4
59.681号を参照されたい。こういうFIFOメモ
リ装置もデータをセルからセルヘシフトすることを必要
とし、この為本来的にスループット又はフォールスル一
時間が長くなる。
メモリ・バッファの別の改良が、[コンピュータ・ブザ
−i’ ン(Coa+puter Design ) 
J誌1983年6月号第181頁に記載されている。こ
こには、各々の記憶位置に対する入力データ・バスと、
任意のワード位置に記憶されているデータを読取ること
が出来る出力データ・バスとが示されている。
然し、このシステムでは、メモリ書込みサイクルが書込
みパルスの1つの縁で開始されるが、メモリに実際にデ
ータが書込まれるのは、その他方の変化の時である。こ
の方式を用いてメモリに書込まれるデータの信頼性は一
般的に良好である。然し、書込みパルスの遷移の近くで
変化しつつあるデータは信頼性がない。更にFIFOメ
モリは、バッファの空又は一杯の状態を決定する為に、
現在書込まれ並びに読取られている特定のアドレスの継
続的な記述を必要とする。書込みパルスの立上り及び立
下りの遷移の間、FIFOメモリの外部でも内部でも、
種々の事象が起こり得るから、真実の空又は一杯の状態
は不確実になる場合が多い。従って、空又は一杯の状態
を絶対的に保証することが出来ない。
従って、スルーブツト時間、即ちフォールスル一時間が
ゼロに極く近く、その空又は一杯の状態を絶対的な確実
さで決定することが出来る様な[IFOメモリ・バッフ
ァに対する要望がある。
更に、全ての内部動作が読取又は書込み信号の1回の変
化の結果として開始され且つ実行される様なFIFO形
のメモリ・バッファに対する要望がある。
それに伴なって、異なるメモリ・ワードを同時に読取且
つ書込むことが出来るか、或いは同じワードを極めて短
い期間内に書込み且つ読取ることが出来る様な極めて高
速のFIFOメモリ・バッファに対する要望がある。
本発明のその他の目的及び特徴は、以下図面について実
施例を説明する所から明らかになろう。
問題点(−11ケ9匁友9−王且jび作里本発明では、
従来の装置に伴なう問題を実質的になくし且つ少なくす
る様なFIFOメモリ・バッファを提供する。
本発明では、メモリ位置に直接的にデーターを書込む為
の共通のデータ入力バス、及びそれからメモリ位置を直
接的に読取ることが出来る様な共通のデータ出力バスを
持つ複数個のメモリ・ワード位置を設・プる。書込みア
ドレス・リング・カウンタが、入力書込み指令に応答し
て、各々のメモリ・ワード位置を逐次的にアドレスする
。読取アドレス・リング・カウンタが同様に動作して、
入力読取指令に応答してメモリ・ワード位置を逐次的に
読取る。W / Rill m器が入力書込み指令の前
縁の変化にも応答して、入力データバスの入力データを
ラッチする。W / RII m器は書込み及び読取指
令の前縁にも応答して、夫々書込み又は読取アドレス・
リング・カウンタをインフレメン1〜すると共に、アド
レスされたメモリ・ワードの実際の書込み又は読取を行
なう。更に、W / Rill a器が、最後のメモリ
動作が書込み動作であったか読取動作であったかの記述
を管理1“る。
書込みアドレス・リング・カウンタの現在のアドレスを
読取アドレス・リング・カウンタの現在のアドレスと比
較する比較器を設ける。両方のカウンタが等しい時、R
後のメモリ動作が読取動作であったとすれば、FIFO
メモリは空であるから、次の読取動作を禁止する。他方
、書込み及び読込みアドレス・リング・カウンタが同じ
メモリ位置を指しくアドレスが等しい)且つ最後の動作
が書込み動作であったとすれば、FIFOメモリは一杯
であるから、中間に読取がなければ、それ以上の書込み
動作を禁止する。
実施例 本発明のディジタル通信で広い範囲の種々の用途がある
が、第1図は、本発明を有利に実施し得る環境の1例で
ある。全体を参照数字10で示したFIFOメモリ・バ
ッファが図示され、高速データ・プロセッサ12と低速
陰楊線管(CRT)端末14の間にあって、その間でF
IFOメモリ・バッファ1oを介して通信が行なわれる
ことが示されている。データ通信はデータ・プロセッサ
12からCRT端末14へ向かう方向であり、この例で
は、データ・プロセッサ12が、CRT端末14によっ
て読取り得るよりもずっと高い速度で、FIFOメモリ
・バッファ10にデータを書込むことが出来る。データ
・プロセッサは9,600ビット/秒近辺の伝送速度を
持つことが出来るが、これに対してCRT端末14の様
な典型的な周辺装置は僅か1,200ビット/秒の伝送
速度しか持つことが出来ない。
従って、FIFOメモリ・バッファ10が中間のデータ
記憶手段となり、この記憶手段にデータを第1の速度で
書込み、第2の速度でそれから読取る。しかし、この発
明のFIFOメモリ・バッファ10が、データ書込み速
度がデータ読取速度より遅い場合でも、同じ様に有効に
利用出来ることを承知されたい。FIFOメモリ・バッ
ファ10に対するデータ伝送、即ち、データ書込み動作
が、データ読取動作よりも高い速度である場合、主な問
題となるのは、完全に一杯になったメモリを検出し、デ
ータ伝送が中断される慣れがあることをデータ・プロセ
ッサ12に警告することである。他方、データ読取り動
作の速度が1込み動作の速度より高い場合、問題は、空
のFIFOメモリ・バッファ10を検出することである
。この場合、CRT端末14には、CRT端末14から
のそれ以上の読取指令によって、空のFIFOメモリ・
バッファの無意味な読取り動作が行なわれない様に、そ
の状態が十分な時間の内に警告されなければならない。
然し、実際のディジタル・データ伝送では、高速データ
書込み動作の短いバーストでバッファ・メモリが一杯に
なり、低速データ読取り動作の一層長いバーストによっ
てメモリ・バッファが空になることがあるから、メモリ
・バッファの空及び一杯の状態の両方が起こり得る。従
って、発信側の装置又は宛先の装置が夫々高速又は低速
装置の何れであるかに関係なく、FIFOメモリ・バッ
ファ10は空及び一杯の両方の体感が起こり得る。
第1図の例に示した装置について云うと、データの流れ
がデータ・プロセッサ12からCRT端末14に向かう
方向であるから、データ入力母線16がデータ・プロセ
ッサ12からFIFOメモリ・バッファ10への伝送媒
体になる。データ入力バス16が書込み指令線18を伴
なっており、データ入力バス16を介して伝送される各
々のデータ・ワードに伴なう書込み指令がこの書込み指
令線にある。一杯フラグ線2oがFIFOメモリ・バッ
ファ10からデータ・プロセッサ12に通じていて、メ
モリ・バッファが一杯であることをデータ・プロセッサ
12に知らせる。このフラグの詳細は後で述べる。
データ・プロセッサ12からCRTI末14への全体的
な伝送通路について説明を続けると、データ出力バス2
2がFIFOメモリ・バッファ10からCRT端末14
に通じている。ディジタル・データが、読取指令線24
を介してCRT端末14からFIFOメモリ・バッファ
1oに出される読取指令によりFIFOメモリ・バッフ
ァ10からCRT端末14に転送される。この為、FI
FOメモリ・バッファ10からデータが読取られ、読取
指令線24に読取指令が現れる速度で、データ出力バス
22に出力される。
FIFOメモリ・バッファ10の空の状態が空フラグ線
26を介してCRT端末14に知らされる。リセット線
28がデータ・プロセッサ12及びCRTi末14から
FIFOメモリ・バッファ10に通じていて、メモリ・
バッファを所望の初期状態に初期設定する。
第2図には、本発明のFIFOメモリ・バッファ10の
基本的な構造上の特徴が示されている。
書込み/読取(W/R)制t[1330がメモリ48の
書込み及び読取を制御する為に、データ・プロセッサ1
2及びCRT・端末14からの書込み及び読取指令を夫
々受取る。W / Rill tll器30が、書込み
線34を介して多段書込みアドレス・リング・カウンタ
32に、そして読取線38を介して多段読取アドレス・
リング・カウンタ36に対応する書込み及び読取信号を
送る。重要なことは、後で更に詳しく説明するが、W/
R@御器30が、処理に使う最後のメモリ動作指令が書
込み指令であったか読取指令であったかの記述を管理し
ていることである。
複数個の論理ゲートを有する比較器40が、夫夫複数個
の導体42.44を介して書込みアドレス・リング・カ
ウンタ32及び読取アドレス・リング・カウンタ36に
接続される。比較器40は線46によってW/R制御器
30にも接続されていて、書込み及び読取アドレス・リ
ング・カウンタ32.36が同じアドレスを示す時を知
らせる。
この情報により、詳しいことは後で説明するが、W/R
制v11530がメモリ48が一杯又は空である時を決
定することが出来る。
メモリ48が複数個のメモリ・ワード位置又はレジスタ
5o1.□Hを持ち、これがワード1乃至Nを記憶する
。各々のメモリ・ワード・レジスタ5ONが書込みアド
レス・リング・カウンタ32の1つの段に一意的に接続
され、このメモリ・レジスタのメモリ書込み動作を行な
う。更に各々のメモリ・ワード・レジスタが、メモリ読
取動作を行なう為に、読取アドレス・リング・カウンタ
36の関連する段にも接続されている。以下の説明では
、書込み又は読取動作の間にアドレスされるメモリ・ワ
ード位置は、リング・カウンタ32又は36の一方によ
って指示されるものとする。読取アドレス・リング・カ
ウンタ36が書込みアドレス・リング・カウンタ32と
同じメモリ・ワード・レジスタ1乃至Nを示し、且つ最
後のメモリ動作が書込み動作であった時、メモリ48が
一杯であることを理解すれば、この発明が完全に理解さ
れる。同様に、書込み及び読取アドレス・リング・カウ
ンタ32,36が同じメモリ・ワード・レジスタ1乃至
Nを示し且つ最後に受取った指令が読取指令である時、
メモリ48は空であるから、この後の読取指令を受取っ
ても処理されない。
例えば、第2図のメモリ48のメモリ・レジスタ5o2
が読取られ、その為、読取アドレス・カウンタ36がレ
ジスタ502を指示していると仮定する。この時、メモ
リ・ワード・レジスタ502乃至5ONは5o1と同じ
く、新しいデータを書込むことが出来る。メモリ・ワー
ド・レジスタ501が書込まれた時、メモリ48が一杯
になる。更に、読取アドレス・リング・カウンタ36及
び書込みアドレス・リング・カウンタがレジスタ502
を指示し、最後のメモリ動作は書込み動作であった。
逆に、メモリ48全体が書込まれていて、この為、メモ
リ・レジスタ5ONが書込まれていれば、書込みアドレ
ス・リング・カウンタ32がレジスタ501を指示する
。この状況では、レジスタ50 乃至5ONをこの後で
読取ることが出来、メモリ48は空になる。読取及び書
込みアドレス・リング・カウンタ32.36が同じメモ
リ・レジスタ501を指示し、最後のメモリ動作が読取
動作であった時、メモリ空状態を検出することが出来る
ことが判る。
この方法を用いる時、特定のメモリ・アドレスをテーブ
ルに入れておく必要はなく、保持しておかなければなら
ないのは、読取及び書込みアドレスが(何であっても)
等しいかどうか、並びに処理された最後のメモリ指令が
読取動作であったが書込み動作であったかに関する情報
である。
再び第2図について説明すると、メモリ・ワード・レジ
スタ5o1はデータ入力バス16と共通に接続されたデ
ータ入力56を持っている。他の各々のワード・レジス
タ50  もバス16に同−N 様に接続されている。同じ様に、各々のメモリ・ワード
・レジスタ50  はデータ出力バス22−N と共通に接続されたデータ出力58を持っている。
各々のデータ入力バス及びデータ出力バス16゜22は
、メモリ・ワード(第4図)にあるデータ・ビット数と
対応する5本のビット線で構成されている。ここで説明
する例のFIFOメモリ・バッファ10では、N個のデ
ータ・ワードを記憶する為のN個のメモリ・ワードがあ
る。各々のワードが5ビツトの長さである。勿論、FI
FOメモリ・バッファ10のデータ・ワードは、この他
の普通に見られる8ビツト、16ビツト又は32ビツト
の長さに合せて容易に拡張することが出来る。
前に述べた様に、書込みアドレス・リング・カウンタ3
2は多数の段を持ち、各々の段がインバータ39の出力
に接続されている。各段がメモリ・ワード・レジスタ5
0に付設されていて、このメモリ・レジスタに書込み信
号を送る様に作用する。後で詳しく説明するが、メモリ
48はワー、ド1から開始して読取又は書込みをし、ワ
ードNまで順次進み、その後同じ順序を再び繰返す。
読取アドレス・リング・カウンタ36が同様な段を持っ
ていて、同じ様にN個のメモリ・レジスタ50の各々を
逐次的に読取る。読取アドレス・リング・カウンタ36
の各段が読取信号線38に接続されている。
最後のメモリ読取及び書込み動作の記述を管理するこの
方式を用い、読取及び書込みメモリ・アドレスが等しい
かどうか比較することにより、メモリ48の一杯又は空
の状態について非常に正確な判定を下すことが出来る。
本発明の重要な特徴として、従来とは異なり、FIFO
メモリ・バッファ10のサイクル動作が読取及び書込み
入力指令の後縁のタイミングには関係なく、その前縁だ
けに依存する。前に述べた様に、データ入力バス16の
データの変化の様な、FIFOメモリ・バッファ10の
外部で起こる事象、又はメモリ48が空又は一杯である
時の殆んど同時の読取又は書込み動作により、FIFO
メモリ・バッファ10の信頼性のない動作が起こらない
ので、これは非常に有利である。この目的の為、W/R
制御器30が、読取又は書込み指令の前縁から、完全な
内部読取及び書込みパルスを発生する回路を含んでいる
。特に、第3図には、W/R11lltIl器30の書
込み信号発生器60が簡単に示されている。
以上に述べたことを前提として、次にFIFOメモリ・
バッファ10の動作をかなり詳しく示した第3図、第4
図及び第5図について説明する。
第3図では、書込み信号発生器6oの入力に、書込み指
令の前縁を表わす波形が示されており、その出力には、
「書込みクロック」と記したそれから得られる書込みク
ロック・パルスが示されている。バッファ・ゲート62
が書込み指令線18をFIFOメモリ・バッファ10の
回路から隔離する。単安定マルチバイブレータ64が、
ゲートの遅延はあるが、入力18と同じ書込み指令信号
をその入力に受取る。単安定マルチバイブレータ64は
立上りの変化に応答して、出力パルスを発生する形式で
ある。単安定マルチバイブレータ64の内部又は外部に
接続される抵抗並びに/又は容量部品(図面に示してな
い)は、所望の幅を持つ出力パルスか発生される様に選
ばれる。本発明の好ましい実施例では、単安定マルチバ
イブレータ64が幅30ナノ秒の出力パルスを発生する
書込み付能(ライトイネーブル)ラッチ66も特に重要
であり、これはインバータ98によって反転された書込
み指令の前縁に応答して、書込みクロック・パルスがナ
ンド・ゲート68を通過することを禁止する。こういう
ことが起こるのは読取及び書込みアドレス・リング・カ
ウンタ36゜32が同じメモリ・ワードを指示し、前の
動作が書込み動作であった場合だけであることが理解さ
れよう、、最終W/R動作フリップフロップ70を設け
て、最後のメモリ動作がメモリ48の読取であったか書
込みであったかの記述を管理する。最終W/R動作フリ
ップロップ70が書込み付能ラッチ66の“D II大
入力接続され、単安定パルスにナンド・ゲート68を通
過させるべきかどうかに関する指示をする。
第4図の読取信号発生器80が読取指令の前縁の変化に
同じ様に応答して、メモリ48が空でない時、読取線3
8に読取パルスを発生する。具体的に云うと、単安定マ
ルチバイブレータ84がナンド・ゲート86の一方の入
力に接続される。インバータ88が読取指令信号を反転
し、それを読取付能ラッチ90に結合する。読取付能ラ
ッチ90のQ出力がナンド・ゲート86の入力に接続さ
れる。
第4図には、本発明のFIFOメモリ・バッファ1oの
詳しい回路図が示されている。広義に云えば、W / 
R!II till器30が、メモリ34が一杯でも空
でもない限り、対応する入力指令に応答して、書込み線
34に書込みクロック・パルス信号及び読取信号線38
に読取りロック・パルスを発生する。読取アドレス・リ
ング・カウンタ36及び書込みアドレス・リング・カウ
ンタ32は何れも複数個の1ビット段を持つシフトレジ
スタで構成されている。リング・カラン932.36が
、疎取又は書込みをすべき特定のメモリ・ワードを指示
する為に、1個の論理高のビットを各段に逐次的にシフ
トさせる。
比較器部分40が、メモリ48の空及び一杯の状態を決
定する為の複数個の2人力ナンド・ゲートを持っている
。比較器部分40のナンド・ゲート40のbが、読取ア
ドレス・リング・力・リング36のアドレス出力を、書
込みアドレス・リング・カウンタ32のアドレス出力と
比較して、メモリ48が一杯であるか空であるかの判定
を下すのに使う為、W / R制御器30に(線46を
介して)出力信号を包括的に供給する。具体的に云うと
、ナンド・ゲート40のblが、読取アドレス・リング
・カウンタの段361の出力を書込みアドレス・リング
・カウンタの段321と比較する。ナンド・ゲート40
のb2が段362及び322を比較すると云う様になつ
℃いる。こうして、ナンド・ゲート40bが読取アドレ
ス・リング・カウンタ36の段を同じ順位の占込みアド
レス・リング・カウンタ32の段と比較する。
メモリ48がラッチ74の様な入力データ・ラッチを持
ち、線75の書込み指令信号の後縁の変化で、データ入
力バス16からの入力データがその中にラッチされる。
データ出力バス22は、多数の3状態駆動器76の出力
で構成され、これらの駆動器が宛先の装置に送られるデ
ータ出力バス22を駆動する電力を供給する。3状態駆
動器76に対する高インピーダンス状態制御部78は、
宛先装置にも同番プられる補助線である。
次に第4図のFIFOメモリ・バッファの典型的な動作
サイクルを詳しく説叫する。
FIFOのメモリ・バッファ10内の種々の回路を所望
の状態に初期設定する為に、リセット入力28に負のパ
ルスが加えられる。特に、リセツl−28が最終W/R
動作フリップフロップ70のQ出力が論理高レベルにな
る様にリセットする。
リセット28は読取及び書込みアドレス・リング・カウ
ンタの段36  及び32  のリセツl−2−82−
N 入力Rど段36 及び331のセット人力Sにも接続さ
れる。この為、リング・カウンタの段36  および3
2  の各々のアドレス出力が2−8     2−N 論理低にリセットされ、リング・カウンタの段36.3
21は論理高レベルを出力する様にセラ1へされる。リ
セット信号はアンド・ゲート41にも結合され、最初に
7リツプフロツブ136をセラ1−する。
一般的にリセット信号は、FIFOメモリ・バッファ1
0の電源投入の間又はその後に開始され、この為メモリ
48内には信頼性のあるデータが存在しないと考えるべ
きである。この為、少なくとも最初のメモリ・ワード5
01に信頼性のあるデータがある様に、書込み動作が実
行されるまで、メモリの初期の読取を禁止すべきである
。最初の読取指令が実際に空のFIFOメモリ・バッフ
ァ10に対して出され、読取信号発生点80がナンド・
ゲート86の入力に読取信号を発生したと仮定すると、
この結果ととして読取りOツク・パルスが読取線38に
現れないことが理解されよう。
リセット28が最終R/W動作動作フリップフッツブの
Q出力に論理高を発生させているから、差当ってインバ
ータ122の出力が論理高であると仮定すれば、アンド
・ゲート94はその入力が論理高であり、従ってその出
力が論理高になる。
読取付能ラッチ90は、性能入力Eが論理高にある限り
、そのD入力に現れる論理レベルの補数がQ出力に転送
される様な形式のD形透過形ラッチである。性能入力E
が低になると、出力は、論理低に向かう変化の時に設定
されたデータの論理レベルにラッチされる。テキサス・
インスツルメンツ・インコーボレーテット社によってI
nされる8 N 74 L S 364形の透過形ラッ
チが、こういう動作を行なうラッチの一例である。
従って、入力読取指令の論理高に向かう前縁の変化で、
インバータ88の出力に対応する論理低に向かう変化で
、透過形ラッチ90のD入力にある論理高の補数を、そ
のQ出力の論理低としてラッチ’?+−る。このQ出力
の論理低がナンド・ゲー1−86の入力結合される。
従って、読取付能ラッチ90がナンド・ゲー・ト86の
一方の入力を強制的に低にしたので、このゲー1−は、
初期読取指令に応答()て、単安定マルチバイブレータ
84によって発生されIC読取信号を転送づることが禁
止される。
然し、ilR/W動作フリ動作フリップフロップ用0が
最初は論理低レベルの設定されているから、アンド・ゲ
ート96の出力が書込み付能ラッチ66に対して論理低
レベルを出す。書込み指令インバータ98が書込み指令
の立上りを負に向かう縁に反転し、それを書込み付能ラ
ッチ66のE入力に印加する。これによって、そのD入
力の論理低が、ナンド・ゲート68の入力100に対し
、Q出力の論理高となる。ナンド・ゲート68の3番目
の入力も、バッファ62の入力及び出力の論理高の結果
として、やはり高である。従って、単安定マルチバイブ
レータによって発生された書込みパルスがナンド・ゲー
ト68を通過することが出来る。
第3図には、書込み単安定マルチバイブレータ64がブ
ロック図で示されているが、実際にはバッファ・ゲート
102、インバータ104及びタイミング・キャパシタ
106で構成されている。
占込み指令の正に向かうパルスが、バッファ・ゲート6
2からナンド・ゲート68の一方の入力に送られること
が判る。バッファからの書込み指令が別のバッファ10
2の入力にも印加される。タイミング・キャパシタ10
6は、インバータ104の入力がバッファ・ゲート10
2の入力に追従しない様にする。これは、インバータ1
04の入力閾値に達するまで、それが立上りの変化を遅
延させるからであり、閾値に達した時、インバータ10
4の出力が論理低レベルになり、こうしてナンド・ゲー
1−68の出力を論理高に戻す。従って、上に述べた回
路構成により、書込み指令の立上りの変化によって、履
込みクロック線34に書込みクロック・パルスが出る。
ここで簡単に第5図を参照すれば、線34に書込みクロ
ック・パルスを発生するW / Rill illll
器内0内形が示されている。これらの波形から、書込み
指令の立上りの変化の結果として、インバータ98の出
力が低になり、線75を介して書込み性能ラッチ66の
Q出力を論理高にセットすることが判る。これと平行し
て、バッファ・ゲート62の出力が論理高レベルになり
、この為ナンド・ゲートθ8の2つの入力に2つの論理
高が現れる。インバータ104の入力にあるタイミング
・キャパシタ106がこのインバータの出力を遅延した
論理高に保っているから、ナンド・ゲート68の3番目
の入力も高であり、こうして書込みクロックの低に向か
う部分を発生する。タイミング・キャパシタ106が、
インバータ104の入力閾値に対応する電圧108まで
充電すると、インバータの出力が波形に示す用に低にな
り、ナンド・ゲート68の出力を高にし、こうして書込
みクロック・パルスを終わらせる。第5図の波形の寸法
109は、インバータ104の入力に論理高を加えて、
その出力を論理低レベルにするのに十分な程度に、タイ
ミング・キャパシタ106が充電されるのに要する@間
の長さを表わす。タイミング・キャパシタ106の値を
一層大きくすれば、書込み線34の書込みクロック・パ
ルスの幅が一層大きくなる。
以上の説明から、W / Rll1lJ 10器30が
書込み指令の立上りに応答して、書込みりDツク・パル
スWRCLKを発生することが理解されよう。
W / Ri制御各30の読取信号発生器80も同様に
構成されていて、読取指令に応答して、読取線38にパ
ルスRD  CLKを発生する。
書込み指令に応答して、インバータ98の出力が線75
で低に向かう変化となり、これがデータ入力バス16に
その時存在しているディジタル・データを夫々の透過形
データ入力ラツチ74にセットする。バッファ・インバ
ータ11oがデータ入力バス16から伝送されてきた各
々のデータ・ワードの5データ・ビットを受取り、伝送
線路電圧をFIFOメモリ・バッファ10の回路電圧と
両立し得るディジタル信号に変換する。バッファ・イン
バータ110の出力が、インバータ112の出力と共に
、各々のデータ・ビット及びその補数を夫々の入力デー
タ・ラッチ74に供給する。
この回路構成により、その時データ入力バス16に存在
しているディジタル・データが、書込みサイクルの初め
に入力データ・ラッチ74にラッチされる。これは、書
込み指令の前縁の変化の直前又は直後に発生する、デー
タ入力バス16のディジタル・データの変化があっても
、それが無視されるので、有利である。
線34の書込みクロック・パルス(WRCLK)がイン
バータ39によって反転され、書込みアドレス・リング
・カウンタ32の各々のレジスタ段に対して同時にクロ
ック作用をする。書込みアドレス・リング・カウンタの
各段321乃至32Hの出力が、段32Hの出力を除い
て、隣接する次に高次の段の0人力に接続される。段3
2Nの出力は第1段321のD入力に接続される。従っ
て、WRCLKの低に向かう変化で、段321の出力の
論理高くリセットから)が段32□の出力ヘシフトする
。書込みアドレス・リング・カウンタの段321の出力
が、アンド・ゲート114の入力となり、WRCLKも
同じである。従って、アンド・ゲート114の出力が論
理高パルスであり、これがメモリ書込み信号線116を
介してメモリ・ワード・レジスタ501に送られる。線
116の正のパルスの負に向かう変化が、入力データ・
ラッチ74にラッチされた5データ・ビットをメモリ・
ワード5o、の対応するセル又はビット位置に書込む。
メモリ・ワード501の各々のビット記憶区域118は
交差結合形ラッチであり、夫々読取及び書込み入力の論
理低レベルがメモリ・ワード・レジスタ511内に全て
のビットの対応する読取又は書込みを行なう。メモリ・
ワード・レジスタ50 乃至5ONの各々のビット・セ
ル118を形成する交差結合形ラッチは、普通の設計で
ある。
前に述べた様に、リセット28が、レジスタ段36 .
321のQ出力を論理高状態にセットすす ると共に、他のレジスタ段をリセットして、その出力状
態が論理低になる様にすることにより、読取及び書込み
アドレス・リング・カウンタ36゜32を初期設定する
。各々のメモリ・ワード・レジスタ50のビット・セル
は、メモリ読取信号線12.0が論理高状態にある時に
、読取動作が行なわれる様に構成されている。逆に、前
にも述べたが、書込み線116信号の立下りで、メモリ
・ワードの書込みが行なわれる。
本発明では、メモリ48は、リセット28によってリセ
ットされた侵、空と見なすことが出来或いは信頼性のな
いデータを持っていると見なすことが出来る。従って、
中間に書込みを行なわないこの後の読取は、空のメモリ
の読取によって無効データが出るから、禁止すべきであ
る。比較器のナンド・ゲート40b1の入力が読取及び
書込みアドレス・リング・カウンタのレジスタ段361
゜321の出力に接続されており、従って初期設定の復
、ナンド・ゲート40b1の出力は論理低である。この
論理低がインバータ122の入力に結合される。このイ
ンバータが論理高を最終R/W動作フリップフロップ7
0のアンド・ゲー1−94 。
96の入力に結合する。前に述べた様に、これによって
最初の読取指令が処理されない様にする。
最初の書込み動作について言うと、リセット28の問、
最終R/W?作フリラフリップフロップQ出力が論理低
に設定され、この論理低がアンド・ゲート96を介して
結合されて、書込み性能ラッチ66のD入力に現れるこ
とに注意されたい。
このラッチ66に対するE入力の負の変化で、D入力の
論理低がQ出力の論理高となって現れ、こうして書込み
信号発生器60を通じて最初の書込み指令を処理するこ
とが出来る様にする。発生された書込みクロック・パル
スが線34に現れ、こうしてR/W動作フリップフロッ
プのQ出力を論理高にセットすると共に、書込みアドレ
ス・リング・カウンタ32のクロック作用をする。アド
レス・リング・カウンタの各段のQ出力が前に述べた様
に、隣接する次に上位の段のD入力に接続されているか
ら、書込みアドレス・リング・カウンタ321に最初に
セットされた論理高が、線34の相次ぐWRCLKパル
スで各々のレジスタ段の位置をシフトしていく。従って
、最初の書込み指令が発生した時、メモリ・ワード位置
501が最初に書込まれ、書込みアドレス・リング・カ
ウンタの段321のQ出力に最初にあった論理高が、カ
ウンタの段32□のQ出力にシフトする。
各々の比較器ナンド・ゲート40b1乃至40bNの一
方の入力が論理低であって、インバータ122に論理高
レベルを送るから、この後の書込み及び読取動作が、こ
の順序で許される。インバータ122の出力が線46を
介してアンド・ゲート94.96に論理低を印加し、こ
うして書込み及び読取付能ラッチ66.90のD入力に
低を送る。その結果、この両方のラッチ66.90のQ
出力が論理高になり、以後の書込み及び読取動作を許す
実際、この後の書込み及び読取動作を行なうことが出来
、書込みアドレス・リング・カウンタ32が読取アドレ
ス・リング・カウンタ36より先に進んでいる限り、同
時に実行することも出来る。
読取及び書込みアドレス・リング・カウンタ36゜32
が同じメモリ・ワード・レジスタを指示しなければ、書
込み回路は完全に読取回路から独立しているから、同時
の読取及び書込み指令をFIFOメモリ・バッファ10
によって処理することが出来る。然し、同じメモリ・ワ
ード・レジスタが指示される状態が存在する時、アンド
・ゲート94.96に対し、最終R/W動作フリップフ
ロップ70がfi制御作用を持ち、この時読取及び書込
み動作の独立性が変わる。これは、読取及び書込みアド
レス・カウンタ36,32によって同じメモリ・ワード
・レジスタがアドレスされた時、インバータ122の出
力が高であり、この為、最終R/W動作フリップ70ツ
ブ70のd又はQ出力の低が、夫々の透過形ラッチ90
又は66を介して、読取発生器80又は書込み信号発生
器60のどちらが性能されるかを決めることから判る。
従って、読取又は書込み指令最終動作の記述を持つi終
R/W動作フリップフロップ70が、読取及び書込みア
ドレス・リング・カウンタ36゜32が同じメモリ・ワ
ードを指示する時を検出する比較器40と共に、メモリ
が空である時、メモリ・ワードが読取られない様に、そ
して一杯である時、書込まれない様に保証する。読取及
び書込み信号発生器80.60が最終R/W動作フリッ
プフロップ70と関連して動作する。これらの発生器は
、指令の処理によって、空のメモリの読取又は一杯のメ
モリの書込みが起こる場合、読取及び書込み指令を積極
的に・排除する。
比較器部分40によって検出されるメモリ48の空又は
一杯の状態が、出力26(空)及び20(一杯)により
、他の装置に知らされる。メモリ48の空/一杯状態を
知らせる回路は次の様に接続されている。
ナンド・ゲート40a1が読取アドレス・リング・カウ
ンタの段361をそれより上位の書込みアドレス・リン
グ・カウンタの段322と比較する。ナンド・ゲーt−
40a 2が読取カウンタの段362をそれより上位の
書込みカウンタの段323と比較すると云う様に作用す
る。この方式を用いると、ナンド・ゲート40aが読取
アドレス・リング・カウンタの段36を夫々上位の書込
みアドレス・リング・カウンタの段と比較する。
ナンド・ゲート40C1が書込みアドレス・リング・カ
ウンタの段321の出力を次に上位の読取アドレス・リ
ング・カウンタの段362の出力と比較する。ナンド・
ゲート40C2が書込みカウンタの段32□をそれにり
上位の読取カウンタの段363と比較すると云う様にな
る。この為、ナンド・ゲート40cが書込みアドレス・
リング・カウンタ・32を夫々それより上位の読取アド
レス・リング・カウンタの段36と比較する。
各々のナンド・ゲート40aの出力が共通に接続される
と共にアンド・ゲート41に接続される。
アンド・ゲート41の他方の入力が線28のリセツ1へ
信号に接続される。アンド・ゲート41の出力がフリッ
プフロップ136のセット入力に接続される。同様に、
各々のナンド・ゲー゛ト40C,の出力が共通に接続さ
れると共に、フリップ70ツブ136のリセット入力に
接続される。
インバータ122の出力がナンド・ゲート138.14
0の入力に接続される。フリップフロップ136のQ及
びQ出力が夫々ナンド・ゲート138.140の別の入
力に接続される。最後に、ナンド・ゲート138の出力
26がメモリ48の空状態を知らせ、ナンド・ゲート1
40の出力20が一杯状態を知らせる。
動作について説明すると、比較器部分40のナンド・ゲ
ート40a、40Cが夫々メモリ48の空に近い状態又
は一杯に近い状態を検出した時、フリップフロップ13
6がそれに対応してリセット又はセットされる。つまり
、書込む為に1つのメモリ・ワード位置しか利用する為
に残っていない時、ナンド・ゲート40cがフリップフ
ロップ136をリセツ1−する様に作用する。逆に、読
取の為に1つのメモリ・ワード位置しか残っていない時
、ナンド・ゲーh 40 aが作用してフリップフロッ
プ136をセットする。更に、今述べた最後のメモリ・
ワード位置に実際に書込まれ又は読取が行なわれた時、
ナンド・ゲート40bがナンド・ゲート138,140
を性能する様に作用する。ナンド・ゲート138,14
0の性能により、フリップフロップ136の出力が、−
棒線20又は空線26を介して、外部装置に対して一杯
の表示又は空の表示を通過させることが出来る様になる 以上の説明の1例どして、読取アドレス・リング・カウ
ンタの段36゜の出力が論理1 ”(−あって、メモリ
・ワード位置502を指示しており、書込みアドレス・
リング・カウンタの段323が同様にメモリ・ワード位
置503を指示していると仮定する。これは、メモリ・
ワード502が書込まれた最後のメモリ・ワードであっ
て次に読取られるものである状態、即ち、殆んど空の状
態を表わす。この為、ナンド・ゲート40a2の入力が
両方とも高であり、その出力が低をアンド・ゲート41
に結合し、このゲートがフリップ70ツブ136をセッ
トする。その結果、メモリ・ワード位置5o3が読取ら
れた時、ナンド・ゲート40b3は段36 と323が
等しいことを見出し、こうしてゲート138を付能して
、出力26に空状態を知らせる。
メモリ一杯状態の1例として、書込みアドレス・リング
・カウンタの段322が論理1であって、メモリ・ワー
ド位@502を指示し、読取アドレス・カウンタの段3
63が同様にメモリ・ワード位置503を指示している
と仮定する。これは、メモリ・ワード502が読取られ
た最後のメモリ・ワードであって、次に書込まれるもの
である状態、即ち殆んど一杯の状態を表ね−″。この為
、ナンド・ゲート40C2の人力が両方とも高であり、
その出力が低をフリップフロップ136のリセット入力
に結合する。従って、このフリップ70ツブがリセット
され、一杯状態を予想して、ゲート140の一方の入力
に論叩高を加える。実際、もう1回の書込み動作が行な
われ、読取及び書込みの段36 .323がメモリ・ワ
ード位置50を指示する場合、ナンド・ゲート40b3
がゲート140を付能し、この時論理低が出力20に一
杯状態を知らせる。
以上の説明から、空又は一杯状態が曖昧でないフォール
スル一時間がゼロの非同期形FIFOバッファ・メモリ
が提供されたことが判る。比較器が、メモリ・ワードが
書込まれ又は読取られる時を検出し、最終R/W動作フ
リップフロップが、最後のメモリ動作が読取動作であっ
たか書込み動作であったかの記述を管理する。読取信号
発生器及び書込み信号発生器が夫々入力の読取指令及び
書込み指令の前縁の変化に応答して、内部の読取及び書
込みパルスを発生する。読取信号発生器は比較器部分及
び最終R/W動作フリップフロップにも応答して、読取
及び書込みアドレス・リング・カウンタが同じメモリ・
ワードを指示し且つ最後の動作がメモリ読取動作であっ
た場合、読取信号を内部で発生することを防止する。同
様に、書込み信号発生器が、比較器部分及び最終R/W
動作フリップフロップと協働して、両方のカウンタが同
じメモリ・ワードを指示し且つ最後の動作が害込み動作
であった場合、書込み信号の発生を防止する。
特定の論理構造について好ましい実施例の方法と装置を
説明したが、特許請求の範囲によって定められた本発明
の範囲を逸脱せずに、技術的な選択事項として細部にい
ろいろな変更を加えることが出来るを承知されたい。個
々の利点を実用J−る為に、ここに説明した種々の有利
な特徴の全てを1個の複合FiFOメモリ・バッファに
採用することは必要ではない。この為、こういう特徴が
、ある請求範囲には個別に限定されている。
以上の説明に関連して、更に下記の項を開示する。
(1)  読取及び占込み動作を行なうシフトレジスタ
・メモリの状態を決定する方法に於て、メモリの最後の
読取及び書込み動作の記述を管理し、メモリ書込み動作
の現在のシフ1〜レジスタ・アドレスをメモリ読取動作
の現在のアドレスと比較し、メモリ読取動作の現在のア
ドレスがメモリ書込み動作の現在のアドレスと等しく且
つメモリの最後の動作が予定の動作であった時、メモリ
の状態の表示を発生する工程を含む方法。
(2)  第(1)項に記載した方法に放て、メモリの
状態が、前記予定の動作が為込み動作である時は一杯で
あると判定される方法。
(3)  第(1)項に記載した方法に於て、メモリの
状態が、前記予定の動作が読取動作である時は空である
と判定される方法。
(4)  第(1)項に記載した方法に於て、更に、他
の装置から前記メモリに送られた電気パルスの変化の縁
でメモリ動作を開始し、前記電気パルスの他の如何なる
変化の縁にも関係なく、前記変化の縁の結果として前記
メモリ動作を完了する工程を含む方法。
(5)  第(4)項に記載した方法に放て、更に、前
記変化の縁の結果として、前記メモリを読取る為に、前
記メモリ・システム内で電気パルスを発生する工程を含
む方法。
(6)  第(5)項に記載した方法に於て、更に、前
記変化の縁の結果として、前記メモリを書込む為に、前
記メモリ・システム内で電気パルスを発生する工程を含
む方法。
(7)  第(5)項に記載した方法に於て、更に、前
記表示がメモリが空であることを示す時、前記メモリを
読取る為に前記電気パルスを発生ずることを禁止する工
程を含む方法。
(8)  第(6)項に記載した方法に於て、更に、前
記表示がメモリが一杯であることを示す時、前記メモリ
に書込む為に前記電気パルスを発生することを禁止する
ことを含む方法。
(9)  シフトレジスタ・メモリ・システムの状態を
決定する回路に於て、前記メモリ・システムの最後のメ
モリ読取及び書込み動作の記述を管理する手段と、メモ
リ書込み動作の現在のアドレスをメモリ読取動作の現在
のアドレスと比較する手段と、メモリ読取動作の現在の
アドレスがメモリ書込み動作の現在のアドレスと等しく
且つ最後のメモリ動作が予定の動作であった時、前記メ
モリ・システムの状態の表示を発生する手段とを右する
回路。
(10)第(9)項に記載した回路に於て、前記予定の
動作が書込み動作である時、前記シフト・レジスタ・メ
モリ・システムの一杯状態が表示される回路。
(11)第(9)項に記載した回路に於て、前記予定の
動作が読取動作である時、前記シフト・レジスタ・メモ
リ・システムの空状態が表示される回路。
(12)第(9)項に記載した回路に於て、更に、他の
装置から前記メモリに送られた電気パルスの変化の縁で
メモリ動作を開始する手段と、前記電気パルスの他の変
化の縁に関係なく、前記変化の縁の結果として前記メモ
リ動作を完了する手段とを有する回路。
(13)第(12)項に記載した回路に於て、更に、前
記メモリを読取る為に、前記変化の縁に応答して電気パ
ルスを発生する手段を含む回路。
(14)第(12)項に記載した回路に於て、更に、前
記メモリに書込む為に、前記変化の縁に応答して電気パ
ルスを発生する手段を含む回路。
(15)第(13)項に記載した回路に於て、更に、前
記メモリが空である時、前記メモリを読取る為に電気パ
ルスを発生することを禁止する手段を含む回路。
(16)第(14)項に記載した回路に於て、更に、前
記メモリが一杯である時、前記メモリに書込む為に前記
電気パルスを発生することを禁止する手段を含む回路。
(17)メモリ動作に応答してその中にデータを古込み
且つそれからデータを読取る相互接続された複数個のア
ドレス可能なメモリ・レジスタを持つ形式のメモリに用
いられる読取及び書込み制御器に於て、その中にデータ
を書込む為に各々のメモリ・レジスタを逐次的にアドレ
スする書込みアドレス手段と、それからデータを読取る
為に各々のメモリ・レジスタを逐次的にアドレスする読
取アドレス手段と、前記書込みアドレス手段のアドレス
を前記読取アドレス手段のアドレスと比較して該アドレ
スが等しいことを決定する比較器手段と、前記メモリの
読取動作又は書込み動作の内一番最近の動作の表示を貯
蔵する読取及び書込み記憶手段と、前記比較器が前記読
取及び書込みアドレスが等しいことを決定し且つ前記読
取及び書込み記憶手段が、最後のメモリ動作が前記メモ
リの予定の動作であったと言う表示を記憶している時、
前記メモリのメモリ動作を防止する手段とを有する読取
及び書込み制御I器。
(18)第(17)項に記載した読取及び書込み制御器
に於て、前記書込みアドレス手段が、書込みアドレス・
カウンタと、該書込みアドレスに関連する1つのメモリ
・レジスタに書込むべき入力データを記憶するデータ入
力ラッチと、書込み指令の最初の変化に応答して前記書
込みアドレス・カウンタをインクレメントし、前記入力
データを前記ラッチにラッチし、ラッチされたデータを
前記メモリ・レジスタに記憶する回路手段とを含んでい
る読取及び書込みυ1@器。
(19)第(18)項に記載した読取及び書込み制御器
に於て、前記回路手段が、前記変化に応答して、前記メ
モリ・ワードにラッチされたデータを書込む為の書込み
パルスを発生するパルス発生手段を含んでいる読取及び
書込み制御器。
(20)第(19)項に記載した読取及び書込み制御器
に於て、前記パルス発生手段が予定の幅を持つパルスを
発生する読取及び書込み制御器。
(21)第(17)項に記載した読取及び書込み制御器
に於て、前記読取アドレス手段が、読取アドレス・カウ
ンタと、読取指令の最初の変化に応答して、前記読取ア
レス・カウンタをインクレメントし、1つのメモリ・レ
ジスタからラッチされたデータを読取る回路手段とを有
する読取及び書込み制t[l為。
(22)第(18)項に記載した読取及び書込み制御器
に於て、前記回路手段が前記変化に応答して、メモリ・
レジスタからデータを読取る為の読取パルスを発生ずる
パルス発生手段を含んでいる読取及び書込み制御器。
(23)第(19)項に記載した読取及び書込み制御器
に於て、前記パルス発生手段が予定の幅を持つパルスを
発生する読取及び書込み制御器。
(24)何れもその中にデータを書込み且つそれからデ
ータを読取る様になっている複数個の記憶素子を持つメ
モリと、夫々メモリ書込み動作を行なう為に出力が相異
なる記憶素子に接続されていると共に、入力が隣接する
段の出力に接続され、且つクロック入力を持っていて、
クロック作用をする時、各々の段の内容がそれと接続さ
れた隣接する段に転送される様な複数個の1ビット段を
持つ下記アドレス・リング・カウンタと、夫々メモリ読
取動作を行なう為に出力が相異なる記憶素子に接続され
ていて、入力が隣接する段の出力に接続され、且つクロ
ック入力を持つことにより、クロック作用をする時、各
々の段の内容がそれに接続された隣接する段に転送され
る様になっている複数個の1ビット段を持つ読取アドレ
ス・リング・カウンタと、一方のレベルを持つ論理信号
が各各カウンタの1つの段だけに記憶され且つ別のレベ
ルを持つ論理信号が各々のカウンタの残りの段に記憶さ
れる様に、前記書込みアドレス・リング・カウンタ及び
前記読取アドレス・カウンタを初期設定する手段と、複
数個の論理ゲートを持っていて、各々のゲートが、前記
書込みアドレス・リング・カウンタの1つの段の出力に
接続された入力、及び前記読取アドレス・リング・カウ
ンタの1つの段の出力に接続された入力を持ち、該論理
ゲートの出力が、その出力が前記一方のレベルの論理信
号を持つ様な書込み及び読取アドレス・リング・カウン
タの段に前記メモリのある記憶素子が接続されている時
の表示を発生する様な比較器と、入力書込み指令の前縁
に応答して前記メモリの書込み動作を行なう為の書込み
パルスを発生する書込み信号発生器と、入力読取指令の
前縁の変化に応答して前記メモリの読取動作を行なう為
の読取パルスを発生する読取信号発生器と、前記書込み
パルスに応答する入力及び前記読取パルスに応答する入
力を持つと共に、当該シフト・レジスタ・システムによ
って処理された最後の読取又は書込み動作を表示する出
力を持つ最終読取/書込み動作回路と、前記比較器の論
理ゲー1−の出力の表示に応答すると共に、最後に処理
された書込み動作を表わす前記最終読取/書込み動作回
路の出力に応答して、前記書込みパルスによる前記メモ
リの書込み動作を禁止する書込み性能ラッチと、前記比
較器の論理ゲートの出力の表示に応答すると共に@後に
処理された読取動作を表示する前記最終読取/書込み動
作回路の出力に応答して、前記読取パルスによる前記メ
モリの読取動作を禁止する読取付能ラッチを有するシフ
1−・レジスタ・システム。
(25)第(24)項に記載したシフト・レジスタ・シ
ステムに於て、更に、前記比較器の論理ゲートの出力に
応答して、前記メtりの殆んど一杯の状態及び殆んど空
の状態を知らせる手段を有するシフト・レジスタ・シス
テム。
(26)第(25)項に記載したシフト・レジスタ・シ
ステムに於て、更に、前記殆んど一杯の状態及び殆んど
空の状態が知らされたことに応答して、メモリ一杯状態
及びメモリ空状態を表示する手段を有するシフト・レジ
スタ・システム。
【図面の簡単な説明】
第1図は本発明を実施することが出来る様な環境を示す
ブロック図、第2図は本発明の更に詳しいブロック図で
、FIFOメモリ・バッファの種棒の機能的な部分を示
すブロック図、第3図は入力書込み指令の前縁の変化か
ら書込み信号を発生する為に、単安定マルチバイブレー
タ回路を用いたW/R制御器の一部分の回路図、第4図
は好ましい実施例のFIFOメモリ・バッファの詳しい
回路図、第5図はW/R制御制御車安定マルチバイブレ
ータ回路の波形図である。 主な符号の説明 32:書込みアドレス・リング・カウンタ36:読取ア
ドレス・リング・カウンタ40:比較器 48:メモリ

Claims (2)

    【特許請求の範囲】
  1. (1)読取及び書込み動作を行なうシフトレジスタ・メ
    モリの状態を決定する方法に於て、 メモリの最後の動作が読取であつたか書込みであつたか
    を記憶する工程と、 メモリ書込み動作の現在のシフトレジスタのアドレスを
    メモリ読取動作の現在のシフトレジスタのアドレスと比
    較する工程と、 メモリ読取動作の現在のアドレスがメモリ書込み動作の
    現在のアドレスと等しく且つメモリの最後の動作が予定
    の動作であつた時、メモリの状態の表示を発生する工程
    と を含む方法。
  2. (2)シフトレジスタ・メモリ・システムの状態を決定
    する回路に於て、 前記メモリ・システムの最後の動作が読取であつたか書
    込みであつたか記憶する手段と、 メモリ書込み動作の現在のアドレスをメモリ読取動作の
    現在のアドレスと比較する手段と、メモリ読取動作の現
    在のアドレスがメモリ書込み動作の現在のアドレスと等
    しく且つ最後のメモリ動作が予定の動作であつた時、前
    記メモリ・システムの状態の表示を発生する手段と を有する回路。
JP61143996A 1985-06-20 1986-06-19 シフトレジスタ・メモリの状態を決定する方法と装置 Expired - Lifetime JP2612559B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US74692085A 1985-06-20 1985-06-20
US746920 1985-06-20

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP3093879A Division JPH0511976A (ja) 1985-06-20 1991-04-24 データ処理装置

Publications (2)

Publication Number Publication Date
JPS61296424A true JPS61296424A (ja) 1986-12-27
JP2612559B2 JP2612559B2 (ja) 1997-05-21

Family

ID=25002918

Family Applications (2)

Application Number Title Priority Date Filing Date
JP61143996A Expired - Lifetime JP2612559B2 (ja) 1985-06-20 1986-06-19 シフトレジスタ・メモリの状態を決定する方法と装置
JP3093879A Pending JPH0511976A (ja) 1985-06-20 1991-04-24 データ処理装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP3093879A Pending JPH0511976A (ja) 1985-06-20 1991-04-24 データ処理装置

Country Status (3)

Country Link
US (2) US4829475A (ja)
EP (1) EP0206743A3 (ja)
JP (2) JP2612559B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6429926A (en) * 1987-07-24 1989-01-31 Matsushita Electric Ind Co Ltd Fifo circuit
JPH02144720A (ja) * 1988-11-28 1990-06-04 Nec Corp Fifo制御回路
JPH02235142A (ja) * 1989-03-09 1990-09-18 Fujitsu Ltd データ速度変換回路の制御方式
JPH0344886A (ja) * 1989-07-13 1991-02-26 Fujitsu Ltd ファーストイン・ファーストメモリ装置
JPH03257499A (ja) * 1990-03-08 1991-11-15 Matsushita Electric Ind Co Ltd 文字データ入力装置
JPH06236679A (ja) * 1992-04-16 1994-08-23 Thomson Consumer Electron Inc マルチポートメモリシステム
JPH06259956A (ja) * 1993-02-10 1994-09-16 American Teleph & Telegr Co <Att> 先入れ先出しメモリを有する回路
JPH07282576A (ja) * 1991-08-27 1995-10-27 Ind Technol Res Inst Fifoモジュール

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5021994A (en) * 1988-01-11 1991-06-04 Texas Instruments Incorporated Look-ahead flag generator
JP2764908B2 (ja) * 1988-02-04 1998-06-11 日本電気株式会社 カスケード・バッファ回路
US5056005A (en) * 1988-04-18 1991-10-08 Matsushita Electric Industrial Co., Ltd. Data buffer device using first-in first-out memory and data buffer array device
US5027330A (en) * 1988-12-30 1991-06-25 At&T Bell Laboratories FIFO memory arrangement including a memory location fill indication
US5267191A (en) * 1989-04-03 1993-11-30 Ncr Corporation FIFO memory system
US5003310A (en) * 1989-09-29 1991-03-26 Westinghouse Electric Corp. Analog data acquisition circuit with digital logic control
JP2991242B2 (ja) * 1989-10-12 1999-12-20 テキサス インスツルメンツ インコーポレーテッド マルチプロセッサコンピュータシステム使用方法
US5003558A (en) * 1989-10-30 1991-03-26 International Business Machines Corporation Data synchronizing buffers for data processing channels
US5809309A (en) * 1990-09-28 1998-09-15 Texas Instruments Incorporated Processing devices with look-ahead instruction systems and methods
US5826101A (en) * 1990-09-28 1998-10-20 Texas Instruments Incorporated Data processing device having split-mode DMA channel
US5305446A (en) 1990-09-28 1994-04-19 Texas Instruments Incorporated Processing devices with improved addressing capabilities, systems and methods
US5390304A (en) * 1990-09-28 1995-02-14 Texas Instruments, Incorporated Method and apparatus for processing block instructions in a data processor
JPH04142649A (ja) * 1990-10-04 1992-05-15 Toshiba Corp メモリ装置
US5214607A (en) * 1990-11-26 1993-05-25 Ncr Corporation Look-ahead FIFO byte count apparatus
CA2065979C (en) * 1991-06-10 1999-01-19 Stephen Patrick Thompson Mode dependent minimum fifo fill level controls processor access to video memory
US5699087A (en) * 1991-06-24 1997-12-16 Texas Instruments Sequential access memories, systems and methods
IT1252017B (it) * 1991-11-28 1995-05-27 Sgs Thomson Microelectronics Struttura circuitale a registri distribuiti con lettura e scrittura autotemporizzate
US5504913A (en) * 1992-05-14 1996-04-02 Apple Computer, Inc. Queue memory with self-handling addressing and underflow
US5388074A (en) * 1992-12-17 1995-02-07 Vlsi Technology, Inc. FIFO memory using single output register
US5473756A (en) * 1992-12-30 1995-12-05 Intel Corporation FIFO buffer with full/empty detection by comparing respective registers in read and write circular shift registers
JPH06250970A (ja) * 1993-02-26 1994-09-09 Toshiba Corp メモリ制御装置
US5506967A (en) * 1993-06-15 1996-04-09 Unisys Corporation Storage queue with adjustable level thresholds for cache invalidation systems in cache oriented computer architectures
US5406554A (en) * 1993-10-05 1995-04-11 Music Semiconductors, Corp. Synchronous FIFO having an alterable buffer store
JP3283659B2 (ja) * 1993-10-07 2002-05-20 富士通株式会社 Fifoメモリの誤動作検出方法及び装置
US5602780A (en) * 1993-10-20 1997-02-11 Texas Instruments Incorporated Serial to parallel and parallel to serial architecture for a RAM based FIFO memory
KR950015189B1 (ko) * 1993-10-28 1995-12-23 대우전자주식회사 광폭의 선입선출버퍼(fifo)의 에러검출장치
KR0123239B1 (ko) * 1994-07-06 1997-11-26 김주용 선입선출방식(fifo) 메모리
SE515563C2 (sv) * 1995-01-11 2001-08-27 Ericsson Telefon Ab L M Dataöverföringssystem
SE503914C2 (sv) * 1995-01-27 1996-09-30 Ericsson Telefon Ab L M Dataöverföringssystem
US5712820A (en) * 1995-11-17 1998-01-27 Cypress Semiconductor Corporation Multiple word width memory array clocking scheme
US5809339A (en) * 1995-12-06 1998-09-15 Cypress Semiconductor Corp. State machine design for generating half-full and half-empty flags in an asynchronous FIFO
US5712992A (en) * 1995-12-06 1998-01-27 Cypress Semiconductor Corporation State machine design for generating empty and full flags in an asynchronous FIFO
US5673234A (en) * 1995-12-13 1997-09-30 Cypress Semiconductor Corp. Read bitline writer for fallthru in FIFO's
US5844423A (en) * 1995-12-14 1998-12-01 Cypress Semiconductor Corporation Half-full flag generator for synchronous FIFOs
US5627797A (en) * 1995-12-14 1997-05-06 Cypress Semiconductor Corporation Full and empty flag generator for synchronous FIFOS
US5963056A (en) * 1995-12-14 1999-10-05 Cypress Semiconductor Corp. Full and empty flag generator for synchronous FIFOs
US5880997A (en) * 1995-12-22 1999-03-09 Cypress Semiconductor Corp. Bubbleback for FIFOS
US5862128A (en) * 1995-12-29 1999-01-19 Gte Laboratories Inc Merged buffer signal switch
US5813040A (en) * 1995-12-29 1998-09-22 Gte Laboratories Inc Write controller for a CAM-based switch with lineraly searchable memory utilizing hardware-encoded status tags to indicate avaliablity of each memory location for writing
US5774463A (en) * 1995-12-29 1998-06-30 Gte Laboratories Incorporated Switching matrix with contention arbitration
US5852748A (en) * 1995-12-29 1998-12-22 Cypress Semiconductor Corp. Programmable read-write word line equality signal generation for FIFOs
US5682356A (en) * 1996-01-11 1997-10-28 Cypress Semiconductor Corp. Multiple word width memory array clocking scheme for reading words from a memory array
US5661418A (en) * 1996-03-13 1997-08-26 Cypress Semiconductor Corp. Signal generation decoder circuit and method
US6510486B1 (en) 1996-03-25 2003-01-21 Cypress Semiconductor Corp. Clocking scheme for independently reading and writing multiple width words from a memory array
US5764967A (en) * 1996-03-29 1998-06-09 Cypress Semiconductor Corporation Multiple frequency memory array clocking scheme for reading and writing multiple width digital words
US5872802A (en) * 1996-05-03 1999-02-16 Cypress Semiconductor Corp. Parity generation and check circuit and method in read data path
US5812465A (en) * 1996-08-02 1998-09-22 Cypress Semiconductor Corp. Redundancy circuit and method for providing word lines driven by a shift register
US6023777A (en) * 1996-09-11 2000-02-08 Cypress Semiconductor Corp. Testing method for devices with status flags
US5968190A (en) * 1996-10-31 1999-10-19 Cypress Semiconductor Corp. Redundancy method and circuit for self-repairing memory arrays
TW369746B (en) * 1996-11-13 1999-09-11 Sanyo Electric Co Surround circuit
US5860160A (en) * 1996-12-18 1999-01-12 Cypress Semiconductor Corp. High speed FIFO mark and retransmit scheme using latches and precharge
US6101329A (en) * 1997-02-18 2000-08-08 Lsi Logic Corporation System for comparing counter blocks and flag registers to determine whether FIFO buffer can send or receive data
KR100251950B1 (ko) * 1997-06-26 2000-04-15 윤종용 데이타 저장장치의 버퍼 룸 로직과 그 제어방법
JPH1145562A (ja) * 1997-07-25 1999-02-16 Mitsubishi Electric Corp 半導体記憶装置
DE59810778D1 (de) * 1997-09-18 2004-03-25 Infineon Technologies Ag Anordnung mit einem Umlaufspeicher und mit eine Einrichtung, welche ein auf den Umlaufspeicher zugreifendes Programm ausführt
US6304910B1 (en) 1997-09-24 2001-10-16 Emulex Corporation Communication processor having buffer list modifier control bits
US6005849A (en) * 1997-09-24 1999-12-21 Emulex Corporation Full-duplex communication processor which can be used for fibre channel frames
US6018793A (en) * 1997-10-24 2000-01-25 Cirrus Logic, Inc. Single chip controller-memory device including feature-selectable bank I/O and architecture and methods suitable for implementing the same
US6047339A (en) * 1997-10-27 2000-04-04 Emulex Corporation Buffering data that flows between buses operating at different frequencies
US6041370A (en) * 1997-12-08 2000-03-21 Intel Corporation FIFO using a fading ones counter
JP3376316B2 (ja) * 1999-05-19 2003-02-10 日本電気株式会社 ディスクアレイ装置及びそれに用いる高速通信方法並びにその制御プログラムを記録した記録媒体
US6507877B1 (en) 1999-09-03 2003-01-14 Whamtech, Inc. Asynchronous concurrent dual-stream FIFO
KR20020052669A (ko) * 2000-12-26 2002-07-04 윤종용 선입 선출 메모리 및 이 메모리의 플래그 신호 발생방법
US6434048B1 (en) * 2001-07-20 2002-08-13 Hewlett-Packard Company Pulse train writing of worm storage device
DE10136700B4 (de) * 2001-07-27 2008-03-27 Qimonda Ag Verfahren zum Testen einer zu testenden Schaltungseinheit und Testvorrichtung
US6711494B2 (en) * 2001-07-30 2004-03-23 Emulex Corporation Data formatter for shifting data to correct data lanes
US7301961B1 (en) 2001-12-27 2007-11-27 Cypress Semiconductor Corportion Method and apparatus for configuring signal lines according to idle codes
ITMI20021185A1 (it) * 2002-05-31 2003-12-01 St Microelectronics Srl Dispositivo e metodo di lettura per memorie non volatili dotate di almeno un'interfaccia di comunicazione pseudo parallela
US7589648B1 (en) * 2005-02-10 2009-09-15 Lattice Semiconductor Corporation Data decompression
JP4847036B2 (ja) * 2005-03-30 2011-12-28 キヤノン株式会社 バスアクセスを調停する制御装置およびデータ処理装置の制御方法
DE102005026256A1 (de) * 2005-06-08 2006-12-14 OCé PRINTING SYSTEMS GMBH Verfahren zum Durchführen des Datentransfers zwischen Programmelementen eines Prozesses, Puffer Objekt zum Durchführen des Datentransfers, sowie Drucksystem
US7511641B1 (en) 2006-09-19 2009-03-31 Lattice Semiconductor Corporation Efficient bitstream compression
US7902865B1 (en) 2007-11-15 2011-03-08 Lattice Semiconductor Corporation Compression and decompression of configuration data using repeated data frames
US7979607B2 (en) * 2009-02-27 2011-07-12 Honeywell International Inc. Cascadable high-performance instant-fall-through synchronous first-in-first-out (FIFO) buffer
JP5577932B2 (ja) * 2010-08-09 2014-08-27 ソニー株式会社 送信回路および通信システム
US8717831B2 (en) 2012-04-30 2014-05-06 Hewlett-Packard Development Company, L.P. Memory circuit
EP2932506A4 (en) * 2012-12-11 2016-08-10 Hewlett Packard Entpr Dev Lp DATA OPERATION IN A SHIFT REGISTER CYCLE
US9411722B2 (en) 2013-03-04 2016-08-09 Sandisk Technologies Llc Asynchronous FIFO buffer for memory access
US9069602B2 (en) * 2013-09-25 2015-06-30 Netronome Systems, Incorporated Transactional memory that supports put and get ring commands
US11226767B1 (en) * 2020-09-30 2022-01-18 Micron Technology, Inc. Apparatus with access control mechanism and methods for operating the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5166742A (ja) * 1974-12-06 1976-06-09 Hitachi Ltd Deetabatsufuaseigyosochi
JPS54124943A (en) * 1978-03-22 1979-09-28 Nec Corp Data transfer unit
JPS5840664A (ja) * 1981-09-03 1983-03-09 Toshiba Corp バツフアメモリ装置
JPS58191042A (ja) * 1982-04-30 1983-11-08 Nec Home Electronics Ltd フア−ストイン・フア−ストアウトレジスタ制御回路

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2907004A (en) * 1954-10-29 1959-09-29 Rca Corp Serial memory
US3818461A (en) * 1972-04-10 1974-06-18 Litton Systems Inc Buffer memory system
US3896417A (en) * 1973-11-30 1975-07-22 Bell Telephone Labor Inc Buffer store using shift registers and ultrasonic delay lines
US3953838A (en) * 1974-12-30 1976-04-27 Burroughs Corporation FIFO Buffer register memory utilizing a one-shot data transfer system
US4084154A (en) * 1975-05-01 1978-04-11 Burroughs Corporation Charge coupled device memory system with burst mode
US4090256A (en) * 1975-05-27 1978-05-16 Motorola, Inc. First-in-first-out register implemented with single rank storage elements
US4151609A (en) * 1977-10-11 1979-04-24 Monolithic Memories, Inc. First in first out (FIFO) memory
NL7713706A (nl) * 1977-12-12 1979-06-14 Philips Nv Informatiebuffergeheugen van het "eerst-in, eerst-uit" type met een variabele ingang en een variabele uitgang.
US4156288A (en) * 1978-06-13 1979-05-22 Sperry Rand Corporation Asynchronous shift register with turnpike feature
JPS5634186A (en) * 1979-08-29 1981-04-06 Hitachi Ltd Bipolar memory circuit
JPS57164331A (en) * 1981-04-02 1982-10-08 Nec Corp Buffer controller
DE3213345C2 (de) * 1982-04-08 1984-11-22 Siemens Ag, 1000 Berlin Und 8000 Muenchen Datenübertragungseinrichtung zwischen zwei asynchron gesteuerten Datenverarbeitungssystemen
US4592019A (en) * 1983-08-31 1986-05-27 At&T Bell Laboratories Bus oriented LIFO/FIFO memory
US4599708A (en) * 1983-12-30 1986-07-08 International Business Machines Corporation Method and structure for machine data storage with simultaneous write and read
US4694426A (en) * 1985-12-20 1987-09-15 Ncr Corporation Asynchronous FIFO status circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5166742A (ja) * 1974-12-06 1976-06-09 Hitachi Ltd Deetabatsufuaseigyosochi
JPS54124943A (en) * 1978-03-22 1979-09-28 Nec Corp Data transfer unit
JPS5840664A (ja) * 1981-09-03 1983-03-09 Toshiba Corp バツフアメモリ装置
JPS58191042A (ja) * 1982-04-30 1983-11-08 Nec Home Electronics Ltd フア−ストイン・フア−ストアウトレジスタ制御回路

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6429926A (en) * 1987-07-24 1989-01-31 Matsushita Electric Ind Co Ltd Fifo circuit
JPH02144720A (ja) * 1988-11-28 1990-06-04 Nec Corp Fifo制御回路
JPH02235142A (ja) * 1989-03-09 1990-09-18 Fujitsu Ltd データ速度変換回路の制御方式
JPH0344886A (ja) * 1989-07-13 1991-02-26 Fujitsu Ltd ファーストイン・ファーストメモリ装置
JPH03257499A (ja) * 1990-03-08 1991-11-15 Matsushita Electric Ind Co Ltd 文字データ入力装置
JPH07282576A (ja) * 1991-08-27 1995-10-27 Ind Technol Res Inst Fifoモジュール
JPH06236679A (ja) * 1992-04-16 1994-08-23 Thomson Consumer Electron Inc マルチポートメモリシステム
JPH06259956A (ja) * 1993-02-10 1994-09-16 American Teleph & Telegr Co <Att> 先入れ先出しメモリを有する回路

Also Published As

Publication number Publication date
EP0206743A3 (en) 1990-04-25
US5305253A (en) 1994-04-19
EP0206743A2 (en) 1986-12-30
JPH0511976A (ja) 1993-01-22
JP2612559B2 (ja) 1997-05-21
US4829475A (en) 1989-05-09

Similar Documents

Publication Publication Date Title
JPS61296424A (ja) シフトレジスタ・メモリの状態を決定する方法と装置
US4864543A (en) First-in, first-out memory with counter address pointers for generating multiple memory status flags
US4692859A (en) Multiple byte serial data transfer protocol
US5587953A (en) First-in-first-out buffer memory
US4071887A (en) Synchronous serial data adaptor
US4694426A (en) Asynchronous FIFO status circuit
US4712190A (en) Self-timed random access memory chip
US5365485A (en) Fifo with fast retransmit mode
US4159541A (en) Minimum pin memory device
US5831931A (en) Address strobe recognition in a memory device
US4592019A (en) Bus oriented LIFO/FIFO memory
US5079693A (en) Bidirectional FIFO buffer having reread and rewrite means
US6047339A (en) Buffering data that flows between buses operating at different frequencies
EP0426329B1 (en) Combined synchronous and asynchronous memory controller
JP4493116B2 (ja) 読み取り/書き込みアドレスバスを有するランダムアクセスメモリ並びに同メモリへの書き込み及び同メモリからの読み取り方法
US4873667A (en) FIFO buffer controller
US5946260A (en) Method and system for storing and processing multiple memory addresses
US7064690B2 (en) Sending and/or receiving serial data with bit timing and parallel data conversion
US5455913A (en) System and method for transferring data between independent busses
JPH01129323A (ja) Fifoメモリ制御回路
WO2005093758A1 (en) Collision detection in a multi-port memory system
JP2000082282A (ja) 先入れ先出しメモリを有する回路
US5588128A (en) Dynamic direction look ahead read buffer
US5485428A (en) Memory device with page select capability
EP0245055A2 (en) Integrated electronic memory circuits