JPH01309178A - マルチプロセッサのプロセッサ切換え装置 - Google Patents
マルチプロセッサのプロセッサ切換え装置Info
- Publication number
- JPH01309178A JPH01309178A JP63140297A JP14029788A JPH01309178A JP H01309178 A JPH01309178 A JP H01309178A JP 63140297 A JP63140297 A JP 63140297A JP 14029788 A JP14029788 A JP 14029788A JP H01309178 A JPH01309178 A JP H01309178A
- Authority
- JP
- Japan
- Prior art keywords
- switching
- instruction
- vector
- unit
- circuit
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8053—Vector processors
- G06F15/8076—Details on data register access
- G06F15/8084—Special arrangements thereof, e.g. mask or switch
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[概要]
複数のスカラユニットから送られてくるベクトル命令を
処理する1つのベクトルユニットを備えたマルチプロセ
ッサシステムにおいて各スカラユニノトに対応するベク
トル命令をベクトルユニットにおいて切換えて実行する
ためのマルチプロセッサのプロセッサ切換え方式に関し
、 複数のスカラユニノトから送られたベクトル命令を1つ
のベクトルユニットにより処理する際に、スカラユニッ
ト系に対応する命令を系間で切換えるタイミングを選択
的に設定可能にしたマルチプロセソサのプロセッサ切換
え方式を提供することを目的とし、 スカラ命令を処理する複数のスカラユニットとこれらの
スカラユニソトから送られるベクトル命令を処理するベ
クトルユニットとから構成され、ベクトルユニットは複
数のスカラユニットから送られるベクトル命令を選択し
てパイプライン式に処理するだめの複数のステージを6
ifえたマルチプロセッサのプロセッサ切換え方式にお
いて、前記複数のスカラユニノトの幹糸から供給される
ベクトル命令を、ベクトルユニットの実行パイプライン
に系間で切換え入力するための切換え回路と、切換え制
御回路とを備え、前記切換え制御回路は、上記複数ステ
ージの内のどのステージに一方の系の命令が存在しなく
なった時に他系の命令に切換えるかを制御する複数の切
換えモードを設け、その中の1つをモード設定スイッチ
により設定可能にするよう構成する。
処理する1つのベクトルユニットを備えたマルチプロセ
ッサシステムにおいて各スカラユニノトに対応するベク
トル命令をベクトルユニットにおいて切換えて実行する
ためのマルチプロセッサのプロセッサ切換え方式に関し
、 複数のスカラユニノトから送られたベクトル命令を1つ
のベクトルユニットにより処理する際に、スカラユニッ
ト系に対応する命令を系間で切換えるタイミングを選択
的に設定可能にしたマルチプロセソサのプロセッサ切換
え方式を提供することを目的とし、 スカラ命令を処理する複数のスカラユニットとこれらの
スカラユニソトから送られるベクトル命令を処理するベ
クトルユニットとから構成され、ベクトルユニットは複
数のスカラユニットから送られるベクトル命令を選択し
てパイプライン式に処理するだめの複数のステージを6
ifえたマルチプロセッサのプロセッサ切換え方式にお
いて、前記複数のスカラユニノトの幹糸から供給される
ベクトル命令を、ベクトルユニットの実行パイプライン
に系間で切換え入力するための切換え回路と、切換え制
御回路とを備え、前記切換え制御回路は、上記複数ステ
ージの内のどのステージに一方の系の命令が存在しなく
なった時に他系の命令に切換えるかを制御する複数の切
換えモードを設け、その中の1つをモード設定スイッチ
により設定可能にするよう構成する。
[産業上の利用分野]
本発明は複数のスカラユニ、トから送られてくるベクト
ル命令を処理する1つのベクトルユニットを備えたマル
チプロセッサシステムにおいて各スカラユニノトに対応
するベクトル命令をベクトルユニットにおいて切換えて
実行するためのマルチプロセッサのプロセッサ切換え方
式に関する。
ル命令を処理する1つのベクトルユニットを備えたマル
チプロセッサシステムにおいて各スカラユニノトに対応
するベクトル命令をベクトルユニットにおいて切換えて
実行するためのマルチプロセッサのプロセッサ切換え方
式に関する。
科学技術計算機の一つに、スカラ命令を処理するスカラ
ユニノト(Scalar Llnit : S U)を
複数備え、ベクトル命令を高速に処理するベクトルユニ
ット(Vector Unit : V U)を一つ備
えたマルチプロセッサシステムがある。
ユニノト(Scalar Llnit : S U)を
複数備え、ベクトル命令を高速に処理するベクトルユニ
ット(Vector Unit : V U)を一つ備
えたマルチプロセッサシステムがある。
そのマルチプロセッサシステムでは、複数のスカラユニ
ソトに対し、ベクトルユニットの使用権を切換えながら
処理を進めている。しかし、ベクトルユニットは複数の
ステージからなるパイプラインにより処理されるため切
換えが行われてから実行開始までに時間を要する。その
ため他系の実行が終了する前に切換えを行って処理の効
率化が図られている。ところが、その切換制御のタイミ
ングにより各スカラユニソトのへクトルユニソトの使用
時間が計測されており、課金の関係で正確に使用時間を
計測することが望まれる場合や、使用時間に関係なく計
算を効率的に行いたい場合等の異なる要求が出されてい
る。
ソトに対し、ベクトルユニットの使用権を切換えながら
処理を進めている。しかし、ベクトルユニットは複数の
ステージからなるパイプラインにより処理されるため切
換えが行われてから実行開始までに時間を要する。その
ため他系の実行が終了する前に切換えを行って処理の効
率化が図られている。ところが、その切換制御のタイミ
ングにより各スカラユニソトのへクトルユニソトの使用
時間が計測されており、課金の関係で正確に使用時間を
計測することが望まれる場合や、使用時間に関係なく計
算を効率的に行いたい場合等の異なる要求が出されてい
る。
[従来の技術]
従来のスカラユニノト (以下SUという)を2台とヘ
タ1−ルユニツト(以下VUという)を1台持つマルチ
プロセッサのシステム構成図を第6図に示す。
タ1−ルユニツト(以下VUという)を1台持つマルチ
プロセッサのシステム構成図を第6図に示す。
図において、60は主記憶装置(MSUで表す)、61
は記憶制御装置(MCtJで表す)、62はスカラユニ
ノトO(SUOで表す)、63はスカラユニソト1(S
UIで表す)、64はベクトルデータ) (VUで表す
)、65はヘクトル実行ユニット(VEUで表す)、6
6はベクトル制御ユニット(VCUで表す)、650は
ロードパイプライン、651はストアパイプライン、6
52はへクトルレノスタ(VRで表す)、653は加算
パイプライン、654は乗算パイプライン、655は除
算パイプライン、660は制御信号を表す。
は記憶制御装置(MCtJで表す)、62はスカラユニ
ノトO(SUOで表す)、63はスカラユニソト1(S
UIで表す)、64はベクトルデータ) (VUで表す
)、65はヘクトル実行ユニット(VEUで表す)、6
6はベクトル制御ユニット(VCUで表す)、650は
ロードパイプライン、651はストアパイプライン、6
52はへクトルレノスタ(VRで表す)、653は加算
パイプライン、654は乗算パイプライン、655は除
算パイプライン、660は制御信号を表す。
VCU66はベクトル命令を制御するユニットで、複数
のスカラユニソト5UO1SUIから送られてくるヘタ
1〜ル命令を受は取ると、命令単位で切換え制御されて
信号線660を通ってVEU65に送られる。VEU6
5はベクトル命令を実行するユニットであり、メモリと
の間でデータ転送を行うロードパイプライン650、ス
トアパイプライン651およびベクトルデータを保持す
るVR652を持つ。また、VR652からヘクトルデ
ータを読み出して演算を行い、結果をVR652に書き
込む命令を実行するために、加算パイプライン653、
乗算パイプライン654、除算パイプライン655を持
つ。
のスカラユニソト5UO1SUIから送られてくるヘタ
1〜ル命令を受は取ると、命令単位で切換え制御されて
信号線660を通ってVEU65に送られる。VEU6
5はベクトル命令を実行するユニットであり、メモリと
の間でデータ転送を行うロードパイプライン650、ス
トアパイプライン651およびベクトルデータを保持す
るVR652を持つ。また、VR652からヘクトルデ
ータを読み出して演算を行い、結果をVR652に書き
込む命令を実行するために、加算パイプライン653、
乗算パイプライン654、除算パイプライン655を持
つ。
第6図に示すベクトル命令を処理する機能を備えるヘク
トルブロセソサにおいては、MSUからの命令のフェッ
チはSUで行い、各SUO,SU1はスカラ命令をフェ
ッチした時はSU内で実行し、ベクトル命令をフェッチ
した時はVUへ渡す。
トルブロセソサにおいては、MSUからの命令のフェッ
チはSUで行い、各SUO,SU1はスカラ命令をフェ
ッチした時はSU内で実行し、ベクトル命令をフェッチ
した時はVUへ渡す。
VUは複数のSUから送られるベクトル命令をセレクト
して実行する。ベクトル命令は一つのスカラユニットか
ら連続して送られるベクトル命令のかたまり(パケット
)を実行し終わる時、S’Uのセレクトを切換えて他の
スカラユニットからのベクトル命令を実行できるように
する。この場合、他のスカラユニットがセレクトされて
いるために、ベクトル命令の実行を行えないスカラユニ
ソトでは、命令実行時間を計測するためのタイマー(C
PUタイマ)を止めておく。セレクトが切換わるとセレ
クトされたスカラユニソトのCPUタイマは計測を開始
する。
して実行する。ベクトル命令は一つのスカラユニットか
ら連続して送られるベクトル命令のかたまり(パケット
)を実行し終わる時、S’Uのセレクトを切換えて他の
スカラユニットからのベクトル命令を実行できるように
する。この場合、他のスカラユニットがセレクトされて
いるために、ベクトル命令の実行を行えないスカラユニ
ソトでは、命令実行時間を計測するためのタイマー(C
PUタイマ)を止めておく。セレクトが切換わるとセレ
クトされたスカラユニソトのCPUタイマは計測を開始
する。
第7図に切換えとCPU時間の関係説明図を示す。スカ
ラユニソトのセレクトを行うタイミングとして先行スカ
ラユニットの命令が全て完了した時点で切換えを行えば
、CPU時間は正確に計測されるが、切換えのオーバー
ヘッドが大きくなり性能が低下する。このような、一つ
の系の命令が完全に終了した時に切換えが行われる場合
の各県のCPU時間とVUの実行状態を第7図A、に示
す。
ラユニソトのセレクトを行うタイミングとして先行スカ
ラユニットの命令が全て完了した時点で切換えを行えば
、CPU時間は正確に計測されるが、切換えのオーバー
ヘッドが大きくなり性能が低下する。このような、一つ
の系の命令が完全に終了した時に切換えが行われる場合
の各県のCPU時間とVUの実行状態を第7図A、に示
す。
逆に先行スカラユニソトの命令が全て完了する前に切換
えを行う先行制御を用いると、切換えオーバーヘッドが
小さくなる代わりにCPUタイマの計測が不正確になる
。この例を第7図B、に示す。
えを行う先行制御を用いると、切換えオーバーヘッドが
小さくなる代わりにCPUタイマの計測が不正確になる
。この例を第7図B、に示す。
[発明が解決しようとする課題]
上記したように、複数のスカラユニソトからのベクトル
命令を一つのへクトルユニ7)でパイプライン処理によ
り実行する場合、各スカラユニソト系に対応するCPU
時間(使用時間)が正確に実際の命令実行時間を表すよ
うにすると性能を落として(無駄時間がある)しまい、
性能を十分発揮させようとするとCPU時間が不正確に
なってしまうという、背反の関係にあることが問題とな
っている。
命令を一つのへクトルユニ7)でパイプライン処理によ
り実行する場合、各スカラユニソト系に対応するCPU
時間(使用時間)が正確に実際の命令実行時間を表すよ
うにすると性能を落として(無駄時間がある)しまい、
性能を十分発揮させようとするとCPU時間が不正確に
なってしまうという、背反の関係にあることが問題とな
っている。
本発明は、複数のスカラユニットから送られたベクトル
命令を1つのベクトルユニットにより処理する際に、ス
カラユニット系に対応する命令を系間で切換えるタイミ
ングを選択的に設定可能にしたマルチプロセッサのプロ
セッサ切換え方式を提供することを目的とする。
命令を1つのベクトルユニットにより処理する際に、ス
カラユニット系に対応する命令を系間で切換えるタイミ
ングを選択的に設定可能にしたマルチプロセッサのプロ
セッサ切換え方式を提供することを目的とする。
[課題を解決するための手段〕
・本発明の基本的構成図を第1図に示す。
第1図の1はスカラユニットO(SUO) 、2はスカ
ラユニット1 (SUI)、3はへクトルコントロー
ルユニノト(VCU) 、41.tO系のフェッチステ
ージ、5はl系のフェッチステージ、6は切換え回路、
7〜9はベクトル命令のパイプライン処理のための複数
のステージであるステージ■〜■、10は切換制御回路
、11はモード設定スイッチ を表す。
ラユニット1 (SUI)、3はへクトルコントロー
ルユニノト(VCU) 、41.tO系のフェッチステ
ージ、5はl系のフェッチステージ、6は切換え回路、
7〜9はベクトル命令のパイプライン処理のための複数
のステージであるステージ■〜■、10は切換制御回路
、11はモード設定スイッチ を表す。
本発明は複数の切換えモードの中の一つをモード設定ス
イッチにより選択し、ベクトルユニットの複数ステージ
からの状態を表す信号がモード設定スイッチにより指定
された状態になると切換え信号を発生するよう制御する
ものである。
イッチにより選択し、ベクトルユニットの複数ステージ
からの状態を表す信号がモード設定スイッチにより指定
された状態になると切換え信号を発生するよう制御する
ものである。
[作用]
SUOまたはSUIからのベクトル命令はそれぞれ対応
するフェッチステージ4,5にセットされ、次に切換え
回路6において切換え制御回路10に制御されて何れか
一方の命令が選択されてステージ■ (7)に送られ、
順次ステージII (8) 。
するフェッチステージ4,5にセットされ、次に切換え
回路6において切換え制御回路10に制御されて何れか
一方の命令が選択されてステージ■ (7)に送られ、
順次ステージII (8) 。
■(9)をとおって処理される。切換え制御回路10は
各ステージ4.5.7〜9の状態情報(ベクトル命令の
有無、命令が有る時は0系かl系かの情報)を信号線■
、■、■、■、■から入力し゛ており、どのステージま
で一方の系の命令が進んだか判別することができる。
各ステージ4.5.7〜9の状態情報(ベクトル命令の
有無、命令が有る時は0系かl系かの情報)を信号線■
、■、■、■、■から入力し゛ており、どのステージま
で一方の系の命令が進んだか判別することができる。
一方、切換え制御回路IOにはモード設定スイッチ11
が設けられ、そのスイッチをA〜Cの何れかに設定する
と、それに対応した切換えモードが設定される。切換え
モードとしては、例えば、Aのモードとして、全てのス
テージから一方の系の命令が無くなった時に他系の命令
に切換えを行い、Bのモードとしてステージ■(9)か
ら一方の系の命令が無くなった時に他系の命令に切換え
を行い、Cのモードとしてステージ■ (8)から一方
の系の命令が無くなった時に他系の命令に切換えを行う
、というようにすることができる。
が設けられ、そのスイッチをA〜Cの何れかに設定する
と、それに対応した切換えモードが設定される。切換え
モードとしては、例えば、Aのモードとして、全てのス
テージから一方の系の命令が無くなった時に他系の命令
に切換えを行い、Bのモードとしてステージ■(9)か
ら一方の系の命令が無くなった時に他系の命令に切換え
を行い、Cのモードとしてステージ■ (8)から一方
の系の命令が無くなった時に他系の命令に切換えを行う
、というようにすることができる。
この切換え信号により対応するSUOまたはSUlによ
るベクトルユニットの使用権が与えられ、それぞれのC
PU時間(タイマ)が計測を開始する。
るベクトルユニットの使用権が与えられ、それぞれのC
PU時間(タイマ)が計測を開始する。
このように複数のモードを選択可能に設けることにより
、実際のベクトルユニットの使用時間をスカラユニソト
毎に正確に計測する必要がある場合(例えば、使用時間
で料金を払うシステムの計算センター等)は、完全に一
方の系の命令の実行が終了してから他系の命令に切換え
る前記Aの切換えモードに設定し、スカラユニット毎の
使用時間を正確にする必要が無い場合(使用時間で課金
を行わない計算機等)は、先回り制御により途中のステ
ージから一方の系の命令が無くなると他系の命令に切換
える前記BまたはCの切換えモードに設定すればよい。
、実際のベクトルユニットの使用時間をスカラユニソト
毎に正確に計測する必要がある場合(例えば、使用時間
で料金を払うシステムの計算センター等)は、完全に一
方の系の命令の実行が終了してから他系の命令に切換え
る前記Aの切換えモードに設定し、スカラユニット毎の
使用時間を正確にする必要が無い場合(使用時間で課金
を行わない計算機等)は、先回り制御により途中のステ
ージから一方の系の命令が無くなると他系の命令に切換
える前記BまたはCの切換えモードに設定すればよい。
[実施例コ
本発明の実施例構成図を第2図に示し、切換え回路制御
部に含まれるBUSY検出回路の構成図を第3図に示し
、切換え回路の構成図を第4図に示す。
部に含まれるBUSY検出回路の構成図を第3図に示し
、切換え回路の構成図を第4図に示す。
第2図の20.21はSUO,SUI、22はベクトル
コントロールユニット(VCU) 、23は0系のベク
トルフェッチレジスタO(VectorFetch S
tage Register : V F S ROで
表す)とベクトルフエフチハノフy O(Vector
Fetch Buffer Register
: V F B Oで表す)からなるヘクトルフエッチ
ステージ(VFSO) 、24は1系のへクトルフェソ
チレジスタ1 (VFSRI)とへクトルフエッチバ
ッファ1 (VFBI)からなるヘクトルフエッチステ
ージ(VFSI) 、25は切換え回路、26は切換え
回路制御部、27は切換えモード設定部、28はベクト
ルプリデコードステージ(Vector Pre−De
code Stage : V P Sで表す)、29
はベクトルキューステージ(Vector[1ueue
Stage : V Q Sで表す)、30はベクト
ルェクシキュートステージ(Vector Execu
Le Stage: VESで表す)を表す。
コントロールユニット(VCU) 、23は0系のベク
トルフェッチレジスタO(VectorFetch S
tage Register : V F S ROで
表す)とベクトルフエフチハノフy O(Vector
Fetch Buffer Register
: V F B Oで表す)からなるヘクトルフエッチ
ステージ(VFSO) 、24は1系のへクトルフェソ
チレジスタ1 (VFSRI)とへクトルフエッチバ
ッファ1 (VFBI)からなるヘクトルフエッチステ
ージ(VFSI) 、25は切換え回路、26は切換え
回路制御部、27は切換えモード設定部、28はベクト
ルプリデコードステージ(Vector Pre−De
code Stage : V P Sで表す)、29
はベクトルキューステージ(Vector[1ueue
Stage : V Q Sで表す)、30はベクト
ルェクシキュートステージ(Vector Execu
Le Stage: VESで表す)を表す。
動作を説明すると、ベクトル命令はSUO,SUlから
各々のバスを介してそれぞれVFSROlVFSRIに
入力され、この後SUO側の動作について述べると、V
FSROに命令がフェッチされた時、ベクトルフェソチ
バフファVFBOが空でありかつ、切換回路制御部26
により切換え回路25がSUO側に切換えられると、命
令はVFSROからVPS2Bに送られる。
各々のバスを介してそれぞれVFSROlVFSRIに
入力され、この後SUO側の動作について述べると、V
FSROに命令がフェッチされた時、ベクトルフェソチ
バフファVFBOが空でありかつ、切換回路制御部26
により切換え回路25がSUO側に切換えられると、命
令はVFSROからVPS2Bに送られる。
VFBOに先行命令がはいっているが、または切換え回
路25がSUl側を選択している場合はVFSROから
VFBOに移動してバッファリングされる。VFBOに
入っている命令は切換え回路25がSUOをセレクトし
たときに先頭のものがVPSに移動する。以上のSUO
側の動作はSUlからの命令に関してSUl側で同様に
行われる。
路25がSUl側を選択している場合はVFSROから
VFBOに移動してバッファリングされる。VFBOに
入っている命令は切換え回路25がSUOをセレクトし
たときに先頭のものがVPSに移動する。以上のSUO
側の動作はSUlからの命令に関してSUl側で同様に
行われる。
切換え回路制御部26は、SUOから送られたベクトル
命令(以後O系のベクトル命令という)とSUIから送
られたベクトル命令(以後1系のベクトル命令という)
のどちらをデコードステージへ移すかを切換え制御する
。
命令(以後O系のベクトル命令という)とSUIから送
られたベクトル命令(以後1系のベクトル命令という)
のどちらをデコードステージへ移すかを切換え制御する
。
この切換えは、命令パケット単位でVU(ベクトルユニ
ット)使用権を切換えることであり、命令バケットとは
ベクトル命令が途切れないで連続実行できる範囲の命令
列のかたまりを表す。
ット)使用権を切換えることであり、命令バケットとは
ベクトル命令が途切れないで連続実行できる範囲の命令
列のかたまりを表す。
従って、θ系の命令パケットが終了した後、1系の命令
バケットを開始するよう切換えられる。
バケットを開始するよう切換えられる。
VU使用権はO系と1系の間で完全に排他的であり、V
U使用権のある系の命令が選択されると次のステージで
VPS28にセットされる。但し、このVU使用権をス
イッチングするタイミングによって両系の命令バケット
間のオーバーラツプの度合が異なり、O系の命令パケッ
トが実行中の間1系の命令はVFS (VFSR,VF
R)で待っているが、l系のVU使用権がオンになった
時点でvpsにセットされる。
U使用権のある系の命令が選択されると次のステージで
VPS28にセットされる。但し、このVU使用権をス
イッチングするタイミングによって両系の命令バケット
間のオーバーラツプの度合が異なり、O系の命令パケッ
トが実行中の間1系の命令はVFS (VFSR,VF
R)で待っているが、l系のVU使用権がオンになった
時点でvpsにセットされる。
切換え回路制御部26によりセレクトされた各県のヘク
トル命令はVPS28において、デコードされるととも
に例外チエツクが行われた後・VQS29へ移りキュー
バッファにセットされる。
トル命令はVPS28において、デコードされるととも
に例外チエツクが行われた後・VQS29へ移りキュー
バッファにセットされる。
次にVQS29の命令はメモリへのアクセスや演算を実
行するVES30に送られ、同時に命令実行パイプライ
ン(図示せず)に発信され、実行終了により開放される
。
行するVES30に送られ、同時に命令実行パイプライ
ン(図示せず)に発信され、実行終了により開放される
。
切換え回路制御部26は、切換えモード設定部27のモ
ード設定スイッチにより設定された■〜す\ ■で示すモード1〜3の何9く入力される。切換え回路
制御部は第3図のA、Bに示すO系と1系のBUSY検
出回路を備え、その出力を第4図に示す切換え回路に供
給して切換えを制御する。
ード設定スイッチにより設定された■〜す\ ■で示すモード1〜3の何9く入力される。切換え回路
制御部は第3図のA、Bに示すO系と1系のBUSY検
出回路を備え、その出力を第4図に示す切換え回路に供
給して切換えを制御する。
このBUSY検出回路の構成図を第3図を用いて説明す
ると、図のA、Bにおいて、31〜33.37.41〜
43および47はオア回路、34〜36.44〜46は
アンド回路を表す。
ると、図のA、Bにおいて、31〜33.37.41〜
43および47はオア回路、34〜36.44〜46は
アンド回路を表す。
第3図A、に示すO系のBUSY検出回路について説明
すると、切換えモード1〜3は第2図の切換えモード設
定部27からの入力である。VFSO−BUSYO,V
PS−BUSYO,VQS−BUSYO,VES−BU
SYO(7)各信号は、それぞれ第2図のVFSo、2
3、VPS28、VQS29、VES30の各ステージ
にθ系の命令が有るか否かを表す信号であり、0系の信
号があれば“l”出力を発生し、無ければ“0″出力を
発生する。このA6の回路において、オア回路31はV
FSOからVES30までの4つのステージの中の少な
くとも1つに0系の命令が有ると“1”出力を発生し、
オア回路32はVFS OからVQS29までの3つの
ステージの内の少なくとも1つに0系の命令が有ると“
1”出力を発生し、オア回路33はVFSOとVPS2
8の2つのステージの少なくとも一方に0系の命令があ
ると“1′出力を発生する。
すると、切換えモード1〜3は第2図の切換えモード設
定部27からの入力である。VFSO−BUSYO,V
PS−BUSYO,VQS−BUSYO,VES−BU
SYO(7)各信号は、それぞれ第2図のVFSo、2
3、VPS28、VQS29、VES30の各ステージ
にθ系の命令が有るか否かを表す信号であり、0系の信
号があれば“l”出力を発生し、無ければ“0″出力を
発生する。このA6の回路において、オア回路31はV
FSOからVES30までの4つのステージの中の少な
くとも1つに0系の命令が有ると“1”出力を発生し、
オア回路32はVFS OからVQS29までの3つの
ステージの内の少なくとも1つに0系の命令が有ると“
1”出力を発生し、オア回路33はVFSOとVPS2
8の2つのステージの少なくとも一方に0系の命令があ
ると“1′出力を発生する。
このオア回路31の出力は切換えモード1の出力とアン
ド回路34で論理積がとられ、オア回路32の出力はア
ンド回路35で切換えモード2の出力と論理積がとられ
、オア回路33の出力はアンド回路36で切換えモード
3の出力と論理積がとられ、各アンド回路34〜36の
出力はオア回路37を介して出力BUSY 、0とな
る。
ド回路34で論理積がとられ、オア回路32の出力はア
ンド回路35で切換えモード2の出力と論理積がとられ
、オア回路33の出力はアンド回路36で切換えモード
3の出力と論理積がとられ、各アンド回路34〜36の
出力はオア回路37を介して出力BUSY 、0とな
る。
この出力BUSY Oは、“1″出力の時は、指定さ
れたモードでの切換えが行えない(または指定されたス
テージ中に0系の命令が存在している)ことを表し、′
O”になると指定されたステージからO系の命令が無く
なったので、O系から1系への切換えができることを表
す。
れたモードでの切換えが行えない(または指定されたス
テージ中に0系の命令が存在している)ことを表し、′
O”になると指定されたステージからO系の命令が無く
なったので、O系から1系への切換えができることを表
す。
第3図B、には1系のBUSY 1を発生するBUS
YI検出回路が示されており、その構成はA、と同様で
あり、説明を省略する。
YI検出回路が示されており、その構成はA、と同様で
あり、説明を省略する。
第4図に切換え回路の構成図が示されている。
この図の50は七ノド優先のセット・リセット型ランチ
回路(以下SROという)、51はリセット優先のセッ
トリセット型ラッチ回路(以下SR1という)、52.
53はアンド回路、54はオア回路、BUSYO,BU
SYIは第3図A、 Bに示す回路の出力、VFSO
,VFSI、VPSはそれぞれ第2図の23.24.2
8として示す各ステージを表す。
回路(以下SROという)、51はリセット優先のセッ
トリセット型ラッチ回路(以下SR1という)、52.
53はアンド回路、54はオア回路、BUSYO,BU
SYIは第3図A、 Bに示す回路の出力、VFSO
,VFSI、VPSはそれぞれ第2図の23.24.2
8として示す各ステージを表す。
動作を説明すると、BUSYOとBUSYIがともに“
0”の時は、SROがセントされて、SR1がリセット
され、その結果VFSO(O系のへクトルフェンチステ
ージ)の出力がアンド回路52、オア回路54を通って
VPS (ベクトルプリデコードステージ)へ送られる
。
0”の時は、SROがセントされて、SR1がリセット
され、その結果VFSO(O系のへクトルフェンチステ
ージ)の出力がアンド回路52、オア回路54を通って
VPS (ベクトルプリデコードステージ)へ送られる
。
BUSYO,!:BUSYIがともに“1°の時は、前
の状態が保たれ、BUSYOが1″で、BUSYIが0
“になると、SROがセットされ、SRIがリセットさ
れ、この時VFS Oの出力が選択される。BUSYO
が“0”でBUSYIが“1″になると、SROがリセ
ットされ、SRIがセットされて、その結果VFS 1
が選択される。
の状態が保たれ、BUSYOが1″で、BUSYIが0
“になると、SROがセットされ、SRIがリセットさ
れ、この時VFS Oの出力が選択される。BUSYO
が“0”でBUSYIが“1″になると、SROがリセ
ットされ、SRIがセットされて、その結果VFS 1
が選択される。
次に上記実施例に示す各切換えモードの動作例を第5図
に示す。以下に各モードの説明をする。
に示す。以下に各モードの説明をする。
(1)切換えモードl:完全に排他切換えこの切換えモ
ード1では、θ系の命令パケ・7トの最後の命令が完了
する時(VELJで実行が終了する時)、O系のVU(
ベクトルユニット)使用権をオフ(0系のCPU時間の
計測を停止)にし、l系のVU使用権をオン(l系の0
20時間の計測を開始)する。このタイミングで1系の
命令がVPSにセソI・され、直ちにVQSにセットさ
れ実行パイプラインに発信される。
ード1では、θ系の命令パケ・7トの最後の命令が完了
する時(VELJで実行が終了する時)、O系のVU(
ベクトルユニット)使用権をオフ(0系のCPU時間の
計測を停止)にし、l系のVU使用権をオン(l系の0
20時間の計測を開始)する。このタイミングで1系の
命令がVPSにセソI・され、直ちにVQSにセットさ
れ実行パイプラインに発信される。
この方法では、0系と1系のオーバーラツプがないため
、CPUタイマの誤差はないが、VFSからの立ち上が
りが見えてしまう。(無駄な時間が発生ずる。) (2)切換えモード2:VQSまで排他切換えこの切換
えモード2では、0系の命令バケットの最後の命令が発
信され、VFS〜VQSまでにO系の命令が無くなる条
件で、0系のVU使用権をオフにし同時に1系のVU使
用権をオンにする。
、CPUタイマの誤差はないが、VFSからの立ち上が
りが見えてしまう。(無駄な時間が発生ずる。) (2)切換えモード2:VQSまで排他切換えこの切換
えモード2では、0系の命令バケットの最後の命令が発
信され、VFS〜VQSまでにO系の命令が無くなる条
件で、0系のVU使用権をオフにし同時に1系のVU使
用権をオンにする。
このタイミングで1系の命令がvPSにセントされ、直
ちにVQSにセットされて発信される。
ちにVQSにセットされて発信される。
この時、O系の命令がまだ終了していな(でもよい。1
系の命令を発信しようとする命令実行パイプをO系の命
令が使用中の時のみVQSで待たされるが、それ以外の
場合には直ちに発信される。
系の命令を発信しようとする命令実行パイプをO系の命
令が使用中の時のみVQSで待たされるが、それ以外の
場合には直ちに発信される。
この方法では、0系と1系の間で命令発信の追い越しは
起きない。また、CPUタイマの誤差としては第5図に
示すように最悪で他系の1命令の実行時間分位多くなる
参・ことがある。
起きない。また、CPUタイマの誤差としては第5図に
示すように最悪で他系の1命令の実行時間分位多くなる
参・ことがある。
(3)切換えモード3 : VPSまで排他切換えこの
切換えモード3では、0系の命令パケットの最後の命令
がVQSにセットされ、VFSとVPSにO系の命令が
なくなる条件で、0系のV U使用権をオフにし、同時
に1系のVU使用権をオンにする。このタイミングで1
系の命令がVPSにセットされ、直ちにVQSにセット
されて発信される。この時0系の命令がまだ終了してい
なくてもよいしO系の命令を追い越してもよい。
切換えモード3では、0系の命令パケットの最後の命令
がVQSにセットされ、VFSとVPSにO系の命令が
なくなる条件で、0系のV U使用権をオフにし、同時
に1系のVU使用権をオンにする。このタイミングで1
系の命令がVPSにセットされ、直ちにVQSにセット
されて発信される。この時0系の命令がまだ終了してい
なくてもよいしO系の命令を追い越してもよい。
この場合のCPUタイマの誤差としては第5図に示すよ
うな、最悪な時で他系の複数命令の実行時間分多くなる
ことがある。
うな、最悪な時で他系の複数命令の実行時間分多くなる
ことがある。
[発明の効果]
本発明によれば、マルチプロセンサの性能を重視するか
、CPUタイマの正確度を重視するか、それらの中間を
とるかというマルチプロセッサの利用条件に応じて切換
えモードを任意に設定することができる。
、CPUタイマの正確度を重視するか、それらの中間を
とるかというマルチプロセッサの利用条件に応じて切換
えモードを任意に設定することができる。
第1図は本発明の基本構成図、第2図は本発明の実施例
構成図、第3図はBUSY検出回路の構成図、第4図は
切換え回路の構成図、第5図は各切換えモードの動作例
を示す図、第6図は従来のマルチプロセッサのシステム
構成図、第7図は切換えとCPU時間の関係説明図であ
る。 第1図中、 1ニスカラユニツトO(S[JO) 2ニスカラユニツトl (SUI) 3:ベクトルコントロールユニソト(VCU)4:0系
のフェッチステージ 5:1系のフェッチステージ 6:切換え回路 7〜9;パイプラインの各ステージI〜■lO:切換制
?ii1回路 11:モード設定スイッチ 第 1 図 コ・ 0000 − C%J
ey>フッフッ 1 1
10″l″l″′ 中 中
中>>>> !5S 6
5−一一一 −へ c
q cnnフッコツ 1 1
1″l (n IIn I″ 中
中 中−I背 ぜ
1背■(1)(1)aす LoLcjLLl藝邸つ >>>> 6 6 5〉
ω ω 〉従来のマ
ルチプロセッサのシステムキ萬成図第6図
構成図、第3図はBUSY検出回路の構成図、第4図は
切換え回路の構成図、第5図は各切換えモードの動作例
を示す図、第6図は従来のマルチプロセッサのシステム
構成図、第7図は切換えとCPU時間の関係説明図であ
る。 第1図中、 1ニスカラユニツトO(S[JO) 2ニスカラユニツトl (SUI) 3:ベクトルコントロールユニソト(VCU)4:0系
のフェッチステージ 5:1系のフェッチステージ 6:切換え回路 7〜9;パイプラインの各ステージI〜■lO:切換制
?ii1回路 11:モード設定スイッチ 第 1 図 コ・ 0000 − C%J
ey>フッフッ 1 1
10″l″l″′ 中 中
中>>>> !5S 6
5−一一一 −へ c
q cnnフッコツ 1 1
1″l (n IIn I″ 中
中 中−I背 ぜ
1背■(1)(1)aす LoLcjLLl藝邸つ >>>> 6 6 5〉
ω ω 〉従来のマ
ルチプロセッサのシステムキ萬成図第6図
Claims (1)
- 【特許請求の範囲】 スカラ命令を処理する複数のスカラユニット(SU0、
SU1)とこれらのスカラユニットから送られるベクト
ル命令を処理するベクトルユニット(VU)とから構成
され、ベクトルユニットは複数のスカラユニットから送
られるベクトル命令を選択してパイプライン式に処理す
るための複数のステージを備えたマルチプロセッサのプ
ロセッサ切換え方式において、 前記複数のスカラユニットの各系(0系、1系)から供
給されるベクトル命令を、ベクトルユニットの実行パイ
プラインに系間で切換え入力するための切換え回路(6
)と、切換え制御回路(10)とを備え、 前記切換え制御回路(10)、上記複数ステージの内の
どのステージに一方の系の命令が存在しなくなった時に
他系の命令に切換えるかを制御する複数の切換えモード
(A〜C)を設け、その中の1つをモード設定スイッチ
(11)により設定可能にすることを特徴とするマルチ
プロセッサのプロセッサ切換え方式。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63140297A JPH06105460B2 (ja) | 1988-06-07 | 1988-06-07 | マルチプロセッサのプロセッサ切換え装置 |
| EP89305523A EP0346003B1 (en) | 1988-06-07 | 1989-06-01 | Multiprocessor control system |
| DE68917647T DE68917647T2 (de) | 1988-06-07 | 1989-06-01 | Multiprozessorsteuerungssystem. |
| CA000601891A CA1315006C (en) | 1988-06-07 | 1989-06-06 | Multiprocessor control system |
| US07/362,601 US5001627A (en) | 1988-06-07 | 1989-06-07 | Multiprocessor control system for selectively executing vector instructions from scaler units to be executed in a vector unit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63140297A JPH06105460B2 (ja) | 1988-06-07 | 1988-06-07 | マルチプロセッサのプロセッサ切換え装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01309178A true JPH01309178A (ja) | 1989-12-13 |
| JPH06105460B2 JPH06105460B2 (ja) | 1994-12-21 |
Family
ID=15265510
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63140297A Expired - Fee Related JPH06105460B2 (ja) | 1988-06-07 | 1988-06-07 | マルチプロセッサのプロセッサ切換え装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5001627A (ja) |
| EP (1) | EP0346003B1 (ja) |
| JP (1) | JPH06105460B2 (ja) |
| CA (1) | CA1315006C (ja) |
| DE (1) | DE68917647T2 (ja) |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03233630A (ja) * | 1990-02-08 | 1991-10-17 | Nec Corp | 情報処理装置 |
| US5261063A (en) * | 1990-12-07 | 1993-11-09 | Ibm Corp. | Pipeline apparatus having pipeline mode eecuting instructions from plural programs and parallel mode executing instructions from one of the plural programs |
| RU1804645C (ru) * | 1991-03-27 | 1993-03-23 | Институт Точной Механики И Вычислительной Техники Им.С.А.Лебедева | Центральный процессор |
| US5530881A (en) * | 1991-06-06 | 1996-06-25 | Hitachi, Ltd. | Vector processing apparatus for processing different instruction set architectures corresponding to mingled-type programs and separate-type programs |
| IT1264302B1 (it) * | 1993-12-24 | 1996-09-23 | Rainer Srl | Macchina per la lavorazione di una lamiera. |
| US5663961A (en) * | 1995-02-24 | 1997-09-02 | Motorola, Inc. | Packet switch with centralized buffering for many output channels |
| US6535905B1 (en) | 1999-04-29 | 2003-03-18 | Intel Corporation | Method and apparatus for thread switching within a multithreaded processor |
| US6507862B1 (en) | 1999-05-11 | 2003-01-14 | Sun Microsystems, Inc. | Switching method in a multi-threaded processor |
| US6341347B1 (en) * | 1999-05-11 | 2002-01-22 | Sun Microsystems, Inc. | Thread switch logic in a multiple-thread processor |
| US6542921B1 (en) | 1999-07-08 | 2003-04-01 | Intel Corporation | Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor |
| US6357016B1 (en) | 1999-12-09 | 2002-03-12 | Intel Corporation | Method and apparatus for disabling a clock signal within a multithreaded processor |
| US6496925B1 (en) | 1999-12-09 | 2002-12-17 | Intel Corporation | Method and apparatus for processing an event occurrence within a multithreaded processor |
| US6889319B1 (en) | 1999-12-09 | 2005-05-03 | Intel Corporation | Method and apparatus for entering and exiting multiple threads within a multithreaded processor |
| US7051329B1 (en) | 1999-12-28 | 2006-05-23 | Intel Corporation | Method and apparatus for managing resources in a multithreaded processor |
| US7856633B1 (en) | 2000-03-24 | 2010-12-21 | Intel Corporation | LRU cache replacement for a partitioned set associative cache |
| US7127561B2 (en) | 2001-12-31 | 2006-10-24 | Intel Corporation | Coherency techniques for suspending execution of a thread until a specified memory access occurs |
| US7363474B2 (en) | 2001-12-31 | 2008-04-22 | Intel Corporation | Method and apparatus for suspending execution of a thread until a specified memory access occurs |
| US8024735B2 (en) | 2002-06-14 | 2011-09-20 | Intel Corporation | Method and apparatus for ensuring fairness and forward progress when executing multiple threads of execution |
| US20250130799A1 (en) * | 2023-10-19 | 2025-04-24 | Ampere Computing Llc | Techniques for performing non-vector micro-operations on vector hardware |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5194734A (en) * | 1975-02-19 | 1976-08-19 | Tajushorisochino enzanseigyohoshiki | |
| JPS57155666A (en) * | 1981-03-20 | 1982-09-25 | Fujitsu Ltd | Instruction controlling system of vector processor |
| DE3379690D1 (en) * | 1982-09-03 | 1989-05-24 | Hitachi Ltd | Data processing system |
| KR900001999B1 (ko) * | 1984-11-30 | 1990-03-31 | 후지쓰 가부시끼가이샤 | 멀티프로세서 시스템(multiprocessor system) |
| US4875161A (en) * | 1985-07-31 | 1989-10-17 | Unisys Corporation | Scientific processor vector file organization |
| US4903196A (en) * | 1986-05-02 | 1990-02-20 | International Business Machines Corporation | Method and apparatus for guaranteeing the logical integrity of data in the general purpose registers of a complex multi-execution unit uniprocessor |
| US4760525A (en) * | 1986-06-10 | 1988-07-26 | The United States Of America As Represented By The Secretary Of The Air Force | Complex arithmetic vector processor for performing control function, scalar operation, and set-up of vector signal processing instruction |
-
1988
- 1988-06-07 JP JP63140297A patent/JPH06105460B2/ja not_active Expired - Fee Related
-
1989
- 1989-06-01 EP EP89305523A patent/EP0346003B1/en not_active Expired - Lifetime
- 1989-06-01 DE DE68917647T patent/DE68917647T2/de not_active Expired - Fee Related
- 1989-06-06 CA CA000601891A patent/CA1315006C/en not_active Expired - Fee Related
- 1989-06-07 US US07/362,601 patent/US5001627A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| EP0346003A2 (en) | 1989-12-13 |
| EP0346003A3 (en) | 1991-06-05 |
| DE68917647D1 (de) | 1994-09-29 |
| CA1315006C (en) | 1993-03-23 |
| EP0346003B1 (en) | 1994-08-24 |
| JPH06105460B2 (ja) | 1994-12-21 |
| DE68917647T2 (de) | 1994-12-22 |
| US5001627A (en) | 1991-03-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH01309178A (ja) | マルチプロセッサのプロセッサ切換え装置 | |
| US5872987A (en) | Massively parallel computer including auxiliary vector processor | |
| US4740893A (en) | Method for reducing the time for switching between programs | |
| US5261113A (en) | Apparatus and method for single operand register array for vector and scalar data processing operations | |
| JP2645669B2 (ja) | データ処理システム | |
| US4745547A (en) | Vector processing | |
| EP0455345B1 (en) | Programmable controller | |
| JPH0766329B2 (ja) | 情報処理装置 | |
| JPH0622035B2 (ja) | ベクトル処理装置 | |
| JPS633337B2 (ja) | ||
| JPS59128670A (ja) | ベクトル処理装置 | |
| US11416261B2 (en) | Group load register of a graph streaming processor | |
| JPH0477347B2 (ja) | ||
| US11481223B2 (en) | Reducing operations of sum-of-multiply-accumulate (SOMAC) instructions | |
| JP2518293B2 (ja) | デ−タフロ−プロセツサ | |
| KR940000027B1 (ko) | 생산라인의 고성능 명령어 실행방법 및 장치 | |
| JPH0461390B2 (ja) | ||
| JPS60178580A (ja) | 命令制御方式 | |
| JP2988965B2 (ja) | パイプライン情報処理回路 | |
| KR900001999B1 (ko) | 멀티프로세서 시스템(multiprocessor system) | |
| JPS59163671A (ja) | ベクトル処理装置 | |
| JP2920968B2 (ja) | 命令処理順序制御方式 | |
| JPS5995646A (ja) | 演算制御装置 | |
| JPH04184535A (ja) | 並列演算装置 | |
| JPS629460A (ja) | マルチプロセツサシステムの命令制御方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |