JP2007334692A - データ処理装置及び方法 - Google Patents

データ処理装置及び方法 Download PDF

Info

Publication number
JP2007334692A
JP2007334692A JP2006166603A JP2006166603A JP2007334692A JP 2007334692 A JP2007334692 A JP 2007334692A JP 2006166603 A JP2006166603 A JP 2006166603A JP 2006166603 A JP2006166603 A JP 2006166603A JP 2007334692 A JP2007334692 A JP 2007334692A
Authority
JP
Japan
Prior art keywords
memory
processing means
priority
processing
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006166603A
Other languages
English (en)
Other versions
JP2007334692A5 (ja
JP5094051B2 (ja
Inventor
Kimio Shiozawa
公男 塩澤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2006166603A priority Critical patent/JP5094051B2/ja
Publication of JP2007334692A publication Critical patent/JP2007334692A/ja
Publication of JP2007334692A5 publication Critical patent/JP2007334692A5/ja
Application granted granted Critical
Publication of JP5094051B2 publication Critical patent/JP5094051B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】比較的低速なメモリを使用した場合にもメモリアクセスが破綻することなくメモリアクセスを行うことができるデータ処理装置を提供することを課題とする。
【解決手段】データを記憶するメモリ(110)と、複数のグループに分割され、前記メモリに対してアクセス可能な複数の処理手段(102〜106)と、前記複数の処理手段に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御手段(108,109)とを有し、前記制御手段は、前記複数のグループのうち少なくとも1つのグループ内におけるいずれかの処理手段の前記メモリに対するアクセス要求の拒絶回数に応じて、その処理手段の、他のグループの処理手段に対する優先順位を上げることを特徴とするデータ処理装置が提供される。
【選択図】図1

Description

本発明は、データ処理装置及び方法に関する。
従来、動画像データや音声データをデジタルデータとして磁気テープに記録再生するデジタルVTRが知られている。デジタル動画像データは膨大なデータ量となるため、デジタルVTRでは、動画像データを符号化することによりデータ量を削減して比較的低い伝送レートに変換した後、記録している。また、特に民生用のデジタルVTRでは、回路規模の削減や消費電力、コスト削減の要求が大きく、これらの要求を満たすべく、動画データや音声データの処理回路を設計している。一方、近年、SDRAMに代表される大容量のメモリが比較的安価に利用できる環境が整いつつある。膨大な量のデータを処理するデジタルVTRにおいても、複数の処理ブロックが大容量メモリを共通に使用することで、回路規模や消費電力の削減を行うことが考えられている。大容量メモリを複数の回路ブロックにて共通に使用した場合、複数の回路ブロックからのメモリアクセスが競合することが考えられる。そこで、各回路ブロックに対してメモリアクセスの優先順位を決めておき、競合した場合にこの優先順位に従ってメモリアクセスを調停する処理が行われる(例えば、特許文献1参照)。
また、近年では、デジタル放送が始まり、これに伴い、NTSCなどの標準解像度(SD)の画像データに代わり、高精細(HD)画像データを扱う機器が増えており、HD画像データを記録可能なデジタルVTRも登場している。
特開平5−307531号公報
しかしながら、デジタルVTRの様にリアルタイムにデータを処理する装置においては、大容量メモリを複数の回路ブロックにて共通に使用した場合、決められた優先順位に従った調停処理によりメモリアクセスが待たされる。その結果、データの処理が間に合わずに破綻してしまうことが考えられる。これを避けるためには、より高速にアクセス可能なメモリを使用する必要があるが、高速なメモリは低速なメモリに比べて高価であり、また、消費電力も大きくなってしまう。また、リアルタイムにデータを処理する回路ブロックの優先順位を高く設定した場合には、それ以外の回路ブロックのアクセスが長期間待たされることも考えられ、やはりデータの処理が間に合わずに破綻してしまう。
本発明はこの様な問題を解決し、比較的低速なメモリを使用した場合にもメモリアクセスが破綻することなくメモリアクセスを行うことができるデータ処理装置及び方法を提供することを目的とする。
本発明のデータ処理装置は、データを記憶するメモリと、複数のグループに分割され、前記メモリに対してアクセス可能な複数の処理手段と、前記複数の処理手段に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御手段とを有し、前記制御手段は、前記複数のグループのうち少なくとも1つのグループ内におけるいずれかの処理手段の前記メモリに対するアクセス要求の拒絶回数に応じて、その処理手段の、他のグループの処理手段に対する優先順位を上げることを特徴とする。
また、本発明のデータ処理装置は、データを記憶するメモリと、複数のグループに分割され、前記メモリに対してアクセス可能な複数の処理手段と、前記複数の処理手段に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御手段とを有し、前記制御手段は、前記複数のグループのうち少なくとも1つのグループ内におけるいずれかの処理手段の前記メモリに対するアクセス要求の許可回数に応じて、その処理手段の、他のグループの処理手段に対する優先順位を下げることを特徴とする。
また、本発明のデータ処理方法は、データを記憶するメモリと、複数のグループに分割され、前記メモリに対してアクセス可能な複数の処理手段とを有する装置のデータ処理方法であって、前記複数の処理手段に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御ステップと、前記複数のグループのうち少なくとも1つのグループ内におけるいずれかの処理手段の前記メモリに対するアクセス要求の拒絶回数に応じて、その処理手段の、他のグループの処理手段に対する優先順位を上げる優先順位変更ステップとを有することを特徴とする。
また、本発明のデータ処理方法は、データを記憶するメモリと、複数のグループに分割され、前記メモリに対してアクセス可能な複数の処理手段とを有する装置のデータ処理方法であって、前記複数の処理手段に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御ステップと、前記複数のグループのうち少なくとも1つのグループ内におけるいずれかの処理手段の前記メモリに対するアクセス要求の許可回数に応じて、その処理手段の、他のグループの処理手段に対する優先順位を下げる優先順位変更ステップとを有することを特徴とする。
メモリに対する複数の処理手段のアクセス要求が競合した場合にも、優先順位を動的に変更することにより、メモリに対するアクセスを破綻なく保障することができる。
以下、本発明の実施形態を、図を用いて説明する。
図1は、本発明の実施形態によるデジタルビデオカメラ(データ処理装置)の構成例を示すブロック図である。本実施形態は、図1に示すように各種処理ブロックが内/外のCPUによって制御されつつ各々が所望のタイミングでメモリにアクセスし、それらのアクセス要求をメモリ制御部が調停することで上記処理ブロックの動作を保証するように構成されている。また、本実施形態における各処理ブロックはSD及びHD対応の画像データ及びオーディオデータのリアルタイム処理を行うことができる。本実施形態においてはこのような処理ユニットを並列配置して各処理回路に時分割的に画像データ及びオーディオデータを供給して処理させる。これにより、1フレーム当たりのデータ量が上記SD画像データの倍であるようなHD対応の画像データ及びオーディオデータをリアルタイムに処理することが出来る。
まず初めに各ブロック(処理手段)の動作を説明する。上記処理ユニットにおける各処理回路は、データI/Oブロック101、画像データ入出力ブロック102、オーディオ処理ブロック103、符号化/復号化ブロック104、誤り訂正ブロック105、符号化データ入出力ブロック106、電磁変換処理ブロック107から大略構成されている。ブロック(処理手段)102〜106は、アドレス変換回路108及びメモリインターフェース109を介して外付けの上記メモリ(SDRAM)110に対してデータの送受信を行うためにアクセス可能である。メモリ110は、メモリインターフェース109を介して受信したデータを記憶する。
データI/Oブロック101は、カメラからの入力データ、EVF(電子ビューファインダ)への出力データ、ライン入出力データ等のデータを処理する。画像データ入出力ブロック102は、上記入力データに対してY/C分離等の処理をする。オーディオ処理ブロック103は、オーディオデータの処理を行う。符号化/復号化ブロック104は、画像データに対して離散コサイン変換を用いた可変長符号化/復号化を行う。誤り訂正ブロック105は、誤り訂正処理を行う。符号化データ入出力ブロック106は、記録時には、上記符号化データを図示せぬ磁気テープに記録するためのフォーマット変換を行い、再生時には、図示せぬ磁気テープに記録されたデータをデフォーマット変換する。電磁変換処理ブロック107は、記録/再生時の電磁変換処理を行う。これら処理回路は、内部の電気系の処理を制御するシステムコントロールCPU111からCPUバス112を介して供給される所定のコマンドによって制御される。更に、これらの処理回路は、外部のサーボ系CPU113からCPUバス114及びCPUI/F115、及び上記CPUバス112を介して供給される所定のコマンドによって制御される。これにより、並列配置された各ブロックは、時分割処理される。
本実施形態における上記メモリ110は、クロックの立ち上がりに同期してデータのバースト転送を行い得るSDRAM(Syncronous−DRAM)が用いられている。メモリ110の領域には、符号化される前の画像データ(Y,Cr,Cb)が画素単位で書き込まれる。この画像データ(NTSC方式のSDモードの場合、1フレーム当たり水平720画素×垂直480画素)は、水平方向5ブロック×垂直方向10ブロックの50個のスーパーマクロブロック(以下、SMBと記す)に配分される。各SMBは、輝度データ4DCT(離散コサイン変換)ブロックと色差データ各1DCTブロックとから成るマクロブロック(以下、MBと記す)を27ブロック集めて構成されている。なお、各DCTブロックは8×8画素から構成される。上述の画素数から成る1フレームの画像データはNTSC方式の場合符号化処理された後に磁気テープ上の10トラックに渡って記録されるが、符号化前の画像データは上述のような水平方向に整列された5SMB分のデータが1本のトラックにそれぞれ対応する。
一方、メモリ110の領域には、符号化された後の画像データ及び誤り訂正符号等が格納されている。記録媒体へ記録される場合においてそれらのデータは、上述の10本のトラックに分配されて記録される。ここで各トラックに対応する領域には149のシンクブロック(以下、SBと記す)が記録される。同様に、オーディオデータ及び誤り訂正符号等も、上記画像データ領域とは独立した10本のトラックに分配されて記録され、各トラックに対応する領域には14SBが記録される。
また、画像データ/オーディオデータの各SBは、SBの先頭を示す同期データ(以下、SYと記す)、信号の各アドレス及び属性等を示すIDデータ(以下、IDと記す)、有効(画像/オーディオ)データ、及びパリティからそれぞれ構成される。入力された音声データはオーディオ処理ブロック103を介し、メモリ110の所定領域に書き込まれる。その後、符号化/復号化ブロック104は映像データと同様に音声データをメモリ110の所定領域から読出し、例えばDVフォーマットの音声圧縮方式に対応する方式で圧縮する。AUXデータやサブコードデータなどで構成されるシステムデータは、システムコントロールCPU111によりメモリ110の所定領域に書き込まれる。それらメモリ110上の入力されたデータは、誤り訂正ブロック105により誤り訂正符号やIDを付加したり、16トラックの間でのインタリーブ処理を施したりする。その後、符号化データ入出力ブロック106はメモリ110からデータを読出しトラッキング用のパイロット信号成分が強く出るように選ばれた冗長な1ビットを付加する。これにより、24ビット単位のデータを25ビット単位のデータに変換(以降、24−25変換と記す。)する。
符号化データ入出力ブロック106は、後述するメインデータ又はサブコードに付加するシンクデータ、アンブルデータ、及びITIのデータを発生する。アドレス変換回路108は、内外部のCPU111、113からバス112を介して再生モードか記録モードかといった各種動作モードの種類等を指定するコマンドが伝送されるか、又は、直接各ブロックのアドレスの所定ビットによって上記モードが伝送される。そして、アドレス変換回路108は、これらの情報に応じてデータ転送の優先順位に関するスケジューリングを行うと共に、上記各ブロックからのアクセス要求(以下、Reqと記す)に応じて各処理ブロックとメモリ110との間のデータ転送の調停を行う。すなわち、アドレス変換回路108は、複数の処理ブロック102〜106に設定された優先順位に基づいて複数の処理ブロック102〜106によるメモリ110に対するアクセスを制御する。上記コマンドは、機器本体の各スイッチ等によって設定される動作モードを上記内外部CPU111、113が検出する事によって決定されるものであり、例えば符号化モード、復号化モード、或いは、VTRにおける特殊再生モード等の各種動作モードに対応する。
アドレス変換回路108は、各処理ブロックにおける処理形態及びメモリ110のアドレス空間に応じた最適なデータ単位でアドレッシングし得るように各処理ブロック毎に後述する所定のアドレスを生成する。また、このアドレス変換回路108におけるアドレス生成動作は、上記内外CPU111,113から伝送される画像タイプに応じたパラメータに基づいて可変設定されるようになっている。例えば処理すべき画像がSDかHDかといった画像タイプ(サイズ)に応じて異なるアドレスを発生する。一方、各処理回路の各部はそれぞれ必要なクロックが供給されており、そのクロックに同期して動作する。これらのクロックは、入力信号中から抽出される同期信号HSync、VSync及び内部基準クロック等に基づいて生成されるクロックCLK1〜CLK4である。クロックCLK1は、画像データ入出力ブロック102に供給されて入力信号に同期する第1のクロックCLK1である。クロックCLK2は、オーディオ処理ブロック103に供給されてオーディオデータの処理を行うための第2のクロックCLK2である。クロックCLK3は、符号化/復号化ブロック104と誤り訂正ブロック105及び、アドレス変換回路108、メモリI/F109、メモリ110に供給される第3のクロックCLK3である。クロックCLK4は、符号化データ入出力ブロック106に電磁変換処理ブロック107から供給されるドラムの回転に同期したクロックで、記録媒体への記録/再生を行うための第4のクロックCLK4である。各処理ブロックは、供給されたクロックに応じた処理動作を行う。また、メモリコントローラ116はメモリ110へのアクセスレートを監視するブロックである。
図2は、本実施形態に於けるメモリアクセスの制御機能を説明するための機能ブロック図である。108及び109は図1に於けるアドレス変換回路及びメモリI/Fからなるメモリアクセス制御回路であり、110はメインメモリのSDRAMである。例えば、複数のブロック102〜106は、複数のグループGr1〜Gr3に分割される。200は夫々所定の周期でリアルタイム処理が必要なブロックのグループ(以降、Gr1と記す。)である。Gr1は、固定された高い優先順位のグループである。201は所定の周期でリアルタイム処理が不要なハンドシェーク系のブロックのグループ(以降、Gr2と記す。)である。Gr2は、ハンドシェーク可能なグループであり、本実施形態では優先順位が固定されている。202は、201と同様にリアルタイム処理が不要なハンドシェーク系のブロックのグループ(以降、Gr3と記す。)である。但し、Gr3は、ハンドシェーク系のグループの中でも比較的低いアクセスレートのブロックであり、例えば、システムコントロールCPU111のキャッシュ機能のアクセス等である。このアクセスは、ワーストケースが連続した場合において破綻する可能性がある。
図3は、本実施形態に於けるメモリアクセスの優先順位を示した一例の図である。300、303は、図2で示したGr3としてグルーピングされたハンドシェーク系ブロックのリクエストで、例えば、システムコントロールCPU111からのキャッシュ用のリクエスト、サーボ系CPU113からのキャッシュ系リクエスト等である。このリクエストが、本実施形態によりダイナミックにアクセス制御されるものであり、デフォルトの優先順位は最下位であり、図5、図6を用いて後述する条件により、最上位または最下位の優先順位に設定される。また、図5、図6を用いた後述の条件により、Gr3内でも優先順位が動的に変更される。グループGr3は、自己のグループ内のブロックのリクエストReq3−1〜Req3−3を有する。301は、図2で示したGr1としてグルーピングされたリアルタイム系ブロックのリクエストで、例えば、画像データ入出力ブロック102のリクエスト、オーディオ処理ブロック103のリクエスト、符号化データ入出力ブロック106のリクエスト等である。グループGr1は、自己のグループ内のブロックのリクエストReq1−1〜Req1−4を有する。302は、図2で示したGr2としてグルーピングされたハンドシェーク系ブロックのリクエストである。例えば、誤り訂正ブロック105のリクエスト、システムコントロールCPU111のリクエスト、サーボ系CPU113のリクエスト、符号化/復号化ブロック104のリクエスト等である。グループGr2は、自己のグループ内のブロックのリクエストReq2−1〜Req2−4を有する。
次に、図4を用いてメモリアクセスが正常に動作している時と、破綻する時のアクセスパターンを説明する。この例では、説明を容易にするためにReq1−1、Req1−2、Req2−1、Req3−1、Req3−2を用いて説明する。
Req1−1、Req1−2、Req2−1、Req3−1、Req3−2の各信号波形は、各ブロックからリクエストが発生した時、ハイレベル(以降、「H」と記す。)になり、アドレス変換回路108による調停処理によりリクエストが受け付けられた時にローレベル(以降、「L」と記す。)になる。調停処理は受け付けられたリクエストのメモリアクセス処理が完了後、速やかに実施される。この図では、400、402、404、406、408、410、412、414、416、418、420、422、424がメモリアクセス処理時間を示している。401、403、405、407、409、411、413、415、417、419、421、423、425が調停処理のタイミングを示している。
まず、メモリアクセス処理が破綻しない場合の動作を説明する。メモリアクセス400の処理が完了後、調停タイミング401において、Req1−1、Req1−2、Req2−1、Req3−1、Req3−2の全てのリクエストが発生している。そのため、優先順位が一番高いReq1−1が受け付けられ、Req1−1の波形が「H」から「L」に変化する。それと共に、設定されたバースト長に従いメモリアクセスが402に示した時間を占有して実施される。メモリアクセス402が完了すると調停タイミング403において、Req1−2、Req2−1、Req3−1、Req3−2のリクエストが発生しているため、その時点で優先順位が一番高いReq1−2が受け付けられる。そして、Req1−2の波形が「H」から「L」に変化すると共に、設定されたバースト長に従いメモリアクセスが404に示した時間を占有して実施される。メモリアクセス404が完了すると調停タイミング405において、Req2−1、Req3−1、Req3−2のリクエストが発生しているため、その時点で優先順位が一番高いReq2−1が受け付けられる。そして、Req2−1の波形が「H」から「L」に変化すると共に、設定されたバースト長に従いメモリアクセスが406に示した時間を占有して実施される。メモリアクセス406が完了すると調停タイミング407において、Req3−1、Req3−2のリクエストが発生しているため、Req3−1が受け付けられる。そして、Req3−1の波形が「H」から「L」に変化すると共に、設定されたバースト長に従いメモリアクセスが408に示した時間を占有して実施される。メモリアクセス408が完了すると調停タイミング409において、Req3−2のリクエストのみが発生しているため、Req3−2が受け付けられる。そして、Req3−2の波形が「H」から「L」に変化すると共に、設定されたバースト長に従いメモリアクセスが410に示した時間を占有して実施される。
次に、アクセスが破綻する場合について説明する。メモリアクセス410が完了すると調停タイミング411において、Req1−1、Req3−1のリクエストが発生しているため、その時点で優先順位が一番高いReq1−1が受け付けられる。そして、Req1−1の波形が「H」から「L」に変化すると共に、設定されたバースト長に従いメモリアクセスが412に示した時間を占有して実施される。この時、Req3−1はアクセスを許可されず待たされる事になり、後述する期間T内での処理を行えずシステム的に破綻する事になる。メモリアクセス412が完了すると調停タイミング413において、新たに発生したReq1−2、Req2−1、Req3−2と前回の調停タイミングから待たされていたReq3−1のリクエストが発生している。そのため、その時点で優先順位が一番高いReq1−2が受け付けられる。そして、Req1−2の波形が「H」から「L」に変化すると共に、設定されたバースト長に従いメモリアクセスが414に示した時間を占有して実施される。この時、Req3−2はアクセスを許可されず待たされる事になり、後述する期間S内での処理を行えずシステム的に破綻する事になる。
メモリアクセス414が完了すると調停タイミング415において、前回の調停タイミングから待たされているReq2−1、Req3−1、Req3−2のリクエストが発生しているため、その時点で優先順位が一番高いReq2−1が受け付けられる。そして、Req2−1の波形が「H」から「L」に変化すると共に、設定されたバースト長に従いメモリアクセスが416に示した時間を占有して実施される。同様に、次の調停タイミング417においては、新たに発生したReq1−2と前回の調停タイミングから待たされていたReq3−1、Req3−2のリクエストが発生しているため、その時点で優先順位が一番高いReq1−2が受け付けられる。そのためにReq3−1は受け付けられ無い事になる。また、Req1−2の波形が「H」から「L」に変化すると共に、設定されたバースト長に従いメモリアクセスが418に示した時間を占有して実施される。その後、調停タイミング419においては、前回の調停タイミングから待たされていたReq3−1、Req3−2のリクエストが発生しているため、その時点で優先順位が一番高いReq3−1が受け付けられる。そのためにReq3−2は受け付けられ無い事になる。このようにして、リアルタイム処理が不要であるハンドシェーク系の処理、特に優先順位の低いブロックのアクセスにおいて、長い時間に渡りメモリへのアクセスが不可能になるとシステム的な破綻が生じる事になる。ここで、区間T及びSは、Req3−1及びReq3−2のリクエストタイミング、所謂、処理区間を示す。
図5に本実施形態を適用し、図4におけるシステム破綻を防止した場合のアクセスパターンを示す。なお、図4に示したパターンと同一のものについては、同じ番号を付し、説明は省略する。ここでは、グループGr3の優先順位を最下位から最上位に設定する条件として、リクエスト拒絶回数(以降、nと記す。)とリクエスト許可回数(以降、mと記す。)を設定する。これは、システムコントロールCPU111によってレジスタ設定されるものである。本実施形態では図2に示したメモリアクセス制御回路108,109にて、これらn、m及び、実際に計数されたアクセス要求の拒絶回数(以降、RejNと記す。)と実際に計数されたアクセス要求の許可回数(以降、AckNと記す。)を比較し、この比較結果によってメモリアクセスの優先順位を変更する。例えば、初期状態で優先順位が最下位であるグループGr3の優先順位を制御するための条件がRejN≧nが満たした時、グループGr3のリクエストの優先順位を最上位に設定し、AckN≧mの条件を満たした時、初期状態同様、最下位に設定する。また、その際に、グループGr3内の優先順位を変更することが可能である。以下、n=1、m=1の場合を例に詳細な説明をする。拒絶回数を計数する手段は、ハードウェア、又はCPUにより容易に実現できるため、特に図示しない。
Req3−1のリクエストは、調停タイミング411において、Req3−1よりも優先順位の高いグループGr3以外のReq1−1と競合することとなる。その結果、Req3−1のリクエストはその時点において拒絶される事になる。従って、この場合、拒絶回数RejNが計数されることにより「1」になり、n=1以上の値になったために、次の調停タイミング413に於ける優先順位は最上位に設定される。調停タイミング413において、Req3−1のアクセス優先順位が最上位になっているため、新たに発生したReq1−2、Req2−1、Req3−2よりも優先度が高い。そのため、Req3−1が受け付けられメモリへのアクセス500が許可される。それと同時に、調停タイミング413において、Req3−1が受け付けられたため、拒絶回数RejNが「0」にリセットされ、許可回数AckNが「1」に計数される。また、グループGr3内の優先順位、即ち、Req3−1、Req3−2の優先順位がReq3−2、Req3−1の順に変更される。
次に、前記メモリアクセス500のアクセス完了後の調停タイミング501では、Req1−2、Req2−1とReq3−2のリクエストが競合しているが、ここでは、AckN≧mの条件が成立しているために、Req3−2の優先順位が最下位となっている。そのため、グループGr3以外のReq1−2のリクエストが受け付けられ、メモリアクセス502が発生すると共に、拒絶回数RejNが「1」に計数され、許可回数AckNが「0」にリセットされる。その結果、次の調停タイミング503では、調停タイミング501から待たされていたReq2−1と新たに発生したGr3のReq3−1よりReq3−2のアクセス優先順位が上位になるため、Req3−2が受け付けられメモリアクセス504が発生する。それにより、再度、拒絶回数RejNが「0」にリセットされると共に、許可回数AckNが「1」に計数される。また、グループGr3内の優先順位、即ち、Req3−1、Req3−2の優先順位がReq3−1、Req3−2の順に変更される。
メモリアクセス504のアクセス完了後の調停タイミング505では、Req2−1、Req3−1のリクエストが競合しているが、Req3−1の優先順位が最下位となっている。そのため、グループGr3以外のReq2−1のリクエストが受け付けられ、メモリアクセス506が発生すると共に、拒絶回数RejNが「1」に計数され、許可回数AckNが「0」にリセットされる。その結果、メモリアクセス506完了後の調停タイミング507では、Req1−2、Req3−1のリクエストが発生しているが、その時点で優先順位が一番高いReq3−1が受け付けられメモリアクセス508が発生する。それと共に、拒絶回数RejNが「0」にリセットされ、許可回数AckNが「1」に計数される。また、グループGr3内の優先順位、即ち、Req3−1、Req3−2の優先順位がReq3−2、Req3−1の順に変更される。メモリアクセス508完了後の調停タイミング509では、その時点で優先順位の最も高いReq1−1が受け付けられると同時に、Req3−2が拒絶されたため、拒絶回数RejNが「1」に計数され、許可回数AckNが「0」にリセットされる。メモリアクセス510完了後の調停タイミング511では、その時点で優先順位の最も高いReq3−2が受け付けられ、拒絶回数RejNが「0」にリセットされ、許可回数AckNが「1」に計数される。また、グループGr3内の優先順位、即ち、Req3−1、Req3−2の優先順位がReq3−1、Req3−2の順に変更される。メモリアクセス512完了後の調停タイミング513では、その時点で優先順位の最も高いReq1−2が受け付けられる。上述したように、拒絶回数RejN、許可回数AckNによる優先順位の変更とその際のグループGr3の優先順位変更を行う事で図4にて破綻していたシステムを破綻させる事なく動作させる事が可能となる。
次に、図6のフローチャートを用いて、図5で説明したグループGr3のメモリアクセス優先順位の制御処理動作を説明する。
ステップ600は、フローチャートの開始である。
ステップ601において、アドレス変換回路108、或いはシステムコントロールCPU111は、調停優先順位の初期設定を行う。
ステップ602において、アドレス変換回路108、或いはシステムコントロールCPU111は、調停タイミングか否かを判断し、調停タイミングであればステップ603に進む。
ステップ603において、アドレス変換回路108、或いはシステムコントロールCPU111は、グループGr3のリクエストの有無を判断し、グループGr3のリクエストが有ればステップ604に、無ければステップ614へ進む。
ステップ604において、アドレス変換回路108、或いはシステムコントロールCPU111は、グループGr3以外のリクエストの有無を判断し、グループGr3以外のリクエストが有ればステップ605に、無ければステップ609へ進む。
ステップ605において、アドレス変換回路108、或いはシステムコントロールCPU111は、優先順位に従い調停を行ない、グループGr3以外の許可を行えばステップ606に、グループGr3の許可を行えばステップ610に進む。
ステップ606において、アドレス変換回路108、或いはシステムコントロールCPU111は、拒絶回数RejNをインクリメントしてステップ607に進む。
ステップ607において、アドレス変換回路108、或いはシステムコントロールCPU111は、RejN≧nの条件判断を行ない、RejN≧nであればステップ608へ進み、RejN<nであればステップ615に進む。また、前記図5に示した実施形態においては、n=1であるため、調停タイミング411、501、505、509においてステップ608に進んだ。
ステップ608において、アドレス変換回路108、或いはシステムコントロールCPU111は、グループGr3のリクエストの優先順位を最上位に変更して、ステップ609に進む。
ステップ609において、アドレス変換回路108、或いはシステムコントロールCPU111は、拒絶回数RejNを0にクリアにして、ステップ615に進む。
ステップ610において、アドレス変換回路108、或いはシステムコントロールCPU111は、許可回数AckNをインクリメントしてステップ611に進む。
ステップ611において、アドレス変換回路108、或いはシステムコントロールCPU111は、AckN≧mの条件判断を行ない、AckN≧mであればステップ612へ進み、AckN<mであればステップ615へ進む。また、前記図5に示した実施形態においては、m=1であるため、調停タイミング413、503、507、511においてステップ612に進んだ。
ステップ612において、アドレス変換回路108、或いはシステムコントロールCPU111は、グループGr3のリクエストの優先順位を最下位に変更して、ステップ613に進む。また、グループGr3が複数の処理手段で構成される場合は、グループGr3内の優先順位を変更する事も可能であり、図5に示した実施形態においては、調停タイミング413、503、507、511でReq3−1とReq3−2の優先順位を変更している。
ステップ613において、アドレス変換回路108、或いはシステムコントロールCPU111は、許可回数AckNを0にクリアにして、ステップ615に進む。
ステップ614において、アドレス変換回路108、或いはシステムコントロールCPU111は、グループGr3以外のリクエストの有無を判断し、グループGr3以外のリクエストが有ればステップ615に、無ければステップ616へ進む。
ステップ615において、アドレス変換回路108、或いはシステムコントロールCPU111は、受け付けられたリクエスト(Req)のバースト長に従いメモリアクセスを行ない、処理を終了したらステップ616に進む。
ステップ616において、システムが停止すればステップ617にて処理が終了し、そうでなければステップ602に進み、再度、このフローを実行する。
次に、図7、図8、図9を用いて、アクセスレートの監視手段を説明する。
図7は、メモリコントローラ116の構成例を示す図である。700はリクエストの調停によりアクセス許可されたリクエストのアクセスデータバースト長の入力端子であり、本実施形態では、7ビットの幅を持つ。701は、調停により許可されたメモリアクセス単位に発生するタイミング信号の入力端子であり、そのタイミング信号毎に入力されるアクセスデータバースト長700の値が変化する。702はFF(フリップフロップ)、703は加算器である。704はFFであり、システムコントロールCPUバス112を介してシステムコントロールCPU111から制御されるタイミング発生器705からのリセット信号によりリセットされる。706はFFであり、FF704と同様にタイミング発生器705からのイネーブル信号により出力を制御される。
図8は、図7のメモリコントローラ116の詳細な動作タイミングを表したタイミングチャートである。スタート800はメモリアクセスのタイミング信号であり、図7の入力端子701から入力される。バースト長801はそれに同期したSDRAM110へのアクセスバースト長であり、図示したようなバースト長のメモリアクセスが発生する。リセット802はタイミング発生器705から出力されるリセット信号であり、システムコントロールCPU111により1秒周期で「L」にアサートされ、FF704をリセットする。出力803はFF704の出力を示したものである。イネーブル804はリセット802のリセット周期と同様に1秒の周期で「L」にアサートされる信号であり、タイミング的には、リセット802のリセットよりも少なくとも1サイクル前に発生し、FF706に供給される。その結果、FF706からは出力805に示したような値が出力される。その出力結果は、1秒間にメモリアクセスされたバイト数の合計であり、すなわちアクセスレートを意味し、それがシステムコントロールCPU111に読み込まれる事になる。その値の単位は、[byte/sec]であるために、システムコントロールCPU111は8倍する事で[bit/sec]に換算する。
図9は、アクセスレートの変化を示した一例である。本実施形態では、上記アクセスレートからメモリアクセス制御モードを変える事が可能である。例えば、例1の様にレートに関らず本実施形態に示したアクセス制御を実施する場合と、例2に示した様にアクセスレートに閾値を設け、優先順位を固定にする領域と本実施形態のアクセス制御を実施する領域とを動的に設定する事が出来る。本実施形態においては、例えば、最大67.5Mbpsのシステムにおいてアクセスレートの閾値を80%と設定すると、54Mbpsが閾値となり、その閾値によって優先順位固定と変動が動的に切り替わる。アクセスレートが54Mbpsより高いときには優先順位が変更制御され、54Mbpsより低いときには優先順位が固定される。
以上のように、複数のブロック102〜106によるメモリ110へのアクセス状況に応じて、優先順位の変更を可能にする。例えば、複数のブロック102〜106によるメモリ110へのアクセスレートの合計に応じて、優先順位の変更を可能にする。具体的には、複数のブロック102〜106によるメモリ110へのアクセスレートの合計が閾値(54Mbps)よりも高いときには、優先順位の変更を可能にする。
なお、本発明は、本発明の技術思想の範囲内において、デジタルビデオカメラにのみ限定されるものではなく、競合するメモリアクセスを調停しつつ動作する全てのシステムにおいて、回路形態により適時変更されて適応するべきものである。
本実施形態によれば、複数のグループGr1〜Gr3のうち少なくとも1つのグループGr3内におけるいずれかのブロックのメモリ110に対するアクセス要求の拒絶回数RejNに応じて、そのブロックの、他のグループのブロックに対する優先順位を上げる。具体的には、前記少なくとも1つのグループ内におけるいずれかのブロックの拒絶回数RejNが閾値拒絶回数nに達したことに応じて、そのブロックの、前記他のグループのブロックに対する優先順位を上げる。
また、前記優先順位を上げた後、前記少なくとも1つのグループGr3内におけるいずれかのブロックのメモリ110に対するアクセス要求の許可回数AckNに応じて、そのブロックの、他のグループのブロックに対する優先順位を下げる。具体的には、前記少なくとも1つのグループGr3内におけるいずれかのブロックの許可回数AckNが閾値許可回数mに達したことに応じて、そのブロックの、前記他のグループのブロックに対する優先順位を下げる。
前記優先順位を変更した後、前記少なくとも1つのグループ内における複数のブロックのメモリ110に対するアクセス要求が競合した場合、そのグループ内で最も優先順位が高いブロックのアクセス要求を許可する。また、前記少なくとも1つのグループ内で最も優先順位が高いブロックのアクセス要求が閾値許可回数m許可されたことに応じて、前記最も優先順位が高いブロックの優先順位を変更する。
本実施形態によれば、メモリ110に対する複数のブロック102〜106のアクセス要求が競合した場合にも、優先順位を動的に変更することにより、メモリ110に対するアクセスを破綻なく保障することができる。
上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
本発明の実施形態によるデジタルVTRの構成例を示す図である。 本実施形態のメモリアクセスの優先順位を示す図である。 本実施形態のメモリアクセスの構成を示す図である。 一般的なメモリアクセスのリクエスト受付状況を示す図である。 本実施形態のメモリアクセスのリクエスト受付状況を示す図である。 本実施形態のアービトレーション制御のフローチャートである。 本実施形態のビットレート検出回路の構成例を示す図である。 本実施形態のビットレート検出回路のタイミング図である。 本実施形態のビットレートによるアクセス制御を示す図である。
符号の説明
101 データI/Oブロック
102 画像データ入出力ブロック
103 オーディオ処理ブロック
104 符号化復号化ブロック
105 誤り訂正ブロック
106 符号化データ入出力ブロック
107 電磁変換処理ブロック
108 アドレス変換回路
109 メモリI/F
110 SDRAM
111 システムコントロールCPU
112 システムコントロールCPUバス
113 サーボ系CPU
114 サーボ系CPUバス
115 サーボ系CPUバスI/F
116 メモリコントローラ
200 優先順位固定のリアルタイム系ブロック
201 優先順位固定のハンドシェーク系ブロック
202 優先順位変動のハンドシェーク系ブロック

Claims (12)

  1. データを記憶するメモリと、
    複数のグループに分割され、前記メモリに対してアクセス可能な複数の処理手段と、
    前記複数の処理手段に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御手段とを有し、
    前記制御手段は、前記複数のグループのうち少なくとも1つのグループ内におけるいずれかの処理手段の前記メモリに対するアクセス要求の拒絶回数に応じて、その処理手段の、他のグループの処理手段に対する優先順位を上げることを特徴とするデータ処理装置。
  2. 前記制御手段は、前記少なくとも1つのグループ内におけるいずれかの処理手段の前記拒絶回数が閾値拒絶回数に達したことに応じて、その処理手段の、前記他のグループの処理手段に対する優先順位を上げることを特徴とする請求項1記載のデータ処理装置。
  3. 前記制御手段は、前記優先順位を上げた後、前記少なくとも1つのグループ内におけるいずれかの処理手段の前記メモリに対するアクセス要求の許可回数に応じて、その処理手段の、前記他のグループの処理手段に対する優先順位を下げることを特徴とする請求項1又は2記載のデータ処理装置。
  4. 前記制御手段は、前記少なくとも1つのグループ内におけるいずれかの処理手段の前記許可回数が閾値許可回数に達したことに応じて、その処理手段の、前記他のグループの処理手段に対する優先順位を下げることを特徴とする請求項3記載のデータ処理装置。
  5. 前記制御手段は、前記優先順位を変更した後、前記少なくとも1つのグループ内における複数の処理手段の前記メモリに対するアクセス要求が競合した場合、そのグループ内で最も優先順位が高い処理手段のアクセス要求を許可することを特徴とする請求項1〜4のいずれか1項に記載のデータ処理装置。
  6. 前記制御手段は、前記少なくとも1つのグループ内で最も優先順位が高い処理手段のアクセス要求が閾値許可回数許可されたことに応じて、前記最も優先順位が高い処理手段の優先順位を変更することを特徴とする請求項5記載のデータ処理装置。
  7. 前記制御手段は、前記複数の処理手段による前記メモリへのアクセス状況に応じて、前記優先順位の変更を可能にすることを特徴とする請求項1〜6のいずれか1項に記載のデータ処理装置。
  8. 前記制御手段は、前記複数の処理手段による前記メモリへのアクセスレートの合計に応じて、前記優先順位の変更を可能にすることを特徴とする請求項7記載のデータ処理装置。
  9. 前記制御手段は、前記複数の処理手段による前記メモリへのアクセスレートの合計が閾値よりも高いときには、前記優先順位の変更を可能にすることを特徴とする請求項8記載のデータ処理装置。
  10. データを記憶するメモリと、
    複数のグループに分割され、前記メモリに対してアクセス可能な複数の処理手段と、
    前記複数の処理手段に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御手段とを有し、
    前記制御手段は、前記複数のグループのうち少なくとも1つのグループ内におけるいずれかの処理手段の前記メモリに対するアクセス要求の許可回数に応じて、その処理手段の、他のグループの処理手段に対する優先順位を下げることを特徴とするデータ処理装置。
  11. データを記憶するメモリと、複数のグループに分割され、前記メモリに対してアクセス可能な複数の処理手段とを有する装置のデータ処理方法であって、
    前記複数の処理手段に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御ステップと、
    前記複数のグループのうち少なくとも1つのグループ内におけるいずれかの処理手段の前記メモリに対するアクセス要求の拒絶回数に応じて、その処理手段の、他のグループの処理手段に対する優先順位を上げる優先順位変更ステップと
    を有することを特徴とするデータ処理方法。
  12. データを記憶するメモリと、複数のグループに分割され、前記メモリに対してアクセス可能な複数の処理手段とを有する装置のデータ処理方法であって、
    前記複数の処理手段に設定された優先順位に基づいて前記複数の処理手段による前記メモリに対するアクセスを制御する制御ステップと、
    前記複数のグループのうち少なくとも1つのグループ内におけるいずれかの処理手段の前記メモリに対するアクセス要求の許可回数に応じて、その処理手段の、他のグループの処理手段に対する優先順位を下げる優先順位変更ステップと
    を有することを特徴とするデータ処理方法。
JP2006166603A 2006-06-15 2006-06-15 データ処理装置及び方法 Expired - Fee Related JP5094051B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006166603A JP5094051B2 (ja) 2006-06-15 2006-06-15 データ処理装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006166603A JP5094051B2 (ja) 2006-06-15 2006-06-15 データ処理装置及び方法

Publications (3)

Publication Number Publication Date
JP2007334692A true JP2007334692A (ja) 2007-12-27
JP2007334692A5 JP2007334692A5 (ja) 2009-07-23
JP5094051B2 JP5094051B2 (ja) 2012-12-12

Family

ID=38934108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006166603A Expired - Fee Related JP5094051B2 (ja) 2006-06-15 2006-06-15 データ処理装置及び方法

Country Status (1)

Country Link
JP (1) JP5094051B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010044175A1 (ja) * 2008-10-15 2010-04-22 パナソニック株式会社 半導体装置及び半導体集積回路
WO2011152013A1 (ja) * 2010-05-31 2011-12-08 パナソニック株式会社 集積回路製造方法及び半導体集積回路

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04284550A (ja) * 1991-03-14 1992-10-09 Fujitsu Ltd 共有メモリ制御方式
JPH04346140A (ja) * 1991-05-23 1992-12-02 Toshiba Corp 共有メモリのアクセス制御装置
JP2003323335A (ja) * 2002-05-01 2003-11-14 Pfu Ltd メモリ装置及びその制御方法
JP2005173859A (ja) * 2003-12-10 2005-06-30 Matsushita Electric Ind Co Ltd メモリアクセス制御回路
JP2006053613A (ja) * 2004-08-09 2006-02-23 Fuji Xerox Co Ltd データ転送制御装置及びデータ転送制御方法
JP2006350941A (ja) * 2005-06-20 2006-12-28 Canon Inc データ処理装置及び方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04284550A (ja) * 1991-03-14 1992-10-09 Fujitsu Ltd 共有メモリ制御方式
JPH04346140A (ja) * 1991-05-23 1992-12-02 Toshiba Corp 共有メモリのアクセス制御装置
JP2003323335A (ja) * 2002-05-01 2003-11-14 Pfu Ltd メモリ装置及びその制御方法
JP2005173859A (ja) * 2003-12-10 2005-06-30 Matsushita Electric Ind Co Ltd メモリアクセス制御回路
JP2006053613A (ja) * 2004-08-09 2006-02-23 Fuji Xerox Co Ltd データ転送制御装置及びデータ転送制御方法
JP2006350941A (ja) * 2005-06-20 2006-12-28 Canon Inc データ処理装置及び方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010044175A1 (ja) * 2008-10-15 2010-04-22 パナソニック株式会社 半導体装置及び半導体集積回路
WO2011152013A1 (ja) * 2010-05-31 2011-12-08 パナソニック株式会社 集積回路製造方法及び半導体集積回路
US8438523B2 (en) 2010-05-31 2013-05-07 Panasonic Corporation Integrated circuit manufacturing method and semiconductor integrated circuit
JPWO2011152013A1 (ja) * 2010-05-31 2013-07-25 パナソニック株式会社 集積回路製造方法及び半導体集積回路
JP5834226B2 (ja) * 2010-05-31 2015-12-16 パナソニックIpマネジメント株式会社 集積回路製造方法及び半導体集積回路

Also Published As

Publication number Publication date
JP5094051B2 (ja) 2012-12-12

Similar Documents

Publication Publication Date Title
KR100897463B1 (ko) 메모리카드 컨트롤러, 메모리카드 드라이브 장치 및 기록매체
US8601192B2 (en) Arbitration device, arbitration system, arbitration method, semiconductor integrated circuit, and image processing device
US20020019914A1 (en) Signal processor with a plurality of kinds of processors and a shared memory accessed through a versatile control means
JP6356970B2 (ja) 記録装置、及び記録装置の制御方法
JP5539101B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP5094051B2 (ja) データ処理装置及び方法
JP2018164171A (ja) 記録装置、制御方法、及びプログラム
WO2009139109A1 (ja) メモリ制御装置、およびこれを備えた情報処理装置
US6490407B2 (en) Recording and reproduction of mixed moving and still images
JP4817725B2 (ja) データ処理装置及び方法
JP2018164172A (ja) 記録装置、制御方法、及びプログラム
JP2021184576A (ja) 撮像装置および撮像装置の制御方法
JP4323476B2 (ja) メモリカードコントローラ、メモリカードドライブ装置、及びプログラム
JP3866008B2 (ja) ディジタル式映像および音声記録再生装置
JP2001291318A (ja) 記録再生装置およびディジタル放送受信機
JP2014086798A (ja) 電子機器、動画再生装置、動画デコード方法、及びプログラム
US6449668B1 (en) AV data input/output device
JP2008271461A (ja) カメラシステムおよびデータ伝送方法
JP4666980B2 (ja) データ処理装置
JP2000347814A (ja) 記録媒体制御装置及び記録媒体制御方法
JP2001218165A (ja) ディジタル信号記録装置および方法、記録媒体
JP2005062997A (ja) データ転送制御装置、ディスクレコーダ、およびデータ転送制御方法
JP2000123475A (ja) 磁気ディスク制御装置
JP2009044392A (ja) ビデオ再生方法およびビデオ再生装置
JP2020091696A (ja) 記録再生装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090610

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120412

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: 20120911

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120918

R151 Written notification of patent or utility model registration

Ref document number: 5094051

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees