(57)【要約】【課題】  CPUと複数の機能処理ブロックを有するシステムにおいて、CPUの機能処理ブロックの管理負荷を低減する手段を提供し、システム内の効率的な負荷分散を実現する。【解決手段】  複数ＤＭＡＣ、複数機能処理ブロックを有し、それらを接続を任意に接続するスイッチ回路を有するシステムにおいて、ＤＭＡＣ、機能処理ブロック、スイッチ回路の資源管理を行う機能処理資源管理機構を有し、機能処理資源管理機構に、行うべき機能処理、元データポインタ、結果データポインタ等を指定手段と、前記指定に基づき各ＤＭＡＣ、機能処理ブロック、スイッチ回路のリソース割り当て手段と処理設定手段を有することで、メインとなるＣＰＵのリソース管理、ブロック管理の負荷を低減する。【選択図】  図９
2007026184.tif 000002
【特許請求の範囲】
【請求項１】
少なくともひとつ以上のCPUと、複数の機能処理ブロックと、複数のDMAコントローラと、メモリデバイス制御回路と、前記機能処理ブロックと前記DMAコントローラの任意の組み合わせ可能なスイッチ回路とから構成され、前記DMAコントローラは一方はメモリ制御回路と接続され、もう一方は前記スイッチ回路を介して任意の機能処理ブロックと接続可能な電子回路において、
機能処理管理機構を有し、
機能処理指定手段と、
前記機能処理管理機構は、
前記スイッチ回路制御手段と、
前記DMAコントローラ制御手段と、
前記機能処理ブロック制御手段と、
機能処理終了判定手段と、
機能処理終了通知手段と、
を有することを特徴とする電子回路。
【請求項２】
前記機能処理管理機構がCPUにて実現されることを特徴とする請求項１に記載の電子回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は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つの処理しか行わない場合はハードウエアリソースを有効に使用することが出来ない。
【０００８】
また複数の機能処理ブロックを有するシステムにおいて、各ブロックの動作状況や時系列での使用可否や各ブロックの設定等に関しては一般にメインのプロセッサが管理する必要がある。しかしながら、近年の半導体技術の進展により、システム内に搭載されるハードウエアは指数関数的に増大するともに、各機能処理ブロックの管理や各種設定等の管理のCPUに対する負荷は増大し、プロセッサを他の処理への使用を限定したり、プロセッサの処理速度が低下し、システムとしての性能の制限してしまう。例えば、読み込みDMAC、書き込みDMAC、機能処理ブロックによりある処理を実現する場合、メインのプロセッサは、各DMACと機能処理ブロックの設定を行い、またDMACや機能処理ブロックからの終了通知を受ける。システムの機能が大きくなり、ハードウエアで実装される機能処理を並列に複数動作させる場合においては、各機能処理のために、ハードウエア資源を管理し、頻発する割り込み処理を行う必要が生じる。本来はハードウエアにて機能処理を実現することで、処理の高速化を実現するとともにソフトウエアにて他の処理をソフトウエアにて実行することでシステム全体の性能を向上させることが可能となるが、先に述べた理由によりプロセッサの性能は著しく制限され、プロセッサで実行するソフトウエアの性能が低下してしまう。
【０００９】
本発明は上記の課題を鑑みてなされたものであり、CPUと複数の機能処理ブロックを有するシステムにおいて、CPUの機能処理ブロックの管理負荷を低減する手段を提供し、システム内の効率的な負荷分散を実現することとする。
【課題を解決するための手段】
【００１０】
少なくともひとつ以上のCPUと、複数の機能処理ブロックと、複数のDMAコントローラと、メモリデバイス制御回路と、前記機能処理ブロックと前記DMAコントローラの任意の組み合わせ可能なスイッチ回路とから構成され、前記DMAコントローラは一方はメモリ制御回路と接続され、もう一方は前記スイッチ回路を介して任意の機能処理ブロックと接続され、前記スイッチ回路は、スイッチ切り替え指定用入力信号あるいはスイッチ切り替え指定用レジスタを有し、指定に従い前記機能処理ブロックと前記DMAコントローラの組み合わせを切り替える手段を有する電子回路において、
機能処理管理機構を有し、
機能処理指定手段と、
前記機能処理管理機構は、
前記スイッチ回路制御手段と、
前記DMAコントローラ制御手段と、
前記機能処理ブロック制御手段と、
機能処理終了判定手段と、
機能処理終了通知手段と、
を有することを特徴とする電子回路。
【発明の効果】
【００１１】
従来の手法によると、複数のDMACと複数の機能処理ブロックを有するシステムではメインCPUが各DMACや各機能処理ブロックのリソース管理を行い、また各DMAC、機能処理ブロックからの終了通知により割り込みが発生し、CPUに大きな負荷を与えていた。
【００１２】
本発明によると、複数のDMACと複数の機能処理ブロックを有するシステムにおいて、メインに処理を起動するCPUが従来行っていた各DMACや機能処理ブロックのリソース管理を行う必要が無く、実行する処理と処理を行うアドレス空間のみを指定し、専用の機能処理管理制御機構が各設定、起動を含めて行い、機能処理全体を一括して終了通知を行うため、メインCPUの機能処理ブロック管理、制御の負荷を減少し、他のCPUにて行う処理の性能向上を図ることが出来る。
【発明を実施するための最良の形態】
【００１３】
図４に示されるCPUと、複数の機能処理ブロックと、複数のDMAコントローラと、メモリデバイス制御回路と、前記機能処理ブロックと前記DMAコントローラの任意の組み合わせ可能なスイッチ回路とから構成され、前記DMAコントローラは一方はメモリ制御回路と接続され、もう一方は前記スイッチ回路を介して任意の機能処理ブロックと接続され、前記スイッチ回路は、スイッチ切り替え指定用入力信号あるいはスイッチ切り替え指定用レジスタを有し、指定に従い前記機能処理ブロックと前記DMAコントローラの組み合わせを切り替える手段を有する電子回路は以下の構成を有する。
【００１４】
すなわち、本システムは、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信号が伝達される。
【００２３】
図8にデータライトスイッチ(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)により接続が確立され、それぞれの組み合わせでのデータ転送が可能となる。
【００２７】
以上の構成に適用した本発明実施の形態として、図９に示すシステムを例に説明する。本システムは、図４のシステムに機能処理管理制御回路(901)を付加し、主にCPU(303)からの機能処理指定が行われるインターフェースとしての機能処理指定手段(1006)とスイッチ回路を制御する制御回路(1002、1004)から構成される。
【００２８】
機能処理管理制御回路(901)の構成を図10に示す。機能処理管理制御回路(901)は機能処理指定手段(1006)を有し、DMACの機能処理ブロックの構成により実現される信号処理の指定を受ける。本実施例では先の例記載と同様、機能処理ブロック-A/B(312,313)の機能処理回路をJPEG符号化回路、機能処理ブロック-C/D(314,315)の機能処理回路をJPEG復号化回路、機能処理ブロック-E(316)の機能処理回路を解像度変換回路、機能処理ブロック-F(317)の機能処理回路を色空間変換回路とする。機能処理指定手段は、図３に記されるような機能処理指定レジスタ群を有し、少なくとも機能処理フィールドレジスタ(1102)、元データ開始アドレスレジスタ(1103)、元データサイズレジスタ(1104)、結果データ開始アドレスレジスタ(1105)、各機能処理パラメータレジスタ(1106)、機能処理開始フラグレジスタ(1101)を有する。機能処理指定レジスタ群は、ReadDMAC(401,402)あるいはWriteDMAC(403,404)の個数の組有しており、本例では2組有する。機能処理指定レジスタ群に具備されるレジスタは、各ReadDMAC(401,402)と各WriteDMAC(403,404)に具備されるレジスタフィールドを有しており、先の例に記されるような各DMACがブロック転送機能を有する場合は矩形転送幅レジスタや矩形転送アドレスオフセットレジスタを機能処理指定レジスタ群に実装される。また機能処理パラメータレジスタ(1106)は機能処理ブロック(312〜317)の種類分のレジスタ群を有し、各機能処理ブロックに設定されるレジスタフィールドをそれぞれ有している。本実施例では6つの機能処理ブロック(312〜317)に対してJPEG符号化、JPEG復号化、解像度変換、色空間変換と4種類の機能処理ブロックを有しており、機能処理パラメータレジスタ(1106)は図３に記されるようにJPEG符号化パラメータ、JPEG復号化パラメータ、解像度変換パラメータ、色空間変換パラメータを実装する。
【００２９】
CPU(303)は行う処理に従って、機能処理指定レジスタ群に対してアクセスを発行する。CPUはメモリ上の信号処理を行う元データの開始アドレスとデータサイズを元データ開始アドレスレジスタ(1103)、元データサイズレジスタ(1104)、信号処理後のデータを格納するメモリ上の開始アドレスを結果データ開始アドレスジス他(1105)に書き込み、機能処理フィールドレジスタ(1102)2ビットに、JPEG符号化を行う場合は“00”、JPEG復号化を行う場合は“01”、解像度変換を行う場合は“10”、色空間変換を行う場合は“11”を指定し、機能処理開始フラグ(1101)を立ててアクセスを発行することで機能処理を指定する。
【００３０】
リソース判定レジスタ(1002)はReadDMACリソースフラグレジスタ、WriteDMACリソースフラグレジスタ、機能処理ブロックリソースフラグレジスタより構成され、機能処理指定手段(1006)から設定され、解除は各リソースからの終了通知にて行われる。各リソースフラグレジスタのフィールドは各リソースの数分のフィールドを有し、該当リソースが使用中の場合１、未使用の場合は0が設定される。本実施例の構成ではReadDMACリソースフラグレジスタおよびWriteDMACリソースフラグレジスタは2つのフィールドを有し、機能処理ブロックリソースフラグレジスタは機能処理ブロックの数、すなわち6つのフィールドを有する。CPUから機能処理指定手段に上記のプロセスにて機能処理の指定を受け、開始フラグが設定されると機能処理指定手段(1006)は、リソース判定レジスタ(1002)を参照し、機能処理に必要なReadDMAC、WriteDMACおよび機能処理ブロックが使用可能かのリソースを判定する。
【００３１】
例えば、JPEG復号化処理の指定を受けると、ReadDMACリソースフラグレジスタ、WriteDMACリソースフラグレジスタへとアクセスし、未使用のDMACがあればJPEG復号化処理に使用するため、使用するDMACのフィールドに1を設定しDMACのリソースを確保し、機能処理ブロックリソースフラグレジスタにアクセスし、JPEG復号化のフィールドを参照し、未使用のJPEG復号化ブロックがあれば、該当フィールドに1を設定しリソースを確保する。各リソースが使用中の場合、機能処理指定手段(1006)は各リソースが未使用状態になる、すなわち該当リソースフラグが解除されるのを待ってリソースを確保する。
【００３２】
リソース判定レジスタ(1006)にてリソースを確保した後に機能処理指定手段(1006)はスイッチ選択機構(1004)にアクセスする。スイッチ選択機構はスイッチ回路(405)の接続を設定するレジスタを有しており、各フィールドにてリードデータ転送先指定信号(603)、リードデータ転送元指定信号(604)、ライトデータ転送元指定信号(606)、ライトデータ転送先指定信号(605)を生成する。リードデータ転送先指定レジスタはReadDMACの数である2組、リードデータ転送元指定レジスタは機能処理ブロックの数である6組、ライトデータ転送先指定レジスタは機能処理ブロックの数である6組、ライトデータ転送元指定レジスタはWriteDMACの数である2組実装され、それぞれのDMAC、機能処理ブロックに対応する。
【００３３】
JPEG復号化処理において、リソース判定レジスタ(1006)を介して確保したリソースがReadDMAC-2、WriteDMAC-1、機能処理ブロック-Cであった場合スイッチ選択機構(1004)内レジスタにて、ReadDMAC-2と機能処理ブロック-C内データ入力IFとWriteDMAC-1と機能処理ブロック-C内データ出力IFの接続を確立する様、ReadDMAC-2に対応するリードデータ転送先指定レジスタ、機能処理ブロック-Cに対応するリードデータ転送元指定レジスタ、ライトデータ転送先指定レジスタ、WriteDMAC-1に対応するライトデータ転送元指定レジスタにDMACの機能処理ブロック間スイッチ接続の設定を行う。機能処理指定手段(1006)はまた機能設定手段(1003)を介して各DMAC、機能処理ブロックに対して設定を行う。機能処理指定手段(1006)に指定された元データ開始アドレス、元データサイズを選択されたReadDMAC-2へ任意の方法でレジスタ設定を行い、結果データ開始アドレスをWriteDMAC-1へ任意の方法でレジスタ設定を行い、また機能処理フィールドが01とJPEG復号化として指定されているため、設定されたJPEG復号化パラメータを任意の方法で機能処理ブロック-Cに対してレジスタ設定を行い、すべての設定完了後にWriteDMAC、機能処理ブロック、ReadDMACの処理開始を指示しデータ転送、JPEG復号化処理を開始する。処理の開始を指示すると機能処理終了判定手段(1001)にて終了判定を行う。機能処理終了判定手段(1001)は、各ReadDMAC、WriteDMAC、機能処理ブロックからの処理終了通知の入力インターフェースを有し、機能処理指定手段(1006)が機能設定手段(1003)を介して機能処理を開始すると、機能処理に使用するReadDMAC、WriteDMAC、機能処理ブロックを判別し、各ブロックからの終了通知を待つ。機能処理の終了はすべての処理の終了で確定し、3ブロックからの終了通知を受け取ると、機能処理終了通知手段(1005)を起動し処理起動元であるCPUに対して割り込みを上げ、処理の終了を通知する。
【図面の簡単な説明】
【００３４】
【図１】一般的な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
901  機能処理管理制御回路
1001  機能処理終了判定手段
1002  リソース判定レジスタ
1003  機能設定手段
1004  スイッチ回路選択機構
1005  機能処理終了通知手段
1006  機能処理指定手段
1101  機能処理開始フラグレジスタ
1102  機能処理フィールドレジスタ
1103  元データ開始アドレスレジスタ
1104  元データサイズレジスタ
1105  結果データ開始アドレスレジスタ
1106  機能処理パラメータレジスタ群
【図１】
2007026184.tif 000003
【図２】
2007026184.tif 000004
【図３】
2007026184.tif 000005
【図４】
2007026184.tif 000006
【図５】
2007026184.tif 000007
【図６】
2007026184.tif 000008
【図７】
2007026184.tif 000009
【図８】
2007026184.tif 000010
【図９】
2007026184.tif 000011
【図１０】
2007026184.tif 000012