JPH05151347A - 並列画像処理プロセツサ - Google Patents

並列画像処理プロセツサ

Info

Publication number
JPH05151347A
JPH05151347A JP3314964A JP31496491A JPH05151347A JP H05151347 A JPH05151347 A JP H05151347A JP 3314964 A JP3314964 A JP 3314964A JP 31496491 A JP31496491 A JP 31496491A JP H05151347 A JPH05151347 A JP H05151347A
Authority
JP
Japan
Prior art keywords
data
input
processor
output
register
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
Application number
JP3314964A
Other languages
English (en)
Inventor
Hiroshi Takaku
博 高久
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.)
Olympus Corp
Original Assignee
Olympus Optical Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Olympus Optical Co Ltd filed Critical Olympus Optical Co Ltd
Priority to JP3314964A priority Critical patent/JPH05151347A/ja
Publication of JPH05151347A publication Critical patent/JPH05151347A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【目的】 PEの数に無関係にデータを逐次クロックご
とに入出力可能な並列画像処理プロセッサを提供する。 【構成】 複数のプロセッサエレメントPE00〜PE
03にそれぞれ対応して設けられ、あるタイミングにお
いて各プロセッサエレメントに異なるインストラクショ
ンを与えるために、入力されたインストラクションをク
ロックに同期して逐次、遅延伝搬させる複数のラッチ1
0〜12を具備する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は並列画像処理プロセッサ
に関する。
【0002】
【従来の技術】従来より、並列画像処理プロセッサとし
て、SIMD(Single InstructionStream Multiple Da
ta Stream )型計算機とパイプライン方式計算機とが知
られている。
【0003】SIMD型計算機においては、プロセッサ
が複数のプロセッサ・エレメント(以下、PEと呼ぶ)
で構成され個々のPEが独自に計算を行う。n個のPE
で構成されたプロセッサは1個のPEで構成されたプロ
セッサのn倍の処理が可能である。この形式の計算機で
は複数のPEに同じインストラクションを与える。従っ
て、単一のインストラクションセットで複数のデータが
同時に処理される。また、パイプライン方式計算機にお
いては、一つのインストラクションを幾つかの部分に分
け、それぞれの部分を別々の実行モジュールで実行する
ことにより、見かけ上同時に幾つかのインストラクショ
ンを実行できる。
【0004】
【発明が解決しようとする課題】しかしながら、上記し
たSIMD型計算機においては、単一のインストラクシ
ョンで全てのPEが同時に動作するので入出力等も同時
に実行される。したがって、プロセッサに対してPE数
と同じ数のデータを入力又は出力しなければならない。
これを固体化(チップ化)しようとした時にはデータの
入出力のために膨大な数の入出力端子が必要になる。そ
のために、特開平1−258184号は入力データを一
端内部のメモリにバッファリングしておきその後でこの
データをPEで同時に使用する方法を開示している。
【0005】また、パイプライン方式のように幾つかの
実行モジュールに分割する方法では、分割方法そのもの
が変更できないのでより効率のよい分割方法を取ること
ができない。
【0006】本発明の並列画像処理プロセッサはこのよ
うな課題に着目してなされたもので、その目的とすると
ころは、PEの数に無関係にデータを逐次クロックごと
に入出力可能な並列画像処理プロセッサを提供すること
にある。
【0007】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明においては、複数のプロセッサエレメント
と、該複数のプロセッサエレメントにそれぞれ対応して
設けられ、あるタイミングにおいて各プロセッサエレメ
ントに異なるインストラクションを与えるために、入力
されたインストラクションをクロックに同期して逐次、
遅延伝搬させる複数の遅延手段とを具備する。
【0008】
【作用】すなわち、本発明においては、入力されたイン
ストラクションをクロックに同期して逐次、遅延伝搬さ
せることによって、あるタイミングにおいて各プロセッ
サエレメントに異なるインストラクションを与える。
【0009】
【実施例】まず、インストラクション入力について説明
する。ここでは、簡単のためにPEが3個の場合につい
て説明する。
【0010】図1の様にインストラクション入力端子か
らインストラクションが入力されラッチ10でそれがラ
ッチされる。その後、このインストラクションはPE0
0に入力されそこで実行されると同時に次のラッチ11
に入力される。次のインストラクションが入力されると
同時にラッチ11はその一つ前のインストラクションを
ラッチしPE01に与えている。この時、ラッチ10は
二番目のインストラクションをラッチしPE00にそれ
を与えている。
【0011】同様に三番目のインストラクションが入力
するとラッチ10がそれをラッチしPE00に与え、同
時刻にラッチ11は二番目のインストラクションをラッ
チしそれをPE01に与え、かつラッチ12は最初のイ
ンストラクションをラッチしそれをPE02に与え、そ
れぞれが違ったインストラクションを実行しながら入力
されるインストラクション流は単一である。
【0012】図2にクロックに同期したインストラクシ
ョン(ABCD)とそれをラッチしたラッチの出力のタ
イムチャートを示す。図ではPE00がインストラクシ
ョンを入力されたのとほぼ同じタイミングで実行される
事を示し、PE01はそれより1クロック遅れて実行さ
れることを示しており、PE03は更に1クロック遅れ
て実行されることを示している。
【0013】以下に、データ入力について説明する。
【0014】ここでは簡単のために入力されたインスト
ラクションが伝播されることにより、どの様にそれが複
数のPEによって実行されてゆくかを図3にしたがって
説明する。端子1より入力されるクロックに同期したイ
ンストラクションが端子0より入力される。
【0015】まず、ラッチ10に入力要求インストラク
ション(INPと略記する)がラッチされそれがPE0
0によって実行される。すると入力端子2にあるデータ
がPE00内のレジスタ等にラッチされ以降の演算対象
となり得る。次にINPはPE01に入力されそれの持
つレジスタ等にラッチされる。最後にINP命令はPE
02によって実行されそこに格納される。以上のように
端子2から入力されるのは一時期に(1サイクル)一つ
のデータのみである。またこの動作のために与えられた
命令流は一つのみである。
【0016】図4にデータ入力のタイムチャートを示
す。ここではクロックに同期してINPインストラクシ
ョンが順に送られ、順に入力されたデータ(データ0、
データ1及びデータ2)がPEに取り込まれる。データ
0はPE00に、データ1はPE01に、データ3はP
E03に取り込まれる。
【0017】以下に、データ出力について説明する。
【0018】ここでも同様に出力されるインストラクシ
ョンが伝播される様子を図5にしたがって説明する。こ
こで端子0、1、2、3はそれぞれインストラクショ
ン、クロック、入力データ、出力データ端子である。
【0019】ラッチ10によって出力インストラクショ
ン(OUTと略記する)がラッチされそれがPE00に
よって実行される。するとPE00の出力端子よりデー
タが出力端子3に向けて出力される。次にOUTはラッ
チ11にラッチされることによりPE01で実行されP
E01の持つ値が出力端子3に出力される。同様に次の
サイクルではPE02の持つ値が出力端子に出力され
る。
【0020】以上のように出力端子3から出力されるデ
ータは1サイクルに一つのデータのみである。またこの
動作のために与えられた命令流はただ一つである。図6
にデータ出力のタイムチャートを示す。ここではクロッ
クに同期してOUTインストラクションが順に送られ、
順に出力されるデータ(データ0、データ1及びデータ
2)がPEから送りだされる。データ0はPE00か
ら、データ1はPE01から、データ3はPE03から
送りだされる。
【0021】以下に図7を参照して第1の実施例を説明
する。
【0022】この実施例では、与えられたデータの2倍
の数を出力するものとし、インストラクション流として
以下のものを考える。また、プロセッサとしてPEが3
個の構成を考える。
【0023】1 INP R0 ;R0 レジスタに入
力端の値を格納する 2 ADD R0 ;R0 ←R0+R0(R0レジス
タの内容を2倍する) 3 OUT R0 ;R0 レジスタの値を出力端に出
力する 図7において、20,21,22は計算の途中結果を格
納するためのレジスタでそれぞれにR0(レジスタ0)
が用意されている。レジスタには図9のように入出力バ
ス301及びレジスタアドレスバス300が有りこれら
によりPEとのデータのやり取りができる。
【0024】PEには図10に示すようにデータ出力ポ
ート001、入力ポート002、前隣接入力ポート00
3、後隣接出力ポート004、前隣接出力ポート00
5、後隣接入力ポート006及びレジスタとのデータ通
信を行うレジスタデータ通信バス007がありこれらの
ポートを介してPE同志、入出力端子及びレジスタとの
データ通信を行う。PEはラッチ008,009を持ち
それぞれポート004,005へデータを出すためのデ
ータをラッチする。このPEが先の図7の様に組み合わ
されている。ここで4,5,6,7はカスケード接続の
ための端子でありPEの数を増やす時に使用する。PE
00とレジスタ20はデータバス001とアドレスバス
002によって接続されている。PE01とレジスタ2
1はデータバス011とアドレスバス012によって接
続されている。PE02とレジスタ22はデータバス0
21とアドレスバス022によって接続されている。P
E00にはカスケード端子4からバス033を通してデ
ータが入力されPE00からのデータがバス004を通
してカスケード端子5に出力される。PE00とPE0
1はデータバス003と014で接続され、PE01と
PE02はデータバス013と024で接続される。P
E02にはカスケード端子7からバス024を通してデ
ータが入力されPE02からのデータがバス023を通
してカスケード端子6に出力される。
【0025】先のプログラムによる動作をそれぞれのサ
イクル毎のPEの動作内容を見ることで説明する。
【0026】 サイクル PE# 実行命令 動作内容 1 00 INP R0 入力端子2のデータをレジスタ20の R0に格納 01 何もしない 02 何もしない 2 00 ADD R0 レジスタ20のR0の内容を2倍する 01 INP R0 入力端子2のデータをレジスタ21の R0に格納 02 何もしない 3 00 OUT R0 レジスタ20のR0の内容を出力端子 3に出力する 01 ADD R0 レジスタ21のR0の内容を2倍する 02 INP R0 入力端子2のデータをレジスタ22の R0に格納 4 00 何もしない 01 OUT R0 レジスタ20のR0の内容を出力端子 3に出力する 02 ADD R0 レジスタ22のR0の内容を2倍する 5 00 何もしない 01 何もしない 02 OUT R0 レジスタ20のR0の内容を出力端子 3に出力する この様に各サイクル毎に入力された値の2倍の値を順次
出力される。ここで特定のサイクルで「何もしない」と
言う動作があるがこれはハード的に作りだされる特別の
命令である(例えば「NOP」等のような)。これは、
RESET(初期化)等より作りだすことができる。
【0027】図8には実行時のタイムチャートを示す。
idata0,1,2は入力データであり、端子2より
入力され出力端子3にはodata0,1,2が出力さ
れる。
【0028】以下に第2の実施例を説明する。この実施
例では与えられたデータの3つ毎の合計を出力するもの
とする。
【0029】問題は数列a、b、c、d、e、f、gが
与えられた時に答えとして、a、a+b、a+b+c、
b+c+d、c+d+e、e+f+g、f+g、gを求
めるのである。
【0030】ここではPE内のラッチを利用する。図1
0におけるラッチ008、009に対する書き込み命令
を以下に示す。
【0031】1 WR OF ; ラッチ008へ書き
込み 2 WR OB ; ラッチ009へ書き込み PEへのデータ取り込みの命令を以下に示す。
【0032】3 RD IF ; バス006からのデ
ータの読み取り 4 RD IB ; バス003からのデータの読み取
り 全てのデータはレジスタR0を介して転送される。ま
た、以下の命令も使用される。ここでは、レジスタ0以
外にレジスタ1(R1)を使用する。従って、データ転
送には以下の命令が使用される。
【0033】5 MV R0,R1 ; R0からR1
へのデータ転送 それ以外に以下の命令も用意されている。
【0034】6 NOP ; 何もしない命令 実行 サイクル PE00 PE01 PE02 1 INP R0 ;データ(=a)の入力 2 WR OF ;読み込んだデータをラッチに書き込む。最初のデータが書き込ま れる INP R0 ;データ(=b)入力 3 MV R0,R1 ;レジスタR0の内容をR1に格納する WR OF ;読み込んだデータをラッチに書き込む INP R0 ;データ入力(=c) 4 RD IB ;ラッチからデータを読みだす MV R0,R1 ;レジスタR0の内容をR1に格納する WR OF ;読み込んだデータをラッチに 書き込む。
【0035】 5 NOP RD IB ;ラッチからデータ(=a)を読みだす。サイ クル2でデータが格納されている MV R0,R1 ;レジスタR0の内容をR1に 格納する 6 WR OF ;読みだし値(=0)をラッチに書き込む NOP RD IA ;ラッチからデータ(=b)を 読みだす。当ラッチにはサイ クル3でデータが格納されて いる 7 ADD R1 ;外部からの値に一番めの値(=a)を加える WR OF ;一番目の値(=a)を書き込む NOP 8 MV R0,R1 ;レジスタR0の内容をR1に格納する ADD R1 ;一番めの値(=a)に二番めの値(=b)を 加える WR OF ;二番目の値(=b)を書き込 む 9 RD IB ;三つめの値(=0)を読み込む MV R0,R1 ;レジスタR0の内容をR1に格納する ADD R1 ;一番目の値(=b)に二番め の値(=c)を加える 10 ADD R1 ;三つめの値を加える RD IB ;三つめの値を読み込む MV R0,R1 11 OUT R0 ;答え(=a)を出力する ADD R1 ;三つめの値を加える RD IB ;三番(=c)めの値を読み込 む 12 OUT R0 ;答え(=a+b)を出力する ADD R1 ;三番(=c)めの値を加える 13 OUT R0 ;答え(=a+b+c)を出力 する この演算を実行するためには11個のPEを必要とし1
1サイクル遅れて結果が各サイクル毎に出力される。
【0036】以下に、第3の実施例を説明する。本実施
例では画像データのコンボリュージョン演算を行う。
【0037】画像データにおける3×3の部分で以下の
演算を行う場合を考える。
【0038】 a b c d e f において b+d+f+h−3e を行う g h i ここでは、レジスタを0から5まで(R0−R5)まで
使用される。
【0039】この演算のためにはPEがカラム数だけ必
要になる。
【0040】1 INP R0 2 MV R0,R4 3 MV R3,R0 4 WR OF 5 RD IB 6 MV R0,R5 7 MV R3,R0 8 WR OB 9 NOP 10 RD IF 11 ADD R2 12 ADD R4 13 ADD R5 14 SUB R3 15 SUB R3 16 SUB R3 17 OUT R0 このプログラムではPE同志で通信しながら演算を進め
てゆく。この場合、一ライン分の演算が終了した時点で
レジスタ名がつけかえられる。この事でレジスタ内容を
変更することが無くなる。当プログラムは以下の名前変
更を自動的に行っているものとしている。
【0041】 R0 R1 R2 R3 R4 R5 R6 R7 R8…R15 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ R15 R0 R1 R2 R3 R4 R5 R6 R7…R14 このためには、図11の回路を利用する。
【0042】レジスタ45に入力されるアドレスをハー
ド的に変更すればよい。PEからのデータはアドレス4
2を通して減算器40に入力されここで入力された値か
ら1加算器41の値を引かれる。1加算器41では入力
43があったときにその出力が1加算される。この減算
器40の出力をレジスタへのアドレス入力とすることに
よりレジスタの番号が自動的に変わる。従って、必要な
ときに入力43を与えることでレジスタ番号が変更され
る。
【0043】以上の説明から明らかなように、本実施例
においては、複数のPEには同時に1つのインストラク
ションのみ与えられるが、PE自身がそれを伝播させる
ので全てのPEが同時に同じインストラクションが与え
られることはない。従って、例えば入力動作において全
てのPEが同時に入力を要求することがないのでプロセ
ッサ自身が(SIMD型計算機の様に)PEと同数のデ
ータを同時に与える必要がない。
【0044】同様に、出力についてもプロセッサが同時
にPEと同数のデータを同時に出力する必要がない。
【0045】
【発明の効果】以上詳述したように、本発明において
は、PEの数に無関係にデータ数をクロックごとに入出
力可能な並列画像処理プロセッサを提供することができ
る。
【図面の簡単な説明】
【図1】本発明の一実施例にかかるインストラクション
入力を実現するための回路構成図である。
【図2】クロックに同期したインストラクション(AB
CD)とそれをラッチしたラッチの出力のタイムチャー
トである。
【図3】入力としてのインストラクションが複数のPE
によってどのように実行されてゆくかを説明するための
図である。
【図4】データ入力のタイムチャートである。
【図5】出力としてのインストラクションが伝播される
様子を説明するための図である。
【図6】データ出力のタイムチャートである。
【図7】計算の途中結果を格納するためのレジスタを含
めた場合の構成を示す図である。
【図8】実行時のタイムチャートである。
【図9】レジスタの入出力バス及びレジスタアドレスバ
スを示す図である。
【図10】PEの各ポートを示す図である。
【図11】名前変更を自動的に行うプログラムを実行す
るための図である。
【符号の説明】
PE00〜PE02…プロセッサエレメント(PE)、
10〜12…ラッチ、20〜22…ラッチ。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサエレメントと、 該複数のプロセッサエレメントにそれぞれ対応して設け
    られ、あるタイミングにおいて各プロセッサエレメント
    に異なるインストラクションを与えるために、入力され
    たインストラクションをクロックに同期して逐次、遅延
    伝搬させる複数の遅延手段とを具備したことを特徴とす
    る並列画像処理プロセッサ。
  2. 【請求項2】 クロックに同期して異なるデータを逐
    次、各プロセッサエレメントに入力することを特徴とす
    る請求項1記載の並列画像処理プロセッサ。
JP3314964A 1991-11-28 1991-11-28 並列画像処理プロセツサ Withdrawn JPH05151347A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3314964A JPH05151347A (ja) 1991-11-28 1991-11-28 並列画像処理プロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3314964A JPH05151347A (ja) 1991-11-28 1991-11-28 並列画像処理プロセツサ

Publications (1)

Publication Number Publication Date
JPH05151347A true JPH05151347A (ja) 1993-06-18

Family

ID=18059790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3314964A Withdrawn JPH05151347A (ja) 1991-11-28 1991-11-28 並列画像処理プロセツサ

Country Status (1)

Country Link
JP (1) JPH05151347A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015529363A (ja) * 2012-09-04 2015-10-05 マイヤプリカ テクノロジー エルエルシー 相互関係のある二次元データセットを効率的かつ高速に処理するプロセッサ、システム、および方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9984432B2 (en) 2011-09-03 2018-05-29 Mireplica Technology, Llc Processor, system, and method for efficient, high-throughput processing of two-dimensional, interrelated data sets
US10013733B2 (en) 2011-09-03 2018-07-03 Mireplica Technology, Llc Processor, system, and method for efficient, high-throughput processing of two-dimensional, interrelated data sets
US10540734B2 (en) 2011-09-03 2020-01-21 Mireplica Technology, Llc Processor, system, and method for efficient, high-throughput processing of two-dimensional, interrelated data sets
JP2015529363A (ja) * 2012-09-04 2015-10-05 マイヤプリカ テクノロジー エルエルシー 相互関係のある二次元データセットを効率的かつ高速に処理するプロセッサ、システム、および方法

