JPS6389931A - 1つ又は複数のプログラムを複数の演算部で実行可能なプロセツサ - Google Patents

1つ又は複数のプログラムを複数の演算部で実行可能なプロセツサ

Info

Publication number
JPS6389931A
JPS6389931A JP23456886A JP23456886A JPS6389931A JP S6389931 A JPS6389931 A JP S6389931A JP 23456886 A JP23456886 A JP 23456886A JP 23456886 A JP23456886 A JP 23456886A JP S6389931 A JPS6389931 A JP S6389931A
Authority
JP
Japan
Prior art keywords
program
instruction
arithmetic
memory
control
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
JP23456886A
Other languages
English (en)
Inventor
Hirotada Ueda
博唯 上田
Hitoshi Matsushima
整 松島
Kenji Kaneko
金子 憲二
Yoshimune Hagiwara
萩原 吉宗
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 JP23456886A priority Critical patent/JPS6389931A/ja
Publication of JPS6389931A publication Critical patent/JPS6389931A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、プログラムによって、データを処理するプロ
セッサに係り、特に画像処理のように高速性を要求され
、これを複数の演算部で実行するプロセッサに関する。
〔従来の技術〕
データ処理装置の処理速度を増すために、複数のプロセ
ッサを結合して並行動作を行なわせることは、古くから
知られている。例えば、インテル社の“Compone
nt Data Catalog”1981年版第7−
51〜7−57.7−64〜7−75頁には。
高速処理のために、入出カプロセッサ8089、あるい
は数値演算プロセッサ8087が、CPUとしてのプロ
セッサ8086又は8088と結合されて、並行動作を
行なう形態が示されている。
〔発明が解決しようとする問題点〕
前記の入出カプロセッサ8089は、CPUから起動さ
れると、それ独自のプログラムに従って独立に処理を進
める。この型の結合は、各プロセッサ間で起動、処理終
了通知、などのための通信が必要である。それ故この形
態は、独立性の強い並列処理には適するが、高速でしか
も小刻みな処理が多く必要とされる場合においては、前
記の通信のためのプログラムの実行がオーバヘッドとな
って、処理速度は遅くなってしまうという問題があった
また、前記の数値演算プロセッサ8087は、前記80
89とは逆に、はぼ完全にCPUに隷属し、CPUが逐
次的に取出してくる単一プログラムの命令中の一部(浮
動小数点演算、特殊関数計算など)の実行を分担するに
すぎない。この型の結合は、通信プログラムによるオー
バヘッドがないという点では優れている。
しかしながら、この形態では、CPUとしてのプロセッ
サ8086用の1つのプログラム中にCPUとしてのプ
ロセッサ8086用の命令とは別に数値演算プロセッサ
8087用の命令を埋め込み、CPUとしてのプロセッ
サ8086がこの命令を検知したとき、数値演算プロセ
ッサ8087にこの命令の解読信号を送り、その命令に
対応する処理を数値演算プロセッサ8087にまかせる
という方式を採っているため、プログラム中に数値演算
プロセッサ8087用の命令の実行が何らかの理由で遅
延されたとき、cpuとしてのプロセッサ8086用の
命令の実行も遅延されてしまうという問題があった。
したがって、このように、一方の処理が遅延されるおそ
れがあるときには、その処理および他方の処理は別々の
プログラムで実行できることが望ましい。
本発明の目的は、複数のプログラム又は、一つのプログ
ラムを適宜切りかえて複数の演算部を用いて、低オーバ
ヘッドで実行できるプロセッサを提供することにある。
〔問題点を解決するための手段〕
上記目的を達成するため、本発明では第1及び第2の演
算部と、第1演算部を制御する第1のマイクロ命令と第
1及び第2演算部を制御する第2のマイクロ命令とを記
憶する第1プログラムメモリと、第2演算部を制御する
マイクロ命令を記憶する第2プログラムメモリと、第1
プログラムメモリに接続されて第1演算部、第2演算部
を制御する第1制御手段と、第2プログラムメモリに接
続されて第2演算部を制御する第2制御手段とからなり
、全演算部が第1制御手段の制御下に置かれる通常モー
ドと、第1演算部は第1制御手段の制御下に第2演算部
は第2制御手段の制御下に置かれるマルチプログラムモ
ードとの切替をプログラムメモリに記憶されているマイ
クロ命令に応じて行なうようにした。
〔作用〕
本発明のプロセッサでは、第1及び第2の演算部と、第
1演算部を制御する第1のマイクロ命令と少くとも第2
演算部を制御する第2のマイクロ命令とを記憶する第1
プログラムメモリと、第2演算部を制御する第3のマイ
クロ命令を記憶する第2プログラムメモリと、第1プロ
グラムメモリに接続されて第1演算部、第2演算部を制
御する第1制御手段と、第2プログラムメモリに接続さ
れて第2演算部を制御する第2制御手段とが設けられ、
通常モードにおいては、全演算部が第1制御手段の制御
下に置かれて、第1プログラムメモリに記憶されている
各マイクロ命令が第1及び第2の演算部を制御し、これ
らの演算部の並行動作により各命令が実行される。しか
し、マルチプログラムモードにおいては、第1′/iL
算部は第1制御手段の制御下に、第2演算部は第1制御
手段から切離されて、第2制御手段の制御下に置かれて
、第1プログラムメモリに記憶されているマイクロ命令
が第1演算部を制御し、第2プログラムメモリに記憶さ
れているマイクロ命令が第2演算部を制御する。従って
、このモードにおいては、2つの独立したプログラムの
並走による高速処理が行なわれる。通常モードからマル
チプログラムモードへの切替えは、第1プログラムメモ
リに記憶されている特定のマイクロ命令に応じて行なわ
れる。
マルチモードから通常モードへの切替えは、第1プログ
ラムメモリに記憶されている他のマイクロ命令に応じて
行なわれてもよいし、第2プログラムメモリに記憶され
ている特定のマイクロ命令に応じて行なわれてもよい。
このように構成されたプロセッサにおいては、並列に実
行したい二つの処理の内、互いに同期して処理可能なも
のは、一つのプログラムの制御下で二つの演算部を用い
て実行でき、一方の処理が何らかの理由で遅延するおそ
れがあるときは、二つのプログラムの制御下で該二つの
演算部を別々に用いて実行できるように切り換えること
ができ且つ前記目的は達成される。
〔実施例〕
第1図は、本発明の一実施例を示す。第1演算部1及び
第2演算部2は、データにに対する演算やアドレス計算
などを行なう。第1プログラムメモリ部3は、第1演算
部のみを制御するマイクロ命令と第1.第2演算部の両
方を制御するマイクロ命令を保持し、第1プログラムカ
ウンタ5に従って1命令ずつ読出される。
また、第2プログラムメモリ部4は、第2演算部のみを
制御するマイクロ命令を保持し、第2プログラムカウン
タ6に従って一命令ずつ読出される。
第1制御回路7は、第1PMに保持されているマイクロ
プログラム命令の制御フィールド33に応答して、第1
プログラムカウンタ5の更新又は変更を行なう。また、
第1PMに記憶されている命令をデコーダ71で解読し
、その信号を第1演算部1.バス切替器52、第2演算
部2切替回路92.2ボートメモリ50に出力し、第1
演算部で行なねる演算に対する制御、バス切替器52の
切替の制御、第2演算部で行なわれる演算に対する制御
、2ボートメモリ50の制御等を行なう。
第2制御回路8は、第2PMに保持されているマイクロ
プログラム命令の制御フィールド42に応答して第2プ
ログラムカウンタ6の更新又は変更を行なう。また、第
2PMに記憶されている命令をデコーダ71で解読し、
その信号を第2演算部2と切替回路91.92に出力し
、第2演算部2で行なわれる演算に対する制御と、切替
回路91゜92の切替の制御を行なう。
第1制御回路の中の判定回路10は、PMに保持されて
いるマイクロプログラム中のマルチプログラムモード移
行命令や強制復帰命令に応答して、第2PCBの設定及
び切替回路9の切替を制御する。
5は第1プログラムカウンタであり、第1プログラムメ
モリ3に記憶されている命令が順次読出されるようにす
る。
6は第2プログラムカウンタであり、第1プログラムメ
モリ6に記憶されている命令が順次読出されるようにす
る。
2ボートメモリ50は、第1演算部1及び第2演算部2
、第1制御回路7、第2制御回路8に接続され、どちら
の演算部からも自由にアクセスできるようになっている
、演算部、制御回路との通信については、制御信号は、
制御バス111゜211を介して、アドレスはアドレス
バス112゜212を介して、そしてデータの援受はデ
ータバス113,213を介して行なわれる。
切替回路9は、第1PMに保持されているマイクロ命令
の第2演算フイールド32又は第2プログラムのマイク
ロ命令の演算フィールド41を切替えて、第2演算部2
に供給する。また、第1PMに保持されているマイクロ
命令の第2演算制御フィールド33−2又は第2PMに
保持されているマイクロ命令の制御フィールド42を切
替えて第2演算部2と供給する。51は入出力ボートで
あり、外部とのデータの援受を行なう。
第2図(A)は、第1PMに保持され第1及び第2の演
算部を制御するためのマイクロ命令の基本的なフォーマ
ットを示す。第2図(B)は第1PMに保持され第1演
算部のみを、制御するためのマイクロ命令のフォーマッ
トを示す。本実施例は、水平型のマイクロプログラムを
実行するプロセッサであり、第1演算フイールド31は
第1演算部1の動作を指示し、第2演算フイールド32
は通常第2演算部の動作を指示する。制御フィールド3
3は、総合的な制御すなわちバスの切替や、入出カシ−
ケンスの制御に関する制御情報のためのフィールドであ
る。制御フィールド33は第1制御フィールド33−1
と第2制御フィールド33−2の2つに分かれていてバ
スの制御等の命令が入っている。第1制御フィールド3
3−1は第1演算部1の制御を行ない、第2制御フィー
ルド33−2は第2演算部2の制御を行なう。通常モー
ドにおける通常の命令においては、第2図(C)に示す
ように第2演算フイールド32中の先頭ビット32−1
と次のビット32−3が“031となるようにセットさ
れ、同フィールドの残余のビット群32−2が第2演算
部2の動作内容を規定する。第2図(D)は、通常モー
ドからMPモードへの移行命令の一例を示す図である。
この命令は、第2演算フイールド32中の先頭のビット
32−1が“1”で次のビット32−3がit O”あ
り、同フィールドの残余のビット群32−2は、起動す
べき第2プログラムの先頭のアドレスを示す。
第2図(G)は、MPモードから通常モードへの移行の
命令の一例を示す図である。
この命令は、第2演算フイールド32中の先頭ビット3
2−1がie O”で次のビット32−3を“1”にす
ることによって実現される。このとき、残余のビット群
32は使われていない。
第3図(A)は、第2PMに保持されるマイクロプログ
ラムの命令のフォーマットを示す。演算フィールド41
は第2演算部2の動作を指示し、制御フィールド42は
第1プログラム命令の制御フィールド33と同様である
以下、第1図に示されている各部分について詳細に説明
する。
第4図に、第1演算部1の詳細を示す。121はアリス
メテイツク・ロジカル・ユニット(ALtl)であり、
加減算やシフトなどを行なう。レジスタ群122に記憶
されたデータあるいはデータバス113から入力される
データがALU121の2つの入力となり、その一方の
入力は選択回路(MPX)123によって選択される。
この選択にはマルチプレクサ制御信号334が用いられ
る。又、ALU121へ供給すべきデータの選択は、レ
ジスタ群選択信号333によってもなされる。なおこの
レジスタ群選択信号333とレジスタ群書込信号337
によって指定すると、選択されたレジスタに、ALUI
21の出力データあるいはデータバス113からのデー
タを書込むことができる。その選択は、マルチプレクサ
制御信号331によって制御されるMPX124によっ
てなされる。
ALUI21の出力データは、トライステート制御回路
126を介して、データバス113に向けて出力される
。この制御は制御、@338によってなされる。
又、このときバス制御回路127が、同じ信号338に
よって切換えられ、データバスの入出力の向きが反転さ
れる。
レジスタ群の中のレジスタは選択回路(MPX)125
に接続されており、マルチプレクサ制御信号332によ
って選択された1つのレジスタ内のデータが、アドレス
バス112に出力されるようになっている。ここで、マ
ルチプレクサ制御信号331.832,334、レジス
タ群選択信号333、レジスタ群書込信号337、制御
線338は、第1制御回路7から出力されたものである
また、第2演算部2は第5図に示すように第1演算部1
と同一の回路からなる。マルチプレクサ制御信号331
A、332A、334A、レジスタ群選択信号333A
、レジスタ群書込信号337A、制御線338Aは第1
制#回路7から出力されたものである。マルチプレクサ
制御信号331B、332B、334B、レジスタ群選
択信号333B、レジスタ群書込信号337B、制御線
338Bは第2制御回路8から出力されたものである。
ここで、第5図において、331A、331Bなどのよ
うに最後に11 A II 、  il 13″′の記
号がついている信号は、第6図に示されている331な
どの文字A、Bがついていない参照番号の信号と同じも
のを示す。
第1図の第1制御回路7の詳細を説明する。デコーダ7
1が制御フィールド33中の第1制御フィールド33−
1.第2制御フィールド33−2をデコードし、その命
令コードに応じてマルチプレクサ制御信号331,33
1A、332゜332A、334,334A、レジスタ
群選択信号333,333Aあるいはジャンプ命令であ
ることを示すジャンプ信号335,335Aジヤンプ命
令に伴うジャンプ条件信号336,336Aを出力する
。この他、レジスタ群書込信号337゜337A等も出
力されるまた、制御パス111と211−1が送出され
る。ジャンプ命令の場合には一致条件判定回路72は第
1演算部からのステータスワード信号501および第2
演算部からのステータスワード信号502とジャンプ条
件信号336が一致した時、一致信号340を出力する
この一致信号とジャンプ信号335はアンド回路73を
通して、PCロード信号105として出力され、これは
第1PC5のロード信号となる。第1PC5はこの信号
105が入力されたとき、第2F図に示すように、第1
演算フイールド31にコーディングされている、ジャン
プ先アドレスを、PCの新しい値としてロードする。す
なわちジャンプが実行される。PCロード信号105が
入力されないとき第1PC5はインクリメントを行なう
ので、通常はシーケンシャルに命令が読み出され実行さ
れる。第1図の第2制御回路8は、一致条件判定回路7
2にステータスワード信号501が入らないという点を
除き第1制御回路7と同一の回路からなる。判定回路1
0は、前記のビット32−1.32−3を監視し、それ
が1110 Itであることつまり移行命令を検出する
と制御信号101として移行を示す信号を発生して、選
択回路(MPX)62を介してビット群32−2、すな
わち第2PMに保持されているマイクロプログラムの先
頭アドレスを第2PCBにセットすると同時に切替回路
992.92の切替を行なう。また、ビット32−1.
32−2が、Kl 01 ITのときつまり、MPモー
ドから通常モードへの移行命令のときは制御信号101
として復帰を示す信号を出力し切替回路9,91.92
の切替えを行なう。
切替回路9は、判定回路10の出力である制御信号10
1及び第2制御回路8の出力である制御線102が入力
された制御信号101として移行信号が与えられたとき
はその後節1PMの第2演算フイールド32、第2演算
制御フィールド33−2を無効にし、第2PMの演算フ
ィールド41制御フイールド42を有効にする。移行信
号が入力されるまでは、その逆の動作をする。制御信号
101としてMPモードから通常モードへの移行信号が
与えられたとき、又は、復帰信号が制御線102から入
力されたときは、その後は第1PMの第2演算フイール
ド32、第2演算制御フィールド33−2を有効にし、
第2PMの演算フィールド41、制御フィールド42を
無効にする。通常モードのときは第1制御回路7の中の
デコーダ71でデコードされる第2演算制御フィールド
33−2が切替回路9を介して第2演算部2のバスの切
替等を行なう。
切替回路91は、入力された制御信号101がMP移行
信号のときはステータスワード信号502の制御回路7
への供給を停止し、制御信号101が復帰信号のとき又
は復帰命令である制御線102が入力されたときはステ
ータスワード信号502が制御回路7へ供給されるよう
にする。
ここで、ステータスワード信号502は第1制御回路7
の中の一致条件判定回路72に接続され、第1プログラ
ム中の条件付ジャンプ命令の1つの条件として利用され
る。切替回路92は、入力された制御信号101がMP
移行信号のときは制御信号211−1を無効にし、制御
信号211−2を有効にする。また、入力された制御信
号101が復帰信号のとき又は、復帰信号である制御線
102が入力されたとき、制御信号211−1を有効に
し、制御信号211−2を無効にする。
なお、選択回路MPX62は、第2PCにロードされる
アドレスを選択するために設けられたものである。ジャ
ンプ信号205が出力されたときは、第2PMに保持さ
れているマイクロプログラムの演算フィールド41が選
択されて第2PCにロードされる。逆に、制御信号10
1が発生したときは、MPX62によって第1プログラ
ムの第2演算フィールド32−2が選択されて第2PC
にロードされる。
次に、本発明の動作について説明する。
通常モードにおいては、第1PMに保持されているマイ
クロプログラム命令の第2演算フイールド32が第2演
算部2に供給され、第1演算フイールド31はもちろん
第1演算部1に供給され、かくて、第1PC5に基づき
第1.PM3から逐次読出されるマイクロプログラム命
令が、第1演算部1と第2演算部2の双方を制御する。
第1PMに保持されているマイクロプログラムの実行中
にMP移行命令に遭遇すると、マルチプログラムモード
に移行し、以後、第1演算部1と第1制御回路7は、第
1PC5に従って第1PM3から読出される第1プログ
ラムを実行し、これと並行して、第2演算部2と第2制
御回路8は、第2PCBに従って第2PM4から読出さ
れるマイクロプログラムを実行する。
次に、マルチプログラムモードから通常モードへの復帰
を説明する。この復帰には、第2PMに保持されている
マイクロプログラムが正常に完了した時点で通常モード
に戻る場合と、外部回路の故障が検知された等の理由で
、マイクロプログラムの途中で強制的に通常モードに戻
される場合とがある。前者を正常復帰、後者を強制復帰
と呼ぶことにする。
正常復帰のためには、第2PMに保持されているマイク
ロプログラムのための命令セット中に通常モードへの復
帰を指示する命令(正常復帰命令)を用意し、第2プロ
グラムの起動された部分の最後にこの命令を置く。例え
ば第3図(B)に示すように正常復帰指示コードが制御
フィールド42に置かれる。
強制復帰のためには、例えば第2図(H)に示すように
第1プログラム中にそのための命令を用意する。
第2のプログラムが終了時に通常モードでの実行を行な
わせるためにはいろいろな方法が考えられる。第2プロ
グラムの終了が多少遅延しても、その処理が完了すると
見込まれる時点で、通常モードでの実行が行なわれるよ
うに第1プログラムを構成できる場合には、単に第1プ
ログラム内の命令も順次実行するのみでよい。このよう
な場合は正常復帰命令を用いないで、このような処理が
完了すると見込まれる時点で強制復帰命令が実行される
ように第1プログラムを構成してもよい。
また、第2プログラムの終了を第1−プログラムに通知
するような方法もある。例えば、第7図のようにフラグ
80を設け、第1PMに保持されているマイクロプログ
ラム命令セット中に、このフラグをセットする命令(第
1制御回路7内のデコーダ71でデコードされフラッグ
セット信号801としてフラグ80に加えられる)と、
このフラグがリセットされていることを条件とするジャ
ンプ命令(フラッグ状態信号802として第1制御回路
7内の条件判定回路72に加えられここでジャンプ制御
を行なう)を用意し、他方、第2PMに保持されている
マイクロプログラム命令セット中には、このフラグをリ
セットする命令(第2制御回路8の中で第1#御部と同
様にデコードさ九フラッグセット信号803としてフラ
ッグ80に加えられる)を用意する。これらの命令を用
いて、第1PMに保持されているマイクロプログラムに
ついては、前記フラグをセットしてからマルチプログラ
ムモードに移行し、以後適当な間隔で前記の条件付ジャ
ンプ命令を実行するようにプログラムし、他方、第2P
Mに保持されているマイクロプログラムの末尾番白土前
記のフラグリセット命令と正常復帰命令を置いておく。
こうすることにより、第2PMと保持されているマイク
ロプログラムの終了時にフラグがリセットされ、切替回
路9が切替わりその後熱るべき時点で第1PMに保持さ
れているマイクロプログラムがこれを検出し、通常モー
ドで実行すべき命令ヘジャンプして、通常モードへの復
帰が行なわれる。こうすることにより第2プログラムの
実行後すぐに通常モードでの実行が行なえる。あるいは
、前記フラグのリセットが第1プログラムへの割込みを
起こして、ジャンプさせるようにしてもよい。更に別の
方法として、第2PMに保持されているマイクロプログ
ラム命令セット中に第1PMに保持されているマイクロ
プログラムへの割込みを行なう命令を用意し、これを第
2PMに保持されているマイクロプログラムの末尾に置
くようにしてもよい。
次に、通常モードとマルチプログラムモードの使い分け
の一例を説明する。第1図において、第1演算部1に接
続されたバス112,113と第2演算部2に接続され
たバス212,213は、2ボートメモリ50のそれぞ
れ第1及び第2ポートに接続されている。制御バス11
1,112は、第1制御回路7、第2制御回路8から2
ボートメモリ50へ送出される。したがって、どちらの
演算部も2ポートメモリ50に自由にアクセスすること
が可能である。第2演算部2に接続されたバス212,
213は、また、入出力ポート51゛にも接続されてお
り、これにより、第2演算部2は、外部とデータの授受
を行なうことができる。バス切替器52は、2ポートメ
モリ5oの第1ボートに対して、アドレスバス112と
212のどちらか一方を接続する。このバス切替器52
の切替動作は、第1PMに保持されているマイクロプロ
グラム命令中の特定のコードに応じ、第1制御回路7の
出力339により、直接指示される。
第1の態様として、前処理として入力機器からのデータ
の取込みと、2ボートメモリ5o内のデータの処理とを
、並行して行ないたい場合を想定する。この状況に対処
するには、プロセッサをマルチプログラムモードにセッ
トするとともに、バス切替回路52をバス112側に切
替える。この形態の下で、第1演算部1は、第1PMに
保持されているマイクロプログラムに従って、2ポート
メモリ50内のデータの処理を行ない、それと並行して
、第2演算部2は、第2PMに保持されているマイクロ
プログラムに従って、入出力ボート51を経て取込んだ
入力データを2ポートメモリ50に書込む。したがって
、このモードにおいてはたとえデータ取込処理に待合せ
が必要な場合であっても、その待合せは第2プログラム
が行ない、正しくデータを受は取ることができる。そし
て第1プログラムは、その待合せに関係なく最高スピー
ドでデータ処理ができる。すなわち、このモードは、外
部で決められたタイミングでデータが発生するスキャナ
から画像を取り込みつつ、同時にそのデータを順次処理
する場合などに特に有効である。
第2の態様として、後処理として2ポートメモリ50内
のデータを高速で処理する必要があり、かつ、そのため
のアドレス計算が複雑な場合を想定する。例えば、前述
のようにして画像を前処理しながら入力した後、更に゛
高速のデータ処理を行う、ステップを考えると、データ
配列が2次元あるいはそれ以上の多次元構造となってい
て、複雑なアドレス計算を必要とすることが多い。この
場合には、前述のマルチプログラムモードで所定の画素
数の取込みが終了すると、プロセッサを通常モードにセ
ットするとともに、バス切替器52をバス212側に切
替える。この形態の下で、第1演算部1が2ポートメモ
リから読出したデータの処理を行なっている間に、第2
演算部2は次に2ポートメモリから読出すべきデータの
アドレスの計算を同時に済ませることができる。
なお、この第2の態様は、通常モードで処理するのが最
適であって、MPモードでの処理には適さない。何故な
ら、MPモードでは、2つの演算部のお互いが相手の演
算(データ処理とアドレス計算)と同期をとることが困
難であるからである。
例えば、データ演算を行なっている第1演算部1で、条
件判定とそれに伴うジャンプが行なわれると、ジャンプ
の有無で演算に要するプログラムの実行ステップ数は大
きく変わってしまうが、これを第2演算部2に伝えて、
第2演算部2における次のアドレスの演算を早めたり遅
めたり調整することが必要となる。これを実現する為に
は、1回のアドレス演算毎に、MP移行命令を使うとか
、第2演算部7が立てたフラッグ(例えば2ボートメモ
リ50の1部を通常は“0”にしておき、フラッグが立
ったとき1′1”とする。)を第1演算部1が読み出し
て判定する等の命令をプログラム中に組込むことが必要
である。このような余分な命令の組込みは、プログラム
全体の実行を遅くしてしまう。単一の演算器でデータ処
理とアドレス計算を交互に行なうのと比較すれば、単純
に見積っても約2倍のスループットの向上があり、更に
、単一演算器による場合には、データ処理とアドレス計
算の交代時に、レジスタ類が不足して、算出データをメ
モリに一時的に退避させねばならないことを考慮すれば
、実際には2倍を越す高速化が期待できる。
また、切替回路9は、説明の都合上、独立した回路とし
て示したが、構造上は、例えば第1制御回路7など、他
の回路の一部をなしていてもよい。
更に、第3.第4等の切替可能な演算部及びプロダラム
制御機構を付加してもよい。
また、MP移行命令の他の変形例として、第2図(E)
に示すように、第1プログラム命令の制御フィールド3
3にMP移行を指示するコードを置いてもよい。その場
合には、第6図に示すように、判定回路10は見掛上除
去され1代りに、第1制御回路7が第2プログラムの起
動のための制御信号101を発生する。この場合は、第
6図に示すように第1制御回路の中のデコーダ71から
制御信号101が出力されることになる。
正常復帰命令の他の変形例として、第2プログラム命令
の演算フィールドの特定のビットを、正常復帰の指示の
ために用いてもよい。この場合、このビットを監視して
制御信号102等を発生するための第2判定回路(図示
省略)を設ける。
強制復帰命令の他の変形例として、第2図(H)に示す
ように、制御フィールド33に強制復帰指示コードを置
き、第1制御回路7がこれを検出して前記の復帰動作を
制御するようにしてもよい。
ただし、これらの命令のフィールド割付けは、命令の種
類によって若干変化する。
例えば、第2図(F)に示すように、ジャンプ命令では
制御フィールド33にジャンプを示すコードが入り、第
1演算フイールド31にジャンプ先アドレスが入る。
なお、本実施例では第1プログラムのマイクロ命令とし
て、第1.第2の演算部を制御する第1゜第2のフィー
ルドをもとに有するマイクロ命令を用いた。このような
命令を用いると、第1.第2演算部を再サイクル制御で
きるので、処理が高速化される。しかし、本発明は、第
1.第2の演算部の一方のみを制御するフィールドを有
する複数のマイクロ命令、すなわち、垂直型のマイクロ
命令を用いても有効である。
〔発明の効果〕
本発明によれば、複数の演算部の制御モードを処理すべ
き内容に応じて、プログラム実行中に切替えて、動作さ
せることを可能としたので、一方の演算部の状態によっ
て他の演算部が待たされることや、演算部間の同期や通
信のためのプロゲラムのオーバヘッドが大きくなるとい
うことを回避できる。それ故、処理の内容によらず、常
に各演算部を無駄なく利用することができる。
【図面の簡単な説明】
第1図は、本発明によるプロセッサの一実施例を示すブ
ロックダイヤグラムである。第2図(A)は、第1プロ
グラムメモリ3に保持されている第1及び第2の演算部
を制御するためのマイクロ命令のフォーマットを示す図
である。第2図(B)は、第1プログラムメモリ3に保
持されている第1の演算部を制御するためのマイクロ命
令のフォーマットを示す図である。第2図(C)は、通
常モードにおけるマイクロ命令のフォーマットを示す図
である。第2図(D)は、通常モードからマルチモード
への移行命令の一例を示すフォーマットである。第2図
(E)は、通常モードからマルチモードへの移行命令の
他の例を示すフォーマットである。第2図(F)は、ジ
ャンプ命令を示すフォーマットである。第2図(G)は
、マルチモードから通常モードへの移行命令の一例を示
すフオーマットである。第2図(H)は、マルチモード
から通常モードへの強制復帰命令を示すフォーマットで
ある。第3図(A)は、第2プログラムメモリ4に保持
されているマイクロ命令のフォーマットを示す。第3図
(B)は、マルチモードから通常モードへの正常復帰命
令を示すフォーマットである。第4図は、第1図のプロ
セッサの第1演算部1のブロックダイヤグラムを示す図
である。 第5図は、第1図のプロセッサの第2演算部2のブロッ
クダイヤグラムを示す図である。第6図は、本発明によ
るプロセッサの他の実施例のブロックダイヤグラムであ
る。第7図は、本発明によるプロセッサのさらに他の実
施例のブロックダイヤグラムである。 第3記 (B) 第4図

Claims (1)

  1. 【特許請求の範囲】 1、それぞれデータに対する演算を実行する第1、第2
    の演算手段と、 該第1の演算手段を制御する複数の第1のマイクロ命令
    および少くとも該第2の演算手段を制御する複数の第2
    のマイクロ命令とからなる第1のプログラムを記憶する
    第1のメモリと、該第2の演算手段を制御する第3のマ
    イクロ命令からなる第2のプログラムを記憶する第2の
    メモリと、 該第1のメモリに接続され、該第1のプログラム内の複
    数の第1又は第2のマイクロ命令を順次読み出し、解読
    し、読み出されたマイクロ命令が該第1のマイクロ命令
    のときには該第1の演算手段を制御する第1の制御信号
    を該第1の演算手段に出力し、読み出されたマイクロ命
    令が該第2のマイクロ命令のときには少くとも該第2の
    演算手段を制御する第2の制御信号を出力する第1の手
    段と、該第2のメモリに接続され、 該第2のプログラム内の複数の第3のマイクロ命令を順
    次読み出し、解読し、該第2の演算手段を制御する第3
    の制御信号を出力する第2の手段と、 該第1、第2の手段に接続され、該第2と第3の制御信
    号を切換えて該第2演算手段に供給する第3の手段とを
    有するプロセッサ。 2、該第3の手段は、該第1のプログラム内の第1の命
    令に応答して、それ以後は該第3の制御信号を選択し、
    該第1又は第2のプログラム内の第2の命令に応答して
    それ以降は該第2の制御信号を選択し、選択された第1
    又は第2の制御信号を該第2の演算手段に供給し該第1
    の命令に応答して該第2のプログラムの起動信号を該第
    2の手段に出力する第3の手段とからなる第1項のプロ
    セッサ。 3、該複数の第2のマイクロ命令の各々は、該第1、第
    2の演算手段を制御する第1、第2のフィールドを有し
    、該第1の手段は、該第2のマイクロ命令の各々の該第
    1、第2のフィールドを解読して該第1、第2の制御信
    号をそれぞれ出力する手段を有する第1項のプロセッサ
    。 4、該第2の命令は該第2のプログラムに設けられて、
    該第2の手段は該第2の命令に応答して該第2の命令に
    よる切換えを該第1の手段に通知する手段を有する第2
    項のプロセッサ。 5、該通知する手段は、該第2の命令に応答してセット
    されるフラグ手段を有し、 該第1の手段は、該フラグ手段の出力に応答して次に読
    み出すべき、該第1のプログラム内の命令を選択する手
    段を有する第4項のプロセッサ。 6、該第3の手段は該第1のプログラムに設けられた第
    3の命令に応答して、以後該第2の制御信号を選択する
    手段を有する第3項のプロセッサ。 7、該第2の手段は該第3のマイクロ命令の内該第1の
    命令にて指定されるアドレスのマイクロ命令から順次マ
    イクロ命令を読み出す手段を有する第2項のプロセッサ
    。 8、該第1、第2の演算手段は、それぞれでの演算の結
    果としてそれぞれ第1、第2の分岐条件判定信号を出力
    する手段を有し、該第1の手段は該第1、第2の分岐判
    定信号が入力され、該複数の第1、又は第2のマイクロ
    命令の一つで指定される分岐条件を該第1又は第2の分
    岐判定信号が満すか否かを判定する第1の一致判定手段
    を有し、 該第2の手段は、該第2の分岐判定信号が入力され、該
    複数の第3のマイクロ命令で指定される分岐条件を該第
    2の分岐判定信号が満すか否かを検出する第2の一致判
    定手段を有し、該第3の手段は、該第2の分岐判定信号
    を切りかえて該第1、第2の一致判定手段に供給する手
    段であつて、該第1の命令および該第2の命令に応答し
    、該第2の分岐判定信号を該第2の命令が読み出されて
    から、該第2の命令が読み出されるまでの間、該第2の
    一致判定手段に供給し、それ以外の間は該第1の一致判
    定手段に供給する手段を有する第2項のプロセッサ。 9、該第1、第2の演算手段に接続され、第3のメモリ
    であつて該第1の演算手段と該第3のメモリとの間のデ
    ータ転送および第2の演算手段と該第3のメモリとの間
    のデータ転送を並列に実行することができるものを有す
    る第2項のプロセッサ。 10、該第1の手段は該第1のマイクロ命令の一つに応
    答して、該第3のメモリと該第1の演算手段との間のデ
    ータ転送を制御する第4の制御信号を該第3のメモリに
    供給し、該第2のマイクロ命令の一つに応答して該第3
    のメモリと該第2の演算手段との間のデータ転送を制御
    する第5の制御信号を発生する手段を有し、 該第2の手段は該第3のマイクロ命令の一つに応答して
    該第3のメモリと該第2の演算手段の間のデータ転送を
    制御する第6の制御信号を発生する手段を有し、 該第3の手段は、該第5と第6の制御信号を切りかえて
    該第3のメモリに供給する手段であつて、該第1の命令
    が発生された後該第2の命令が発生されるまでの間該第
    6の制御信号を選択して該第3のメモリに供給し、それ
    以外の間は該第5の制御信号を選択して該第3のメモリ
    供給する手段を有する第2項のプロセッサ。
