JPH0261753A - Fifo装置 - Google Patents

Fifo装置

Info

Publication number
JPH0261753A
JPH0261753A JP63213975A JP21397588A JPH0261753A JP H0261753 A JPH0261753 A JP H0261753A JP 63213975 A JP63213975 A JP 63213975A JP 21397588 A JP21397588 A JP 21397588A JP H0261753 A JPH0261753 A JP H0261753A
Authority
JP
Japan
Prior art keywords
address
pointer
write
port
data
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
JP63213975A
Other languages
English (en)
Other versions
JPH07117947B2 (ja
Inventor
Akiyoshi Wakaya
若谷 彰良
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP63213975A priority Critical patent/JPH07117947B2/ja
Publication of JPH0261753A publication Critical patent/JPH0261753A/ja
Publication of JPH07117947B2 publication Critical patent/JPH07117947B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、FIFO装置に関する。
従来の技術 マルチプロセッサシステムなどにおいて、プロセッサと
プロセッサ間のデータ転送を行なう際、その通信路とし
て間にFIFOを用いることが多い。その場合、転送す
るデータに優先度があったり、意味のことなるデータを
ランダムに転送することがある。
例えば、第3図に示すように、プロセッサAの処理した
タスクを優先度の高い順にプロセッサBが処理する場合
や、第4図に示すように、プロセッサA中のタスク1と
プロセッサB中のタスク1が通信しながら動作し、かつ
、プロセッサA中のタスク2とプロセッサB中のタスク
2が通信しながら動作する場合である。
従来、上記のような転送を行なうためには、データにタ
グを付けるか、もしくは、PIFOを並列に並べなけれ
ばならなかった。
タグを付ける方法は、付加するためのエンコード及びデ
コードの時間、及び、転送量の増加、さらには、優先度
の低いデータを受は取った場合に、そのデータを一時プ
ールするための余分なメモリが必要となりあまり効率が
良くない。
また、FIFOを並列に並べる方法では並べる個数によ
ってソフトウェアが限定され、かつ、ハードウェアも増
加する。
発明が解決しようとする課題 従来のFIFOではタグのエンコード、デコードに時間
が多くかかったり、複数並べることによるハードウェア
の増加、ソフトウェアの限定化がなされる。
本発明では、かかる問題点に鑑み、すべてのメモリセル
をむだなく使え、並列に任意個のFIFOを並べたFI
FOシステムをエミュレートできるFIFO装置を提供
することを目的としている。
課題を解決するための手段 前記課題を解決するために、本発明は、入力アドレスポ
ートと入力データポートとからなる入力ポートと、出力
アドレスポートと出力データポートとからなる出力ポー
トと、データ部とポインタ部からなるメモリとフリービ
ギンポインタとフリーエンドポインタと制御回路とフル
フラグとエンブイスフラグとを備え、かつ前記メモリ内
に、読みたしを開始するアドレスをデータ部にもつリー
ドビギンと最後に書き込まれたアドレスをデータ部にも
つライトエンドとからなるFIFOコントロールレコー
ドを複数個設け、初期状態として、前記メモリのCアド
レスから順に前記FIFOコントロールレコードをアロ
ケートし、かつ各前記リードビギンは自らのアドレスそ
のデータ部に持ち、さらに前記FIFOのコントロール
レコードをアロケートし終わったアドレスの次のアドレ
スから残りの前記メモリをデータ領域として、前記デー
タ領域の最終アドレス以外の前記ポインタ部に自らのア
ドレスの次のアドレス書き、前記フリービギンポインタ
には前記データ領域の先頭アドレスを書き、かつ前記フ
リーエンドポインタには前記データ領域の最終アドレス
を書き、前記フルフラグは前記フリービギンポインタと
前記フリーエンドポインタとの内容が一致した時に書き
込みを行った場合にアサートされ読みだしが実行された
場合にネゲートされ、前記エンプティフラグは前記出力
アドレスポートのアドレスと一致する前g2FIFoコ
ントロールレコードの前記リードビギンの内容が自らの
アドレスと一致した場合アサートされそれ以外のときは
ネゲートされ、書き込みを行なう際は、前記フルフラグ
がアサートされていないことを確認した後、前記フリー
ビギンポインタの内容のアドレス(cアドレス)に書き
込み、該Cアドレスのポインタ部の内容を前記フリービ
ギンポインタに書き込み、前記入力アドレスポートのア
ドレスに対応した前記FIFOコントロールレコードの
前記ライトエンドの内容のアドレス(bアドレス)の前
記ポインタ部に前記Cアドレスを書き、さらに前記Cア
ドレスの前記ポインタ部に前記入力アドレスポートのア
ドレスに対応した前記FIFOコントロールレコードの
前記リードビギンのアドレスを書き、前記ライトエンド
の前記データ部に前記Cアドレスを書き、読みだしを行
なう際は、前記出力アドレスポートにアドレス(cアド
レス)を与え前記エンプティフラグがアサートされてい
ないことを確認した後、前記Cアドレスに対応した前記
F■FOコントロールレコードの前記リードビギンの前
記データ部の内容をアドレス(dアドレス)とする前記
メモリの前記データ部の内容を前記出力データポートに
読みだし、該dアドレスのポインタ部の内容を前記リー
ドビギンの前記データ部に書き込み、前記フリーエンド
ポインタの内容をアドレス(cアドレス)とする前記メ
モリの前記ポインタ部に前記dアドレスを書き込み、前
記フリーエンドポインタにも前記dアドレスを書き込む
ことを特徴とするFIFO装置を解決手段とする。
作   用 メモリ内に設けられたFIFOコントロールレコードの
情報を用いることにより、すべてのメモリセルをむだな
(使え、並列に並んだ任意個のFIFOシステムをエミ
ュレートできる。
実  施  例 本発明は、前記従来の欠点に鑑み、メモリ内に設けられ
たFIFOコントロールレコードを用い、すべてのメモ
リセルをむだなく使って、並列に並べた任意個のFIF
Oシステムをエミュレートするものである。
第3図の場合を例として考える。優先度は2種類(Oが
高く、1が低い)とする。
メモリ内に、図5のようにFIFOアドレスOとFIF
Oアドレス1のFIFOコントロールレコードを作る。
プロセッサAは、高優先度のタスクは、アドレスOのF
IFOへ入力し、低優先度のタスクは、アドレス1のF
IFOへ入力する。
また、プロセッサBは、高優先度のタスクがアドレス0
のFIFOに有るどうかを調べ、あれば、アドレスOの
FIFOから出力し、なければ低優先度のタスクはをア
ドレス1のFIFOから出力する。
制御回路は、入力されるアドレスにより、それに対応し
たFIFOコントロールレコードを参照する。この場合
、アドレスを2ビツト左シフトし、0を加えたアドレス
には読み出しを開始するアドレスすなわちリードビギン
が格納されており、1を加えたアドレスには最後に書き
込んだメモリセルのアドレスすなわちライトエンドが格
納されている。これらの情報を用いて、フルフラグとエ
ンプティフラグを出力し、データのリード/ライトを制
御する。
次に図を用いて説明する。第5図は、初期状態のメモリ
構成図、第6図は、書き込み時のメモリの変化を表わす
構成図、第7図は、読み出し時のメモリ炭化を表わす構
成図である。
初期状態において、各FIFOの状態を示すFIFOコ
ントロールレコードを作り各リードビギンは自らのアド
レスを内容としてもつ。このFIFOのコントロールレ
コードの領域の次のアドレスから、残りのメモリはデー
タ領域と呼び、各ボインク部は次のアドレスを指してい
る。フリービギンは、このデータ領域の先頭アドレスを
指し、フリーエンドはデータ領域の最終アドレスを指す
。
フラグのコントロールについて述べる。フルフラグは、
フリービギンとフリーエンドが一致している状態で書き
込みを行なった時アサートされ、読み出しを行なった時
にネゲートされる。エンプティフラグは、出力アドレス
ポートのアドレスに対応したFIFOコントロールレコ
ードのリードビギンの内容が自らのアドレスと一致した
時アサートされ、それ以外はネゲートされる。
次に書き込み方法について述べる。まず、フルフラグを
調べ、アサートされていないことを確認する。この後の
手順は以下の様になる。
(1)  フリービギンの指すアドレス(cアドレス)
のデータ部に書き込む ■ Cアドレスのポインタ部の内容をフリービギンに書
き込む (3)  ライトエンドの指すアドレス(bアドレス〉
のポインタ部にCアドレスを書き込む (4)Cアドレスのポインタ部にリードビギンのアドレ
スを書き込む (9ライトエンドにCアドレスを書き込む最後に読み出
し方法について述べる。まず、出力アドレスポートに読
み出したいFIFOのアドレスを与え、エンプティフラ
グを読み、アサートされていないことを確認する。この
後の手順は以下の様になる。
(1)  リードビギンの指すアドレス(cアドレス〉
のデータ部を読み出す (2)Cアドレスのポインタ部の内容をリードビギンに
書き込む 0) フリーエンドの指すアドレス(dアドレス〉のポ
インタ部にCアドレスを書き込む (4)  フリーエンドにCアドレスを書き込む発明の
効果 このように、本実施例によると、メモリ内にFIFOコ
ントロールレコードを設け、制御回路で制御することに
より、1つの本PIF’O装置で、メモリセルをむだな
く使い、並列に並んだ任意側のFIFOシステムをエミ
ュレートすることができる。従って、大きなハードウェ
アの増加なしにフレキシビリティの高いシステムが組め
る。
【図面の簡単な説明】
第1図は、本発明のFIFO装置の構成図、第2図は、
本発明のメモリの構成図、第3図は、プロセッサ間の優
先度を持ったタスクの転送をFIFOを用いて表した構
成図、第4図は、プロセッサ間の複数のタスク間の転送
を表した構成図、第5図は、初期状態のメモリを表す構
成図、第6図は、書き込み時のメモリ内容の変化を表す
構成図、第7図は、読みだし時のメモリ内容の変化を表
す構成図である。 1・・・・・・フルフラグ、2・・・・・・入力アドレ
スポート、3・・・・・・入力データポート、6・・・
・・・エンプティフラグ、7・・・・・・出力アドレス
ポート、8・・・・・・出力データポート、9・・・・
・・フリービギン、10・・・・・・フリーエンド、1
1〜12・・・・・・プロセッサ、13・・・・・・F
IFO114〜16・・・・・・優先度タグ、17〜1
8・・・・・・プロセッサ、19・・・・・・FIFO
0代理人の氏名 弁理士 粟野重孝 ほか1名鴎 図 第 図 第 図 第 図

Claims (1)

    【特許請求の範囲】
  1. 入力アドレスポートと入力データポートとからなる入力
    ポートと、出力アドレスポートと出力データポートとか
    らなる出力ポートと、データ部とポインタ部からなるメ
    モリとフリービギンポインタとフリーエンドポインタと
    制御回路とフルフラグとエンプティフラグとを備え、か
    つ前記メモリ内に、読みだしを開始するアドレスをデー
    タ部にもつリードビギンと最後に書き込まれたアドレス
    をデータ部にもつライトエンドとからなるFIFOコン
    トロールレコードを複数個設け、初期状態として、前記
    メモリのOアドレスから順に前記FIFOコントロール
    レコードをアロケートし、かつ各前記リードビギンは自
    らのアドレスをそのデータ部に持ち、さらに前記FIF
    Oコントロールレコードアロケートし終わったアドレス
    の次のアドレスから残りの前記メモリをデータ領域とし
    て、前記データ領域の最終アドレス以外の前記ポインタ
    部に自らのアドレスの次のアドレス書き、前記フリービ
    ギンポインタには前記フリーエンドポインタには前記デ
    ータ領域の先頭アドレスを書き、かつ前記フリーエンド
    ポインタには前記データ領域の最終アドレスを書き、前
    記フルフラグは前記フリービギンポインタと前記フリー
    エンドポインタのと内容が一致した時に書き込みを行っ
    た場合にアサートされ読みだしが実行された場合にネゲ
    ート、前記エンプテイフラグは前記出力アドレスポート
    のアドレスと一致する前記FIFOコントロールレコー
    ドと一致した場合リードビギンの内容が自らのアドレス
    と一致した場合アサートされそれ以外のときはネゲート
    され、書き込みを行なう際は、前記フルフラグがアサー
    トされていないことを確認した後、前記フリービギンポ
    インタの内容のアドレス(aアドレス)に書き込み、該
    aアドレスのポインタ部の内容を前記フリービギンポイ
    ンタ部に書き込み、前記入力アドレスポートのアドレス
    に対応した前記FIFOコントロールレコードの前記ラ
    イトエンドの内容のアドレス(bアドレス)の前記ポイ
    ンタ部に前記aアドレスを書き、さらに前記aアドレス
    の前記ポインタ部に前記入力アドレスポートのアドレス
    に対応した前記FIFOコントロールレコードの前記リ
    ードビギンのアドレスを書き、前記ライトエンドの前記
    データ部に前記aアドレスを書き、読みだしを行なう際
    は、前記出力アドレスポートにアドレス(cアドレス)
    を与え前記エンプティフラグがアサートされていないこ
    とを確認した後、前記cアドレスに対応した前記FIF
    Oコントロールレコードの前記リードビギンの前記デー
    タ部の内容をアドレス(dアドレス)とする前記メモリ
    の前記データ部の内容を前記出力データポートに読みだ
    し、該dアドレスのポインタ部の内容を前記リードビギ
    ンの前記データ部に書き込み、前記フリーエンドポイン
    タの内容アドレス(eアドレス)とする前記メモリの前
    記ポインタ部に前記dアドレスを書き込み、前記フリー
    エンドポインタにも前記dアドレスを書き込むことを特
    徴とするFIFO装置。
JP63213975A 1988-08-29 1988-08-29 Fifo装置 Expired - Lifetime JPH07117947B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63213975A JPH07117947B2 (ja) 1988-08-29 1988-08-29 Fifo装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63213975A JPH07117947B2 (ja) 1988-08-29 1988-08-29 Fifo装置

Publications (2)

Publication Number Publication Date
JPH0261753A true JPH0261753A (ja) 1990-03-01
JPH07117947B2 JPH07117947B2 (ja) 1995-12-18

Family

ID=16648168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63213975A Expired - Lifetime JPH07117947B2 (ja) 1988-08-29 1988-08-29 Fifo装置

Country Status (1)

Country Link
JP (1) JPH07117947B2 (ja)

Also Published As

Publication number Publication date
JPH07117947B2 (ja) 1995-12-18

Similar Documents

Publication Publication Date Title
US4085445A (en) Text merge with copies and envelopes
JPS63288384A (ja) メモリ−カ−ド
JPS5919290A (ja) 共用メモリシステム
US5222232A (en) Apparatus and method for monitoring prom access in a microcomputer
JPH0244455A (ja) Fifo装置
JPH07117947B2 (ja) Fifo装置
JPS61120260A (ja) 順次デ−タ記憶回路のアクセス装置
JPS6346553A (ja) フアイルコピ−方法
JPS63153655A (ja) メモリアクセス制御方式
JPS6136854A (ja) メモリ切換装置
JPS6048774B2 (ja) デ−タファイル管理方式
JPS62108346A (ja) プロセス間通信方式
JPS6364152A (ja) メツセ−ジ待行列管理方式
JPS6180447A (ja) 記憶装置のストア制御方式
JPH0272975A (ja) フォントファイル管理方法
JPS61157955A (ja) タグ制御方式
JPH0329021A (ja) プリンタサーバ
JPS60239849A (ja) Ramチエツク方式
JPS6242235A (ja) 仮想スタツク方式
JPS60176106A (ja) シ−ケンスコントロ−ラ
JPS60196858A (ja) ラベル付デ−タの入力処理装置
JPS6375927A (ja) バツフア制御方式
JPS61157941A (ja) 転送アドレス制御装置
JPS5856144B2 (ja) マイクロプロセツサシステム
JPS631598A (ja) Xyプロツタへのデ−タ出力制御装置