米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 松下電器産業株式会社

発明の名称 プログラムローダ
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開平7−105158
公開日 平成7年(1995)4月21日
出願番号 特願平5−274950
出願日 平成5年(1993)10月5日
代理人 【弁理士】
【氏名又は名称】岡本 宜喜
発明者 水野 雅信
要約 目的
マルチプロセッサ信号処理システムにおいて、一ブロックのプロセッサのプログラムの再ロードする際、ロードするプログラムの実行により生じるハードウェア資源の使用でのプロセッサ間の競合を避けること。

構成
ターゲットシステムのハードウェア資源の使用状態を記憶する使用状態記憶手段2を備える。そしてプログラムのロード前に競合判定手段3によって記憶したハードウェア資源の使用状態と照合して競合の有無を判定する。競合が生じない場合にのみプログラムをデータ転送手段5によってロードする。そしてプログラムをロードする場合には使用状態更新手段4により最新のハードウェア資源の使用状態に記憶を更新する。
特許請求の範囲
【請求項1】 ホスト装置からマルチプロセッサ構成の信号処理プロセッサ装置にプログラムをダウンロードするプログラムローダであって、プログラムオブジェクトとロード先信号処理プロセッサを指定するロードプログラム指定手段と、ターゲットシステムを構成するハードウェア資源を使用するプロセッサとその実行プログラム名を記憶する使用状態記憶手段と、ハードウェア資源の使用について、前記ロードプログラム指定手段によって指定するプログラムの実行が既にロードされている他のプログラムと競合する状態を前記使用状態記憶手段に記憶する情報に基づき判定する競合判定手段と、前記競合判定手段によって競合無と判定されたときにプログラムオブジェクトデータをターゲットシステムにロードするデータ転送手段と、プログラムオブジェクトのロード時に前記使用状態記憶手段に記憶する情報を更新する使用状態更新手段と、を具備することを特徴とするプログラムローダ。
発明の詳細な説明
【0001】
【産業上の利用分野】本発明は、マルチプロセッサ構成のデジタル映像信号処理プロセッサシステムのプログラム開発装置に関するものである。特にホスト装置からターゲットプロセッサにロードオブジェクトをダウンロードするプログラムローダに関するものである。
【0002】
【従来の技術】デジタル映像信号処理を目的とした信号処理プロセッサ装置では、 ホスト装置からロードされたプログラムによる制御を行い、高い汎用性を得るとともにマルチプロセッサ構成を採用した並列処理によって映像信号を実時間で処理する処理能力を得ている。
【0003】このようなデジタル映像信号処理を行う信号処理プロセッサにおいて、信号処理を実行している際に画質評価・調整のために、フィルタ(タップ数や係数)など一部分の処理内容を変えたプログラムを再ロードして処理内容を変更して実行する場合や、フィールドあるいはフレーム単位でアダプティブに処理内容を変更して実行する場合がある。
【0004】このようなプログラムの変更では、アプリケーション全体からみて一部分の処理の変更であることが多く、又マルチプロセッサ構成では、複数のプログラムが並列に処理を行っているので一部のプロセッサのプログラムデータのみを再ロードして許容される時間内に処理内容を切り替えている。従来のプログラムローダでは、差し替えるプログラムオブジェクトとロード先プロセッサを指定してダウンロードを行っていた。
【0005】
【発明が解決しようとする問題点】マルチプロセッサ構成の信号処理システムは、データ転送バスや共有メモリ等のプロセッサ間で共用されるハードウェア資源を具備し、これを実行する信号処理内容に応じて個々のプロセッサで実行されるプログラムに割り当て、各々のプロセッサのプログラムがこれを占有して使用する。
【0006】このようなシステムにおいて一部のプロセッサのプログラムのみを再ロードして実行する場合には、既にロードされている他のプロセッサのプログラムが使用するハードウェア資源を再ロードしたプログラムが競合して使用する可能性がある。このような競合が生じれば、再ロードしたプログラム自体の処理が正しくても競合のために正しい信号処理結果が得られない場合が生じる。このような競合が発生するとプログラム単体の不具合でないため、特に原因の解析が困難である。
【0007】しかしながら、従来のプログラムローダでは一部のプロセッサの実行プログラムを再ロードする際、既にロード・実行されているプログラムの情報を持たないため、再ロードした新たなプログラムが既に他のプロセッサのプログラムが占有して使用するハードウェア資源を競合して使用することを防ぐ手段を持っていなかった。このため、ハードウェア資源の競合を判定するために全プロセッサにロードするプログラムオブジェクトを再コンパイル及び再リンクし、ターゲットシステムに再ロードする必要が生じていた。即ち、従来のプログラムローダでは、一部の処理内容の変更であっても、フレーム単位でアダプティブな処理などの実時間性を保った短時間の連続的な処理内容の変更ができない、あるいはプロセッサ間の競合のため、処理結果が保証されないという問題点を有していた。
【0008】本発明は上記問題点に鑑み、一部のプロセッサにプログラムを再ロードする際、予めハードウェア資源における競合を判定し、競合のないプログラムが実行されることを保証するプログラムロード手段を提供することを目的とする。
【0009】
【課題を解決するための手段】本発明はホスト装置からマルチプロセッサ構成の信号処理プロセッサ装置にプログラムをダウンロードするプログラムローダであって、プログラムオブジェクトとロード先信号処理プロセッサを指定するロードプログラム指定手段と、ターゲットシステムを構成するハードウェア資源を使用するプロセッサとその実行プログラム名を記憶する使用状態記憶手段と、ハードウェア資源の使用について、ロードプログラム指定手段によって指定するプログラムの実行が既にロードされている他のプログラムと競合する状態を使用状態記憶手段に記憶する情報に基づき判定する競合判定手段と、競合判定手段によって競合無と判定されたときにプログラムオブジェクトデータをターゲットシステムにロードするデータ転送手段と、プログラムオブジェクトのロード時に使用状態記憶手段に記憶する情報を更新する使用状態更新手段と、を具備することを特徴とするものである。
【0010】
【作用】このような特徴を有する本発明のプログラムローダによれば、ターゲットシステムの具備する共用ハードウェア資源の各々についてこれを占有して使用するプロセッサとそのプログラムを記憶する手段を備えている。そして一部のプロセッサにプログラムを再ロードする際、再ロードされるプログラムよるハードウェア資源の使用が他の実行中のプログラムのハードウェア資源の使用と競合するか否かを判定し、競合のない場合にのみプログラムオブジェクトをターゲットシステムにロードする。こうすれば競合することなくプログラムが実行されることが保証できることとなる。
【0011】
【実施例】以下本発明の一実施例として、ターゲットシステムと結合するデータ転送バス装置を具備する計算機システム上で実現されるプログラムローダについて、図面を参照しながら説明する。図1は本発明の一実施例によるプログラムローダの構成を示すブロック図である。図1において、ロードプログラム指定手段1はターゲット信号処理システムに対してダウンロードするホスト装置上のプログラムオブジェクトとロード先プロセッサを指定するものである。ロードプログラム指定手段1は、キーボードによる入力装置によって実現でき、キー入力されたプログラム名とロード先プロセッサ番号を検出するものであり、その出力は使用状態記憶手段2に入力される。使用状態記憶手段2はターゲット信号処理システムが具備するハードウェア資源の各々について、これを占有して使用するプロセッサ及びその実行プログラム名を記憶する。図2に使用状態記憶手段2に記憶される情報の構成を示す。
【0012】図2において、21はターゲットシステムが具備する一つのハードウェア資源に対する使用状態を示す資源占有情報である。資源占有情報21は、ターゲットシステムにおいて使用可能なハードウェア資源を示す資源コード211、ターゲットシステムを構成する個々のプロセッサを識別するプロセッサID212、ダウンロードされたプログラム名213から構成される。資源占有情報21は、ハードウェア資源コードが示すハードウェア資源に対してこれを占有して使用するプロセッサと当該プロセッサにロードされたプログラム名を与えるものである。
【0013】図2に示す使用状態記憶手段に記憶される情報全体は、ハードウェア資源コード211、プロセッサID212、プログラム名213の組を単位とした複数の資源占有情報21から構成する。資源占有情報21は、ターゲットシステムにおいて利用可能なハードウェア資源の個数だけ設定される。
【0014】全くプログラムロードを行っていない初期状態では、各々の資源占有情報21は未使用であることを示す初期値が設定される。又資源占有情報21はこれを構成する資源コード211、プロセッサID212又はプログラム名213を識別子として個別に検索し参照でき、又個別にその設定値が更新できる構造をもつ。
【0015】次に図1において、競合判定手段3は前記のロードプログラム指定手段1によって指定されるプログラムが使用するハードウェア資源が他のプログラムによって競合して使用されるか否かを、使用状態記憶手段2に記憶される情報によって判定するものである。
【0016】図1の使用状態更新手段4は、ロードプログラム指定手段1で指定されたプログラムのロードによって変化する新たなハードウェア資源の使用状態を、使用状態記憶手段2に記憶するものである。
【0017】図1のデータ転送手段5は、競合判定手段3によって競合無と判定されデータ転送の実行を指定されると、ロードプログラム指定手段1によって指定されたターゲットシステムのプロセッサに同じく指定されたプログラムのオブジェクトデータを読み出してVMEバス等の専用の転送バスを介してデータ転送を行うものである。
【0018】続いて本実施例のプログラムローダの動作を図3を参照して説明する。図3は、プログラムロードの処理の流れを示すフローチャートである。まず、ロードプログラム指定手段1を用いてロード先プロセッサ及びロードプログラムが指定される(ステップ11)。次に競合判定手段3によって、指定されたプロセッサID、プログラム名及び使用状態記憶手段2に記憶される資源占有情報をもとに競合の判定を行う。
【0019】競合判定手段3では、まず、ロードプログラム指定手段1によってロード先プロセッサ及びプログラムオブジェクトが指定されると、使用状態記憶手段2を検索し、指定されたプロセッサに該当するプロセッサIDを持つ資源占有情報を求め、求めた資源占有情報のプロセッサIDとプログラム名を初期化する(ステップ12)。初期化された資源占有情報は、対応するハードウェア資源が未使用であることを意味する。
【0020】次にロードプログラム指定手段1によって指定されたプログラムオブジェクトデータを読み出し、読み出したプログラム命令に含まれるターゲットシステムのハードウェア資源を操作するプログラム命令をもとに当該プログラムが使用するハードウェア資源を検出する(ステップ13)。
【0021】上記ステップ13で検出されたハードウェア資源の各々に関して、対応する資源占有情報を使用状態記憶手段2より求める(ステップ14)。
【0022】次にステップ14で求めた資源占有情報の各々について設定されているプロセッサIDとプログラム名を順次読み出し、特定のプロセッサIDとプログラム名を示す初期値以外の値が設定される資源占有情報が1つ以上ある場合は競合があるものと判定する(ステップ15)。競合ありと判定された場合は処理を終了する。
【0023】ステップ15において競合なしと判定された場合は、使用状態更新手段4を用いてステップ14において読み出されたすべての資源占有情報について、プロセッサID値とプログラム名をロードプログラム指定手段1によって指定されたプロセッサのID値とプログラム名に設定し改めて使用状態記憶手段2に記憶する(ステップ16)。
【0024】最後にステップ17において、ロードプログラム指定手段1によって指定されたプロセッサに同じく指定されたプログラムオブジェクトを専用バスを使用して転送する。ステップ17はデータ転送手段5の機能を達成している。
【0025】以上のようにして、プログラムのロードが指定されると使用状態記憶手段2に記憶したターゲットシステム上のハードウェア資源の使用状態をもとに競合の判定を行い、競合の無い場合にのみオブジェクトデータの転送が行われる。又、プログラムローダは、新たにプログラムがロードされると、これによって変化するハードウェア資源の使用状態を更新して使用状態記憶手段2に記憶する。
【0026】本実施例のプログラムローダでは全くプログラムがロードされていない初期状態においても、既にロードしたプログラムが実行されており、一部のプロセッサの実行プログラムを差し替えて処理内容を変更する場合にもロードプログラムを順次指定してプログラムロードを行うことにより、ハードウェア資源の使用に関して競合のないプログラムの実行が保証される。
【0027】以上のように構成されたプログラムローダについて、このプログラムローダが適用されるマルチプロセッサシステムに基づいてより具体的に図面を参照しながら説明する。図4は、動作例の説明に用いるマルチプロセッサ構成信号処理システムの構成図である。この信号処理システムは、4つの信号処理プロセッサA、B、C、Dから構成する。図4において61は、信号処理プロセッサAと信号処理プロセッサBと信号処理プロセッサCから出力されるデータを信号処理プロセッサDに入力するデータ転送チャンネルである。同じく図4の62は、信号処理プロセッサAと,B,Cから出力されるデータを信号処理プロセッサDに入力する他のデータ転送チャンネルである。データ転送チャンネル61,62は、信号処理プロセッサA,B,Cによって共用されるが、プロセッサの出力データの衝突を避けるため、処理内容に応じて信号処理プロセッサA,B,Cのうち一つのプロセッサに排他的に使用される。
【0028】これに対して図5は、ある時点で本実施例のプログラムローダの備える使用状態記憶手段2に記憶される図4のデータ転送チャンネル61及び62の資源占有情報を示す図である。図5の611は、図4のデータ転送チャンネル61の資源占有情報であり、資源コードとしてCH0 、プロセッサIDとしてA、プログラム名としてP1が設定されている。これはデータ転送チャンネル61が、信号処理プロセッサAにロードされたプログラムP1によって占有されていることを示す。同じく図5の621は、図4のデータ転送チャンネル62の資源占有情報であり、資源コードCH1 で示されるデータ転送チャンネル62が、信号処理プロセッサBにロードされたプログラムP2によって占有されていることを示す。
【0029】図5に示したプログラムのハードウェア資源の使用状態において、信号処理内容を変更するためにロードプログラム指定手段1によってロード先プロセッサに信号処理プロセッサC、ロードプログラムにP3を指定する場合について、本実施例のプログラムローダの動作を説明する。このプログラムP3には、データ転送チャンネル62を用いて信号処理プロセッサDにデータを転送する命令が含まれるものとする。プログラムP3が信号処理プロセッサCで実行されるとデータ転送チャンネル62の使用に関して信号処理プロセッサBとの競合が発生する。
【0030】まず本実施例のプログラムローダでは、競合判定手段3によってプロセッサIDがCとなっている資源占有情報を使用状態記憶手段2から検索する。プロセッサIDがCである資源占有情報はないので、ステップ12の初期化は行われない。次にステップ13においてプログラムP3のプログラム命令が走査される。プログラムP3にはデータ転送チャンネル62を用いて信号処理プロセッサDにデータ転送を行う命令が含まれるので、プログラムP3の占有するハードウェア資源としてデータ転送チャンネル62が検出される。これに対しステップ14において、データ転送チャンネル62の資源コードCH1 を識別子として、使用状態記憶手段2の資源占有情報を検索し、資源占有情報621を求める。資源占有情報621のプロセッサIDにはBが設定されているのでロードプログラム指定手段1によって指定されたプロセッサIDとは一致しない。従って競合があると判断してしデータ転送を行わない。
【0031】次に図5に示したプログラムのハードウェア資源の使用状態において、ロードプログラム指定手段2によってロード先プロセッサに信号処理プロセッサB、ロードプログラムに上記のP3を指定する場合の動作を説明する。
【0032】まず、プロセッサIDがBとなっている資源占有情報を使用状態記憶手段2に記憶される情報から検索し、プロセッサIDとプログラム名とを初期化する(ステップ12)。この場合、図5に示すようにプロセッサIDがBである資源占有情報621が求められ、プロセッサIDとプログラム名が初期値NILに変更される。図6は以上の処理によって初期化された使用状態記憶手段2に記憶されるデータ転送チャンネル61及び62の資源占有情報を示す図である。図6の612はデータ転送チャンネル61の資源占有情報であり、622はデータ転送チャンネル62の資源占有情報である。資源占有情報612は変更されないが、資源占有情報622のプロセッサIDとプログラム名には初期値NILが設定されている。
【0033】次にステップ13においてプログラムP3のプログラム命令が走査され、P3の占有するハードウェア資源としてデータ転送チャンネル62が検出される。これに対してステップ14において使用状態記憶手段2から対応する資源コードCH1を持つ資源占有情報622が検索され、プロセッサIDとプログラム名が照合される。この場合は、ともに初期値が設定されているので競合なしと判断され、新たにプロセッサIDを指定のB、プログラム名をP3と設定して使用状態記憶手段2に記憶する(ステップ15)。図7は更新後の使用状態記憶手段2に記憶されるデータ転送チャンネル61及び62の資源占有情報を示す図である。図7の613はデータ転送チャンネル61の資源占有情報であり、623はデータ転送チャンネル62の資源占有情報である。資源占有情報623のプロセッサIDとプログラム名には、指定されたプロセッサBのIDとプログラム名P3が設定されている。
【0034】続いて、ステップ17に進みデータ転送手段5によってプログラムP3のオブジェクトデータがプロセッサBに転送される。
【0035】このように本実施例のプログラムローダでは、全くプログラムがロードされていない初期状態においても、既にロードしたプログラムが実行されている状態で、一部のプロセッサの実行プログラムを差し替えて処理内容を変更する場合にも、使用状態記憶手段2に記憶したターゲットシステム上のハードウェア資源の使用状態をもとに競合の判定を行い、競合の無い場合にのみオブジェクトデータを転送する。これによって常にハードウェア資源の使用に競合を生じないプログラムの実行が保証される。プログラムローダは、新たにプログラムがロードされると、これによって変化するハードウェア資源の使用状態を更新して使用状態記憶手段2に記憶するので、プログラムの差し替え、処理内容の変更を繰り返す場合にも競合のないプログラムの実行が保証される。
【0036】
【発明の効果】以上詳細に説明したように本発明によれば、ターゲットシステムの具備する共用ハードウェア資源の各々についてこれを占有して使用するプロセッサとそのプログラムを記憶する手段をプログラムローダが備えることによって、一部のプロセッサにプログラムを再ロードし、処理内容を変更する場合に、再ロードされるプログラムによるハードウェア資源の使用が他の実行中のプログラムのハードウェア資源の使用と競合するか否かを判定し、競合の発生を防ぐことができる。従って競合のないプログラムのみが実行できることとなる。又、常に最新のハードウェア資源の使用状態が記憶されるので、繰り返しプログラムの再ロードを行い処理内容を変更する場合にも競合のないプログラムの実行が保証される。
【0037】これにより、フィルタ(タップ数や係数)など一部分の処理内容を変えたプログラムを再ロードして処理内容を変更して実行する場合や、フィールドあるいはフレーム単位でアダプティブに処理内容を変更して実行する場合に、ターゲットシステムの全プログラムを常に再ロードする必要がなく、実時間性を保った短時間の連続的な処理内容の変更が可能となる。又、信号処理システムによる処理結果に不具合が生じた場合も競合の可能性を除外できるので、原因の解析が容易になるという効果が得られる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013