JP23456886A 1986-10-03 1986-10-03 1つ又は複数のプログラムを複数の演算部で実行可能なプロセツサ Pending JPS6389931A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23456886A JPS6389931A (ja) 1986-10-03 1986-10-03 1つ又は複数のプログラムを複数の演算部で実行可能なプロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23456886A JPS6389931A (ja) 1986-10-03 1986-10-03 1つ又は複数のプログラムを複数の演算部で実行可能なプロセツサ

Publications (1)

Publication Number Publication Date
JPS6389931A true JPS6389931A (ja) 1988-04-20

Family

ID=16973054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23456886A Pending JPS6389931A (ja) 1986-10-03 1986-10-03 1つ又は複数のプログラムを複数の演算部で実行可能なプロセツサ

Country Status (1)

Country Link
JP (1) JPS6389931A (ja)

Similar Documents

Publication Publication Date Title
KR920006279B1 (ko) 1개 또는 다수개의 프로그램을 다수개의 연산부에서 실행가능한 프로셋서
JP3101560B2 (ja) プロセッサ
US4740893A (en) Method for reducing the time for switching between programs
US5872987A (en) Massively parallel computer including auxiliary vector processor
US4954943A (en) Data processing system
JPH0922404A (ja) 同報通信プロセッサ命令を備えたアレイ・プロセッサ通信アーキテクチャ
JP2653037B2 (ja) データ処理システム
US4674063A (en) Information processing apparatus having a sequence control function
US4967339A (en) Operation control apparatus for a processor having a plurality of arithmetic devices
JPH10301779A (ja) デュアルワードまたは複数命令をフェッチしかつ発行する方法および装置
JPH031231A (ja) マイクロプログラム制御装置
JPS6389931A (ja) 1つ又は複数のプログラムを複数の演算部で実行可能なプロセツサ
JP2680828B2 (ja) ディジタル装置
JPS63268033A (ja) データ処理装置
JP2906792B2 (ja) ディジタルプロセッサ及びその制御方法
US5187782A (en) Data processing system
JP2772100B2 (ja) 並列命令フェッチ機構
JPS63141131A (ja) パイプライン制御方式
JPS6153754B2 (ja)
JPS63293638A (ja) データ処理装置
JP2504535B2 (ja) バスユニットの構成方法
JPS5899868A (ja) 並列処理方式
JPH0218732B2 (ja)
JPH0222736A (ja) 中央処理装置
JPS60252954A (ja) プログラム制御回路