JP2001236495A - 画像処理装置および画像処理方法 - Google Patents
画像処理装置および画像処理方法Info
- Publication number
- JP2001236495A JP2001236495A JP2000052285A JP2000052285A JP2001236495A JP 2001236495 A JP2001236495 A JP 2001236495A JP 2000052285 A JP2000052285 A JP 2000052285A JP 2000052285 A JP2000052285 A JP 2000052285A JP 2001236495 A JP2001236495 A JP 2001236495A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data
- unit
- interrupt
- image processing
- 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
Links
Landscapes
- Facsimile Image Signal Circuits (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】
【課題】割り込み命令から処理実行までの期間を短期間
にすることができ、全体としての処理量も向上させるこ
とができ、また、アプリケーション開発における全体の
開発工数も短くできる画像処理装置および画像処理方法
を提供する。 【解決手段】CPUでプログラム制御される画像処理装
置において、プログラム制御部257に、割り込み命令
をデコードし、展開できる割り込み用命令展開部257
33、命令生成部25735、出力データ生成部257
37を、通常の命令展開部25732、命令生成部25
734、出力データ生成部25736に加えて設け、さ
らに通常の命令用データまたは割り込み命令用データの
いずれかを選択して、命令を実行し、要素プロセッサを
制御するための制御コードを生成する命令実行部257
39に供給する出力データ選択部25738を設ける。
にすることができ、全体としての処理量も向上させるこ
とができ、また、アプリケーション開発における全体の
開発工数も短くできる画像処理装置および画像処理方法
を提供する。 【解決手段】CPUでプログラム制御される画像処理装
置において、プログラム制御部257に、割り込み命令
をデコードし、展開できる割り込み用命令展開部257
33、命令生成部25735、出力データ生成部257
37を、通常の命令展開部25732、命令生成部25
734、出力データ生成部25736に加えて設け、さ
らに通常の命令用データまたは割り込み命令用データの
いずれかを選択して、命令を実行し、要素プロセッサを
制御するための制御コードを生成する命令実行部257
39に供給する出力データ選択部25738を設ける。
Description
【0001】
【発明の属する技術分野】本発明は、たとえばディジタ
ル処理システム等に適用される画像処理装置および画像
処理方法に関するものである。
ル処理システム等に適用される画像処理装置および画像
処理方法に関するものである。
【0002】
【従来の技術】画像データに対する信号処理の分野にお
いては、1枚の画像を構成する全ての画素に対して同様
の演算処理を施すことが多い。多くのデータに対して同
様の演算処理を高速に実行するために、SIMD(Sing
le Instruction Multiple Data Stream 、単一命令複数
データ)型アーキテクチャが提案され、画像信号処理に
限らず広い分野で利用されている。
いては、1枚の画像を構成する全ての画素に対して同様
の演算処理を施すことが多い。多くのデータに対して同
様の演算処理を高速に実行するために、SIMD(Sing
le Instruction Multiple Data Stream 、単一命令複数
データ)型アーキテクチャが提案され、画像信号処理に
限らず広い分野で利用されている。
【0003】SIMD型アーキテクチャは、演算装置を
必要な個数だけ並べて、各々の演算装置が同一の命令に
従って動作するようにした構成である。したがって、各
々の演算装置に別々のデータを与えると、それぞれのデ
ータに対する演算結果が一度に得られる。
必要な個数だけ並べて、各々の演算装置が同一の命令に
従って動作するようにした構成である。したがって、各
々の演算装置に別々のデータを与えると、それぞれのデ
ータに対する演算結果が一度に得られる。
【0004】SIMD型処理装置の画像処理への適用と
しては、たとえば「Kurokawa et al.,”5.4GOPS Linear
Array Architecture DSP for Video-Format Conversio
n'',IEEE 1996/Feb. ISSCC,FP 15.7. 」に示される装置
が知られている。
しては、たとえば「Kurokawa et al.,”5.4GOPS Linear
Array Architecture DSP for Video-Format Conversio
n'',IEEE 1996/Feb. ISSCC,FP 15.7. 」に示される装置
が知られている。
【0005】図8は、このSIMD型画像処理プロセッ
サを適用した画像処理装置の構成を示すブロック図であ
る。この画像処理装置10は、図8に示すように、入力
フレームメモリ11、SIMD型画像処理プロセッサ1
2、および出力フレームメモリ13を有している。SI
MD型画像処理プロセッサ12は、入力ポインタ12
1、入力SAM( シリアルアクセスメモリ) 部122、
データメモリ部123、ALUアレイ部124、出力S
AM部125、出力ポインタ126、およびプログラム
制御部127により構成される。
サを適用した画像処理装置の構成を示すブロック図であ
る。この画像処理装置10は、図8に示すように、入力
フレームメモリ11、SIMD型画像処理プロセッサ1
2、および出力フレームメモリ13を有している。SI
MD型画像処理プロセッサ12は、入力ポインタ12
1、入力SAM( シリアルアクセスメモリ) 部122、
データメモリ部123、ALUアレイ部124、出力S
AM部125、出力ポインタ126、およびプログラム
制御部127により構成される。
【0006】SIMD型画像処理プロセッサ12におい
ては、入力SAM部122、データメモリ部123、A
LUアレイ部124、および出力SAM部125によ
り、全体でリニアアレイ( 直線配列) 型に多数並列化さ
れた要素プロセッサ群が構成されている。この多数の要
素プロセッサPEは、プログラム制御部127内にある
共通の一つのプログラム制御部により連動して制御( S
IMD制御) される。プログラム制御部127には、プ
ログラムメモリとそのプログラムの歩進のためのシーケ
ンス制御回路などがあり、プログラムメモリにあらかじ
め書き込まれたプログラムに従って接続されている各部
分に対する各種制御信号を発生して、各部分を制御す
る。
ては、入力SAM部122、データメモリ部123、A
LUアレイ部124、および出力SAM部125によ
り、全体でリニアアレイ( 直線配列) 型に多数並列化さ
れた要素プロセッサ群が構成されている。この多数の要
素プロセッサPEは、プログラム制御部127内にある
共通の一つのプログラム制御部により連動して制御( S
IMD制御) される。プログラム制御部127には、プ
ログラムメモリとそのプログラムの歩進のためのシーケ
ンス制御回路などがあり、プログラムメモリにあらかじ
め書き込まれたプログラムに従って接続されている各部
分に対する各種制御信号を発生して、各部分を制御す
る。
【0007】プログラム制御部127、データメモリ部
123、ALUアレイ部124をまとめてプロセッサブ
ロックとし、このプロセッサブロックを多段に構成する
ことにより、その段数に比例して処理能力を向上させる
ことができる。図8の中に示される装置は、各プロセッ
サブロック内では、SIMD型処理装置であるが、装置
全体としては複数のプログラムを並列に処理することの
できるMIMD(Multiple Instruction Multiple Data
Stream,複数命令複数データ)型処理装置である。
123、ALUアレイ部124をまとめてプロセッサブ
ロックとし、このプロセッサブロックを多段に構成する
ことにより、その段数に比例して処理能力を向上させる
ことができる。図8の中に示される装置は、各プロセッ
サブロック内では、SIMD型処理装置であるが、装置
全体としては複数のプログラムを並列に処理することの
できるMIMD(Multiple Instruction Multiple Data
Stream,複数命令複数データ)型処理装置である。
【0008】普通のプロセッサでは、そのハードウェア
は一般にワード処理プロセッサであり、ワードを単位と
して処理するが、図8の斜線で示した縦の細長い範囲で
示すひとつの要素プロセッサPEは、入力SAM部12
2、データメモリ部123、出力SAM部125はメモ
リの「カラム」になっており、またALUアレイ部12
4は1ビットALUであり、事実上フルアダー( 全加算
器) を主体にした回路になっている。そのため、普通の
プロセッサとは違ってビット処理プロセッサであり、ビ
ットを単位として処理する。普通のCPUで言う8ビッ
トマシンとか16ビットマシンという言い方に対応させ
れば1ビットマシンである。ビット処理プロセッサはハ
ードウェアが小さく、普通には実現できない程多数の並
列数を実現できるので、画像用の場合、要素プロセッサ
直線配列の並列数は、映像信号の一水平走査期間の画素
数( H) に一致させている。
は一般にワード処理プロセッサであり、ワードを単位と
して処理するが、図8の斜線で示した縦の細長い範囲で
示すひとつの要素プロセッサPEは、入力SAM部12
2、データメモリ部123、出力SAM部125はメモ
リの「カラム」になっており、またALUアレイ部12
4は1ビットALUであり、事実上フルアダー( 全加算
器) を主体にした回路になっている。そのため、普通の
プロセッサとは違ってビット処理プロセッサであり、ビ
ットを単位として処理する。普通のCPUで言う8ビッ
トマシンとか16ビットマシンという言い方に対応させ
れば1ビットマシンである。ビット処理プロセッサはハ
ードウェアが小さく、普通には実現できない程多数の並
列数を実現できるので、画像用の場合、要素プロセッサ
直線配列の並列数は、映像信号の一水平走査期間の画素
数( H) に一致させている。
【0009】図8に示すSIMD型画像処理プロセッサ
12による画像処理は次のような手順で行われる。水平
走査アクティブ期間内に、入力SAM部122に1水平
走査線分の入力データを取り込み、水平走査部ブランキ
ング期間で入力SAM部122からデータメモリ部12
3への転送が行われる。データメモリ部123、ALU
アレイ部124では、プログラムに応じて演算処理が行
われる。ALUアレイ部124における演算処理終了
後、処理結果が出力SAM部125に転送され、水平走
査アクティブ期間内に、出力SAM部125から1水平
走査線分データが出力される。上記の処理中に、各部は
すべて並列に動作している。
12による画像処理は次のような手順で行われる。水平
走査アクティブ期間内に、入力SAM部122に1水平
走査線分の入力データを取り込み、水平走査部ブランキ
ング期間で入力SAM部122からデータメモリ部12
3への転送が行われる。データメモリ部123、ALU
アレイ部124では、プログラムに応じて演算処理が行
われる。ALUアレイ部124における演算処理終了
後、処理結果が出力SAM部125に転送され、水平走
査アクティブ期間内に、出力SAM部125から1水平
走査線分データが出力される。上記の処理中に、各部は
すべて並列に動作している。
【0010】このような要素プロセッサ群をアレイ状に
配列した並列プロセッサで画像処理を行うためには、特
にSIMD制御の場合、左右の要素プロセッサとの通信
機能が不可欠となる。この左右通信(今後は、LR通
信、またはLRと記述する)機能により,フィルタ演算
や、補間演算といった左右の画素の処理を可能としてい
る。
配列した並列プロセッサで画像処理を行うためには、特
にSIMD制御の場合、左右の要素プロセッサとの通信
機能が不可欠となる。この左右通信(今後は、LR通
信、またはLRと記述する)機能により,フィルタ演算
や、補間演算といった左右の画素の処理を可能としてい
る。
【0011】
【発明が解決しようとする課題】ところで、要素プロセ
ッサPEをアレイ状に配列した並列プロセッサで画像処
理を実現する際、プログラム制御部の構成要素であるC
PUはワードという単位で処理を行うが、画像に対して
行う処理と、係数計算などのCPU内の演算、他の演算
ユニットのデータを取得したりするような多様な処理を
受け持つ。また、CPUで命令単位のコードを1ワード
にまとめるような処理をした場合、ALUアレイ部で
は、1ワードの命令が複数のサイクルにわたって実行さ
れることになる。
ッサPEをアレイ状に配列した並列プロセッサで画像処
理を実現する際、プログラム制御部の構成要素であるC
PUはワードという単位で処理を行うが、画像に対して
行う処理と、係数計算などのCPU内の演算、他の演算
ユニットのデータを取得したりするような多様な処理を
受け持つ。また、CPUで命令単位のコードを1ワード
にまとめるような処理をした場合、ALUアレイ部で
は、1ワードの命令が複数のサイクルにわたって実行さ
れることになる。
【0012】近年画像処理に対する要求が多くなり、必
要とされる演算量、アプリケーションも増大している。
また、入力と出力が非同期で動くアプリケーション要求
も多くなっている。このような場合に、要素プロセッサ
PEをアレイ状に配列した並列プロセッサと、1ワード
の命令が複数のサイクルにわたって実行されるプログラ
ム制御部で画像処理を行う場合、非同期信号のデータ転
送等が非常に難しく、割り込み処理によって対応するこ
とになる。
要とされる演算量、アプリケーションも増大している。
また、入力と出力が非同期で動くアプリケーション要求
も多くなっている。このような場合に、要素プロセッサ
PEをアレイ状に配列した並列プロセッサと、1ワード
の命令が複数のサイクルにわたって実行されるプログラ
ム制御部で画像処理を行う場合、非同期信号のデータ転
送等が非常に難しく、割り込み処理によって対応するこ
とになる。
【0013】しかし、1ワードが複数のサイクルにわた
るため、割り込み処理によって行う命令を実際に行うま
での時間は、その直前の数命令によって大きく左右さ
れ、システム的に満たすアプリケーションを記述するの
は困難となる。Wait命令のような待ち命令を使って対処
することも考えられるが、プログラムが複雑となり開発
工数の問題が生じるし、待ち(Wait)時間には処理をす
ることができなくなり、単一時間の処理能力が劣るとい
う問題が生じる。
るため、割り込み処理によって行う命令を実際に行うま
での時間は、その直前の数命令によって大きく左右さ
れ、システム的に満たすアプリケーションを記述するの
は困難となる。Wait命令のような待ち命令を使って対処
することも考えられるが、プログラムが複雑となり開発
工数の問題が生じるし、待ち(Wait)時間には処理をす
ることができなくなり、単一時間の処理能力が劣るとい
う問題が生じる。
【0014】本発明は、かかる事情に鑑みてなされたも
のであり、その目的は、割り込み命令から処理実行まで
の期間を短期間にすることができ、全体としての処理量
も向上させることができ、また、アプリケーション開発
における全体の開発工数も短くできる画像処理装置およ
び画像処理方法を提供することにある。
のであり、その目的は、割り込み命令から処理実行まで
の期間を短期間にすることができ、全体としての処理量
も向上させることができ、また、アプリケーション開発
における全体の開発工数も短くできる画像処理装置およ
び画像処理方法を提供することにある。
【0015】
【課題を解決するための手段】上記目的を達成するた
め、本発明は、1次元的に多並列に配置され、制御コー
ドに従って供給される画像データに対する所定の演算処
理を行う複数の要素プロセッサと、アプリケーションプ
ログラムに基づいて上記複数の要素プログラムを連動し
て制御する制御コードを生成するプログラム制御部とを
有する画像処理装置であって、上記プログラム制御部
は、アプリケーションプログラムコードに基づいた命令
を発行する処理部と、入力される通常の命令の仕様通り
に上記要素プロセッサを制御するための制御コードを生
成して出力する第1のデコード部と、入力される割り込
み命令の仕様通りに上記要素プロセッサを制御するため
の制御コードを生成して出力する第2のデコード部と、
上記処理部で発行された命令を受け取り、通常の命令で
あるか割り込み命令であるかを判別し、通常の命令の場
合は上記第1のデコード部に供給し、割り込み命令の場
合は上記第2のデコード部に供給する命令受け取り部
と、を備えたプロセッサ部とを有する。
め、本発明は、1次元的に多並列に配置され、制御コー
ドに従って供給される画像データに対する所定の演算処
理を行う複数の要素プロセッサと、アプリケーションプ
ログラムに基づいて上記複数の要素プログラムを連動し
て制御する制御コードを生成するプログラム制御部とを
有する画像処理装置であって、上記プログラム制御部
は、アプリケーションプログラムコードに基づいた命令
を発行する処理部と、入力される通常の命令の仕様通り
に上記要素プロセッサを制御するための制御コードを生
成して出力する第1のデコード部と、入力される割り込
み命令の仕様通りに上記要素プロセッサを制御するため
の制御コードを生成して出力する第2のデコード部と、
上記処理部で発行された命令を受け取り、通常の命令で
あるか割り込み命令であるかを判別し、通常の命令の場
合は上記第1のデコード部に供給し、割り込み命令の場
合は上記第2のデコード部に供給する命令受け取り部
と、を備えたプロセッサ部とを有する。
【0016】また、本発明では、上記プロセッサ部は、
上記第1のデコード部による制御コードまたは第2のデ
コード部による制御コードのうちのいずれかを選択して
上記要素プロセッサに出力する。
上記第1のデコード部による制御コードまたは第2のデ
コード部による制御コードのうちのいずれかを選択して
上記要素プロセッサに出力する。
【0017】また、本発明は、1次元的に多並列に配置
され、制御コードに従って供給される画像データに対す
る所定の演算処理を行う複数の要素プロセッサと、アプ
リケーションプログラムに基づいて上記複数の要素プロ
グラムを連動して制御する制御コードを生成するプログ
ラム制御部とを有する画像処理装置であって、上記プロ
グラム制御部は、アプリケーションプログラムコードに
基づいた命令を発行する処理部と、通常の命令に係る第
1のデータまたは割り込み命令に係る第2のデータのい
ずれかを受けて、通常の命令または割り込み命令を実行
し、命令の仕様通りに上記要素プロセッサを制御するた
めの制御コードを生成して出力する命令実行部と、入力
される通常の命令を、上記要素プロセッサを制御するた
めの制御命令に展開し、命令実行に必要な第1のデータ
を得る第1のデータ生成部と、入力される割り込み命令
を、上記要素プロセッサを制御するための制御命令に展
開し、命令実行に必要な第2のデータを得る第2のデー
タ生成部と、上記処理部で発行された命令を受け取り、
通常の命令であるか割り込み命令であるかを判別し、通
常の命令の場合は上記第1のデータ生成部に供給し、割
り込み命令の場合は上記第2のデータ生成部に供給する
命令受け取り部と、上記第1のデータ生成部による通常
の命令に係る第1のデータと上記第2のデータ生成部に
よる割り込み命令に係る第2のデータのうちのいずれか
を選択して、上記命令実行部に供給するデータ選択部
と、を備えたプロセッサ部とを有する。
され、制御コードに従って供給される画像データに対す
る所定の演算処理を行う複数の要素プロセッサと、アプ
リケーションプログラムに基づいて上記複数の要素プロ
グラムを連動して制御する制御コードを生成するプログ
ラム制御部とを有する画像処理装置であって、上記プロ
グラム制御部は、アプリケーションプログラムコードに
基づいた命令を発行する処理部と、通常の命令に係る第
1のデータまたは割り込み命令に係る第2のデータのい
ずれかを受けて、通常の命令または割り込み命令を実行
し、命令の仕様通りに上記要素プロセッサを制御するた
めの制御コードを生成して出力する命令実行部と、入力
される通常の命令を、上記要素プロセッサを制御するた
めの制御命令に展開し、命令実行に必要な第1のデータ
を得る第1のデータ生成部と、入力される割り込み命令
を、上記要素プロセッサを制御するための制御命令に展
開し、命令実行に必要な第2のデータを得る第2のデー
タ生成部と、上記処理部で発行された命令を受け取り、
通常の命令であるか割り込み命令であるかを判別し、通
常の命令の場合は上記第1のデータ生成部に供給し、割
り込み命令の場合は上記第2のデータ生成部に供給する
命令受け取り部と、上記第1のデータ生成部による通常
の命令に係る第1のデータと上記第2のデータ生成部に
よる割り込み命令に係る第2のデータのうちのいずれか
を選択して、上記命令実行部に供給するデータ選択部
と、を備えたプロセッサ部とを有する。
【0018】また、本発明では、上記プロセッサ部のデ
ータ選択部は、上記命令実行部からの命令要求を受け
て、通常の命令に係る第1のデータと割り込み命令に係
る第2のデータのうちのいずれかを選択して当該命令実
行部に出力する。
ータ選択部は、上記命令実行部からの命令要求を受け
て、通常の命令に係る第1のデータと割り込み命令に係
る第2のデータのうちのいずれかを選択して当該命令実
行部に出力する。
【0019】また、本発明では、上記プロセッサ部のデ
ータ選択部は、上記第1のデータ生成部による通常の命
令に係る第1のデータと上記第2のデータ生成部による
割り込み命令に係る第2のデータとが共に供給されてい
るときは、割り込み命令に係る第2のデータを優先的に
選択して上記命令実行部に出力する。
ータ選択部は、上記第1のデータ生成部による通常の命
令に係る第1のデータと上記第2のデータ生成部による
割り込み命令に係る第2のデータとが共に供給されてい
るときは、割り込み命令に係る第2のデータを優先的に
選択して上記命令実行部に出力する。
【0020】また、本発明では、上記第1のコード部お
よび第2のデコード部のデコード処理には、命令のデコ
ードおよび演算アドレスのデコードを含む。
よび第2のデコード部のデコード処理には、命令のデコ
ードおよび演算アドレスのデコードを含む。
【0021】また、好適には、上記演算アドレスのデコ
ード結果には、演算アドレス、演算長を少なくとも含
む。
ード結果には、演算アドレス、演算長を少なくとも含
む。
【0022】また、好適には、上記要素プロセッサは、
他の要素プロセッサに供給された画像データを利用して
演算処理を行うことが可能で、上記演算アドレスのデコ
ード結果には、演算アドレス、演算長、および他の要素
プロセッサとの通信情報を少なくとも含む。
他の要素プロセッサに供給された画像データを利用して
演算処理を行うことが可能で、上記演算アドレスのデコ
ード結果には、演算アドレス、演算長、および他の要素
プロセッサとの通信情報を少なくとも含む。
【0023】また、本発明では、上記各要素プロセッサ
は、画像データを入力するための手段を複数備えた入力
シリアルアクセスメモリ部と、入力データ、演算結果を
保持するデータメモリ部と、演算を行うALUアレイ部
と、出力画像データを取得するための手段を複数備えた
出力シリアルアクセスメモリ部との一部を含む。
は、画像データを入力するための手段を複数備えた入力
シリアルアクセスメモリ部と、入力データ、演算結果を
保持するデータメモリ部と、演算を行うALUアレイ部
と、出力画像データを取得するための手段を複数備えた
出力シリアルアクセスメモリ部との一部を含む。
【0024】また、本発明は、制御コードに従って1次
元的に多並列に配置された複数の要素プロセッサを連動
して制御して供給される画像データに対する所定の演算
処理を行う画像処理方法であって、アプリケーションプ
ログラムコードに基づいた命令を発行するステップと、
上記発行された命令が、通常の命令であるか割り込み命
令であるかを判別するステップと、通常の命令の場合に
は、通常の命令の仕様通りに上記要素プロセッサを制御
するための制御コードを生成するステップと、割り込み
命令の場合には、割り込み命令の仕様通りに上記要素プ
ロセッサを制御するための制御コードを生成するステッ
プとを含む。
元的に多並列に配置された複数の要素プロセッサを連動
して制御して供給される画像データに対する所定の演算
処理を行う画像処理方法であって、アプリケーションプ
ログラムコードに基づいた命令を発行するステップと、
上記発行された命令が、通常の命令であるか割り込み命
令であるかを判別するステップと、通常の命令の場合に
は、通常の命令の仕様通りに上記要素プロセッサを制御
するための制御コードを生成するステップと、割り込み
命令の場合には、割り込み命令の仕様通りに上記要素プ
ロセッサを制御するための制御コードを生成するステッ
プとを含む。
【0025】また、本発明では、生成した通常の命令に
係る制御コードまたは割り込み命令に係る制御コードの
うちのいずれかを選択して要素プロセッサに供給する。
係る制御コードまたは割り込み命令に係る制御コードの
うちのいずれかを選択して要素プロセッサに供給する。
【0026】また、本発明は、制御コードに従って1次
元的に多並列に配置された複数の要素プロセッサを連動
して制御して供給される画像データに対する所定の演算
処理を行う画像処理方法であって、アプリケーションプ
ログラムコードに基づいた命令を発行するステップと、
上記発行された命令が、通常の命令であるか割り込み命
令であるかを判別するステップと、通常の命令の場合に
は、通常の命令を、上記要素プロセッサを制御するため
の制御命令に展開し、命令実行に必要な第1のデータを
得るステップと、割り込み命令の場合には、割り込み命
令を、上記要素プロセッサを制御するための制御命令に
展開し、命令実行に必要な第2のデータを得るステップ
と、通常の命令に係る第1のデータと割り込み命令に係
る第2のデータのうちいずれかを選択するステップと、
上記選択するステップで選択された第1のデータまたは
第2のデータに基づいて通常の命令または割り込み命令
を実行し、命令の仕様通りに上記要素プロセッサを制御
するための制御コードを生成するステップとを含む。
元的に多並列に配置された複数の要素プロセッサを連動
して制御して供給される画像データに対する所定の演算
処理を行う画像処理方法であって、アプリケーションプ
ログラムコードに基づいた命令を発行するステップと、
上記発行された命令が、通常の命令であるか割り込み命
令であるかを判別するステップと、通常の命令の場合に
は、通常の命令を、上記要素プロセッサを制御するため
の制御命令に展開し、命令実行に必要な第1のデータを
得るステップと、割り込み命令の場合には、割り込み命
令を、上記要素プロセッサを制御するための制御命令に
展開し、命令実行に必要な第2のデータを得るステップ
と、通常の命令に係る第1のデータと割り込み命令に係
る第2のデータのうちいずれかを選択するステップと、
上記選択するステップで選択された第1のデータまたは
第2のデータに基づいて通常の命令または割り込み命令
を実行し、命令の仕様通りに上記要素プロセッサを制御
するための制御コードを生成するステップとを含む。
【0027】また、本発明では、上記選択するステップ
において、命令要求を受けて、通常の命令に係る第1の
データと割り込み命令に係る第2のデータのうちのいず
れかを選択する。
において、命令要求を受けて、通常の命令に係る第1の
データと割り込み命令に係る第2のデータのうちのいず
れかを選択する。
【0028】また、本発明では、上記選択するステップ
においては、通常の命令に係る第1のデータと上記第2
のデータ生成部による割り込み命令に係る第2のデータ
とが共に発生されているときは、割り込み命令に係る第
2のデータを優先的に選択する。
においては、通常の命令に係る第1のデータと上記第2
のデータ生成部による割り込み命令に係る第2のデータ
とが共に発生されているときは、割り込み命令に係る第
2のデータを優先的に選択する。
【0029】本発明によれば、たとえばプログラム制御
部の処理部で、アプリケーションプログラムコードに基
づいた命令が発行され、プロセッサ部に供給される。プ
ロセッサ部では、命令受け取り部において処理部で発行
された命令が受け取られ、受け取った命令が通常の命令
であるか割り込み命令であるかの判別が行われる。そし
て、判別の結果、通常の命令の場合は第1のデコード部
に供給され、割り込み命令の場合は第2のデコード部に
供給される。第1のデコード部においては、供給された
通常の命令の仕様通りに要素プロセッサを制御するため
の制御コードが生成される。また、第2のデコード部で
は、供給される割り込み命令の仕様通りに要素プロセッ
サを制御するための制御コードが生成される。そして、
上記第1のデコード部による制御コードまたは第2のデ
コード部による制御コードのうちのいれかが選択され、
要素プロセッサに出力される。
部の処理部で、アプリケーションプログラムコードに基
づいた命令が発行され、プロセッサ部に供給される。プ
ロセッサ部では、命令受け取り部において処理部で発行
された命令が受け取られ、受け取った命令が通常の命令
であるか割り込み命令であるかの判別が行われる。そし
て、判別の結果、通常の命令の場合は第1のデコード部
に供給され、割り込み命令の場合は第2のデコード部に
供給される。第1のデコード部においては、供給された
通常の命令の仕様通りに要素プロセッサを制御するため
の制御コードが生成される。また、第2のデコード部で
は、供給される割り込み命令の仕様通りに要素プロセッ
サを制御するための制御コードが生成される。そして、
上記第1のデコード部による制御コードまたは第2のデ
コード部による制御コードのうちのいれかが選択され、
要素プロセッサに出力される。
【0030】また、本発明によれば、たとえばプログラ
ム制御部の処理部で、アプリケーションプログラムコー
ドに基づいた命令が発行され、プロセッサ部に供給され
る。プロセッサ部では、命令受け取り部において処理部
で発行された命令が受け取られ、受け取った命令が通常
の命令であるか割り込み命令であるかの判別が行われ
る。そして、判別の結果、通常の命令の場合は第1のデ
ータ生成部に供給され、割り込み命令の場合は第2のデ
ータ生成部に供給される。第1のデータ生成部において
は、供給された通常の命令が、要素プロセッサを制御す
るための制御命令に展開され、命令実行に必要な第1の
データが得られてデータ選択部に出力される。また、第
2のデータ生成部では、供給された割り込み命令が、要
素プロセッサを制御するための制御命令に展開され、命
令実行に必要な第2のデータが得られてデータ選択部に
出力される。データ選択部においては、たとえば命令実
行部による命令要求に応じて、第1のデータ生成部によ
る通常の命令に係る第1のデータと第2のデータ生成部
による割り込み命令に係る第2のデータのうちいずれか
が選択されて、命令実行部に供給される。命令実行部で
は、通常の命令に係る第1のデータまたは割り込み命令
に係る第2のデータのいずれかを受けて、通常の命令ま
たは割り込み命令が実行されて、命令の仕様通りに要素
プロセッサを制御するための制御コードが生成され、要
素プロセッサに出力される。
ム制御部の処理部で、アプリケーションプログラムコー
ドに基づいた命令が発行され、プロセッサ部に供給され
る。プロセッサ部では、命令受け取り部において処理部
で発行された命令が受け取られ、受け取った命令が通常
の命令であるか割り込み命令であるかの判別が行われ
る。そして、判別の結果、通常の命令の場合は第1のデ
ータ生成部に供給され、割り込み命令の場合は第2のデ
ータ生成部に供給される。第1のデータ生成部において
は、供給された通常の命令が、要素プロセッサを制御す
るための制御命令に展開され、命令実行に必要な第1の
データが得られてデータ選択部に出力される。また、第
2のデータ生成部では、供給された割り込み命令が、要
素プロセッサを制御するための制御命令に展開され、命
令実行に必要な第2のデータが得られてデータ選択部に
出力される。データ選択部においては、たとえば命令実
行部による命令要求に応じて、第1のデータ生成部によ
る通常の命令に係る第1のデータと第2のデータ生成部
による割り込み命令に係る第2のデータのうちいずれか
が選択されて、命令実行部に供給される。命令実行部で
は、通常の命令に係る第1のデータまたは割り込み命令
に係る第2のデータのいずれかを受けて、通常の命令ま
たは割り込み命令が実行されて、命令の仕様通りに要素
プロセッサを制御するための制御コードが生成され、要
素プロセッサに出力される。
【0031】そして、本発明によれば、要素プロセッサ
をアレイ状に配列した並列プロセッサで非同期信号の画
像処理を行う場合に生じる画像データ転送等の割り込み
処理に対する問題に対し、割り込み命令から処理実行ま
での期間を短期間にすることができ、全体としての処理
量も向上させることができる。また、この問題を意識せ
ずにアプリケーション開発できるので、全体の開発工数
も短くなり有効である。
をアレイ状に配列した並列プロセッサで非同期信号の画
像処理を行う場合に生じる画像データ転送等の割り込み
処理に対する問題に対し、割り込み命令から処理実行ま
での期間を短期間にすることができ、全体としての処理
量も向上させることができる。また、この問題を意識せ
ずにアプリケーション開発できるので、全体の開発工数
も短くなり有効である。
【0032】
【発明の実施の形態】図1は、本発明に係る画像処理装
置の一実施形態を示すシステム構成図である。
置の一実施形態を示すシステム構成図である。
【0033】本画像処理装置20は、第1入力フレーム
メモリ21、第2入力フレームメモリ22、第1出力フ
レームメモリ23、および第2出力フレームメモリ2
4、およびSIMD型画像処理プロセッサ25を主構成
要素として有している。
メモリ21、第2入力フレームメモリ22、第1出力フ
レームメモリ23、および第2出力フレームメモリ2
4、およびSIMD型画像処理プロセッサ25を主構成
要素として有している。
【0034】第1入力フレームメモリ21および第2入
力フレームメモリ22は、実際に画像処理を行う基とな
る画像データをフレーム単位で格納し、格納画像データ
をSIMD型画像処理プロセッサ25に供給する。第1
出力フレームメモリ23および第2出力フレームメモリ
24は、SIMD型画像処理プロセッサ25で所定の演
算処理等を受けた画像処理後の画像データをフレーム単
位で格納する。
力フレームメモリ22は、実際に画像処理を行う基とな
る画像データをフレーム単位で格納し、格納画像データ
をSIMD型画像処理プロセッサ25に供給する。第1
出力フレームメモリ23および第2出力フレームメモリ
24は、SIMD型画像処理プロセッサ25で所定の演
算処理等を受けた画像処理後の画像データをフレーム単
位で格納する。
【0035】なお、画像データのフォーマットは、コン
ピュータディスプレイのような色の3原色であるR
(赤)、G(緑)、B(青)に基づくRGB形式であっ
ても、NTSCのようなテレビ信号であっても良い。ま
た、第1入力フレームメモリ21および第2入力フレー
ムメモリ22に格納される入力画像データ、並びに第1
出力フレームメモリ23および第2出力フレームメモリ
24に格納される出力画像データのサイズは、図1のよ
うな並列プロセッサ1個の場合、入力出力の両方のデー
タとも要素プロセッサ群の数までのサイズに限定され
る。
ピュータディスプレイのような色の3原色であるR
(赤)、G(緑)、B(青)に基づくRGB形式であっ
ても、NTSCのようなテレビ信号であっても良い。ま
た、第1入力フレームメモリ21および第2入力フレー
ムメモリ22に格納される入力画像データ、並びに第1
出力フレームメモリ23および第2出力フレームメモリ
24に格納される出力画像データのサイズは、図1のよ
うな並列プロセッサ1個の場合、入力出力の両方のデー
タとも要素プロセッサ群の数までのサイズに限定され
る。
【0036】SIMD型画像処理プロセッサ25は、入
力ポインタ251、第1入力SAM( シリアルアクセス
メモリ) 部252a、第2入力SAM部252b、デー
タメモリ部253、ALUアレイ部254、第1出力S
AM部255a、第2出力SAM部255b、出力ポイ
ンタ256、およびプログラム制御部257を有してい
る。また、本実施形態では、1画素に対応するそれぞれ
のブロックを合わせたものを要素プロセッサPEと呼
ぶ。本SIMD型画像処理プロセッサは、要素プロセッ
サPEをアレイ状に画像のサイズ分配置した要素プロセ
ッサ群より構成されている。また、本実施形態では、入
力SAM部、出力SAM部を2つ有する構成を示してい
るが、本発明を実現するためには、これら入力SAM
部、出力SAM部は、1つであっても、2つ以上の複数
個持っていても良い。そして、SIMD型画像処理プロ
セッサ25は、ハードウェアで構成されていても良い
し、ソフトウェアで実現されていても良い。
力ポインタ251、第1入力SAM( シリアルアクセス
メモリ) 部252a、第2入力SAM部252b、デー
タメモリ部253、ALUアレイ部254、第1出力S
AM部255a、第2出力SAM部255b、出力ポイ
ンタ256、およびプログラム制御部257を有してい
る。また、本実施形態では、1画素に対応するそれぞれ
のブロックを合わせたものを要素プロセッサPEと呼
ぶ。本SIMD型画像処理プロセッサは、要素プロセッ
サPEをアレイ状に画像のサイズ分配置した要素プロセ
ッサ群より構成されている。また、本実施形態では、入
力SAM部、出力SAM部を2つ有する構成を示してい
るが、本発明を実現するためには、これら入力SAM
部、出力SAM部は、1つであっても、2つ以上の複数
個持っていても良い。そして、SIMD型画像処理プロ
セッサ25は、ハードウェアで構成されていても良い
し、ソフトウェアで実現されていても良い。
【0037】入力ポインタ251は、ALUアレイ部2
54の書き込みアドレスが、入力ポインタ251を指し
ているときに、ALUアレイ部254の演算結果を受け
て入力SAM部252a、入力SAM部252bを制御
する。なお、入力SAM部252aと入力SAM部25
2b制御用の入力ポインタを別々に持っていても良い
し、同じポインタアドレスであっても良い。また、入力
ポインタ251は、ハードウェアのメモリとして構成さ
れていても良いし、ソフトウェア上で実現されていても
良い。
54の書き込みアドレスが、入力ポインタ251を指し
ているときに、ALUアレイ部254の演算結果を受け
て入力SAM部252a、入力SAM部252bを制御
する。なお、入力SAM部252aと入力SAM部25
2b制御用の入力ポインタを別々に持っていても良い
し、同じポインタアドレスであっても良い。また、入力
ポインタ251は、ハードウェアのメモリとして構成さ
れていても良いし、ソフトウェア上で実現されていても
良い。
【0038】入力SAM部252aは、入力ポインタ2
51の指示に従ってスキップ等の処理を含めて、第1入
力フレームメモリ21に格納された画像データを所定の
位置に入力し、そのデータをデータメモリ部253に供
給する。入力SAM部252bは、入力ポインタ251
の指示に従ってスキップ等の処理を含めて、第2入力フ
レームメモリ22に格納された画像データを所定の位置
に入力し、そのデータをデータメモリ部253に供給す
る。なお、入力SAM部252a、および入力SAM部
252bは、ハードウェアで構成されていても良いし、
ソフトウェアのファイルとして構成されていても良い。
51の指示に従ってスキップ等の処理を含めて、第1入
力フレームメモリ21に格納された画像データを所定の
位置に入力し、そのデータをデータメモリ部253に供
給する。入力SAM部252bは、入力ポインタ251
の指示に従ってスキップ等の処理を含めて、第2入力フ
レームメモリ22に格納された画像データを所定の位置
に入力し、そのデータをデータメモリ部253に供給す
る。なお、入力SAM部252a、および入力SAM部
252bは、ハードウェアで構成されていても良いし、
ソフトウェアのファイルとして構成されていても良い。
【0039】データメモリ部253は、1要素プロセッ
サPE当たり数百ビットのメモリから構成されており、
プログラム制御部257の制御コードに従い、入力SA
M部252a,252bからのデータを保持したり、A
LUアレイ部254が演算を行うためのデータをALU
アレイ部254に送り、また、ALUアレイ部254の
演算結果を保持したりする。なお、データメモリ部25
3は、ハードウェアのメモリとして構成されていても良
いし、ソフトウェアのメモリ配列として構成されていて
も良い。
サPE当たり数百ビットのメモリから構成されており、
プログラム制御部257の制御コードに従い、入力SA
M部252a,252bからのデータを保持したり、A
LUアレイ部254が演算を行うためのデータをALU
アレイ部254に送り、また、ALUアレイ部254の
演算結果を保持したりする。なお、データメモリ部25
3は、ハードウェアのメモリとして構成されていても良
いし、ソフトウェアのメモリ配列として構成されていて
も良い。
【0040】ALUアレイ部254は、データメモリ部
253からのデータを入力し、プログラム制御部257
で指定されたアドレスポインタに演算結果を書き込む。
アドレスポインタがデータメモリ部253であった場合
は、データメモリ部253の指定されたアドレスにAL
Uアレイ部254の演算結果が書き込まれる。また、ア
ドレスポインタが入力ポインタ251、出力ポインタ2
56であった場合には、入力ポインタ251、出力ポイ
ンタ252にALUアレイ部254の演算結果が書き込
まれる。なお、ALUアレイ部254は、ハードウェア
で構成されていても良いし、ソフトウェアで構成されて
いても良い。
253からのデータを入力し、プログラム制御部257
で指定されたアドレスポインタに演算結果を書き込む。
アドレスポインタがデータメモリ部253であった場合
は、データメモリ部253の指定されたアドレスにAL
Uアレイ部254の演算結果が書き込まれる。また、ア
ドレスポインタが入力ポインタ251、出力ポインタ2
56であった場合には、入力ポインタ251、出力ポイ
ンタ252にALUアレイ部254の演算結果が書き込
まれる。なお、ALUアレイ部254は、ハードウェア
で構成されていても良いし、ソフトウェアで構成されて
いても良い。
【0041】出力SAM部255aは、プログラム制御
部257の制御コードの書き込みアドレスが出力SAM
部255aを指している場合、ALUアレイ部254の
演算結果を入力し、第1出力フレームメモリ23へデー
タを供給する。出力SAM部255bは、プログラム制
御部257の制御コードの書き込みアドレスが出力SA
M部255bを指している場合、ALUアレイ部254
の演算結果を入力し、第2出力フレームメモリ24へデ
ータを供給する。なお、本実施形態では、出力SAM部
を2つ持っているが、任意の画素数変換を説明するため
には、出力SAM部は、1つであっても良いし、2つ以
上の複数持っていても良い。また、出力SAM部255
a、および出力SAM部255bは、ハードウェアで構
成されていても良いし、ソフトウェアで実現する場合フ
ァイルとして構成されていても良い。
部257の制御コードの書き込みアドレスが出力SAM
部255aを指している場合、ALUアレイ部254の
演算結果を入力し、第1出力フレームメモリ23へデー
タを供給する。出力SAM部255bは、プログラム制
御部257の制御コードの書き込みアドレスが出力SA
M部255bを指している場合、ALUアレイ部254
の演算結果を入力し、第2出力フレームメモリ24へデ
ータを供給する。なお、本実施形態では、出力SAM部
を2つ持っているが、任意の画素数変換を説明するため
には、出力SAM部は、1つであっても良いし、2つ以
上の複数持っていても良い。また、出力SAM部255
a、および出力SAM部255bは、ハードウェアで構
成されていても良いし、ソフトウェアで実現する場合フ
ァイルとして構成されていても良い。
【0042】出力ポインタ256は、ALUアレイ部2
54の書き込みアドレスS254bが出力ポインタ25
6を指しているときに、ALUアレイ部254の演算結
果を入力とする出力SAM部255a、および出力SA
M部255bを制御する。なお、出力SAM部255a
と出力SAM部255b制御用の出力ポインタを別々に
持っていても良いし、同じポインタアドレスであっても
良い。また、出力ポインタ256は、ハードウェアのメ
モリとして構成されていても良いし、ソフトウェア上で
実現されていても良い。
54の書き込みアドレスS254bが出力ポインタ25
6を指しているときに、ALUアレイ部254の演算結
果を入力とする出力SAM部255a、および出力SA
M部255bを制御する。なお、出力SAM部255a
と出力SAM部255b制御用の出力ポインタを別々に
持っていても良いし、同じポインタアドレスであっても
良い。また、出力ポインタ256は、ハードウェアのメ
モリとして構成されていても良いし、ソフトウェア上で
実現されていても良い。
【0043】要素プロセッサPEは、入力SAM部25
2a,252b、データメモリ部253、ALUアレイ
部254、出力SAM部255a,255bの1画素に
対応したものの集合のことであり、プロセッサは、この
要素プロセッサが複数集まって構成されている。要素プ
ロセッサPEは、たとえばデータを1ビットずつ処理す
る1ビットプロセッサであり、ビット処理プロセッサは
ハードウェアが小さく、普通には実現できない程多数の
並列数を実現できるので、画像用の場合、要素プロセッ
サ直線配列の並列数は、映像信号の一水平走査期間の画
素数( H) に一致させている。また、要素プロセッサ間
の通信のことを左右通信(LR通信) と呼び、左右隣あ
った画素の演算等を可能にする。なお、要素プロセッサ
PEは、ハードウェアで構成されていても良いし、ソフ
トウェアで実現する場合ファイルとして構成されていて
も良い。
2a,252b、データメモリ部253、ALUアレイ
部254、出力SAM部255a,255bの1画素に
対応したものの集合のことであり、プロセッサは、この
要素プロセッサが複数集まって構成されている。要素プ
ロセッサPEは、たとえばデータを1ビットずつ処理す
る1ビットプロセッサであり、ビット処理プロセッサは
ハードウェアが小さく、普通には実現できない程多数の
並列数を実現できるので、画像用の場合、要素プロセッ
サ直線配列の並列数は、映像信号の一水平走査期間の画
素数( H) に一致させている。また、要素プロセッサ間
の通信のことを左右通信(LR通信) と呼び、左右隣あ
った画素の演算等を可能にする。なお、要素プロセッサ
PEは、ハードウェアで構成されていても良いし、ソフ
トウェアで実現する場合ファイルとして構成されていて
も良い。
【0044】プログラム制御部257は、所定の制御コ
ードに従い、入力SAM部252a,252b、データ
メモリ部253、ALUアレイ部254、出力SAM部
255a,255bを制御する制御コード出力S257
を生成する。なお、プログラム制御部257は、SIM
D型画像処理プロセッサ25の内部に存在しており、ハ
ードウェアで構成されていても良いし、ソフトウェアで
実現する場合には制御コードファイルとして構成されて
いても良い。
ードに従い、入力SAM部252a,252b、データ
メモリ部253、ALUアレイ部254、出力SAM部
255a,255bを制御する制御コード出力S257
を生成する。なお、プログラム制御部257は、SIM
D型画像処理プロセッサ25の内部に存在しており、ハ
ードウェアで構成されていても良いし、ソフトウェアで
実現する場合には制御コードファイルとして構成されて
いても良い。
【0045】以下、プログラム制御部257の具体的な
構成および機能について、図面に関連付けて説明する。
構成および機能について、図面に関連付けて説明する。
【0046】図2は、プログラム制御部257の構成例
を示すブロック図である。このプログラム制御部257
は、図2に示すように、プログラムコードを格納するア
プリケーションプログラム保持部2571と、実際にプ
ログラム制御を行うCPU2572と、並列画像処理プ
ロセッサを駆動させるためのコプロ命令を展開するプロ
セッサ部としてのコプロセッサブロック2573とを有
している。また、コプロセッサブロック2573は、C
PU2752から発行されたコプロセッサ命令を受け取
るコプロ命令受取部25731と、コプロ命令を解釈す
る命令展開部25732と、割り込み命令を展開する割
り込み命令展開部25733と、コプロ命令をデコード
する命令生成部25734と、割り込み命令をデコード
する命令生成部25735と、コプロ命令実行に必要な
第1の出力データを生成する第1のデータ生成部として
の出力データ生成部25736と、割り込み命令実行に
必要な第2の出力データを生成する第2のデータ生成部
としての出力データ生成部25737と、コプロ命令と
割り込み命令のうちのどちらの命令を実行するかを決定
する出力データ選択部25738と、ALU制御コード
を生成する命令実行部25739とから構成されてい
る。なお、これらの構成要素のうち、命令展開部257
32、命令生成部25734、出力データ生成部257
36、および命令実行部25739を含めて本発明に係
る第1のデコード部が構成され、割り込み命令展開部2
5733、命令生成部25735、出力データ生成部2
5737、および命令実行部25739を含めて本発明
に係る第2のデコード部が構成される。
を示すブロック図である。このプログラム制御部257
は、図2に示すように、プログラムコードを格納するア
プリケーションプログラム保持部2571と、実際にプ
ログラム制御を行うCPU2572と、並列画像処理プ
ロセッサを駆動させるためのコプロ命令を展開するプロ
セッサ部としてのコプロセッサブロック2573とを有
している。また、コプロセッサブロック2573は、C
PU2752から発行されたコプロセッサ命令を受け取
るコプロ命令受取部25731と、コプロ命令を解釈す
る命令展開部25732と、割り込み命令を展開する割
り込み命令展開部25733と、コプロ命令をデコード
する命令生成部25734と、割り込み命令をデコード
する命令生成部25735と、コプロ命令実行に必要な
第1の出力データを生成する第1のデータ生成部として
の出力データ生成部25736と、割り込み命令実行に
必要な第2の出力データを生成する第2のデータ生成部
としての出力データ生成部25737と、コプロ命令と
割り込み命令のうちのどちらの命令を実行するかを決定
する出力データ選択部25738と、ALU制御コード
を生成する命令実行部25739とから構成されてい
る。なお、これらの構成要素のうち、命令展開部257
32、命令生成部25734、出力データ生成部257
36、および命令実行部25739を含めて本発明に係
る第1のデコード部が構成され、割り込み命令展開部2
5733、命令生成部25735、出力データ生成部2
5737、および命令実行部25739を含めて本発明
に係る第2のデコード部が構成される。
【0047】アプリケーションプログラム保持部257
1は、上述したようにプログラムコードを格納する。こ
のアプリケーションプログラム保持部2571は、ハー
ドウェアでメモリ構造として構成されていても良いし、
ソフトウェアで実現する場合アプリケーションコードフ
ァイルとして構成されていても良い。アプリケーション
プログラムコードは、C言語などで記述されたプログラ
ムをコンパイルすることで得られるが、主には並列プロ
セッサを制御する制御コードとCPU2572を制御す
るコードで構成されており、コプロセッサブロック25
73は、並列プロセッサを制御する制御コードだけを受
け取る。
1は、上述したようにプログラムコードを格納する。こ
のアプリケーションプログラム保持部2571は、ハー
ドウェアでメモリ構造として構成されていても良いし、
ソフトウェアで実現する場合アプリケーションコードフ
ァイルとして構成されていても良い。アプリケーション
プログラムコードは、C言語などで記述されたプログラ
ムをコンパイルすることで得られるが、主には並列プロ
セッサを制御する制御コードとCPU2572を制御す
るコードで構成されており、コプロセッサブロック25
73は、並列プロセッサを制御する制御コードだけを受
け取る。
【0048】CPU(RISC)2572は、アプリケ
ーションプログラムコードを実際に処理する処理ブロッ
クであり、本実施形態の場合、係数演算やコプロセッサ
(以下、コプロという)命令を発行する等の役割を担っ
ている。CPU2572は、アプリケーションプログラ
ム保持部2571からのコードを入力し、演算等の処理
を行い、コプロ命令をコプロセッサブロック2573に
出力する。なお、CPU2572は、ハードウェア構造
で構成されていても良いし、ハードと等価な動きをする
ソフトウェアで構成されていても良い。
ーションプログラムコードを実際に処理する処理ブロッ
クであり、本実施形態の場合、係数演算やコプロセッサ
(以下、コプロという)命令を発行する等の役割を担っ
ている。CPU2572は、アプリケーションプログラ
ム保持部2571からのコードを入力し、演算等の処理
を行い、コプロ命令をコプロセッサブロック2573に
出力する。なお、CPU2572は、ハードウェア構造
で構成されていても良いし、ハードと等価な動きをする
ソフトウェアで構成されていても良い。
【0049】ここで、本実施形態におけるコプロ命令に
ついて、図3、および図4に関連付けて説明する。
ついて、図3、および図4に関連付けて説明する。
【0050】図3は、CPU2572からコプロセッサ
ブロック2573に出力されるMIPSコプロセッサ命
令(Coprocessor Instruction) の例を示す図であり、こ
の命令が発行されたときだけ、プログラム制御部257
にデータが入力される。
ブロック2573に出力されるMIPSコプロセッサ命
令(Coprocessor Instruction) の例を示す図であり、こ
の命令が発行されたときだけ、プログラム制御部257
にデータが入力される。
【0051】図3のコプロ命令は、32ビットからな
り、26ビットから31ビットまでの6ビットは、コー
ドCOP用領域である。このコードCOPは、コプロセ
ッサ命令判別のためのコードである。また、0ビットか
ら24ビットまでの25ビットは、オペレーションコー
ド(OPERATION CODE)用領域である。このオペレーション
コードは、加算、減算、乗算、論理演算等の命令と、ア
ドレスやビット長が記述されたコードである。なお、2
5ビット目は、常時論理「1」にセットされている。
り、26ビットから31ビットまでの6ビットは、コー
ドCOP用領域である。このコードCOPは、コプロセ
ッサ命令判別のためのコードである。また、0ビットか
ら24ビットまでの25ビットは、オペレーションコー
ド(OPERATION CODE)用領域である。このオペレーション
コードは、加算、減算、乗算、論理演算等の命令と、ア
ドレスやビット長が記述されたコードである。なお、2
5ビット目は、常時論理「1」にセットされている。
【0052】図4は、本実施形態に係るオペレーション
コードの例を示す図である。
コードの例を示す図である。
【0053】図4(a)は、選択命令で使用されるオペ
レーションコードの実際例を示している。選択命令と
は、 if(cond=1) dst=src1 else dst=src2 のような命令である。
レーションコードの実際例を示している。選択命令と
は、 if(cond=1) dst=src1 else dst=src2 のような命令である。
【0054】図4(a)のオペレーションコードにおい
て、20ビットから24ビットまでの5ビットがコンデ
ィションCOND用領域である。このコンディションC
OND用領域には、選択命令等で必要となる条件につい
て記述される。
て、20ビットから24ビットまでの5ビットがコンデ
ィションCOND用領域である。このコンディションC
OND用領域には、選択命令等で必要となる条件につい
て記述される。
【0055】さらに、図4(a)のオペレーションコー
ドにおいて、0ビットから5ビットまでの6ビットがデ
スティネーションdst用領域、6ビットから11ビッ
トの6ビットが第1ソースsrc1用領域、23ビット
から17ビットまでの6ビットが第2ソースsrc2用
領域である。これら、デスティネーションdst、第1
ソースsrc1、および第2ソースsrc2の各領域に
は、演算されるデータについての記述がされる。デステ
ィネーションdstは、書き込みアドレスを指定し、第
1ソースsrc1、および第2ソースsrc2は、読み
込みアドレス、演算長等が指定されることになる。
ドにおいて、0ビットから5ビットまでの6ビットがデ
スティネーションdst用領域、6ビットから11ビッ
トの6ビットが第1ソースsrc1用領域、23ビット
から17ビットまでの6ビットが第2ソースsrc2用
領域である。これら、デスティネーションdst、第1
ソースsrc1、および第2ソースsrc2の各領域に
は、演算されるデータについての記述がされる。デステ
ィネーションdstは、書き込みアドレスを指定し、第
1ソースsrc1、および第2ソースsrc2は、読み
込みアドレス、演算長等が指定されることになる。
【0056】図4(b)は、本実施形態において、加
算、減算、乗算のような演算を行う場合に使用されるオ
ペレーションコードの実際例を示している。つまり、 dst=src1+src2 dst=src1*src2 といった演算を行う場合に、図4(b)のフィールドが
使われる。このとき、20ビットから24ビットの5ビ
ットは、オペレーションコードOPCODE用領域であ
る。このオペレーションコードOPCODEが、命令の
種類を決めるコードとなっている。
算、減算、乗算のような演算を行う場合に使用されるオ
ペレーションコードの実際例を示している。つまり、 dst=src1+src2 dst=src1*src2 といった演算を行う場合に、図4(b)のフィールドが
使われる。このとき、20ビットから24ビットの5ビ
ットは、オペレーションコードOPCODE用領域であ
る。このオペレーションコードOPCODEが、命令の
種類を決めるコードとなっている。
【0057】図4(c)は、本実施形態において、転
送、反転のような演算を行う場合に使用されるオペレー
ションコードの実際例を示している。つまり、 dst=src1 dst=src1の反転 といった演算を行う場合に、図4(c)のフィールドが
使われる。このとき、12ビットから16ビットの5ビ
ットはレングスlen用領域である。このレングスle
n用領域は、転送などのビット長を指定するフィールド
であり、この領域に書かれた値だけのビット転送処理が
行われる。
送、反転のような演算を行う場合に使用されるオペレー
ションコードの実際例を示している。つまり、 dst=src1 dst=src1の反転 といった演算を行う場合に、図4(c)のフィールドが
使われる。このとき、12ビットから16ビットの5ビ
ットはレングスlen用領域である。このレングスle
n用領域は、転送などのビット長を指定するフィールド
であり、この領域に書かれた値だけのビット転送処理が
行われる。
【0058】コプロセッサブロック2573は、CPU
2572からのコプロ命令を入力し、並列プロセッサの
制御コードを生成して、図1の各制御対象ブロックに出
力する。なお、コプロセッサブロック2573は、ハー
ドウェア構造で構成されていても良いし、ソフトウェア
プログラムとして構成されていても良い。
2572からのコプロ命令を入力し、並列プロセッサの
制御コードを生成して、図1の各制御対象ブロックに出
力する。なお、コプロセッサブロック2573は、ハー
ドウェア構造で構成されていても良いし、ソフトウェア
プログラムとして構成されていても良い。
【0059】そして、上述したように、コプロセッサブ
ロック2573は、コプロ命令受取部25731と、命
令展開部25732と、割り込み命令展開部25733
と、コプロ命令をデコードする命令生成部25734
と、割り込み命令生成部25735と、出力データ生成
部25736と、出力データ生成部25737と、出力
データ選択部25738と、命令実行部25739とか
ら構成されている。また、図5は、コプロセッサブロッ
ク2573における内部の演算フローを示している。以
下に、コプロセッサブロック2573の各部の構成およ
び機能について、図2および図5に関連付けて説明す
る。
ロック2573は、コプロ命令受取部25731と、命
令展開部25732と、割り込み命令展開部25733
と、コプロ命令をデコードする命令生成部25734
と、割り込み命令生成部25735と、出力データ生成
部25736と、出力データ生成部25737と、出力
データ選択部25738と、命令実行部25739とか
ら構成されている。また、図5は、コプロセッサブロッ
ク2573における内部の演算フローを示している。以
下に、コプロセッサブロック2573の各部の構成およ
び機能について、図2および図5に関連付けて説明す
る。
【0060】コプロ命令受取部25731は、CPU2
572からの命令を判別し、通常の命令であれば、受け
取ったコードを命令展開部25732に出力し、割り込
み命令であれば、割り込み命令展開部25733に出力
する。図5の例では、図4(b)に示すようなコードが
送られてくると、コプロ命令受取部25731が命令と
判断し、受け取る。このとき、命令受取部25731
は、割り込み命令かどうかの判定を行い(ST1)、通
常の命令であれば、命令コードを取得し(ST2)、割
り込み命令であれば、割り込み命令コードを取得する
(ST3)。なお、コプロ命令受取部25731は、ハ
ードウェア構造で構成されていても良いし、ソフトウェ
アプログラムとして構成されていても良い。
572からの命令を判別し、通常の命令であれば、受け
取ったコードを命令展開部25732に出力し、割り込
み命令であれば、割り込み命令展開部25733に出力
する。図5の例では、図4(b)に示すようなコードが
送られてくると、コプロ命令受取部25731が命令と
判断し、受け取る。このとき、命令受取部25731
は、割り込み命令かどうかの判定を行い(ST1)、通
常の命令であれば、命令コードを取得し(ST2)、割
り込み命令であれば、割り込み命令コードを取得する
(ST3)。なお、コプロ命令受取部25731は、ハ
ードウェア構造で構成されていても良いし、ソフトウェ
アプログラムとして構成されていても良い。
【0061】命令展開部25732は、コプロ命令受取
部25731で受け取ったコプロ命令コードを入力し、
命令のデコード処理を行い、オペレーションコード中に
記述されているアプリケーション変数データアドレスを
抽出する。すなわち、命令展開部25732は、図5に
示すように、コプロ命令のデコード処理(ST4)、お
よび演算アドレスのデコード処理(ST5)を行う。ス
テップST4の命令デコード処理は、たとえば図4
(b)中のオペレーションコードOPCODEとその後
の値を見て命令を決定し、命令生成部25734の命令
コードを取得するための処理系に出力する処理である。
ステップST5の演算アドレスのデコード処理は、オペ
レーションコード中の第1ソースsrc1、第2ソース
src2、デスティネーションdst、およびコンディ
ションCONDの値を抽出し、命令生成部25734の
演算アドレス、演算長、LR通信の処理系に出力する。
命令展開部25732は、ハードウェア構造で構成され
ていても良いし、ソフトウェアとして構成されていても
良い。
部25731で受け取ったコプロ命令コードを入力し、
命令のデコード処理を行い、オペレーションコード中に
記述されているアプリケーション変数データアドレスを
抽出する。すなわち、命令展開部25732は、図5に
示すように、コプロ命令のデコード処理(ST4)、お
よび演算アドレスのデコード処理(ST5)を行う。ス
テップST4の命令デコード処理は、たとえば図4
(b)中のオペレーションコードOPCODEとその後
の値を見て命令を決定し、命令生成部25734の命令
コードを取得するための処理系に出力する処理である。
ステップST5の演算アドレスのデコード処理は、オペ
レーションコード中の第1ソースsrc1、第2ソース
src2、デスティネーションdst、およびコンディ
ションCONDの値を抽出し、命令生成部25734の
演算アドレス、演算長、LR通信の処理系に出力する。
命令展開部25732は、ハードウェア構造で構成され
ていても良いし、ソフトウェアとして構成されていても
良い。
【0062】割り込み命令展開部25733は、コプロ
命令受取部25731で受け取った割り込み命令コード
を入力し、命令のデコード処理を行い、オペレーション
コード中に記述されているアプリケーション変数データ
アドレスを抽出する。すなわち、割り込み命令展開部2
5733は、図5に示すように、割り込み命令のデコー
ド(ST6)、および演算アドレスのデコード処理(S
T7)を行う。ステップST6の割り込み命令のデコー
ド処理は、オペレーションコードOPCODEとその後
の値を見て命令を決定し、命令生成部25735の命令
コードを取得するための処理系に出力する処理である。
ステップST7の演算アドレスのデコード処理は、オペ
レーションコード中の第1ソースsrc1、第2ソース
src2、デスティネーションdst、およびコンディ
ションCONDの値を抽出し、命令生成部25735の
演算アドレス、演算長、LR通信の処理系に出力する。
割り込み命令展開部25733は、ハードウェア構造で
構成されていても良いし、ソフトウェアとして構成され
ていても良い。
命令受取部25731で受け取った割り込み命令コード
を入力し、命令のデコード処理を行い、オペレーション
コード中に記述されているアプリケーション変数データ
アドレスを抽出する。すなわち、割り込み命令展開部2
5733は、図5に示すように、割り込み命令のデコー
ド(ST6)、および演算アドレスのデコード処理(S
T7)を行う。ステップST6の割り込み命令のデコー
ド処理は、オペレーションコードOPCODEとその後
の値を見て命令を決定し、命令生成部25735の命令
コードを取得するための処理系に出力する処理である。
ステップST7の演算アドレスのデコード処理は、オペ
レーションコード中の第1ソースsrc1、第2ソース
src2、デスティネーションdst、およびコンディ
ションCONDの値を抽出し、命令生成部25735の
演算アドレス、演算長、LR通信の処理系に出力する。
割り込み命令展開部25733は、ハードウェア構造で
構成されていても良いし、ソフトウェアとして構成され
ていても良い。
【0063】命令生成部25734は、命令展開部25
732で展開された命令コードを入力して、実行命令の
形式に変換した命令コードを生成し、出力データ生成部
25736に出力する。すなわち、命令生成部2573
4は、命令デコードされた命令コードを入力する命令コ
ードを取得するための処理(ST8)、および演算アド
レスのデコードされたものを入力し、演算アドレス、演
算長、LR通信(図1の要素プロセッサPEの左右間の
通信)データを取得する処理(ST9)を行う。そし
て、命令生成部25734は、ステップST8で取得し
た命令コード、およびステップST9で取得した演算ア
ドレス、演算長、LR通信データを、出力データ生成部
25736の命令実行に必要なコードの生成処理系に出
力する。なお、命令生成部25734は、ハードウェア
構造で構成されていても良いし、ソフトウェアとして構
成されていても良い。
732で展開された命令コードを入力して、実行命令の
形式に変換した命令コードを生成し、出力データ生成部
25736に出力する。すなわち、命令生成部2573
4は、命令デコードされた命令コードを入力する命令コ
ードを取得するための処理(ST8)、および演算アド
レスのデコードされたものを入力し、演算アドレス、演
算長、LR通信(図1の要素プロセッサPEの左右間の
通信)データを取得する処理(ST9)を行う。そし
て、命令生成部25734は、ステップST8で取得し
た命令コード、およびステップST9で取得した演算ア
ドレス、演算長、LR通信データを、出力データ生成部
25736の命令実行に必要なコードの生成処理系に出
力する。なお、命令生成部25734は、ハードウェア
構造で構成されていても良いし、ソフトウェアとして構
成されていても良い。
【0064】命令生成部25735は、割り込み命令展
開部25733で展開された命令コードを入力して、実
行命令の形式に変換した命令コードを生成し、出力デー
タ生成部25737に出力する。すなわち、命令生成部
25735は、命令デコードされた命令コードを入力す
る命令コードを取得するための処理(ST10)、およ
び演算アドレスのデコードされたものを入力し、演算ア
ドレス、演算長、LR通信データを取得する処理(ST
11)を行う。そして、命令生成部25735は、ステ
ップST10で取得した命令コード、およびステップS
T11で取得した演算アドレス、演算長、LR通信デー
タを、出力データ生成部25737の命令実行に必要な
コードの生成処理系に出力する。なお、命令生成部25
735は、ハードウェア構造で構成されていても良い
し、ソフトウェアとして構成されていても良い。
開部25733で展開された命令コードを入力して、実
行命令の形式に変換した命令コードを生成し、出力デー
タ生成部25737に出力する。すなわち、命令生成部
25735は、命令デコードされた命令コードを入力す
る命令コードを取得するための処理(ST10)、およ
び演算アドレスのデコードされたものを入力し、演算ア
ドレス、演算長、LR通信データを取得する処理(ST
11)を行う。そして、命令生成部25735は、ステ
ップST10で取得した命令コード、およびステップS
T11で取得した演算アドレス、演算長、LR通信デー
タを、出力データ生成部25737の命令実行に必要な
コードの生成処理系に出力する。なお、命令生成部25
735は、ハードウェア構造で構成されていても良い
し、ソフトウェアとして構成されていても良い。
【0065】また、本実施形態においては、命令生成部
25734,25735は、ともに入出力は同じコード
で対応できるため、同じ構成を取ったものを2つ並べる
ことができる。さらに、命令生成部25734,257
35において取得するLR通信データは、3ビットで、
左右通信(LR通信)のデータLR[0] を示している。こ
の3ビットデータは次のように分類されている。
25734,25735は、ともに入出力は同じコード
で対応できるため、同じ構成を取ったものを2つ並べる
ことができる。さらに、命令生成部25734,257
35において取得するLR通信データは、3ビットで、
左右通信(LR通信)のデータLR[0] を示している。こ
の3ビットデータは次のように分類されている。
【0066】 000: 自分自身の要素プロセッサ 001: 1つ左の要素プロセッサ(L1) 010: 2つ左の要素プロセッサ(L2) 100: 1つ右の要素プロセッサ(R1) 110: 2つ右の要素プロセッサ(R2)
【0067】また、出力先の出力データ生成部2573
6,25737に生成データが保持された状態のとき
は、命令生成部25734,25735で生成されたデ
ータも保持状態になる。
6,25737に生成データが保持された状態のとき
は、命令生成部25734,25735で生成されたデ
ータも保持状態になる。
【0068】出力データ生成部25736は、命令生成
部25734で取得された命令コード、および演算アド
レス、演算長、LR通信データに基づいて命令実行に必
要なパラメータなどを生成し、出力データ選択部257
38に出力する。すなわち、出力データ生成部2573
6は、図5に示すように、ステップST12の処理によ
り命令実行に必要なデータを揃え、出力をする。また、
命令が実行されている間は、この出力データ生成部25
736に生成データを保持し、命令実行が終了し次第、
出力する構成となっている。なお、出力データ生成部2
5736は、ハードウェア構造で構成されていても良い
し、ソフトウェアとして構成されていても良い。
部25734で取得された命令コード、および演算アド
レス、演算長、LR通信データに基づいて命令実行に必
要なパラメータなどを生成し、出力データ選択部257
38に出力する。すなわち、出力データ生成部2573
6は、図5に示すように、ステップST12の処理によ
り命令実行に必要なデータを揃え、出力をする。また、
命令が実行されている間は、この出力データ生成部25
736に生成データを保持し、命令実行が終了し次第、
出力する構成となっている。なお、出力データ生成部2
5736は、ハードウェア構造で構成されていても良い
し、ソフトウェアとして構成されていても良い。
【0069】出力データ生成部25737は、命令生成
部25735で取得された命令コード、および演算アド
レス、演算長、LR通信データに基づいて命令実行に必
要なパラメータなどを生成し、出力データ選択部257
38に出力する。すなわち、出力データ生成部2573
7は、図5に示すように、ステップST13の処理によ
り命令実行に必要なデータを揃え、出力をする。また、
命令が実行されている間は、この出力データ生成部25
737に生成データを保持し、命令実行が終了し次第、
出力する構成となっている。なお、出力データ生成部2
5737は、ハードウェア構造で構成されていても良い
し、ソフトウェアとして構成されていても良い。
部25735で取得された命令コード、および演算アド
レス、演算長、LR通信データに基づいて命令実行に必
要なパラメータなどを生成し、出力データ選択部257
38に出力する。すなわち、出力データ生成部2573
7は、図5に示すように、ステップST13の処理によ
り命令実行に必要なデータを揃え、出力をする。また、
命令が実行されている間は、この出力データ生成部25
737に生成データを保持し、命令実行が終了し次第、
出力する構成となっている。なお、出力データ生成部2
5737は、ハードウェア構造で構成されていても良い
し、ソフトウェアとして構成されていても良い。
【0070】また、本実施形態においては、出力データ
生成部25736,25737は、命令生成部2573
4,25735で生成されるコードは同じであるので、
同じ構成を2つ並べたもので対応できる。
生成部25736,25737は、命令生成部2573
4,25735で生成されるコードは同じであるので、
同じ構成を2つ並べたもので対応できる。
【0071】出力データ選択部25738は、命令実行
部25739からの命令要求S25739を見て、通常
の命令と、割り込みの命令のどちらかの命令を選択し、
命令実行部25739に出力する。ここで、出力データ
選択部25738は、通常の命令と割り込みの命令の両
方ともが出力データ生成部25736,25737から
出力データを出している場合、割り込み命令を優先的に
先に命令実行部25739に通すように構成されてい
る。ただし、複数の命令で1つの命令を構成しているよ
うな場合には、通常の命令を選択し命令実行部2573
9に出力することもある。このような構成を取ることに
より、CPU2572の段階では、前に出された命令を
追越し、割り込み命令を実行することが可能となる。す
なわち、出力データ選択部25738は、図5に示すよ
うに、ステップST14の処理により、命令の実行が終
了したフラグを見て、通常命令と割り込み命令の命令コ
ードを選択して出力する。これにより、命令実行部25
739で命令が実行される。なお、出力データ選択部2
5739は、ハードウェア構造で構成されていても良い
し、ソフトウェアとして構成されていても良い。
部25739からの命令要求S25739を見て、通常
の命令と、割り込みの命令のどちらかの命令を選択し、
命令実行部25739に出力する。ここで、出力データ
選択部25738は、通常の命令と割り込みの命令の両
方ともが出力データ生成部25736,25737から
出力データを出している場合、割り込み命令を優先的に
先に命令実行部25739に通すように構成されてい
る。ただし、複数の命令で1つの命令を構成しているよ
うな場合には、通常の命令を選択し命令実行部2573
9に出力することもある。このような構成を取ることに
より、CPU2572の段階では、前に出された命令を
追越し、割り込み命令を実行することが可能となる。す
なわち、出力データ選択部25738は、図5に示すよ
うに、ステップST14の処理により、命令の実行が終
了したフラグを見て、通常命令と割り込み命令の命令コ
ードを選択して出力する。これにより、命令実行部25
739で命令が実行される。なお、出力データ選択部2
5739は、ハードウェア構造で構成されていても良い
し、ソフトウェアとして構成されていても良い。
【0072】命令実行部25739は、実行状態にない
ときに、出力データ選択部25738より選択された命
令コードを入力して命令を実行し、並列プロセッサ制御
コードS257を生成して出力する。本実施形態では、
並列プロセッサに1ビットの演算器を持っていることを
仮定しており、命令の種類や演算長によって命令サイク
ル数が変わってくる。すなわち、命令実行部25739
は、図5に示すように、ステップST15の処理におい
て、出力コードを入力し、並列プロセッサ制御コードを
生成する。そして、ステップST16の処理において、
命令が終了かどうかを判定する。命令が終了と判断され
れば、即座に次の命令を受け取るために、出力データ選
択部25738に命令終了フラグを送る。命令が続くと
判定された場合には、ステップST15の処理に戻り、
命令実行を繰り返す。なお、命令実行部25739は、
ハードウェア構造で構成されていても良いし、ソフトウ
ェアで構成されていても良い。
ときに、出力データ選択部25738より選択された命
令コードを入力して命令を実行し、並列プロセッサ制御
コードS257を生成して出力する。本実施形態では、
並列プロセッサに1ビットの演算器を持っていることを
仮定しており、命令の種類や演算長によって命令サイク
ル数が変わってくる。すなわち、命令実行部25739
は、図5に示すように、ステップST15の処理におい
て、出力コードを入力し、並列プロセッサ制御コードを
生成する。そして、ステップST16の処理において、
命令が終了かどうかを判定する。命令が終了と判断され
れば、即座に次の命令を受け取るために、出力データ選
択部25738に命令終了フラグを送る。命令が続くと
判定された場合には、ステップST15の処理に戻り、
命令実行を繰り返す。なお、命令実行部25739は、
ハードウェア構造で構成されていても良いし、ソフトウ
ェアで構成されていても良い。
【0073】図6は、命令実行部25739におけるス
テップST16の各命令の種類と実行する演算長による
命令サイクル数について示す図である。図6に示してい
る演算サイクル数が各命令の命令実行サイクルとなり、
その回数だけ1つの命令を繰り返すことになる。以下
に、図6について詳細に説明する。
テップST16の各命令の種類と実行する演算長による
命令サイクル数について示す図である。図6に示してい
る演算サイクル数が各命令の命令実行サイクルとなり、
その回数だけ1つの命令を繰り返すことになる。以下
に、図6について詳細に説明する。
【0074】図6(a)は、ADD(加算),SUB8
(減算),CMP(比較)の演算サイクル数を示したも
のである。この式の中のdst,src1,src2
は、 add(...) : dst = src1 + src2 sub(...) : dst = src1 - src2 cmp(...) : dst = (src1 < src2)? 1:0 を記述したものである。また、図6(a)において、l
en1,len2は、第1ソースsrc1,第2ソース
src2の演算長(たとえば8ビット)を示している。
このときの、演算サイクル数は、演算長len1とle
n2のうち大きい方の値に1を加えた数となる。
(減算),CMP(比較)の演算サイクル数を示したも
のである。この式の中のdst,src1,src2
は、 add(...) : dst = src1 + src2 sub(...) : dst = src1 - src2 cmp(...) : dst = (src1 < src2)? 1:0 を記述したものである。また、図6(a)において、l
en1,len2は、第1ソースsrc1,第2ソース
src2の演算長(たとえば8ビット)を示している。
このときの、演算サイクル数は、演算長len1とle
n2のうち大きい方の値に1を加えた数となる。
【0075】図6(b)は、MOV(転送)、NOT
(反転)、NEG(否定)のサイクル数を示しており、
それぞれ mov(...) : dst = src not(...) : dst = (srcの反転) neg(...) : dst = (srcの値の否定) を記述したものである。図6(b)において、lenは
転送、反転、否定のビット長(演算長)を示している。
このときの演算サイクル数は、lenの値となる。
(反転)、NEG(否定)のサイクル数を示しており、
それぞれ mov(...) : dst = src not(...) : dst = (srcの反転) neg(...) : dst = (srcの値の否定) を記述したものである。図6(b)において、lenは
転送、反転、否定のビット長(演算長)を示している。
このときの演算サイクル数は、lenの値となる。
【0076】図6(c)は、AND(論理積),OR
(論理和),XOR(排他的論理和),XNOR(排他
的否定的論理和),NAND(否定的論理積),NOR
(否定的論理和)の各論理演算を行ったときの演算サイ
クル数を示したものである。具体的には、 and(...) : dst = src1 (and) src2 or (...) : dst = src1 (or) src2 xor(...) : dst = src1 (xor) src2 xnor(...): dst = src1 (xnor) src2 nand(...): dst = src1 (nand) src2 nor(...) : dst = src1 (nand) src2 を記述したものである。図6(c)において、lenは
転送、反転、否定のビット長(演算長)を示している。
このときの演算サイクル数は、lenの値となる。
(論理和),XOR(排他的論理和),XNOR(排他
的否定的論理和),NAND(否定的論理積),NOR
(否定的論理和)の各論理演算を行ったときの演算サイ
クル数を示したものである。具体的には、 and(...) : dst = src1 (and) src2 or (...) : dst = src1 (or) src2 xor(...) : dst = src1 (xor) src2 xnor(...): dst = src1 (xnor) src2 nand(...): dst = src1 (nand) src2 nor(...) : dst = src1 (nand) src2 を記述したものである。図6(c)において、lenは
転送、反転、否定のビット長(演算長)を示している。
このときの演算サイクル数は、lenの値となる。
【0077】図6(d)は、MUL(乗算)を行ったと
きの演算サイクル数を示している。具体的には、 mul(...) : dst = src1 * src2 を記述している。図6(d)において、len1,le
n2は、第1ソースsrc1,第2ソースsrc2の演
算長を表している。このときの演算サイクル数は、 (le
n1+3)+(len2/2)+len2/2 となっている。ただし、乗算の
アルゴリズム如何では、若干のサイクル数の違いはでて
くる。
きの演算サイクル数を示している。具体的には、 mul(...) : dst = src1 * src2 を記述している。図6(d)において、len1,le
n2は、第1ソースsrc1,第2ソースsrc2の演
算長を表している。このときの演算サイクル数は、 (le
n1+3)+(len2/2)+len2/2 となっている。ただし、乗算の
アルゴリズム如何では、若干のサイクル数の違いはでて
くる。
【0078】このように、命令実行は、他のブロックと
違い、複数のサイクルを使用して演算を行う。演算サイ
クル数の多い命令が続いたときに割り込み命令が起こ
る。
違い、複数のサイクルを使用して演算を行う。演算サイ
クル数の多い命令が続いたときに割り込み命令が起こ
る。
【0079】命令実行部25739による並列プロセッ
サ用制御コード出力S257は、前述したように、入力
SAM部252a,252b、データメモリ部253、
ALUアレイ部254、出力SAM部255a,255
bに出力される。本実施形態では、SIMD制御の並列
プロセッサを用いていることから、この制御コードが全
要素プロセッサPEに配られることになり、全要素プロ
セッサPEに同じ動作をさせることが可能となる。な
お、この制御コードの出力部は、プログラム制御部25
7の内部に存在しており、ハードウェア構造で構成され
ていても良いし、ソフトウェアとして構成されていても
良い。
サ用制御コード出力S257は、前述したように、入力
SAM部252a,252b、データメモリ部253、
ALUアレイ部254、出力SAM部255a,255
bに出力される。本実施形態では、SIMD制御の並列
プロセッサを用いていることから、この制御コードが全
要素プロセッサPEに配られることになり、全要素プロ
セッサPEに同じ動作をさせることが可能となる。な
お、この制御コードの出力部は、プログラム制御部25
7の内部に存在しており、ハードウェア構造で構成され
ていても良いし、ソフトウェアとして構成されていても
良い。
【0080】このように、CPU2572から発行され
る1命令が、命令実行部において複数のサイクルになる
ような構造をもつプログラム制御部257では、CPU
2572の割り込み処理機能を活用したプログラム制御
は、並列プロセッサで実際の演算を行うまでの時間を制
御することが難しく、割り込み要求を有効に作用させる
ことが困難となる。これに対して、本実施形態のような
構成をとると、割り込み要求に即座に対応でき、非同期
信号を扱う画像処理等では全体の処理量の向上も見込め
る結果となる。
る1命令が、命令実行部において複数のサイクルになる
ような構造をもつプログラム制御部257では、CPU
2572の割り込み処理機能を活用したプログラム制御
は、並列プロセッサで実際の演算を行うまでの時間を制
御することが難しく、割り込み要求を有効に作用させる
ことが困難となる。これに対して、本実施形態のような
構成をとると、割り込み要求に即座に対応でき、非同期
信号を扱う画像処理等では全体の処理量の向上も見込め
る結果となる。
【0081】全体の命令処理の流れを以下に示す。図7
は、本実施形態に係る図2のプログラム制御部の進展で
命令がどうなるかを表したものである。(A)〜(G)
が図2の各段階(構成要素)に対応しており、命令が
(1)から順に発行されているものとする。また、図7
においては、上から下に向かって、時間を表している。
なお、(A)は図2のアプリケーションプログラム保持
部2571に、(B)は図2のCPU(RISC)2572、
(C)は図2のコプロ命令受取部25731、(D)は
図2の命令生成部25734,25735、(E)は図
2の出力データ生成部25736,25737、(F)
は図2の出力データ選択部25738、、(G)が図2
の命令実行部25739にそれぞれ対応している。図7
では、(8)の命令発行の後、割り込み命令(w−
1),(w−2)が入った場合を想定している。
は、本実施形態に係る図2のプログラム制御部の進展で
命令がどうなるかを表したものである。(A)〜(G)
が図2の各段階(構成要素)に対応しており、命令が
(1)から順に発行されているものとする。また、図7
においては、上から下に向かって、時間を表している。
なお、(A)は図2のアプリケーションプログラム保持
部2571に、(B)は図2のCPU(RISC)2572、
(C)は図2のコプロ命令受取部25731、(D)は
図2の命令生成部25734,25735、(E)は図
2の出力データ生成部25736,25737、(F)
は図2の出力データ選択部25738、、(G)が図2
の命令実行部25739にそれぞれ対応している。図7
では、(8)の命令発行の後、割り込み命令(w−
1),(w−2)が入った場合を想定している。
【0082】図7からもわかるように、本実施形態のよ
うな構成をとると、割り込み要求に即座に対応でき、非
同期信号を扱う画像処理等では全体の処理量の向上も見
込める結果となる。
うな構成をとると、割り込み要求に即座に対応でき、非
同期信号を扱う画像処理等では全体の処理量の向上も見
込める結果となる。
【0083】次に、上記構成による動作を、プログラム
制御部の動作を中心に説明する。
制御部の動作を中心に説明する。
【0084】プログラム制御部257のCPU2572
において、アプリケーションプログラム保持部2571
からアプリケーションプログラムコードが入力され、演
算等の処理が行われ、コプロ命令が生成されてコプロセ
ッサブロック2573に出力される。
において、アプリケーションプログラム保持部2571
からアプリケーションプログラムコードが入力され、演
算等の処理が行われ、コプロ命令が生成されてコプロセ
ッサブロック2573に出力される。
【0085】コプロセッサブロック2573において
は、CPU2752から発行されたコプロセッサ命令が
コプロ命令受取部25731により受け取られる。コプ
ロ命令受取部25731では、CPU2572からの命
令が割り込み命令であるか否かの判別が行われる。判別
の結果、通常の命令であれば、受け取ったコードが命令
展開部25732に出力される。一方、割り込み命令で
あれば、受け取ったコードが割り込み命令展開部257
33に出力される。
は、CPU2752から発行されたコプロセッサ命令が
コプロ命令受取部25731により受け取られる。コプ
ロ命令受取部25731では、CPU2572からの命
令が割り込み命令であるか否かの判別が行われる。判別
の結果、通常の命令であれば、受け取ったコードが命令
展開部25732に出力される。一方、割り込み命令で
あれば、受け取ったコードが割り込み命令展開部257
33に出力される。
【0086】命令展開部25732においては、コプロ
命令受取部25731によるコプロ命令コードを受け
て、命令のデコード処理、および演算アドレスのデコー
ド処理が行われ、処理結果が命令生成部25734に供
給される。また、割り込み命令展開部25733におい
は、コプロ命令受取部25731による割り込み命令コ
ードを受けて、命令のデコード処理、および演算アドレ
スのデコード処理が行われ、処理結果が命令生成部25
735に供給される。
命令受取部25731によるコプロ命令コードを受け
て、命令のデコード処理、および演算アドレスのデコー
ド処理が行われ、処理結果が命令生成部25734に供
給される。また、割り込み命令展開部25733におい
は、コプロ命令受取部25731による割り込み命令コ
ードを受けて、命令のデコード処理、および演算アドレ
スのデコード処理が行われ、処理結果が命令生成部25
735に供給される。
【0087】命令生成部25734では、命令展開部2
5732で展開された命令コードを受けて、実行命令の
形式に変換した命令コードが生成され、出力データ生成
部25736に出力される。同様に、命令生成部257
35では、割り込み命令展開部25733で展開された
命令コードを受けて、実行命令の形式に変換した命令コ
ードが生成され、出力データ生成部25737に出力さ
れる。
5732で展開された命令コードを受けて、実行命令の
形式に変換した命令コードが生成され、出力データ生成
部25736に出力される。同様に、命令生成部257
35では、割り込み命令展開部25733で展開された
命令コードを受けて、実行命令の形式に変換した命令コ
ードが生成され、出力データ生成部25737に出力さ
れる。
【0088】出力データ生成部25736では、命令生
成部25734で取得された命令コード、および演算ア
ドレス、演算長、LR通信データに基づいて命令実行に
必要なパラメータなどが生成されて、出力データ選択部
25738に出力される。同様に、出力データ生成部2
5737では、命令生成部25735で取得された命令
コード、および演算アドレス、演算長、LR通信データ
に基づいて命令実行に必要なパラメータなどが生成され
て、出力データ選択部25738に出力される。
成部25734で取得された命令コード、および演算ア
ドレス、演算長、LR通信データに基づいて命令実行に
必要なパラメータなどが生成されて、出力データ選択部
25738に出力される。同様に、出力データ生成部2
5737では、命令生成部25735で取得された命令
コード、および演算アドレス、演算長、LR通信データ
に基づいて命令実行に必要なパラメータなどが生成され
て、出力データ選択部25738に出力される。
【0089】出力データ選択部25738では、命令実
行部25739からの命令要求S25739を見て、通
常の命令と、割り込みの命令のどちらかの命令が選択さ
れ、命令実行部25739に出力される。そして、命令
実行部25739においては、実行状態にないときに、
出力データ選択部25738より選択された命令コード
が入力されて命令が実行され、並列プロセッサ制御コー
ドS257が生成されて出力される。
行部25739からの命令要求S25739を見て、通
常の命令と、割り込みの命令のどちらかの命令が選択さ
れ、命令実行部25739に出力される。そして、命令
実行部25739においては、実行状態にないときに、
出力データ選択部25738より選択された命令コード
が入力されて命令が実行され、並列プロセッサ制御コー
ドS257が生成されて出力される。
【0090】命令実行部25739による並列プロセッ
サ用制御コード出力S257は、前述したように、入力
SAM部252a,252b、データメモリ部253、
ALUアレイ部254、出力SAM部255a,255
bに出力される。そして、このようなプログラム制御部
257による制御コードに従って所定の画像処理が行わ
れる。すなわち、たとえば水平走査アクティブ期間内
に、第1入力SAM部252a,第2入力SAM部25
2bに1水平走査線分の入力データが取り込まれ、水平
走査部ブランキング期間で入力SAM部252a,25
2bからデータメモリ部253への転送が行われる。デ
ータメモリ部253、ALUアレイ部254では、プロ
グラムに応じて演算処理が行われる。ALUアレイ部2
24における演算処理終了後、処理結果が第1出力SA
M部255a、第2出力SAM部255bに転送され、
水平走査アクティブ期間内に、出力SAM部255a,
255bから1水平走査線分データが出力される。上記
の処理中に、各部はすべて並列に動作している。また、
上記処理中には、LR通信機能により,フィルタ演算
や、補間演算といった左右の画素の処理が行われる。
サ用制御コード出力S257は、前述したように、入力
SAM部252a,252b、データメモリ部253、
ALUアレイ部254、出力SAM部255a,255
bに出力される。そして、このようなプログラム制御部
257による制御コードに従って所定の画像処理が行わ
れる。すなわち、たとえば水平走査アクティブ期間内
に、第1入力SAM部252a,第2入力SAM部25
2bに1水平走査線分の入力データが取り込まれ、水平
走査部ブランキング期間で入力SAM部252a,25
2bからデータメモリ部253への転送が行われる。デ
ータメモリ部253、ALUアレイ部254では、プロ
グラムに応じて演算処理が行われる。ALUアレイ部2
24における演算処理終了後、処理結果が第1出力SA
M部255a、第2出力SAM部255bに転送され、
水平走査アクティブ期間内に、出力SAM部255a,
255bから1水平走査線分データが出力される。上記
の処理中に、各部はすべて並列に動作している。また、
上記処理中には、LR通信機能により,フィルタ演算
や、補間演算といった左右の画素の処理が行われる。
【0091】そして、第1出力フレームメモリ23およ
び第2出力フレームメモリ24に、SIMD型画像処理
プロセッサ25で所定の演算処理等を受けた画像処理後
の画像データが格納される。
び第2出力フレームメモリ24に、SIMD型画像処理
プロセッサ25で所定の演算処理等を受けた画像処理後
の画像データが格納される。
【0092】以上説明したように、本実施形態によれ
ば、CPUでプログラム制御される画像処理装置におい
て、プログラム制御部257に、割り込み命令をデコー
ドし、展開できる割り込み命令展開部25733、命令
生成部25735、出力データ生成部25737を通常
の命令展開部25732、命令生成部25734、出力
データ生成部25736に加えて、通常の命令用データ
または割り込み命令用データのいずれかを選択して、命
令を実行し、要素プロセッサを制御するための制御コー
ドを生成する命令実行部25739に供給する出力デー
タ選択部25738を設けたので、前にCPU2572
から発行された命令を追越し、先に命令をすることがで
き、割り込み命令で発行される命令を短時間内に実行す
ることができ、非同期信号の複雑な処理を可能となる利
点がある。
ば、CPUでプログラム制御される画像処理装置におい
て、プログラム制御部257に、割り込み命令をデコー
ドし、展開できる割り込み命令展開部25733、命令
生成部25735、出力データ生成部25737を通常
の命令展開部25732、命令生成部25734、出力
データ生成部25736に加えて、通常の命令用データ
または割り込み命令用データのいずれかを選択して、命
令を実行し、要素プロセッサを制御するための制御コー
ドを生成する命令実行部25739に供給する出力デー
タ選択部25738を設けたので、前にCPU2572
から発行された命令を追越し、先に命令をすることがで
き、割り込み命令で発行される命令を短時間内に実行す
ることができ、非同期信号の複雑な処理を可能となる利
点がある。
【0093】また、割り込み命令を使うと、非同期信号
の複雑な信号の切り替わりを判断したりする必要がな
く、アプリケーション開発工数の削減をすることがで
き、また複雑な処理をするアプリケーションにも対応で
きる利点がある。
の複雑な信号の切り替わりを判断したりする必要がな
く、アプリケーション開発工数の削減をすることがで
き、また複雑な処理をするアプリケーションにも対応で
きる利点がある。
【0094】
【発明の効果】以上説明したように、本発明によれば、
従来と比較して、CPU等の処理部からの割り込み命令
に対する演算までに要する時間を短くできるため、非同
期信号を扱う画像処理に対して全体の処理量を向上する
ことができる。また、従来と比較して、割り込み命令を
使うと、非同期信号の複雑な信号の切り替わりを判断し
たりする必要がなく、アプリケーション開発工数の削減
をすることができ、また複雑な処理をするアプリケーシ
ョンにも対応できる利点がある。
従来と比較して、CPU等の処理部からの割り込み命令
に対する演算までに要する時間を短くできるため、非同
期信号を扱う画像処理に対して全体の処理量を向上する
ことができる。また、従来と比較して、割り込み命令を
使うと、非同期信号の複雑な信号の切り替わりを判断し
たりする必要がなく、アプリケーション開発工数の削減
をすることができ、また複雑な処理をするアプリケーシ
ョンにも対応できる利点がある。
【図1】本発明に係る画像処理装置の一実施形態を示す
システム構成図である。
システム構成図である。
【図2】本発明に係るプログラム制御部の構成例を示す
ブロック図である。
ブロック図である。
【図3】本発明に係るプログラム制御部において、CP
Uからコプロセッサブロックに出力されるMIPSコプ
ロセッサ命令(Coprocessor Instruction) の例を示す図
である。
Uからコプロセッサブロックに出力されるMIPSコプ
ロセッサ命令(Coprocessor Instruction) の例を示す図
である。
【図4】本実施形態に係るオペレーションコードの例を
示す図である。
示す図である。
【図5】本発明に係るコプロセッサブロックにおける内
部の演算フローを示す図である。
部の演算フローを示す図である。
【図6】本発明に係る命令実行部における各命令の種類
と実行する演算長による命令サイクル数について示す図
である。
と実行する演算長による命令サイクル数について示す図
である。
【図7】本実施形態に係る図2のプログラム制御部の進
展で命令がどうなるかを表した図である。
展で命令がどうなるかを表した図である。
【図8】SIMD型画像処理プロセッサを適用した従来
の画像処理装置の構成を示すブロック図である。
の画像処理装置の構成を示すブロック図である。
20…画像処理装置、21…第1入力フレームメモリ、
22…第2入力フレームメモリ、23…第1出力フレー
ムメモリ、24…第2出力フレームメモリ、25…SI
MD型画像処理プロセッサ、251…入力ポインタ、2
52a…第1入力SAM部、252b…第2入力SAM
部、253…データメモリ部、254…ALUアレイ
部、255a…第1出力SAM部、255b…第2出力
SAM部、256…出力ポインタ、257…プログラム
制御部、2571…アプリケーションプログラム保持
部、2572…CPU、2573…コプロセッサブロッ
ク、25731…コプロ命令受取部、25732…命令
展開部、25733…割り込み命令展開部、25734
…命令生成部、25735…割り込み命令生成部、25
736,25737…出力データ生成部、25738…
出力データ選択部、25739…命令実行部。
22…第2入力フレームメモリ、23…第1出力フレー
ムメモリ、24…第2出力フレームメモリ、25…SI
MD型画像処理プロセッサ、251…入力ポインタ、2
52a…第1入力SAM部、252b…第2入力SAM
部、253…データメモリ部、254…ALUアレイ
部、255a…第1出力SAM部、255b…第2出力
SAM部、256…出力ポインタ、257…プログラム
制御部、2571…アプリケーションプログラム保持
部、2572…CPU、2573…コプロセッサブロッ
ク、25731…コプロ命令受取部、25732…命令
展開部、25733…割り込み命令展開部、25734
…命令生成部、25735…割り込み命令生成部、25
736,25737…出力データ生成部、25738…
出力データ選択部、25739…命令実行部。
Claims (20)
- 【請求項1】 1次元的に多並列に配置され、制御コー
ドに従って供給される画像データに対する所定の演算処
理を行う複数の要素プロセッサと、アプリケーションプ
ログラムに基づいて上記複数の要素プログラムを連動し
て制御する制御コードを生成するプログラム制御部とを
有する画像処理装置であって、 上記プログラム制御部は、 アプリケーションプログラムコードに基づいた命令を発
行する処理部と、 入力される通常の命令の仕様通りに上記要素プロセッサ
を制御するための制御コードを生成して出力する第1の
デコード部と、入力される割り込み命令の仕様通りに上
記要素プロセッサを制御するための制御コードを生成し
て出力する第2のデコード部と、上記処理部で発行され
た命令を受け取り、通常の命令であるか割り込み命令で
あるかを判別し、通常の命令の場合は上記第1のデコー
ド部に供給し、割り込み命令の場合は上記第2のデコー
ド部に供給する命令受け取り部と、を備えたプロセッサ
部とを有する画像処理装置。 - 【請求項2】 上記プロセッサ部は、上記第1のデコー
ド部による制御コードまたは第2のデコード部による制
御コードのうちのいずれかを選択して上記要素プロセッ
サに出力する請求項1記載の画像処理装置。 - 【請求項3】 上記第1のコード部および第2のデコー
ド部のデコード処理には、命令のデコードおよび演算ア
ドレスのデコードを含む請求項1記載の画像処理装置。 - 【請求項4】 上記演算アドレスのデコード結果には、
演算アドレス、演算長を少なくとも含む請求項3記載の
画像処理装置。 - 【請求項5】 上記要素プロセッサは、他の要素プロセ
ッサに供給された画像データを利用して演算処理を行う
ことが可能で、 上記演算アドレスのデコード結果には、演算アドレス、
演算長、および他の要素プロセッサとの通信情報を少な
くとも含む請求項3記載の画像処理装置。 - 【請求項6】 上記各要素プロセッサは、画像データを
入力するための手段を複数備えた入力シリアルアクセス
メモリ部と、入力データ、演算結果を保持するデータメ
モリ部と、演算を行うALUアレイ部と、出力画像デー
タを取得するための手段を複数備えた出力シリアルアク
セスメモリ部との一部を含む請求項1記載の画像処理装
置。 - 【請求項7】 1次元的に多並列に配置され、制御コー
ドに従って供給される画像データに対する所定の演算処
理を行う複数の要素プロセッサと、アプリケーションプ
ログラムに基づいて上記複数の要素プログラムを連動し
て制御する制御コードを生成するプログラム制御部とを
有する画像処理装置であって、 上記プログラム制御部は、 アプリケーションプログラムコードに基づいた命令を発
行する処理部と、 通常の命令に係る第1のデータまたは割り込み命令に係
る第2のデータのいずれかを受けて、通常の命令または
割り込み命令を実行し、命令の仕様通りに上記要素プロ
セッサを制御するための制御コードを生成して出力する
命令実行部と、入力される通常の命令を、上記要素プロ
セッサを制御するための制御命令に展開し、命令実行に
必要な第1のデータを得る第1のデータ生成部と、入力
される割り込み命令を、上記要素プロセッサを制御する
ための制御命令に展開し、命令実行に必要な第2のデー
タを得る第2のデータ生成部と、上記処理部で発行され
た命令を受け取り、通常の命令であるか割り込み命令で
あるかを判別し、通常の命令の場合は上記第1のデータ
生成部に供給し、割り込み命令の場合は上記第2のデー
タ生成部に供給する命令受け取り部と、上記第1のデー
タ生成部による通常の命令に係る第1のデータと上記第
2のデータ生成部による割り込み命令に係る第2のデー
タのうちのいずれかを選択して、上記命令実行部に供給
するデータ選択部と、を備えたプロセッサ部とを有する
画像処理装置。 - 【請求項8】 上記プロセッサ部のデータ選択部は、上
記命令実行部からの命令要求を受けて、通常の命令に係
る第1のデータと割り込み命令に係る第2のデータのう
ちのいずれかを選択して当該命令実行部に出力する請求
項7記載の画像処理装置。 - 【請求項9】 上記プロセッサ部のデータ選択部は、上
記第1のデータ生成部による通常の命令に係る第1のデ
ータと上記第2のデータ生成部による割り込み命令に係
る第2のデータとが共に供給されているときは、割り込
み命令に係る第2のデータを優先的に選択して上記命令
実行部に出力する請求項7記載の画像処理装置。 - 【請求項10】 上記プロセッサ部のデータ選択部は、
上記第1のデータ生成部による通常の命令に係る第1の
データと上記第2のデータ生成部による割り込み命令に
係る第2のデータとが共に供給されているときは、割り
込み命令に係る第2のデータを優先的に選択して上記命
令実行部に出力する請求項8記載の画像処理装置。 - 【請求項11】 上記第1のコード部および第2のデコ
ード部のデコード処理には、命令のデコードおよび演算
アドレスのデコードを含む請求項7記載の画像処理装
置。 - 【請求項12】 上記演算アドレスのデコード結果に
は、演算アドレス、演算長を少なくとも含む請求項11
記載の画像処理装置。 - 【請求項13】 上記要素プロセッサは、他の要素プロ
セッサに供給された画像データを利用して演算処理を行
うことが可能で、 上記演算アドレスのデコード結果には、演算アドレス、
演算長、および他の要素プロセッサとの通信情報を少な
くとも含む請求項11記載の画像処理装置。 - 【請求項14】 上記各要素プロセッサは、画像データ
を入力するための手段を複数備えた入力シリアルアクセ
スメモリ部と、入力データ、演算結果を保持するデータ
メモリ部と、演算を行うALUアレイ部と、出力画像デ
ータを取得するための手段を複数備えた出力シリアルア
クセスメモリ部との一部を含む請求項7記載の画像処理
装置。 - 【請求項15】 制御コードに従って1次元的に多並列
に配置された複数の要素プロセッサを連動して制御して
供給される画像データに対する所定の演算処理を行う画
像処理方法であって、 アプリケーションプログラムコードに基づいた命令を発
行するステップと、 上記発行された命令が、通常の命令であるか割り込み命
令であるかを判別するステップと、 通常の命令の場合には、通常の命令の仕様通りに上記要
素プロセッサを制御するための制御コードを生成するス
テップと、 割り込み命令の場合には、割り込み命令の仕様通りに上
記要素プロセッサを制御するための制御コードを生成す
るステップとを含む画像処理方法。 - 【請求項16】 生成した通常の命令に係る制御コード
または割り込み命令に係る制御コードのうちのいずれか
を選択して要素プロセッサに供給する請求項15記載の
画像処理方法。 - 【請求項17】 制御コードに従って1次元的に多並列
に配置された複数の要素プロセッサを連動して制御して
供給される画像データに対する所定の演算処理を行う画
像処理方法であって、 アプリケーションプログラムコードに基づいた命令を発
行するステップと、上記発行された命令が、通常の命令
であるか割り込み命令であるかを判別するステップと、 通常の命令の場合には、通常の命令を、上記要素プロセ
ッサを制御するための制御命令に展開し、命令実行に必
要な第1のデータを得るステップと、 割り込み命令の場合には、割り込み命令を、上記要素プ
ロセッサを制御するための制御命令に展開し、命令実行
に必要な第2のデータを得るステップと、 通常の命令に係る第1のデータと割り込み命令に係る第
2のデータのうちいずれかを選択するステップと、 上記選択するステップで選択された第1のデータまたは
第2のデータに基づいて通常の命令または割り込み命令
を実行し、命令の仕様通りに上記要素プロセッサを制御
するための制御コードを生成するステップとを含む画像
処理方法。 - 【請求項18】 上記選択するステップにおいては、命
令要求を受けて、通常の命令に係る第1のデータと割り
込み命令に係る第2のデータのうちいずれかを選択する
請求項17記載の画像処理方法。 - 【請求項19】 上記選択するステップにおいては、通
常の命令に係る第1のデータと上記第2のデータ生成部
による割り込み命令に係る第2のデータとが共に発生さ
れているときは、割り込み命令に係る第2のデータを優
先的に選択する請求項17記載の画像処理装置。 - 【請求項20】 上記選択するステップにおいては、通
常の命令に係る第1のデータと上記第2のデータ生成部
による割り込み命令に係る第2のデータとが共に発生さ
れているときは、割り込み命令に係る第2のデータを優
先的に選択する請求項18記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000052285A JP2001236495A (ja) | 2000-02-24 | 2000-02-24 | 画像処理装置および画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000052285A JP2001236495A (ja) | 2000-02-24 | 2000-02-24 | 画像処理装置および画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001236495A true JP2001236495A (ja) | 2001-08-31 |
Family
ID=18573831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000052285A Pending JP2001236495A (ja) | 2000-02-24 | 2000-02-24 | 画像処理装置および画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001236495A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015531936A (ja) * | 2012-08-31 | 2015-11-05 | マイクロン テクノロジー, インク. | 状態機械エンジンにおける命令挿入 |
-
2000
- 2000-02-24 JP JP2000052285A patent/JP2001236495A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015531936A (ja) * | 2012-08-31 | 2015-11-05 | マイクロン テクノロジー, インク. | 状態機械エンジンにおける命令挿入 |
US9934034B2 (en) | 2012-08-31 | 2018-04-03 | Micron Technology, Inc. | Instruction insertion in state machine engines |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5968167A (en) | Multi-threaded data processing management system | |
JPWO2007049610A1 (ja) | 画像処理装置 | |
US20070250681A1 (en) | Independent programmable operation sequence processor for vector processing | |
TW200405981A (en) | Re-configurable streaming vector processor | |
WO2017185336A1 (zh) | 用于执行pooling运算的装置和方法 | |
CN111176608A (zh) | 一种用于执行向量比较运算的装置和方法 | |
JP2002149402A (ja) | データ処理装置およびその制御方法 | |
CN101162523A (zh) | 指令早期退休机制及其方法及使用该机制的像素处理系统 | |
EP3264261B1 (en) | Processor and control method of processor | |
US20020199081A1 (en) | Data processing system and control method | |
JPWO2007116560A1 (ja) | 並列画像処理システムの制御方法および装置 | |
JP2001236495A (ja) | 画像処理装置および画像処理方法 | |
CN116257208A (zh) | 用于矩阵乘法阵列上的可分离卷积过滤器操作的方法和装置 | |
US6981130B2 (en) | Forwarding the results of operations to dependent instructions more quickly via multiplexers working in parallel | |
JP2001216275A (ja) | 画像処理装置および画像処理方法 | |
JPH02293931A (ja) | 制御装置 | |
JP2003005954A (ja) | データ処理装置およびその制御方法 | |
Ansari et al. | Accelerated System Performance with APU-enhanced processing | |
JP4896839B2 (ja) | マイクロプロセッサおよびデータ処理方法 | |
JP2006134347A (ja) | マイクロコンピュータ | |
US9250898B2 (en) | VLIW processor, instruction structure, and instruction execution method | |
JP2008009473A (ja) | データ処理装置及びプログラム実行方式 | |
Chiu et al. | Implanting Machine Learning Accelerator with Multi-Streaming Single Instruction Multiple Data Mechanism to RISC-V Processor | |
JPH05143447A (ja) | デイジタルプロセツサ及びその制御方法 | |
JPS58200349A (ja) | マイクロプログラム制御装置 |