JPS6149713B2 - - Google Patents

Info

Publication number
JPS6149713B2
JPS6149713B2 JP56132625A JP13262581A JPS6149713B2 JP S6149713 B2 JPS6149713 B2 JP S6149713B2 JP 56132625 A JP56132625 A JP 56132625A JP 13262581 A JP13262581 A JP 13262581A JP S6149713 B2 JPS6149713 B2 JP S6149713B2
Authority
JP
Japan
Prior art keywords
data
block
cpu
register
ram
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.)
Expired
Application number
JP56132625A
Other languages
Japanese (ja)
Other versions
JPS5835662A (en
Inventor
Yoichi Takagi
Yutaka Kubo
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP56132625A priority Critical patent/JPS5835662A/en
Publication of JPS5835662A publication Critical patent/JPS5835662A/en
Publication of JPS6149713B2 publication Critical patent/JPS6149713B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Description

【発明の詳細な説明】[Detailed description of the invention]

本発明は、複合計算機システムに関する。 大容量データ処理、例えばカメラセンサから入
力された画像データの処理は、アレイプロセツサ
や密結合されたマルチプロセツサ(通産省;研究
開発成果発表会論文集)によつて行つている。然
るに、いずれのシステムでも、特定の演算を高速
に行うための専用機としての性格を有し、システ
ム要求に合せたプロセツサの数の増減はできな
い。また、全体の規模が大きくなる欠点を持つ。
更に、速度の点では、プロセツサ(CPU)単独
処理能力の5〜10倍程度であり、これ以上の高速
化は達成できない。 本発明の目的は、設備構成が簡単で、且つシス
テムとしての柔軟性に富む複合計算機システムを
提供するものである。 本発明の要旨は、上位の計算機から中位、下位
の計算機へと階層関係(1:N:1)に構成し、
且つランダムアクセスメモリを介在させる構成と
した点にある。更に、上記メモリはマルチアクセ
ス方式によつて駆動可能にさせている。 第1図は本発明の複合計算機システムの実施例
を示す図である。本実施例では、プロセツサとし
て、1個のペアレントCPU又はMPU(以下、P
−CPUと称す)1、n個のチヤイルドMPU(以
下、C−MPUと称す))4,5,6………,7、
1個のグランドチヤイルドCPU又はMPU(以
下、GC−MPUと称す)10とを使用している。
尚、MPUはマイクロプロセツサを意味してい
る。P−CPU1はプラント11からのデータ
DATAを取込む。プラント11は生産設備であ
り、生産設備に設置されたテレビカメラにより物
の流れやロボツト制御等の基礎的なデータを得て
いる。かかるテレビカメラ(一般的にはセンスカ
メラ)からの撮像データが、上記プラント11か
らP−CPU1に転送されるものとして開示され
ているデータDATAである。このデータDATA
は、各種の制御及び監視に供すべく処理される。
この処理は、P−CPU1→C−MPU4〜7→GC
−CPU10を経て実行される。 RAM2は、P−CPU1とC−MPU4〜7との
間に介在するランダムアクセスメモリであり、複
数のブロツクA1,A2,A3,………,Aoに分割さ
れている。このブロツク個数はC−MPUの個数
と同一であり、互いに1対1の対応関係を持つて
いる。 ram8は、C−MPU4,5,………7とGC−
CPUとの間に介在するランダムアクセスメモリ
であり、複数のブロツクa1,a2,a3,………,a
oより成る。各ブロツクは個々のC−MPUに1対
1の対応をなしている。 n個のレジスタ(R1,R2,R3,………R
o)3は、RAM2の各ブロツクA1,A2,A3,…
……,Ao、及び各C−MPU4,5,6,……
…,7に対応して設置されている。n個のレジス
タ(r1,r2,r3,………,rn)9はn個の
C−MPU4,5,6,………,7及びn個の
ram8のブロツクa1,a2,a3,………,aoに対応
して設置されている。レジスタ3の各レジスタ
R1(但し、i=1、2、………、n)は対応す
るRAM2のブロツクA1に対応データDATAが格
納終了した時に“1”がセツトされる。レジスタ
R1が“1”の時にはRAM2の対応ブロツクA1
アクセスはC−MPUのi番目のC−MPUによつ
てなされ、レジスタR1が“0”の時にはRAM2
の対応ブロツクA1のアクセスはP−CPUによつ
てなされる。即ち、R1=1の時はRAM2のA1
C−MPUのi番目のC−MPUの管理下、R1=0
の時はRAM2のA1はP−CPUの管理下に入る。 以上のレジスタ3に関する事項は、レジスタ9
についても同様に成立つ。即ち、レジスタ9のr1
=1の時にはram8のa1はGC−CPU10の管理
下、r1=0の時にはram8のa1はC−MPUのi番
目のC−MPUの管理下に入る。 レジスタ3のセツトはレジスタコントローラ4
6によつてなされ、レジスタ9のセツトはC−
MPUによつてなされる。レジスタコントローラ
46はP−CPU1によつて制御を受ける。レジ
スタ3,9はP−CPU1によつてイニシヤルリ
セツトされる構成を採る。 印字装置40、CRT42、外部記憶装置44
はGC−CPU10の管理下におかれ、必要な入出
力を行う。プラント11は、GC−CPU10から
の処理結果をフイードバツクによつて受け、必要
な対処をする。 P−CPU1とC−MPUとによるRAM2のアク
セスはマルメアクセスコントロール方式によつて
行つている。同様に、C−MPUとGC−CPUとに
よるram8へのアクセスはマルチアクセスコント
ロール方式によつて行つている。 動作を説明する。プラント11からの画像デー
タDATAは上位計算機であるP−CPU1に取込
まれる。P−CPU1はこの取込んだデータ
DATAをRAM2の対応するブロツクA1〜Aoに順
次格納する。第2図にプラント11からP−
CPU1へのデータ転送手順の一例を示してい
る。プラント11側では、データDATAの確立
に伴つてP−CPU1へ入力要求IRQを発生する。
データ確立よりt0時間遅れてIRQが発生する事例
を図では示している。このIRQ発生時にP−CPU
1から受信OKの信号RVが発生していれば、P−
CPU1は受信プログラムを作動させ、送信
DATAの受信に入る。P−CPU1はデータ
DATAを受けとると、予じめ定まつたRAM2の
対応ブロツクに順次そのデータDATA18を格
納する。尚、17はアドレスを含めたタグ信号で
ある。 画像データDATAの構造とRAM2の各ブロツ
クとの対応関係を第3図、第4図により説明す
る。第3図は、画像データの構成例を示す。縦及
び横は1024ビツトより成り、各ビツトは画素を形
成している。各画素は、“1”又は“0”の2値
情報を取り得る。この画像データはライン毎にス
キヤンされ、1ライン毎に左から右にスキヤンさ
れてP−CPU1に取込まれる。第1ラインの取
込みが完了すると第2ライン、第2ラインの次に
第3ラインという様に最終ラインが取込み終了す
るまで続けられる。ここでは、16台のC−MPU
で分散処理させる場合について記述する。RAM
2の各ブロツクは同一容量より成り、1024ライン
は均等に16分割される。従つて、各ブロツクは64
ラインより成る。即ち、第1ラインから第64ライ
ンの画素データがRAM2のブロツクA1に格納さ
れ、次に、第65ラインから128ラインの画素デー
タがブロツクA2に格納される。以下同様にし
て、最終ブロツクA16には第961ラインから1024
ラインの画素データが格納される。以上の経過に
より、1画面分の全画像データがRAM2の各ブ
ロツクに格納される。第4図はかかる16ブロツ
ク化した時のRAM2へのデータ格納の様子を示
している。 レジスタ3はRAM2のデータの占有状態を表
示するものであり、レジスタコントローラ46に
よつてセツトされる。レジスタコントロール46
は、P−CPU1からのRAM2へのアクセスアド
レスを取込み、このアドレスが64ライン分を示す
毎に、順次レジスタ3の各要素R1に“1”をセ
ツトさせる機能を果す。即ち、第1ラインからデ
ータ書込みが開始し第64ライン終了に相当するア
ドレスが検出された時には、レジスタコントロー
ル46は要素R1に“1”をセツトする。要素R1
に“1”がセツトされるとC−MPU4がRAM2
のブロツクA1を管理下におくことができ、この
ブロツクA1内のデータの処理をC−MPU4が独
自に行いうる。次に、65ラインから128ラインま
でのデータの書込みがブロツクA2に行われ、
128ラインの終了がレジスタコントローラ46で
検出されると、レジスタコントローラ46はレジ
スタ3の要素R2に“1”をセツトする。この状
態下では、ブロツクA2はC−MPU5の管理下に
おかれ、C−MPU5はブロツクA2内のデータの
独自な処理を行いうる。以下、順次第16番目のブ
ロツクAoまで同様の処理が行われ要素Ro
“1”がセツトされ、C−MPUnの管理下でブロ
ツクAo内のデータ処理が行われる。 RAM2は、P−CPU1とC−MPUとの双方か
らアクセス可能になつており、その切換制御の実
施例を第5図に示す。図は、ブロツクA1へのア
クセス(管理)の切換事例を示す。P−CPU1
とC−MPU4とは、マルチアクセスコントロー
ラ100を介してブロツクA1にインターフエー
スしている。マルチアクセスコントローラ100
はブロツクA1内にデータ格納中は、P−CPU1
とブロツクA1とをインターフエースさせる。デ
ータ格納後はC−MPU4とブロツクA1とをイン
ターフエースさせる。図で、データは、処理対象
のDATAであり、制御信号はアドレス及びその
タグ信号を含む。動作としては、P−CPU1か
らブロツクA1へのデータの書込み、及び書込み
完了後ブロツクA1からC−MPU4へのデータの
読出し転送という過程を経る。 以上の第5図はブロツクA1についてのインタ
ーフエースであるが、他のブロツクA2,A3,…
……等についても、P−CPU1とC−MPUとの
間で同様な関係を持つ。更に、ram8の各ブロツ
クa1,a2,a3,………についても各C−MPUと
GC−CPUとの間で同様なマルチアクセスコント
ローラが介在し、同様な役割を果している。 P−CPU1はライン12からのイニシヤル信
号INITLによつてイニシヤル処理を行う。第6図
にイニシヤル処理のフローチヤートを示す。イニ
シヤルINITLの起動により、RAM2への書込番
地(アドレス)を初期値化し、次いで外部レジス
タ3(R1〜Rn)、9(r1〜rn)をリセツトす
る。更に、C−MPU4〜7をリセツトし、ノー
オペ状態(NOOP)に入り待機する。 第7図はP−CPU1での入力要求IRQ受付後の
データ取込み処理のフローチヤートを示す。取込
みは1バイト単位で行い、RAM2の該当ブロツ
クにデータを格納させてゆく。そして、そのアド
レスを更新し、次いで割込みを解除し、次の入力
要求IRQの割込みを持つ。尚、第7図のフローは
1バイト単位でデータ転送を行い割込みの解除を
行つた事例であるが、1バイト以上、例えば1ラ
イン分とか、全画面分とかのデータ転送毎に割込
みを解除させるシステム構成にしてもよい。 P−CPU1は以上の処理の他に、レジスタ
3,9をリセツトさせる機能を持つ。更に、GC
−CPU及びC−MPUをリセツトさせる機能を持
つ。リセツト信号15,16がそれに該当する。 第8図は各C−MPUの動作フローを示す図で
ある。各C−MPUはP−CPU1のリセツト指令
によりイニシヤライズされる。即ち、RAM2の
読出し番地の初期化、書込みram8の書込み番地
の初期化を行う。更に、外部レジスタRn(但
し、m=1、2、………)をリセツトする。以上
の経過はイニシヤル処理であり、次にループロジ
ツクに処理が移る。ループロジツクでは、該当す
るレジスタRnに“1”がセツトされているか否
かをチエツクし、“1”がセツトされていれば、
そのレジスタRnに該当するRAM2のm番目のブ
ロツクAnの内容をC−MPUmが読出し、所定の
データ処理を行う。データ処理後、結果をram8
のmブロツクに書込み、このブロツクへの書込み
完了と共にレジスタ9のm番目のレジスタ要素r
nに“1”をセツトする。次に読出しRAMの番地
初期化、書込ram番地初期化を行い、ループを介
して元に戻る。この時、m=m+1となり、次の
(m+1)番目のブロツクA(n+1)のための読出し
作業、及び処理、更にram8の(m+1)番目ブ
ロツクan+1への書込みという手順を経て、(m+
1)番目のブロツクについてramへの格納までの
手順が終了する。以下、最終ブロツクに至るまで
同様の手順がなされる。かかる一連の手順の終了
により、各ブロツク毎の処理された処理結果は
ram8の全対応ブロツクに格納され、且つレジス
タ9の各レジスタ要素には各ブロツク終了毎に
“1”がセツトされてゆくことになる。 GC−CPU10は、レジスタ9のレジスタ要素
rは“1”がセツトされているか否かの監視のも
とに、ram8の内容を読出し、所定の処理を行
う。第9図にGC−CPU10での処理フローを示
す。先ず、処理に先立つてP−CPU1によつて
リセツトされ、初期化される。次に、外部レジス
タ9の各レジスタ要素r1,r2,………,rm
について順次“1”がセツトされているかチエツ
クを行い、“1”がセツトされている時にはその
レジスタ要素に該当するramのブロツクの内容を
読出しデータ処理を行う。データ処理の終了によ
りその時のレジスタ要素を信号36によりリセツ
トする。例えば、レジスタr1に“1”がセツト
されていれば、対応するram8のブロツクa1
GC−CPU10がアクセスし、その内容を読出
し、所定のデータ処理を行い、データ処理終了
後、レジスタr1をリセツトする。 以上の実施例により、GC−CPU10はram8
に格納されたデータ、及び格納されてくるデータ
を画像単位に処理する。この処理結果は、印字装
置40、CRT42、記憶装置44に送出され記
録等がなされる。更に、プラント11にも送ら
れ、処理結果に応じた制御或いは操作をなす。 プラント11からのデータ送出からGC−CPU
10内での処理に至るタイムチヤートを第10図
に示す。タイムチヤート全体の動きは第1図から
第9図までの図面の説明で明らかであるが、簡単
に繰返して説明する。先ず、プラント11からの
データDATAをP−CPU1は受けとり、RAM2
のブロツクA1,A2,………に順に格納してゆ
く。各ブロツクの全領域にデータ格納完了によ
り、レジスタ3の対応レジスタ要素Rに“1”を
セツトする。C−MPUはレジスタ要素Rに
“1”が立つていることを確認して、その対応
RAMのブロツクの内容を読出し所定の処理を行
い、ram8の対応するブロツクにその処理結果を
格納する。このMPUでの処理は、全MPUにわつ
たて行われる。ramのブロツクにデータ格納完了
毎にレジスタ8の対応レジスタ要素rに“1”を
セツトする。GC−CPU10はレジスタ8のレジ
スタ要素に“1”が立つていることを条件として
ramの内容を読出しデータ処理を行う。図では、
ブロツクA1を中心として述べているが、ブロツ
クA2,………以下についても同じであり、全体
として前述の如き動作となる。 処理時間を説明する。第11図は本実施例での
処理時間の系統図である。図で、txはP−CPU
1の1画面分の処理時間、tyは最終段のC−
MPU7の処理時間、tzは最終段のC−MPU7に
より駆動されたGC−CPU10の処理時間であ
る。従つて、1画面分の総処理時間Tは T=tx+ty+tz ………(1) となる。一方、シングルな計算機によつて同様の
処理を行つた場合の処理時間T0は T0=tx+n・ty+n・tz ………(2) となる。但し、nはブロツク個数に相当する。両
者を比較すると、本実施例では個数nに相当する
分だけ時間は短縮される。特に、(ty+tz)≫
xの時には、 T=1/nT0 ………(3) となり、n分の1に処理時間が短縮できる。尚、
(ty+tz)≫txの条件は、一般にty≫tx>tz
の関係がある故に、導き出せる条件である。 次に、プラント11の事例を生産設備のプラン
トとし、且つコンベアライン上での搬送物の自動
仕分けに適用した事例を説明する。 第12図は、直角方向に互いにクロスしたコン
ベアライン103を持ち、搬送物108を該ライ
ン上に乗せ、クロス点上でのテーブル101上で
三方向のどちらかのコンベアライン103A,1
03B,103Cに搬送させるかの仕分けを自動
的に行つている。この自動仕分けは、直接的には
コンベア分枝装置104によつて行う。即ち、ど
ちらの方向に仕分けるかの指令51をGC−CPU
10から受けたコンベア分枝装置104は、アー
ム104Aを作動させて、テーブル101上の搬
送物108を仕分け指令方向のコンベアライン上
に乗せる。これによつて仕分けが完了する。 指令51は第1図の実施例中のGC−CPU10
によつて与えられる。この指令の基礎となるデー
タがカメラセンサ105によつて撮像されたテー
ブル101上の状態である。カメラセンサ105
は、テーブル101上を撮像し、その撮像データ
をカメラインターフエース106を介してP−
CPU1に送る。カメラインターフエース106
はP−CPU1への入力要求の割込みIRQ及びデー
タDATAの送出順位を管理し、P−CPU1に送
出する機能を持つ。P−CPU1がデータDATA
を受信した以降の動きは第1図の実施例の通りで
ある。 第1図のP−CPU1からGC−CPU10に至る
系路の中での処理は搬送物108のパターン認識
の処理となる。第13図はそのパターン認識の代
表的な事例を示している。入コンベアライン10
3上には種々の搬送物108が乗る。図では、3
種の搬送物108A,108B,108Cを示し
ている。これらの搬送物は一度、テーブル101
上に乗せられ、カメラセンサ105によつてテー
ブルの真上から搬送物が撮影される。一方、事前
にどの搬送物がどの出ラインに仕分けられるか計
算機側はわかつており、パターン認識結果に応じ
て仕分け先が決定されることになる。図では、搬
送物108Aはライン103Aに、搬送物108
Bはライン103Bに、搬送物108Cはライン
103Cに搬送するようにしている。 搬送物108のパターン認識について述べる。
第14図は搬送物108Aのパターン認識の事例
を示す。撮像画面111上の搬送物108Aは、
互いに直角なX軸、Y軸方向に投影することによ
つてパターンSX,SYを得る。パターンSXは、原
点からパターン中心点までの距離はX0、ひん度
数のピークXhnax、ひん度数の極小値Xhnioとして
いる。同様に、パターンSYは、y0,Yhnax
Yhnioなる値を持つ。この三つの要素がそれぞれ
検出できれば、搬送物は108Aと判定でかる。
第15図は搬送物108Dの事例であり、第14
図と同様に、x0,y0,Xhnax,Yhnax,Xhnio
Yhnioなる要素を検出することによつて搬送物1
08Dを判定できる。第16図は搬送物108D
がX軸方向、Y軸方向に対して整列されていない
事例であり、SX,SYを監視することによつて、
傾きの度合いや、搬送物が108Dであることが
認識できる。 以上のパターンのX軸方向への投影、Y軸方向
への投影、即ち、ひん度数の加算処理はシングル
な計算機によつても達成可能である。本実施例で
は、この統計処理を第1図の実施例によつて達成
する。以下、詳述する。 (1) C−MPU内でのデータ処理について。 各C−MPU内では、対応するRAM2内のブロ
ツク内データを読出し、次の統計処理を行う。即
ち、kライン目の度数集計値yh(k)を求める。こ
れは、次式となる。 となる。但し、jは各ラインの画素番号、yk(j)
はkライン目のj画素番目の画素情報(2値情
報)である。各ブロツク毎にラインは64個ある
故、各ブロツク個有の64ブロツクについて(3)式の
計算を行う。この結果、各ブロツク毎に64個の度
数集計値が得られ、この値はram8内の対応する
ブロツク内に格納される。 更に、各ブロツクについてj列目の度数集計値
Xh1(j)を求める。これは、 となる。但し、xj(k)は、j列、k番目の画素情
報、k1はそのブロツクのスタートライン番号、k2
は最終ライン番号である。(5)式によつて得られる
データ個数は1024個であり、このデータもram8
内の対応ブロツクに格納される。 (2) GC−CPU内でのデータ処理について。 GC−CPU内でのデータ処理による統計処理
は、(4)式、(5)式で求めた列について全画面分の度
数集計を行うことにある。列方向の度数集計値を
Xh(j)とすると、 となる。ここで、
The present invention relates to a compound computer system. Large-capacity data processing, for example, processing of image data input from a camera sensor, is performed by an array processor or a tightly coupled multiprocessor (Ministry of International Trade and Industry; Proceedings of the Research and Development Results Conference). However, each system has the characteristics of a dedicated machine for performing specific calculations at high speed, and the number of processors cannot be increased or decreased in accordance with system requirements. It also has the disadvantage of increasing the overall scale.
Furthermore, in terms of speed, it is about 5 to 10 times the processing capacity of a processor (CPU) alone, and higher speeds cannot be achieved. An object of the present invention is to provide a complex computer system that has a simple equipment configuration and is highly flexible as a system. The gist of the present invention is to configure the computer in a hierarchical relationship (1:N:1) from the upper level computer to the middle level and lower level computers,
Another advantage is that the configuration includes a random access memory. Furthermore, the memory can be driven using a multi-access method. FIG. 1 is a diagram showing an embodiment of a compound computer system of the present invention. In this embodiment, one parent CPU or MPU (hereinafter referred to as P
- CPU) 1, n child MPUs (hereinafter referred to as C-MPU)) 4, 5, 6......, 7,
One grandchild CPU or MPU (hereinafter referred to as GC-MPU) 10 is used.
Note that MPU means microprocessor. P-CPU1 is data from plant 11
Import DATA. The plant 11 is a production facility, and basic data such as material flow and robot control is obtained from a television camera installed in the production facility. Imaging data from such a television camera (generally a sense camera) is the data DATA disclosed as being transferred from the plant 11 to the P-CPU 1. This data DATA
are processed for various types of control and monitoring.
This process is as follows: P-CPU1→C-MPU4~7→GC
- Executed via the CPU 10. The RAM 2 is a random access memory interposed between the P-CPU 1 and the C-MPUs 4 to 7, and is divided into a plurality of blocks A 1 , A 2 , A 3 , . . . , A o . This number of blocks is the same as the number of C-MPUs, and has a one-to-one correspondence with each other. ram8 is C-MPU4,5,...7 and GC-
It is a random access memory interposed between the CPU and multiple blocks a 1 , a 2 , a 3 , ......, a
Consists of o . Each block has a one-to-one correspondence with an individual C-MPU. n registers (R1, R2, R3,......R
o ) 3 is each block A 1 , A 2 , A 3 ,... of RAM2.
..., A o , and each C-MPU4, 5, 6, ...
..., 7. n registers (r1, r2, r3, ......, rn) 9 are used by n C-MPUs 4, 5, 6, ......, 7 and n registers (r1, r2, r3, ......, rn) 9
They are installed corresponding to blocks a 1 , a 2 , a 3 , . . . , a o of ram8. Each register of register 3
R 1 (where i=1, 2, . . . , n) is set to “1” when the corresponding data DATA has been stored in the corresponding block A 1 of the RAM 2. register
When R1 is "1", access to the corresponding block A1 in RAM2 is performed by the i-th C-MPU, and when register R1 is "0", RAM2 is accessed by the i-th C-MPU.
Access to the corresponding block A1 is made by the P-CPU. That is, when R 1 = 1, A 1 of RAM2 is under the control of the i-th C-MPU, and R 1 = 0.
At this time, A1 of RAM2 comes under the control of the P-CPU. The above matters regarding register 3 are as follows: Register 9
The same holds true for . That is, r 1 of register 9
When r 1 =1, a 1 of ram8 is under the control of the GC-CPU 10, and when r 1 =0, a 1 of ram8 is under the control of the i-th C-MPU. Register 3 is set by register controller 4.
6 and the setting of register 9 is done by C-
It is done by MPU. The register controller 46 is controlled by the P-CPU1. The registers 3 and 9 are initially reset by the P-CPU 1. Printing device 40, CRT 42, external storage device 44
is placed under the control of the GC-CPU 10 and performs necessary input/output. The plant 11 receives the processing results from the GC-CPU 10 via feedback and takes necessary actions. Access to the RAM 2 by the P-CPU 1 and C-MPU is performed using the Malmö access control method. Similarly, access to RAM8 by the C-MPU and GC-CPU is performed using the multi-access control method. Explain the operation. Image data DATA from the plant 11 is taken into the P-CPU 1 which is a host computer. P-CPU1 uses this imported data
DATA is sequentially stored in corresponding blocks A 1 to A o of RAM2. In Figure 2, from plant 11 to P-
An example of a data transfer procedure to the CPU 1 is shown. On the plant 11 side, an input request IRQ is generated to the P-CPU 1 upon establishment of data DATA.
The figure shows a case where an IRQ occurs t 0 hours after data establishment. When this IRQ occurs, P-CPU
If the reception OK signal RV is generated from 1, P-
CPU1 operates the receiving program and sends
Start receiving DATA. P-CPU1 is data
When DATA is received, the data DATA 18 is sequentially stored in corresponding blocks of RAM 2 determined in advance. Note that 17 is a tag signal including an address. The correspondence between the structure of the image data DATA and each block of the RAM 2 will be explained with reference to FIGS. 3 and 4. FIG. 3 shows an example of the structure of image data. It consists of 1024 bits vertically and horizontally, and each bit forms a pixel. Each pixel can take binary information of "1" or "0". This image data is scanned line by line, scanned line by line from left to right, and taken into the P-CPU 1. Once the first line has been captured, the second line is followed by the third line, and so on until the final line is captured. Here, 16 C-MPUs
This section describes the case of distributed processing. RAM
Each block of 2 consists of the same capacity, and the 1024 lines are evenly divided into 16. Therefore, each block has 64
Consists of lines. That is, pixel data from the 1st line to the 64th line is stored in block A1 of the RAM 2, and then pixel data from the 65th line to the 128th line is stored in block A2 . Similarly, the final block A 16 includes 1024 lines from the 961st line.
Line pixel data is stored. Through the above process, all image data for one screen is stored in each block of RAM2. FIG. 4 shows how data is stored in the RAM 2 when the data is divided into 16 blocks. Register 3 displays the occupied state of data in RAM 2, and is set by register controller 46. register control 46
has the function of taking in the access address from the P-CPU 1 to the RAM 2, and sequentially setting each element R1 of the register 3 to "1" every time this address indicates 64 lines. That is, when data writing starts from the first line and an address corresponding to the end of the 64th line is detected, the register control 46 sets element R1 to " 1 ". element R 1
When “1” is set to “1”, C-MPU4
block A1 can be placed under management, and the C-MPU 4 can independently process the data in block A1 . Next, data from line 65 to line 128 is written to block A2.
When the end of the 128th line is detected by the register controller 46, the register controller 46 sets element R2 of register 3 to "1". Under this condition, block A2 is placed under the control of C-MPU 5, and C-MPU 5 can perform independent processing of the data within block A2 . Thereafter, similar processing is performed sequentially up to the 16th block Ao , element R0 is set to "1", and data processing in block Ao is performed under the control of C-MPUn. The RAM 2 can be accessed from both the P-CPU 1 and the C-MPU, and an example of switching control is shown in FIG. The figure shows an example of switching access (management) to block A1 . P-CPU1
and C-MPU 4 interface to block A 1 via multi-access controller 100 . Multi access controller 100
is P-CPU1 while data is being stored in block A1 .
and block A1 . After storing the data, the C-MPU 4 and block A1 are interfaced. In the figure, data is DATA to be processed, and control signals include an address and its tag signal. The operation goes through the steps of writing data from the P-CPU 1 to the block A 1 and, after the writing is completed, reading and transferring the data from the block A 1 to the C-MPU 4. The above figure 5 shows the interface for block A1 , but other blocks A2 , A3 ,...
. . . etc., there is a similar relationship between the P-CPU1 and the C-MPU. Furthermore, each block a 1 , a 2 , a 3 , ... of RAM8 is also connected to each C-MPU.
A similar multi-access controller intervenes between the GC and the CPU and plays the same role. The P-CPU 1 performs initial processing in response to the initial signal INITL from the line 12. FIG. 6 shows a flowchart of initial processing. By starting the initial INITL, the write address to the RAM 2 is initialized, and then the external registers 3 (R1 to Rn) and 9 (r1 to rn) are reset. Furthermore, the C-MPUs 4 to 7 are reset and enter a no-operation state (NOOP) to stand by. FIG. 7 shows a flowchart of data acquisition processing after receiving an input request IRQ in the P-CPU 1. The data is fetched in units of 1 byte, and the data is stored in the corresponding block of RAM2. Then, the address is updated, the interrupt is canceled, and the next input request IRQ interrupt is generated. Note that the flow in Figure 7 is an example in which data is transferred in 1-byte units and interrupts are canceled, but interrupts are canceled every time more than 1 byte of data is transferred, such as 1 line or the entire screen. It may be a system configuration. In addition to the above processing, the P-CPU 1 has a function of resetting the registers 3 and 9. Furthermore, G.C.
- Has a function to reset the CPU and C-MPU. The reset signals 15 and 16 correspond to this. FIG. 8 is a diagram showing the operation flow of each C-MPU. Each C-MPU is initialized by a reset command from P-CPU1. That is, the read address of RAM2 and the write address of write RAM8 are initialized. Furthermore, the external register R n (where m=1, 2, . . . ) is reset. The above process is the initial processing, and then the processing moves to the loop logic. In the loop logic, it is checked whether "1" is set in the corresponding register Rn , and if "1" is set,
The C-MPUm reads the contents of the m-th block A n of the RAM 2 corresponding to the register R n and performs predetermined data processing. After data processing, save the results to ram8
When writing to this block is completed, the mth register element r of register 9 is written.
Set n to “1”. Next, the read RAM address is initialized, the write RAM address is initialized, and the process returns via a loop. At this time, m=m+1, and after reading and processing for the next (m+1)th block A (n+1) , and then writing to the (m+1)th block a n+1 of ram8. , (m+
1) The procedure up to storing the block in RAM is completed. Thereafter, the same procedure is performed until the final block is reached. At the end of this series of steps, the processed results for each block are
It is stored in all corresponding blocks of RAM 8, and "1" is set in each register element of register 9 every time each block is completed. The GC-CPU 10 reads the contents of the ram 8 and performs predetermined processing while monitoring whether the register element r of the register 9 is set to "1". FIG. 9 shows the processing flow in the GC-CPU 10. First, prior to processing, it is reset and initialized by the P-CPU 1. Next, each register element r1, r2, ......, rm of the external register 9
It is sequentially checked to see if "1" is set for each register element, and when "1" is set, the contents of the RAM block corresponding to that register element are read out and data processing is performed. Upon completion of data processing, the current register element is reset by signal 36. For example, if register r1 is set to "1", the corresponding block a1 of ram8 is set.
The GC-CPU 10 accesses, reads the contents, performs predetermined data processing, and resets the register r1 after completing the data processing. According to the above embodiment, the GC-CPU10 has RAM8
The data stored in and the data to be stored are processed image by image. The processing results are sent to the printing device 40, CRT 42, and storage device 44 for recording. Furthermore, it is sent to the plant 11 and controlled or operated according to the processing results. From data transmission from plant 11 to GC-CPU
A time chart leading to the processing within 10 is shown in FIG. Although the movement of the entire time chart is clear from the explanation of the drawings from FIG. 1 to FIG. 9, it will be briefly explained again. First, P-CPU1 receives data DATA from plant 11, and RAM2
The blocks A 1 , A 2 , . . . are stored in order. Upon completion of data storage in all areas of each block, the corresponding register element R of register 3 is set to "1". The C-MPU confirms that “1” is set in register element R and takes appropriate action.
The contents of a block in RAM are read out, predetermined processing is performed, and the processing results are stored in the corresponding block in RAM8. This MPU processing is performed across all MPUs. Each time data storage is completed in a block of RAM, the corresponding register element r of register 8 is set to "1". GC-CPU10 operates on the condition that “1” is set in the register element of register 8.
Reads the contents of ram and processes the data. In the diagram,
Although the description focuses on block A 1 , the same applies to blocks A 2 and so on, and the overall operation is as described above. Explain processing time. FIG. 11 is a systematic diagram of processing time in this embodiment. In the figure, t x is P−CPU
The processing time for one screen of 1, t y is the final stage C-
The processing time of the MPU 7, tz , is the processing time of the GC-CPU 10 driven by the C-MPU 7 at the final stage. Therefore, the total processing time T for one screen is T=t x +t y +t z (1). On the other hand, when the same processing is performed by a single computer, the processing time T 0 is T 0 =t x +n·t y +n·t z (2). However, n corresponds to the number of blocks. Comparing the two, in this embodiment, the time is shortened by the amount corresponding to the number n. In particular, (t y + t z )≫
At the time of t x , T=1/nT 0 (3), and the processing time can be reduced to 1/n. still,
The condition for (t y +t z )≫t x is generally t y ≫t x >t z
This is a condition that can be derived because of the relationship. Next, an example will be described in which the plant 11 is used as a production equipment plant and is applied to automatic sorting of conveyed items on a conveyor line. FIG. 12 shows conveyor lines 103 that cross each other at right angles, a conveyed object 108 is placed on the lines, and conveyor lines 103A, 1 in one of three directions are placed on the table 101 at the crossing point.
Sorting into whether to transport to 03B or 103C is automatically performed. This automatic sorting is directly performed by the conveyor branching device 104. That is, the command 51 for sorting in which direction is sent to the GC-CPU.
The conveyor branching device 104 receives the transfer from the conveyor 10 and operates the arm 104A to place the conveyed object 108 on the table 101 onto the conveyor line in the sorting command direction. This completes the sorting. The command 51 is the GC-CPU 10 in the embodiment of FIG.
given by. The data on which this command is based is the state on the table 101 captured by the camera sensor 105. Camera sensor 105
takes an image of the table 101 and sends the imaged data via the camera interface 106 to the P-
Send to CPU1. Camera interface 106
has the function of managing the transmission order of interrupt IRQ and data DATA for input requests to the P-CPU 1, and transmitting them to the P-CPU 1. P-CPU1 is data DATA
The operation after receiving is the same as in the embodiment shown in FIG. The processing in the path from the P-CPU 1 to the GC-CPU 10 in FIG. 1 is processing for pattern recognition of the conveyed object 108. FIG. 13 shows a typical example of pattern recognition. Inlet conveyor line 10
Various objects 108 are placed on top of the conveyor belt 3 . In the figure, 3
Seed conveyances 108A, 108B, and 108C are shown. These conveyed items are once placed on the table 101.
The conveyed object is placed on the table, and the camera sensor 105 photographs the conveyed object from directly above the table. On the other hand, the computer knows in advance which conveyance items are to be sorted to which output line, and the sorting destination is determined according to the pattern recognition results. In the figure, the conveyed object 108A is on the line 103A, and the conveyed object 108
B is transported to the line 103B, and the transported object 108C is transported to the line 103C. Pattern recognition of the transported object 108 will be described.
FIG. 14 shows an example of pattern recognition of the transported object 108A. The transported object 108A on the imaging screen 111 is
Patterns SX and SY are obtained by projecting in the X-axis and Y-axis directions that are perpendicular to each other. In the pattern SX, the distance from the origin to the pattern center point is X 0 , the peak frequency Xh nax , and the minimum frequency Xh nio . Similarly, the pattern SY is y 0 , Yh nax ,
It has the value Yh nio . If each of these three elements can be detected, the conveyed object can be determined to be 108A.
FIG. 15 is an example of the transported object 108D, and the 14th
Similar to the figure, x 0 , y 0 , Xh nax , Yh nax , Xh nio ,
By detecting the element Yh nio , the transported object 1
08D can be determined. Figure 16 shows the conveyed object 108D.
This is a case where
The degree of inclination and the fact that the transported object is 108D can be recognized. The above-described projection of the pattern in the X-axis direction and Y-axis direction, that is, the frequency addition process can also be accomplished by a single computer. In this embodiment, this statistical processing is achieved by the embodiment shown in FIG. The details will be explained below. (1) Regarding data processing within C-MPU. Within each C-MPU, the data within the block in the corresponding RAM 2 is read out and the following statistical processing is performed. That is, the total frequency value yh(k) of the k-th line is calculated. This becomes the following formula. becomes. However, j is the pixel number of each line, yk(j)
is the pixel information (binary information) of the j-th pixel of the k-th line. Since there are 64 lines in each block, equation (3) is calculated for the 64 blocks unique to each block. As a result, 64 total frequency values are obtained for each block, and these values are stored in the corresponding block in ram8. Furthermore, for each block, the frequency summary value of the j-th column
Find Xh 1 (j). this is, becomes. However, xj(k) is the kth pixel information in the j column, k1 is the start line number of the block, and k2
is the final line number. The number of data obtained by formula (5) is 1024, and this data is also RAM8
is stored in the corresponding block within. (2) Regarding data processing within the GC-CPU. Statistical processing by data processing within the GC-CPU consists of calculating the frequencies for the entire screen for the columns determined by equations (4) and (5). The aggregated frequency values in the column direction are
If Xh(j), becomes. here,

