JP2009134392A - データ処理装置及びデータ処理システム - Google Patents

データ処理装置及びデータ処理システム Download PDF

Info

Publication number
JP2009134392A
JP2009134392A JP2007308348A JP2007308348A JP2009134392A JP 2009134392 A JP2009134392 A JP 2009134392A JP 2007308348 A JP2007308348 A JP 2007308348A JP 2007308348 A JP2007308348 A JP 2007308348A JP 2009134392 A JP2009134392 A JP 2009134392A
Authority
JP
Japan
Prior art keywords
burst transfer
transfer request
data processing
memory device
unit
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.)
Withdrawn
Application number
JP2007308348A
Other languages
English (en)
Inventor
Kazuki Honma
一樹 本間
Tooru Kengaku
徹 見学
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2007308348A priority Critical patent/JP2009134392A/ja
Priority to TW97144701A priority patent/TW200928753A/zh
Priority to US12/277,493 priority patent/US20090144517A1/en
Priority to CN2008101794811A priority patent/CN101446930B/zh
Publication of JP2009134392A publication Critical patent/JP2009134392A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Bus Control (AREA)

Abstract

【課題】メモリ装置の「沈み込み」と呼ばれるスループット性能の低下を防止する。
【解決手段】データ処理部(100)からそのデータ処理の処理単位毎に出力される要求信号(101)に基づいてバースト転送要求生成部(200)にバースト転送要求の出力タイミングを与えるタイミング生成部(503)を設け、このタイミング生成部は、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間と閾値レジスタの設定閾値で規定される時間との大小関係に基づいてバースト転送要求(301)の出力タイミングを制御する。前記経過時間が最大閾値で規定される時間を超える場合には前記要求信号の活性化を待たずに前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える。これにより、要求信号の発行が遅延したときはこれを待たずに先行してメモリ装置に次回のバースト転送要求を与えることができる
【選択図】図1

Description

