JP3082384B2 - 先入れ先出し記憶装置 - Google Patents

先入れ先出し記憶装置

Info

Publication number
JP3082384B2
JP3082384B2 JP03356073A JP35607391A JP3082384B2 JP 3082384 B2 JP3082384 B2 JP 3082384B2 JP 03356073 A JP03356073 A JP 03356073A JP 35607391 A JP35607391 A JP 35607391A JP 3082384 B2 JP3082384 B2 JP 3082384B2
Authority
JP
Japan
Prior art keywords
output
data
input
stage
attribute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP03356073A
Other languages
English (en)
Other versions
JPH05174568A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP03356073A priority Critical patent/JP3082384B2/ja
Publication of JPH05174568A publication Critical patent/JPH05174568A/ja
Application granted granted Critical
Publication of JP3082384B2 publication Critical patent/JP3082384B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、いわゆるFIFO(F
irst In First Out)と称される先入
れ先出し記憶装置に関し、特に、単一の入力ポートに対
し複数の出力ポートを有する先入れ先出し記憶装置に関
する。
【0002】
【従来の技術】従来のn段FIFOは、図3に示すよう
に単一の入力ポート302が、入力制御信号303に応
答して入力されたデータ301を順次シフトレジスタ3
04に保持させ、シフトレジスタ304は保持データを
取り出し口Qn309まで内部クロック発生回路305
から供給されるクロック314に応答してシフトする。
出力制御信号308に応答して取り出し口Qn309は
保持データを単一の出力ポート306に供給し、データ
有無フラグ310に基づき状態信号生成回路311は入
力イネーブル信号312及び出力イネーブル信号313
を生成する。
【0003】入力ポート302から入力されたデータ
は、シフトレジスタ304内において、保持データの先
頭が取り出し口Qn309に来るまで、内部クロック発
生回路305にて生成したクロック314によりシフト
される。取り出し口Qn309のデータは、出力制御信
号308に従い出力ポート306より順次出力される。
【0004】従来のFIFOでは入力ポート302及び
出力ポート306がそれぞれ単一であるため、CPUと
周辺装置の間でパイプライン処理を行う場合のように、
共通のバスに対して異なるデータ転送速度を持つ複数の
装置からのデータを並列処理するときには、各装置間に
個々にFIFOを設けることになる。
【0005】
【発明が解決しようとする課題】CPUと周辺装置の間
でパイプライン処理を行う場合のように、バスを共通し
て使用し異なるデータ転送速度で複数の装置から供給さ
れるデータを並列処理するときには、システムの動作状
態によって、各装置のデータ転送速度の変動が大きけれ
ば、そのデータ転送元の装置に付随するFIFOのデー
タ保持容量をオーバーフローして、待ち時間が長くなり
システム全体のスループットが低下するという問題点が
あった。また、周辺装置毎にFIFOが設けられている
と、FIFOの使用効率に偏りが生じたり、データ保持
容量を大きめに設定しなければならないという問題点も
あった。
【0006】例えば、2つのFIFO A,Bを設けた
とき、ある動作状態においては、FIFO Aの深さは
2で、FIFO Bの深さは10必要であったとする。
ところが、動作状態が変わり、FIFO Aの深さが1
0、FIFO Bの深さが逆転することが想定される
と、FIFOとしてはA,Bに各々深さ10を用意する
必要がある。ここで、ある動作状態の時はFIFO A
の使用率は20%、FIFO Bの使用率は100%、
動作状態が変わったときにはFIFOAの使用率は10
0%、FIFO Bの使用率は20%となる。別の動作
状態にてFIFO Aの深さは5で、FIFO Bの深
さも5必要なときには、使用率はA,Bそれぞれ50%
となる。さらに、別の動作状態にてFIFO Aの深さ
は15で、FIFO Bの深さは5必要なときには、使
用率はA,Bそれぞれ150%,50%となり、FIF
O Aはオーバーフローするのでシステムのスループッ
トを落とすことになる。あるいは、FIFO Aの深さ
を15にしておくと、その他の動作状態においては使わ
れないのに特定の動作状態だけのために容量の大きなF
IFOを使うことになりコスト高となる。
【0007】
【課題を解決するための手段】本発明の要旨は入力制御
信号に応答して入力データを受け付ける単一の入力ポー
トと、出力ポートと、該出力ポートに供給すべき入力デ
ータを保持する複数段からなるシフトレジスタとを有す
る先入れ先出し記憶装置において、入力制御信号に基づ
きデータの有無を示す情報と、複数の出力ポートのいず
れから出力するかを示す出力ポート情報を含む属性コー
ドを生成し入力データと共にシフトレジスタに記憶させ
る属性コード生成手段と、シフトレジスタに保持された
属性コードから入力データの出力先を識別する出力ポー
ト情報を、出力ポート毎に予め定められている個別コー
ドと照合する属性照合手段と、出力ポート情報に示され
た出力ポートが同一の入力データから先に入力された順
に順次取り出す出力制御手段と、シフトレジスタから取
り出されたデータを出力制御信号に従い複数の出力ポー
トとのいずれかから出力したら該出力されたデータに付
されていた属性コードをリセットすると共に属性コード
がリセットされている段は既にデータが取り出されて空
き状態にあるとして、初段からその段までをシフトして
空きの段をつめるシフト制御手段とを備えることであ
る。
【0008】
【発明の作用】単一の入力ポートに出力先の異なる入力
データが順次供給されると、属性コード生成手段は属性
コードを生成し、入力データは属性コードともにシフト
レジスタに保持される。属性照合手段は各段に保持され
ている属性コードを出力ポート毎に予め付されている個
別コードと比較して出力先を判断し、出力制御手段が各
出力ポートにつき最先の入力データから順次出力ポート
に転送する。
【0009】
【実施例】次に本発明について図面を示された実施例を
参照して説明する。図1は本発明の第1実施例に係る単
一入力、2ポート出力のn段×mビットのFIFOを示
すブロック図である。入力データ101は入力制御信号
103に制御されつつ入力ポート102のF/Fへ順次
保持される。このとき、属性コード生成回路115にて
入力制御信号103からデータ有無の判断のために1ビ
ット、出力ポートの選択用に1ビット、併せて2ビット
の属性コード116を生成し、フリップフロップ(以
下、F/F)120に保持する。データ保持回路104
は入力データ保持のためのn段×mビットシフトレジス
タ124と属性コード保持のためのn個の2ビットF/
F125で構成される。入力ポート102のデータは、
シフト制御回路105の内部クロック発生回路105a
で発生する内部クロックCKにより、データ保持回路1
04のシフトレジスタ124の初段に取り込まれる。属
性コードもまた、同じタイミングで初段のF/F125
に取り込まれる。データ保持回路104内では、入力デ
ータと属性コードは、シフトクロック119による同じ
タイミングで順次シフトされる。各出力ポート107,
109毎に個別コード121,122が決められてお
り、属性照合回路117の比較器126が各段の属性コ
ード116を個別コード121,122と比較し、合致
するものの中で最終段Qnに最も近いものをプライオリ
テイエンコーダ127によって選び出し、出力制御部1
06のマルチプレクサ128を切り換えて該当するデー
タを取り出す。
【0010】各出力ポート107,109毎に取り出さ
れたデータは、出力制御信号111によって出力ポート
107,109から、出力データ108,110として
出力される。シフト制御回路105は、属性照合回路1
17のプライオリテイエンコーダ127の出力S1,S
2をデコーダ130でデコードし、データの取り出され
たところの属性コード116をリセットする。状態信号
生成回路112は、属性コード116から入力イネーブ
ル信号113及び出力イネーブル信号114を生成す
る。
【0011】データを取り出した後は、各段に保持され
ている属性コード116を調べて、リセットされている
ところは既にデータが取り出されていると判断する。す
なわち、各属性フラグ116の内容をプライオリテイエ
ンコーダ127へ入れて、最終段Qnに近いほど優先順
位が高くなるよう重み付けを行い、初段から属性フラグ
116のリセットされている段までに対して、シフトク
ロック119を与えてシフトして、空きの段をつめる。
【0012】以上説明したように、本実施例の先入れ先
出し記憶装置では、入力ポート102から入力されたデ
ータ101と入力制御信号103を基に生成した属性コ
ード116を対にして保持し、出力時は属性フラグ11
6を各出力ポート107,109に割り振られたコード
と照合することにより、各出力ポート107,109に
応じたデータのみの中で先に入力されたものから順次取
り出すことができる。
【0013】図2は本発明の第2実施例の単一入力、2
出力ポートFIFOを示している。本実施例では、属性
照合回路217をポーリング方式にしている。第1実施
例の構成と対応する構成には、100番を加えた符号を
付してある。内部クロックCK2によりカウンタ231
はnからカウントダウンし、カウンタ出力をマルチプレ
クサ232へ入れて属性コード216をシフトレジスタ
224の最終段の方から走査して、比較器233にて個
別コード121,122と照合することにより、最終段
Qnに最も近くて合致するものを選び出す。本実施例で
は、属性照合回路が簡素化できるという特徴がある。
【0014】
【発明の効果】以上説明したように本発明は、シフトレ
ジスタ上に出力先の異なるデータを混在させても、その
中から出力ポート毎にデータを分配できるので、異なる
データ転送速度を持つ複数の装置に対してデータ保持手
段を共用することができる。したがってシステムの動作
状態によって各装置のデータ転送速度の変動が大きくて
も、FIFOのデータ保持容量のオーバーフローを抑制
し、システム全体のスループット低下を防ぐことができ
る。また、FIFOの保持容量を柔軟に各出力へ割り振
ることができるので、データ保持容量を有効に活用でき
るという効果がある。
【図面の簡単な説明】
【図1】本発明の第1実施例を示すブロック図である。
【図2】本発明の第2実施例を示すブロック図である。
【図3】従来例を示すブロック図である。
【符号の説明】
101 入力データ 102 入力ポート 103 入力制御信号 104 データ保持回路 105 シフト制御回路 106 出力制御回路 107 出力ポート1 108 出力データ1 109 出力ポート2 110 出力データ2 111 出力制御信号 112 状態信号生成回路 113 入力イネーブル信号 114 出力イネーブル信号 115 属性コード生成回路 116 属性フラグ 117 属性照合回路 118 初期化信号 119 シフトクロック 120 F/F 121 コード1 122 コード2 123 保持データ 124 シフトレジスタ 125 属性コード保持のためのF/F 126 比較器 127 プライオリテイエンコーダ 128 マルチプレクサ 129 プライオリテイエンコーダ 130 デコーダ 201 入力データ 202 入力ポート 203 入力制御信号 204 データ保持回路 205 シフト制御回路 206 出力制御回路 207 出力ポート1 208 出力データ1 209 出力ポート2 210 出力データ2 211 出力制御信号 212 状態信号生成回路 213 入力イネーブル信号 214 出力イネーブル信号 215 属性コード生成回路 216 属性フラグ 217 属性照合回路 218 初期化信号 219 シフトクロック 220 F/F 221 コード1 222 コード2 223 保持データ 224 シフトレジスタ 225 属性コード保持のためのF/F 228 マルチプレクサ 229 プライオリテイエンコーダ 230 デコーダ 231 カウンタ 232 マルチプレクサ 233 比較器 301 入力データ 302 入力ポート 303 入力制御信号 304 シフトレジスタ 305 内部クロック発生回路 306 出力ポート 307 出力データ 308 出力制御信号 309 取り出し口Qn 310 データ有無フラグ 311 状態信号生成回路 312 入力イネーブル信号 313 出力イネーブル信号 314 クロックCK

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力制御信号に応答して入力データを受
    け付ける単一の入力ポートと、出力ポートと、該出力ポ
    ートに供給すべき入力データを保持する複数段からなる
    シフトレジスタとを有する先入れ先出し記憶装置におい
    て、入力制御信号に基づきデータの有無を示す情報と、
    複数の出力ポートのいずれから出力するかを示す出力ポ
    ート情報を含む属性コードを生成し入力データと共にシ
    フトレジスタに記憶させる属性コード生成手段と、シフ
    トレジスタに保持された属性コードから入力データの出
    力先を識別する出力ポート情報を、出力ポート毎に予め
    定められている個別コードと照合する属性照合手段と、
    出力ポート情報に示された出力ポートが同一の入力デー
    タから先に入力された順に順次取り出す出力制御手段
    と、シフトレジスタから取り出されたデータを出力制御
    信号に従い複数の出力ポートとのいずれかから出力した
    ら該出力されたデータに付されていた属性コードをリセ
    ットすると共に属性コードがリセットされている段は既
    にデータが取り出されて空き状態にあるとして、初段か
    らその段までをシフトして空きの段をつめるシフト制御
    手段とを備えることを特徴とする先入れ先出し記憶装
    置。
JP03356073A 1991-12-20 1991-12-20 先入れ先出し記憶装置 Expired - Fee Related JP3082384B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03356073A JP3082384B2 (ja) 1991-12-20 1991-12-20 先入れ先出し記憶装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03356073A JP3082384B2 (ja) 1991-12-20 1991-12-20 先入れ先出し記憶装置

Publications (2)

Publication Number Publication Date
JPH05174568A JPH05174568A (ja) 1993-07-13
JP3082384B2 true JP3082384B2 (ja) 2000-08-28

Family

ID=18447192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03356073A Expired - Fee Related JP3082384B2 (ja) 1991-12-20 1991-12-20 先入れ先出し記憶装置

Country Status (1)

Country Link
JP (1) JP3082384B2 (ja)

Also Published As

Publication number Publication date
JPH05174568A (ja) 1993-07-13

Similar Documents

Publication Publication Date Title
US4649512A (en) Interface circuit having a shift register inserted between a data transmission unit and a data reception unit
US4884192A (en) Information processor capable of data transfer among plural digital data processing units by using an active transmission line having locally controlled storage of data
US4748588A (en) Fast data synchronizer
EP0102242A2 (en) Data processing apparatus
US10282343B2 (en) Semiconductor device
JP3645584B2 (ja) データ転送同期装置
US20060047754A1 (en) Mailbox interface between processors
US5079696A (en) Apparatus for read handshake in high-speed asynchronous bus interface
US6618354B1 (en) Credit initialization in systems with proactive flow control
US5375208A (en) Device for managing a plurality of independent queues in a common non-dedicated memory space
US9824058B2 (en) Bypass FIFO for multiple virtual channels
KR100288177B1 (ko) 메모리 액세스 제어 회로
US20080101374A1 (en) Packet fifo
US5848297A (en) Control apparatus for maintaining order and accomplishing priority promotion in a computer interconnect
JP3082384B2 (ja) 先入れ先出し記憶装置
US6848042B1 (en) Integrated circuit and method of outputting data from a FIFO
JP2536415B2 (ja) Dma転送制御装置
JPH04279945A (ja) メモリ回路
JPH05233512A (ja) 多重化の方法及び装置
US5513367A (en) Multiprocessor system having respective bus interfaces that transfer data at the same time
JP2973941B2 (ja) 非同期fifoバッファ装置
US20040199672A1 (en) System and method for high speed handshaking
JP2004071103A (ja) 自己同期型fifoメモリ装置
JP3760933B2 (ja) 計算機システム
US6941418B1 (en) Integrated circuit and method outputting data

Legal Events

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