JPS61110256A - 複数の演算部を有するプロセツサ - Google Patents
複数の演算部を有するプロセツサInfo
- Publication number
- JPS61110256A JPS61110256A JP59230247A JP23024784A JPS61110256A JP S61110256 A JPS61110256 A JP S61110256A JP 59230247 A JP59230247 A JP 59230247A JP 23024784 A JP23024784 A JP 23024784A JP S61110256 A JPS61110256 A JP S61110256A
- Authority
- JP
- Japan
- Prior art keywords
- program
- arithmetic
- instruction
- control
- mode
- 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.)
- Granted
Links
- 230000004044 response Effects 0.000 claims description 10
- 230000003213 activating effect Effects 0.000 claims 1
- 230000015654 memory Effects 0.000 description 17
- 238000012545 processing Methods 0.000 description 17
- 230000007246 mechanism Effects 0.000 description 7
- 230000007704 transition Effects 0.000 description 7
- 238000000034 method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Multi Processors (AREA)
- Processing Or Creating Images (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、プログラム制御式のプロセッサに関し、特に
、複数の演算部を有し、信号処理や画像処理に適したプ
ロセッサに関する。
、複数の演算部を有し、信号処理や画像処理に適したプ
ロセッサに関する。
データ処理装置の処理速度を増すために、複数のプロセ
ッサを結合して並行動作を行なわせることは、古くから
知られている。例えば、インテル社の−Compone
nt pata Catalog” 1981年版第7
−51〜7−57.7−64〜7−75頁−には、高速
処理のために、入出カプロセッサ8089、あるいは数
値演算プロセッサ8087が、CPUとしてのプロセッ
サ8086又は8088と結合されて、並行動作を行な
う形態が示されている。
ッサを結合して並行動作を行なわせることは、古くから
知られている。例えば、インテル社の−Compone
nt pata Catalog” 1981年版第7
−51〜7−57.7−64〜7−75頁−には、高速
処理のために、入出カプロセッサ8089、あるいは数
値演算プロセッサ8087が、CPUとしてのプロセッ
サ8086又は8088と結合されて、並行動作を行な
う形態が示されている。
前記の入出カプロセッサ8089は、CPUから起動さ
れると、それ独自のプログラムに従って独立に処理を進
める。この型の結合は、各プロセッサの独立性が強いた
め、起動、処理終了通知、タイミング調整などのための
通信プログラムを必要とする。信号処理や画像処理のよ
うに、高速でしかも小刻みな処理が多く必要とされる分
野においては、前記の通信プログラムの実行がオーバヘ
ッドとなって、充分な処理速度を得るのが困難である。
れると、それ独自のプログラムに従って独立に処理を進
める。この型の結合は、各プロセッサの独立性が強いた
め、起動、処理終了通知、タイミング調整などのための
通信プログラムを必要とする。信号処理や画像処理のよ
うに、高速でしかも小刻みな処理が多く必要とされる分
野においては、前記の通信プログラムの実行がオーバヘ
ッドとなって、充分な処理速度を得るのが困難である。
また、前記の数値演算プロセッサ8087は、前記80
89とは逆に、はぼ完全にCPUに隷属し、CPUが逐
次的に取出してくる単一プログラムの命令中の一部(浮
動小数点演算、特殊関数計算など)の実行を分担するに
すぎない。この型の結合は、通信プログラムによるオー
バヘッドがない代りに、独立性の強い複数のプログラム
ルーチンを並行して実行するには適していない。
89とは逆に、はぼ完全にCPUに隷属し、CPUが逐
次的に取出してくる単一プログラムの命令中の一部(浮
動小数点演算、特殊関数計算など)の実行を分担するに
すぎない。この型の結合は、通信プログラムによるオー
バヘッドがない代りに、独立性の強い複数のプログラム
ルーチンを並行して実行するには適していない。
本発明4目的は、複数の演算部の協同形態が必要に応じ
て変更されることにより、高速かつ柔軟な処理能力を備
えたプロセッサを、提供することにある。
て変更されることにより、高速かつ柔軟な処理能力を備
えたプロセッサを、提供することにある。
本発明によれば、複数の演算部と第1及び第2のプログ
ラム制御機構とが設けられ、通常モードにおいては、全
演算部が第1プログラム制御機構の制御下に置かれて、
単一のプログラム(第1プログラム)に属する各命令が
全演算部を制御し、これらの演算部の並行動作により各
命令が高速に実行される。しかし、マルチプログラムモ
ードにおいては、第2プログラム制御機構が並行して動
作し、演算部の一部は、第1プログラム制御機構から切
離されて、第2プログラム制御機構の制御下に置かれ、
別のプログラム(第2プログラム)の命令によって制御
される。したがって、このモードにおいては、2つの独
立したプログラムの並走による高速処理が行なわれる。
ラム制御機構とが設けられ、通常モードにおいては、全
演算部が第1プログラム制御機構の制御下に置かれて、
単一のプログラム(第1プログラム)に属する各命令が
全演算部を制御し、これらの演算部の並行動作により各
命令が高速に実行される。しかし、マルチプログラムモ
ードにおいては、第2プログラム制御機構が並行して動
作し、演算部の一部は、第1プログラム制御機構から切
離されて、第2プログラム制御機構の制御下に置かれ、
別のプログラム(第2プログラム)の命令によって制御
される。したがって、このモードにおいては、2つの独
立したプログラムの並走による高速処理が行なわれる。
通常モードからマルチプログラムモードへの切替えは、
第1プログラム中の特定の命令に応じて遂行される。
第1プログラム中の特定の命令に応じて遂行される。
マルチプログラムモードから通常モードへの切替えは、
第2プログラム中の特定の命令に応じて行なわれてもよ
いし、第1プログラム中の他の特定命令に応じて行なわ
れてもよい。
第2プログラム中の特定の命令に応じて行なわれてもよ
いし、第1プログラム中の他の特定命令に応じて行なわ
れてもよい。
第1図は、本発明の一実施例を示す。第1演算部1及び
第2演算部2は、周知の算術論理演算器(ALU)、レ
ジスタ群及びそれらに対する制御回路を有し、データに
対する演算やアドレス計算などを行なう。外部(外部メ
モリ、入出力機器等)との通信については、制御信号(
リード/ライト信号等)は制御バス111,211に送
出され、アドレスはアドレスバス112,212に送出
され、そして、データの授受はデータバス113゜21
3を介して行なわれる。第1プログラムメモリ部3及び
第2プログラムメモリ部4(以下それぞれ第1PM及び
第2PMと略記)は、それぞれ第1プログラム及び第2
プログラムを保持し、それらの内容は、それぞれ第1プ
ログラムカウンタ5及び第2プログラムカウンタ6(以
下それぞれ第1PC及び第2PCと略゛記)に従って、
1命令ずつ読出される。
第2演算部2は、周知の算術論理演算器(ALU)、レ
ジスタ群及びそれらに対する制御回路を有し、データに
対する演算やアドレス計算などを行なう。外部(外部メ
モリ、入出力機器等)との通信については、制御信号(
リード/ライト信号等)は制御バス111,211に送
出され、アドレスはアドレスバス112,212に送出
され、そして、データの授受はデータバス113゜21
3を介して行なわれる。第1プログラムメモリ部3及び
第2プログラムメモリ部4(以下それぞれ第1PM及び
第2PMと略記)は、それぞれ第1プログラム及び第2
プログラムを保持し、それらの内容は、それぞれ第1プ
ログラムカウンタ5及び第2プログラムカウンタ6(以
下それぞれ第1PC及び第2PCと略゛記)に従って、
1命令ずつ読出される。
第2図(a)は、第1プログラムの命令の基本的なフォ
ーマットを示す。第1演算フイールド31は第1演算部
1の動作を指示し、第2演算フイールド32は通常第2
演算部の動作を指示する。
ーマットを示す。第1演算フイールド31は第1演算部
1の動作を指示し、第2演算フイールド32は通常第2
演算部の動作を指示する。
制御フィールド33は、総合的な制御とシーケンスの制
御に関する制御情報のためのフィールドである。第3図
は、第2プログラムの命令のフォーマットを示す。演算
フィールド41は第2演算部2の動作を指示し、制御フ
ィールド42は第1プログラム命令の制御フィールド3
3と同様である。
御に関する制御情報のためのフィールドである。第3図
は、第2プログラムの命令のフォーマットを示す。演算
フィールド41は第2演算部2の動作を指示し、制御フ
ィールド42は第1プログラム命令の制御フィールド3
3と同様である。
ただし、これらの命令のフィールド割付けは、命令の種
類によって若干変化する。
類によって若干変化する。
第1制御回路7は、第1プログラム命令の制御フィール
ド33に応答して、分岐に伴う判断や、第1PC5の更
新又は変更などを行なう。第2制御回路8は、第2プロ
グラム命令の制御フィールド42及び第2PC6に関し
て、前記と同様に機能する。切替回路9は、第1プログ
ラム命令の第2薄算フイールド32又は第2プログラム
命令の演算フィールド42を切替えて、第2演算部2に
供給する。判定回路10は、後で詳述するように、第1
プログラム中のマルチプログラムモード移行命令(以下
MP移行命令と略記)に応答して、第2 P (: 6
、第2制御回路8及び切替回路9を制御する。
ド33に応答して、分岐に伴う判断や、第1PC5の更
新又は変更などを行なう。第2制御回路8は、第2プロ
グラム命令の制御フィールド42及び第2PC6に関し
て、前記と同様に機能する。切替回路9は、第1プログ
ラム命令の第2薄算フイールド32又は第2プログラム
命令の演算フィールド42を切替えて、第2演算部2に
供給する。判定回路10は、後で詳述するように、第1
プログラム中のマルチプログラムモード移行命令(以下
MP移行命令と略記)に応答して、第2 P (: 6
、第2制御回路8及び切替回路9を制御する。
通常モードにおいて、切替回路9は、第1プログラム命
令の第2演算フイールド32を第2演算部2に供給し、
第1演算フイールド31はもちろん第1演算部1に供給
され、かくて、第1PC5に基づき第1PM3から逐次
読出される第1プログラム命令が、第1演算部1と第2
演算部2の双方を制御する。すなわち、通常モードにお
いては、両演算部が協同して第1プログラムを実行する
。
令の第2演算フイールド32を第2演算部2に供給し、
第1演算フイールド31はもちろん第1演算部1に供給
され、かくて、第1PC5に基づき第1PM3から逐次
読出される第1プログラム命令が、第1演算部1と第2
演算部2の双方を制御する。すなわち、通常モードにお
いては、両演算部が協同して第1プログラムを実行する
。
第1プログラムの実行中にMP移行命令に遭遇すると、
マルチプログラムモードに移行し、以降、第2プログラ
ムの実行が、第2演算部2を用いて、第1プログラムと
並行して行なわれる。MP移行命令の一例を第2図(b
)に示す。この命令は、第2演算フイールド32中の特
定のビット32−1に“1”を持ち、このとき、同フィ
ールドの残余のビット群32−2は、起動すべき第2プ
ログラムの先頭アドレスを示す。なお、通常命令におい
ては、ビット32−1はK OIIで、ビット群32−
2が第2演算部2の動作内容を規定することになる。
マルチプログラムモードに移行し、以降、第2プログラ
ムの実行が、第2演算部2を用いて、第1プログラムと
並行して行なわれる。MP移行命令の一例を第2図(b
)に示す。この命令は、第2演算フイールド32中の特
定のビット32−1に“1”を持ち、このとき、同フィ
ールドの残余のビット群32−2は、起動すべき第2プ
ログラムの先頭アドレスを示す。なお、通常命令におい
ては、ビット32−1はK OIIで、ビット群32−
2が第2演算部2の動作内容を規定することになる。
判定回路10は、前記のビット32−1を監視し、それ
が1″であることを検出すると、制御信号101を発生
して、ビット群32−2、すなわち第2プログラムの先
頭アドレスを第2PC6にセットするとともに、第2制
御回路8を起動し、かつ、切替回路9を切替えて、第2
プログラム命令の演算フィールド41が第2演算部2に
供給されるようにする。以後、第1演算部1と第1制御
回路7は、第1PC5に従って第1 PM3から読出さ
れる第1プログラムを実行し、これと並行して、第2演
算部2と第2制御回路8は、第2PC6に従って第2P
M4がら読出される第2プログラムを実行する。
が1″であることを検出すると、制御信号101を発生
して、ビット群32−2、すなわち第2プログラムの先
頭アドレスを第2PC6にセットするとともに、第2制
御回路8を起動し、かつ、切替回路9を切替えて、第2
プログラム命令の演算フィールド41が第2演算部2に
供給されるようにする。以後、第1演算部1と第1制御
回路7は、第1PC5に従って第1 PM3から読出さ
れる第1プログラムを実行し、これと並行して、第2演
算部2と第2制御回路8は、第2PC6に従って第2P
M4がら読出される第2プログラムを実行する。
MP移行命令の変形として、第1演ηフイールド31に
移行指示コード又はピントを置き、第2演算フイールド
32の全部を第2プログラム先頭アドレスに割当てても
よい。この場合、判定回路10は、いうまでもなく、第
1演算フイールド31を監視することになる。
移行指示コード又はピントを置き、第2演算フイールド
32の全部を第2プログラム先頭アドレスに割当てても
よい。この場合、判定回路10は、いうまでもなく、第
1演算フイールド31を監視することになる。
また、他の変形として、第2図(C)に示すように、第
1プログラム命令の制御フィールド33KMP移行を指
示するコードを置いてもよい。その場合には、第5図に
示すように、判定回路1゜は見掛上除去され、代りに、
第1制御回路7が第2プログラムの起動のための制御信
号101を発生する。
1プログラム命令の制御フィールド33KMP移行を指
示するコードを置いてもよい。その場合には、第5図に
示すように、判定回路1゜は見掛上除去され、代りに、
第1制御回路7が第2プログラムの起動のための制御信
号101を発生する。
次に、マルチプログラムモードから通常モードへの復帰
を説明する。この復帰には、第2プログラムが正常に完
了した時点で通常モードに戻る場合と、外部状況の異常
等により第2プログラムの途中で強制的に通常モードに
戻される場合とがある。前者を正常復帰、後者を強制復
帰と呼ぶことにする。
を説明する。この復帰には、第2プログラムが正常に完
了した時点で通常モードに戻る場合と、外部状況の異常
等により第2プログラムの途中で強制的に通常モードに
戻される場合とがある。前者を正常復帰、後者を強制復
帰と呼ぶことにする。
正常復帰のためには、第2プログラムのための命令セッ
ト中に通常モードへの復帰を指示する命令(正常復帰命
令)を用意し、第2プログラムの最後にこの命令を置く
。正常復帰指示コードが制御フィールド42に置かれる
命令形式の場合、この命令を検出した第2制御回路8は
、MPモードへの移行時と逆に、第2制御回路自身を停
止させるとともに1制御線102により切替回路9を復
旧し、第2演算部2に対する第1プログラム命令の第2
演算フイールド32の供給を再開させ、同時にその旨を
第1制御回路7に通知する。別の形態として、第2プロ
グラム命令の演算フィールドの特定のビットを、正常復
帰の指示のために用いてもよい。この場合、このビット
を監視して制御信号102等を発生するための第2判定
回路(図示省略)を設ける。
ト中に通常モードへの復帰を指示する命令(正常復帰命
令)を用意し、第2プログラムの最後にこの命令を置く
。正常復帰指示コードが制御フィールド42に置かれる
命令形式の場合、この命令を検出した第2制御回路8は
、MPモードへの移行時と逆に、第2制御回路自身を停
止させるとともに1制御線102により切替回路9を復
旧し、第2演算部2に対する第1プログラム命令の第2
演算フイールド32の供給を再開させ、同時にその旨を
第1制御回路7に通知する。別の形態として、第2プロ
グラム命令の演算フィールドの特定のビットを、正常復
帰の指示のために用いてもよい。この場合、このビット
を監視して制御信号102等を発生するための第2判定
回路(図示省略)を設ける。
強制復帰のためには、第1プログラム中にそのための命
令を用意する。この命令は、例えば、第2演算フイール
ド32中の他の特定のビットをtl IItにすること
Kよって実現され11判定1烙10がこのピノ、トを検
出して、制御信号101により前述の復帰動作を行なわ
せる。あるいは、制御フィールド33に強制復帰指示コ
ードを置き、第1制御回路7がこれを検出して前記の復
帰動作を制御するようにしてもよい。
令を用意する。この命令は、例えば、第2演算フイール
ド32中の他の特定のビットをtl IItにすること
Kよって実現され11判定1烙10がこのピノ、トを検
出して、制御信号101により前述の復帰動作を行なわ
せる。あるいは、制御フィールド33に強制復帰指示コ
ードを置き、第1制御回路7がこれを検出して前記の復
帰動作を制御するようにしてもよい。
前記のような強制復帰機構があれば、正常復帰命令は必
ずしも必要でない。例えば、フラグを設け、第1プログ
ラム命令セツト中に、このフラグをセットする命令と、
このフラグかりセントされていることを条件とするジャ
ンプ命令を用意し、他方、第2プログラム命令セツト中
には、このフをセットしてからマルチプログラムモード
に移行し、以後適当な間隔で前記の条件付ジャンプ命令
を実行するとともに、そのジャンプ先に前記強制復帰命
令を置くようにプログラムし、他方、第2プログラムの
末尾には前記のフラグリセット命令を置いておく。こう
することにより、第2プログラムの終了時にフラグがリ
セットされ、その後熱るべき時点で第1プログラムがこ
れを検出し、強制復帰命令にジャンプして、通常モード
への復帰が行なわれる。あるいは、前記フラグのりセン
トが第1プログラムへの割込みを起こして、強制復帰命
令を実行させるようにしてもよい。更に別の方法として
、第2プログラム命令セツト中に第1プログラムへの割
込みを行なう命令を用意し、これを第2プログラムの末
尾に置くようにしてもよい。
ずしも必要でない。例えば、フラグを設け、第1プログ
ラム命令セツト中に、このフラグをセットする命令と、
このフラグかりセントされていることを条件とするジャ
ンプ命令を用意し、他方、第2プログラム命令セツト中
には、このフをセットしてからマルチプログラムモード
に移行し、以後適当な間隔で前記の条件付ジャンプ命令
を実行するとともに、そのジャンプ先に前記強制復帰命
令を置くようにプログラムし、他方、第2プログラムの
末尾には前記のフラグリセット命令を置いておく。こう
することにより、第2プログラムの終了時にフラグがリ
セットされ、その後熱るべき時点で第1プログラムがこ
れを検出し、強制復帰命令にジャンプして、通常モード
への復帰が行なわれる。あるいは、前記フラグのりセン
トが第1プログラムへの割込みを起こして、強制復帰命
令を実行させるようにしてもよい。更に別の方法として
、第2プログラム命令セツト中に第1プログラムへの割
込みを行なう命令を用意し、これを第2プログラムの末
尾に置くようにしてもよい。
次に、通常モードとマルチプログラムモードの使い分け
の一例を説明する。第5図において、第1演算部1に接
続されたバス111〜113と第2演算部2に接続され
たバス211〜213は、2ボートメモリ50のそれぞ
れ第1及び第2ボートに接続されている。したがって、
どちらの演算部も2ボートメモリ50に自由にアクセス
することが可能である。第2演算部2に接続されたバス
211〜213は、また、入出力ポート51にも接続さ
れており、これにより、第2演算部2は、外部とデータ
の授受を行なうことができる。バス切替器52は、2ボ
ートメモリ50の第1ポートに対して、アドレスバス1
12ど212のどちらか一方を接続する。このバス切替
器52の切替動作は、切替命令に代わる特定アドレスへ
の書込命令が実行されたときに、その書込内容によシ制
御される。ただし、この制御は、第1プログラム命令中
の特定のビット又はコードに応じる適当な回路(例えば
第1制御回路7)Kより、直接指示されるようにしても
よい。
の一例を説明する。第5図において、第1演算部1に接
続されたバス111〜113と第2演算部2に接続され
たバス211〜213は、2ボートメモリ50のそれぞ
れ第1及び第2ボートに接続されている。したがって、
どちらの演算部も2ボートメモリ50に自由にアクセス
することが可能である。第2演算部2に接続されたバス
211〜213は、また、入出力ポート51にも接続さ
れており、これにより、第2演算部2は、外部とデータ
の授受を行なうことができる。バス切替器52は、2ボ
ートメモリ50の第1ポートに対して、アドレスバス1
12ど212のどちらか一方を接続する。このバス切替
器52の切替動作は、切替命令に代わる特定アドレスへ
の書込命令が実行されたときに、その書込内容によシ制
御される。ただし、この制御は、第1プログラム命令中
の特定のビット又はコードに応じる適当な回路(例えば
第1制御回路7)Kより、直接指示されるようにしても
よい。
第1の態様として、入力機器からのデータの取込みと、
2ボートメモリ50内のデータの処理とを、いずれも早
急に行ないたい場合を想定する。
2ボートメモリ50内のデータの処理とを、いずれも早
急に行ないたい場合を想定する。
この状況に対処するには、プロセッサをマルチプログラ
ムモードにセットするとともに、バス切替回路50をバ
ス112側に切替える。この形態の下で、第1演算部1
は、第1プログラムに従ッテ、2ボートメモリ50内の
データの処理を行ない、それと並行して、第2演算部2
は、第2プログラムに従って、入出力ボート51を経て
取込んだ入力データを2ボートメモリ50に書込む。し
だがつて、たとえデータ取込処理に待合せ等の渋滞が生
じても、そのために2ボートメモリ50内のデータの処
理が遅れるおそれはない。
ムモードにセットするとともに、バス切替回路50をバ
ス112側に切替える。この形態の下で、第1演算部1
は、第1プログラムに従ッテ、2ボートメモリ50内の
データの処理を行ない、それと並行して、第2演算部2
は、第2プログラムに従って、入出力ボート51を経て
取込んだ入力データを2ボートメモリ50に書込む。し
だがつて、たとえデータ取込処理に待合せ等の渋滞が生
じても、そのために2ボートメモリ50内のデータの処
理が遅れるおそれはない。
第2の態様として、2ボートメモリ50内のデータを高
速で処理する必要があり、かつ、そのためのアドレス計
算が複雑な場合を想定する。例えば、画像処理において
は、データ配列が2次元わるいはそれ以上の多次元構造
となっていて、複雑なアドレス計算を必要とすることが
多い。この場合には、プロセッサを通常モードにセット
するとともに、バス切替器52をバス212側に切替え
る。この形態の下で、第1演算部1があるデータの処理
を行なっている間に、第2演算部2は次のデータのアド
レスの計算を済ませておき、この間、通信のためのオー
バヘッドはない。単一の演算器でデータ処理とアドレス
計算を交互に行なうのと比較すれば、単純に見積っても
約2倍のスループットの向上があり、更に、単一演算器
による場合には、データ処理とアドレス計算の交代時に
ルジスタ類が不足して、算出データをメモリに一時的に
拠避させねばならないことを考慮すれば、実際には2倍
を越す高速化が期待できる。
速で処理する必要があり、かつ、そのためのアドレス計
算が複雑な場合を想定する。例えば、画像処理において
は、データ配列が2次元わるいはそれ以上の多次元構造
となっていて、複雑なアドレス計算を必要とすることが
多い。この場合には、プロセッサを通常モードにセット
するとともに、バス切替器52をバス212側に切替え
る。この形態の下で、第1演算部1があるデータの処理
を行なっている間に、第2演算部2は次のデータのアド
レスの計算を済ませておき、この間、通信のためのオー
バヘッドはない。単一の演算器でデータ処理とアドレス
計算を交互に行なうのと比較すれば、単純に見積っても
約2倍のスループットの向上があり、更に、単一演算器
による場合には、データ処理とアドレス計算の交代時に
ルジスタ類が不足して、算出データをメモリに一時的に
拠避させねばならないことを考慮すれば、実際には2倍
を越す高速化が期待できる。
なお、第1PM、第2PM及びデータ用メモリ(前記実
施例における外部メモリ)は、別個独立のものとするの
が、高速化の観点からは有利であるが、設計条件によっ
ては、例えば第1PMとデータ用メモリを一体化するな
どの、一体化も可能である。また、切替回路9は、説明
の都合上、独立した回路として示したが、構造上は、例
えば第1制御回路7など、他の回路の一部をなしていて
もよい。更に、第3.第4等の切替可能な演算部及びプ
ログラム制御機構を付加してもよい。
施例における外部メモリ)は、別個独立のものとするの
が、高速化の観点からは有利であるが、設計条件によっ
ては、例えば第1PMとデータ用メモリを一体化するな
どの、一体化も可能である。また、切替回路9は、説明
の都合上、独立した回路として示したが、構造上は、例
えば第1制御回路7など、他の回路の一部をなしていて
もよい。更に、第3.第4等の切替可能な演算部及びプ
ログラム制御機構を付加してもよい。
本発明によれば、通常モードとマルチプログラムモード
を使い分けることによって、複数の演算部に、仕事の性
質に応じた効率の良い形態で並行動作を行なわせること
ができる。すなわち、通常モードでは、グロセノサ間の
通信のためのオーバヘッドなしに、複数の演算部の並行
動作による高速処理が行なわれ、他方、マルチプログラ
ムモードでは、独立性の強い2つの仕事を、互に他方の
遅速と無関係に、並行して進めることにより、高速化が
達成される。したがって、柔軟性に富み、コストパフォ
ーマンスの高い高速プロセッサが提供される。
を使い分けることによって、複数の演算部に、仕事の性
質に応じた効率の良い形態で並行動作を行なわせること
ができる。すなわち、通常モードでは、グロセノサ間の
通信のためのオーバヘッドなしに、複数の演算部の並行
動作による高速処理が行なわれ、他方、マルチプログラ
ムモードでは、独立性の強い2つの仕事を、互に他方の
遅速と無関係に、並行して進めることにより、高速化が
達成される。したがって、柔軟性に富み、コストパフォ
ーマンスの高い高速プロセッサが提供される。
第1図は本発明の一実施例のブロックダイヤグラム、第
2図及び第3図は第1図の装置のだめの命令のフォーマ
ット図、第4図は本発明の他の実施例のブロックダイヤ
グラム、第5図は本発明の一応用例のブロックダイヤグ
ラムである。 1・・・第1演算部、2・・・第2演算部、3・・・第
1プログラムメモリ部、4・・・第2プログラムメモリ
部、5・・・第1プログラムカウンタ、6・・・第2プ
ログラムカウンタ、7・・・第1制御回路、8・・・第
2制御回路、9・・・第2演算部に対する制御の切替回
路、10・・・モード切替命令判定回路。
2図及び第3図は第1図の装置のだめの命令のフォーマ
ット図、第4図は本発明の他の実施例のブロックダイヤ
グラム、第5図は本発明の一応用例のブロックダイヤグ
ラムである。 1・・・第1演算部、2・・・第2演算部、3・・・第
1プログラムメモリ部、4・・・第2プログラムメモリ
部、5・・・第1プログラムカウンタ、6・・・第2プ
ログラムカウンタ、7・・・第1制御回路、8・・・第
2制御回路、9・・・第2演算部に対する制御の切替回
路、10・・・モード切替命令判定回路。
Claims (1)
- 【特許請求の範囲】 1、複数の演算部と、第1プログラムに従つて前記複数
の演算部のすべてを制御しうる第1制御部と、起動され
ると前記第1制御部と並行に動作して第2プログラムに
従い前記複数の演算部の一部を制御する第2制御部と、
前記第1プログラム中の特定の命令に応答して前記第2
制御部を起動するとともにこの第2制御部により制御さ
れる演算部を前記第1制御部から切離す手段と、動作中
の前記第2制御部を停止させるとともにこの第2制御部
に制御されていた演算部を前記第1制御部に接続する手
段とを備えたプロセッサ。 2、特許請求の範囲1において、その最後に記載された
手段が前記第2プログラム中の特定の命令に応答して動
作するプロセッサ。 3、特許請求の範囲1において、その最後に記載された
手段が前記第1プログラム中の他の特定の命令に応答し
て動作するプロセッサ。 4、特許請求の範囲1において、その最後に記載された
手段が、前記第2プログラム中の特定の命令に応答して
動作する部分と、前記第1プログラム中の他の特定の命
令に応答して動作する部分とからなるプロセッサ。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59230247A JPS61110256A (ja) | 1984-11-02 | 1984-11-02 | 複数の演算部を有するプロセツサ |
DE8585113878T DE3587213T2 (de) | 1984-11-02 | 1985-10-31 | Verarbeitungseinheit mit der faehigkeit ein oder mehrere programme auszufuehren mit einer mehrzahl von funktionseinheiten. |
EP85113878A EP0180227B1 (en) | 1984-11-02 | 1985-10-31 | Processor capable of executing one or more programs by a plurality of operation units |
KR1019850008131A KR920006279B1 (ko) | 1984-11-02 | 1985-11-01 | 1개 또는 다수개의 프로그램을 다수개의 연산부에서 실행가능한 프로셋서 |
US06/794,449 US4821187A (en) | 1984-11-02 | 1985-11-04 | Processor capable of executing one or more programs by a plurality of operation units |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59230247A JPS61110256A (ja) | 1984-11-02 | 1984-11-02 | 複数の演算部を有するプロセツサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61110256A true JPS61110256A (ja) | 1986-05-28 |
JPH0550022B2 JPH0550022B2 (ja) | 1993-07-27 |
Family
ID=16904823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59230247A Granted JPS61110256A (ja) | 1984-11-02 | 1984-11-02 | 複数の演算部を有するプロセツサ |
Country Status (5)
Country | Link |
---|---|
US (1) | US4821187A (ja) |
EP (1) | EP0180227B1 (ja) |
JP (1) | JPS61110256A (ja) |
KR (1) | KR920006279B1 (ja) |
DE (1) | DE3587213T2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01179515A (ja) * | 1988-01-11 | 1989-07-17 | Sanyo Electric Co Ltd | デジタル信号処理装置 |
JPH02236693A (ja) * | 1989-09-13 | 1990-09-19 | Sanyo Electric Co Ltd | デジタル信号処理装置 |
JPH07191964A (ja) * | 1994-08-05 | 1995-07-28 | Sanyo Electric Co Ltd | デジタル信号処理装置 |
JPH07210541A (ja) * | 1994-08-05 | 1995-08-11 | Sanyo Electric Co Ltd | デジタル信号処理装置及び信号処理方法 |
JP2011086158A (ja) * | 2009-10-16 | 2011-04-28 | Mitsubishi Electric Corp | 並列信号処理装置 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5056006A (en) * | 1988-09-12 | 1991-10-08 | General Electric Company | Parallel processor with single program storage and sequencer and simultaneous instruction processing |
US5546592A (en) * | 1989-06-26 | 1996-08-13 | Ncr Corporation | System and method for incrementing memory addresses in a computer system |
US5150468A (en) * | 1989-06-30 | 1992-09-22 | Bull Hn Information Systems Inc. | State controlled instruction logic management apparatus included in a pipelined processing unit |
DE3931924A1 (de) * | 1989-09-25 | 1991-04-04 | Standard Elektrik Lorenz Ag | Steuerung der zeitlichen zuordnung von datenverarbeitungsleistung einer rechenanlage |
US5301345A (en) * | 1991-05-03 | 1994-04-05 | Motorola, Inc. | Data processing system for performing a shifting operation and a constant generation operation and method therefor |
JP3055999B2 (ja) * | 1992-03-16 | 2000-06-26 | 日本電気株式会社 | マイクロプログラム制御装置群 |
US5509129A (en) * | 1993-11-30 | 1996-04-16 | Guttag; Karl M. | Long instruction word controlling plural independent processor operations |
US5481684A (en) * | 1994-01-11 | 1996-01-02 | Exponential Technology, Inc. | Emulating operating system calls in an alternate instruction set using a modified code segment descriptor |
US5781750A (en) * | 1994-01-11 | 1998-07-14 | Exponential Technology, Inc. | Dual-instruction-set architecture CPU with hidden software emulation mode |
US5542059A (en) * | 1994-01-11 | 1996-07-30 | Exponential Technology, Inc. | Dual instruction set processor having a pipeline with a pipestage functional unit that is relocatable in time and sequence order |
US5524265A (en) * | 1994-03-08 | 1996-06-04 | Texas Instruments Incorporated | Architecture of transfer processor |
US5673407A (en) * | 1994-03-08 | 1997-09-30 | Texas Instruments Incorporated | Data processor having capability to perform both floating point operations and memory access in response to a single instruction |
JPH07271744A (ja) * | 1994-03-31 | 1995-10-20 | Matsushita Electric Ind Co Ltd | 並列計算機 |
US5685009A (en) * | 1994-07-20 | 1997-11-04 | Exponential Technology, Inc. | Shared floating-point registers and register port-pairing in a dual-architecture CPU |
US5481693A (en) * | 1994-07-20 | 1996-01-02 | Exponential Technology, Inc. | Shared register architecture for a dual-instruction-set CPU |
JPH0950312A (ja) * | 1995-05-31 | 1997-02-18 | Mitsubishi Electric Corp | Faコントローラのデータ処理方法 |
US6317820B1 (en) * | 1998-06-05 | 2001-11-13 | Texas Instruments Incorporated | Dual-mode VLIW architecture providing a software-controlled varying mix of instruction-level and task-level parallelism |
JP3830683B2 (ja) | 1998-12-28 | 2006-10-04 | 富士通株式会社 | Vliwプロセッサ |
AU2597401A (en) * | 1999-12-22 | 2001-07-03 | Ubicom, Inc. | System and method for instruction level multithreading in an embedded processor using zero-time context switching |
US7308686B1 (en) | 1999-12-22 | 2007-12-11 | Ubicom Inc. | Software input/output using hard real time threads |
US7120783B2 (en) * | 1999-12-22 | 2006-10-10 | Ubicom, Inc. | System and method for reading and writing a thread state in a multithreaded central processing unit |
US6578135B1 (en) * | 2000-01-11 | 2003-06-10 | Broadcom Corporation | Method and apparatus for performing addressing operations in a superscalar superpipelined processor |
US6684342B1 (en) | 2000-06-22 | 2004-01-27 | Ubicom, Inc. | Apparatus and method of dynamic and deterministic changes in clock frequency for lower power consumption while maintaining fast interrupt handling |
US7010612B1 (en) | 2000-06-22 | 2006-03-07 | Ubicom, Inc. | Universal serializer/deserializer |
US7047396B1 (en) | 2000-06-22 | 2006-05-16 | Ubicom, Inc. | Fixed length memory to memory arithmetic and architecture for a communications embedded processor system |
US7822950B1 (en) | 2003-01-22 | 2010-10-26 | Ubicom, Inc. | Thread cancellation and recirculation in a computer processor for avoiding pipeline stalls |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3651482A (en) * | 1968-04-03 | 1972-03-21 | Honeywell Inc | Interlocking data subprocessors |
US3631405A (en) * | 1969-11-12 | 1971-12-28 | Honeywell Inc | Sharing of microprograms between processors |
US3980992A (en) * | 1974-11-26 | 1976-09-14 | Burroughs Corporation | Multi-microprocessing unit on a single semiconductor chip |
US4001788A (en) * | 1975-03-26 | 1977-01-04 | Honeywell Information Systems, Inc. | Pathfinder microprogram control system |
JPS6049332B2 (ja) * | 1977-01-31 | 1985-11-01 | 株式会社東芝 | マイクロプログラム制御方式 |
US4156279A (en) * | 1977-11-22 | 1979-05-22 | Honeywell Information Systems Inc. | Microprogrammed data processing unit including a multifunction secondary control store |
DE3009121C2 (de) * | 1980-03-10 | 1982-02-18 | Siemens AG, 1000 Berlin und 8000 München | Mikroprogramm-Steuereinrichtung |
US4430707A (en) * | 1981-03-05 | 1984-02-07 | Burroughs Corporation | Microprogrammed digital data processing system employing multi-phase subroutine control for concurrently executing tasks |
JPS57155666A (en) * | 1981-03-20 | 1982-09-25 | Fujitsu Ltd | Instruction controlling system of vector processor |
-
1984
- 1984-11-02 JP JP59230247A patent/JPS61110256A/ja active Granted
-
1985
- 1985-10-31 EP EP85113878A patent/EP0180227B1/en not_active Expired - Lifetime
- 1985-10-31 DE DE8585113878T patent/DE3587213T2/de not_active Expired - Fee Related
- 1985-11-01 KR KR1019850008131A patent/KR920006279B1/ko not_active IP Right Cessation
- 1985-11-04 US US06/794,449 patent/US4821187A/en not_active Expired - Lifetime
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01179515A (ja) * | 1988-01-11 | 1989-07-17 | Sanyo Electric Co Ltd | デジタル信号処理装置 |
JPH02236693A (ja) * | 1989-09-13 | 1990-09-19 | Sanyo Electric Co Ltd | デジタル信号処理装置 |
JPH07191964A (ja) * | 1994-08-05 | 1995-07-28 | Sanyo Electric Co Ltd | デジタル信号処理装置 |
JPH07210541A (ja) * | 1994-08-05 | 1995-08-11 | Sanyo Electric Co Ltd | デジタル信号処理装置及び信号処理方法 |
JP2011086158A (ja) * | 2009-10-16 | 2011-04-28 | Mitsubishi Electric Corp | 並列信号処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US4821187A (en) | 1989-04-11 |
KR920006279B1 (ko) | 1992-08-03 |
EP0180227A3 (en) | 1990-11-14 |
JPH0550022B2 (ja) | 1993-07-27 |
EP0180227B1 (en) | 1993-03-24 |
EP0180227A2 (en) | 1986-05-07 |
DE3587213T2 (de) | 1993-07-01 |
KR860004355A (ko) | 1986-06-20 |
DE3587213D1 (de) | 1993-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS61110256A (ja) | 複数の演算部を有するプロセツサ | |
US5056000A (en) | Synchronized parallel processing with shared memory | |
US8108056B2 (en) | Industrial controller using shared memory multicore architecture | |
US4851992A (en) | Register/saving/restoring system for saving and restoring data in a register of a slave processor | |
JP4801605B2 (ja) | Simd型マイクロプロセッサ | |
US4967339A (en) | Operation control apparatus for a processor having a plurality of arithmetic devices | |
JPH08241213A (ja) | マイクロプロセッサにおける分散型制御システム | |
JPS6315628B2 (ja) | ||
JPS6389931A (ja) | 1つ又は複数のプログラムを複数の演算部で実行可能なプロセツサ | |
JP5369669B2 (ja) | Simd型マイクロプロセッサ | |
JP2601359B2 (ja) | 並行処理マイクロプロセッサ | |
JPS60252954A (ja) | プログラム制御回路 | |
JPS6226487B2 (ja) | ||
JPS5850367B2 (ja) | 入出力制御装置 | |
JPS6049464A (ja) | マルチプロセッサ計算機におけるプロセッサ間通信方式 | |
JPH0869444A (ja) | マルチプロセッサシステム | |
JP2504535B2 (ja) | バスユニットの構成方法 | |
JPH0123812B2 (ja) | ||
JPH0535507A (ja) | 中央処理装置 | |
JPS60144829A (ja) | マイクロプログラム制御システム | |
JPS6232542A (ja) | デ−タ処理装置 | |
JPH05298093A (ja) | 処理装置 | |
JPH031234A (ja) | 情報処理装置 | |
JP2004164455A (ja) | マルチベクトルプロセッサシステム及びベクトルプロセッサ | |
JPS62194545A (ja) | デ−タフロ−型計算機のプログラム書換装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |