JPS6132697B2 - - Google Patents
Info
- Publication number
- JPS6132697B2 JPS6132697B2 JP55186147A JP18614780A JPS6132697B2 JP S6132697 B2 JPS6132697 B2 JP S6132697B2 JP 55186147 A JP55186147 A JP 55186147A JP 18614780 A JP18614780 A JP 18614780A JP S6132697 B2 JPS6132697 B2 JP S6132697B2
- Authority
- JP
- Japan
- Prior art keywords
- instructions
- instruction
- register
- executed
- identifier
- 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
- 238000000034 method Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 7
- 238000007796 conventional method Methods 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
-
- 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
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)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】
本発明は、シリアライズの必要な命令に対して
は同一の識別名(以下IDという)を付加し、同
一IDをもつ命令に関しては、オブジエクト・プ
ログラムで指定された順序を乱さないようにして
実行するようにした複数の演算器をもつ並列計算
機の命令スケジユール方式に関するものである。
は同一の識別名(以下IDという)を付加し、同
一IDをもつ命令に関しては、オブジエクト・プ
ログラムで指定された順序を乱さないようにして
実行するようにした複数の演算器をもつ並列計算
機の命令スケジユール方式に関するものである。
複数の演算器をもつ並列計算機においては、複
数個のマシン命令が並列に実行される。したがつ
て、正しいプログラム論理を実行するには、並列
実行される命令間で何らかの同期をとる必要があ
る。これまでは命令間の同期はレジスタのリザー
ブ制御などによつて行つていた。レジスタのリザ
ーブ制御とは、例えば γ1=A〓B ……… γ2=γ1×B ……… というマシン命令の系列があつた場合には、命令
を実行してから命令を実行することを言う。
レジスタのリザーブ制御は、レジスタ−レジスタ
形式の命令の並列演算のスケジユールしかでき
ず、複数の演算器で共有されるメモリをアクセス
するような並列演算スケジユールは出来なかつ
た。
数個のマシン命令が並列に実行される。したがつ
て、正しいプログラム論理を実行するには、並列
実行される命令間で何らかの同期をとる必要があ
る。これまでは命令間の同期はレジスタのリザー
ブ制御などによつて行つていた。レジスタのリザ
ーブ制御とは、例えば γ1=A〓B ……… γ2=γ1×B ……… というマシン命令の系列があつた場合には、命令
を実行してから命令を実行することを言う。
レジスタのリザーブ制御は、レジスタ−レジスタ
形式の命令の並列演算のスケジユールしかでき
ず、複数の演算器で共有されるメモリをアクセス
するような並列演算スケジユールは出来なかつ
た。
本発明は、上記の考察に基づくものであつて、
共用メモリをアクセスするような命令についても
並列実行が可能か否かを認識できること、並列命
令実行のためのハード制御が単純になることおよ
び並列実行を従来技術より効果的に行い得るよう
にした複数演算器をもつ並列計算機における命令
のスケジユール方式を提供することを目的として
いる。そしてそのため、本発明の複数演算器をも
つ並列計算機における命令のスケジユール方式
は、複数の演算器を備え、複数の命令が上記複数
の演算器によつて並列して実行され得るようにな
つた複数演算器をもつ並列計算機における命令ス
ケジユール方式において、実行すべき命令系列を
調べて、シリアライズの必要のある複数の命令に
対しては同一の識別名を与え、各識別名に対応し
て演算器を定めて識別名が付加された命令を識別
名に対応する演算器で実行するようにし、演算器
で命令を実行する場合、識別名の付加された命令
に関しては元の命令系列における命令順序をそこ
なわないようにして実行することを特徴とするも
のである。以下、本発明を図面を参照しつつ説明
する。
共用メモリをアクセスするような命令についても
並列実行が可能か否かを認識できること、並列命
令実行のためのハード制御が単純になることおよ
び並列実行を従来技術より効果的に行い得るよう
にした複数演算器をもつ並列計算機における命令
のスケジユール方式を提供することを目的として
いる。そしてそのため、本発明の複数演算器をも
つ並列計算機における命令のスケジユール方式
は、複数の演算器を備え、複数の命令が上記複数
の演算器によつて並列して実行され得るようにな
つた複数演算器をもつ並列計算機における命令ス
ケジユール方式において、実行すべき命令系列を
調べて、シリアライズの必要のある複数の命令に
対しては同一の識別名を与え、各識別名に対応し
て演算器を定めて識別名が付加された命令を識別
名に対応する演算器で実行するようにし、演算器
で命令を実行する場合、識別名の付加された命令
に関しては元の命令系列における命令順序をそこ
なわないようにして実行することを特徴とするも
のである。以下、本発明を図面を参照しつつ説明
する。
第1図は本発明の第1実施例を説明する図、第
2図は本発明の第2実施例を説明する図、第3図
は本発明で使用する計算機の1例を示すブロツク
図である。
2図は本発明の第2実施例を説明する図、第3図
は本発明で使用する計算機の1例を示すブロツク
図である。
本発明の第1実施例を次の如きプログラムを例
として説明する。
として説明する。
A=A〓C+D〓E
I=(A〓F)〓(G+H)
上記のようなプログラムをレジスタ−レジスタ
およびメモリ−レジスタ命令体系の命令で表現す
ると下記のようになる。
およびメモリ−レジスタ命令体系の命令で表現す
ると下記のようになる。
(ID1) γ1←A〓C
γ2←D〓E
(ID1) A←γ1+γ2
(ID1) γ3←A〓F
γ4←G+H
I←γ3〓γ4
命令はメモリ・データAとCを乗じてレジス
タγ1へ格納すべきことを指示しており、命令
はメモリ・データDとEとを乗じてレジスタγ2
へ格納すべきことを指示しており、命令はレジ
スタγ1とγ2を加算してその加算結果をメモ
リ・データAとすべきことを指示しており、命令
はメモリ・データAとFとを加算し、その結果
をレジスタγ3へ格納すべことを示しており、命
令はメモリ・データGとHを乗じてレジスタγ
4へ格納すべきことを示しており、命令はレジ
スタγ3とγ4とを加算し、その加算結果をメモ
リ・データIとすべきことを示している。命令
、、は同一のメモリ領域を使用するので、
このような命令は命令、命令、命令の順序
で行なわなければならない。命令、、のシ
リアライズは、レジスタ・リザーブによる方法で
は不可能である。そこで、本発明においては、命
令、、に例えばID1を付し、これらの命令
がID1に対応する演算器で実行し、→→の
順序で実行されるべきことを表示する。
タγ1へ格納すべきことを指示しており、命令
はメモリ・データDとEとを乗じてレジスタγ2
へ格納すべきことを指示しており、命令はレジ
スタγ1とγ2を加算してその加算結果をメモ
リ・データAとすべきことを指示しており、命令
はメモリ・データAとFとを加算し、その結果
をレジスタγ3へ格納すべことを示しており、命
令はメモリ・データGとHを乗じてレジスタγ
4へ格納すべきことを示しており、命令はレジ
スタγ3とγ4とを加算し、その加算結果をメモ
リ・データIとすべきことを示している。命令
、、は同一のメモリ領域を使用するので、
このような命令は命令、命令、命令の順序
で行なわなければならない。命令、、のシ
リアライズは、レジスタ・リザーブによる方法で
は不可能である。そこで、本発明においては、命
令、、に例えばID1を付し、これらの命令
がID1に対応する演算器で実行し、→→の
順序で実行されるべきことを表示する。
第1図は本発明の第1実施例を示すものであつ
て、1は並列計算機、2はメモリ、3はレジスタ
群、4−1と4−2は演算器をそれぞれ示してい
る。演算器4−1はID1が付加された命令を処理
し、演算器4−2はID2が付加された命令を処理
する。命令、、は演算器4−1で処理され
る。その他の命令は、いずれの演算器で実行して
も良いが、図示の例では演算器4−2で実行され
る。
て、1は並列計算機、2はメモリ、3はレジスタ
群、4−1と4−2は演算器をそれぞれ示してい
る。演算器4−1はID1が付加された命令を処理
し、演算器4−2はID2が付加された命令を処理
する。命令、、は演算器4−1で処理され
る。その他の命令は、いずれの演算器で実行して
も良いが、図示の例では演算器4−2で実行され
る。
次に本発明の第2実施例について上記のような
プログラム・サンプルをレジスタ−レジスタ形式
の命令、ロード命令およびストア命令を用いて展
開すると下記のようになる。
プログラム・サンプルをレジスタ−レジスタ形式
の命令、ロード命令およびストア命令を用いて展
開すると下記のようになる。
(ID1) γ1←A
γ2←C
γ3←γ1〓γ2
γ4←D
γ5←E
γ6←γ4〓γ5
γ7←γ3+γ6
(ID1) A←γ7
(ID1) γ8←A
γ9←F
γ10←γ8〓9
γ11←G
γ12←H
γ13←γ11+γ12
γ14←γ10〓γ13
I←γ14
上記命令群において、例えば命令はメモリ・
データAをレジスタγ1へロードするものであ
り、命令はレジスタγ1とγ2を乗じてγ3に
格納するものであり、命令は、レジスタγ3と
γ6を加えγ7へ格納するものである。上記の命
令と、命令および命令は通常のレジスタ・
リザーブの方法ではシリアライズが不可能である
ので、ID指定によりシリアライズを行う。即
ち、命令、命令および命令に同一のID
(例えばID1)を付加する。
データAをレジスタγ1へロードするものであ
り、命令はレジスタγ1とγ2を乗じてγ3に
格納するものであり、命令は、レジスタγ3と
γ6を加えγ7へ格納するものである。上記の命
令と、命令および命令は通常のレジスタ・
リザーブの方法ではシリアライズが不可能である
ので、ID指定によりシリアライズを行う。即
ち、命令、命令および命令に同一のID
(例えばID1)を付加する。
第2図は第2実施例を示すものであつて、5は
ベクトル・プロセツサの如き並列計算機、6はメ
モリ、7はロード・パイプラインおよびストア・
パイプラインを除くその他の演算器群、8−1と
8−2はロード/ストア・パイプライン、9はレ
ジスタ群をそれぞれ示している。命令、命令
および命令のロード/ストア命令に対しては
ID1が付加され、ID1の付加されたロード/スト
ア命令は、ロード/ストア・パイプライン8−1
で実行される。その他のロード/ストア命令は他
のロード/ストア・パイプライン8−2で行うこ
とが可能であり、また、その他の演算系の命令は
加算器や乗算器などを含む演算器群7によつて実
行される。
ベクトル・プロセツサの如き並列計算機、6はメ
モリ、7はロード・パイプラインおよびストア・
パイプラインを除くその他の演算器群、8−1と
8−2はロード/ストア・パイプライン、9はレ
ジスタ群をそれぞれ示している。命令、命令
および命令のロード/ストア命令に対しては
ID1が付加され、ID1の付加されたロード/スト
ア命令は、ロード/ストア・パイプライン8−1
で実行される。その他のロード/ストア命令は他
のロード/ストア・パイプライン8−2で行うこ
とが可能であり、また、その他の演算系の命令は
加算器や乗算器などを含む演算器群7によつて実
行される。
第3図は本発明で使用される並列計算機の機能
ブロツク図である。10はオブジエクト・プログ
ラム、11は命令フエツチ部、12は命令デコー
ド部、13はID認識部、14はID別命令スタツ
ク制御部、14−1ないし14−nは命令キユ
ー・スタツク、15−1ないし15−nは命令ス
タツク取出部、16−1ないし16−nはスカラ
もしくはベクトル演算ユニツト、17はレジスタ
利用シリアライズ制御部、18は共用されるレジ
スタ、19は共用されるメモリの部分をそれぞれ
示している。
ブロツク図である。10はオブジエクト・プログ
ラム、11は命令フエツチ部、12は命令デコー
ド部、13はID認識部、14はID別命令スタツ
ク制御部、14−1ないし14−nは命令キユ
ー・スタツク、15−1ないし15−nは命令ス
タツク取出部、16−1ないし16−nはスカラ
もしくはベクトル演算ユニツト、17はレジスタ
利用シリアライズ制御部、18は共用されるレジ
スタ、19は共用されるメモリの部分をそれぞれ
示している。
オブジエクト・プログラムは予めチエツクさ
れ、同一のメモリ領域を使用する命令については
同一のIDが付加されている。その他の種類の命
令については、演算器の負荷が平等になるように
適宜なIDを付加しても良い。オブジエクト・プ
ログラム10は命令フエツチ部11によつて順次
にフエツチされ、命令デコード部12でデコード
され、次いでID認識部13に送られ、そしてID
別命令スタツク制御部14によつて対応する命令
キユー・スタツク部14−i(i=0、1、2…
……又はn)にスタツクされる。命令キユー・ス
タツク14−iの命令は命令取出部15−iによ
つて順次取出され、演算ユニツト16−iによつ
て実行される。なお、レジスタ用シリアライズ部
17はレジスタ・リザーブの手法を用いて命令の
シリアライズを行うものである。
れ、同一のメモリ領域を使用する命令については
同一のIDが付加されている。その他の種類の命
令については、演算器の負荷が平等になるように
適宜なIDを付加しても良い。オブジエクト・プ
ログラム10は命令フエツチ部11によつて順次
にフエツチされ、命令デコード部12でデコード
され、次いでID認識部13に送られ、そしてID
別命令スタツク制御部14によつて対応する命令
キユー・スタツク部14−i(i=0、1、2…
……又はn)にスタツクされる。命令キユー・ス
タツク14−iの命令は命令取出部15−iによ
つて順次取出され、演算ユニツト16−iによつ
て実行される。なお、レジスタ用シリアライズ部
17はレジスタ・リザーブの手法を用いて命令の
シリアライズを行うものである。
以上の説明から明らかなように、本発明によれ
ば、並列計算機において、メモリ・アクセスを含
めた命令のシリアライズが可能となり、命令の並
列実行が効果的に行い得ると共に、並列命令実行
のためのハードの制御が単純になるという効果が
得られる。
ば、並列計算機において、メモリ・アクセスを含
めた命令のシリアライズが可能となり、命令の並
列実行が効果的に行い得ると共に、並列命令実行
のためのハードの制御が単純になるという効果が
得られる。
第1図は本発明の第1実施例を説明する図、第
2図は本発明の第2実施例を説明する図、第3図
は本発明で使用される計算機の1例を示すブロツ
ク図。 1……並列計算機、2……メモリ、3……レジ
スタ群、4−1,4−2……演算器、5……ベク
トル・プロセツサの如き並列計算機、6……メモ
リ、7……ロード・パイプラインおよびストア・
パイプラインを除くその他の演算器群、8−1,
8−2……ロード/ストア・パイプライン、9…
…レジスタ群、10……オブジエクト・プログラ
ム、11……命令フエツチ部、12……命令デコ
ード部、13……ID認識部、14……ID別命令
スタツク制御部、14−1ないし14−n……命
令キユー・スタツク、15−1ないし15−n…
…命令スタツク取出部、16−1ないし16−n
……スカラもしくはベクトル演算ユニツト、17
……レジスタ利用シリアライズ制御部、18……
共用されるレジスタ、19……共用されるメモリ
の部分。
2図は本発明の第2実施例を説明する図、第3図
は本発明で使用される計算機の1例を示すブロツ
ク図。 1……並列計算機、2……メモリ、3……レジ
スタ群、4−1,4−2……演算器、5……ベク
トル・プロセツサの如き並列計算機、6……メモ
リ、7……ロード・パイプラインおよびストア・
パイプラインを除くその他の演算器群、8−1,
8−2……ロード/ストア・パイプライン、9…
…レジスタ群、10……オブジエクト・プログラ
ム、11……命令フエツチ部、12……命令デコ
ード部、13……ID認識部、14……ID別命令
スタツク制御部、14−1ないし14−n……命
令キユー・スタツク、15−1ないし15−n…
…命令スタツク取出部、16−1ないし16−n
……スカラもしくはベクトル演算ユニツト、17
……レジスタ利用シリアライズ制御部、18……
共用されるレジスタ、19……共用されるメモリ
の部分。
Claims (1)
- 1 複数の演算器を備え、複数の命令が上記複数
の演算器によつて並列して実行され得るようにな
つた複数演算器をもつ並列計算機における命令ス
ケジユール方式において、実行すべき命令系列を
調べて、シリアライズの必要のある複数の命令に
対しては同一の識別名を与え、各識別名に対応し
て演算器を定めて識別名が付加された命令を識別
名に対応する演算器で実行するようにし、演算器
で命令を実行する場合、識別名の付加された命令
に関しては元の命令系列における命令順序をそこ
なわないようにして実行することを特徴とする複
数演算器をもつ並列計算機における命令のスケジ
ユール方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP55186147A JPS57109084A (en) | 1980-12-26 | 1980-12-26 | Schedule system for instruction in parallel computer having plural operating devices |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP55186147A JPS57109084A (en) | 1980-12-26 | 1980-12-26 | Schedule system for instruction in parallel computer having plural operating devices |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS57109084A JPS57109084A (en) | 1982-07-07 |
JPS6132697B2 true JPS6132697B2 (ja) | 1986-07-29 |
Family
ID=16183195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP55186147A Granted JPS57109084A (en) | 1980-12-26 | 1980-12-26 | Schedule system for instruction in parallel computer having plural operating devices |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS57109084A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0561596U (ja) * | 1991-11-28 | 1993-08-13 | セイキ工業株式会社 | 埋設管用保護カバー |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4594660A (en) * | 1982-10-13 | 1986-06-10 | Honeywell Information Systems Inc. | Collector |
US4521851A (en) * | 1982-10-13 | 1985-06-04 | Honeywell Information Systems Inc. | Central processor |
JPS60120472A (ja) * | 1983-12-02 | 1985-06-27 | Fujitsu Ltd | 多重ル−プのベクトル処理方式 |
JPS61100862A (ja) * | 1984-10-12 | 1986-05-19 | Fujitsu Ltd | 命令の逐次化方式 |
JPS63201791A (ja) * | 1987-02-12 | 1988-08-19 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 処理システム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5110746A (ja) * | 1974-07-17 | 1976-01-28 | Hitachi Ltd | |
JPS53108254A (en) * | 1977-03-02 | 1978-09-20 | Nec Corp | Information processor |
-
1980
- 1980-12-26 JP JP55186147A patent/JPS57109084A/ja active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5110746A (ja) * | 1974-07-17 | 1976-01-28 | Hitachi Ltd | |
JPS53108254A (en) * | 1977-03-02 | 1978-09-20 | Nec Corp | Information processor |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0561596U (ja) * | 1991-11-28 | 1993-08-13 | セイキ工業株式会社 | 埋設管用保護カバー |
Also Published As
Publication number | Publication date |
---|---|
JPS57109084A (en) | 1982-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8904152B2 (en) | Efficient complex multiplication and fast fourier transform (FFT) implementation on the ManArray architecture | |
US6219775B1 (en) | Massively parallel computer including auxiliary vector processor | |
JPH0766329B2 (ja) | 情報処理装置 | |
JPH11282679A (ja) | 演算処理装置 | |
US5625834A (en) | Information processing section and system for operating a plurality of vector pipeline sets in two different modes | |
JP2884831B2 (ja) | 処理装置 | |
JPS6132697B2 (ja) | ||
JPS6142308B2 (ja) | ||
US11481223B2 (en) | Reducing operations of sum-of-multiply-accumulate (SOMAC) instructions | |
JPH096610A (ja) | データ処理システムにおいて複合命令の実行中にオペランドを交換するための方法およびシステム | |
US8055883B2 (en) | Pipe scheduling for pipelines based on destination register number | |
JPS6161416B2 (ja) | ||
JPS6160459B2 (ja) | ||
JPS58105355A (ja) | 命令実行制御方式 | |
JPH0279122A (ja) | 浮動小数点演算機構 | |
JP2575761B2 (ja) | ジョブ管理方法 | |
JPH0764960A (ja) | データフロープロセサ | |
JPH05289870A (ja) | 並列命令実行制御方式 | |
JPH0228765A (ja) | 命令処理順序制御システム | |
EP0234785A1 (en) | Improvements relating to control flow in computers | |
JP2659410B2 (ja) | データフローコンピュータの実行一時停止方式 | |
JPH03223980A (ja) | 計算機方式 | |
JPH0769823B2 (ja) | 情報処理装置 | |
JPS584477A (ja) | 複数演算器のポインタによる制御方式 | |
JPS59220844A (ja) | 命令再実行制御方式 |