JPH06103460B2 - プログラム転送方式 - Google Patents

プログラム転送方式

Info

Publication number
JPH06103460B2
JPH06103460B2 JP60259543A JP25954385A JPH06103460B2 JP H06103460 B2 JPH06103460 B2 JP H06103460B2 JP 60259543 A JP60259543 A JP 60259543A JP 25954385 A JP25954385 A JP 25954385A JP H06103460 B2 JPH06103460 B2 JP H06103460B2
Authority
JP
Japan
Prior art keywords
program
signal
processor
address
processing
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 - Lifetime
Application number
JP60259543A
Other languages
English (en)
Other versions
JPS62118440A (ja
Inventor
淳 長谷部
良平 加藤
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.)
Sony Corp
Original Assignee
Sony 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
Priority to JP60259543A priority Critical patent/JPH06103460B2/ja
Application filed by Sony Corp filed Critical Sony Corp
Priority to GB8627177A priority patent/GB2183375B/en
Priority to CA000523213A priority patent/CA1278098C/en
Priority to DE3639395A priority patent/DE3639395C2/de
Priority to FR868616097A priority patent/FR2590385B1/fr
Priority to NL8602940A priority patent/NL8602940A/nl
Priority to US06/932,277 priority patent/US4920482A/en
Publication of JPS62118440A publication Critical patent/JPS62118440A/ja
Priority to GB8906977A priority patent/GB2216309B/en
Priority to GB8906978A priority patent/GB2216310B/en
Priority to GB8906979A priority patent/GB2216311B/en
Priority to CA000615659A priority patent/CA1289677C/en
Priority to CA000615660A priority patent/CA1290071C/en
Priority to CA000615658A priority patent/CA1290066C/en
Publication of JPH06103460B2 publication Critical patent/JPH06103460B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram

Landscapes

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

Description

【発明の詳細な説明】 以下の順序でこの発明を説明する。
A 産業上の利用分野 B 発明の概要 C 従来の技術 D 発明が解決しようとする問題点 E 問題点を解決するための手段 F 作用 G 実施例 G1 この発明のプラグラム転送の実現回路の説明(第1
図、第2図) G2 画像処理装置の説明(第3図) G3 モード切換の説明(第4図、第5図) G4 プログラム実行モードの説明(第4図、第5図) G5 プログラム交換モードの説明(第4図、第5図) G6 リセット(停止)モードの説明(第4図、第5図) G7 TC(40)の処理の流れの説明(第6図) H 発明の効果) A 産業上の利用分野 この発明はプログラムに従って情報例えば画像を処理す
る装置であって、このプログラムの内容を可変できる処
理装置等に適用されるプログラム転送方式に関する。
B 発明の概要 この発明は可変プログラムの情報処理をなす場合におい
て、処理用プロセッサのマイクロプログラムメモリに複
数のプログラムを全体で1つのプログラムとみなして1
回の転送で書き込んでしまうとともにその複数のプログ
ラムのうち次に使用するプログラムの開始アドレスを供
給しておくようにしたもので、複数のプログラムのそれ
ぞれを実行したい時に適宜プロセッサに転送する場合に
比べて転送回路が簡単で小規模のもので済むとともに処
理時間に占める転送のための時間を節約して全体として
処理スピードを高めることができるものである。
C 従来の技術 ビデオ画像処理システムが種々提案されている(例えば
電子通信学会論文誌85/4 Vol.J68−DNo.4、特開昭58-21
5813号公報参照)。
第7図はこのビデオ画像処理装置の一例を示すものであ
る。
一般にこの種の処理装置は同図に示すように入出力部
(1)と、入力画像メモリ(2A)と出力画像メモリ(2
B)とからなるメモリ部(2)と、データ処理部(3)
とから構成されている。
入出力部(1)は、例えばビデオカメラ(4)よりのビ
デオ信号をA/D変換してデジタル画像データとし、これ
を入力画像メモリ(2A)に書き込み、また、出力画像メ
モリ(2B)より処理された画像データを読み出し、これ
をD/A変換してアナログビデオ信号に戻し、これを例え
ばVTR(5)に記録したり、モニタ受像機(6)に供給
してビデオ画像をモニタできるようにする。
メモリ部(2)への書き込み及び読み出しは画像のまと
まり、すなわち1フィールドあるいは1フレーム単位で
なされる。このため入力画像メモリ(2A)及び(2B)の
各々は1フィールドあるいは1フレーム分の画像データ
分の容量を有するメモリを複数枚有する。
データ処理部(3)はプロセッサを有し、そのプログラ
ムに従って入力画像メモリ(2)にストアされた画像デ
ータを読み出してこれに種々の加工処理を加え、その処
理後のデータを出力画像メモリ(2B)に書き込む処理を
行う。
データ処理部(3)のプロセッサは1枚あるいは複数枚
のプロセッサからなっており、そのマイクロプログラム
メモリの内容であるマイクロプログラムは、より処理の
幅を広げる場合には交換できるようにされている。この
場合、プログラム供給部(一般にはホストのコンピュー
タ)(7)よりそのマイクロプロセッサが各プロセッサ
に供給され、例えばユーザのプログラム交換要求(スイ
ッチのオン)によりマイクロプログラムが交換されるよ
うにされている。
この場合、例えば1つのプロセッサにおいて複数の短い
プログラムを順次実行させるような場合、各プログラム
の実行が終了したら次のプログラムを順次転送して実行
させるというような転送方式を行なうのが一般的であ
る。
また、処理用プロセッサが複数個あり、その複数のプロ
セッサに異なったプログラムを転送する場合には、各プ
ログラム毎にそれを送るプロセッサを選択して転送させ
るようにするのが一般的である。
D 発明が解決しようとする問題点 前記のように1つのプロセッサに複数の短いプログラム
を順次転送して実行させるような転送方式を採用すると
きは、転送回数がプログラムの数だけ必要になるため処
理時間のうち転送に要する時間が長くなり、このため全
体としての処理速度が低下してしまう欠点があった。
また、複数のプロセッサに複数の異なるプログラムをプ
ログラム毎にプロセッサを選択して転送する方式の場
合、プロセッサの選択コントロールが必要になり、転送
のための回路が複雑になるとともに回路が大規模になっ
てしまう欠点があった。
E 問題点を解決するための手段 本発明によれば、夫々互いに異なるプログラムで動作す
る複数のプロセッサに上記プログラムを供給するプログ
ラム転送方式において、上記互いに異なる複数のプログ
ラムを全体で1つの集合プログラムとみなして上記複数
のプロセッサに同時に上記集合プログラムを供給し、か
つ上記各プロセッサに実行させるべき個々の上記プログ
ラムの開始アドレスを任意の時点で上記各プロセッサに
供給することにより、上記各プロセッサが夫々上記集合
プログラムのうち上記開始アドレスにて示された所望の
部分を実行するようにしたことを特徴とするプログラム
転送方式を提供する。
F 作用 複数のプログラムが1回の転送でプロセッサに供給され
るが実行開始アドレスも供給されているので、プロセッ
サでプログラムを実行するときはその実行開始アドレス
から始まる特定の1つのプログラムが実行されることに
なる。したがって、その実行開始アドレスを変えるだけ
で、複数のプログラムを順次実行でき、また、実行開始
アドレスをプロセッサ毎に変えれば、必要とするプログ
ラムのみが実行されることになる。
G 実施例 G1 この発明のプログラム転送の実現回路例の説明 第1図はこの発明によるプログラム転送方式の実現回路
の一例を示すもので、この例は複数のプロセッサに複数
のプログラムを転送する場合の例である。
第1図において(100)はプログラム供給部で、プログ
ラム転送要求があったとき、これよりn個のプロセッサ
(2001)(2002)・・・(200n)にプログラムが供給さ
れるようにされている。
このプログラム供給部(100)は、送るべき複数のプロ
グラムの入ったROM(101)と、各プロセッサの実行開始
アドレスの入ったROM(102)と、ROM(101)に対するア
ドレスカウンタ(103)と、書き込み信号発生手段とを
有する。書き込み信号発生手段は比較手段(104)で構
成される。
この例の場合、ROM(101)に入った複数のプログラムの
うち、送る必要のある複数のプログラムのみを送ること
ができるようにされている。
すなわち、(105)はROM(101)に入った複数のプログ
ラムのうち送るべき複数のプログラムのアドレスの若い
プログラムのスタートアドレスを発生するスタート値発
生手段である。
また、(106)はROM(101)に入った複数のプログラム
のうち送るべき複数のプログラムのアドレス値の大きい
プログラムのエンドアドレスを発生するエンド値発生手
段である。
例えば、ROM(101)の“0"番地から、“28"番地までに
第2図に示すように第1〜第3プログラムの内容がスト
アされている場合において、この第1〜第3プログラム
をプロセッサ(2001)〜(200n)に転送するときは、ス
タート値発生手段(105)からアドレス値“0"のデータ
が、エンド値発生手段(106)からアドレス値“28"のデ
ータが得られる。
そして、スタート値発生手段(105)よりのスタート値
はアドレスカウンタ(103)に供給され、このアドレス
カウンタ(103)がこのスタート値よりカウントを開始
する。そして、そのカウント値出力がROM(101)に読み
出しアドレスとして供給されるとともに、各プロセッサ
(2001)〜(200n)のマイクロプログラムメモリに書き
込みアドレスADRSとして供給される。ROM(101)より読
み出されたプログラムデータDATEも、また各プロセッサ
(2001)〜(200n)のマイクロプログラムメモリに供給
される。
この場合、各プロセッサ(2001)〜(200n)のマイクロ
プログラムメモリはROM(101)とほぼ等しい容量を有す
るものとされる。
アドレスカウンタ(103)よりのアドレスデータADRS
は、また、比較手段(104)に供給され、エンド値発生
手段(106)よりのエンド値と比較される。そして、こ
の比較手段(104)からはスタート値からアドレスデー
タADRSが順次変化してエンド値に一致するまで例えば
「0」になる書き込み信号WRが得られ、これが各プロセ
ッサ(2001)〜(200n)のマイクロプログラムメモリの
書き込みイネーブル端子に供給されて、この書き込み信
号WRが「0」である間だけ、メモリへのプログラムの書
き込みが可能になる。
以上のことから、アドレスカウンタ(103)よりのアド
レスデータADRSが“0"から“28"まで変わるとき書き込
み信号WRが「0」になり、この“0"番地から“28"番地
にROM(101)に書き込まれている第1〜第3プログラム
が1つのプログラムとしてこのROM(101)より順次読み
出され、各プロセッサ(2001)〜(200n)のマイクロプ
ログラムメモリのアドレスデータADRSに従ったアドレス
に書き込まれる。
こうして、プログラムが各プロセッサ(2001)〜(200
n)に転送されるとともに、ROM(102)より各プロセッ
サ毎に第1〜第3プログラムのうち、そのプロセッサで
次に実行するプログラムのスタートアドレスが実行開始
アドレスCS1〜CSnとして各個に供給され、各プロセッサ
(2001)〜(200n)のレジスタにラッチされる。第2図
の例で言えば第1プログラムの実行開始アドレスは“0"
番地、第2プログラムの実行開始アドレスは“6"番地、
第3プログラムの実行開始アドレスは“19"番地であ
る。
そして、転送終了後に各プロセッサにおいてプログラム
実行すれば、その実行開始アドレスからプログラムが開
始する。すなわち、目的とするプログラムが実行される
ことになる。
なお、次に実行するプログラムが既に転送した複数のプ
ログラムの中のものであれば、前のプログラムの終了
後、実行開始アドレスのみを送り直すことによって各プ
ロセッサで別のプログラムの実行ができる。
なお、プロセッサ毎に、複数のプログラムのかたまりを
1つのプログラムとして転送するようにしてもよいが、
第1図の例のようにすべてのプロセッサに同時に転送し
てしまうようにすれば転送回数は1回でよい。
もっとも、複数のプロセッサのそれぞれに異なるプログ
ラムを転送する場合には、1かたまりとして送るプログ
ラムの数が全プロセッサの数だけ必要となり、それだけ
転送に要する時間が長くなる。そこで、プロセッサの数
が多数である場合にはプログラム転送の必要なプロセッ
サにのみ、そのプロセッサと同数のプログラムを1かた
まりとしたものを、プロセッサ1個毎に順次転送した方
が全体の転送に要する時間が短くなる場合もある。
次にこの発明を画像処理装置に適用したより具体的な実
施例について説明する。
G2 画像処理装置の説明 第3図はこの発明装置が適用されるビデオ画像処理装置
の全体の概要の一実施例を示すもので、この例はデータ
処理の高速化を実現した例である。
すなわち、この例ではデータ処理部を主として画素値を
計算するプロセッサの系(以下PIPと称す)(30A)とア
ドレスの管理等のデータの流れの管理と処理のタイミン
グ合わせを司るプロセッサ系(以下PVPと称す)(30B)
とに分ける。
従来のデータ処理部ではこの両者の処理時間を合計した
処理時間を必要とするのに対し、このように分ければ両
者のうち、より大きい方の処理時間で済む(前掲特開昭
5-215813号公報参照)。したがって、この例の場合には
ビデオデータ処理をリアルタイムで行うことが可能にな
るほどの高速処理ができる。
また、同図において(10)は入出力部(以下IOCと称
す)、(20)はメモリ部(以下VIMと称す)で、これは
入力画像メモリ(VIMIN)(20A)と出力画像メモリ(VI
MOUT)(20B)とからなる。(40)は処理の実行,停
止、プログラム交換をコントロールする全体のコントロ
ーラとしてのプロセッサ(以下TCと称す)である。
(50)はホストのコンピュータで、TC(40)から各プロ
セッサに供給するプログラムはこのホストのコンピュー
タ(50)から供給しておく。TC(40)ではそのプログラ
ムを例えばRAMにストアしておく。
IOC(10)は前述と同様にビデオカメラやVTRからのビデ
オ信号をA/D変換し、入力画像メモリ(20A)に画像イメ
ージで書き込み、また、処理後の画像を出力画像メモリ
(20B)から読み出し、D/A変換し、モニタ等に出力す
る。
この場合、このIOC(10)に入出力可能な信号はNTSC方
式あるいはR,G,B方式のビデオ信号であり、その方式の
指定はTC(40)によりなされる。また、1画素は例えば
8ビットのデータとされる。
VIM(20)は複数枚のフレームメモリ、例えば12枚の765
×512バイトのフレームメモリから構成されている。こ
の例の場合、これら12枚のフレームメモリの使われ方は
固定的ではなく、処理目的に応じ、あるいは処理対象画
像に応じ、入力画像メモリ(20A)と出力画像メモリ(2
0B)とに自由に割り当てることができるようにされてい
る。また、メモリは2枚1組にして使用され、一方が書
き込み状態のとき、他方より読み出しができるようにさ
れて、IOC(10)によるVIM(20)の外部からの処理と、
PIP(30A)及びPVP(30B)によるVIM(20)の内部での
処理が平行して行えるようにされている。
この場合において、このVIM(20)の複数枚のフレーム
メモリが、IOC(10)の支配下におかれるか、PVP(30
B)の支配下におかれるかの支配モード信号はIOC(10)
より発生し、VIM(20)に供給されている。
PIP(30A)とPVP(30B)は基本的には同じアーキテクチ
ャで、制御部、演算部、メモリ部、入出力ポートからな
る独立のプロセッサで、それぞれ複数の単位プロセッサ
からなるマルチプロセッサ構成とされ、主として並列処
理方式により処理の高速化が図られている。
PIP(30A)は例えば60枚のPIPプロセッサと数枚のサブ
のプロセッサを有し、VIM(20)よりの画像データを加
工又はこのPIP内部で画像データを生成する。
PVP(30B)は例えば30枚ほどのプロセッサを有し、VIM
(20)よりの画素データのPIP(30A)への割り当てや回
収などVIM(20)より内側の画像データの流れをコント
ロールする。
すなわち、PVP(30B)ではVIM(20)へのアドレスデー
タ及びコントロール信号を生成し、これらをVIM(20)
に供給するとともに、PIP(30A)の入出力コントロール
信号や他のコントロール信号を生成し、これらをPIP(3
0A)に供給する。
この画像データ処理としては常に入力画像メモリ(20
A)の1枚のフレームよりのデータのみを処理して出力
画像メモリ(20B)にその処理後のデータを書き込む場
合のみではなく、複数枚のフレームメモリよりの複数フ
レームにまたがるデータを用いて処理を行うこともあ
る。
そして、PIP(30A)及びPVP(30B)での演算桁数は16ビ
ットが標準で画像データ処理の演算処理は1フレームの
画像データは1フレーム以内の処理すなわちリアルタイ
ム処理ができるような処理速度が可能とされる。もっと
も、1フレーム以上の処理時間を必要とする処理もあ
る。
この場合、PIP(30A)及びPVP(30B)による画像データ
処理はフレームに同期して行われる。このため、PVP(3
0B)にはIOC(10)よりフレームに同期した処理開始タ
イミング信号PSが供給される。この信号PSは通常ハイレ
ベルで、処理開始タイミングになるとローレベルとな
る。一方、PVP(30B)からは1つの処理が終了したこと
を示す信号OKがIOC(10)に供給される。この信号OKはP
VP(30)のプロセッサのうち処理系のタイミング管理を
司るこのPVP(30B)の中核のプロセッサより処理が終わ
ると出力される。処理開始タイミング信号PSは各フレー
ムの1ライン目を示すフレーム開始信号と処理終了信号
OKとからIOC(10)において生成する。
リアルタイムで処理をなす場合には、信号OKは各フレー
ムの終りで必ず得られるため、信号PSはフレーム開始信
号FLと同じ信号になる。
一方、処理時間が1フレームより長い場合には、信号PS
はフレーム周期とはならず、信号OKが出た次のフレーム
の始めで得られる。
そして、IOC(10)からの処理開始タイミング信号PSが
ローレベルになったことをPVP(30B)の中核のプロセッ
サがプログラム的に検出すると、このプロセッサが走り
出し、他のプロセッサ(PIPも含む)にプログラムによ
りタイミング信号を出して、VIM(20)にアドレスを供
給し、VIM(20)よりの画像データを読み出してPIP(30
A)にて加工処理を行う。そして、処理が終わると信号O
Kを出力して停止し、次の処理開始タイミング信号PSを
待つ。
この場合、同期信号やバースト信号は除かれた画像信号
部分のみが処理対象とされており、VIM(20)から読み
出されたデータは同期信号やバースト信号は含んでいな
い。このため、この出力回路(15)では同期信号、バー
スト信号、直接ブランキング信号を生成するROMを内蔵
しており、NTSC信号の場合、VIMOUT(20B)からのデー
タを(必要なら組みかえて)これら同期信号、バースト
信号、垂直ブランキング信号ともにD/Aコンバータ(1
6)に送る。
また、3原色信号である場合にも、外部同期信号が必要
であり、これもこの回路(15)で生成され、モニター等
に供給されるようにされている。
G3 モード切換の説明 以上のようなマルチプロセッサによる並列処理システム
において、TC(40)が以下に述べるように3つのモード
により総合的に管理することにより、矛盾なく処理実
行、停止、プログラム交換ができるようにされている。
第4図はPIP(30A)又はPVP(30B)の複数のプロセッサ
のうちの1つのプロセッサの制御部と、TC(40)との間
の接続関係を示すもので、プログラム交換されるすべて
のプロセッサについて同様の構成となる。
すなわち、同図において、TC(40)以外はプロセッサの
制御部の構成の一例を示し、(60)はマイクロプログラ
ムコントローラ、(61)〜(64)はマイクロプログラム
メモリである。マイクロプログラムコントローラ(60)
からはマイクロプログラムメモリ(61)〜(64)のアド
レスを発生する。
マイクロプログラムメモリ(61)からは、マイクロプロ
グラムコントローラ(60)の複数のインストラクション
のうちの1つを選択するインストラクションビットが得
られ、これがレジスタ(65)を介してコントローラ(6
0)のインストラクション端子Iに供給される。
この場合、インストラクションビットは例えば4ビット
で16通りのインストラクションをこのコントローラ(6
0)は有する。
また、(66)は選択器で、これには所望の1ビットの情
報が複数個供給され、マイクロプログラムメモリ(62)
より読み出された情報によってそのうちの1つが選択さ
れる。この選択器(66)よりの1ビットの情報はプログ
ラムコントローラ(60)にコンディションコードとして
供給され、次のアドレスとして、1個歩進したものか、
ダイレクト入力端Dに供給されるアドレスか、その他の
アドレスかを選択する情報とされる。
マイクロプログラムメモリ(63)からは、例えば「go t
o文」の行き先のアドレスの情報や、Doループの回数等
の情報が得られ、これはレジスタ(671)にラッチされ
る。
マイクロプログラムメモリ(64)からはマイクロインス
トラクションの情報が得られ、これはレジスタ(68)を
介してこのプロセッサの演算部に与えられる。
このマイクロプログラムコントローラ(60)は3つのイ
ネーブル信号PL,VECT,MAPのうちの1つをインストラク
ションビットに応じてイネーブルとするようにされてい
る。したがって、インストラクションビットによりレジ
スタ(671)〜(673)のうちの1つがイネーブルにな
り、そのレジスタにラッチされていたアドレスがダイレ
クト入力となる。殆どのインストラクションでは信号PL
がイネーブルになり、信号VECT,MAPがイネーブルになる
のは特定のインストラクションのみである。しかも、そ
のインストラクションビットの状態において、ダイレク
ト入力を選択するかどうかは選択器(66)よりのコンデ
ィションコードによる。
また、このマイクロプログラムコントローラ(60)はレ
ジスタ(65)よりの4ビットのインストラクションビッ
トが〔0000〕のとき、〔JUMP ZERO〕という命令になり
このマイクロプログラムコントローラ(60)よりはコン
ディションコードに関係なく常にスタートアドレスであ
る0番地が出力される状態となる。
一方、TC(40)はマイクロプログラムメモリ(61)〜
(64)に供給するプログラムがストアされるRAM(401)
と、そのアドレス発生器(402)を有する。
また、実行モード、リセット(停止)モード、プログラ
ム交換モードの3つのモード実現するための2ビットの
モード信号MA及びMBを生成するモード信号生成手段(40
3)が設けられるとともに、プログラム交換モードのと
き、マイクロプログラムメモリ(61)〜(64)に対する
プログラム書き込み信号を発生する書き込み信号発生手
段(404)が設けられる。
モード信号生成手段(403)は例えば第5図のように形
成される。
すなわち、スイッチSWA及びSWBは操作者によって切り換
えられるスイッチで、それぞれその一方の端子Aに正の
直流電圧が与えられ、他方の端子Bは接地されている。
そして、スイッチSWAに得られる信号aはオアゲート(4
08)の一方の入力端に供給される。また、スイッチSWB
に得られる信号bはモード信号MBとして導出されるとと
もにオアゲート(408)の他方の入力端に供給される。
そして、オアゲート(408)よりモード信号MAが導出さ
れる。
この場合、この2ビットのモード信号MA及びMBにより次
のようにモードが設定される。
すなわち、スイッチSWBが端子A側に切り換えられると
きはスイッチSWAの状態にかかわらず実行モード、スイ
ッチSWAが端子A側に切り換えられ、スイッチSWBが端子
B側に切り換えられるとリセットモード、さらにスイッ
チSWBがB側に切り換えられ、かつスイッチSWAも端子B
側に切り換えられるとプログラム交換モードとなる。
上記の〔表1〕から明らかなように、信号MBが「0」に
なるときはプログラムの実行を停止し、「1」になった
ら実行可能となる。したがって、このモード信号MBはリ
セット(停止)信号として意味づけられる。
一方、信号MAが「0」になるときがプログラム交換が可
能となる。したがって、このモード信号MAはチェンジ信
号として意味づけられる。
この2つのモード信号MA,MBによって次のように各モー
ドが現出される。
すなわち、(70)はマイクロプログラムメモリ(61)〜
(64)に対するアドレスを、マイクロプログラムコント
ローラ(60)からのアドレスと、TC(40)からのアドレ
スとを選択するためのセレクタで、そのセレクト信号と
して信号MAが供給され、その信号MAが「1」のときマイ
クロプログラムコントローラ(60)よりのアドレスを、
この信号MAが「0」のときTC(40)よりのアドレスを、
それぞれ選択する。
また、(71)は書き込み信号WRをゲートするゲート回路
で、信号MAがそのゲート信号とされ、これが「0」のと
きゲート開とされて、マイクロプログラムメモリ(61)
〜(64)の各書き込みイネーブル端子に信号WRが供給さ
れる。
各マイクロプログラムメモリ(61)〜(64)は、その書
き込みイネーブル端子に「0」が供給されるとき書き込
み可能状態となる。
さらに、信号MBはレジスタ(65)のリセット端子に供給
され、これが「0」のときレジスタ(65)はリセットさ
れる。
TC(40)においてはモード信号MA,MBの状態をロード制
御部(400)が監視し、各モードに応じて、このTC(4
0)内の処理をコントロールするようにされている。
C4 プログラム実行モードの説明 このとき、モード信号MAは「1」であるので、セレクタ
(70)からはマイクロプログラムコントローラ(60)よ
りのアドレスが得られ、これはレジスタ(69)を介して
1クロック分遅らされて各マイクロプログラムメモリ
(61)〜(64)に供給される。また、オアゲート(71)
の出力は信号MAが「1」であるので常に「1」となり、
メモリ(61)〜(64)は書き込みイネーブルにならな
い。
さらに、モード信号MBが「1」であるので、レジスタ
(65)はリセットされず、マイクロプログラムメモリ
(61)より読み出されたデータがこのレジスタ(65)で
1クロック分遅らされてマイクロプログラムコントロー
ラ(60)のインストラクション端子に供給され、プログ
ラムが実行される。このとき、マイクロプログラムメモ
リ(64)よりはマイクロインストラクションが読み出さ
れ、レジスタ(68)で1クロック分遅らされて演算部に
供給される。
この実行モードにおいて、プログラムコントローラ(6
0)とマイクロプログラムメモリ(61)〜(64)との間
に1つのレジスタ(69)、マイクロプログラムメモリ
(61)〜(63)の出力側とプログラムコントローラ(6
0)との間に1つのレジスタ(65),(671)(選択器
(66)の入力にはレジスタが在る)というように2つの
パイプラインレジスタをはさんでいる。これによってク
ロックサイクルを短くすることができる。
すなわち、この例の画像処理装置は、マルチプロセッサ
による並列処理方式を主として採用するが、上記のよう
にパイプライン処理方式をも一部取り入れてより処理の
高速化が図られている。
G5 プログラム交換モードの説明 このとき、モード信号MBは「0」であるので、レジスタ
(65)はリセットされ、プログラムコントローラ(60)
のインストラクション端子には〔0000〕が供給されるの
で、このプログラムコントローラ(60)よりのアドレス
は常に0が出力し続け、停止している。つまり、PIP(3
0A)及び(30B)のすべての処理系プロセッサのプログ
ラムアドレスが「0」で、プログラム停止の状態にあ
る。
一方、モード信号MAも「0」であるので、セレクタ(7
0)はTC(40)のアドレス発生器(402)よりのアドレス
を選択する状態になる。
すなわち、このプログラム交換モードではすべてのプロ
セッサのマイクロプログラムメモリは完全にTC(40)に
支配される。なお、この場合、プログラムコントローラ
(60)の出力イネーブル端子に信号MAを供給して、この
プログラムコントローラ(60)の出力バッファをオフと
しておくようにしてもよい。
そして、このプログラム交換のモードにおいては、TC
(40)のプログラム交換のプログラムに従って、ロード
制御部(400)の命令に従いアドレス発生器(402)より
RAM(401)にアドレスが与えられて、マイクロプログラ
ムメモリ(61)〜(64)に送るプログラムデータがこの
RAM(401)より読み出される。これとともに書き込み信
号発生手段(404)よりの書き込み信号WRが「0」にな
り、モード信号MAが「0」であるので、オアゲート(7
1)の出力も「0」になるためマイクロプログラムメモ
リ(61)〜(64)は書き込み可能状態となる。
したがって、RAM(401)よりのプログラムデータがアド
レス発生手段(402)よりのアドレスに従ってマイクロ
プログラムメモリ(61)〜(64)に順次書き込まれてプ
ログラム交換がなされる。
この例では、このプログラム交換は複数のプロセッサの
1つ毎に順次なされる。
すなわち、TC(40)にはプロセッサ選択信号がストアさ
れているROM(405)が設けられており、このROM(405)
よりプログラム交換時、ロード制御部(400)よりの命
令によりプロセッサ選択信号が読み出される。そして、
このプロセッサ選択信号がデコーダ(406)でデコード
されて、選択されるプロセッサに対する選択信号SELの
みが「0」になり、他は「1」となる。この選択信号SE
Lはオアゲート(71)に供給されており、この選択信号S
ELが「0」になっているプロセッサのマイクロプログラ
ムメモリ(61)〜(64)のみが書き込み可能状態とさ
れ、プログラムの書き換えがなされる。
1つのプロセッサのマイクロプログラムメモリへの書き
換えが終わると、ROM(405)から次のプロセッサのプロ
セッサ選択信号が発生し、そのプロセッサの選択信号SE
Lが「0」になり、同様にしてこのプロセッサのプログ
ラム交換がされる。すべてのプロセッサのプログラムを
交換するときはこれがプロセッサの数だけ繰り返えされ
ることになる。
そして、この場合、各プロセッサに送るプログラムが複
数ある場合、あるいは、各プロセッサに送るプログラム
が異なる複数のものである場合、これら複数のプログラ
ムを1つのプログラムとみなして各プロセッサに書き込
むようにする。そして、そのプロセッサ毎において次に
実行すべきプログラムはその実行開始アドレスを各プロ
セッサに与えることにより指定してやるようにする。
その実行開始アドレスはRAM(407)より得られ、各プロ
セッサのレジスタ(673)に供給される。そしてこのレ
ジスタ(673)のラッチ信号として前記の選択信号SELが
供給され、この選択信号SELが「0」から「1」になる
タイミングでそのときの実行開始アドレスがラッチされ
る。
このレジスタ(673)はマイクロプログラムコントロー
ラ(60)よりのイネーブル信号MAPによりイネーブルに
なり、そのラッチデータがダイレクト入力端Dに供給さ
れるが、前述の実行モード時において、プログラムスタ
ートするとき、このレジスタ(673)よりのアドレスが
プログラムコントローラ(60)に取り込まれて、このア
ドレスからプログラムコントローラ(60)よりアドレス
が発生するようにされている。
こうして、1つのプロセッサにはプログラムとその実行
開始アドレスが順次送られる。
なお、RAM(407)の各プロセッサ毎の実行開始アドレス
はホストコンピュータ(50)より予め与えられる。
前述もしたように、このプログラム交換モードではマイ
クロプログラムコントローラ(60)はアドレス0番地を
出し続け、停止状態にある。
G6 リセット(停止)モードの説明 このときは、モード信号MA=1,MB=0であるので、各プ
ロセッサのセレクタ(70)からはプログラムコントロー
ラ(60)よりのアドレスが選択されるが、レジスタ(6
5)が信号MBによりリセット状態であるので、このプロ
グラムコントローラ(60)からはアドレス0番地が出続
け、すべてのプロセッサではプログラム実行停止の状態
となる。
信号MAが「1」であるから、マイクロプログラムメモリ
(61)〜(64)に「0」になる書き込み信号は与えられ
ない。
そして、このリセットモードにおいて各プロセッサのマ
イクロプログラムメモリに予め書き込まれている複数の
プログラムのうちの次に実行したいプログラムの開始ア
ドレスが指定し直される。すなわち、これはプログラム
交換時と同様にROM(405)よりプロセッサ選択信号が順
次出力されるとともにRAM(407)より実行開始アドレス
がプロセッサ毎に順次出力され、順次各プロセッサのレ
ジスタ(673)に、信号SELによって実行開始アドレスが
ラッチされる。
したがって、次に実行モードに移れば、各プロセッサで
は新たに設定し直された実行開始アドレスからプログラ
ムが実行されることになる。つまり、新たなプログラム
を転送することなく、別のプログラムが各プロセッサで
実行できることになる。
G7 TC(40)の処理の流れの説明 以下の3つのモードはTC(40)のプロセッサのプログラ
ムによってコントロールされる。
第6図はそのTC(40)における処理のフローチャートで
ある。
すなわち、先ず、ステップ〔301〕でリセット信号MBの
状態が判別される。そして、信号MB=1のときは、第5
図から明らかなように信号MA=1であるのでプログラム
実行モードであり、TC(40)ではこのステップ〔301〕
を続けることになる。
そして、信号MB=0になると、このステップ〔301〕か
らステップ〔302〕に進み、信号MAの状態が判別され
る。
信号MA=1であればリセットモードであり、前述したよ
うに全プロセッサのプログラムコントローラ(60)はア
ドレス0を出し続け、プログラム実行停止となる。そし
て、このときステップ〔303〕に進み、全プロセッサに
順次開始アドレスが供給される。そして、ステップ〔30
1〕に戻る。
一方、ステップ〔302〕において信号MA=0であれば、
信号MB=0であるのでプログラム交換モードとなり、ス
テップ〔304〕に進み、TC(40)のROM(405)に0をロ
ードして最初のプロセッサを指定し、ステップ〔305〕
でプログラムをそのプロセッサに転送する。次にステッ
プ〔306〕に進み、ROM(405)を1つ進ませる。次にス
テップ〔307〕でプログラムの転送がすべてのプロセッ
サに対し終了、あるいは転送の必要なプロセッサへの転
送が終了したかどうか判別され、終了していなければス
テップ〔305〕に戻り、次のプロセッサへのプログラム
転送がステップ〔306〕でなされる。
このステップ〔305〕〜〔307〕が、最大、プロセッサの
数だけくり返される。
そして、ステップ〔307〕でプログラムの転送が終了し
たと判別されると、ステップ〔308〕に進み、信号MAの
状態が判別される。信号MA=0であればこのステップ
〔308〕がくり返されるプログラム交換モードが保持さ
れることになる。信号MA=1になるとプログラム交換モ
ードを脱したことになり、ステップ〔301〕に戻る。
なお、以上はマルチプロセッサの例として説明したがこ
の発明は1つのプロセッサをモードコントロールする場
合にも適用できることは言うまでもない。
なお、以上はこの発明装置をビデオ信号処理に適用した
場合であるが、オーディオ信号や他の情報信号をデジタ
ル処理する場合にも、単位時間分毎にメモリにストアし
て、その単位時間分の信号毎に処理するものであるの
で、この発明はこれらビデオ信号以外の情報信号処理に
も適用可能であることはもちろんである。
H 発明の効果 以上のようにこの発明によれば、複数個のプログラムを
1つのプログラムと見なして1回で転送するとともに各
プログラムの実行開始アドレスを個別に送ることによ
り、複数回分のプログラムの転送が1回で済み、短時間
の所要時間で転送できる。
また、複数の異なったプログラムを選択コントロールな
く、複数のプロセッサに転送することができるので転送
の回路が小規模になるものである。
【図面の簡単な説明】
第1図はこの発明の一例のブロック図、第2図はその説
明のための図、第3図はこの発明が適用された画像処理
装置の一例のブロック図、第4図はその要部の一例のブ
ロック図、第5図は第4図の一部の構成の一例を示す
図、第6図はモードコントロールのフロチャートを示す
図、第7図はビデオ画像処理装置の一例のブロック図で
ある。 (100)はプログラム供給部、(101)は複数のプログラ
ムの入ったROM、(102)は各プログラムの実行開始アド
レスの入ったROM、(2001)〜(200n)は処理用プロセ
ッサである。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】夫々互いに異なるプログラムで動作する複
    数のプロセッサに上記プログラムを供給するプログラム
    転送方式において、上記互いに異なる複数のプログラム
    を全体で1つの集合プログラムとみなして上記複数のプ
    ロセッサに同時に上記集合プログラムを供給し、かつ上
    記各プロセッサに実行させるべき個々の上記プログラム
    の開始アドレスを任意の時点で上記各プロセッサに供給
    することにより、上記各プロセッサが夫々上記集合プロ
    グラムのうち上記開始アドレスにて示された所望の部分
    を実行するようにしたことを特徴とするプログラム転送
    方式。
JP60259543A 1985-11-19 1985-11-19 プログラム転送方式 Expired - Lifetime JPH06103460B2 (ja)

Priority Applications (13)

Application Number Priority Date Filing Date Title
JP60259543A JPH06103460B2 (ja) 1985-11-19 1985-11-19 プログラム転送方式
GB8627177A GB2183375B (en) 1985-11-19 1986-11-13 Information processing apparatus
CA000523213A CA1278098C (en) 1985-11-19 1986-11-18 Method and apparatus for data transfer
DE3639395A DE3639395C2 (de) 1985-11-19 1986-11-18 Informationsverarbeitungs-Vorrichtung
FR868616097A FR2590385B1 (fr) 1985-11-19 1986-11-19 Procede et appareil de transfert de donnees
NL8602940A NL8602940A (nl) 1985-11-19 1986-11-19 Werkwijze en inrichting voor informatie-overdracht.
US06/932,277 US4920482A (en) 1985-11-19 1986-11-19 Multiple mode microprogram controller
GB8906977A GB2216309B (en) 1985-11-19 1989-03-28 Program transfer apparatus
GB8906979A GB2216311B (en) 1985-11-19 1989-03-28 Methods of program transfer
GB8906978A GB2216310B (en) 1985-11-19 1989-03-28 Data processing apparatus
CA000615659A CA1289677C (en) 1985-11-19 1990-02-22 Method and apparatus for data transfer
CA000615660A CA1290071C (en) 1985-11-19 1990-02-22 Method and apparatus for data transfer
CA000615658A CA1290066C (en) 1985-11-19 1990-02-22 Method and apparatus for data transfer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60259543A JPH06103460B2 (ja) 1985-11-19 1985-11-19 プログラム転送方式

