JPS6043535B2 - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPS6043535B2 JPS6043535B2 JP54170803A JP17080379A JPS6043535B2 JP S6043535 B2 JPS6043535 B2 JP S6043535B2 JP 54170803 A JP54170803 A JP 54170803A JP 17080379 A JP17080379 A JP 17080379A JP S6043535 B2 JPS6043535 B2 JP S6043535B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- vector
- instructions
- information processing
- scalar
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 14
- 238000001514 detection method Methods 0.000 claims description 16
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 8
- GVBNSPFBYXGREE-UHFFFAOYSA-N Visnadine Natural products C1=CC(=O)OC2=C1C=CC1=C2C(OC(C)=O)C(OC(=O)C(C)CC)C(C)(C)O1 GVBNSPFBYXGREE-UHFFFAOYSA-N 0.000 description 6
- 230000006870 function Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000004044 response 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/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
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/8061—Details on data memory access
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- 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/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- 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/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3858—Result writeback, i.e. updating the architectural state or memory
- G06F9/38585—Result writeback, i.e. updating the architectural state or memory with result invalidation, e.g. nullification
-
- 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/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- 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
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
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)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Description
【発明の詳細な説明】
本発明は、情報処理装置、特にスカラ演算部とベクト
ル演算部とをそなえて両者演算部が互に独立に演算処理
を行なうようにしておき、必要に応じて予め定めた命令
例えばWAiT命令と名付けた命令が与えられたときに
、上記両者演算部相互間で処理の実行順序に関して同期
化するようにした情報処理装置に関するものである。
ル演算部とをそなえて両者演算部が互に独立に演算処理
を行なうようにしておき、必要に応じて予め定めた命令
例えばWAiT命令と名付けた命令が与えられたときに
、上記両者演算部相互間で処理の実行順序に関して同期
化するようにした情報処理装置に関するものである。
一般にベクトル演算処理を実行する如き情報処理装置
においては、ベクトル演算処理のみでなくスカラ演算処
理をあわせ行ない得るようにすることが必要となる。
においては、ベクトル演算処理のみでなくスカラ演算処
理をあわせ行ない得るようにすることが必要となる。
そして、この場合、上記ベクトル演算処理とスカラ演算
処理とは一般に互に独立して実行することができるため
に、スカラ演算部とベクトル演算部とをそなえて並列処
理を行なうようにされる。 し力士、或る場合には、ス
カラ演算処理とベクトル演算処理との間で実行順序が異
なると誤まつた結果が生じることもあり、このような場
合には実行順序に関して両者で同期をとることが必要と
なる。
処理とは一般に互に独立して実行することができるため
に、スカラ演算部とベクトル演算部とをそなえて並列処
理を行なうようにされる。 し力士、或る場合には、ス
カラ演算処理とベクトル演算処理との間で実行順序が異
なると誤まつた結果が生じることもあり、このような場
合には実行順序に関して両者で同期をとることが必要と
なる。
このための方法としては、例えば並列処理を許すか否か
のコントロール・レジスタを用意しておくようにされる
。そしてひとかたまりの一連のベクトル命令即ちベトル
命令群の末尾に例えばオペレーション・エンドを指示し
、該オペレーシヨン●エンドとなつたタイミングで上記
コントロール・レジスタの内容をチェックし、並列処理
を許しているモードの場合には直ちに続いて次のベクト
ル命令あるいはベクトル命令群を受付けて実行するよう
にし、並列処理を禁止しているモードの場合には上記ひ
とかたまりのベクトルル命令群の処理が終了するまで待
つて次のベクトル命令あるいはベクトル命令群を受取る
ようにされる。しかし、上記コンロール●レジスタによ
るモード設定をその都度必要に応じて切替えることは処
理上煩雑であるはかりでなく処理速度に影響を生じる。
発明は、この点を解決することを目的としており、上記
コントロール●レジスタなどによるモード設定の如何に
拘らず、命令によつて上述の実行順序の同期化を行ない
得るようにすることを目的としている。
のコントロール・レジスタを用意しておくようにされる
。そしてひとかたまりの一連のベクトル命令即ちベトル
命令群の末尾に例えばオペレーション・エンドを指示し
、該オペレーシヨン●エンドとなつたタイミングで上記
コントロール・レジスタの内容をチェックし、並列処理
を許しているモードの場合には直ちに続いて次のベクト
ル命令あるいはベクトル命令群を受付けて実行するよう
にし、並列処理を禁止しているモードの場合には上記ひ
とかたまりのベクトルル命令群の処理が終了するまで待
つて次のベクトル命令あるいはベクトル命令群を受取る
ようにされる。しかし、上記コンロール●レジスタによ
るモード設定をその都度必要に応じて切替えることは処
理上煩雑であるはかりでなく処理速度に影響を生じる。
発明は、この点を解決することを目的としており、上記
コントロール●レジスタなどによるモード設定の如何に
拘らず、命令によつて上述の実行順序の同期化を行ない
得るようにすることを目的としている。
そしてそのために、本発明の情報処理装置は、一連の命
令群を、命令により指定される複数の処理単位て命令単
位に実行する情報処理装置において、上記一連の命令群
中に予め定められた命令を挿入するよう構成され、当該
挿入された命令によつて、当該命令よりも以前に与えら
れた命令群の終了報告を上記処理単位から受けるまでの
間、次に続く命令群の実行を保留させるよう構成し、命
令間における共有資源の使用に関して同期をはかるよう
にしたことを特徴としている。そして、適用される情報
処理装置がスカラ命令によつて指定されるスカラ演算部
とベクトル命令によつて指定されるベクトル演算部とを
そなえ、上記スカラ演算部と上記ベクトル演算部とが互
に独立に夫々与えられた命令を実行し、予め定めた条件
のもとで上記ベクトル演算部が次に演算すべきベクトル
命令の受信を禁止するか否かを判定するよう構成されて
なる情報処理装置である場合には、上記ベクトル演算部
は、当該ベクトル演算部−に供給される予め定めた命令
を解読する命令検出部と既に与えられているベクトル命
令の命令終了を検出する命令終了検出部とをそなえ、上
記命令検出部が上記予め定めた命令を検出したとき上記
命令終了検出部が命令終了を検出するまで上記予一め定
めた条件の如何に拘らず強制的に次に演算すべきベクト
ル命令の受信を禁止する指示信号を発するよう構成され
、上記スカラ演算部の命令実行と上記ベクトル演算部の
命令実行とを上記予め定めた命令時点において実行順序
を同期化するようにしたことを特徴としている。なお、
以上の機能はベクトル演算部の機能であるがスカラ演算
部がその機能を持つても同じてある。以下図面を参照し
つつ説明する。第1図は本発明の情報処理装置の一実施
例全体構成図、第2図A,B,Cは本発明の処理態様を
明確化するための説明図、第3図は第1図に示すベクト
ル演算部の一実施例構成、第4図A,B,”Cはベクト
ル命令送出禁止信号の送出態様を説明する説明図、第5
図は第3図に示すウェイト命令検出回路部の一実施例を
示す。第1図において、1はメモリ、2はデータ処理部
、3は命令制御部であつてメモリ1から命令をフエツチ
して分配制御を行なうもの、4はスカラ演算部であつて
命令制御部3からスカラ命令を受取つて処理を実行する
もの、5はベクトル演算部であつて命令制御部3からベ
クトル命令を受取つてメモリ1との間でデータの授受を
行ないつつベクトル演算処理を実行するものを表わして
いる。
令群を、命令により指定される複数の処理単位て命令単
位に実行する情報処理装置において、上記一連の命令群
中に予め定められた命令を挿入するよう構成され、当該
挿入された命令によつて、当該命令よりも以前に与えら
れた命令群の終了報告を上記処理単位から受けるまでの
間、次に続く命令群の実行を保留させるよう構成し、命
令間における共有資源の使用に関して同期をはかるよう
にしたことを特徴としている。そして、適用される情報
処理装置がスカラ命令によつて指定されるスカラ演算部
とベクトル命令によつて指定されるベクトル演算部とを
そなえ、上記スカラ演算部と上記ベクトル演算部とが互
に独立に夫々与えられた命令を実行し、予め定めた条件
のもとで上記ベクトル演算部が次に演算すべきベクトル
命令の受信を禁止するか否かを判定するよう構成されて
なる情報処理装置である場合には、上記ベクトル演算部
は、当該ベクトル演算部−に供給される予め定めた命令
を解読する命令検出部と既に与えられているベクトル命
令の命令終了を検出する命令終了検出部とをそなえ、上
記命令検出部が上記予め定めた命令を検出したとき上記
命令終了検出部が命令終了を検出するまで上記予一め定
めた条件の如何に拘らず強制的に次に演算すべきベクト
ル命令の受信を禁止する指示信号を発するよう構成され
、上記スカラ演算部の命令実行と上記ベクトル演算部の
命令実行とを上記予め定めた命令時点において実行順序
を同期化するようにしたことを特徴としている。なお、
以上の機能はベクトル演算部の機能であるがスカラ演算
部がその機能を持つても同じてある。以下図面を参照し
つつ説明する。第1図は本発明の情報処理装置の一実施
例全体構成図、第2図A,B,Cは本発明の処理態様を
明確化するための説明図、第3図は第1図に示すベクト
ル演算部の一実施例構成、第4図A,B,”Cはベクト
ル命令送出禁止信号の送出態様を説明する説明図、第5
図は第3図に示すウェイト命令検出回路部の一実施例を
示す。第1図において、1はメモリ、2はデータ処理部
、3は命令制御部であつてメモリ1から命令をフエツチ
して分配制御を行なうもの、4はスカラ演算部であつて
命令制御部3からスカラ命令を受取つて処理を実行する
もの、5はベクトル演算部であつて命令制御部3からベ
クトル命令を受取つてメモリ1との間でデータの授受を
行ないつつベクトル演算処理を実行するものを表わして
いる。
第2図A図示の如くベクトル命令Vl,■2,・・・と
スカ命令SCl,SC2,・・・とを実行することが要
請されている場合に、本願明細書冒頭に述べた如く、一
般にはベクトル命令Vl,V2,・・・とスカラ命令S
Cl,SC2,・・・とを互に独立に並行してて実行す
ることができる。そしてこのようにすることによつて第
2図B図示の如く処理時間を短縮することが可能となる
。しかし、第2図B図示の如く処理時間を短縮すること
が可能となる。しかし、第2図Aにおいて矢印SYNC
として示す如く、ベクトル命令V5以下の処理を実行す
るに当つては、少なくともベクトル命令V1ないしV4
とスカラ命令SClないしSC4が終了していることを
条件とすることが生じる。この場合に、本願明細書冒頭
に述べた如きコントロール・レジスタを利用して、ベク
トル演算部5が図示ベクトル命令V4を実行し終つた時
点で並列処理を禁止するモードにし、ベクトル命令■5
を受渡した後に再び並列処理を許すモードに戻すように
するとそのための処理が煩雑となる。
スカ命令SCl,SC2,・・・とを実行することが要
請されている場合に、本願明細書冒頭に述べた如く、一
般にはベクトル命令Vl,V2,・・・とスカラ命令S
Cl,SC2,・・・とを互に独立に並行してて実行す
ることができる。そしてこのようにすることによつて第
2図B図示の如く処理時間を短縮することが可能となる
。しかし、第2図B図示の如く処理時間を短縮すること
が可能となる。しかし、第2図Aにおいて矢印SYNC
として示す如く、ベクトル命令V5以下の処理を実行す
るに当つては、少なくともベクトル命令V1ないしV4
とスカラ命令SClないしSC4が終了していることを
条件とすることが生じる。この場合に、本願明細書冒頭
に述べた如きコントロール・レジスタを利用して、ベク
トル演算部5が図示ベクトル命令V4を実行し終つた時
点で並列処理を禁止するモードにし、ベクトル命令■5
を受渡した後に再び並列処理を許すモードに戻すように
するとそのための処理が煩雑となる。
またコントロール●レジスタの内容を切替える処理のた
めに処理速度が低減される。このために、本発明の場合
、第2図C図示の如く、上述の矢印SYNCの位置に予
め定めた命令(以下ウェイト命令またはWAiT命令と
いう)を挿入し、上記並列処理を許すモードのもとで実
行させこのウェイト命令時点でスカラ演算部とベクトル
演算部とで実行順序を同期化させるようにする。
めに処理速度が低減される。このために、本発明の場合
、第2図C図示の如く、上述の矢印SYNCの位置に予
め定めた命令(以下ウェイト命令またはWAiT命令と
いう)を挿入し、上記並列処理を許すモードのもとで実
行させこのウェイト命令時点でスカラ演算部とベクトル
演算部とで実行順序を同期化させるようにする。
第1図図示の命令制御部3は、第2図Aにおいて矢印S
YNCの位置にウェイト命令が挿入された一連の命令を
フエツチし、ひとかたまりのベクトル演算部5に受渡し
し、スカラ命令SClないしSC4についてはスカラ演
算部4に受渡しする。
YNCの位置にウェイト命令が挿入された一連の命令を
フエツチし、ひとかたまりのベクトル演算部5に受渡し
し、スカラ命令SClないしSC4についてはスカラ演
算部4に受渡しする。
そして、次のウェイト命令(図示矢印SYNCの位置に
挿入されている)をフエツチしたときに、命令制御部3
は、ベクトル演算部5に転送し、ベクトル演算部5にお
いて先のベクトル命令V1ないし■4の演算処理を実行
し終つた時点に通知を受取つて次からの命令■5をベク
トル演算部5に渡すようにする。勿論命令制御部3はス
カラ演算部4に対しても次の命令SC5の受渡しを待つ
ようにする。第3図は第1図に示すベクトル演算部の一
実施例を示す。
挿入されている)をフエツチしたときに、命令制御部3
は、ベクトル演算部5に転送し、ベクトル演算部5にお
いて先のベクトル命令V1ないし■4の演算処理を実行
し終つた時点に通知を受取つて次からの命令■5をベク
トル演算部5に渡すようにする。勿論命令制御部3はス
カラ演算部4に対しても次の命令SC5の受渡しを待つ
ようにする。第3図は第1図に示すベクトル演算部の一
実施例を示す。
図中の符号1,3,5は夫々第1図に対応し、6は命令
レジスタ、7はコントロール・レジスタ、8はオペレー
ション◆エンド検出部(受付け部)、9は命令バッファ
、10は命令デコーダ、11はウェイト命令検出回路図
、12はベクトル命令演算器の1つであつてバイブライ
ン処理によつて実行されるもの、13は演算制御バイブ
ラインであつてベクトル命令演算器12のバイブライン
処理を制御するもの、14は命令終了検出回路、15な
いし16は夫々アンド回路、17,18は夫々オア回路
、19,20は夫々ノット回路を表わしている。上述の
如く、命令制御部3から一連のベクトル命令Vl,V2
,V3,V4が順番に送られてくると、ベクトル演算部
5において、命令レジスター6に順次セットされデコー
ダ10によつて解読されて実行される。
レジスタ、7はコントロール・レジスタ、8はオペレー
ション◆エンド検出部(受付け部)、9は命令バッファ
、10は命令デコーダ、11はウェイト命令検出回路図
、12はベクトル命令演算器の1つであつてバイブライ
ン処理によつて実行されるもの、13は演算制御バイブ
ラインであつてベクトル命令演算器12のバイブライン
処理を制御するもの、14は命令終了検出回路、15な
いし16は夫々アンド回路、17,18は夫々オア回路
、19,20は夫々ノット回路を表わしている。上述の
如く、命令制御部3から一連のベクトル命令Vl,V2
,V3,V4が順番に送られてくると、ベクトル演算部
5において、命令レジスター6に順次セットされデコー
ダ10によつて解読されて実行される。
先に送られてきたベクトル命令例えば■2の処理と次の
ベクトル命令V3の処理とが同じベクトル演算器12を
使用する如き場合などではベクトル命令■3は一旦命令
バッファ9にセットされて待機されることがある。デコ
ーダ10は命令を解読し、その結果に応じて1つのベク
トル命令演算器12によつてベクトル命令演算処理が実
行される。
ベクトル命令V3の処理とが同じベクトル演算器12を
使用する如き場合などではベクトル命令■3は一旦命令
バッファ9にセットされて待機されることがある。デコ
ーダ10は命令を解読し、その結果に応じて1つのベク
トル命令演算器12によつてベクトル命令演算処理が実
行される。
即ち、メモリ1からオペランド・データが次々とフエツ
チされて演算器12によつてバイブライン処理によつて
演算され、メモリ1に戻される。このとき演算制御バイ
ブライン13が等該演算処理の状況を管理している。今
仮にコントロール・レジスタ7に対して並列処理を許す
モードが指定されて図示ビットPISが論理RlJとな
つているものとし、第2図図示の一連のベクトル命令■
1ないしV4がひとかたまりのベクトル令群として考え
る。
チされて演算器12によつてバイブライン処理によつて
演算され、メモリ1に戻される。このとき演算制御バイ
ブライン13が等該演算処理の状況を管理している。今
仮にコントロール・レジスタ7に対して並列処理を許す
モードが指定されて図示ビットPISが論理RlJとな
つているものとし、第2図図示の一連のベクトル命令■
1ないしV4がひとかたまりのベクトル令群として考え
る。
このとき上述のウェイト命令群が存在していない場合、
命令制御部3がベクトル命令■4を送出し終つたとき、
命令制御部3は、上記ひとかたまりのベクトル命令群の
転送を終了したことを指示すべく、オペレーション・エ
ンドを通知する。これに応じてベクトル演算部5は、上
述のビットPISが論理r1ョでありかつウェイト命令
が存在していないことから、第4図A図示の如く直ちに
ベトル命令送出禁止信号を論理ROJとして返送する。
即ち第3図において、アンド回路16がオンせず、オア
回路17の出力は論理ROJのままにある。この結果命
令制御回路3は、ベクトル演算部5に対して次のベクト
ル命令を送出してもよいものとみなし、ベクトル命令■
5がフエツチされればこれを転送してくる。しかし、上
記ベクトル命令■4につづく上記オペレーション●エン
ドに先立つて、上記ベクトル命令V4の後に上述のウェ
イト命令が入つていると、第4図C図示の如く、ベクト
ル命令送出禁止信号を論理RlJとし、命令の終了を待
つて論理ROJにする。
命令制御部3がベクトル命令■4を送出し終つたとき、
命令制御部3は、上記ひとかたまりのベクトル命令群の
転送を終了したことを指示すべく、オペレーション・エ
ンドを通知する。これに応じてベクトル演算部5は、上
述のビットPISが論理r1ョでありかつウェイト命令
が存在していないことから、第4図A図示の如く直ちに
ベトル命令送出禁止信号を論理ROJとして返送する。
即ち第3図において、アンド回路16がオンせず、オア
回路17の出力は論理ROJのままにある。この結果命
令制御回路3は、ベクトル演算部5に対して次のベクト
ル命令を送出してもよいものとみなし、ベクトル命令■
5がフエツチされればこれを転送してくる。しかし、上
記ベクトル命令■4につづく上記オペレーション●エン
ドに先立つて、上記ベクトル命令V4の後に上述のウェ
イト命令が入つていると、第4図C図示の如く、ベクト
ル命令送出禁止信号を論理RlJとし、命令の終了を待
つて論理ROJにする。
即ち、上記ウェイト命令が転送されると、第3図図示の
ウェイト命令検出回路11がウェイト命令検出信号WA
iTを発している。この状態で上述のオペレーション・
エンドが転送されると、上記コントロール●レジスタ7
のビットPISが論理RlJであることから、アンド回
路16,オア回路18,アンド回路15(後述する如く
命令終了信号が論理ROョにある)、オア回路17を介
して、ベクトル命令送出禁止信号を論理1Lにする。こ
れによつて命令制御部3はベクトル演算部5に対する次
のベクトル命令送出を禁止された形となる。その後、上
記先に送られたベクトル命令■1,■2,V3,V4の
処理がすべて終了し、命令終了検出回路14が命令終了
信号を論理r1ョにすると、ナンド回路20が論理00
ョを発することとなつてアンド回路15がオフし、上記
ベクトル命令送出禁止信号を論理ROJにする。この時
点で第2図C図示の如く命令制御部3は次のベクトル命
令■5を送出してもよいことを知る。即ち、上記ベクト
ル命令送出禁止信号が論理Rljとなつたとき、命令制
御部3は、スカラ演算部4の処理とベクトル演算部5の
処理とについて実行順序に関して同期化すべきことを知
る。そして、スカラ演算部4に対するスカラ命令SC5
の送出を停止して、ベクトル演算部5から上記ベクトル
命令送出禁止信号が論理r1ョとなり、かつスカラ演算
部5におけるスカラ命令SC4の処理が終了するのを待
つ。この状態でベクトル命令送出禁止信号が論理RlJ
となりかつスカラ命令SC4の処理が終了すると、命令
制御部3は第2図C図示の如く次の命令■5とSC5と
を夫々の演算部に送出することとなる。なお、並列処理
を禁止するモードとされていて第3図図示のコントロー
ル●レジスタ7のビットPISが論理ROJとされてい
る場合には、ウエト命令有無に拘らず、上記オペレーシ
ョン・エンドが転送されたとき、第4図B図示の如く、
ベクトル命令送出禁止信号を論理RlJとし、命令終了
をまつて論理ROョにする。即ち、第3図においてナン
ド回路19、オア回路18、アンド回路15にのとき命
令終了信号は論理10J)、オア回路17を介してベク
トル命令送出禁止信号を論理r1ョにする。そして命令
終了信号が論理RlJとなつたとき、オア回路15がオ
フされてベクトル命令送出禁止信号は論理ROJとなる
。この場合にも、ベクトル命令送出禁止信号が論理Rl
Jとなつたとき、命令制御部3はベクトル演算部5に対
して次のベトル命令の送出を停止する。第5図は第3図
に示すウェイト命令検出回路部11の一実施例構成を示
す。図中の符号11は第3図に対応し、21はウェイト
命令解読回路であつてウェイト命令の到来を検出するも
の、22はウェイト命令ラッチであつてウェイト命令が
到来した状態を保持するもの、23はオア回路を表わし
ている。上述の如くウェイト命令が到来すると、ウェイ
ト命令解読回路21が論理RlJを出力し、この時点か
ら図示WAiT信号が論理RlJとされ、ラン22によ
つて論理RlJを継続される。そして第3図図示の命令
終了検出回路14からの命令終了信号が論理RlJとな
ると、ラッチ22はリセットされ、WAiT信号は論理
ROJとされる。以上説明した如く、本発明によれば、
コントロール●レジスタによつて並列処理の可否のいず
れのモードが指定されていても、予め定めた命令例えば
ウェイト命令を挿入することによつて、その時点におい
てスカラ演算部の処理とベクトル演算部の処理とについ
て実行順序に関して同期をとることが可能となる。
ウェイト命令検出回路11がウェイト命令検出信号WA
iTを発している。この状態で上述のオペレーション・
エンドが転送されると、上記コントロール●レジスタ7
のビットPISが論理RlJであることから、アンド回
路16,オア回路18,アンド回路15(後述する如く
命令終了信号が論理ROョにある)、オア回路17を介
して、ベクトル命令送出禁止信号を論理1Lにする。こ
れによつて命令制御部3はベクトル演算部5に対する次
のベクトル命令送出を禁止された形となる。その後、上
記先に送られたベクトル命令■1,■2,V3,V4の
処理がすべて終了し、命令終了検出回路14が命令終了
信号を論理r1ョにすると、ナンド回路20が論理00
ョを発することとなつてアンド回路15がオフし、上記
ベクトル命令送出禁止信号を論理ROJにする。この時
点で第2図C図示の如く命令制御部3は次のベクトル命
令■5を送出してもよいことを知る。即ち、上記ベクト
ル命令送出禁止信号が論理Rljとなつたとき、命令制
御部3は、スカラ演算部4の処理とベクトル演算部5の
処理とについて実行順序に関して同期化すべきことを知
る。そして、スカラ演算部4に対するスカラ命令SC5
の送出を停止して、ベクトル演算部5から上記ベクトル
命令送出禁止信号が論理r1ョとなり、かつスカラ演算
部5におけるスカラ命令SC4の処理が終了するのを待
つ。この状態でベクトル命令送出禁止信号が論理RlJ
となりかつスカラ命令SC4の処理が終了すると、命令
制御部3は第2図C図示の如く次の命令■5とSC5と
を夫々の演算部に送出することとなる。なお、並列処理
を禁止するモードとされていて第3図図示のコントロー
ル●レジスタ7のビットPISが論理ROJとされてい
る場合には、ウエト命令有無に拘らず、上記オペレーシ
ョン・エンドが転送されたとき、第4図B図示の如く、
ベクトル命令送出禁止信号を論理RlJとし、命令終了
をまつて論理ROョにする。即ち、第3図においてナン
ド回路19、オア回路18、アンド回路15にのとき命
令終了信号は論理10J)、オア回路17を介してベク
トル命令送出禁止信号を論理r1ョにする。そして命令
終了信号が論理RlJとなつたとき、オア回路15がオ
フされてベクトル命令送出禁止信号は論理ROJとなる
。この場合にも、ベクトル命令送出禁止信号が論理Rl
Jとなつたとき、命令制御部3はベクトル演算部5に対
して次のベトル命令の送出を停止する。第5図は第3図
に示すウェイト命令検出回路部11の一実施例構成を示
す。図中の符号11は第3図に対応し、21はウェイト
命令解読回路であつてウェイト命令の到来を検出するも
の、22はウェイト命令ラッチであつてウェイト命令が
到来した状態を保持するもの、23はオア回路を表わし
ている。上述の如くウェイト命令が到来すると、ウェイ
ト命令解読回路21が論理RlJを出力し、この時点か
ら図示WAiT信号が論理RlJとされ、ラン22によ
つて論理RlJを継続される。そして第3図図示の命令
終了検出回路14からの命令終了信号が論理RlJとな
ると、ラッチ22はリセットされ、WAiT信号は論理
ROJとされる。以上説明した如く、本発明によれば、
コントロール●レジスタによつて並列処理の可否のいず
れのモードが指定されていても、予め定めた命令例えば
ウェイト命令を挿入することによつて、その時点におい
てスカラ演算部の処理とベクトル演算部の処理とについ
て実行順序に関して同期をとることが可能となる。
第1図は本発明の情報処理装置の一実施例全体構成図、
第2図A,B,Cは本発明の処理態様を明確化するため
の説明図、第3図は第1図に示すベクトル演算部の一実
施例構成、第4図A,B,Cはベクトル命令送出禁止信
号の送出態様を説明する説明図、第5図は第3図に示す
ウェイト命令検出回路部の一実施例を示す。 図中、1はメモリ、2はデータ処理部、3は命”令制御
部、4はスカラ演算部、5はベクトル演算部、6は命令
レジスタ、7はコントロール・レジスタ、10はデコー
ダ、11はウェイト命令検出回路部、12はベクトル命
令演算器、13は演算制御バイブライン、14は命令終
了検出回路を表わす。
第2図A,B,Cは本発明の処理態様を明確化するため
の説明図、第3図は第1図に示すベクトル演算部の一実
施例構成、第4図A,B,Cはベクトル命令送出禁止信
号の送出態様を説明する説明図、第5図は第3図に示す
ウェイト命令検出回路部の一実施例を示す。 図中、1はメモリ、2はデータ処理部、3は命”令制御
部、4はスカラ演算部、5はベクトル演算部、6は命令
レジスタ、7はコントロール・レジスタ、10はデコー
ダ、11はウェイト命令検出回路部、12はベクトル命
令演算器、13は演算制御バイブライン、14は命令終
了検出回路を表わす。
Claims (1)
- 【特許請求の範囲】 1 一連の命令群を、命令により指定される複数の処理
単位で命令単位に実行する情報処理装置において、上記
一連の命令群中に予め定められた命令を挿入するよう構
成され、当該挿入された命令によつて、当該命令よりも
以前に与えられた命令群の終了報告を上記処理単位から
受けるまでの間、次に続く命令群の実行を保留させるよ
う構成し、命令間における共有資源の使用に関して同期
をはかるようにしたことを特徴とする情報処理装置。 2 スカラ命令によつて指定されるスカラ演算部とベク
トル命令によつて指定されるベクトル演算部とをそなえ
、上記スカラ演算部と上記ベクトル演算部とが互に独立
に夫々与えられた命令を実行し、予め定めた条件のもと
で上記ベクトル演算部が次に演算すべきベクトル命令の
受信を禁止するか否かを判定するよう構成されてなる情
報処理装置において、上記ベクトル演算部は、当該ベク
トル演算部に供給される予め定めた命令を解読する命令
検出部と既に与えられているベクトル命令の命令終了を
検出する命令終了検出部とをそなえ、上記命令検出部が
上記予め定めた命令を検出したとき上記命令終了検出部
が命令終了を検出するまで上記予め定めた条件の如何に
拘らず強制的に次に演算すべきベクトル命令の受信を禁
止する指示信号を発するよう構成され、上記スカラ演算
部の命令実行と上記ベクトル演算部の命令実行とを上記
予め定めた命令時点において実行順序を同期化するよう
にしたことを特徴とする特許請求の範囲第1項記載の情
報処理装置。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP54170803A JPS6043535B2 (ja) | 1979-12-29 | 1979-12-29 | 情報処理装置 |
AU66450/81A AU528849B2 (en) | 1979-12-29 | 1980-12-27 | Information processing system |
DE8181900086T DE3071919D1 (en) | 1979-12-29 | 1980-12-27 | Information processing system |
PCT/JP1980/000333 WO1981001892A1 (en) | 1979-12-29 | 1980-12-27 | Information processing system |
EP81900086A EP0042442B1 (en) | 1979-12-29 | 1980-12-27 | Information processing system |
US08/469,769 US5499350A (en) | 1979-12-29 | 1995-06-06 | Vector data processing system with instruction synchronization |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP54170803A JPS6043535B2 (ja) | 1979-12-29 | 1979-12-29 | 情報処理装置 |
US08/469,769 US5499350A (en) | 1979-12-29 | 1995-06-06 | Vector data processing system with instruction synchronization |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS5696367A JPS5696367A (en) | 1981-08-04 |
JPS6043535B2 true JPS6043535B2 (ja) | 1985-09-28 |
Family
ID=26493697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP54170803A Expired JPS6043535B2 (ja) | 1979-12-29 | 1979-12-29 | 情報処理装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5499350A (ja) |
EP (1) | EP0042442B1 (ja) |
JP (1) | JPS6043535B2 (ja) |
AU (1) | AU528849B2 (ja) |
DE (1) | DE3071919D1 (ja) |
WO (1) | WO1981001892A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62203852U (ja) * | 1986-06-19 | 1987-12-26 | ||
WO1991014985A1 (fr) * | 1990-03-19 | 1991-10-03 | Fujitsu Limited | Systeme de traitement de programme d'interruption |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6043535B2 (ja) * | 1979-12-29 | 1985-09-28 | 富士通株式会社 | 情報処理装置 |
US4541046A (en) * | 1981-03-25 | 1985-09-10 | Hitachi, Ltd. | Data processing system including scalar data processor and vector data processor |
JPS58114274A (ja) * | 1981-12-28 | 1983-07-07 | Hitachi Ltd | デ−タ処理装置 |
JPS58134357A (ja) * | 1982-02-03 | 1983-08-10 | Hitachi Ltd | ベクトルプロセッサ |
EP0105125B1 (en) * | 1982-09-03 | 1989-04-19 | Hitachi, Ltd. | Data processing system |
JPS6224366A (ja) * | 1985-07-03 | 1987-02-02 | Hitachi Ltd | ベクトル処理装置 |
JP2610821B2 (ja) * | 1986-01-08 | 1997-05-14 | 株式会社日立製作所 | マルチプロセツサシステム |
JPS62197819A (ja) * | 1986-02-25 | 1987-09-01 | Nec Corp | デ−タ転送制御方式 |
JPS62197818A (ja) * | 1986-02-25 | 1987-09-01 | Nec Corp | デ−タ転送制御方式 |
EP0248990B1 (en) * | 1986-06-12 | 1994-06-15 | International Business Machines Corporation | A sequence controller and method of an instruction processing unit for placing said unit in a ready, go, hold, or cancel state |
JPH06103494B2 (ja) * | 1986-11-18 | 1994-12-14 | 株式会社日立製作所 | ベクトル処理装置の制御方式 |
ATE85853T1 (de) * | 1987-03-20 | 1993-03-15 | Digital Equipment Corp | Vorrichtung und verfahren zur synchronisation von arithmetischen exceptionen in parallelen pipeline-ausfuehrungseinheiten. |
JP3137117B2 (ja) * | 1987-03-27 | 2001-02-19 | 将容 曽和 | 高速処理計算機 |
JPH01310445A (ja) * | 1988-06-08 | 1989-12-14 | Nippon Telegr & Teleph Corp <Ntt> | 並列演算処理装置 |
DE68927946T2 (de) * | 1988-08-02 | 1997-10-16 | Philips Electronics Nv | Verfahren und Vorrichtung für die Synchronisierung von parallelen Prozessoren unter Verwendung einer unscharf definierten Sperre |
JP2810068B2 (ja) | 1988-11-11 | 1998-10-15 | 株式会社日立製作所 | プロセッサシステム、コンピュータシステム及び命令処理方法 |
US5075840A (en) * | 1989-01-13 | 1991-12-24 | International Business Machines Corporation | Tightly coupled multiprocessor instruction synchronization |
JP2677414B2 (ja) * | 1989-05-15 | 1997-11-17 | 富士通株式会社 | 命令実行のシリアライズ制御方式 |
JPH0314025A (ja) * | 1989-06-13 | 1991-01-22 | Nec Corp | 命令実行制御方式 |
US5127092A (en) * | 1989-06-15 | 1992-06-30 | North American Philips Corp. | Apparatus and method for collective branching in a multiple instruction stream multiprocessor where any of the parallel processors is scheduled to evaluate the branching condition |
EP0407911B1 (en) * | 1989-07-07 | 1998-12-09 | Hitachi, Ltd. | Parallel processing apparatus and parallel processing method |
JPH06168263A (ja) * | 1992-11-30 | 1994-06-14 | Fujitsu Ltd | ベクトル処理装置 |
JPH096614A (ja) * | 1995-06-21 | 1997-01-10 | Sanyo Electric Co Ltd | データ処理装置 |
JPH0969047A (ja) * | 1995-09-01 | 1997-03-11 | Sony Corp | Risc型マイクロプロセッサおよび情報処理装置 |
US5964863A (en) * | 1996-04-15 | 1999-10-12 | Motorola, Inc. | Method and apparatus for providing pipe fullness information external to a data processing system |
US6401194B1 (en) * | 1997-01-28 | 2002-06-04 | Samsung Electronics Co., Ltd. | Execution unit for processing a data stream independently and in parallel |
JPH11134197A (ja) * | 1997-10-29 | 1999-05-21 | Fujitsu Ltd | Vliw方式計算機用のコンパイル装置及び方法並びにコンパイル実行プログラムを格納した記録媒体 |
US6099585A (en) * | 1998-05-08 | 2000-08-08 | Advanced Micro Devices, Inc. | System and method for streamlined execution of instructions |
US6446165B1 (en) | 1999-07-30 | 2002-09-03 | International Business Machines Corporation | Address dependent caching behavior within a data processing system having HSA (hashed storage architecture) |
US6449691B1 (en) | 1999-07-30 | 2002-09-10 | International Business Machines Corporation | Asymmetrical cache properties within a hashed storage subsystem |
US6658556B1 (en) * | 1999-07-30 | 2003-12-02 | International Business Machines Corporation | Hashing a target address for a memory access instruction in order to determine prior to execution which particular load/store unit processes the instruction |
US6598118B1 (en) | 1999-07-30 | 2003-07-22 | International Business Machines Corporation | Data processing system with HSA (hashed storage architecture) |
US6823471B1 (en) | 1999-07-30 | 2004-11-23 | International Business Machines Corporation | Method for providing high availability within a data processing system via a reconfigurable hashed storage subsystem |
US6470442B1 (en) | 1999-07-30 | 2002-10-22 | International Business Machines Corporation | Processor assigning data to hardware partition based on selectable hash of data address |
US6516404B1 (en) | 1999-07-30 | 2003-02-04 | International Business Machines Corporation | Data processing system having hashed architected processor facilities |
US6564298B2 (en) | 2000-12-22 | 2003-05-13 | Intel Corporation | Front end system having multiple decoding modes |
US7447873B1 (en) * | 2005-11-29 | 2008-11-04 | Nvidia Corporation | Multithreaded SIMD parallel processor with loading of groups of threads |
US7594095B1 (en) * | 2005-11-29 | 2009-09-22 | Nvidia Corporation | Multithreaded SIMD parallel processor with launching of groups of threads |
US8176299B2 (en) * | 2008-09-24 | 2012-05-08 | Apple Inc. | Generating stop indicators based on conditional data dependency in vector processors |
US8181001B2 (en) * | 2008-09-24 | 2012-05-15 | Apple Inc. | Conditional data-dependency resolution in vector processors |
SE535856C2 (sv) * | 2011-10-18 | 2013-01-15 | Mediatek Sweden Ab | Digital signalprocessor och basbandskommunikationsanordning |
SE536462C2 (sv) * | 2011-10-18 | 2013-11-26 | Mediatek Sweden Ab | Digital signalprocessor och basbandskommunikationsanordning |
GB2495959A (en) | 2011-10-26 | 2013-05-01 | Imagination Tech Ltd | Multi-threaded memory access processor |
WO2013166101A1 (en) * | 2012-05-02 | 2013-11-07 | Massachusetts Institute Of Technology | Managing buffer memory |
US9626732B2 (en) * | 2013-10-10 | 2017-04-18 | Intel Corporation | Supporting atomic operations as post-synchronization operations in graphics processing architectures |
US9715386B2 (en) | 2014-09-29 | 2017-07-25 | Apple Inc. | Conditional stop instruction with accurate dependency detection |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3614742A (en) * | 1968-07-09 | 1971-10-19 | Texas Instruments Inc | Automatic context switching in a multiprogrammed multiprocessor system |
US3560934A (en) * | 1969-06-10 | 1971-02-02 | Ibm | Arrangement for effecting vector mode operation in multiprocessing systems |
US4107773A (en) * | 1974-05-13 | 1978-08-15 | Texas Instruments Incorporated | Advanced array transform processor with fixed/floating point formats |
US4128880A (en) * | 1976-06-30 | 1978-12-05 | Cray Research, Inc. | Computer vector register processing |
US4149243A (en) * | 1977-10-20 | 1979-04-10 | International Business Machines Corporation | Distributed control architecture with post and wait logic |
US4365292A (en) * | 1979-11-26 | 1982-12-21 | Burroughs Corporation | Array processor architecture connection network |
JPS6043535B2 (ja) * | 1979-12-29 | 1985-09-28 | 富士通株式会社 | 情報処理装置 |
-
1979
- 1979-12-29 JP JP54170803A patent/JPS6043535B2/ja not_active Expired
-
1980
- 1980-12-27 DE DE8181900086T patent/DE3071919D1/de not_active Expired
- 1980-12-27 EP EP81900086A patent/EP0042442B1/en not_active Expired
- 1980-12-27 AU AU66450/81A patent/AU528849B2/en not_active Ceased
- 1980-12-27 WO PCT/JP1980/000333 patent/WO1981001892A1/ja active IP Right Grant
-
1995
- 1995-06-06 US US08/469,769 patent/US5499350A/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62203852U (ja) * | 1986-06-19 | 1987-12-26 | ||
WO1991014985A1 (fr) * | 1990-03-19 | 1991-10-03 | Fujitsu Limited | Systeme de traitement de programme d'interruption |
Also Published As
Publication number | Publication date |
---|---|
EP0042442A4 (en) | 1982-07-30 |
US5499350A (en) | 1996-03-12 |
DE3071919D1 (en) | 1987-04-09 |
WO1981001892A1 (en) | 1981-07-09 |
AU528849B2 (en) | 1983-05-12 |
EP0042442A1 (en) | 1981-12-30 |
JPS5696367A (en) | 1981-08-04 |
AU6645081A (en) | 1981-07-22 |
EP0042442B1 (en) | 1987-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS6043535B2 (ja) | 情報処理装置 | |
EP1050808B1 (en) | Computer instruction scheduling | |
EP0231526B1 (en) | Multi-processor system | |
KR19990044957A (ko) | 데이터 처리기에서의 후속 명령 처리에 영향을 미치는 방법 및장치 | |
US5193159A (en) | Microprocessor system | |
CA1321658C (en) | Method and apparatus for optimizing inter-processor instruction transfers | |
US5226166A (en) | Parallel operation processor with second command unit | |
US4860200A (en) | Microprocessor interface device for coupling non-compatible protocol peripheral with processor | |
US4677549A (en) | Pipelined data processor system having increased processing speed | |
EP0753810B1 (en) | Computer instruction execution method and apparatus | |
JPS58182758A (ja) | 演算制御装置 | |
KR940011041B1 (ko) | 마이크로컴퓨터 | |
EP1050809A1 (en) | Computer instruction dependency | |
EP0102697B1 (en) | A timing control system in a data processor | |
KR970003319B1 (ko) | 직렬 인터페이스 장치를 갖는 처리장치 | |
JPH0147818B2 (ja) | ||
JPH01243167A (ja) | データ処理装置 | |
JPS6250868B2 (ja) | ||
EP0261685B1 (en) | Microprocessor system | |
JPH03228161A (ja) | 計算機システムのインタフェース制御方式 | |
JPS6049350B2 (ja) | デ−タバス制御方式 | |
JPS6120903B2 (ja) | ||
JPH03214842A (ja) | データ伝送装置 | |
JPS6127790B2 (ja) | ||
JPS6225359A (ja) | 情報処理システムにおける処理要求制御方式 |