本発明はバースト転送によるメモリ装置の制御に関し、例えば表示フレーム単位で画像データの符号化復号処理を行なうCODECを備えたSOC(システム・オン・チップ)のような半導体装置、更にはデータ処理システムに適用して有効な技術に関するものである。
データ処理装置、あるいはデー処理装置内に設置されるプロセッサやアクセラレータ等のデータ処理エンジンの性能を向上させるには、効率の良いメモリアクセス制御が重要である。
例えばデータ処理エンジンにて画像コーデック処理を実施しようとした場合、ある一定以上のデータ流量(スループット性能)を保ちながら、データ処理エンジンへ一度に大容量データを転送(バースト転送)する必要が生じる。通常画像コーデック処理において、データ処理エンジンは実行すべき全処理をある小さな単位(例えばマクロ・ブロック単位)に分割し、個々の単位処理毎に必要なデータをメモリ装置からバースト転送で読み出し、画像コーデック処理に必要な動作を繰り返し実行することで、必要な処理を実行する。
上述の通り、メモリ装置からのバースト転送は、データ処理エンジンが個々の単位処理を完了する速度(単位処理ピッチ)に合わせて実行する必要がある。このため、データ処理エンジンはメモリ装置からのバースト転送を開始するタイミングを制御するための信号(単位処理開始信号)をメモリ制御装置に発行し、メモリ制御装置はその単位処理開始信号が発行される間隔である単位処理ピッチに合わせて、バースト転送をメモリ装置に対して発行することで、効率の良いメモリアクセスを実現していた。
図2に従来技術における、データ処理エンジンの単位処理ピッチに併せたバースト転送を実現するための、メモリ制御装置の構成例を示す。図2において、バースト転送要求生成部10は、メインプロセッサ等によってバースト転送に必要なバースト転送開始アドレスやバースト数等が処理単位毎に予め設定されている。バースト転送要求生成部10はデータ処理エンジン100からある単位処理毎に単位処理開始信号101が発行されると、それに応答してメモリ装置400にバーストアクセスコマンド等のバースト転送要求301を出力する。バースト転送要求301を受けたメモリ装置13はバースト動作によってデータを出力し、出力されたデータはFIFOバッファ600に蓄積され、データ処理エンジン100はFIFOバッファ600から取り出したデータを用いて所要のデータ処理を実行する。
図3には図2の技術における、バースト転送処理の流れが示される。データ処理エンジン100がi番目の単位処理を開始する直前に単位処理開始信号101を発行する。バースト転送要求生成部10は単位処理開始信号101が発行されたのを受け、i番目の処理単位に必要なバースト転送を目的とした一連のバースト転送要求301を、メモリ装置400に発行する。メモリ装置400はバースト転送要求301に応じて必要なデータをFIFOバッファ600に出力する。データ処理エンジン100はFIFOバッファ600からデータを取出してi番目の単位処理を実行する。
データ処理エンジン100はi番目の単位処理を完了した後、i+1番目の単位処理を実行するため、上記に示した一連のバースト転送処理をi+1番目の単位処理に必要なデータに対して繰り返し実行する。以降、データ処理エンジン100におけるi+1番目の処理が完了すると次はi+2番目…、と言う様にデータ処理エンジン100は一連の動作を必要な回数だけ繰り返すことで、その処理を継続して行く。
通常データ処理エンジン100は上述の一連の処理を、その単位処理の大きさあるいは複雑さに依存した一定の単位処理ピッチで実行する。すなわち、i番目〜i+1番目の単位処理開始信号101の発行時間間隔は、i+1番目〜i+2番目のそれとほぼ等しい状態で、各々の単位処理は実行される。よってデータ処理エンジン100がある一定の時間間隔で単位処理開始信号101を発行する事により、メモリ装置400における個々の単位処理に対応したメモリアクセスはある一定の時間間隔に分散されて処理される事になる。
しかし、何らかの要因、例えばデータ処理エンジン100に対する割り込み処理の発生等により、ある単位処理の完了が遅れた場合、その遅れに従って単位処理開始信号101及びバースト転送要求301の発行が遅れる。逆に何らかの要因によりある単位処理の完了が早まった場合、その早まりに従って単位処理開始信号101及びバースト転送要求301の発行が早まる。つまり、この単位処理の完了時期の「揺らぎ」によりメモリ装置に対するメモリアクセスに乱れが生じる事になる。
上記メモリアクセスの乱れはアクセス効率の低下を招くことがある。この様な「揺らぎ」によるアクセス効率低下を解決するための手段として例えば、特許文献1に示される様な解決策がある。これは例えばメモリ装置400がバースト転送要求301を受け付ける調停処理を、ある一定の時間間隔(調停タイミング)で実施する場合に、バースト転送要求301がある調停タイミングに間に合わなかったケースでは、その調停タイミングでバースト転送要求301が発行されなかったことを記憶する。後程、遅れてバースト転送要求301が発行された場合で、そのバースト転送要求が以前の調停タイミングに間に合わなかったと記憶されている時は、例え調停タイミング以外の時刻にそのリクエストが発行されたとしても、優先してそのリクエストを受け付けることで、リクエストの「揺らぎ」によるアクセス効率低下を防止しようとするものである。
図4には従来技術における、バースト転送処理中に発生しうる状況について示す。図4は、データ処理エンジン100におけるi番目の単位処理の完了が何らかの要因で遅れたため、i+1番目に対する単位処理開始信号101の発行が遅れた状況を示している。バースト転送要求生成部10は単位処理開始信号101が発行されるタイミングに併せて、バースト転送要求301をメモリ装置400に対して発行する様に制御を行うため、バースト転送要求301は単位処理開始信号101の遅れに併せたタイミングで発行される。
ここで、メモリ装置400は先の特許文献1に示される手法により、通常の調停タイミングよりも遅れて発行されたi+1番目のバースト転送要求301を優先して受け付け、調停タイミング外の時刻に処理を実行する。これに対して、i番目あるいはi+2番目の単位処理は通常の単位処理ピッチで完了した場合、i番目あるいはi+2番目に対応するバースト転送要求301は、メモリ装置400において通常の調停タイミングで受け付けられ、その処理が実施されることになる。
特開2006−195714号公報
しかし、図4に示した状況において、i+1番目およびi+2番目のバースト転送要求301が集中してメモリ装置400に対して発行された場合、状況によってメモリ装置400はi+1番目およびi+2番目の処理を連続して実施しなければならない事がある。
一般的に、メモリ装置400はバースト転送要求が集中して発行された場合、メモリ装置400の内部でのリクエスト要求間での調停処理やメモリアクセス処理が煩雑化する事により、バースト転送要求301が分散して発行された場合に比べて個々のバースト転送要求に対する処理速度が低下する現象、例えば、メモリ装置401からバースト出力されるデータ出力の応答が遅くなる等、が見られる。この現象は特にバースト転送要求の集中によるメモリ装置の「沈み込み」と呼ばれ、システム全体のスループット性能を低下させる要因の1つとなる。
本発明は、上述の様なバースト転送要求がメモリ装置に対して集中して発行される事が要因で発生する、メモリ装置の「沈み込み」と呼ばれるスループット性能の低下を防止することができるデータ処理装置、更にはテータ処理システムを提供することを目的とする。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、データ処理部からそのデータ処理の処理単位毎に出力される要求信号に基づいてバースト転送要求生成部にバースト転送要求の出力タイミングを与えるタイミング生成部を設け、このタイミング生成部は、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間と閾値レジスタの設定閾値で規定される時間との大小関係に基づいてバースト転送要求の出力タイミングを制御する。例えば、前記経過時間が最大閾値で規定される時間を超える場合には前記要求信号の活性化を待たずに前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える。前記経過時間が最小閾値で規定される時間よりも短い場合には当該最小閾値で規定される時間の経過を待って前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える。
上記によれば、データ処理部からの要求信号の発行が遅延したときはこれを待たずに先行してメモリ装置に次回のバースト転送要求を与えることができる。また、データ処理部からの要求信号の発行が早すぎるときはそれよりも遅れてメモリ装置に次回のバースト転送要求を与えることができる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。すなわち、メモリ装置の「沈み込み」と呼ばれるスループット性能の低下を防止することができる。
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕データ処理装置(50)は、メモリ装置から順次読み出されたデータを用いてデータ処理を行なうデータ処理部(100)と、順次データを読み出すためにメモリ装置にバースト転送要求(301)を出力するバースト転送要求生成部(200)と、前記データ処理部からそのデータ処理の処理単位毎に出力される要求信号(101)に基づいて前記バースト転送要求生成部にバースト転送要求の出力タイミングを与えるタイミング生成部(503)とを有する。前記タイミング生成部は、前記バースト転送要求(301)が出力されてから前記要求信号(101)が活性化されるまでの経過時間が閾値レジスタ(500)の設定値で規定される時間を越えたときは前記要求信号の活性化を待たずに前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える。
上記によれば、データ処理部からの要求信号の発行が遅延したときはこれを待たずに先行してメモリ装置に次回のバースト転送要求を与えることができる。
〔2〕項1のデータ処理装置は更に、前記閾値レジスタをリードアクセス及びライトアクセス可能な制御部(700)を有する。プログラマブルの前記閾値レジスタの設定が可能になる。
〔3〕データ処理装置(50A)は、メモリ装置から順次読み出されたデータを用いてデータ処理を行なうデータ処理部と、順次データを読み出すためにメモリ装置にバースト転送要求を出力するバースト転送要求生成部と、前記データ処理部からそのデータ処理の処理単位毎に出力される要求信号に基づいて前記バースト転送要求生成部にバースト転送要求の出力タイミングを与えるタイミング生成部とを有する。前記タイミング生成部は、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間が第1閾値レジスタ(500B)の設定値で規定される時間よりも短いときは第1閾値レジスタの設定値で規定される時間の経過を待って前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える。
上記によれば、データ処理部からの要求信号の発行が早すぎるときはそれよりも遅れてメモリ装置に次回のバースト転送要求を与えることができる。
〔4〕項3のデータ処理装置において、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間が第2閾値レジスタ(500A)の設定値で規定される時間を越えたときは前記要求信号の活性化を待たずに前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える。
これによれば、データ処理部からの要求信号の発行が遅延したときはこれを待たずに先行してメモリ装置に次回のバースト転送要求を与えることができる。
〔5〕項4のデータ処理装置は更に、前記第1閾値レジスタ及び第2をリードアクセス及びライトアクセス可能な制御部を有する。プログラマブルの前記第1及び第2閾値レジスタの設定が可能になる。
〔6〕項5のデータ処理装置において、前記データ処理部は画像データに符号化復号処理を行なうCODECであり、データ処理装置は1個の半導体基板に形成される。CODEC処理の高速化に資することができる。
〔7〕データ処理システムは、メモリ装置と、前記メモリ装置をアクセス可能な第1のデータ処理装置と、前記メモリ装置をアクセス可能な第2のデータ処理装置とを有する。前記第1のデータ処理装置は、前記メモリ装置から順次読み出されたデータを用いてデータ処理を行なうデータ処理部と、順次データを読み出すためにメモリ装置にバースト転送要求を出力するバースト転送要求生成部と、前記データ処理部からそのデータ処理の処理単位毎に出力される要求信号に基づいて前記バースト転送要求生成部にバースト転送要求の出力タイミングを与えるタイミング生成部とを有する。前記タイミング生成部は、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間が閾値レジスタの設定値で規定される時間を越えたときは前記要求信号の活性化を待たずに前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える。
上記によれば、データ処理部からの要求信号の発行が遅延したときはこれを待たずに先行してメモリ装置に次回のバースト転送要求を与えることができる。したがって、第1データ処理装置によるデータ処理に「揺らぎ」を生じてもメモリ装置に対するバースト転送要求の集中を抑制でき、その間に第2のデータ処理装置によるメモリ装置のアクセスが発生しても、アクセス要求の集中によるメモリ装置の「沈み込み」が緩和され、データ処理システム全体のスループット性能の向上に寄与することができる。
〔8〕データ処理システムは、メモリ装置と、前記メモリ装置をアクセス可能な第1のデータ処理装置と、前記メモリ装置をアクセス可能な第2のデータ処理装置とを有する。前記第1のデータ処理装置は、前記メモリ装置から順次読み出されたデータを用いてデータ処理を行なうデータ処理部と、順次データを読み出すためにメモリ装置にバースト転送要求を出力するバースト転送要求生成部と、前記データ処理部からそのデータ処理の処理単位毎に出力される要求信号に基づいて前記バースト転送要求生成部にバースト転送要求の出力タイミングを与えるタイミング生成部とを有する。前記タイミング生成部は、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間が第1閾値レジスタの設定値で規定される時間よりも短いときは第2閾値レジスタの設定値で規定される時間の経過を待って前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える。
上記によれば、データ処理部からの要求信号の発行が早すぎるときはそれよりも遅れてメモリ装置に次回のバースト転送要求を与えることができる。したがって、第1データ処理装置によるデータ処理に「揺らぎ」を生じてもメモリ装置に対するバースト転送要求の集中を抑制でき、その間に第2のデータ処理装置によるメモリ装置のアクセスが発生しても、アクセス要求の集中によるメモリ装置の「沈み込み」が緩和され、データ処理システム全体のスループット性能の向上に寄与することができる。
〔9〕項8のデータ処理システムにおいて、前記タイミング生成部は更に、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間が第2閾値レジスタの設定値で規定される時間を越えたときは前記要求信号の活性化を待たずに前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える。
これによれば、データ処理部からの要求信号の発行が遅延したときはこれを待たずに先行してメモリ装置に次回のバースト転送要求を与えることができる。
〔10〕項9のデータ処理システムにおいて、前記タイミング生成部は、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間が第1閾値レジスタの設定値で規定される時間を越えかつ第2閾値レジスタの設定値で規定される時間よりも短いときは前記要求信号の活性化に同期して前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える。
2.実施の形態の詳細
実施の形態について更に詳述する。以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。なお、発明を実施するための最良の形態を説明するための全図において、同一の機能を有する部材には同一の符号を付し、その繰り返しの説明は省略する。
図1には本発明に係るデータ処理装置の一例としてマイクロコントローラ50が示される。マイクロコントローラ50は、特に制限されないが、単結晶シリコンのような1個の半導体基板にCMOS集積回路製造技術等によって形成され、例えばSOCとして構成される。
マイクロコントローラ50には代表的に示されたメモリ装置400が接続される。図示はしないが、メモリ装置400はバスを介してその他のデータ処理装置によっても共有される。メモリ装置40は例えばシンクロナスDRAMのようにバーストアクセスコマンド等が供給されることにより、それによって指定されるデータを連続的に出力するバースト転送動作が可能にされる。尚、メモリ装置400はシンクロナスDRAMに限定されずシンクロナスSRAM等であってもよい。
マイクロコントローラ50は、全体の制御を司るメインプロセッサ700と、メモリ装置400から順次読み出されたデータを用いてデータ処理を行なうデータ処理エンジン100を有する。データ処理エンジン100はメインプロセッサ700に対してアクセラレータとして位置付けられる。特に制限されないが、データ処理エンジン10はメインプロセッサ700からの指示に従って画像データの符号化復号処理等を行なう。例えば、符号化された表示フレームの画像データを、復号処理単位のような単位処理毎にメモリ装置400から順次読み込んでデータ処理を繰り返す。以下において、マイクロコントローラがメモリ装置400をアクセスするための構成について詳述する。
マイクロコントローラ50は、メモリ装置400をバーストアクセスするために、バースト転送要求生成部200及びタイミング生成部503を有する。メモリ装置400からデータ処理エンジン100に至るリードデータパスにはFIFO(First In First Out)バッファ600が配置され、FIFOバッファ600は現在の空き容量のデータ601をバースト転送要求生成部200に出力する。バースト転送要求生成部200はメインプロセッサ700によってバースト転送の転送開始アドレス及び転送語数等のバースト転送条件が初期設定され、FIFOバッファ600に必要な空き容量のあることを条件に、タイミング生成部503からバースト転送許可信号521により転送指示が与えられるのに応答して、メモリ装置400にバーストアクセスコマンド等のバースト転送要求301を出力可能にされる。
データ処理エンジン100はデータ処理の単位処理毎に単位処理開始信号101を出力する。タイミング生成部503は単位処理開始信号101等に基づいて前記タイミング信号521を生成する。このタイミング生成部503は、閾値設定レジスタ500、タイムアウト検出器510及びバースト転送許可判定器520から成る。閾値設定レジスタ500はメインプロセッサ700によりリードライトアクセス可能にされ、所要の経過時間の上限が設定される。タイムアウト検出器510はバースト転送要求301が発行されてからの経過時間を測定し、この計測時間と閾値設定レジスタ500で指定された時間とを比較し、経過時間が前記指定時間を超えたか否か、即ち、単位処理開始信号101に対してタイムアウトが発生したか否かを判定する。タイムアウトが発生するとタイムアウト信号511が活性化され、即ちイネーブルレベルにされる。タイムアウトが発生する前に単位処理開始信号101が活性化されたときは前記測定動作を終了し、次の測定動作に備える。バースト転送許可判定器520は単位処理開始信号101及びタイムアウト信号511を入力し、単位処理開始信号101が活性化される前にタイムアウト信号511が活性化されたときはそれに同期してバースト転送許可信号521を活性化する。タイムアウト信号511が活性化される前に単位処理開始信号101が活性化されたときはそれに同期してバースト転送許可信号521を活性化する。
メモリ装置400はバースト転送要求301を受け付けると、それによる指示に従ってバーストリード動作を行って、リードデータ401をFIFOバッファ600に供給する。図示はしないが、メモリ装置400が他のプロセッサからもアクセス可能にされている場合、メモリ装置400がバースト転送要求301を受け付ける際の調停手段としては、ある一定の時間間隔毎に定期的に調停を実施するもの、あるいは任意のタイミングでバースト転送要求301が発行される毎に調停を実施するもの等を採用すればよい。
図5には図1のマイクロコントローラ50における単位処理毎のバースト転送動作の流れが例示される。ここで、閾値設定レジスタ500にはメインプロセッサ700を介して、ある適切な経過時間の上限値を示す閾値が設定されているものとする。
データ処理エンジン100がi番目の単位処理を開始する直前に、i番目に相当する単位処理開始信号101を発行する(t1)。バースト転送要求生成部200はバースト転送許可信号521の活性化を受けると、FIFOバッファ600に必要な空きがある場合にはバースト転送要求301をメモリ装置400に送出する。メモリ装置400はバースト転送要求301のリクエストに従い必要な内部処理を行った後、対応するデータ401をFIFOバッファ600に向けて出力する。
上述の動作に並列してタイミング生成部503はi+1番目の単位処理に必要なデータのバースト転送のための監視を行う。即ち、タイムアウト検出器510は、i番目に相当するバースト転送要求301が発行されたのを受け、経過時間を測定するためのカウンタを“0”にリセットして、i番目のバースト転送要求301が発行されてからの経過時間を監視する(S1)。カウンタは例えばある時間間隔毎に+1のインクリメント動作を行う構成とすればよい。例えばタイムアウト検出器510はタイマ・カウンタを備えればよい。タイムアウト検出器510はその内部の前記カウンタの計数値と、閾値設定レジスタ500の設定値とを比較しながら、同時にi+1番目の単位処理開始信号101が発行されるのを監視し、i+1番目の単位処理開始信号101が発行される前に、i番目のバースト転送要求301発行からの経過時間が、閾値設定レジスタ500の設定値を超えるかどうか、即ちタイムアウトを生じたか否かを判断する。
ここで図5では、i+1番目の単位処理開始信号101が発行される前にタイムアウトが発生(t2)した場合を示している。この場合バースト転送許可判定器520は、i+1番目に対応するタイムアウト信号511が、i+1番目に相当する単位処理開始信号101よりも先に発行されたのを受け、単位処理開始信号101の発行を待たずにi+1番目に相当するバースト転送を実施するため、バースト転送要求生成器200に対してバースト転送許可信号521を発行する。ここで、バースト転送許可信号521が既に発行された後で遅れてi+1番目の単位処理開始信号101が発行されても(t3)、バースト転送許可判定器520はi+1番目に相当するバースト転送許可信号521は既に発行済として、余分なバースト転送許可信号521は発行しない。
バースト転送要求生成部200は時刻t2にi+1番目のバースト転送許可信号521が発行されたのを受け、FIFOバッファ600に必要な空き領域があるのを確認して、バースト転送要求301をメモリ装置400に発行する。メモリ装置400はバースト転送要求301を受け付け、対応するデータをFIFOバッファ600に出力する。
上述の動作に並行して先程と同様に、タイムアウト検出器510はi+1番目に相当するバースト転送要求301が時刻t2に発行されたことを受け、その経過時間を測定するカウンタを"0"にリセットして、時刻t2にi+1番目のバースト転送要求301発行されてから経過した時間を監視する。タイムアウト検出器510はその内部のカウンタと、閾値設定レジスタ500の設定値とを比較しながら、同時にデータ処理エンジン100からi+2番目の単位処理開始信号101が発行されるのを監視し、i+2番目の単位処理開始信号101が発行される前に、その経過時間が閾値を超えた(タイムアウト)か否かを判断する(S2)。図5では、タイムアウトが発生する前にi+2番目の単位処理開始信号101が発行される(時刻t4)場合を示している。この場合バースト転送許可判定器520は、i+2番目に対応する単位処理開始信号101が、i+2番目に相当するタイムアウト信号511よりも先に発行されたこと受け、i+2番目に相当するバースト転送を実施するため、バースト転送要求生成部200に対してバースト転送許可信号521を発行する。これによりバースト転送要求生成部200はi+2番目に相当するバースト転送要求301をメモリ装置400に発行し、また、内部のカウンタを“0”にリセットして余分にタイムアウト信号511の出力を抑制する。
以上説明した様に、前記i番目、i+1番目、i+2番目の単位処理に対応したバースト転送要求301が発行されるタイミングは、それぞれi番目、i+1番目、i+2番目の単位処理開始信号101の間隔、すなわちデータ処理エンジンによる単位処理のピッチが前後に揺らいでいるのにも拘わらず、閾値設定レジスタ500で指定した閾値に近い時間間隔に分散されている。バースト転送要求301が適切に分散された状態で発行されるため、メモリ装置400は常に最適な状態で対応するデータを出力出力することが可能となり、システム全体として最適なスループットが確保されることが期待できる。
図6には本発明に係るデータ処理装置として別のマイクロコントローラ50Aが例示される。図1に示されるマイクロコントローラ50との相違点は、最大閾値設定レジスタ50A及び最小閾値設定レジスタの設定値を用いてタイムアウト検出信号を生成するようにした点である。そこではその相違点について以下で説明し、その他の点についてはその詳細な説明を省略する。
最大閾値設定レジスタ500Aにはある経過時間の上限値がメインプロセッサ700により設定され、最小閾値設定レジスタ500Bにはある経過時間の下限値がメインプロセッサ700により設定される。メインプロセッサ700は双方のレジスタ500A,50Bに任意の最大経時間,最小経過時間を指定する。タイムアウト検出器510Aは、メモリ転送要求310が発行されてからの経過時間を測定し、レジスタ500A,50Bで指定される最大・最小閾値と比較することで、単位処理開始信号101に対してタイムアウトが発生したかどうかを判定する。512は上限時間に対するタイムアウト信号(最大タイムアウト信号)、513は下限時間に対するタイムアウト信号(最小タイムアウト信号)である。バースト転送許可判定器520Aはタイムアウト信号513によるタイムアウトの前に単位処理開始信号101の活性化を検出したときはタイムアウト信号513によるタイムアウトを待ってバースト転送許可信号521をバースト転送要求生成部200に与える。バースト転送許可判定器520Aはタイムアウト信号512によるタイムアウトの前に単位処理開始信号101の活性化を検出していないときはタイムアウト信号512によるタイムアウトに同期してバースト転送許可信号521をバースト転送要求生成部200に与える。バースト転送許可判定器520Aはタイムアウト信号513によるタイムアウトの後であってタイムアウト信号512によるタイムアウトの前に単位処理開始信号101の活性化を検出していないときは単位処理開始信号101の活性化に同期してバースト転送許可信号521をバースト転送要求生成部200に与える。バースト転送許可信号521が与えられたバースト転送要求生成部200の機能は図1の場合と変わりない。
図7には図6のマイクロコントローラ50Aにおける単位処理毎のメモリ転送の流れが例示される。ここで、閾値設定レジスタ500A、500Bにはある適切な経過時間の上限値および下限値を示す最大・最小閾値が設定されているものとする。
データ処理エンジン100がi番目の単位処理を開始する直前に、i番目に相当する単位処理開始信号101を発行する(t1)。後述する通り、単位処理開始信号101が最小タイムアウト信号513よりも後の時刻かつ、最大タイムアウト信号512よりも前の時刻で発行された場合、バースト転送許可判定器520Aは直ちにバースト転送許可信号521を発行する。バースト転送要求生成器200はバースト転送許可信号521が成立したのを受け、FIFOバッファ600に必要な空き容量がある場合にバースト転送要求301をメモリ装置400に対して送出する。メモリ装置400は其れに従って必要な内部処理を行った後、対応するデータを出力する。
上述の動作と並列して、タイムアウト検出器510Aは単位処理開始信号100がi+1番目の単位処理に必要なデータのバースト転送のための監視を行う。具体的には、タイムアウト検出器510Aはi番目に相当するバースト転送要求301が発行されたのを受け、その内部に存在する経過時間を測定するカウンタを“0”にリセットして、i番目のバースト転送要求301発行からの経過時間を監視する。カウンタは例えばある時間間隔毎に+1する様な構成が考えられる。
タイムアウト検出器510Aはその内部のカウンタによる計数値と閾値設定レジスタ5001A,500Bの値とを比較しながら、同時にデータ処理エンジン100からi+1番目の単位処理開始信号101が発行されるのを監視し、i+1番目の単位処理開始信号101が発行される時刻が、i番目のバースト転送要求301の発行からの経過時間に対して最小閾値よりも早い(アーリーピッチ)か、最小閾値よりは遅くて最大閾値よりは早い(定刻ピッチ)か、最大閾値を超える(タイムアウト)か否かを判断する(S10)。
ここで図7では、i+1番目の単位処理開始信号101が定刻ピッチで発行された場合を示している。即ち、時刻t2に最小タイムアウト信号513が出力される。この場合バースト転送許可判定器520Aは、i+1番目の単位処理開始信号101が発行される時刻t3に同期して、i+1番目に相当するバースト転送を実施するため、バースト転送許可信号521を発行する。ここで、バースト転送許可信号521が発行されるとそれに併せてi+1番目に相当するバースト転送要求301が直ちに発行されることで、タイムアウト検出器510A内部のカウンタはタイムアウトを検出する前に“0”にリセットされるため、タイムアウトによる余分なバースト転送許可信号521は発行されない。
バースト転送要求生成器200はi+1番目のバースト転送許可信号521が発行されたのを受け、i+1番目に相当するバースト転送要求301をメモリ装置400に対して発行する。
上述の動作と並列して先程と同様に、タイムアウト検出器510Aはデータ処理エンジン100がi+2番目の単位処理に必要なデータのバースト転送のための監視を行う。具体的には、タイムアウト検出器510Aはi+1番目に相当するバースト転送要求301が発行されたの受け、その内部に存在する経過時間を測定するカウンタを“0”にリセットして、i+1番目のバースト転送要求301発行からの経過時間を監視する(S11)。
図8には図6のマイクロコントローラ50Aにおける単位処理毎のメモリ転送の流れについて別ケースでの説明を例示する。ここで、閾値設定レジスタ500A,500Bにはある適切な経過時間の上限値および下限値を示す最大・最小閾値が設定されているものとする。また図8におけるi番目の単位処理開始信号101の発行に対する動作および監視は、上述の図7に対するそれと全く同様である。
タイムアウト検出器510Aはその内部のカウンタによる計数値と、閾値設定レジスタ500A,500Bの設定値とを比較しながら、同時にデータ処理エンジン100からi+1番目の単位処理開始信号101が発行されるのを監視し、i+1番目の単位処理開始信号101が発行される時刻が、i番目のバースト転送要求301発行からの経過時間に対して最小閾値よりも早い(アーリーピッチ)か、最小閾値よりは遅くて最大閾値よりは早い(定刻ピッチ)か、最大閾値を超える(タイムアウト)かどうかを判断する(S10)。
ここで図8では、i+1番目の単位処理開始信号101がアーリーピッチで発行された場合を示している。この場合バースト転送許可判定器520Aは、指定されたピッチよりも単位処理開始信号101の単位処理ピッチが早過ぎるものとして、i+1番目の単位処理開始信号101発行タイミング(t2)ではバースト転送許可信号521を発行せず、最小タイムアウト信号513が発行されたのを待って、バースト転送要求生成部200に対してバースト転送許可信号521を発行する(t3)。ここで、バースト転送許可信号521が発行されるとそれに併せてi+1番目に相当するバースト転送要求301が発行されることで、タイムアウト検出器510A内部のカウンタはタイムアウトを検出する前に“0”にリセットされるため、タイムアウトによる余分なバースト転送要求521は発行されない。
バースト転送要求生成部200はi+1番目の転送許可信号521が発行されたのを受け、i+1番目に相当するバースト転送要求301をメモリ装置400に対して発行する。メモリ装置400はバースト転送要求301を介して発行されるリクエストを受け付け、対応するデータを出力する。
上述の動作と並列して先程と同様に、タイムアウト検出器510Aはi+2番目の単位処理に必要なデータのバースト転送のための監視を行う(S11)。具体的には、タイムアウト検出器510Aはi+1番目に相当するバースト転送要求301が発行されたの受け、その内部に存在する経過時間を測定するカウンタを“0”にリセットして、i+1番目のバースト転送要求301発行からの経過時間を監視する。すなわち、タイムアウト検出器510Aはその内部のカウンタによる計数値と、閾値設定レジスタ500A,500Bに設定された低最大・最小閾値とを比較しながら、同時にデータ処理エンジン100からi+2番目の単位処理開始信号101が発行されるのを監視し、i+2番目の単位処理開始信号101が発行される時刻が、i+1番目のバースト転送要求301発行からの経過時間に対して最小閾値よりも早い(アーリーピッチ)か、最小閾値よりは遅くて最大閾値よりは早い(定刻ピッチ)か、最大閾値を超える(タイムアウト)かどうかを判断する(S11)。
ここで図8では、i+2番目の単位処理開始信号101が発行される前にタイムアウトが発生した場合を示している。この場合バースト転送許可判定器520Aは、i+2番目に対応する最大タイムアウト信号512が、i+2番目に相当する単位処理開始信号101よりも先に発行されたのを受け(t4)、単位処理開始信号101の発行を待たずにi+2番目に相当するバースト転送を実施するために、バースト転送要求生成部200に対してバースト転送許可信号521を発行する。ここで、バースト転送許可信号521が既に発行された後で遅れてi+2番目の単位処理開始信号101が発行されても、バースト転送許可判定器520Aはi+2番目に相当する521は既に発行済として、余分なバースト転送許可信号521は発行しない。
以上説明した様に、これらi番目、i+1番目、i+2番目の単位処理に対応したバースト転送要求301の発行されたタイミングは、それぞれi番目、i+1番目、i+2番目の単位処理開始信号101の間隔である、データ処理エンジン100の単位処理ピッチが前後に揺らいでいるのにも拘わらず、個々の処理単位が閾値設定レジスタ500A,500Bで指定した最大・最小閾値で限定された時刻内に収まる形で、互いに分散されている。メモリ装置40はバースト転送要求301が適切に分散された状態で発行されるため、常に最適な状態で対応するデータをアクセスすることが可能となり、システム全体として最適なスループットが確保されることが期待できる。
以上説明した図1及び図6の例によれば、データ処理エンジンの単位処理ピッチが何らかの要因で、早まったり遅れたりした場合でも、指定された閾値を元にメモリ装置に対するメモリ転送リクエストを適切に分散させて発行することが可能となる。これにより、メモリ装置は常に最適な状態で対応するデータをアクセスすることが可能となり、システム全体として最適なスループットが確保されることが期待できる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、上記の例では、閾値設定レジスタ500、500A、500Bはメインプロセッサを用いてユーザが任意に設定可能としているが、それに設定される閾値は、タイミング生成部が更新可能とする構成も考えられる。この場合、タイミング生成部は例えばi+1番目の単位処理開始信号が発行される時に、1番目からi番目の単位処理ピッチの平均値を用いて閾値設定レジスタの設定値を更新することで、自律的に最適な閾値を設定しながら処理を行うことが可能である。
また、FIFOバッファ600はメモリ装置のデータ出力速度とデータ処理エンジンの動作速度の相違を吸収するためのメモリであって、双方の動作速度が等しければFIFOバッファを設けなくてもよい。
以上の説明ではデータ処理エンジン(例えば画像処理用)での動作を例に説明しているが、これはデータ処理エンジンに限定されるものでは無く、例えばデータ処理エンジンをプロセッサに置き換えたシステムへの適用が考えられる。またメモリ装置への接続方法は必ずしも1対1の接続である必要は無く、実施例におけるデータ処理エンジンおよびメモリ制御装置の組が複数、メモリ装置に対して接続(例えばバス経由での接続)されているものへの応用が考えられる。
本発明に係るデータ処理装置の一例としてマイクロコントローラを示すブロック図である。 従来技術における、データ処理エンジンの単位処理ピッチに併せたバースト転送を実現するための、メモリ制御装置の構成を例示するブロック図である。 図2の技術における、バースト転送処理の流れが示すタイムチャートである。 図2の従来技術における、バースト転送処理中に発生しうる状況について示したタイムチャートである。 図1のマイクロコントローラにおける単位処理毎のバースト転送動作の流れが例示するタイムチャートである。 本発明に係るデータ処理装置として別のマイクロコントローラを例示するブロック図である。 図6のマイクロコントローラにおける単位処理毎のメモリ転送の流れが例示するタイムチャートである。 図6のマイクロコントローラにおける単位処理毎のメモリ転送の流れについて別ケースを例示するタイムチャートである。
符号の説明
50、50A マイクロコントローラ
100 データ処理エンジン
101 単位処理開始信号
200 バースト転送要求生成部
301 バースト転送要求
400 メモリ装置
500 閾値設定レジスタ
500A 最大閾値設定レジスタ
500B 最小閾値畝低レジスタ
503、503A タイミング生成部
510、510A タイムアウト検出器
511 タイムアウト信号
512 最大タイムアウト信号
513 最小タイムアウト信号
520、520A バースト転送許可判定器
521 バースト転送許可信号
600 FIFOバッファ
700 メインプロセッサ

Claims (10)

  1. メモリ装置から順次読み出されたデータを用いてデータ処理を行なうデータ処理部と、順次データを読み出すためにメモリ装置にバースト転送要求を出力するバースト転送要求生成部と、前記データ処理部からそのデータ処理の処理単位毎に出力される要求信号に基づいて前記バースト転送要求生成部にバースト転送要求の出力タイミングを与えるタイミング生成部とを有し、
    前記タイミング生成部は、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間が閾値レジスタの設定値で規定される時間を越えたときは前記要求信号の活性化を待たずに前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える、データ処理装置。
  2. 前記閾値レジスタをリードアクセス及びライトアクセス可能な制御部を有する、請求項1記載のデータ処理装置。
  3. メモリ装置から順次読み出されたデータを用いてデータ処理を行なうデータ処理部と、順次データを読み出すためにメモリ装置にバースト転送要求を出力するバースト転送要求生成部と、前記データ処理部からそのデータ処理の処理単位毎に出力される要求信号に基づいて前記バースト転送要求生成部にバースト転送要求の出力タイミングを与えるタイミング生成部とを有し、
    前記タイミング生成部は、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間が第1閾値レジスタの設定値で規定される時間よりも短いときは前記第1閾値レジスタの設定値で規定される時間の経過を待って前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える、データ処理装置。
  4. 前記タイミング生成部は、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間が第2閾値レジスタの設定値で規定される時間を越えたときは前記要求信号の活性化を待たずに前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える、請求項3記載のデータ処理装置。
  5. 前記第1閾値レジスタ及び第2をリードアクセス及びライトアクセス可能な制御部を有する、請求項4記載のデータ処理装置。
  6. 前記データ処理部は画像データに符号化復号処理を行なうCODECであり、1個の半導体基板に形成された、請求項5記載のデータ処理装置。
  7. メモリ装置と、前記メモリ装置をアクセス可能な第1のデータ処理装置と、前記メモリ装置をアクセス可能な第2のデータ処理装置とを有するデータ処理システムであって、
    前記第1のデータ処理装置は、前記メモリ装置から順次読み出されたデータを用いてデータ処理を行なうデータ処理部と、順次データを読み出すためにメモリ装置にバースト転送要求を出力するバースト転送要求生成部と、前記データ処理部からそのデータ処理の処理単位毎に出力される要求信号に基づいて前記バースト転送要求生成部にバースト転送要求の出力タイミングを与えるタイミング生成部とを有し、
    前記タイミング生成部は、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間が閾値レジスタの設定値で規定される時間を越えたときは前記要求信号の活性化を待たずに前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える、データ処理システム。
  8. メモリ装置と、前記メモリ装置をアクセス可能な第1のデータ処理装置と、前記メモリ装置をアクセス可能な第2のデータ処理装置とを有するデータ処理システムであって、
    前記第1のデータ処理装置は、前記メモリ装置から順次読み出されたデータを用いてデータ処理を行なうデータ処理部と、順次データを読み出すためにメモリ装置にバースト転送要求を出力するバースト転送要求生成部と、前記データ処理部からそのデータ処理の処理単位毎に出力される要求信号に基づいて前記バースト転送要求生成部にバースト転送要求の出力タイミングを与えるタイミング生成部とを有し、
    前記タイミング生成部は、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間が第1閾値レジスタの設定値で規定される時間よりも短いときは前記第1閾値レジスタの設定値で規定される時間の経過を待って前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える、データ処理システム。
  9. 前記タイミング生成部は、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間が第2閾値レジスタの設定値で規定される時間を越えたときは前記要求信号の活性化を待たずに前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える、請求項8記載のデータ処理システム。
  10. 前記タイミング生成部は、前記バースト転送要求が出力されてから前記要求信号が活性化されるまでの経過時間が第1閾値レジスタの設定値で規定される時間を越えかつ第2閾値レジスタの設定値で規定される時間よりも短いときは前記要求信号の活性化に同期して前記バースト転送要求生成部にバースト転送要求の出力タイミングを与える、請求項9記載のデータ処理システム。
