(57)【要約】【課題】１つ又は複数の汎用プロセッサ側における複数の処理のからの、動的な呼び出しにより、１つ又は複数の専用信号処理プロセッサ側における対応処理を適切に実行し、またその結果を適切に呼び出し元へ返却し、且つ、処理性能の変動を出来るだけ最小とするプロセッサシステムを提供する。【解決手段】本発明のプロセッサシステムは、これに含まれる専用信号処理プロセッサ（１３０）に、その内部において実行されるプログラム中の命令及びデータの双方について、その十分な量をキャッシングする手段と、１つ又は複数の汎用プロセッサ（１１０）における複数の処理からの動的な呼び出しを、割り込み信号の発行及び共有メモリ（１５１，１６１）を用いたコマンドデータの受け渡しなどにより、１つ又は複数の専用信号処理プロセッサ（１３０）へ伝える手段と、上記専用信号処理プロセッサ（１３０）において、汎用プロセッサ（１１０）から要求を受けて、タスクのロード及び実行、又は終了を、随時動的に行う手段を備える。【選択図】図１
2007156824.tif 000002
【特許請求の範囲】
【請求項１】
実行を要求された新規処理タスクの実行用オブジェクトを、使用されていないメモリ領域へ配置する、少なくとも１つの汎用処理装置と、
前記少なくとも１つの汎用処理装置側からの要求によりタスクの動的な生成及び消滅の管理を行い、前記新規処理タスクについて、スケジューラへの登録、及び動作中の他のタスクを含めた動作スケジューリングを行い、前記メモリ領域から前記実行用オブジェクトを取得して前記新規処理タスクを実行する、少なくとも１つの専用信号処理装置と
を具備する
プロセッサシステム。
【請求項２】
請求項１に記載のプロセッサシステムにおいて、
前記命令のフォーマットは、要求する処理内容、コマンドの送信元、結果データの送付先、及び要求内容の優先度を記録するフィールドを有する
プロセッサシステム。
【請求項３】
請求項１に記載のプロセッサシステムにおいて、
前記少なくとも１つの専用信号処理装置は、前記少なくとも１つの汎用処理装置から受領した命令に応じて前記新規処理タスクを実行する
プロセッサシステム。
【請求項４】
請求項１に記載のプロセッサシステムにおいて、
前記少なくとも１つの汎用処理装置は、複数のプロセッサコアであり、
前記各プロセッサコアは、
ＣＰＵと、
プロセッサエレメントと、
キャッシュメモリと
を具備する
プロセッサシステム。
【請求項５】
請求項１に記載のプロセッサシステムにおいて、
前記少なくとも１つの汎用処理装置は、ＳＭＰ（対称型マルチプロセッサ）であり、
前記ＳＭＰは、
複数のプロセッサエレメントと、
スヌープキャッシュと
を具備する
プロセッサシステム。
【請求項６】
請求項１に記載のプロセッサシステムにおいて、
前記少なくとも１つの汎用処理装置は、単一のプロセッサコアであり、
該プロセッサコアは、
ＣＰＵと、
キャッシュメモリと
を具備する
プロセッサシステム。
【請求項７】
請求項１に記載のプロセッサシステムにおいて、
前記少なくとも１つの専用信号処理装置は、
予期せぬ処理負荷の大幅な増大が起こり得ない程度の大きさのキャッシュ領域を具備する
プロセッサシステム。
【請求項８】
請求項１に記載のプロセッサシステムにおいて、
前記メモリ領域は、プロセッサ本体の内部に存在する
プロセッサシステム。
【請求項９】
請求項１に記載のプロセッサシステムにおいて、
前記メモリ領域は、プロセッサ本体と接続された外部メモリの内部に存在する
プロセッサシステム。
【請求項１０】
（ａ）汎用プロセッサ側の各プロセスに対応する個々のタスクを専用信号処理プロセッサ側に個別にロードするステップと、
（ｂ）前記汎用プロセッサ側からコマンドを受信するステップと、
（ｃ）前記受信したコマンドが、前記汎用プロセッサ側の各プロセスのいずれかの処理開始コマンドである場合、処理開始コマンドに対応するプロセスの実行を開始するステップと、
（ｄ）前記受信したコマンドが、前記汎用プロセッサ側の各プロセスのいずれかの処理終了コマンドである場合、処理終了コマンドに対応するプロセスの実行を終了するステップと、
（ｅ）前記受信したコマンドが、前記汎用プロセッサ側の各プロセスの処理開始コマンド及び処理終了コマンドのいずれでもない場合、前記受信したコマンドに対する処理を行うステップと
を具備する
タスク制御方法。
【請求項１１】
（ａ）汎用プロセッサ側の各プロセスに対応する個々のタスクを専用信号処理プロセッサ側に個別にロードするステップと、
（ｆ）前記汎用プロセッサ側からの処理開始コマンドを受けず、前記汎用プロセッサ側からの依頼に基づき前記専用信号処理プロセッサ側で対応実行オブジェクトのダウンロードを実行した後、即座に処理動作を開始するステップと
を具備する
タスク制御方法。
【請求項１２】
汎用プロセッサ側の各ＰＥ（プロセッサエレメント）の処理プロセスの動作において、
（Ａ）ＰＥ０におけるプロセスＡより、専用信号処理プロセッサにおける処理タスクＡが呼び出され実行されるステップと、
（Ｂ）暫くしてＰＥ１におけるプロセスＢより、前記専用信号処理プロセッサにおける処理タスクＢを並行して呼び出し、前記処理タスクＡと処理が並存するステップと、
（Ｃ）前記処理タスクＡの実行を終了し、前記実行終了をＰＥ２におけるプロセスＣへ伝え、使用していたメモリ領域を開放するステップと
を具備する
タスク制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサシステムに関し、特に、携帯電話に用いられるアプリケーションプロセッサにおける信号処理を実行するためのプロセッサ構成形態、プロセッサ間通信方法、及び各プロセッサ内で動作するタスク制御方法に関する。
【背景技術】
【０００２】
近年の携帯電話等に用いられるプロセッサシステムの形態は、１つ又は複数の汎用プロセッサと、１つ又は複数の専用信号処理用プロセッサ、又は専用信号処理用ロジックハードウエア、更に他のインターフェースロジック等の各部品を１つのＬＳＩとして構成したものであり、その上で、データ圧縮、伸張、電話、音声生成、などのマルチメディア処理が実行されている。
【０００３】
上記の構成において、ＭＰＥＧ４などの信号処理を実行する際は、予期せぬ処理負荷増大を避けるため、通常、想定される全ての処理のメモリ配置を予め決めておき、汎用プロセッサからその処理全体を受け持つ専用信号処理用プロセッサ側へこれを事前にダウンロードしておき、要求があったときに実行する。このため、その実行中に、登録されていない処理タスクを、前記１つ又は複数の汎用プロセッサ側からの要求により、新たに追加し実行することは出来なかった。
【０００４】
関連する技術として、特開平７−２８７７０２号公報（特許文献１）にディジタル信号プロセッサに関するタスク管理システム及び方法が開示されている。
この従来技術は、各機能が少なくとも１つのタスクから構成される、データ処理システム内の複数のディジタル信号プロセッサによる機能の実行を管理するためのデータ処理システムに関する。
このデータ処理システムは、データ処理動作用の中央処理装置と、前記中央処理装置に接続され、通信チャネルによって互いに接続された、複数のディジタル信号プロセッサと、ディジタル信号プロセッサ・マネージャとを含む。前記ディジタル信号プロセッサ・マネージャは、第１識別手段と、第２識別手段と、第３識別手段と、選択手段と、ロード手段と、除去手段とを含む。
第１識別手段は、ディジタル信号プロセッサのために存在するプロセッサ資源を識別する。第２識別手段は、機能がディジタル信号プロセッサにロードされることの表示に応答して、前記機能の一部を構成する、ディジタル信号プロセッサにロードされるタスクを識別する。第３識別手段は、機能が除去されることの表示に応答して、前記機能の一部を構成する、ディジタル信号プロセッサ上の、ディジタル信号プロセッサから除去されるタスクを識別する。選択手段は、第１識別手段と、追加されるタスクを識別する第２識別手段とに応答して、識別されたタスクの実行をサポートするのに十分な資源を有するディジタル信号プロセッサを選択する。ロード手段は、選択手段によるディジタル信号プロセッサの選択に応答して、ディジタル信号プロセッサ上で実行中の別の機能を構成するタスクのいずれの実行にも割り込まずに、追加すべきタスクを選択されたディジタル信号プロセッサにロードする。除去手段は、除去すべきタスクを識別する第３識別手段に応答して、ディジタル信号プロセッサ上で実行中の別の機能を構成するタスクのいずれの実行にも割り込まずに、識別されたタスクをディジタル信号プロセッサから除去する。
【０００５】
特開平５−２０４８２８号公報（特許文献２）にマルチ−メディア信号プロセッサ・コンピュータ・システムが開示されている。
このマルチ−メディア信号プロセッサ・コンピュータ・システムは、ユーザ・タスク・プログラムを実行するデジタル・プロセッサを含む。前記プログラムは信号処理要求を前記システムに出力し、要求される前記ユーザ・タスクの実行を支援し、その組み合わされる信号処理リソース要求が前記システムの使用可能な信号処理リソース能力を超過しないユーザ・タスク・プログラム要求だけを請け負うように、前記デジタル・プロセッサを適応させる手段を含むことを特徴とする。
【０００６】
【特許文献１】特開平７−２８７７０２号公報
【特許文献２】特開平５−２０４８２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
背景技術にて示されるようなプロセッサシステム構成において、ＭＰＥＧ４などのメディア信号処理を、１つ又は複数の専用信号処理用プロセッサ実行するには、予期せぬ処理負荷増大を避け、一定の性能値を得るために、通常、想定される全ての処理のメモリ配置を予め決めておき、上記、汎用プロセッサからその処理全体を受け持つ専用信号処理用プロセッサ側へこれを全て事前にダウンロードしておき、要求があったときに実行する方式が取られており、その実行中に、登録されていない処理タスクを、前記１つ又は複数の汎用プロセッサ側からの要求により、新たに追加し実行することは出来なかった。また、特許文献１に開示されたプロセッサシステム構成では、同時動作するＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）  ＨＷ（ＨａｒｄＷａｒｅ）を複数搭載するのは、ロジック規模の増大、ハードウエアコストの増加、ひいては消費電力の増大といった問題がある。
【課題を解決するための手段】
【０００８】
以下に、［発明を実施するための最良の形態］で使用される番号を括弧付きで用いて、課題を解決するための手段を説明する。これらの番号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために付加されたものである。但し、それらの番号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【０００９】
実行を要求された新規処理タスクの実行用オブジェクトを、使用されていないメモリ領域（１５１，１６１）へ配置する、少なくとも１つの汎用処理装置（１１０，２１０，３１０）と、
前記少なくとも１つの汎用処理装置側からの要求によりタスクの動的な生成及び消滅の管理を行い、前記新規処理タスクについて、スケジューラへの登録、及び動作中の他のタスクを含めた動作スケジューリングを行い、前記メモリ領域（１５１，１６１）から前記実行用オブジェクトを取得して前記新規処理タスクを実行する、少なくとも１つの専用信号処理装置（１３０）と
を具備する
プロセッサシステム。
【発明の効果】
【００１０】
１つ又は複数の汎用プロセッサ側における複数の処理のからの、動的な呼び出しにより、１つ又は複数の専用信号処理プロセッサ側における対応処理を適切に実行し、またその結果を適切に呼び出し元へ返却し、且つ、処理性能の変動を出来るだけ最小とする。
【発明を実施するための最良の形態】
【００１１】
以下に本発明の第１の実施形態について添付図面を参照して説明する。
図１は、本発明のアプリケーションプロセッサの全体構成を簡易的に示したブロック図である。
本発明のアプリケーションプロセッサは、アプリケーションプロセッサ本体１００、汎用ＣＰＵコア１１０、バス部分１２０、専用信号処理プロセッサコア１３０、割り込みコントローラ１４０、内部メモリ領域１５０を備える。また、本発明のアプリケーションプロセッサは、外部メモリ領域１６０と接続されている。
【００１２】
アプリケーションプロセッサ本体１００は、複数の汎用ＣＰＵコア１１０（１１０−ｉ、ｉ＝１〜ｎ：ｎはＣＰＵコアの数）を持つ。汎用ＣＰＵコア１１０は、ＣＰＵと、ＰＥ（Ｐｒｏｃｅｓｓｏｒ  Ｅｌｅｍｅｎｔ）と、キャッシュメモリとを有する。バス部分１２０は、汎用ＣＰＵコア１１０、専用信号処理プロセッサコア１３０、割り込みコントローラ１４０、内部メモリ領域１５０を接続する。専用信号処理プロセッサコア１３０は、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）である。割り込みコントローラ１４０は、割り込み処理を行うための回路である。内部メモリ領域１５０は、アプリケーションプロセッサ本体１００に搭載されたオンチップメモリである。外部メモリ領域１６０は、アプリケーションプロセッサ本体１００の外部にあり、バス部分１２０を介して通信を行う。
【００１３】
専用信号処理プロセッサコア１３０は、演算器コア部分１３１と、キャッシュ部分１３２とを内部に有する。演算器コア部分１３１は、ＤＳＰコア内ロジックであり、信号処理エンジンとなる。キャッシュ部分１３２は、ＤＳＰコア内キャッシュ領域であり、ここで実行される命令及びテーブルデータ等をキャッシュする役割を持つ。
【００１４】
ＣＰＵ（汎用ＣＰＵコア１１０）とＤＳＰ（専用信号処理プロセッサコア１３０）の通信で使用される共有メモリ領域は、内部メモリ領域１５０の内部にある共有メモリ領域１５１、あるいは外部メモリ領域１６０の内部にある共有メモリ領域１６１、あるいはその双方に配置される。
【００１５】
携帯電話のアプリケーションチップのような、心臓部となるＣＰＵを含む複合ＬＳＩは、通常ＣＰＵとＤＳＰ、また、他の様々なハードウェアロジックを含む構成となる。ＣＰＵでは、メール表示やＪａｖａ（登録商標）といったメインの様々な処理を行う。ＤＳＰでは、カメラ画像の圧縮（ＪＰＥＧｅｎｃ／ＭＰＥＧ４ｅｎｃ）や通信相手から受信したＴＶ画像の伸張（ＭＰＥＧ４ｄｅｃ）を行う。ここでは、ＣＰＵ側が、ＪＰＥＧやＭＰＥＧなどのＤＳＰで行われるコーデックの実行オブジェクトを、ＤＳＰから実行できるようにするため、所定のＲＡＭ領域にロードする。例えば、ＦｌａｓｈメモリからＳＤＲＡＭ領域へロードする。
【００１６】
フルキャッシュ型のＤＳＰでは、通常のＣＰＵのＯＳのようにタスク又はプロセスを増やしていくことが可能であり、これを行うためのスケジューラの機能を有している。携帯機器／小型機器用ＤＳＰに搭載するＳＷ（ＳｏｆｔＷａｒｅ）環境は、予め実行するタスクを全て決めておき、Ｂｏｏｔ（起動）時にこれら全てを所定のメモリ上にロードする。
【００１７】
ＤＳＰ側ＯＳのスケジューラは、動的に新規ディスパッチ（ｄｉｓｐａｔｃｈ）されたタスクを含めてスケジューリングが可能である。なお、ディスパッチとは、実行可能なプロセスやタスクなどに対してマイクロプロセッサの計算能力を割り当てることである。
【００１８】
ＣＰＵとＤＳＰとの間の通信により、ＣＰＵ側からの命令をＤＳＰへ伝え、更に、ＤＳＰ側におけるＣＰＵ−ＤＳＰ間の通信管理機構の働きによりＤＳＰ中で動作している各タスクに対し、ＣＰＵ側からの命令を適切に配信する。
【００１９】
次に、本発明の他の実施形態について図面を参照して詳細に説明する。
図２は、本発明の第２の実施形態におけるアプリケーションプロセッサの全体構成を示す図である。
本実施形態におけるアプリケーションプロセッサは、アプリケーションプロセッサ本体１００、汎用ＣＰＵコア２１０、バス部分１２０、専用信号処理プロセッサコア１３０、割り込みコントローラ１４０、内部メモリ領域１５０を備える。また、本発明のアプリケーションプロセッサは、外部メモリ領域１６０と接続されている。
【００２０】
図１と図２の違いは、汎用ＣＰＵコアである。
汎用ＣＰＵコア２１０は、ＳＭＰ（対称型マルチプロセッサ）であり、複数のＰＥ２１１（２１１−ｉ、ｉ＝１〜ｎ）と、スヌープキャッシュ２１２とを有する。図２では、例として、ＰＥ０（２１１−１），ＰＥ１（２１１−２），ＰＥ２（２１１−３）、及びスヌープキャッシュ（２１２）を含む構成を示している。
スヌープキャッシュでは、キャッシュ間のデータの一致制御の目的で、共有バス上のメモリアクセスを監視し、必要に応じて自キャッシュブロックに対する一貫性制御を分散的手法で行う。各プロセッサがキャッシュを持つ場合、各プロセッサがデータを取得する基本的な手順は、まず、キャッシュを検索し、キャッシュにデータが存在しない場合にはじめて共有メモリにアクセスする。
【００２１】
図３は、本発明の第３の実施形態におけるアプリケーションプロセッサの全体構成を示す図である。
本実施形態におけるアプリケーションプロセッサは、アプリケーションプロセッサ本体１００、汎用ＣＰＵコア３１０、バス部分１２０、専用信号処理プロセッサコア１３０、割り込みコントローラ１４０、内部メモリ領域１５０を備える。また、本発明のアプリケーションプロセッサは、外部メモリ領域１６０と接続されている。
【００２２】
図１と図３の違いは、汎用ＣＰＵコアである。
汎用ＣＰＵコア３１０は、単一ＣＰＵであり、ＣＰＵと、キャッシュメモリ３１１とを有する。
【００２３】
次に、図４のタイミング図、及び図５のフローチャートを用いて、本プロセッサシステムの動作について説明する。
図４のＰ１０１、Ｐ１０２、Ｐ１０３は、複数の汎用プロセッサ側の各ＣＰＵコアにおいて処理プロセスが動作する様子を示している。プロセスＰ１０１、Ｐ１０２、Ｐ１０３より、ＤＳＰにおける処理Ｔ１０１、Ｔ１０２、Ｔ１０３が呼び出される様子を示す。ＰＥ０におけるプロセスＡ（Ｐ１０１）より、対応する処理Ｔ１０１が呼び出され実行されるが、暫くしてＰＥ１におけるプロセスＢ（Ｐ１０２）より、対応する処理Ｔ１０２を並行して呼び出し、処理Ｔ１０１と処理が並存する形となる。その後、処理Ｔ１０１は実行を終了し、これをＣＰＵ側のプロセスＣ（Ｐ１０３）へ伝え、使用していたメモリ領域は開放される。このとき、本発明の構成は図１に示すように、ＤＳＰにおいて実行されるプログラムの命令及びデータに関するキャッシュを配置しているため、このように処理内容が動的に増加しても、各処理タスクＴ１０１及びＴ１０２単体の所要性能値をそれぞれ足し合わせた値が、本ＤＳＰにて許容できる限界性能値以下であるならば、この場合における性能変動は僅かである。同様に、ＰＥ２において処理Ｐ１０３が実行され、これに伴い、ＤＳＰ側にて対応する処理Ｔ１０３が呼び出され、このときＤＳＰにおいて処理Ｔ１０２と処理が同時実行されるが、このときも、各処理タスクＴ１０２及びＴ１０３単体の所要性能値をそれぞれ足し合わせた値が、本ＤＳＰにて許容できる限界性能値以下であるならば、この場合における性能変動は僅かとなる。
【００２４】
また、図５では、上記、個々のＤＳＰ処理（タスク）がＣＰＵより呼び出され、終了するまでの流れをフローチャートで示している。
本発明における方式では、ＤＳＰにおける個々のタスクを、ＣＰＵ側からの依頼に応じて個別にロードし、更に、ＣＰＵ側からの処理開始コマンドを受けて、その実行を開始する。あるいは、ＣＰＵ側からの処理開始コマンドを受けず、ＣＰＵ側からの依頼に基づくＤＳＰ側対応実行オブジェクトのダウンロードを実行したのち、即座に処理動作を開始する形態も考えられる。また、各タスクの処理終了時は、個別にそれぞれのタスクを終了し、領域開放などの後処理を実行し、次に要求される処理に備える。
【００２５】
（１）ステップＳ１０１
ＣＰＵ側からＤＳＰへの処理要求を検出する。処理要求が無ければ、処理要求があるまで待機する。
（２）ステップＳ１０２
ＣＰＵ側の各プロセス（プロセスＡ，プロセスＢ，プロセスＣ）に対応する個々のタスクを個別にロードする。
（３）ステップＳ１０３
ＣＰＵ側からコマンドを受信する。
（４）ステップＳ１０４
受信したコマンドが、ＣＰＵ側の各プロセスのいずれかの処理開始コマンドである場合、ステップＳ１０５に移行する。ＣＰＵ側の各プロセスのいずれかの処理開始コマンドでない場合、ステップＳ１０６に移行する。
（５）ステップＳ１０５
処理開始コマンドに対応するプロセスの実行を開始する。なお、ステップＳ１０３において、ＣＰＵ側からの処理開始コマンドを受けず、ＣＰＵ側からの依頼に基づくＤＳＰ側対応実行オブジェクトのダウンロードを実行したのち、即座に処理動作を開始するようにしても良い。
（６）ステップＳ１０６
受信したコマンドが、ＣＰＵ側の各プロセスのいずれかの処理終了コマンドである場合、ステップＳ１０７に移行する。受信したコマンドが、ＣＰＵ側の各プロセスのいずれかの処理終了コマンドでない場合、ステップＳ１０８に移行する。
（７）ステップＳ１０７
処理終了コマンドに対応するプロセスの実行を終了する。
（８）ステップＳ１０８
ＣＰＵ側の各プロセスのいずれかの処理終了コマンドではない場合、受信したコマンドに対する処理を行い、ステップＳ１０２に戻る。
【００２６】
なお、図２及び図３は、それぞれ、汎用プロセッサ側がＳＭＰ（対称型マルチプロセッサ）である場合、及び単一ＣＰＵだった場合の、本発明における構成を示している。この場合、それぞれ図１及び図４の場合と同じく、汎用ＣＰＵコアは、ＤＳＰ側に命令及びデータ双方に関してキャッシュ機構を持つ。また、ＣＰＵ側からの要求に応じて、ＤＳＰ側にてタスクの個別実行を行う機構を備えている。このとき、図２に示されるＳＭＰアーキテクチャの場合では、ＳＭＰにおいて実行されるＰＥ番号に依存しない個々のプロセス又はスレッドよりＤＳＰに対して処理依頼が発行され、対応されるタスクがそれぞれ独立に実行される仕組みを持つ。図３に示される単一プロセッサの場合では、ＣＰＵ内にて実行される１つ又は複数のプロセス又はスレッドよりＤＳＰに対して処理依頼が発行され、対応されるタスクがそれぞれ独立に実行される仕組みを持つ。
【００２７】
以上のように、本発明は、１つ又は複数の汎用プロセッサと、１つ又は複数の専用信号処理用プロセッサ、又は専用信号処理用ロジックハードウエア等の各部品を１つのＬＳＩとして構成した、携帯電話等の用途に好適なプロセッサシステムの構成に関するものである。
このプロセッサシステムは、以下の特徴を有する。
（１）汎用プロセッサ側にて、実行を要求された新規処理タスクの実行用オブジェクトを、使用されていないメモリ領域へ新たに配置する。
（２）専用信号処理プロセッサでは、予期せぬ処理負荷の大幅な増大が起こり得ない、十分な大きさの命令キャッシュ、及びデータキャッシュを備えているものを用い、実行を要求された新規処理タスクを実行する。
（３）更に、専用信号処理プロセッサ上で稼動するＯＳが、汎用プロセッサ側からの要求により、タスクの動的な生成及び消滅の管理を行い、新たに追加されたタスクへのスケジューラへの登録、それまで動作していた他のタスクを含めた動作スケジューリングを行う。
（４）更に、１つ又は複数の汎用プロセッサから受領した命令を、専用信号処理プロセッサ上で動作する各タスクに配分する。この命令のフォーマットには、要求する処理内容、コマンドの送信元、結果データの送付先、及び要求内容の優先度を記録するフィールドを設けている。
【００２８】
本発明のプロセッサシステムでは、１つ又は複数の汎用プロセッサ側における複数の処理のからの、動的な呼び出しにより、１つ又は複数の専用信号処理プロセッサ側における対応処理を適切に実行し、またその結果を適切に呼び出し元へ返却し、且つ、処理性能の変動を出来るだけ最小とする。
【００２９】
すなわち、プロセッサシステムにおいて、汎用プロセッサ側にて、実行を要求された新規処理タスクの実行用オブジェクトを、使用されていないメモリ領域へ新たに配置する機構を持つと共に、専用信号処理プロセッサは、予期せぬ処理負荷の大幅な増大が起こり得ない、十分な大きさの命令キャッシュ、及びデータキャッシュを備えているものを用い、実行を要求された新規処理タスクを実行する。更に、専用信号処理プロセッサ上で稼動するＯＳは、汎用プロセッサ側からの要求により、タスクの動的な生成及び消滅の管理を行い、新たに追加されたタスクへのスケジューラへの登録、それまで動作していた他のタスクを含めた動作スケジューリングの実行を行う。また、１つ又は複数の汎用プロセッサから受領した命令を、専用信号処理プロセッサ上で動作する各タスクに配分する機構を持つ。これにより、汎用プロセッサ側における複数の処理からの、専用信号処理プロセッサ側における対応処理を、動的な呼び出しにより実行する仕組みを提供する。
【００３０】
このため、本発明のプロセッサシステムは、これに含まれる専用信号処理プロセッサに、その内部において実行されるプログラム中の命令及びデータの双方について、その十分な量をキャッシングする手段（図１の１３２、図２の２０７、図３の３０５）と、１つ又は複数の汎用プロセッサにおける複数の処理のからの動的な呼び出しを、割り込み信号の発行及び共有メモリを用いたコマンドデータの受け渡しなどにより、１つ又は複数の専用信号処理プロセッサへ伝える手段（図１の１５１，１１１，１４０、図２の２１０、２１２、２１３、図３の３０７，３１２，３１３）と、上記専用信号処理プロセッサにおいて、汎用プロセッサから要求を受けて、タスクのロード及び実行、又は終了を、随時動的に行う手段を備える。
【００３１】
更に、複数の汎用プロセッサから、専用信号処理プロセッサに送られるコマンドデータ中において、要求する処理内容、及びコマンドの送信元、結果データの送付先、及び要求内容の優先度を記載するフィールドを設けている。
【００３２】
本発明の第１の効果は、ある時点における同時動作タスクの数が増大しても、従来構成の場合に発生する、処理性能の低下を防ぐ作用を持つというものである。これは、本プロセッサシステムにおけるキャッシング手段により、同時実行されているタスクのコード又はデータが、プロセッサからのアクセスにサイクル数を１サイクル程度しか要しないキャッシュ上に大半の場合配置されるので、キャッシュヒットミスの割合が十分小さく、なおかつキャッシュヒットミス発生時に生じる外部メモリ等へのアクセスに要するサイクル数が十分小さければ、ある時点における同時動作タスクの数が増大しても、処理性能の低下を防ぐことが出来る。
【００３３】
本発明の第２の効果は、タスクのロード及び実行、又は終了を、随時動的に行う手段を備えることにより、従来の、処理を予定しているタスクをロードしておく手法では対応できなかった、予期しないタスクの処理要求に対して、これを実行し、更に結果を要求元に返却することが可能となり、無駄なメモリの消費を防ぎ、ひいては消費電力削減につなげることが出来る、というものである。
【００３４】
本発明の第３の効果は、専用信号処理プロセッサに送られるコマンドデータ中に、要求する処理内容、及びコマンドの送信元、結果データの送付先、及び要求内容の優先度を記述することにより、特に複数の汎用プロセッサと専用信号処理プロセッサ間において、適切なデータの送受信を可能とすることが出来る。
【００３５】
このように、本発明のプロセッサシステムにおけるキャッシング手段により、専用信号処理プロセッサにおいて、ある時点における同時動作タスクの数が増大しても、処理性能の低下を防ぐ作用を持つ。また、汎用プロセッサから要求を受けて、タスクのロード及び実行、又は終了を、随時動的に行う手段を備えることにより、従来の、処理を予定しているタスクをロードしておく手法では対応できなかった、予期しないタスクの処理要求に対して、これを実行し、結果を要求元に返却することが可能となる。更に、専用信号処理プロセッサに送られるコマンドデータ中に、前項において述べた内容を記述することにより、特に複数の汎用プロセッサと専用信号処理プロセッサ間において、適切なデータの送受信が可能となる。
【図面の簡単な説明】
【００３６】
【図１】図１は、本発明の第１の実施形態の構成を示すブロック図である。
【図２】図２は、本発明の第２の実施形態の構成を示すブロック図である。
【図３】図３は、本発明の第３の実施形態の構成を示すブロック図である。
【図４】図４は、本発明の第１の実施形態における、各タスク実行スケジュールの例を示すタイミング図である。
【図５】図５は、本発明の第１の実施形態におけるプロセッサシステムにおける、各タスクの呼び出し、処理実行の流れを示すフローチャート図である。
【符号の説明】
【００３７】
１００  アプリケーションプロセッサ
１１０（−ｉ、ｉ＝１〜ｎ）  ＣＰＵコア
１２０  バス
１３０  ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）コア
１３１  ＤＳＰコア内ロジック
１３２  ＤＳＰコア内キャッシュ領域
１４０  割り込みコントローラ
１５０  アプリケーションプロセッサ内メモリ（オンチップメモリ）
１５１  オンチップメモリ内の共有メモリ領域
１６０  外部メモリ
１６１  外部メモリ内共有メモリ領域
２１０  対称型マルチプロセッサコア
２１１（−ｉ、ｉ＝１〜ｎ）  対称型マルチプロセッサ内ＣＰＵコア
２１２  対称型マルチプロセッサ内スヌープキャッシュ
３１０（−ｉ、ｉ＝１〜ｎ）  ＣＰＵコア
３１１  ＣＰＵコア内キャッシュメモリ
Ｐ１０１，Ｐ１０２，Ｐ１０３  各ＣＰＵ（ＰＥ：プロセッサエレメント）にて起動されるプロセス
Ｔ１０１，Ｔ１０２，Ｔ１０３  ＣＰＵ側の各プロセスから呼び出されるＤＳＰ側対応処理（タスク）
【図１】
2007156824.tif 000003
【図２】
2007156824.tif 000004
【図３】
2007156824.tif 000005
【図４】
2007156824.tif 000006
【図５】
2007156824.tif 000007