JPH0793127A - 先入れ先出し装置及び先入れ先出し方法 - Google Patents
先入れ先出し装置及び先入れ先出し方法Info
- Publication number
- JPH0793127A JPH0793127A JP4242332A JP24233292A JPH0793127A JP H0793127 A JPH0793127 A JP H0793127A JP 4242332 A JP4242332 A JP 4242332A JP 24233292 A JP24233292 A JP 24233292A JP H0793127 A JPH0793127 A JP H0793127A
- Authority
- JP
- Japan
- Prior art keywords
- out device
- data
- bit
- condition
- counter
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/10—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 having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Abstract
法(First-In,First-Out=FIFO)を提供する。 【構成】 レジスタメモリが、xビット及びyビットデ
ータを記憶し、レジスタメモリの各レジスタの幅は、y
+1ビットである。yビットがxビット及びyビットデ
ータを記憶し、1ビットは各レジスタ内のデータ幅を追
跡する。バーストレディ・ロジックはmビット入力を受
けて、2mの考え得るバースト長さから1つのバースト
長さを選び、mビット入力に基づきFIFOがバースト
可能となる時を示す信号を出す。また、デジタルヒステ
リシスを用いて、空及び満杯のFIFO条件を定める。
1つの実施例では、FIFOの8個のレジスタが、8ビ
ット及び16ビットデータを記憶し、各レジスタの幅は
17ビットであり、各16ビットが8ビット及び16ビ
ットデータを記憶し、残りの1ビットがレジスタが8ビ
ットまたは16ビットデータであるかどうか追跡する。
Description
のデータ記憶、さらに詳しくは、コンピュータシステム
の双方向、先入れ先出し(First-In,First-Out=FIF
O)データ記憶の分野に関するものである。
に示すような多数のモジュールや素子によって構成され
ている。コンピュータシステムには、通常はマイクロプ
ロセッサ(720)のような中央処理装置(CPU)が含
まれている。マイクロプロセッサは、命令を入手し、解
読し、実行するプログラム制御式装置である。コンピュ
ータシステムには、プログラム命令を記憶するための、
読取り専用メモリ(ROM)(725)のようなプログラ
ム記憶部が含まれる。コンピュータシステムにはまた、
ランダムアクセスメモリ(RAM)(730)のようなデ
ータ記憶素子とマスメモリ710のようなデータ記憶素
子も含まれる。CPU(720)と,記憶素子(710),
(725)及び(730)は、バス(715)にデータを転送
する。
ド(745)のような外部装置をマイクロプロセッサ(7
20)に接続するための、入力/出力(I/O)部(74
0)も含まれている。メモリ管理装置やコ・プロセッサ
のような専用素子(735)がコンピュータシステムに含
まれることもある。
ンメモリ」としても知られ、ユーザー、プログラムまた
はプロセスに動的に割り振られる希少な資源である。メ
インメモリRAM(730)は普通、シリコンを主体とし
て作られている。多くの場合、ダイナミック・ランダム
アクセスメモリ(DRAM)をメインメモリ(730)と
して用いる。メインメモリ(730)は「バイト」で構成
されている。すなわち、メモリは、一連の8ビットのバ
イトとして配列されており、バイトはメモリからアクセ
スされる情報の最小単位である。実行時には場合により
16ビットのワード(2バイト)または32ビットのワ
ード(4バイト)が一度にアクセスされる。
タを記憶し、代表的なものは、情報記憶のために磁気,
光,光磁気またはその他の種類の媒体を使用する。その
容量と、ディスクの操作に必要な制御量のために、デー
タへのアクセス時間はマイクロプロセッサの速度と比べ
ると非常に遅い。したがって、マイクロプロセッサ(7
20)は、先に述べたようにメインメモリRAM(73
0)の形式でアクセス時間の速いデータ記憶領域を用い
る。
の場合、マスメモリ(710)よりずっと小さい。メイン
メモリ(730)は、マイクロプロセッサ(720)の当面
の使用のために比較的少量のデータを記憶するために使
用される。メインメモリ(730)のアクセス時間が速く
なればなるほど、コンピュータの処理速度に近づく。し
たがって、システムは現在使用中のデータをディスクか
らアクセスする場合よりも速く作動することができる。
を利用して、今後の使用のためにはデータをメインメモ
リ(730)からマスメモリ(710)へ、当面の使用のた
めにはマスメモリ(710)からメインメモリ(730)へ
転送する。
スクコントローラ(825)を図8のように設ける。その
他の機能としては、ディスクコントローラ(825)は、
ディスクの回転と読取り/書込みヘッドの位置を制御す
る。ディスクコントローラ(825)は、ディスク(89
0)へのアクセス要求の管理も行う。
の1つが、バッファ(840)である。バッファ840
は、データがディスク(890)に書込まれる前、または
ディスク(890)からメインメモリ(710)へ転送され
る前に、「中間」記憶領域を設ける。バッファ(840)
は普通、メインメモリ(710)より小さく、8Kバイト
から1Mバイトまでである。現在の進歩したディスクド
ライブシステムでは、バッファ(840)はDRAMまた
はSRAMで構成されている。ディスク(890)へのア
クセスは、ディスクコントローラ(825)のバッファ
(840)にアクセスすることによって行われる。
ッファマネージャ(830)が扱う。バッファ(840)へ
のアクセス要求は、複数のソースから出される。たとえ
ば、1つのディスクコントローラでは、バッファマネー
ジャ(830)が4つのソースからのバッファへのアクセ
ス要求を扱う。第1に、ホストバスコンピュータ(70
0)が、ディスクコントローラ(825)のホストバスイ
ンターフェース(801)経由でバッファ(840)へのア
クセスを要求することができる。第2に、ディスクコン
トローラ(825)のディスクフォーマッタ(860)も、
ディスクドライブに、またはディスクドライブから、デ
ータを転送するためにバッファ(840)へのアクセスを
要求することができる。ディスクドライブの埋込型マイ
クロコントローラ880も、バッファ(840)にアクセ
スを要求することができる。DRAMバッファを用いる
場合は、DRAMリフレッシュ回路(832)がバッファ
(840)アクセスのための4番目の要求ソースとなるこ
とができる。
きのディスクコントローラの簡単なブロック図である。
ディスクコントローラ(825)には、FIFO(820)
に結合されたホストバスインターフェース(801)を含
んでいる。バッファマネージャ(830)はFIFO(8
20)、FIFO(850)及びバッファ(840)に結合
されている。ディスクフォーマッタ(860)もFIFO
(850)に結合されている。ホストバスインターフェー
ス(801)、ディスクフォーマッタ(860)及びバッフ
ァマネージャ(830)は、互いに非同期的に作動する。
はデータ転送を効率よく行うことができる。説明のた
め、ディスク(890)からのデータ読取りの場合を例と
して考える。FIFO(820)と(850)がない場合、
ディスクフォーマッタ(860)はバッファマネージャ
(830)経由でバッファ(840)に直接データを転送す
る。この間は、バッファマネージャ(830)はディスク
フォーマッタ(860)の要求に応えているため、バッフ
ァへのアクセス要求はできない。ディスクフォーマッタ
(860)によってバッファ(840)がデータで満杯にな
ったあと、バッファマネージャ(830)はホスト(70
0)の要求に応えることができる。したがって、データ
をバッファ(840)からメインメモリ(710)に読込む
ことができる。よって、ホストコンピュータ(700)
は、ディスクフォーマッタ(860)がバッファ(840)
にアクセスし終わるまでそのまま待機しなければならな
い。
バッファマネージャ(830)はホストバスインターフェ
ース(801)、ディスクフォーマッタ(860)、埋込型
マイクロコントローラ(880)及びDRAMリフレッシ
ュ回路(832)の間を多重送信することができる。FI
FO(820)と(850)によって、ホストバスインター
フェース(801)またはディスクフォーマッタ(860)
がデータ要求に応える際に遅れることなく、バッファマ
ネージャ(830)の多重送信が可能となる。またFIF
O(820)と(850)によって、ホストバスインターフ
ェース(801)とディスクフォーマッタ(860)が、バ
ッファ(840)から、またはバッファ(840)へ、同時
にデータを転送することが可能となる。ディスクからの
データ読取りの同様の例として、バッファマネージャ
(830)はホストバスインターフェース(801)のFI
FO(820)をデータで満杯にし、その後ディスクフォ
ーマッタ(860)のFIFO(850)からデータを検索
することができる。次に、ホスト(700)がホストバス
インターフェース(801)のFIFO(820)からデー
タを検索するのと同時に、ディスクフォーマッタ(86
0)のFIFO(850)からのデータをバッファ(84
0)に記憶することができる。ホスト(700)とディス
クフォーマッタ(860)の透視図から、データ要求への
対応の遅れを最小限に抑えながら、それぞれがバッファ
(840)にただちにアクセスしていることがわかる。実
際には、バッファマネージャ(830)はバッファアクセ
スのための(おそらく)4つの要求ソース、すなわち、
ホストバスインターフェース(801)、ディスクフォー
マッタ(860)、ディスクドライブの埋込型マイクロコ
ントローラ(880)及び(DRAMバッファを用いる場
合には)DRAMリフレッシュ回路(832)の間で多重
送信している。
トローラ(825)で使用する場合は、バッファ(840)
とFIFO(850)間の転送にページモードアクセス法
を用いることができる。ページモードでは、データは1
度に1バイトではなくむしろブロックまたはバーストで
転送される。バーストで転送されるバイト数を、バース
ト長さと呼ぶ。ページモードはバースト転送またはデマ
ンド転送として実行することができる。
バッファ(840)とFIFO(850)間に転送されるバ
イト数を表す。FIFO(850)からの読取りについて
は、FIFO(850)が少なくともバースト長さと同数
のバイトを含むとき、バッファマネージャはFIFO
(850)にバッファアクセスを認める。FIFO(85
0)への書込みについては、FIFO(850)の空バイ
トの数が少なくともバースト長さと同じになるまで、バ
ッファマネージャ(830)は、FIFO(850)にデー
タを転送しない。
は、1つのバッファが要求にアクセスしている間に転送
される最大バイト数を示す。FIFO(850)からバッ
ファ(840)への読取りは、FIFO(850)が空でな
いときにはいつでも起こりうる。したがって、FIFO
(850)からの読取りは、FIFO(850)に少なくと
も1個のデータバイトが含まれるときに起こりうること
になる。バッファの書込みのためには、FIFO(85
0)にデータを記憶するオープンバイトが少なくとも1
個含まれるときに、バッファマネージャ(830)は転送
を開始することができる。バースト長さは、1つの要求
中に転送できる最大バイト数を示す。すなわちFIFO
(850)から読取られるバイト数は、FIFO(850)
のバイト数またはバースト長さのいずれか小さい方に等
しいことになる。同様に、FIFO(850)に書込まれ
るバイト数は、FIFO(850)の空バイト数またはバ
ースト長さのいずれか小さい方に等しいことになる。
Oシステムは、バースト及びデマンド転送モードの両方
でページモードを支援する。しかし、バースト長さは、
固定されたバイト数に設定されている。バースト長さが
固定されると、最も効率的な転送レートが得られなくな
り、したがってホストが待機状態となることにより不必
要な遅延が生じる可能性がある。したがって、ホストか
ら見たデータ転送速度が妨げられる。バースト長さをプ
ログラムできるようにすれば、転送レートを最大限に活
用することができる。
記憶されていると考えられる。データのアドレスは2つ
の部分から構成されている。すなわち行アドレスと列ア
ドレスである。データを転送するには、まず行アドレス
がDRAMのアドレスバス上に来て、RAS(行アドレ
ス・ストローブ)信号を用いてストローブし、次に列ア
ドレスがDRAMのアドレスバス上に来て、CAS(列
アドレス・ストローブ)信号を用いてストローブする。
読取り中のときは、DRAMは、CASが出ているあい
だデータバス上の選択した行と列の交差箇所にデータを
置く。また書込み中は、データバスからデータをとり、
CASが出ているあいだ選択した行と列の交差箇所に記
憶する。
最初のバイトがDRAM内の行及び列アドレスをストロ
ーブさせ、同じ行にある場合は、次のバイトは列アドレ
スだけをストローブさせればよい。列アドレスだけをス
トローブさせれば、DRAMからデータにアクセスする
時間をかなり減らすことができる(したがって、バース
ト長さが4バイトと定まっている場合は、最初のバイト
の行及び列アドレスがストローブするが、第2,第3及
び第4のバイトは列アドレスだけをストローブさせ
る。)。
(すなわち、行アドレスをストローブする時間)がある
ため、平均アクセス時間=(列アドレスストローブ時間
+(行アドレスストローブ時間/バースト長さ))であ
るから、データバイトにアクセスする平均時間はバース
ト長さが増すにつれて低下する。制約条件がないとき
は、可能な限り最大のバースト長さを選択して、データ
転送速度を最大限にすることができる。しかし、ディス
クコントローラのバッファマネージャは、ホスト及びデ
ィスクFIFOをオーバーフローまたはアンダーフロー
させてはならないという実態により制約される。ディス
ク読取り中のディスクFIFOへのデータの流れ、また
はディスク書込み中のディスクFIFOからのデータの
流れは、バッファマネージャによって止めることはでき
ず、規則的にディスクFIFOをサービスする。バース
ト長さが長過ぎると、ディスクFIFOは、バッファマ
ネージャがホストFIFOでバーストをサービスしてい
るあいだオーバーフローまたはアンダーフローになるこ
とがある。これがバースト長さに対する制約となる。さ
らに、場合によっては、待機状態の挿入によりホスト転
送処理を遅らせることはできないため、バースト長さ
は、ホストFIFOがオーバーフローまたはアンダーフ
ローにならないように選ばなければならない。
イト)のためにデータを記憶する。FIFO(先入れ先
出し法=First-In,First-Out)は、データを記憶ネット
ワークへ書込み、また記憶ネットワークから読取るとい
う方法から名付けられている。すなわち、FIFOに最
初に書込まれたデータは、FIFOから最初に読取られ
るということである。FIFOの記憶容量は有限であ
る。したがって、空間が残っているかぎりデータをFI
FOに書込むことができる。すなわち、満杯でないかぎ
りFIFOに書込んでもかまわない。逆に、データが残
っていない状態になるまで、すなわち空になるまで、F
IFOから読取ることができる。
る。目的は、データ要素X1からX4をFIFOを用いて
領域(170)から領域(270)まで転送することであ
る。時間t0では、領域(170)には要素X1からX4が
あり、FIFOと領域(270)は空である。時間t
1で、要素X1がFIFOに書込まれる。時間t2で、要
素X2がFIFOに書込まれる。時間t3は、X1がFI
FOから領域(270)へ読取られた状況を示している。
X1は(時間t1で)FIFOに書込まれた最初の要素で
あるため、これはまた最初にFIFOから読取られたわ
けである。時間t4で、X2、すなわち時間的に2番目に
FIFOへ入力する要素は、領域(270)に書込まれ
る。また時間t4では、要素X3とX4はFIFOへ書込
まれ、FIFO から領域(270)へ読取られる。最後
の時間tfでは、領域(170)にあったすべての要素が
領域(270)にある。
達成するには、先行技術のFIFOは、デュアルモード
法を用いている。すなわち、1つのモードでは、16ビ
ットデータはFIFOによって処理される。最初の16
ビットモードが終了したあと、第2の8ビットモードが
開始し、8ビットデータの一連の転送を行うことができ
る。したがって、先行技術のFIFOは、FIFO内で
データの種類を混合させることはできない。
FOデータ記憶に関するものである。デュアルポート、
双方向性FIFOを、ポート1で第1装置に、またポー
ト2で第2装置に結合する。第2装置はFIFOへ制御
信号を送り、またDRAMデータ記憶領域にデータを記
憶する。ポート1では、第1装置によってxビットまた
はyビットデータをFIFOから読取り、あるいはFI
FOに書込む。同時に、xビットデータを、第2装置に
よってポート2を通してFIFOに書込み、あるいはF
IFOから読取る。第2装置からFIFOへの制御信号
は、データ転送の方向を決定し、FIFOを読取り及び
書込み用に適合させる。S内部レジスタは、xビット及
びyビットデータを同時に記憶する。FIFOへの入力
は、入ってくるデータの幅をxビットまたはyビットと
して示す。各レジスタの幅は、y+1ビットである。y
ビットはxビット及びyビットデータを記憶し、1幅ビ
ット(one width bit)は各レジスタ内のデータの幅を
追跡する。FIFOは、バーストモードまたはデマンド
モードでポート2でのDRAMのページモードアクセス
を支援する。ページモードDRAMアクセスはプログラ
ム可能なバースト長さを用い、システムパラメータの特
定のセットのために、FIFOのスループットを最適に
する。FIFOが満杯の状態にあるか空の状態にあるか
は、デジタルヒステリシスによって決定される。FIF
Oの読取り及び書込みが非同期的に行われることがある
ため、満杯及び空の状態を決定するにはデジタルヒステ
リシスが役立つ。
をディスクコントローラに使用する。1つのFIFO
は、IBM−ATのホストバスインターフェースとディ
スクコントローラのバッファの間で用いる。第2のFI
FOは、ディスクコントローラのバッファとディスクフ
ォーマッタのディスクインターフェースの間で用いる。
ホストバスインターフェースFIFOのポート1を、1
6ラインバス経由でATインターフェースに結合し、8
ビット及び16ビットのデータ転送を行う。ポート2で
は、バッファ−ディスクコントローラのデータ転送は8
ビットバス経由で行われる。また、好ましい実施例で
は、ホストインターフェースFIFOは、それぞれが1
7ビット幅である8個の内部レジスタを用いる。すなわ
ち、16のビットは8ビットまたは16ビットのデータ
を記憶し、1幅ビットは当面の各レジスタのデータの幅
を追跡する。ディスクインターフェースFIFOは、そ
れぞれが8ビット幅である8個の内部レジスタを用い
る。レジスタは、3ビットのグレイコードカウンタを用
いて内部で選択される。ディスクコントローラのバッフ
ァがDRAM内で実行される場合は、FIFOのバース
ト長さを、2ラインバス経由でプログラムすることがで
きる。その結果、ポート2でのバーストまたはデマンド
転送は、1,2,4または8バイトのバースト内で行う
ことができる。
ジモードアクセスにおけるバースト長さは固定されてい
る。バースト長さが固定されていると、ホストが待機状
態となり、したがってシステムの性能の妨げになる。本
発明のFIFOは、バースト長さがプログラム可能であ
ることにより、ディスクコントローラで用いるときに性
能が高まる。バースト長さがプログラム可能であること
により、ホストのデータ要求への対応の遅れが最小にな
るよう選択することができるため、ホストから見てデー
タ転送レートを最大限に活用できる。本発明のFIFO
は、幅追跡ビット(width tracking bit)を用いること
によってデータの種類を混合することができ、各レジス
タ内のデータの大きさを示すことができる。
を行う方法と装置について述べる。発明を充分に説明す
るために、以下の説明の中で、多くの特定の詳細事項に
ついて詳しく述べる。しかし、技術精通者にはこれらの
特定の詳細事項がなくても本発明を実施できることは明
白である。その他の点では発明が不必要にわかりにくく
ならないよう、公知の特徴については詳しく説明しな
い。
ビットデータについて述べる。説明の目的ためにはyは
2x未満であるかまたは2xに等しい。さらに、データ
の「バイト」とはデータのxビット部分を意味し、デー
タの「ワード」はデータのyビット部分を示す。好まし
い実施例の中ではy=16,x=8である。したがっ
て、2個の8ビットバイトで1個の16ビットワードと
なる。しかし、その他の値や関係を本発明の範囲から逸
脱せずに設定することができる。
0)及び装置(1)の概略を図2に示す。図2ではFIF
O(10)を通してデータは装置(1)からマネージャ(3
0)へ、またはマネージャ(30)から装置(1)へ転送さ
れる。マネージャ(30)がFIFO(10)から読取る
か、またはFIFO(10)へ書込むと同時に、装置(1)
はFIFO(10)へ書込むか、またはFIFO(10)か
ら読取る。データは装置(1)とFIFO(10)の間で双
方向性ポートP1(538)を通してyラインバス(11
8)経由で転送される。データはマネージャ(30)とF
IFO(10)の間で双方向性ポートP2(539)を通し
てxラインバス(119)経由で転送される。
はマネージャ(30)からの入力によって制御される。デ
ィレクション入力D(200)によってデータ転送の方向
が決定される。すなわち、ディレクション入力D(20
0)は装置(1)からマネージャ(30)へ、またはマネー
ジャ(30)から装置(1)へのデータ転送用にFIFO
(10)を適合させる。ディレクション入力D(200)は
また、FIFO(10)がどのクロック入力を使用するか
決定する。リードクロック入力RCK1(501)とRC
K2(502)はFIFO(10)からデータを読取るため
に、それぞれ装置(1)とマネージャ(30)によって使用
される。使用の際、これらのリードクロック入力は、デ
ータをディレクション入力D(200)に応じてyビット
バス(118)またはxビットバス(119)のいずれかに
入力する。ライトクロック入力WCK1(516)とWC
K2(517)はFIFO(10)にデータを書込むために
それぞれ装置(1)とマネージャ(30)によって使用され
る。ディレクション入力D(200)はどのライトクロッ
ク信号を使用するか決定する。WCK1(516)とWC
K2(517)を用いるとき、データはyビットバス(11
8)またはxビットバス(119)から取り出されFIF
O(10)に記憶される。
yビットデータはS内部レジスタに記憶される。各レジ
スタの幅はy+1ビットである。yビットはxビット及
びyビットデータを記憶し、1幅ビットはレジスタ内の
データの幅を追跡する。
0)に書込まれたデータの幅を定める。幅入力値は対応
する幅ビット(width bit)のデータといっしょに記憶
される。幅ビットは幅出力WO(537)上にFIFO
(10)から読取ったデータの幅を定める。
2(539)でバーストすることができる。すなわち、マ
ネージャ(30)のDRAM記憶領域(60)によってペー
ジモードアクセスを用いてP2(539)でデータ転送を
行うことができる。ページモードではデータ転送速度を
増すために単一バイト転送よりむしろ多重バイトバース
ト転送を行う。
39)での転送をバースト転送またはデマンド転送とし
て実行するかどうかを決定する。バーストモード転送の
ためにはBM(579)を実行する。バーストモードでは
バーストレディ出力RDY(581)がバースト長さ入力
BL(578)によって定められた長さの多重バイトデー
タ転送をP2(539)で実行することができるかどうか
を示す。BM(579)が実行されない場合はP2(53
9)でのデータ転送がデマンド転送モードで行われてい
る。デマンドモードではRDY(581)が実行され、F
IFO(10)が空でなければFIFO(10)からデータ
を読取ることができ、FIFO(10)が満杯でなければ
FIFO(10)に書込むことができる。デマンドモード
ではバースト長さ入力BL(578)が1つの要求中に転
送できる最大バイト数を定める。
空の出力AE(582)とほぼ満杯の出力AF(583)を
用い、それによってマネージャ(30)を効率的に別のタ
スクに切替えることができる。FIFO(10)からの読
取り中はFIFO(10)に1データバイトしかない場
合、ほぼ空の出力AE(582)がマネージャ(30)に信
号を送る。したがって、マネージャ(30)はFIFO
(10)が実際に空になる前にどのデマンド転送を終了し
なければならないかの信号を受ける。これによって、マ
ネージャ(30)を効率的に別のタスクに切替えることが
できる。あと1データバイト分の空間しかない場合はF
IFO(10)への書込み中にほぼ満杯のAF(583)が
マネージャ(30)に出される。したがって、マネージャ
(30)はFIFOが実際に満杯になる前に信号を受け
る。こうして、マネージャ(30)は効率的に別のタスク
に切り替わることができる。これらの各信号はワードで
はなくバイトで構成されている。したがってデータ幅が
考慮される。
をプログラムまたは選択できることである。すなわち、
マネージャ(30)はmラインバス(128)経由でバース
ト長さを選ぶことができる。たとえば、m=2である場
合はFIFO(10)は4種類の異なるバースト長さのう
ちの1つについてプログラムすることができる。バース
ト長さがプログラム可能であることによって装置(1)の
要求への対応の遅れを最小限にするよう FIFO(1
0)を「合わせる」ことができる。
が読取り中に空になることがある。この場合はデータを
それ以上読取ることはできずFIFO(10)は空信号E
(561)を出す。FIFO(10)への書込み中には満杯
入力F(562)が実行され各Sレジスタにデータがある
ことを示す。その結果、データをそれ以上FIFO(1
0)に書込むことはできない。
を出すためにFIFO(10)は独特のデジタルヒステリ
シス法を用いる。すなわち、FIFO(10)状態の経過
をFIFO(10)によって追跡する。本発明のデジタル
ヒステリシスは「ほぼ満杯」及び「ほぼ空」の状態を用
いる。これについては以下の説明の中でさらに詳しく述
べる。
ージャ(30)はFIFO(10)に制御信号を出し、双方
向ポートP2(539)を通してxラインバス(119)経
由でデータを転送する。装置(1)は、双方向ポートP1
(538)を通してyラインバス(118)経由でデータを
転送する。レジスタメモリ(530)はxビット及びyビ
ットデータをS内部レジスタに記憶する。各レジスタの
幅は、y+1ビットである。各レジスタは各yビットを
用いてxビット及びyビットデータを記憶し、1幅ビッ
トを用いて各レジスタ内のデータ幅を追跡する。リード
ポインタ(500)には、読取るSレジスタを1つ選ぶ第
1ポインタP(505)がある。ライトポインタ(515)
には、書込むSレジスタを1つ選ぶ第2ポインタP(5
20)がある。リードポインタ(500)とライトポイン
タ(515)にはまた、データを読取り、書込むための、
第3及び第4ポインタP+1(508)とP+1(523)
及びクロック信号がある。減算器(545)は、バースト
レディ・ロジック(BurstReady Logic)(575)に第1
ポインタと第2ポインタの差を与え、FIFO(10)の
データワード数を決定する。P2(539)でのページモ
ード転送が実行できる場合は、バーストレディ・ロジッ
ク(575)がマネージャ(30)に信号を送る。FIFO
(10)が「空」または「満杯」である場合は、満杯/空
ロジック(560)がマネージャ(30)とバーストレディ
・ロジック(575)に信号を送る。
ック信号CKLO(521)とCKHI(522)をレジス
タメモリ530に送っている。CKLO(521)はライ
ン(106)経由で入力WRLO(533)に結合されてい
る。CKHI(522)はライン(105)経由で入力WR
HI(534)に結合されている。nビット出力P(52
0)はnラインバス(107)経由でnラインバス(13
6)に結合されている。nビット出力P+1(523)は
nラインバス(134)経由で満杯/空ロジック(560)
入力WP+1(565)に結合されている。出力WHIN
(524)はライン(138)を通してバーストレディ・ロ
ジック(575)の入力WHIN(587)に結合されてい
る。
(31)は、ディレクション入力D(518にライン(10
3)を通して結合されている。ライト1(Write One)
(32)は、ライン(101)を通してWCK1(516)に
結合されている。ライト2(Write Two)(33)は、ラ
イン(102)を通してWCK2(517)入力に結合され
ている。マネージャ(30)の出力幅イン(Widh In)(3
4)は、ライン(104)を通して入力W(519)に結合
されている。
CKLO(506)とCKHI(507)をレジスタメモリ
(530)に送る。CKLO(506)は、ライン(112)
を通して入力RDLO(531)に結合されている。CK
HI(507)は、ライン(113)を通してRDHI(5
32)に結合されている。nビット出力P(505)はn
ラインバス(111)を通してnラインバス(114)に結
合されている。もう一つのnビット出力P+1(508)
はnラインバス(135) を通して満杯/空ロジック(5
60)のRP+1入力(566)に結合されている。出力
RHIN(509)はライン(139)を通してバーストレ
ディ・ロジック(575)の入力RHIN(586)に結合
されている
ン(31)は入力D(503)にライン(100を通して結
合されている。リード1(Read One)(35)はライン
(108を通してRCK1(501)に結合され、リード2
(Read Two)(36)はライン(109を通してRCK
2(502)入力に結合されている。リードポインタ幅入
力W(504)は、ライン(110)を通して、レジスタメ
モリ(530)の出力WO(537)に結合されている。
を通して入力D(536でマネージャ(30)のディレク
ション(31)出力に結合されている。入力WI(535)
はライン(116)を通してマネージャ(30)の出力幅イ
ン(34)に結合されている。出力WO(537)はライン
(117)を通してマネージャ(30)の幅アウト(Width
Out)(37)に結合されている。入力WP(540)とR
P(541)はそれぞれnビットで構成され、それぞれn
ラインバス(136)と(114)に結合されている。yビ
ット双方向ポートP1(538)はyラインバス(118)
を通して装置(1)のポート(147)に結合されている。
双方向ポートP2(539)はxビットで構成され、xラ
インバス(119)を通してマネージャ(30)のポート
(246)に結合されている。
レディ・ロジック(575)に出力CNT(548)を送
る。CNT(548)はnラインバス(120)を通してバ
ーストレディ・ロジック(575)の入力CNT(576)
に結合されている。減算器入力WP(546)はnライン
バス(136)に結合され、入力RP(547)はnライン
バス(114)に結合されている。
(560)はFIFO(10)が満杯または空であるときマ
ネージャ(30)に信号を送る。満杯/空ロジック(56
0)の出力F(562)はライン(124)を通してマネー
ジャ(30)の入力満杯(Full)(38に結合され、出力
E(561)はライン(123)を通して入力空(Empty)
(39に結合されている。満杯/空ロジック(560)は
nラインバス(121)を通してnラインバス(114)に
結合されている RP(563)を通して入力を受ける。
入力WP(564)は、nラインバス(122)を通してn
ラインバス(136)に結合されている。
ージャ(30)によって、いつバーストを行うことができ
るか定める。RDY出力(581)はマネージャ(30)の
バーストレディ(42)入力にライン(131))を通して
結合されている。出力AE(582)とAF(583)はマ
ネージャ(30)の入力「ほぼ空(Almost Empty)」(4
1)と「ほぼ満杯(Almost Full)」(40)にそれぞれラ
イン(132)と(133)によって結合されている。バー
ストレディ・ロジック(575)の入力F(584)はライ
ン(126を通して満杯/空ロジック(560)の出力F
(562)に結合されている。入力E(585)はライン
(125)を通して満杯/空ロジック(560)の出力E
(561)に結合されている。入力D(577)はライン
(127)を通してマネージャ(30)の出力ディレクショ
ン(31)に結合されている。Mビット入力BL(578)
はmラインバス(128)を通してマネージャ(30)のバ
ースト長さ(43)出力に結合されている。入力BM(5
79)はライン(129を通してマネージャ(30)の出力
バーストモード(Burst Mode)(44)に結合され、入力
BW(580はライン(130を通してマネージャ(30)
のバースト幅(Burst Width)出力(45)に結合されて
いる。入力WI(589)はライン(137)を通してマネ
ージャ(30)出力幅n(34)に結合されている。入力W
O(588はライン(140)を通してライン(110)に
結合されている。
主に1個のnビットカウンタによって構成されている。
出力P(520)はnラインバス(111)を通してカウン
タの状態を送信する。カウンタ出力P(520)はSレジ
スタの1つを選んでレジスタメモリ(530)内に書込
む。出力P+1(523)はnラインバス(134)を通し
て満杯/空ロジック(560)にすぐ次のnビットカウン
タの値を与える。たとえば、好ましい実施例では、3ビ
ットのグレイコードカウンタを用いている。したがっ
て、P=001であればP+1=011となる。P+1
(523)を用いて、FIFO(10)の満杯及び空状態を
定める。
タはディレクション入力D(518)に基づいてWCK
1(516)またはWCK2(517)のどちらかによってク
ロックされる。D(518)がWCK2(517)を使用中
であると示している場合は、FIFO(10)は双方向ポ
ートP2(539)を通して書込み用に適合される。この
場合では、yビットデータをxラインバス(119)上に
転送するよう入力W(519)が示している場合には、次
の2つのクロック信号CKLO(521)とCKHI(5
22)がレジスタメモリ(530)に送られる。図6aに
よれば、WCK2(517)の第1クロックパルス(60
0)によってCKLO出力(521)にパルス(601)が
発生する。WCK2(517)の次のパルス(602)から
は出力CKHI(522)にパルス(603)が発生する。
第2のWCK2(517)パルス(604)の立下りエッジ
でnビットカウンタは増加するため、出力P(520)は
次のレジスタを選び、レジスタメモリ(530)内に書込
む。
0)にxビットデータを書込むために用いられる。この
場合にもWCK2(517)を選ぶが、W(519)がxビ
ットデータを書込むよう指示する。xビットデータはx
ラインバス経由で書込むべきであるため、クロック信号
CKLO(521)とCKHI(522) がレジスタメモ
リ(530)に出力される。図6bはこの状況を示してい
る。パルス(610)はCKLO(521)のパルス(61
1)とCKHI(522)のパルス612)を同時にトリガ
ーする。パルス(613),(614)及び(615)が立下
るとき、ライトポインタ(515)のnビットカウンタは
増加する。P(520)は次のレジスタを選び、レジスタ
メモリ(530)内に書込む。
O(10)に書込むために、CKLO(521)及びCKH
I(522)を図6cに示すように出力する。yビットま
たはxビットデータをポートP1(538)を通して書込
むべきかどうかに関係なく、WCK1(516)のパルス
(616)とCKLO(521)及びCKHI(522)のパ
ルス(617)と(618)を同時に発生する。カウンタ出
力P(520)は(619),(620)及び(621)の立ち
下がりで増加され、レジスタメモリ(530)へ書込むた
めに次のレジスタを選ぶ。これらの各状況では、次のカ
ウンタ出力P+1(523)が満杯/空ロジック(560)
へ送られる。
インタ(515)と同様である。リードポインタ(500)
は主にnビットカウンタからなり、出力P(505)をn
ラインバス(111)を通して送りカウンタの状態を示
す。次のカウンタ出力P+1(508)がnラインバス
(135)を通して満杯/空ロジック(560)に送られ、
FIFO(10)の満杯及び空条件を定める。
01)またはRCK2(502)によってクロックされる。
ディレクション入力D(503)はRCK1(501)また
はRCK2(502)のいずれかが選ばれていることを示
す。ポートP1(538)を通してFIFO(10)から装
置(1)へデータを読取るにはRCK1(501)を選択す
る。ポートP2(539)を通してFIFO(10)からマ
ネージャ(30)への読取りにはRCK2(502)を選択
する。レジスタメモリ(30)の出力WO(537)からと
った入力W(504)は、ライトポインタ(515)への入
力W(519)として同様の機能を果たす。したがって、
W(504)はFIFO(10)から読取られているデータ
の幅を示す。その結果、W(504)はCKLO(506)
とCKHI(507)が(図6aと同様の)RCK2(50
2)によって、または(図6bと同様の)次のRCK
2(502)パルスによって同時にパルスが発生されてい
るかどうかを制御する。同時クロックパルスは、ポート
P1(538)経由のyビットまたはxビット読取りがあ
るとき、またポートP2(539)経由のxビット読取り
があるときにも発生する。これらの場合には、出力P
(505)はパルスの立下がりエッジ上でインクリメント
とされる。ポートP2(539)を通してyビットデータ
読取りが起きると、RCK2(502)の第2パルスがC
KHI(507)に送られる間にRCK2(502)の第1
パルスがCKLO(506)に送られる。出力P(505)
はRCK2(502)の第2パルスの立下がりエッジ上で
インクリメントされる。これらの各場合には、出力P
(505)はレジスタメモリ(530)内に読取る次のレジ
スタを示す。それぞれの場合にP+1(508)が満杯/
空ロジック(560)に次のカウンタ状態を供給する。
00)及びライトポインタ(515)のnビットカウンタ
は3ビットのグレイコードカウンタである。グレイコー
ドカウンタは満杯/空ロジック信号E(561)とF(5
62)を定めるときに問題が起こらないようにする。し
たがって、グレイコードカウンタは比較的容易にFIF
O(10)の空及び満杯条件を定め危険や競合条件がない
ようにする。
0)はxビット及びyビットデータを受取り、出力し、
記憶する。レジスタメモリ(530)はFIFO(10)の
ためのデータ記憶領域を与える。レジスタメモリ(53
0)は複数のレジスタR(1)からR(S)までを用い
て、SバイトまたはワードあるいはSバイトとワードの
何らかの組合せを記憶する。各レジスタRはnラインを
用いて選択される。したがって、各Sレジスタを選ぶた
めにはSは2n未満かまたはそれに等しい。FIFO
(10)からの読取り中にRP(541)はデータを読取る
Sレジスタを1つ選ぶ。WP(540)はFIFOの書込
み中に書込むSレジスタを1つ選ぶ。
データをFIFO(10)のレジスタR(1)からR
(S)までに同時に記憶することができる。たとえば、
レジスタR(1)はxビットデータを記憶することがで
き、レジスタR(2)及びR(3)はyビットデータを
記憶することができる。xビットデータの場合にはレジ
スタのロワーxビットを用いてデータを記憶する。レジ
スタの幅はデータの幅x及びyによって異なる。yは2
x未満かまたはそれに等しいため、各レジスタの幅は少
なくともyに等しくなければならない。データの幅は各
種の操作や計算に入力される。したがって、データの幅
を追跡しなければならない。本発明はデータ幅を追跡す
る新しい方法を提供する。すなわち、レジスタ内のデー
タの幅を追跡するために各レジスタに1ビットを追加す
る。それによって、各レジスタはレジスタ内の現在のデ
ータ幅を追跡するのに関連して1ビットを有することに
なる。したがって、各レジスタRの幅は、y+1であ
る。
ィスクコントローラに用い、そのディスクコントローラ
をIBM−ATシステムで用いている。ホストバスイン
ターフェースはATAスタンダードによって定められて
おり、16ビット及び8ビットデータ転送を必要とす
る。ATバス上の通常のデータ転送の幅は16ビットで
ある。しかし、リードロングコマンド及びライトロング
コマンドにはデータのブロックに加える8ビットのエラ
ーチェックデータが通常必要である。
タを用いて8ビット及び16ビットデータを記憶する。
3ビットのグレイコードカウンタの状態が3つのライン
を通して出力され8個の各レジスタを選択する。各レジ
スタの幅は17ビットである。各16個のビットが8ビ
ット及び16ビットデータを記憶する。各レジスタの幅
ビットはレジスタの内容が16ビットまたは8ビットで
あることを示している。この幅ビットによってホストへ
転送するためのIBM−ATホストバスインターフェー
スIOCS16_信号を適切に制御することができる。
IOCS16_はホストに8ビットデータが転送されて
いるか、16ビットデータが転送されているかを知らせ
る。
(1)からR(S)までを図4aのブロック(405)に
示す。各SレジスタがR(1)(410)とR(2)(4
11)で始まっていることがわかる。番号は連続してR
(S)(412)まで続いている。
データを読取るSレジスタを1つ選ぶ。図4aではレジ
スタR(1)(410)が選ばれている。P(505)出力
はまた減算器(545)と満杯/空ロジック(560)にも
供給される。さらに、次のカウンタ出力P+1(508)
は図でわかるようにP(505)と関係している。したが
って、データをFIFO(10)から読取る場合には次の
カウンタ出力P+1(508)はP(505)の次の値を示
す。その結果、データをR(1)(410)から読取ると
次にデータはR(2)(411)から読取られる。
データを書込むSレジスタを1つ選ぶ。図4aではR
(S−2)(406)が選ばれている。出力P(520)は
また減算器(545)と満杯/空ロジック(560)にも供
給される。次のカウンタ出力P+1(523)も供給さ
れ、図からわかるようにこれはP(520)と関係してい
る。したがって、データをFIFO(10)に書込むと次
のカウンタ出力P+1(523)はP(520)の次の値を
示す。その結果、データがR(S−2)(406)に書
込まれると、データは次にR(S−1)(407)に書
込まれる。
送のディレクションを選択する。対応するライトポイン
タ(515)の入力WCK1(516)またはWCK2(51
7)はFIFOのライトシーケンスをクロックする。入
力WP(540)はデータを受取るSレジスタを1つ選
ぶ。ポートP2(539)経由でのyビット書込みの場合
には、データワードを記憶するのに2個のクロック信号
が必要となる。データのロワーxビットがxラインバス
(119)上に来た後パルスがCKLO(521)からWR
LO(533)に供給される。WRLO(533)上のパル
スによってデータのxビットが選択レジスタに記憶され
る。また、データワードに関連した幅は幅入力WI(5
35)からとられ、選択レジスタの幅ビットに記憶され
る。次に、残りのy−xビットのデータはxラインバス
(119)上に入れられる。CKHI(522)から入力W
RHI(534)へ送られたパルスによって、残りのy−
xビットのデータが選択レジスタに記憶される。
のため、WRLO(533)とWRHI(534)は同時に
パルスを発生することによってyラインバス(118)上
にあるyビットデータワードが選択レジスタに書込まれ
る。これらの信号はそれぞれCKLO(521)とCKH
I(522)出力から受ける。したがって、装置1がデー
タのソースであることをディレクション入力D(536)
が示し、また幅入力WI(535)がyビットデータを示
している場合は、WRLO(533)とWRHI(534)
は同時にパルスを発生して、選択したレジスタにyビッ
トデータを書込む。またこのときWI(535)の値が選
択レジスタの対応する幅ビットに記憶される。
込まれたxビットデータの場合はデータは選択したレジ
スタの低い方のxビットに記憶される。したがって、W
RLO(533)だけを用いて選択レジスタにデータバイ
トを書込む。選択レジスタのための幅ビットもこのとき
WI(535)からクロックされる。
行われる。入力RP(541)がデータを読取るSレジス
タを1つ選び、ディレクション入力D(536)がデータ
のディレクションを示す。各レジスタ内の関連データ幅
が幅出力WO(537)で出力され、これは読取り操作中
ずっとライン上に残る。RDLO(531)上のパルスに
よって、データのロワーxビットが選択レジスタから読
取られる。パルス発生中のRDHI(531)によって残
りのy−xビットが読取られる。
データがP2(539)を通してFIFO(10)から読取
られていることを示すと、yビットデータがxラインバ
ス(119)を経て転送される。したがって、データのロ
ワーxビットが発信中のRDLO(531)によって選択
レジスタから読取られる。マネージャ(30)が低い方の
xビットを受取った後RDHI(532)が発信されて残
りのy−xビットを読取る。幅出力WO(537)はその
間ずっとライン(117)上にある。
取る場合は、ディレクション入力D(536)及びWO
(537)によって示されるとおり、RDLO(531)と
RDHI(532)は同時にパルスを発生することによっ
てデータのyビットを読取ることができる。幅出力WO
(537)はこのときも読取り中ずっとライン(117)上
にある。P1(538)またはP2(539)経由のxビット
データ読取りは選択レジスタのロワーxビットから行わ
れる。これらの場合RDLO(531)とRDHI(53
2)は両方ともパルスを発生させるが、RDLO(53
1)だけが用いられる。
FIFO(10)内のデータワード数を定めるために用い
る。減算器(545)はライトポインタ(515)のカウン
タ出力P(520)とリードポインタ(500)のカウンタ
出力P(505)と間の差を定める。カウンタ出力の差は
CNT(548)を通してバーストレディロジック(57
5)へ供給される。好ましい実施例ではCNT(548)
は2進法で出力される。
杯/空ロジック(560)がマネージャ(30)へ信号を送
る。満杯及び空条件はリードポインタ(500)のカウン
タ出力P(505)とP+1(508)によって、またライ
トポインタ(515)のカウンタ出力P(520)とP+1
(523)によって定まる。各ポインタの機能について
は、先に図4aを参照しながら述べた。
ンタの関係を示している。FIFO(10)が空のときは
どのSレジスタにもデータ素子がない。したがって、空
状態ではFIFO(10)からデータを読取ることはでき
ない。この図ではWP(564)によって選択された書込
まれるべき次のレジスタはレジスタR(1)(410)で
ある。空条件ではWP(564)はRP(563)に等し
い。空条件はE(561)によってマネージャ(30)に出
力される。
示す。各レジスタ内における「×」はレジスタがxビッ
トまたはyビットデータを含むことを示している。FI
FO(10)の満杯状態では各Sレジスタにデータが含ま
れておりその結果、データをそれ以上FIFO(10)に
書込むことができない。また、WP(564)はRP(5
63)に等しい。図4dでわかるように、WP(564)
とRP(563)は両方ともレジスタR(1)(410)を
指している。満杯状態はF(562)によってマネージャ
(30)に知らされる。
に空及び満杯条件がマネージャ(30)に知らされるた
め、2つの状態を区別する方法が必要となる。本発明は
FIFO(10)の空及び満杯条件を定めるために新しい
方法を用いている。それは、デジタルヒステリシス、す
なわち過去の状態の経過を用いる方法である。
発明は満杯/空ロジック(560)によって計算される
「ほぼ空」条件を用いる。FIFO(10)からさらにも
う1つのデータワードを読取ることによってRP(56
3)がWP(564)に等しくなった場合ほぼ空状態が発
生する。この場合は、図4cでわかるようにRP+1
(565)がWP(564)に等しい。この図ではR(1)
(410)がデータを含む唯一のレジスタである。したが
って、リードポインタRP(563)はこのデータがFI
FO(10)からの次の読取りとなることを示している。
このほぼ空条件においてライトポインタWP(564)
は、R(2)(411)がFIFO(10)に書込まれる次
のレジスタであることを示す。レジスタR(1)(41
0)内のデータが読取られた場合は、リードポインタの
RP(563)はレジスタR(2)(411)を指すようイ
ンクリメントされる。したがって、WP(564)とRP
(563)は等しくなる。本発明はレジスタR(1)(4
10)からのこの読取りを予定し、レジスタR(2)(4
11)がデータが読取られる次のレジスタとなるよう指
示する。この指示はRP+1(565)によって行われ
る。したがって、RP+1(565)がWP(564)に等
しいときには、FIFO(10)がほぼ空である。さらに
WP(564)がRP(563)に等しくFIFO(10)が
それ以前にほぼ空であったときにはFIFO(10)は空
である。そこで、FIFO(10)の過去の状態をもとに
マネージャ(30)はFIFO(10)が空であることをE
(561)を通じて信号を送ることができる。
に定める。満杯条件を定めるため本発明は満杯/空ロジ
ック(560)によって計算される「ほぼ満杯」状態を用
いる。ほぼ満杯条件は、FIFO(10)にさらにもう1
つのデータワードを書込むことによってWP(564)が
RP(563)に等しくなったときに生じる。したがっ
て、ほぼ満杯はWP+1(566)がRP(563)に等し
いときに起きる。ほぼ満杯条件では図4eでわかるとお
りレジスタR(1)(410)からR(S−1)(407)
がそれぞれ「×」によって示されるようにデータを含ん
でいる。ライトポインタWP(564)はレジスタR
(S)(412)を指して、FIFO(10)に書込む次の
レジスタを示す。続くライトポインタWP+1(566)
は、リードポインタRP(563)と同様にR(1)(4
10)を指す。したがって、WP+1(566)がRP(5
63)に等しいときFIFO(10)は「ほぼ満杯」とな
る。R(S)(412)への書込みの後、WP(564)は
R(1)(410)を指すようインクリメントされる。し
たがって、WP(564)はRP(563)に等しくなる。
次に、WP(564)がRP(563)に等しくまたFIF
O(10)のそれ以前の状態がほぼ満杯であったとき、F
IFO(10)の信号F(562)がマネージャ(30)に出
力される。このように、FIFO(10)の過去の状態を
用いて満杯条件を定めることができる。
憶領域(60)をDRAM内に設けてもよい。この場合に
は、スループットを増大するためにポートP2(539)
でのデータ転送をページモードで行う。ページモードで
はバースト及びデマンド転送モードを支援する。バース
トモード入力BM(579)は転送をバーストモードにす
るかデマンドモードにするか選択する。どちらのモード
でもバースト長さBLの入力(578)はバースト長さを
与え転送が可能であるかどうかを定める。先行技術のデ
ータ転送の遅延を克服するため本発明ではバースト長さ
をプログラムできるようにした。図5でわかるようにマ
ネージャ(30)がmラインバス(128)を通してFIF
O(10)をプログラムする。たとえば、好ましい実施例
ではm=2でありしたがって、4種類のバースト長さを
プログラムすることができる。好ましい実施例ではまた
マネージャ(30)はL=1,2,4または8バイトのバ
ースト長さを選択することができる。
9)で行うことができる場合、バーストレディ・ロジッ
ク(575)がマネージャ(30)にRDY(581)を出力
する。RDY(581)はFIFO(10)の条件と構成を
分析した後にだけ出力される。
IFO(10)内に完全なバーストのために充分な空きス
ペースがある場合に、RDY(581)がマネージャ(3
0)に出力する。バーストモード入力BM(579)はペ
ージモードバースト転送のためのFIFO(10)を構成
する。ディレクション入力(577)はポートP2(53
9)を通してFIFO(10)に書込むようFIFO(1
0)を構成する。CNT(576)はP(505)とP(52
0)の差を受入れる。FIFO(10)内の空きスペース
が選択したバースト長さL以上又は同等である場合は、
バーストレディ・ロジック(575)がマネージャ(30)
にRDY(581)を出力しFIFO(10)へのバースト
書込みが可能であることを示す。
L(578)(バースト長さ),BW(580)(バースト
幅),E(585)(空),F(584)(満杯),CNT
(576(減算器(545)によって定められたFIFO
内のワード数),WHIN(587)(ライト・ハイ・ネ
クスト)入力を用いて、バースト書込みに充分な空スペ
ースがFIFO(10)内にあることを確認する。WHI
N(587) はポート(246)経由の次の書込みがレジ
スタメモリ(530)のハイバイトになる(すなわち、W
RHI(534)がパルス出力される)ときに出力され
る。BW(580)はマネージャ(30)によって出され、
マネージャ(30)が書込みを予定するデータの幅を示
す。すなわち、BW(580は書込まれるべきデータが
16ビットになるか8ビットになるかを示す。幅の混合
(バースト内に8ビットデータと16ビットデータがあ
る)がある場合は、バーストするのに必要な空きスペー
スの条件がさらに厳しくなるため、(BWを用いること
によって)マネージャ(30)はバーストが8ビットデー
タになることを示す。
FO(10)内の空きスペースの数がバースト長さ以上ま
たは同等であるかどうか確認する。たとえば、バースト
長さが4バイトでありバースト幅が16ビットデータを
示している場合には、CNT(576)が7に等しくな
く、CNT(576)が6に等しくなく、WHIN(58
7)が出力されており、F(584)が出力されていなけ
れば、RDY(581)が出力される。またデュアル条件
を用いることもできる。すなわち、CNT(576)の値
が1〜5に等しく、またはCNT(576)が6に等し
く、WHIN(587)が出力されていないか、またはE
(585)が出力されていれば、RDY(581)を出力す
ることができる。バースト長さが4バイトでありバース
ト幅が8ビットデータを示している場合に、CNT(5
76)が7,6または5に等しくなく、F(584)が出
力されていなければ、RDY(581)が出力される。8
ビットデータの書込みにはレジスタメモリの高いバイト
を使用しないためWHIN(587)は考慮しなくてよ
い。
は、全バーストを行うのに充分なデータがFIFO(1
0)に書込まれている場合にRDY(581)がマネージ
ャ(30)に送信される。バーストモードBMの入力(5
79)はバースト転送としてページモードを実行するよ
うFIFO(10)を構成する。ディレクション入力D
(577)はFIFO(10)からの読取り用にFIFO
(10)を構成する。FIFO(10)内のバイト数が選択
したバースト長さL以上である場合は、ポート2のP
2(539)を通してFIFO(10)からのバースト読取
りを行うことができ、RDY(581)がマネージャ(3
0)に送信される。
8),BW(580),E(585),F(584),CNT
(576)及びRHIN(586)入力を用いて、バースト
読取りに充分なデータがFIFO(10)内にあることを
確認する。RHIN(586)はポート(246)経由の次
の読取りがレジスタメモリ(530)の高いバイトになる
(すなわち、RHIN(586)が送られる)ときに出力
される。BW(580)はマネージャ(30)によって出さ
れ、マネージャ(30)が読取りを予定するデータの幅を
示す。すなわち、BW(580は読取られるデータが1
6ビットになるか8ビットになるかを示す。幅の混合
(バースト内に8ビットデータと16ビットデータがあ
る)がある場合は、バーストするのに必要なデータの条
件がさらに厳しくなるため(BWを用いることによっ
て)マネージャ(30)はバーストが8ビットデータにな
ることを示す。
られるデータバイト数がバースト長さ以上であるかどう
か確認する。たとえば、バースト長さが4バイトであり
バースト幅が16ビットデータを示している場合に、C
NT(576)が1に等しくなく、CNT(576)が2に
等しくなく、RHIN(586)が出力されており、E
(585)が出力されていなければ、RDY(581)が出
力される。デュアル条件を用いることもできる。すなわ
ち、CNT(576)の値が3〜7に等しくまたはCNT
(576)が2に等しく、RHIN(581)が出力されて
いないか、またはF(584)が出力されていれば、RD
Y(581)を出力することができる。バースト長さが4
バイトでありバースト幅が8ビットデータを示している
場合に、CNT(576)が1,2または3に等しくな
く、E(585)が出力されていなければ、RDY(58
1)が出力される。8ビットデータの読取りにはレジス
タメモリのハイバイトを用いないため、RHIN(58
6)は考慮しなくてよい。
0)が満杯または空になることがある。いずれの場合に
も、CNT(576)は0に等しく、バーストを行うこ
とができるかどうかを確認するため満杯入力F(584)
及び空入力E(583)がバーストレディ・ロジック(5
75)によって考慮される。図3の表は考えられる4つ
の状況を示している。FIFO(10)が満杯の場合には
FIFO(10)への書込みはできない。したがって、C
NT(576)が0に等しく、FIFO(10)が満杯であ
ることをF(584)が示している場合は、FIFO(1
0)へのバースト書込みは起こらず、RDY(581)は
マネージャ(30)に出力されない。しかしCNT(57
6)が0に等しく、FIFO(10)が空であるとE(58
5)が示している場合には、FIFO(10)へのバース
ト書込みが起こり、RDY(581)がマネージャ(30)
に出力される。FIFO(10)からの読取りでは、CN
T(576)が0に等しく、FIFO(10)が空であるこ
とをE(585)が示している場合は、FIFO(10)か
らのバースト読取りは起こらない。しかし、CNT(5
76)が0に等しく、FIFO(10)が満杯であるとF
(584)が示している場合には、バースト読取りを行う
ことができ、RDY(581)がマネージャ(30)に出力
される。
ドデータ転送は、デマンド転送としても行われる。デマ
ンド転送にはマネージャ(30)は転送できる最大バイト
数として選択されたバースト長さLを用いる。デマンド
転送によるFIFO(10)への書込みにはFIFO(1
0)が満杯でない場合RDY出力(581)がマネージャ
(30)に信号を送る。バーストモードBM入力(579)
はデマンドモードを選びディレクションD(577)はF
IFO(10)への書込み用にFIFO(10)を構成す
る。満杯入力F(584)がFIFO(10)が満杯でない
ことを示している場合はデマンド転送の書込みはできな
い。デマンド書込みではFIFO(10)へ書き込まれる
バイト数は、フリーレジスタの数または選択したバース
ト長さLのどちらか小さい方に等しい。
ではFIFO(10)が空でない場合、RDY出力(58
1)がマネージャ(30)に信号を送る。この場合はバー
ストモードBM入力(579)がデマンド転送用にFIF
O(10)を構成し、ディレクションD入力(577)は読
取り用にFIFO(10)を構成する。空入力E(585)
がFIFO(10)が空であることを示していれば、デマ
ンド読取りを行うことができる。デマンド読取りではF
IFO(10)から読取られるバイト数がFIFO(10)
のバイト数または選択したバースト長さLのどちらか小
さい方に等しい。
するべき時機を予定することができる。FIFO(10)
への書込みでは、FIFO内にあと1データバイト分の
空間だけがあるかどうかを「ほぼ満杯」出力AF(58
3)がマネージャ(30)に知らせる。CNT(576)が
7に等しく、WI(589(幅イン)入力が16ビット
データを示し、WHIN(587)(ライト・ハイ・ネク
スト)が出力されているとき、あるいは、CNT(57
6が7に等しく、WI(589)が8ビットデータを示し
ているとき、バーストレディ・ロジック(575)はAF
(583)(ほぼ満杯)を出力する。「ほぼ満杯」信号
(583)によって、マネージャ(30)は、FIFO(1
0)へのデマンド転送を終了しなければならない時を事
前に知ることができる。したがって、マネージャ(30)
は別のタスクに効率的に切替えることができる。FIF
O(10)からの読取りでは、FIFO(10)内に1バイ
トだけが残っている場合に、「ほぼ空」AE(582)が
マネージャ(30)に出力される。CNT(576)が1に
等しく、WO(588)(幅アウト)入力が16ビットデ
ータを示し、RHIN(586)(リード・ハイ・ネクス
ト)が出力されているとき、あるいは、CNT(576)
が1に等しく、WO(588)が8ビットデータを示して
いるとき、バーストレディ・ロジック(575)はAE
(582)(ほぼ空)を出力する。「ほぼ満杯」信号と同
様、マネージャ(30)は、FIFO(10)からのデマン
ド転送を中止しなければならない時を予定することがで
きる。これによって、マネージャ(30)を別のタスクに
効率的に切替えることができる。これらの各信号は、バ
イトで構成されている。したがって、データ幅が考慮に
入れられる。
ト長さがプログラム可能であることは、次の2点で有利
である。第1は、性能目標(すなわち、転送速度)をホ
スト側とディスク側とで指定されるときは、固定したバ
ースト長さでは与えられた性能目標及びFIFOオーバ
ーフロー/アンダーフロー制約条件のための最適のもの
ではないかもしれない。その結果、ディスクドライブの
設計者がより速いDRAM(すなわち、アクセス時間の
短いDRAM)を使用しなければならないことになり費
用がかさむ。プログラム可能であることによって最適な
バースト長さを選ぶことができ、したがって性能目標に
合致する最低速のDRAMを用いることができる。第2
は、ホスト側に待機状態が生じるため性能目標がディス
ク側についてだけ指定される場合、与えられたDRAM
アクセス時間では、ホスト転送速度を最大にし、ホスト
の待機状態を最小にして、ディスクがFIFOのオーバ
ーフロー/アンダーフロー制約条件に合うようにバース
ト長さを選ぶことができる。以上、幅が選択可能な、バ
ースト可能先入れ先出し法について説明した。
状況の説明図。
トポインタ位置の説明図。
各種クロック及びパルス出力の波形図。
図。
コントローラの簡略化したブロック構成図。
Claims (59)
- 【請求項1】 記憶手段に最初に与えられたデータが前
記記憶手段から最初に取出されるデータとなるようにデ
ータを受取り、データを送出するための記憶手段と;複
数のバースト長さからのデータの最大バースト長さLを
指定するための第1入力信号と;前記第1入力信号を受
けるための、また前記長さLのバーストを前記記憶手段
に与え、前記記憶手段から取出すことのできる時機を制
御するための第1ロジック手段とによって構成される先
入れ先出し装置。 - 【請求項2】 前記複数バースト長さが、1,2,4及
び8バイトを含むことを特徴とする請求項1記載の先入
れ先出し装置。 - 【請求項3】 前記第1ロジック手段がまた、前記先入
れ先出し装置が第1条件にあるとき第1出力信号を出
し、また前記先入れ先出し装置が第2条件にあるとき第
2出力信号を出すことを特徴とする請求項1記載の先入
れ先出し装置。 - 【請求項4】 前記第1条件が、前記先入れ先出し装置
に1xビットバイトだけ残っているときに存在すること
を特徴とする請求項3記載の先入れ先出し装置。 - 【請求項5】 前記第2状態が、前記先入れ先出し装置
に1xビットバイト分の空間だけが残っているときに存
在することを特徴とする請求項3記載の先入れ先出し装
置。 - 【請求項6】 前記記憶手段内へ、また前記記憶手段か
らデータをクロックするための、また前記記憶手段のメ
モリ位置を選択するためのクロック/ポインター手段
を、さらに含むことを特徴とする請求項1記載の先入れ
先出し装置。 - 【請求項7】 前記記憶手段のメモリ位置を選択するた
めに、第1及び第2nビットカウンターを使用すること
を特徴とする請求項6記載の先入れ先出し装置。 - 【請求項8】 前記第1及び前記第2nビットカウンタ
ーが、3ビットのグレイコードカウンターであることを
特徴とする請求項7記載の先入れ先出し装置。 - 【請求項9】 前記記憶手段が、複数のレジスタを含む
ことを特徴とする請求項1記載の先入れ先出し装置。 - 【請求項10】 前記複数レジスタの数が、8であるこ
とを特徴とする請求項9記載の先入れ先出し装置。 - 【請求項11】 前記複数の各レジスタの幅がy+1ビ
ットであり、yビットが前記xビットデータまたは前記
yビットデータを記憶し、前記複数の各レジスタが前記
xビットデータまたは前記yビットデータを含むかどう
かを幅ビットが追跡することを特徴とする請求項9記載
の先入れ先出し装置。 - 【請求項12】 x=8であることを特徴とする請求項
9記載の先入れ先出し装置。 - 【請求項13】 y=16であることを特徴とする請求
項9記載の先入れ先出し装置。 - 【請求項14】 前記先入れ先出し装置が、第1条件に
あるときに第1信号を送るための、また前記先入れ先出
し装置が第2条件にあるときに第2信号を送るための第
2ロジック手段をさらに含むことを特徴とする請求項1
記載の先入れ先出し装置。 - 【請求項15】 前記第1条件が、前記先入れ先出し装
置が空であるときに存在することを特徴とする請求項1
4記載の先入れ先出し装置。 - 【請求項16】 前記第2条件が、前記先入れ先出し装
置が満杯であるときに存在することを特徴とする請求項
14記載の先入れ先出し装置。 - 【請求項17】 前記記憶手段により最初に受取られる
データが前記記憶手段によって最初に送出されるデータ
となるように、データを受取り、送出するための複数の
記憶素子を有する記憶手段と;複数のビット幅zを有す
る複数のワードを含む前記データと;最大ビット幅を有
するワードがビット幅wを有するような前記データと;
1つの素子が少なくともw+yビット幅であり、ここで
2y≧zであり、wビットを用いて前記データを記憶
し、yビットを用いて前記素子に記憶された前記データ
の幅を表示するような前記複数の記憶素子とを含むこと
を特徴とする先入れ先出し装置。 - 【請求項18】 前記複数の記憶素子が、複数のレジス
タを含むことを特徴とする請求項17記載の先入れ先出
し装置。 - 【請求項19】 前記複数の各レジスタの幅がw+1ビ
ットであり、wビットを用いてxビットデータ及びwビ
ットデータを記憶し、1ビットを用いて各レジスタ内の
データの幅を追跡することを特徴とする請求項18記載
の先入れ先出し装置。 - 【請求項20】 前記複数のレジスタの数が、8である
ことを特徴とする請求項18記載の先入れ先出し装置。 - 【請求項21】 w=16であることを特徴とする請求
項19記載の先入れ先出し装置。 - 【請求項22】 x=8であることを特徴とする請求項
19記載の先入れ先出し装置。 - 【請求項23】 複数のバースト長さからのデータの最
大バースト長さLを指定するための第1入力信号と;前
記第1入力信号を受取るための、また前記長さLのバー
ストを前記記憶手段によって受取られ、前記記憶手段に
よって送出することのできる時を制御するための第1ロ
ジック手段とを含むことを特徴とする請求項17記載の
先入れ先出し装置。 - 【請求項24】 前記複数のバースト長さが、1,2,
4及び8バイトであることを特徴とする請求項23記載
の先入れ先出し装置。 - 【請求項25】 前記第1ロジック手段もまた、前記先
入れ先出し装置が第1条件にあるとき第1出力信号を出
し、前記先入れ先出し装置が第2条件にあるとき第2出
力信号を出すことを特徴とする請求項21記載の先入れ
先出し装置。 - 【請求項26】 前記第1条件が、前記先入れ先出し装
置内に1xビットバイトだけ残っているときに存在する
ことを特徴とする請求項25記載の先入れ先出し装置。 - 【請求項27】 前記第2条件が、前記先入れ先出し装
置内に1xビットバイト分の空間だけが残っているとき
に存在することを特徴とする請求項25記載の先入れ先
出し装置。 - 【請求項28】 前記記憶手段内に、また前記記憶手段
からデータをクロックするための、また前記記憶手段内
のメモリ位置を選択するためのクロック/ ポインタ手
段を含むことを特徴とする請求項17記載の先入れ先出
し装置。 - 【請求項29】 前記記憶手段内のメモリ位置を選択す
るために第1及び第2nビットカウンタを用いることを
特徴とする請求項28記載の先入れ先出し装置。 - 【請求項30】 前記第1及び前記第2nビットカウン
タが、3ビットのグレイコードカウンタであることを特
徴とする請求項29記載の先入れ先出し装置。 - 【請求項31】 前記先入れ先出し装置が、第1条件に
あるときに第1信号を送り、前記先入れ先出し装置が第
2条件にあるときは第2信号を送るための第1ロジック
手段をさらに含むことを特徴とする請求項17記載の先
入れ先出し装置。 - 【請求項32】 前記第1条件が、前記先入れ先出し装
置が空のときに存在することを特徴とする請求項31記
載の先入れ先出し装置。 - 【請求項33】 前記第2条件が、前記先入れ先出し装
置が満杯のときに存在することを特徴とする請求項31
記載の先入れ先出し装置。 - 【請求項34】 第1ポインタと第2ポインタを比較
し、前記第1ポインタが前記第2ポインタに等しい場合
に第3条件を発生させる段階と;第3ポインタと第4ポ
インタを比較し、前記第3ポインタが前記第4ポインタ
に等しい場合に第4条件を発生させる段階と;前記第1
ポインタと前記第3ポインタを比較し、前記第1ポイン
タが前記第3ポインタに等しく前記第3条件が存在する
場合に第1条件を発生させ、前記第1ポインタが前記第
3ポインタに等しく前記第4条件が存在する場合に前記
第2条件を発生させる段階とによって構成されることを
特徴とする先入れ先出し方法の第1及び第2条件を定め
るための方法。 - 【請求項35】 第1カウンタ状態にするために第1n
ビットカウンタをクロックする段階と;前記第1カウン
タ状態から第2カウンタ状態を定める段階と; 第3
カウンタ状態にするために第2nビットカウンタをクロ
ックする段階と;前記第3カウンタ状態から第4カウン
タ状態を定める段階と;前記第1、第2、第3及び第4
カウンタ状態を前記第1,第2及び第3ポインターとす
る段階とによって前記第1,第2,第3及び第4ポイン
タが実行されることを特徴とする請求項34記載の方
法。 - 【請求項36】 複数のカウンタ出力を出すためのクロ
ック/ポインタ手段と;前記複数のカウンタ出力を受け
るための、また前記複数のカウンタ出力のうちの最初の
ものが前記第2カウンタ出力のうちの2番目のものに等
しい場合に第3条件を発生させるための、また前記複数
のカウンタ出力のうちの3番目のものが前記複数のカウ
ンタ出力のうちの4番目のものに等しい場合に第4条件
を発生させるための、また前記第1カウンタ出力が前記
第3カウンタ出力に等しく前記第3条件が存在する場合
に前記第1条件を発生させるための、また前記第1カウ
ンタ出力が前記第3カウンタ出力に等しく前記第4条件
が存在する場合に前記第2条件を発生させるための状況
手段とを含むことを特徴とする先入れ先出し装置の第1
または第2条件を定めるための装置。 - 【請求項37】 前記カウンタ出力の最初の数が、第1
nビットカウンタを含むリードポインタによって与えら
れることを特徴とする請求項36記載の装置。 - 【請求項38】 前記第1nビットカウンタが、3ビッ
トのグレイコードカウンタであることを特徴とする請求
項37記載の装置。 - 【請求項39】 前記カウンタ出力の2番目の数が、第
2nビットカウンタを含むライトポインタによって与え
られることを特徴とする請求項37記載の装置。 - 【請求項40】 前記第2nビットカウンタが3ビット
のグレイコードカウンタであることを特徴とする請求項
39記載の装置。 - 【請求項41】 前記第1条件が、前記先入れ先出し装
置が空のときに存在することを特徴とする請求項36記
載の装置。 - 【請求項42】 前記第2条件が、前記先入れ先出し装
置が満杯のときに存在することを特徴とする請求項36
記載の装置。 - 【請求項43】 前記第3条件が、前記先入れ先出し装
置がほぼ空のときに存在することを特徴とする請求項3
6記載の装置。 - 【請求項44】 前記第4条件が、前記先入れ先出し装
置がほぼ満杯のときに存在することを特徴とする請求項
36記載の装置。 - 【請求項45】 前記記憶手段によって最初に受取られ
たデータが前記記憶手段によって最初に送出されるデー
タとなるようにデータを受取り、送出するための記憶手
段と;前記記憶手段がデータを受取っているときに前記
記憶手段にクロック信号を出すための、また複数の第1
カウンタ出力を出すための第1手段と;前記記憶手段が
データを送出しているときに前記記憶手段にクロック信
号を出すための、また複数の第2カウンタ出力を出すた
めの第2手段と;前記第1及び第2カウンタ出力を受け
るためと、前記先入れ先出し装置が第1条件にあるとき
に第1出力信号を出し、前記先入れ先出し装置が第2条
件にあるときは第2出力信号を出すための第1ロジック
手段と;前記第1及び第2カウンタ出力を受けるため
の、また第3カウンタ出力を出すための第2ロジック手
段と;複数のバースト長さからのデータの最大バースト
長さLを指定するための第1入力信号と;前記第1入力
信号、前記第3カウンタ出力、さらに前記第1及び第2
出力信号を受けるための、また前記長さLのバーストが
前記記憶手段に与え、前記記憶手段から送出することの
できる時を制御するための第3ロジック手段とを含むこ
とを特徴とする先入れ先出し装置。 - 【請求項46】 前記第3ロジック手段がまた、前記先
入れ先出し装置が第3条件にあるとき第3出力信号を出
し、前記先入れ先出し装置が第4条件にあるとき第4出
力信号を出すことを特徴とする請求項45記載の先入れ
先出し装置。 - 【請求項47】 前記第3条件が、前記先入れ先出し装
置内に1xビットバイトだけが残っているときに存在す
ることを特徴とする請求項46記載の先入れ先出し装
置。 - 【請求項48】 前記第4条件が、前記先入れ先出し装
置内に1xビットバイト分の空間だけが残っているとき
に存在することを特徴とする請求項46記載の先入れ先
出し装置。 - 【請求項49】 前記第3カウンタ出力が、2進法によ
って得られることを特徴とする請求項45記載の先入れ
先出し装置。 - 【請求項50】 前記第1条件が、第3条件が存在し前
記第1カウンタ出力のうちの最初のものが前記第2カウ
ンタ出力のうちの最初のものに等しいとき存在し、また
前記第2条件が、第4条件が存在し前記第1カウンタ出
力のうちの前記最初のものが前記第2カウンタ出力のう
ちの前記最初のものに等しいとき存在することを特徴と
する請求項45記載の先入れ先出し装置。 - 【請求項51】 前記第3条件が、前記第1カウンタ出
力のうちの前記最初のものが前記第2カウンタ出力のう
ちの2番目のものに等しいとき存在し、また前記第4条
件が、前記第2カウンタ出力のうちの前記最初のものが
前記第1カウンタ出力のうちの2番目のものに等しいと
き存在することを特徴とする請求項50記載の先入れ先
出し装置。 - 【請求項52】 前記第1条件が、前記先入れ先出し装
置が空であるとき存在し、また前記第2条件が、前記先
入れ先出し装置が満杯であるとき存在することを特徴と
する請求項45記載の先入れ先出し装置。 - 【請求項53】 前記第1及び第2手段が、それぞれ第
1及び第2nビットカウンタを含むことを特徴とする請
求項50記載の先入れ先出し装置。 - 【請求項54】 前記第1及び第2nビットカウンタ
が、3ビットのグレイコードカウンタであることを特徴
とする請求項53記載の先入れ先出し装置。 - 【請求項55】 前記複数のバースト長さが、1,2,
4及び8バイトを含むことを特徴とする請求項45記載
の先入れ先出し装置。 - 【請求項56】 前記記憶手段が複数の記憶素子を含
み:複数のビット幅zを有する複数のワードを含む前記
データと;最大ビット幅を有するワードがビット幅wを
有するような前記データと;1つの素子の幅が少なくと
もw+yビットであり、ここで2y≧zであり、wビッ
トを用いて前記データを記憶し、yビットを用いて前記
素子に記憶する前記データの幅を表示するような前記複
数の記憶素子とを含むことを特徴とする請求項45記載
の先入れ先出し装置。 - 【請求項57】 前記複数の記憶素子が複数レジスタを
含むことを特徴とする請求項56記載の先入れ先出し装
置。 - 【請求項58】 z=2、w=16及びy=1であるこ
とを特徴とする請求項56記載の先入れ先出し装置。 - 【請求項59】 前記複数レジスタの数が8であること
を特徴とする請求項57記載の先入れ先出し装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/757,476 US5469398A (en) | 1991-09-10 | 1991-09-10 | Selectable width, brustable FIFO |
US07/757,476 | 1991-09-10 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0793127A true JPH0793127A (ja) | 1995-04-07 |
JP3434837B2 JP3434837B2 (ja) | 2003-08-11 |
Family
ID=25047975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24233292A Expired - Fee Related JP3434837B2 (ja) | 1991-09-10 | 1992-09-10 | 先入れ先出し装置及び先入れ先出し方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5469398A (ja) |
JP (1) | JP3434837B2 (ja) |
KR (1) | KR100311076B1 (ja) |
DE (1) | DE4230195A1 (ja) |
GB (1) | GB2259592A (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3106872B2 (ja) * | 1994-09-02 | 2000-11-06 | 株式会社日立製作所 | 画像処理プロセッサ及びそれを用いたデータ処理システム |
US5673396A (en) * | 1994-12-16 | 1997-09-30 | Motorola, Inc. | Adjustable depth/width FIFO buffer for variable width data transfers |
US5826093A (en) * | 1994-12-22 | 1998-10-20 | Adaptec, Inc. | Dual function disk drive integrated circuit for master mode and slave mode operations |
US5696990A (en) * | 1995-05-15 | 1997-12-09 | Nvidia Corporation | Method and apparatus for providing improved flow control for input/output operations in a computer system having a FIFO circuit and an overflow storage area |
US5638535A (en) * | 1995-05-15 | 1997-06-10 | Nvidia Corporation | Method and apparatus for providing flow control with lying for input/output operations in a computer system |
US5623449A (en) * | 1995-08-11 | 1997-04-22 | Lucent Technologies Inc. | Flag detection for first-in-first-out memories |
US5809280A (en) * | 1995-10-13 | 1998-09-15 | Compaq Computer Corporation | Adaptive ahead FIFO with LRU replacement |
KR970029070A (ko) * | 1995-11-04 | 1997-06-26 | 김광호 | 입출력데이타의 크기를 달리하는 선입선출메모리장치 및 그 방법 |
US5715476A (en) * | 1995-12-29 | 1998-02-03 | Intel Corporation | Method and apparatus for controlling linear and toggle mode burst access sequences using toggle mode increment logic |
US6058439A (en) * | 1997-03-31 | 2000-05-02 | Arm Limited | Asynchronous first-in-first-out buffer circuit burst mode control |
US6185637B1 (en) * | 1998-04-15 | 2001-02-06 | Advanced Micro Devices, Inc. | System for implementing an adaptive burst length for burst mode transactions of a memory by monitoring response times for different memory regions |
US6052745A (en) * | 1998-06-12 | 2000-04-18 | International Business Machines Corporation | System for asserting burst termination signal and burst complete signal one cycle prior to and during last cycle in fixed length burst transfers |
JP4182575B2 (ja) * | 1998-11-09 | 2008-11-19 | ソニー株式会社 | 記憶装置および画像データ処理装置 |
US6529945B1 (en) * | 1999-07-26 | 2003-03-04 | International Business Machines Corporation | Data buffer management between two different systems |
DE10108922B4 (de) * | 2001-02-23 | 2013-01-31 | Rohde & Schwarz Gmbh & Co. Kg | Elektronische Speicheranordnung |
US6950887B2 (en) * | 2001-05-04 | 2005-09-27 | Intel Corporation | Method and apparatus for gathering queue performance data |
DE10204369A1 (de) * | 2002-02-02 | 2003-08-14 | Leica Microsystems | Verfahren zur Datenverarbeitung in einem Scanmikroskop mit schnellem Scanner und Scanmikroskop mit schnellem Scanner |
US20050188125A1 (en) * | 2004-02-20 | 2005-08-25 | Lim Ricardo T. | Method and apparatus for burst mode data transfers between a CPU and a FIFO |
FR2889328B1 (fr) * | 2005-07-26 | 2007-09-28 | Atmel Nantes Sa Sa | Dispositif d'interfacage unidirectionnel de type fifo entre un bloc maitre et un bloc esclave, bloc maitre et bloc esclave correspondants |
US20150378812A1 (en) * | 2014-06-26 | 2015-12-31 | Emulex Corporation | System and Method for Error Recovery in an Asynchronous FIFO |
KR102412609B1 (ko) | 2017-11-03 | 2022-06-23 | 삼성전자주식회사 | 내부 커맨드에 따른 어드레스에 대한 저장 및 출력 제어를 수행하는 메모리 장치 및 그 동작방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3763480A (en) * | 1971-10-12 | 1973-10-02 | Rca Corp | Digital and analog data handling devices |
US4258418A (en) * | 1978-12-28 | 1981-03-24 | International Business Machines Corporation | Variable capacity data buffer system |
ATE173348T1 (de) * | 1989-10-03 | 1998-11-15 | Advanced Micro Devices Inc | Speichervorrichtung |
-
1991
- 1991-09-10 US US07/757,476 patent/US5469398A/en not_active Expired - Lifetime
-
1992
- 1992-08-28 GB GB9218304A patent/GB2259592A/en not_active Withdrawn
- 1992-09-09 KR KR1019920016472A patent/KR100311076B1/ko not_active IP Right Cessation
- 1992-09-09 DE DE4230195A patent/DE4230195A1/de not_active Withdrawn
- 1992-09-10 JP JP24233292A patent/JP3434837B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
GB9218304D0 (en) | 1992-10-14 |
US5469398A (en) | 1995-11-21 |
JP3434837B2 (ja) | 2003-08-11 |
KR930006554A (ko) | 1993-04-21 |
DE4230195A1 (de) | 1993-03-11 |
GB2259592A (en) | 1993-03-17 |
KR100311076B1 (ko) | 2002-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3434837B2 (ja) | 先入れ先出し装置及び先入れ先出し方法 | |
US6012106A (en) | Prefetch management for DMA read transactions depending upon past history of actual transfer lengths | |
US7415567B2 (en) | Memory hub bypass circuit and method | |
EP2472403B1 (en) | Memory arbitration system and method having an arbitration packet protocol | |
US6604179B2 (en) | Reading a FIFO in dual clock domains | |
US5465343A (en) | Shared memory array for data block and control program storage in disk drive | |
US5526508A (en) | Cache line replacing system for simultaneously storing data into read and write buffers having multiplexer which controls by counter value for bypassing read buffer | |
US8099567B2 (en) | Reactive placement controller for interfacing with banked memory storage | |
US5448709A (en) | Disk array controller having command descriptor blocks utilized by bus master and bus slave for respectively performing data transfer operations | |
JP3290650B2 (ja) | メモリ制御装置 | |
US20020184453A1 (en) | Data bus system including posted reads and writes | |
JPH04287261A (ja) | データ転送制御装置および磁気ディスク制御装置 | |
US7165126B2 (en) | Direct memory access device | |
US6502173B1 (en) | System for accessing memory and method therefore | |
JPH02120960A (ja) | データを転送するためのおよびデータ転送周期の期間を減少させるための方法 | |
JPS5832417B2 (ja) | デ−タ転送制御方式 | |
JPS6226055B2 (ja) | ||
US5829043A (en) | Coupler circuit and its use in a card and process | |
JP3151416B2 (ja) | データ転送制御装置および磁気ディスク装置 | |
EP0718771B1 (en) | DMA logic unit architecture | |
JPH02158824A (ja) | ディスク装置の記憶制御装置 | |
JPH0743668B2 (ja) | アクセス制御装置 | |
JPS6269347A (ja) | ダイレクトメモリアクセスコントロ−ラ | |
JPH05143524A (ja) | カウンタ制御方式 | |
JPH02103655A (ja) | リクエストバッファ制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080530 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090530 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090530 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100530 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |