特開2015-194918(P2015-194918A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社メガチップスの特許一覧

特開2015-194918データ転送制御装置及びメモリ内蔵装置
<>
  • 特開2015194918-データ転送制御装置及びメモリ内蔵装置 図000003
  • 特開2015194918-データ転送制御装置及びメモリ内蔵装置 図000004
  • 特開2015194918-データ転送制御装置及びメモリ内蔵装置 図000005
  • 特開2015194918-データ転送制御装置及びメモリ内蔵装置 図000006
  • 特開2015194918-データ転送制御装置及びメモリ内蔵装置 図000007
  • 特開2015194918-データ転送制御装置及びメモリ内蔵装置 図000008
  • 特開2015194918-データ転送制御装置及びメモリ内蔵装置 図000009
  • 特開2015194918-データ転送制御装置及びメモリ内蔵装置 図000010
  • 特開2015194918-データ転送制御装置及びメモリ内蔵装置 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2015-194918(P2015-194918A)
(43)【公開日】2015年11月5日
(54)【発明の名称】データ転送制御装置及びメモリ内蔵装置
(51)【国際特許分類】
   G06F 13/28 20060101AFI20151009BHJP
【FI】
   G06F13/28 310M
   G06F13/28 310Y
【審査請求】未請求
【請求項の数】5
【出願形態】OL
【全頁数】17
(21)【出願番号】特願2014-72626(P2014-72626)
(22)【出願日】2014年3月31日
(71)【出願人】
【識別番号】591128453
【氏名又は名称】株式会社メガチップス
(74)【代理人】
【識別番号】100088672
【弁理士】
【氏名又は名称】吉竹 英俊
(74)【代理人】
【識別番号】100088845
【弁理士】
【氏名又は名称】有田 貴弘
(72)【発明者】
【氏名】森 敬
【テーマコード(参考)】
5B061
【Fターム(参考)】
5B061DD01
5B061DD08
5B061DD11
(57)【要約】
【課題】回路規模、及びCPUにかかる負担の低減化を図ったデータ転送制御装置を得る。
【解決手段】DMAC1における画像処理モジュール用入出力ポート6は、画像処理モジュール2からのアドレス情報ADD2及びアドレス指定要求信号REQ2を入力する入力部、及びアドレス情報ADD2の有効受信を指示する返信信号VAL2を画像処理モジュール2に出力する出力部を有している。画像処理モジュール用入出力ポート6は、アドレス指定要求信号REQ2に応答し、アドレス情報ADD2の有効受信の確認時に、その旨を指示する返信信号VAL2を画像処理モジュール2に返信するという、信号入出力制御処理が実行可能である。メモリアクセス制御部7は、画像処理モジュール用入出力ポート6を介して受けたアドレス情報ADD1(=ADD2)に基づきメモリ3のアクセス対象記憶領域にアクセスするメモリアクセス処理を実行する。
【選択図】図1
【特許請求の範囲】
【請求項1】
メモリと所定のモジュールとの間のデータ転送を制御するデータ転送制御装置であって、
前記所定のモジュールは、前記メモリにおけるアクセス対象記憶領域の開始アドレスを含むアドレス信号群と、前記アドレス信号群の出力要求を指示するアドレス指定要求信号とを出力し、
前記データ転送制御装置は、
前記所定のモジュールとの間の入出力ポートを備え、前記入出力ポートは前記アドレス信号群及び前記アドレス指定要求信号を入力する入力部、及び前記アドレス信号群の有効受信を指示するアドレス有効信号を出力する出力部を有し、前記入出力ポートは、前記アドレス指定要求信号に応答し、前記アドレス信号群の有効受信時に、前記アドレス有効信号を前記所定のモジュールに出力する信号入出力制御処理が可能であり、
前記入出力ポートを介して入力される前記アドレス信号群に基づき、前記メモリの前記アクセス対象記憶領域にアクセスするメモリアクセス処理を実行するメモリアクセス制御部をさらに備える、
データ転送制御装置。
【請求項2】
請求項1記載のデータ転送制御装置であって、
前記メモリアクセス処理は、前記メモリの前記アクセス対象記憶領域からの読み出し処理、及び前記メモリの前記アクセス対象記憶領域への書き込み処理を含み、
前記データ転送制御装置は、
前記読み出し処理を実行する第1のデータ転送制御部と、
前記書き込み処理を実行する第2のデータ転送制御部とを含み、
前記第1及び第2のデータ転送制御部は、それぞれ前記入出力ポート及び前記メモリアクセス制御部を独立して有する、
データ転送制御装置。
【請求項3】
請求項1または請求項2記載のデータ転送制御装置であって、
前記入出力ポートは、
前記アドレス信号群及び前記アドレス指定要求信号を保持する少なくとも一つの信号記憶部を含む、
データ転送制御装置。
【請求項4】
請求項1〜請求項3のうち、いずれか1項に記載のデータ転送制御装置であって、
前記アドレス信号群は、前記アクセス対象記憶領域内におけるアクセス順序を指示するアクセス順序指示信号をさらに含み、
前記メモリアクセス制御部は、前記アクセス順序指示信号に基づくアクセス順序で、前記アクセス対象記憶領域に対する前記メモリアクセス処理を実行する、
データ転送制御装置。
【請求項5】
メモリと、
前記メモリと所定のモジュールとの間のデータ転送を制御する、請求項1〜請求項4のうち、いずれか1項に記載のデータ転送制御装置と、
を備えたメモリ内蔵装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、画像処理モジュール等のモジュールとメモリとの間のデータ転送を行うデータ転送制御装置に関する。
【背景技術】
【0002】
画像処理モジュール等のモジュールとメモリとの間のデータ転送を行う従来のデータ転送制御装置として例えば、特許文献1に開示されたDMA(ダイレクト・メモリ・アクセス(Direct Memory Access))コントローラがある。
【0003】
特許文献1に開示されたDMAコントローラは、4つのレジスタにおいて主メモリの開始アドレスと終了アドレスとの組を2組用意する。2つのセレクタは、主メモリの記憶領域Aの開始アドレスA、終了アドレスAと記憶領域Bの開始アドレスB、終了アドレスBとの間を切り換える。アドレスカウンターは一方の組の開始アドレスを起点として順次増分した宛先アドレスを生成してアービタに出力し、アービタはメモリコントロール回路を制御して主メモリの当該宛先アドレスに対してDMA転送を実行する。その結果、CPUにかかる負荷を軽減し、DMA転送速度が向上させたDMAコントローラを実現している。
【0004】
図8は特許文献1で開示されたDMAコントローラ等で実現されている従来のDMA方式の構成を模式的に示すブロック図である。
【0005】
同図に示すように、画像処理モジュール62(所定のモジュール)とメモリ63との間のデータ転送をDMAC(DMAコントローラ)61を介して行っている。この際、CPU64は、DMAC61を介した画像処理モジュール62,メモリ63間のデータ転送(以下、単に「DMAデータ転送」と略記する場合あり)に先がけて、画像処理モジュール62,メモリ63間のデータ転送内容を指示するアドレス情報をDMAC61に与える事前設定処理を行い、DMAC61はアドレス情報に基づき、DMAデータ転送を制御する。
【0006】
通常、アドレス情報として、アクセス処理の開始アドレス及び終了アドレス(またはアクセスデータ量情報)により、アクセス対象となる記憶領域が指示される。ここで、開始アドレスから終了アドレスまでのメモリ63におけるアクセス対象記憶領域をバンクと呼ぶ。
【0007】
図9はメモリ63における複数のバンクBK0〜BK2を模式的に示す説明図である。同図に示すように、アドレス情報として開始アドレスBST0〜BST2及び終了アドレスBED0〜BED2を設定することにより、メモリ63のアクセス対象記憶領域となるバンクBK0〜BK2を指定することができる。
【0008】
例えば、バンクBK0、バンクBK1及びバンクBK2の順でDMAデータ転送が行われる場合、DMAデータ転送に先がけて、CPU64からDMAC61にアドレス情報{(BST0、BED0),(BST1、BED1),(BST2、BED2)}を出力する、アドレス事前設定処理が行われることになる。
【0009】
上記の場合、DMAC61は、3組のバンク指定(開始アドレスBSTi(i=0〜2)と終了アドレスBEDiとの組合せ)を行う3つのアドレス情報を格納する必要があり、DMAC61はDMAデータ転送を行うバンク数分のアドレス情報を格納する記憶領域が必要であった。
【0010】
また、画像処理モジュール62が最初にアクセスするバンクBK0からの読み出し処理を行い、その読み出しデータに基づく演算処理を実行し、その演算結果により次にアクセスするバンクBK1の開始アドレスがはじめて決定する場合を考える。
【0011】
この場合、CPU64はバンクBK0に関するアドレス情報の設定を行う第1のアドレス事前設定処理を実行し、バンクBK0に対するDMAデータ転送(画像処理モジュール62による読み出し処理)が行われた後、再び、CPU64は、画像処理モジュール62の演算結果に基づき、バンクBK1に関するアドレス情報の設定を行う第2のアドレス事前設定処理を実行する必要があった。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特許第4677581号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
以上説明したように、従来のDMA方式は上記のように実現されており、CPUの介在が不可欠となるため、CPUにかかる負荷が比較的大きいという問題点があった。
【0014】
また、CPUによるアドレス事前設定処理が支障なく実行されるように、想定される最大数のアドレス情報を格納すべく、DMAコントローラに複数のアドレス情報を格納するための記憶部を設ける必要があるため、回路規模が大きくなってしまうという問題点があった。
【0015】
この発明は上記問題点を解決するためになされたもので、回路規模、及びCPUにかかる負担の低減化を図ったデータ転送制御装置を得ることを目的とする。
【課題を解決するための手段】
【0016】
この発明に係る請求項1記載のデータ転送制御装置は、メモリと所定のモジュールとの間のデータ転送を制御するデータ転送制御装置であって、前記所定のモジュールは、前記メモリにおけるアクセス対象記憶領域の開始アドレスを含むアドレス信号群と、前記アドレス信号群の出力要求を指示するアドレス指定要求信号とを出力し、前記データ転送制御装置は、前記所定のモジュールとの間の入出力ポートを備え、前記入出力ポートは前記アドレス信号群及び前記アドレス指定要求信号を入力する入力部、及び前記アドレス信号群の有効受信を指示するアドレス有効信号を出力する出力部を有し、前記入出力ポートは、前記アドレス指定要求信号に応答し、前記アドレス信号群の有効受信時に、前記アドレス有効信号を前記所定のモジュールに出力する信号入出力制御処理が可能であり、前記入出力ポートを介して入力される前記アドレス信号群に基づき、前記メモリの前記アクセス対象記憶領域にアクセスするメモリアクセス処理を実行するメモリアクセス制御部をさらに備える。
【発明の効果】
【0017】
請求項1記載の本願発明であるデータ転送制御装置は、入力部及び出力部を有する入出力ポートは、アドレス指定要求信号に応答し、アドレス信号群の有効受信時に、その旨を指示するアドレス有効信号を所定のモジュールに出力する信号入出力制御処理が可能である。
【0018】
したがって、データ転送制御装置のメモリアクセス部は、入出力ポートを介して順次入力されるアドレス信号群に基づき、メモリアクセス処理を実行することができるため、データ転送制御装置は、内部に複数のアドレス信号群用の記憶部を設ける必要がなくなる分、回路規模の簡略化を図ることができる。
【0019】
加えて、所定のモジュールは異なる内容のアドレス信号群を順次出力することにより、メモリアクセス対象記憶領域を切り換えながら、メモリにアクセスすることができる。その結果、請求項1記載の本願発明は、CPU等の制御手段を介在させることなく、常に所望の記憶領域をアクセス対象記憶領域としてメモリと所定のモジュールとの間のデータ転送が行えるため、CPU等の制御手段にかかる負荷を大幅に低減することができる。
【0020】
その結果、メモリアクセス制御というCPUに頻繁に割り込みが入るような処理が低減されることで、CPUが他のHW資源に集中でき、システム全体のパフォーマンス向上につながる。
【図面の簡単な説明】
【0021】
図1】この発明の実施の形態のデータ転送制御装置であるDMAC及びその周辺の構成を示すブロック図である。
図2】本実施の形態におけるDMARの内部構成の詳細を示すブロック図である。
図3】本実施の形態のダイナミックバンクDMA−I/F部によるアドレス情報の信号入力制御処理内容を模式的に示すブロック図である。
図4】本実施の形態におけるDMAWの内部構成の詳細を示すブロック図である。
図5】リピートX転送処理の動作内容を模式的に示す説明図である。
図6】リピートY転送処理の動作内容を模式的に示す説明図である。
図7】リピートZ転送処理の動作内容を模式的に示す説明図である。
図8】従来のDMA方式の構成を模式的に示すブロック図である。
図9図8で示したメモリにおける複数のバンクを模式的に示す説明図である。
【発明を実施するための形態】
【0022】
<実施の形態>
(全体構成)
図1はこの発明の実施の形態のデータ転送制御装置であるDMAC(DMAコントローラ)及びその周辺の構成を示すブロック図である。
【0023】
同図に示すように、メモリ内蔵デバイス8(メモリ内蔵装置)は、本実施の形態のDMAC1とともに、画像処理モジュール2(所定のモジュール)、メモリ3及びCPU4より構成されており、これらDMAC1、画像処理モジュール2、メモリ3及びCPU4は同一基板上に設けられる。そして、本実施の形態のDMAC1は、メモリ3と画像処理モジュール2との間のデータ転送を制御している。
【0024】
画像処理モジュール2は、メモリ3の読み出し処理あるいは書き込み処理におけるアクセス対象記憶領域を指示する開始アドレス及び終了アドレスを含むアドレス信号群であるアドレス情報ADD2と、アドレス情報ADD2の出力要求を指示するアドレス指定要求信号REQ2とをDMAC1に出力する。
【0025】
DMAC1は画像処理モジュール2との入出力ポートである画像処理モジュール用入出力ポート6を備え、画像処理モジュール用入出力ポート6はアドレス情報ADD2及びアドレス指定要求信号REQ2を入力する入力部、及びアドレス情報ADD2の有効受信を指示する返信信号VAL2(アドレス有効信号)を出力する出力部とを有している。
【0026】
なお、図1で示した構成では画像処理モジュール2と、その画像処理モジュール2に対応するDMAC1を示しているが、他に表示モジュール、外部USB接続用モジュール及びメモリカード用モジュール等をメモリ内蔵デバイス8がさらに有している場合、各モジュールに対応してDMACが設けられる。すなわち、メモリ内蔵デバイス8は、複数のモジュールを有する場合、複数のモジュールに対応する複数のDMACが設けられ、メモリ3及びCPU4を共有する構成となる。この場合、複数のDMACそれぞれは以下に詳述するDMAC1と同等の機能を有している。
【0027】
まず、画像処理モジュール用入出力ポート6が内部にレジスタ等の記憶部を全く有していない第1の構成の動作について説明する。
【0028】
この場合、画像処理モジュール2から得たアドレス情報ADD2及び要求信号REQ2は、画像処理モジュール用入出力ポート6を介して、そのまま、アドレス情報ADD1(=ADD2)及び要求信号REQ1(=REQ2)としてメモリアクセス制御部7に出力され、メモリアクセス制御部7は、要求信号REQ1(=REQ2)に応答して、アドレス情報ADD1(=ADD2)の有効受信時に、その旨を指示する返信信号VAL1を画像処理モジュール用入出力ポート6を介して返信信号VAL2として画像処理モジュール2に出力する。
【0029】
したがって、第1の構成の場合、画像処理モジュール用入出力ポート6は、アドレス情報ADD2及び要求信号REQ2を入力し、アドレス指定要求信号REQ2に応答し、メモリアクセス制御部7からの返信信号VAL1の受信時、すなわち、アドレス情報ADD1(=ADD2)の有効受信の確認時に、アドレス情報ADD1(=ADD2)の有効受信を指示する返信信号VAL2(=VAL1)を画像処理モジュール2に返信するという、信号入出力制御処理が実行可能である。
【0030】
次に、画像処理モジュール用入出力ポート6が内部にレジスタ等の記憶部を有している第2の構成の場合の動作について説明する。
【0031】
この場合、画像処理モジュール2から出力されるドレス情報ADD2及び要求信号REQ2は、画像処理モジュール用入出力ポート6に入力される。画像処理モジュール用入出力ポート6は、要求信号REQ2に応答して、内部の記憶部に空きが存在しており、アドレス情報ADD2を有効受信(有効格納)した時に、その旨を指示する返信信号VAL2を画像処理モジュール2に出力する。
【0032】
したがって、第2の構成の場合、画像処理モジュール用入出力ポート6は、アドレス情報ADD2及び要求信号REQ2を入力し、アドレス指定要求信号REQ2に応答し、アドレス情報ADD2の有効受信の確認時に、アドレス情報ADD2の有効受信を指示する返信信号VAL2を画像処理モジュール2に返信するという、信号入出力制御処理が実行可能である。
【0033】
一方、メモリアクセス制御部7は、画像処理モジュール2からのアドレス情報ADD2を画像処理モジュール用入出力ポート6を介して、アドレス情報ADD1(=ADD2)として受け、アドレス情報ADD1に基づきメモリ3のアクセス対象記憶領域にアクセスするメモリアクセス処理を実行する。
【0034】
本実施の形態では、後に詳述するようには、DMAC1は、読み出し処理用のDMAR10と書き込み処理用のDMAW30とにより構成されており、DMAR10及びDMAW30がそれぞれ図1で示した画像処理モジュール用入出力ポート6及びメモリアクセス制御部7を独立して有している。
【0035】
(DMAR10)
図2はDMAR10の内部構成の詳細を示すブロック図である。同図に示すように、本実施の形態のDMAC1におけるDMAR10は、メモリ3と画像処理モジュール2との間のメモリ3からの読み出し時におけるデータ転送である、DMAデータ転送を制御している。
【0036】
画像処理モジュール2は、メモリ3の読み出し処理におけるアクセス対象記憶領域の開始アドレス及び終了アドレスを含むアドレス信号群であるアドレス情報ADD2として、{RPT_X_EN,RPT_Y_EN,RPT_Z_EN,REV_EN,START_ADR[31:0],END_ADR[31:0],RPT_X[23:0],RPT_Y[15:0],RPT_Z[15:0],OFS_X[23:0],OFS_Y[23:0],OFS_Z[23:0]}をDMAR10のダイナミックバンクDMA−I/F部11に出力する。このダイナミックバンクDMA−I/F部11が図1で示した画像処理モジュール用入出力ポート6の一部に相当する。
【0037】
さらに、画像処理モジュール2はアドレス指定要求信号REQ2として{REG_WR_REQ}をダイナミックバンクDMA−I/F部11に出力する。なお、DYNBANK_STARTは、ダイナミックバンクモード(Dynamic bank mode)の転送開始を指示する信号であり、DYNBANK_STOPは、ダイナミックバンクモードの転送の強制終了を指示する信号である。また、[X:0]は(X+1)ビットのビット群0〜Xを意味する。
【0038】
ダイナミックバンクDMA−I/F部11はアドレス情報ADD2及びアドレス指定要求信号REQ2を入力する入力部、及びアドレス情報ADD2の有効受信を指示する返信信号VAL2{REG_WR_VAL}を出力する出力部とを有している。
【0039】
ダイナミックバンクDMA−I/F部11は、アドレス指定要求信号REQ2に応答し、アドレス情報ADD2の有効受信時に、アドレス情報ADD2の有効受信を指示する返信信号VAL2を画像処理モジュール2に出力する信号入出力制御処理が可能である。
【0040】
DMAR10は前述したダイナミックバンクDMA−I/F部11以外に、基本レジスタ12、アドレス演算関連レジスタ13、データフォーマット変換関連レジスタ14、CPU−I/Fブロック15及びDMARコア部20を有している。
【0041】
本実施の形態のDMAR10は、信号DYNBANK_STARTにより、ダイナミックバンクモードの転送開始が指示された場合のダイナミックバンクモードにおけるDMAデータ転送処理を行うことを特徴としている。以下、上記特徴に関連ある部分を中心にDMAR10の構成について述べる。
【0042】
ダイナミックバンクDMA−I/F部11は画像処理モジュール2より受けたアドレス情報ADD2をアドレス演算関連レジスタ13に出力する。この際、動作クロックを画像処理モジュール2用のデバイスクロックCLK−Dから、DMAR10用のバスクロックCLK−Bに切り換える。
【0043】
アドレス演算関連レジスタ13は、ダイナミックバンクモードの際、ダイナミックバンクDMA−I/F部11を介して受ける、上述したアドレス情報ADD2を一時的に格納し、アドレス情報ADD1としてDMARコア部20内のアドレス演算ブロック21に転送する。このアドレス演算関連レジスタ13と上述したダイナミックバンクDMA−I/F部11とにより図1で示した画像処理モジュール用入出力ポート6を構成する。
【0044】
アドレス演算ブロック21はアドレス情報ADD1に基づきアドレス演算を行い、アドレスチャネルI/F部22を介してメモリ3に読み出し制御用の種々の制御信号{ARID[3:0],ARADDR[31:0],ARLEN[3:0],ARSIZE[2:0],ARBURST[1:0],ARLOCK[1:0],ARCACHE[3:0],ARPORT[2:0],ARVALID}をメモリ3に出力する。なお、信号ARREADYはメモリ3がアドレスチャネルI/F部22からの種々の制御信号を受信したことを指示する信号である。
【0045】
メモリ3は上記制御信号に応答して、読み出しデータ信号群{RID[3:0],RDATA[127:0],RRESP[1:0],RLAST,RVALID}をデータチャネルI/F部24を介してデータ並び替え用バッファ25に出力する。なお、信号RREADYはデータチャネルI/F部24がメモリ3からの読み出しデータ群を受信したことを指示する信号である。
【0046】
アドレス情報格納バッファ23はアドレスチャネルI/F部22及びデータチャネルI/F部24で利用されるアドレス情報を格納している。
【0047】
メモリ3より読み出された読み出しデータは、データチャネルI/F部24を介しデータ並び替え用バッファ25により必要に応じてデータの並び替え処理がなされ、クロック乗せ替え用バッファ26によりクロックが切り換えられる(バスクロックCLK−B→デバイスクロックCLK−D)。その後、データバス幅変換部27Aでデータバスが変換され、データアライメント変換部27Bでデータアライメント処理が行われ、データフォーマット変換部27Cでデータフォーマット変換され、マルチプレクサ29から読み出しデータ{RD_DATA[127:0],RD_BL[15:0]}等が出力される。なお、信号RD_REQ及びRD_VALは、画像処理モジュール2から読み出し要求信号及びマルチプレクサ29から画像処理モジュール2への返信信号である。なお、データフォーマット変換部27C及びマルチプレクサ29はデータフォーマット変換関連レジスタ14の内容に基づき動作する。
【0048】
このようなDMARコア部20を主要構成として、DMAR10における図1で示したメモリアクセス制御部7が構成される。
【0049】
CPU−I/Fブロック15はノーマルバンクモード(Normal bank mode)時に利用されるCPU4からのアドレス情報であるアドレス情報ADD4{PADDR[11:0],PSEL,PENABLE,PWRITE,PWDATA[31:0]}を受け、アドレス演算関連レジスタ13に出力する。なお、信号PRDATA[31:0]は、DMAR10からCPU4に読み出される読み出しデータである。
【0050】
アドレス演算関連レジスタ13は、ノーマルバンクモードの際、アドレス情報ADD4を一時的に格納し、アドレス情報ADD1としてDMARコア部20内のアドレス演算ブロック21に転送する。
【0051】
基本レジスタ12はCPU−I/Fブロック15及びDMARコア部20間のデータ転送用のレジスタである。なお、信号INT_Oは割り込み信号である。
【0052】
図3は本実施の形態のダイナミックバンクDMA−I/F部11等によるアドレス情報ADD2の信号入力制御処理内容を模式的に示すブロック図である。
【0053】
(ダイナミックバンクモードの場合)
以下、ダイナミックバンクモードの場合におけるDMAR10の信号入力制御処理を説明する。画像処理モジュール2はメモリ3に対し、読み出し処理あるいは書き込み処理等のアクセスを行う際、メモリ3のアクセス対象記憶領域を指示するアドレス情報ADD2と、アドレス情報ADD2の出力を要求するアドレス指定要求信号REQ2とをダイナミックバンクDMA−I/F部11に出力する。
【0054】
まず、画像処理モジュール用入出力ポート6であるダイナミックバンクDMA−I/F部11及びアドレス演算関連レジスタ13が共に内部にレジスタ等の記憶部を全く有していない第1の構成の動作について説明する。
【0055】
アドレス指定要求信号REQ2はダイナミックバンクDMA−I/F部11を介してアドレス演算関連レジスタ13に入力され、アドレス演算関連レジスタ13は要求信号REQ2をそのままアドレス指定要求信号REQ1(=REQ2)としてDMARコア部20に出力する。DMARコア部20(アドレス演算ブロック21)は、アドレス指定要求信号REQ1に応答して、アドレス情報ADD1(=ADD2)の有効受信を確認した場合、その旨を指示する返信信号VAL1を出力する。
【0056】
この返信信号VAL1は、アドレス演算関連レジスタ13、及びダイナミックバンクDMA−I/F部11を介して返信信号VAL2として画像処理モジュール2に転送される。その結果、画像処理モジュール2は返信信号VAL2(=VAL1)に応答して、現在のアドレス情報ADD2から内容を変化させた新たなアドレス情報ADD2を出力することができる。
【0057】
一方、画像処理モジュール2,DMAR10間のデータ授受をスムーズに行うべく、ダイナミックバンクDMA−I/F部11及びアドレス演算関連レジスタ13内にはFIFO形式の複数段の信号記憶部を有してもよい。図3では、ダイナミックバンクDMA−I/F部11が2段直列接続の部分レジスタ11a及び11bを有しており、アドレス演算関連レジスタ13は4段直列接続の部分レジスタ13a〜13dを有している場合を点線で示している。
【0058】
次に、画像処理モジュール用入出力ポート6であるダイナミックバンクDMA−I/F部11及びアドレス演算関連レジスタ13が、図3に示すように、内部にレジスタ等の記憶部を有している第2の構成の場合の動作について説明する。
【0059】
第2の構成の場合、ダイナミックバンクDMA−I/F部11単独で、初段の部分レジスタ11aにアドレス情報ADD2の正常格納を確認した後に、アドレス指定要求信号REQ2に応答して、アドレス情報ADD2の正常格納(有効受信)を指示する返信信号VAL2を返信することができる。この場合、部分レジスタ11aには、アドレス情報ADD2が格納されることになる。
【0060】
同様に、アドレス演算関連レジスタ13は初段の部分レジスタ13aにアドレス情報ADD2が正常格納を確認した後に、ダイナミックバンクDMA−I/F部11からのアドレス指定要求信号REQ2に応答して、正常格納を指示する返信信号VAL2をダイナミックバンクDMA−I/F部11に返信することができる。この場合、ダイナミックバンクDMA−I/F部11の最終段の部分レジスタ11bからのアドレス情報ADD2がアドレス情報ADD1として、アドレス演算関連レジスタ13の初段の部分レジスタ13aに格納されたことになる。そして、アドレス演算関連レジスタ13は最終段の部分レジスタ13dにアドレス情報ADD1を格納しているときは、アドレス情報ADD1の出力要求を指示する要求信号REQ1をDMARコア部20に出力する。
【0061】
上述のように、ダイナミックバンクDMA−I/F部11、アドレス演算関連レジスタ13はFIFO構成の信号記憶部を内蔵することにより、よりスムーズに画像処理モジュール2からのアドレス情報ADD2を受信することができる。
【0062】
(ノーマルバンクモードの場合)
以下、ノーマルバンクモードの場合におけるDMAR10の信号入出力制御処理を説明する。CPU4は画像処理モジュール2,メモリ3間のDMAデータ転送に先がけて、アドレス事前設定処理を行うべく、アドレス指定要求信号REQ4と共にアドレス情報ADD4をCPU−I/Fブロック15を介してアドレス演算関連レジスタ13に出力する。その結果、アドレス演算関連レジスタ13にアドレス情報ADD1としてアドレス情報ADD4が格納される。
【0063】
図3に示すように、アドレス演算関連レジスタ13がFIFO形式の4つの部分レジスタ13a〜13dを有している場合、アドレス事前設定処理時に、4バンク分のアドレス情報ADD1(=ADD4)を格納することができる。
【0064】
そして、アドレス演算関連レジスタ13は、最終段の部分レジスタ13dにアドレス情報ADD1を格納している場合、アドレス指定要求信号REQ1をDMARコア部20に出力する。DMARコア部20(アドレス演算ブロック21)は、アドレス指定要求信号REQ1に応答して、アドレス情報ADD1の有効受信を確認した場合、アドレス情報ADD1の受信有効を指示する返信信号VAL1を出力する。
【0065】
この返信信号VAL1に応答して、アドレス演算関連レジスタ13は次のアドレス情報ADD1(部分レジスタ13cから部分レジスタ13dに転送されたアドレス情報ADD1)をDMARコア部20に出力することができる。なお、ノーマルバンクモードにおいても、ダイナミックバンクモードの第1の構成の場合と同様に、返信信号VAL1をCPU−I/Fブロック15を介してCPU4に返信するようにしても良い。
【0066】
このように、本実施の形態のDMAC1を構成するDMAR10は、アドレス情報ADD2及びアドレス指定要求信号REQ2の入力部及び返信信号VAL2の出力部とを有する入出力ポートとなるダイナミックバンクDMA−I/F部11を有している。このダイナミックバンクDMA−I/F部11は、ダイナミックバンクモードの際、アドレス指定要求信号REQ2に応答し、アドレス情報ADD2の有効受信時に、その旨の指示する返信信号VAL2を画像処理モジュール2に出力する信号入出力制御処理を行っている。
【0067】
したがって、DMAR10のメモリアクセス制御部7は、ダイナミックバンクDMA−I/F部11を介して順次入力されるアドレス情報ADD2に基づき、メモリ3に対するメモリアクセス処理を実行することができるため、DMAR10は、内部に複数のアドレス情報ADD2(ADD1)用の記憶部を設けることが必須でなくなる分、回路規模の簡略化を図ることができる。
【0068】
例えば、ダイナミックバンクDMA−I/F部11及びアドレス演算関連レジスタ13が内部に記憶部を有していない第1の構成の場合でも、ダイナミックバンクDMA−I/F部11及びアドレス演算関連レジスタ13は上述した信号入出力制御処理を実行することができるため、画像処理モジュール2からの出力されるアドレス情報ADD2をアドレス情報ADD1として順次受信してDMARコア部20に出力することができる。
【0069】
従来のDMA方式では、CPUの依存を1/Nに低減するために、DMAコントローラは、CPUが事前設定処理を行うべく、複数(N)のアドレスを設定するための記憶部を内部に設ける必要があるため、回路規模が大きくなってしまうという問題点があったが、本実施の形態のDMAR10はこの問題点を解消できている。
【0070】
加えて、DMAR10のダイナミックバンクモード時には、画像処理モジュール2により、アドレス情報ADD2の内容を変化させて画像処理モジュール2のアクセス対象記憶領域を切り換えることにより、メモリ3に対する読み出し処理を順次実行することができる。その結果、本実施の形態のDMAR10は、CPU4を介在させることなく、メモリ3における所望の記憶領域をアクセス対象記憶領域としてメモリ3と画像処理モジュール2との間の読み出し時のデータ転送が連続的に行えるため、CPU4にかかる負荷を大幅に低減することができる。
【0071】
従来のDMA方式では、CPUの割込処理でDMAコントローラに対するアドレス設定などを実行するため、CPU(ソフトウェア処理)の介在が不可欠となっており、ソフトウェア処理に依存しハードウェアのパフォーマンスが十分発揮できていないという問題点があったが、本実施の形態のDMAR10はこの問題点も解消できている。
【0072】
その結果、メモリアクセス制御というCPU4に頻繁に割り込みが入るような処理が低減されることで、CPU4が他のHW資源に集中でき、システム全体のパフォーマンス向上につながる効果を奏する。
【0073】
さらに、ダイナミックバンクDMA−I/F部11は、アドレス情報ADD2をFIFO形式で保持する部分レジスタ11a及び11b(信号記憶部)を含んでおり、同様にアドレス演算関連レジスタ13は部分レジスタ13a〜13d(信号記憶部)を含んでいる。したがって、ダイナミックバンクDMA−I/F部11及びアドレス演算関連レジスタ13は、少なくとも一つ(図3の例では“2”個及び“4”個)のアドレス情報ADD2を画像処理モジュール2から事前に取り込むことができるため、画像処理モジュール2によるアドレス情報ADD2及びアドレス指定要求信号REQ2の出力時における待機時間を効果的に減少させることができる。
【0074】
(DMAW30)
図4はDMAW30の内部構成の詳細を示すブロック図である。同図に示すように、本実施の形態のDMAC1におけるDMAW30は、メモリ3と画像処理モジュール2との間のメモリ3への書き込み時におけるデータ転送を制御している。
【0075】
DMAW30はDMAR10の読み出し処理に替えて、書き込み処理のデータ転送を制御する点が異なっており、基本的な動作はDMAR10と同様であるため、DMAR10と同様な箇所の説明を適宜省略して説明する。
【0076】
画像処理モジュール2は、メモリ3の書き込み処理におけるアクセス対象記憶領域を指定する開始アドレス及び終了アドレスを含むアドレス信号群であるアドレス情報ADD2として、{RPT_X_EN,RPT_Y_EN,RPT_Z_EN,REV_EN,START_ADR[31:0],END_ADR[31:0],RPT_X[23:0],RPT_Y[15:0],RPT_Z[15:0],OFS_X[23:0],OFS_Y[23:0],OFS_Z[23:0]}をDMAW30のダイナミックバンクDMA−I/F部31に出力する。このダイナミックバンクDMA−I/F部31が図1で示した画像処理モジュール用入出力ポート6の一部に相当する。
【0077】
さらに、画像処理モジュール2はアドレス指定要求信号REQ2として{REG_WR_REQ}をダイナミックバンクDMA−I/F部31に出力する。
【0078】
ダイナミックバンクDMA−I/F部31はアドレス情報ADD2及びアドレス指定要求信号REQ2を入力する入力部、及びアドレス情報ADD2の受信確認を指示する返信信号VAL2{REG_WR_VAL}を出力する出力部とを有している。
【0079】
ダイナミックバンクDMA−I/F部31は、DMAR10のダイナミックバンクDMA−I/F部11と同様に、アドレス指定要求信号REQ2に応答し、アドレス情報ADD2の有効受信時に、アドレス情報ADD2の有効受信を指示する返信信号VAL2を画像処理モジュール2に出力する信号入出力制御処理が可能である。
【0080】
DMAW30は前述したダイナミックバンクDMA−I/F部31以外に、基本レジスタ32、アドレス演算関連レジスタ33、データフォーマット変換関連レジスタ34及びCPU−I/Fブロック35、及びDMAWコア部40を有している。
【0081】
DMAW30とDMAR10との関係において、基本レジスタ32は基本レジスタ12に対応し、アドレス演算関連レジスタ33はアドレス演算関連レジスタ13に対応し、データフォーマット変換関連レジスタ34はデータフォーマット変換関連レジスタ14に対応し、CPU−I/Fブロック35はCPU−I/Fブロック15に対応し、それぞれDMAR10の対応する構成部と類似の動作を実行する。そして、DMAWコア部40はDMAR10のDMARコア部20に対応する。
【0082】
本実施の形態のDMAW30は、DMAR10と同様、ダイナミックバンクモードにおけるDMAデータ転送処理を行うことを特徴としている。以下、上記特徴に関連ある部分を中心にDMAW30の構成について述べる。
【0083】
ダイナミックバンクDMA−I/F部31は画像処理モジュール2より受けたアドレス情報ADD2をアドレス演算関連レジスタ33に出力する。この際、動作クロックを画像処理モジュール2用のデバイスクロックCLK−Dから、DMAW30用のバスクロックCLK−Bに切り換える。
【0084】
アドレス演算関連レジスタ33は、ダイナミックバンクモードの際、上述したアドレス情報ADD2を一時的に格納し、アドレス情報ADD1としてDMAWコア部40内のアドレス演算ブロック41に転送する。このアドレス演算関連レジスタ33と上述したダイナミックバンクDMA−I/F部31とにより図1で示した画像処理モジュール用入出力ポート6を構成する。
【0085】
アドレス演算ブロック41はアドレス情報ADD1に基づきアドレス演算を行い、アライメント調整部48、アドレス情報格納バッファ43B及びアドレスチャネルI/F部42を介してメモリ3に書き込み制御用の種々の制御信号{AWID[3:0],AWADDR[31:0],AWLEN[3:0],AWSIZE[2:0],AWBURST[1:0],AWLOCK[1:0],AWCACHE[3:0],AWPORT[2:0],AWVALID}をメモリ3に出力する。なお、信号AWREADYはメモリ3がアドレスチャネルI/F部42からの種々の制御信号を受信したことを指示する信号である。
【0086】
一方、画像処理モジュール2から、書き込み処理を要求する書き込み要求信号{WR_REQ}と共に、書き込みデータ{WR_DATA[127:0],WR_BL[15:0]}がDMAWコア部40に出力される。なお、信号WR_VALは、DMAWコア部40のデータフォーマット変換部47Cが、書き込みデータの受信確認を指示する返信信号である。
【0087】
書き込みデータは、データフォーマット変換部47Cでデータフォーマット変換され、データバス幅変換部47Aでデータバス幅変換され、マルチプレクサ49で選択処理が行われ、クロック乗せ替え用バッファ46によりクロックが切り換えられる(バスクロックCLK−B→デバイスクロックCLK−D)。なお、データフォーマット変換部47C及びマルチプレクサ49はデータフォーマット変換関連レジスタ34の格納内容に基づき動作する。
【0088】
その後、アライメント調整部48でアライメント調整が施された後、データ並び替え用バッファ45でデータ並び替えが行われた後、書き込みデータ信号群{WID[3:0],WDATA[127:0],WSTRB[15:0],WLAST,WVALID}をデータチャネルI/F部44を介してメモリ3に出力する。なお、信号WREADYはメモリ3がデータチャネルI/F部44からの書き込みデータ信号群を受信したことを指示する信号である。
【0089】
また、画像処理モジュール2はDMAWコア部40に強制終了を指示する信号FLUSH、及び現在アクセス中のバンクを強制終了し、次のバンクへのアクセスを指示する信号BANK_END_FLUSHを出力している。
【0090】
また、メモリ3は書き込み処理の後処理用の書き込み補助信号群{BID[3:0],BRESP[1:0],BVALID}をデータチャネルI/F部44を介してDMAWコア部40に出力する。なお、信号BREADYはデータチャネルI/F部44がメモリ3からの書き込み補助信号群を受信したことを指示する信号である。
【0091】
このようなDMAWコア部40により、DMAW30において、図1で示したメモリアクセス制御部7が構成される。
【0092】
このように、本実施の形態のDMAC1を構成するDMAW30は、DMAR10と同様、アドレス情報ADD2及びアドレス指定要求信号REQ2の入力部及び返信信号VAL2の出力部とを有する入出力ポートであるダイナミックバンクDMA−I/F部31及びアドレス演算関連レジスタ33を有している。これらダイナミックバンクDMA−I/F部31及びアドレス演算関連レジスタ33は、アドレス指定要求信号REQ2に応答し、アドレス情報ADD2の受信有効時にアドレス有効信号である返信信号VAL2を画像処理モジュール2に出力する信号入出力制御処理が可能である。
【0093】
したがって、DMAW30のメモリアクセス制御部(DMAWコア部40)は、ダイナミックバンクDMA−I/F部31及びアドレス演算関連レジスタ33を介して入力されるアドレス情報ADD1に基づき、メモリアクセス処理を実行することができるため、DMAW30は、内部に複数のアドレス情報ADD2(ADD1)用の記憶部を設けることが必須でなくなる分、DMAR10と同様、回路規模の簡略化を図ることができる。
【0094】
加えて、DMAW30のダイナミックバンクモード時には、画像処理モジュール2により、アドレス情報ADD2の内容を変化させて画像処理モジュール2のアクセス対象記憶領域を切り換えることにより、メモリ3に対する書き込み処理を順次実行することができる。その結果、本実施の形態のDMAW30は、CPU4を介在させることなく、メモリ3における所望の記憶領域をアクセス対象記憶領域としてメモリ3と画像処理モジュール2との間の書き込み時のデータ転送を連続して行えるため、CPU4にかかる負荷を大幅に低減することができる。
【0095】
その結果、メモリアクセス制御というCPU4に頻繁に割り込みが入るような処理が低減されることで、CPU4が他のHW資源に集中でき、システム全体のパフォーマンス向上につながる。
【0096】
上述したように、本実施の形態のDMAC1は、読み出し要求信号(RD_REQ)に応答して読み出し転送処理を制御する第1のデータ転送制御部であるDMAR10と、書き込み要求信号(WR_REQ)に応答して書き込み転送処理を実行する第2のデータ転送制御部であるDMAW30とを含んで構成される。
【0097】
そして、DMAR10及びDMAW30は、それぞれ画像処理モジュール2との入出力ポート(ダイナミックバンクDMA−I/F部11+アドレス演算関連レジスタ13及びダイナミックバンクDMA−I/F部31+アドレス演算関連レジスタ33)、及びメモリアクセス制御部(DMARコア部20及びDMAWコア部40)を独立して有している。
【0098】
したがって、DMAC1を構成するDMAR10及びDMAW30、メモリ3とDMARコア部20との間における読み出し処理及び書き込み処理を並行して実行することができる。
【0099】
(リピート転送処理)
書き込み時及び読み出し時のいずれの場合においても、画像処理モジュール2から出力されるアドレス情報ADD2には、リピート処理を行うためのリピート制御情報{RPT_X_EN,RPT_Y_EN,RPT_Z_EN,RPT_X[23:0],RPT_Y[15:0],RPT_Z[15:0],OFS_X[23:0],OFS_Y[23:0],OFS_Z[23:0]}が含まれている。したがって、DMAR10(DMAW30)は、リピート制御情報に基づく種々のリピート転送処理が可能である。
【0100】
(リピートX転送処理)
図5はリピートX転送処理の動作内容を模式的に示す説明図である。リピートX転送処理はアドレス情報ADD2における{RPT_X_EN=1,RPT_Y_EN=0,RPT_Z_EN=0}のリピートX転送モードの設定によって実行可能となる。
【0101】
リピートX転送処理は、開始アドレスSAD1(START_ADR[31:0])からDMA転送処理を開始し、{RPT_X}バイト転送すると、オフセットアドレスに加算オフセット{OFS_X}(バイト)を加算し、再度{RPT_X}バイト転送するという処理を繰り返しながら終了アドレスEAD1(END_ADR[31:0])まで、DMA転送処理を実行する処理である。
【0102】
その結果、メモリ3におけるリピート転送領域81をアクセス対象領域としたリピートX転送処理が行える。
【0103】
(リピートY転送処理)
図6はリピートY転送処理の動作内容を模式的に示す説明図である。リピートY転送処理はアドレス情報ADD2における{RPT_X_EN=1,RPT_Y_EN=1,RPT_Z_EN=0}のリピートY転送モードの設定によって実行可能となる。
【0104】
リピートY転送処理は、開始アドレスSAD2(START_ADR[31:0])からDMA転送処理を開始し、図5で示し示したリピートX転送処理を繰り返して{RPT_Y}回実行すると、オフセットアドレスに加算オフセット{OFS_Y}(バイト)を加算するという処理を繰り返しながら終了アドレスEAD2(END_ADR[31:0])までDMA転送処理を実行する処理である。
【0105】
その結果、メモリ3におけるリピート転送領域82をアクセス対象領域としたリピートY転送処理が行える。
【0106】
(リピートZ転送処理)
図7はリピートZ転送処理の動作内容を模式的に示す説明図である。リピートZ転送処理はアドレス情報ADD2における{RPT_X_EN=1,RPT_Y_EN=1,RPT_Z_EN=1}のリピートZ転送モードの設定によって実行可能となる。
【0107】
リピートZ転送処理は、開始アドレスSAD3(START_ADR[31:0])からDMA転送処理を開始し、リピートY転送処理を繰り返して{RPT_Z}回実行すると、オフセットアドレスに加算オフセット{OFS_Z}(バイト)を加算するという処理を繰り返しながら終了アドレスEAD3(END_ADR[31:0])までDMA転送処理を実行する処理である。
【0108】
その結果、メモリ3におけるリピート転送領域83をアクセス対象領域としたリピートZ転送処理が行える。
【0109】
このように、本実施の形態では、画像処理モジュール2が出力するアドレス情報ADD2内にアクセス対象記憶領域内におけるアクセス順序を指示するアクセス順序指示信号となる上記リピート制御信号群を含んでいる。
【0110】
したがって、DMAC1のメモリアクセス制御部(DMAR10のメモリアクセス制御部7(DMARコア部20)に相当、DMAW30の(DMAWコア部40)に相当)は、上記リピート制御信号群に基づくアクセス順序で、アクセス対象記憶領域となるリピート転送領域81〜83に対するメモリアクセス処理を実行することができる。
【0111】
その結果、本実施の形態のDMAC1(DMAR10,DMAW30)は、メモリ3のアクセス対象記憶領域に対し多様なアクセス順序でメモリアクセス処理を実行することができる効果を奏する。
【0112】
(メモリ内蔵デバイス8)
また、図1で示したメモリ内蔵デバイス8として、例えば、デジタルカメラ、スマートフォン等、多種多様なデバイスが考えられる。例えば、本実施の形態のDMAC1(DMAR10+DMAW30)と、DMAC1によって所定のモジュールとの間でデータ転送されるメモリとを少なくとも同一基板上に有するメモリ内蔵デバイスを得ることができる。
【0113】
このような、メモリ内蔵デバイスは、デバイス規模の小型化を図りながら、CPU等の制御手段を介在させることなく、メモリ3と所定のモジュールとの間のDMAデータ転送処理が行える。
【0114】
なお、本実施の形態では、図1に示すように、メモリ3がDMAC1の外部に設けられる構成を示したが、DMAC1内に、さらにメモリ機能を内蔵したメモリ内蔵DMACを構成するようにしても良い。
【0115】
なお、本発明は、その発明の範囲内において、実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【0116】
1 DMAC
2 画像処理モジュール
3 メモリ
4 CPU
6 入出力ポート
7 メモリアクセス制御部
8 メモリ内蔵デバイス
10 DMAR
11,31 ダイナミックバンクDMA−I/F部
11a,11b,13a〜13d 部分レジスタ
13,33 アドレス演算関連レジスタ
20 DMARコア部
30 DMAW
40 DMAWコア部
図1
図2
図3
図4
図5
図6
図7
図8
図9