【式】は、i番目以前 のブロツクの集計値を示す。ライン方向の集計
は、C−MPUによる集計によつて完了している
故、新たな演算処理は不用である。かくして得ら
れたライン方向及び列方向のデータから特徴を抽
出する作業及び比較する作業もGC−CPUが行
う。特徴抽出及び比較のアルゴリズムは対象とす
るパターンによつて変化するものであることは云
うまでもない。 以上の実施例は、生産設備の事例であつたが、
一般的な画像データの処理についても同様に処理
することができる。また、P−CPUやC−
MPU、GC−CPUは、一般的に計算機とみてもよ
く、従つて主メモリ等は図面上省略したものとみ
てよい。尚システムとして増設をする場合には、
ブロツク単位のメモリの追加、C−MPUの追
加、及びP−CPU、GC−CPUのソフト上の機能
追加によつて簡単に実現できる。システムとして
の規模の縮少も同様に対応するプロセツサやメモ
リの縮少をはかることによつて実現できる。ま
た、実施例ではレジスタコントロールを外部に設
けたが、これの代りにP−CPUの中にソフト的
にその機能を持たせることによつて除去すること
もできる。 本発明によれば、計算機を1:N:1の階層構
成の複合計算機システムとしたことによつて処理
速度の高いデータ処理ができるようになつた。特
に、マイクロプロセツサ(マイクロ計算機)は小
形化の方向にあるため費用的に大巾な設備費の増
加はない。また、本発明では、C−MPUの取換
えは全く自由であり、システムとしての増設、縮
少、変更も自由にできる。
[Formula] indicates the total value of the i-th and earlier blocks. Since the aggregation in the line direction is completed by the C-MPU, no new arithmetic processing is necessary. The GC-CPU also performs the work of extracting features from the thus obtained data in the line direction and column direction and the work of comparing them. It goes without saying that the feature extraction and comparison algorithms vary depending on the target pattern. The above example was an example of production equipment, but
General image data can be processed in the same way. Also, P-CPU and C-
The MPU and GC-CPU can generally be regarded as computers, and therefore the main memory and the like may be omitted from the drawing. In addition, when expanding the system,
This can be easily achieved by adding memory in block units, adding C-MPU, and adding software functions to P-CPU and GC-CPU. The scale of the system can also be reduced by reducing the corresponding processor and memory. Further, although the register control is provided externally in the embodiment, it can be removed by providing the function in software in the P-CPU instead. According to the present invention, data processing can be performed at a high processing speed by using a compound computer system with a 1:N:1 hierarchical structure. In particular, since microprocessors (microcomputers) are becoming smaller in size, there will be no significant increase in equipment costs. Furthermore, in the present invention, the C-MPU can be completely replaced, and the system can be expanded, reduced, and changed freely.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の実施例図、第2図はタイムチ
ヤート、第3図は画面を示す図、第4図は画像デ
ータとメモリとの関係を示す図、第5図はマルチ
アクセスを示す実施例図、第6図、第7図はP−
CPUのフローチヤート、第8図はC−MPUのフ
ローチヤート、第9図はGC−CPUのフローチヤ
ート、第10図、第11図はタイムチヤート、第
12図は生産設備プラントの一例を示す図、第1
3図、第14図、第15図、第16図はそれぞれ
異なる搬送物とその投影集計値との関係を示す図
である。 1……P−CPU、2……RAM、4〜7……C
−MPU、8……ram、3,9……レジスタ、1
0……GC−CPU、11……プラント。
Fig. 1 is an embodiment of the present invention, Fig. 2 is a time chart, Fig. 3 is a screen diagram, Fig. 4 is a diagram showing the relationship between image data and memory, and Fig. 5 is a diagram showing multi-access. Example diagrams, Figures 6 and 7 are P-
Flowchart of CPU, Figure 8 is a flowchart of C-MPU, Figure 9 is a flowchart of GC-CPU, Figures 10 and 11 are time charts, and Figure 12 is a diagram showing an example of a production equipment plant. , 1st
3, FIG. 14, FIG. 15, and FIG. 16 are diagrams showing the relationships between different transported objects and their projected total values. 1...P-CPU, 2...RAM, 4-7...C
-MPU, 8...ram, 3, 9...register, 1
0...GC-CPU, 11...Plant.

