(57)【要約】【課題】  本発明の目的はバスあるいはメモリの転送速度に対応した個数のDMAのみを実装し、かつ必要な機能処理をハードウエアで実現することにより実装するハードウエアを削減することとする。【解決手段】  複数のＤＭＡＣと複数の機能処理ブロック間をスイッチ回路で接続し、各ＤＭＡＣと各機能処理ブロック間の接続をスイッチにて切り替え可能とする構成。【選択図】  図４
2007026185.tif 000002
【特許請求の範囲】
【請求項１】
少なくともひとつ以上のCPUと、
複数の機能処理ブロックと、
複数のDMAコントローラと
メモリデバイス制御回路と、
前記機能処理ブロックと前記DMAコントローラの任意の組み合わせ可能なスイッチ回路とから構成され、
前記DMAコントローラは一方はメモリ制御回路と接続され、もう一方は前記スイッチ回路を介して任意の機能処理ブロックと接続可能であることを特徴とする電子回路。
【請求項２】
前記DMAコントローラの個数よりも機能処理ブロックの個数の方が多いことを特徴とする請求項１記載の電子回路。
【請求項３】
前記DMAコントローラは連続アドレス空間DMA転送手段と矩形アドレス空間DMA転送手段と連続アドレス空間DMAと矩形アドレス空間DMAの切り替え手段を有することを特徴とする請求項１あるいは2に記載される電子回路。
【請求項４】
前記スイッチ回路はスイッチ切り替え指定用入力信号を有し、前記スイッチ切り替え指定用入力信号に従い前記機能処理ブロックと前記DMAコントローラの組み合わせを切り替える手段を有することを特徴とする、請求項１あるいは2に記載される電子回路。
【請求項５】
前記スイッチ回路はスイッチ切り替え指定用レジスタを有し、前記スイッチ切り替え指定用レジスタ設定に従い前記機能処理ブロックと前記DMAコントローラの組み合わせを切り替える手段を有することを特徴とする、請求項１あるいは2に記載される電子回路。
【請求項６】
少なくともひとつ以上のCPUと、
複数の機能処理ブロックと、
複数の書き込み専用DMAコントローラと
複数の読み込み専用DMAコントローラと
メモリデバイス制御回路と、
前記機能処理ブロックと前記書き込み専用DMAコントローラと任意の組み合わせ可能な書き込み用スイッチ回路と
前記機能処理ブロックと前記読み込み専用DMAコントローラと任意の組み合わせ可能な読み込み用スイッチ回路と
から構成され、
前記書き込みDMAコントローラは、一方はメモリ制御回路と接続され、もう一方は前記書き込み用スイッチ回路を介して任意の機能処理ブロックと接続可能で、
前記読み込みDMAコントローラは、一方はメモリ制御回路と接続され、もう一方は前記読み込み用スイッチ回路を介して任意の機能処理ブロックと接続可能で
あることを特徴とする電子回路。
【請求項７】
前記機能処理ブロックの個数が前記書き込みDMAコントローラの個数と前記読み込みDMAコントローラの個数のどちらか、あるいは双方よりも多いことを特徴とする請求項６に記載される電子回路。
【請求項８】
前記書き込みDMAコントローラは連続アドレス空間書き込みDMA転送手段と矩形アドレス空間書き込みDMA転送手段と連続アドレス空間DMAと矩形アドレス空間DMAの切り替え手段を有することを特徴とする請求項６あるいは７に記載される電子回路。
【請求項９】
前記読み込みDMAコントローラは連続アドレス空間読み込みDMA転送手段と矩形アドレス空間読み込みDMA転送手段と連続アドレス空間DMAと矩形アドレス空間DMAの切り替え手段を有することを特徴とする請求項６あるいは７に記載される電子回路。
【請求項１０】
前記書き込み用スイッチ回路は書き込みスイッチ切り替え指定用入力信号を有し、前記書き込みスイッチ切り替え指定用入力信号に従い前記機能処理ブロックと前記書き込みDMAコントローラの組み合わせを切り替える手段を有し、
前記読み込み用スイッチ回路は読み込みスイッチ切り替え指定用入力信号を有し、前記読み込みスイッチ切り替え指定用入力信号に従い前記機能処理ブロックと前記読み込みDMAコントローラの組み合わせを切り替える手段を有することを特徴とする、請求項６あるいは７に記載される電子回路。
【請求項１１】
前記書き込み用スイッチ回路は書き込みスイッチ切り替え指定用レジスタを有し、前記書き込みスイッチ切り替え指定用レジスタ設定に従い前記機能処理ブロックと前記書き込みDMAコントローラの組み合わせを切り替える手段を有し、
前記読み込み用スイッチ回路は読み込みスイッチ切り替え指定用レジスタを有し、前記読み込みスイッチ切り替え指定用レジスタ設定に従い前記機能処理ブロックと前記読み込みDMAコントローラの組み合わせを切り替える手段を有することを特徴とする、請求項６あるいは７に記載される電子回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はDMAコントローラ(以下DMAC)を有する電子回路に関するものであり、特に複数の機能処理ハードウエアとDMACを用いて実現する電子回路に関する。
【背景技術】
【０００２】
組み込み型のシステムにおいては、システム内部にCPU、メモリ制御回路、インターフェース回路のほかにある特定の機能を実現するハードウエア機能処理ブロックを搭載することにより、ソフトウエアによる処理を軽減するとともにハードウエア処理による高速化を可能としている。またハードウエアの機能処理ブロックを搭載することにより、処理の並列化、パイプライン化による処理リソースの負荷分散を行うことが可能となる。
【０００３】
ハードウエアの機能処理ブロックは一般にメモリに蓄えられたデータに対して具備された特定信号処理を施し、結果データを再度メモリへと保持することにより、機能の実現を行っている。すなわち、メモリ上の元となるデータをDMACによりデータを取り込み、そのデータを機能処理ブロック内の回路にてデータに対して所定の処理を行い、処理後の結果データをDMACによりメモリに書き戻すことで実現される。例えば図１に示すJEPG復号化を行う機能処理ブロック(101)は、2組のDMAC(102,103)とJEPG復号化ブロック(104)により構成される。一方のメモリからデータを読み込むRead DMAC(102)にてメモリ(105)上に蓄えられた符号化されたJPEGデータを読み込み、読み込んだデータをJPEG復号化回路(104)に入力する。JPEG復号化回路(104)は入力されたJPEGデータの復号処理を行い、結果の復号データを出力する。JPEG復号化回路(104)により出力された復号化データはもう一方のメモリへとデータを書き込むWrite DMAC(103)に入力され、DMACによってメモリ(105)上に結果データである復号されたデータをメモリ上へと書き戻すことでJPEG復号化の機能を実現している。
【０００４】
多くのシステムにおいては複数機能を実現するために、複数種類の機能処理ブロックをハードウエアにて搭載し、機能の高速処理、並列処理を実現している。図2にそのシステムの一例を示す。システムはシステム全体の制御を司るCPU(201)、主記憶等のメモリデバイスの制御を行うメモリデバイス制御回路(202)、ネットワーク等の外部とのインターフェースを制御するインターフェース回路(203)と、複数の機能処理ブロック(204〜209)を有しており、各機能処理ブロックはメモリデバイスからのデータの読み出し、書き込みを行うためのDMACと所定の機能を実現する機能処理回路を有し、JPEG符号化、復号化や暗号化処理と言った機能処理をブロックとして実現する。例えばシステムが機能Aの処理を実現する場合、CPU(201)より機能処理ブロックA(204)のDMACと機能処理回路Aを起動することにより、機能処理ブロックはメモリより元データを読み込み、機能処理回路Aにおいて処理を行いDMACにてメモリに結果データを書き込むことで実現する。本設定を各機能処理ブロックにCPU(201)から行うことにより、システムは各機能処理を並列して実行することが可能である。このようにシステムがハードウエアで実現する処理を機能処理ブロックとして実装することによって、ハードウエアによる処理の高速化を実現することが可能となる。システム内で複数のJPEG符号化処理を並列に実行する場合は機能処理回路A、Bに対してそれぞれJPEG符号化処理回路を実装し同一の機能処理を実現する機能処理ブロックを複数構成する。また矩形ごとに符号化されたJPEGデータを連続イメージとして復号化する処理を行う機能処理ブロックと一つの連続イメージとして符号化されたJPEGデータを矩形ごとのイメージとして復号化する処理を行う機能処理ブロックを必要とするシステムにおいては、機能処理回路C,Dに対してそれぞれ同一のJPEG復号化処理回路を実装し、一方の機能処理ブロックの読み込みDMACを矩形ごとにデータを取り込み、書き込みDMACを連続イメージとしてメモリに書き込む構成とし、他方の機能処理ブロックの読み込みDMACを連続イメージとしてデータを取り込み、書き込みDMACを矩形イメージとしてメモリに書き込む構成とすることで2つの機能処理系を実現する。
【０００５】
以上のように、システム内にて高速処理を実現する必要のあるような機能処理に関しては、システムとして必要な分機能処理ブロックとしてハードウエアで実装し、システムの要求する性能を実現する。
【０００６】
又、従来例としては、例えば特許文献１と特許文献２をあげることが出来る。
【特許文献１】特開平０５ー２７４２４９号公報
【特許文献２】特開平０９ー２２３１０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、各機能処理ブロックはメモリからデータ転送を行うのに対して、接続するバスやメモリの最大転送速度は有限であるため、たとえ複数個の機能処理ブロックを実装しDMACを内蔵しても、最大処理速度はバスの転送速度やメモリ転送速度が制限となるため、システム全体として同時に動作することが出来ない過剰なDMACを内蔵することになる。また、矩形ごとに符号化されたJPEGデータを連続イメージとして復号化する処理を行う機能処理ブロックと一つの連続イメージとして符号化されたJPEGデータを矩形ごとのイメージとして復号化する処理を行う機能処理ブロックを1つずつ有するシステムにおいて、例えば矩形ごとに符号化されたJPEGデータを連続イメージとして復号化する処理を2つ並列に動作させたい場合に、該等処理ブロックを2つ実装する必要があり、1つしか実装されていない場合では、連続イメージとして符号化されたJPEGデータをブロックごとのイメージとして復号化する処理を行う機能処理ブロックのJPEG復号化回路が未使用状態であっても機能処理ブロックとして機能が限定されているため、リソースとして使用することが出来ず、また前者の機能処理ブロックを2個実装することは、ハードウエア規模を拡大し1つの処理しか行わない場合はハードウエアリソースを有効に使用することが出来ない。
【０００８】
本発明は上記の課題を鑑みてなされたものであり、本発明の第一の目的はバスあるいはメモリの転送速度に対応した個数のDMAのみを実装し、かつ必要な機能処理をハードウエアで実現することにより実装するハードウエアを削減することとする。また本発明の第二の目的は、DMA機構と機能処理ブロックの組み合わせを動的に切り替え可能とすることにより、機能処理ブロックのリソースを最大限使用可能とし、結果最適なハードウエア資源によるシステム構成にて実現し、実装するハードウエアを削減することとする。
【課題を解決するための手段】
【０００９】
少なくともひとつ以上のCPUと、
複数の機能処理ブロックと、
複数のDMAコントローラと
メモリデバイス制御回路と、
前記機能処理ブロックと前記DMAコントローラの任意の組み合わせ可能なスイッチ回路とから構成され、
前記DMAコントローラは一方はメモリ制御回路と接続され、もう一方は前記スイッチ回路を介して任意の機能処理ブロックと接続される。
【００１０】
前記スイッチ回路は、スイッチ切り替え指定用入力信号あるいはスイッチ切り替え指定用レジスタを有し、指定に従い前記機能処理ブロックと前記DMAコントローラの組み合わせを切り替える手段を有する
【発明の効果】
【００１１】
以上より、複数の機能処理ブロックにて複数のDMACを共有し、切り替えて使用する事により、機能処理ブロックごとにDMACを持つ必要が無いく、また接続するバスの帯域やメモリデバイスへのアクセス帯域相当のDMACを実装しシステムに対して過不足ない構成を実現するためシステムとしての性能劣化無く、ハードウエア資源を削減することが出来る。
【００１２】
逆に、複数のDMACにて複数の機能処理ブロックを共有し、切り替えて使用することにより、機能処理ブロックとDMACの構成で複数の処理系を実現することが可能となるため、機能処理ブロックの実装数を並列処理可能性に応じて削減し、上記と同一の理由により性能の劣化無く、ハードウエア資源を削減することが可能となる。
【発明を実施するための最良の形態】
【００１３】
本発明実施の形態として、図4に示すシステムを例に説明する。本システムは、CPU(303)とメモリ制御回路(302)とそれに接続されるメモリデバイス(301)、2組のReadDMAC(401,402)、2組のWriteDMAC(403,404)、それらのデバイスが接続されるシステムバス(306)、6個の機能処理ブロック(312〜317)と、各DMACと機能処理ブロックを接続するデータ転送スイッチ(405)により構成される。
【００１４】
機能処理ブロック(312〜317)内に含まれる機能処理回路はJPEG符号化、復号化といった任意のデータ信号処理を行う回路であり、入力データに対して具備された信号処理を行い、結果データを出力する。機能処理回路で信号処理を施されるデータはデータ入力IFを介してデータ転送接続スイッチ(405)から入力され、信号処理結果データはデータ出力IFを介してデータ転送接続スイッチ(405)へと出力される。
【００１５】
ReadDMAC(401,402)はDMACの動作を設定するDMAC設定レジスタを有し、読み込むデータのメモリアドレスを指定するレジスタ、データ転送量を指定するレジスタ、矩形転送幅レジスタ、矩形転送アドレスオフセットレジスタ、DMAC転送を起動するレジスタ等、DMAC転送を行う設定レジスタ群で構成される。設定レジスタの内容に関しては任意である。ReadDMA制御回路は設定レジスタ群に指定されたアドレス、転送量等の設定に従い、DMAC転送の起動を指示されるとシステムバス(306)を介してメモリに対してデータリード転送要求を発行し、メモリデバイス(301)上のデータを読み込む。読み込んだデータはデータ出力IFを介して、データ転送スイッチ(405)へと出力される。また、矩形転送幅レジスタと矩形転送アドレスオフセットレジスタを指定することで、メモリ空間上の矩形転送を行い、矩形転送幅を任意とし、矩形転送アドレスオフセットレジスタ値を0とすることで連続転送が可能である。
【００１６】
対してWriteDMAC(403,404)はDMACの動作を設定するDMAC設定レジスタを有し、書き込むデータのメモリアドレスを指定するレジスタ、矩形転送幅レジスタ、矩形転送アドレスオフセットレジスタ、DMAC転送を起動するレジスタ等、DMAC転送を行う設定レジスタ群で構成される。設定レジスタの内容に関しては任意である。WriteDMAC(403,404)はデータ入力IFを介してデータ転送スイッチ(405)からのデータが入力される。WriteDMA制御回路は設定レジスタ群に指定されたアドレス等の設定に従い、DMAC転送の起動を指示され、データ入力IFを介してデータが入力されると、システムバス(306)を介してメモリに対してデータライト転送要求を発行し、メモリデバイス(301)上にデータを書き込む。また、矩形転送幅レジスタと矩形転送アドレスオフセットレジスタを指定することで、メモリ空間上の矩形転送を行い、矩形転送幅を任意とし、矩形転送アドレスオフセットレジスタ値を0とすることで連続転送が可能である。
【００１７】
ReadDMAC(401,402)のデータ出力IFからのデータはデータ転送接続スイッチ(405)内のデータリードスイッチにて機能処理ブロック(312〜317)のうちの1つのデータ入力IFへと接続され、機能処理ブロック(312〜317)のデータ出力IFから出力されたデータはデータ転送接続スイッチ(405)内のデータライトスイッチにてWriteDMAC(403,404)のデータ入力IFへと接続される。ReadDMAC(401,402)と機能処理ブロック(312〜317)を接続するデータ転送のプロトコル、及び機能処理ブロック(312〜317)とWriteDMAC(403,404)を接続するデータ転送のプロトコルは任意である。図５に本データ転送プロトコルの信号波形例を記す。本実施例では、データ入力IFは受け取り可能なサイクルの1つ前のサイクルでREADY信号を発行し、データ出力IFはREADY信号が発行されている次のサイクルにてDATA_VALID信号、DATA信号を発行し、最終データの転送時にDATA＿END信号を同時に発行する。図5の信号波形例は8ビートのデータ転送(8回のデータ転送)例である。サイクル１にてデータ入力インターフェースよりREADYの信号が発行されると、データ出力IFはサイクル2よりDATA_VALID信号と有効なDATAを出力する。サイクル3においてデータ入力IFは次のサイクルのデータの取り込みが出来ないためREADY信号を解除する。対してデータ出力IFはサイクル2のREADY信号が発行されているため、有効なデータの転送を行う。サイクル4はサイクル3のREADY信号の解除を受け有効なデータ転送を行わず、またサイクル4にてREADY信号が再び発行されているため、サイクル5にて3ビート目の有効な転送を行う。本データ転送プロトコルにおいてはREADY信号が発行された次のデータ入力IFへの信号に対してはDon't Careである。サイクル12で8ビート目の最後のデータ転送サイクルであり、最後のデータ転送としてDATA_END信号を同一サイクルで転送し、データ転送を終了する。
【００１８】
データ転送接続スイッチ(405)は、図６に記されるようにデータリードスイッチ(601)及びデータライトスイッチ(602)と、各ReadDMAC(401,402)のデータ転送先を指定するリードデータ転送先指定信号(603)と各機能処理ブロック(312~317)のデータ転送元を指定するリードデータ転送元指定信号(604)と、各WriteDMAC(403,404)のデータ転送元を指定するライトデータ転送元指定信号(606)と各機能処理ブロック(312~317)の結果データ転送先を指定するライトデータ転送先指定信号(605)とにより構成される。各転送指定信号(603〜606)はデータ転送接続スイッチ内のレジスタ(図示せず)にて設定される。
【００１９】
図7にデータリードスイッチ(601)の構成図を示す。各ReadDMAC(401,402)に対応してReadDMACの出力信号に対するデータ転送先切り替えスイッチ(701)とReadDMACの入力信号に対する入力切り替えMUX(702)と、接続される各機能処理ブロック(312〜317)への出力信号に対する転送元切り替えMUX(703)と機能処理ブロックからの入力信号に対する入力切り替えスイッチ(704)により構成される。それぞれのスイッチ、MUXの切り替え信号として、リードデータ転送先指定信号(603)とリードデータ転送元指定信号(604)を有する。リードデータ転送先指定信号(603)はReadDMACのデータ転送先となる機能処理ブロック(312〜317)を選択する信号である。本実施例では、6つの機能処理ブロックを選択する信号として3ビットの信号により実現される。リードデータ転送元選択信号(604)は機能処理ブロック(312〜317)側で転送元となるReadDMAC(401,402)を指定する信号である。本実施例では2つのReadDMACを選択する信号として1ビットの信号により実現される。
【００２０】
データ転送先切り替えスイッチ(701)と入力切り替えMUX(702)とリードデータ転送先指定信号(603)は接続されるReadDMACの個数分実装され、本実施例ではReadDMAC-1/2(401,402)に対応して2組含まれる。転送元切り替えMUX(703)と入力切り替えスイッチ(704)とリードデータ転送元選択信号(604)は接続される機能処理ブロックの個数分実装され、本実施例では機能処理ブロック-A/B/C/D/E/F(312~317)に対応して6組含まれている。
【００２１】
以下にリードデータスイッチ(601)の動作を記す。データ転送先切り替えスイッチ(701)は接続するReadDMACからの出力信号とリードデータ転送先指定信号(603)を入力とし、出力として接続される機能処理ブロックの個数分の出力を持ち、本実施例では6つの出力信号の組を有する。データ転送切り替えスイッチ(701)はリードデータ転送先指定信号(603)の信号値により、指定された機能処理ブロックへの出力信号と入力信号を接続する。リードデータ転送先指定信号(603)により指定からもれた機能処理ブロックへの出力信号は無効な信号として出力する。具体的にはデータ転送信号のDATA_VALID信号を解除した信号を出力する。上記の機構により、リードデータ転送先指定信号(603)により選択された機能処理ブロックに対する出力信号は、スイッチ動作によりReadDMACのデータ出力IFからのデータがそのまま出力され、選択からもれた機能処理ブロックへの出力信号は無効データ、すなわち非転送状態となる。データ転送先切り替えスイッチ(701)のそれぞれの機能処理ブロックに対するデータ出力は転送元切り替えMUX(703)へと接続される。転送元切り替えMUX(703)は各ReadDMACに対応するデータ転送切り替えスイッチ(701)の出力信号(本実施例では2組)とリードデータ転送元選択信号(604)の入力と、機能処理ブロックのデータ入力IFに接続されるデータ出力を有する。データ出力転送元きり着替えMUX(703)はリードデータ転送元指定信号(604)の信号値により、転送元のReadDMACを判別し該当するReadDMACからの入力信号を機能処理ブロックへの出力信号として出力する。上記の機構により、各ReadDMACに対応するデータ転送切り替えスイッチ(701)の出力データは、転送元切り替えMUX(703)の入力となり、リードデータ転送元選択信号(604)により転送元と指定されたReadDMACからの入力信号が機能処理ブロックの入力信号として出力される。対して入力切り替えスイッチ(704)と入力切り替えMUX(702)は機能処理ブロックからReadDMACへ伝達されるREADY信号に対するスイッチ機構であり、入力切り替えスイッチ(704)より機能処理ブロックからのREADY信号が伝達されるReadDMACがリードデータ転送元選択信号(604)の値により選択され、選択されたReadDMACに対するREADY信号は機能処理ブロックからの信号がそのまま伝達され、選択からもれたReadDMAC対するREADY信号は解除された状態で転送される。入力切り替えMUX(702)は、各機能処理ブロックの入力切り替えスイッチ(704)の出力を入力とし、リードデータ転送先指定信号(603)の信号値によりREADY信号の発行元の選択を行い、ReadDMACへREADY信号が伝達される。
【００２２】
図３にデータライトスイッチ(602)の構成図を示す。各WriteDMAC(403,404)に対応してWriteDMACの入力信号に対するデータ転送元切り替えスイッチ(802)とWriteDMACの出力信号に対する出力切り替えMUX(801)と、接続される各機能処理ブロック(312~317)からの出力信号に対する転送先切り替えMUX(804)と機能処理ブロックからの入力信号に対する出力切り替えスイッチ(803)により構成される。それぞれのスイッチ、MUXの切り替え信号として、ライトデータ転送先指定信号(606)とライトデータ転送元指定信号(605)を有する。ライトデータ転送元指定信号(605)はWriteDMACのデータ転送元となる機能処理ブロック(312~317)を選択する信号である。本実施例では、6つの機能処理ブロックを選択する信号として3ビットの信号により実現される。ライトデータ転送先選択信号(606)は機能処理ブロック(312〜317)側で転送元となるWriteDMAC(403,404)を指定する信号である。本実施例では2つのWriteDMACを選択する信号として1ビットの信号により実現される。
【００２３】
データ転送元切り替えスイッチ(802)と出力切り替えMUX(801)とライトデータ転送元指定信号(605)は接続されるWriteDMACの個数分実装され、本実施例ではWriteDMAC-1/2(403,404)に対応して2組含まれる。転送先切り替えMUX(804)と出力切り替えスイッチ(803)とライトデータ転送先選択信号(606)は接続される機能処理ブロックの個数分実装され、本実施例では機能処理ブロック-A/B/C/D/E/F(312〜317)に対応して6組含まれている。
【００２４】
以下にライトデータスイッチ(602)の動作を記す。データ転送先切り替えスイッチ(803)は接続する機能処理ブロックからの出力信号とライトデータ転送先指定信号(606)を入力とし、出力として接続されるWriteDMACの個数分の出力を持ち、本実施例では2つの出力信号の組を有する。データ転送先切り替えスイッチ(803)はライトデータ転送先指定信号(606)の信号値により、指定されたWriteDMACへの出力信号と入力信号を接続する。ライトデータ転送先指定信号(606)により指定からもれたWriteDMACへの出力信号は無効な信号として出力する。具体的にはデータ転送信号のDATA_VALID信号を解除した信号を出力する。上記の機構により、ライトデータ転送先指定信号(606)により選択されたWriteDMACに対する出力信号は、スイッチ動作により機能処理ブロックのデータ出力IFからのデータがそのまま出力され、選択からもれたWriteDMACへの出力信号は無効データ、すなわち非転送状態となる。データ転送先切り替えスイッチ(803)のそれぞれのWriteに対するデータ出力は転送元切り替えMUX(801)へと接続される。転送元切り替えMUX(801)は各機能処理ブロックに対応するデータ転送元切り替えスイッチ(803)の出力信号(本実施例では6組)とライトデータ転送元選択信号(605)の入力と、WriteDMACのデータ入力IFに接続されるデータ出力を有する。データ出力転送元切り替えMUX(801)はライトデータ転送元指定信号(605)の信号値により、転送元の機能処理ブロックを判別し該当する機能処理ブロックからの入力信号をWriteDMACへの出力信号として出力する。上記の機構により、各機能処理ブロックに対応するデータ転送切り替えスイッチ(803)の出力データは、転送元切り替えMUX(801)の入力となり、ライトデータ転送元選択信号(605)により転送元と指定された機能処理ブロックからの入力信号がWriteDMACの入力信号として出力される。対して出力切り替えスイッチ(803)と出力切り替えMUX(801)はWriteDMACから機能処理ブロックへ伝達されるREADY信号に対するスイッチ機構であり、出力切り替えスイッチ(802)よりWriteDMACからのREADY信号が伝達される機能処理ブロックがライトデータ転送元選択信号(605)の値により選択され、選択された機能処理ブロックに対するREADY信号はWriteDMACからの信号がそのまま伝達され、選択からもれた機能処理ブロック対するREADY信号は解除された状態で転送される。出力切り替えMUX(804)は、各WriteDMACの出力切り替えスイッチ(802)の出力を入力とし、ライトデータ転送元指定信号(605)の信号値によりREADY信号の発行元の選択を行い、機能処理ブロックへREADY信号が伝達される。
【００２５】
以上のスイッチの構成により、ReadDMAC(401,402)とWriteDMAC(403,404)と各機能処理ブロック(312〜317)のデータがスイッチ切り替え指定信号(603から606)により接続が確立され、それぞれの組み合わせでのデータ転送が可能となる。
【００２６】
以下にDMAC(401〜404)、機能処理ブロック(312〜317)の動作および制御について記載する。本実施例において機能処理ブロックの機能処理回路は、機能処理ブロック-A/B(312,313)はJPEG符号化回路、機能処理ブロック-C/D(314,315)はJPEG復号化回路、機能処理ブロック-Eは解像度変換回路、機能処理ブロック-Fは色空間変換回路とする。連続イメージのJPEG符号化処理を行う場合、ソフトウエアにて各DMAC(401〜404)、機能処理ブロック(312〜317)のハードウエアリソース使用状況を確認し、ReadDMAC、WriteDMAC、JPEG符号化ブロックのリソースを確保する。ここではReadDMAC-1とWriteDMAC-1、機能処理ブロック-Aのリソースが確保できたとして説明する。ソフトウエアはリソースを確保すると、ReadDMAC-1のレジスタにアクセスを発行し、符号化する元データのメモリ上の開始アドレス、データ転送サイズを設定し、連続データDMA転送であるためオフセットレジスタの設定を0と設定し、次にWriteDMAC-1のレジスタにアクセスを発行し、符号化されたデータのメモリ上の開始アドレスと矩形関連レジスタの設定を行う。また、同時にJPEG符号化回路の設定として機能処理ブロック-A内に含まれるJPEG符号化に関するパラメータの設定を行い、機能処理ブロックの動作許可を発行する。
【００２７】
ソフトウエアは次にDMACと機能処理ブロックのスイッチの確立を行う。ReadDMAC-1と機能処理ブロック-Aの接続を確立するために、データ転送接続スイッチ(405)のレジスタにアクセスを行いリードデータ転送先指定信号(603)とリードデータ転送元指定信号(604)の設定を行い、WriteDMAC-1と機能処理ブロック-Aの接続を確立するためにライトデータ転送元指定信号(605)とライトデータ転送先指定信号(606)の設定を行う。
【００２８】
以上すべての設定を行った後にReadDMAC-1とWriteDMAC-1のDMAC起動レジスタにアクセスを行うことで、DMA転送を使用しJPEG符号化処理を行うことが可能となる。
【００２９】
同時に、同じ処理を別のデータに行う必要が生じた場合は、ReadDMAC-2とWriteDMAC-2と機能処理ブロック-Bを割り当て設定を行うことで、処理専用のハードウエアを2つの同じ処理を並列して行うことが出来る。また、解像度変換を先のJPEG符号化処理と並行して行う場合、Read-DMAC-2とWriteDMAC-2と機能処理ブロック-Eを割り当て設定を行うことで、JPEG符号化処理と解像度変換処理を並行して処理を行うことが出来る。
【００３０】
また、メモリ上の連続イメージに対して色空間変換を行う場合と、矩形単位にメモリ上に保持されたイメージに対して色空間変換を行う場合、任意のDMACと機能処理ブロック-Fをリソースとして確保し、ReadDMACの動作モードを連続イメージと矩形イメージで変更することで同一のハードウエアを使用し、それぞれのモードで所望の色空間変換を施すことが出来る。
【図面の簡単な説明】
【００３１】
【図１】一般的なJPEG復号化処理ブロックの簡易ブロック図である
【図２】複数機能処理ハードウエアを実装したシステム構成例である
【図３】ライトデータ転送接続スイッチの回路簡易ブロック図である
【図４】本実施例におけるシステムのブロック構成図である
【図５】データ転送プロトコルを記す信号波形図である
【図６】データ転送接続スイッチの回路簡易ブロック図である
【図７】リードデータ転送接続スイッチの回路簡易ブロック図である
【符号の説明】
【００３２】
101  JPEG復号化ブロック
102, 401, 402  ReadDMAC
103, 403, 404  WriteDMAC
104  JPEG復号化回路
105,301  メモリデバイス
201,303  CPU
202,302  メモリ制御回路
203  インターフェース回路
204〜209:  DMAC込み機能処理ブロック
306  システムバス
405  データ転送接続スイッチ
312〜317  機能処理ブロック
601  リードデータ転送接続スイッチ
602  ライトデータ転送接続スイッチ
603  リードデータ転送先選択信号
604  リードデータ転送元選択信号
605  ライトデータ転送元選択信号
606  ライトデータ転送先選択信号
701  転送先切り替えスイッチ
702  入力切り替えMUX
703  転送元切り替えMUX
704  入力切り替えスイッチ
801  出力切り替えMUX
802  転送元切り替えスイッチ
803  出力切り替えスイッチ
804  転送先切り替えMUX
【図１】
2007026185.tif 000003
【図２】
2007026185.tif 000004
【図３】
2007026185.tif 000005
【図４】
2007026185.tif 000006
【図５】
2007026185.tif 000007
【図６】
2007026185.tif 000008
【図７】
2007026185.tif 000009