JP3618249B2 - Data transfer device - Google Patents

Data transfer device Download PDF

Info

Publication number
JP3618249B2
JP3618249B2 JP08423199A JP8423199A JP3618249B2 JP 3618249 B2 JP3618249 B2 JP 3618249B2 JP 08423199 A JP08423199 A JP 08423199A JP 8423199 A JP8423199 A JP 8423199A JP 3618249 B2 JP3618249 B2 JP 3618249B2
Authority
JP
Japan
Prior art keywords
data
access
memory
output
data input
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
JP08423199A
Other languages
Japanese (ja)
Other versions
JP2000029777A (en
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP08423199A priority Critical patent/JP3618249B2/en
Publication of JP2000029777A publication Critical patent/JP2000029777A/en
Application granted granted Critical
Publication of JP3618249B2 publication Critical patent/JP3618249B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、複数種類のデータを転送するデータ転送装置に関する。
【0002】
【従来の技術】
近年、MPEG復号化装置等では、処理すべきデータが多量で且つそのデータの種類が多くなり、またデータ処理の複雑化にも伴って、大容量のメモリが必要になってきている。これ等大容量のメモリとしては、民生用電子機器に用いる場合には、DRAM、SDRAM、又はRAMBUS-DRAM等が使用される。これ等メモリは、ランダムアクセスするよりも、連続したアドレスに対して連続してデータをアクセスする方が、これ等メモリに対するデータ転送効率が向上する点に特徴を持つ。しかし、MPEG復号処理では、圧縮データの転送速度、映像信号の出力、及び音声信号の出力等は、メモリアクセス速度に比べて時間的に低速である性質を持っている。従って、多量の圧縮データ、映像データ、音声データ等を前記DRAM等のメモリに対して低速でアクセスすると、DRAM等のメモリに対するメモリ転送効率は著しく低下する。このため、従来では、前記多量の圧縮データ、映像データ、音声データ等を各々一次的に蓄えておくバッファメモリを設け、これ等バッファメモリに各々一定量のデータが貯まれば、それ等データを連続且つ高速にDRAM等のメモリに転送して、メモリ転送効率を高めている。
【0003】
しかしながら、前記従来のデータ転送装置では、前記多量の圧縮データ、映像データ、音声データ等のデータの種類毎にバッファメモリを持つため、扱うデータの種類が増えるほど、使用するバッファメモリの個数が増加すると共に、データの種類毎にデータ転送バスを設ける必要があって、それ等バスの配線面積も増加し、その結果、回路面積が大規模になる欠点があった。
【0004】
そこで、従来、非同期な複数の種類のデータ間で1個のバッファメモリを共用したデータ転送装置が知られている。この転送装置では、複数種類のデータを種類別に入出力する複数のデータ入出力回路を設け、これ等入出力回路に対して前記共用バッファメモリに対するアクセス優先順位を割り当て、アクセス優先順位の高い入出力回路から順に共用バッファメモリに対してアクセス可能なように構成すると共に、各データ入出力回路別に第2のバッファメモリを設け、何れかの入出力回路と前記共用バッファメモリとの間でデータの入出力が行われている際に、他のデータを前記対応する第2のバッファメモリに格納する構成を採用する。
【0005】
【発明が解決しようとする課題】
しかしながら、このデータ転送装置では、アクセス優先順位が低いデータ入出力回路では共用バッファメモリに対するアクセスが所望の時間内に行われず、所望時間内のアクセスが保証されない。具体的に説明すると、アクセス優先順位が最高のデータ入出力回路では、アクセス要求毎にアクセスが許可されて、所望時間内のアクセスが保証されるものの、アクセス優先順位が低いデータ入出力回路では、そのアクセス要求がアクセス優先順位の高い入出力回路のアクセス要求と競合すると、アクセス要求は許可されず、従って、所望時間内のアクセスが保証されない。その結果、アクセス優先順位の低い入出力回路では、第2のバッファメモリとして、必要以上に大容量のメモリを使用する必要があった。
【0006】
一方、アクセス優先順位に関しては、米国特許5,533,205に開示される技術がある。この技術は、バスを一連のタイムフレームに分割し、この各タイムフレームを細分してより小さな時間間隔とした上で、選択された時間間隔の間に、バスアクセスの優先順位を示すために使用する調停レベルインジケータの順序を、特定のプレゼンテーション装置に関連して一時的に変更することにより、各データ入出力回路に必要なデータ転送速度でのバスアクセスを保証するようにしている。しかし、この技術では、バスアクセスの優先順位を微小時間間隔毎に変更するため、その変更に必要な構成が複雑になる。
【0007】
本発明の目的は、複数のデータ入出力回路で1個のバッファメモリを共有しながら、簡単な構成でもって、複数種類のデータの転送を各々所望の期間内に行い得ることを保証するデータ転送装置を提供することにある。
【0008】
【課題を解決するための手段】
以上の目的を達成するため、本発明では、各データ入出力回路に対して、メモリアクセス優先順位とメモリアクセス要求発行間隔とを割り当てる。
【0009】
即ち、請求項1記載の本発明のデータ転送装置は、データを入力し又は出力する複数のデータ入出力手段と、前記複数のデータ入出力手段で共用され、前記複数のデータ入出力手段との間でデータを入出力するバッファメモリとしてのメモリ手段と、前記複数のデータ入出力手段から前記メモリ手段に対するアクセス要求を調停する調停手段とを備え、前記各データ入力出力手段は、前記メモリ手段に対するアクセスの優先順位を予め割り当てられ、前記メモリ手段に対するアクセス要求を所定の時間間隔で発行可能であり、前記調停手段は、前記複数のデータ入出力手段からのアクセス要求を受け、これら複数のデータ入出力手段からのアクセス要求を、前記メモリ手段の単位アクセスサイクル毎に調停して、このアクセス要求を受けた前記複数のデータ入出力手段に対して、前記アクセス優先順位の高い順にメモリアクセスを許可し、前記複数のデータ入出力手段は、各々、前記調停手段によりメモリアクセスが許可されたとき、前記メモリ手段の単位アクセスサイクル時間に等しい時間に限って前記メモリ手段に対するアクセスが可能であることを特徴とする。
【0010】
また、請求項2記載の発明は、前記請求項1記載のデータ転送装置において、前記調停手段は、アクセス要求を受けた前記データ入出力手段のうち、前記アクセス優先順位の最も高いデータ入出力手段に対してアクセスを許可し、前記各データ入出力手段は、前記調停手段によりアクセス要求が許可されなかったとき、前記所定の時間間隔に拘わらず再度アクセス要求を発行することを特徴としている。
【0011】
加えて、請求項3記載の発明は、前記請求項1又は2記載のデータ転送装置において、前記各データ入出力手段は、データが入力される入力手段と、前記メモリ手段に対するアクセス要求間隔と前記アクセス要求の発行後からこのアクセス要求が許可されるまでの期間との合計期間の間に前記入力手段に入力されるデータの量を、少なくとも記憶する容量の入力データ記憶手段とを備えることを特徴とする。
【0012】
更に加えて、請求項4記載の発明は、前記請求項1又は2記載のデータ転送装置において、前記各データ入出力手段は、データを出力する出力手段と、前記メモリ手段に対するアクセス要求間隔と前記アクセス要求の発行後からこのアクセス要求が許可されるまでの期間との合計期間の間に前記出力手段から出力されるデータの量を、少なくとも記憶する容量の出力データ記憶手段とを備えることを特徴とする。
【0013】
以上の構成により、請求項1から請求項4記載の発明では、複数のデータ入出力手段で1個のメモリ手段を共有する場合に、各データ入出力手段に対してメモリアクセス優先順位とアクセス要求の発行間隔とを割り当てて、各データ入出力手段のメモリ手段に対するアクセス要求の時間間隔を所定間隔に設定したので、各々のデータ入出力手段のメモリ手段に対するアクセスが所望の時間内に確実に行われる。従って、各データ入出力手段に備える第2のバッファメモリ(入力データ記憶手段又は出力データ記憶手段)の容量を予め明確に把握できて、これ等の容量を従来よりも低減できる。
【0014】
特に、各データ入出力手段からのアクセス要求の調停を、メモリ手段の単位アクセスサイクル毎に行うので、各データ入出力手段に備える第2のバッファメモリの容量を必要最小限の容量にできる。
【0015】
また、請求項3及び請求項4記載の発明では、各データ入出力手段のデータ記憶容量が、メモリ手段に対するアクセス要求間隔とアクセス要求の発行から許可までの期間との合計期間の間に入出力するデータ量を少なくとも記憶する容量に明確に決定される。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
【0017】
本実施の形態では、2つのデータストリームを実時間転送する場合を例に挙げて説明することとし、2つの処理として、MPEG音声データの復号出力処理と、MPEG映像データの復号処理出力処理とを例示する。
【0018】
図1は、本発明の実施の形態のデータ転送装置のブロック図を示す。同図において、メモリ手段(バッファメモリ)10はデータを記憶する機能を有し、具体的には、最小アクセスサイクルを20ナノ秒、記憶容量を4KBとするSRAMである。このメモリ手段10は、図で破線で囲む1チップの外に配置されるSDRAMで構成される他のメモリ手段6とデータを入出力する。
【0019】
第1のデータ入出力手段1は、映像データの出力を行い、メモリ手段10に対するメモリアクセス優先順位として最も高いレベル"0"を割り当てられ、調停手段30に対してメモリアクセス要求信号20を2サイクル以上の間隔をあけて発行可能である。ここで、メモリアクセス優先度は数値が小さいほど優先順位が高いこととする。図2は前記第1のデータ入出力手段1のブロック図を示す。図2の第1のデータ入出力手段1において、出力データ記憶手段50は、メモリ手段10から読み出したデータを記憶する。データアクセス制御手段51は出力データ記憶手段50の有効データ量を管理し、調停手段30に対してメモリアクセス要求信号20を発行する。出力手段52は、前記出力データ記憶手段50からのデータをCRTに出力する機能を有し、具体的にはビデオ用D/Aコンバータで構成される。
【0020】
図1において、第2のデータ入出力手段2は、音声データの出力を行い、メモリ手段10に対するメモリアクセス優先順位としてレベル"1"を割り当てられ、調停手段30に対してメモリアクセス要求信号21を4サイクル以上の間隔をあけて発行可能である。但し、調停によりアクセスが許可されなければ、引続きメモリアクセス要求信号21を発行する。図3は第2のデータ入出力手段2のブロック図を示す。図3の第2のデータ入出力手段2において、出力データ記憶手段60はメモリ手段10から読み出したデータを記憶する。データアクセス制御手段61は出力データ記憶手段60の有効データ量を管理し、調停手段30に対してメモリアクセス要求信号21を発行する。出力手段62は出力データ記憶手段60のデータをスピーカに出力する機能を有し、具体的には音声用D/Aコンバータ、又はIEC956規格のデータフォーマット変換出力回路で構成される。
【0021】
また、図1において、第3のデータ入出力手段3は、MPEG符号化映像データの復号処理が行われた映像データを出力するため、メモリ手段10に対して前記復号された映像データを書き込む。第3のデータ入出力手段3は、メモリアクセス優先順位としてレベル"2"を割り当てられ、調停手段30に対してメモリアクセス要求信号22を8サイクル以上の間隔をあけて発行可能である。但し、調停によりアクセスが許可されなければ、引続きメモリアクセス要求信号22を発行する。図4はデータ入出力手段3のブロック図を示す。図4の第3のデータ入出力手段2において、入力手段72は、MPEG映像復号装置で処理されたデータを入力する。入力データ記憶手段70はメモリ手段10に対して書き込むべき前記入力されたデータを記憶する。データアクセス制御手段71は入力データ記憶手段70の有効データ量を管理し、調停手段30に対してメモリアクセス要求信号22を発行する。
【0022】
前記第3のデータ入出力手段3は、MPEG符号化映像データの復号化処理が行なわれたデータを、第3の入力手段72に入力した後、この入力手段72から第3の入力データ記憶手段70に書き込む。第3のデータアクセス制御手段71は、第3の入力データ記憶手段70を調べ、メモリ手段10に対して書き込み可能な有効データが存在し且つ前回のメモリアクセス要求を発行してから今回のメモリアクセス要求発行までの間隔が、第3のデータ入出力手段3に割り当てられているアクセス要求間隔と等しいか又はそれ以上であれば、調停手段30に対してメモリアクセス要求を発行する。調停手段30が第3のデータ入出力手段3に対してメモリアクセスを許可すれば、第3のデータアクセス制御手段71は、入力バス12に第3の入力データ記憶手段70のデータを出力する。
【0023】
更に、図1において、第4のデータ入出力手段4は、MPEG符号化音声データの復号処理が行なわれた音声データを出力するため、メモリ手段10に対して復号した音声データを書き込む。第4のデータ入出力手段4は、メモリアクセス優先順位としてレベル"3"を割り当てられ、調停手段30に対してメモリアクセス要求信号23を8サイクル以上の間隔をあけて発行可能である。但し、調停によりアクセスが許可されなければ、引続きメモリアクセス要求信号23を発行する。図5は第4のデータ入出力手段4のブロック図を示す。同図のデータ入出力手段4において、入力手段82は、MPEG音声復号装置で処理されたデータを入力する。入力データ記憶手段80はメモリ手段10に対して書き込むべき前記入力されたデータを記憶する。データアクセス制御手段81は入力データ記憶手段80の有効データ量を管理し、調停手段30に対してメモリアクセス要求信号23を発行する。
【0024】
図1において、出力バス11は、メモリ手段10から読み出されたデータを第1から第4のデータ入出力手段1〜4に転送するバスである。入力バス12は、第3及び第4のデータ入出力手段3、4から出力されたデータをメモリ手段10に書き込むために転送するバスである。
【0025】
調停手段30は、データアクセス要求信号20〜23を調べ、各データ入出力手段1〜4に割り当てられているメモリアクセス優先順位に基づき、メモリ手段10の最小アクセスサイクル単位(20ナノ秒)毎に、メモリ手段10に対するメモリアクセス調停を行う。
【0026】
アクセス情報記憶手段31は、各データ入出力手段1〜4がメモリ手段10に対してアクセスするアクセス情報(複数のデータ入出力手段1〜4のメモリ手段10に対するアドレス情報及び書き込み又は読み出し動作を示すリード/ライト情報を含む)を記憶し、調停手段30の調停結果によってメモリアクセス許可を与えられたデータ入出力手段のアクセス情報をメモリ手段10に発行し、その後、次のメモリアクセスのためにアクセス情報を更新する。
【0027】
図6はアクセス情報記憶手段31のブロック図を示す。同図において、第1〜第4のアクセス情報記憶部90〜120は、各々、第1〜第4のデータ入出力手段1〜4のアクセス情報を記憶する。
【0028】
第1、第2、第3及び第4のメモリポインタ情報91、101、111、121は、各々、第1〜第4のデータ入出力手段1〜4がメモリ手段10に対して書き込み又は読み出しを行なうアドレス値(アドレス情報)を記憶する。第1、第2、第3及び第4の上限メモリポインタ情報92、102、112、122は、各々、第1〜第4のメモリポインタ情報91〜121が取り得る最大のポインタ値(上限アドレス)である。また、第1、第2、第3及び第4の下限メモリポインタ情報93、103、113、123は、各々、第1〜第4のメモリポインタ情報91〜121が取り得る最小のポインタ値(初期アドレス)である。更に、第1、第2、第3及び第4のリードライト情報94、104、114、124は、各々、データ入出力手段1〜4が、メモリ手段10に対して読み出しアクセス又は書き込みアクセスの何れを行なうかを示す制御情報である。
【0029】
アクセス情報制御部130は、アクセス情報記憶部90〜120が管理するメモリポインタ情報を更新、制御し、調停手段30が調停したデータ入出力手段に対するアクセス情報をメモリ制御手段32に出力する。
【0030】
図1において、メモリ制御手段32は、メモリ手段10に対して、アクセス情報記憶手段31が発行するアドレス情報と、データアクセスを行うために必要なリード/ライト制御信号とを発生する。
【0031】
図7はメモリ制御手段32の動作タイミング図である。同図において、ステップ1では、調停手段30は、全てのデータ入出力手段1〜4が発行するメモリアクセス要求20〜23を調べ、メモリ手段10の単位メモリアクセスサイクル毎にデータ入出力手段1〜4から発行されるメモリアクセス要求のうち優先順位が最も高いデータ入出力手段に対してアクセスを許可する。
【0032】
ステップ2では、調停手段30によってメモリアクセス許可を与えられたデータ入出力手段は、メモリ手段10に対してデータ出力(書き込み)を行なうのであれば、メモリ手段10に書き込むデータを入力バス12に出力する。
【0033】
ステップ3では、アクセス情報記憶手段31は、前記ステップ1で調停されたデータ入出力手段に対応するアクセス情報を出力する。メモリ制御手段32は、前記アクセス情報記憶手段31が出力するアクセス情報をもとに、メモリ手段10に対して、メモリアクセスを行なうためのアドレス情報及びリードライト制御信号を出力する。アクセス情報制御部130は、前記ステップ1でメモリアクセスが許可されたデータ入出力手段のメモリポインタ情報を次のデータアクセスのために更新する。
【0034】
ステップ4では、メモリ制御手段32は、ステップ3でのメモリアクセスが読み出しであれば、メモリ手段10から読み出したデータを出力バス11に出力する。
【0035】
前記ステップ1〜4の処理は、メモリ手段10の単位メモリアクセスサイクル毎に順次実行され、ステップ1〜4までの処理が並行して動作するので、単位メモリアクセスサイクル毎に同一又は異なったデータ入出力手段からのデータを調停し、複数のデータ入出力手段1〜4は、各々、図7の第1〜第4の処理から判るように、ステップ1の単位メモリアクセスサイクルの「アクセス調停」において前記調停手段30によりメモリアクセス許可を与えられたときには、何れも、その優先順位に拘わらず、そのアクセス調停が行われた単位メモリアクセスサイクルの2サイクル後のステップ3の「メモリアクセス」において、その単位メモリアクセスサイクル時間に等しい時間に限ってメモリ手段10に対するアクセスが可能であり、この「メモリアクセス」の単位メモリアクセス時間が終了すると、必ずそのメモリアクセス動作が終了して、次の単位メモリアクセスサイクルである「出力データ出力」動作に移行する。
【0036】
調停手段30は、単位メモリアクセスサイクル毎に調停を行ない、本実施の形態では、データ入出力手段1〜4がデータアクセス要求を発行していた場合、最も優先度の高い第1のデータ入出力手段1に対してデータアクセスを許可する。図8は本実施の形態におけるメモリ調停のタイミング図である。第1〜第4のデータ入出力手段1〜4がメモリアクセス要求を発行してから、メモリアクセス許可を受け取るまでに必要な最大の期間(時間)について、図8を用いて説明する。前述したように、メモリ手段10に対するメモリアクセス優先順位は、第1のデータ入出力手段1>第2のデータ入出力手段2>第3のデータ入出力手段3>第4のデータ入出力手段4の順に高く、第1から第4のデータ入出力手段1〜4の共用メモリ手段10に対するアクセス要求の発行間隔は、各々、2サイクル、4サイクル、8サイクル、8サイクルである。
【0037】
同図において、サイクルA〜サイクルHまでの各サイクルは、単位メモリアクセスサイクルを示す。
【0038】
先ず、サイクルAでは、調停手段30は、第1から第4のデータ入出力手段1〜4が、各々、メモリアクセス要求を発行しているので、優先順位の最も高い第1のデータ入出力手段1に対してメモリアクセス許可を発行する。
【0039】
サイクルBでは、サイクルAでメモリアクセスを行なうことができなかった第2〜第4のデータ入出力手段2〜4が引続きメモリアクセス要求を発行し、調停手段30は、アクセス要求を受けたデータ入出力手段2〜4のうちメモリアクセス優先順位の最も高い第2のデータ入出力手段2に対してメモリアクセス許可を発行する。
【0040】
サイクルCでは、第1のデータ入出力手段1は最短2サイクルに1回メモリアクセス要求を発行するので、調停手段30は第1のデータ入出力手段1に対してメモリアクセス許可を発行する。
【0041】
サイクルDでは、前記サイクルCでメモリアクセスを行なうことができなかった第3及び第4のデータ入出力手段3、4が引続きメモリアクセス要求を発行し、調停手段30は、アクセス要求を受けたデータ入出力手段3、4のうちメモリアクセス優先順位の最も高い第3のデータ入出力手段3に対してメモリアクセス許可を発行する。
【0042】
サイクルEでは、前記サイクルCで第1のデータ入出力手段1、第2のデータ入出力手段2、及び第4のデータ入出力手段4がメモリアクセス要求を発行し、調停手段30は、アクセス要求を受けたデータ入出力手段1、2、4のうちメモリアクセス優先順位の最も高い第1のデータ入出力手段1に対してメモリアクセス許可を発行する。
【0043】
調停手段30は、以下同様にメモリアクセスの調停を行い、サイクルHで第4のデータ入出力手段4に対してデータアクセス許可を与える。
【0044】
従って、第1のデータ入出力手段1は、データアクセス要求を発行したサイクルを含んで1サイクル後にデータアクセス許可を受け取ることができる。同様に、第2のデータ入出力手段2、第3のデータ入出力手段3、第4のデータ入出力手段4は、各々、データアクセス要求を発行したサイクルを含んで2サイクル後、4サイクル後、8サイクル後にデータアクセス許可を受け取ることができる。各データ入出力手段1〜4は、アクセス許可を受け取ったサイクルで、内蔵するデータ記憶手段50〜80のデータ記憶容量分のデータを共用メモリ手段10との間で入力又は出力する。
【0045】
以上の説明から判るように、第1〜第4のデータ入出力手段1〜4は、そのアクセス要求間隔が各々2、4、8、8サイクルであり、また、そのアクセス間隔(アクセス要求からアクセスが実際に行われるまでの期間)が1、2、4、8サイクルであって、何れの入出力手段もアクセス要求間隔以内でアクセスが実行されることが保証されている。
【0046】
次に、各データ入出力手段1〜4に内蔵するデータ記憶手段50〜80のデータ記憶容量を説明する。第4のデータ入出力手段4では、アクセス要求間隔が8サイクルであり、また、アクセス要求を発行した後からこの要求が許可されるまでの期間が図8から判るように7サイクルである。従って、自己のデータ入出力手段4よりも優先順位の高いデータ入出力手段1〜3が全てアクセス要求を今回は発行せず、次回は発行する最悪の場合を考慮すると、第4のデータ入出力手段4の入力データ記憶手段80の容量は、アクセス要求間隔(8サイクル)と、アクセス要求を発行した後からこの要求が許可されるまでの期間(7サイクル)との合計期間(15サイクル)の間、入力手段82から受けるデータの量を少なくとも記憶可能な容量に設定される。
【0047】
同様に、第3のデータ入出力手段3の入力データ記憶手段70の容量は、アクセス要求間隔(8サイクル)と、アクセス要求を発行した後からこの要求が許可されるまでの期間(3サイクル)との合計期間(11サイクル)の間、入力手段72から受けるデータの量を少なくとも記憶可能な容量に設定される。
【0048】
また、第2のデータ入出力手段2の出力データ記憶手段60の容量は、アクセス要求間隔(4サイクル)と、アクセス要求を発行した後からこの要求が許可されるまでの期間(1サイクル)との合計期間(5サイクル)の間、出力手段62に出力するデータの量を少なくとも記憶可能な容量に設定される。
【0049】
更に、第1のデータ入出力手段1の出力データ記憶手段50の容量は、アクセス要求間隔(2サイクル)と、アクセス要求を発行した後からこの要求が許可されるまでの期間(0サイクル)との合計期間(2サイクル)の間、出力手段52に出力するデータの量を少なくとも記憶可能な容量に設定される。
【0050】
従来では、各データ入出力手段1〜4に対してメモリアクセス間隔(アクセス要求からアクセスが実際に行われるまでの期間)が規定されていない。従って、メモリアクセス優先度の低いデータ入出力手段(例えば、第4のデータ入出力手段4)は、メモリアクセスするために、待たされる時間を1つの所定時間に想定することができず、入力データ記憶手段80の容量を特定することができない。その結果、実時間でデータの転送を行うことが困難となる。
【0051】
これに対し、本実施の形態によれば、複数のデータ入出力手段1〜4が共通のメモリ手段10を使用し、各データ入出力手段1〜4に対して、前記共有するメモリ手段10に対するアクセス優先順位と、メモリアクセス要求発行間隔とを割り当て、調停手段30がメモリ手段10の単位アクセスサイクル毎に、アクセス優先順位に基づいてメモリアクセス要求を調停することにより、各データ入出力手段1〜4の出力データ記憶手段50、60及び入力データ記憶手段70、80の容量を前記所定容量に特定することができるので、実時間でのデータ転送が可能となる。
【0052】
尚、本実施の形態では、第1〜第4のデータ入出力手段1〜4は、各々、メモリアクセス要求が許可されない場合には、引続いてメモリアクセス要求信号20〜23を出力する構成としたが、本発明はこれに限定されず、例えば各データ入出力手段1〜4は所定の時間間隔のみでメモリアクセス要求信号20〜23を出力し、調停手段30が同時に2以上のデータ入出力手段から各々メモリアクセス要求信号を受けた際には、そのうちメモリアクセス優先順位の最も高いデータ出力手段に対しアクセスを許可し、次のサイクルでその次にアクセス優先順位の高いデータ入出力手段に対しアクセスを許可することをサイクル毎に繰り返す構成を採用しても良い。
【0053】
また、本実施の形態のように、単位アクセスサイクル毎にアクセス要求を調停する構成とする場合には、出力データ記憶手段50、60及び入力データ記憶手段70、80の容量を必要最小限の容量に低減できる効果を奏する。
【0054】
更に、本実施の形態において、メモリ手段10に対してデータをアクセスするデータ入出力手段の数は"4"としたが、それ以上の個数でも、本実施の形態の動作、効果は基本的には変わらない。
【0055】
加えて、本実施の形態において、第1のデータ入出力手段1、第2のデータ入出力手段2、第3のデータ入出力手段3、第4のデータ入出力手段4を映像の出力、音声の出力、MPEG映像の復号処理、音声の復号処理を行なうようにしているが、メモリ手段10に対してデータを入出力する手段であれば、処理内容、データ内容は何ら制限されない。
【0056】
【発明の効果】
以上説明したように、請求項1から請求項4記載の発明のデータ転送装置によれば、複数のデータ入出力手段でメモリ手段を共有する場合に、各データ入出力手段の共有メモリ手段に対するアクセス要求の時間間隔を所定間隔に設定する構成とし、これにより、各データ入出力手段の共有メモリ手段に対するアクセスを所望時間内に確実に行うことを保証できるので、各データ入出力手段に備える第2のバッファメモリの容量を予め明確に把握できて、これ等の容量を従来よりも低減できる。
【0057】
特に、各データ入出力手段からのアクセス要求の調停を、メモリ手段の単位アクセスサイクル毎に行ったので、各データ入出力手段に備える第2のバッファメモリの容量を必要最小限の容量にできる。
【0058】
また、請求項3及び請求項4記載の発明によれば、各データ入出力手段のデータ記憶容量を、メモリ手段に対するアクセス要求間隔とアクセス要求の発行から許可までの期間との合計期間の間に入出力するデータ量を少なくとも記憶する容量に明確に決定できる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るデータ転送装置を示すブロック図である。
【図2】同実施の形態に係る第1データ入出力手段を示すブロック図である。
【図3】同実施の形態に係る第2データ入出力手段を示すブロック図である。
【図4】同実施の形態に係る第3データ入出力手段を示すブロック図である。
【図5】同実施の形態に係る第4データ入出力手段を示すブロック図である。
【図6】同実施の形態に係るアクセス情報記憶手段を示すブロック図である。
【図7】同実施の形態に係るメモリアクセスのタイミング図である。
【図8】同実施の形態に係るメモリ調停のタイミング図である。
【符号の説明】
1〜4 データ入出力手段
10 メモリ手段
11 出力バス
12 入力バス
20〜23 メモリアクセス要求信号
30 調停手段
31 アクセス情報記憶手段
32 メモリ制御手段
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a data transfer apparatus that transfers a plurality of types of data.
[0002]
[Prior art]
In recent years, an MPEG decoding apparatus or the like has a large amount of data to be processed and a large number of types of data, and a large-capacity memory is required as data processing becomes complicated. As such a large-capacity memory, DRAM, SDRAM, RAMBUS-DRAM, or the like is used when used for consumer electronic devices. These memories are characterized in that data transfer efficiency with respect to these memories is improved when data is successively accessed with respect to consecutive addresses, rather than with random access. However, in MPEG decoding processing, the transfer rate of compressed data, the output of video signals, the output of audio signals, and the like have the property of being slower in time than the memory access rate. Therefore, when a large amount of compressed data, video data, audio data, etc. are accessed at a low speed with respect to the memory such as the DRAM, the memory transfer efficiency to the memory such as the DRAM is remarkably lowered. For this reason, conventionally, a buffer memory for temporarily storing a large amount of compressed data, video data, audio data, etc. is provided. If a certain amount of data is stored in these buffer memories, the data is continuously stored. In addition, the memory transfer efficiency is increased by transferring the data to a memory such as a DRAM at high speed.
[0003]
However, since the conventional data transfer device has a buffer memory for each type of data such as the large amount of compressed data, video data, and audio data, the number of buffer memories to be used increases as the types of data to be handled increase At the same time, it is necessary to provide a data transfer bus for each type of data, which increases the wiring area of the bus, resulting in a disadvantage that the circuit area becomes large.
[0004]
Therefore, conventionally, a data transfer apparatus is known in which one buffer memory is shared among a plurality of types of asynchronous data. This transfer device is provided with a plurality of data input / output circuits for inputting / outputting a plurality of types of data according to the types, assigning an access priority to the shared buffer memory to these input / output circuits, and an input / output having a high access priority. The shared buffer memory is configured to be accessible in order from the circuit, and a second buffer memory is provided for each data input / output circuit, and data is input between any of the input / output circuits and the shared buffer memory. A configuration is adopted in which other data is stored in the corresponding second buffer memory during output.
[0005]
[Problems to be solved by the invention]
However, in this data transfer apparatus, in the data input / output circuit having a low access priority, access to the shared buffer memory is not performed within a desired time, and access within the desired time is not guaranteed. Specifically, in the data input / output circuit with the highest access priority, access is permitted for each access request and access within a desired time is guaranteed, but in the data input / output circuit with a low access priority, When the access request conflicts with an access request of an input / output circuit having a high access priority, the access request is not permitted, and access within a desired time is not guaranteed. As a result, in the input / output circuit having a low access priority, it is necessary to use a memory having a larger capacity than necessary as the second buffer memory.
[0006]
On the other hand, with regard to access priority, there is a technique disclosed in US Pat. No. 5,533,205. This technique is used to divide the bus into a series of time frames, subdivide each time frame into smaller time intervals and indicate the priority of bus access during the selected time interval. The order of the arbitration level indicators to be changed is temporarily changed in relation to a specific presentation device so as to guarantee bus access at a data transfer rate required for each data input / output circuit. However, in this technique, the priority order of bus access is changed every minute time interval, so that the configuration necessary for the change becomes complicated.
[0007]
SUMMARY OF THE INVENTION An object of the present invention is to provide a data transfer that guarantees that a plurality of types of data can be transferred within a desired period with a simple configuration while sharing a single buffer memory among a plurality of data input / output circuits. To provide an apparatus.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, in the present invention, a memory access priority and a memory access request issue interval are assigned to each data input / output circuit.
[0009]
In other words, the data transfer apparatus of the present invention according to claim 1 is shared by a plurality of data input / output means for inputting or outputting data, and the plurality of data input / output means. Memory means as a buffer memory for inputting / outputting data between them, and arbitrating means for arbitrating access requests from the plurality of data input / output means to the memory means, wherein each data input / output means is connected to the memory means. Access priorities are assigned in advance, and access requests to the memory means can be issued at predetermined time intervals. The arbitration means receives access requests from the plurality of data input / output means, and receives the plurality of data inputs. Before arbitrating the access request from the output means for each unit access cycle of the memory means, For a plurality of data output means, allow memory access in descending order of the access priorityEach of the plurality of data input / output means can access the memory means only for a time equal to the unit access cycle time of the memory means when memory access is permitted by the arbitration means.It is characterized by that.
[0010]
According to a second aspect of the present invention, in the data transfer apparatus according to the first aspect, the arbitration unit is a data input / output unit having the highest access priority among the data input / output units that have received an access request. The data input / output unit issues an access request again regardless of the predetermined time interval when the access request is not permitted by the arbitration unit.
[0011]
In addition, according to a third aspect of the present invention, in the data transfer apparatus according to the first or second aspect, each of the data input / output means includes: an input means for inputting data; an access request interval for the memory means; An input data storage unit having a capacity for storing at least the amount of data input to the input unit during a total period from the issuance of the access request until the access request is permitted And
[0012]
In addition, according to a fourth aspect of the present invention, in the data transfer apparatus according to the first or second aspect, each of the data input / output means includes: an output means for outputting data; an access request interval for the memory means; An output data storage unit having a capacity for storing at least the amount of data output from the output unit during a total period from the issuance of the access request until the access request is permitted And
[0013]
With the above configuration, according to the first to fourth aspects of the present invention, when one memory means is shared by a plurality of data input / output means, a memory access priority and an access request for each data input / output means. And the access request time interval to the memory means of each data input / output means is set to a predetermined interval, so that the access to the memory means of each data input / output means can be reliably performed within a desired time. Is called. Accordingly, the capacity of the second buffer memory (input data storage means or output data storage means) provided in each data input / output means can be clearly grasped in advance, and these capacities can be reduced as compared with the prior art.
[0014]
In particular, since arbitration of access requests from each data input / output unit is performed for each unit access cycle of the memory unit, the capacity of the second buffer memory provided in each data input / output unit can be reduced to the minimum necessary capacity.
[0015]
In the inventions according to claim 3 and claim 4, the data storage capacity of each data input / output unit is input / output during a total period of an access request interval for the memory unit and a period from the issuance of access requests to permission. The amount of data to be determined is clearly determined at least in the capacity for storing.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below with reference to the drawings.
[0017]
In the present embodiment, a case where two data streams are transferred in real time will be described as an example, and MPEG audio data decoding output processing and MPEG video data decoding output processing are performed as two processes. Illustrate.
[0018]
FIG. 1 shows a block diagram of a data transfer apparatus according to an embodiment of the present invention. In the figure, a memory means (buffer memory) 10 has a function of storing data. Specifically, it is an SRAM having a minimum access cycle of 20 nanoseconds and a storage capacity of 4 KB. This memory means 10 inputs and outputs data to and from other memory means 6 composed of SDRAM arranged outside one chip surrounded by a broken line in the figure.
[0019]
The first data input / output unit 1 outputs video data, is assigned the highest level “0” as the memory access priority for the memory unit 10, and sends the memory access request signal 20 to the arbitration unit 30 for two cycles. It can be issued with the above interval. Here, it is assumed that the memory access priority is higher as the numerical value is smaller. FIG. 2 shows a block diagram of the first data input / output means 1. In the first data input / output unit 1 of FIG. 2, the output data storage unit 50 stores the data read from the memory unit 10. The data access control means 51 manages the effective data amount of the output data storage means 50 and issues a memory access request signal 20 to the arbitration means 30. The output means 52 has a function of outputting the data from the output data storage means 50 to the CRT, and specifically comprises a video D / A converter.
[0020]
In FIG. 1, the second data input / output means 2 outputs audio data, is assigned a level “1” as a memory access priority for the memory means 10, and sends a memory access request signal 21 to the arbitration means 30. Issued at intervals of 4 cycles or more. However, if the access is not permitted due to arbitration, the memory access request signal 21 is continuously issued. FIG. 3 shows a block diagram of the second data input / output means 2. In the second data input / output means 2 of FIG. 3, the output data storage means 60 stores the data read from the memory means 10. The data access control means 61 manages the effective data amount of the output data storage means 60 and issues a memory access request signal 21 to the arbitration means 30. The output means 62 has a function of outputting the data of the output data storage means 60 to the speaker, and specifically comprises an audio D / A converter or an IEC956 standard data format conversion output circuit.
[0021]
In FIG. 1, the third data input / output means 3 writes the decoded video data in the memory means 10 in order to output the video data on which the MPEG encoded video data has been decoded. The third data input / output means 3 is assigned the level “2” as the memory access priority order, and can issue the memory access request signal 22 to the arbitration means 30 with an interval of 8 cycles or more. However, if access is not permitted due to arbitration, the memory access request signal 22 is issued continuously. FIG. 4 shows a block diagram of the data input / output means 3. In the third data input / output means 2 shown in FIG. 4, the input means 72 inputs data processed by the MPEG video decoding apparatus. The input data storage means 70 stores the input data to be written to the memory means 10. The data access control means 71 manages the effective data amount of the input data storage means 70 and issues a memory access request signal 22 to the arbitration means 30.
[0022]
The third data input / output means 3 inputs the data subjected to the decoding process of the MPEG encoded video data to the third input means 72, and then inputs the third input data storage means from the input means 72. Write to 70. The third data access control means 71 checks the third input data storage means 70, and there is valid data that can be written to the memory means 10, and the current memory access is issued after issuing the previous memory access request. If the interval until the request is issued is equal to or longer than the access request interval assigned to the third data input / output unit 3, a memory access request is issued to the arbitrating unit 30. When the arbitrating unit 30 permits the third data input / output unit 3 to access the memory, the third data access control unit 71 outputs the data of the third input data storage unit 70 to the input bus 12.
[0023]
Further, in FIG. 1, the fourth data input / output means 4 writes the decoded audio data to the memory means 10 in order to output the audio data on which the MPEG encoded audio data has been decoded. The fourth data input / output unit 4 is assigned level “3” as the memory access priority order, and can issue the memory access request signal 23 to the arbitration unit 30 with an interval of 8 cycles or more. However, if access is not permitted due to arbitration, the memory access request signal 23 is continuously issued. FIG. 5 shows a block diagram of the fourth data input / output means 4. In the data input / output means 4 shown in the figure, an input means 82 inputs data processed by the MPEG audio decoding apparatus. The input data storage means 80 stores the inputted data to be written to the memory means 10. The data access control means 81 manages the effective data amount of the input data storage means 80 and issues a memory access request signal 23 to the arbitration means 30.
[0024]
In FIG. 1, an output bus 11 is a bus for transferring data read from the memory means 10 to the first to fourth data input / output means 1-4. The input bus 12 is a bus for transferring the data output from the third and fourth data input / output means 3 and 4 for writing to the memory means 10.
[0025]
The arbitrating unit 30 examines the data access request signals 20 to 23 and, for each minimum access cycle unit (20 nanoseconds) of the memory unit 10 based on the memory access priority assigned to each data input / output unit 1 to 4. The memory access arbitration for the memory means 10 is performed.
[0026]
The access information storage means 31 is access information that each data input / output means 1 to 4 accesses to the memory means 10 (shows address information and write / read operations for the memory means 10 of the plurality of data input / output means 1 to 4 (Including read / write information), and issues access information of the data input / output means to which the memory access permission is given by the arbitration result of the arbitration means 30 to the memory means 10, and then accesses for the next memory access Update information.
[0027]
FIG. 6 shows a block diagram of the access information storage means 31. In the figure, first to fourth access information storage units 90 to 120 store access information of first to fourth data input / output means 1 to 4, respectively.
[0028]
The first, second, third and fourth memory pointer information 91, 101, 111, 121 are written to or read from the memory means 10 by the first to fourth data input / output means 1 to 4, respectively. The address value (address information) to be performed is stored. The first, second, third, and fourth upper limit memory pointer information 92, 102, 112, and 122 are the maximum pointer values (upper limit addresses) that can be taken by the first to fourth memory pointer information 91 to 121, respectively. It is. The first, second, third, and fourth lower limit memory pointer information 93, 103, 113, and 123 are the minimum pointer values (initial values) that the first to fourth memory pointer information 91 to 121 can take. Address). Further, the first, second, third, and fourth read / write information 94, 104, 114, and 124 indicate that each of the data input / output means 1 to 4 performs read access or write access to the memory means 10. Is control information indicating whether or not to perform.
[0029]
The access information control unit 130 updates and controls the memory pointer information managed by the access information storage units 90 to 120, and outputs access information for the data input / output unit adjusted by the arbitration unit 30 to the memory control unit 32.
[0030]
In FIG. 1, the memory control unit 32 generates address information issued by the access information storage unit 31 and a read / write control signal necessary for performing data access to the memory unit 10.
[0031]
FIG. 7 is an operation timing chart of the memory control means 32. In the figure, in step 1, the arbitrating means 30 examines the memory access requests 20 to 23 issued by all the data input / output means 1 to 4, and the data input / output means 1 Access to the data input / output means having the highest priority among the memory access requests issued from 4 is permitted.
[0032]
In step 2, if the data input / output means given the memory access permission by the arbitrating means 30 outputs (writes) data to the memory means 10, the data written in the memory means 10 is output to the input bus 12. To do.
[0033]
In step 3, the access information storage unit 31 outputs access information corresponding to the data input / output unit arbitrated in step 1. The memory control unit 32 outputs address information and a read / write control signal for performing memory access to the memory unit 10 based on the access information output from the access information storage unit 31. The access information control unit 130 updates the memory pointer information of the data input / output means for which memory access is permitted in Step 1 for the next data access.
[0034]
In step 4, if the memory access in step 3 is read, the memory control means 32 outputs the data read from the memory means 10 to the output bus 11.
[0035]
The processes in steps 1 to 4 are sequentially executed for each unit memory access cycle of the memory means 10 and the processes in steps 1 to 4 operate in parallel. Therefore, the same or different data input is performed for each unit memory access cycle. Mediates data from output means,As can be seen from the first to fourth processes in FIG. 7, each of the plurality of data input / output means 1 to 4 grants memory access permission by the arbitration means 30 in the “access arbitration” of the unit memory access cycle in step 1. When given, in any case, regardless of the priority order, in the “memory access” in step 3 two cycles after the unit memory access cycle in which the access arbitration is performed, the time is equal to the unit memory access cycle time. Only the memory means 10 can be accessed. When the unit memory access time of this “memory access” ends, the memory access operation always ends, and the “output data output” operation which is the next unit memory access cycle Migrate to
[0036]
The arbitration unit 30 performs arbitration for each unit memory access cycle. In this embodiment, when the data input / output units 1 to 4 have issued data access requests, the first data input / output with the highest priority is performed. Data access is permitted to the means 1. FIG. 8 is a timing chart of memory arbitration in the present embodiment. The maximum period (time) required from when the first to fourth data input / output means 1 to 4 issue a memory access request until receiving the memory access permission will be described with reference to FIG. As described above, the memory access priority for the memory means 10 is as follows: first data input / output means 1> second data input / output means 2> third data input / output means 3> fourth data input / output means 4 The issuance intervals of access requests to the shared memory means 10 of the first to fourth data input / output means 1 to 4 are 2 cycles, 4 cycles, 8 cycles, and 8 cycles, respectively.
[0037]
In the figure, each cycle from cycle A to cycle H represents a unit memory access cycle.
[0038]
First, in the cycle A, the arbitration unit 30 is the first data input / output unit having the highest priority since the first to fourth data input / output units 1 to 4 each issue a memory access request. 1 issues memory access permission.
[0039]
In cycle B, the second to fourth data input / output means 2 to 4 that could not perform memory access in cycle A continue to issue memory access requests, and the arbitration means 30 receives the data input that received the access request. A memory access permission is issued to the second data input / output means 2 having the highest memory access priority among the output means 2 to 4.
[0040]
In cycle C, the first data input / output unit 1 issues a memory access request once every two cycles, so the arbitration unit 30 issues a memory access permission to the first data input / output unit 1.
[0041]
In cycle D, the third and fourth data input / output means 3 and 4 that were not able to access the memory in cycle C continue to issue memory access requests, and the arbitration means 30 receives the access request data A memory access permission is issued to the third data input / output means 3 having the highest memory access priority among the input / output means 3 and 4.
[0042]
In cycle E, in cycle C, the first data input / output means 1, the second data input / output means 2, and the fourth data input / output means 4 issue a memory access request, and the arbitration means 30 The memory access permission is issued to the first data input / output means 1 having the highest memory access priority among the data input / output means 1, 2, 4 received.
[0043]
Arbitration means 30 performs memory access arbitration in the same manner, and gives data access permission to fourth data input / output means 4 in cycle H.
[0044]
Therefore, the first data input / output unit 1 can receive the data access permission after one cycle including the cycle in which the data access request is issued. Similarly, the second data input / output means 2, the third data input / output means 3, and the fourth data input / output means 4 each include a cycle in which a data access request is issued, and after two cycles and four cycles later. The data access permission can be received after 8 cycles. Each data input / output means 1 to 4 inputs or outputs data corresponding to the data storage capacity of the built-in data storage means 50 to 80 with the shared memory means 10 in a cycle in which access permission is received.
[0045]
As can be seen from the above description, the access request intervals of the first to fourth data input / output means 1 to 4 are 2, 4, 8, and 8 cycles, respectively. Are actually 1, 2, 4, and 8 cycles, and it is guaranteed that all the input / output means are accessed within the access request interval.
[0046]
Next, the data storage capacity of the data storage means 50-80 built in each data input / output means 1-4 will be described. In the fourth data input / output means 4, the access request interval is 8 cycles, and the period from when the access request is issued until this request is granted is 7 cycles as can be seen from FIG. Accordingly, the data input / output units 1 to 3 having higher priority than the data input / output unit 4 of the self do not issue the access request this time, and considering the worst case of issuing the next time, the fourth data input / output unit is considered. The capacity of the input data storage means 80 of the means 4 is the total period (15 cycles) of the access request interval (8 cycles) and the period until the request is granted after the access request is issued (7 cycles). Meanwhile, the amount of data received from the input means 82 is set to at least a capacity that can be stored.
[0047]
Similarly, the capacity of the input data storage means 70 of the third data input / output means 3 is the access request interval (8 cycles) and the period after the access request is issued until this request is granted (3 cycles). During the total period (11 cycles), the amount of data received from the input means 72 is set to at least a storable capacity.
[0048]
Further, the capacity of the output data storage means 60 of the second data input / output means 2 includes an access request interval (4 cycles), a period from when an access request is issued until this request is permitted (1 cycle). During the total period (5 cycles), the amount of data to be output to the output means 62 is set to at least a storable capacity.
[0049]
Further, the capacity of the output data storage means 50 of the first data input / output means 1 includes an access request interval (2 cycles), a period from when an access request is issued until this request is permitted (0 cycle). During the total period (2 cycles), the amount of data to be output to the output means 52 is set to at least a storable capacity.
[0050]
Conventionally, a memory access interval (a period from an access request to an actual access) is not defined for each of the data input / output units 1 to 4. Accordingly, the data input / output means (for example, the fourth data input / output means 4) having a low memory access priority cannot assume the waiting time as one predetermined time for memory access, and the input data The capacity of the storage unit 80 cannot be specified. As a result, it becomes difficult to transfer data in real time.
[0051]
On the other hand, according to the present embodiment, a plurality of data input / output means 1 to 4 use a common memory means 10, and each data input / output means 1 to 4 is connected to the shared memory means 10. An access priority and a memory access request issuance interval are allocated, and the arbitration unit 30 arbitrates the memory access request based on the access priority for each unit access cycle of the memory unit 10, whereby each data input / output unit 1-1. Since the capacity of the four output data storage means 50, 60 and the input data storage means 70, 80 can be specified as the predetermined capacity, data transfer in real time is possible.
[0052]
In the present embodiment, each of the first to fourth data input / output means 1 to 4 continuously outputs the memory access request signals 20 to 23 when the memory access request is not permitted. However, the present invention is not limited to this. For example, each of the data input / output units 1 to 4 outputs the memory access request signals 20 to 23 only at a predetermined time interval, and the arbitration unit 30 simultaneously outputs two or more data inputs / outputs. When a memory access request signal is received from each of the means, access is permitted to the data output means having the highest memory access priority, and in the next cycle, to the data input / output means having the next highest access priority. You may employ | adopt the structure which repeats permitting access for every cycle.
[0053]
Further, when the access request is arbitrated every unit access cycle as in the present embodiment, the capacity of the output data storage means 50, 60 and the input data storage means 70, 80 is set to the minimum necessary capacity. There is an effect that can be reduced.
[0054]
Further, in the present embodiment, the number of data input / output means for accessing data to the memory means 10 is "4". However, the operation and effect of this embodiment are basically the same even if the number is larger. Will not change.
[0055]
In addition, in the present embodiment, the first data input / output means 1, the second data input / output means 2, the third data input / output means 3, and the fourth data input / output means 4 are connected to output video, audio. Output processing, MPEG video decoding processing, and audio decoding processing are performed. However, as long as data is input / output to / from the memory means 10, the processing contents and data contents are not limited at all.
[0056]
【The invention's effect】
As described above, according to the data transfer apparatus of the first to fourth aspects of the present invention, when the memory means is shared by a plurality of data input / output means, each data input / output means accesses the shared memory means. Since the request time interval is set to a predetermined interval, it can be ensured that the access to the shared memory means of each data input / output means is reliably performed within a desired time. The capacity of the buffer memory can be clearly grasped in advance, and these capacities can be reduced as compared with the prior art.
[0057]
Particularly, since the arbitration of the access request from each data input / output means is performed for each unit access cycle of the memory means, the capacity of the second buffer memory provided in each data input / output means can be reduced to the minimum necessary capacity.
[0058]
According to the third and fourth aspects of the present invention, the data storage capacity of each data input / output means is set between the access request interval for the memory means and the period from the issuance of access requests to permission. The amount of data to be input / output can be clearly determined as at least the storage capacity.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a data transfer apparatus according to an embodiment of the present invention.
FIG. 2 is a block diagram showing first data input / output means according to the same embodiment;
FIG. 3 is a block diagram showing second data input / output means according to the embodiment;
FIG. 4 is a block diagram showing third data input / output means according to the embodiment;
FIG. 5 is a block diagram showing fourth data input / output means according to the embodiment;
FIG. 6 is a block diagram showing access information storage means according to the embodiment;
FIG. 7 is a timing diagram of memory access according to the embodiment;
FIG. 8 is a timing diagram of memory arbitration according to the embodiment;
[Explanation of symbols]
1-4 Data input / output means
10 Memory means
11 Output bus
12 Input bus
20-23 Memory access request signal
30 Mediation means
31 Access information storage means
32 Memory control means

Claims (4)

データを入力し又は出力する複数のデータ入出力手段と、
前記複数のデータ入出力手段で共用され、前記複数のデータ入出力手段との間でデータを入出力するメモリ手段と、
前記複数のデータ入出力手段から前記メモリ手段に対するアクセス要求を調停する調停手段とを備え、
前記各データ入力出力手段は、前記メモリ手段に対するアクセスの優先順位を予め割り当てられ、前記メモリ手段に対するアクセス要求を所定の時間間隔で発行可能であり、
前記調停手段は、前記複数のデータ入出力手段からのアクセス要求を受け、これら複数のデータ入出力手段からのアクセス要求を、前記メモリ手段の単位アクセスサイクル毎に調停して、このアクセス要求を受けた前記複数のデータ入出力手段に対して、前記アクセス優先順位の高い順にメモリアクセスを許可し、
前記複数のデータ入出力手段は、各々、前記調停手段によりメモリアクセスが許可されたとき、前記メモリ手段の単位アクセスサイクル時間に等しい時間に限って前記メモリ手段に対するアクセスが可能である
ことを特徴とするデータ転送装置。
A plurality of data input / output means for inputting or outputting data;
Memory means that is shared by the plurality of data input / output means and inputs / outputs data to / from the plurality of data input / output means;
Arbitrating means for arbitrating access requests to the memory means from the plurality of data input / output means;
Each of the data input / output means is pre-assigned a priority of access to the memory means, and can issue an access request to the memory means at a predetermined time interval.
The arbitration unit receives access requests from the plurality of data input / output units, arbitrates access requests from the plurality of data input / output units for each unit access cycle of the memory unit, and receives the access requests. In addition, for the plurality of data input / output means, memory access is permitted in descending order of the access priority ,
Each of the plurality of data input / output means can access the memory means only for a time equal to a unit access cycle time of the memory means when memory access is permitted by the arbitration means. A data transfer device.
前記調停手段は、アクセス要求を受けた前記データ入出力手段のうち、前記アクセス優先順位の最も高いデータ入出力手段に対してアクセスを許可し、
前記各データ入出力手段は、前記調停手段によりアクセス要求が許可されなかったとき、前記所定の時間間隔に拘わらず再度アクセス要求を発行する
ことを特徴とする請求項1記載のデータ転送装置。
The arbitration means permits access to the data input / output means having the highest access priority among the data input / output means that have received the access request,
2. The data transfer apparatus according to claim 1, wherein each data input / output unit issues an access request again regardless of the predetermined time interval when the access request is not permitted by the arbitration unit.
前記各データ入出力手段は、
データが入力される入力手段と、
前記メモリ手段に対するアクセス要求間隔と前記アクセス要求の発行後からこのアクセス要求が許可されるまでの期間との合計期間の間に前記入力手段に入力されるデータの量を、少なくとも記憶する容量の入力データ記憶手段と、
を備えることを特徴とする請求項1又は2記載のデータ転送装置。
Each of the data input / output means is
An input means for inputting data;
Input of a capacity for storing at least the amount of data input to the input means during a total period between an access request interval for the memory means and a period from when the access request is issued until the access request is granted Data storage means;
The data transfer apparatus according to claim 1, further comprising:
前記各データ入出力手段は、
データを出力する出力手段と、
前記メモリ手段に対するアクセス要求間隔と前記アクセス要求の発行後からこのアクセス要求が許可されるまでの期間との合計期間の間に前記出力手段から出力されるデータの量を、少なくとも記憶する容量の出力データ記憶手段と、
を備えることを特徴とする請求項1又は2記載のデータ転送装置。
Each of the data input / output means is
An output means for outputting data;
Output of a capacity for storing at least the amount of data output from the output means during the total period of the access request interval to the memory means and the period from the issuance of the access request to the time when the access request is granted Data storage means;
The data transfer apparatus according to claim 1, further comprising:
JP08423199A 1998-04-01 1999-03-26 Data transfer device Expired - Fee Related JP3618249B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08423199A JP3618249B2 (en) 1998-04-01 1999-03-26 Data transfer device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8848798 1998-04-01
JP10-88487 1998-04-01
JP08423199A JP3618249B2 (en) 1998-04-01 1999-03-26 Data transfer device

Publications (2)

Publication Number Publication Date
JP2000029777A JP2000029777A (en) 2000-01-28
JP3618249B2 true JP3618249B2 (en) 2005-02-09

Family

ID=26425296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08423199A Expired - Fee Related JP3618249B2 (en) 1998-04-01 1999-03-26 Data transfer device

Country Status (1)

Country Link
JP (1) JP3618249B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4635485B2 (en) * 2004-06-29 2011-02-23 ソニー株式会社 Data processing device
JP4844143B2 (en) * 2006-02-06 2011-12-28 株式会社デンソー Memory bus load adjustment device
JP5018047B2 (en) * 2006-11-29 2012-09-05 ヤマハ株式会社 Integrated circuit device
JP5891769B2 (en) * 2011-12-19 2016-03-23 株式会社リコー Image forming apparatus and image forming method

Also Published As

Publication number Publication date
JP2000029777A (en) 2000-01-28

Similar Documents

Publication Publication Date Title
JP2703668B2 (en) Data transfer control device and magnetic disk control device
US7707328B2 (en) Memory access control circuit
JP3598321B2 (en) Buffering data exchanged between buses operating at different frequencies
JP3290650B2 (en) Memory controller
US20060059320A1 (en) Memory control device
KR20050058919A (en) Arbiter improving access efficiency of the multi-bank memory device, memory access arbitration system having the same and method thereof
US6374244B1 (en) Data transfer device
KR101086417B1 (en) Apparatus and method for partial access of dynamic random access memory
JP4531223B2 (en) Data processing apparatus having a plurality of processors sharing a collective memory
JP2001356961A (en) Arbitration device
JP3618249B2 (en) Data transfer device
US6738840B1 (en) Arrangement with a plurality of processors having an interface for a collective memory
JP4346506B2 (en) First-in first-out memory and storage medium control device using the same
JPH0628246A (en) Storage device
JP3498021B2 (en) Memory control method
JP3151416B2 (en) Data transfer control device and magnetic disk device
JP3063945B2 (en) Time-division switch control method
JPH06103026A (en) Memory system
EP1067555B1 (en) Memory controller and an information processing apparatus having such a memory controller
JPH0370052A (en) Address translation circuit, memory controller, information processor, and recorder
CN115878532A (en) Data transmission system and data transmission method
KR20010050235A (en) Access to a collective resource
JP2570271B2 (en) Semiconductor memory controller
JPH04160661A (en) Data processing system
JPS63305447A (en) Memory access control circuit

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040309

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040713

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040910

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041109

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071119

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081119

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091119

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101119

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111119

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121119

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121119

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131119

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees