JPH0863452A - Simdプロセッサ - Google Patents

Simdプロセッサ

Info

Publication number
JPH0863452A
JPH0863452A JP6201654A JP20165494A JPH0863452A JP H0863452 A JPH0863452 A JP H0863452A JP 6201654 A JP6201654 A JP 6201654A JP 20165494 A JP20165494 A JP 20165494A JP H0863452 A JPH0863452 A JP H0863452A
Authority
JP
Japan
Prior art keywords
unit
processor
unit processor
address
input terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6201654A
Other languages
English (en)
Inventor
Junichi Goto
順一 後藤
Ichiro Tamiya
一郎 民谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP6201654A priority Critical patent/JPH0863452A/ja
Publication of JPH0863452A publication Critical patent/JPH0863452A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【目的】 SIMDプロセッサにおいて、各単位プロセ
ッサが数1000画素程度までの部分画像を処理できる
ように、ローカルおよび共有メモリに対して、画像処理
に適したアドレス発生を少ないハードウェアで実現す
る。 【構成】 第1のアドレス発生器26がメモリ25から
画像信号を単位プロセッサ1に供給する。この信号には
単位プロセッサ1が必要としない信号も含まれており、
それに対して演算を行わないように制御信号発生器28
がレジスタ11Cに信号を供給する。同時にこの信号
は、メモリ12内の信号の読み出しも停止するように、
第2のアドレス発生器27にも供給される。画像処理に
おいては各単位プロセッサが処理する画像信号の並び方
の形状がメモリ25内において同形であり、単に位置が
ずれていることが多い。従ってアドレス発生器27と制
御信号発生器28は制御部6に搭載し、画像の位置のず
れを吸収するために、遅延器18,21を単位プロセッ
サ毎に搭載する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、画像処理等を並列実行
するマルチプロセッサシステム、特にSIMDプロセッ
サに関する。
【0002】
【従来の技術】従来のSIMD型プロセッサの公知例と
して、磯西,宮田,岩瀬,「セルラアレイ型大規模並列
プロセッサのアーキテクチャ」,情処学会研究会資料,
計算機アーキテクチャ73−9(1988.10)があ
る。単位プロセッサと画素データを対応させて処理を行
うことにより、単位プロセッサの数だけ並列に処理する
ことができる。即ち、2次元配列の画素データが、2次
元格子状に接続された単位プロセッサ内のレジスタまた
はローカルメモリに格納され、その周囲の画素データの
アクセスは、2次元配列の画素データ全体のシフト操作
を単位プロセッサ間データ転送によって行うことで可能
となる。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
技術では、ある単位プロセッサがその周囲の画素データ
にアクセスするためには、単位プロセッサ間でのデータ
転送が必要であり、ハードウェア的には配線数の増大を
招いていた。
【0004】本発明の目的は、各単位プロセッサ内で処
理を完結できるように、複数の画素データからなる部分
画像を保持することができる単位プロセッサローカルメ
モリ部を搭載し、かつそのアドレスの発生を、必要最小
限のハードウェアで実現する手段を提供することにあ
る。
【0005】
【課題を解決するための手段】第1の発明は、N個(N
は自然数)の単位プロセッサからなる単位プロセッサ群
と、制御部とを備えるSIMDプロセッサにおいて、前
記制御部が、アドレス発生器と、制御部ローカルメモリ
とを備え、前記単位プロセッサ群の各単位プロセッサ
が、単位プロセッサローカルメモリ部と、演算部と、ア
ドレス入力端子と、アドレス出力端子と、遅延部と、デ
ータ入力端子と、データ出力端子と、データバスとを備
え、前記遅延器が、前記アドレス入力端子に入力される
信号を予め定められた期間だけ遅延させて前記アドレス
出力端子に出力し、前記アドレス入力端子に入力される
信号が前記単位プロセッサローカルメモリ部にアドレス
として供給され、前記データ入力端子と前記データ出力
端子が前記データバスにより接続され、前記データバス
が前記単位プロセッサローカルメモリ部にデータを供給
し、前記データバスと前記単位プロセッサローカルメモ
リ部とが前記演算部にデータを供給し、前記アドレス発
生器が前記単位プロセッサ群の第1の単位プロセッサの
前記アドレス入力端子にアドレスを供給し、前記単位プ
ロセッサ群の第iの単位プロセッサ(iは1からN−1
までの自然数)の前記アドレス出力端子が前記単位プロ
セッサ群の第(i+1)の単位プロセッサの前記アドレ
ス入力端子に接続され、前記第iの単位プロセッサの前
記データ出力端子が前記第(i+1)の単位プロセッサ
の前記データ入力端子に接続されることを特徴とする。
【0006】また第2の発明は、第1の発明において、
前記単位プロセッサ群の各単位プロセッサの前記遅延器
の遅延期間が、単位プロセッサ毎に独立に定められるこ
とを特徴とする。
【0007】また第3の発明は、第1の発明において、
前記制御部が、タイミング信号発生器を備え、前記タイ
ミング信号発生器の出力信号が、第1の状態と第2の状
態を各々予め定められた任意の期間ずつ交互に取り、前
記タイミング信号発生器の出力信号が前記アドレス発生
器に供給され、前記タイミング信号発生器の出力信号が
前記第2の状態においては、前記アドレス発生器がアド
レス発生を停止することを特徴とする。
【0008】また第4の発明は、第3の発明において、
前記単位プロセッサ群の各単位プロセッサが、演算制御
信号入力端子と、演算制御信号出力端子と、第2の遅延
器とを備え、前記第2の遅延器が、前記演算制御信号入
力端子に入力される信号を予め定められた期間だけ遅延
させて前記演算制御信号出力端子に出力し、前記演算制
御信号入力端子に入力される信号が前記演算部に供給さ
れ、前記演算制御信号入力端子に入力される信号が前記
第2の状態においては、前記演算部が演算を停止し、前
記タイミング信号発生器が前記単位プロセッサ群の第1
の単位プロセッサの前記演算制御信号出力端子に信号を
供給し、前記第iの単位プロセッサの前記演算制御信号
出力端子が前記第(i+1)の単位プロセッサの前記演
算制御信号入力端子に接続されることを特徴とする。
【0009】また第5の発明は、第4の発明において、
前記単位プロセッサ群の各単位プロセッサの前記第2の
遅延器の遅延期間が、単位プロセッサ毎に独立に定めら
れることを特徴とする。
【0010】また第6の発明は、第1の発明において、
前記単位プロセッサ群の各単位プロセッサにおいて、前
記演算部の出力が前記単位プロセッサローカルメモリ部
に供給されることを特徴とする。
【0011】また第7の発明は、第1の発明において、
前記単位プロセッサ群の各単位プロセッサが、第2のデ
ータ入力端子と、第2のデータ出力端子と、第2のデー
タバスとを備え、前記第2のデータ入力端子と前記第2
のデータ出力端子とが前記第2のデータバスにより接続
され、前記演算部が前記第2のデータバスにデータを供
給し、前記iの単位プロセッサの前記第2のデータ出力
端子が前記第(i+1)の単位プロセッサの前記第2の
データ入力端子に接続されることを特徴とする。
【0012】また第8の発明は、第1の発明において、
前記制御部が第2のアドレス発生器を備え、前記第2の
アドレス発生器が前記制御部ローカルメモリにアドレス
を供給することを特徴とする。
【0013】また第9の発明は、第1の発明において、
前記単位プロセッサ群の各単位プロセッサにおいて、前
記データ入力端子と、前記データバスと、前記データ出
力端子と、前記アドレス入力端子と、前記遅延器と、前
記アドレス出力端子とが多重化されていることを特徴と
する。
【0014】また第10の発明は、第4の発明におい
て、前記単位プロセッサ群の各単位プロセッサにおい
て、前記演算制御信号入力端子と、前記第2の遅延器
と、前記演算制御信号出力端子とが多重化されているこ
とを特徴とする。
【0015】
【作用】本発明は、画像処理において、各単位プロセッ
サが必要とする画素データの並び方の形状が共通である
ことと、各単位プロセッサが画素データを必要とするタ
イミングにずれがあることに着目し、アドレス発生器は
制御部のみに搭載し、各単位プロセッサにはタイミング
のずれに応じてアドレスおよびその他の制御信号を遅延
させて供給する。これにより必要最小限の制御手段によ
って、各単位プロセッサが必要とする画素データを正し
く供給することを可能としている。
【0016】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0017】図1は、本発明の一実施例を示す図であ
る。SIMDプロセッサは、単位プロセッサ群5と、制
御部6とから構成される。
【0018】この単位プロセッサ群5では、単位プロセ
ッサ数Nが4、演算部11がセレクタ(SEL)11
d,算術論理演算器(ALU)11a,加算器11bお
よびレジスタ(REG)11cで構成され、単位プロセ
ッサローカルメモリ部12が単位プロセッサローカルメ
モリコア(PEM)12aおよびセレクタ(SEL)1
2bで構成される場合を示す。
【0019】制御部6は、制御部ローカルメモリ(CU
M)25と、第1のアドレス発生器(GUAGU)26
と、第2のアドレス発生器(PEAGU)27と、タイ
ミング信号発生器(TG)28とから構成されている。
【0020】図1において、1,2,3,4は単位プロ
セッサ、13はデータ入力端子、14はデータ出力端
子、15はデータバス、16はアドレス入力端子、17
はアドレス出力端子、18は第1の遅延器、19は演算
制御信号入力端子、20は演算制御信号出力端子、21
は第2の遅延器、22は第2のデータ入力端子、23は
第2のデータ出力端子、24は第2のデータバスであ
る。
【0021】画像処理の1つであるパタンマッチングを
例に上げて説明する。一般にパタンマッチングは、ある
画像に最も類似した同じ大きさの画像を、それよりも大
きい画像の中から捜し出すという処理である。図2
(a)および図2(b)は、本実施例でのパタンマッチ
ングの処理内容を説明するための図である。以降の説明
では、4画素×4画素の大きさの画像をブロックと呼ぶ
こととする。本実施例のパタンマッチングは、注目ブロ
ック100に最も類似したブロックを、それよりも大き
い11画素×11画素の大きさ(ここでの大きさは一例
である)の参照画像101の中から捜し出すというもの
である。
【0022】2つの画像の相違の指標(相違度)として
以下の式を用いる。
【0023】
【数1】
【0024】上式で、P0 (i,j)は、注目ブロック
100において、その左上の画素を(0,0)として、
右方向i番目,下方向j番目の画素の輝度値を示し、P
1 (x+i,y+j)は、参照画像101において、そ
の左上の画素から右方向にx+i番目,下方向にy+j
番目の画素の輝度値を示す。即ちD(x,y)は、注目
ブロック100内の16個の各画素値と、参照画像10
1内において左上の画素が(x,y)の位置にあるブロ
ックの各画素値との差分絶対値の累算値であり、この値
が小さい程、(x,y)の位置にあるブロックは注目ブ
ロック100に類似しているといえる。また(x,y)
の可能な組み合わせが、(0,0)〜(7,7)である
ので、参照画像101内のブロックの個数は64個であ
る。
【0025】注目ブロック100内の16個の各画素値
は、図1の第1の単位プロセッサ1,第2の単位プロセ
ッサ2,第3の単位プロセッサ3,第4の単位プロセッ
サ4の各単位プロセッサローカルメモリコア12a内に
おいて、図2(a)に示す各画素の番号に等しいアドレ
スに記憶されているものとする。同様に参照画像101
の各画素値は、図1の制御部6の制御部ローカルメモリ
25内において、図2(b)に示す各画素の番号に等し
いアドレスに記憶されているものとする。
【0026】これらの画素値を処理するために、4個の
単位プロセッサに対して次のように処理を割り当てる。
第1の単位プロセッサ1は、参照画像101内の画素番
号0の画素を左上とするブロックと注目ブロック100
に対して、式(1)を計算する。同様にして、第2の単
位プロセッサ2,第3の単位プロセッサ3および第4の
単位プロセッサ4は、それぞれ画素番号1,画素番号2
および画素番号3の画素を左上とするブロックと注目ブ
ロック100に対して、式(1)を計算する。
【0027】制御部6の基本動作は、命令メモリ中に記
憶された命令語シーケンスを逐次読み出し、制御信号を
生成して単位プロセッサ群5および制御部6自身に供給
することにより動作を行うという、いわゆるストアード
プログラム方式とする。
【0028】先ず制御部ローカルメモリ25に記憶され
ている参照画像101の内、第1の単位プロセッサ1,
第2の単位プロセッサ2,第3の単位プロセッサ3およ
び第4の単位プロセッサ4に処理が割り当てられている
部分参照画像101aの画素値を読み出す動作を説明す
る。そのために、第1のアドレス発生器26は、部分参
照画素101aの画素の各アドレス(本実施例の場合、
上述したように各アドレスは画素の番号に等しい)を、
1サイクルに1画素ずつ発生する。即ち、図2(c)の
矢印が示す順である。またリードイネーブル信号も第1
のアドレス発生器26で発生するものとする。
【0029】このようなアドレス発生を行うためには、
アドレスに1を加算することを6回繰り返し、続いて5
を加算し(画素6から画素11に移るから)、再び1を
加算することを6回繰り返す。同様の動作を繰り返して
画素39までのアドレスを発生する。このアドレス発生
のフローチャートを図3に示す。
【0030】図3において、ADRSはアドレスを保持
する変数、DISP1,DISP2は各々アドレスの加
算値を保持する変数、CNT1,CNT2は各々横方向
と縦方向の回数上限を保持するための変数である。従っ
て第1のアドレス発生器26の構成は、上記の各変数に
相当するレジスタを備えることになり、第1のアドレス
発生器26がアドレス発生を行う前に、これらのレジス
タに適当な値を設定するための命令語を、命令語シーケ
ンスに記述する必要がある。実際のアドレス発生は、ア
ドレス発生の開始を指示する命令語の発行をトリガとし
て、設定されたレジスタ内容に従って、第1のアドレス
発生器26が自律的に実行するものとする。
【0031】このような動作を行うアドレス発生器とし
ては、例えば、後藤他,「超高速ビデオ信号処理プロセ
ッサ(S−VSP)における制御方式」,信学技報IC
D91−101,PP.23−29(1991)に記載
されているものがある。
【0032】以上のようにして読み出された部分参照画
像101aの各画素は、1サイクルに1画素ずつ第1の
単位プロセッサ1のデータ入力端子13に供給される
(データ入力端子13に接続される演算部11内のセレ
クタ11dはデータ入力端子13の信号を選択するよう
に設定しておく)。この動作の時間的な流れを図4の第
1のアドレス発生器26の段に示す。各数字が第1のア
ドレス発生器26が発生する各画素のアドレスである。
【0033】次に、第1の単位プロセッサ1内におけ
る、単位プロセッサローカルメモリコア12aに記憶さ
れている図2(a)の注目ブロック100の読み出し動
作を説明する。
【0034】本実施例では、単位プロセッサローカルメ
モリコア12aのためのアドレス発生は、図2(a)に
示すように画素0から画素15までの単純なシーケンシ
ャルである。従って第2のアドレス発生器27として
は、単純なインクリメントカウンタで十分である。ただ
し汎用性を求めるならば、第1のアドレス発生器26と
同一構成のアドレス発生器が望ましい。シーケンシャル
なアドレス発生は、第1のアドレス発生器26の構成に
よっても可能である。いずれにしても第1のアドレス発
生器26と同様に、第2のアドレス発生器27も、アド
レス発生開始を指示する命令語をトリガとして自律的な
アドレス発生を実行し、またリードイネーブル信号も発
生するものとする。
【0035】第2のアドレス発生器27のアドレス発生
を第1のアドレス発生器26のそれと同時に開始するこ
とにより(両者に同時にアドレス発生開始を指示できる
命令語を備えることが必要である)、図2(a)の注目
ブロック100内の画素0から画素3の各々は、図2
(b)の部分参照画像101aの画素0から画素3の各
々と同期して、第1の単位プロセッサ1の算術論理演算
器11aに供給される。算術論理演算器11aは、その
2つの入力に対して差分絶対値を出力するよう予め設定
されているものとする(後述するようにパタンマッチン
グを行うためには、2個の入力の大小を比較する必要も
ある。算術論理演算器としては、差分絶対値の他にも加
減算,論理和,論理積等の複数の演算が、制御信号によ
って選択的に実行できるものが広く用いられており、本
実施例の算術論理演算器11aも同様のものとし、ここ
では制御部6からの制御信号によって差分絶対値を実行
するよう制御するものである)。以上の時間的様子を、
既に説明した図4の第1のアドレス発生器26の発生ア
ドレスと対応させて、第1の単位プロセッサ1の段に示
す。0,1,2,3の各数字が、第2のアドレス発生器
27が発生している画素0,画素1,画素2,画素3の
アドレスである(“第1の単位プロセッサ”の段とした
のは、図1に示すように第2のアドレス発生器27の出
力は第1の単位プロセッサに遅延無くそのまま入力され
るからである)。
【0036】ところが次のサイクルで読み出される部分
参照画像101aの画素4は、第1の単位プロセッサ1
が処理するように割り当てられている画素ではないの
で、これを演算に用いないようにしなければならない。
続く画素5,画素6についても同様である。
【0037】このために、図4に示すようにこの3サイ
クルの期間、第2のアドレス発生器27のアドレス発生
を停止させることとする(破線の部分)。そして部分参
照画像101aの画素11が読み出される4サイクル後
にアドレス発生を再開し、注目ブロック100の画素
4,画素5,画素6,画素7を読み出し、続く3サイク
ル再び停止する。以下同様の動作を繰り返すことによ
り、第1の単位プロセッサ1においては、その単位プロ
セッサローカルメモリコア12a内の注目ブロック10
0の各画素は、部分参照画像101aの対応する画素と
同期して、算術論理演算器11aに供給されることとな
る。
【0038】このような動作を実現するために、制御部
6内にタイミング信号発生器28を備え、図4のタイミ
ング信号発生器28の段に示すような信号を発生させ
る。“ON”と記した期間がアドレス発生期間であり、
“OFF”と記した期間がアドレス発生停止期間であ
る。この信号と動作クロックとの論理積を第2のアドレ
ス発生器27に供給する動作クロックとする等の方法に
より、第2のアドレス発生器27のアドレス発生を停止
することができる。
【0039】図5にタイミング信号発生器28の動作の
フローチャートを示す。CNT1=4,CNT2=3,
CNT3=4は各々、“ON”の期間が4サイクル,
“OFF”の期間が3サイクル,その“ON”と“OF
F”を4回繰り返すということを設定している。変数O
UTPUTが出力信号を表す。変数DUMMY1が0か
ら3まで変化する期間(CNT1より小さい期間)、O
UTPUT=1となって“ON”の期間であることを示
す。変数DUMMY2が0から2まで変化する期間(C
NT2より小さい期間)、OUTPUT=0となって
“OFF”の期間であることを示す。そして変数DUM
MY3が0から3までの期間(CNT3より小さい期
間)、以上を繰り返す。
【0040】次に、第1の単位プロセッサ1の演算部1
1に着目する。上述したように、部分参照画像101a
の不要な画素が読み出されている期間は、第2のアドレ
ス発生器27はアドレス発生を停止しているが、物理的
には単位プロセッサローカルメモリコア12aは何らか
の値を出力していると考えられ、さらに算術論理演算器
11aはこの値を入力として演算を行い、その結果は続
く加算器11bおよびレジスタ11cによって累算され
てしまう。この演算は不要な演算であるので、実行を停
止しなければならない。そのために、レジスタ11cと
して、書き込みのイネーブル/ディスイネーブルが制御
できる型のものを使用し、そして図1に示すように、タ
イミング信号発生器28の出力信号を演算制御信号入力
端子19を介してレジスタ11cに供給し、イネーブル
/ディスイネーブル制御を行うものとする。即ち第2の
アドレス発生器27がアドレス発生する期間は、レジス
タ11cの書き込みもイネーブルとし、第2のアドレス
発生器27がアドレス発生を停止する期間は、レジスタ
11cの書き込みもディスイネーブルとする。
【0041】以上により、第1の単位プロセッサ1にお
いては、図2(a)の注目ブロック100と図2(b)
の画素0を左上とするブロックとの相違度である式
(1)を計算することが可能となる。しかし第2の単位
プロセッサ2においては、部分参照画像101aの画素
の内、演算に用いるべき画素が制御部ローカルメモリ2
5から読み出されるタイミングは、第1の単位プロセッ
サ1の場合に比べて1サイクル遅れている。さらに第3
の単位プロセッサ3,第4の単位プロセッサ4の順に、
この遅れが1サイクルずつ増える。
【0042】そこで各単位プロセッサに第1の遅延器1
8を設けることにより、この遅れを吸収することとす
る。レジスタ11cのイネーブル/ディスイネーブルの
制御信号に関しても、第2の遅延器21を設けることと
する。これらの遅延器は、1サイクルの遅延量を持つよ
うに予め設定する。これにより、第2の単位プロセッサ
2,第3の単位プロセッサ3,第4の単位プロセッサ4
の各々においても、図2(a)の注目ブロック100と
図2(b)の画素1,画素2,画素3を左上とする各々
のブロックとの相違度を計算することが可能となる。
【0043】図4には、第1のアドレス発生器26,第
1の単位プロセッサ1,第2の単位プロセッサ2,第3
の単位プロセッサ3,第4の単位プロセッサ4を併せた
動作のタイムチャートを示す。
【0044】以上は、図2(b)の部分参照画像101
aを対象とした式(1)の計算の説明である。即ち参照
画像101の中の、画素0,画素1,画素2,画素3を
左上とする4個のブロックを対象としたに過ぎない。前
述したように参照画像101内には64個のブロックが
存在するので、残り60個のブロックについても計算を
行う必要がある。
【0045】注目ブロック100は変わらず、部分参照
画像101aのみが変わる。即ち、図2(b)の画素
4,画素5,画素6,画素7を各々左上とする4個のブ
ロックを対象とした計算を、第1の単位プロセッサ1,
第2の単位プロセッサ2,第3の単位プロセッサ3,第
4の単位プロセッサ4に新たに割り当てることとなる。
即ち図6に示す部分参照画像102を、第1のアドレス
発生器26のアドレス発生によって、制御部ローカルメ
モリ25から読み出すことである。そのアドレス発生の
様子は、アドレスの初期値が4であることを除いて図2
(c)と同様である。つまりアドレス発生に先だって、
アドレスの初期値を4に設定する命令語の実行が必要と
なる。その後の動作は、既に説明した図2(b)の部分
参照画像101aの場合と同様である。
【0046】以降、第1のアドレス発生器26のアドレ
ス初期値の設定を変えることにより、読み出すべき部分
参照画像の位置をずらして行くことで、参照画像101
全体を処理対象に用いることができる。これは部分参照
画像の大きさが横7画素×縦4画素で一定であり、その
左上の位置のみが、図7の円で囲んだ画素に逐次移って
行くからである。この図より部分参照画像は参照画像1
01中に16個存在し、各部分参照画像が、第1の単位
プロセッサ1,第2の単位プロセッサ2,第3の単位プ
ロセッサ3,第4の単位プロセッサ4に割り当てられて
処理される。従って各単位プロセッサは、合計で参照画
像101中の16個のブロックを処理することとなる。
【0047】以上述べた動作は、参照画像101全体に
わたる相違度(式(1)の値)の計算である。その他に
も、この計算の実行に先立っての種々の初期設定,前述
したように式(1)の最小値を見つける処理等が必要で
ある。
【0048】先ず初期値設定では以下のような命令語が
実行される。第1のアドレス発生器26,タイミング信
号発生器28,第2のアドレス発生器27の各動作を決
めるレジスタ設定のための命令語(第1のアドレス発生
器26ならばアドレスの初期値設定,縦横のアドレス加
算値,縦横のカウント値)、算術論理演算値11aに差
分絶対値演算を実行するように設定する命令語(あるい
はこれは差分絶対値演算が必要となるサイクルの度に、
制御信号を供給するという方法も考えられる)、セレク
タ11d,セレクタ12bを各々データ入力端子13
側,レジスタ11c側を選択するように設定する命令語
(上述同様、必要となるサイクルの度に適宜制御信号を
供給する方法も可能である)、レジスタ11cの内容を
0にする(クリアする)命令語である。
【0049】注目ブロック100に最も類似したブロッ
クを見つけるということは、参照画像101全体で64
個ある相違度の中から最小値を見つけることである。こ
れを、各単位プロセッサが、自分が計算する16個の相
違度の中から最小値を見つけ、最後にこれら4個の単位
プロセッサが見つけた最小値の中からさらに最小値を見
つけるという方法で行う。そのための各単位プロセッサ
ローカルメモリコア12aの同一のアドレスに、相違度
の最小値を記憶する変数領域を確保する必要がある。具
体的には初期設定として、表現し得る最も大きい値をそ
のアドレスに記憶する命令語を実行することである。
【0050】最小値と共に、式(1)のx,yに相当す
る情報、即ち参照画像101中における各ブロックの位
置情報も記憶する必要があり、最小値と同様にそのため
の変数領域も確保する。部分参照画像の位置と各単位プ
ロセッサが扱うブロックの位置は1対1に対応するの
で、第1のアドレス発生器26のアドレス初期値を各単
位プロセッサに供給し、これを位置情報として記憶する
という方法が可能である。
【0051】また上記した、各単位プロセッサ毎での相
違度の最小値検出を行うために、各単位プロセッサは、
注目ブロック100と部分参照画像中の自分に割り当て
られたブロックに対しての相違度の計算が完了する度
に、その時点での相違度の最小値と、たった今求められ
た最新の相違度との比較を行い、後者の方が小さければ
新たな最小値として記憶し、そうでなければ最小値はそ
のままとするという処理を行う。その際、セレクタ11
dとセレクタ12bの選択を共にレジスタ11c側に、
算術論理演算器11aの演算を減算にし、算術論理演算
器11aの右側の入力には単位プロセッサローカルメモ
リコア12a内に記憶しているその時点での最小値を入
力し、左側の入力にはたった今求めた相違度を入力す
る。そして減算結果の正負によって、後者を最小値の記
憶領域に記憶する(最小値更新)か、何もしないかの処
理を選択する。
【0052】記憶領域を指定するアドレスは、命令語中
にアドレスをそのまま記述するものとし、第2のアドレ
ス発生器27を通して単位プロセッサローカルメモリコ
ア12aに供給される、あるいは第2のアドレス発生器
27と別のアドレス信号線を設けて供給される等、いく
つかの方法が考えられる。このアドレス信号と同時に読
み出し/書き込みイネーブル信号も各単位プロセッサに
供給されるものとする。各単位プロセッサが、上記の減
算結果の正負によって、単位プロセッサローカルメモリ
コア12aへの書き込みイネーブル信号の供給を制御す
ることにより、最小値の更新/更新無しの選択を行うこ
とができる。
【0053】各単位プロセッサが扱う参照画像101中
におけるブロックの位置情報に関しては、上記の相違度
の最小値の更新/更新無しの処理の後、その時点の部分
参照画像の読み出しに用いた第1のアドレス発生器26
のアドレス初期値を制御部6から各単位プロセッサに供
給し、各単位プロセッサでは相違度の最小値と同様にし
て更新/更新無しの処理を行う方法が可能である。
【0054】その後レジスタ11cのクリア,セレクタ
11d及びセレクタ12bの選択を各々元に戻すという
処理を行い、次の部分参照画像を対象とした相違度の計
算を行う。以降これを繰り返して、参照画像101全体
にわたって、各単位プロセッサが相違度の最小値を検出
して行く。
【0055】以上の各単位プロセッサにおける最小値検
出及びブロックの位置情報の処理に必要となる制御信号
の供給方法としては、以下の2通りが考えられる。第1
は、第2のアドレス発生器27のアドレスおよびタイミ
ング信号発生器28の信号と同様に、第1の遅延器1
8,第2の遅延器21と同一の遅延を各単位プロセッサ
毎に持たせて、第1の単位プロセッサ1が相違度の計算
を完了した時点で、制御部6が第1の単位プロセッサ1
のみに供給する方法である。第2の方法は、第4の単位
プロセッサ4が相違度の計算を完了した時点で、最小値
検出の処理に必要となる制御信号を、制御部6が4個の
単位プロセッサに同時に供給する方法である。
【0056】以上の方法により、参照画像101の全体
にわたって各単位プロセッサが最小値およびブロックの
位置情報の検出が完了したら、各単位プロセッサが持つ
これらの情報を、各単位プロセッサの番号と共に第2の
データバス24を介して制御部6に集め(図には示して
いないが、第4の単位プロセッサ4の第2のデータ出力
端子23を制御部6にフィードバックするなどして)、
その中から相違度の最小値を見つけ、さらにこれに対応
するブロックの位置情報と単位プロセッサの番号を基
に、xとyを求めることができる。
【0057】パタンマッチングの他の例として以下の処
理がある。図8に示すように、参照画像内のブロックの
取り方として、実線の円が示すような縦横とも1画素お
きとなる画素を左上の画素とするブロックを取り、これ
らと注目ブロックとのパタンマッチングを先ず行う。そ
の結果、画素Xが最も類似していたとし、その周囲の8
個の画素(画素aから画素h)を左上の画素とするブロ
ックに関して再びパタンマッチングを行うという2段階
の方法がある。これらは演算量を削減するための手法で
ある。
【0058】この手法を、第2および第5の発明によ
る、各単位プロセッサの遅延器の遅延量を独立して設定
できるという特徴によって、以下のように処理すること
ができる。この場合8個の単位プロセッサを備えるもの
とし、画素aから画素hを左上とする各ブロックを、第
1の単位プロセッサから第8の単位プロセッサで処理す
るものとする。
【0059】1段階目においては、参照画像内の各ブロ
ックを各単位プロセッサが正しく取り込むためには、第
1の遅延器18および第2の遅延器21の遅延量を2サ
イクル分とする必要がある。2段階目では、図8の8個
の画素を取り込むためには、画素a,画素b,画素c間
の遅延、即ち第1の単位プロセッサ,第2の単位プロセ
ッサの遅延は1サイクル分とし、画素c,画素d間の遅
延,即ち第3の単位プロセッサの遅延は9サイクル分と
し(参照画像が図2(b)のように記憶されている場
合、画素cから画素dへは、下に1画素で11サイク
ル,左に2画素で−2サイクルであるから)、画素d,
画素e間の遅延,即ち第4の単位プロセッサの遅延は2
サイクル分とし、画素c,画素f間の遅延は再び9サイ
クルとし、画素f,画素g,画素h間の遅延は再び1サ
イクルの遅延とする。
【0060】以上の遅延量の設定によって画素aから画
素hに対して相違度を計算し、1段階目の画素Xの相違
度と付随する情報を保持しておくものとして、合計9個
の相違度から最小値を見い出すことにより、最終的な最
終値とそのブロックの位置を求めることができる。
【0061】また図1に示す実施例では、演算部11に
は算術論理演算部11a,加算器11d,レジスタ11
cのみを搭載しているが、乗算器を搭載して、乗算結果
を加算器11bおよびレジスタ11cによって累算する
ことにより、積和演算器を構成すれば、フィルタ処理も
可能となる。
【0062】
【発明の効果】以上説明したように、本発明によるSI
MDプロセッサは、画像処理では、実施例で説明したパ
タンマッチングのように、メモリ中の画素データに対し
て矩形状にアクセスすることが多く行われる。このよう
なアクセスを可能にするアドレス発生器は、カウンタ,
レジスタ,加算器等を備える必要があり、ハードウェア
量が大きくなる。本発明によれば、このようなアドレス
発生器を単位プロセッサには搭載せず、制御部のみに搭
載することで、画像処理に必要な画素データへのアクセ
スが可能となる。しかもどのようなアドレス発生のパタ
ン(矩形の大きさや位置等)を設定するかは、第1の単
位プロセッサのみについて考慮すれば良い。それ以降の
単位プロセッサは第1の単位プロセッサと同様の動作が
単に遅延を持って実行されるということのみ考慮すれば
良いので、アプリケーションプログラムの開発も容易で
ある。
【図面の簡単な説明】
【図1】本発明の一実施例を示す図である。
【図2】実施例のパタンマッチングに必要なアドレス発
生を説明するための図である。
【図3】第1のアドレス発生器26の動作のフローチャ
ートを示す図である。
【図4】本発明のSIMDプロセッサの実施例における
動作のタイムチャートを示す図である。
【図5】タイミング信号発生器28の動作のフローチャ
ートを示す図である。
【図6】実施例のパタンマッチングに必要なアドレス発
生を説明するための図である。
【図7】実施例のパタンマッチングに必要なアドレス発
生を説明するための図である。
【図8】実施例のパタンマッチングの他の手法における
単位プロセッサ内の遅延量設定を説明するための図であ
る。
【符号の説明】
1,2,3,4 単位プロセッサ 5 単位プロセッサ群 6 制御部 11 演算部 11a 算術論理演算器 11b 加算器 11c レジスタ 12 単位プロセッサローカルメモリ部 12a 単位プロセッサローカルメモリコア 13 データ入力端子 14 データ出力端子 15 データバス 16 アドレス入力端子 17 アドレス出力端子 18 第1の遅延器 19 演算制御信号入力端子 20 演算制御信号出力端子 21 第2の遅延器 22 第2のデータ入力端子 23 第2のデータ出力端子 24 第2のデータバス 25 制御部ローカルメモリ 26 第1のアドレス発生器 27 第2のアドレス発生器 28 タイミング信号発生器

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】N個(Nは自然数)の単位プロセッサから
    なる単位プロセッサ群と、制御部とを備えるSIMDプ
    ロセッサにおいて、 前記制御部が、アドレス発生器と、制御部ローカルメモ
    リとを備え、 前記単位プロセッサ群の各単位プロセッサが、単位プロ
    セッサローカルメモリ部と、演算部と、アドレス入力端
    子と、アドレス出力端子と、遅延部と、データ入力端子
    と、データ出力端子と、データバスとを備え、 前記遅延器が、前記アドレス入力端子に入力される信号
    を予め定められた期間だけ遅延させて前記アドレス出力
    端子に出力し、前記アドレス入力端子に入力される信号
    が前記単位プロセッサローカルメモリ部にアドレスとし
    て供給され、前記データ入力端子と前記データ出力端子
    が前記データバスにより接続され、前記データバスが前
    記単位プロセッサローカルメモリ部にデータを供給し、
    前記データバスと前記単位プロセッサローカルメモリ部
    とが前記演算部にデータを供給し、前記アドレス発生器
    が前記単位プロセッサ群の第1の単位プロセッサの前記
    アドレス入力端子にアドレスを供給し、前記単位プロセ
    ッサ群の第iの単位プロセッサ(iは1からN−1まで
    の自然数)の前記アドレス出力端子が前記単位プロセッ
    サ群の第(i+1)の単位プロセッサの前記アドレス入
    力端子に接続され、前記第iの単位プロセッサの前記デ
    ータ出力端子が前記第(i+1)の単位プロセッサの前
    記データ入力端子に接続されることを特徴とするSIM
    Dプロセッサ。
  2. 【請求項2】前記単位プロセッサ群の各単位プロセッサ
    の前記遅延器の遅延期間が、単位プロセッサ毎に独立に
    定められることを特徴とする請求項1記載のSIMDプ
    ロセッサ。
  3. 【請求項3】前記制御部が、タイミング信号発生器を備
    え、前記タイミング信号発生器の出力信号が、第1の状
    態と第2の状態を各々予め定められた任意の期間ずつ交
    互に取り、前記タイミング信号発生器の出力信号が前記
    アドレス発生器に供給され、前記タイミング信号発生器
    の出力信号が前記第2の状態においては、前記アドレス
    発生器がアドレス発生を停止することを特徴とする請求
    項1記載のSIMDプロセッサ。
  4. 【請求項4】前記単位プロセッサ群の各単位プロセッサ
    が、演算制御信号入力端子と、演算制御信号出力端子
    と、第2の遅延器とを備え、前記第2の遅延器が、前記
    演算制御信号入力端子に入力される信号を予め定められ
    た期間だけ遅延させて前記演算制御信号出力端子に出力
    し、前記演算制御信号入力端子に入力される信号が前記
    演算部に供給され、前記演算制御信号入力端子に入力さ
    れる信号が前記第2の状態においては、前記演算部が演
    算を停止し、前記タイミング信号発生器が前記単位プロ
    セッサ群の第1の単位プロセッサの前記演算制御信号出
    力端子に信号を供給し、前記第iの単位プロセッサの前
    記演算制御信号出力端子が前記第(i+1)の単位プロ
    セッサの前記演算制御信号入力端子に接続されることを
    特徴とする請求項3記載のSIMDプロセッサ。
  5. 【請求項5】前記単位プロセッサ群の各単位プロセッサ
    の前記第2の遅延器の遅延期間が、単位プロセッサ毎に
    独立に定められることを特徴とする請求項4記載のSI
    MDプロセッサ。
  6. 【請求項6】前記単位プロセッサ群の各単位プロセッサ
    において、前記演算部の出力が前記単位プロセッサロー
    カルメモリ部に供給されることを特徴とする請求項1記
    載のSIMDプロセッサ。
  7. 【請求項7】前記単位プロセッサ群の各単位プロセッサ
    が、第2のデータ入力端子と、第2のデータ出力端子
    と、第2のデータバスとを備え、前記第2のデータ入力
    端子と前記第2のデータ出力端子とが前記第2のデータ
    バスにより接続され、前記演算部が前記第2のデータバ
    スにデータを供給し、前記iの単位プロセッサの前記第
    2のデータ出力端子が前記第(i+1)の単位プロセッ
    サの前記第2のデータ入力端子に接続されることを特徴
    とする請求項1記載のSIMDプロセッサ。
  8. 【請求項8】前記制御部が第2のアドレス発生器を備
    え、前記第2のアドレス発生器が前記制御部ローカルメ
    モリにアドレスを供給することを特徴とする請求項1記
    載のSIMDプロセッサ。
  9. 【請求項9】前記単位プロセッサ群の各単位プロセッサ
    において、前記データ入力端子と、前記データバスと、
    前記データ出力端子と、前記アドレス入力端子と、前記
    遅延器と、前記アドレス出力端子とが多重化されている
    ことを特徴とする請求項1記載のSIMDプロセッサ。
  10. 【請求項10】前記単位プロセッサ群の各単位プロセッ
    サにおいて、前記演算制御信号入力端子と、前記第2の
    遅延器と、前記演算制御信号出力端子とが多重化されて
    いることを特徴とする請求項4記載のSIMDプロセッ
    サ。
JP6201654A 1994-08-26 1994-08-26 Simdプロセッサ Pending JPH0863452A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6201654A JPH0863452A (ja) 1994-08-26 1994-08-26 Simdプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6201654A JPH0863452A (ja) 1994-08-26 1994-08-26 Simdプロセッサ

Publications (1)

Publication Number Publication Date
JPH0863452A true JPH0863452A (ja) 1996-03-08

Family

ID=16444683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6201654A Pending JPH0863452A (ja) 1994-08-26 1994-08-26 Simdプロセッサ

Country Status (1)

Country Link
JP (1) JPH0863452A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100463121B1 (ko) * 2000-06-30 2004-12-23 아나로그 디바이시즈 인코포레이티드 정렬된 simd용 범용 레지스터 파일 구조
JP2012079030A (ja) * 2010-09-30 2012-04-19 Mega Chips Corp 画像処理装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011512715A (ja) * 2008-01-23 2011-04-21 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ネットワーク・リソースをプールするための方法および装置
US20120173661A1 (en) * 2011-01-04 2012-07-05 Cisco Technology, Inc. System and method for exchanging information in a mobile wireless network environment
US20120300615A1 (en) * 2011-05-23 2012-11-29 Telefonaktiebolaget L M Ericsson (Publ) Implementing EPC in a Cloud Computer with OpenFlow Data Plane
JP2013509090A (ja) * 2009-10-21 2013-03-07 アルカテル−ルーセント 仮想化ネットワークインフラストラクチャを用いたトランスペアレントなクラウドコンピューティングのための方法および装置
US20130121207A1 (en) * 2011-11-10 2013-05-16 Verizon Patent And Licensing Inc. Providing overlay networks via elastic cloud networking
WO2013072245A1 (en) * 2011-11-14 2013-05-23 Alcatel Lucent Method and equipment for establishing a connection through a virtual private network

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011512715A (ja) * 2008-01-23 2011-04-21 テレフオンアクチーボラゲット エル エム エリクソン(パブル) ネットワーク・リソースをプールするための方法および装置
JP2013509090A (ja) * 2009-10-21 2013-03-07 アルカテル−ルーセント 仮想化ネットワークインフラストラクチャを用いたトランスペアレントなクラウドコンピューティングのための方法および装置
US20120173661A1 (en) * 2011-01-04 2012-07-05 Cisco Technology, Inc. System and method for exchanging information in a mobile wireless network environment
US20120300615A1 (en) * 2011-05-23 2012-11-29 Telefonaktiebolaget L M Ericsson (Publ) Implementing EPC in a Cloud Computer with OpenFlow Data Plane
US20130121207A1 (en) * 2011-11-10 2013-05-16 Verizon Patent And Licensing Inc. Providing overlay networks via elastic cloud networking
WO2013072245A1 (en) * 2011-11-14 2013-05-23 Alcatel Lucent Method and equipment for establishing a connection through a virtual private network
JP2014533476A (ja) * 2011-11-14 2014-12-11 アルカテル−ルーセント 仮想プライベート・ネットワークを介して接続を確立するための方法および装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN7017001577; Arati Baliga et al.: 'Vision: VPMN - Virtual Private Mobile Network Towards Mobility-as-a-Service' MCS '11 Proceedings of th20110628e second international workshop on Mobile cloud computing and servi , 20110628 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100463121B1 (ko) * 2000-06-30 2004-12-23 아나로그 디바이시즈 인코포레이티드 정렬된 simd용 범용 레지스터 파일 구조
JP2012079030A (ja) * 2010-09-30 2012-04-19 Mega Chips Corp 画像処理装置
US8786615B2 (en) 2010-09-30 2014-07-22 Megachips Corporation Image processor including reconfigurable input and output domain selectors

