JPH0546547A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH0546547A
JPH0546547A JP22840091A JP22840091A JPH0546547A JP H0546547 A JPH0546547 A JP H0546547A JP 22840091 A JP22840091 A JP 22840091A JP 22840091 A JP22840091 A JP 22840091A JP H0546547 A JPH0546547 A JP H0546547A
Authority
JP
Japan
Prior art keywords
data
fifo memory
memory
processing unit
fifo
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.)
Pending
Application number
JP22840091A
Other languages
English (en)
Inventor
Shinko Yamada
眞弘 山田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP22840091A priority Critical patent/JPH0546547A/ja
Publication of JPH0546547A publication Critical patent/JPH0546547A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 FIFOメモリへのデータ書き込みが完全に
終了する前に、FIFOメモリのステータスを毎回調べ
ることなくデータの読み出しを行うことの可能なデータ
処理装置を提供する。 【構成】 FIFOメモリ5は、FULL状態になった
時に割り込みがかかる様になっており、第1のCPU1
は、ステータスを調べることなく、データを書き込むこ
とができる。データ数カウンタ10は、FIFOメモリ
5に格納されているデータ数(書き込まれたデータ数−
読み出されたデータ数)を係数する。第2のCPU6
は、データが必要になった時、FIFOメモリ5からデ
ータを読み出すが、このときデータ数カウンタ10の値
を読み出す。この値が0でなければ、ステータスを調べ
ることなく、そのカウント数だけFIFOメモリ5から
データを読み出す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理装置に係り、
例えば、プリンタ・コントローラにおける、CPU間の
データ転送を行うデータ処理装置に関する。
【0002】
【従来の技術】複数の処理ユニット間をFIFOメモリ
でインタフェースすることで、各処理ユニットを並列に
動作させて処理ユニット間の独立性を高め、処理の高速
化を図ることが行われる場合がある。
【0003】例えばCPU(中央処理装置)間で、一定
の処理を分担して行うために、FIFOメモリを介して
データの受渡しを行うことが行われる。このうよな方法
として、特開平2−112051号公報に記載された第
1の方法がある。これは、2つのマイクロ・プロセッサ
間のデータ転送方法として、まず、送りたいデータを主
メモリから読み出して、FIFOメモリに書き込む。こ
の時、アップ・ダウン・カウンタにより、データを書き
込むごとにカウント・アップしていく。そして、全部デ
ータを書き込んだ後、他方のマイクロ・プロセッサに割
り込みをかける。割り込みを受けた側のマイクロ・プロ
セッサは、FIFOメモリからデータを読み出して、主
メモリに書き込む。この時、アップ・ダウン・カウンタ
をカウント・ダウンしていき、元の値になったら、読み
出しを行っているマイクロ・プロセッサに割り込みをか
けるものである。この方法によれば、FIFOメモリの
状態を調べることなく、データの読み出しを行うことが
できる。また、書き込みに関しても、FIFOメモリの
容量を越えない範囲であれば、FIFOメモリの状態を
調べる必要がない。
【0004】また、別の方法として、例えば、2つの処
理ユニットから成り立っており、最初の処理ユニットを
処理ユニットA、後がわの処理ユニットを処理ユニット
Bとすると、次のような第2の方法も採られていた。処
理ユニットAは、必要な処理を行った後、FIFOメモ
リのフル・フラグの状態を確認しながら、処理済みのデ
ータを順次FIFOメモリに書き込むという動作を繰り
返す。一方、処理ユニットBは、FIFOメモリのエン
プティ・フラグを見ながら、FIFOメモリが読み出し
可能状態になったら、FIFOメモリからデータを読み
出して必要な処理を行うということを繰り返している。
【0005】
【発明が解決しようとする課題】前記第1の方法を使用
した場合、事前に転送情報のやり取りが不要であるとい
う特徴があるが、FIFOメモリへのデータの書き込み
が完全に終了するまで、FIFOメモリからの読み出し
が行えないという問題がある。一般的には、処理開始時
に全部のデータがそろっている必要はなく、プログラム
がデータを要求した時点で、データがあれば良い。この
ため、読み出し側のCPUからは、FIFOメモリにデ
ータが入った時点から、データの読み出しが可能となる
ことが好ましい。そこで、本発明は、FIFOメモリへ
のデータ書き込みが完全に終了する前から、FIFOメ
モリのステータスを毎回調べる必要なく、FIFOメモ
リからのデータ読み出しを実現することの可能なデータ
処理装置を提供することを第1の目的とする。
【0006】一方、複数の処理ユニットを並列に動作さ
せ、ユニット間をFIFOメモリでインターフェースす
るという第2の方法は、1つの処理ユニットで実行する
のに比べ、処理ユニットの数の倍数分、処理速度を向上
させることも可能であるが、実際には、処理ユニットの
数の倍数分の処理速度を得ることは難しい。この原因と
して、FIFOメモリのエンプティ・フラグを読んでき
て、FIFOメモリが読み出し可能状態にあるかどうか
のステータス・チェックを毎回行わなければならないこ
とがある。また、FIFOメモリが書込み可能状態にあ
るかどうかのステータス・チェックのために、FIFO
メモリのフル・フラグのリード・オペレーションを毎回
行わなければならないことがある。これを行わないと、
FIFOメモリがフル状態であるのに、CPUが書込み
要求を出した場合、FIFOメモリがフルでなくなるま
で、CPUのFIFOメモリに対するライトのバス・サ
イクルが続行し、インタラプトの受付や、リフレッシュ
をすることができなくなってしまうという問題がある。
【0007】そこで本発明は、処理に時間のかかる、F
IFOメモリのエンプティ・フラグをリードするための
リード・オペレーションをなくし、処理速度を向上させ
ることの可能なデータ処理装置を提供することを第2の
目的とする。また、インタラプトの受付やリフレッシュ
ができなくなってしまうという問題を発生させることな
く、処理速度の低下の原因となる、FIFOメモリのフ
ル・フラグのリード・オペレーションを不要にするデー
タ処理装置を提供することを第3の目的とする。
【0008】
【課題を解決するための手段】請求項1記載の発明で
は、FIFOメモリに格納されているデータ数を係数す
る係数手段と、この係数手段による係数値を読み出す読
み出し手段とをデータ処理装置に具備させて、前記第1
の目的を達成する。
【0009】請求項2記載の発明では、処理ユニットか
らの読み出し要求に対して前記FIFOメモリが読み出
し可能状態にあるか否かを判断する状態判断手段と、こ
の状態判断手段で前記FIFOメモリが読み出し可能で
あると判断された場合にFIFOメモリの出力データを
そのまま前記処理ユニットに供給し、読み出し不可能状
態と判断された場合にデータとして存在しないパターン
のデータを前記読み出し要求のあった処理ユニットに供
給するデータ供給手段とをデータ処理装置に具備させ
て、前記第2の目的を達成する。請求項3記載の発明で
は、請求項2記載のデータ処理装置のデータ供給手段
が、FIFOメモリのデータ・バス幅よりも多いデータ
・バス幅の処理ユニットからのデータ・リード要求に対
して、前記FIFOメモリのデータ転送に使用しないバ
スのビットを使用して、データが有効であるか否かの信
号を供給することにより、前記第2の目的を達成する。
【0010】請求項4記載の発明では、FIFOメモリ
のライト・アドレスと同一のライト・アドレスとしてマ
ッピングされたレジスタと、FIFOメモリにデータを
書込みできないときに前記レジスタに当該データを格納
し、処理ユニットに対して割り込みを行う手段とをデー
タ処理装置に具備させて、前記第3の目的を達成する。
請求項5記載の発明では、複数のFIFOメモリのライ
ト・アドレスと同一のライトアドレスとしてマッピング
されたレジスタと、データを所定のFIFOメモリに書
込みできないときに前記レジスタに当該データと対象と
なる所定のFIFOメモリを識別する情報とを格納し、
処理ユニットに対して割り込みを行う手段とをデータ処
理装置に具備させて、前記第3の目的を達成する。
【0011】
【作用】請求項1記載の発明では、FIFOメモリ内に
入っているデータ数を計数する手段を持ち、これを外部
から読みだすことにより、FIFOメモリの状態チェッ
クを毎回行う必要がない。
【0012】請求項2記載の発明では、状態判断手段で
FIFOメモリの読み出し可能状態か否かを判断する。
読み出し不可能状態の場合にデータ供給手段から読み出
し要求の出された処理ユニットに対して、FIFOメモ
リのエンプティ・フラグをエンコードする。請求項3記
載の発明では、処理ニットに比べFIFOメモリのデー
タ・バス幅の方が少ないので、データ供給手段は、FI
FOメモリのデータの転送時に使用しないデータ・バス
のビットを使って、FIFOメモリのエンプティ・フラ
グを送る。
【0013】請求項4記載の発明では、FIFOメモリ
のライト・アドレスと同じライト・アドレスとして、マ
ッピングされているレジスタを持ち、FIFOメモリに
ライトできない時に、ライト・データを保持し、CPU
に対して割り込みをかける。そして、割り込みを受けた
処理ユニットは、FIFOメモリがライトできる状態に
なるのを待って、レジスタに保持されているFIFOメ
モリへのライト・データをFIFOメモリにライトす
る。これにより、例えばインタラプトの受付や、リフレ
ッシュができなくなってしまうという問題を発生させる
ことなく、FIFOメモリのフル・フラグのリードが不
要になる。また、請求項5記載のでは、複数のFIFO
メモリのどのライト・アドレスとも同じライト・アドレ
スとしてマッピングされているレジスタを持ち、FIF
Oメモリにライトできない時に、FIFOメモリにライ
ト・できない時に、ライトするデータと、対象のFIF
Oメモリを識別するための情報とを保持し、処理ユニッ
トに対して割り込みをかける。そして、割り込みを受け
付けた処理ユニットは、対象のFIFOメモリを認識
し、対象のFIFOメモリへのライト・データをFIF
Oメモリにライトする。このため、複数のFIFOメモ
リを備えるシステムに対し、個々にライト・データ保持
用のレジスタを備える必要がなくるな。
【0014】
【実施例】以下、本発明のデータ処理装置における好適
な実施例を、図1ないし図16を用いて詳細に説明す
る。第一発明 図1は第1発明のデータ処理装置における一実施例の構
成を表したものであり、2つのCPUを用いて、パイプ
ライン的に処理していくマルチCPUシステムとなって
いる。この図において、第1のCPU1は、第1のRO
M(リード・オンリ・メモリ)2に記述されているプロ
グラムに従って、第1のRAM(ランダム・アクセス・
メモリ)3をワーキング・メモリとして使用しながら、
データ処理装置における全処理の内、前処理を担当する
ようになっている。
【0015】4は外部インターフェースであり、データ
処理装置で処理されるデータがこの外部インターフェイ
ス4から入力される。5はFIFOメモリであり、第1
のCPU1側から、処理データを第2のCPU6側に転
送するために使用される。FIFOメモリ5は、FUL
L状態になった時に、割り込みがかかる様になってい
る。第2のCPU6は、第2のROM7に記述されてい
るプログラムに従って、第2のRAMをワーキング・メ
モリとして使用しながら、データ処理装置の全処理の後
処理を行う。第2のCPU6による処理結果は、第2の
外部インターフェイス9通して、外部に出力されるよう
になっている。10はデータ数カウンタであり、FIF
Oメモリ5に書き込んだデータの数と、FIFOメモリ
5から読み出したデータの数の差をカウントするように
なっている。
【0016】図2はデータ数カウンタ10の構成を表し
たものであり、図3は各部における信号のタイムチャー
トを表したものである。図2において、11はライト・
カウンタで、第1のCPU1からFIFOメモリ5に書
き込まれたデータの数をライト信号12によりカウント
する。13はリード・カウンタで、第2のCPU6がF
IFOメモリ5から読み出したデータの数をリード信号
14からカウントするようになっている。
【0017】15はレジスタで、このレジスタ15は、
ライト・カウンタ11のカウンタ値を保持する。このレ
ジスタ15は、FIFOメモリ5への書き込みと読み出
しが非同期で行われるため、第2のCPU6(図1)で
データ数カウンタ10のカウンタ値を読み出している時
に、データが変化しないようにするために、設けられて
いる。16は減算器(SUB)で、レジスタ15の値か
らリード・カウンタ13の値を減算する。減算した値
は、バッファー17によって、制御されて外部に出力さ
れる。
【0018】18、19は、インバーターで、図3のタ
イムチャートに示されるように、ライト信号12、リー
ド信号13を反転し、それぞれの立ち下がりエッジでラ
イト・カウンタ11、リード・カウンタ13がカウント
する様にしている。20はアンド回路であり、ライト信
号14とアウト・プット・イネーブル信号21の論理積
をとっている。このアンド回路20の出力をDフリップ
・フロップ22でサンプリングし、レジスタ15のクロ
ック信号としている。
【0019】このように構成されたデータ処理装置の動
作に付いて次に説明する。データの流れとしては、外部
インタフェース4から入力されたデータが、第1のCP
U1にて前処理され、その結果が、FIFOメモリ5に
書き込まれ、第2のCPU6側に渡される。ここで、F
IFOメモリ5は、FULL状態になった時に、割り込
みがかかる様になっているので、第1のCPU1は、F
IFOメモリ5のステータスを調べることなく、データ
を書き込むことができる。一方、第2のCPU6は、デ
ータが必要になった時、FIFOメモリ5からデータを
読み出すが、このときデータ数カウンタ10の値を読み
出す。この値が0でなければ、その時点で、FIFOメ
モリ5内にそのカウンタ値だけデータが入っていること
になる。そこで、第2のCPU6は、ステータスを調べ
ることなく、データ数カウンタ10のカウント数だけF
IFOメモリ5からデータを読み出すことが可能とな
る。第2のCPU6は、この回数だけFIFOメモリ5
からデータを読み出した後、再びデータ数カウンタ10
のカウンタ値を読み出し、同様の処理を繰り返す。
【0020】図4は、第2のCPUがFIFOメモリ5
からデータを読み出すときの処理の流れを表したもので
ある。まず、プログラム開始時に、変数Iが0に初期化
される(ステップ1)。そして、第2のCPU6は、F
IFOメモリ5のデータ読み出しの要求を発生した後
(ステップ2)、データ数カウンタ10からカウンタ値
を読み出し、変数Iに代入する(ステップ3)。次に、
第2のCPU6は変数Iの値が0か否かを判断し、0で
ある場合(ステップ4;Y)、FIFOメモリ5にデー
タがないため、ステップ3に戻る。一方、変数Iが0で
ない場合(ステップ4;N)、FIFOメモリ5からデ
ータを読み出し(ステップ5)、変数Iの値をI−1に
置き換えて(ステップ6)、ステップ5で読み出したデ
ータの処理を行う(ステップ7)。このFIFOメモリ
5からデータの読み出しとその処理を、ステップ3で代
入した回数Iだけ繰り返し、変数Iが0になった状態
で、再びステップ3に戻る。ステップ7の処理が終了し
た段階で、プログラムの終了の指示等がなった場合に
(ステップ8;Y)、処理を終了する。
【0021】第2発明 次に第2発明におけるデータ処理装置の第1実施例実を
説明する。図5はデータ処理装置の構成を表したもので
ある。この実施例において、データ処理装置は第1の処
理ユニット31および第2の処理ユニット32を備えて
いる。第1の処理ユニット31から第2の処理ユニット
32に渡されるデータは、FIFOメモリ33、変換器
34を介して渡されるようになっている。第1実施例で
は、FIFOメモリ33からリードするデータは、画像
の座標を示すベクトル・データと制御コードであり、全
ビットがHighというデータ・パターンは存在しな
い。そこで、変換器34は、FIFOメモリ33がエン
プティである時に、FIFOメモリ33のデータを読み
だそうとすると、全ビットがHighというデータ・パ
ターンを出力するように構成されている。FF35はフ
ル・フラグであり、FIFOメモリ33がフル状態であ
るか否かを示す信号である。EF36はエンプティ・フ
ラグであり、FIFOメモリ33がエンプティ状態であ
るかどうかを示す信号である。
【0022】WDATA37は第1の処理ユニット31
がFIFOメモリ33への書き込むデータのデータ・バ
ス、FDATA38はFIFOメモリ33から読み出さ
れたデータのデータ・バスである。RDATA39はF
IFOメモリ33からデータが読み出されていれば、F
DATA38の内容を出力し、FIFOメモリ33がエ
ンプティであるため、データが読み出せないのであれ
ば、全てのビットをHighとして出力する、データ・
バスである。WR40は第1の処理ユニット31がFI
FOメモリ33に書き込むためのライト・パルス、RD
41は第2の処理ユニット32がFIFOメモリ33の
データのリードを要求していることを示すリード・パル
スである。FRD42はFIFOメモリ33が読み出し
可能状態にある時のみ、RD41の内容を伝える。
【0023】図6は、このうよに構成された第1実施例
における、第1の処理ユニット31のフローチャートを
示し、図7は第2の処理ユニット32のフローチャート
を表したものである。本実施例では、第1の処理ユニッ
ト31が全体の処理の前半部分を担当し、第2の処理ユ
ニット32が後半部分の処理を担当する。
【0024】図6において、第1の処理ユニット31は
前処理を行い(ステップ1)、FIFOメモリ33に書
き込むデータがあれば(ステップ2)、FIFOメモリ
33がフル状態でなくなるのを待って(ステップ3)、
FIFOにデータを書き込む(ステップ4)。そして、
FIFOメモリ33に書き込むデータがまだあるかを調
べ、データがなければ(ステップ2;N)、前処理の実
行(ステップ1)に戻る。一方、第2の処理ユニット3
2では、図7に示す様に、FIFOメモリ33からデー
タを読み出し(ステップ1)、全ビットがHighでな
いデータを必要な個数、FIFOメモリ33から読み出
し(ステップ2、3)、後処理を行い(ステップ4)、
ステップ1に戻る。
【0025】次に、第2発明における第2実施例につい
て、その構成を表した図8に従って説明する。この第2
の実施例のデータ処理装置では、第1実施例と異なり、
FIFOメモリ53のデータ・バス幅が16ビットで構
成されている。このため、WDATA57とFDATA
58が16ビットのバス幅で構成されている。また、第
1実施例における変換器34の代わりに、16bit/
32bitの変換器54を備えている。
【0026】32ビット変換器54は、FIFOメモリ
53からの読み出しが可能な時に、読み出した16ビッ
トのデータを32ビットの内の下位16ビットとし、上
位16ビットを全てLowとして、第2の処理ユニット
52に渡す。FIFOメモリ53からの読み出しが不可
能な時に、変換器54は、32ビットの内の上位16ビ
ットを全てHighとして、第2の処理ユニット52に
渡す。また、FIFOメモリ53が読み出し可能状態に
ある時には、FRD62は、RD61の信号と同じもの
を出力するが、FIFOメモリ53が読み出し不可能状
態にある時には、FRD62は無効のままである。
【0027】図9は、このうよに構成された第2実施例
における、第2の処理ユニット52のフローチャートを
表したものである。なお、第1の処理ユニット51のフ
ローチャートは、第1の実施例における第1の処理ユニ
ット31のフローチャート(図6)と同様であるので、
説明を省略する。この図9において、第1実施例におけ
る第2の処理ユニット32のフローチャート(図7)と
異なる点は、FIFOメモリ53から読み出したデータ
が有効であるかどうかのチェックに、FIFOメモリ5
3から読み出したデータが負かどうかで調べている点で
ある。第2実施例では、FIFOメモリ53から読み出
しが不可能の時、32ビットの内上位の16ビットを全
てHighとしているので、この場合には負となる。
【0028】第3発明 次に第3発明におけるデータ処理装置の第1実施例実を
説明する。図10は第1実施例におけるデータ処理装置
の構成を表したものである。このデータ処理装置はマル
チCPU構成となっており、処理の前半部分を第1のC
PU71が担当し、後半部分の処理を第2のCPU72
が担当するようになっている。そして、第1のPU71
と第2のCPU72との間のデータの受渡しは、FIF
Oメモリ73を介して行われる。図1において、第1の
CPU71は、第1のROM74に記述されたプログラ
ムを第1のDRAM75を使用しながら実行し、その処
理結果をFIFOメモリ73にライトすることで第2の
CPU72側に渡す。
【0029】レジスタ76は、FIFOメモリ73と同
一のライト・アドレスとしてマッピングされているレジ
スタである。レジスタ76は、FIFOメモリ73との
間に、FIFOメモリ73がフル状態であるかどうかを
示す信号であるFF77と、FIFOメモリに対するラ
イトパルスであるWF78の信号線を備えている。ま
た、レジスタ76は、第1のCPU71との間に、CP
Uに対してて割り込みをかけるための信号であるINT
78の信号線を備えている。
【0030】このレジスタ76は、第1のCPU71が
FIFOメモリ73に対してライト要求を出した時に、
FIFOメモリ73がフル状態であるか否かを確認し、
フル状態でなければ、WF78を有効にして、FIFO
メモリ73にライト要求を出す。一方、FIFOメモリ
73がフル状態であれば、FIFOメモリ73に対する
ライト・データをFIFOメモリ73の代わりに保持
し、INT79を有効にして、第1のCPU71に対し
て割り込みをかける。この時、WF78は無効のまであ
る。第2のCPU72は、第2のROM80に記述され
ているプログラムに従い、データをFIFOメモリ73
から読み出し、第2のDRAM81を使いながら実行す
る。
【0031】このように構成されたデータ処理装置の動
作について次に説明する。図11は第1のCPU71が
実行する処理動作を表したものである。第1のCPU7
1は、前処理を行い(ステップ1)、FIFOメモリ7
3に書き込むデータが有るかを調べ、データがあれば
(ステップ2;Y)、FIFOメモリ73にデータを書
き込む(ステップ3)。そして、ステップ2に戻って、
FIFOメモリ73に書き込むデータが残っているかを
調べ、無くなったら(ステップ2;N)、ステップ1に
戻る。
【0032】図12は、第2のCPU72が実行する処
理の動作を表したものである。第2のCPU72は、F
IFOメモリ73にデータをあるかを調べ(ステップ
1)、データがあれば、FIFOメモリ73からデータ
を読み出す(ステップ2)。必要な個数のデータを全部
読み出していれば(ステップ3;Y)、後処理を実行し
(ステップ14)、その後ステップ11に戻る。
【0033】図13は、FIFOメモリ73がフル状態
である時に、FIFOメモリ73に対して、ライト要求
を出した時に発生する割り込みの処理ルーチンを表した
ものである。図13において、レジスタ76からFIF
Oメモリ73へのライト・データを読み出し(ステップ
1)、FIFOメモリ73がフル状態でなくなるのを待
って(ステップ2)、レジスタ76から読み出したデー
タをFIFOメモリ73に書き込む(ステップ3)。そ
して、割り込み処理ルーチンからリターンする。
【0034】次に、第3発明における第2実施例につい
て、その構成を表した図14に従って説明する。この第
2実施例では、3個のCPUにより処理を行う構成とな
っており、最初に第1のCPU83が処理を行い、その
後の処理を第2のCPU84、または、第3のCPU8
5が行う構成となっている。そして、第1のCPU83
から第2のCPU84へのデータの受渡しには、第1の
FIFOメモリ86が使われ、第1のCPU83から第
3のCPU85へのデータの受渡しには、第2のFIF
Oメモリ87が使われる。
【0035】図14において、第1のCPU83は、第
1のROM88に記述されたプログラムを第1のDRA
M89を使用しながら実行し、処理結果を第1のFIF
Oメモリ86、または、第2のFIFOメモリ87に書
込むことで、第2のCPU84または第3のCPU85
に渡す。
【0036】レジスタ90は、第1のFIFOメモリ8
6のライト・アドレスとしても、第2のFIFOメモリ
87のアドレスとしてもマッピングされているレジスタ
である。そして、レジスタ90は、第1のFIFOメモ
リ86との間に、第1のFIFOメモリ86がフル状態
であるかを示す信号であるFF91と、第1のFIFO
メモリ86に対するライト・パルスであるWF92の信
号線を備えている。また、レジスタ90は、第2のFI
FOメモリ87との間に、第2のFIFOメモリ87が
フル状態であるかを示す信号であるFF94と、第2の
FIFOメモリ87に対するライト・パルスであるWF
95の信号線を備えている。さらに、レジスタ90は、
第1のCPU83との間に、CPUに対して割り込みを
かけるための信号であるINT93の信号線を備えてい
る。
【0037】レジスタ90は、第1のCPU83が第1
のFIFOメモリ86または、第2のFIFOメモリ8
7に対して、ライト要求を出した時、対象のFIFOメ
モリがフル状態であれば、FIFOメモリに対するライ
ト・データをFIFOメモリの代わりに保持し、また、
対象のFIFOメモリを識別するために、アドレスを保
持し、INT29を有効にして、第1のCPU83に対
して、割り込みをかける。このとき、WF92もWF9
5も無効のままである。
【0038】このように構成された第2実施例の動作を
次に説明する。ただし、第2のCPU84と第3のCP
U85の処理動作は、第1実施例における第2のCPU
72の処理動作(図12)と同様なので、説明を省略す
ることとする。図15は、第1のCPU83が実行する
処理動作を表したものである。第1のCPU83は、前
処理を行い(ステップ1)、第1のFIFOメモリ86
に書き込むデータがあるかを調べ、データがあれば(ス
テップ2;Y)、第1のFIFOメモリ86にデータを
書き込んで(ステップ3)、ステップ2に戻る。一方、
第1のFIFOメモリ1に書込むデータが無ければ(ス
テップ2;N)、第2のFIFOメモリ87に書き込む
データがあるかを調べる(ステップ4)。書き込むデー
タがあれば(ステップ4;Y)、第2のFIFOメモリ
87にデータを書込み(ステップ5)、ステップ4に戻
る。ステップ4で、第2のFIFOメモリ87に書き込
むデータが無ければステップ1に戻る。
【0039】図16は、割り込み処理ルーチンのフロー
チャートを示す。図16において、レジスタ90から、
アドレスを読み出し、対象となる第1または第2のFI
FOメモリを認識し(ステップ1)、レジスタ90から
第1または第2のFIFOメモリへのライト・データを
読み出す(ステップ2)。そして、対象となる第1また
は第2のFIFOメモリがフルでなくなるのをまって
(ステップ)、レジスタ90から読み出したデータを対
象の第1または第2のFIFOメモリに書込み(ステッ
プ4)、割り込み処理からリターンする。
【0040】
【発明の効果】以上説明したように、請求項1記載の発
明によれば、FIFOメモリ内に入っているデータ数を
計数する手段を持ち、これを外部から読み出しできるの
で、FIFOメモリの状態チェックを毎回行う必要がな
い。また、完全にFIFOメモリ内にデータの書き込み
が終了するまで、待つ必要もないので、処理速度が大幅
に向上する。請求項2記載の発明では、FIFOメモリ
が読み出し不可能状態にある時、データを読みだそうと
すると、データとして存在しないデータが読み出される
ので、CPUのデータ幅と、FIFOメモリのデータは
ばが同じであっても、エンプティ・フラグをリードする
ためのリード・オペレーションが不要となり、処理の高
速化を図ることができる。請求項3記載の発明では、F
IFOメモリのデータ転送に使用しないデータ・バスの
ビットを使って、データが有効であるかどうかを示すの
で、FIFOメモリにどの様なデータが存在しても、エ
ンプティ・フラグをリードするためのリード・オペレー
ションは不要となり、処理の高速化を図ることができ
る。請求項4記載の発明によれば、FIFOメモリのラ
イト・アドレスと同じライト・アドレスとして、レジス
タを持っていて、FIFOメモリにライトが行えない時
に、ライト・データを保持して、そのバス・サイクルを
終了させ、CPUに割り込みをかけるので、割り込みを
受けない、リフレッシュができないという問題点を発生
指せずに、FIFOメモリのフル・フラグ・チェックを
不要にする。このため、処理の高速化が図れる。請求項
5記載の発明では、複数のFIFOメモリのライト・ア
ドレスと同じライト・アドレスとして、レジスタを持っ
ていて、FIFOメモリにライトが行えない時に、ライ
ト・データと、対象のFIFOメモリを識別するための
情報を保持するので、FIFOメモリの個数分のライト
・データを保持用のレジスタを備えずに、複数のFIF
Oメモリに対して、請求項1の効果が得られる。
【図面の簡単な説明】
【図1】第1発明のデータ処理装置における実施例の構
成図である。
【図2】同上、データ数カウンタの構成図である。
【図3】同上、データ数カウンタの各部における信号の
タイムチャートである。
【図4】同上、第2のCPUがFIFOメモリからデー
タを読み出すときのフローチャートである。
【図5】第2発明のデータ処理装置における第1実施例
の構成図である。
【図6】同上、第1実施例の第1の処理ユニットにおけ
る動作を示すフローチャートである。
【図7】同上、第1実施例の第2の処理ユニットにおけ
る動作を示すフローチャートである。
【図8】第2発明のデータ処理装置における第2実施例
の構成図である。
【図9】同上、第2実施例の第2の処理ユニットにおけ
る動作を示すフローチャートである。
【図10】第3発明のデータ処理装置における第1実施
例の構成図である。
【図11】同上、第1の実施例における第1のCPUの
処理動作を示すフローチャートである。
【図12】同上、第2のCPUの処理動作を示すフロー
チャートである。
【図13】同上、割り込みの処理ルーチンを示すフロー
チャートである。
【図14】第3発明のデータ処理装置における第2実施
例の構成図である。
【図15】同上、第2実施例における第1のCPUの処
理動作を示すフローチャートである。
【図16】同上、割り込み処理ルーチンを示すフローチ
ャートである。
【符号の説明】
1 第1のCPU 5 FIFOメモリ 6 第2のCPU 10 データ数カウンタ 11 ライトカウンタ 13 リードカウンタ 15 レジスタ 16 減算器 17 バッファ 31、51 第1の処理ユニット 32、52 第2の処理ユニット 33、53 FIFOメモリ 34、変換器 54 16ビット/32ビット変換器 71 第1のCPU 72 第2のCPU 73 FIFOメモリ 76 レジスタ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 複数の処理ユニット間をFIFOメモリ
    でインタフェースすることで、各処理ユニットが並列に
    動作するように構成したデータ処理装置において、 前記FIFOメモリに格納されているデータ数を係数す
    る係数手段と、 この係数手段による係数値を読み出す読み出し手段とを
    具備することを特徴とするデータ処理装置。
  2. 【請求項2】 複数の処理ユニット間をFIFOメモリ
    でインタフェースすることで、各処理ユニットが並列に
    動作するように構成したデータ処理装置において、 処理ユニットからの読み出し要求に対して前記FIFO
    メモリが読み出し可能状態にあるか否かを判断する状態
    判断手段と、 この状態判断手段で前記FIFOメモリが読み出し可能
    であると判断された場合にFIFOメモリの出力データ
    をそのまま前記処理ユニットに供給し、読み出し不可能
    状態と判断された場合にデータとして存在しないパター
    ンのデータを前記読み出し要求のあった処理ユニットに
    供給するデータ供給手段とを具備することを特徴とする
    データ処理装置。
  3. 【請求項3】 データ供給手段は、FIFOメモリのデ
    ータ・バス幅よりも多いデータ・バス幅の処理ユニット
    からのデータ・リード要求に対して、前記FIFOメモ
    リのデータ転送に使用しないバスのビットを使用して、
    データが有効であるか否かの信号を供給することを特徴
    とする請求項2記載のデータ処理装置。
  4. 【請求項4】 複数の処理ユニット間をFIFOメモリ
    でインタフェースすることで、各処理ユニットが並列に
    動作するように構成したデータ処理装置において、 前記FIFOメモリのライト・アドレスと同一のライト
    ・アドレスとしてマッピングされたレジスタと、 前記FIFOメモリにデータを書込みできないときに前
    記レジスタに当該データを格納し、処理ユニットに対し
    て割り込みを行う手段とを具備することを特徴とするデ
    ータ処理装置。
  5. 【請求項5】 複数の処理ユニット間を複数のFIFO
    メモリでインタフェースすることで、各処理ユニットが
    並列に動作するように構成したデータ処理装置におい
    て、 前記複数のFIFOメモリのライト・アドレスと同一の
    ライトアドレスとしてマッピングされたレジスタと、 データを所定のFIFOメモリに書込みできないときに
    前記レジスタに当該データと対象となる所定のFIFO
    メモリを識別する情報とを格納し、処理ユニットに対し
    て割り込みを行う手段とを具備することを特徴とするデ
    ータ処理装置。
