JPS58151655A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPS58151655A JPS58151655A JP57033435A JP3343582A JPS58151655A JP S58151655 A JPS58151655 A JP S58151655A JP 57033435 A JP57033435 A JP 57033435A JP 3343582 A JP3343582 A JP 3343582A JP S58151655 A JPS58151655 A JP S58151655A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- data
- memory
- field
- instructions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 16
- 238000000605 extraction Methods 0.000 claims description 7
- 238000013500 data storage Methods 0.000 claims 1
- 238000000034 method Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000001360 synchronised effect 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
- 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
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4494—Execution paradigms, e.g. implementations of programming paradigms data driven
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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(4)発明の技術分野
本発明は、情報処理装置、特にデータ・フロー形の情報
処理装置において、命令の入力フィールドに当該命令が
使用するオズランド・データがアクチブ状態になったか
否かを指示する情報を与えるよう構成すると共に、オは
ランド・データは命令に対応して転送されてゆく所の制
御に従属する方式を構成した情報処理装置に関するもの
である。
処理装置において、命令の入力フィールドに当該命令が
使用するオズランド・データがアクチブ状態になったか
否かを指示する情報を与えるよう構成すると共に、オは
ランド・データは命令に対応して転送されてゆく所の制
御に従属する方式を構成した情報処理装置に関するもの
である。
(B)技術の背景と問題点
フォノ・ノイマン形の情報処理装置においては命令の実
行はいわば逐次的制御となるが、データ・フロー形の情
報処理装置においては、命令の実行に必要なデータが揃
えば当該命令を実行することができ、命令実行順序は・
・−ドウエアが自由に決めることができ、複数命令を並
列実行させることが可能である。このために2例えばベ
クトル命令全並列に実行するベクトル・プロセッサなど
を実現する上で有効である。
行はいわば逐次的制御となるが、データ・フロー形の情
報処理装置においては、命令の実行に必要なデータが揃
えば当該命令を実行することができ、命令実行順序は・
・−ドウエアが自由に決めることができ、複数命令を並
列実行させることが可能である。このために2例えばベ
クトル命令全並列に実行するベクトル・プロセッサなど
を実現する上で有効である。
しかし、従来のデータ・フロー形の情報処理装置の構成
を科学計算用の情報処理装置に適用しようとすると問題
がある。その大きい1つの問題点として、従来のデータ
・フロー形の情報処理装置においてはインストラクショ
ンとデータ()くリュー)とが混在された1つの・ξケ
ラトを構成され。
を科学計算用の情報処理装置に適用しようとすると問題
がある。その大きい1つの問題点として、従来のデータ
・フロー形の情報処理装置においてはインストラクショ
ンとデータ()くリュー)とが混在された1つの・ξケ
ラトを構成され。
当該バケットの形で転送されることが挙げられる。
このために従来のデータ・フロー形の情報処理装置にお
いては、命令を移動する・・−ドウエア回路とデータを
転送する回路とが分離できないものとなっており、フォ
ノ・ノイマン・ボトルネックを解消すべき優れた特徴の
1つを圧殺してしまうことになっている。
いては、命令を移動する・・−ドウエア回路とデータを
転送する回路とが分離できないものとなっており、フォ
ノ・ノイマン・ボトルネックを解消すべき優れた特徴の
1つを圧殺してしまうことになっている。
0発明の目的と構成
本発明は、上記の点を解決することを目的としており、
命令中で、当該命令に使用するオはランド・データがア
クチブ状態になったか否かを指示するようにすると共に
該命令の実行に必要な全第2ランドがアクティブ状態に
なったことを示す制御信号により命令実行部を起動する
ことによって。
命令中で、当該命令に使用するオはランド・データがア
クチブ状態になったか否かを指示するようにすると共に
該命令の実行に必要な全第2ランドがアクティブ状態に
なったことを示す制御信号により命令実行部を起動する
ことによって。
命令とデータとを別個の回路によって移動できるように
することを目的としている。そしてそのため5本発明の
情報処理装置は、命令を実行するために必要なオはラン
ド・データが有効になる才たけ有効になるであろうこと
が確定することにもとづいて当該命令を実行可能状態に
し、・・−ドウエアが当該命令を適宜実行してゆく形の
情報処理装置において、少なくともオはレーション・コ
ード・フィールドと当該命令が使用するオはランド・デ
ータがアクチブ状態かノン−アクチブ状態かを指示する
に足るビット数をもつ入力フィールドと当該命令とリン
クされるべき命令の入力フィールドを指定するデスチネ
ーション・フィールドトラもちかつ当該命令の実行によ
って上記デスチネーション・フィールドによって指示さ
れた所の他命令の上記入力フィールドにアクチブ状態を
指示するよう構成される命令が用いられてなり、更に上
記命令が格納されるインストラクション・メモリ。
することを目的としている。そしてそのため5本発明の
情報処理装置は、命令を実行するために必要なオはラン
ド・データが有効になる才たけ有効になるであろうこと
が確定することにもとづいて当該命令を実行可能状態に
し、・・−ドウエアが当該命令を適宜実行してゆく形の
情報処理装置において、少なくともオはレーション・コ
ード・フィールドと当該命令が使用するオはランド・デ
ータがアクチブ状態かノン−アクチブ状態かを指示する
に足るビット数をもつ入力フィールドと当該命令とリン
クされるべき命令の入力フィールドを指定するデスチネ
ーション・フィールドトラもちかつ当該命令の実行によ
って上記デスチネーション・フィールドによって指示さ
れた所の他命令の上記入力フィールドにアクチブ状態を
指示するよう構成される命令が用いられてなり、更に上
記命令が格納されるインストラクション・メモリ。
オペランド・データが格納される所のデータ・メモリ、
上記インストラクション・メモリから実行可能状態にあ
る命令全抽出する命令抽出部、上記データ・メモリから
所望とするオペランド・データ會ロードして上記抽出さ
れた命令または命令群を並列実行する演算ユニツ)kそ
なえてなること全特徴としている。以丁図面を参照しつ
つ説明する。
上記インストラクション・メモリから実行可能状態にあ
る命令全抽出する命令抽出部、上記データ・メモリから
所望とするオペランド・データ會ロードして上記抽出さ
れた命令または命令群を並列実行する演算ユニツ)kそ
なえてなること全特徴としている。以丁図面を参照しつ
つ説明する。
0発明の実施例
第1図(4)ω)rよ夫々本発明に用いる命令の一実施
例命令形式、第2図(A)(B)は本発明によるコント
ロールのリンク態様全説明する説明図、第3図は本発明
の一実施例ハードウエア構成、第4図は本発明による命
令処理動作を説明するフローチャート。
例命令形式、第2図(A)(B)は本発明によるコント
ロールのリンク態様全説明する説明図、第3図は本発明
の一実施例ハードウエア構成、第4図は本発明による命
令処理動作を説明するフローチャート。
第5図は本発明における命令実行のタイム・チャートの
一例を示している。
一例を示している。
本発明においては、演算関係の命令は、第1図囚図示の
如き命令形式をもち、インストラクション・コード(O
P)フィールドと、2つの入力フィールド(R1、Ra
)と、デスチネーション・フィールド0とをそなえてい
る。またコピーやスイッチやユニオンなどの制御関係の
命令は、第1図(B)図示の如き命令形式をもち、イン
ストラクション・コード(OP)フィールドと、1つの
入力フィール)’(R1)と、2つのデスチネーション
・フィールド(Dl、 D2)と全もっている。上記入
力フィールドおよびデイスチネーション・フィールドは
1または2個に限らず複数個もっていてもよい。
如き命令形式をもち、インストラクション・コード(O
P)フィールドと、2つの入力フィールド(R1、Ra
)と、デスチネーション・フィールド0とをそなえてい
る。またコピーやスイッチやユニオンなどの制御関係の
命令は、第1図(B)図示の如き命令形式をもち、イン
ストラクション・コード(OP)フィールドと、1つの
入力フィール)’(R1)と、2つのデスチネーション
・フィールド(Dl、 D2)と全もっている。上記入
力フィールドおよびデイスチネーション・フィールドは
1または2個に限らず複数個もっていてもよい。
そして、仮に、第2図(/!図示の如く、「命令■と■
が実行されたことによって命令■が実行可能になり1次
いで命令■が実行されて、命令■と■とを実行可能にし
てゆく」というようなグラフ形式の命令コントロールの
リンクを考慮したとすると、第2図(B)図示の如く、
デスチネーション・フィールドの内容によって次の命令
の入力フイールドがリンク付けられてゆく。即ち、命令
■の結果オはランドがアクティブになるもしくはアクテ
ィブなることが確定することにより、命令■のデスチネ
ーションDによってポイントされる命令■の入力フィー
ルドR1にある値を設定し、当該命令■がf重用するオ
はランド・データの1つがアクチブ状態になったことが
指示され、同様に命令■の結果オズランドがアクティブ
になるもしくはアクティブになることが確定することに
より、命令■のデスチネーション・フィールドDによっ
てポイントサれる命令■の入力フィールド” R2にあ
る値を設定することにより、当該命令■が使用するオペ
ランド・データの他の1つがアクチブ状態になったこと
が指示される。そして、命令■が実行され終ったことに
よってデスチネーション・フィールドDによってポイン
トされる命令■の入力フィールドR1にある値を設定す
ることにより、命令■が実行可能になったことを指示す
る。そして同様に命令■が実行され終ったことによって
デスチネーション・フィールドDi 、 D2によりポ
イントされ命令■や命令■の入力フィールドに値を設定
することにより、命令■や■とリンクをとるようにされ
る。
が実行されたことによって命令■が実行可能になり1次
いで命令■が実行されて、命令■と■とを実行可能にし
てゆく」というようなグラフ形式の命令コントロールの
リンクを考慮したとすると、第2図(B)図示の如く、
デスチネーション・フィールドの内容によって次の命令
の入力フイールドがリンク付けられてゆく。即ち、命令
■の結果オはランドがアクティブになるもしくはアクテ
ィブなることが確定することにより、命令■のデスチネ
ーションDによってポイントされる命令■の入力フィー
ルドR1にある値を設定し、当該命令■がf重用するオ
はランド・データの1つがアクチブ状態になったことが
指示され、同様に命令■の結果オズランドがアクティブ
になるもしくはアクティブになることが確定することに
より、命令■のデスチネーション・フィールドDによっ
てポイントサれる命令■の入力フィールド” R2にあ
る値を設定することにより、当該命令■が使用するオペ
ランド・データの他の1つがアクチブ状態になったこと
が指示される。そして、命令■が実行され終ったことに
よってデスチネーション・フィールドDによってポイン
トされる命令■の入力フィールドR1にある値を設定す
ることにより、命令■が実行可能になったことを指示す
る。そして同様に命令■が実行され終ったことによって
デスチネーション・フィールドDi 、 D2によりポ
イントされ命令■や命令■の入力フィールドに値を設定
することにより、命令■や■とリンクをとるようにされ
る。
本発明の場合、第1図■、(B)に示す入力フィールド
の大きさは原理上からは1ビツトであれば足りる(オは
ランド・データがアクチブになったことを指示する)が
、第1図(A)Q3)に示す如く例えば8ビツトの大き
さをもたせ、オはランド・データがセットされているレ
ジスタ・ナンバを書込むようにし、レジスタ・ナンバが
書込まれたことによって合わせて当該オはランド・デー
タがアクチブ状態になったことを指示するようにするの
が好ましい。
の大きさは原理上からは1ビツトであれば足りる(オは
ランド・データがアクチブになったことを指示する)が
、第1図(A)Q3)に示す如く例えば8ビツトの大き
さをもたせ、オはランド・データがセットされているレ
ジスタ・ナンバを書込むようにし、レジスタ・ナンバが
書込まれたことによって合わせて当該オはランド・デー
タがアクチブ状態になったことを指示するようにするの
が好ましい。
なお本発明に用いられる命令としては、(1)ADD、
MULTPLY、DjViDEなどノ四則演算。
MULTPLY、DjViDEなどノ四則演算。
(II)COMPARE、LOGiCAL、5HLFT
、MASKLO−GicAL、1.OAD、5TORE
などの通常の命令、(面copy、5w1Tcn、 U
NioNなどの制御命令、勤APPLYなどの関数リン
ク命令、(V)入出力など対外部インタフェース命令な
どをもつことができ、上記各命令は必要に応じてベクト
ル命令とスカラ命令との両方をもつようにされる。
、MASKLO−GicAL、1.OAD、5TORE
などの通常の命令、(面copy、5w1Tcn、 U
NioNなどの制御命令、勤APPLYなどの関数リン
ク命令、(V)入出力など対外部インタフェース命令な
どをもつことができ、上記各命令は必要に応じてベクト
ル命令とスカラ命令との両方をもつようにされる。
第3図は本発明の一実施例ノ・−ドウエア構成を示す。
図中の符号lは対外部インタフェース部。
2はインストラクション・メモリであって第1図図示の
如き命令が格納されているもの、3はデータ・メモリで
あってオペランド・データが格納さレテイるもの、4は
データ・メモリ制御部であってデータ・メモリ3をアク
セスして所望のオペランド・データを上記入力フィール
ドR1,R2の内容で指示されたレジスタ・ナンバにも
つレジスタにロードした9あるいは演算された結果を再
びストアするなどの処理を行うもの、5は命令抽出部で
あってインストラクション・メモリ2からリードされた
命令について実行可能状態にあるか否かを調べて実行可
能なものを抽出するものである。
如き命令が格納されているもの、3はデータ・メモリで
あってオペランド・データが格納さレテイるもの、4は
データ・メモリ制御部であってデータ・メモリ3をアク
セスして所望のオペランド・データを上記入力フィール
ドR1,R2の内容で指示されたレジスタ・ナンバにも
つレジスタにロードした9あるいは演算された結果を再
びストアするなどの処理を行うもの、5は命令抽出部で
あってインストラクション・メモリ2からリードされた
命令について実行可能状態にあるか否かを調べて実行可
能なものを抽出するものである。
また6はレジスタ・ナンバ・アザイン処理部であって、
抽出された命令が実行可能状態になった際にその命令が
使用する演箕器、レジスタなどの資源が使用可能である
ことによってその命令を発信することを決定し、その命
令のデスチネーション・オはランドを格納するレジスタ
の番号を割当て・・−ドウエアが自動アサイン処理を行
うものを表わしている。この割当てられたレジスタ番号
は命令抽出部に送られ、命令抽出部はこれを該命令のテ
スチネーション・フィールドで示される他の命令の入力
フィールドに書込む。更に、7は演算ユニットであって
単一または複数個の演算部によって構成され、所望の演
算を実行するもの、8はレジスタ群、9はアクチブ命令
リスト部であって実行可能状態にあるが待機状態にキュ
ーイングされた命令をリストの形で保持するものを表わ
している。上記データメモリおよびインストラクション
・メモリは物理的には同一メモリであってもよい。
抽出された命令が実行可能状態になった際にその命令が
使用する演箕器、レジスタなどの資源が使用可能である
ことによってその命令を発信することを決定し、その命
令のデスチネーション・オはランドを格納するレジスタ
の番号を割当て・・−ドウエアが自動アサイン処理を行
うものを表わしている。この割当てられたレジスタ番号
は命令抽出部に送られ、命令抽出部はこれを該命令のテ
スチネーション・フィールドで示される他の命令の入力
フィールドに書込む。更に、7は演算ユニットであって
単一または複数個の演算部によって構成され、所望の演
算を実行するもの、8はレジスタ群、9はアクチブ命令
リスト部であって実行可能状態にあるが待機状態にキュ
ーイングされた命令をリストの形で保持するものを表わ
している。上記データメモリおよびインストラクション
・メモリは物理的には同一メモリであってもよい。
以下第4図に示すフローチャートラ参照しつつ動作を説
明する。
明する。
(1) インタフェース部lは、他中央処理装置や入
出力装置とのインタフェースをもち、デ゛−夕を他装置
とデータ・メモリ3との間で転送する々どの処理を行う
。また必要に応じて、命令全インストラクション・メモ
リ2上に書込む処理を行う。
出力装置とのインタフェースをもち、デ゛−夕を他装置
とデータ・メモリ3との間で転送する々どの処理を行う
。また必要に応じて、命令全インストラクション・メモ
リ2上に書込む処理を行う。
(2)今成る命令の実行が終るか終るであろうことが確
定したとする。この状態で、インストラクション・メモ
リ2に対するアドレス・レジスタに対して上記命令のデ
スチネーション・フィールドの内容にもとづくアドレス
情報がセットされる。
定したとする。この状態で、インストラクション・メモ
リ2に対するアドレス・レジスタに対して上記命令のデ
スチネーション・フィールドの内容にもとづくアドレス
情報がセットされる。
(3) これによってインストラクション拳メモリ2
から1つの命令がフェッチされてくる。
から1つの命令がフェッチされてくる。
(4) 命令抽出部5は、当該フェッチされた命令中
に他の入力フィールドが存在すれば当該他の入力フィー
ルドがアクチブ状態にあるか否かを調べる。
に他の入力フィールドが存在すれば当該他の入力フィー
ルドがアクチブ状態にあるか否かを調べる。
(5) 他のフィールドがアクチブ状態でなければ。
上記デスチネーション・フィールドで示された入力フィ
ールドに既に割当てられているレジスタ・ナンバを書込
んでインストラクション・メモリ2に戻す。
ールドに既に割当てられているレジスタ・ナンバを書込
んでインストラクション・メモリ2に戻す。
(6) 他のフィールドがアクチブ状態にあったとす
ると、レジスタ・ナンバのアサインw行い、当該命令の
実行に入ろうとするが、このとき所望の演算部などがビ
ジーであったとすると当該命令を示すアドレス情報をア
クチブ命令リスト部9に登録しかつ当該命令のデスチネ
ーション・フィールドで示されるインストラクション−
メモリ中の命令の入力フィールドに上記レジスタ・ナン
バを書込む。
ると、レジスタ・ナンバのアサインw行い、当該命令の
実行に入ろうとするが、このとき所望の演算部などがビ
ジーであったとすると当該命令を示すアドレス情報をア
クチブ命令リスト部9に登録しかつ当該命令のデスチネ
ーション・フィールドで示されるインストラクション−
メモリ中の命令の入力フィールドに上記レジスタ・ナン
バを書込む。
(力 そして、もしアクチブ命令リスト部9に他の命令
が登録されていれば、この命令を次の実行対象とすべく
、インストラクション・メモリ2からフェッチするよう
にする。リスト部9に他の命令が登録されていなかった
場合には、アクティブな命令を探すべく例えばシーケン
シャル・カウンタの内容によってインストラクション・
メモリをアクセスしにゆく。勿論、アクティブ・リスト
はなくてもよいが、そのときは上記ビジー状態が解除さ
れるのを待って実行可能な命令を実行するが、命令の並
列実行の程度が落ち、性能が下る。
が登録されていれば、この命令を次の実行対象とすべく
、インストラクション・メモリ2からフェッチするよう
にする。リスト部9に他の命令が登録されていなかった
場合には、アクティブな命令を探すべく例えばシーケン
シャル・カウンタの内容によってインストラクション・
メモリをアクセスしにゆく。勿論、アクティブ・リスト
はなくてもよいが、そのときは上記ビジー状態が解除さ
れるのを待って実行可能な命令を実行するが、命令の並
列実行の程度が落ち、性能が下る。
(8)上記処理(6)のとき所望の演算部などがビジー
でないとしたとき、処理(6)と同一の処理を行うと、
当該命令は実行可能状態のまま放置されてし1うためこ
れをさけるべく命令抽出部5は。
でないとしたとき、処理(6)と同一の処理を行うと、
当該命令は実行可能状態のまま放置されてし1うためこ
れをさけるべく命令抽出部5は。
当該命令が既に実行され終ったもしくは終ることが確定
したとして、抽出され命令の入力フィールドの内容をク
リヤしてインストラクション・メモリ2に書戻す。
したとして、抽出され命令の入力フィールドの内容をク
リヤしてインストラクション・メモリ2に書戻す。
1.9) ソしてレジスタリナンバ・アサイン処理部
6は、ハードウェア処理によって、デスチネーション・
フィールドが示す命令の入力フィールドに書くべきレジ
スタ・ナンバ・を決定して、演算ユニット7に命令発信
を行う。
6は、ハードウェア処理によって、デスチネーション・
フィールドが示す命令の入力フィールドに書くべきレジ
スタ・ナンバ・を決定して、演算ユニット7に命令発信
を行う。
110)一方、命令抽出部5は、上d己デスチネーショ
ン・フィールドの内容をインストラクション・メモリ2
のアドレス・レジスタ(図示せず)にセットする。
ン・フィールドの内容をインストラクション・メモリ2
のアドレス・レジスタ(図示せず)にセットする。
(lυ 演算ユニット7においては、一般に複数の命令
が並行して走行してゆく。
が並行して走行してゆく。
(12割込みが発生した場合には、従来公知の場合と同
様に例えば固定アドレスを発生しそのアドレスに格納さ
れた命令から初まる割込み処理プログラムの実行などが
行われてゆく。
様に例えば固定アドレスを発生しそのアドレスに格納さ
れた命令から初まる割込み処理プログラムの実行などが
行われてゆく。
(131そして、成る命令の実行が終了すると、演算ユ
ニッドンは当該演算結果をレジスタ・ナンバ・アサイン
処理部6で与えられた所定のレジスタにセットする。上
記においてインストラクション摩メモリのアドレス・レ
ジスタのセットにおいて複数のセラ)%件が重なったと
きには適当な優先順位回路を用いて特定の条件によるア
ドレスがセットされるようにする。
ニッドンは当該演算結果をレジスタ・ナンバ・アサイン
処理部6で与えられた所定のレジスタにセットする。上
記においてインストラクション摩メモリのアドレス・レ
ジスタのセットにおいて複数のセラ)%件が重なったと
きには適当な優先順位回路を用いて特定の条件によるア
ドレスがセットされるようにする。
第5図は本発明における命令実行のタイム・チャートの
一例を示している。即ち、 Tl において命令フェ
ッチが行われてT2 において解読(DEC)が行わ
れ、T3 において実行可能状態か否かのチェックや
レジスタ・ナンバのアサインなどが行われ、 T4
において演算部7に対する命令発信が行われ、TI)な
いしT8において演算実行が行われ。
一例を示している。即ち、 Tl において命令フェ
ッチが行われてT2 において解読(DEC)が行わ
れ、T3 において実行可能状態か否かのチェックや
レジスタ・ナンバのアサインなどが行われ、 T4
において演算部7に対する命令発信が行われ、TI)な
いしT8において演算実行が行われ。
T6 において当該命令のデスチネーション・フィー
ルドの内容にもとづくアドレスをインストラクジョン・
メモリ2のアドレス・レジスタにセットし、 T9
において実行終了した命令にリンクされた次の命令がフ
ェッチされる形となる。上記演算部ビジーなどが生じる
と、 Ta においてアクチブ命令リスト部9に対
する登録が行われ、他の命令を上記リスト部9からフェ
ッチする処理がT6 において行われ、 Ta に
おいてアドレス・セットが行われる。
ルドの内容にもとづくアドレスをインストラクジョン・
メモリ2のアドレス・レジスタにセットし、 T9
において実行終了した命令にリンクされた次の命令がフ
ェッチされる形となる。上記演算部ビジーなどが生じる
と、 Ta においてアクチブ命令リスト部9に対
する登録が行われ、他の命令を上記リスト部9からフェ
ッチする処理がT6 において行われ、 Ta に
おいてアドレス・セットが行われる。
なお命令にデスチネーション・フィールドが2個存在す
る場合には、第1のテスチネーション・フィールドの内
容で1つの次の命令をフェッチする処理に入り1次いで
第2のデスチネーション・フィールドの内在で能の1つ
の次の命令をフェッチする処理に入るようにする。命令
■ないし■は第5図のように次々とパイプライン的に処
理される。
る場合には、第1のテスチネーション・フィールドの内
容で1つの次の命令をフェッチする処理に入り1次いで
第2のデスチネーション・フィールドの内在で能の1つ
の次の命令をフェッチする処理に入るようにする。命令
■ないし■は第5図のように次々とパイプライン的に処
理される。
本発明の場合、演算ユニット7における例えば複数個の
演算器が夫々の動作が同期化されている必要はなく、各
パイプラインが並列非同期に動作するようになっていて
もよい。
演算器が夫々の動作が同期化されている必要はなく、各
パイプラインが並列非同期に動作するようになっていて
もよい。
上記のデータレジスタとして複数個のデータ(ベクトル
・データ)ヲマとめて1つのレジスタに置き、これらの
データにより複数の同一演算をまとめて実行するベクト
ル処理にも容易に適用できる。単一のデータを処理する
スカラ処理はこのベクトル処理のうちの単一データを扱
う特殊ケースと考え、処理を単純化することも可能であ
る。
・データ)ヲマとめて1つのレジスタに置き、これらの
データにより複数の同一演算をまとめて実行するベクト
ル処理にも容易に適用できる。単一のデータを処理する
スカラ処理はこのベクトル処理のうちの単一データを扱
う特殊ケースと考え、処理を単純化することも可能であ
る。
上記データレジスタ番号を割当てる際ハードウェアでも
っているレジスタ数を超えることがありデッド・ロック
を生じることがある。これをさけるにはソフトウェアに
より特定個数ヲ超えない範囲にプログラム実行を制限す
るかハードウェアによりメモリあるいは他のレジスタに
データを退避し。
っているレジスタ数を超えることがありデッド・ロック
を生じることがある。これをさけるにはソフトウェアに
より特定個数ヲ超えない範囲にプログラム実行を制限す
るかハードウェアによりメモリあるいは他のレジスタに
データを退避し。
上記データレジスタを解放するなどの方式がある。
■発明の詳細
な説明した如く1本発明によれば、データ依存関係にも
とづいて命令処理を行う情報処理装置においてインスト
ラクションとデータとの経路を分離することができ、制
御に従属する形でデータが移送されてゆくようにするこ
とができる。また。
とづいて命令処理を行う情報処理装置においてインスト
ラクションとデータとの経路を分離することができ、制
御に従属する形でデータが移送されてゆくようにするこ
とができる。また。
適当な順序にもとづいて所望の命令の1つを決定し、レ
ジスタ・ナンバをアサインするに当っては。
ジスタ・ナンバをアサインするに当っては。
レジスタ・ナンバ・アサイン処理部がノー−ドウエア処
理によって、処理結果がセットされるべきレジスタを自
動的にアサインしてゆくことができ。
理によって、処理結果がセットされるべきレジスタを自
動的にアサインしてゆくことができ。
ソフトウェア11111ではデータ・フロー・グラフを
出力すれば足りるものとなる。またレジスタ・ナンバが
命令に対応して用意され、それによってデータを識別す
ることが可能となる。良に命令の入力フィールドは、演
算ユニットに命令が発信される際に当該命令の入力フィ
ールドの内容がクリヤされ、当該命令はノン・アクチブ
状態とされる。このために当該命令を即時に次の命令と
して利用してゆくことがロエ能となる。
出力すれば足りるものとなる。またレジスタ・ナンバが
命令に対応して用意され、それによってデータを識別す
ることが可能となる。良に命令の入力フィールドは、演
算ユニットに命令が発信される際に当該命令の入力フィ
ールドの内容がクリヤされ、当該命令はノン・アクチブ
状態とされる。このために当該命令を即時に次の命令と
して利用してゆくことがロエ能となる。
第11nl (A) (B)は夫々不発明に用いる命令
の一実施例命令形式、第2図囚ω)は本発明によるコン
トロールのリンク態様を説明する説明図、第3図は本発
明の一実施例・・−ドウエア構成、第4図は本発明によ
る命令処理動作を説明するフローチャート。 第5図は本発明における命令実行のタイム・チャートの
一例を示している。 図中1は対外部インタフェース部、2はインストラクシ
ョン・メモリ、3はデータφメそり、4はデータ・メモ
リ制御部、5は命令抽出部、6はレジスタ・ナンバ令ア
サイン処理部、7は演算ユニット、8はレジスタ群、9
はアクチブ命令’I スト部を表わしている。 特許出願人 富士通株式会社
の一実施例命令形式、第2図囚ω)は本発明によるコン
トロールのリンク態様を説明する説明図、第3図は本発
明の一実施例・・−ドウエア構成、第4図は本発明によ
る命令処理動作を説明するフローチャート。 第5図は本発明における命令実行のタイム・チャートの
一例を示している。 図中1は対外部インタフェース部、2はインストラクシ
ョン・メモリ、3はデータφメそり、4はデータ・メモ
リ制御部、5は命令抽出部、6はレジスタ・ナンバ令ア
サイン処理部、7は演算ユニット、8はレジスタ群、9
はアクチブ命令’I スト部を表わしている。 特許出願人 富士通株式会社
Claims (1)
- 命令を実行するために必要なオはランド・データが有効
になるまたは有効になるであろうことが確定することに
もとづいて当該命令を実行可能状態にし、ハードウェア
が当該命令を適宜実行してゆく形の情報処理装置におい
て、少なくともオペレーション・コード・フィールドと
当該命令が使用するオはランド・データがアクチブ状態
かノン・アクチブ状態かを指示するに足るビット数をも
つ入力フィールドと当該命令とリンクされるべき命令の
入力フィールドを指定するデスチネーション・フィール
ドとをもちかつ当該命令の実行によって上呂己デスチネ
ーション・フィールドによって指示された所の他命令の
上記入力フィールドにアクチブ状態を指示するよう構成
される命令が用いられてなり、更に上記命令が格納され
るインストラクション・メモリ、オペランド・データが
格納される所のデータ昏メモリ、上記インストラクショ
ン・メモリから実行可能状態にある命令を抽出する命令
抽出部、上記データ・メモリから所望とするオペランド
・データをロードして上記抽出された命令または命令群
を並列実行する演算ユニットをそなえてなることを特徴
とする情報処理装置。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57033435A JPS58151655A (ja) | 1982-03-03 | 1982-03-03 | 情報処理装置 |
ES520203A ES8402954A1 (es) | 1982-03-03 | 1983-03-01 | Unidad para tratamiento de informacion. |
CA000422734A CA1204516A (en) | 1982-03-03 | 1983-03-02 | Data flow type information processing stystem |
BR8301016A BR8301016A (pt) | 1982-03-03 | 1983-03-02 | Unidade de processamento de informacoes |
EP83301103A EP0087978B1 (en) | 1982-03-03 | 1983-03-02 | Information processing unit |
DE8383301103T DE3379850D1 (en) | 1982-03-03 | 1983-03-02 | Information processing unit |
US06/471,524 US4675806A (en) | 1982-03-03 | 1983-03-02 | Data processing unit utilizing data flow ordered execution |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP57033435A JPS58151655A (ja) | 1982-03-03 | 1982-03-03 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS58151655A true JPS58151655A (ja) | 1983-09-08 |
Family
ID=12386450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP57033435A Pending JPS58151655A (ja) | 1982-03-03 | 1982-03-03 | 情報処理装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US4675806A (ja) |
EP (1) | EP0087978B1 (ja) |
JP (1) | JPS58151655A (ja) |
BR (1) | BR8301016A (ja) |
CA (1) | CA1204516A (ja) |
DE (1) | DE3379850D1 (ja) |
ES (1) | ES8402954A1 (ja) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE34052E (en) * | 1984-05-31 | 1992-09-01 | International Business Machines Corporation | Data processing system with CPU register to register data transfers overlapped with data transfer to and from main storage |
US5206945A (en) * | 1985-03-15 | 1993-04-27 | Hitachi, Ltd. | Single-chip pipeline processor for fetching/flushing instruction/data caches in response to first/second hit/mishit signal respectively detected in corresponding to their logical addresses |
JP2539357B2 (ja) * | 1985-03-15 | 1996-10-02 | 株式会社日立製作所 | デ−タ処理装置 |
US4972314A (en) * | 1985-05-20 | 1990-11-20 | Hughes Aircraft Company | Data flow signal processor method and apparatus |
JPH0632056B2 (ja) * | 1985-05-31 | 1994-04-27 | 松下電器産業株式会社 | デ−タ処理装置 |
JPH0766329B2 (ja) * | 1985-06-14 | 1995-07-19 | 株式会社日立製作所 | 情報処理装置 |
US5349672A (en) * | 1986-03-17 | 1994-09-20 | Hitachi, Ltd. | Data processor having logical address memories and purge capabilities |
EP0239081B1 (en) * | 1986-03-26 | 1995-09-06 | Hitachi, Ltd. | Pipelined data processor capable of decoding and executing plural instructions in parallel |
US4814978A (en) * | 1986-07-15 | 1989-03-21 | Dataflow Computer Corporation | Dataflow processing element, multiprocessor, and processes |
US4980824A (en) * | 1986-10-29 | 1990-12-25 | United Technologies Corporation | Event driven executive |
US4811215A (en) * | 1986-12-12 | 1989-03-07 | Intergraph Corporation | Instruction execution accelerator for a pipelined digital machine with virtual memory |
US5001624A (en) * | 1987-02-13 | 1991-03-19 | Harrell Hoffman | Processor controlled DMA controller for transferring instruction and data from memory to coprocessor |
US4972315A (en) * | 1987-03-10 | 1990-11-20 | Mitsubishi Denki Kabushiki Kaisha | Data flow machine |
JPH0192851A (ja) * | 1987-10-02 | 1989-04-12 | Hitachi Ltd | アドレス空間切替装置 |
JPH0646414B2 (ja) * | 1987-10-20 | 1994-06-15 | シャープ株式会社 | 情報処理装置 |
US5115510A (en) * | 1987-10-20 | 1992-05-19 | Sharp Kabushiki Kaisha | Multistage data flow processor with instruction packet, fetch, storage transmission and address generation controlled by destination information |
US5117499A (en) * | 1988-01-22 | 1992-05-26 | Sharp Kabushiki Kaisha | Data flow type processing apparatus having external and cache memories for fetching paired executing instruction when mishit occurs |
JPH01188951A (ja) * | 1988-01-23 | 1989-07-28 | Sharp Corp | データフロープログラムの実行制御方式 |
JPH06101044B2 (ja) * | 1988-01-23 | 1994-12-12 | シャープ株式会社 | デッドロック回避実行制御方式 |
US5125097A (en) * | 1988-01-29 | 1992-06-23 | Sharp Kabushiki Kaisha | Data flow type information processors where data packets pass through plurality of merging and branching portions of the internal path |
US4974146A (en) * | 1988-05-06 | 1990-11-27 | Science Applications International Corporation | Array processor |
US5513332A (en) * | 1988-05-31 | 1996-04-30 | Extended Systems, Inc. | Database management coprocessor for on-the-fly providing data from disk media to all without first storing data in memory therebetween |
JPH03500461A (ja) * | 1988-07-22 | 1991-01-31 | アメリカ合衆国 | データ駆動式計算用のデータ流れ装置 |
US5163142A (en) * | 1988-10-28 | 1992-11-10 | Hewlett-Packard Company | Efficient cache write technique through deferred tag modification |
US5241635A (en) * | 1988-11-18 | 1993-08-31 | Massachusetts Institute Of Technology | Tagged token data processing system with operand matching in activation frames |
US5689647A (en) * | 1989-03-14 | 1997-11-18 | Sanyo Electric Co., Ltd. | Parallel computing system with processing element number setting mode and shortest route determination with matrix size information |
US5487156A (en) * | 1989-12-15 | 1996-01-23 | Popescu; Valeri | Processor architecture having independently fetching issuing and updating operations of instructions which are sequentially assigned and stored in order fetched |
US5150470A (en) * | 1989-12-20 | 1992-09-22 | International Business Machines Corporation | Data processing system with instruction queue having tags indicating outstanding data status |
USRE35311E (en) * | 1990-04-04 | 1996-08-06 | International Business Machines Corporation | Data dependency collapsing hardware apparatus |
US5404553A (en) * | 1991-01-09 | 1995-04-04 | Mitsubishi Denki Kabushiki Kaisha | Microprocessor and data flow microprocessor having vector operation function |
US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US5961629A (en) * | 1991-07-08 | 1999-10-05 | Seiko Epson Corporation | High performance, superscalar-based computer system with out-of-order instruction execution |
DE69233493T2 (de) | 1991-07-08 | 2005-07-28 | Seiko Epson Corp. | RISC-Prozessor mit erweiterbarer Architektur |
US5493687A (en) * | 1991-07-08 | 1996-02-20 | Seiko Epson Corporation | RISC microprocessor architecture implementing multiple typed register sets |
US5423040A (en) * | 1991-07-24 | 1995-06-06 | International Business Machines Corporation | System and method for efficiently executing directed acyclic graphs |
US5363495A (en) * | 1991-08-26 | 1994-11-08 | International Business Machines Corporation | Data processing system with multiple execution units capable of executing instructions out of sequence |
EP0544083A3 (en) * | 1991-11-26 | 1994-09-14 | Ibm | Interleaved risc-type parallel processor and processing methods |
US5438668A (en) | 1992-03-31 | 1995-08-01 | Seiko Epson Corporation | System and method for extraction, alignment and decoding of CISC instructions into a nano-instruction bucket for execution by a RISC computer |
JP3730252B2 (ja) | 1992-03-31 | 2005-12-21 | トランスメタ コーポレイション | レジスタ名称変更方法及び名称変更システム |
EP0638183B1 (en) | 1992-05-01 | 1997-03-05 | Seiko Epson Corporation | A system and method for retiring instructions in a superscalar microprocessor |
US5636150A (en) * | 1992-08-06 | 1997-06-03 | Sharp Kabushiki Kaisha | Data driven type digital filter unit and data driven type information processor including the same |
US6735685B1 (en) * | 1992-09-29 | 2004-05-11 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
EP0663083B1 (en) | 1992-09-29 | 2000-12-20 | Seiko Epson Corporation | System and method for handling load and/or store operations in a superscalar microprocessor |
WO1994016384A1 (en) | 1992-12-31 | 1994-07-21 | Seiko Epson Corporation | System and method for register renaming |
US5628021A (en) | 1992-12-31 | 1997-05-06 | Seiko Epson Corporation | System and method for assigning tags to control instruction processing in a superscalar processor |
CA2123442A1 (en) * | 1993-09-20 | 1995-03-21 | David S. Ray | Multiple execution unit dispatch with instruction dependency |
US5765014A (en) * | 1993-10-12 | 1998-06-09 | Seki; Hajime | Electronic computer system and processor element for processing in a data driven manner using reverse polish notation |
GB2289664B (en) * | 1994-05-27 | 1998-04-29 | Instance Ltd David J | Labels and manufacture thereof |
US5826072A (en) * | 1995-11-13 | 1998-10-20 | Oasis Design, Inc. | Pipelined digital signal processor and signal processing system employing same |
US6092184A (en) * | 1995-12-28 | 2000-07-18 | Intel Corporation | Parallel processing of pipelined instructions having register dependencies |
US5974538A (en) * | 1997-02-21 | 1999-10-26 | Wilmot, Ii; Richard Byron | Method and apparatus for annotating operands in a computer system with source instruction identifiers |
RU2130198C1 (ru) * | 1997-08-06 | 1999-05-10 | Бурцев Всеволод Сергеевич | Вычислительная машина |
US6553483B1 (en) * | 1999-11-29 | 2003-04-22 | Intel Corporation | Enhanced virtual renaming scheme and deadlock prevention therefor |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL7004570A (ja) * | 1970-03-31 | 1971-10-04 | ||
BE789583A (fr) * | 1971-10-01 | 1973-02-01 | Sanders Associates Inc | Appareil de controle de programme pour machine de traitement del'information |
GB1443777A (en) * | 1973-07-19 | 1976-07-28 | Int Computers Ltd | Data processing apparatus |
US4025771A (en) * | 1974-03-25 | 1977-05-24 | Hughes Aircraft Company | Pipe line high speed signal processor |
US3962706A (en) * | 1974-03-29 | 1976-06-08 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of stored programs |
US4168523A (en) * | 1975-11-07 | 1979-09-18 | Ncr Corporation | Data processor utilizing a two level microaddressing controller |
US4153941A (en) * | 1976-11-11 | 1979-05-08 | Kearney & Trecker Corporation | Timing circuit and method for controlling the operation of cyclical devices |
US4366536A (en) * | 1980-04-15 | 1982-12-28 | National Semiconductor Corporation | Modular digital computer system for storing and selecting data processing procedures and data |
-
1982
- 1982-03-03 JP JP57033435A patent/JPS58151655A/ja active Pending
-
1983
- 1983-03-01 ES ES520203A patent/ES8402954A1/es not_active Expired
- 1983-03-02 EP EP83301103A patent/EP0087978B1/en not_active Expired
- 1983-03-02 US US06/471,524 patent/US4675806A/en not_active Expired - Lifetime
- 1983-03-02 CA CA000422734A patent/CA1204516A/en not_active Expired
- 1983-03-02 DE DE8383301103T patent/DE3379850D1/de not_active Expired
- 1983-03-02 BR BR8301016A patent/BR8301016A/pt not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP0087978B1 (en) | 1989-05-10 |
EP0087978A2 (en) | 1983-09-07 |
EP0087978A3 (en) | 1985-07-31 |
CA1204516A (en) | 1986-05-13 |
ES520203A0 (es) | 1984-03-01 |
US4675806A (en) | 1987-06-23 |
BR8301016A (pt) | 1983-11-22 |
ES8402954A1 (es) | 1984-03-01 |
DE3379850D1 (en) | 1989-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPS58151655A (ja) | 情報処理装置 | |
US5218712A (en) | Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption | |
US9052957B2 (en) | Method and system for conducting intensive multitask and multiflow calculation in real-time | |
EP0258736A2 (en) | Parallel computer with distributed shared memories and distributed task activating circuits | |
JPH0766329B2 (ja) | 情報処理装置 | |
JPS5911943B2 (ja) | デ−タ処理装置の為のトラツプ機構 | |
JPH0430053B2 (ja) | ||
JP6508382B1 (ja) | 情報処理装置、情報処理方法、プログラム | |
US5291581A (en) | Apparatus and method for synchronization of access to main memory signal groups in a multiprocessor data processing system | |
CN114168271B (zh) | 一种任务调度方法、电子设备及存储介质 | |
JPH06195229A (ja) | パイプラインプロセッサにおける割込み処理のための装置 | |
JP2884831B2 (ja) | 処理装置 | |
US11847455B2 (en) | Clearing register data using a write enable signal | |
JP4465081B2 (ja) | Vliwプロセッサにおける効率的なサブ命令エミュレーション | |
EP0301707B1 (en) | Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system | |
JPH0461390B2 (ja) | ||
CA1302580C (en) | Apparatus and method for using lockout for synchronization of access to main memory signal groups in a multiprocessor data processing system | |
JPS61184643A (ja) | 仮想計算機の起動制御方式 | |
JPH0668725B2 (ja) | データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法 | |
JPS6097440A (ja) | 仮想多重プロセツサ装置 | |
JP2883488B2 (ja) | 命令処理装置 | |
KR880001399B1 (ko) | 정보 처리 장치 | |
JPS60142429A (ja) | 仮想計算機システムのi/o実行方法および装置 | |
JP2883489B2 (ja) | 命令処理装置 | |
JPH0340169A (ja) | 多重プロセツサシステムおよび複数の処理装置を制御する方法 |