JP2007308348A 2007-11-29 2007-11-29 データ処理装置及びデータ処理システム Withdrawn JP2009134392A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007308348A JP2009134392A (ja) 2007-11-29 2007-11-29 データ処理装置及びデータ処理システム
TW97144701A TW200928753A (en) 2007-11-29 2008-11-19 Data processing apparatus and data processing system
US12/277,493 US20090144517A1 (en) 2007-11-29 2008-11-25 Data processing apparatus and data processing system
CN2008101794811A CN101446930B (zh) 2007-11-29 2008-11-28 数据处理装置和数据处理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007308348A JP2009134392A (ja) 2007-11-29 2007-11-29 データ処理装置及びデータ処理システム

Publications (1)

Publication Number Publication Date
JP2009134392A true JP2009134392A (ja) 2009-06-18

Family

ID=40676966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007308348A Withdrawn JP2009134392A (ja) 2007-11-29 2007-11-29 データ処理装置及びデータ処理システム

Country Status (4)

Country Link
US (1) US20090144517A1 (ja)
JP (1) JP2009134392A (ja)
CN (1) CN101446930B (ja)
TW (1) TW200928753A (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822553A (en) * 1996-03-13 1998-10-13 Diamond Multimedia Systems, Inc. Multiple parallel digital data stream channel controller architecture
JP2006195714A (ja) * 2005-01-13 2006-07-27 Matsushita Electric Ind Co Ltd リソース管理装置

Also Published As

Publication number Publication date
US20090144517A1 (en) 2009-06-04
TW200928753A (en) 2009-07-01
CN101446930A (zh) 2009-06-03
CN101446930B (zh) 2010-09-22

Similar Documents

Publication Publication Date Title
JP2006517315A (ja) プロセッサ電力状態を考慮するメモリコントローラ
JP2008287873A5 (ja)
JP5829890B2 (ja) 半導体データ処理装置、タイムトリガ通信システム及び通信システム
US8169852B2 (en) Memory control circuit, control method, and storage medium
JP2018005902A (ja) メモリ装置へのアクセスを制御するための装置及びそのような装置内においてメンテナンス作業を行う方法
US7653906B2 (en) Apparatus and method for reducing power consumption on simultaneous multi-threading systems
US20130128682A1 (en) Memory system with dynamic refreshing
JP2014035628A5 (ja)
WO2012113232A1 (zh) 调整时钟中断周期的方法和装置
JPH0721021A (ja) 情報処理装置
US20100070793A1 (en) Clock supply device
JP6425492B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP2009134392A (ja) データ処理装置及びデータ処理システム
US8218389B2 (en) Semiconductor storage device and control method of the same
JPH11232214A (ja) 情報処理装置用プロセッサおよびその制御方法
US9841973B2 (en) Information processing apparatus and method of controlling information processing apparatus
JP2010140239A (ja) 割り込みレイテンシーを短縮する装置及び方法
KR20020008107A (ko) 저전력 상태로부터 dram 을 출구하기 위한자기-동기화 방법 및 장치
JP2011034214A (ja) メモリ制御装置
JP2007257462A (ja) バスリセット・システム及び方法
US20170125126A1 (en) Transmission apparatus, diagnosis method, computer-readable recording medium
JPH06236683A (ja) メモリリフレッシュ制御回路
JP5145922B2 (ja) Sdramリフレッシュ制御装置
JP2005107648A (ja) メモリ制御装置
JP5441185B2 (ja) 割り込みコントローラ及び時分割割り込み発生方法

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100527

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101102

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20111227