Claims (1)

【特許請求の範囲】 1 上位のプロセツサと、N個の中位のプロセツ
サと、下部のプロセツサと、上位のプロセツサと
N個の中位のプロセツサとの間に介在し且つN個
のブロツクに分割されると共に各ブロツクはN個
の中位プロセツサのそれぞれに対応してなる構成
とするN個のブロツクを持つ第1のRAMと、N
個の中位のプロセツサと下位のプロセツサとの間
に介在し且つN個のブロツクに分割されると共に
各ブロツクはN個の中位プロセツサのそれぞれに
対応してなる構成とするN個のブロツクを持つ第
2のRAMとを備え、上位プロセツサからの第1
のRAMへは該第1のRAMの各ブロツクへ順次デ
ータを分配し、N個の中位プロセツサでは第1の
RAMの各ブロツク内データを対応する各プロセ
ツサが処理し、第2のRAMの各対応するブロツ
クへはその処理結果を格納させ、下位のプロセツ
サでは第2のRAMのデータを全ブロツクについ
て処理する構成とする複合計算機システム。 2 上記第1のRAMの各ブロツクについて中位
のN個のプロセツサのそれぞれが使用可能か否か
を示す第1のレジスタを設け、上記第2のRAM
の各ブロツクについて下位のプロセツサが使用可
能か否かを示す第2のレジスタを設け、該第1、
第2のレジスタの内容をみてプロセツサのアクセ
スを実行させてなる特許請求の範囲第1項記載の
複合計算機システム。
[Claims] 1. An upper processor, N intermediate processors, a lower processor, interposed between the upper processor and N intermediate processors, and divided into N blocks. a first RAM having N blocks, each block corresponding to each of the N intermediate processors;
The processor is interposed between a middle-level processor and a lower-level processor, and is divided into N blocks, with each block corresponding to each of the N middle-level processors. a second RAM with
The data is distributed sequentially to each block of the first RAM, and the N intermediate processors distribute data to each block of the first RAM.
The configuration is such that each processor processes the data in each block of RAM, stores the processing results in each corresponding block of the second RAM, and the lower processor processes the data of the second RAM for all blocks. Composite computer system. 2. A first register is provided for each block of the first RAM to indicate whether or not each of the middle N processors can be used.
A second register is provided to indicate whether or not a lower processor can be used for each block of the first and second blocks.
2. The multifunction computer system according to claim 1, wherein the processor access is executed by checking the contents of the second register.
JP56132625A 1981-08-26 1981-08-26 Multicomputer system Granted JPS5835662A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56132625A JPS5835662A (en) 1981-08-26 1981-08-26 Multicomputer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56132625A JPS5835662A (en) 1981-08-26 1981-08-26 Multicomputer system

