JPH10312454A - Simd制御並列プロセッサおよび演算方法 - Google Patents
Simd制御並列プロセッサおよび演算方法Info
- Publication number
- JPH10312454A JPH10312454A JP12047497A JP12047497A JPH10312454A JP H10312454 A JPH10312454 A JP H10312454A JP 12047497 A JP12047497 A JP 12047497A JP 12047497 A JP12047497 A JP 12047497A JP H10312454 A JPH10312454 A JP H10312454A
- Authority
- JP
- Japan
- Prior art keywords
- data
- output
- input
- frequency
- bit
- 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.)
- Withdrawn
Links
Landscapes
- Image Processing (AREA)
Abstract
(57)【要約】 (修正有)
【課題】 LSI外のデータのクロック周波数を多相化
によって並列化して、LSI演算部とインタフェースさ
せて、高速のデータを処理可能にする。 【解決手段】 SIMD制御並列プロセッサにおいては、高
速の処理が可能であるが、LSIの外においては、高速
の処理が困難であるので、入力SAM部22に入力され
る画素データのクロック周波数の1/2の周波数で、基
板上における処理を行う。そして、LSI内でより低速
のクロックの画素データをスリーステートバッファ5
1,52により合成して、2倍の周波数のクロックのデ
ータとして、入力SAM部22に供給し、高速で処理さ
せる。出力SAM部25より出力された高速のクロック
のデータをLSI内のレジスタ61,62で、再び、低
速のクロックのデータに変換する。
によって並列化して、LSI演算部とインタフェースさ
せて、高速のデータを処理可能にする。 【解決手段】 SIMD制御並列プロセッサにおいては、高
速の処理が可能であるが、LSIの外においては、高速
の処理が困難であるので、入力SAM部22に入力され
る画素データのクロック周波数の1/2の周波数で、基
板上における処理を行う。そして、LSI内でより低速
のクロックの画素データをスリーステートバッファ5
1,52により合成して、2倍の周波数のクロックのデ
ータとして、入力SAM部22に供給し、高速で処理さ
せる。出力SAM部25より出力された高速のクロック
のデータをLSI内のレジスタ61,62で、再び、低
速のクロックのデータに変換する。
Description
【0001】
【発明の属する技術分野】本発明は、SIMD制御並列プロ
セッサおよび演算方法に関し、特に、コンピュータモニ
タ用などのように、高速の画像データをリアルタイムで
処理することができるようにした、SIMD制御並列プロセ
ッサおよび演算方法に関する。
セッサおよび演算方法に関し、特に、コンピュータモニ
タ用などのように、高速の画像データをリアルタイムで
処理することができるようにした、SIMD制御並列プロセ
ッサおよび演算方法に関する。
【0002】
【従来の技術】図8は、従来のSIMD(Single Instructio
n stream/Multiple Data stream)形式の並列プロセッサ
の構成例を示している。このSIMD制御並列プロセッサ
は、入力ポインタ21、入力SAM(シリアルアクセス
メモリ)部22、データメモリ部23、ALUアレイ部
24、出力SAM部25、出力ポインタ26、および、
プログラム制御部27で構成されている。
n stream/Multiple Data stream)形式の並列プロセッサ
の構成例を示している。このSIMD制御並列プロセッサ
は、入力ポインタ21、入力SAM(シリアルアクセス
メモリ)部22、データメモリ部23、ALUアレイ部
24、出力SAM部25、出力ポインタ26、および、
プログラム制御部27で構成されている。
【0003】入力SAM部22、データメモリ部23、
ALUアレイ部24、および、出力SAM部25は、リ
ニアアレイ(直線配列)型に並列化された要素プロセッ
サ群を構成している。これらの要素プロセッサ31は、
プログラム制御部27が有する1つのプログラムに従っ
て、連動して制御される(即ち、SIMD制御される)。プ
ログラム制御部27は、プログラムメモリや、そのプロ
グラムを進行させるシーケンス制御回路などを有し、プ
ログラムメモリに予め書き込まれたプログラムに従っ
て、各種制御信号を発生して、各種回路を制御する。
ALUアレイ部24、および、出力SAM部25は、リ
ニアアレイ(直線配列)型に並列化された要素プロセッ
サ群を構成している。これらの要素プロセッサ31は、
プログラム制御部27が有する1つのプログラムに従っ
て、連動して制御される(即ち、SIMD制御される)。プ
ログラム制御部27は、プログラムメモリや、そのプロ
グラムを進行させるシーケンス制御回路などを有し、プ
ログラムメモリに予め書き込まれたプログラムに従っ
て、各種制御信号を発生して、各種回路を制御する。
【0004】なお、入力SAM部22、データメモリ部
23、出力SAM部25は、主にメモリで構成されてい
る。詳細に説明は省略するが、図8の装置においては、
これらのメモリのための「ロウ(ROW)」アドレスデコ
ーダは、プログラム制御部27に含まれているものとす
る。
23、出力SAM部25は、主にメモリで構成されてい
る。詳細に説明は省略するが、図8の装置においては、
これらのメモリのための「ロウ(ROW)」アドレスデコ
ーダは、プログラム制御部27に含まれているものとす
る。
【0005】並列化された要素プロセッサ31(単一エ
レメント分)は、図8において、斜線で示した部分に対
応し、複数の要素プロセッサ31が、図中において横方
向に配列されている。即ち、図8の斜線の部分だけで、
1つのプロセッサに対応する構成要素を有している。
レメント分)は、図8において、斜線で示した部分に対
応し、複数の要素プロセッサ31が、図中において横方
向に配列されている。即ち、図8の斜線の部分だけで、
1つのプロセッサに対応する構成要素を有している。
【0006】次に、図8の画像処理用のリニアアレイ型
並列プロセッサの動作について説明する。
並列プロセッサの動作について説明する。
【0007】入力端子DINに与えられた入力データ(1
画素分の画像データを単位とする)は、入力SAM部2
2に供給される。
画素分の画像データを単位とする)は、入力SAM部2
2に供給される。
【0008】入力ポインタ21は、1つの入力データに
対して1つの要素プロセッサ31だけに、論理「H」の
1ビット信号、即ち入力ポインタ信号(SIP)を出力
する。そして、論理「H」で指定された要素プロセッサ
31の入力SAM部22(入力SAMセル)に、その入
力データが書き込まれる。
対して1つの要素プロセッサ31だけに、論理「H」の
1ビット信号、即ち入力ポインタ信号(SIP)を出力
する。そして、論理「H」で指定された要素プロセッサ
31の入力SAM部22(入力SAMセル)に、その入
力データが書き込まれる。
【0009】入力ポインタ信号による、データを供給す
る要素プロセッサ31の指定は、入力データのクロック
ごとに、図中の左端の要素プロセッサ31から右端の要
素プロセッサ31に向けて順次移動するので、入力デー
タは、左端の要素プロセッサ31の入力SAM部22
(入力SAMセル)から、右側の要素プロセッサ31の
入力SAMセルに順次供給される。
る要素プロセッサ31の指定は、入力データのクロック
ごとに、図中の左端の要素プロセッサ31から右端の要
素プロセッサ31に向けて順次移動するので、入力デー
タは、左端の要素プロセッサ31の入力SAM部22
(入力SAMセル)から、右側の要素プロセッサ31の
入力SAMセルに順次供給される。
【0010】要素プロセッサ31の数は画像信号の1水
平走査期間の画素数H以上に設計されているので、画像
信号の1水平走査期間分の画素データを、入力SAM部
22に蓄積することができる。このような入力動作は、
水平走査期間毎に繰り返される。
平走査期間の画素数H以上に設計されているので、画像
信号の1水平走査期間分の画素データを、入力SAM部
22に蓄積することができる。このような入力動作は、
水平走査期間毎に繰り返される。
【0011】プログラム制御部27は、このようにして
画像信号の1水平走査期間のデータが入力SAM部22
に蓄積されるごとに、プログラムに従って入力SAM部
22、データメモリ部23、ALUアレイ部24、およ
び、出力SAM部25を以下のようにSIMD制御して処理
を実行する。
画像信号の1水平走査期間のデータが入力SAM部22
に蓄積されるごとに、プログラムに従って入力SAM部
22、データメモリ部23、ALUアレイ部24、およ
び、出力SAM部25を以下のようにSIMD制御して処理
を実行する。
【0012】なお、このプログラム制御は水平走査期間
ごとに繰り返される。従って、水平走査期間に対応する
時間を、このプロセッサの命令サイクル周期で割算して
算出されるステップ数だけのプログラムを処理すること
ができる。SIMD制御であるから、以下の動作は全ての要
素プロセッサ31において並行して同様に実行される。
ごとに繰り返される。従って、水平走査期間に対応する
時間を、このプロセッサの命令サイクル周期で割算して
算出されるステップ数だけのプログラムを処理すること
ができる。SIMD制御であるから、以下の動作は全ての要
素プロセッサ31において並行して同様に実行される。
【0013】入力SAM部22に蓄積された1水平走査
期間分の入力データは、次の水平走査期間において、プ
ログラム制御により必要に応じて入力SAM部22から
データメモリ部23へ転送され、その後の演算処理に使
われる。
期間分の入力データは、次の水平走査期間において、プ
ログラム制御により必要に応じて入力SAM部22から
データメモリ部23へ転送され、その後の演算処理に使
われる。
【0014】入力SAM部22からデータメモリ部23
へのデータの転送においては、プログラム制御部27
は、入力SAM読み出し信号(SIR)により入力SA
M部22の所定のビットのデータを選択してアクセスし
た後、メモリアクセス信号(SWA)を出して、そのデ
ータを、データメモリ部23の所定のメモリセル(後
述)へ書き込んでいく。
へのデータの転送においては、プログラム制御部27
は、入力SAM読み出し信号(SIR)により入力SA
M部22の所定のビットのデータを選択してアクセスし
た後、メモリアクセス信号(SWA)を出して、そのデ
ータを、データメモリ部23の所定のメモリセル(後
述)へ書き込んでいく。
【0015】次に、プログラム制御部27は、プログラ
ムに応じて、各要素プロセッサ31のALUアレイ部2
4に、その要素プロセッサ31のデータメモリ部23に
保持されているデータを供給し、そのデータに対して算
術演算あるいは論理演算を行わせる。そして、その演算
結果は、データメモリ部23の所定のアドレスに書き込
まれる。
ムに応じて、各要素プロセッサ31のALUアレイ部2
4に、その要素プロセッサ31のデータメモリ部23に
保持されているデータを供給し、そのデータに対して算
術演算あるいは論理演算を行わせる。そして、その演算
結果は、データメモリ部23の所定のアドレスに書き込
まれる。
【0016】なお、ALUアレイ部24における演算
は、全てビット単位で行われるので、1サイクル当たり
1ビットづつ処理が進行する。例えば、8ビットのデー
タ同士の論理演算を行う場合、少なくとも8サイクルか
かることになる。また、8ビットのデータ同士の加算を
行う場合、少なくとも9サイクルかかることになる。8
ビットのデータ同士の乗算を行う場合、その乗算は64
回のビット加算と等価であるので、少なくとも64サイ
クルかかることになる。
は、全てビット単位で行われるので、1サイクル当たり
1ビットづつ処理が進行する。例えば、8ビットのデー
タ同士の論理演算を行う場合、少なくとも8サイクルか
かることになる。また、8ビットのデータ同士の加算を
行う場合、少なくとも9サイクルかかることになる。8
ビットのデータ同士の乗算を行う場合、その乗算は64
回のビット加算と等価であるので、少なくとも64サイ
クルかかることになる。
【0017】また、要素プロセッサ31は、近傍の要素
プロセッサ31に接続されており、プロセッサ間通信を
行うことができる。ただし、近傍の要素プロセッサ31
のデータメモリ部23へのアクセスを行う場合、SIMD制
御に起因して、例えば右隣りの要素プロセッサ31のデ
ータメモリ部をアクセスするときは、すべての要素プロ
セッサ31が、右隣りの要素プロセッサ31のデータメ
モリ部23をアクセスすることになる。
プロセッサ31に接続されており、プロセッサ間通信を
行うことができる。ただし、近傍の要素プロセッサ31
のデータメモリ部23へのアクセスを行う場合、SIMD制
御に起因して、例えば右隣りの要素プロセッサ31のデ
ータメモリ部をアクセスするときは、すべての要素プロ
セッサ31が、右隣りの要素プロセッサ31のデータメ
モリ部23をアクセスすることになる。
【0018】なお、直接接続されていない要素プロセッ
サ31のデータメモリ部のデータを読み出す場合、プロ
グラムステップは多少増えるが、近傍のプロセッサ間通
信を繰り返すことにより、データを読み出す。
サ31のデータメモリ部のデータを読み出す場合、プロ
グラムステップは多少増えるが、近傍のプロセッサ間通
信を繰り返すことにより、データを読み出す。
【0019】このような通信を利用して、近傍の要素プ
ロセッサ31が保持するデータを利用して、例えば画像
の水平方向のFIRデジタルフィルタ演算を実現するこ
とができる。
ロセッサ31が保持するデータを利用して、例えば画像
の水平方向のFIRデジタルフィルタ演算を実現するこ
とができる。
【0020】なお、このような並列プロセッサにおいて
は、水平方向の同じ位置の画素のデータは、すべての水
平走査期間において、所定の1つの要素プロセッサ31
により処理されるので、データを入力SAM部22から
データメモリ部23に転送するときに、水平走査期間ご
とに、データを記憶するアドレスを変更することによ
り、過去の水平走査期間の入力データを、それ以降の水
平走査期間まで、データメモリ部23の内部に保持する
ことができる。
は、水平方向の同じ位置の画素のデータは、すべての水
平走査期間において、所定の1つの要素プロセッサ31
により処理されるので、データを入力SAM部22から
データメモリ部23に転送するときに、水平走査期間ご
とに、データを記憶するアドレスを変更することによ
り、過去の水平走査期間の入力データを、それ以降の水
平走査期間まで、データメモリ部23の内部に保持する
ことができる。
【0021】以上のようにして1水平走査期間に割り当
てられている演算が終了すると、その水平走査期間のう
ちに、その水平走査期間に演算したデータは、出力SA
M部25に転送される。
てられている演算が終了すると、その水平走査期間のう
ちに、その水平走査期間に演算したデータは、出力SA
M部25に転送される。
【0022】このように、1水平走査期間のうちに、入
力SAM部22に蓄積された入力データのデータメモリ
部23への転送、ALUアレイ部24による演算、およ
び、出力SAM部25へのデータの転送が、ビットを単
位とするSIMD制御プログラムに従って実行される。そし
て、この処理は、水平走査期間を単位として、順次繰り
返される。
力SAM部22に蓄積された入力データのデータメモリ
部23への転送、ALUアレイ部24による演算、およ
び、出力SAM部25へのデータの転送が、ビットを単
位とするSIMD制御プログラムに従って実行される。そし
て、この処理は、水平走査期間を単位として、順次繰り
返される。
【0023】そして、出力SAM部25に転送された出
力データは、さらに次の水平走査期間において、出力S
AM部25から出力される。
力データは、さらに次の水平走査期間において、出力S
AM部25から出力される。
【0024】以上のように、入力データを入力SAM部
22に書き込む入力処理、プログラム制御部27によ
る、入力SAM部22に蓄積された入力データのデータ
メモリ部23への転送、ALUアレイ部24による演
算、および、出力SAM部25への出力データの転送の
演算処理、並びに、出力データを出力SAM部25から
出力させる出力処理の3つの処理が、各入力データに対
して行われる。なお、これらの3つの処理は、画像信号
の1水平走査期間を単位とするパイプライン処理として
実行される。
22に書き込む入力処理、プログラム制御部27によ
る、入力SAM部22に蓄積された入力データのデータ
メモリ部23への転送、ALUアレイ部24による演
算、および、出力SAM部25への出力データの転送の
演算処理、並びに、出力データを出力SAM部25から
出力させる出力処理の3つの処理が、各入力データに対
して行われる。なお、これらの3つの処理は、画像信号
の1水平走査期間を単位とするパイプライン処理として
実行される。
【0025】1つの水平走査期間の入力データに注目す
れば、その入力データに対する3つの処理には、各処理
において1水平走査期間に対応する時間が経過するの
で、合計水平走査期間の3倍に対応する時間がかかる
が、3つの処理がパイプライン処理として並行に実行さ
れるので、平均して、1水平走査期間分の入力データあ
たり1水平走査期間に対応する時間で処理を行うことが
できる。
れば、その入力データに対する3つの処理には、各処理
において1水平走査期間に対応する時間が経過するの
で、合計水平走査期間の3倍に対応する時間がかかる
が、3つの処理がパイプライン処理として並行に実行さ
れるので、平均して、1水平走査期間分の入力データあ
たり1水平走査期間に対応する時間で処理を行うことが
できる。
【0026】
【発明が解決しようとする課題】近年の半導体技術の発
達により、このようなSIMD制御並列プロセッサは、LS
I化することができ、その内部で100MHz以上の周
波数のクロックで動作させることが可能になってきてい
る。これは、LSI内部においては、物理的な回路のサ
イズを極めて小さくすることができるからである。しか
しながら、そのLSIを装着している基板上において
は、部品や配線などの物理的なサイズをそれほど小さく
することは困難であり、分布定数やインピーダンスを細
かく管理して基板を設計したとしても、基板上のクロッ
クの周波数を100MHz以上の高い周波数に設定する
ことは、極めて困難となる。
達により、このようなSIMD制御並列プロセッサは、LS
I化することができ、その内部で100MHz以上の周
波数のクロックで動作させることが可能になってきてい
る。これは、LSI内部においては、物理的な回路のサ
イズを極めて小さくすることができるからである。しか
しながら、そのLSIを装着している基板上において
は、部品や配線などの物理的なサイズをそれほど小さく
することは困難であり、分布定数やインピーダンスを細
かく管理して基板を設計したとしても、基板上のクロッ
クの周波数を100MHz以上の高い周波数に設定する
ことは、極めて困難となる。
【0027】しかしながら、例えばコンピュータモニタ
用の画像は、画質向上のために、その画素数が急増して
おり、その画素データをリアルタイムで処理するには、
100MHz、あるいはそれ以上の、極めて高速のデー
タレートが要求される。LSIの内部では、このような
高速なデータレートによる処理が可能であるが、LSI
外部の基板上では、このような高速の処理が困難である
ため、結局、コンピュータモニタ用の画素データをリア
ルタイムで処理することが困難となる課題があった。
用の画像は、画質向上のために、その画素数が急増して
おり、その画素データをリアルタイムで処理するには、
100MHz、あるいはそれ以上の、極めて高速のデー
タレートが要求される。LSIの内部では、このような
高速なデータレートによる処理が可能であるが、LSI
外部の基板上では、このような高速の処理が困難である
ため、結局、コンピュータモニタ用の画素データをリア
ルタイムで処理することが困難となる課題があった。
【0028】また、SIMD制御並列プロセッサは、汎用性
を実現するために、その構造が非常にシンプルな構造と
されているが、その結果、演算処理が非能率的となる場
合があった。
を実現するために、その構造が非常にシンプルな構造と
されているが、その結果、演算処理が非能率的となる場
合があった。
【0029】例えば、画素数変換処理を行う場合に、各
要素プロセッサ31ごとにナンバーを付し、所定のナン
バーが付された要素プロセッサごとに、所定の処理を行
わせることがある。このような処理を行う場合、プログ
ラム制御部27におけるプログラムをそのように規定す
ることで、その処理は実現することが可能である。しか
しながら、1ビット単位での処理しかできないため、各
要素プロセッサ31にナンバーを付する処理自体に、相
当の時間(サイクル)を必要とし、迅速な処理ができな
い課題があった。
要素プロセッサ31ごとにナンバーを付し、所定のナン
バーが付された要素プロセッサごとに、所定の処理を行
わせることがある。このような処理を行う場合、プログ
ラム制御部27におけるプログラムをそのように規定す
ることで、その処理は実現することが可能である。しか
しながら、1ビット単位での処理しかできないため、各
要素プロセッサ31にナンバーを付する処理自体に、相
当の時間(サイクル)を必要とし、迅速な処理ができな
い課題があった。
【0030】さらに、各要素プロセッサ31が、各時点
において有しているデータの累積値、最大値、最小値を
求める処理、あるいは、所定の値との大小比較の処理な
ども、比較的頻繁に行われる処理であるが、プログラム
制御部27におけるプログラムを、そのようにプログラ
ミングするのに手間がかかり、また、処理時間も相当長
くなる課題があった。
において有しているデータの累積値、最大値、最小値を
求める処理、あるいは、所定の値との大小比較の処理な
ども、比較的頻繁に行われる処理であるが、プログラム
制御部27におけるプログラムを、そのようにプログラ
ミングするのに手間がかかり、また、処理時間も相当長
くなる課題があった。
【0031】本発明はこのような状況に鑑みてなされた
ものであり、迅速な処理を可能とするものである。ま
た、プログラミングの手間を軽減し、処理時間も短くな
るようにするものである。
ものであり、迅速な処理を可能とするものである。ま
た、プログラミングの手間を軽減し、処理時間も短くな
るようにするものである。
【0032】
【課題を解決するための手段】請求項1に記載のSIMD制
御並列プロセッサは、並列に入力されるn1ビットの演
算データを第1の周波数のクロックで取り込む取り込み
手段と、取り込み手段で取り込まれた演算データを記憶
する記憶手段と、記憶手段に記憶された演算データを演
算する演算手段と、演算手段により演算されたn2ビッ
トの演算データを出力する出力手段と、取り込み手段、
記憶手段、演算手段、または出力手段の少なくとも1つ
の動作を制御する制御手段と、第1の周波数の1/(m
1)の第2の周波数のクロックで入力される、m1組の
n1ビットの演算データを、第1の周波数のクロックの
n1ビットの演算データに変換して、取り込み手段に供
給する入力周波数変換手段とを備えることを特徴とす
る。
御並列プロセッサは、並列に入力されるn1ビットの演
算データを第1の周波数のクロックで取り込む取り込み
手段と、取り込み手段で取り込まれた演算データを記憶
する記憶手段と、記憶手段に記憶された演算データを演
算する演算手段と、演算手段により演算されたn2ビッ
トの演算データを出力する出力手段と、取り込み手段、
記憶手段、演算手段、または出力手段の少なくとも1つ
の動作を制御する制御手段と、第1の周波数の1/(m
1)の第2の周波数のクロックで入力される、m1組の
n1ビットの演算データを、第1の周波数のクロックの
n1ビットの演算データに変換して、取り込み手段に供
給する入力周波数変換手段とを備えることを特徴とす
る。
【0033】請求項9に記載の演算方法は、第1の周波
数の1/(m1)の第2の周波数のクロックで入力され
る、m1組のn1ビットの演算データを、第1の周波数
のクロックのn1ビットの演算データに変換して、取り
込み手段に供給することを特徴とする。
数の1/(m1)の第2の周波数のクロックで入力され
る、m1組のn1ビットの演算データを、第1の周波数
のクロックのn1ビットの演算データに変換して、取り
込み手段に供給することを特徴とする。
【0034】請求項1に記載のSIMD制御並列プロセッサ
および請求項9に記載の演算方法においては、第1の周
波数の1/(m1)の第2の周波数のクロックで入力さ
れる、m1組のn1ビットの演算データを、第1の周波
数のクロックのn1ビットの演算データに変換して、取
り込み手段に供給させる。
および請求項9に記載の演算方法においては、第1の周
波数の1/(m1)の第2の周波数のクロックで入力さ
れる、m1組のn1ビットの演算データを、第1の周波
数のクロックのn1ビットの演算データに変換して、取
り込み手段に供給させる。
【0035】
【発明の実施の形態】以下に本発明の実施の形態を説明
するが、特許請求の範囲に記載の発明の各手段と以下の
実施の形態との対応関係を明らかにするために、各手段
の後の括弧内に、対応する実施の形態(但し一例)を付
加して本発明の特徴を記述すると、次のようになる。但
し勿論この記載は、各手段を記載したものに限定するこ
とを意味するものではない。
するが、特許請求の範囲に記載の発明の各手段と以下の
実施の形態との対応関係を明らかにするために、各手段
の後の括弧内に、対応する実施の形態(但し一例)を付
加して本発明の特徴を記述すると、次のようになる。但
し勿論この記載は、各手段を記載したものに限定するこ
とを意味するものではない。
【0036】請求項1に記載のSIMD制御並列プロセッサ
は、並列に入力されるn1ビットの演算データを第1の
周波数のクロックで取り込む取り込み手段(例えば、図
1の入力SAM部22)と、取り込み手段で取り込まれ
た演算データを記憶する記憶手段(例えば、図1のデー
タメモリ部23)と、記憶手段に記憶された演算データ
を演算する演算手段(例えば、図1のALUアレイ部2
4)と、演算手段により演算されたn2ビットの演算デ
ータを出力する出力手段と、取り込み手段、記憶手段、
演算手段、または出力手段の少なくとも1つの動作を制
御する制御手段(例えば、図1のプログラム制御部2
7)と、第1の周波数の1/(m1)の第2の周波数の
クロックで入力される、m1組のn1ビットの演算デー
タを、第1の周波数のクロックのn1ビットの演算デー
タに変換して、取り込み手段に供給する入力周波数変換
手段(例えば、図1のスリーステートバッファ51,5
2)とを備えることを特徴とする。
は、並列に入力されるn1ビットの演算データを第1の
周波数のクロックで取り込む取り込み手段(例えば、図
1の入力SAM部22)と、取り込み手段で取り込まれ
た演算データを記憶する記憶手段(例えば、図1のデー
タメモリ部23)と、記憶手段に記憶された演算データ
を演算する演算手段(例えば、図1のALUアレイ部2
4)と、演算手段により演算されたn2ビットの演算デ
ータを出力する出力手段と、取り込み手段、記憶手段、
演算手段、または出力手段の少なくとも1つの動作を制
御する制御手段(例えば、図1のプログラム制御部2
7)と、第1の周波数の1/(m1)の第2の周波数の
クロックで入力される、m1組のn1ビットの演算デー
タを、第1の周波数のクロックのn1ビットの演算デー
タに変換して、取り込み手段に供給する入力周波数変換
手段(例えば、図1のスリーステートバッファ51,5
2)とを備えることを特徴とする。
【0037】請求項2に記載のSIMD制御並列プロセッサ
は、第1の周波数のクロックで出力手段から出力され
る、n2ビットの出力データを、第2の周波数のクロッ
クのm2組のn2ビットの出力データに変換する出力周
波数変換手段(例えば、図3のレジスタ61,62)を
さらに備えることを特徴とする。
は、第1の周波数のクロックで出力手段から出力され
る、n2ビットの出力データを、第2の周波数のクロッ
クのm2組のn2ビットの出力データに変換する出力周
波数変換手段(例えば、図3のレジスタ61,62)を
さらに備えることを特徴とする。
【0038】請求項3に記載のSIMD制御並列プロセッサ
は、k(k≦n)ビットの識別データを発生し、演算デ
ータが供給されないタイミングにおいて取り込み手段に
供給する供給手段(例えば、図4の発生回路71)をさ
らに備えることを特徴とする。
は、k(k≦n)ビットの識別データを発生し、演算デ
ータが供給されないタイミングにおいて取り込み手段に
供給する供給手段(例えば、図4の発生回路71)をさ
らに備えることを特徴とする。
【0039】請求項5に記載のSIMD制御並列プロセッサ
は、出力手段より出力される出力データを処理し、制御
手段または演算手段に帰還する帰還手段(例えば、図6
の演算回路91)をさらに備えることを特徴とする。
は、出力手段より出力される出力データを処理し、制御
手段または演算手段に帰還する帰還手段(例えば、図6
の演算回路91)をさらに備えることを特徴とする。
【0040】請求項9に記載の演算方法は、並列に入力
されるn1ビットの演算データを第1の周波数のクロッ
クで取り込む取り込み手段(例えば、図1の入力SAM
部22)と、取り込み手段で取り込まれた演算データを
記憶する記憶手段(例えば、図1のデータメモリ部2
3)と、記憶手段に記憶された演算データを演算する演
算手段(例えば、図1のALUアレイ部24)と、演算
手段により演算されたn2ビットの演算データを出力す
る出力手段と、取り込み手段、記憶手段、演算手段、ま
たは出力手段の少なくとも1つの動作を制御する制御手
段(例えば、図1のプログラム制御部27)と、を備え
るSIMD制御並列プロセッサを利用した演算方法におい
て、第1の周波数の1/(m1)の第2の周波数のクロ
ックで入力される、m1組のn1ビットの演算データ
を、第1の周波数のクロックのn1ビットの演算データ
に変換して、取り込み手段(例えば、図1の入力SAM
部22)に供給することを特徴とする。
されるn1ビットの演算データを第1の周波数のクロッ
クで取り込む取り込み手段(例えば、図1の入力SAM
部22)と、取り込み手段で取り込まれた演算データを
記憶する記憶手段(例えば、図1のデータメモリ部2
3)と、記憶手段に記憶された演算データを演算する演
算手段(例えば、図1のALUアレイ部24)と、演算
手段により演算されたn2ビットの演算データを出力す
る出力手段と、取り込み手段、記憶手段、演算手段、ま
たは出力手段の少なくとも1つの動作を制御する制御手
段(例えば、図1のプログラム制御部27)と、を備え
るSIMD制御並列プロセッサを利用した演算方法におい
て、第1の周波数の1/(m1)の第2の周波数のクロ
ックで入力される、m1組のn1ビットの演算データ
を、第1の周波数のクロックのn1ビットの演算データ
に変換して、取り込み手段(例えば、図1の入力SAM
部22)に供給することを特徴とする。
【0041】図1は、本発明のSIMD制御並列プロセッサ
の構成例を表している。この構成例においては、第1の
実施例のLSI40上にブロック41が配置されてお
り、このブロック41は、入力ポインタ21、入力SA
M部22、データメモリ部23、ALUアレイ部24、
出力SAM部25、出力ポインタ26、およびプログラ
ム制御部27を有し、図8に示した従来のSIMD並列制御
プロセッサと同様の構成とされている。
の構成例を表している。この構成例においては、第1の
実施例のLSI40上にブロック41が配置されてお
り、このブロック41は、入力ポインタ21、入力SA
M部22、データメモリ部23、ALUアレイ部24、
出力SAM部25、出力ポインタ26、およびプログラ
ム制御部27を有し、図8に示した従来のSIMD並列制御
プロセッサと同様の構成とされている。
【0042】第1の実施例のLSI40には、さらにブ
ロック41の他、スリーステートバッファ51と、スリ
ーステートバッファ52が設けられている。スリーステ
ートバッファ51は、入力SAM部22の入力バスと同
一のビット数の入力バスと出力バスを有し、その出力バ
スは、入力SAM部22の入力バスに接続されている。
スリーステートバッファ52も同様に、入力SAM部2
2の入力バスと同一のビット数の入力バスと出力バスを
有し、その出力バスも、入力SAM部22の入力バスに
接続されている。
ロック41の他、スリーステートバッファ51と、スリ
ーステートバッファ52が設けられている。スリーステ
ートバッファ51は、入力SAM部22の入力バスと同
一のビット数の入力バスと出力バスを有し、その出力バ
スは、入力SAM部22の入力バスに接続されている。
スリーステートバッファ52も同様に、入力SAM部2
2の入力バスと同一のビット数の入力バスと出力バスを
有し、その出力バスも、入力SAM部22の入力バスに
接続されている。
【0043】スリーステートバッファ51,52には、
例えば、図2に示すような回路により、周波数変換が行
われた画素データが供給される。
例えば、図2に示すような回路により、周波数変換が行
われた画素データが供給される。
【0044】すなわち、例えば16ビットの入力データ
は、基板上に配置されているレジスタ53に入力され
る。レジスタ53は、周波数fのクロックで入力される
16ビットのデータを、周波数f/2の2組のデータに
分割して出力する。例えば、図2においては、レジスタ
53の上側の16ビットの出力には、奇数番目の入力
(16ビットのデータ)が同時に出力され、下側の16
ビットの出力には、偶数番目の入力(16ビットのデー
タ)が同時に出力される。従って、上側16ビットと下
側16ビットには、データが2回に1回の割合で出力さ
れる結果、それぞれの周波数は、入力における場合の1
/2となる。
は、基板上に配置されているレジスタ53に入力され
る。レジスタ53は、周波数fのクロックで入力される
16ビットのデータを、周波数f/2の2組のデータに
分割して出力する。例えば、図2においては、レジスタ
53の上側の16ビットの出力には、奇数番目の入力
(16ビットのデータ)が同時に出力され、下側の16
ビットの出力には、偶数番目の入力(16ビットのデー
タ)が同時に出力される。従って、上側16ビットと下
側16ビットには、データが2回に1回の割合で出力さ
れる結果、それぞれの周波数は、入力における場合の1
/2となる。
【0045】このようにして生成された2組の16ビッ
トの画素データは、基板上に配置されている図示せぬ回
路により処理される。この場合における処理回路のクロ
ック周波数は、レジスタ53から出力される前の周波数
fの1/2の周波数f/2とすることができる。
トの画素データは、基板上に配置されている図示せぬ回
路により処理される。この場合における処理回路のクロ
ック周波数は、レジスタ53から出力される前の周波数
fの1/2の周波数f/2とすることができる。
【0046】そして、2組の16ビットの画素データ
は、図1のLSI40上のスリーステートバッファ51
またはスリーステートバッファ52に、それぞれ入力さ
れる。スリステートバッファ51とスリーステートバッ
ファ52は、それぞれ制御信号CAまたは制御信号CB
によりf/2の周波数で交互にイネーブルされる。すな
わち、一方がイネーブルされ、入力された16ビットの
画素データを出力しているときは、他方は出力を停止し
ている。その結果、入力SAM部22には、所定のタイ
ミングでスリーステートバッファ51の出力する16ビ
ットの画素データが入力された後、次のタイミングにお
いては、スリステートバッファ52が出力する16ビッ
トのデータが入力される。すなわち、入力SAM部22
には、元の周波数fのクロックで画素データが入力され
ることになる。
は、図1のLSI40上のスリーステートバッファ51
またはスリーステートバッファ52に、それぞれ入力さ
れる。スリステートバッファ51とスリーステートバッ
ファ52は、それぞれ制御信号CAまたは制御信号CB
によりf/2の周波数で交互にイネーブルされる。すな
わち、一方がイネーブルされ、入力された16ビットの
画素データを出力しているときは、他方は出力を停止し
ている。その結果、入力SAM部22には、所定のタイ
ミングでスリーステートバッファ51の出力する16ビ
ットの画素データが入力された後、次のタイミングにお
いては、スリステートバッファ52が出力する16ビッ
トのデータが入力される。すなわち、入力SAM部22
には、元の周波数fのクロックで画素データが入力され
ることになる。
【0047】入力SAM部22に画素データが入力され
た後の処理は、図8における場合と同様であるので、そ
の説明は省略するが、ブロック41の内部においては、
高速に(周波数fのクロックで)、データを処理するこ
とができる。
た後の処理は、図8における場合と同様であるので、そ
の説明は省略するが、ブロック41の内部においては、
高速に(周波数fのクロックで)、データを処理するこ
とができる。
【0048】図3は、図1の構成例に、さらにレジスタ
61とレジスタ62を、LSI40上に配置した例を示
している。すなわち、この構成例においては、出力SA
M部25より出力された16ビットのデータが、レジス
タ61とレジスタ62に出力されている。レジスタ61
とレジスタ62は、それぞれ制御信号CCと制御信号C
Dで、周波数f/2で交互にイネーブルされる。従っ
て、レジスタ61に所定のタイミングで16ビットのデ
ータが入力されたとき、制御信号CCに基づいてレジス
タ61は、この16ビットの画素データを保持する。こ
のとき、レジスタ62は、制御信号CDが入力されない
ので、入力されたデータを保持しない。
61とレジスタ62を、LSI40上に配置した例を示
している。すなわち、この構成例においては、出力SA
M部25より出力された16ビットのデータが、レジス
タ61とレジスタ62に出力されている。レジスタ61
とレジスタ62は、それぞれ制御信号CCと制御信号C
Dで、周波数f/2で交互にイネーブルされる。従っ
て、レジスタ61に所定のタイミングで16ビットのデ
ータが入力されたとき、制御信号CCに基づいてレジス
タ61は、この16ビットの画素データを保持する。こ
のとき、レジスタ62は、制御信号CDが入力されない
ので、入力されたデータを保持しない。
【0049】そして、次のタイミングにおいて、新たな
16ビットの画素データが入力されたとき、今度はレジ
スタ62に制御信号CDが入力され、イネーブルされる
ので、画素データが保持される。このとき、レジスタ6
1には、制御信号CCが入力されないので、入力された
データは保持されない。このようにして、レジスタ61
とレジスタ62は、入力された16ビットのデータを交
互に保持するので、レジスタ61とレジスタ62より出
力される画素データのクロック周波数はf/2となる。
従って、基板上での処理が可能となる。
16ビットの画素データが入力されたとき、今度はレジ
スタ62に制御信号CDが入力され、イネーブルされる
ので、画素データが保持される。このとき、レジスタ6
1には、制御信号CCが入力されないので、入力された
データは保持されない。このようにして、レジスタ61
とレジスタ62は、入力された16ビットのデータを交
互に保持するので、レジスタ61とレジスタ62より出
力される画素データのクロック周波数はf/2となる。
従って、基板上での処理が可能となる。
【0050】図4は、図3の構成例に、さらに発生回路
71を付加した例を表している。この発生回路71は、
例えば、図5に示すように構成される。図5の構成例に
おいては、発生回路71がカウンタ81により構成され
ている。そしてカウンタ81は、入力SAM部22の1
6ビットのバスのうち、上位10ビットのバスに、その
出力が接続されている。なお、接続されるバスのビット
数は、10ビットに限らず、それ以下、またはそれ以上
としてもよいのはもとよりである。
71を付加した例を表している。この発生回路71は、
例えば、図5に示すように構成される。図5の構成例に
おいては、発生回路71がカウンタ81により構成され
ている。そしてカウンタ81は、入力SAM部22の1
6ビットのバスのうち、上位10ビットのバスに、その
出力が接続されている。なお、接続されるバスのビット
数は、10ビットに限らず、それ以下、またはそれ以上
としてもよいのはもとよりである。
【0051】カウンタ81には、入力ポインタ21に供
給されているクロックと同一のクロックCKが供給され
ており、制御信号CENが入力されたとき、イネーブル
状態とされ、入力されるクロックCKを計数する。そし
て、制御信号OENが入力されたとき、出力がイネーブ
ル状態とされ、そのカウント値(計数値)が入力SAM
部22の入力バスに供給されるようになされている。
給されているクロックと同一のクロックCKが供給され
ており、制御信号CENが入力されたとき、イネーブル
状態とされ、入力されるクロックCKを計数する。そし
て、制御信号OENが入力されたとき、出力がイネーブ
ル状態とされ、そのカウント値(計数値)が入力SAM
部22の入力バスに供給されるようになされている。
【0052】このカウンタ81には、装置の電源がオン
された直後、あるいは、垂直帰線期間などにおいて、ま
ずカウンタ81がクリアされ、それから制御信号CEN
やOENが供給され、その出力が入力SAM部22の入
力バスに供給される。入力SAM部22においては、入
力ポインタ21で指定される要素プロセッサ31が、こ
れを取り込み、データメモリ部23に転送する。以下プ
ログラム制御によりデータメモリ部23は、このように
して入力されたデータを、各要素プロセッサ31毎に、
自分自身に割り当てられた番号として記憶する。そし
て、プログラム制御部27から所定の番号が指定された
とき、その指定された番号を割り当てられている要素プ
ロセッサ31が、指定されたかどうかを判断し、指定さ
れている場合は指令された演算を実行する。
された直後、あるいは、垂直帰線期間などにおいて、ま
ずカウンタ81がクリアされ、それから制御信号CEN
やOENが供給され、その出力が入力SAM部22の入
力バスに供給される。入力SAM部22においては、入
力ポインタ21で指定される要素プロセッサ31が、こ
れを取り込み、データメモリ部23に転送する。以下プ
ログラム制御によりデータメモリ部23は、このように
して入力されたデータを、各要素プロセッサ31毎に、
自分自身に割り当てられた番号として記憶する。そし
て、プログラム制御部27から所定の番号が指定された
とき、その指定された番号を割り当てられている要素プ
ロセッサ31が、指定されたかどうかを判断し、指定さ
れている場合は指令された演算を実行する。
【0053】なお、このカウンタ81も、その出力部
に、スリーステートバッファあるいはセレクタが設けら
れており、スリーステートバッファ51またはスリース
テートバッファ52からの出力と、カウンタ81の出力
データが競合しないように制御される。
に、スリーステートバッファあるいはセレクタが設けら
れており、スリーステートバッファ51またはスリース
テートバッファ52からの出力と、カウンタ81の出力
データが競合しないように制御される。
【0054】なお、カウンタ81による要素プロセッサ
31に対するナンバリングは、単純な昇順、降順といっ
たナンバリングだけでなく、0,0,1,1,2,2,
・・・というようなナンバリングや、0,1,2,3,
0,1,2,3,・・・といったモジュロ演算に基づく
ナンバリングなども可能である。
31に対するナンバリングは、単純な昇順、降順といっ
たナンバリングだけでなく、0,0,1,1,2,2,
・・・というようなナンバリングや、0,1,2,3,
0,1,2,3,・・・といったモジュロ演算に基づく
ナンバリングなども可能である。
【0055】このように、カウンタ81により発生した
カウント値を要素プロセッサ31のナンバリングに用い
るようにすることで、プログラム制御部27のプログラ
ムによるナンバリングが不要となり、プログラムの開発
の手間を省くことができる。また、迅速なナンバリング
が可能となる。
カウント値を要素プロセッサ31のナンバリングに用い
るようにすることで、プログラム制御部27のプログラ
ムによるナンバリングが不要となり、プログラムの開発
の手間を省くことができる。また、迅速なナンバリング
が可能となる。
【0056】なお、図5の例においては、カウンタ81
の出力を入力SAM部22のビット0からビット9まで
の10ビットに供給するようにしたが、それ以下、また
はそれ以上とすることも勿論可能である。また、その接
続先も任意である。
の出力を入力SAM部22のビット0からビット9まで
の10ビットに供給するようにしたが、それ以下、また
はそれ以上とすることも勿論可能である。また、その接
続先も任意である。
【0057】図6は、さらに他の構成例を表している。
この構成例においては、図4の構成例に演算回路91が
付加されている。演算回路91は、出力SAM部25の
出力する16ビットの出力の供給を受け、これに所定の
演算を施して、プログラム制御部27あるいはALUア
レイ部24に供給するようになされている。
この構成例においては、図4の構成例に演算回路91が
付加されている。演算回路91は、出力SAM部25の
出力する16ビットの出力の供給を受け、これに所定の
演算を施して、プログラム制御部27あるいはALUア
レイ部24に供給するようになされている。
【0058】図7は、演算回路91の構成例を表してい
る。レジスタ101は、出力SAM部25の16ビット
のデータ出力バスDOUTの一部、または全部の供給を受
け、任意の要素プロセッサ31のデータだけを保持す
る。レジスタ101に保持されたデータは、ビットパラ
レルに、あるいはビットシリアルに、データD1または
データS1としてALUアレイ部24、プログラム制御
部27などに帰還される。ALUアレイ部24は、レジ
スタ101より供給されたビットシリアルデータを、そ
の後のプログラム処理の際の演算データとして用いる。
また、プログラム制御部27は、プログラムシーケンス
の流れを変えるためのステータス信号として、入力され
たビットパラレルデータを使用する。
る。レジスタ101は、出力SAM部25の16ビット
のデータ出力バスDOUTの一部、または全部の供給を受
け、任意の要素プロセッサ31のデータだけを保持す
る。レジスタ101に保持されたデータは、ビットパラ
レルに、あるいはビットシリアルに、データD1または
データS1としてALUアレイ部24、プログラム制御
部27などに帰還される。ALUアレイ部24は、レジ
スタ101より供給されたビットシリアルデータを、そ
の後のプログラム処理の際の演算データとして用いる。
また、プログラム制御部27は、プログラムシーケンス
の流れを変えるためのステータス信号として、入力され
たビットパラレルデータを使用する。
【0059】バレルシフタ102は、データ出力バスD
OUTのうちの一部、または全部の供給を受け、その内の
任意の部分(例えば8ビット)を抽出し、抽出したデー
タを加算器103に供給する。加算器103は、バレル
シフタ102より供給されたデータと、レジスタ104
に保持されているデータの累積を演算する。そして、演
算した結果をレジスタ104に供給し、保持させる。レ
ジスタ104に保持された累積結果は、ビットパラレル
に出力D2として、あるいはビットシリアルに出力S2
として、ALUアレイ部24またはプログラム制御部2
7に帰還される。なお、累積演算に先立ち、レジスタ1
04はクリアされるものとする。そして、その後のプロ
グラム処理の際の演算データとして使用され、あるい
は、プログラムシーケンスの流れを変えるためのステー
タス信号として使用される。
OUTのうちの一部、または全部の供給を受け、その内の
任意の部分(例えば8ビット)を抽出し、抽出したデー
タを加算器103に供給する。加算器103は、バレル
シフタ102より供給されたデータと、レジスタ104
に保持されているデータの累積を演算する。そして、演
算した結果をレジスタ104に供給し、保持させる。レ
ジスタ104に保持された累積結果は、ビットパラレル
に出力D2として、あるいはビットシリアルに出力S2
として、ALUアレイ部24またはプログラム制御部2
7に帰還される。なお、累積演算に先立ち、レジスタ1
04はクリアされるものとする。そして、その後のプロ
グラム処理の際の演算データとして使用され、あるい
は、プログラムシーケンスの流れを変えるためのステー
タス信号として使用される。
【0060】セレクタ105は、データ出力バスDOUT
のうちの一部、または全部の供給を受け、その中から1
ビットを選択し、カウンタ106に出力する。カウンタ
106は、入力された1ビットが”1”であるとき、こ
れをカウントする。セレクタ105が選択するビットを
適宜変更することで、カウンタ106は、全ての要素プ
ロセッサ31の出力データのうちの特定のビットの”
1”の数を計数する。レジスタ107は、カウンタ10
6の計数値を保持し、保持したデータをビットパラレル
にデータD3として、あるいは、ビットシリアルにデー
タS3として、ALUアレイ部24またはプログラム制
御部27に供給する。これらのデータも、その後のプロ
グラム処理の際に演算され、あるいはプログラムシーケ
ンスの流れを変更するためのステータス信号として使用
される。
のうちの一部、または全部の供給を受け、その中から1
ビットを選択し、カウンタ106に出力する。カウンタ
106は、入力された1ビットが”1”であるとき、こ
れをカウントする。セレクタ105が選択するビットを
適宜変更することで、カウンタ106は、全ての要素プ
ロセッサ31の出力データのうちの特定のビットの”
1”の数を計数する。レジスタ107は、カウンタ10
6の計数値を保持し、保持したデータをビットパラレル
にデータD3として、あるいは、ビットシリアルにデー
タS3として、ALUアレイ部24またはプログラム制
御部27に供給する。これらのデータも、その後のプロ
グラム処理の際に演算され、あるいはプログラムシーケ
ンスの流れを変更するためのステータス信号として使用
される。
【0061】バレルシフタ108は、データ出力バスD
OUTのうちの一部、または全部の供給を受け、そのうち
の任意の例えば8ビットを抽出して、レジスタ109に
出力する。レジスタ109は、バレルシフタ108から
供給されたデータを保持し、保持したデータをコンパレ
ータ110に出力する。レジスタ111には、予め所定
の値が保持されており、コンパレータ110は、このレ
ジスタ111に保持されている所定の値と、レジスタ1
09より供給されたデータの値の大小関係を判定し、そ
の判定結果を示すステータス信号S4をALUアレイ部
24とプログラム制御部27に出力する。
OUTのうちの一部、または全部の供給を受け、そのうち
の任意の例えば8ビットを抽出して、レジスタ109に
出力する。レジスタ109は、バレルシフタ108から
供給されたデータを保持し、保持したデータをコンパレ
ータ110に出力する。レジスタ111には、予め所定
の値が保持されており、コンパレータ110は、このレ
ジスタ111に保持されている所定の値と、レジスタ1
09より供給されたデータの値の大小関係を判定し、そ
の判定結果を示すステータス信号S4をALUアレイ部
24とプログラム制御部27に出力する。
【0062】あるいはまた、レジスタ111に、最大値
を保持させることも可能である。この場合、レジスタ1
09より出力された最初のデータが、レジスタ111に
保持される。コンパレータ110は、レジスタ111に
保持された最初のデータと、レジスタ109から次に供
給されるデータとの大小を比較する。そして、レジスタ
109から供給されたデータの方が、レジスタ111に
保持されているデータより大きい場合、レジスタ109
に、そのとき保持されているデータを、レジスタ111
に転送し、保持させる。
を保持させることも可能である。この場合、レジスタ1
09より出力された最初のデータが、レジスタ111に
保持される。コンパレータ110は、レジスタ111に
保持された最初のデータと、レジスタ109から次に供
給されるデータとの大小を比較する。そして、レジスタ
109から供給されたデータの方が、レジスタ111に
保持されているデータより大きい場合、レジスタ109
に、そのとき保持されているデータを、レジスタ111
に転送し、保持させる。
【0063】以上の動作を、順次繰り返すことで、レジ
スタ111に最大値を保持させることができる。レジス
タ111に保持された最大値は、ビットパラレルにデー
タD5として、あるいはビットシリアルにデータS5と
して、ALUアレイ部24とプログラム制御部27に供
給される。これらの信号も、上述した場合と同様にし
て、その後のプログラムの処理の際の演算データとして
使用されたり、プログラムシーケンスの流れを変更する
ためのステータス信号として使用される。
スタ111に最大値を保持させることができる。レジス
タ111に保持された最大値は、ビットパラレルにデー
タD5として、あるいはビットシリアルにデータS5と
して、ALUアレイ部24とプログラム制御部27に供
給される。これらの信号も、上述した場合と同様にし
て、その後のプログラムの処理の際の演算データとして
使用されたり、プログラムシーケンスの流れを変更する
ためのステータス信号として使用される。
【0064】なお、レジスタ111に、コンパレータ1
10の大小比較の結果、小さいと判定された方を保持さ
せるようにすれば、最小値を検出することができる。
10の大小比較の結果、小さいと判定された方を保持さ
せるようにすれば、最小値を検出することができる。
【0065】このように、累積値、最大値、最小値、大
小比較といった処理を、ブロック41の外部で行い、こ
れを再びブロック41の内部に帰還するようにしたの
で、プログラム制御部27のプログラムに、このような
累積値、最大値、最小値、大小比較といった結果を得る
ための処理を記述する必要がなくなり、プログラミング
が簡単となる。また、処理時間も短くすることができ
る。
小比較といった処理を、ブロック41の外部で行い、こ
れを再びブロック41の内部に帰還するようにしたの
で、プログラム制御部27のプログラムに、このような
累積値、最大値、最小値、大小比較といった結果を得る
ための処理を記述する必要がなくなり、プログラミング
が簡単となる。また、処理時間も短くすることができ
る。
【0066】以上のように、本発明の実施の形態におい
ては、LSI40の内部の高速動作を無駄にせずに、L
SI40の外部とインタフェースすることができ、扱う
画像信号が、コンピュータモニタ用などの場合のよう
に、高速のデータであったとしても、基板上で処理する
ことが可能となる。
ては、LSI40の内部の高速動作を無駄にせずに、L
SI40の外部とインタフェースすることができ、扱う
画像信号が、コンピュータモニタ用などの場合のよう
に、高速のデータであったとしても、基板上で処理する
ことが可能となる。
【0067】また、要素プロセッサ31に、個々の番号
を持たせるような処理も、非効率的なプログラム処理に
よることなく、実現することができる。
を持たせるような処理も、非効率的なプログラム処理に
よることなく、実現することができる。
【0068】なお、図2の例においては、16ビットの
データを2組の16ビットのデータに分割するようにし
たが、これらの値も任意であり、nビットの演算データ
をm組のnビットの演算データに変換するようにするこ
とができる。これにより、周波数を1/mとすることが
できる。
データを2組の16ビットのデータに分割するようにし
たが、これらの値も任意であり、nビットの演算データ
をm組のnビットの演算データに変換するようにするこ
とができる。これにより、周波数を1/mとすることが
できる。
【0069】
【発明の効果】以上の如く請求項1に記載のSIMD制御並
列プロセッサおよび請求項9に記載の演算方法によれ
ば、第1の周波数の1/(m1)の第2の周波数のクロ
ックで入力される、m1組のn1ビットの演算データ
を、第1の周波数のクロックのn1ビットの演算データ
に変換して、取り込み手段に供給するようにしたので、
大量の演算データをリアルタイムで、迅速に処理するこ
とが可能となる。
列プロセッサおよび請求項9に記載の演算方法によれ
ば、第1の周波数の1/(m1)の第2の周波数のクロ
ックで入力される、m1組のn1ビットの演算データ
を、第1の周波数のクロックのn1ビットの演算データ
に変換して、取り込み手段に供給するようにしたので、
大量の演算データをリアルタイムで、迅速に処理するこ
とが可能となる。
【図1】本発明のSIMD制御並列プロセッサの構成例を示
すブロック図である。
すブロック図である。
【図2】クロック周波数を低下させる構成例を示す図で
ある。
ある。
【図3】本発明のSIMD制御並列プロセッサの他の構成例
を示すブロック図である。
を示すブロック図である。
【図4】本発明のSIMD制御並列プロセッサのさらに他の
構成例を示すブロック図である。
構成例を示すブロック図である。
【図5】図4の発生回路71の構成例を示すブロック図
である。
である。
【図6】本発明のSIMD制御並列プロセッサのさらに他の
構成例を示すブロック図である。
構成例を示すブロック図である。
【図7】図6の演算回路91の構成例を示すブロック図
である。
である。
【図8】従来のSIMD制御並列プロセッサの構成例を示す
ブロック図である。
ブロック図である。
22 入力SAM部, 23 データメモリ部, 24
ALUアレイ部,25 出力SAM部, 27 プロ
グラム制御部, 51,52 スリーステートバッフ
ァ, 61,62 レジスタ, 71 発生回路, 9
1 演算回路
ALUアレイ部,25 出力SAM部, 27 プロ
グラム制御部, 51,52 スリーステートバッフ
ァ, 61,62 レジスタ, 71 発生回路, 9
1 演算回路
Claims (9)
- 【請求項1】 並列に入力されるn1ビットの演算デー
タを第1の周波数のクロックで取り込む取り込み手段
と、 前記取り込み手段で取り込まれた演算データを記憶する
記憶手段と、 前記記憶手段に記憶された演算データを演算する演算手
段と、 前記演算手段により演算されたn2ビットの演算データ
を出力する出力手段と、 前記取り込み手段、記憶手段、演算手段、または出力手
段の少なくとも1つの動作を制御する制御手段と、 前記第1の周波数の1/(m1)の第2の周波数のクロ
ックで入力される、m1組のn1ビットの演算データ
を、前記第1の周波数のクロックのn1ビットの演算デ
ータに変換して、前記取り込み手段に供給する入力周波
数変換手段とを備えることを特徴とするSIMD制御並列プ
ロセッサ。 - 【請求項2】 前記第1の周波数のクロックで前記出力
手段から出力される、n2ビットの出力データを、前記
第2の周波数のクロックのm2組のn2ビットの出力デ
ータに変換する出力周波数変換手段をさらに備えること
を特徴とする請求項1に記載のSIMD制御並列プロセッ
サ。 - 【請求項3】 k(k≦n)ビットの識別データを発生
し、前記演算データが供給されないタイミングにおいて
前記取り込み手段に供給する供給手段をさらに備えるこ
とを特徴とする請求項1に記載のSIMD制御並列プロセッ
サ。 - 【請求項4】 前記取り込み手段、記憶手段、演算手
段、および出力手段は、1ビットの要素プロセッサを構
成することを特徴とする請求項1に記載のSIMD制御並列
プロセッサ。 - 【請求項5】 前記出力手段より出力される出力データ
を処理し、前記制御手段または前記演算手段に帰還する
帰還手段をさらに備えることを特徴とする請求項1に記
載のSIMD制御並列プロセッサ。 - 【請求項6】 前記取り込み手段、記憶手段、演算手
段、および出力手段は、1ビットの要素プロセッサを構
成し、 前記帰還手段は、任意の前記要素プロセッサのデータを
抽出する抽出手段、各要素プロセッサのデータを累積す
る累積手段、各要素プロセッサの任意のビットの状態を
計数する計数手段、各要素プロセッサのデータの所定値
に対する大小を検出する第1の検出手段、各要素プロセ
ッサのデータの最大値もしくは最小値を検出する第2の
検出手段の少なくとも1つを有することを特徴とする請
求項5に記載のSIMD制御並列プロセッサ。 - 【請求項7】 前記帰還手段は、処理したデータを、前
記演算データとして前記演算手段に帰還することを特徴
とする請求項5に記載のSIMD制御並列プロセッサ。 - 【請求項8】 前記制御手段は、プログラムに基づき、
前記取り込み手段、記憶手段、演算手段、および出力手
段により構成される要素プロセッサの動作を制御し、 前記帰還手段は、処理したデータを、その後のプログラ
ム処理の際にプログラムシーケンスの流れを変えるため
のステータス信号として、前記制御手段に帰還すること
を特徴とする請求項5に記載のSIMD制御並列プロセッ
サ。 - 【請求項9】 並列に入力されるn1ビットの演算デー
タを第1の周波数のクロックで取り込む取り込み手段
と、 前記取り込み手段で取り込まれた演算データを記憶する
記憶手段と、 前記記憶手段に記憶された演算データを演算する演算手
段と、 前記演算手段により演算されたn2ビットの演算データ
を出力する出力手段と、 前記取り込み手段、記憶手段、演算手段、または出力手
段の少なくとも1つの動作を制御する制御手段と、 を備えるSIMD制御並列プロセッサを利用した演算方法に
おいて、 前記第1の周波数の1/(m1)の第2の周波数のクロ
ックで入力される、m1組のn1ビットの演算データ
を、前記第1の周波数のクロックのn1ビットの演算デ
ータに変換して、前記取り込み手段に供給することを特
徴とする演算方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12047497A JPH10312454A (ja) | 1997-05-12 | 1997-05-12 | Simd制御並列プロセッサおよび演算方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP12047497A JPH10312454A (ja) | 1997-05-12 | 1997-05-12 | Simd制御並列プロセッサおよび演算方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH10312454A true JPH10312454A (ja) | 1998-11-24 |
Family
ID=14787079
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP12047497A Withdrawn JPH10312454A (ja) | 1997-05-12 | 1997-05-12 | Simd制御並列プロセッサおよび演算方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH10312454A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6930793B1 (en) | 1999-04-30 | 2005-08-16 | Ricoh Company, Ltd. | Image processing apparatus, image processing method and computer readable recording medium for recording program for computer to execute the method |
| JP2007047009A (ja) * | 2005-08-10 | 2007-02-22 | Hitachi High-Technologies Corp | 半導体デバイスの欠陥検査方法及びその装置 |
-
1997
- 1997-05-12 JP JP12047497A patent/JPH10312454A/ja not_active Withdrawn
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6930793B1 (en) | 1999-04-30 | 2005-08-16 | Ricoh Company, Ltd. | Image processing apparatus, image processing method and computer readable recording medium for recording program for computer to execute the method |
| DE10020776B4 (de) * | 1999-04-30 | 2006-12-28 | Ricoh Company, Ltd. | Bildverarbeitungsapparat und Bildverarbeitungsverfahren |
| JP2007047009A (ja) * | 2005-08-10 | 2007-02-22 | Hitachi High-Technologies Corp | 半導体デバイスの欠陥検査方法及びその装置 |
| US8385627B2 (en) | 2005-08-10 | 2013-02-26 | Hitachi High-Technologies Corporation | Method and apparatus for inspecting defects of semiconductor device |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6970196B1 (en) | High-speed vision sensor with image processing function | |
| KR0125623B1 (ko) | 데이타 프로세서 및 데이타 처리방법 | |
| US5136662A (en) | Image processor for sequential processing of successive regions of an image | |
| CN118520210B (zh) | 数据处理方法、处理器、电子设备和存储介质 | |
| US7295334B2 (en) | Image processing apparatus having configurable processors | |
| JP2009271724A (ja) | ハードウェアエンジン制御装置 | |
| US8046503B2 (en) | DMA controller, system on chip comprising such a DMA controller, method of interchanging data via such a DMA controller | |
| JP2002297377A (ja) | ソート機能を有するsimd型マイクロプロセッサ | |
| US6912626B1 (en) | Method and apparatus for connecting a massively parallel processor array to a memory array in a bit serial manner | |
| US4837844A (en) | Image processing apparatus | |
| WO1999063751A1 (en) | Low-power parallel processor and imager integrated circuit | |
| JPH10312454A (ja) | Simd制御並列プロセッサおよび演算方法 | |
| KR19990008388A (ko) | 연산기능을 갖는 반도체메모리 및 그것을 사용한 처리장치 | |
| US6748514B2 (en) | Parallel processor and image processing system for simultaneous processing of plural image data items without additional circuit delays and power increases | |
| JP4445621B2 (ja) | マルチプロセッサ型処理装置における共有メモリアクセス方法およびその装置 | |
| US5475828A (en) | Digital processor having plurality of memories and plurality of arithmetic logic units corresponding in number thereto and method for controlling the same | |
| JPH10326258A (ja) | データ演算システムおよび方法 | |
| US20050122545A1 (en) | Flexible high performance error diffusion | |
| US20020021826A1 (en) | Image signal processing apparatus and method thereof | |
| JP2001134538A (ja) | 信号処理装置 | |
| US12405794B2 (en) | Signal processing apparatus and non-transitory computer-readable storage medium | |
| JP4408113B2 (ja) | 信号処理方法 | |
| CN119540029B (zh) | 一种像素数据处理方法、系统、电子设备和存储介质 | |
| US8395630B2 (en) | Format conversion apparatus from band interleave format to band separate format | |
| JP2002057994A (ja) | 画像信号処理装置およびその方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20040803 |