Publications (2)

Publication Number Publication Date
JPS62118440A JPS62118440A (ja) 1987-05-29
JPH06103460B2 true JPH06103460B2 (ja) 1994-12-14

Family

ID=17335566

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60259543A Expired - Lifetime JPH06103460B2 (ja) 1985-11-19 1985-11-19 プログラム転送方式

Country Status (7)

Country Link
US (1) US4920482A (ja)
JP (1) JPH06103460B2 (ja)
CA (1) CA1278098C (ja)
DE (1) DE3639395C2 (ja)
FR (1) FR2590385B1 (ja)
GB (1) GB2183375B (ja)
NL (1) NL8602940A (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2504156B2 (ja) * 1989-01-25 1996-06-05 日本電気株式会社 情報処理装置
DE69132495T2 (de) * 1990-03-16 2001-06-13 Texas Instruments Inc Verteilter Verarbeitungsspeicher
WO1991019244A1 (en) * 1990-06-04 1991-12-12 3Com Corporation Method for optimizing software for any one of a plurality of variant architectures
JP3194193B2 (ja) * 1990-10-31 2001-07-30 カシオ計算機株式会社 信号処理装置
EP0522513A2 (en) * 1991-07-09 1993-01-13 Hughes Aircraft Company High speed parallel microcode program controller
JP3172214B2 (ja) * 1991-09-30 2001-06-04 富士通株式会社 状態モード設定方式
JPH07104996A (ja) * 1993-10-05 1995-04-21 Kofu Nippon Denki Kk マイクロプログラム制御装置
US6163836A (en) 1997-08-01 2000-12-19 Micron Technology, Inc. Processor with programmable addressing modes
US7100028B2 (en) * 2000-08-09 2006-08-29 Advanced Micro Devices, Inc. Multiple entry points for system call instructions
US6968446B1 (en) 2001-08-09 2005-11-22 Advanced Micro Devices, Inc. Flags handling for system call instructions

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3478322A (en) * 1967-05-23 1969-11-11 Ibm Data processor employing electronically changeable control storage
US4021651A (en) * 1972-06-20 1977-05-03 Kawasaki Jukogyo Kabushiki Kaisha Programmed manipulator
DE2350371C3 (de) * 1973-10-08 1981-03-26 IBM Deutschland GmbH, 70569 Stuttgart Verfahren und Einrichtung zur Prüfung und Wartung von Datenverarbeitungsanlagen mittels räumlich entfernter Wartungsstationen
US4037092A (en) * 1973-11-26 1977-07-19 Hewlett-Packard Company Calculator having preprogrammed user-definable functions
FR2259397B1 (ja) * 1974-01-25 1977-09-30 Honeywell Bull Soc Ind
US3972025A (en) * 1974-09-04 1976-07-27 Burroughs Corporation Expanded memory paging for a programmable microprocessor
US4001788A (en) * 1975-03-26 1977-01-04 Honeywell Information Systems, Inc. Pathfinder microprogram control system
IT1059493B (it) * 1976-04-22 1982-05-31 Olivetti & Co Spa Dispositivo per cambiare l ambiente di lavoro di un calcolatore
CA1081855A (en) * 1976-04-29 1980-07-15 David B. Schuck Initializing means for a bus-oriented data processing system employing firmware-configured modules
DE2622140C3 (de) * 1976-05-19 1981-11-26 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Steuerung manueller Operationen
US4204252A (en) * 1978-03-03 1980-05-20 Digital Equipment Corporation Writeable control store for use in a data processing system
US4167779A (en) * 1978-03-10 1979-09-11 Digital Equipment Corporation Diagnostic apparatus in a data processing system
JPS5591029A (en) * 1978-12-29 1980-07-10 Fujitsu Ltd Microprogram control system
US4376982A (en) * 1980-06-30 1983-03-15 International Business Machines Corporation Protocol for inter-processor dialog over a communication network
JPS57197653A (en) * 1981-05-29 1982-12-03 Mitsubishi Electric Corp Control device of microprogram
US4422144A (en) * 1981-06-01 1983-12-20 International Business Machines Corp. Microinstruction substitution mechanism in a control store
US4439839A (en) * 1981-08-24 1984-03-27 International Telephone And Telegraph Corporation Dynamically programmable processing element
JPS58215813A (ja) * 1982-06-09 1983-12-15 Sony Corp デイジタル信号処理装置
US4654783A (en) * 1982-07-26 1987-03-31 Data General Corporation Unique process for loading a microcode control store in a data processing system
EP0106213B1 (en) * 1982-09-29 1987-12-16 Kabushiki Kaisha Toshiba Decentralized information processing system and initial program loading method therefor
US4626634A (en) * 1982-09-30 1986-12-02 At&T Bell Laboratories Multiprocessor computing system featuring shared global control
US4720812A (en) * 1984-05-30 1988-01-19 Racal-Milgo, Inc. High speed program store with bootstrap
JPS6180338A (ja) * 1984-09-27 1986-04-23 Fanuc Ltd システムプログラムロ−デイング方法
US4641238A (en) * 1984-12-10 1987-02-03 Itt Corporation Multiprocessor system employing dynamically programmable processing elements controlled by a master processor
JPS6265298A (ja) * 1985-09-17 1987-03-24 Fujitsu Ltd Epromの書き込み方式

Also Published As

Publication number Publication date
CA1278098C (en) 1990-12-18
DE3639395A1 (de) 1987-05-27
FR2590385A1 (fr) 1987-05-22
GB2183375A (en) 1987-06-03
DE3639395C2 (de) 1999-02-18
US4920482A (en) 1990-04-24
FR2590385B1 (fr) 1992-09-04
GB2183375B (en) 1990-05-30
GB8627177D0 (en) 1986-12-10
NL8602940A (nl) 1987-06-16
JPS62118440A (ja) 1987-05-29

Similar Documents

Publication Publication Date Title
US5438665A (en) Direct memory access controller for handling cyclic execution of data transfer in accordance with stored transfer control information
JP2829091B2 (ja) データ処理システム
JP2545482B2 (ja) インタ―フェイス装置の転送パラメ―タ設定方法
JPH01173247A (ja) スレーブ制御装置
JP4007572B2 (ja) 処理要素をプログラム位置にディスパッチする方法及び装置
JPH06103460B2 (ja) プログラム転送方式
EP0844566A1 (en) Interface apparatus for adapting data width to system bus width
JP2001084229A (ja) Simd型プロセッサ
JPS6356747A (ja) デ−タ処理装置
JPH11312085A (ja) プロセッサ
JP2557042B2 (ja) プログラム転送装置
JPH077337B2 (ja) 情報処理装置
JPH03232070A (ja) 画像処理装置
JP2557043B2 (ja) ビツトパタ−ン検出装置
EP0514926B1 (en) A moving image processor
JPS62154165A (ja) プログラム転送装置
JPS62278636A (ja) 可変プログラム装置
JPS62156755A (ja) プログラム転送装置
JPH06250965A (ja) 入出力制御装置
JPH05128279A (ja) ワンチツプマイクロコンピユータ
JP2982129B2 (ja) マイクロプログラム制御装置
JPH10334038A (ja) データ転送装置
JPS60144829A (ja) マイクロプログラム制御システム
JPH0766371B2 (ja) デ−タ処理装置
JPS62260231A (ja) 可変プログラム装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term