【手続補正書】
【提出日】平成18年1月13日(2006.1.13)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】      明細書
【発明の名称】  プロセッサ処理方法およびプロセッサシステム
【特許請求の範囲】
【請求項１】  第１の制御手段と、第１の制御手段に接続する第１の記憶手段と、プログラムを格納するメモリ部およびプログラムに従ってデータを処理するプロセッサ部を有する第２の制御手段と、を備えるプロセッサシステムに適用するプロセッサ処理方法であって、
前記第１の記憶手段は、複数のプログラムとプログラムの処理に必要なパラメータとを格納し、
前記第１の制御手段は、電源投入時に第２の制御手段用の初期プログラムを第１の記憶手段から第２の制御手段のメモリ部に投入し、以降は、プロセッサシステム外部から処理要求が来る毎に当該処理要求に応じたプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部に転送し、
前記第２の制御手段は、プロセッサシステム外部から処理すべきデータを入力し、メモリ部に転送されたプログラムとパラメータに基づいて当該データをプロセッサ部で処理してプロセッサシステム外部へ出力することを特徴とするプロセッサ処理方法。
【請求項２】  前記第１の記憶手段は、処理要求の種類に応じたプログラムを複数格納し、
前記第１の制御手段は、処理要求を任意のタイミングで受け付け、それぞれの処理要求に応じたプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部に転送し、
前記第２の制御手段は、前記データに対する入出力Ｉ／Ｆを複数有し、前記データを前記複数の入出力Ｉ／Ｆからそれぞれ取り込み、メモリ部に転送されたプログラムとパラメータに基づいて当該データをプロセッサ部で処理してプロセッサ外部へ前記複数の入出力Ｉ／Ｆから出力することを特徴とする請求項１に記載のプロセッサ処理方法。
【請求項３】  処理要求と処理要求を充足させるのに必要なプログラムの組とを対応づけるテーブルを有し、
前記第１の制御手段は、処理要求に従って、前記テーブルを参照することにより、第２の制御手段に転送すべきプログラムの組と必要なパラメータとを決定することを特徴とする請求項２に記載のプロセッサ処理方法。
【請求項４】  前記テーブルを前記第１の記憶手段に格納したことを特徴とする請求項３に記載のプロセッサ処理方法。
【請求項５】  前記第１の制御手段は、第２の制御手段のメモリ部におけるメモリ使用状況を認識し、プロセッサシステム外部から処理要求が来る毎に当該処理要求に応じたプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部の空き領域を探して転送することを特徴とする請求項１〜４のいずれか一つに記載のプロセッサ処理方法。
【請求項６】  前記第１の制御手段は、処理要求の履歴を保持し、プロセッサシステム外部から処理要求が来る毎に、従前の処理要求と一致するか否かを判断し、一致しない場合には、前記テーブルを参照して処理要求を充足させるのに必要な差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部に転送し、
前記第２の制御手段は、最新の処理要求が従前の処理要求と一致する場合には、従前にメモリ部に転送されたプログラムとパラメータを利用してデータをプロセッサ部で処理してプロセッサシステム外部へ出力し、差分のプログラムとパラメータが転送された場合には、当該差分のプログラムとパラメータおよび従前にメモリ部に転送されていたプログラムとパラメータに基づいてデータをプロセッサ部で処理してプロセッサシステム外部へ出力することを特徴とする請求項３または４に記載のプロセッサ処理方法。
【請求項７】  前記第１の制御手段は、第２の制御手段のメモリ部におけるメモリ使用状況を認識し、差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部の空き領域を探して転送し、空き領域がなければ、処理要求の履歴を参照して、不要な領域の開放を第２の制御手段に指示し、不要な領域の開放後、差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部に転送することを特徴とする請求項６に記載のプロセッサ処理方法。
【請求項８】  前記第１の制御手段は、第２の制御手段のメモリ部におけるメモリ使用状況とプロセッサ部に備わるレジスタにおけるレジスタ使用状況とを認識し、プロセッサシステム外部から処理要求が来る毎に、第１の記憶手段から当該処理要求に応じたプログラムと必要なパラメータとを第２の制御手段のメモリ部の空き領域とプロセッサ部のレジスタの空き領域とに分配して転送することを特徴とする請求項１〜４のいずれか一つに記載のプロセッサ処理方法。
【請求項９】  前記第１の制御手段は、処理要求の履歴を保持し、プロセッサシステム外部から処理要求が来る毎に、従前の処理要求と一致するか否かを判断し、一致しない場合には、前記テーブルを参照して処理要求を充足させるのに必要な差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部およびプロセッサ部のレジスタに分配して転送し、
前記第２の制御手段は、最新の処理要求が従前の処理要求と一致する場合には、従前に転送されたプログラムとパラメータを利用してデータをプロセッサ部で処理してプロセッサシステム外部へ出力し、差分のプログラムとパラメータが転送された場合には、当該差分のプログラムとパラメータおよび従前に転送されていたプログラムとパラメータに基づいてデータをプロセッサ部で処理してプロセッサシステム外部へ出力することを特徴とする請求項３または４に記載のプロセッサ処理方法。
【請求項１０】  前記第１の制御手段は、第２の制御手段のメモリ部におけるメモリ使用状況とプロセッサ部に備わるレジスタにおけるレジスタ使用状況とを認識し、差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部の空き領域とプロセッサ部のレジスタの空き領域とに分配して転送し、空き領域がなければ、処理要求の履歴を参照して、不要な領域の開放を第２の制御手段に指示し、不要な領域の開放後、差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部とプロセッサ部のレジスタに転送することを特徴とする請求項９に記載のプロセッサ処理方法。
【請求項１１】  前記第１の制御手段は、処理要求の履歴を過去１回分保持することを特徴とする請求項６、７、９または１０に記載のプロセッサ処理方法。
【請求項１２】  前記プロセッサ部のレジスタは、ラインメモリ、画像処理または音声処理のハードウェアに接続し、当該ラインメモリやハードウェアのデータを読み書きすることを特徴とする請求項８、９または１０に記載のプロセッサ処理方法。
【請求項１３】  前記第１の制御手段から第２の制御手段へのプログラムおよび必要なパラメータの転送を、処理要求を充足させるのに必要な個々のプログラムが決定される毎にその都度おこなうことを特徴とする請求項５〜１０のいずれか一つに記載のプロセッサ処理方法。
【請求項１４】  前記第１の制御手段から第２の制御手段へのプログラムおよび必要なパラメータの転送を、処理要求を充足させるのに必要なプログラムの組が決定された後に一括しておこなうことを特徴とする請求項５〜１０のいずれか一つに記載のプロセッサ処理方法。
【請求項１５】  第１の制御手段と第２の制御手段とから構成され、データに対して複数の処理を施して用途に応じた機能を実現するプロセッサシステムであって、
前記第１の制御手段は、
複数の処理のそれぞれに対応したプログラムと、プログラムで使用するパラメータとを格納する第１の記憶手段に接続し、
機能実現へ向けた処理を開始させる処理要求を入力する処理要求入力手段と、
前記処理要求入力手段により入力された処理要求に従って、前記第２の制御手段で処理させるべき処理の組み合せおよび必要なパラメータを決定する決定手段と、
前記第１の記憶手段に格納されたプログラムとパラメータの中から、前記決定手段により決定された処理の組み合せにかかるプログラムおよびパラメータを前記第２の制御手段に転送する転送手段と、
を備え、
前記第２の制御手段は、
前記データを入力するデータ入力手段と、
前記第１の制御手段から転送されたプログラムとパラメータを格納する第２の記憶手段と、
前記データ入力手段により入力されたデータに対して、前記第２の記憶手段に格納されたプログラムとパラメータに基づいて一連の処理を施し、前記用途に応じた機能を実現する処理手段と、
を備えたことを特徴とするプロセッサシステム。
【請求項１６】  第１の制御手段と第２の制御手段とから構成され、データに対して複数の処理を施して用途に応じた機能を実現するプロセッサシステムであって、
前記第１の制御手段は、
複数の処理のそれぞれに対応したプログラムと、プログラムで使用するパラメータとを格納する第１の記憶手段に接続し、
機能実現へ向けた処理を開始させる処理要求を入力する処理要求入力手段と、
前記処理要求入力手段により入力された処理要求に従って、前記第２の制御手段で処理させるべき処理の組み合せおよび必要なパラメータを決定する決定手段と、
前記第１の記憶手段に格納されたプログラムとパラメータの中から、前記決定手段により決定された処理の組み合せにかかるプログラムおよびパラメータを前記第２の制御手段に転送する転送手段と、
を備え、
前記第２の制御手段は、
前記データを入力するデータ入力手段と、
前記第１の制御手段から転送されたプログラムとパラメータを格納する第２の記憶手段およびレジスタと、
前記データ入力手段により入力されたデータに対して、前記第２の記憶手段に格納されたプログラムとパラメータに基づいて前記レジスタを介して一連の処理を施し、前記用途に応じた機能を実現する処理手段と、
を備えたことを特徴とするプロセッサシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プロセッサ処理方法およびプロセッサシステムに関し、特に、第２の制御手段と第１の制御手段とを有するプロセッサシステムおよびそのプロセッサシステムに適用するプロセッサ処理方法に関する。
【０００２】
【従来の技術】
従来、データ処理などの信号処理に関して、汎用ＣＰＵを用いるやり方や、特定用途向けに特化したＡＳＩＣを用いるやり方がある。ＡＳＩＣを設計することにより、スピード的にもコスト的にも汎用ＣＰＵよりもパフォーマンスを上げることができる。
【０００３】
また、この様なコア組み込み型ＩＣの普及に伴なって、ＡＳＩＣよりも広い分野に対応できる製品、たとえば、音楽チップや画像処理チップなどとしてデジタルシグナルプロセッサ（以降ＤＳＰ）が使用され始めてきている。ＤＳＰは基本的に内部に信号処理部（プロセッサ部）とそれを動作させるプログラム格納部（メモリ）から構成され、ハードおよびソフトウェアの両面を持つミドルウェアとして位置付けられる。
【０００４】
ここで、ＤＳＰを取り巻くシステムについて説明する。図５６はＤＳＰシステムの構成を示す説明図である。Ｈｏｓｔ−ＣＰＵ１０（以下ＣＰＵ１０）は、上流処理１１および下流処理１２に必要な設定、たとえばｂｏｏｔ処理を行ない、また、ＤＳＰ３０にはプログラムのダウンロード（転送）をおこなう。上流処理１１はＣＰＵ１０から設定を受け取り、処理要求があったときには、必要な動作をおこなってＤＳＰ３０へ信号を出す。下流処理１２はＣＰＵ１０より設定を受け取り、ＤＳＰ３０から信号を受け取って必要な動作をおこなう。
【０００５】
なお、上流処理、下流処理はそれぞれシステム外部で信号を処理する処理部を包括的に表現したものであり、特に処理内容や構成が限定されるものではない。ＤＳＰ３０はＣＰＵ１０よりプログラムをダウンロードされ、上流処理１１より信号を受け取って、ダウンロードされたプログラムにそって信号処理を行ない、下流処理１２へ処理された信号を出力する。
【０００６】
図５７は、ＣＰＵ１０とＤＳＰ３０の構成の一例を示した説明図である。ＣＰＵ１０は内部に制御プログラムを格納したＲＯＭを持ち、このＲＯＭ内にＤＳＰ３０にダウンロードするプログラムを格納している。ＣＰＵ１０がＤＳＰ３０にダウンロードをおこなうのは、電源投入時のＢｏｏｔ処理時や、リセット命令終了後である。
【０００７】
図５８は、ＣＰＵ１０による設定処理の流れを示した説明図である。ＣＰＵ１０は、図に示した手順でＣＰＵ１０のＲＯＭ内のＤＳＰプログラム格納エリアの内容をＤＳＰ３０のメモリ部へ投入する。ＤＳＰ３０は、図５７に示したように、実際の信号入力／信号処理／信号出力をおこなうプロセッサ部４０と、プロセッサの動作を決定するプログラムを内蔵するためのメモリ部５０より構成され、メモリ部５０にダウンロードされたプログラムに従って、処理をおこなっていく。
【０００８】
図５９は、図５６に示したＤＳＰシステムが実際に動作するシーケンスを示した説明図である。まず、電源立ち上げ時に、外部からＣＰＵ１０へ立ち上げ要求が通知される。ＣＰＵ１０は立ち上げ通知を受けて、ＤＳＰ３０、上流処理１１、および、下流処理１２へとＢｏｏｔ処理を行ない、次に各部品へと設定をおこなっていく。図はＤＳＰ３０のみへの設定を示しており、ＣＰＵ１０より処理設定、すなわちＤＳＰ１０に対するプログラムのダウンロードをおこなう。
【０００９】
プログラムのダウンロードが終了すると、ＤＳＰ３０は入力信号待機状態となり、設定完了の返答をＣＰＵ１０へ返す。ＣＰＵ１０は上流処理１１へ処理開始の準備ＯＫを通知する。上流処理１１はＤＳＰ３０へ処理信号を随時送り、ＤＳＰ３０は受け取った信号を処理して下流処理１２へ送る。
【００１０】
このように、ＤＳＰを用いることにより、ハードウェア部分を汎用性ある構成にして、ハードウェアにそったプログラムのバリエーションによって、再利用性高く処理の範囲を広げることが可能となる。
【００１１】
【発明が解決しようとする課題】
しかしながら、従来の技術では以下の問題点があった。
すなわち、近年のＩＣ動作速度の高速化と、製品サイクル期間の短縮化による製品毎の設計負担が増大するという問題点があった。すなわち、ＡＳＩＣの設計途中やＡＳＩＣの発注途中に、バージョンアップした仕様を盛り込ませる必要が生じたり、仕様の一部を変更する必要が生じたりする場合があり、技術革新に適切に対応できないという問題点があった。また、ＡＳＩＣは、その設計上、処理内容や、処理に必要なパラメータが固定されてしまうため、適用の用途が限られてしまうという問題点があった。また、従来のＤＳＰを用いても、必ずしも処理の範囲を広げることができないという問題点があった。
【００１２】
本発明は上記に鑑みてなされたものであって、ＤＳＰによる処理のバラエティを増やすことを目的とする。
【００１３】
また、ＤＳＰにより同時に複数種類の処理を並行しておこなわせることを目的とする。
【００１４】
また、複雑なプログラムの組み合せが必要である場合であっても、ＣＰＵがＤＳＰに対してプログラムの組を全体として高速に転送可能とすることを目的とする。
【００１５】
また、メモリリソースもしくはレジスタリソースの有効利用を図ることを目的とする。
【００１６】
また、ＤＳＰにおける処理時間を短縮させることを目的とする。
【００１７】
【課題を解決するための手段】
上記の目的を達成するため、請求項１に記載のプロセッサ処理方法は、第１の制御手段と、第１の制御手段に接続する第１の記憶手段と、プログラムを格納するメモリ部およびプログラムに従ってデータを処理するプロセッサ部を有する第２の制御手段と、を備えるプロセッサシステムに適用するプロセッサ処理方法であって、前記第１の記憶手段が、複数のプログラムとプログラムの処理に必要なパラメータとを格納し、前記第１の制御手段が、電源投入時に第２の制御手段用の初期プログラムを第１の記憶手段から第２の制御手段のメモリ部に投入し、以降は、プロセッサシステム外部から処理要求が来る毎に当該処理要求に応じたプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部に転送し、前記第２の制御手段が、プロセッサシステム外部から処理すべきデータを入力し、メモリ部に転送されたプログラムとパラメータに基づいて当該データをプロセッサ部で処理してプロセッサシステム外部へ出力することを特徴とする。
【００１８】
すなわち、請求項１にかかる発明は、第１の記憶手段を取り替えるだけで設計変更に容易に対応できる。
【００１９】
また、請求項２に記載のプロセッサ処理方法は、請求項１に記載のプロセッサ処理方法において、前記第１の記憶手段が、処理要求の種類に応じたプログラムを複数格納し、前記第１の制御手段が、処理要求を任意のタイミングで受け付け、それぞれの処理要求に応じたプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部に転送し、前記第２の制御手段が、前記データに対する入出力Ｉ／Ｆを複数有し、前記データを前記複数の入出力Ｉ／Ｆからそれぞれ取り込み、メモリ部に転送されたプログラムとパラメータに基づいて当該データをプロセッサ部で処理してプロセッサ外部へ前記複数の入出力Ｉ／Ｆから出力することを特徴とする。
【００２０】
すなわち、請求項２にかかる発明は、処理要求を即座に受け入れる。
【００２１】
また、請求項３に記載のプロセッサ処理方法は、請求項２に記載のプロセッサ処理方法において、処理要求と処理要求を充足させるのに必要なプログラムの組とを対応づけるテーブルを有し、前記第１の制御手段が、処理要求に従って、前記テーブルを参照することにより、第２の制御手段に転送すべきプログラムの組と必要なパラメータとを決定することを特徴とする。
【００２２】
すなわち、請求項３にかかる発明は、処理要求を充足させるプログラムが何れであるか判断しなくてすむ。
【００２３】
また、請求項４に記載のプロセッサ処理方法は、請求項３に記載のプロセッサ処理方法において、前記テーブルを前記第１の記憶手段に格納したことを特徴とする。
【００２４】
すなわち、請求項４にかかる発明は、第１の記憶手段の１チップに設計変更の可能性のある要素をすべて盛り込むことができる。
【００２５】
また、請求項５に記載のプロセッサ処理方法は、請求項１〜４のいずれか一つに記載のプロセッサ処理方法において、前記第１の制御手段が、第２の制御手段のメモリ部におけるメモリ使用状況を認識し、プロセッサシステム外部から処理要求が来る毎に当該処理要求に応じたプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部の空き領域を探して転送することを特徴とする。
【００２６】
すなわち、請求項５にかかる発明は、メモリリソースの有効利用を図ることができる。
【００２７】
また、請求項６に記載のプロセッサ処理方法は、請求項３または４に記載のプロセッサ処理方法において、前記第１の制御手段が、処理要求の履歴を保持し、プロセッサシステム外部から処理要求が来る毎に、従前の処理要求と一致するか否かを判断し、一致しない場合には、前記テーブルを参照して処理要求を充足させるのに必要な差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部に転送し、前記第２の制御手段が、最新の処理要求が従前の処理要求と一致する場合には、従前にメモリ部に転送されたプログラムとパラメータを利用してデータをプロセッサ部で処理してプロセッサシステム外部へ出力し、差分のプログラムとパラメータが転送された場合には、当該差分のプログラムとパラメータおよび従前にメモリ部に転送されていたプログラムとパラメータに基づいてデータをプロセッサ部で処理してプロセッサシステム外部へ出力する。
【００２８】
すなわち、請求項６にかかる発明は、転送時間を短縮する。
【００２９】
また、請求項７に記載のプロセッサ処理方法は、請求項６に記載のプロセッサ処理方法において、前記第１の制御手段が、第２の制御手段のメモリ部におけるメモリ使用状況を認識し、差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部の空き領域を探して転送し、空き領域がなければ、処理要求の履歴を参照して、不要な領域の開放を第２の制御手段に指示し、不要な領域の開放後、差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部に転送することを特徴とする。
【００３０】
すなわち、請求項７にかかる発明は、転送時間を短縮する。
【００３１】
また、請求項８に記載のプロセッサ処理方法は、請求項１〜４のいずれか一つに記載のプロセッサ処理方法において、前記第１の制御手段が、第２の制御手段のメモリ部におけるメモリ使用状況とプロセッサ部に備わるレジスタにおけるレジスタ使用状況とを認識し、プロセッサシステム外部から処理要求が来る毎に、第１の記憶手段から当該処理要求に応じたプログラムと必要なパラメータとを第２の制御手段のメモリ部の空き領域とプロセッサ部のレジスタの空き領域とに分配して転送することを特徴とする。
【００３２】
すなわち、請求項８にかかる発明は、メモリリソースとレジスタリソースの有効利用を図ることができる。
【００３３】
また、請求項９に記載のプロセッサ処理方法は、請求項３または４に記載のプロセッサ処理方法において、前記第１の制御手段が、処理要求の履歴を保持し、プロセッサシステム外部から処理要求が来る毎に、従前の処理要求と一致するか否かを判断し、一致しない場合には、前記テーブルを参照して処理要求を充足させるのに必要な差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部およびプロセッサ部のレジスタに分配して転送し、前記第２の制御手段が、最新の処理要求が従前の処理要求と一致する場合には、従前に転送されたプログラムとパラメータを利用してデータをプロセッサ部で処理してプロセッサシステム外部へ出力し、差分のプログラムとパラメータが転送された場合には、当該差分のプログラムとパラメータおよび従前に転送されていたプログラムとパラメータに基づいてデータをプロセッサ部で処理してプロセッサシステム外部へ出力することを特徴とする。
【００３４】
すなわち、請求項９にかかる発明は、転送時間を短縮する。
【００３５】
また、請求項１０に記載のプロセッサ処理方法は、請求項９に記載のプロセッサ処理方法において、前記第１の制御手段が、第２の制御手段のメモリ部におけるメモリ使用状況とプロセッサ部に備わるレジスタにおけるレジスタ使用状況とを認識し、差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部の空き領域とプロセッサ部のレジスタの空き領域とに分配して転送し、空き領域がなければ、処理要求の履歴を参照して、不要な領域の開放を第２の制御手段に指示し、不要な領域の開放後、差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部とプロセッサ部のレジスタに転送することを特徴とする。
【００３６】
すなわち、請求項１０にかかる発明は、転送時間を短縮する。
【００３７】
また、請求項１１に記載のプロセッサ処理方法は、請求項６、７、９または１０に記載のプロセッサ処理方法において、前記第１の制御手段が、処理要求の履歴を過去１回分保持することを特徴とする。
【００３８】
すなわち、請求項１１にかかる発明は、ルーチンワークがなされる場合に、第２の制御手段による処理時間を短縮させることができる。
【００３９】
また、請求項１２に記載のプロセッサ処理方法は、請求項８、９または１０に記載のプロセッサ処理方法において、前記プロセッサ部のレジスタが、ラインメモリ、画像処理または音声処理のハードウェアに接続し、当該ラインメモリやハードウェアのデータを読み書きすることを特徴とする。
【００４０】
すなわち、請求項１２にかかる発明は、複雑な処理を高速かつ簡便におこなうことができる。
【００４１】
また、請求項１３に記載のプロセッサ処理方法は、請求項５〜１０のいずれか一つに記載のプロセッサ処理方法において、前記第１の制御手段から第２の制御手段へのプログラムおよび必要なパラメータの転送を、処理要求を充足させるのに必要な個々のプログラムが決定される毎にその都度おこなうことを特徴とする。
【００４２】
すなわち、請求項１３にかかる発明は、プログラム投入の汎用性を高める。
【００４３】
また、請求項１４に記載のプロセッサ処理方法は、請求項５〜１０のいずれか一つに記載のプロセッサ処理方法において、前記第１の制御手段から第２の制御手段へのプログラムおよび必要なパラメータの転送を、処理要求を充足させるのに必要なプログラムの組が決定された後に一括しておこなうことを特徴とする。
【００４４】
すなわち、請求項１４にかかる発明は、プログラム投入の汎用性を高める。
【００４５】
また、請求項１５に記載のプロセッサシステムは、第１の制御手段と第２の制御手段とから構成され、データに対して複数の処理を施して用途に応じた機能を実現するプロセッサシステムであって、前記第１の制御手段が、複数の処理のそれぞれに対応したプログラムと、プログラムで使用するパラメータとを格納する第１の記憶手段に接続し、機能実現へ向けた処理を開始させる処理要求を入力する処理要求入力手段と、前記処理要求入力手段により入力された処理要求に従って、前記第２の制御手段で処理させるべき処理の組み合せおよび必要なパラメータを決定する決定手段と、前記第１の記憶手段に格納されたプログラムとパラメータの中から、前記決定手段により決定された処理の組み合せにかかるプログラムおよびパラメータを前記第２の制御手段に転送する転送手段と、を備え、前記第２の制御手段が、前記データを入力するデータ入力手段と、前記第１の制御手段から転送されたプログラムとパラメータを格納する第２の記憶手段と、前記データ入力手段により入力されたデータに対して、前記第２の記憶手段に格納されたプログラムとパラメータに基づいて一連の処理を施し、前記用途に応じた機能を実現する処理手段と、を備えたことを特徴とする。
【００４６】
すなわち、請求項１５にかかる発明は、第１の記憶手段を取り替えるだけで設計変更に容易に対応できるとともに第２の制御手段を用いた柔軟な処理が可能となる。
【００４７】
また、請求項１６に記載のプロセッサシステムは、第１の制御手段と第２の制御手段とから構成され、データに対して複数の処理を施して用途に応じた機能を実現するプロセッサシステムであって、前記第１の制御手段が、複数の処理のそれぞれに対応したプログラムと、プログラムで使用するパラメータとを格納する第１の記憶手段に接続し、機能実現へ向けた処理を開始させる処理要求を入力する処理要求入力手段と、前記処理要求入力手段により入力された処理要求に従って、前記第２の制御手段で処理させるべき処理の組み合せおよび必要なパラメータを決定する決定手段と、前記第１の記憶手段に格納されたプログラムとパラメータの中から、前記決定手段により決定された処理の組み合せにかかるプログラムおよびパラメータを前記第２の制御手段に転送する転送手段と、を備え、前記第２の制御手段が、前記データを入力するデータ入力手段と、前記第１の制御手段から転送されたプログラムとパラメータを格納する第２の記憶手段およびレジスタと、前記データ入力手段により入力されたデータに対して、前記第２の記憶手段に格納されたプログラムとパラメータに基づいて前記レジスタを介して一連の処理を施し、前記用途に応じた機能を実現する処理手段と、を備えたことを特徴とする。
【００４８】
すなわち、請求項１６にかかる発明は、第１の記憶手段を取り替えるだけで設計変更に容易に対応できるとともに第２の制御手段を用いた柔軟な処理が可能となる。
【００４９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。
実施の形態１．
図１は、実施の形態１のプロセッサ処理方法を適用するプロセッサシステムの構成の一例を示した概念図である。プロセッサシステム１００は、ＣＰＵ１０と、ＣＰＵ１０に接続するＲＯＭ２０と、プログラムを格納するメモリ部５０およびプログラムに従ってデータを処理するプロセッサ部４０を有するＤＳＰ３０と、を備える。なお、ＣＰＵ１０を適宜Ｈｏｓｔ−ＣＰＵ１０と称することとする。また、図では、ＲＯＭ２０がＣＰＵ１０内に構成されているが、これに限らずＣＰＵ１０に接続されていればよい。このとき、プログラム転送の効率から、ＲＯＭ２０は、ＣＰＵ１０の制御の下、内蔵する情報を高速に転送できる構成であることが好ましい。
【００５０】
ＲＯＭ２０は、複数のプログラムとプログラムの処理に必要なパラメータとを格納する。たとえば、ＲＯＭ２０は、ＤＳＰ３０に対するダウンロード制御プログラム（ダウンロードを制御する情報）や、ＤＳＰ３０にダウンロードするプログラムを複数種類格納している。メモリ部５０は、電源投入時にＲＯＭ２０から転送されてきたＤＳＰ用の初期プログラム（メイン制御プログラム）を一度だけ格納し、以降は、同様に転送されてくる必要なプログラムと必要なパラメータとを格納する。この必要なプログラム等のダウンロード（転送）は、電源投入時のＢｏｏｔ処理時や、リセット命令終了後の他、任意に処理要求を受けつけておこなうことができる。
【００５１】
ＤＳＰ３０は実際の信号入力／信号処理／信号出力をおこなうプロセッサ部４０と、プロセッサの動作を決定するプログラムを内蔵するためのメモリ部５０より構成され、メモリ部５０にダウンロードされたプログラムに従って、処理をおこなっていく。ここで、メモリ部５０は図に示したようにＤＳＰ３０自体が使用するコントロール領域と、Ｈｏｓｔ−ＣＰＵ１０より送られるプログラムを格納するプログラム領域からなる。
【００５２】
次に、ＣＰＵ１０からメモリ部５０へのプログラムをダウンロードする流れについて説明する。図２は、ＤＳＰの処理に必要なプログラムのダウンロードの流れを説明する説明図である。まず、要求がＢｏｏｔ、すなわち、電源投入時やリセット動作後のダウンロード要求であった場合、ＣＰＵ１０はＤＳＰ３０のメモリ部５０のコントロール領域を初期化する制御をおこない、次に、メモリ部５０のプログラム領域にメイン制御プログラムをダウンロードする制御をおこなう。
【００５３】
メイン制御プログラムは、ＤＳＰ３０の核の動作となるプログラムであり、後述の処理要求内容などに依存しない固定部分である。すなわち、メイン制御プログラムは、ＤＳＰ３０にとって普遍の動作を制御するプログラムであり、Ｂｏｏｔ時等に一度だけダウンロードしておけば、後はダウンロードの必要はない。なお、Ｂｏｏｔ処理の設計変更がない場合は、このメイン制御プログラムの内容をＤＳＰ自体に焼き付けておいてもよい。
【００５４】
次に、ＤＳＰ３０に対する要求が処理要求であった場合には、図２の右側の流れが選択される。この場合、上流処理１１および下流処理１２などのプロセッサシステム１００周辺の設定がおこなわれるとともに、データ処理に必要なプログラムおよびパラメータがＤＳＰ３０のメモリ部５０にダウンロードされる。このダウンロード時には、その処理要求は、ＲＯＭ２０に格納されたプログラム名を直接指示して設定要求をおこなうため、要求によって処理にバラエティを持たせることができる。また、プロセッサシステム１００は、メイン制御プログラムがダウンロード済であるため、処理要求があった場合にのみ、その都度必要な変動部分のプログラムのみをダウンロードすればよいこととなる。
【００５５】
図３は、プロセッサシステムのシーケンス例を示した説明図である。最初に立ち上げ時（電源の投入時やリセット終了時）の設定として、外部よりＣＰＵ１０への立ち上げ要求が通知される。ＣＰＵ１０は立ち上げ要求を受けて、ＤＳＰ３０を含めて、必要な全ての通知先（接続先）へＢｏｏｔ処理をおこなう。このとき、ＤＳＰ３０は、メモリ部５０のＤＳＰコントロール領域の初期化をおこない、ＲＯＭ２０からメイン制御プログラムを入力し、メモリ部５０のプログラム領域へ格納する。
【００５６】
その後、ＣＰＵ１０がプロセッサシステム１００の外部から処理要求１を受けると、ＣＰＵ１０は、処理要求１に合致したプログラム（処理プログラム）をＲＯＭ２０を参照して、メモリ部５０内のプログラム領域（メイン制御プログラム以外の領域）に動作プログラムとしてダウンロードをおこなう。ダウンロード完了後、ＤＳＰ３０は入力信号待機状態となり、設定完了の返答をＣＰＵ１０へ返す。ＣＰＵ１０は上流処理に処理要求開始の準備ＯＫを通知する。上流処理１１は、ＤＳＰ３０へ処理信号（ＤＳＰで処理すべきデータ）を随時出力し、ＤＳＰ３０は、受け取った信号を処理して下流処理１２へ送る。
【００５７】
図示した例では、処理要求１の処理後に、プロセッサシステム１００の外部から処理要求２が通知される。ＣＰＵ１０は、処理要求２に合致したプログラムをＲＯＭ２０内を参照し、メイン制御プログラム以外の領域に動作プログラムとしてダウンロードをおこなう。以降、ＤＳＰ３０より設定完了をＣＰＵ１０へ返し、ＣＰＵ１０は処理開始の準備ＯＫを上流処理１１に通知し、上流処理１１から処理信号が入力されてＤＳＰ３０で処理がおこなわれる。
【００５８】
ここで説明した例では、処理要求１と処理要求２で、それぞれプログラムがダウンロードされるが、メイン制御プログラム部分は最初に投入されて変化しないため、処理プログラム部分だけが選択されてダウンロードされることになる。従って、プロセッサシステム１００全体を通してみると、処理が短時間におこなわれるという効果を奏するとともに、処理の種類を豊富にすることができるという効果も奏する。特に、ＣＰＵ１０に接続されるＲＯＭ１０を変更するだけで、処理内容の種類を増やしたり、プログラムバグを修正可能になるとともに、プロセッサシステム１００の適用範囲を広げることができるという効果を奏する。
【００５９】
実施の形態２．
次に、実施の形態２のプロセッサ処理方法について説明する。なお、実施の形態２では、特に断らない限り、実施の形態１と同様の構成部分については、同一の符号を付し、その説明を省略するものとする。
【００６０】
図４は、実施の形態２のプロセッサ処理方法を適用するプロセッサシステムの構成の一例を示した概念図である。Ｈｏｓｔ−ＣＰＵ１０（以下ＣＰＵ１０）は、データ処理に際して、上流処理Ａ１１１、上流処理Ｂ１１２、下流処理Ａ１２１、下流処理Ｂ１２２に対して必要な設定を行ない、また、ＤＳＰ３１に対しては、プロセッサシステム１０１の外部からの処理要求に応じて必要なプログラムのダウンロード制御をおこなう。
【００６１】
上流処理Ａ１１１および上流処理Ｂ１１２は、ＣＰＵ１０から設定を受け取り、処理要求があったときには、必要な動作をおこなってＤＳＰ３１へ信号（ＤＳＰ３１で処理すべきデータ）を出力する。下流処理Ａ１２１および下流処理Ｂ１２２は、ＣＰＵ１０より設定を受け取り、ＤＳＰ３１から出力された処理済みの信号を入力し必要な動作をおこなう。
【００６２】
ＤＳＰ３１は、ＣＰＵ１０の制御に従ってダウンロード（転送）された必要なプログラムおよびパラメータを入力し、上流処理Ａ１１１および／または上流処理Ｂ１１２から信号を受け取って、ダウンロードされたプログラムにそって信号処理を行ない、下流処理Ａ１２１および／または下流処理Ｂ１２２へ処理された信号を出力する。
【００６３】
図５は、実施の形態２のプロセッサ処理方法を適用するプロセッサシステムの一例を示したシステム構成図である。プロセッサシステム１０１は、ＣＰＵ１０とＤＳＰ３１を有する。ＣＰＵ１０は、内部に制御プログラムを格納したＲＯＭ２０を持ち、このＲＯＭ２０内にＤＳＰ３１にダウンロードするプログラムを格納している。ＤＳＰ３１は、信号処理の入力として２系統、出力として２系統のＩ／Ｆを持つプロセッサ構成であり、これら入力および出力は非同期で任意にデータを入力または出力可能な構成となっている。
【００６４】
図６は、ＤＳＰの処理に必要なプログラムのダウンロードの流れを説明する説明図である。まず、要求がＢｏｏｔ、すなわち、電源投入時やリセット動作後のダウンロード要求であった場合、ＣＰＵ１０はＤＳＰ３１のメモリ部５０のコントロール領域を初期化する制御をおこない、次に、メモリ部５０のプログラム領域に、メイン制御プログラムをダウンロードする。
【００６５】
メイン制御プログラムは、ＤＳＰ３０の核の動作となるプログラムであり、後述の処理要求内容などによらず固定部分である。すなわち、メイン制御プログラムは、ＤＳＰ３１に普遍の動作を制御するプログラムであり、Ｂｏｏｔ時などに一度だけダウンロードしておけば、後はダウンロードの必要はない。なお、Ｂｏｏｔ処理の設計変更がない場合は、このメイン制御プログラムの内容をＤＳＰ自体に焼き付けておいてもよい。
【００６６】
次に、ＤＳＰ３１に対する要求が、処理要求Ａであった場合には、図６の右側に示した流れが選択される。この場合、上流処理１１および下流処理１２などの周辺の設定とともに、データ処理に必要なプログラムおよびパラメータがＤＳＰ３１のメモリ部５０にダウンロードされる。ダウンロード時には、ＲＯＭ２０に格納された処理要求Ａに対するプログラム名が指定され、メモリ部５０のプログラム領域中のＪｏｂ−Ａプログラム領域として指定されたエリアにダウンロードがなされる。
【００６７】
一方、ＤＳＰ３１に対する要求が、処理要求Ｂであった場合にも、処理要求Ａと同様の動作をするが、プログラムの投入先として、ＤＳＰ３０のメモリ部５０のプログラム領域のＪｏｂ−Ｂ領域として指定されたエリアにダウンロードがおこなわれる。図７は、処理要求Ａおよび処理要求Ｂに対するプログラムのＤＳＰ３０のメモリ部５０への配置例を示した説明図である。
【００６８】
図８は、実施の形態２のメイン制御プログラムの動作概念を説明した図である。これは、プログラム領域にダウンロードされた２つの信号処理プログラム、および、ＣＰＵ１０の割り込みに対する処理の関係を時系列的に表したものである。たとえばＤＳＰ３１がＳＩＭＤタイプである場合、プロセッサ部４１が持つ外部との信号Ｉ／Ｏ（入力／出力）速度に比べ、内部信号処理速度がはるかに速くプロセッサ部４１内部での処理時間数を稼ぐ。従って、結果的に複数のＪｏｂを時系列的に動かすことで複数の外部からの入力または出力に対して並列処理が可能となる。
【００６９】
図９は、プロセッサシステム１０１のシーケンス例を示した説明図である。立ち上げ時（電源の投入時やリセット終了時）の設定として、外部よりＣＰＵ１０へ立ち上げ要求が通知される。ＣＰＵ１０は立ち上げ要求を受けて、ＤＳＰ３１を含めて、必要な全ての通知先（接続先）へＢｏｏｔ処理をおこなう。このとき、ＤＳＰ３１は、メモリ部５０のコントロール領域の初期化をおこない、ＲＯＭ２０からメイン制御プログラムを入力し、メモリ部５０のプログラム領域へ格納する。
【００７０】
その後、ＣＰＵ１０がプロセッサシステム１０１の外部から処理要求Ａ−１を受けると、ＣＰＵ１０は、処理要求Ａ−１に合致したプログラムをＣＰＵ１０のＲＯＭ２０を参照して、ＤＳＰ３１のメモリ部５０内のプログラム領域のＪｏｂ−Ａプログラム領域に動作プログラムとしてダウンロードをおこなう。ダウンロード完了後、ＤＳＰ３１は入力信号待機状態となり、設定完了の返答をＣＰＵ１０へ返す。ＣＰＵ１０は上流処理Ａ１１１に処理要求Ａ−１の開始の準備ＯＫを通知する。上流処理Ａ１１１は、ＤＳＰ３１へ処理信号（ＤＳＰで処理すべきデータ）を随時出力し、ＤＳＰ３１は、受け取った信号を処理して下流処理Ａ１２１へ送る。
【００７１】
図示した例では、処理要求Ａ−１に対する全ての処理が終った後、外部から処理要求Ｂ−１が通知される。処理要求Ｂ−１が通知されると、ＣＰＵ１０は、処理要求Ｂ−１に合致したプログラムをＣＰＵ１０のＲＯＭ２０を参照して、ＤＳＰ３１のメモリ部５０内のＪｏｂ−Ｂプログラム領域に動作プログラムとしてダウンロードをおこなう。以降は、処理要求Ａ−１に対して説明したように、ＤＳＰ３１より設定完了をＣＰＵ１０へ返し、ＣＰＵ１０は処理開始の準備ＯＫを上流処理Ｂ１１２に通知して、上流処理Ｂ１１２から処理信号が入力されてＤＳＰ３０で処理がおこなわれる。
【００７２】
すなわち、Ｊｏｂ−ＡとＪｏｂ−Ｂはメモリ部５０への格納先も異なり、実際の処理タイミングも非同期であるため、Ａ／Ｂ系統の信号処理および入力、出力を非同期でおこなうことが可能となる。図１０は、プロセッサシステム１０１が非同期の信号処理をする場合のシーケンス例を示した説明図である。
【００７３】
図では、処理要求Ａ−１の信号処理中に処理要求Ｂ−１が通知されたときのシーケンスを表している。この場合、処理要求Ａ−１は既に図８に示したコマンドＩ／Ｆ使用を終えて、信号処理へ移っているため、処理要求Ｂ−１の指示に従ってＤＳＰ３１へＪｏｂ−Ｂプログラムを投入することが可能となり、かつ、その後、信号処理Ａおよび、信号処理Ｂについてもタイムシェアリングによる並行処理を実現する。
【００７４】
ここで説明した例では、処理要求Ａと処理要求Ｂで、それぞれプログラムがダウンロードされるが、ＤＳＰ３１が複数系統の入出力Ｉ／Ｆを持ち、また、メイン制御プログラムに従って、処理要求Ａと処理要求Ｂをそれぞれ独立に処理可能であるので、ＤＳＰ３１により複数種類の処理を並行しておこなわせることができるという効果を奏する。
【００７５】
実施の形態３．
次に、実施の形態３のプロセッサ処理方法について説明する。なお、実施の形態３では、特に断らない限り、実施の形態１もしくは実施の形態２と同様の構成部分については、同一の符号を付し、その説明を省略するものとする。
【００７６】
図１１は、実施の形態３のプロセッサ処理方法を適用するプロセッサシステムの構成の一例を示した概念図である。図は、抽象的な処理要求からプログラム部品を選択する場合のＤＳＰ３２とＣＰＵ１０の構成例を示している。実施の形態３では、Ｈｏｓｔ−ＣＰＵ１０内部のＲＯＭ２１に格納されたプログラムは、処理要求単位ではなく、更に細かい処理毎の部品の集まりとして管理されている。すなわち、実施の形態３では、処理要求と動作プログラムが１対１でなく、処理要求を充足させるために、いくつかのプログラムを組み合わせて処理を実現する。
【００７７】
図１２は、処理要求を充足させるのに必要なプログラムの組を決定する方法の一例を示した説明図である。まず、処理要求が通知された場合、ＣＰＵ１０は、処理要求プログラム変換手段にて、処理変換テーブルを参照して、抽象的な要求である処理要求からＤＳＰ４１にダウンロードすべきプログラムの組み合せとパラメータとを決定する。
【００７８】
そして、決定したプログラムの組の情報をダウンロード手段に伝えて、ＤＳＰ３２のメモリ部５０内の対応したＪｏｂのプログラムエリアにそのプログラムとパラメータとをダウンロードする。図１３は、処理変換テーブルの一例を示した説明図である。図示したテーブルにおいて、Ｊｏｂの種類とは、処理要求として入力される大きな処理概念を示す。Ｊｏｂの種類としては、たとえば、ＤＳＰ３２が音声処理ＩＣである場合には、（１）音が篭っているのでクリアに、（２）低音と高音を協調して、等の機能的要求が挙げられる。また、ＤＳＰ３２が、画像処理ＩＣの場合には、（１）絵柄部分を綺麗に、（２）鉛筆文字を濃く、（３）線を細く綺麗に、等の機能的要求が挙げられる。
【００７９】
図１３のテーブル中、要求の種類は、Ｊｏｂの種類という大きな要求カテゴリーを細分化したプログラムの組み合せに記したインデックスを表す。たとえば、ディザ処理、γ処理、平滑化フィルタを用いた処理など、様々なプログラムの組を採用することができる。実際、プロセッサシステム１０２を応用した機器を使用するユーザーは、内部の処理一つ一つの組み合せを意識することなく、抽象的な要求をすることがほとんどであり、この手法により抽象的な要求を具体的なプログラムの組み合せとして管理することが可能となる。
【００８０】
ここで説明した例では、処理変換テーブルにより、処理要求を充足させるプログラムが何れであるか判断しなくてすみ、ＣＰＵ１０の負荷が低減されるとともに、複雑なプログラムの組み合せが必要であっても、ＤＳＰ３２に高速に転送することができるという効果を奏する。なお、処理変換テーブルをＲＯＭ２１に格納させておくことで、設計変更の可能性のある要素をすべて盛り込むことができ、プロセッサシステム１０２の設計が容易になるという効果を奏する。
【００８１】
実施の形態４．
次に、実施の形態４のプロセッサ処理方法について説明する。なお、実施の形態４では、実施の形態１〜実施の形態３までと同様の構成部分については、同一の符号を付し、その説明を省略するものとする。
【００８２】
なお、以降の実施の形態では、初期動作と各処理要求の固定／変動部分を切り分けて処理要求毎のダウンロード量を減らし、並行動作と複数種類の処理要求レベルに対応し、かつ、ＤＳＰ自体が持つメモリ領域の使用の最適化や、ダウンロード時間の短縮などを図ることのできるプロセッサ処理方法を説明するものである。
【００８３】
図１４は、実施の形態４のプロセッサ処理方法を適用するプロセッサシステムの構成の一例を示した概念図である。プロセッサシステム１０３は、ＣＰＵ１０と、ＣＰＵ１０に接続するＲＯＭ２２と、プログラムを格納するメモリ部５０およびプログラムに従ってデータを処理するプロセッサ部４０を有するＤＳＰ３０と、を備える。
【００８４】
ＲＯＭ２２は、複数のプログラムとプログラムの処理に必要なパラメータとを格納する。たとえば、ＲＯＭ２２は、ＤＳＰ３０に対するダウンロード制御プログラムや、ＤＳＰ３０にダウンロードするプログラムを複数種類格納している。このプログラムは、図１３に示したように、たとえば、ダイナミックリンクライブラリのように、小さなプログラムであって、複数のプログラムが組み合わさって処理要求を充足させるようなプログラムである。図では、その類別を表すものとしてアルファベットａ、ｂ、ｃで区別している。
【００８５】
ＣＰＵ１０がＤＳＰ３０に対するダウンロード制御をおこなうのは、電源投入時のＢｏｏｔ処理時や、リセット命令終了後がある。但しプロセッサシステム１０３は、任意に処理要求を受けつけることもできる構成としている。
【００８６】
ＤＳＰ３０は実際の信号入力／信号処理／信号出力をおこなうプロセッサ部４０と、プロセッサの動作を決定するプログラムを内蔵するためのメモリ部５０より構成され、メモリ部５０にダウンロードされたプログラムに従って、処理をおこなっていく。ここでメモリ部５０は図に示したＤＳＰ３０自体が使用するコントロール領域と、Ｈｏｓｔ−ＣＰＵ１０より送られるプログラムを格納するプログラム領域からなる。
【００８７】
次に、ＣＰＵ１０からメモリ部５０へのプログラムのダウンロードの流れについて説明する。図１５は、ＤＳＰの処理に必要なプログラムのダウンロードの流れを説明する説明図である。まず、要求がＢｏｏｔ、すなわち、電源投入時やリセット動作後のダウンロード要求であった場合、ＣＰＵ１０はＤＳＰ３０のメモリ部５０のコントロール領域を初期化し、また、メモリ部５０のプログラム領域に、メイン制御プログラムをダウンロードする。
【００８８】
このメイン制御プログラムは、ＤＳＰ３０の核の動作となるプログラムで後述の処理要求内容などによらず固定部分であり普遍の動作のため、Ｂｏｏｔ時やリセット命令終了後に一度だけダウンロードしておけば、後はダウンロードの必要はない。
【００８９】
次に、プロセッサシステム１０３に対する要求が処理要求であった場合には、図１５の右側の流れが選択される。この場合、上流処理および下流処理などの周辺の設定とともに、データ処理に必要なプログラムおよびパラメータがＤＳＰ３０のメモリ部５０にダウンロードされる。ここで、要求設定がおこなわれる場合、図１６に示したように、ＣＰＵ１０は、処理要求を自身のＲＯＭ２２に格納されているプログラム単位に分解し、どのプログラムの組み合せでダウンロードするかを決定する。
【００９０】
そして、プロセッサシステム１０３は、このプログラムをダウンロードする先として、メモリ部５０のプログラム領域のうち空いているところ、すなわち、メイン制御プログラム以降のアドレスに、順序良く詰めていくように投入する。
【００９１】
図１７は、プロセッサシステム１０３のシーケンス例を示した説明図である。立ち上げ時の設定として、電源の投入時、または、リセット終了時に、プロセッサシステム１０３の外部よりＣＰＵ１０へ立ち上げ要求が通知される。ＣＰＵ１０は立ち上げ要求を受けて、ＤＳＰ３０を含めて、必要な全ての通知先（接続先）へＢｏｏｔ処理をおこなう。このとき、ＤＳＰ３０は、メモリ部５０のコントロール領域の初期化をおこない、ＲＯＭ２２に格納されたメイン制御プログラムをメモリ部５０のプログラム領域へダウンロードする。
【００９２】
その後、ＣＰＵ１０がプロセッサシステム１０３の外部から処理要求１を受けると、ＣＰＵ１０は、処理要求１に合致したプログラムをＣＰＵ１０のＲＯＭ２２を参照して、ＤＳＰ３０のメモリ部５０内のプログラム領域のメイン制御プログラム以外の領域に動作プログラムとしてダウンロードをおこなう。このとき、図１６に示したように、処理要求に対応した複数のプログラムを組としてダウンロードする。ダウンロード完了後、ＤＳＰ３０は入力信号待機状態となり、設定完了の返答をＣＰＵ１０へ返す。ＣＰＵ１０は処理開始の準備ＯＫを通知する。
【００９３】
上流処理１１は、ＤＳＰ３０へ処理信号を随時送り、ＤＳＰ３０は受け取った信号を処理して下流処理１２へ送る。そして全ての処理が終り、外部から処理要求２が通知されると、ＣＰＵ１０は再び処理要求２に合致したプログラムをＣＰＵ１０のＲＯＭ２２を参照して、ＤＳＰ３０のメモリ部５０内のプログラム領域のメイン制御プログラム以外の領域に動作プログラムとしてダウンロードをおこなう。
【００９４】
以降、ＤＳＰ３０より設定完了をＣＰＵ１０へ返し、ＣＰＵ１０は開始の準備ＯＫを上流処理１１に通知して、上流処理１１から処理信号が入力されてＤＳＰ３０で処理がおこなわれる。この際、異なる処理要求１と２のダウンロードについては、メイン制御部分は最初に投入されて変化しないため、差分である処理プログラム部分だけが選択されてダウンロードされることになる。
【００９５】
実施の形態５．
次に、実施の形態５のプロセッサ処理方法について説明する。なお、実施の形態５では、実施の形態１〜実施の形態４までと同様の構成部分については、同一の符号を付し、その説明を省略するものとする。
【００９６】
図１８は、実施の形態５のプロセッサ処理方法を適用するプロセッサシステムの構成の一例を示した概念図である。プロセッサシステム１０４は、ＣＰＵ１０と、ＣＰＵ１０に接続するＲＯＭ２３およびＲＡＭ２２と、プログラムを格納するメモリ部５０およびプログラムに従ってデータを処理するプロセッサ部４０を有するＤＳＰ３０と、を備える。
【００９７】
図１８に示した例は、図１４に示したＤＳＰへの設定後に、新たに処理要求が生じた場合のメモリ部５０の内容の変化を示している。具体的には、図１７で示した処理要求１の設定が完了した後の時点から、次の処理要求の設定等をおこなう場合を示している。なお、説明の便宜上、処理要求１についてのプログラムダウンロードが終了した時点のメモリ部５０の内容を５０Ａと表記し、次の処理要求２についてのプログラムダウンロードが終了した時点のメモリ部５０の内容を５０Ｂと表記する。
【００９８】
まず、処理要求１に関するプログラムダウンロードに関して、ＤＳＰ３０は、設定完了をＣＰＵ１０へ通知する。つづいて、ＣＰＵ１０は処理開始の準備ＯＫを上流処理１１に通知し、上流処理１１は処理信号を入力し、ＤＳＰ３０では処理要求１に対する設定に基づき処理がおこなわれる。
【００９９】
このケースでは、ＣＰＵ１０内部のダウンロード制御プログラムによって、プログラム領域の特定の場所にどのプログラムをどういう順番でおこなうか、プログラムの位置を特定する。たとえば、アドレス情報やプログラム名等の情報をメモリ部５０のプログラム領域中の「Ｊｕｍｐ先指定」領域に書き込み、メイン制御プログラムがプログラム領域に存在する複数のプログラムの何れを、どのような順序で処理するかを示すようにしてある。
【０１００】
ここで、動作１の処理が終了した後も、ＣＰＵ１０は、自身の内部に持つＲＡＭ２２に処理要求１に関するプログラムのダウンロード状況を保持しており、次の処理要求２が要求された時点で、過去、すなわち処理要求１との差分を比較する。たとえば、処理要求２が図１６に示した要求２のプログラムの組み合せであった場合には、過去に既にダウンロードされているプログラムであるｂ１とｃ１については再利用し、今までダウンロードされていなかったａ２とｄ２についてのみダウンロードをおこなう。
【０１０１】
このとき、ＣＰＵ１０は、Ｊｕｍｐ先指定の領域に、
ａ２→ｂ１→ｃ１→ｄ２
と処理順序についての制御情報を送信し、過去のダウンロードプログラムを差分管理して、メモリ部５０の有効利用する。
【０１０２】
なお、このような差分プログラムをメモリ部５０のアドレス順に順次書き込んでゆくと、いつしかプログラム領域が埋まってしまい、空きのプログラム領域がなくなる可能性がある。そこで、空きのプログラム領域が不足した場合のダウンロードについて説明する。図１９は、処理要求２の次に図１６に示した処理要求３のプログラムの組を格納する様子を示した説明図である。なお、説明の便宜上、処理要求３についてのプログラムダウンロードが終了した時点のメモリ部５０の内容を５０Ｃと表記する。
【０１０３】
処理要求３の内容は、
ａ３→ｂ３→ｃ２→ｄ３
であるので、ＣＰＵ１０は、先ほど説明したのと同様に、メモリ部５０の空き領域を見つけて差分のプログラムを書き込んでいく。このとき、ａ３，ｂ３，ｃ２と書き込んだ時点でメモリ領域が埋まってしまう。そこで、ＣＰＵ１０は、過去にダウンロードしたが、処理要求３では不要であるプログラムの領域上に、要求されるプログラム、このケースだとｄ３を上書きダウンロードする。ＣＰＵ１０は、また、Ｊｕｍｐ先指定の領域に、処理要求３についてのプログラム順序を指示して設定を完了する。
【０１０４】
ここで説明した例では、差分のプログラムをダウンロードして、所定の処理要求を満たすプログラムの組を構成するので、ダウンロード時間を短縮することができるという効果を奏する。また、ＣＰＵがプログラムの処理順序をメモリ部に伝達するので、処理の混乱が発生しないという効果を奏する。
【０１０５】
実施の形態６．
次に、実施の形態６のプロセッサ処理方法について説明する。なお、実施の形態６では、実施の形態１〜実施の形態５までと同様の構成部分については、同一の符号を付し、その説明を省略するものとする。
【０１０６】
図２０は、実施の形態６のメモリ部５０のプログラムダウンロードの様子を説明する説明図である。ここでは、図１６に示した処理要求１から処理要求２、処理要求３と、順次処理要求がなされた場合のプログラムダウンロードの流れを説明する。処理要求１の設定が完了した後の時点からの説明をすると、ＤＳＰ３０は設定完了をＣＰＵ１０へ返し、ＣＰＵ１０は処理開始の準備ＯＫを上流処理１１に通知し、上流処理１１は信号（データ）をＤＳＰ３０へ送信し、ＤＳＰはメモリ部５０に格納されたプログラムに基づきプロセッサ部４０でデータを処理する。
【０１０７】
このケースでは、ＣＰＵ１０内部のダウンロード制御プログラムによって、プログラム領域の特定の場所にどのプログラムをどういう順番でおこなうか、プログラムの位置を特定する。たとえば、アドレス情報やプログラム名等の情報領域を「Ｊｕｍｐ先指定」領域に書き込むことで、メイン制御プログラムがプログラム領域に存在する複数のプログラムの何れを、どの順序で処理するかを示すようにしてある。
【０１０８】
ここで、動作１の処理が終了した後もＣＰＵ１０は自身の内部に持つＲＡＭ２４に、処理要求１でのプログラムのダウンロード状況を保持しており、次の処理要求２が要求された時点で、過去、すなわち処理要求１との差分を比較する。たとえば、処理要求２が図１６に示した要求２のプログラムの組み合せであった場合には、過去に既にダウンロードされているプログラムであるｂ１とｃ１については再利用し、今までダウンロードされていなかったａ２とｄ２についてのみダウンロードをおこなう。
【０１０９】
このとき、ＣＰＵ１０は、Ｊｕｍｐ先指定のところに、
ａ２→ｂ１→ｃ１→ｄ２
と処理順序を示すことで過去のダウンロードプログラムを差分管理して有効利用することが可能となる。
【０１１０】
更に、この動作２の設定が終了した時点で、メイン制御プログラムは処理要求１でのみ使用されたプログラム、すなわち過去のリソースを消去する。同様に、処理要求２の後に処理要求３が要請された場合には、処理要求２と処理要求３では一致するプログラムが存在しないため（図１６参照）、図２１の右端に示したようなプログラム配置となる。すなわち、新しい処理要求があった場合に差分を比較するダウンロードプログラム情報は、常に一つ前のプログラムの組に関する情報のみとなる。
【０１１１】
ここで説明した方法では、ＣＰＵ１０が内部に保持しておく過去のリソース、すなわち、ダウンロードプログラムの履歴情報の量が、プログラムの組を構成する最大のプログラム数を超えることがないようにすることができる。従って、個々の処理要求から落とし込まれるプログラムの内容がさほど変化しないケースにおいては（換言すると同様な処理要求である場合には）、ダウンロードの量を減らしつつも、管理する過去リソースの情報量を抑制することが可能となる。
【０１１２】
従って、メモリ部の容量を小さくすることができ、ひいては処理回路の単純化、ＤＳＰ回路の高速化を図ることができるという効果を奏する。また、たとえば、本プロセッサシステムを画像処理装置に適用した場合を考えると、コピー処理は、同種の設定が選択される可能性が非常に高いので、特に、処理時間の短縮を図ることができるという効果を奏する。
【０１１３】
実施の形態７．
次に、実施の形態７のプロセッサ処理方法について説明する。なお、実施の形態７では、実施の形態１〜実施の形態６までと同様の構成部分については同一の符号を付し、その説明を省略するものとする。
【０１１４】
実施の形態７のプロセッサシステムの構成は実施の形態２と同様な構成とする。図２１は、図９に示したシーケンスを例にメモリ部の状態を説明する説明図である。このシーケンス例では、処理要求Ａ−１とＢ−１の処理要求の設定および信号処理のタイミングが重ならない。まず、処理要求Ａ−１の動作中は図１３に示されているプログラム群に従って処理がなされ、このとき、プログラム順序に関してはＪｕｍｐ先Ａ指定が示される。
【０１１５】
処理要求Ａ−１が終了するとメモリは解放され、その後、処理要求Ｂ−１に対応するプログラムが投入される。メイン制御プログラムは図８に示した順序で動作を割り当てているので、ＪｏｂＡのときにはＪｕｍｐ先Ａ指定を、Ｊｏｂ−ＢのときにはＪｕｍｐ先Ｂ指定を参照しにいく。
【０１１６】
図２２は、図１０に示したシーケンスを例にメモリ部の状態を説明する説明図である。このシーケンス例では、Ａ−１が動作中に処理要求Ｂ−１が要求されるため、メイン制御プログラムはＡ−１について使用されている領域以外で空いているメモリ領域を見つけて、図１３に示されている処理要求Ｂ−１に対応するプログラム群をダウンロードする。また、Ｊｕｍｐ先Ｂ指定が設定され、処理要求Ｂ−１についての設定を終了し、ＤＳＰ３０は処理を並列しておこなうことが可能となる。
【０１１７】
Ｂ−１動作が終了すると、Ｂ−１で使用されていたメモリ領域を解放するため、まだ、動作している処理要求Ａ−１についてのプログラム領域だけが残ることとなる。このプロセッサ処理方法を、続く第２や第３の処理要求に適用していくことで、過去のリソースとの差分でダウンロードの可否を判断することが可能となる。
【０１１８】
実施の形態８．
次に、実施の形態８のプロセッサ処理方法について説明する。ここでは、ＣＰＵ内のホストプログラムの動きについて説明し、特に（１）「ソフトウェア構成」、（２）「再利用の流れ」、（３）「新規取得」（メモリ部空き領域へのプログラムのダウンロード）、（４）「上書き取得」（メモリ部へのプログラムの上書きダウンロード）について、図面を参照しながら説明する。
【０１１９】
（１）ソフトウェア構成について：
図２３は、実施の形態８のプログラムシステムのソフトウェア構成を説明する説明図である。図２４は、図２３に示したソフトウェア構成の大まかなシーケンスを示した説明図である。
【０１２０】
処理要求２３１は、まず制御管理２３２に送られる。制御管理２３２は、各プログラム部品（プログラムの組を構成するプログラム）の他のソフトウェアの処理手順や作業を指示する。たとえば、制御管理２３２は、処理要求２３１から命令を受け取ると、まず、動作→プログラム変換手段２３３に、処理要求に関する変換を依頼する。動作→プログラム変換手段２３３は、処理要求２３１の内容を解釈して、使用するプログラム内容を処理変換テーブル２３４に問い合わせる。
【０１２１】
処理変換テーブル２３４は、動作→プログラム変換手段２３３から命令を受け取ると、プログラム内容（使用するプログラムの組）を返す。動作→プログラム変換手段２３３から制御管理２３２が回答を受け取ると、次に制御管理はリソース生成／設定手段２３５にリソースの生成依頼をする。リソース生成／設定手段２３５はリソース（ダウンロードするプログラムおよびそれに関連する情報や制御情報）を生成する（説明の都合上生成されたリソースをＸとする）。
【０１２２】
制御管理２３２は、生成されたリソースＸの情報をリソース取得手段２３６に伝達し、リソース取得要求をおこなう。リソース取得手段２３６は、自身が持つ過去リソース群と比較して、リソースＸの取得が可能かどうか判断し、その結果（取得結果）を制御管理２３２に返す。取得結果がＯＫならば、制御管理２３２はダウンロード手段２３７にダウンロード要求をおこなう。ダウンロード手段２３７はソースコードをＤＳＰ２３８にダウンロードする。
【０１２３】
（２）再利用の流れ：
次に、制御管理２３２がリソース取得手段２３６にリソース取得要求をおこなう際の詳細について説明する。図２５は、リソースの再利用のシーケンスの一例を説明する説明図であり、図２６は、図２５に示したシーケンスに従ってリソースが再利用される場合の概念図である。
【０１２４】
まず、リソース再利用シーケンス１（図２５）とリソース再利用イメージ１（図２６）について説明する。リソース取得手段２３６は、自身が持つ過去リソース群と、制御管理２３２から渡されたリソースＸを比較して、内容が同じものがあるかどうか調べる。リソースＸがリソース３により再利用できる場合、制御管理２３２はリソースＸを破棄して、リソース３を処理要求の対象としてダウンロード要求をおこなう。
【０１２５】
また、リソース再利用の際のリソースの破棄の仕方には、別の方法もある。図２７は、リソースの再利用のシーケンスの他の一例を説明する説明図であり、図２８は、図２７に示したシーケンスに従ってリソースが再利用される場合の概念図である。リソースＸがリソース３により再利用可能な場合、まず、制御管理２３２は、リソース取得手段２３６にリソース投入要求をおこなう（また、リソース投入要求がない場合でも、以降の動作をリソース取得要求に含めてもよい）。リソース取得手段２３６は、過去リソース群にリソースＸを投入し、また、元のリソース３を過去リソース群から削除する。
【０１２６】
（３）新規取得について：
次に、再利用が不可能であった場合のリソースの取得方法について説明する。図２９〜図３１は、リソースの新規取得について説明する説明図である。まず、制御管理２３２がリソース取得手段２３６にリソース取得要求をおこなった場合に、リソース取得手段２３６は、過去リソースが持つメモリエリア（主としてＤＳＰのメモリ部から構成されているメモリ領域をいう）の開き領域を調べる。取得しようとするリソースＸに要求されるメモリ領域以上のエリアを見つけると、取得可能を返す。
【０１２７】
制御管理２３２は、リソース取得手段２３６にリソース投入要求をおこなう（リソース投入要求がない場合でも、以下の動作をリソース取得要求に含めてもよい）リソース取得手段２３６は、過去リソース群にリソースＸを投入する。
【０１２８】
（４）上書き取得について：
次にメモリエリアの再利用と新規取得とがともにできなかった場合のリソース取得方法について説明する。図３２〜図３４は、メモリエリアの再利用と新規取得とがともにできなかった場合のリソースの取得方法について説明する説明図である。制御管理２３２がリソース取得手段２３６にリソース取得要求をおこなった場合に、リソース取得手段２３６は過去リソースを調べ、もし、過去リソースのエリアが取得可能な場合（すなわち、現在使用中でなかった場合）そのエリアを含めて開き領域を調べる。その開き領域が取得しようとするリソースＸの領域以上であれば取得する。
【０１２９】
その際、制御管理２３２は、リソース取得手段２３６にリソース投入要求をおこなう（リソース投入要求がない場合でも、以下の動作をリソース取得要求に含めてもよい）。リソース取得手段２３６は、リソースＸを過去リソース群に投入し、また、そのリソースＸ領域に範囲を持つ過去リソースを調べて消去する。
【０１３０】
なお、実施の形態８は、プロセッサシステムないしプロセッサシステムに対する処理方法をミドルウェア的にとらえたものであり、実施の形態１〜７と重複する部分がそれぞれ含まれている。
【０１３１】
実施の形態９．
これまでの実施の形態では、主としてメモリ部の使用状況を踏まえてメモリリソースの有効活用を図るプロセッサ処理方法について説明した。以降では、プロセッサ部に備わるレジスタの使用効率をも加味したリソースの有効活用を図るプロセッサ処理方法について説明する。なお、実施の形態９では、実施の形態１〜実施の形態８までと同様の構成部分については、同一の符号を付し、その説明を省略するものとする。
【０１３２】
図３５は、実施の形態９のプロセッサ処理方法を適用するプロセッサシステムの構成の一例を示した概念図である。プロセッサシステム１０５は、ＤＳＰ３０のプロセッサ部４０に備わるレジスタ６０の様子も含めたシステム構成を示した説明図である。図に示したように、レジスタ６０は、２０のレジスタから構成され、演算の方法によって演算処理途中の結果などを保管するのに用いる。このレジスタ６０は、ＣＰＵ１０のダウンロード制御プログラムにより、適宜制御される。
【０１３３】
プロセッサシステム１０５に対してシステム外部から処理要求が来た場合、ＣＰＵ１０は、前述したように、上流処理および下流処理などの周辺の設定とともに、ＤＳＰ３０へのプログラムダウンロードをおこなう（図２参照）。ダウンロードに際しては、ＣＰＵ１０のＲＯＭ２２に格納されたプログラム名を指示して設定要求がおこなわれる。ＲＯＭ２２のプログラムは、前述したようにプログラムコンポーネントが多種格納されているので、処理にバラエティを持たせることが可能となっている。また、メイン制御プログラムを先にダウンロードしているため、その都度必要な変動部分のプログラムのみを効率良くダウンロード可能となる。
【０１３４】
プロセッサシステム１０５のシーケンス例としては、たとえば既に示した図３が挙げられる。Ｂｏｏｔ処理後、ＣＰＵ１０がプロセッサシステム１０５の外部から処理要求１を受けると、ＣＰＵ１０は、処理要求１に合致したプログラムをＲＯＭ２２を参照して、メモリ部５０内のプログラム領域（メイン制御プログラム以外の領域）に動作プログラムとしてダウンロードをおこなう。また、そのプログラム内でレジスタが使用されている場合には、そのレジスタも併せて指定してダウンロードをおこなう。ダウンロード完了後、ＤＳＰ３０は入力信号待機状態となり、設定完了の返答をＣＰＵ１０へ返す。
【０１３５】
ＣＰＵ１０は上流処理１１に処理要求開始の準備ＯＫを通知する。上流処理１１はＤＳＰ３０へ処理信号（ＤＳＰで処理すべきデータ）を随時出力し、ＤＳＰ３０は、受け取った信号を処理して下流処理１２へ送る。
【０１３６】
図示した例では、処理要求１の処理後にプロセッサシステム１０５の外部から処理要求２が通知される。ＣＰＵ１０は、処理要求２に合致したプログラムをＲＯＭ２２内を参照して選択し、メイン制御プログラム以外の領域に動作プログラムとしてダウンロードをおこなう。このとき、そのプログラムでレジスタが使用される場合には、そのレジスタも併せて指定してダウンロードをおこなう。以降は、処理要求１と同様に、ＤＳＰ３０より設定完了をＣＰＵ１０へ返し、ＣＰＵ１０は処理開始の準備ＯＫを上流処理１１に通知し、上流処理１１から処理信号が入力されてＤＳＰ３０で処理がおこなわれる。
【０１３７】
この際、異なる処理要求１と２のダウンロードについては、メイン制御部分は最初に投入されて変化しないため、差分である処理プログラム部分およびレジスタだけが選択されてダウンロードされることになる。従って、プロセッサシステム１０５全体を通してみると、処理が短時間におこなわれるという効果を奏するとともに、処理の種類を豊富にすることができるという効果も奏する。
【０１３８】
ここで、画像処理の処理要求に際してダウンロードするプログラムと使用するレジスタとの関係を説明する。図３６は、ダウンロードするプログラムと使用するレジスタとの関係を示した説明図である。図３７は、図３６に示した関係をプログラムとレジスタ毎に処理の推移を示した概念図である。
【０１３９】
図示したように、Ｐｒｏｇｒａｍ−α、β、γ、λは、それぞれ右に記述されたレジスタを必要としている。ここで、画像用と示されているレジスタは、いつも処理すべき画像データの保管レジスタとして使われるため、全てのプログラム（Ｐｒｏｇｒａｍ−α、β、γ、λ）で共通に使用される。また、αとβのプログラム間では、αで生成した特徴量をレジスタに格納し、βでそれを参照することで処理を実現している。
【０１４０】
この様に、プロセッサシステム１０５はメモリリソースとレジスタリソースを考慮してプログラムおよび必要なパラメータを分配するので、メモリリソースとレジスタリソースの有効利用を図ることが可能となる。
【０１４１】
実施の形態１０．
実施の形態１０では、プロセッサ部のレジスタが、ラインメモリ、画像処理または音声処理のハードウェアに接続し、当該ラインメモリやハードウェアのデータを読み書きするプロセッサ処理方法について説明する。なお、実施の形態１０では、実施の形態１〜実施の形態９までと同様の構成部分については、同一の符号を付し、その説明を省略するものとする。
【０１４２】
図３８は、実施の形態１０のプロセッサシステムのレジスタの接続状況を示した説明図である。実施の形態１０のレジスタ６１は、単純なデータ保管だけではなく、他の機能を持ったハードウェアと結び付けられている。このような接続により、従前の実施の形態に示したより更に複雑な処理が可能となる。ここで、メモリコントローラ（Ｍｅｍｏｒｙ  Ｃｏｎｔｒｏｌ）７１に接続されたメモリＡ（Ｍｅｍｏｒｙ−Ａ）７２はラインメモリを、メモリＢ（Ｍｅｍｏｒｙ−Ｂ）７２はメモリＡ７２とは異なる画像保持量を有するラインメモリである。誤差拡散処理部７４は、誤差拡散専用の画像処理を実現するハードウェアであって、レジスタ１に接続されている。
【０１４３】
これらのレジスタの使用例を図を用いて説明する。図３９は、ダウンロードするプログラムと使用するレジスタとの関係を示した説明図である。図４０は、図３９に示した関係をプログラムとレジスタ毎に処理の推移を示した概念図である。Ｐｒｏｇｒａｍ−α、β、γ、λのレジスタには図３８に示したように、画像用に使用するレジスタ、特徴量用に使用するレジスタ、演算用に使用するレジスタ以外に、メモリコントローラ７１（メモリＡに接続するメモリコントローラであるＭＣｏｎ−Ａ、メモリＢに接続するメモリコントローラであるＭＣｏｎ−Ｂ）付きのレジスタや、誤差拡散処理部７４に接続するレジスタが使用されている。
【０１４４】
たとえば、ＭＣｏｎ−ＡやＭＣｏｎ−Ｂを介してラインメモリ（メモリＡ７２，メモリＢ７２）を使用することにより、副走査方向の画像を参照して演算をおこなうフィルタなどの機能が可能になる。また、誤差拡散の専用ハードウェア（誤差拡散処理部７４）につながるレジスタ（図３８ではＲｅｇ＿１）の存在によって、過去ラインの誤差データを保持し、尚かつ現ラインで誤差を計算しながら次の画素にその誤差結果を反映するような誤差拡散演算など、ＳＩＭＤ処理では困難であった処理にも対応可能となる。
【０１４５】
実施の形態１１．
実施の形態１１では、処理要求が２つある場合（始めの処理要求が終った後に次の処理要求をおこなう場合と、２つの処理要求を並行におこなう場合）についてのプロセッサ処理方法について説明する。なお、実施の形態１１では、実施の形態１〜実施の形態１０までと同様の構成部分については、同一の符号を付し、その説明を省略するものとする。
【０１４６】
実施の形態１１のプロセッサシステムの構成は、実施の形態２のプロセッサシステム１０１と同様であり、２つの処理要求に対する処理を並行しておこなう構成となっている。なお、ここでは、便宜的に実施の形態１１のプロセッサシステムをプロセッサシステム１０７と、レジスタをレジスタ６２と称することとする。処理要求に対するＤＳＰ３１の処理に必要なプログラムのダウンロードの流れは、図６に示したとおりである。
【０１４７】
ＤＳＰ３１に対する処理要求が処理要求Ａである場合には、図６の右側に示した流れが選択される。この場合、上流処理Ａ１１１、上流処理Ｂ１１２および下流処理Ａ１２１および下流処理Ｂ１２２などの周辺の設定とともに、データ処理に必要なプログラムおよびパラメータがＤＳＰ３１のメモリ部５０にダウンロードされる。ダウンロード先としては、ＤＳＰ３１のメモリ部５０のプログラム領域として解放された領域にダウンロードがおこなわれる。また、それぞれのプログラムで使用するレジスタ指示に従って、レジスタの取得もおこなわれる。
【０１４８】
一方、ＤＳＰ３１に対する要求が、処理要求Ｂであった場合にも、処理要求Ａと同様の動作をするが、プログラムの投入先としては、ＤＳＰ３１のメモリ部５０のプログラム領域として解放された領域を探してダウンロードがおこなわれる。また、レジスタについても同様に空き領域を探してレジスタの取得がなされる。２つの処理要求（処理要求Ａおよび処理要求Ｂ）に対するプログラムのＤＳＰ３０のメモリ部５０とレジスタ６２への配置例を図４１に示す。
【０１４９】
プロセッサシステム１０７のシーケンス例は図９に示したとおりである。ＣＰＵ１０は、プロセッサシステム１０７の外部から処理要求Ａ−１を受けると、処理要求Ａ−１に合致したプログラムとレジスタ指定をＲＯＭ２０を参照してＤＳＰ３１のメモリ部５０内のＪｏｂ−Ａプログラム領域に動作プログラムとしてダウンロードし、併せてレジスタ６２の設定もおこなう。動作要求Ｂ−１についても、同様であり、ＣＰＵ１０は処理要求Ｂ−１に合致したプログラムとレジスタ指定をＲＯＭ２０から参照して、ＤＳＰ１３のメモリ部５０内Ｊｏｂ−Ｂプログラム領域に動作プログラムとしてダウンロードし、併せてレジスタ設定もおこなう。
【０１５０】
ここで、このシーケンス１のメモリおよびレジスタ取得の状態を考える。図４２および図４３は、シーケンス例１のメモリ部５０の状態変化を示した説明図である。シーケンス例１では、処理要求Ａ−１とＢ−１の処理要求の設定および信号処理のタイミングが重ならない。従って、処理要求Ａ−１の動作中は図４２で示されているプログラム群、Ｊｕｍｐ先およびレジスタ指定がなされる（なお図４２では、レジスタ指定については図示を省略している）。
【０１５１】
処理要求Ａ−１が終了すると、プログラム領域が一旦解放され、その後、処理要求Ｂ−１に対応するプログラムが投入される。メイン制御プログラムは図８に示す順序で動作を割り当てているので、処理要求がＡのときにはＪｕｍｐ先Ａ指定を参照し、処理要求がＢのときにはＪｕｍｐ先Ｂ指定を参照しにいく。このときのレジスタの使用状況（取得状態）は図４３に示したとおりである。すなわち、処理要求Ａ−１と処理要求Ｂ−１は時間的に重ならないため、使用するレジスタの競合が起こらず、レジスタコントロールを容易におこなうことができる。
【０１５２】
上記の例では、処理要求Ａ−１と処理要求Ｂ−１は、メモリ部５０やレジスタ６２への格納先も異なり、実際の処理タイミングも非同期であるため、それぞれの信号処理および入力／出力を非同期でおこなうことが可能となる。次に、この非同期処理について述べる。すなわち、処理要求Ａ−１と処理要求Ｂ−１が非同期で入力され、ＤＳＰ３１で並列処理する場合のプロセッサ処理方法について説明する。ここでは、処理要求Ａ−１の信号処理中に処理要求Ｂ−１が通知された場合について説明する。プロセッサシステム１０７のシーケンス例（便宜的にシーケンス例２とする）は図１０に示したとおりであるので、この例を用いて説明する。
【０１５３】
図４４および図４５は、シーケンス例２のメモリ部５０の状態変化を示した説明図である。この場合、処理要求Ａ−１に対する処理が動作中に処理要求Ｂ−１が要求されるため、制御プログラムは処理要求Ａ−１に対応して使用しているプログラム領域外で空いているメモリ領域を見つけ、この処理要求Ｂ−１に対応するプログラム群をダウンロードする（図４４参照）。このとき、Ｊｕｍｐ先Ｂ指定を設定して、処理要求Ｂ−１設定を終了し、処理を続行する。処理要求Ｂ−１に対する処理動作が終了すると、Ｂ−１で使用されていたメモリ領域が解放され、まだ、動作している処理要求Ａ−１だけが残る。
【０１５４】
また、図４５に示したように、図４４の格段段階に対応して、処理要求Ｂ−１が処理要求Ａ−１に対する処理中にあった場合でも、レジスタ６２の空き領域を探して使用するので並列処理が可能となる。なお、処理要求Ｂ−１に対応して確保されたレジスタを図では太線で囲っている。
【０１５５】
この様に、プロセッサシステム１０７は、空きの領域を探してメモリリソースとレジスタリソースの有効利用を図るとともに、複数の処理要求を同時に処理することができる。換言すると、プロセッサシステム１０７は、効率的な並行処理が可能となる。
【０１５６】
実施の形態１２．
実施の形態１２では、ＣＰＵからＤＳＰへのプログラム等の転送タイミングについて説明する。なお、実施の形態１２では、実施の形態１〜実施の形態１１までと同一の符号を付してある要素であって特にその説明の無いものは、従前に説明した要素と同一であるものとしてその説明を省略する。
【０１５７】
図４６は、実施の形態１２のプロセッサシステム１０８のレジスタの接続状況を示した説明図である。ＣＰＵ１０は内部に制御プログラムを格納したＲＯＭ２０を持ち、このＲＯＭ２０内にＤＳＰ３１へのダウンロード制御プログラムや、ＤＳＰ３１へダウンロードするプログラムを複数種類格納している。ＣＰＵ１０がＤＳＰ３１へダウンロードを行なうのは、電源投入時のＢｏｏｔ処理時や、リセット命令終了後の他、任意に動作要求を受けつけておこなう。
【０１５８】
ＤＳＰ３１は、図４に示したのと同様に、信号処理の入力として２系統、出力として２系統のＩ／Ｆを持つプロセッサ構成となっている。ＤＳＰ３１は、プロセッサ部４１内にレジスタ６０と付随するメモリ部５０とからなっている。プロセッサ部４１は、演算器などを用いて実際の信号入力／信号処理／信号出力を行ない、メモリ部５０は、プロセッサ部４１の動作を決定するプログラムを内蔵する。メモリ部５０にダウンロード（転送）されたプログラムにより、ＤＳＰ３１は順次様々な処理を行なっていく。また、図示したように、レジスタ６０は複数のレジスタ６１からなり、演算の方法によって演算処理途中の結果などを保管するのに用いられる。
【０１５９】
ここで、レジスタとプログラムの関係について説明し、次に、プログラムのダウンロードのタイミングについて説明する。図４７は、ダウンロードされたプログラムとレジスタの関係を２つの処理要求を用いて説明した説明図である。このうち図４７ａは、動作要求Ａの例としてＰｒｏｇｒａｍ−α／β／γがそれぞれその下に記述されるレジスタを必要としている場合を示した図である。同様に、図４７ｂは、動作要求Ｂの例としてＰｒｏｇｒａｍ−γ／η／Φがそれぞれその下に記述されるレジスタを必要としている場合を示した図である。なお、本実施例においても、図９および図１０を用いて説明したように、２つのシーケンス例（図９、図１０と同様のシーケンス例をシーケンス１、シーケンス２とする）を考えることが出来る。
【０１６０】
図４８は、図４７で示したプログラムとレジスタとの関係を、その使用レジスタを明示した配置例により説明した説明図である。このうち、図４８ａは図４２に示したのと同様な処理要求Ａ−１動作中の配置であり、図４８ｂは図４４に示したのと同様な処理要求Ｂ−１動作中の配置である。詳細な説明は他の実施の形態で説明したので省略するが、図示したように、処理要求に応じてレジスタが一部重複して使用されているのが分かる。
【０１６１】
次に、ＤＳＰ３１のリソースの取得判断と実際のダウンロード手順について、図４９を用いて説明する。ＣＰＵ１０は、ＤＳＰ３１が稼働中のリソース取得状態を把握しており、処理要求がきた場合にＤＳＰ３１へプログラムの組や必要なパラメータのダウンロードの可否判断を行なう。すなわち、ＣＰＵ１０は、処理要求を遂行するのに必要なプログラムとデータをダウンロード可能かどうか、現在のレジスタ６０やメモリ部５０の稼働状態から判断する。
【０１６２】
処理要求Ａが動作中に、処理要求Ｂがあった場合、図４７に示したように必要なリソースはＰｒｏｇｒａｍ−λ／η／Φとそれらに付属するレジスタである。この時、ダウンロード制御プログラムは、先ずλに関して、Ｐｒｏｇｒａｍ−λとＭＣｏｎ−Ａ付きレジスタ２つ、演算用レジスタ１つ、画像用レジスタ１つの転送配置が可能かどうかを判断し、可能であればそれらリソースをダウンロードし設定を行なう。次にηに関してＰｒｏｇｒａｍ−ηとＭＣｏｎ−Ｂ付きレジスタ１つ、演算用レジスタ１つ、画像用レジスタ１つの転送配置が可能かどうか判断し、可能であればそれらリソースをダウンロードし各種設定を行なう。次に、Φに関しても同様にダウンロードし各種設定を行なう。
【０１６３】
ここで、処理要求Ａに必要なリソースは満たされたため、設定は完了する。なお、ダウンロードの可否判断で否と判断された場合には、その途中で動作要求に対して不可の判断を行ないその後の処理を中止する。このとき、必要な警告を上流処理および下流処理に出力しても良い。図５０は、以上のダウンロードのタイミングを示した説明図である。図示したように、ダウンロードは、処理要求を充足させるのに必要な個々のプログラムが決定される毎にその都度おこなわれる。これにより、プログラム投入の汎用性が向上する。なお、このとき、必要なパラメータもその都度ダウンロードする態様であってもよい。
【０１６４】
実施の形態１３．
実施の形態１３では、複数のＤＳＰを有するプロセッサシステムの構成を説明し、続いて、ＣＰＵからＤＳＰへのプログラム等の転送タイミングについて説明する。なお、実施の形態１３では、実施の形態１〜実施の形態１２までと同一の符号を付してある要素であって特にその説明の無いものは、従前に説明した要素と同一であるものとしてその説明を省略する。
【０１６５】
図５１は、実施の形態１３のプロセッサ処理方法を適用するプロセッサシステムの構成の一例を示した概念図である。プロセッサシステム１０９は、ＤＳＰ３１を複数備えたシステムである。以降では、上流処理側にあるＤＳＰをＤＳＰ３１ａ、下流処理側にあるＤＳＰをＤＳＰ３１ｂと称することとする。
【０１６６】
ＣＰＵ１０は、上流処理Ａ１１１、上流処理Ｂ１１２、下流処理Ａ１２１、下流処理Ｂ１２２に対して必要な設定を行ない、また、ＤＳＰ３１ａ及びＤＳＰ３１ｂには処理要求に応じてプログラムのダウンロードやレジスタの設定を行なう。上流処理Ａ１１１及び上流処理Ｂ１１２はＣＰＵ１０から設定を受け取り、動作要求があった時には必要な動作を行なって、ＤＳＰ３１ａへ信号ないしデータを出力する。下流処理Ａ１２１及び下流処理Ｂ１２２はＣＰＵ１０より設定を受け取り、つづいてＤＳＰ３１ｂから信号ないしデータを受け取って必要な下流動作を行なう。
【０１６７】
ＤＳＰ３１ａは、ＣＰＵ１０よりプログラムのダウンロードがなされるとともにレジスタの設定がなされ、上流処理Ａ１１１と上流処理Ｂ１１２から信号を受け取って、ダウンロードされたプログラムに従って信号処理をおこなう。ＤＳＰ３２ｂは、ＣＰＵ１０よりプログラムのダウンロードがなされるとともにレジスタの設定がなされ、ＤＳＰ３１ａで処理された信号ないしデータを受け取って、ダウンロードされたプログラムに従って信号処理を行ない、処理された信号ないしデータを下流処理Ａ１２１と下流処理Ｂ１２２いずれか一方もしくは両方へ出力する。
【０１６８】
次に、ＤＳＰ３１のリソースの取得判断と実際のダウンロード手順について、図５２を用いて説明する。ＣＰＵ１０は、ＤＳＰ３１が稼働中のリソース取得状態を把握しており、処理要求があった場合にＤＳＰ３１へプログラムの組や必要なパラメータのダウンロードの可否判断を行なう。すなわち、ＣＰＵ１０は、処理要求を遂行するのに必要なプログラムとデータをダウンロード可能かどうか、そのときのＤＳＰ３１の内部状態から判断することになる。
【０１６９】
この場合、プロセッサシステム１０９では、どちらのＤＳＰに何をダウンロードするか全て決定してからダウンロード処理を実行させる。図５３は、プログラムの転送タイミングを説明した図である。処理要求Ａが動作中に処理要求Ｂが発生した場合、必要なリソースはＰｒｏｇｒａｍ−λ／η／Φとそれらに付属するレジスタである。
【０１７０】
この時、ダウンロード制御プログラムは、先ずλに関してＰｒｏｇｒａｍ−λとＭＣｏｎ−Ａ付きレジスタ２つ、演算用レジスタ１つ、画像用レジスタ１つの転送配置が出来るかどうかを判断し、可能であれば、次にηに関してＰｒｏｇｒａｍ−ηとＭＣｏｎ−Ｂ付きレジスタ１つ、演算用レジスタ１つ、画像用レジスタ１つの転送配置が出来るかどうか判断し、更にΦに関しても同様に判定を行なう。そして、全てのリソースが取得可能な状態と判定出来た場合にはじめて、全てのプログラムとレジスタに関してダウンロード／設定を行なう。なお、もしダウンロードの可否判断で否と判断された場合には、ＤＳＰ３１へのダウンロードを一切行なうことなく処理を中止する。
【０１７１】
この様な、処理要求に係るプログラムおよび必要なパラメータの全ての転送が可能かまとめて判断するプロセッサの制御方法は、例えばプログラムのサイズが大きく、ＤＳＰ３１へのダウンロード負荷が大きく時間的に制約となる場合に有効である。また、特に、複数のＤＳＰが用いられる場合に有効である。
【０１７２】
以上の実施の形態で説明したプロセッサ処理方法については、様々な汎用性を考慮する必要がある。一方で、ＤＳＰに投入されるプログラムはそのプロセッサの形式や内容によりカスタマイズして利用される必要がある。すなわち、ＤＳＰに特異な動作などが要求される場合には、一般的によく知られた言語以外や、抽象度の低いアセンブラなどで記述する場合がある。また、そのコンパイラの内容によっては、望んだ機能を満たさないためにダウンロード時にＣＰＵの制御ソフトによってその機能を補完する場合もある。
【０１７３】
例えば、上述したようにプログラムとレジスタの投入先を自由に決定する場合、プログラム内で予め想定された指定レジスタが使用できないケースが出てくる。したがって、このような場合、ＣＰＵのＲＯＭに投入した後に、プログラムのレジスタ設定を変更する必要が生じる。これをＣＰＵのプログラムダウンロード時にコード変換部によって行なうことでダウンロードの自由度を確保できる。図５４は、このときのコード変換を概念的に示した説明図である。この処理は、プログラムをプロセッサで予め変換してＤＳＰへダウンロード（転送）する方法であるといえる。
【０１７４】
また、Ｈｏｓｔ−ＣＰＵを入れ替えて使用する状況下では、ＣＰＵメーカーによってはデータのビットの位置が異なる。したがって、ビット変換のパターンを準備しておき、上述したコード変換時に認識させることで、ＣＰＵの形式を意識することなく、ＤＳＰにダウンロードするプログラムを再利用することが可能となる。図５５は、このときのＣＰＵ対応を概念的に示した説明図である。プロセッサによる変換が、ＣＰＵに依存するコード形式に対応させてあるので、Ｈｏｓｔ−ＣＰＵのコード形式に依存しない汎用的なシステム構築が可能となる。
【０１７５】
【発明の効果】
以上説明したように、本発明のプロセッサ処理方法（請求項１）は、第１の制御手段と、第１の制御手段に接続する第１の記憶手段と、プログラムを格納するメモリ部およびプログラムに従ってデータを処理するプロセッサ部を有する第２の制御手段と、を備えるプロセッサシステムに適用するプロセッサ処理方法であって、前記第１の記憶手段が、複数のプログラムとプログラムの処理に必要なパラメータとを格納し、前記第１の制御手段が、電源投入時に第２の制御手段用の初期プログラムを第１の記憶手段から第２の制御手段のメモリ部に投入し、以降は、プロセッサシステム外部から処理要求が来る毎に当該処理要求に応じたプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部に転送し、前記第２の制御手段が、プロセッサシステム外部から処理すべきデータを入力し、メモリ部に転送されたプログラムとパラメータに基づいて当該データをプロセッサ部で処理してプロセッサシステム外部へ出力するので、第１の記憶手段を取り替えるだけで設計変更に容易に対応でき、これにより、第２の制御手段による処理のバラエティを増やすことができる。
【０１７６】
また、本発明のプロセッサ処理方法（請求項２）は、請求項１に記載のプロセッサ処理方法において、前記第１の記憶手段が、処理要求の種類に応じたプログラムを複数格納し、前記第１の制御手段が、処理要求を任意のタイミングで受け付け、それぞれの処理要求に応じたプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部に転送し、前記第２の制御手段が、前記データに対する入出力Ｉ／Ｆを複数有し、前記データを前記複数の入出力Ｉ／Ｆからそれぞれ取り込み、メモリ部に転送されたプログラムとパラメータに基づいて当該データをプロセッサ部で処理してプロセッサ外部へ前記複数の入出力Ｉ／Ｆから出力するので、処理要求を即座に受け入れることができ、これにより、第２の制御手段により複数種類の処理を並行しておこなわせることができる。
【０１７７】
また、本発明のプロセッサ処理方法（請求項３）は、請求項２に記載のプロセッサ処理方法において、処理要求と処理要求を充足させるのに必要なプログラムの組とを対応づけるテーブルを有し、前記第１の制御手段が、処理要求に従って、前記テーブルを参照することにより、第２の制御手段に転送すべきプログラムの組と必要なパラメータとを決定するので、処理要求を充足させるプログラムが何れであるか判断しなくてすみ、これにより、複雑なプログラムの組み合せが必要である場合であっても、第１の制御手段が第２の制御手段に対してプログラムの組を全体として高速に転送可能とすることができる。
【０１７８】
また、本発明のプロセッサ処理方法（請求項４）は、請求項３に記載のプロセッサ処理方法において、前記テーブルを前記第１の記憶手段に格納したので、第１の記憶手段の１チップに設計変更の可能性のある要素をすべて盛り込むことができ、これにより、第２の制御手段による処理のバラエティを簡便に増やすことができる。
【０１７９】
また、本発明のプロセッサ処理方法（請求項５）は、請求項１〜４のいずれか一つに記載のプロセッサ処理方法において、前記第１の制御手段が、第２の制御手段のメモリ部におけるメモリ使用状況を認識し、プロセッサシステム外部から処理要求が来る毎に当該処理要求に応じたプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部の空き領域を探して転送するので、メモリリソースの有効利用を図ることができる。
【０１８０】
また、本発明のプロセッサ処理方法（請求項６）は、請求項３または４に記載のプロセッサ処理方法において、前記第１の制御手段が、処理要求の履歴を保持し、プロセッサシステム外部から処理要求が来る毎に、従前の処理要求と一致するか否かを判断し、一致しない場合には、前記テーブルを参照して処理要求を充足させるのに必要な差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部に転送し、前記第２の制御手段が、最新の処理要求が従前の処理要求と一致する場合には、従前にメモリ部に転送されたプログラムとパラメータを利用してデータをプロセッサ部で処理してプロセッサシステム外部へ出力し、差分のプログラムとパラメータが転送された場合には、当該差分のプログラムとパラメータおよび従前にメモリ部に転送されていたプログラムとパラメータに基づいてデータをプロセッサ部で処理してプロセッサシステム外部へ出力するので、転送時間を短縮することができ、これにより、第２の制御手段における処理時間を短縮させることができる。
【０１８１】
また、本発明のプロセッサ処理方法（請求項７）は、請求項６に記載のプロセッサ処理方法において、前記第１の制御手段が、第２の制御手段のメモリ部におけるメモリ使用状況を認識し、差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部の空き領域を探して転送し、空き領域がなければ、処理要求の履歴を参照して、不要な領域の開放を第２の制御手段に指示し、不要な領域の開放後、差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部に転送するので、転送時間を短縮することができ、これにより、第２の制御手段における処理時間を短縮させることができる。
【０１８２】
また、本発明のプロセッサ処理方法（請求項８）は、請求項１〜４のいずれか一つに記載のプロセッサ処理方法において、前記第１の制御手段が、第２の制御手段のメモリ部におけるメモリ使用状況とプロセッサ部に備わるレジスタにおけるレジスタ使用状況とを認識し、プロセッサシステム外部から処理要求が来る毎に、第１の記憶手段から当該処理要求に応じたプログラムと必要なパラメータとを第２の制御手段のメモリ部の空き領域とプロセッサ部のレジスタの空き領域とに分配して転送するので、メモリリソースとレジスタリソースの有効利用を図ることができる。
【０１８３】
また、本発明のプロセッサ処理方法（請求項９）は、請求項３または４に記載のプロセッサ処理方法において、前記第１の制御手段が、処理要求の履歴を保持し、プロセッサシステム外部から処理要求が来る毎に、従前の処理要求と一致するか否かを判断し、一致しない場合には、前記テーブルを参照して処理要求を充足させるのに必要な差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部およびプロセッサ部のレジスタに分配して転送し、前記第２の制御手段が、最新の処理要求が従前の処理要求と一致する場合には、従前に転送されたプログラムとパラメータを利用してデータをプロセッサ部で処理してプロセッサシステム外部へ出力し、差分のプログラムとパラメータが転送された場合には、当該差分のプログラムとパラメータおよび従前に転送されていたプログラムとパラメータに基づいてデータをプロセッサ部で処理してプロセッサシステム外部へ出力するので、転送時間を短縮することができ、これにより、第２の制御手段における処理時間を短縮させることができる。
【０１８４】
また、本発明のプロセッサ処理方法（請求項１０）は、請求項９に記載のプロセッサ処理方法において、前記第１の制御手段が、第２の制御手段のメモリ部におけるメモリ使用状況とプロセッサ部に備わるレジスタにおけるレジスタ使用状況とを認識し、差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部の空き領域とプロセッサ部のレジスタの空き領域とに分配して転送し、空き領域がなければ、処理要求の履歴を参照して、不要な領域の開放を第２の制御手段に指示し、不要な領域の開放後、差分のプログラムと必要なパラメータとを第１の記憶手段から第２の制御手段のメモリ部とプロセッサ部のレジスタに転送するので、転送時間を短縮することができ、これにより、第２の制御手段における処理時間を短縮させることができる。
【０１８５】
また、本発明のプロセッサ処理方法（請求項１１）は、請求項６、７、９または１０に記載のプロセッサ処理方法において、前記第１の制御手段が、処理要求の履歴を過去１回分保持するので、ルーチンワークがなされる場合に、第２の制御手段による処理時間を短縮させることができる。
【０１８６】
また、本発明のプロセッサ処理方法（請求項１２）は、請求項８、９または１０に記載のプロセッサ処理方法において、前記プロセッサ部のレジスタが、ラインメモリ、画像処理または音声処理のハードウェアに接続し、当該ラインメモリやハードウェアのデータを読み書きするので、複雑な処理を高速かつ簡便におこなうことが可能となる。
【０１８７】
また、本発明のプロセッサ処理方法（請求項１３）は、請求項５〜１０のいずれか一つに記載のプロセッサ処理方法において、前記第１の制御手段から第２の制御手段へのプログラムおよび必要なパラメータの転送を、処理要求を充足させるのに必要な個々のプログラムが決定される毎にその都度おこなうので、プログラム投入の汎用性を高めることができ、これにより、複雑なプログラムの組み合せが必要である場合であっても、第１の制御手段が第２の制御手段に対してプログラムの組を全体として高速に転送可能とすることができる。
【０１８８】
また、本発明のプロセッサ処理方法（請求項１４）は、請求項５〜１０のいずれか一つに記載のプロセッサ処理方法において、前記第１の制御手段から第２の制御手段へのプログラムおよび必要なパラメータの転送を、処理要求を充足させるのに必要なプログラムの組が決定された後に一括しておこなうため、プログラム投入の汎用性を高めることができ、これにより、複雑なプログラムの組み合せが必要である場合であっても、第１の制御手段が第２の制御手段に対してプログラムの組を全体として高速に転送可能とすることができる。
【０１８９】
また、本発明のプロセッサシステム（請求項１５）は、第１の制御手段と第２の制御手段とから構成され、データに対して複数の処理を施して用途に応じた機能を実現するプロセッサシステムであって、前記第１の制御手段が、複数の処理のそれぞれに対応したプログラムと、プログラムで使用するパラメータとを格納する第１の記憶手段に接続し、機能実現へ向けた処理を開始させる処理要求を入力する処理要求入力手段と、前記処理要求入力手段により入力された処理要求に従って、前記第２の制御手段で処理させるべき処理の組み合せおよび必要なパラメータを決定する決定手段と、前記第１の記憶手段に格納されたプログラムとパラメータの中から、前記決定手段により決定された処理の組み合せにかかるプログラムおよびパラメータを前記第２の制御手段に転送する転送手段と、を備え、前記第２の制御手段が、前記データを入力するデータ入力手段と、前記第１の制御手段から転送されたプログラムとパラメータを格納する第２の記憶手段と、前記データ入力手段により入力されたデータに対して、前記第２の記憶手段に格納されたプログラムとパラメータに基づいて一連の処理を施し、前記用途に応じた機能を実現する処理手段と、を備えたので、第１の記憶手段を取り替えるだけで設計変更に容易に対応できるとともに第２の制御手段を用いた柔軟な処理が可能となり、これにより、第２の制御手段による処理のバラエティを増やすことができる。
【０１９０】
また、本発明のプロセッサシステム（請求項１６）は、第１の制御手段と第２の制御手段とから構成され、データに対して複数の処理を施して用途に応じた機能を実現するプロセッサシステムであって、前記第１の制御手段が、複数の処理のそれぞれに対応したプログラムと、プログラムで使用するパラメータとを格納する第１の記憶手段に接続し、機能実現へ向けた処理を開始させる処理要求を入力する処理要求入力手段と、前記処理要求入力手段により入力された処理要求に従って、前記第２の制御手段で処理させるべき処理の組み合せおよび必要なパラメータを決定する決定手段と、前記第１の記憶手段に格納されたプログラムとパラメータの中から、前記決定手段により決定された処理の組み合せにかかるプログラムおよびパラメータを前記第２の制御手段に転送する転送手段と、を備え、前記第２の制御手段が、前記データを入力するデータ入力手段と、前記第１の制御手段から転送されたプログラムとパラメータを格納する第２の記憶手段およびレジスタと、前記データ入力手段により入力されたデータに対して、前記第２の記憶手段に格納されたプログラムとパラメータに基づいて前記レジスタを介して一連の処理を施し、前記用途に応じた機能を実現する処理手段と、を備えたので、第１の記憶手段を取り替えるだけで設計変更に容易に対応できるとともに第２の制御手段を用いた柔軟な処理が可能となり、これにより、第２の制御手段による処理のバラエティを増やすことができる。
【図面の簡単な説明】
【図１】
実施の形態１のプロセッサ処理方法を適用するプロセッサシステムの構成の一例を示した概念図である。
【図２】
実施の形態１のＤＳＰの処理に必要なプログラムのダウンロードの流れを説明する説明図である。
【図３】
実施の形態１のプロセッサシステムのシーケンス例を示した説明図である。
【図４】
実施の形態２のプロセッサ処理方法を適用するプロセッサシステムの構成の一例を示した概念図である。
【図５】
実施の形態２のプロセッサ処理方法を適用するプロセッサシステムの一例を示したシステム構成図である。
【図６】
実施の形態２のＤＳＰの処理に必要なプログラムのダウンロードの流れを説明する説明図である。
【図７】
処理要求Ａおよび処理要求Ｂに対するプログラムのＤＳＰのメモリ部への配置例を示した説明図である。
【図８】
実施の形態２のメイン制御プログラムの動作概念を説明した図である。
【図９】
プロセッサシステム１０１のシーケンス例を示した説明図である。
【図１０】
プロセッサシステムが非同期の信号処理をする場合のシーケンス例を示した説明図である。
【図１１】
実施の形態３のプロセッサ処理方法を適用するプロセッサシステムの構成の一例を示した概念図である。
【図１２】
処理要求を充足させるのに必要なプログラムの組を決定する方法の一例を示した説明図である。
【図１３】
処理変換テーブルの一例を示した説明図である。
【図１４】
実施の形態４のプロセッサ処理方法を適用するプロセッサシステムの構成の一例を示した概念図である。
【図１５】
ＤＳＰの処理に必要なプログラムのダウンロードの流れを説明する説明図である。
【図１６】
ＣＰＵが、処理要求を自身のＲＯＭに格納されているプログラム単位に分解し、どのプログラムの組み合せでダウンロードするかを決定する説明図である。
【図１７】
プロセッサシステムのシーケンス例を示した説明図である。
【図１８】
実施の形態５のプロセッサ処理方法を適用するプロセッサシステムの構成の一例を示した概念図である。
【図１９】
処理要求２の次に図１６に示した処理要求３のプログラムの組を格納する様子を示した説明図である。
【図２０】
実施の形態６のメモリ部のプログラムダウンロードの様子を説明する説明図である。
【図２１】
図９に示したシーケンスを例にメモリ部の状態を説明する説明図である。
【図２２】
図１０に示したシーケンスを例にメモリ部の状態を説明する説明図である。
【図２３】
実施の形態８のプログラムシステムのソフトウェア構成を説明する説明図である。
【図２４】
図２３に示したソフトウェア構成の大まかなシーケンスを示した説明図である。
【図２５】
リソースの再利用のシーケンスの一例を説明する説明図である。
【図２６】
図２５に示したシーケンスに従ってリソースが再利用される場合の概念図である。
【図２７】
リソースの再利用のシーケンスの他の一例を説明する説明図である。
【図２８】
図２７に示したシーケンスに従ってリソースが再利用される場合の概念図である。
【図２９】
リソースの新規取得について説明する説明図である。
【図３０】
リソースの新規取得について説明する説明図である。
【図３１】
リソースの新規取得について説明する説明図である。
【図３２】
メモリエリアの再利用と新規取得とがともにできなかった場合のリソースの取得方法について説明する説明図である。
【図３３】
メモリエリアの再利用と新規取得とがともにできなかった場合のリソースの取得方法について説明する説明図である。
【図３４】
メモリエリアの再利用と新規取得とがともにできなかった場合のリソースの取得方法について説明する説明図である。
【図３５】
実施の形態９のプロセッサ処理方法を適用するプロセッサシステムの構成の一例を示した概念図である。
【図３６】
実施の形態９のプロセッサシステムにおいて、ダウンロードするプログラムと使用するレジスタとの関係を示した説明図である。
【図３７】
図３６に示した関係をプログラムとレジスタ毎に示した概念図である。
【図３８】
実施の形態１０のプロセッサシステムのレジスタの接続状況を示した説明図である。
【図３９】
実施の形態１０において、ダウンロードするプログラムと使用するレジスタとの関係を示した説明図である。
【図４０】
図３９に示した関係をプログラムとレジスタ毎に示した概念図である。
【図４１】
２つの処理要求（処理要求Ａおよび処理要求Ｂ）に対するプログラムのＤＳＰのメモリ部への配置例を示した図である。
【図４２】
実施の形態１１のプロセッサシステムにおいて、シーケンス例１のメモリ部の状態変化を示した説明図である。
【図４３】
実施の形態１１のプロセッサシステムにおいて、シーケンス例１のメモリ部の状態変化を示した説明図である。
【図４４】
実施の形態１１のプロセッサシステムにおいて、シーケンス例２のメモリ部の状態変化を示した説明図である。
【図４５】
実施の形態１１のプロセッサシステムにおいて、シーケンス例２のメモリ部の状態変化を示した説明図である。
【図４６】
実施の形態１２のプロセッサシステムのレジスタの接続状況を示した説明図である。
【図４７】
実施の形態１２のプロセッサシステムにおいて、ダウンロードされたプログラムとレジスタの関係を２つの処理要求を用いて説明した説明図である。
【図４８】
図４７で示したプログラムとレジスタとの関係を、その使用レジスタを明示した配置例により説明した説明図である。
【図４９】
実施の形態１２のプロセッサシステムにおいて、ダウンロードの手順例を示した説明図である。
【図５０】
実施の形態１２のプロセッサシステムにおいて、ダウンロードのタイミングを示した説明図である。
【図５１】
実施の形態１３のプロセッサ処理方法を適用するプロセッサシステムの構成の一例を示した概念図である。
【図５２】
実施の形態１３のプロセッサシステムにおいて、ダウンロードの手順例を示した説明図である。
【図５３】
実施の形態１３のプロセッサシステムにおいて、ダウンロードのタイミングを示した説明図である。
【図５４】
コード変換を概念的に示した説明図である。
【図５５】
ＣＰＵ対応を概念的に示した説明図である。
【図５６】
ＤＳＰシステムの構成を示す説明図である。
【図５７】
ＣＰＵとＤＳＰの構成の一例を示した説明図である。
【図５８】
ＣＰＵによる設定処理の流れを示した説明図である。
【図５９】
図５６に示したＤＳＰシステムが実際に動作するシーケンスを示した説明図である。
【符号の説明】
１００，１０１，１０２，１０３，１０４，１０５，１０６，１０７，１０８，１０９  プロセッサシステム
４０，４１ プロセッサ部
５０ メモリ部
６０，６１，６２ レジスタ
２３１ 処理要求
２３２ 制御管理
２３３ 動作→プログラム変換手段
２３４ 処理変換テーブル
２３５ リソース生成／設定手段
２３６ リソース取得手段
２３７ ダウンロード手段