(57)【要約】【課題】プログラムの動作プロセッサの指定しかできず、その他の性能、キャッシュなどのプロセッサリソースを自由に割り当てることができない。そのため、プログラムの処理性能の保証ができず、リアルタイムシステムのシステム設計が困難になる。【解決手段】リソース情報取得手段１は外部記憶装置Ｂからプロセッサリソース情報ＰＲを取得し、プログラム関連付け手段２はリソース情報取得手段で取得したプロセッサリソース情報ＰＲをプログラムに関連付け、プロセッサリソース割付手段３はプログラム実行時にプログラム関連付け手段で関連付けられたプロセッサリソース情報に従ってプログラムにプロセッサリソースを割り付ける。これにより、プログラムの処理性能の保証ができるとともに、外部にあるプロセッサリソース情報を変更するだけで、プログラムの処理性能を変更することが可能になり、プログラム設計の柔軟性を確保することができる。【選択図】図１
2009075827.tif 000002
【特許請求の範囲】
【請求項１】
外部からプロセッサリソース情報を取得するリソース情報取得手段と、
前記リソース情報取得手段で取得した前記プロセッサリソース情報をプログラムに関連付けるプログラム関連付け手段と、
プログラム実行時に前記プログラム関連付け手段で関連付けられた前記プロセッサリソース情報に従ってプログラムにプロセッサリソースを割り付けるプロセッサリソース割付手段とを備えたプログラム実行装置。
【請求項２】
前記リソース情報取得手段はプロセッサリソース情報中の動作プロセッサ情報を取得し、
前記リソース情報取得手段で取得した前記動作プロセッサ情報にプロセッサ番号が記載されている場合は、前記プロセッサリソース割付手段はプログラムに前記プロセッサ番号のプロセッサを割り付ける請求項１に記載のプログラム実行装置。
【請求項３】
前記リソース情報取得手段はプロセッサリソース情報中の動作プロセッサ情報を取得し、
前記リソース情報取得手段で取得した前記動作プロセッサ情報に第１の指示情報（ＡＮＹ１）が記載されている場合は、前記プロセッサリソース割付手段は複数のプログラムに任意のプロセッサを集約して割り付ける請求項１に記載のプログラム実行装置。
【請求項４】
前記リソース情報取得手段はプロセッサリソース情報中の動作プロセッサ情報を取得し、
前記リソース情報取得手段で取得した前記動作プロセッサ情報に第２の指示情報（ＡＮＹ２）が記載されている場合は、前記プロセッサリソース割付手段はプログラムに複数のプロセッサを分散して割り付ける請求項１に記載のプログラム実行装置。
【請求項５】
前記リソース情報取得手段はプロセッサリソース情報中の性能情報を取得し、
前記リソース情報取得手段で取得した前記性能情報に性能値が記載されている場合は、前記プロセッサリソース割付手段はプログラムに前記性能値に従った動作性能を割り付ける請求項１に記載のプログラム実行装置。
【請求項６】
前記リソース情報取得手段はプロセッサリソース情報中の性能情報を取得し、
前記リソース情報取得手段で取得した前記性能情報に指示情報（ＡＮＹ）が記載されている場合は、前記プロセッサリソース割付手段はプログラムに性能を均等に割り付ける請求項１に記載のプログラム実行装置。
【請求項７】
前記リソース情報取得手段はプロセッサリソース情報中のキャッシュ情報を取得し、
前記リソース情報取得手段で取得した前記キャッシュ情報にキャッシュサイズまたはキャッシュ位置が記載されている場合は、前記プロセッサリソース割付手段はプログラムに前記キャッシュサイズまたは前記キャッシュ位置に対応するキャッシュを割り付ける請求項１に記載のプログラム実行装置。
【請求項８】
前記リソース情報取得手段はプロセッサリソース情報中のキャッシュ情報を取得し、
前記リソース情報取得手段で取得した前記キャッシュ情報に第１の指示情報（ＡＮＹ１）が記載されている場合は、前記プロセッサリソース割付手段はプログラムにキャッシュを均等に割り付ける請求項１に記載のプログラム実行装置。
【請求項９】
前記リソース情報取得手段はプロセッサリソース情報中のキャッシュ情報を取得し、
前記リソース情報取得手段で取得した前記キャッシュ情報に第２の指示情報（ＡＮＹ２）が記載されている場合は、前記プロセッサリソース割付手段はプログラムに同じキャッシュを割り付ける請求項１に記載のプログラム実行装置。
【請求項１０】
前記リソース情報取得手段はプロセッサリソース情報中の性能情報およびキャッシュ情報を取得し、
前記リソース情報取得手段で取得した前記キャッシュ情報に第３の指示情報（ＡＮＹ３）が記載されている場合は、前記プロセッサリソース割付手段はプログラムにキャッシュを前記性能情報に比例して割り付ける請求項１に記載のプログラム実行装置。
【請求項１１】
請求項１から請求項１０までのいずれかに記載のプログラム実行装置において、さらに、前記プロセッサリソース情報の異常を検出するリソース異常検出手段と、前記リソース異常検出手段で検出した情報を出力する検出情報出力手段とを備えたプログラム実行装置。
【請求項１２】
前記リソース情報取得手段はプロセッサリソース情報中の動作プロセッサ情報を取得し、
前記リソース情報取得手段で取得した前記動作プロセッサ情報に不正なプロセッサ番号が記載されている場合は、前記リソース異常検出手段が不正なプロセッサ番号であることを検出し、前記プロセッサリソース割付手段はプログラムに対するプロセッサの割り付けを停止し、
前記検出情報出力手段は検出情報を出力する請求項１１に記載のプログラム実行装置。
【請求項１３】
前記リソース情報取得手段はプロセッサリソース情報中の性能情報を取得し、
前記リソース情報取得手段で取得した前記性能情報に不正な性能値が記載されている場合は、前記リソース異常検出手段が不正な性能値であることを検出し、前記プロセッサリソース割付手段はプログラムに対する性能の割り付けを停止し、前記検出情報出力手段は検出情報を出力する請求項１１に記載のプログラム実行装置。
【請求項１４】
前記リソース情報取得手段はプロセッサリソース情報中のキャッシュ情報を取得し、
前記リソース情報取得手段で取得した前記キャッシュ情報に不正なキャッシュサイズまたはキャッシュ位置が記載されている場合は、前記リソース異常検出手段が不正なキャッシュサイズまたはキャッシュ位置であることを検出し、前記プロセッサリソース割付手段はプログラムに対するキャッシュの割り付けを停止し、前記検出情報出力手段は検出情報を出力する請求項１１に記載のプログラム実行装置。
【請求項１５】
前記リソース情報取得手段はプロセッサリソース情報中の動作プロセッサ情報を取得し、
前記リソース情報取得手段で取得した前記動作プロセッサ情報に不正なプロセッサ番号が記載されている場合は、前記リソース異常検出手段が不正なプロセッサ番号であることを検出し、前記プロセッサリソース割付手段はプログラムに正常なプロセッサ番号のプロセッサを割り付ける請求項１１に記載のプログラム実行装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムをプロセッサに割り当てて、起動・実行するプログラム実行装置、すなわちＯＳ（Operating System）等の技術に関する。
【背景技術】
【０００２】
ＯＳの主な機能は、ハードウェア管理、実行プログラム管理、データ管理および入出力管理である。中でも実行プログラム管理はプログラムの実行順序を管理するものであり、ＣＰＵやメモリ、入出力装置等を効率良く動作させるための重要な役割である。
【０００３】
プログラムの実行順序を決定するアルゴリズムの１つとして、ラウンドロビンスケジュール（round robin scheduling）がある。ラウンドロビンスケジュールは、プログラムにある実行時間を割り当て、割り当てられた時間の間はプロセッサの実行権がプログラムに与えられ、割り当てられた時間が過ぎると別のプログラムに実行権を移す方法である。これにより、すべてのプログラムは平等かつ決められた時間で実行権を得ることができる。
【０００４】
メディア処理をプロセッサで実施するリアルタイムシステムでは、複数の符号化、復号化、多重化処理などを同時に実施する必要がある。そこで、各処理の性能を保証するために処理毎にプログラムを分割し、処理毎にプロセッサリソースを割り当て、ラウンドロビンスケジュールを適用している。
【０００５】
マルチプロセッサ構成で上記の技術を実現する場合、プログラムをどのプロセッサに割り当てるかが問題となる。
【０００６】
対称型マルチプロセッサ（Symmetric Multiple Processor：ＳＭＰ）構成では、システム負荷を複数のプロセッサに分散するようにスケジューリング時のタイミングで動的にプログラムをプロセッサに割り当てるため、プログラム毎に実行時間を割り当てるのは困難である。よって、プログラム毎にプロセッサを割り当てる場合、プロセッサを固定的に決定する必要がある。従来のプログラム実行装置において、プログラムを特定のプロセッサのみで動作させる方法が開示されている（例えば特許文献１参照）。
【特許文献１】特開平８−２７２７５７号公報（第３−４頁、第１−３図）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、従来のプログラム実行装置においては、プログラムの動作プロセッサの指定しかできず、その他の性能、キャッシュなどのプロセッサリソースを自由に割り当てることができない。そのため、プログラムの処理性能の保証ができず、リアルタイムシステムのシステム設計が困難になるという課題があった。
【０００８】
本発明は、このような事情に鑑みて創作したものであり、プログラムの処理性能を保証するとともに、プログラム設計の柔軟性を有するプログラム実行装置を提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明における第１のプログラム実行装置は、外部からプロセッサリソース情報を取得するリソース情報取得手段と、前記リソース情報取得手段で取得した前記プロセッサリソース情報をプログラムに関連付けるプログラム関連付け手段と、プログラム実行時に前記プログラム関連付け手段で関連付けられた前記プロセッサリソース情報に従ってプログラムにプロセッサリソースを割り付けるプロセッサリソース割付手段とを備えたものである。ここで、プロセッサリソース情報とは、動作プロセッサ情報、性能情報、キャッシュ情報等の性能保証に関する情報を集約したものである。
【００１０】
かかる構成により、プログラムの処理性能をプロセッサリソース情報としてプログラムに関連付け、関連付けたプロセッサリソース情報に従ってプログラムにプロセッサリソースを割り付けるため、プログラムの処理性能を保証することが可能となる。また、外部にあるプロセッサリソース情報を変更するだけで、プログラムの処理性能を変更することが可能になるため、プログラム設計の柔軟性を確保することが可能となる。
【００１１】
また本発明における第２のプログラム実行装置は、上記の第１のプログラム実行装置において、前記リソース情報取得手段はプロセッサリソース情報中の動作プロセッサ情報を取得し、前記リソース情報取得手段で取得した前記動作プロセッサ情報にプロセッサ番号が記載されている場合は、前記プロセッサリソース割付手段はプログラムに前記プロセッサ番号のプロセッサを割り付けるものである。ここで動作プロセッサ情報とは、プログラムをどのプロセッサで実行するかを規定する情報である。このように構成すれば、プロセッサリソース情報の動作プロセッサ番号に従ってプログラムに動作プロセッサを割り付けるため、プログラムの動作プロセッサを保証することが可能となる。
【００１２】
また本発明における第３のプログラム実行装置は、上記の第１のプログラム実行装置において、前記リソース情報取得手段はプロセッサリソース情報中の動作プロセッサ情報を取得し、前記リソース情報取得手段で取得した前記動作プロセッサ情報に第１の指示情報（ＡＮＹ１）が記載されている場合は、前記プロセッサリソース割付手段は複数のプログラムに任意のプロセッサを集約して割り付けるものである。このように構成すれば、複数のプログラムに１つのプロセッサを集約して割り付けるため、いずれのプログラムにも割り付けられていない他のプロセッサは停止状態となり、消費電力の削減を図ることが可能となる。
【００１３】
また本発明における第４のプログラム実行装置は、上記の第１のプログラム実行装置において、前記リソース情報取得手段はプロセッサリソース情報中の動作プロセッサ情報を取得し、前記リソース情報取得手段で取得した前記動作プロセッサ情報に第２の指示情報（ＡＮＹ２）が記載されている場合は、前記プロセッサリソース割付手段はプログラムに複数のプロセッサを分散して割り付けるものである。このように構成すれば、複数のプログラムに対して、プロセッサリソース情報に対応する複数のプロセッサを分散して割り付けるため、プロセッサの動作周波数が低下し、消費電力の削減を図ることが可能となる。
【００１４】
また本発明における第５のプログラム実行装置は、上記の第１のプログラム実行装置において、前記リソース情報取得手段はプロセッサリソース情報中の性能情報を取得し、前記リソース情報取得手段で取得した前記性能情報に性能値が記載されている場合は、前記プロセッサリソース割付手段はプログラムに前記性能値に従った動作性能を割り付けるものである。ここで性能情報とは、どれだけのプロセッサ動作周波数分の能力を必要とするかの情報である。このように構成すれば、プロセッサリソース情報の性能値に従ってプログラムに動作性能を割り付けるため、プログラムの性能を保証することが可能となる。
【００１５】
また本発明における第６のプログラム実行装置は、上記の第１のプログラム実行装置において、前記リソース情報取得手段はプロセッサリソース情報中の性能情報を取得し、前記リソース情報取得手段で取得した前記性能情報に指示情報（ＡＮＹ）が記載されている場合は、前記プロセッサリソース割付手段はプログラムに性能を均等に割り付けるものである。このように構成すれば、プロセッサの性能を意識することなく、プログラムに性能を均等に割り付けることができる。
【００１６】
また本発明における第７のプログラム実行装置は、上記の第１のプログラム実行装置において、前記リソース情報取得手段はプロセッサリソース情報中のキャッシュ情報を取得し、前記リソース情報取得手段で取得した前記キャッシュ情報にキャッシュサイズまたはキャッシュ位置が記載されている場合は、前記プロセッサリソース割付手段はプログラムに前記キャッシュサイズまたは前記キャッシュ位置に対応するキャッシュを割り付けるものである。ここでキャッシュ情報とは、どれだけのキャッシュサイズが必要か或いはどのキャッシュを使用するかを示す情報である。このように構成すれば、プロセッサリソース情報のキャッシュサイズまたはキャッシュ位置に従ってプログラムにキャッシュを割り付けるため、プログラムのキャッシュ割当サイズまたはキャッシュの割当位置を保証することが可能となる。
【００１７】
また本発明における第８のプログラム実行装置は、上記の第１のプログラム実行装置において、前記リソース情報取得手段はプロセッサリソース情報中のキャッシュ情報を取得し、前記リソース情報取得手段で取得した前記キャッシュ情報に第１の指示情報（ＡＮＹ１）が記載されている場合は、前記プロセッサリソース割付手段はプログラムにキャッシュを均等に割り付けるものである。このように構成すれば、プロセッサのキャッシュを意識することなく、プログラムにキャッシュを均等に割り付けられ、他のプログラムが存在しない場合は、優先的にキャッシュを割り付けることが可能となる。
【００１８】
また本発明における第９のプログラム実行装置は、上記の第１のプログラム実行装置において、前記リソース情報取得手段はプロセッサリソース情報中のキャッシュ情報を取得し、前記リソース情報取得手段で取得した前記キャッシュ情報に第２の指示情報（ＡＮＹ２）が記載されている場合は、前記プロセッサリソース割付手段はプログラムに同じキャッシュを割り付けるものである。このように構成すれば、プロセッサのキャッシュを意識することなく、プログラムに同じキャッシュを割り付けられ、複数のプログラム間で同じキャッシュを利用してもよいことをプログラマが保証できる場合は、キャッシュサイズの削減を図ることが可能となる。
【００１９】
また本発明における第１０のプログラム実行装置は、上記の第１のプログラム実行装置において、前記リソース情報取得手段はプロセッサリソース情報中の性能情報およびキャッシュ情報を取得し、前記リソース情報取得手段で取得した前記キャッシュ情報に第３の指示情報（ＡＮＹ３）が記載されている場合は、前記プロセッサリソース割付手段はプログラムにキャッシュを前記性能情報に比例して割り付けるものである。このように構成すれば、プロセッサのキャッシュを意識することなく、プログラムに妥当なキャッシュを割り付けることが可能となる。
【００２０】
また本発明における第１１のプログラム実行装置は、上記のいずれかのプログラム実行装置において、さらに、前記プロセッサリソース情報の異常を検出するリソース異常検出手段と、前記リソース異常検出手段で検出した情報を出力する検出情報出力手段とを備えたものである。このように構成すれば、プロセッサリソース情報の異常を検出することが可能となる。
【００２１】
また本発明における第１２のプログラム実行装置は、上記の第１１のプログラム実行装置において、前記リソース情報取得手段はプロセッサリソース情報中の動作プロセッサ情報を取得し、前記リソース情報取得手段で取得した前記動作プロセッサ情報に不正なプロセッサ番号が記載されている場合は、前記リソース異常検出手段が不正なプロセッサ番号であることを検出し、前記プロセッサリソース割付手段はプログラムに対するプロセッサの割り付けを停止し、前記検出情報出力手段は検出情報を出力するものである。このように構成すれば、プロセッサリソース情報中の動作プロセッサ情報の異常を検出することが可能となる。
【００２２】
また本発明における第１３のプログラム実行装置は、上記の第１１のプログラム実行装置において、前記リソース情報取得手段はプロセッサリソース情報中の性能情報を取得し、前記リソース情報取得手段で取得した前記性能情報に不正な性能値が記載されている場合は、前記リソース異常検出手段が不正な性能値であることを検出し、前記プロセッサリソース割付手段はプログラムに対する性能の割り付けを停止し、前記検出情報出力手段は検出情報を出力するものである。このように構成すれば、プロセッサリソース情報中の性能情報の異常を検出することが可能となる。
【００２３】
また本発明における第１４のプログラム実行装置は、上記の第１１のプログラム実行装置において、前記リソース情報取得手段はプロセッサリソース情報中のキャッシュ情報を取得し、前記リソース情報取得手段で取得した前記キャッシュ情報に不正なキャッシュサイズまたはキャッシュ位置が記載されている場合は、前記リソース異常検出手段が不正なキャッシュサイズまたはキャッシュ位置であることを検出し、前記プロセッサリソース割付手段はプログラムに対するキャッシュの割り付けを停止し、前記検出情報出力手段は検出情報を出力するものである。このように構成すれば、プロセッサリソース情報中のキャッシュ情報の異常を検出することが可能となる。
【００２４】
また本発明における第１５のプログラム実行装置は、上記の第１１のプログラム実行装置において、前記リソース情報取得手段はプロセッサリソース情報中の動作プロセッサ情報を取得し、前記リソース情報取得手段で取得した前記動作プロセッサ情報に不正なプロセッサ番号が記載されている場合は、前記リソース異常検出手段が不正なプロセッサ番号であることを検出し、前記プロセッサリソース割付手段はプログラムに正常なプロセッサ番号のプロセッサを割り付けるものである。このように構成すれば、プロセッサリソース情報の動作プロセッサの異常を検出し、異常設定を修正し、プログラムに動作プロセッサを割り付けることが可能となる。
【発明の効果】
【００２５】
本発明によれば、プログラム実行装置において、プログラムの処理性能を保証することができるとともに、プログラム設計の柔軟性を確保することができる。すなわち、機能毎に一定の処理性能を保証しつつ、システムの構成変更にかかわる負担を軽減することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明にかかわるプログラム実行装置の実施の形態を図面を用いて詳細に説明する。
【００２７】
（実施の形態１）
図１は本発明の実施の形態１におけるプログラム実行装置および周辺装置の構成を示すブロック図である。図１において、Ａはプログラム実行装置、Ｂは外部記憶装置、ＰＣ１〜ＰＣｎはプロセッサである。１はリソース情報取得手段、２はプログラム関連付け手段、３はプロセッサリソース割付手段、Ｐｇ１〜ＰｇＮはプログラム、ＰＲはプロセッサリソース情報である。
【００２８】
外部記憶装置Ｂは、動作プロセッサ情報、性能情報、キャッシュ情報等の性能保証に関する情報を集約したプロセッサリソース情報ＰＲについて、各プログラムＰｇ１〜ＰｇＮ用の一覧テーブルを保持する一般的な記憶装置である。動作プロセッサ情報とは、どのプロセッサで実行するかを規定する情報である。性能情報とは、どれだけのプロセッサ動作周波数分の能力を必要とするかの情報である。キャッシュ情報とは、どれだけのキャッシュサイズが必要か或いはどのキャッシュを使用するかを示す情報である。
【００２９】
プログラム実行装置Ａは、外部記憶装置Ｂに保持しているプロセッサリソース情報ＰＲを取得するリソース情報取得手段１と、取得したプロセッサリソース情報ＰＲと各プログラムＰｇ１〜ＰｇＮを関連付けるプログラム関連付け手段２と、各プログラムＰｇ１〜ＰｇＮに関連付けられたプロセッサリソース情報ＰＲに従って各プログラムＰｇ１〜ＰｇＮに各プロセッサＰＣ１〜ＰＣｎを割り付けるプロセッサリソース割付手段３とを備えている。各プロセッサＰＣ１〜ＰＣｎは、性能およびキャッシュを備えている一般的なプロセッサである。
【００３０】
このように構成された本実施の形態のプログラム実行装置Ａの動作について説明する。
【００３１】
まず、図２を用いて、プロセッサリソース情報ＰＲの各プログラムＰｇ１〜ＰｇＮの動作プロセッサ、性能およびキャッシュに一般的な値を設定した場合の動作について説明する。
【００３２】
第１のプログラムＰｇ１は、リソース情報取得手段１を用いて外部記憶装置Ｂに保持されているプロセッサリソース情報ＰＲを取得し、プログラム関連付け手段２を用いてプロセッサリソース情報ＰＲを第１のプログラムＰｇ１に関連付け、プロセッサリソース割付手段３を用いて第１のプログラムＰｇ１にプロセッサリソース情報ＰＲ中の動作プロセッサ情報、性能情報、キャッシュ情報に対応するプロセッサ、性能、キャッシュを割り付けることにより、第１のプログラムＰｇ１は第１のプロセッサＰＣ１上で割り付けられた性能およびキャッシュを用いて動作する。
【００３３】
第２のプログラムＰｇ２および第３のプログラムＰｇ３についても、第１のプログラムＰｇ１と同様に、プロセッサリソース情報ＰＲに対応するプロセッサ上で割り付けられた性能、キャッシュを用いて動作する。
【００３４】
次に、図３を用いて、プロセッサリソース情報ＰＲの各プログラムＰｇ１〜Ｐｇ３の動作プロセッサに第１の指示情報ＡＮＹ１を設定した場合の動作について説明する。
【００３５】
第１の指示情報ＡＮＹ１を設定した場合は、第１のプログラムＰｇ１は、リソース情報取得手段１を用いて外部記憶装置Ｂに保持されているプロセッサリソース情報ＰＲを取得し、プログラム関連付け手段２を用いてプロセッサリソース情報ＰＲを第１のプログラムＰｇ１に関連付け、プロセッサリソース割付手段３を用いて第１のプログラムＰｇ１にプロセッサリソース情報ＰＲ中の動作プロセッサの情報（図３ではＡＮＹ１）に対応する任意のプロセッサ（図３では第１のプロセッサＰＣ１）に集約して割り付けることにより、第１のプログラムＰｇ１は第１のプロセッサＰＣ１上で動作する。
【００３６】
第２のプログラムＰｇ２および第３のプログラムＰｇ３についても、第１のプログラムＰｇ１と同様に集約して割り付けられることにより、第１のプロセッサＰＣ１上で動作し、各プログラムＰｇ１〜Ｐｇ３はすべて第１のプロセッサＰＣ１上で動作する。
【００３７】
次に、図４を用いて、プロセッサリソース情報ＰＲの各プログラムＰｇ１〜Ｐｇ３の動作プロセッサに第２の指示情報ＡＮＹ２を設定した場合の動作について説明する。
【００３８】
第２の指示情報ＡＮＹ２を設定した場合は、第１のプログラムＰｇ１は、リソース情報取得手段１を用いて外部記憶装置Ｂに保持されているプロセッサリソース情報ＰＲを取得し、プログラム関連付け手段２を用いてプロセッサリソース情報ＰＲを第１のプログラムＰｇ１に関連付け、プロセッサリソース割付手段３を用いて第１のプログラムＰｇ１に対して、プロセッサリソース情報ＰＲ中の動作プロセッサの情報（図４ではＡＮＹ２）に対応するプロセッサ（図４では第１のプロセッサＰＣ１）を割り付けることにより、第１のプログラムＰｇ１は第１のプロセッサＰＣ１上で動作する。
【００３９】
第２のプログラムＰｇ２および第３のプログラムＰｇ３についても、第１のプログラムＰｇ１と同様に、第２のプログラムＰｇ２は第１のプロセッサＰＣ１を、第３のプログラムＰｇ３は第２のプロセッサＰＣ２をそれぞれ割り付けられることにより、各プログラムＰｇ１〜Ｐｇ３は第１のプロセッサＰＣ１または第２のプロセッサＰＣ２上に分散されて動作する。
【００４０】
次に、図５を用いて、プロセッサリソース情報ＰＲの各プログラムＰｇ１〜Ｐｇ３の性能に指示情報ＡＮＹを設定した場合の動作について説明する。
【００４１】
指示情報ＡＮＹを設定した場合は、各プログラムＰｇ１〜Ｐｇ３は、リソース情報取得手段１を用いて外部記憶装置Ｂに保持されているプロセッサリソース情報ＰＲを取得し、プログラム関連付け手段２を用いてプロセッサリソース情報ＰＲを各プログラムＰｇ１〜Ｐｇ３に関連付け、プロセッサリソース割付手段３を用いて第１のプログラムＰｇ１および第２のプログラムＰｇ２に第１のプロセッサＰＣ１上の性能を均等に割り付け、第３のプログラムＰｇ３に第２のプロセッサＰＣ２上の性能を割り付けることにより、各プログラムＰｇ１〜Ｐｇ３は動作する。
【００４２】
次に、図６を用いて、プロセッサリソース情報ＰＲの各プログラムＰｇ１〜Ｐｇ３のキャッシュに第１の指示情報ＡＮＹ１を設定した場合の動作について説明する。
【００４３】
第１の指示情報ＡＮＹ１を設定した場合は、各プログラムＰｇ１〜Ｐｇ３は、リソース情報取得手段１を用いて外部記憶装置Ｂに保持されているプロセッサリソース情報ＰＲを取得し、プログラム関連付け手段２を用いてプロセッサリソース情報ＰＲを各プログラムＰｇ１〜Ｐｇ３に関連付け、プロセッサリソース割付手段３を用いて第１のプログラムＰｇ１および第２のプログラムＰｇ２に第１のプロセッサＰＣ１上のキャッシュを均等に割り付け、第３のプログラムＰｇ３に第２のプロセッサＰＣ２上のキャッシュを割り付けることにより、各プログラムＰｇ１〜Ｐｇ３は動作する。
【００４４】
次に、図７を用いて、プロセッサリソース情報ＰＲの各プログラムＰｇ１〜Ｐｇ３のキャッシュに第２の指示情報ＡＮＹ２を設定した場合の動作について説明する。
【００４５】
第２の指示情報ＡＮＹ２を設定した場合は、各プログラムＰｇ１〜Ｐｇ３は、リソース情報取得手段１を用いて外部記憶装置Ｂに保持されているプロセッサリソース情報ＰＲを取得し、プログラム関連付け手段２を用いてプロセッサリソース情報ＰＲを各プログラムＰｇ１〜Ｐｇ３に関連付け、プロセッサリソース割付手段３を用いて第１のプログラムＰｇ１および第２のプログラムＰｇ２に第１のプロセッサＰＣ１上の同じキャッシュを割り付け、第３のプログラムＰｇ３に第２のプロセッサＰＣ２上のキャッシュを割り付けることにより、各プログラムＰｇ１〜Ｐｇ３は動作する。
【００４６】
次に、図８を用いて、プロセッサリソース情報ＰＲの各プログラムＰｇ１〜Ｐｇ３のキャッシュに第３の指示情報ＡＮＹ３を設定した場合の動作について説明する。
【００４７】
第３の指示情報ＡＮＹ３を設定した場合は、各プログラムＰｇ１〜Ｐｇ３は、リソース情報取得手段１を用いて外部記憶装置Ｂに保持されているプロセッサリソース情報ＰＲを取得し、プログラム関連付け手段２を用いてプロセッサリソース情報ＰＲを各プログラムＰｇ１〜Ｐｇ３に関連付け、プロセッサリソース割付手段３を用いて第１のプログラムＰｇ１および第２のプログラムＰｇ２に第１のプロセッサＰＣ１上のキャッシュをプロセッサリソース情報ＰＲ中の性能情報に比例した割合で分散して割り付け、第３のプログラムＰｇ３に第２のプロセッサＰＣ２上のキャッシュを割り付けることにより、各プログラムＰｇ１〜Ｐｇ３は動作する。
【００４８】
（実施の形態２）
図９は本発明の実施の形態２におけるプログラム実行装置および周辺装置の構成を示すブロック図である。図９において、実施の形態１の図１におけるのと同じ符号は同一構成要素を指している。本実施の形態に特有の構成は、次のとおりである。３ａはリソース異常検出手段、４は検出情報出力手段である。リソース異常検出手段３ａは、プログラム関連付け手段２で各プログラムＰｇ１〜ＰｇＮに関連付けられたプロセッサリソース情報ＰＲの異常情報を検出するものであり、プロセッサリソース割付手段３に含まれている。検出情報出力手段４は、リソース異常検出手段３ａで検出した情報を外部に出力する機能を備えている。その他の構成については、実施の形態１と同様であるので、説明を省略する。
【００４９】
このように構成された本実施の形態のプログラム実行装置の動作について説明する。図１０を用いて、プロセッサリソース情報ＰＲの第３のプログラムＰｇ３の動作プロセッサに不正な動作プロセッサ番号（図１０ではプロセッサｘ）を設定した場合の動作について説明する。
【００５０】
第３のプログラムＰｇ３は、リソース情報取得手段１を用いて外部記憶装置Ｂに保持されているプロセッサリソース情報ＰＲを取得し、プログラム関連付け手段２を用いてプロセッサリソース情報ＰＲを第３のプログラムＰｇ３に関連付け、プロセッサリソース割付手段３を用いて第１のプログラムＰｇ１にプロセッサリソース情報ＰＲ中の動作プロセッサ、性能、キャッシュの情報に対応するプロセッサ、性能、キャッシュを割り付ける際、リソース異常検出手段３ａでプロセッサリソース情報ＰＲ中の動作プロセッサ番号（図１０ではプロセッサｘ）のプロセッサが存在しないことを検出し、動作可能なプロセッサ番号（図１０では第２のプロセッサＰＣ２）のプロセッサを割り付けることにより、第３のプログラムＰｇ３は第２のプロセッサＰＣ２上で動作し、同時に検出情報出力手段４は検出した情報を外部に出力する。
【００５１】
以上、本実施の形態によれば、プログラムの処理性能をプロセッサリソース情報としてプログラムに関連付け、関連付けたプロセッサリソース情報に従ってプログラムにプロセッサリソースを割り付けるため、プログラムの処理性能の保証ができ、プロセッサリソース情報を変更するだけでプログラムの処理性能を変更することが可能なため、プログラム設計の柔軟性を有することができる。
【００５２】
次に、リソース情報取得手段１が取得したプロセッサリソース情報ＰＲ中の性能情報に不正な性能値が記載されている場合について説明する。この場合、リソース異常検出手段３ａが不正な性能値であることを検出し、プロセッサリソース割付手段３はプログラムに対する性能の割り付けを停止し、検出情報出力手段４は検出情報を出力する。これにより、プロセッサリソース情報ＰＲ中の性能情報の異常を検出することができる。
【００５３】
次に、リソース情報取得手段１が取得したプロセッサリソース情報ＰＲ中のキャッシュ情報に不正なキャッシュサイズまたはキャッシュ位置が記載されている場合について説明する。この場合、リソース異常検出手段３ａが不正なキャッシュサイズまたはキャッシュ位置であることを検出し、プロセッサリソース割付手段３はプログラムに対するキャッシュの割り付けを停止し、検出情報出力手段４は検出情報を出力する。これにより、プロセッサリソース情報ＰＲ中のキャッシュ情報の異常を検出することができる。
【００５４】
次に、リソース情報取得手段１が取得したプロセッサリソース情報ＰＲ中の動作プロセッサ情報に不正なプロセッサ番号が記載されている場合について説明する。この場合、リソース異常検出手段３ａが不正なプロセッサ番号であることを検出し、プロセッサリソース割付手段３はプログラムに正常なプロセッサ番号のプロセッサを割り付ける。これにより、プロセッサリソース情報ＰＲの動作プロセッサの異常を検出し、異常設定を修正し、プログラムに動作プロセッサを割り付けることができる。
【００５５】
本発明は、以上の実施の形態に限定されることなく、本発明の技術的範囲内で種々の変更が可能であり、それらも本発明に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【００５６】
以上のように、本発明にかかるプログラム実行装置は、複数のプログラムの必要性能を満たすとともに、プログラムはプロセッサ構成に依存しない記述が可能となる。このことから、処理性能を機能ごとに割り当て、機能を複数プログラムで実現することで、処理性能を確保するためのプログラム設計を容易にすることができ、プログラム設計の柔軟性をもたらす。
【００５７】
これらは、複数の音声映像処理を同時並行的にリアルタイムに行う機器や、当該機器の開発環境等として適用可能である。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施の形態１におけるプログラム実行装置および周辺装置の構成を示すブロック図
【図２】実施の形態１においてプロセッサリソース情報に、動作プロセッサ番号、性能値、キャッシュサイズまたはキャッシュ位置を指定した場合のプログラム実行装置の動作を示すブロック図
【図３】実施の形態１においてプロセッサリソース情報の動作プロセッサに第１の指示情報ＡＮＹ１を指定した場合のプログラム実行装置の動作を示すブロック図
【図４】実施の形態１においてプロセッサリソース情報の動作プロセッサに第２の指示情報ＡＮＹ２を指定した場合のプログラム実行装置の動作を示すブロック図
【図５】実施の形態１においてプロセッサリソース情報の性能に指示情報ＡＮＹを指定した場合のプログラム実行装置の動作を示すブロック図
【図６】実施の形態１においてプロセッサリソース情報のキャッシュに第１の指示情報ＡＮＹ１を指定した場合のプログラム実行装置の動作を示すブロック図
【図７】実施の形態１においてプロセッサリソース情報のキャッシュに第２の指示情報ＡＮＹ２を指定した場合のプログラム実行装置の動作を示すブロック図
【図８】実施の形態１においてプロセッサリソース情報のキャッシュに第３の指示情報ＡＮＹ３を指定した場合のプログラム実行装置の動作を示すブロック図
【図９】本発明の実施の形態２におけるプログラム実行装置および周辺装置の構成を示すブロック図
【図１０】実施の形態２においてプロセッサリソース情報に異常値を指定した場合のプログラム実行装置の動作を示すブロック図
【符号の説明】
【００５９】
Ａ  プログラム実行装置
Ｂ  外部記憶装置
１  リソース情報取得手段
２  プログラム関連付け手段
３  プロセッサリソース割付手段
３ａ  リソース異常検出手段
４  検出情報出力手段
ＰＣ１〜ＰＣｎ  プロセッサ
Ｐｇ１〜ＰｇＮ  プログラム
ＰＲ  プロセッサリソース情報
【図１】
2009075827.tif 000003
【図２】
2009075827.tif 000004
【図３】
2009075827.tif 000005
【図４】
2009075827.tif 000006
【図５】
2009075827.tif 000007
【図６】
2009075827.tif 000008
【図７】
2009075827.tif 000009
【図８】
2009075827.tif 000010
【図９】
2009075827.tif 000011
【図１０】
2009075827.tif 000012