Publications (2)

Publication Number Publication Date
JPS5835662A JPS5835662A (en) 1983-03-02
JPS6149713B2 true JPS6149713B2 (en) 1986-10-30

Family

ID=15085692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56132625A Granted JPS5835662A (en) 1981-08-26 1981-08-26 Multicomputer system

Country Status (1)

Country Link
JP (1) JPS5835662A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0318406Y2 (en) * 1986-09-17 1991-04-18
JPH0338163Y2 (en) * 1986-06-10 1991-08-13
JPH05324954A (en) * 1991-11-28 1993-12-10 Nec Corp Device for counting the number of parked cars

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6227873A (en) * 1985-07-29 1987-02-05 Kanebo Ltd Checking device for external appearance
JPS62166471A (en) * 1986-01-20 1987-07-22 Mitsubishi Electric Corp Parallel processing system for image data
JPS6380358A (en) * 1986-09-24 1988-04-11 Daikin Ind Ltd Data processor
JPS6491279A (en) * 1987-10-01 1989-04-10 Toshiba Corp System for reconstructing image
JPH01183048A (en) * 1988-01-08 1989-07-20 Jeol Ltd Electron probe microanalyzer

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0338163Y2 (en) * 1986-06-10 1991-08-13
JPH0318406Y2 (en) * 1986-09-17 1991-04-18
JPH05324954A (en) * 1991-11-28 1993-12-10 Nec Corp Device for counting the number of parked cars

Also Published As

Publication number Publication date
JPS5835662A (en) 1983-03-02

Similar Documents

Publication Publication Date Title
US4860375A (en) High speed cellular processing system
US7489834B2 (en) Method and apparatus for image processing
JPH0740252B2 (en) Multi-processor system
JPH0221025B2 (en)
EP0380845B1 (en) An interface between a system control unit and a service processing unit of a digital computer
CN115552420A (en) System on chip with deep learning accelerator and random access memory
JPS6149713B2 (en)
JPH0785254B2 (en) Character image reader
JP4096513B2 (en) Image processing inspection apparatus and inspection method
KR920003459B1 (en) Image processing apparatus
US7321438B2 (en) Parallel processing for a first and second image data from one input image
JPS63159961A (en) Transfer controller for direct memory access
JPS6252906B2 (en)
JPH07177435A (en) High-speed visual sensor
JPS6334658A (en) Dma controller for image processor
JP2000047995A (en) Method and device for parallel processing and appearance checking device using the same
JP2961754B2 (en) Parallel processing unit of information processing device
Atiquzzaman et al. A novel multiprocessor architecture for low-level image processing applied to road-traffic data capture and analysis
GB2180118A (en) Image processing
JPS61233869A (en) Picture processor
JP2602852B2 (en) Modularized parallel computer
JP2002278753A (en) Data processing system
JPH0785260A (en) Two-dimensional sensor device
JPH05250332A (en) Electronic equipment
JPH04247548A (en) Parallel sorter