Similar Documents

Publication Publication Date Title
US4553203A (en) Easily schedulable horizontal computer
JPH0546593B2 (ja)
KR970001899B1 (ko) 메모리연결형 파면어레이 프로세서
WO1992018935A1 (en) Data processor and data processing method
JPH0230538B2 (ja)
JP2959104B2 (ja) 信号処理プロセッサ
JP2001249824A (ja) 論理エミュレーションプロセッサおよびそのモジュールユニット
JPS63167967A (ja) ディジタル信号処理集積回路
JP3458518B2 (ja) 並列プロセッサ
JP5231949B2 (ja) 半導体装置、および、半導体装置によるデータ処理方法
EP0428625A1 (en) Apparatus and method for flexible control of digital signal processing devices
JPH05151347A (ja) 並列画像処理プロセツサ
JP3277399B2 (ja) 画像処理用汎用プロセッサ
JPS63147255A (ja) 複数の直列接続段を有する計算用プロセッサおよびこのプロセッサを応用したコンピュータならびに計算方法
KR19990077845A (ko) 파이프라인된 고속 푸리에 변환 프로세서
JPH0616287B2 (ja) マスク付きベクトル演算処理装置
JP3982324B2 (ja) ベクトル演算処理装置、ベクトル演算方法およびベクトル演算プログラム
JP2654451B2 (ja) データ出力方法
JPH04364525A (ja) 並列演算装置
JPH0668055A (ja) ディジタル信号処理装置
JPS63197217A (ja) デ−タ処理装置
Bryant Report on the Workshop on Self-timed Systems
JPS6373380A (ja) 画像プロセッサ
JPH03189868A (ja) データ処理プロセツサ
JPS63204322A (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: 19990204