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