(57)【要約】【課題】データの増加に伴ってプロセッサエレメントの数が増加しても、従来技術に比較してデータ転送速度を向上できるＳＩＭＤ型プロセッサを備えたマイクロプロセッサを提供する。【解決手段】データ転送装置２−３は、データ転送用ポートＰ３から２５６プロセッサエレメント分の距離以内の位置に配置されたプロセッサエレメントＰＥ０〜ＰＥ２５５の汎用レジスタＲ３との間で５００ＭＨｚの周波数を有するクロック信号ＣＫに従って所定の第１のデータ転送速度でデータ転送を行う一方、データ転送用ポートＰ３から２５６プロセッサエレメント分の距離より遠い位置に配置されたプロセッサエレメントＰＥ２５６〜ＰＥ５１１の汎用レジスタＲ３であとの間で２５０ＭＨｚの周波数を有するクロック信号ＣＫ２に従って第１のデータ転送速度の半分の第２のデータ転送速度でデータ転送を行う。【選択図】図１
2011145938.tif 000002
【特許請求の範囲】
【請求項１】
複数Ｎ個のレジスタをそれぞれ備えかつそれぞれ固有アドレスを有する複数のプロセッサエレメントと、上記各プロセッサエレメントの各１つのレジスタがそれに対応する１つのデータ転送用ポートに接続されるように構成された複数Ｎ個のデータ転送用ポートとを備えたＳＩＭＤ（Single Instruction stream Multiple Data stream）型プロセッサと、
１つのデータ転送装置が対応する少なくとも１つのデータ転送用ポートに接続されるように構成され、上記各プロセッサエレメントの固有アドレスを指定して、上記各レジスタとの間でデータ転送を行う複数Ｎ個のデータ転送装置とを備えたマイクロプロセッサにおいて、
上記各データ転送装置は、ある１つのレジスタとの間でデータ転送を行うときに、当該レジスタを含むプロセッサエレメントの固有アドレスに基づいて、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が所定のしきい値距離以内の場合において所定の第１のデータ転送速度でデータ転送を行う一方、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離より大きい場合において上記第１のデータ転送速度より小さい所定の第２のデータ転送速度でデータ転送を行う第１の制御手段を備えたことを特徴とするマイクロプロセッサ。
【請求項２】
上記複数Ｎ個のデータ転送装置のうちの第１と第２のデータ転送装置において、
上記第１のデータ転送装置が第１のデータ転送用ポートに接続され、上記第２のデータ転送装置が第２のデータ転送用ポートに接続され、
上記第１と第２のデータ転送用ポートは上記複数のプロセッサエレメントを挟むように配置されたことを特徴とする請求項１記載のマイクロプロセッサ。
【請求項３】
上記第１のデータ転送装置は上記第１のデータ転送用ポートを介して当該第１のデータ転送用ポートからデータ転送を行うレジスタまでの距離が上記所定のしきい値距離以内のレジスタと接続され、
上記第２のデータ転送装置は上記第２のデータ転送用ポートを介して当該第２のデータ転送用ポートからデータ転送を行うレジスタまでの距離が上記所定のしきい値距離以内のレジスタと接続されたことを特徴とする請求項２記載のマイクロプロセッサ。
【請求項４】
上記ＳＩＭＤ型プロセッサは、
上記第１のデータ転送装置が上記第１のデータ転送用ポートを介して所定の第１のレジスタにデータを転送するように上記第１のデータ転送装置に対して制御し、
上記第２のデータ転送装置が上記第２のデータ転送用ポートを介して所定の第２のレジスタにデータを転送するように上記第２のデータ転送装置に対して制御した後、
上記第１のレジスタ内のデータを、上記第２のデータ転送装置に第３のデータ転送用ポートを介して接続された第３のレジスタに転送し、上記第２のレジスタ内のデータを、上記第１のレジスタに転送するように所定の命令を用いて制御する第２の制御手段を備えたことを特徴とする請求項３記載のマイクロプロセッサ。
【請求項５】
上記各データ転送装置は、
所定の記憶装置から読み出されたデータを格納するための転送データバッファと、
上記記憶装置から読み出されたデータと、上記転送データバッファに格納されたデータとのうちのいずれかのデータを選択的に上記データ転送用ポートに出力する第１のマルチプレクサとを備えたことを特徴とする請求項１又は２記載のマイクロプロセッサ。
【請求項６】
上記各データ転送装置は、
当該データ転送装置に接続されたデータ転送用ポートを介して読み出されたデータと、上記転送データバッファに格納されたデータとのうちのいずれかのデータを選択的に、上記第１のデータ転送速度で他のデータ転送装置に出力する第２のマルチプレクサをさらに備えたことを特徴とする請求項５記載のマイクロプロセッサ。
【請求項７】
上記記憶手段から読み出されたデータは画像データを拡大するための変倍制御データであり、
上記第１の制御手段は、上記変倍制御データを上記第１のデータ転送速度で他のデータ転送装置に直接に出力するとともに所定のレジスタに転送するときに、（ａ）当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離以内の場合において、上記第１のマルチプレクサに対して上記記憶手段から読み出された変倍制御データを出力するように制御して、上記第１のマルチプレクサから出力された変倍制御データを上記第１のデータ転送速度で上記データ転送用ポートに出力する一方、（ｂ）当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離より大きい場合において、上記第１のマルチプレクサに対して上記転送データバッファに格納された変倍制御データを出力するように制御して、上記第１のマルチプレクサから出力された変倍制御データを上記第２のデータ転送速度で上記データ転送用ポートに出力することを特徴とする請求項５記載のマイクロプロセッサ。
【請求項８】
上記記憶手段から読み出されたデータは画像データを縮小するための変倍制御データであり、
上記第１の制御手段は、上記変倍制御データを所定のレジスタに転送するときに、上記第１のマルチプレクサに対して上記記憶手段から読み出された変倍制御データを出力するように制御して、上記第１のマルチプレクサから出力された変倍制御データを当該データ転送装置に接続されたデータ転送用ポートを介して当該レジスタに出力するとともに、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離より大きい場合において、上記記憶手段から読み出された変倍制御データを上記転送データバッファに格納するように制御し、
当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離以内であるレジスタに出力された変倍制御データを上記第１のデータ転送速度で上記データ転送用ポートを介して読み出し、上記第２のマルチプレクサに対して上記データ転送用ポートを介して読み出された変倍制御データを上記第１のデータ転送速度で他のデータ転送装置に出力するように制御し、
上記第２のマルチプレクサに対して上記転送データバッファに格納された変倍制御データを上記第１のデータ転送速度で他のデータ転送装置に出力するように制御することを特徴とする請求項６記載のマイクロプロセッサ。
【請求項９】
複数Ｎ個のレジスタをそれぞれ備えかつそれぞれ固有アドレスを有する複数のプロセッサエレメントと、上記各プロセッサエレメントの各１つのレジスタがそれに対応する１つのデータ転送用ポートに接続されるように構成された複数Ｎ個のデータ転送用ポートとを備えたＳＩＭＤ型プロセッサと、
１つのデータ転送装置が対応する少なくとも１つのデータ転送用ポートに接続されるように構成され、上記各プロセッサエレメントの固有アドレスを指定して、上記各レジスタとの間でデータ転送を行う複数Ｎ個のデータ転送装置とを備えたマイクロプロセッサの処理方法において、
上記各データ転送装置において、ある１つのレジスタとの間でデータ転送を行うときに、当該レジスタを含むプロセッサエレメントの固有アドレスに基づいて、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が所定のしきい値距離以内の場合において所定の第１のデータ転送速度でデータ転送を行う一方、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離より大きい場合において上記第１のデータ転送速度より小さい所定の第２のデータ転送速度でデータ転送を行う制御ステップを含むことを特徴とするマイクロプロセッサの処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１つの演算命令によって複数のデータ等を並列処理するＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｕｏｎ  ｓｔｒｅａｍ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ  ｓｔｒｅａｍ）型プロセッサを備えたマイクロプロセッサ及び当該マイクロプロセッサの処理方法に関する。
【背景技術】
【０００２】
近年、デジタルコピア、デジタル複写機又はファクリミリ装置等の画像処理装置において、画素数を増加させたり、あるいはカラー対応の構成にしたりするなどの画質の向上が図られている。そして、画質の向上に伴い、処理すべきデータ数が増加しており画像処理のためのＩＰＵ（Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ：イメージプロセッシングユニット）の処理性能の向上が必須になってきている。一方、画像処理装置におけるデータ処理では、全ての画素データに対して同一の演算処理を行うことが多い。そこで、１つの命令で複数のデータに対して同時に同一の演算処理を行うＳＩＭＤ型プロセッサがＩＰＵとして用いられるようになっている。
【０００３】
ここで、一般に、画像処理のためのＳＩＭＤ型プロセッサは複数段の汎用レジスタをそれぞれ備えた複数の演算ユニット（Ｐｒｏｃｅｓｓｅｒ  Ｕｎｉｔ（以下、プロセッサエレメント又はＰＥという。））を画像データの主走査方向に並べて構成される。そして、全てのプロセッサエレメントの各同一段の汎用レジスタに対してそれぞれ１ライン分の画像データが転送され、当該１ライン分の画像データ内の複数の画素データに対して同一の演算を同時に実行する（例えば、特許文献１参照。）。
【０００４】
特許文献２〜５は、ＳＩＭＤ型プロセッサとの間で画像データなどのデータ転送を行うデータ転送装置とＳＩＭＤ型プロセッサとの間のデータ転送方法をそれぞれ開示している。例えば、特許文献２は、プロセッサエレメント内の汎用レジスタをカラムデコーダにてなるシフトレジスタで構成するシフトレジスタ方式のデータ転送方法を開示している。しかしながら、この場合、例えば２５６個のプロセッサエレメントを備えたＳＩＭＤ型プロセッサの場合には、最初に１番目のプロセッサエレメントの１段目のシフトレジスタに転送されたデータが２５５番目のプロセッサエレメントの１段目のシフトレジスタに保持されるまでに２５６回のクロック入力が必要となり、データ転送時間を短縮できなかった。
【０００５】
このような問題を解決するために、特許文献３は、「プロセッサエレメントに割り付けられたアドレスにより所定のプロセッサエレメントを指定する指定手段」を備えたＳＩＭＤ型プロセッサを開示している。これにより、特許文献２に比較して、ＳＩＭＤ型プロセッサへのデータ転送速度を向上できる。また、特許文献４は、「複数のデータ演算装置により構成され、各データ演算装置は、複数のプロセッサエレメントを有し、各プロセッサエレメントは、入力されるシリアルデータを取り込む取り込み部と、前記取り込み部で取り込まれたデータを演算する演算部と、前記演算部で演算された結果をシリアルデータとして出力する出力部とを備えるデータ演算システムにおいて、前記データ演算装置のうちの第１のデータ演算装置の取り込み部におけるシリアルデータの取り込みを、前記データ演算装置のうちの第２のデータ演算装置の取り込み部におけるシリアルデータの取り込みに較べて遅延させる入力遅延手段と、前記第１のデータ演算装置の出力部におけるシリアルデータの出力を、前記第２のデータ演算装置の出力部におけるシリアルデータの出力に較べて遅延させる出力遅延手段とを備えることを特徴とするデータ演算システム。」を開示している。これにより、第１のデータ演算装置に加えて第２のデータ演算装置を用いることにより、処理する画素データが多くなった場合にも対応できるようにしている。
【０００６】
さらに、特許文献５は、「画像データを格納するアクセスレジスタを複数段備えた複数のプロセッサエレメントが一次元状に配置されたＳＩＭＤ型マイクロプロセッサと、前記アクセスレジスタと同数が前記プロセッサエレメントと同一方向に一次元状に配置されて前記アクセスレジスタへの画像データのリードおよびライトといった通信が行うようにされたデータ処理装置と、を有する画像処理装置において、前記複数段のアクセスレジスタが、複数の前記データ処理装置にそれぞれ対応し、複数の前記プロセッサエレメントそれぞれにおける同一段のアクセスレジスタを互いに接続する共通配線を設け、前記共通配線からその共通配線によって接続されているアクセスレジスタが対応する前記データ処理装置に配線するための配線の引き出し口を、対応する前記データ処理装置の最も近くに設けることを特徴とする画像処理装置。」を開示している。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＳＩＭＤ型プロセッサの処理性能をさらに向上するためには、動作周波数の向上及びプロセッサエレメントの個数を増やして並列度を上げるといった方法が考えられる。しかしながら、プロセッサエレメントの個数を増やすと、各プロセッサエレメントの動作を制御するブロック又はＳＩＭＤ型プロセッサの外部装置（例えば、上述したデータ転送装置である。）と各プロセッサエレメント内部の各汎用レジスタとの間のデータ転送を行うためのインタフェースブロック(以下、ＰＥ外部インタフェースという。)と、各プロセッサエレメントとを結ぶ配線(以下、グローバル配線という。)が長くなってしまい、動作周波数の低下を招くことになる。特許文献３は、プロセッサエレメントの数の増大に伴う処理速度の低下を解決する方法を開示していない。
【０００８】
また、特許文献４のように主走査方向の画像データを２分割して２つのデータ演算装置を用いてそれぞれ処理する場合は、並列処理の単位も２分割されており、別々に処理された２つの画像データを接続するための処理が必要になった。さらに、全てのプロセッサエレメントを２つのグループに分け、２つのグループの間に制御ブロックや、ＰＥ外部インタフェースを配置することで動作周波数の低下を抑制することも考えられるが、２つのグループの間に細長く配置した制御ブロックからＳＩＭＤ型プロセッサ外部への配線数が非常に多くなり、配線レイアウトを行うことが実質的に困難となってしまう。
【０００９】
また、特許文献５に記載されている画像処理装置によれば、プロセッサエレメント内の汎用レジスタにＳＩＭＤ型プロセッサの外部のデータ転送装置からアクセスするためのＰＥ外部インタフェースを、当該データ転送装置の近くに配置することができる。しかしながら、データ転送装置及びＰＥ外部インタフェースが全てのプロセッサエレメントの中央部に配置された場合に比較して、データ転送装置及びＰＥ外部インタフェースが全てのプロセッサエレメントの両側などに配置された場合は、ＰＥ外部インタフェースから最も遠い汎用レジスタまでの距離が増加するのでデータ転送装置は低速動作を行うことになりデータ転送効率が悪くなるという課題があった。また。ＰＥ外部インタフェースから最も遠い汎用レジスタまでの距離が比較的小さく高速動作できるデータ転送装置と、上記距離が大きく低速動作しかできないデータ転送装置との間でのデータのやり取りを行うことができない。このため、拡大処理又は縮小処理のような変倍処理（以下、速度変換処理ともいう。）などのように複数のデータ転送装置からの各データを同期して処理を行えないという問題点があった。
【００１０】
本発明の目的は以上の問題点を解決し、データの増加に伴ってプロセッサエレメントの数が増加しても、従来技術に比較してデータ転送速度を向上できるＳＩＭＤ型プロセッサを備えたマイクロプロセッサ及び当該マイクロプロセッサの処理方法を提供することにある。
【課題を解決するための手段】
【００１１】
第１の発明に係るマイクロプロセッサは、複数Ｎ個のレジスタをそれぞれ備えかつそれぞれ固有アドレスを有する複数のプロセッサエレメントと、上記各プロセッサエレメントの各１つのレジスタがそれに対応する１つのデータ転送用ポートに接続されるように構成された複数Ｎ個のデータ転送用ポートとを備えたＳＩＭＤ型プロセッサと、
１つのデータ転送装置が対応する少なくとも１つのデータ転送用ポートに接続されるように構成され、上記各プロセッサエレメントの固有アドレスを指定して、上記各レジスタとの間でデータ転送を行う複数Ｎ個のデータ転送装置とを備えたマイクロプロセッサにおいて、
上記各データ転送装置は、ある１つのレジスタとの間でデータ転送を行うときに、当該レジスタを含むプロセッサエレメントの固有アドレスに基づいて、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が所定のしきい値距離以内の場合において所定の第１のデータ転送速度でデータ転送を行う一方、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離より大きい場合において上記第１のデータ転送速度より小さい所定の第２のデータ転送速度でデータ転送を行う第１の制御手段を備えたことを特徴とする。
【００１２】
上記マイクロプロセッサにおいて、
上記複数Ｎ個のデータ転送装置のうちの第１と第２のデータ転送装置において、
上記第１のデータ転送装置が第１のデータ転送用ポートに接続され、上記第２のデータ転送装置が第２のデータ転送用ポートに接続され、
上記第１と第２のデータ転送用ポートは上記複数のプロセッサエレメントを挟むように配置されたことを特徴とする。
【００１３】
また、上記マイクロプロセッサにおいて、上記第１のデータ転送装置は上記第１のデータ転送用ポートを介して当該第１のデータ転送用ポートからデータ転送を行うレジスタまでの距離が上記所定のしきい値距離以内のレジスタと接続され、
上記第２のデータ転送装置は上記第２のデータ転送用ポートを介して当該第２のデータ転送用ポートからデータ転送を行うレジスタまでの距離が上記所定のしきい値距離以内のレジスタと接続されたことを特徴とする。
【００１４】
さらに、上記マイクロプロセッサにおいて、上記ＳＩＭＤ型プロセッサは、
上記第１のデータ転送装置が上記第１のデータ転送用ポートを介して所定の第１のレジスタにデータを転送するように上記第１のデータ転送装置に対して制御し、
上記第２のデータ転送装置が上記第２のデータ転送用ポートを介して所定の第２のレジスタにデータを転送するように上記第２のデータ転送装置に対して制御した後、
上記第１のレジスタ内のデータを、上記第２のデータ転送装置に第３のデータ転送用ポートを介して接続された第３のレジスタに転送し、上記第２のレジスタ内のデータを、上記第１のレジスタに転送するように所定の命令を用いて制御する第２の制御手段を備えたことを特徴とする。
【００１５】
またさらに、上記マイクロプロセッサにおいて、上記各データ転送装置は、
所定の記憶装置から読み出されたデータを格納するための転送データバッファと、
上記記憶装置から読み出されたデータと、上記転送データバッファに格納されたデータとのうちのいずれかのデータを選択的に上記データ転送用ポートに出力する第１のマルチプレクサとを備えたことを特徴とする。
【００１６】
また、上記マイクロプロセッサにおいて、上記各データ転送装置は、
当該データ転送装置に接続されたデータ転送用ポートを介して読み出されたデータと、上記転送データバッファに格納されたデータとのうちのいずれかのデータを選択的に、上記第１のデータ転送速度で他のデータ転送装置に出力する第２のマルチプレクサをさらに備えたことを特徴とする。
【００１７】
さらに、上記マイクロプロセッサにおいて、上記記憶手段から読み出されたデータは画像データを拡大するための変倍制御データであり、
上記第１の制御手段は、上記変倍制御データを上記第１のデータ転送速度で他のデータ転送装置に直接に出力するとともに所定のレジスタに転送するときに、（ａ）当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離以内の場合において、上記第１のマルチプレクサに対して上記記憶手段から読み出された変倍制御データを出力するように制御して、上記第１のマルチプレクサから出力された変倍制御データを上記第１のデータ転送速度で上記データ転送用ポートに出力する一方、（ｂ）当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離より大きい場合において、上記第１のマルチプレクサに対して上記転送データバッファに格納された変倍制御データを出力するように制御して、上記第１のマルチプレクサから出力された変倍制御データを上記第２のデータ転送速度で上記データ転送用ポートに出力することを特徴とする。
【００１８】
さらに、上記マイクロプロセッサにおいて、上記記憶手段から読み出されたデータは画像データを縮小するための変倍制御データであり、
上記第１の制御手段は、上記変倍制御データを所定のレジスタに転送するときに、上記第１のマルチプレクサに対して上記記憶手段から読み出された変倍制御データを出力するように制御して、上記第１のマルチプレクサから出力された変倍制御データを当該データ転送装置に接続されたデータ転送用ポートを介して当該レジスタに出力するとともに、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離より大きい場合において、上記記憶手段から読み出された変倍制御データを上記転送データバッファに格納するように制御し、
当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離以内であるレジスタに出力された変倍制御データを上記第１のデータ転送速度で上記データ転送用ポートを介して読み出し、上記第２のマルチプレクサに対して上記データ転送用ポートを介して読み出された変倍制御データを上記第１のデータ転送速度で他のデータ転送装置に出力するように制御し、
上記第２のマルチプレクサに対して上記転送データバッファに格納された変倍制御データを上記第１のデータ転送速度で他のデータ転送装置に出力するように制御することを特徴とする。
【００１９】
第２の発明に係るマイクロプロセッサの処理方法は、複数Ｎ個のレジスタをそれぞれ備えかつそれぞれ固有アドレスを有する複数のプロセッサエレメントと、上記各プロセッサエレメントの各１つのレジスタがそれに対応する１つのデータ転送用ポートに接続されるように構成された複数Ｎ個のデータ転送用ポートとを備えたＳＩＭＤ型プロセッサと、
１つのデータ転送装置が対応する少なくとも１つのデータ転送用ポートに接続されるように構成され、上記各プロセッサエレメントの固有アドレスを指定して、上記各レジスタとの間でデータ転送を行う複数Ｎ個のデータ転送装置とを備えたマイクロプロセッサの処理方法において、
上記各データ転送装置において、ある１つのレジスタとの間でデータ転送を行うときに、当該レジスタを含むプロセッサエレメントの固有アドレスに基づいて、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が所定のしきい値距離以内の場合において所定の第１のデータ転送速度でデータ転送を行う一方、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離より大きい場合において上記第１のデータ転送速度より小さい所定の第２のデータ転送速度でデータ転送を行う制御ステップを含むことを特徴とするマイクロプロセッサの処理方法。
【発明の効果】
【００２０】
本発明に係るＳＩＭＤ型プロセッサを備えたマイクロプロセッサとその処理方法によれば、各データ転送装置において、ある１つのレジスタとの間でデータ転送を行うときに、当該レジスタを含むプロセッサエレメントの固有アドレスに基づいて、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が所定のしきい値距離以内の場合において所定の第１のデータ転送速度でデータ転送を行う一方、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離より大きい場合において上記第１のデータ転送速度より小さい所定の第２のデータ転送速度でデータ転送を行うので、データの増加に伴ってプロセッサエレメントの数が増加しても、従来技術に比較してデータ転送速度を向上できる。
【図面の簡単な説明】
【００２１】
【図１】データ転送装置２−０〜２−８、ＲＡＭ１−０〜１−８及びＳＩＭＤ型プロセッサ１０を備えた本発明の第１の実施形態に係る画像処理装置の構成を示すブロック図である。
【図２】図１の各データ転送装置２の構成を示すブロック図である。
【図３】図１の画像処理装置の第１の動作例を示すブロック図である。
【図４】比較例に係る画像処理装置の動作例を示すブロック図である。
【図５】図１の画像処理装置の第２の動作例を示すブロック図である。
【図６】図１の画像処理装置の第３の動作例を示すブロック図である。
【図７】本発明の第２の実施形態に係る画像処理装置の要部の構成を示すブロック図である。
【図８】図７の画像処理装置の動作例を示すブロック図である。
【図９】本発明の第３の実施形態に係るデータ転送装置２Ａの構成を示すブロック図である。
【図１０】画像データの縮小を行うときの図９のデータ転送装置２Ａと同様に構成されたデータ転送装置２Ａ−０及び２Ａ−３の動作例を示すブロック図である。
【図１１】画像データの拡大を行うときの図９のデータ転送装置２Ａと同様に構成されたデータ転送装置２Ａ−０及び２Ａ−３の動作例を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【００２３】
第１の実施形態．
図１は、データ転送装置２−０〜２−８（以下、データ転送装置２と総称する。）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１−０〜１−８（以下、ＲＡＭ１と総称する。）及びＳＩＭＤ型プロセッサ１０を備えた本発明の第１の実施形態に係る画像処理装置の構成を示すブロック図であり、図２は、図１の各データ転送装置２の構成を示すブロック図である。また、図３、図５及び図６はそれぞれ、図１の画像処理装置の第１乃至第３の動作例を示すブロック図である。
【００２４】
詳細後述するように、本実施形態に係る画像処理装置は、９個の汎用レジスタＲ０〜Ｒ８をそれぞれ備えかつそれぞれ固有アドレスを有するプロセッサエレメントＰＥ０〜ＰＥ５１１と、上記各プロセッサエレメントの各１つのレジスタがそれに対応する１つのデータ転送用ポートに接続されるように構成された９個のデータ転送用ポートＰ０〜Ｐ８とを備えたＳＩＭＤ型プロセッサ１０と、１つのデータ転送装置が対応する少なくとも１つのデータ転送用ポートに接続されるように構成され、上記各プロセッサエレメントの固有アドレスを指定して、上記各レジスタとの間でデータ転送を行う９個のデータ転送装置２−０〜２−８とを備えた画像処理装置において、上記各データ転送装置２は、ある１つのレジスタとの間でデータ転送を行うときに、当該レジスタを含むプロセッサエレメントの固有アドレスに基づいて、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が所定のしきい値距離以内の場合において所定の第１のデータ転送速度でデータ転送を行う一方、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離より大きい場合において上記第１のデータ転送速度より小さい所定の第２のデータ転送速度でデータ転送を行う第１の制御手段を備えたことを特徴としている。
【００２５】
図１の画像処理装置はマイクロプロセッサであって、シングルポートメモリにてなるＲＡＭ１−０〜１−８と、データ転送装置２−０〜２−８と、ＳＩＭＤ型プロセッサ１０とを備えて構成される。ＲＡＭ１はそれぞれ、処理対象の１ライン分の画像データ、画像データを拡大又は縮小する変倍処理のための変倍制御データ、又は処理後の画像データを格納する。ここで、１ライン分の画像データは複数の画素データを含む。また、画像データを拡大する場合の変倍制御データは、画像データ内の各画素データにそれぞれ対応するフラグ値を含み、各フラグ値は対応する画素データを重複して出力するか否かを示す１ビットのデータである。さらに、画像データを縮小する場合の変倍制御データは、画像データ内の各画素データにそれぞれ対応するフラグ値を含み、各フラグ値は対応する画素データを出力せずに間引くか否かを示す１ビットのデータである。図１において、ＲＡＭ１−１は変倍制御データを格納し、他のＲＡＭ１−０，１−２〜１−８はそれぞれ１ライン分の画像データを格納しているが、どのＲＡＭ１が変倍制御データを格納してもよい。
【００２６】
図１において、各データ転送装置２−０〜２−８はＲＡＭ１−０〜１−８にそれぞれ接続され、ＳＩＭＤ型プロセッサ１０のグローバルプロセッサ５からの動作設定用データ及びデータ転送のためのコマンドに従って、接続されているＲＡＭ１−０〜１−８とＳＩＭＤ型プロセッサ１０内の対応する汎用レジスタＲ０〜Ｒ８との間のデータ転送を行う。ここで、各データ転送装置２は、外部同期信号である５００ＭＨｚの周波数を有するパルス形状のクロック信号ＣＫに従って互いに同期して動作する。また、変倍制御データを格納するＲＡＭ１−１に接続されたデータ転送装置２−１は、他のデータ転送装置２−０，２−２〜２−８に変倍制御データを送信する。なお、各データ転送装置２の構成及び動作については、図２を参照して詳細後述する。
【００２７】
図１において、ＳＩＭＤ型プロセッサ１０は、グローバルプロセッサ（ＧＰ）５と、データ転送用ポートＰ３〜Ｐ５を備えたＰＥ外部インタフェース３−１と、データ転送用ポートＰ０〜Ｐ２を備えたＰＥ外部インタフェース３−２と、データ転送用ポートＰ６〜Ｐ８を備えたＰＥ外部インタフェース３−３（以下、ＰＥ外部インタフェース３−１〜３−３をＰＥ外部インタフェース３と総称する。）と、プロセッサエレメントアレイ４−１，４−２とを備えて構成される。プロセッサエレメントアレイ４−１は、互いに平行に配置された２５６個のプロセッサエレメントＰＥ０〜ＰＥ２５５を備え、各プロセッサエレメントＰＥｎ（ｎ＝０，１，…，２５５）は汎用レジスタＲ０〜Ｒ８と、演算回路Ａｎとを備える。また、プロセッサエレメントアレイ４−２は、互いに平行に配置された２５６個のプロセッサエレメントＰＥ２５６〜ＰＥ５１１を備え、各プロセッサエレメントＰＥｍ（ｍ＝２５６，２５７，…，５１１）は汎用レジスタＲ０〜Ｒ８と、演算回路Ａｍとを備える。演算回路Ａ０〜Ａ５１１は、１つの演算アレイを構成する。ここで、図１に示すように各プロセッサエレメントＰＥ０〜ＰＥ５１１の１段目の汎用レジスタＲ０は各プロセッサエレメントＰＥ０〜ＰＥ５１１が配置される方向に直交する方向に沿って配置される。同様に、各プロセッサエレメントＰＥ０〜ＰＥ５１１の各同一の段の汎用レジスタＲ１〜Ｒ８も各プロセッサエレメントＰＥ０〜ＰＥ５１１が配置される方向に直交する方向に沿って配置される。さらに、ＰＥ外部インタフェース３−１はプロセッサエレメントアレイ４−１の外側（図４上の最上部）に設けられ、ＰＥ外部インタフェース３−２はプロセッサエレメントアレイ４−１，４−２の間に設けられ、ＰＥ外部インタフェース３−１はプロセッサエレメントアレイ４−２の外側（図４上の最下部）に設けられる。
【００２８】
図１において、データ転送装置２−０〜２−２はそれぞれ、ＰＥ外部インタフェース３−２のデータ転送用ポートＰ０〜Ｐ２を介して、プロセッサエレメントＰＥ０〜ＰＥ５１１の汎用レジスタＲ０〜Ｒ２に接続される。また、データ転送装置２−３〜２−５はそれぞれ、ＰＥ外部インタフェース３−１のデータ転送用ポートＰ３〜Ｐ５を介して、プロセッサエレメントＰＥ０〜ＰＥ５１１の汎用レジスタＲ３〜Ｒ５に接続される。さらに、データ転送装置２−６〜２−８はそれぞれ、ＰＥ外部インタフェース３−３のデータ転送用ポートＰ６〜Ｐ８を介して、プロセッサエレメントＰＥ０〜ＰＥ５１１の汎用レジスタＲ６〜Ｒ８に接続される。各プロセッサエレメントＰＥ０〜ＰＥ５１１にはグローバルプロセッサ５により、それぞれ固有アドレスが割り当てられており、各データ転送装置２は、アドレス指定信号を出力することによりプロセッサエレメントＰＥ０〜ＰＥ５１１に割り当てられた各固有アドレスを指定して、当該データ転送装置２にＰＥ外部インタフェース３を介して接続された任意のプロセッサエレメントの汎用レジスタとの間でデータ転送を行う。本実施形態では、プロセッサエレメントＰＥ０〜ＰＥ５１１には、固有アドレス０〜５１１がそれぞれ割り当てられている。すなわち、プロセッサエレメントＰＥ０〜ＰＥ５１１には、ＰＥ外部インタフェース３−１からプロセッサエレメントＰＥ０〜ＰＥ５１１までの距離に対応する値を有する固有アドレスが割り当てられている。
【００２９】
図１において、グローバルプロセッサ５は、ＳＩＭＤ型プロセッサ１０の全体の動作、ならびにプロセッサエレメントアレイ４−１，４−２及びＰＥ外部インタフェース３−１〜３−３の各動作を制御するとともに、各データ転送装置２に対して動作設定用データ及びデータ転送のためのコマンドなどを送信する。
【００３０】
図２において、データ転送装置２は、シーケンスユニット２００と、ライトバッファ２０１と、ＲＡＭ１の動作を制御するＲＡＭ制御部２０２と、リードバッファ２０３と、ＰＥ制御部２０４と、ＰＥ範囲指定レジスタ２０５と、ＰＥ範囲指定レジスタ２０６とを備えて構成される。シーケンスユニット２００は、データ転送装置２全体の動作ならびにライトバッファ２０１、ＲＡＭ制御部２０２、リードバッファ２０３、ＰＥ制御部２０４、ＰＥ範囲指定レジスタ２０５、及びＰＥ範囲指定レジスタ２０６の各動作を制御するために設けられ、比較器２１１及び２１２と、転送速度制御回路２１３と、アンドゲート２１４とを備えて構成される。ここで、転送速度制御回路２１３からの出力信号はアンドゲート２１４の第１の入力端子に出力され、クロック信号ＣＫはアンドゲート２１４の第２の入力端子に出力される。また、ＰＥ制御部２０４は、転送を開始するプロセッサエレメントの固有アドレス（以下、転送開始ＰＥアドレスという。）を予め格納する転送開始ＰＥアドレスレジスタ２２１と、アップカウンタ回路にてなるＰＥアドレスカウンタ回路２２２と、リード／ライト指定信号発生回路２２３とを備えて構成される。
【００３１】
シーケンスユニット２００は、グローバルプロセッサ５からの所定の転送開始コマンドに応答して、データ転送装置２に接続された汎用レジスタに対してデータの読み出し又は書き込みを指示するためのリード／ライト指定信号及び読み出し又は書き込み対象のプロセッサエレメントの固有アドレスを指定するアドレス指定信号を発生するように、ＰＥ制御部２０４を制御する。これに応答して、ＰＥ制御部２０４のリード／ライト指定信号発生回路２２３は、リード／ライト指定信号を発生してＰＥ外部インタフェース３を介して対応する汎用レジスタに出力する。また、ＰＥアドレスカウンタ回路２２２は、転送開始ＰＥアドレスレジスタ２２１から転送開始ＰＥアドレスをロードし、詳細後述するシーケンスユニット２００の転送速度制御回路２１３からのカウントアップ信号に従って固有アドレスをインクリメントすることにより、読み出し又は書き込み対象のプロセッサエレメントの固有アドレスを指定するアドレス指定信号を発生する。そして、アドレス指定信号は、ＰＥ外部インタフェース３を介して対応する汎用レジスタに出力されるとともに、比較器２１１，２１２に出力される。
【００３２】
ＰＥ範囲指定レジスタ２０５及び２０６はそれぞれ、データ転送装置２に接続されているプロセッサエレメントＰＥ０〜ＰＥ５１１のうち２５０ＭＨｚの周波数を有するクロック信号ＣＫ２に従ってデータ転送を行う各プロセッサエレメントの固有アドレスの最小値ＰＥｍｉｎ及び最大値ＰＥｍａｘを予め格納する。比較器２１１はＰＥアドレスカウンタ回路２２２からのアドレス信号に含まれるＰＥアドレスとＰＥアドレスＰＥｍｉｎとを比較し、当該比較結果を示す信号を転送速度制御回路２１３に出力する。また、比較器２１２はＰＥアドレスカウンタ回路２２２からのアドレス信号に含まれるＰＥアドレスとＰＥアドレスＰＥｍａｘとを比較し、当該比較結果を示す信号を転送速度制御回路２１３に出力する。転送速度制御回路２１３は、比較器２１１及び２１２からの各信号に基づいて、読み出し又は書き込み対象のプロセッサエレメントの固有アドレスがＰＥアドレスＰＥｍｉｎ以上かつＰＥアドレスＰＥｍａｘ以下であるか否かを判断し、ＰＥアドレスＰＥｍｉｎ以上かつＰＥアドレスＰＥｍａｘ以下である場合は、クロック信号ＣＫの立ち上がりエッジの各タイミングでハイレベル及びローレベルの信号を交互に発生してアンドゲート２１４の第１の入力端子に出力する。一方、読み出し又は書き込み対象のプロセッサエレメントの固有アドレスがＰＥアドレスＰＥｍｉｎより大きいか又はＰＥアドレスＰＥｍａｘより小さい場合は、ハイレベルの信号を発生してアンドゲート２１４の第１の入力端子に出力する。また、転送速度制御回路２１３は、クロック信号ＣＫ又はＣＫ２を出力するときに、カウントアップ信号を発生してＰＥアドレスカウンタ回路２２２に出力する。
【００３３】
これにより、アンドゲート２１４は、読み出し又は書き込み対象のプロセッサエレメントの固有アドレスがＰＥアドレスＰＥｍｉｎ以上かつＰＥアドレスＰＥｍａｘ以下であるときには、クロック信号ＣＫ２をＰＥ外部インタフェース３を介して汎用レジスタに出力する一方、ＰＥアドレスＰＥｍｉｎより大きいか又はＰＥアドレスＰＥｍａｘより小さいときには、クロック信号ＣＫをＰＥ外部インタフェース３を介して汎用レジスタに出力する。なお、データ転送装置２に接続された全ての汎用レジスタに対して、クロック信号ＣＫのみを用いてデータ転送を行う場合には、ＰＥ範囲指定レジスタ２０６及び２０７はそれぞれ、最大のＰＥアドレスより大きい所定の値を格納する。
【００３４】
図２において、汎用レジスタから読み出されたデータはＰＥ外部インタフェース３のデータ転送用ポート及びライトバッファ２０１を介してＲＡＭ１に出力される。一方、ＲＡＭ１から読み出されたデータは、リードバッファ２０３及びＰＥ外部インタフェース３のデータ転送用ポートを介して汎用レジスタに出力される。このとき、ＰＥ外部インタフェース３と汎用レジスタとの間のデータ転送は、アンドゲート２１４から出力されたクロック信号ＣＫ又はＣＫ２に従って行われる。さらに、ＲＡＭ１が変倍制御データを格納している場合、データ転送装置２（例えば、図１のデータ転送装置２−１である。）は、アンドゲート２１４からのクロック信号ＣＫ又はＣＫ２に従って変倍制御データを他のデータ転送装置２に出力する。
【００３５】
次に、図３を参照して、図１の画像処理装置の第１の動作例を説明する。図３において、データ転送装置２−１のＰＥ範囲指定レジスタ２０６及び２０７はそれぞれ、プロセッサエレメントＰＥ２５６の固有アドレス２５６及びプロセッサエレメントＰＥ５１１の固有アドレス５１１を格納している。これにより、データ転送装置２−１は、プロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ１との間でクロック信号ＣＫに従って変倍制御データの転送を行うとともに変倍制御データをデータ転送装置２−３に出力する一方、プロセッサエレメントＰＥ２５６〜ＰＥ５１１の各汎用レジスタＲ１との間でクロック信号ＣＫ２に従って変倍制御データの転送を行うとともに変倍制御データをデータ転送装置２−３に出力する。また、データ転送装置２−３のＰＥ範囲指定レジスタ２０６及び２０７はそれぞれ、プロセッサエレメントＰＥ２５６の固有アドレス２５６及びプロセッサエレメントＰＥ５１１の固有アドレス５１１を格納しており、データ転送装置２−３はプロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ３との間でクロック信号ＣＫに従って画像データの転送を行う一方、プロセッサエレメントＰＥ２５６〜ＰＥ５１１の各汎用レジスタＲ３との間でクロック信号ＣＫ２に従って画像データの転送を行う。すなわち、本実施形態によれば、データ転送装置２−３は、プロセッサエレメントＰＥ０〜ＰＥ５１１のある１つの汎用レジスタＲ３との間データ転送を行うときに、当該汎用レジスタＲ３を含むプロセッサエレメントの固有アドレスに基づいて、データ転送装置２−３に接続されたデータ転送用ポートＰ３から当該汎用レジスタＲ３までの距離がしきい値距離である２５６プロセッサエレメント分の距離以内の場合において、５００ＭＨｚの周波数を有するクロック信号ＣＫに従って所定の第１のデータ転送速度でデータ転送を行う。一方、データ転送装置２−３に接続されたデータ転送用ポートＰ３から当該汎用レジスタＲ３までの距離がしきい値距離である２５６プロセッサエレメント分の距離より大きい場合において、２５０ＭＨｚの周波数を有するクロック信号ＣＫ２に従って第１のデータ転送速度の半分の第２のデータ転送速度でデータ転送を行う。なお、本実施形態において、プロセッサエレメントＰＥ０〜ＰＥ５１１の各固有アドレスは、ＰＥ外部インターフェースからプロセッサエレメントＰＥ０〜ＰＥ５１１までの各距離に対応するように割り当てられているので、２５６プロセッサエレメント分の距離である上記しきい値距離は、しきい値固有アドレス２５６に対応する。
【００３６】
一方、図４は、比較例に係る画像処理装置の動作例を示すブロック図である。図４においてデータ転送装置２−１ｐ，２−３ｐは特許文献５に記載の従来技術に係るデータ転送装置（特許文献５では「データ処理装置」と記載されている。）である。従来技術に係るデータ転送装置２−１ｐ，２−３ｐは、当該データ転送装置に接続されている汎用レジスタのうち当該データ転送装置から最も遠い汎用レジスタまでの配線長に基づいて通信速度を変更する。具体的には、図４において、データ転送装置２−１ｐは５００ＭＨｚの周波数を有するクロック信号ＣＫに従って、全てのプロセッサエレメントＰＥ０〜ＰＥ５１１の各汎用レジスタＲ１との間で変倍制御データの転送を行う。一方、データ転送装置２−３ｐは２５０ＭＨｚの周波数を有するクロック信号ＣＫ２に従って、全てのプロセッサエレメントＰＥ０〜ＰＥ５１１の汎用レジスタＲ３との間で画像データの転送を行う。従って、画像処理装置のレイアウト上の配線トラフィックを従来技術に比較して軽減できるが、データ転送装置２−３ｐはデータ転送装置２−１ｐに比較して半分の第２のデータ転送速度でしかデータ転送を行えないので、ＳＩＭＤ型プロセッサ１０全体のバンド幅が目減りしてしまった。さらに、汎用レジスタＲ１及びＲ３に対して同期して変倍制御データ及び画像データを転送できないので、変倍処理を行う場合には汎用レジスタＲ１とデータ転送装置２−１ｐとの間のデータ転送をクロック信号ＣＫ２に従って行う必要があり、ＳＩＭＤプロセッサ１０全体のデータ転送速度が低下してしまった。
【００３７】
しかしながら、本実施形態によれば、図３に示すように、データ転送装置２−３は、プロセッサエレメントＰＥ０〜ＰＥ５１１のある１つの汎用レジスタＲ３との間データ転送を行うときに、当該汎用レジスタＲ３を含むプロセッサエレメントの固有アドレスに基づいて、データ転送装置２−３に接続されたデータ転送用ポートＰ３から当該汎用レジスタＲ３までの距離がしきい値距離である２５６プロセッサエレメント分の距離以内の場合において、５００ＭＨｚの周波数を有するクロック信号ＣＫに従って所定の第１のデータ転送速度でデータ転送を行う一方、データ転送装置２−３に接続されたデータ転送用ポートＰ３から当該汎用レジスタＲ３までの距離がしきい値距離である２５６プロセッサエレメント分の距離より大きい場合において、２５０ＭＨｚの周波数を有するクロック信号ＣＫ２に従って第１のデータ転送速度の半分の第２のデータ転送速度でデータ転送を行うので、従来技術に係るデータ転送装置２−３ｐに比較して、データ転送装置２−３と汎用レジスタＲ０〜Ｒ８との間のデータ転送速度を向上できる。さらに、変倍制御データを転送するデータ転送装置２−１を、画像データを転送するデータ転送装置２−３と同様に動作させることにより、変倍制御データ及び画像データを汎用レジスタＲ１及びＲ３に同期してかつ従来技術に比較して高速で書き込み又は読み出すことができるので、従来技術に比較して、ＳＩＭＤ型プロセッサ１０全体のデータ転送速度を向上できる。
【００３８】
次に、図５を参照して、図１の画像処理装置の第２の動作例を説明する。本動作例は、データ転送装置２−３がデータ転送用ポートＰ３に接続され、データ転送装置２−６がデータ転送用ポートＰ６に接続され、データ転送用ポートＰ３及びＰ６はプロセッサエレメントＰＥ０〜ＰＥ５１１を挟むように配置されたことを特徴としている。図５において、ＲＡＭ１−３及び１−６はそれぞれ画像データを格納し、ＲＡＭ１−０はＲＡＭ１−３内の画像データに対応する変倍制御データを格納し、ＲＡＭ１−２はＲＡＭ１−６の画像データに対応する変倍制御データを格納している。また、データ転送装置２−３は、プロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ３との間でクロック信号ＣＫに従って画像データの転送を行う一方、プロセッサエレメントＰＥ２５５〜ＰＥ５１１の各汎用レジスタＲ３との間でクロック信号ＣＫ２に従って画像データの転送を行う。さらに、データ転送装置２−０は、データ転送装置２−３と同様に、プロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ０との間でクロック信号ＣＫに従って変倍制御データの転送を行う一方、プロセッサエレメントＰＥ２５５〜ＰＥ５１１の各汎用レジスタＲ０との間でクロック信号ＣＫ２に従って変倍制御データの転送を行う。
【００３９】
また、データ転送装置２−６は、プロセッサエレメントＰＥ２５６〜ＰＥ５１１の各汎用レジスタＲ６との間でクロック信号ＣＫに従って画像データの転送を行う一方、プロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ６との間でクロック信号ＣＫ２に従って画像データの転送を行う。さらに、データ転送装置２−２は、データ転送装置２−６と同様に、プロセッサエレメントＰＥ２５６〜ＰＥ５１１の各汎用レジスタＲ２との間でクロック信号ＣＫに従って変倍制御データの転送を行う一方、プロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ２との間でクロック信号ＣＫ２に従って変倍制御データの転送を行う。本動作例は、図３の第１の動作例と同様の効果を奏する。
【００４０】
次に、図６を参照して、図１の画像処理装置の第３の動作例を説明する。本動作例は、データ転送装置２−３がデータ転送用ポートＰ３に接続され、データ転送装置２−８がデータ転送用ポートＰ８に接続され、データ転送用ポートＰ３及びＰ８はプロセッサエレメントＰＥ０〜ＰＥ５１１を挟むように配置されたことを特徴としている。また、データ転送装置２−４がデータ転送用ポートＰ４に接続され、データ転送装置２−７がデータ転送用ポートＰ７に接続され、データ転送用ポートＰ４及びＰ７はプロセッサエレメントＰＥ０〜ＰＥ５１１を挟むように配置されたことを特徴としている。
【００４１】
図６において、ＲＡＭ１−３及び１−８はそれぞれ画像データを格納し、ＲＡＭ１−４はＲＡＭ１−３内の画像データに対応する変倍制御データを格納し、ＲＡＭ１−７はＲＡＭ１−８の画像データに対応する変倍制御データを格納している。また、データ転送装置２−３は、プロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ３との間でクロック信号ＣＫに従って画像データの転送を行う一方、プロセッサエレメントＰＥ２５５〜ＰＥ５１１の各汎用レジスタＲ３との間でクロック信号ＣＫ２に従って画像データの転送を行う。さらに、データ転送装置２−４は、データ転送装置２−３と同様に、プロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ４との間でクロック信号ＣＫに従って変倍制御データの転送を行う一方、プロセッサエレメントＰＥ２５５〜ＰＥ５１１の各汎用レジスタＲ４との間でクロック信号ＣＫ２に従って変倍制御データの転送を行う。
【００４２】
また、データ転送装置２−８は、プロセッサエレメントＰＥ２５６〜ＰＥ５１１の各汎用レジスタＲ８との間でクロック信号ＣＫに従って画像データの転送を行う一方、プロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ８との間でクロック信号ＣＫ２に従って画像データの転送を行う。さらに、データ転送装置２−７は、データ転送装置２−８と同様に、プロセッサエレメントＰＥ２５６〜ＰＥ５１１の各汎用レジスタＲ７との間でクロック信号ＣＫに従って変倍制御データの転送を行う一方、プロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ７との間でクロック信号ＣＫ２に従って変倍制御データの転送を行う。本動作例は、図３の第１の動作例と同様の効果を奏する。
【００４３】
第２の実施形態．
図７は、本発明の第２の実施形態に係る画像処理装置の要部の構成を示すブロック図であり、図８は、図７の画像処理装置の動作例を示すブロック図である。本実施形態は、第１の実施形態の第２の動作例（図５参照。）に比較して、以下の点で異なる。
（ａ）データ転送装置２−３は、ＰＥ外部インタフェース３−１のデータ転送用ポートＰ３を介してプロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ３と接続され、かつＰＥ外部インタフェース３−１のデータ転送用ポートＰ４を介してプロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ４と接続されている。これにより、データ転送装置２−３は、データ転送用ポートＰ３及びＰ４を介して、データ転送用ポートＰ３及びＰ４からデータ転送を行う汎用レジスタＲ３，Ｒ４までの距離がしきい値距離である２５６プロセッサエレメント分の距離以内の汎用レジスタＲ３，Ｒ４と接続されている。
（ｂ）データ転送装置２−６は、ＰＥ外部インタフェース３−３のデータ転送用ポートＰ９を介してプロセッサエレメントＰＥ２５６〜ＰＥ５１１の各汎用レジスタＲ３と接続され、かつＰＥ外部インタフェース３−３のデータ転送用ポートＰ１０を介してプロセッサエレメントＰＥ２５６〜ＰＥ５１１の各汎用レジスタＲ４と接続されている。これにより、データ転送装置２−６は、データ転送用ポートＰ９及びＰ１０を介して、データ転送用ポートＰ９及びＰ１０からデータ転送を行う汎用レジスタＲ３，Ｒ４までの距離がしきい値距離である２５６プロセッサエレメント分の距離以内の汎用レジスタＲ３，Ｒ４と接続されている。
【００４４】
図７において、ＲＡＭ１−３及び１−４はそれぞれ画像データを格納し、ＲＡＭ１−０はＲＡＭ１−３内の画像データに対応する変倍制御データを格納し、ＲＡＭ１−２はＲＡＭ１−４の画像データに対応する変倍制御データを格納している。また、データ転送装置２−０はプロセッサエレメントＰＥ０〜ＰＥ５１１の各汎用レジスタＲ０との間でクロック信号ＣＫに従って変倍制御データの転送を行い、データ転送装置２−２はプロセッサエレメントＰＥ０〜ＰＥ５１１の各汎用レジスタＲ２との間でクロック信号ＣＫに従って変倍制御データの転送を行う。さらに、データ転送装置２−３は、プロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ３及びＲ４との間でクロック信号ＣＫに従って画像データの転送を行い、データ転送装置２−６は、プロセッサエレメントＰＥ２５６〜ＰＥ５１１の各汎用レジスタＲ３及びＲ４との間でクロック信号ＣＫに従って画像データの転送を行う。従って、全てのデータ転送装置２−０，２−２，２−３，２−４と汎用レジスタＲ０，Ｒ２，Ｒ３，Ｒ４との間で、５００ＭＨｚの周波数を有するクロック信号ＣＫに従って第１のデータ転送速度でデータ転送を行うので、図５の第１の実施形態の第２の動作例に比較して、データ転送装置２−０，２−２，２−３，２−４と汎用レジスタＲ０，Ｒ２，Ｒ３，Ｒ４との間のデータ転送速度を向上できる。
【００４５】
図８において、ＧＰ５は、最初に、データ転送装置２−０，２−２，２−３，２−４に対して、図６に示すようにデータ転送用ポートＰ０，Ｐ２，Ｐ３，Ｐ４，Ｐ９，Ｐ１０を介して汎用レジスタＲ０，Ｒ２，Ｒ３，Ｒ４にデータを転送するように制御する。次に、グローバルプロセッサ５は、所定の命令を用いて、プロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ４内のデータをプロセッサエレメントＰＥ２５６〜Ｐ５１１の各汎用レジスタＲ３に転送し、プロセッサエレメントＰＥ２５６〜Ｐ５１１の各汎用レジスタＲ３内のデータをプロセッサエレメントＰＥ２５６〜Ｐ５１１の各汎用レジスタＲ４に転送し、プロセッサエレメントＰＥ２５６〜Ｐ５１１の各汎用レジスタＲ４内のデータをプロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ４に転送する。これにより、プロセッサエレメントＰＥ０〜ＰＥ５１１の汎用レジスタＲ３にＲＡＭ１−３の１ライン分の画像データが格納され、プロセッサエレメントＰＥ０〜ＰＥ５１１の汎用レジスタＲ４にＲＡＭ１−４の１ライン分の画像データが格納される。そして、ＧＰ５は、プロセッサエレメントＰＥ０〜ＰＥ５１１の各汎用レジスタＲ０，Ｒ２，Ｒ３，Ｒ４内の各データを用いて所定の変倍制御処理を行う。
【００４６】
本実施形態によれば、プロセッサエレメントアレイ４−１，４−２の上下に相対するようにデータ転送装置２−３，２−４及びＰＥ外部インタフェース３−１，３−３を配置し、データ転送用ポートＰ３，Ｐ４，Ｐ９，Ｐ１０からデータ転送を行う汎用レジスタＲ３，Ｒ４までの距離が２５６プロセッサエレメント分の距離以内の汎用レジスタＲ３，Ｒ４とデータ転送装置２−３，２−４との間でクロック信号ＣＫに従って第１のデータ転送速度でデータ転送を行うように構成した。従って、全てのデータ転送装置２−０，２−２，２−３，２−４と汎用レジスタＲ０，Ｒ２，Ｒ３，Ｒ４との間でクロック信号ＣＫに従ってデータ転送を行うことができるので、データ転送装置２−０，２−２，２−３，２−４間での変倍制御データの転送を行っても、第１の実施形態に比較して、データ転送装置２−０，２−２，２−３，２−４と汎用レジスタＲ０，Ｒ２，Ｒ３，Ｒ４との間のデータ転送速度を大幅に向上できる。さらに、このようなデータ転送の後に、ＧＰ５は、プロセッサエレメントＰＥ０〜ＰＥ５１１の汎用レジスタＲ３に１ライン分の画像データが格納され、かつプロセッサエレメントＰＥ０〜ＰＥ５１１の汎用レジスタＲ４に１ライン分の画像データが格納されるように、プロセッサエレメントＰＥ０〜ＰＥ５１１の汎用レジスタＲ３及びＲ４の各画像データを転送する。このため、第１の実施形態に比較して、ハードウェアを追加することなく、データ転送装置２と汎用レジスタＲ０〜Ｒ８との間のデータ転送速度を向上させながら、データ転送の前後で変倍制御処理などの所定の画像処理又はＳＩＭＤプロセッサ１０での並列処理を行うことができる。
【００４７】
なお、本実施形態では、データ転送装置２−３は、データ転送用ポートＰ３を介してプロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ３と接続され、データ転送用ポートＰ４を介してプロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ４と接続されたが、本発明はこれに限らず、データ転送装置２−３は、ＰＥ外部インターフェース３−１の複数のデータ転送用ポートを介して、当該データ転送用ポートからデータ転送を行う汎用レジスタまでの距離が所定のしきい値距離以内の汎用レジスタと接続されてもよい。
【００４８】
第３の実施形態．
図９は、本発明の第３の実施形態に係るデータ転送装置２Ａの構成を示すブロック図である。本実施形態に係るデータ転送装置２Ａは、第１の実施形態に係るデータ転送装置２に比較して、２５６個の変倍制御データを格納可能なサイズを有しかつＲＡＭ１からリードバッファ２０３を介して出力された変倍制御データを一時的に格納する転送データバッファ２３１と、転送データバッファ２３１に格納されたデータとリードバッファ２０３に格納されたデータとのうちのいずれかのデータを選択的にＰＥ外部インタフェース３のデータ転送用ポートに出力するマルチプレクサ２３２と、ＰＥ外部インタフェース３から出力されライトバッファ２０１に格納されたデータと転送データバッファ２３１に格納された変倍制御データとのうちのいずれかのデータを選択的に、他のデータ転送装置２又は２Ａに出力するマルチプレクサ２３３とをさらに備えたことを特徴としている。ここで、シーケンスユニット２００は、転送データバッファ２３１ならびにマルチプレクサ２３２及び２３３の各動作を制御する。
【００４９】
次に、図１０及び図１１を参照して、画像データの縮小及び拡大を行うときのデータ転送装置２Ａ−３の動作を説明する。なお、図１０及び図１１において、データ転送装置２Ａ−０及び２Ａ−３は図９のデータ転送装置２Ａと同様に構成されており、各データ転送装置２Ａ−０及び２Ａ−３の動作主体はそれぞれシーケンスユニット２００（図９参照）であるが、以下においてその説明を省略する。
【００５０】
図１０は、画像データの縮小を行うときのデータ転送装置２Ａ−０及び２Ａ−３の動作例を示すブロック図である。図１０において、プロセッサエレメントＰＥ０〜ＰＥ５１１の各汎用レジスタＲ０は、縮小される前の１ライン分の画像データを予め格納している。また、ＲＡＭ１−３は、縮小される前の１ライン分の画像データを縮小するための変倍制御データを予め格納している。まず、最初に、ステップＳ１において、データ転送装置２Ａ−３は、ＲＡＭ１−３に格納されている変倍制御データを、リードバッファ２０３、マルチプレクサ２３２及びＰＥ外部インタフェース３−１を介してプロセッサエレメントＰＥ０〜ＰＥ５１１の汎用レジスタＲ３に転送する。このとき、データ転送装置２Ａ−３は、プロセッサエレメントＰＥ０〜ＰＥ２５５に対してクロック信号ＣＫに従ってデータ転送を行う一方、プロセッサエレメントＰＥ２５６〜ＰＥ５１１に対してクロック信号ＣＫ２に従ってデータ転送を行う。また、プロセッサエレメントＰＥ２５６〜ＰＥ５１１に対して変倍制御データを転送するときは、当該変倍制御データを転送データバッファ２３１に格納する。
【００５１】
次に、ステップＳ２において、データ転送装置２Ａ−０は、プロセッサエレメントＰＥ０〜ＰＥ５１１の各汎用レジスタＲ０に格納されている縮小前の画像データをクロック信号ＣＫに従って読み出す。データ転送装置２Ａ−０がプロセッサエレメントＰＥ０〜ＰＥ２５５の画像データを読み出しているときに、データ転送装置２Ａ−３は、当該読み出しに同期してプロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ３の変倍制御データをクロック信号ＣＫに従って読み出してマルチプレクサ２３３を介してデータ転送装置２Ａ−０に出力する。また、データ転送装置２Ａ−０がプロセッサエレメントＰＥ２５６〜ＰＥ５１１の画像データを読み出しているときに、データ転送装置２Ａ−３は、転送データバッファ２３１に格納されている変倍制御データを、マルチプレクサ２３３を介してデータ転送装置２Ａ−０に出力する。データ転送装置２Ａ−０は、データ転送装置２Ａ−３からの変倍制御データに基づいて、プロセッサエレメントＰＥ０〜ＰＥ５１１からの縮小前の画像データを縮小して、ＲＡＭ１−０に出力して格納する。
【００５２】
すなわち、図１０において、シーケンスユニット２００は、（ａ）ＲＡＭ１−３から読み出された変倍制御データをレジスタＲ３に転送するときに、マルチプレクサ２３２に対してＲＡＭ１−３から読み出された変倍制御データを出力するように制御して、マルチプレクサ２３２から出力された変倍制御データをデータ転送装置２Ａ−３に接続されたデータ転送用ポートＰ３を介して当該レジスタＲ３に出力するとともに、データ転送装置２Ａ−３に接続されたデータ転送用ポートＰ３から当該レジスタＲ３までの距離がしきい値距離である２５６プロセッサエレメント分の距離より大きい場合において、ＲＡＭ１−３から読み出された変倍制御データを転送データバッファ２３１に格納するように制御し、（ｂ）データ転送装置２Ａ−３に接続されたデータ転送用ポートＰ３から当該レジスタＲ３までの距離が上記所定のしきい値距離以内であるレジスタＲ３に出力された変倍制御データを第１のデータ転送速度でデータ転送用ポートＰ３を介して読み出し、マルチプレクサ２３３に対してデータ転送用ポートＰ３を介して読み出された変倍制御データを上記第１のデータ転送速度で他のデータ転送装置２Ａ−０に出力するように制御し、（ｃ）マルチプレクサ２３３に対して転送データバッファ２３１に格納された変倍制御データを上記第１のデータ転送速度で他のデータ転送装置２Ａ−０に出力するように制御することを特徴としている。
【００５３】
図１１は、画像データの拡大を行うときの図９のデータ転送装置２Ａと同様に構成されたデータ転送装置２Ａ−０及び２Ａ−３の動作例を示すブロック図である。図１１において、ＲＡＭ１−０は、拡大前の１ライン分の画像データを予め格納している。また、ＲＡＭ１−３は、拡大前の１ライン分の画像データに対応する拡大用の変倍制御データを予め格納している。データ転送装置２Ａ−３は、クロック信号ＣＫに従って、ＲＡＭ１−３から変倍制御データを読み出し、リードバッファ２０３を介してクロック信号ＣＫに従ってデータ転送装置２Ａ−０に出力する。さらに、データ転送装置２Ａ−３は、ＲＡＭ１−３からの変倍制御データのうちプロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ３に格納されるべき変倍制御データを、マルチプレクサ２３２を介して、クロック信号ＣＫに従ってプロセッサエレメントＰＥ０〜ＰＥ２５５の各汎用レジスタＲ３に出力するように制御する。また、データ転送装置２Ａ−３は、ＲＡＭ１−３からの変倍制御データのうちプロセッサエレメントＰＥ２５６〜ＰＥ５１１の各汎用レジスタＲ３に格納されるべき変倍制御データを、転送データバッファ２３１に一旦格納した後に、クロック信号ＣＫ２に従ってプロセッサエレメントＰＥ２５６〜ＰＥ５１１の各汎用レジスタＲ３に出力するように制御する。一方、データ転送装置２Ａ−０は、ＲＡＭ１−０から拡大前の画像データを読み出し、データ転送装置２Ａ−３からクロック信号ＣＫに従って出力された変倍制御データに基づいて拡大前の画像データを拡大し、クロック信号ＣＫに従ってプロセッサエレメントＰＥ０〜ＰＥ５１１の各汎用レジスタＲ０に格納する。
【００５４】
すなわち、図１１において、シーケンスユニット２００は、ＲＡＭ１−３から読み出された変倍制御データを第１のデータ転送速度で他のデータ転送装置２Ａ−０に直接に出力するとともに各レジスタＲ３に転送するときに、（ａ）データ転送装置２Ａ−３に接続されたデータ転送用ポートＰ３から当該レジスタＲ３までの距離がしきい値距離である２５６プロセッサエレメント分の距離以内の場合において、マルチプレクサ２３２に対してＲＡＭから読み出された変倍制御データを出力するように制御して、マルチプレクサ２３２から出力された変倍制御データを上記第１のデータ転送速度でデータ転送用ポートＰ３に出力する一方、（ｂ）データ転送装置２Ａ−３に接続されたデータ転送用ポートＰ３から当該レジスタＲ３までの距離が上記所定のしきい値距離より大きい場合において、マルチプレクサ２３２に対して転送データバッファ２３１に格納された変倍制御データを出力するように制御して、マルチプレクサ２３２から出力された変倍制御データを上記第２のデータ転送速度でデータ転送用ポートＰ３に出力することを特徴としている。
【００５５】
本実施形態によれば、第１の実施形態と同様に、従来技術に比較して各データ転送装置２とＳＩＭＤ型プロセッサ１０内の汎用レジスタとの間のデータ転送速度を向上できる。また、第２の実施形態に比較して、グローバルプロセッサ５からの命令によって汎用レジスタ内のデータを移動させる（図８参照）ことなく、データ転送装置２３１に２５６個の変倍制御データを格納するための転送データバッファ２３１及びマルチプレクサ２３２，２３３を備えるだけで、データ転送装置２Ａ−０，２Ａ−３間で５００ＭＨｚの周波数を有するクロック信号ＣＫに従って変倍制御データを転送し、画像データの縮小及び拡大を行うことができる。
【００５６】
上記の各実施形態に係るデータ転送装置２，２Ａの各処理の処理ステップを含むプログラムはコンピュータにより実行可能であって、データ転送装置２，２Ａ内の内蔵メモリに格納されてデータ転送装置２，２Ａにより実行される。また、上記の各実施形態に係るグローバルプロセッサ５の各処理の処理ステップを含むプログラムはコンピュータにより実行可能であって、グローバルプロセッサ５内の内蔵メモリに格納されてグローバルプロセッサ５により実行される。上記各プログラムは例えばＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、ＤＶＤ−Ｒなどのコンピュータにより読み取り可能な記録媒体に記録してもよい。
【００５７】
上記各実施形態において、ＲＡＭ１、データ転送装置２、及び汎用レジスタＲ０〜Ｒの個数はそれぞれ９個であったが、本発明はこれに限らず、任意の個数であってよい。また、プロセッサエレメントＰＥ０〜ＰＥ５１１の個数もまた任意の個数であってよい。さらに、上記各実施形態において、プロセッサエレメントＰＥ０〜ＰＥ５１１を２つのプロセッサエレメントアレイ４−１，４−２に分割したが、本発明はこれに限らず、１つのプロセッサエレメントアレイとしてもよく、又は、３つ以上の複数のプロセッサエレメントアレイに分割してもよい。
【産業上の利用可能性】
【００５８】
以上詳述したように、本発明に係るＳＩＭＤ型プロセッサを備えたマイクロプロセッサとその処理方法によれば、各データ転送装置において、ある１つのレジスタとの間でデータ転送を行うときに、当該レジスタを含むプロセッサエレメントの固有アドレスに基づいて、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が所定のしきい値距離以内の場合において所定の第１のデータ転送速度でデータ転送を行う一方、当該データ転送装置に接続されたデータ転送用ポートから当該レジスタまでの距離が上記所定のしきい値距離より大きい場合において上記第１のデータ転送速度より小さい所定の第２のデータ転送速度でデータ転送を行うので、データの増加に伴ってプロセッサエレメントの数が増加しても、従来技術に比較してデータ転送速度を向上できる。
【符号の説明】
【００５９】
１，１−０〜１−８…ＲＡＭ、
２，２−０〜２−８，２Ａ，２Ａ−０，２Ａ−３…データ転送装置、
３，３−１〜３−３…ＰＥ外部インタフェース、
４，４−１，４−２…プロセッサエレメントアレイ、
５…グローバルプロセッサ（ＧＰ）、
１０…ＳＩＭＤ型プロセッサ、
２００…シーケンスユニット、
２０１…ライトバッファ、
２０２…ＲＡＭ制御部、
２０３…リードバッファ、
２０４…ＰＥ制御部、
２０５，２０６…ＰＥ範囲指定レジスタ、
２１１，２１２…比較器、
２１３…転送速度制御回路、
２１４…アンドゲート、
２２１…転送開始ＰＥアドレスレジスタ、
２２２…ＰＥアドレスカウンタ回路、
２２３…リード・ライト指定信号発生回路、
２３１…転送データバッファ、
２３２，２３３…マルチプレクサ、
Ａ０〜Ａ５１１…演算回路、
Ｐ０〜Ｐ１０…データ転送用ポート、
ＰＥ０〜ＰＥ５１１…プロセッサエレメント、
Ｒ０〜Ｒ８…汎用レジスタ。
【先行技術文献】
【特許文献】
【００６０】
【特許文献１】特許第３８２１１９８号公報。
【特許文献２】特開平５−０６７２０３号公報。
【特許文献３】特許第３９７１５３５号公報。
【特許文献４】特開平１０−３２６２５８号公報。
【特許文献５】特開２００９−１７５８３７号公報。
【図１】
2011145938.tif 000003
【図２】
2011145938.tif 000004
【図３】
2011145938.tif 000005
【図４】
2011145938.tif 000006
【図５】
2011145938.tif 000007
【図６】
2011145938.tif 000008
【図７】
2011145938.tif 000009
【図８】
2011145938.tif 000010
【図９】
2011145938.tif 000011
【図１０】
2011145938.tif 000012
【図１１】
2011145938.tif 000013