JP2003167751A - プロセッサ処理方法およびプロセッサシステム - Google Patents

プロセッサ処理方法およびプロセッサシステム

Info

Publication number
JP2003167751A
JP2003167751A JP2001402073A JP2001402073A JP2003167751A JP 2003167751 A JP2003167751 A JP 2003167751A JP 2001402073 A JP2001402073 A JP 2001402073A JP 2001402073 A JP2001402073 A JP 2001402073A JP 2003167751 A JP2003167751 A JP 2003167751A
Authority
JP
Japan
Prior art keywords
program
processing
dsp
processor
processing request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001402073A
Other languages
English (en)
Other versions
JP2003167751A5 (ja
Inventor
Toshiki Yamamura
俊己 山村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2001402073A priority Critical patent/JP2003167751A/ja
Priority to US10/128,366 priority patent/US6981134B2/en
Publication of JP2003167751A publication Critical patent/JP2003167751A/ja
Publication of JP2003167751A5 publication Critical patent/JP2003167751A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 DSPによる処理のバラエティを増やすこ
と。 【解決手段】 CPU10と、CPU10に接続するR
OM20と、プログラムを格納するメモリ部50および
プログラムに従ってデータを処理するプロセッサ部40
を有するDSP30と、を備えるプロセッサシステム1
00に適用するプロセッサ処理方法であって、ROM2
0は、複数のプログラムとプログラムの処理に必要なパ
ラメータとを格納し、CPU10は、電源投入時にDS
P用の初期プログラムをROM20からDSPのメモリ
部50に投入し、以降は、外部から処理要求が来る毎に
処理要求に応じたプログラムと必要なパラメータとをR
OM20からメモリ部50に転送し、DSP30は、転
送されたプログラムとパラメータに基づいてプロセッサ
部40でデータを処理して外部へ出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロセッサ処理方
法およびプロセッサシステムに関し、特に、DSPとC
PUとを有するプロセッサシステムおよびそのプロセッ
サシステムに適用するプロセッサ処理方法に関する。
【0002】
【従来の技術】従来、データ処理などの信号処理に関し
て、汎用CPUを用いるやり方や、特定用途向けに特化
したASICを用いるやり方がある。ASICを設計す
ることにより、スピード的にもコスト的にも汎用CPU
よりもパフォーマンスを上げることができる。
【0003】また、この様なコア組み込み型ICの普及
に伴なって、ASICよりも広い分野に対応できる製
品、たとえば、音楽チップや画像処理チップなどとして
デジタルシグナルプロセッサ(以降DSP)が使用され
始めてきている。DSPは基本的に内部に信号処理部
(プロセッサ部)とそれを動作させるプログラム格納部
(メモリ)から構成され、ハードおよびソフトウェアの
両面を持つミドルウェアとして位置付けられる。
【0004】ここで、DSPを取り巻くシステムについ
て説明する。図56はDSPシステムの構成を示す説明
図である。Host−CPU10(以下CPU10)
は、上流処理11および下流処理12に必要な設定、た
とえばboot処理を行ない、また、DSP30にはプ
ログラムのダウンロード(転送)をおこなう。上流処理
11はCPU10から設定を受け取り、処理要求があっ
たときには、必要な動作をおこなってDSP30へ信号
を出す。下流処理12はCPU10より設定を受け取
り、DSP30から信号を受け取って必要な動作をおこ
なう。
【0005】なお、上流処理、下流処理はそれぞれシス
テム外部で信号を処理する処理部を包括的に表現したも
のであり、特に処理内容や構成が限定されるものではな
い。DSP30はCPU10よりプログラムをダウンロ
ードされ、上流処理11より信号を受け取って、ダウン
ロードされたプログラムにそって信号処理を行ない、下
流処理12へ処理された信号を出力する。
【0006】図57は、CPU10とDSP30の構成
の一例を示した説明図である。CPU10は内部に制御
プログラムを格納したROMを持ち、このROM内にD
SP30にダウンロードするプログラムを格納してい
る。CPU10がDSP30にダウンロードをおこなう
のは、電源投入時のBoot処理時や、リセット命令終
了後である。
【0007】図58は、CPU10による設定処理の流
れを示した説明図である。CPU10は、図に示した手
順でCPU10のROM内のDSPプログラム格納エリ
アの内容をDSP30のメモリ部へ投入する。DSP3
0は、図57に示したように、実際の信号入力/信号処
理/信号出力をおこなうプロセッサ部40と、プロセッ
サの動作を決定するプログラムを内蔵するためのメモリ
部50より構成され、メモリ部50にダウンロードされ
たプログラムに従って、処理をおこなっていく。
【0008】図59は、図56に示したのシステムが実
際に動作するシーケンスを示した説明図である。まず、
電源立ち上げ時に、外部からCPU10へ立ち上げ要求
が通知される。CPU10は立ち上げ通知を受けて、D
SP30、上流処理11、および、下流処理12へとB
oot処理を行ない、次に各部品へと設定をおこなって
いく。図はDSP30のみへの設定を示しており、CP
U10より処理設定、すなわちDSP10に対するプロ
グラムのダウンロードをおこなう。
【0009】プログラムのダウンロードが終了すると、
DSP30は入力信号待機状態となり、設定完了の返答
をCPU10へ返す。CPU10は上流処理11へ処理
開始の準備OKを通知する。上流処理11はDSP30
へ処理信号を随時送り、DSP30は受け取った信号を
処理して下流処理12へ送る。
【0010】このように、DSPを用いることにより、
ハードウェア部分を汎用性ある構成にして、ハードウェ
アにそったプログラムのバリエーションによって、再利
用性高く処理の範囲を広げることが可能となる。
【0011】
【発明が解決しようとする課題】しかしながら、従来の
技術では以下の問題点があった。すなわち、近年のIC
動作速度の高速化と、製品サイクル期間の短縮化による
製品毎の設計負担が増大するという問題点があった。す
なわち、ASICの設計途中やASICの発注途中に、
バージョンアップした仕様を盛り込ませる必要が生じた
り、仕様の一部を変更する必要が生じたりする場合があ
り、技術革新に適切に対応できないという問題点があっ
た。また、ASICは、その設計上、処理内容や、処理
に必要なパラメータが固定されてしまうため、適用の用
途が限られてしまうという問題点があった。また、従来
のDSPを用いても、必ずしも処理の範囲を広げること
ができないという問題点があった。
【0012】本発明は上記に鑑みてなされたものであっ
て、DSPによる処理のバラエティを増やすことを目的
とする。
【0013】また、DSPにより同時に複数種類の処理
を並行しておこなわせることを目的とする。
【0014】また、複雑なプログラムの組み合せが必要
である場合であっても、CPUがDSPに対してプログ
ラムの組を全体として高速に転送可能とすることを目的
とする。
【0015】また、メモリリソースもしくはレジスタリ
ソースの有効利用を図ることを目的とする。
【0016】また、DSPにおける処理時間を短縮させ
ることを目的とする。
【0017】
【課題を解決するための手段】上記の目的を達成するた
め、請求項1に記載のプロセッサ処理方法は、CPU
と、CPUに接続するROMと、プログラムを格納する
メモリ部およびプログラムに従ってデータを処理するプ
ロセッサ部を有するDSPと、を備えるプロセッサシス
テムに適用するプロセッサ処理方法であって、前記RO
Mが、複数のプログラムとプログラムの処理に必要なパ
ラメータとを格納し、前記CPUが、電源投入時にDS
P用の初期プログラムをROMからDSPのメモリ部に
投入し、以降は、プロセッサシステム外部から処理要求
が来る毎に当該処理要求に応じたプログラムと必要なパ
ラメータとをROMからDSPのメモリ部に転送し、前
記DSPが、プロセッサシステム外部から処理すべきデ
ータを入力し、メモリ部に転送されたプログラムとパラ
メータに基づいて当該データをプロセッサ部で処理して
プロセッサシステム外部へ出力することを特徴とする。
【0018】すなわち、請求項1にかかる発明は、RO
Mを取り替えるだけで設計変更に容易に対応できる。
【0019】また、請求項2に記載のプロセッサ処理方
法は、請求項1に記載のプロセッサ処理方法において、
前記ROMが、処理要求の種類に応じたプログラムを複
数格納し、前記CPUが、処理要求を任意のタイミング
で受け付け、それぞれの処理要求に応じたプログラムと
必要なパラメータとをROMからDSPのメモリ部に転
送し、前記DSPが、前記データに対する入出力I/F
を複数有し、前記データを前記複数の入出力I/Fから
それぞれ取り込み、メモリ部に転送されたプログラムと
パラメータに基づいて当該データをプロセッサ部で処理
してプロセッサ外部へ前記複数の入出力I/Fから出力
することを特徴とする。
【0020】すなわち、請求項2にかかる発明は、処理
要求を即座に受け入れる。
【0021】また、請求項3に記載のプロセッサ処理方
法は、請求項2に記載のプロセッサ処理方法において、
処理要求と処理要求を充足させるのに必要なプログラム
の組とを対応づけるテーブルを有し、前記CPUが、処
理要求に従って、前記テーブルを参照することにより、
DSPに転送すべきプログラムの組と必要なパラメータ
とを決定することを特徴とする。
【0022】すなわち、請求項3にかかる発明は、処理
要求を充足させるプログラムが何れであるか判断しなく
てすむ。
【0023】また、請求項4に記載のプロセッサ処理方
法は、請求項3に記載のプロセッサ処理方法において、
前記テーブルを前記ROMに格納したことを特徴とす
る。
【0024】すなわち、請求項4にかかる発明は、RO
Mの1チップに設計変更の可能性のある要素をすべて盛
り込むことができる。
【0025】また、請求項5に記載のプロセッサ処理方
法は、請求項1〜4のいずれか一つに記載のプロセッサ
処理方法において、前記CPUが、DSPのメモリ部に
おけるメモリ使用状況を認識し、プロセッサシステム外
部から処理要求が来る毎に当該処理要求に応じたプログ
ラムと必要なパラメータとをROMからDSPのメモリ
部の空き領域を探して転送することを特徴とする。
【0026】すなわち、請求項5にかかる発明は、メモ
リリソースの有効利用を図ることができる。
【0027】また、請求項6に記載のプロセッサ処理方
法は、請求項3または4に記載のプロセッサ処理方法に
おいて、前記CPUが、処理要求の履歴を保持し、プロ
セッサシステム外部から処理要求が来る毎に、従前の処
理要求と一致するか否かを判断し、一致しない場合に
は、前記テーブルを参照して処理要求を充足させるのに
必要な差分のプログラムと必要なパラメータとをROM
からDSPのメモリ部に転送し、前記DSPが、最新の
処理要求が従前の処理要求と一致する場合には、従前に
メモリ部に転送されたプログラムとパラメータを利用し
てデータをプロセッサ部で処理してプロセッサシステム
外部へ出力し、差分のプログラムとパラメータが転送さ
れた場合には、当該差分のプログラムとパラメータおよ
び従前にメモリ部に転送されていたプログラムとパラメ
ータに基づいてデータをプロセッサ部で処理してプロセ
ッサシステム外部へ出力する。
【0028】すなわち、請求項6にかかる発明は、転送
時間を短縮する。
【0029】また、請求項7に記載のプロセッサ処理方
法は、請求項6に記載のプロセッサ処理方法において、
前記CPUが、DSPのメモリ部におけるメモリ使用状
況を認識し、差分のプログラムと必要なパラメータとを
ROMからDSPのメモリ部の空き領域を探して転送
し、空き領域がなければ、処理要求の履歴を参照して、
不要な領域の開放をDSPに指示し、不要な領域の開放
後、差分のプログラムと必要なパラメータとをROMか
らDSPのメモリ部に転送することを特徴とする。
【0030】すなわち、請求項7にかかる発明は、転送
時間を短縮する。
【0031】また、請求項8に記載のプロセッサ処理方
法は、請求項1〜4のいずれか一つに記載のプロセッサ
処理方法において、前記CPUが、DSPのメモリ部に
おけるメモリ使用状況とプロセッサ部に備わるレジスタ
におけるレジスタ使用状況とを認識し、プロセッサシス
テム外部から処理要求が来る毎に、ROMから当該処理
要求に応じたプログラムと必要なパラメータとをDSP
のメモリ部の空き領域とプロセッサ部のレジスタの空き
領域とに分配して転送することを特徴とする。
【0032】すなわち、請求項8にかかる発明は、メモ
リリソースとレジスタリソースの有効利用を図ることが
できる。
【0033】また、請求項9に記載のプロセッサ処理方
法は、請求項3または4に記載のプロセッサ処理方法に
おいて、前記CPUが、処理要求の履歴を保持し、プロ
セッサシステム外部から処理要求が来る毎に、従前の処
理要求と一致するか否かを判断し、一致しない場合に
は、前記テーブルを参照して処理要求を充足させるのに
必要な差分のプログラムと必要なパラメータとをROM
からDSPのメモリ部およびプロセッサ部のレジスタに
分配して転送し、前記DSPが、最新の処理要求が従前
の処理要求と一致する場合には、従前に転送されたプロ
グラムとパラメータを利用してデータをプロセッサ部で
処理してプロセッサシステム外部へ出力し、差分のプロ
グラムとパラメータが転送された場合には、当該差分の
プログラムとパラメータおよび従前に転送されていたプ
ログラムとパラメータに基づいてデータをプロセッサ部
で処理してプロセッサシステム外部へ出力することを特
徴とする。
【0034】すなわち、請求項9にかかる発明は、転送
時間を短縮する。
【0035】また、請求項10に記載のプロセッサ処理
方法は、請求項9に記載のプロセッサ処理方法におい
て、前記CPUが、DSPのメモリ部におけるメモリ使
用状況とプロセッサ部に備わるレジスタにおけるレジス
タ使用状況とを認識し、差分のプログラムと必要なパラ
メータとをROMからDSPのメモリ部の空き領域とプ
ロセッサ部のレジスタの空き領域とに分配して転送し、
空き領域がなければ、処理要求の履歴を参照して、不要
な領域の開放をDSPに指示し、不要な領域の開放後、
差分のプログラムと必要なパラメータとをROMからD
SPのメモリ部とプロセッサ部のレジスタに転送するこ
とを特徴とする。
【0036】すなわち、請求項10にかかる発明は、転
送時間を短縮する。
【0037】また、請求項11に記載のプロセッサ処理
方法は、請求項6、7、9または10に記載のプロセッ
サ処理方法において、前記CPUが、処理要求の履歴を
過去1回分保持することを特徴とする。
【0038】すなわち、請求項11にかかる発明は、ル
ーチンワークがなされる場合に、DSPによる処理時間
を短縮させることができる。
【0039】また、請求項12に記載のプロセッサ処理
方法は、請求項8、9または10に記載のプロセッサ処
理方法において、前記プロセッサ部のレジスタが、ライ
ンメモリ、画像処理または音声処理のハードウェアに接
続し、当該ラインメモリやハードウェアのデータを読み
書きすることを特徴とする。
【0040】すなわち、請求項12にかかる発明は、複
雑な処理を高速かつ簡便におこなうことができる。
【0041】また、請求項13に記載のプロセッサ処理
方法は、請求項5〜10のいずれか一つに記載のプロセ
ッサ処理方法において、前記CPUからDSPへのプロ
グラムおよび必要なパラメータの転送を、処理要求を充
足させるのに必要な個々のプログラムが決定される毎に
その都度おこなうことを特徴とする。
【0042】すなわち、請求項13にかかる発明は、プ
ログラム投入の汎用性を高める。
【0043】また、請求項14に記載のプロセッサ処理
方法は、請求項5〜10のいずれか一つに記載のプロセ
ッサ処理方法において、前記CPUからDSPへのプロ
グラムおよび必要なパラメータの転送を、処理要求を充
足させるのに必要なプログラムの組が決定された後に一
括しておこなうことを特徴とする。
【0044】すなわち、請求項14にかかる発明は、プ
ログラム投入の汎用性を高める。
【0045】また、請求項15に記載のプロセッサシス
テムは、CPUとDSPとから構成され、データに対し
て複数の処理を施して用途に応じた機能を実現するプロ
セッサシステムであって、前記CPUが、複数の処理の
それぞれに対応したプログラムと、プログラムで使用す
るパラメータとを格納するROMに接続し、機能実現へ
向けた処理を開始させる処理要求を入力する処理要求入
力手段と、前記処理要求入力手段により入力された処理
要求に従って、前記DSPで処理させるべき処理の組み
合せおよび必要なパラメータを決定する決定手段と、前
記ROMに格納されたプログラムとパラメータの中か
ら、前記決定手段により決定された処理の組み合せにか
かるプログラムおよびパラメータを前記DSPに転送す
る転送手段と、を備え、前記DSPが、前記データを入
力するデータ入力手段と、前記CPUから転送されたプ
ログラムとパラメータを格納するRAMと、前記データ
入力手段により入力されたデータに対して、前記RAM
に格納されたプログラムとパラメータに基づいて一連の
処理を施し、前記用途に応じた機能を実現する処理手段
と、を備えたことを特徴とする。
【0046】すなわち、請求項15にかかる発明は、R
OMを取り替えるだけで設計変更に容易に対応できると
ともにDSPを用いた柔軟な処理が可能となる。
【0047】また、請求項16に記載のプロセッサシス
テムは、CPUとDSPとから構成され、データに対し
て複数の処理を施して用途に応じた機能を実現するプロ
セッサシステムであって、前記CPUが、複数の処理の
それぞれに対応したプログラムと、プログラムで使用す
るパラメータとを格納するROMに接続し、機能実現へ
向けた処理を開始させる処理要求を入力する処理要求入
力手段と、前記処理要求入力手段により入力された処理
要求に従って、前記DSPで処理させるべき処理の組み
合せおよび必要なパラメータを決定する決定手段と、前
記ROMに格納されたプログラムとパラメータの中か
ら、前記決定手段により決定された処理の組み合せにか
かるプログラムおよびパラメータを前記DSPに転送す
る転送手段と、を備え、前記DSPが、前記データを入
力するデータ入力手段と、前記CPUから転送されたプ
ログラムとパラメータを格納するRAMおよびレジスタ
と、前記データ入力手段により入力されたデータに対し
て、前記RAMに格納されたプログラムとパラメータに
基づいて前記レジスタを介して一連の処理を施し、前記
用途に応じた機能を実現する処理手段と、を備えたこと
を特徴とする。
【0048】すなわち、請求項16にかかる発明は、R
OMを取り替えるだけで設計変更に容易に対応できると
ともにDSPを用いた柔軟な処理が可能となる。
【0049】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら詳細に説明する。 実施の形態1.図1は、実施の形態1のプロセッサ処理
方法を適用するプロセッサシステムの構成の一例を示し
た概念図である。プロセッサシステム100は、CPU
10と、CPU10に接続するROM20と、プログラ
ムを格納するメモリ部50およびプログラムに従ってデ
ータを処理するプロセッサ部40を有するDSP30
と、を備える。なお、CPU10を適宜Host−CP
U10と称することとする。また、図では、ROM20
がCPU10内に構成されているが、これに限らずCP
U10に接続されていればよい。このとき、プログラム
転送の効率から、ROM20は、CPU10の制御の
下、内蔵する情報を高速に転送できる構成であることが
好ましい。
【0050】ROM20は、複数のプログラムとプログ
ラムの処理に必要なパラメータとを格納する。たとえ
ば、ROM20は、DSP30に対するダウンロード制
御プログラム(ダウンロードを制御する情報)や、DS
P30にダウンロードするプログラムを複数種類格納し
ている。メモリ部50は、電源投入時にROM20から
転送されてきたDSP用の初期プログラム(メイン制御
プログラム)を一度だけ格納し、以降は、同様に転送さ
れてくる必要なプログラムと必要なパラメータとを格納
する。この必要なプログラム等のダウンロード(転送)
は、電源投入時のBoot処理時や、リセット命令終了
後の他、任意に処理要求を受けつけておこなうことがで
きる。
【0051】DSP30は実際の信号入力/信号処理/
信号出力をおこなうプロセッサ部40と、プロセッサの
動作を決定するプログラムを内蔵するためのメモリ部5
0より構成され、メモリ部50にダウンロードされたプ
ログラムに従って、処理をおこなっていく。ここで、メ
モリ部50は図に示したようにDSP30自体が使用す
るコントロール領域と、Host−CPU10より送ら
れるプログラムを格納するプログラム領域からなる。
【0052】次に、CPU10からメモリ部50へのプ
ログラムをダウンロードする流れについて説明する。図
2は、DSPの処理に必要なプログラムのダウンロード
の流れを説明する説明図である。まず、要求がBoo
t、すなわち、電源投入時やリセット動作後のダウンロ
ード要求であった場合、CPU10はDSP30のメモ
リ部50のコントロール領域を初期化する制御をおこな
い、次に、メモリ部50のプログラム領域にメイン制御
プログラムをダウンロードする制御をおこなう。
【0053】メイン制御プログラムは、DSP30の核
の動作となるプログラムであり、後述の処理要求内容な
どに依存しない固定部分である。すなわち、メイン制御
プログラムは、DSP30にとって普遍の動作を制御す
るプログラムであり、Boot時等に一度だけダウンロ
ードしておけば、後はダウンロードの必要はない。な
お、Boot処理の設計変更がない場合は、このメイン
制御プログラムの内容をDSP自体に焼き付けておいて
もよい。
【0054】次に、DSP30に対する要求が処理要求
であった場合には、図2の右側の流れが選択される。こ
の場合、上流処理11および下流処理12などのプロセ
ッサシステム100周辺の設定がおこなわれるととも
に、データ処理に必要なプログラムおよびパラメータが
DSP30のメモリ部50にダウンロードされる。この
ダウンロード時には、その処理要求は、ROM20に格
納されたプログラム名を直接指示して設定要求をおこな
うため、要求によって処理にバラエティを持たせること
ができる。また、プロセッサシステム100は、メイン
制御プログラムがダウンロード済であるため、処理要求
があった場合にのみ、その都度必要な変動部分のプログ
ラムのみをダウンロードすればよいこととなる。
【0055】図3は、プロセッサシステムのシーケンス
例を示した説明図である。最初に立ち上げ時(電源の投
入時やリセット終了時)の設定として、外部よりCPU
10への立ち上げ要求が通知される。CPU10は立ち
上げ要求を受けて、DSP30を含めて、必要な全ての
通知先(接続先)へBoot処理をおこなう。このと
き、DSP30は、メモリ部50のDSPコントロール
領域の初期化をおこない、ROM20からメイン制御プ
ログラムを入力し、メモリ部50のプログラム領域へ格
納する。
【0056】その後、CPU10がプロセッサシステム
100の外部から処理要求1を受けると、CPU10
は、処理要求1に合致したプログラム(処理プログラ
ム)をROM20を参照して、メモリ部50内のプログ
ラム領域(メイン制御プログラム以外の領域)に動作プ
ログラムとしてダウンロードをおこなう。ダウンロード
完了後、DSP30は入力信号待機状態となり、設定完
了の返答をCPU10へ返す。CPU10は上流処理に
処理要求開始の準備OKを通知する。上流処理11は、
DSP30へ処理信号(DSPで処理すべきデータ)を
随時出力し、DSP30は、受け取った信号を処理して
下流処理12へ送る。
【0057】図示した例では、処理要求1の処理後に、
プロセッサシステム100の外部から処理要求2が通知
される。CPU10は、処理要求2に合致したプログラ
ムをROM20内を参照し、メイン制御プログラム以外
の領域に動作プログラムとしてダウンロードをおこな
う。以降、DSP30より設定完了をCPU10へ返
し、CPU10は処理開始の準備OKを上流処理11に
通知し、上流処理11から処理信号が入力されてDSP
30で処理がおこなわれる。
【0058】ここで説明した例では、処理要求1と処理
要求2で、それぞれプログラムがダウンロードされる
が、メイン制御プログラム部分は最初に投入されて変化
しないため、処理プログラム部分だけが選択されてダウ
ンロードされることになる。従って、プロセッサシステ
ム100全体を通してみると、処理が短時間におこなわ
れるという効果を奏するとともに、処理の種類を豊富に
することができるという効果も奏する。特に、CPU1
0に接続されるROM10を変更するだけで、処理内容
の種類を増やしたり、プログラムバグを修正可能になる
とともに、プロセッサシステム100の適用範囲を広げ
ることができるという効果を奏する。
【0059】実施の形態2.次に、実施の形態2のプロ
セッサ処理方法について説明する。なお、実施の形態2
では、特に断らない限り、実施の形態1と同様の構成部
分については、同一の符号を付し、その説明を省略する
ものとする。
【0060】図4は、実施の形態2のプロセッサ処理方
法を適用するプロセッサシステムの構成の一例を示した
概念図である。Host−CPU10(以下CPU1
0)は、データ処理に際して、上流処理A111、上流
処理B112、下流処理A121、下流処理B122に
対して必要な設定を行ない、また、DSP31に対して
は、プロセッサシステム101の外部からの処理要求に
応じて必要なプログラムのダウンロード制御をおこな
う。
【0061】上流処理A111および上流処理B112
は、CPU10から設定を受け取り、処理要求があった
ときには、必要な動作をおこなってDSP31へ信号
(DSP31で処理すべきデータ)を出力する。下流処
理A121および下流処理B122は、CPU10より
設定を受け取り、DSP31から出力された処理済みの
信号を入力し必要な動作をおこなう。
【0062】DSP31は、CPU10の制御に従って
ダウンロード(転送)された必要なプログラムおよびパ
ラメータを入力し、上流処理A111および/または上
流処理B112から信号を受け取って、ダウンロードさ
れたプログラムにそって信号処理を行ない、下流処理A
121および/または下流処理B122へ処理された信
号を出力する。
【0063】図5は、実施の形態2のプロセッサ処理方
法を適用するプロセッサシステムの一例を示したシステ
ム構成図である。プロセッサシステム101は、CPU
10とDSP31を有する。CPU10は、内部に制御
プログラムを格納したROM20を持ち、このROM2
0内にDSP31にダウンロードするプログラムを格納
している。DSP31は、信号処理の入力として2系
統、出力として2系統のI/Fを持つプロセッサ構成で
あり、これら入力および出力は非同期で任意にデータを
入力または出力可能な構成となっている。
【0064】図6は、DSPの処理に必要なプログラム
のダウンロードの流れを説明する説明図である。まず、
要求がBoot、すなわち、電源投入時やリセット動作
後のダウンロード要求であった場合、CPU10はDS
P31のメモリ部50のコントロール領域を初期化する
制御をおこない、次に、メモリ部50のプログラム領域
に、メイン制御プログラムをダウンロードする。
【0065】メイン制御プログラムは、DSP30の核
の動作となるプログラムであり、後述の処理要求内容な
どによらず固定部分である。すなわち、メイン制御プロ
グラムは、DSP31に普遍の動作を制御するプログラ
ムであり、Boot時などに一度だけダウンロードして
おけば、後はダウンロードの必要はない。なお、Boo
t処理の設計変更がない場合は、このメイン制御プログ
ラムの内容をDSP自体に焼き付けておいてもよい。
【0066】次に、DSP31に対する要求が、処理要
求Aであった場合には、図6の右側に示した流れが選択
される。この場合、上流処理11および下流処理12な
どの周辺の設定とともに、データ処理に必要なプログラ
ムおよびパラメータがDSP31のメモリ部50にダウ
ンロードされる。ダウンロード時には、ROM20に格
納された処理要求Aに対するプログラム名が指定され、
メモリ部50のプログラム領域中のJob−Aプログラ
ム領域として指定されたエリアにダウンロードがなされ
る。
【0067】一方、DSP31に対する要求が、処理要
求Bであった場合にも、処理要求Aと同様の動作をする
が、プログラムの投入先として、DSP30のメモリ部
50のプログラム領域のJob−B領域として指定され
たエリアにダウンロードがおこなわれる。図7は、処理
要求Aおよび処理要求Bに対するプログラムのDSP3
0のメモリ部50への配置例を示した説明図である。
【0068】図8は、実施の形態2のメイン制御プログ
ラムの動作概念を説明した図である。これは、プログラ
ム領域にダウンロードされた2つの信号処理プログラ
ム、および、CPU10の割り込みに対する処理の関係
を時系列的に表したものである。たとえばDSP31が
SIMDタイプである場合、プロセッサ部41が持つ外
部との信号I/O(入力/出力)速度に比べ、内部信号
処理速度がはるかに速くプロセッサ部41内部での処理
時間数を稼ぐ。従って、結果的に複数のJobを時系列
的に動かすことで複数の外部からの入力または出力に対
して並列処理が可能となる。
【0069】図9は、プロセッサシステム101のシー
ケンス例を示した説明図である。立ち上げ時(電源の投
入時やリセット終了時)の設定として、外部よりCPU
10へ立ち上げ要求が通知される。CPU10は立ち上
げ要求を受けて、DSP31を含めて、必要な全ての通
知先(接続先)へBoot処理をおこなう。このとき、
DSP31は、メモリ部50のコントロール領域の初期
化をおこない、ROM20からメイン制御プログラムを
入力し、メモリ部50のプログラム領域へ格納する。
【0070】その後、CPU10がプロセッサシステム
101の外部から処理要求A−1を受けると、CPU1
0は、処理要求A−1に合致したプログラムをCPU1
0のROM20を参照して、DSP31のメモリ部50
内のプログラム領域のJob−Aプログラム領域に動作
プログラムとしてダウンロードをおこなう。ダウンロー
ド完了後、DSP31は入力信号待機状態となり、設定
完了の返答をCPU10へ返す。CPU10は上流処理
A111に処理要求A−1の開始の準備OKを通知す
る。上流処理A111は、DSP31へ処理信号(DS
Pで処理すべきデータ)を随時出力し、DSP31は、
受け取った信号を処理して下流処理A121へ送る。
【0071】図示した例では、処理要求A−1に対する
全ての処理が終った後、外部から処理要求B−1が通知
される。処理要求B−1が通知されると、CPU10
は、処理要求B−1に合致したプログラムをCPU10
のROM20を参照して、DSP31のメモリ部50内
のJob−Bプログラム領域に動作プログラムとしてダ
ウンロードをおこなう。以降は、処理要求A−1に対し
て説明したように、DSP31より設定完了をCPU1
0へ返し、CPU10は処理開始の準備OKを上流処理
B112に通知して、上流処理B112から処理信号が
入力されてDSP30で処理がおこなわれる。
【0072】すなわち、Job−AとJob−Bはメモ
リ部50への格納先も異なり、実際の処理タイミングも
非同期であるため、A/B系統の信号処理および入力、
出力を非同期でおこなうことが可能となる。図10は、
プロセッサシステム101が非同期の信号処理をする場
合のシーケンス例を示した説明図である。
【0073】図では、処理要求A−1の信号処理中に処
理要求B−1が通知されたときのシーケンスを表してい
る。この場合、処理要求A−1は既に図8に示したコマ
ンドI/F使用を終えて、信号処理へ移っているため、
処理要求B−1の指示に従ってDSP31へJob−B
プログラムを投入することが可能となり、かつ、その
後、信号処理Aおよび、信号処理Bについてもタイムシ
ェアリングによる並行処理を実現する。
【0074】ここで説明した例では、処理要求Aと処理
要求Bで、それぞれプログラムがダウンロードされる
が、DSP31が複数系統の入出力I/Fを持ち、ま
た、メイン制御プログラムに従って、処理要求Aと処理
要求Bをそれぞれ独立に処理可能であるので、DSP3
1により複数種類の処理を並行しておこなわせることが
できるという効果を奏する。
【0075】実施の形態3.次に、実施の形態3のプロ
セッサ処理方法について説明する。なお、実施の形態3
では、特に断らない限り、実施の形態1もしくは実施の
形態2と同様の構成部分については、同一の符号を付
し、その説明を省略するものとする。
【0076】図11は、実施の形態3のプロセッサ処理
方法を適用するプロセッサシステムの構成の一例を示し
た概念図である。図は、抽象的な処理要求からプログラ
ム部品を選択する場合のDSP32とCPU10の構成
例を示している。実施の形態3では、Host−CPU
10内部のROM21に格納されたプログラムは、処理
要求単位ではなく、更に細かい処理毎の部品の集まりと
して管理されている。すなわち、実施の形態3では、処
理要求と動作プログラムが1対1でなく、処理要求を充
足させるために、いくつかのプログラムを組み合わせて
処理を実現する。
【0077】図12は、処理要求を充足させるのに必要
なプログラムの組を決定する方法の一例を示した説明図
である。まず、処理要求が通知された場合、CPU10
は、処理要求プログラム変換手段にて、処理変換テーブ
ルを参照して、抽象的な要求である処理要求からDSP
41にダウンロードすべきプログラムの組み合せとパラ
メータとを決定する。
【0078】そして、決定したプログラムの組の情報を
ダウンロード手段に伝えて、DSP32のメモリ部50
内の対応したJobのプログラムエリアにそのプログラ
ムとパラメータとをダウンロードする。図13は、処理
変換テーブルの一例を示した説明図である。図示したテ
ーブルにおいて、Jobの種類とは、処理要求として入
力される大きな処理概念を示す。Jobの種類として
は、たとえば、DSP32が音声処理ICである場合に
は、音が篭っているのでクリアに、低音と高音を協
調して、等の機能的要求が挙げられる。また、DSP3
2が、画像処理ICの場合には、絵柄部分を綺麗に、
鉛筆文字を濃く、線を細く綺麗に、等の機能的要求
が挙げられる。
【0079】図13のテーブル中、要求の種類は、Jo
bの種類という大きな要求カテゴリーを細分化したプロ
グラムの組み合せに記したインデックスを表す。たとえ
ば、ディザ処理、γ処理、平滑化フィルタを用いた処理
など、様々なプログラムの組を採用することができる。
実際、プロセッサシステム102を応用した機器を使用
するユーザーは、内部の処理一つ一つの組み合せを意識
することなく、抽象的な要求をすることがほとんどであ
り、この手法により抽象的な要求を具体的なプログラム
の組み合せとして管理することが可能となる。
【0080】ここで説明した例では、処理変換テーブル
により、処理要求を充足させるプログラムが何れである
か判断しなくてすみ、CPU10の負荷が低減されると
ともに、複雑なプログラムの組み合せが必要であって
も、DSP32に高速に転送することができるという効
果を奏する。なお、処理変換テーブルをROM21に格
納させておくことで、設計変更の可能性のある要素をす
べて盛り込むことができ、プロセッサシステム102の
設計が容易になるという効果を奏する。
【0081】実施の形態4.次に、実施の形態4のプロ
セッサ処理方法について説明する。なお、実施の形態4
では、実施の形態1〜実施の形態3までと同様の構成部
分については、同一の符号を付し、その説明を省略する
ものとする。
【0082】なお、以降の実施の形態では、初期動作と
各処理要求の固定/変動部分を切り分けて処理要求毎の
ダウンロード量を減らし、並行動作と複数種類の処理要
求レベルに対応し、かつ、DSP自体が持つメモリ領域
の使用の最適化や、ダウンロード時間の短縮などを図る
ことのできるプロセッサ処理方法を説明するものであ
る。
【0083】図14は、実施の形態4のプロセッサ処理
方法を適用するプロセッサシステムの構成の一例を示し
た概念図である。プロセッサシステム103は、CPU
10と、CPU10に接続するROM22と、プログラ
ムを格納するメモリ部50およびプログラムに従ってデ
ータを処理するプロセッサ部40を有するDSP30
と、を備える。
【0084】ROM22は、複数のプログラムとプログ
ラムの処理に必要なパラメータとを格納する。たとえ
ば、ROM22は、DSP30に対するダウンロード制
御プログラムや、DSP30にダウンロードするプログ
ラムを複数種類格納している。このプログラムは、図1
3に示したように、たとえば、ダイナミックリンクライ
ブラリのように、小さなプログラムであって、複数のプ
ログラムが組み合わさって処理要求を充足させるような
プログラムである。図では、その類別を表すものとして
アルファベットa、b、cで区別している。
【0085】CPU10がDSP30に対するダウンロ
ード制御をおこなうのは、電源投入時のBoot処理時
や、リセット命令終了後がある。但しプロセッサシステ
ム103は、任意に処理要求を受けつけることもできる
構成としている。
【0086】DSP30は実際の信号入力/信号処理/
信号出力をおこなうプロセッサ部40と、プロセッサの
動作を決定するプログラムを内蔵するためのメモリ部5
0より構成され、メモリ部50にダウンロードされたプ
ログラムに従って、処理をおこなっていく。ここでメモ
リ部50は図に示したDSP30自体が使用するコント
ロール領域と、Host−CPU10より送られるプロ
グラムを格納するプログラム領域からなる。
【0087】次に、CPU10からメモリ部50へのプ
ログラムのダウンロードの流れについて説明する。図1
5は、DSPの処理に必要なプログラムのダウンロード
の流れを説明する説明図である。まず、要求がBoo
t、すなわち、電源投入時やリセット動作後のダウンロ
ード要求であった場合、CPU10はDSP30のメモ
リ部50のコントロール領域を初期化し、また、メモリ
部50のプログラム領域に、メイン制御プログラムをダ
ウンロードする。
【0088】このメイン制御プログラムは、DSP30
の核の動作となるプログラムで後述の処理要求内容など
によらず固定部分であり普遍の動作のため、Boot時
やリセット命令終了後に一度だけダウンロードしておけ
ば、後はダウンロードの必要はない。
【0089】次に、プロセッサシステム103に対する
要求が処理要求であった場合には、図15の右側の流れ
が選択される。この場合、上流処理および下流処理など
の周辺の設定とともに、データ処理に必要なプログラム
およびパラメータがDSP30のメモリ部50にダウン
ロードされる。ここで、要求設定がおこなわれる場合、
図16に示したように、CPU10は、処理要求を自身
のROM22に格納されているプログラム単位に分解
し、どのプログラムの組み合せでダウンロードするかを
決定する。
【0090】そして、プロセッサシステム103は、こ
のプログラムをダウンロードする先として、メモリ部5
0のプログラム領域のうち空いているところ、すなわ
ち、メイン制御プログラム以降のアドレスに、順序良く
詰めていくように投入する。
【0091】図17は、プロセッサシステム103のシ
ーケンス例を示した説明図である。立ち上げ時の設定と
して、電源の投入時、または、リセット終了時に、プロ
セッサシステム103の外部よりCPU10へ立ち上げ
要求が通知される。CPU10は立ち上げ要求を受け
て、DSP30を含めて、必要な全ての通知先(接続
先)へBoot処理をおこなう。このとき、DSP30
は、メモリ部50のコントロール領域の初期化をおこな
い、ROM22に格納されたメイン制御プログラムをメ
モリ部50のプログラム領域へダウンロードする。
【0092】その後、CPU10がプロセッサシステム
103の外部から処理要求1を受けると、CPU10
は、処理要求1に合致したプログラムをCPU10のR
OM22を参照して、DSP30のメモリ部50内のプ
ログラム領域のメイン制御プログラム以外の領域に動作
プログラムとしてダウンロードをおこなう。このとき、
図16に示したように、処理要求に対応した複数のプロ
グラムを組としてダウンロードする。ダウンロード完了
後、DSP30は入力信号待機状態となり、設定完了の
返答をCPU10へ返す。CPU10は処理開始の準備
OKを通知する。
【0093】上流処理11は、DSP30へ処理信号を
随時送り、DSP30は受け取った信号を処理して下流
処理12へ送る。そして全ての処理が終り、外部から処
理要求2が通知されると、CPU10は再び処理要求2
に合致したプログラムをCPU10のROM22を参照
して、DSP30のメモリ部50内のプログラム領域の
メイン制御プログラム以外の領域に動作プログラムとし
てダウンロードをおこなう。
【0094】以降、DSP30より設定完了をCPU1
0へ返し、CPU10は開始の準備OKを上流処理11
に通知して、上流処理11から処理信号が入力されてD
SP30で処理がおこなわれる。この際、異なる処理要
求1と2のダウンロードについては、メイン制御部分は
最初に投入されて変化しないため、差分である処理プロ
グラム部分だけが選択されてダウンロードされることに
なる。
【0095】実施の形態5.次に、実施の形態5のプロ
セッサ処理方法について説明する。なお、実施の形態5
では、実施の形態1〜実施の形態4までと同様の構成部
分については、同一の符号を付し、その説明を省略する
ものとする。
【0096】図18は、実施の形態5のプロセッサ処理
方法を適用するプロセッサシステムの構成の一例を示し
た概念図である。プロセッサシステム104は、CPU
10と、CPU10に接続するROM23およびRAM
22と、プログラムを格納するメモリ部50およびプロ
グラムに従ってデータを処理するプロセッサ部40を有
するDSP30と、を備える。
【0097】図18に示した例は、図14に示したDS
Pへの設定後に、新たに処理要求が生じた場合のメモリ
部50の内容の変化を示している。具体的には、図17
で示した処理要求1の設定が完了した後の時点から、次
の処理要求の設定等をおこなう場合を示している。な
お、説明の便宜上、処理要求1についてのプログラムダ
ウンロードが終了した時点のメモリ部50の内容を50
Aと表記し、次の処理要求2についてのプログラムダウ
ンロードが終了した時点のメモリ部50の内容を50B
と表記する。
【0098】まず、処理要求1に関するプログラムダウ
ンロードに関して、DSP30は、設定完了をCPU1
0へ通知する。つづいて、CPU10は処理開始の準備
OKを上流処理11に通知し、上流処理11は処理信号
を入力し、DSP30では処理要求1に対する設定に基
づき処理がおこなわれる。
【0099】このケースでは、CPU10内部のダウン
ロード制御プログラムによって、プログラム領域の特定
の場所にどのプログラムをどういう順番でおこなうか、
プログラムの位置を特定する。たとえば、アドレス情報
やプログラム名等の情報をメモリ部50のプログラム領
域中の「Jump先指定」領域に書き込み、メイン制御
プログラムがプログラム領域に存在する複数のプログラ
ムの何れを、どのような順序で処理するかを示すように
してある。
【0100】ここで、動作1の処理が終了した後も、C
PU10は、自身の内部に持つRAM22に処理要求1
に関するプログラムのダウンロード状況を保持してお
り、次の処理要求2が要求された時点で、過去、すなわ
ち処理要求1との差分を比較する。たとえば、処理要求
2が図16に示した要求2のプログラムの組み合せであ
った場合には、過去に既にダウンロードされているプロ
グラムであるb1とc1については再利用し、今までダ
ウンロードされていなかったa2とd2についてのみダ
ウンロードをおこなう。
【0101】このとき、CPU10は、Jump先指定
の領域に、 a2→b1→c1→d2 と処理順序についての制御情報を送信し、過去のダウン
ロードプログラムを差分管理して、メモリ部50の有効
利用する。
【0102】なお、このような差分プログラムをメモリ
部50のアドレス順に順次書き込んでゆくと、いつしか
プログラム領域が埋まってしまい、空きのプログラム領
域がなくなる可能性がある。そこで、空きのプログラム
領域が不足した場合のダウンロードについて説明する。
図19は、処理要求2の次に図16に示した処理要求3
のプログラムの組を格納する様子を示した説明図であ
る。なお、説明の便宜上、処理要求3についてのプログ
ラムダウンロードが終了した時点のメモリ部50の内容
を50Cと表記する。
【0103】処理要求3の内容は、 a3→b3→c2→d3 であるので、CPU10は、先ほど説明したのと同様
に、メモリ部50の空き領域を見つけて差分のプログラ
ムを書き込んでいく。このとき、a3,b3,c2と書
き込んだ時点でメモリ領域が埋まってしまう。そこで、
CPU10は、過去にダウンロードしたが、処理要求3
では不要であるプログラムの領域上に、要求されるプロ
グラム、このケースだとd3を上書きダウンロードす
る。CPU10は、また、Jump先指定の領域に、処
理要求3についてのプログラム順序を指示して設定を完
了する。
【0104】ここで説明した例では、差分のプログラム
をダウンロードして、所定の処理要求を満たすプログラ
ムの組を構成するので、ダウンロード時間を短縮するこ
とができるという効果を奏する。また、CPUがプログ
ラムの処理順序をメモリ部に伝達するので、処理の混乱
が発生しないという効果を奏する。
【0105】実施の形態6.次に、実施の形態6のプロ
セッサ処理方法について説明する。なお、実施の形態6
では、実施の形態1〜実施の形態5までと同様の構成部
分については、同一の符号を付し、その説明を省略する
ものとする。
【0106】図20は、実施の形態6のメモリ部50の
プログラムダウンロードの様子を説明する説明図であ
る。ここでは、図16に示した処理要求1から処理要求
2、処理要求3と、順次処理要求がなされた場合のプロ
グラムダウンロードの流れを説明する。処理要求1の設
定が完了した後の時点からの説明をすると、DSP30
は設定完了をCPU10へ返し、CPU10は処理開始
の準備OKを上流処理11に通知し、上流処理11は信
号(データ)をDSP30へ送信し、DSPはメモリ部
50に格納されたプログラムに基づきプロセッサ部40
でデータを処理する。
【0107】このケースでは、CPU10内部のダウン
ロード制御プログラムによって、プログラム領域の特定
の場所にどのプログラムをどういう順番でおこなうか、
プログラムの位置を特定する。たとえば、アドレス情報
やプログラム名等の情報領域を「Jump先指定」領域
に書き込むことで、メイン制御プログラムがプログラム
領域に存在する複数のプログラムの何れを、どの順序で
処理するかを示すようにしてある。
【0108】ここで、動作1の処理が終了した後もCP
U10は自身の内部に持つRAM24に、処理要求1で
のプログラムのダウンロード状況を保持しており、次の
処理要求2が要求された時点で、過去、すなわち処理要
求1との差分を比較する。たとえば、処理要求2が図1
6に示した要求2のプログラムの組み合せであった場合
には、過去に既にダウンロードされているプログラムで
あるb1とc1については再利用し、今までダウンロー
ドされていなかったa2とd2についてのみダウンロー
ドをおこなう。
【0109】このとき、CPU10は、Jump先指定
のところに、 a2→b1→c1→d2 と処理順序を示すことで過去のダウンロードプログラム
を差分管理して有効利用することが可能となる。
【0110】更に、この動作2の設定が終了した時点
で、メイン制御プログラムは処理要求1でのみ使用され
たプログラム、すなわち過去のリソースを消去する。同
様に、処理要求2の後に処理要求3が要請された場合に
は、処理要求2と処理要求3では一致するプログラムが
存在しないため(図16参照)、図21の右端に示した
ようなプログラム配置となる。すなわち、新しい処理要
求があった場合に差分を比較するダウンロードプログラ
ム情報は、常に一つ前のプログラムの組に関する情報の
みとなる。
【0111】ここで説明した方法では、CPU10が内
部に保持しておく過去のリソース、すなわち、ダウンロ
ードプログラムの履歴情報の量が、プログラムの組を構
成する最大のプログラム数を超えることがないようにす
ることができる。従って、個々の処理要求から落とし込
まれるプログラムの内容がさほど変化しないケースにお
いては(換言すると同様な処理要求である場合には)、
ダウンロードの量を減らしつつも、管理する過去リソー
スの情報量を抑制することが可能となる。
【0112】従って、メモリ部の容量を小さくすること
ができ、ひいては処理回路の単純化、DSP回路の高速
化を図ることができるという効果を奏する。また、たと
えば、本プロセッサシステムを画像処理装置に適用した
場合を考えると、コピー処理は、同種の設定が選択され
る可能性が非常に高いので、特に、処理時間の短縮を図
ることができるという効果を奏する。
【0113】実施の形態7.次に、実施の形態7のプロ
セッサ処理方法について説明する。なお、実施の形態7
では、実施の形態1〜実施の形態6までと同様の構成部
分については同一の符号を付し、その説明を省略するも
のとする。
【0114】実施の形態7のプロセッサシステムの構成
は実施の形態2と同様な構成とする。図21は、図9に
示したシーケンスを例にメモリ部の状態を説明する説明
図である。このシーケンス例では、処理要求A−1とB
−1の処理要求の設定および信号処理のタイミングが重
ならない。まず、処理要求A−1の動作中は図13に示
されているプログラム群に従って処理がなされ、このと
き、プログラム順序に関してはJump先A指定が示さ
れる。
【0115】処理要求A−1が終了するとメモリは解放
され、その後、処理要求B−1に対応するプログラムが
投入される。メイン制御プログラムは図8に示した順序
で動作を割り当てているので、JobAのときにはJu
mp先A指定を、Job−BのときにはJump先B指
定を参照しにいく。
【0116】図22は、図10に示したシーケンスを例
にメモリ部の状態を説明する説明図である。このシーケ
ンス例では、A−1が動作中に処理要求B−1が要求さ
れるため、メイン制御プログラムはA−1について使用
されている領域以外で空いているメモリ領域を見つけ
て、図13に示されている処理要求B−1に対応するプ
ログラム群をダウンロードする。また、Jump先B指
定が設定され、処理要求B−1についての設定を終了
し、DSP30は処理を並列しておこなうことが可能と
なる。
【0117】B−1動作が終了すると、B−1で使用さ
れていたメモリ領域を解放するため、まだ、動作してい
る処理要求A−1についてのプログラム領域だけが残る
こととなる。このプロセッサ処理方法を、続く第2や第
3の処理要求に適用していくことで、過去のリソースと
の差分でダウンロードの可否を判断することが可能とな
る。
【0118】実施の形態8.次に、実施の形態8のプロ
セッサ処理方法について説明する。ここでは、CPU内
のホストプログラムの動きについて説明し、特に「ソ
フトウェア構成」、「再利用の流れ」、「新規取
得」(メモリ部空き領域へのプログラムのダウンロー
ド)、「上書き取得」(メモリ部へのプログラムの上
書きダウンロード)について、図面を参照しながら説明
する。
【0119】ソフトウェア構成について:図23は、
実施の形態8のプログラムシステムのソフトウェア構成
を説明する説明図である。図24は、図23に示したソ
フトウェア構成の大まかなシーケンスを示した説明図で
ある。
【0120】処理要求231は、まず制御管理232に
送られる。制御管理232は、各プログラム部品(プロ
グラムの組を構成するプログラム)の他のソフトウェア
の処理手順や作業を指示する。たとえば、制御管理23
2は、処理要求231から命令を受け取ると、まず、動
作→プログラム変換手段233に、処理要求に関する変
換を依頼する。動作→プログラム変換手段233は、処
理要求231の内容を解釈して、使用するプログラム内
容を処理変換テーブル234に問い合わせる。
【0121】処理変換テーブル234は、動作→プログ
ラム変換手段233から命令を受け取ると、プログラム
内容(使用するプログラムの組)を返す。動作→プログ
ラム変換手段233から制御管理232が回答を受け取
ると、次に制御管理はリソース生成/設定手段235に
リソースの生成依頼をする。リソース生成/設定手段2
35はリソース(ダウンロードするプログラムおよびそ
れに関連する情報や制御情報)を生成する(説明の都合
上生成されたリソースをXとする)。
【0122】制御管理232は、生成されたリソースX
の情報をリソース取得手段236に伝達し、リソース取
得要求をおこなう。リソース取得手段236は、自身が
持つ過去リソース群と比較して、リソースXの取得が可
能かどうか判断し、その結果(取得結果)を制御管理2
32に返す。取得結果がOKならば、制御管理232は
ダウンロード手段237にダウンロード要求をおこな
う。ダウンロード手段237はソースコードをDSP2
38にダウンロードする。
【0123】再利用の流れ:次に、制御管理232が
リソース取得手段236にリソース取得要求をおこなう
際の詳細について説明する。図25は、リソースの再利
用のシーケンスの一例を説明する説明図であり、図26
は、図25に示したシーケンスに従ってリソースが再利
用される場合の概念図である。
【0124】まず、リソース再利用シーケンス1(図2
5)とリソース再利用イメージ1(図26)について説
明する。リソース取得手段236は、自身が持つ過去リ
ソース群と、制御管理232から渡されたリソースXを
比較して、内容が同じものがあるかどうか調べる。リソ
ースXがリソース3により再利用できる場合、制御管理
232はリソースXを破棄して、リソース3を処理要求
の対象としてダウンロード要求をおこなう。
【0125】また、リソース再利用の際のリソースの破
棄の仕方には、別の方法もある。図27は、リソースの
再利用のシーケンスの他の一例を説明する説明図であ
り、図28は、図27に示したシーケンスに従ってリソ
ースが再利用される場合の概念図である。リソースXが
リソース3により再利用可能な場合、まず、制御管理2
32は、リソース取得手段236にリソース投入要求を
おこなう(また、リソース投入要求がない場合でも、以
降の動作をリソース取得要求に含めてもよい)。リソー
ス取得手段236は、過去リソース群にリソースXを投
入し、また、元のリソース3を過去リソース群から削除
する。
【0126】新規取得について:次に、再利用が不可
能であった場合のリソースの取得方法について説明す
る。図29〜図31は、リソースの新規取得について説
明する説明図である。まず、制御管理232がリソース
取得手段236にリソース取得要求をおこなった場合
に、リソース取得手段236は、過去リソースが持つメ
モリエリア(主としてDSPのメモリ部から構成されて
いるメモリ領域をいう)の開き領域を調べる。取得しよ
うとするリソースXに要求されるメモリ領域以上のエリ
アを見つけると、取得可能を返す。
【0127】制御管理232は、リソース取得手段23
6にリソース投入要求をおこなう(リソース投入要求が
ない場合でも、以下の動作をリソース取得要求に含めて
もよい)リソース取得手段236は、過去リソース群に
リソースXを投入する。
【0128】上書き取得について:次にメモリエリア
の再利用と新規取得とがともにできなかった場合のリソ
ース取得方法について説明する。図32〜図34は、メ
モリエリアの再利用と新規取得とがともにできなかった
場合のリソースの取得方法について説明する説明図であ
る。制御管理232がリソース取得手段236にリソー
ス取得要求をおこなった場合に、リソース取得手段23
6は過去リソースを調べ、もし、過去リソースのエリア
が取得可能な場合(すなわち、現在使用中でなかった場
合)そのエリアを含めて開き領域を調べる。その開き領
域が取得しようとするリソースXの領域以上であれば取
得する。
【0129】その際、制御管理232は、リソース取得
手段236にリソース投入要求をおこなう(リソース投
入要求がない場合でも、以下の動作をリソース取得要求
に含めてもよい)。リソース取得手段236は、リソー
スXを過去リソース群に投入し、また、そのリソースX
領域に範囲を持つ過去リソースを調べて消去する。
【0130】なお、実施の形態8は、プロセッサシステ
ムないしプロセッサシステムに対する処理方法をミドル
ウェア的にとらえたものであり、実施の形態1〜7と重
複する部分がそれぞれ含まれている。
【0131】実施の形態9.これまでの実施の形態で
は、主としてメモリ部の使用状況を踏まえてメモリリソ
ースの有効活用を図るプロセッサ処理方法について説明
した。以降では、プロセッサ部に備わるレジスタの使用
効率をも加味したリソースの有効活用を図るプロセッサ
処理方法について説明する。なお、実施の形態9では、
実施の形態1〜実施の形態8までと同様の構成部分につ
いては、同一の符号を付し、その説明を省略するものと
する。
【0132】図35は、実施の形態9のプロセッサ処理
方法を適用するプロセッサシステムの構成の一例を示し
た概念図である。プロセッサシステム105は、DSP
30のプロセッサ部40に備わるレジスタ60の様子も
含めたシステム構成を示した説明図である。図に示した
ように、レジスタ60は、20のレジスタから構成さ
れ、演算の方法によって演算処理途中の結果などを保管
するのに用いる。このレジスタ60は、CPU10のダ
ウンロード制御プログラムにより、適宜制御される。
【0133】プロセッサシステム105に対してシステ
ム外部から処理要求が来た場合、CPU10は、前述し
たように、上流処理および下流処理などの周辺の設定と
ともに、DSP30へのプログラムダウンロードをおこ
なう(図2参照)。ダウンロードに際しては、CPU1
0のROM22に格納されたプログラム名を指示して設
定要求がおこなわれる。ROM22のプログラムは、前
述したようにプログラムコンポーネントが多種格納され
ているので、処理にバラエティを持たせることが可能と
なっている。また、メイン制御プログラムを先にダウン
ロードしているため、その都度必要な変動部分のプログ
ラムのみを効率良くダウンロード可能となる。
【0134】プロセッサシステム105のシーケンス例
としては、たとえば既に示した図3が挙げられる。Bo
ot処理後、CPU10がプロセッサシステム105の
外部から処理要求1を受けると、CPU10は、処理要
求1に合致したプログラムをROM22を参照して、メ
モリ部50内のプログラム領域(メイン制御プログラム
以外の領域)に動作プログラムとしてダウンロードをお
こなう。また、そのプログラム内でレジスタが使用され
ている場合には、そのレジスタも併せて指定してダウン
ロードをおこなう。ダウンロード完了後、DSP30は
入力信号待機状態となり、設定完了の返答をCPU10
へ返す。
【0135】CPU10は上流処理11に処理要求開始
の準備OKを通知する。上流処理11はDSP30へ処
理信号(DSPで処理すべきデータ)を随時出力し、D
SP30は、受け取った信号を処理して下流処理12へ
送る。
【0136】図示した例では、処理要求1の処理後にプ
ロセッサシステム105の外部から処理要求2が通知さ
れる。CPU10は、処理要求2に合致したプログラム
をROM22内を参照して選択し、メイン制御プログラ
ム以外の領域に動作プログラムとしてダウンロードをお
こなう。このとき、そのプログラムでレジスタが使用さ
れる場合には、そのレジスタも併せて指定してダウンロ
ードをおこなう。以降は、処理要求1と同様に、DSP
30より設定完了をCPU10へ返し、CPU10は処
理開始の準備OKを上流処理11に通知し、上流処理1
1から処理信号が入力されてDSP30で処理がおこな
われる。
【0137】この際、異なる処理要求1と2のダウンロ
ードについては、メイン制御部分は最初に投入されて変
化しないため、差分である処理プログラム部分およびレ
ジスタだけが選択されてダウンロードされることにな
る。従って、プロセッサシステム105全体を通してみ
ると、処理が短時間におこなわれるという効果を奏する
とともに、処理の種類を豊富にすることができるという
効果も奏する。
【0138】ここで、画像処理の処理要求に際してダウ
ンロードするプログラムと使用するレジスタとの関係を
説明する。図36は、ダウンロードするプログラムと使
用するレジスタとの関係を示した説明図である。図37
は、図36に示した関係をプログラムとレジスタ毎に処
理の推移を示した概念図である。
【0139】図示したように、Program−α、
β、γ、λは、それぞれ右に記述されたレジスタを必要
としている。ここで、画像用と示されているレジスタ
は、いつも処理すべき画像データの保管レジスタとして
使われるため、全てのプログラム(Program−
α、β、γ、λ)で共通に使用される。また、αとβの
プログラム間では、αで生成した特徴量をレジスタに格
納し、βでそれを参照することで処理を実現している。
【0140】この様に、プロセッサシステム105はメ
モリリソースとレジスタリソースを考慮してプログラム
および必要なパラメータを分配するので、メモリリソー
スとレジスタリソースの有効利用を図ることが可能とな
る。
【0141】実施の形態10.実施の形態10では、プ
ロセッサ部のレジスタが、ラインメモリ、画像処理また
は音声処理のハードウェアに接続し、当該ラインメモリ
やハードウェアのデータを読み書きするプロセッサ処理
方法について説明する。なお、実施の形態10では、実
施の形態1〜実施の形態9までと同様の構成部分につい
ては、同一の符号を付し、その説明を省略するものとす
る。
【0142】図38は、実施の形態10のプロセッサシ
ステムのレジスタの接続状況を示した説明図である。実
施の形態10のレジスタ61は、単純なデータ保管だけ
ではなく、他の機能を持ったハードウェアと結び付けら
れている。このような接続により、従前の実施の形態に
示したより更に複雑な処理が可能となる。ここで、メモ
リコントローラ(Memory Control)71
に接続されたメモリA(Memory−A)72はライ
ンメモリを、メモリB(Memory−B)72はメモ
リA72とは異なる画像保持量を有するラインメモリで
ある。誤差拡散処理部74は、誤差拡散専用の画像処理
を実現するハードウェアであって、レジスタ1に接続さ
れている。
【0143】これらのレジスタの使用例を図を用いて説
明する。図39は、ダウンロードするプログラムと使用
するレジスタとの関係を示した説明図である。図40
は、図39に示した関係をプログラムとレジスタ毎に処
理の推移を示した概念図である。Program−α、
β、γ、λのレジスタには図38に示したように、画像
用に使用するレジスタ、特徴量用に使用するレジスタ、
演算用に使用するレジスタ以外に、メモリコントローラ
71(メモリAに接続するメモリコントローラであるM
Con−A、メモリBに接続するメモリコントローラで
あるMCon−B)付きのレジスタや、誤差拡散処理部
74に接続するレジスタが使用されている。
【0144】たとえば、MCon−AやMCon−Bを
介してラインメモリ(メモリA72,メモリB72)を
使用することにより、副走査方向の画像を参照して演算
をおこなうフィルタなどの機能が可能になる。また、誤
差拡散の専用ハードウェア(誤差拡散処理部74)につ
ながるレジスタ(図38ではReg_1)の存在によっ
て、過去ラインの誤差データを保持し、尚かつ現ライン
で誤差を計算しながら次の画素にその誤差結果を反映す
るような誤差拡散演算など、SIMD処理では困難であ
った処理にも対応可能となる。
【0145】実施の形態11.実施の形態11では、処
理要求が2つある場合(始めの処理要求が終った後に次
の処理要求をおこなう場合と、2つの処理要求を並行に
おこなう場合)についてのプロセッサ処理方法について
説明する。なお、実施の形態11では、実施の形態1〜
実施の形態10までと同様の構成部分については、同一
の符号を付し、その説明を省略するものとする。
【0146】実施の形態11のプロセッサシステムの構
成は、実施の形態2のプロセッサシステム101と同様
であり、2つの処理要求に対する処理を並行しておこな
う構成となっている。なお、ここでは、便宜的に実施の
形態11のプロセッサシステムをプロセッサシステム1
07と、レジスタをレジスタ62と称することとする。
処理要求に対するDSP31の処理に必要なプログラム
のダウンロードの流れは、図6に示したとおりである。
【0147】DSP31に対する処理要求が処理要求A
である場合には、図6の右側に示した流れが選択され
る。この場合、上流処理A111、上流処理B112お
よび下流処理A121および下流処理B122などの周
辺の設定とともに、データ処理に必要なプログラムおよ
びパラメータがDSP31のメモリ部50にダウンロー
ドされる。ダウンロード先としては、DSP31のメモ
リ部50のプログラム領域として解放された領域にダウ
ンロードがおこなわれる。また、それぞれのプログラム
で使用するレジスタ指示に従って、レジスタの取得もお
こなわれる。
【0148】一方、DSP31に対する要求が、処理要
求Bであった場合にも、処理要求Aと同様の動作をする
が、プログラムの投入先としては、DSP31のメモリ
部50のプログラム領域として解放された領域を探して
ダウンロードがおこなわれる。また、レジスタについて
も同様に空き領域を探してレジスタの取得がなされる。
2つの処理要求(処理要求Aおよび処理要求B)に対す
るプログラムのDSP30のメモリ部50とレジスタ6
2への配置例を図41に示す。
【0149】プロセッサシステム107のシーケンス例
は図9に示したとおりである。CPU10は、プロセッ
サシステム107の外部から処理要求A−1を受ける
と、処理要求A−1に合致したプログラムとレジスタ指
定をROM20を参照してDSP31のメモリ部50内
のJob−Aプログラム領域に動作プログラムとしてダ
ウンロードし、併せてレジスタ62の設定もおこなう。
動作要求B−1についても、同様であり、CPU10は
処理要求B−1に合致したプログラムとレジスタ指定を
ROM20から参照して、DSP13のメモリ部50内
Job−Bプログラム領域に動作プログラムとしてダウ
ンロードし、併せてレジスタ設定もおこなう。
【0150】ここで、このシーケンス1のメモリおよび
レジスタ取得の状態を考える。図42および図43は、
シーケンス例1のメモリ部50の状態変化を示した説明
図である。シーケンス例1では、処理要求A−1とB−
1の処理要求の設定および信号処理のタイミングが重な
らない。従って、処理要求A−1の動作中は図42で示
されているプログラム群、Jump先およびレジスタ指
定がなされる(なお図42では、レジスタ指定について
は図示を省略している)。
【0151】処理要求A−1が終了すると、プログラム
領域が一旦解放され、その後、処理要求B−1に対応す
るプログラムが投入される。メイン制御プログラムは図
8に示す順序で動作を割り当てているので、処理要求が
AのときにはJump先A指定を参照し、処理要求がB
のときにはJump先B指定を参照しにいく。このとき
のレジスタの使用状況(取得状態)は図43に示したと
おりである。すなわち、処理要求A−1と処理要求B−
1は時間的に重ならないため、使用するレジスタの競合
が起こらず、レジスタコントロールを容易におこなうこ
とができる。
【0152】上記の例では、処理要求A−1と処理要求
B−1は、メモリ部50やレジスタ62への格納先も異
なり、実際の処理タイミングも非同期であるため、それ
ぞれの信号処理および入力/出力を非同期でおこなうこ
とが可能となる。次に、この非同期処理について述べ
る。すなわち、処理要求A−1と処理要求B−1が非同
期で入力され、DSP31で並列処理する場合のプロセ
ッサ処理方法について説明する。ここでは、処理要求A
−1の信号処理中に処理要求B−1が通知された場合に
ついて説明する。プロセッサシステム107のシーケン
ス例(便宜的にシーケンス例2とする)は図10に示し
たとおりであるので、この例を用いて説明する。
【0153】図44および図45は、シーケンス例2の
メモリ部50の状態変化を示した説明図である。この場
合、処理要求A−1に対する処理が動作中に処理要求B
−1が要求されるため、制御プログラムは処理要求A−
1に対応して使用しているプログラム領域外で空いてい
るメモリ領域を見つけ、この処理要求B−1に対応する
プログラム群をダウンロードする(図44参照)。この
とき、Jump先B指定を設定して、処理要求B−1設
定を終了し、処理を続行する。処理要求B−1に対する
処理動作が終了すると、B−1で使用されていたメモリ
領域が解放され、まだ、動作している処理要求A−1だ
けが残る。
【0154】また、図45に示したように、図44の格
段段階に対応して、処理要求B−1が処理要求A−1に
対する処理中にあった場合でも、レジスタ62の空き領
域を探して使用するので並列処理が可能となる。なお、
処理要求B−1に対応して確保されたレジスタを図では
太線で囲っている。
【0155】この様に、プロセッサシステム107は、
空きの領域を探してメモリリソースとレジスタリソース
の有効利用を図るとともに、複数の処理要求を同時に処
理することができる。換言すると、プロセッサシステム
107は、効率的な並行処理が可能となる。
【0156】実施の形態12.実施の形態12では、C
PUからDSPへのプログラム等の転送タイミングにつ
いて説明する。なお、実施の形態12では、実施の形態
1〜実施の形態11までと同一の符号を付してある要素
であって特にその説明の無いものは、従前に説明した要
素と同一であるものとしてその説明を省略する。
【0157】図46は、実施の形態12のプロセッサシ
ステム108のレジスタの接続状況を示した説明図であ
る。CPU10は内部に制御プログラムを格納したRO
M20を持ち、このROM20内にDSP31へのダウ
ンロード制御プログラムや、DSP31へダウンロード
するプログラムを複数種類格納している。CPU10が
DSP31へダウンロードを行なうのは、電源投入時の
Boot処理時や、リセット命令終了後の他、任意に動
作要求を受けつけておこなう。
【0158】DSP31は、図4に示したのと同様に、
信号処理の入力として2系統、出力として2系統のI/
Fを持つプロセッサ構成となっている。DSP31は、
プロセッサ部41内にレジスタ60と付随するメモリ部
50とからなっている。プロセッサ部41は、演算器な
どを用いて実際の信号入力/信号処理/信号出力を行な
い、メモリ部50は、プロセッサ部41の動作を決定す
るプログラムを内蔵する。メモリ部50にダウンロード
(転送)されたプログラムにより、DSP31は順次様
々な処理を行なっていく。また、図示したように、レジ
スタ60は複数のレジスタ61からなり、演算の方法に
よって演算処理途中の結果などを保管するのに用いられ
る。
【0159】ここで、レジスタとプログラムの関係につ
いて説明し、次に、プログラムのダウンロードのタイミ
ングについて説明する。図47は、ダウンロードされた
プログラムとレジスタの関係を2つの処理要求を用いて
説明した説明図である。このうち図47aは、動作要求
Aの例としてProgram−α/β/γがそれぞれそ
の下に記述されるレジスタを必要としている場合を示し
た図である。同様に、図47bは、動作要求Bの例とし
てProgram−γ/η/Φがそれぞれその下に記述
されるレジスタを必要としている場合を示した図であ
る。なお、本実施例においても、図9および図10を用
いて説明したように、2つのシーケンス例(図9、図1
0と同様のシーケンス例をシーケンス1、シーケンス2
とする)を考えることが出来る。
【0160】図48は、図47で示したプログラムとレ
ジスタとの関係を、その使用レジスタを明示した配置例
により説明した説明図である。このうち、図48aは図
42に示したのと同様な処理要求A−1動作中の配置で
あり、図48bは図44に示したのと同様な処理要求B
−1動作中の配置である。詳細な説明は他の実施の形態
で説明したので省略するが、図示したように、処理要求
に応じてレジスタが一部重複して使用されているのが分
かる。
【0161】次に、DSP31のリソースの取得判断と
実際のダウンロード手順について、図49を用いて説明
する。CPU10は、DSP31が稼働中のリソース取
得状態を把握しており、処理要求がきた場合にDSP3
1へプログラムの組や必要なパラメータのダウンロード
の可否判断を行なう。すなわち、CPU10は、処理要
求を遂行するのに必要なプログラムとデータをダウンロ
ード可能かどうか、現在のレジスタ60やメモリ部50
の稼働状態から判断する。
【0162】処理要求Aが動作中に、処理要求Bがあっ
た場合、図47に示したように必要なリソースはPro
gram−λ/η/Φとそれらに付属するレジスタであ
る。この時、ダウンロード制御プログラムは、先ずλに
関して、Program−λとMCon−A付きレジス
タ2つ、演算用レジスタ1つ、画像用レジスタ1つの転
送配置が可能かどうかを判断し、可能であればそれらリ
ソースをダウンロードし設定を行なう。次にηに関して
Program−ηとMCon−B付きレジスタ1つ、
演算用レジスタ1つ、画像用レジスタ1つの転送配置が
可能かどうか判断し、可能であればそれらリソースをダ
ウンロードし各種設定を行なう。次に、Φに関しても同
様にダウンロードし各種設定を行なう。
【0163】ここで、処理要求Aに必要なリソースは満
たされたため、設定は完了する。なお、ダウンロードの
可否判断で否と判断された場合には、その途中で動作要
求に対して不可の判断を行ないその後の処理を中止す
る。このとき、必要な警告を上流処理および下流処理に
出力しても良い。図50は、以上のダウンロードのタイ
ミングを示した説明図である。図示したように、ダウン
ロードは、処理要求を充足させるのに必要な個々のプロ
グラムが決定される毎にその都度おこなわれる。これに
より、プログラム投入の汎用性が向上する。なお、この
とき、必要なパラメータもその都度ダウンロードする態
様であってもよい。
【0164】実施の形態13.実施の形態13では、複
数のDSPを有するプロセッサシステムの構成を説明
し、続いて、CPUからDSPへのプログラム等の転送
タイミングについて説明する。なお、実施の形態13で
は、実施の形態1〜実施の形態12までと同一の符号を
付してある要素であって特にその説明の無いものは、従
前に説明した要素と同一であるものとしてその説明を省
略する。
【0165】図51は、実施の形態13のプロセッサ処
理方法を適用するプロセッサシステムの構成の一例を示
した概念図である。プロセッサシステム109は、DS
P31を複数備えたシステムである。以降では、上流処
理側にあるDSPをDSP31a、下流処理側にあるD
SPをDSP31bと称することとする。
【0166】CPU10は、上流処理A111、上流処
理B112、下流処理A121、下流処理B122に対
して必要な設定を行ない、また、DSP31a及びDS
P31bには処理要求に応じてプログラムのダウンロー
ドやレジスタの設定を行なう。上流処理A111及び上
流処理B112はCPU10から設定を受け取り、動作
要求があった時には必要な動作を行なって、DSP31
aへ信号ないしデータを出力する。下流処理A121及
び下流処理B122はCPU10より設定を受け取り、
つづいてDSP31bから信号ないしデータを受け取っ
て必要な下流動作を行なう。
【0167】DSP31aは、CPU10よりプログラ
ムのダウンロードがなされるとともにレジスタの設定が
なされ、上流処理A111と上流処理B112から信号
を受け取って、ダウンロードされたプログラムに従って
信号処理をおこなう。DSP32bは、CPU10より
プログラムのダウンロードがなされるとともにレジスタ
の設定がなされ、DSP31aで処理された信号ないし
データを受け取って、ダウンロードされたプログラムに
従って信号処理を行ない、処理された信号ないしデータ
を下流処理A121と下流処理B122いずれか一方も
しくは両方へ出力する。
【0168】次に、DSP31のリソースの取得判断と
実際のダウンロード手順について、図52を用いて説明
する。CPU10は、DSP31が稼働中のリソース取
得状態を把握しており、処理要求があった場合にDSP
31へプログラムの組や必要なパラメータのダウンロー
ドの可否判断を行なう。すなわち、CPU10は、処理
要求を遂行するのに必要なプログラムとデータをダウン
ロード可能かどうか、そのときのDSP31の内部状態
から判断することになる。
【0169】この場合、プロセッサシステム109で
は、どちらのDSPに何をダウンロードするか全て決定
してからダウンロード処理を実行させる。図53は、プ
ログラムの転送タイミングを説明した図である。処理要
求Aが動作中に処理要求Bが発生した場合、必要なリソ
ースはProgram−λ/η/Φとそれらに付属する
レジスタである。
【0170】この時、ダウンロード制御プログラムは、
先ずλに関してProgram−λとMCon−A付き
レジスタ2つ、演算用レジスタ1つ、画像用レジスタ1
つの転送配置が出来るかどうかを判断し、可能であれ
ば、次にηに関してProgram−ηとMCon−B
付きレジスタ1つ、演算用レジスタ1つ、画像用レジス
タ1つの転送配置が出来るかどうか判断し、更にΦに関
しても同様に判定を行なう。そして、全てのリソースが
取得可能な状態と判定出来た場合にはじめて、全てのプ
ログラムとレジスタに関してダウンロード/設定を行な
う。なお、もしダウンロードの可否判断で否と判断され
た場合には、DSP31へのダウンロードを一切行なう
ことなく処理を中止する。
【0171】この様な、処理要求に係るプログラムおよ
び必要なパラメータの全ての転送が可能かまとめて判断
するプロセッサの制御方法は、例えばプログラムのサイ
ズが大きく、DSP31へのダウンロード負荷が大きく
時間的に制約となる場合に有効である。また、特に、複
数のDSPが用いられる場合に有効である。
【0172】以上の実施の形態で説明したプロセッサ処
理方法については、様々な汎用性を考慮する必要があ
る。一方で、DSPに投入されるプログラムはそのプロ
セッサの形式や内容によりカスタマイズして利用される
必要がある。すなわち、DSPに特異な動作などが要求
される場合には、一般的によく知られた言語以外や、抽
象度の低いアセンブラなどで記述する場合がある。ま
た、そのコンパイラの内容によっては、望んだ機能を満
たさないためにダウンロード時にCPUの制御ソフトに
よってその機能を補完する場合もある。
【0173】例えば、上述したようにプログラムとレジ
スタの投入先を自由に決定する場合、プログラム内で予
め想定された指定レジスタが使用できないケースが出て
くる。したがって、このような場合、CPUのROMに
投入した後に、プログラムのレジスタ設定を変更する必
要が生じる。これをCPUのプログラムダウンロード時
にコード変換部によって行なうことでダウンロードの自
由度を確保できる。図54は、このときのコード変換を
概念的に示した説明図である。この処理は、プログラム
をプロセッサで予め変換してDSPへダウンロード(転
送)する方法であるといえる。
【0174】また、Host−CPUを入れ替えて使用
する状況下では、CPUメーカーによってはデータのビ
ットの位置が異なる。したがって、ビット変換のパター
ンを準備しておき、上述したコード変換時に認識させる
ことで、CPUの形式を意識することなく、DSPにダ
ウンロードするプログラムを再利用することが可能とな
る。図55は、このときのCPU対応を概念的に示した
説明図である。プロセッサによる変換が、CPUに依存
するコード形式に対応させてあるので、Host−CP
Uのコード形式に依存しない汎用的なシステム構築が可
能となる。
【0175】
【発明の効果】以上説明したように、本発明のプロセッ
サ処理方法(請求項1)は、CPUと、CPUに接続す
るROMと、プログラムを格納するメモリ部およびプロ
グラムに従ってデータを処理するプロセッサ部を有する
DSPと、を備えるプロセッサシステムに適用するプロ
セッサ処理方法であって、前記ROMが、複数のプログ
ラムとプログラムの処理に必要なパラメータとを格納
し、前記CPUが、電源投入時にDSP用の初期プログ
ラムをROMからDSPのメモリ部に投入し、以降は、
プロセッサシステム外部から処理要求が来る毎に当該処
理要求に応じたプログラムと必要なパラメータとをRO
MからDSPのメモリ部に転送し、前記DSPが、プロ
セッサシステム外部から処理すべきデータを入力し、メ
モリ部に転送されたプログラムとパラメータに基づいて
当該データをプロセッサ部で処理してプロセッサシステ
ム外部へ出力するので、ROMを取り替えるだけで設計
変更に容易に対応でき、これにより、DSPによる処理
のバラエティを増やすことができる。
【0176】また、本発明のプロセッサ処理方法(請求
項2)は、請求項1に記載のプロセッサ処理方法におい
て、前記ROMが、処理要求の種類に応じたプログラム
を複数格納し、前記CPUが、処理要求を任意のタイミ
ングで受け付け、それぞれの処理要求に応じたプログラ
ムと必要なパラメータとをROMからDSPのメモリ部
に転送し、前記DSPが、前記データに対する入出力I
/Fを複数有し、前記データを前記複数の入出力I/F
からそれぞれ取り込み、メモリ部に転送されたプログラ
ムとパラメータに基づいて当該データをプロセッサ部で
処理してプロセッサ外部へ前記複数の入出力I/Fから
出力するので、処理要求を即座に受け入れることがで
き、これにより、DSPにより複数種類の処理を並行し
ておこなわせることができる。
【0177】また、本発明のプロセッサ処理方法(請求
項3)は、請求項2に記載のプロセッサ処理方法におい
て、処理要求と処理要求を充足させるのに必要なプログ
ラムの組とを対応づけるテーブルを有し、前記CPU
が、処理要求に従って、前記テーブルを参照することに
より、DSPに転送すべきプログラムの組と必要なパラ
メータとを決定するので、処理要求を充足させるプログ
ラムが何れであるか判断しなくてすみ、これにより、複
雑なプログラムの組み合せが必要である場合であって
も、CPUがDSPに対してプログラムの組を全体とし
て高速に転送可能とすることができる。
【0178】また、本発明のプロセッサ処理方法(請求
項4)は、請求項3に記載のプロセッサ処理方法におい
て、前記テーブルを前記ROMに格納したので、ROM
の1チップに設計変更の可能性のある要素をすべて盛り
込むことができ、これにより、DSPによる処理のバラ
エティを簡便に増やすことができる。
【0179】また、本発明のプロセッサ処理方法(請求
項5)は、請求項1〜4のいずれか一つに記載のプロセ
ッサ処理方法において、前記CPUが、DSPのメモリ
部におけるメモリ使用状況を認識し、プロセッサシステ
ム外部から処理要求が来る毎に当該処理要求に応じたプ
ログラムと必要なパラメータとをROMからDSPのメ
モリ部の空き領域を探して転送するので、メモリリソー
スの有効利用を図ることができる。
【0180】また、本発明のプロセッサ処理方法(請求
項6)は、請求項3または4に記載のプロセッサ処理方
法において、前記CPUが、処理要求の履歴を保持し、
プロセッサシステム外部から処理要求が来る毎に、従前
の処理要求と一致するか否かを判断し、一致しない場合
には、前記テーブルを参照して処理要求を充足させるの
に必要な差分のプログラムと必要なパラメータとをRO
MからDSPのメモリ部に転送し、前記DSPが、最新
の処理要求が従前の処理要求と一致する場合には、従前
にメモリ部に転送されたプログラムとパラメータを利用
してデータをプロセッサ部で処理してプロセッサシステ
ム外部へ出力し、差分のプログラムとパラメータが転送
された場合には、当該差分のプログラムとパラメータお
よび従前にメモリ部に転送されていたプログラムとパラ
メータに基づいてデータをプロセッサ部で処理してプロ
セッサシステム外部へ出力するので、転送時間を短縮す
ることができ、これにより、DSPにおける処理時間を
短縮させることができる。
【0181】また、本発明のプロセッサ処理方法(請求
項7)は、請求項6に記載のプロセッサ処理方法におい
て、前記CPUが、DSPのメモリ部におけるメモリ使
用状況を認識し、差分のプログラムと必要なパラメータ
とをROMからDSPのメモリ部の空き領域を探して転
送し、空き領域がなければ、処理要求の履歴を参照し
て、不要な領域の開放をDSPに指示し、不要な領域の
開放後、差分のプログラムと必要なパラメータとをRO
MからDSPのメモリ部に転送するので、転送時間を短
縮することができ、これにより、DSPにおける処理時
間を短縮させることができる。
【0182】また、本発明のプロセッサ処理方法(請求
項8)は、請求項1〜4のいずれか一つに記載のプロセ
ッサ処理方法において、前記CPUが、DSPのメモリ
部におけるメモリ使用状況とプロセッサ部に備わるレジ
スタにおけるレジスタ使用状況とを認識し、プロセッサ
システム外部から処理要求が来る毎に、ROMから当該
処理要求に応じたプログラムと必要なパラメータとをD
SPのメモリ部の空き領域とプロセッサ部のレジスタの
空き領域とに分配して転送するので、メモリリソースと
レジスタリソースの有効利用を図ることができる。
【0183】また、本発明のプロセッサ処理方法(請求
項9)は、請求項3または4に記載のプロセッサ処理方
法において、前記CPUが、処理要求の履歴を保持し、
プロセッサシステム外部から処理要求が来る毎に、従前
の処理要求と一致するか否かを判断し、一致しない場合
には、前記テーブルを参照して処理要求を充足させるの
に必要な差分のプログラムと必要なパラメータとをRO
MからDSPのメモリ部およびプロセッサ部のレジスタ
に分配して転送し、前記DSPが、最新の処理要求が従
前の処理要求と一致する場合には、従前に転送されたプ
ログラムとパラメータを利用してデータをプロセッサ部
で処理してプロセッサシステム外部へ出力し、差分のプ
ログラムとパラメータが転送された場合には、当該差分
のプログラムとパラメータおよび従前に転送されていた
プログラムとパラメータに基づいてデータをプロセッサ
部で処理してプロセッサシステム外部へ出力するので、
転送時間を短縮することができ、これにより、DSPに
おける処理時間を短縮させることができる。
【0184】また、本発明のプロセッサ処理方法(請求
項10)は、請求項9に記載のプロセッサ処理方法にお
いて、前記CPUが、DSPのメモリ部におけるメモリ
使用状況とプロセッサ部に備わるレジスタにおけるレジ
スタ使用状況とを認識し、差分のプログラムと必要なパ
ラメータとをROMからDSPのメモリ部の空き領域と
プロセッサ部のレジスタの空き領域とに分配して転送
し、空き領域がなければ、処理要求の履歴を参照して、
不要な領域の開放をDSPに指示し、不要な領域の開放
後、差分のプログラムと必要なパラメータとをROMか
らDSPのメモリ部とプロセッサ部のレジスタに転送す
るので、転送時間を短縮することができ、これにより、
DSPにおける処理時間を短縮させることができる。
【0185】また、本発明のプロセッサ処理方法(請求
項11)は、請求項6、7、9または10に記載のプロ
セッサ処理方法において、前記CPUが、処理要求の履
歴を過去1回分保持するので、ルーチンワークがなされ
る場合に、DSPによる処理時間を短縮させることがで
きる。
【0186】また、本発明のプロセッサ処理方法(請求
項12)は、請求項8、9または10に記載のプロセッ
サ処理方法において、前記プロセッサ部のレジスタが、
ラインメモリ、画像処理または音声処理のハードウェア
に接続し、当該ラインメモリやハードウェアのデータを
読み書きするので、複雑な処理を高速かつ簡便におこな
うことが可能となる。
【0187】また、本発明のプロセッサ処理方法(請求
項13)は、請求項5〜10のいずれか一つに記載のプ
ロセッサ処理方法において、前記CPUからDSPへの
プログラムおよび必要なパラメータの転送を、処理要求
を充足させるのに必要な個々のプログラムが決定される
毎にその都度おこなうので、プログラム投入の汎用性を
高めることができ、これにより、複雑なプログラムの組
み合せが必要である場合であっても、CPUがDSPに
対してプログラムの組を全体として高速に転送可能とす
ることができる。
【0188】また、本発明のプロセッサ処理方法(請求
項14)は、請求項5〜10のいずれか一つに記載のプ
ロセッサ処理方法において、前記CPUからDSPへの
プログラムおよび必要なパラメータの転送を、処理要求
を充足させるのに必要なプログラムの組が決定された後
に一括しておこなうため、プログラム投入の汎用性を高
めることができ、これにより、複雑なプログラムの組み
合せが必要である場合であっても、CPUがDSPに対
してプログラムの組を全体として高速に転送可能とする
ことができる。
【0189】また、本発明のプロセッサシステム(請求
項15)は、CPUとDSPとから構成され、データに
対して複数の処理を施して用途に応じた機能を実現する
プロセッサシステムであって、前記CPUが、複数の処
理のそれぞれに対応したプログラムと、プログラムで使
用するパラメータとを格納するROMに接続し、機能実
現へ向けた処理を開始させる処理要求を入力する処理要
求入力手段と、前記処理要求入力手段により入力された
処理要求に従って、前記DSPで処理させるべき処理の
組み合せおよび必要なパラメータを決定する決定手段
と、前記ROMに格納されたプログラムとパラメータの
中から、前記決定手段により決定された処理の組み合せ
にかかるプログラムおよびパラメータを前記DSPに転
送する転送手段と、を備え、前記DSPが、前記データ
を入力するデータ入力手段と、前記CPUから転送され
たプログラムとパラメータを格納するRAMと、前記デ
ータ入力手段により入力されたデータに対して、前記R
AMに格納されたプログラムとパラメータに基づいて一
連の処理を施し、前記用途に応じた機能を実現する処理
手段と、を備えたので、ROMを取り替えるだけで設計
変更に容易に対応できるとともにDSPを用いた柔軟な
処理が可能となり、これにより、DSPによる処理のバ
ラエティを増やすことができる。
【0190】また、本発明のプロセッサシステム(請求
項16)は、CPUとDSPとから構成され、データに
対して複数の処理を施して用途に応じた機能を実現する
プロセッサシステムであって、前記CPUが、複数の処
理のそれぞれに対応したプログラムと、プログラムで使
用するパラメータとを格納するROMに接続し、機能実
現へ向けた処理を開始させる処理要求を入力する処理要
求入力手段と、前記処理要求入力手段により入力された
処理要求に従って、前記DSPで処理させるべき処理の
組み合せおよび必要なパラメータを決定する決定手段
と、前記ROMに格納されたプログラムとパラメータの
中から、前記決定手段により決定された処理の組み合せ
にかかるプログラムおよびパラメータを前記DSPに転
送する転送手段と、を備え、前記DSPが、前記データ
を入力するデータ入力手段と、前記CPUから転送され
たプログラムとパラメータを格納するRAMおよびレジ
スタと、前記データ入力手段により入力されたデータに
対して、前記RAMに格納されたプログラムとパラメー
タに基づいて前記レジスタを介して一連の処理を施し、
前記用途に応じた機能を実現する処理手段と、を備えた
ので、ROMを取り替えるだけで設計変更に容易に対応
できるとともにDSPを用いた柔軟な処理が可能とな
り、これにより、DSPによる処理のバラエティを増や
すことができる。
【図面の簡単な説明】
【図1】実施の形態1のプロセッサ処理方法を適用する
プロセッサシステムの構成の一例を示した概念図であ
る。
【図2】実施の形態1のDSPの処理に必要なプログラ
ムのダウンロードの流れを説明する説明図である。
【図3】実施の形態1のプロセッサシステムのシーケン
ス例を示した説明図である。
【図4】実施の形態2のプロセッサ処理方法を適用する
プロセッサシステムの構成の一例を示した概念図であ
る。
【図5】実施の形態2のプロセッサ処理方法を適用する
プロセッサシステムの一例を示したシステム構成図であ
る。
【図6】実施の形態2のDSPの処理に必要なプログラ
ムのダウンロードの流れを説明する説明図である。
【図7】処理要求Aおよび処理要求Bに対するプログラ
ムのDSPのメモリ部への配置例を示した説明図であ
る。
【図8】実施の形態2のメイン制御プログラムの動作概
念を説明した図である。
【図9】プロセッサシステム101のシーケンス例を示
した説明図である。
【図10】プロセッサシステムが非同期の信号処理をす
る場合のシーケンス例を示した説明図である。
【図11】実施の形態3のプロセッサ処理方法を適用す
るプロセッサシステムの構成の一例を示した概念図であ
る。
【図12】処理要求を充足させるのに必要なプログラム
の組を決定する方法の一例を示した説明図である。
【図13】処理変換テーブルの一例を示した説明図であ
る。
【図14】実施の形態4のプロセッサ処理方法を適用す
るプロセッサシステムの構成の一例を示した概念図であ
る。
【図15】DSPの処理に必要なプログラムのダウンロ
ードの流れを説明する説明図である。
【図16】CPUが、処理要求を自身のROMに格納さ
れているプログラム単位に分解し、どのプログラムの組
み合せでダウンロードするかを決定する説明図である。
【図17】プロセッサシステムのシーケンス例を示した
説明図である。
【図18】実施の形態5のプロセッサ処理方法を適用す
るプロセッサシステムの構成の一例を示した概念図であ
る。
【図19】処理要求2の次に図16に示した処理要求3
のプログラムの組を格納する様子を示した説明図であ
る。
【図20】実施の形態6のメモリ部のプログラムダウン
ロードの様子を説明する説明図である。
【図21】図9に示したシーケンスを例にメモリ部の状
態を説明する説明図である。
【図22】図10に示したシーケンスを例にメモリ部の
状態を説明する説明図である。
【図23】実施の形態8のプログラムシステムのソフト
ウェア構成を説明する説明図である。
【図24】図23に示したソフトウェア構成の大まかな
シーケンスを示した説明図である。
【図25】リソースの再利用のシーケンスの一例を説明
する説明図である。
【図26】図25に示したシーケンスに従ってリソース
が再利用される場合の概念図である。
【図27】リソースの再利用のシーケンスの他の一例を
説明する説明図である。
【図28】図27に示したシーケンスに従ってリソース
が再利用される場合の概念図である。
【図29】リソースの新規取得について説明する説明図
である。
【図30】リソースの新規取得について説明する説明図
である。
【図31】リソースの新規取得について説明する説明図
である。
【図32】メモリエリアの再利用と新規取得とがともに
できなかった場合のリソースの取得方法について説明す
る説明図である。
【図33】メモリエリアの再利用と新規取得とがともに
できなかった場合のリソースの取得方法について説明す
る説明図である。
【図34】メモリエリアの再利用と新規取得とがともに
できなかった場合のリソースの取得方法について説明す
る説明図である。
【図35】実施の形態9のプロセッサ処理方法を適用す
るプロセッサシステムの構成の一例を示した概念図であ
る。
【図36】実施の形態9のプロセッサシステムにおい
て、ダウンロードするプログラムと使用するレジスタと
の関係を示した説明図である。
【図37】図36に示した関係をプログラムとレジスタ
毎に示した概念図である。
【図38】実施の形態10のプロセッサシステムのレジ
スタの接続状況を示した説明図である。
【図39】実施の形態10において、ダウンロードする
プログラムと使用するレジスタとの関係を示した説明図
である。
【図40】図39に示した関係をプログラムとレジスタ
毎に示した概念図である。
【図41】2つの処理要求(処理要求Aおよび処理要求
B)に対するプログラムのDSPのメモリ部への配置例
を示した図である。
【図42】実施の形態11のプロセッサシステムにおい
て、シーケンス例1のメモリ部の状態変化を示した説明
図である。
【図43】実施の形態11のプロセッサシステムにおい
て、シーケンス例1のメモリ部の状態変化を示した説明
図である。
【図44】実施の形態11のプロセッサシステムにおい
て、シーケンス例2のメモリ部の状態変化を示した説明
図である。
【図45】実施の形態11のプロセッサシステムにおい
て、シーケンス例2のメモリ部の状態変化を示した説明
図である。
【図46】実施の形態12のプロセッサシステムのレジ
スタの接続状況を示した説明図である。
【図47】実施の形態12のプロセッサシステムにおい
て、ダウンロードされたプログラムとレジスタの関係を
2つの処理要求を用いて説明した説明図である。
【図48】図47で示したプログラムとレジスタとの関
係を、その使用レジスタを明示した配置例により説明し
た説明図である。
【図49】実施の形態12のプロセッサシステムにおい
て、ダウンロードの手順例を示した説明図である。
【図50】実施の形態12のプロセッサシステムにおい
て、ダウンロードのタイミングを示した説明図である。
【図51】実施の形態13のプロセッサ処理方法を適用
するプロセッサシステムの構成の一例を示した概念図で
ある。
【図52】実施の形態13のプロセッサシステムにおい
て、ダウンロードの手順例を示した説明図である。
【図53】実施の形態13のプロセッサシステムにおい
て、ダウンロードのタイミングを示した説明図である。
【図54】コード変換を概念的に示した説明図である。
【図55】CPU対応を概念的に示した説明図である。
【図56】DSPシステムの構成を示す説明図である。
【図57】CPUとDSPの構成の一例を示した説明図
である。
【図58】CPUによる設定処理の流れを示した説明図
である。
【図59】図35に示したのシステムが実際に動作する
シーケンスを示した説明図である。
【符号の説明】
100,101,102,103,104,105,1
06,107,108,109 プロセッサシステム 40,41 プロセッサ部 50 メモリ部 60,61,62 レジスタ 231 処理要求 232 制御管理 233 動作→プログラム変換手段 234 処理変換テーブル 235 リソース生成/設定手段 236 リソース取得手段 237 ダウンロード手段

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 CPUと、CPUに接続するROMと、
    プログラムを格納するメモリ部およびプログラムに従っ
    てデータを処理するプロセッサ部を有するDSPと、を
    備えるプロセッサシステムに適用するプロセッサ処理方
    法であって、 前記ROMは、複数のプログラムとプログラムの処理に
    必要なパラメータとを格納し、 前記CPUは、電源投入時にDSP用の初期プログラム
    をROMからDSPのメモリ部に投入し、以降は、プロ
    セッサシステム外部から処理要求が来る毎に当該処理要
    求に応じたプログラムと必要なパラメータとをROMか
    らDSPのメモリ部に転送し、 前記DSPは、プロセッサシステム外部から処理すべき
    データを入力し、メモリ部に転送されたプログラムとパ
    ラメータに基づいて当該データをプロセッサ部で処理し
    てプロセッサシステム外部へ出力することを特徴とする
    プロセッサ処理方法。
  2. 【請求項2】 前記ROMは、処理要求の種類に応じた
    プログラムを複数格納し、 前記CPUは、処理要求を任意のタイミングで受け付
    け、それぞれの処理要求に応じたプログラムと必要なパ
    ラメータとをROMからDSPのメモリ部に転送し、 前記DSPは、前記データに対する入出力I/Fを複数
    有し、前記データを前記複数の入出力I/Fからそれぞ
    れ取り込み、メモリ部に転送されたプログラムとパラメ
    ータに基づいて当該データをプロセッサ部で処理してプ
    ロセッサ外部へ前記複数の入出力I/Fから出力するこ
    とを特徴とする請求項1に記載のプロセッサ処理方法。
  3. 【請求項3】 処理要求と処理要求を充足させるのに必
    要なプログラムの組とを対応づけるテーブルを有し、 前記CPUは、処理要求に従って、前記テーブルを参照
    することにより、DSPに転送すべきプログラムの組と
    必要なパラメータとを決定することを特徴とする請求項
    2に記載のプロセッサ処理方法。
  4. 【請求項4】 前記テーブルを前記ROMに格納したこ
    とを特徴とする請求項3に記載のプロセッサ処理方法。
  5. 【請求項5】 前記CPUは、DSPのメモリ部におけ
    るメモリ使用状況を認識し、プロセッサシステム外部か
    ら処理要求が来る毎に当該処理要求に応じたプログラム
    と必要なパラメータとをROMからDSPのメモリ部の
    空き領域を探して転送することを特徴とする請求項1〜
    4のいずれか一つに記載のプロセッサ処理方法。
  6. 【請求項6】 前記CPUは、処理要求の履歴を保持
    し、プロセッサシステム外部から処理要求が来る毎に、
    従前の処理要求と一致するか否かを判断し、一致しない
    場合には、前記テーブルを参照して処理要求を充足させ
    るのに必要な差分のプログラムと必要なパラメータとを
    ROMからDSPのメモリ部に転送し、 前記DSPは、最新の処理要求が従前の処理要求と一致
    する場合には、従前にメモリ部に転送されたプログラム
    とパラメータを利用してデータをプロセッサ部で処理し
    てプロセッサシステム外部へ出力し、差分のプログラム
    とパラメータが転送された場合には、当該差分のプログ
    ラムとパラメータおよび従前にメモリ部に転送されてい
    たプログラムとパラメータに基づいてデータをプロセッ
    サ部で処理してプロセッサシステム外部へ出力すること
    を特徴とする請求項3または4に記載のプロセッサ処理
    方法。
  7. 【請求項7】 前記CPUは、DSPのメモリ部におけ
    るメモリ使用状況を認識し、差分のプログラムと必要な
    パラメータとをROMからDSPのメモリ部の空き領域
    を探して転送し、空き領域がなければ、処理要求の履歴
    を参照して、不要な領域の開放をDSPに指示し、不要
    な領域の開放後、差分のプログラムと必要なパラメータ
    とをROMからDSPのメモリ部に転送することを特徴
    とする請求項6に記載のプロセッサ処理方法。
  8. 【請求項8】 前記CPUは、DSPのメモリ部におけ
    るメモリ使用状況とプロセッサ部に備わるレジスタにお
    けるレジスタ使用状況とを認識し、プロセッサシステム
    外部から処理要求が来る毎に、ROMから当該処理要求
    に応じたプログラムと必要なパラメータとをDSPのメ
    モリ部の空き領域とプロセッサ部のレジスタの空き領域
    とに分配して転送することを特徴とする請求項1〜4の
    いずれか一つに記載のプロセッサ処理方法。
  9. 【請求項9】 前記CPUは、処理要求の履歴を保持
    し、プロセッサシステム外部から処理要求が来る毎に、
    従前の処理要求と一致するか否かを判断し、一致しない
    場合には、前記テーブルを参照して処理要求を充足させ
    るのに必要な差分のプログラムと必要なパラメータとを
    ROMからDSPのメモリ部およびプロセッサ部のレジ
    スタに分配して転送し、 前記DSPは、最新の処理要求が従前の処理要求と一致
    する場合には、従前に転送されたプログラムとパラメー
    タを利用してデータをプロセッサ部で処理してプロセッ
    サシステム外部へ出力し、差分のプログラムとパラメー
    タが転送された場合には、当該差分のプログラムとパラ
    メータおよび従前に転送されていたプログラムとパラメ
    ータに基づいてデータをプロセッサ部で処理してプロセ
    ッサシステム外部へ出力することを特徴とする請求項3
    または4に記載のプロセッサ処理方法。
  10. 【請求項10】 前記CPUは、DSPのメモリ部にお
    けるメモリ使用状況とプロセッサ部に備わるレジスタに
    おけるレジスタ使用状況とを認識し、差分のプログラム
    と必要なパラメータとをROMからDSPのメモリ部の
    空き領域とプロセッサ部のレジスタの空き領域とに分配
    して転送し、空き領域がなければ、処理要求の履歴を参
    照して、不要な領域の開放をDSPに指示し、不要な領
    域の開放後、差分のプログラムと必要なパラメータとを
    ROMからDSPのメモリ部とプロセッサ部のレジスタ
    に転送することを特徴とする請求項9に記載のプロセッ
    サ処理方法。
  11. 【請求項11】 前記CPUは、処理要求の履歴を過去
    1回分保持することを特徴とする請求項6、7、9また
    は10に記載のプロセッサ処理方法。
  12. 【請求項12】 前記プロセッサ部のレジスタは、ライ
    ンメモリ、画像処理または音声処理のハードウェアに接
    続し、当該ラインメモリやハードウェアのデータを読み
    書きすることを特徴とする請求項8、9または10に記
    載のプロセッサ処理方法。
  13. 【請求項13】 前記CPUからDSPへのプログラム
    および必要なパラメータの転送を、処理要求を充足させ
    るのに必要な個々のプログラムが決定される毎にその都
    度おこなうことを特徴とする請求項5〜10のいずれか
    一つに記載のプロセッサ処理方法。
  14. 【請求項14】 前記CPUからDSPへのプログラム
    および必要なパラメータの転送を、処理要求を充足させ
    るのに必要なプログラムの組が決定された後に一括して
    おこなうことを特徴とする請求項5〜10のいずれか一
    つに記載のプロセッサ処理方法。
  15. 【請求項15】 CPUとDSPとから構成され、デー
    タに対して複数の処理を施して用途に応じた機能を実現
    するプロセッサシステムであって、 前記CPUは、 複数の処理のそれぞれに対応したプログラムと、プログ
    ラムで使用するパラメータとを格納するROMに接続
    し、 機能実現へ向けた処理を開始させる処理要求を入力する
    処理要求入力手段と、 前記処理要求入力手段により入力された処理要求に従っ
    て、前記DSPで処理させるべき処理の組み合せおよび
    必要なパラメータを決定する決定手段と、 前記ROMに格納されたプログラムとパラメータの中か
    ら、前記決定手段により決定された処理の組み合せにか
    かるプログラムおよびパラメータを前記DSPに転送す
    る転送手段と、 を備え、 前記DSPは、 前記データを入力するデータ入力手段と、 前記CPUから転送されたプログラムとパラメータを格
    納するRAMと、 前記データ入力手段により入力されたデータに対して、
    前記RAMに格納されたプログラムとパラメータに基づ
    いて一連の処理を施し、前記用途に応じた機能を実現す
    る処理手段と、 を備えたことを特徴とするプロセッサシステム。
  16. 【請求項16】 CPUとDSPとから構成され、デー
    タに対して複数の処理を施して用途に応じた機能を実現
    するプロセッサシステムであって、 前記CPUは、 複数の処理のそれぞれに対応したプログラムと、プログ
    ラムで使用するパラメータとを格納するROMに接続
    し、 機能実現へ向けた処理を開始させる処理要求を入力する
    処理要求入力手段と、 前記処理要求入力手段により入力された処理要求に従っ
    て、前記DSPで処理させるべき処理の組み合せおよび
    必要なパラメータを決定する決定手段と、 前記ROMに格納されたプログラムとパラメータの中か
    ら、前記決定手段により決定された処理の組み合せにか
    かるプログラムおよびパラメータを前記DSPに転送す
    る転送手段と、 を備え、 前記DSPは、 前記データを入力するデータ入力手段と、 前記CPUから転送されたプログラムとパラメータを格
    納するRAMおよびレジスタと、 前記データ入力手段により入力されたデータに対して、
    前記RAMに格納されたプログラムとパラメータに基づ
    いて前記レジスタを介して一連の処理を施し、前記用途
    に応じた機能を実現する処理手段と、 を備えたことを特徴とするプロセッサシステム。
JP2001402073A 2001-04-24 2001-12-28 プロセッサ処理方法およびプロセッサシステム Pending JP2003167751A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001402073A JP2003167751A (ja) 2001-04-24 2001-12-28 プロセッサ処理方法およびプロセッサシステム
US10/128,366 US6981134B2 (en) 2001-04-24 2002-04-24 Method and system for processing using a CPU and digital signal processor

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2001-126656 2001-04-24
JP2001126656 2001-04-24
JP2001-290273 2001-09-21
JP2001290273 2001-09-21
JP2001402073A JP2003167751A (ja) 2001-04-24 2001-12-28 プロセッサ処理方法およびプロセッサシステム

Publications (2)

Publication Number Publication Date
JP2003167751A true JP2003167751A (ja) 2003-06-13
JP2003167751A5 JP2003167751A5 (ja) 2006-03-02

Family

ID=27346602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001402073A Pending JP2003167751A (ja) 2001-04-24 2001-12-28 プロセッサ処理方法およびプロセッサシステム

Country Status (2)

Country Link
US (1) US6981134B2 (ja)
JP (1) JP2003167751A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008287460A (ja) * 2007-05-17 2008-11-27 Sony Corp 情報処理装置および方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002152432A (ja) * 2000-11-08 2002-05-24 Fuji Photo Film Co Ltd 画像処理装置及びその制御方法
US20050097140A1 (en) * 2002-03-22 2005-05-05 Patrik Jarl Method for processing data streams divided into a plurality of process steps
TW581951B (en) * 2002-06-07 2004-04-01 Mediatek Inc Method and architecture of digital signal processor using CPU to assist in querying parameter tables
JP2004252948A (ja) * 2003-01-31 2004-09-09 Ricoh Co Ltd 情報処理制御方法、画像処理制御方法、画像処理制御装置、画像形成装置、プログラム及び記録媒体
JP2005223653A (ja) * 2004-02-05 2005-08-18 Ricoh Co Ltd 不正複写防止システム、不正複写防止方法、および不正複写防止プログラム
US8224639B2 (en) 2004-03-29 2012-07-17 Sony Computer Entertainment Inc. Methods and apparatus for achieving thermal management using processing task scheduling
JP4579786B2 (ja) * 2004-09-17 2010-11-10 株式会社リコー 画像処理装置、画像処理方法、および画像処理プログラム
US8014887B2 (en) * 2006-03-22 2011-09-06 Hitachi Kokusai Electric Inc. Substrate processing apparatus
CN101479718B (zh) * 2006-06-27 2011-04-06 日本电气株式会社 多处理器系统以及使用它的便携式终端
US7941560B1 (en) * 2006-07-14 2011-05-10 Intuit Inc. Client caching of target addresses for network requests
JP5008392B2 (ja) * 2006-12-27 2012-08-22 富士通株式会社 ファームウェア改版方法、および改版プログラム
KR100825816B1 (ko) * 2007-01-25 2008-04-29 삼성전자주식회사 핸드쉐이크 인터페이스 방식을 이용한 디지털 신호프로세서 및 그 구동방법
US8126860B2 (en) * 2007-07-17 2012-02-28 Ricoh Company, Limited Method and apparatus for processing data
US8515052B2 (en) 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
JP5949904B2 (ja) * 2012-03-29 2016-07-13 ソニー株式会社 情報処理装置、情報処理方法、サーバ装置、検索方法および情報処理システム
JP6303670B2 (ja) * 2014-03-19 2018-04-04 日本電気株式会社 複数cpuの起動回路、複数cpuの起動方法及び複数cpuの起動回路のプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4322795A (en) * 1980-01-24 1982-03-30 Honeywell Information Systems Inc. Cache memory utilizing selective clearing and least recently used updating
US5285264A (en) * 1990-03-30 1994-02-08 Kabushiki Kaisha Toshiba Image reproduction apparatus with plural program processing
JP3194193B2 (ja) * 1990-10-31 2001-07-30 カシオ計算機株式会社 信号処理装置
US5325494A (en) * 1991-06-21 1994-06-28 Kabushiki Kaisha Toshiba Computer
EP0676691A3 (en) * 1994-04-06 1996-12-11 Hewlett Packard Co Device for register registration and transfer in a digital computer.
US5959231A (en) * 1995-09-12 1999-09-28 Yamaha Corporation Electronic musical instrument and signal processor having a tonal effect imparting function
US6031916A (en) * 1996-02-28 2000-02-29 Kabushiki Kaisha Kawai Gakki Seisakusho Sound effect adding device using DSP
US5757690A (en) * 1997-04-23 1998-05-26 Exponential Technology, Inc. Embedded ROM with RAM valid bits for fetching ROM-code updates from external memory
JP3052891B2 (ja) * 1997-05-26 2000-06-19 日本電気株式会社 信号処理システム
US6002996A (en) * 1997-11-26 1999-12-14 The Johns Hopkins University Networked sensor system
US6205522B1 (en) * 1998-04-15 2001-03-20 Diamond Multimedia Systems, Inc. DSP code swapping with continuous DSP execution
JP3407859B2 (ja) * 1998-04-24 2003-05-19 富士通株式会社 コーデック
JP2000242489A (ja) * 1998-12-21 2000-09-08 Casio Comput Co Ltd 信号処理装置の資源管理装置、プログラム転送方法、及び記録媒体
JP2001014454A (ja) * 1999-06-29 2001-01-19 Sharp Corp 画像処理装置
JP2002162999A (ja) * 2000-11-28 2002-06-07 Sharp Corp 音声処理システム
US6862359B2 (en) * 2001-12-18 2005-03-01 Gn Resound A/S Hearing prosthesis with automatic classification of the listening environment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008287460A (ja) * 2007-05-17 2008-11-27 Sony Corp 情報処理装置および方法
US8281314B2 (en) 2007-05-17 2012-10-02 Sony Corporation Information processing device and method

Also Published As

Publication number Publication date
US6981134B2 (en) 2005-12-27
US20030009656A1 (en) 2003-01-09

Similar Documents

Publication Publication Date Title
JP2003167751A (ja) プロセッサ処理方法およびプロセッサシステム
JP4164467B2 (ja) 画像処理装置、画像処理制御方法、及びプログラム
JP2571757B2 (ja) 信号処理装置及び該装置を使用する
US8041153B2 (en) Processing device, processing method and computer readable medium
US20040103263A1 (en) Clustered vliw coprocessor with runtime reconfigurable inter-cluster bus
US20070250682A1 (en) Method and apparatus for operating a computer processor array
JPH11272631A (ja) データ処理システムおよびその方法
US6675289B1 (en) System and method for executing hybridized code on a dynamically configurable hardware environment
CN114416150A (zh) 可编程数据平面在运行时的更新方法及装置
JP2015158894A (ja) 画像形成装置、画像形成処理用データ転送制御方法、及び画像形成処理用データ転送制御プログラム
JPH03229352A (ja) プログラム変更方法
US6539537B1 (en) System synthesizer
EP2336883B1 (en) Programming system in multi-core environment, and method and program of the same
CN118964272A (zh) 虚拟外围器件互联扩展设备实现系统、设备及集群
US8429672B2 (en) Method for carrying out the data transfer between program elements of a process, buffer object for carrying out the data transfer, and printing system
WO2002093390A1 (fr) Processeur de donnees et procede pour mettre a jour une table de donnees
CN117908950A (zh) 基于多核芯片的外设接口重构方法、装置、设备和介质
JP6160317B2 (ja) 画像処理装置及びプログラム
CN114968339A (zh) 基于有向无环图特性进行软件基础设施资源部署的方法
CN114064225A (zh) 一种自适应调度方法、装置、计算机存储介质及系统
EP1550950A1 (en) Semiconductor device
JP3696626B2 (ja) データ駆動型情報処理装置
US5864691A (en) Central processing unit with a selector that bypasses circuits where processing is not required
JP4967555B2 (ja) マルチプロセッサシステム
JP4278580B2 (ja) プログラム変更方法、プログラマブルコントローラおよびプログラム編集装置。

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040621

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061024

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070807