Similar Documents

Publication Publication Date Title
CN107315574B (zh) 一种用于执行矩阵乘运算的装置和方法
CN111310904B (zh) 一种用于执行卷积神经网络训练的装置和方法
US5301344A (en) Multibus sequential processor to perform in parallel a plurality of reconfigurable logic operations on a plurality of data sets
KR20010031192A (ko) 기계시각시스템에서의 영상데이터와 같은 논리적으로인접한 데이터샘플들을 위한 데이터처리시스템
CN107315715A (zh) 一种用于执行矩阵加/减运算的装置和方法
CN110119807B (zh) 运算方法、装置、计算机设备和存储介质
JPH0863355A (ja) プログラム制御装置及びプログラム制御方法
US20220300253A1 (en) Arithmetic operation device and arithmetic operation system
US20150302283A1 (en) Accelerator circuit and image processing apparatus
JPH0863452A (ja) Simdプロセッサ
US20220036243A1 (en) Apparatus with accelerated machine learning processing
JP2010123083A (ja) 相関処理装置及びその相関処理装置で読みとり可能な媒体
US11500632B2 (en) Processor device for executing SIMD instructions
CN111145075B (zh) 数据处理系统
Geng et al. An Access-Pattern-Aware On-Chip Vector Memory System with Automatic Loading for SIMD Architectures.
JP2906792B2 (ja) ディジタルプロセッサ及びその制御方法
JPH06223166A (ja) 画像処理用汎用プロセッサ
CN111325333A (zh) 数据处理方法、神经网络处理器、存储介质及电子设备
JPS6285343A (ja) メモリ読み出し回路
US20240169018A1 (en) Matrix multiplier implemented to perform concurrent store and multiply-accumulate (mac) operations
CN114565075B (zh) 支援多种访问模式的设备、方法及可读存储介质
CN112395008A (zh) 运算方法、装置、计算机设备和存储介质
CN110766150A (zh) 一种深度卷积神经网络硬件加速器中的区域并行数据载入装置及方法
CN113807489B (zh) 用于执行反卷积操作的方法、板卡及其计算装置
JPS6247785A (ja) 近傍画像処理装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970527