JP22840091A 1991-08-12 1991-08-12 データ処理装置 Pending JPH0546547A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22840091A JPH0546547A (ja) 1991-08-12 1991-08-12 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22840091A JPH0546547A (ja) 1991-08-12 1991-08-12 データ処理装置

Publications (1)

Publication Number Publication Date
JPH0546547A true JPH0546547A (ja) 1993-02-26

Family

ID=16875876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22840091A Pending JPH0546547A (ja) 1991-08-12 1991-08-12 データ処理装置

Country Status (1)

Country Link
JP (1) JPH0546547A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442627B1 (en) 1999-07-06 2002-08-27 Mitsubishi Denki Kabushiki Kaisha Output FIFO data transfer control device
US6697889B2 (en) 2000-04-07 2004-02-24 Renesas Technology Corp. First-in first-out data transfer control device having a plurality of banks

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6442627B1 (en) 1999-07-06 2002-08-27 Mitsubishi Denki Kabushiki Kaisha Output FIFO data transfer control device
US6697889B2 (en) 2000-04-07 2004-02-24 Renesas Technology Corp. First-in first-out data transfer control device having a plurality of banks

Similar Documents

Publication Publication Date Title
US4949301A (en) Improved pointer FIFO controller for converting a standard RAM into a simulated dual FIFO by controlling the RAM's address inputs
TW521186B (en) Sequencing method for accessing shared system resources and its bridging system
JPH02223091A (ja) コンピュータメモリシステム
US20020019911A1 (en) Distributed high-speed memory controller
EP0384621B1 (en) Data transfer operations between two asynchronous buses
US6272583B1 (en) Microprocessor having built-in DRAM and internal data transfer paths wider and faster than independent external transfer paths
US5129065A (en) Apparatus and methods for interface register handshake for controlling devices
US5627968A (en) Data transfer apparatus which allows data to be transferred between data devices without accessing a shared memory
JPH0546547A (ja) データ処理装置
EP0550976B1 (en) Memory accessing device using address pipeline
JP2001290700A (ja) 出力fifoデータ転送制御装置
US20070198754A1 (en) Data transfer buffer control for performance
JP2000082019A (ja) データ転送制御装置
JP2574821B2 (ja) ダイレクトメモリアクセス・コントローラ
JP3037242B2 (ja) パイプライン処理回路
JPS61131033A (ja) リングバツフアの制御方式
JPH0447350A (ja) 主記憶読み出し応答制御方式
JP3063501B2 (ja) メモリアクセス制御方式
JP2001243170A (ja) データ転送装置
JPH0236442A (ja) メモリ管理方法
JPS60123944A (ja) 情報処理装置におけるバツフアメモリ制御方式
JPH0944447A (ja) インターフェース回路
JPH036762A (ja) イメージメモリのダイレクトアクセス方法
JPS589274A (ja) 書込デ−タバツフア制御装置
JPH066358A (ja) トークン制御方法およびその装置