JPH0622035B2 - ベクトル処理装置 - Google Patents
ベクトル処理装置Info
- Publication number
- JPH0622035B2 JPH0622035B2 JP60252798A JP25279885A JPH0622035B2 JP H0622035 B2 JPH0622035 B2 JP H0622035B2 JP 60252798 A JP60252798 A JP 60252798A JP 25279885 A JP25279885 A JP 25279885A JP H0622035 B2 JPH0622035 B2 JP H0622035B2
- Authority
- JP
- Japan
- Prior art keywords
- vector
- instruction
- processing
- scalar
- processing unit
- 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 - Lifetime
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 〔発明の利用分野〕 本発明はスカラ,ベクトルの2つの処理部から構成され
るベクトル処理装置に関する。
るベクトル処理装置に関する。
ベクトル処理装置では、スカラおよびベクトルの2つの
処理部から構成され、各々の処理部でスカラ命令,ベク
トル命令が実行される。この2系統の命令を実行するに
は、現在2種類の方式が提案されている。
処理部から構成され、各々の処理部でスカラ命令,ベク
トル命令が実行される。この2系統の命令を実行するに
は、現在2種類の方式が提案されている。
第1はスカラ,ベクトル命令の混在形を単一のデコーダ
によって解読し、命令の実行を制御する方式である(例
えばCRAY−1コンピュータ)。
によって解読し、命令の実行を制御する方式である(例
えばCRAY−1コンピュータ)。
第2はスカラとベクトルの2種類の命令を2つのデコー
ダで解読する方式である(日経エレクトロニクスNo.31
4,159〜184頁(1983年4月13日)。この方式によれ
ば、2つの論理ユニットで命令がデコードされる。
ダで解読する方式である(日経エレクトロニクスNo.31
4,159〜184頁(1983年4月13日)。この方式によれ
ば、2つの論理ユニットで命令がデコードされる。
第1の方式はスカラ命令とベクトル命令が混在している
ため、スカラ処理とベクトル処理の順序性保証をはじめ
とする2種類の命令間の制御が容易に実現できる特徴が
ある。
ため、スカラ処理とベクトル処理の順序性保証をはじめ
とする2種類の命令間の制御が容易に実現できる特徴が
ある。
第2の方式はスカラ命令とベクトル命令のデコード処理
部が分離されているので、2種類の命令は独立に実行で
き、並列処理が容易となる特徴がある。一方、スカラ処
理部,ベクトル処理部が分離されているため、スカラ処
理部によってベクトル処理部を起動する必要がある。こ
のベクトル処理部起動に際して、ベクトル処理開始に必
要な種々の情報は全てスカラ処理部がセットアップする
必要がある。このセットアップ処理によってベクトル計
算開始までの準備時間が長くなる傾向があり、ベクトル
長の短い計算ではベクトル処理装置固有の性能を発揮で
きない場合がある。
部が分離されているので、2種類の命令は独立に実行で
き、並列処理が容易となる特徴がある。一方、スカラ処
理部,ベクトル処理部が分離されているため、スカラ処
理部によってベクトル処理部を起動する必要がある。こ
のベクトル処理部起動に際して、ベクトル処理開始に必
要な種々の情報は全てスカラ処理部がセットアップする
必要がある。このセットアップ処理によってベクトル計
算開始までの準備時間が長くなる傾向があり、ベクトル
長の短い計算ではベクトル処理装置固有の性能を発揮で
きない場合がある。
またこの方式では、ある有意な処理がベクトル処理部で
完了していることをスカラ処理部が任意のタイミングで
知るための手段も必要になる。
完了していることをスカラ処理部が任意のタイミングで
知るための手段も必要になる。
以上議論したように、第2の方式は第1の方式よりも処
理の並列度という点から見ると自由度が大きく、より高
度の並列計算を実現するために有効な方法である。しか
し第1の方式に比べて有利な点を処理装置の性能に結び
つけるには、ベクトル処理部の起動とスカラ処理部の同
期制御に十分な配慮を行わなければならない。
理の並列度という点から見ると自由度が大きく、より高
度の並列計算を実現するために有効な方法である。しか
し第1の方式に比べて有利な点を処理装置の性能に結び
つけるには、ベクトル処理部の起動とスカラ処理部の同
期制御に十分な配慮を行わなければならない。
本発明の目的はベクトル処理部の起動を高速化するベク
トル処理装置を提供することにある。
トル処理装置を提供することにある。
本発明はベクトル命令をデコードするベクトル命令デコ
ーダがベクトル命令列のデコードを開始することにより
セットされ、ベクトル命令列の終端のベクトル命令のデ
コードによりリセットされる表示手段を備え、この表示
手段がリセット状態にあれば、スカラ処理部からベクト
ル処理部へベクトル命令列の処理開始を指示する。
ーダがベクトル命令列のデコードを開始することにより
セットされ、ベクトル命令列の終端のベクトル命令のデ
コードによりリセットされる表示手段を備え、この表示
手段がリセット状態にあれば、スカラ処理部からベクト
ル処理部へベクトル命令列の処理開始を指示する。
まず本発明の理解を容易にするため、具体的実施例を説
明する前に本発明の一般的説明を行う。
明する前に本発明の一般的説明を行う。
スカラ,ベクトル処理の性質を、時間と命令処理の相関
図によって表示すると第4図(a),(b)のようになる。
図によって表示すると第4図(a),(b)のようになる。
第4図(a)では、スカラ命令群がスカラ処理部のバイプ
ライン制御によって逐次的に処理されていくことを示
す。第4図のデコードラインは、命令のデコードステー
ジを連結した線分を示す。同様に実行ラインは、命令の
実行完了部分を連結した線分で定義する。第4図(b)図
はベクトル命令の処理を示す。ベクトル命令の実行ライ
ンは最終ベクトル要素の処理ステージを連結した線分で
定義する。ベクトル命令処理とスカラ命令処理の相異
は、 (1) ベクトル処理においては先出の命令処理の完了が
後出の命令処理の完了よりも前であるとは限らず、 (2) ベクトル処理の命令デコードラインと実行ライン
がスカラ処理のそれよりも離れている点である。
ライン制御によって逐次的に処理されていくことを示
す。第4図のデコードラインは、命令のデコードステー
ジを連結した線分を示す。同様に実行ラインは、命令の
実行完了部分を連結した線分で定義する。第4図(b)図
はベクトル命令の処理を示す。ベクトル命令の実行ライ
ンは最終ベクトル要素の処理ステージを連結した線分で
定義する。ベクトル命令処理とスカラ命令処理の相異
は、 (1) ベクトル処理においては先出の命令処理の完了が
後出の命令処理の完了よりも前であるとは限らず、 (2) ベクトル処理の命令デコードラインと実行ライン
がスカラ処理のそれよりも離れている点である。
上記の相異はベクトル処理を開始すること、およびベク
トル処理を制御することがスカラ処理と同じ概念によっ
て行うことが困難であることを示している。たとえばス
カラ処理では前出の命令の処理結果を条件コードで知る
ことができる。このことは、スカラ処理の命令実行ライ
ンが命令デコードラインと時間的に離れていないため、
また前出の命令実行が後出の命令実行よりも必ず先行す
るというスカラ処理部論理動作による。従ってベクトル
処理の如き制御では、ベクトル処理の実行ラインが先出
のベクトル命令の完了が後出のベクトル命令の完了より
も先行する保証はなく、条件コードの設定という概念で
はベクトル命令列の実行を制御し得ない。しかし、ベク
トル命令のデコードラインに注目すると、このラインは
スカラ命令のデコード処理と同様の制御方法となってい
る。この2様の相異る性格がベクトル処理部の命令処理
を特徴づけている。
トル処理を制御することがスカラ処理と同じ概念によっ
て行うことが困難であることを示している。たとえばス
カラ処理では前出の命令の処理結果を条件コードで知る
ことができる。このことは、スカラ処理の命令実行ライ
ンが命令デコードラインと時間的に離れていないため、
また前出の命令実行が後出の命令実行よりも必ず先行す
るというスカラ処理部論理動作による。従ってベクトル
処理の如き制御では、ベクトル処理の実行ラインが先出
のベクトル命令の完了が後出のベクトル命令の完了より
も先行する保証はなく、条件コードの設定という概念で
はベクトル命令列の実行を制御し得ない。しかし、ベク
トル命令のデコードラインに注目すると、このラインは
スカラ命令のデコード処理と同様の制御方法となってい
る。この2様の相異る性格がベクトル処理部の命令処理
を特徴づけている。
ここでベクトル命令列を、スカラ処理部によってベクト
ル処理部に対し起動情報を与えることにより、ベクトル
処理を行う方式について考察する。従来のベクトル処理
装置では、ベクトル処理部の状態を「ベクトル処理を行
っているか否か」によって識別している。このような状
態の区別を採用すると、複数のベクトル命令列から構成
されるプログラムの処理の場合、或るベクトル命令列処
理中に他のベクトル命令列の処理を開始させようとする
場合、ベクトル処理の並列実行を詳細に制御する必要が
生じる。即ち、ベクトル処理部の状態を処理対象となる
n個のベクトル命令ブロック対応に管理する必要があ
る。この制御は困難であり、ハードウエア量の大幅な増
大を招く可能性が大である。
ル処理部に対し起動情報を与えることにより、ベクトル
処理を行う方式について考察する。従来のベクトル処理
装置では、ベクトル処理部の状態を「ベクトル処理を行
っているか否か」によって識別している。このような状
態の区別を採用すると、複数のベクトル命令列から構成
されるプログラムの処理の場合、或るベクトル命令列処
理中に他のベクトル命令列の処理を開始させようとする
場合、ベクトル処理の並列実行を詳細に制御する必要が
生じる。即ち、ベクトル処理部の状態を処理対象となる
n個のベクトル命令ブロック対応に管理する必要があ
る。この制御は困難であり、ハードウエア量の大幅な増
大を招く可能性が大である。
一方ベクトル処理部の状態をベクトル命令デコードライ
ンと実行ラインの2点で管理すると、ベクトル命令デコ
ードラインはスカラ命令デコードラインと同じ性質を持
っているので、スカラ処理部で採用されて来た制御法を
利用することができる。たとえば、ベクトル命令をデコ
ードし、命令実行に必要な資源(以下リソースという)
を該命令処理に割当てることができればベクトル命令を
起動し、割当てることのできるリソースが無い場合ベク
トル命令のデコードをリソース空きまで中断させるよう
な制御をハードウエアで行うことにする。するとベクト
ル命令列のデコードが完了した直後に、後続する他のベ
クトル命令列のデコードを開始することができる。この
ため、ベクトル命令列のデコードが完了すれば、ベクト
ル命令列の実行が完了していない時であっても、他のベ
クトル命令列のデコードを開始でき、かつリソースが空
き次第当該ベクトル命令列の実行を開始できる。この制
御法では、ベクトル処理部の状態をベクトル命令デコー
ドと実行完了の2点で管理を行うだけで、ベクトル処理
部が複数のベクトル命令列を並列的に実行しているか否
か等の複雑な制御を採用することなく、自動的にベクト
ル処理部の具備しているリソースの数によって決定され
る並列処理を容易に実現できる。またこの制御を行うこ
とによって必要となるハードウエア量は、ベクトル長レ
ジスタ(以下レングスレジスタ)とアドレスレジスタの
バッファと、リソース内に上記2つの情報を保持するレ
ジスタ群のみとすることができる。この方式について以
下に詳細に説明する。
ンと実行ラインの2点で管理すると、ベクトル命令デコ
ードラインはスカラ命令デコードラインと同じ性質を持
っているので、スカラ処理部で採用されて来た制御法を
利用することができる。たとえば、ベクトル命令をデコ
ードし、命令実行に必要な資源(以下リソースという)
を該命令処理に割当てることができればベクトル命令を
起動し、割当てることのできるリソースが無い場合ベク
トル命令のデコードをリソース空きまで中断させるよう
な制御をハードウエアで行うことにする。するとベクト
ル命令列のデコードが完了した直後に、後続する他のベ
クトル命令列のデコードを開始することができる。この
ため、ベクトル命令列のデコードが完了すれば、ベクト
ル命令列の実行が完了していない時であっても、他のベ
クトル命令列のデコードを開始でき、かつリソースが空
き次第当該ベクトル命令列の実行を開始できる。この制
御法では、ベクトル処理部の状態をベクトル命令デコー
ドと実行完了の2点で管理を行うだけで、ベクトル処理
部が複数のベクトル命令列を並列的に実行しているか否
か等の複雑な制御を採用することなく、自動的にベクト
ル処理部の具備しているリソースの数によって決定され
る並列処理を容易に実現できる。またこの制御を行うこ
とによって必要となるハードウエア量は、ベクトル長レ
ジスタ(以下レングスレジスタ)とアドレスレジスタの
バッファと、リソース内に上記2つの情報を保持するレ
ジスタ群のみとすることができる。この方式について以
下に詳細に説明する。
2個のベクトル命令列を処理する場合で、第1のベクト
ル命令列がすでにベクトル処理部で処理中である場合を
考える。第1のベクトル命令列はn個のベクトル命令か
ら構成されるとすると、ベクトル命令をデコードするの
に要する時間は約nマシンサイクル程度である。一方当
該ベクトル命令を実行するのに必要となる時間は、ベク
トル処理長をlとすると、リソースが必要十分に存在し
ている場合でも、n×lマシンサイクルとなる。一般に
ベクトル処理装置のリソースは高々数個であるから、n
に比し小さいことが多い。それ故、 ベクトル命令処理時間≫ベクトル命令デコード時間 なる関係が成立する。このような条件で、実行中とは異
る他のベクトル命令列の実行要求がスカラ処理部から発
行されたとする。この場合、ベクトル処理部のデコード
部は空いている確率が高いので、スカラ処理部からのベ
クトル命令列のデコードを開始できる確率も高い。この
デコード開始時、ベクトル処理部のリソースは前のベク
トル命令列の処理を行している。
ル命令列がすでにベクトル処理部で処理中である場合を
考える。第1のベクトル命令列はn個のベクトル命令か
ら構成されるとすると、ベクトル命令をデコードするの
に要する時間は約nマシンサイクル程度である。一方当
該ベクトル命令を実行するのに必要となる時間は、ベク
トル処理長をlとすると、リソースが必要十分に存在し
ている場合でも、n×lマシンサイクルとなる。一般に
ベクトル処理装置のリソースは高々数個であるから、n
に比し小さいことが多い。それ故、 ベクトル命令処理時間≫ベクトル命令デコード時間 なる関係が成立する。このような条件で、実行中とは異
る他のベクトル命令列の実行要求がスカラ処理部から発
行されたとする。この場合、ベクトル処理部のデコード
部は空いている確率が高いので、スカラ処理部からのベ
クトル命令列のデコードを開始できる確率も高い。この
デコード開始時、ベクトル処理部のリソースは前のベク
トル命令列の処理を行している。
ベクトル処理では、ベクトル命令起動と同時にベクトル
長が当該ベクトル処理用にベクトル処理部に送られる。
この時、起動されたベクトル命令とは異る他のベクトル
処理がベクトル処理部で実行されていると、ベクトル長
が2つのベクトル処理で異る場合、ベクトル処理装置は
動作不正を起す。
長が当該ベクトル処理用にベクトル処理部に送られる。
この時、起動されたベクトル命令とは異る他のベクトル
処理がベクトル処理部で実行されていると、ベクトル長
が2つのベクトル処理で異る場合、ベクトル処理装置は
動作不正を起す。
第4図で示したベクトル処理の性質は、ベクトル命令デ
コード時に、命令を実行するリソースが割当てられ、ベ
クトル命令に規定されている処理をそのリソースが行う
ということである。この性質を利用して、ベクトル長を
命令起動時に、ベクトル長レジスタからリソースへ転写
する方式を採用する。この方式では、ベクトル長レジス
タ上の値は、ベクトル命令起動時にだけ確定していれ
ば、ベクトル処理装置の動作を保証するのに必要十分で
ある。全く同様のことがアドレスレジスタについても成
立する。
コード時に、命令を実行するリソースが割当てられ、ベ
クトル命令に規定されている処理をそのリソースが行う
ということである。この性質を利用して、ベクトル長を
命令起動時に、ベクトル長レジスタからリソースへ転写
する方式を採用する。この方式では、ベクトル長レジス
タ上の値は、ベクトル命令起動時にだけ確定していれ
ば、ベクトル処理装置の動作を保証するのに必要十分で
ある。全く同様のことがアドレスレジスタについても成
立する。
主記憶からのベクトル命令読出がバンクコンフリクト等
の要因により中断された状態と、ベクトル命令列のデコ
ードが完了した状態を識別するため、ベクトル命令列の
最後にベクトル命令デコード完了をベクトル処理部に報
告するベクトル命令を付加させる。当該命令は、他のベ
クトル命令列をベクトル処理部が受付可能となった状態
を生成する。
の要因により中断された状態と、ベクトル命令列のデコ
ードが完了した状態を識別するため、ベクトル命令列の
最後にベクトル命令デコード完了をベクトル処理部に報
告するベクトル命令を付加させる。当該命令は、他のベ
クトル命令列をベクトル処理部が受付可能となった状態
を生成する。
以上の如き制御法をベクトル処理装置で採用することに
より、複数のベクトル命令列を連続してベクトル処理装
置で実行することが著しいハードウエア量の増大をまね
くことなく可能になる。
より、複数のベクトル命令列を連続してベクトル処理装
置で実行することが著しいハードウエア量の増大をまね
くことなく可能になる。
第1図および第2図は本発明の一実施例を示す。
第1図において、1は主記憶装置、2はスカラ命令読出
リクエスタ、3はスカラ命令デコーダ、4はベクトル命
令読出リクエスタ、5はベクトル命令デコーダ、6はベ
クトル処理部状態語、7はベクトル長レジスタ、8はア
ドレスレジスタ、9はベクトル状態管理回路、10はベク
トルレジスタ制御部、11および12はスイッチング回路、
13はベクトル演算器(並列動作可能な複数の加算器、乗
算器等を含んでよい)、14はベクトルレジスタ、15はベ
クトルロードリクエスタ、16はベクトルストアリクエス
タである。図面の簡約化のため、ベクトルレジスタは複
数のベクトルレジスタを束ねて1ブロックとしている。
リクエスタ、3はスカラ命令デコーダ、4はベクトル命
令読出リクエスタ、5はベクトル命令デコーダ、6はベ
クトル処理部状態語、7はベクトル長レジスタ、8はア
ドレスレジスタ、9はベクトル状態管理回路、10はベク
トルレジスタ制御部、11および12はスイッチング回路、
13はベクトル演算器(並列動作可能な複数の加算器、乗
算器等を含んでよい)、14はベクトルレジスタ、15はベ
クトルロードリクエスタ、16はベクトルストアリクエス
タである。図面の簡約化のため、ベクトルレジスタは複
数のベクトルレジスタを束ねて1ブロックとしている。
ベクトル処理装置が起動されると、スカラ命令リクエス
タはパス20を介してスカラ命令を主記憶装置1より読出
し、読出したスカラ命令をスカラ命令デコーダ3へ送
る。スカラ命令デコーダでは命令を解読し、当該命令実
行指示をスカラ処理部のリソースにパス21を通して送
る。スカラ命令読出リクエスタ2、スカラ命令デコーダ
3およびスカラ処理部のリソース(図示せず)でスカラ
処理部を構成し、他がベクトル処理部となる。スカラ命
令デコーダ4がベクトル命令列処理開始指示命令(以下
EXecute Vector Processing:EXVP命令という)をデ
コードすると、パス22,23を介してベクトル処理部状態
語6の中のベクトル処理部のデコーダの状態を示すビッ
ト(以下Wビットという)を調べる。ここでWビットは
処理装置の起動時にリセットされ、ベクトル命令をデコ
ードしている時セットされ、ベクトル命令列の終端を示
す命令をベクトル命令デコーダ5が解読した時にリセッ
トされるものとする。またベクトル命令の読出が主記憶
装置1のバンクコンフリクト等で中断され、ベクトル命
令デコーダ5の処理がアイドリングしている時も、ベク
トル命令をデコードしているものとみなし、Wビットは
リセットしない。
タはパス20を介してスカラ命令を主記憶装置1より読出
し、読出したスカラ命令をスカラ命令デコーダ3へ送
る。スカラ命令デコーダでは命令を解読し、当該命令実
行指示をスカラ処理部のリソースにパス21を通して送
る。スカラ命令読出リクエスタ2、スカラ命令デコーダ
3およびスカラ処理部のリソース(図示せず)でスカラ
処理部を構成し、他がベクトル処理部となる。スカラ命
令デコーダ4がベクトル命令列処理開始指示命令(以下
EXecute Vector Processing:EXVP命令という)をデ
コードすると、パス22,23を介してベクトル処理部状態
語6の中のベクトル処理部のデコーダの状態を示すビッ
ト(以下Wビットという)を調べる。ここでWビットは
処理装置の起動時にリセットされ、ベクトル命令をデコ
ードしている時セットされ、ベクトル命令列の終端を示
す命令をベクトル命令デコーダ5が解読した時にリセッ
トされるものとする。またベクトル命令の読出が主記憶
装置1のバンクコンフリクト等で中断され、ベクトル命
令デコーダ5の処理がアイドリングしている時も、ベク
トル命令をデコードしているものとみなし、Wビットは
リセットしない。
Wビットがリセットされている時、スカラ命令デコーダ
4は、パス24を介してベクトル命令読出リクエスタ4を
起動する。次にEXVP命令のオペランドに示されているベ
クトル命令列の先頭アドレスをパス24を通してベクトル
命令読出リクエスタ4へ送信する。
4は、パス24を介してベクトル命令読出リクエスタ4を
起動する。次にEXVP命令のオペランドに示されているベ
クトル命令列の先頭アドレスをパス24を通してベクトル
命令読出リクエスタ4へ送信する。
ベクトル命令読出リクエスタ4は、指示された主記憶装
置1のアドレスから、ベクトル命令をパルス25経由でベ
クトル命令デコーダ5へ送出する。ベクトル命令デコー
ダ5はベクトル命令デコーダ処理を開始すると同時にベ
クトル処理部状態語6のWビットをセットする。スララ
命令デコーダは、パス23を介してWビットがセットされ
たことを知り、EXVP命令の完了とし、後続するスカラ命
令のデコードを開始する。
置1のアドレスから、ベクトル命令をパルス25経由でベ
クトル命令デコーダ5へ送出する。ベクトル命令デコー
ダ5はベクトル命令デコーダ処理を開始すると同時にベ
クトル処理部状態語6のWビットをセットする。スララ
命令デコーダは、パス23を介してWビットがセットされ
たことを知り、EXVP命令の完了とし、後続するスカラ命
令のデコードを開始する。
Wビットがセットされている場合、スカラ命令デコーダ
4はWビットがリセットされるまで、EXVP処理継続とな
る。ベクトル命令には分岐がなく命令列が有限なので、
プログラムが正常な場合はWビットは必ずリセットされ
る。プログラム異常でベクトル命令列の終端を示す命令
が存在しない場合、ベクトル命令読出リクエスタ4はベ
クトル命令列に続く主記憶上の番地を読み出し、ベクト
ル命令デコーダ5に送る。従ってベクトル命令デコーダ
はベクトル命令以外のデータを解読することになり、処
理装置は命令例外を検出しプログラムの処理は中断され
る。
4はWビットがリセットされるまで、EXVP処理継続とな
る。ベクトル命令には分岐がなく命令列が有限なので、
プログラムが正常な場合はWビットは必ずリセットされ
る。プログラム異常でベクトル命令列の終端を示す命令
が存在しない場合、ベクトル命令読出リクエスタ4はベ
クトル命令列に続く主記憶上の番地を読み出し、ベクト
ル命令デコーダ5に送る。従ってベクトル命令デコーダ
はベクトル命令以外のデータを解読することになり、処
理装置は命令例外を検出しプログラムの処理は中断され
る。
スカラ命令デコーダ3がベクトル長をセットするための
スカラ命令又はアドレスレジスタに値をセットするため
のスカラ命令(以下上記の2つの命令を総称してセット
アップ命令という)を解読した場合、パス26,27を通し
て、それぞれベクトル長レジスタ7,アドレスレジスタ
8に値をセットする。このセッティングはEXVP命令に先
行して行われるものとする。
スカラ命令又はアドレスレジスタに値をセットするため
のスカラ命令(以下上記の2つの命令を総称してセット
アップ命令という)を解読した場合、パス26,27を通し
て、それぞれベクトル長レジスタ7,アドレスレジスタ
8に値をセットする。このセッティングはEXVP命令に先
行して行われるものとする。
次にベクトル状態管理回路9の動作を第2図を用いて説
明する。EXVP命令の処理が完了する際、スカラ命令デコ
ーダ3はパス28上にコマンド信号を送出する。この信号
は第2図のレジスタ50,51のセット信号として作用し、
EXVP実行後のベクトル長、アドレスレジスタの値をレジ
スタ50,51に保持させる。従ってEXVP命令完了後、スカ
ラ処理部は起動したベクトル命令列の次のベクトル命令
列実行に必要なセットアップ処理を開始することができ
る。
明する。EXVP命令の処理が完了する際、スカラ命令デコ
ーダ3はパス28上にコマンド信号を送出する。この信号
は第2図のレジスタ50,51のセット信号として作用し、
EXVP実行後のベクトル長、アドレスレジスタの値をレジ
スタ50,51に保持させる。従ってEXVP命令完了後、スカ
ラ処理部は起動したベクトル命令列の次のベクトル命令
列実行に必要なセットアップ処理を開始することができ
る。
起動されたベクトル処理部において、ベクトル命令は、
ベクトル命令デコーダ5からパス29、レジスタ57を通し
てリソース割付け回路52に送られる。リソース割付け回
路52では、命令のオペレーションコードを変換してベク
トル命令実行に必要なリソース番号を生成する。ここで
ベクトル処理装置では各リソースは一義的に番号付けら
れているものとする。生成したリソース番号はパス60上
に送出される。
ベクトル命令デコーダ5からパス29、レジスタ57を通し
てリソース割付け回路52に送られる。リソース割付け回
路52では、命令のオペレーションコードを変換してベク
トル命令実行に必要なリソース番号を生成する。ここで
ベクトル処理装置では各リソースは一義的に番号付けら
れているものとする。生成したリソース番号はパス60上
に送出される。
各リソースに対応して、リソースの状態を示すラッチ53
をベクトル状態管理回路9内に設置し、ラッチの値が'
1'の時対応するリソースがベクトル処理を行っている状
態に対応させ、ラッチの値が'0'の時リソースが処理待
ち状態であることに対応させる。パス60上に送出された
リソース番号はリソース起動回路54に送られると同時に
セレクタ55に作用し、ベクトル命令実行に必要なリソー
スの状態を選定し、パス61を通して選定結果をリソース
起動回路54に送る。一方ベクトル命令の実行に必要なリ
ソースの起動に必要なオーダ情報は、生成回路56によっ
て生成され、リソース起動回路54に送られる。
をベクトル状態管理回路9内に設置し、ラッチの値が'
1'の時対応するリソースがベクトル処理を行っている状
態に対応させ、ラッチの値が'0'の時リソースが処理待
ち状態であることに対応させる。パス60上に送出された
リソース番号はリソース起動回路54に送られると同時に
セレクタ55に作用し、ベクトル命令実行に必要なリソー
スの状態を選定し、パス61を通して選定結果をリソース
起動回路54に送る。一方ベクトル命令の実行に必要なリ
ソースの起動に必要なオーダ情報は、生成回路56によっ
て生成され、リソース起動回路54に送られる。
リソース起動回路54において、リソースの状態が処理待
ちである場合、パス62を介して対応するラッチ53を'1'
にセットする。この時リソース割付け回路52で決定され
たリソース番号によって対応するラッチのみがセットさ
れる。同時にパス63を介して選択されたリソースへリソ
ース起動信号が、パス64を介してベクトルレジスタ制御
部10へ制御情報が、パス65,66を介してベクトル長とア
ドレス情報が各リソースに送出される。ただしアドレス
情報はリソースがベクトル演算器の場合送出値を保証し
ない。
ちである場合、パス62を介して対応するラッチ53を'1'
にセットする。この時リソース割付け回路52で決定され
たリソース番号によって対応するラッチのみがセットさ
れる。同時にパス63を介して選択されたリソースへリソ
ース起動信号が、パス64を介してベクトルレジスタ制御
部10へ制御情報が、パス65,66を介してベクトル長とア
ドレス情報が各リソースに送出される。ただしアドレス
情報はリソースがベクトル演算器の場合送出値を保証し
ない。
割付けられたリソースの状態が処理中の場合、リソース
起動回路54からベクトル命令読出抑止信号がパス30上に
送出される。この抑止信号によって、ベクトル命令読出
し、デコード処理が中断される。これらの中断処理は、
パス67を介してリソースの処理の終了報告がラッチ53に
行われ、ベクトル状態管理回路9によって、中断処理解
除が行われるまで継続する。レジスタ57は毎マシンサイ
クルソースの状態を調べる処理を行うために設置されて
いる。
起動回路54からベクトル命令読出抑止信号がパス30上に
送出される。この抑止信号によって、ベクトル命令読出
し、デコード処理が中断される。これらの中断処理は、
パス67を介してリソースの処理の終了報告がラッチ53に
行われ、ベクトル状態管理回路9によって、中断処理解
除が行われるまで継続する。レジスタ57は毎マシンサイ
クルソースの状態を調べる処理を行うために設置されて
いる。
次にベクトル命令処理動作を第1図を用いて説明する。
ベクトル状態管理回路9によって、リソースが起動され
ると同時に、ベクトル長がパス65上に送出される。リソ
ースがメモリ・リクエスタの場合、このベクトル長はメ
モリ・リクエスタ内のレジスタ18にセットされ、当該リ
クエスタの処理中ベクトル長がレジスタ18上に保持され
る。メモリリクエスタ15は与えられた主記憶のアドレス
からベクトル長のベクトル要素の読出しを行う。リソー
スがベクトル演算器13の場合、ベクトル長はベクトルレ
ジスタ制御部10内のレジスタ19にセットされる。ベクト
ルレジスタ制御部10はスイッチング回路11,12指示を与
え、ベクトル演算器13へ演算に必要なオペランドを送出
しかつ結果をベクトルレジスタ14へ書込むデータパスを
生成する。同時にベクトルデータの最終要素をレジスタ
19上のベクトル長データを用いて識別する。即ちベクト
ルレジスタはベクトル長という属性を有する。ベクトル
長データと同様にアドレスデータもパス66を経由して、
メモリ・リクエスタ内のレジスタ17へ転写される。
ベクトル状態管理回路9によって、リソースが起動され
ると同時に、ベクトル長がパス65上に送出される。リソ
ースがメモリ・リクエスタの場合、このベクトル長はメ
モリ・リクエスタ内のレジスタ18にセットされ、当該リ
クエスタの処理中ベクトル長がレジスタ18上に保持され
る。メモリリクエスタ15は与えられた主記憶のアドレス
からベクトル長のベクトル要素の読出しを行う。リソー
スがベクトル演算器13の場合、ベクトル長はベクトルレ
ジスタ制御部10内のレジスタ19にセットされる。ベクト
ルレジスタ制御部10はスイッチング回路11,12指示を与
え、ベクトル演算器13へ演算に必要なオペランドを送出
しかつ結果をベクトルレジスタ14へ書込むデータパスを
生成する。同時にベクトルデータの最終要素をレジスタ
19上のベクトル長データを用いて識別する。即ちベクト
ルレジスタはベクトル長という属性を有する。ベクトル
長データと同様にアドレスデータもパス66を経由して、
メモリ・リクエスタ内のレジスタ17へ転写される。
以上の如きベクトル長,アドレスレジスタに関する制御
を行うことにより、EXVP命令によって起動されるベクト
ル命令列の処理動作の正当性が保証される。第1図,第
2図では図面の簡約化のため、アドレスレジスタ1個、
ベクトル演算器1個、メモリ・リクエスタ2個の構成の
ベクトル処理部としたが、レジスタ,リソースを複数具
備した場合も同様の処理方法で制御可能である。ただし
ベクトルレジスタに関して、異ったベクトル長のレジス
タ間でチェイニング動作を行うようなコードを実行した
場合、処理動作の正当性の保証はプログラマが負わなけ
ればならない。
を行うことにより、EXVP命令によって起動されるベクト
ル命令列の処理動作の正当性が保証される。第1図,第
2図では図面の簡約化のため、アドレスレジスタ1個、
ベクトル演算器1個、メモリ・リクエスタ2個の構成の
ベクトル処理部としたが、レジスタ,リソースを複数具
備した場合も同様の処理方法で制御可能である。ただし
ベクトルレジスタに関して、異ったベクトル長のレジス
タ間でチェイニング動作を行うようなコードを実行した
場合、処理動作の正当性の保証はプログラマが負わなけ
ればならない。
本発明によれば、コンパライラの最適化機能により、複
数のDOループにまたがる処理の高速化、行列計算等に出
現する多重ループ処理を従来のベクトル処理装置で行う
以上に高速処理することが可能になる。たとえば2つの
DOループ; DO 100I=1,N A(I)=B(I)+C(I) 100 CONTINUE DO 200I=1,M X(I)=Y(I)*Z(I) 200 CONTINUE の如き処理は従来次のようにオブジェクトコードに変換
され、第3図(a)のタイムチャートのように処理されて
いた。
数のDOループにまたがる処理の高速化、行列計算等に出
現する多重ループ処理を従来のベクトル処理装置で行う
以上に高速処理することが可能になる。たとえば2つの
DOループ; DO 100I=1,N A(I)=B(I)+C(I) 100 CONTINUE DO 200I=1,M X(I)=Y(I)*Z(I) 200 CONTINUE の如き処理は従来次のようにオブジェクトコードに変換
され、第3図(a)のタイムチャートのように処理されて
いた。
LABEL1:Vector load VR0←'B' Vector load VR1←'C' Vector Add VR2←VR0+VR1 Vector StofeVR2→'A' Vector Processing END LABEL2:Vector load VR0←'Z' Vector load VR1←'Y' Vector MultiplyVR2←VR0*VR1 Vector StoreVR2→'X' Vector ProcessingEND 本発明のベクトル処理装置によれば、ベクトル命令のデ
コード処理が完了すれば、次のベクトル命令のデコード
を開始できるから時点までDO'200'の処理を早めるこ
とができる。即ち第3図(a)の点線の如きタイムチャー
トとなる。
コード処理が完了すれば、次のベクトル命令のデコード
を開始できるから時点までDO'200'の処理を早めるこ
とができる。即ち第3図(a)の点線の如きタイムチャー
トとなる。
ここでベクトル命令列におけるベクトルレジスタ番号に
ついて考察する。ベクトル命令のオペランドに記載され
ているベクトルレジスタ番号はチェイニング動作を指示
するための一時的な記憶位置と複数のDOループにまたが
って保持すべき配列等の格納領域を意味している。この
2つの異る性格はプログラム、コンパイラでは識別する
ことが可能である。従ってコンパイラは複数のDOループ
で2種類のベクトルレジスタ番号の使用法を利用し、ベ
クトル処理装置のリソースを最大限に使用できるよう
に、ベクトルレジスタ番号の変換を行う必要がある。た
とえば前記のベクトル・オブジェクトコードを次のよう
に変換することにより、 Vector object: LABEL1:Vector loadVR0←'B' Vector load VR1←'C' Vector Add VR2←VR0+VR1 Vector Store VR2→'A' Vector Processing END LABEL2:Vector load VR3←'Z' Vector load VR4←'Y' Vector Multiply VR5←VR3*VR4 Vector Store VR5→'X' Vector Processing END 第3図(b)のようなタイムチャートの処理とすることが
できる。第3図(b)ではベクトル命令のデコード処理はD
O'100','200'の2つのループにまたがってとぎれるこ
となく行われ、ベクトル処理装置のリソース数に対応す
るだけの並列処理動作が自動的に達成されている。
ついて考察する。ベクトル命令のオペランドに記載され
ているベクトルレジスタ番号はチェイニング動作を指示
するための一時的な記憶位置と複数のDOループにまたが
って保持すべき配列等の格納領域を意味している。この
2つの異る性格はプログラム、コンパイラでは識別する
ことが可能である。従ってコンパイラは複数のDOループ
で2種類のベクトルレジスタ番号の使用法を利用し、ベ
クトル処理装置のリソースを最大限に使用できるよう
に、ベクトルレジスタ番号の変換を行う必要がある。た
とえば前記のベクトル・オブジェクトコードを次のよう
に変換することにより、 Vector object: LABEL1:Vector loadVR0←'B' Vector load VR1←'C' Vector Add VR2←VR0+VR1 Vector Store VR2→'A' Vector Processing END LABEL2:Vector load VR3←'Z' Vector load VR4←'Y' Vector Multiply VR5←VR3*VR4 Vector Store VR5→'X' Vector Processing END 第3図(b)のようなタイムチャートの処理とすることが
できる。第3図(b)ではベクトル命令のデコード処理はD
O'100','200'の2つのループにまたがってとぎれるこ
となく行われ、ベクトル処理装置のリソース数に対応す
るだけの並列処理動作が自動的に達成されている。
以上の処理動作は多重ループ表現の行列計算の場合に特
に有効に働く。たとえば、 DO 100 J=1,N DO 100 I=J,N A(I,J)=B(I,J)+C(I,J) 100 CONTINUE, で示される下三角行列間の演算では、従来のベクトル処
理装置ではベクトル長が1からNまで変化し、短ベクト
ル長の場合にベクトル処理装置の性能が著しい低下を起
し、行列計算全体としてベクトル処理装置の効果が期待
できない種類の計算となる。このようなタイプの演算も
本発明のベクトル処理装置によれば、内側のDOループの
ベクトル処理をベクトルレジスタ番号の変換操作を工夫
することにより、連続して行うことが可能となる。以下
にベクトルレジスタ番号変換操作結果の一例を示す。
に有効に働く。たとえば、 DO 100 J=1,N DO 100 I=J,N A(I,J)=B(I,J)+C(I,J) 100 CONTINUE, で示される下三角行列間の演算では、従来のベクトル処
理装置ではベクトル長が1からNまで変化し、短ベクト
ル長の場合にベクトル処理装置の性能が著しい低下を起
し、行列計算全体としてベクトル処理装置の効果が期待
できない種類の計算となる。このようなタイプの演算も
本発明のベクトル処理装置によれば、内側のDOループの
ベクトル処理をベクトルレジスタ番号の変換操作を工夫
することにより、連続して行うことが可能となる。以下
にベクトルレジスタ番号変換操作結果の一例を示す。
Scalar object:'N'euen/add judgement ifN=even then goto LABEL0 LABEL0:Setup instructions for ’J=2,
4,…’ EXVP Vector object=’LABEL2' Setup instructions for’J=3,5,…’ EXVP Vectorobject='LABEL3' BCT LABEL0 Vector object: LABEL1:Vector load VR0←'C'(J=1) Vector load VR1←'B'(J=1) Vector Add VR2←VR0+VR1 Vector Store VR2→'A'(J=1) Vector Processing END LABEL2:Vector load VR3←'C'(J=2n) Vector load VR4←'B'(J=2n) Vector Add VR5←VR3+VR4 Vector Store VR5→'A'(J=2n) Vector Processing END LABEL3:Vector load VR0←'C'(J=2n+1) Vector load VR1←'B'(J=2n+1) Vector Add VR2←VR0+VR1 Vector Store VR2→'A'(J=2n+1) Vector Processing END. 以上のようなベクトルレジスタ番号変換操作機能を持っ
たコンパイラと、本発明のベクトル処理装置を組合せる
ことにより、行列計算固有の並列性を最大限に生かした
処理が可能になる。
4,…’ EXVP Vector object=’LABEL2' Setup instructions for’J=3,5,…’ EXVP Vectorobject='LABEL3' BCT LABEL0 Vector object: LABEL1:Vector load VR0←'C'(J=1) Vector load VR1←'B'(J=1) Vector Add VR2←VR0+VR1 Vector Store VR2→'A'(J=1) Vector Processing END LABEL2:Vector load VR3←'C'(J=2n) Vector load VR4←'B'(J=2n) Vector Add VR5←VR3+VR4 Vector Store VR5→'A'(J=2n) Vector Processing END LABEL3:Vector load VR0←'C'(J=2n+1) Vector load VR1←'B'(J=2n+1) Vector Add VR2←VR0+VR1 Vector Store VR2→'A'(J=2n+1) Vector Processing END. 以上のようなベクトルレジスタ番号変換操作機能を持っ
たコンパイラと、本発明のベクトル処理装置を組合せる
ことにより、行列計算固有の並列性を最大限に生かした
処理が可能になる。
本発明によれば、前のベクトル命令列のデコード処理が
完了すれば、次のベクトル命令列の処理を開始できるの
で、ベクトル処理部の起動を高速化することができる。
完了すれば、次のベクトル命令列の処理を開始できるの
で、ベクトル処理部の起動を高速化することができる。
第1図は本発明の一実施例を示すブロック図、第2図は
第1図のベクトル状態管理回路のブロック図、第3図お
よび第4図は本発明を説明するためのタイムチャートで
ある。 1……主記憶装置、2……スカラ命令読出リクエスタ、
3……スカラ命令デコーダ、4……ベクトル命令読出リ
クエスタ、5……ベクトル命令デコーダ、6……ベクト
ル処理部状態語、7……ベクトル長レジスタ、8……ア
ドレスレジスタ、9……ベクトル状態管理回路、10…
…ベクトルレジスタ制御部、11,12……スイッチング回
路、13……ベクトル演算器、14……ベクトルレジスタ、
15,16……メモリ・リクエスタ。
第1図のベクトル状態管理回路のブロック図、第3図お
よび第4図は本発明を説明するためのタイムチャートで
ある。 1……主記憶装置、2……スカラ命令読出リクエスタ、
3……スカラ命令デコーダ、4……ベクトル命令読出リ
クエスタ、5……ベクトル命令デコーダ、6……ベクト
ル処理部状態語、7……ベクトル長レジスタ、8……ア
ドレスレジスタ、9……ベクトル状態管理回路、10…
…ベクトルレジスタ制御部、11,12……スイッチング回
路、13……ベクトル演算器、14……ベクトルレジスタ、
15,16……メモリ・リクエスタ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 村山 ▲浩▼ 神奈川県秦野市堀山下1番地 株式会社日 立製作所神奈川工場内
Claims (1)
- 【請求項1】スカラ命令デコーダを含むスカラ処理部お
よびベクトル命令デコーダを含むベクトル処理部から構
成され、ベクトル命令列の処理開始を指示するスカラ命
令によってベクトル命令列の処理をベクトル処理部に指
示するベクトル処理装置において、上記ベクトル命令デ
コーダが上記ベクトル命令列のデコードを開始すること
に応じてセットされ、上記ベクトル命令列の終端のベク
トル命令のデコードに応じてリセットされる表示手段を
備え、上記スカラ処理部は上記表示手段がリセット状態
時、上記スカラ命令によって上記ベクトル命令列の処理
開始を指示することを特徴とするベクトル処理装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60252798A JPH0622035B2 (ja) | 1985-11-13 | 1985-11-13 | ベクトル処理装置 |
| DE19863638572 DE3638572A1 (de) | 1985-11-13 | 1986-11-12 | Vektorprozessor |
| US07/471,667 US5073970A (en) | 1985-11-13 | 1990-01-24 | Vector processing apparatus allowing succeeding vector instruction chain processing upon completion of decoding of a preceding vector instruction chain |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60252798A JPH0622035B2 (ja) | 1985-11-13 | 1985-11-13 | ベクトル処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62114058A JPS62114058A (ja) | 1987-05-25 |
| JPH0622035B2 true JPH0622035B2 (ja) | 1994-03-23 |
Family
ID=17242385
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60252798A Expired - Lifetime JPH0622035B2 (ja) | 1985-11-13 | 1985-11-13 | ベクトル処理装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5073970A (ja) |
| JP (1) | JPH0622035B2 (ja) |
| DE (1) | DE3638572A1 (ja) |
Families Citing this family (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2810043B2 (ja) * | 1987-11-13 | 1998-10-15 | 株式会社日立製作所 | データ処理装置 |
| US5179674A (en) * | 1988-07-25 | 1993-01-12 | Digital Equipment Corporation | Method and apparatus for predicting valid performance of virtual-address to physical-address translations |
| DE69023941T2 (de) * | 1989-02-28 | 1996-05-23 | Canon Kk | System zur Verarbeitung eines quantisierten Vektors. |
| JPH0314025A (ja) * | 1989-06-13 | 1991-01-22 | Nec Corp | 命令実行制御方式 |
| US5197130A (en) * | 1989-12-29 | 1993-03-23 | Supercomputer Systems Limited Partnership | Cluster architecture for a highly parallel scalar/vector multiprocessor system |
| US5544337A (en) * | 1989-12-29 | 1996-08-06 | Cray Research, Inc. | Vector processor having registers for control by vector resisters |
| US5623650A (en) * | 1989-12-29 | 1997-04-22 | Cray Research, Inc. | Method of processing a sequence of conditional vector IF statements |
| US5255371A (en) * | 1990-04-02 | 1993-10-19 | Unisys Corporation | Apparatus for interfacing a real-time communication link to an asynchronous digital computer system by utilizing grouped data transfer commands |
| US5598547A (en) * | 1990-06-11 | 1997-01-28 | Cray Research, Inc. | Vector processor having functional unit paths of differing pipeline lengths |
| JP3237858B2 (ja) * | 1991-01-30 | 2001-12-10 | 沖電気工業株式会社 | 演算装置 |
| 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 |
| US5539911A (en) * | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
| US5742842A (en) * | 1992-01-28 | 1998-04-21 | Fujitsu Limited | Data processing apparatus for executing a vector operation under control of a master processor |
| US5551039A (en) * | 1992-02-03 | 1996-08-27 | Thinking Machines Corporation | Compiling a source code vector instruction by generating a subgrid loop for iteratively processing array elements by plural processing elements |
| US5423051A (en) * | 1992-09-24 | 1995-06-06 | International Business Machines Corporation | Execution unit with an integrated vector operation capability |
| US5513366A (en) * | 1994-09-28 | 1996-04-30 | International Business Machines Corporation | Method and system for dynamically reconfiguring a register file in a vector processor |
| US6058465A (en) * | 1996-08-19 | 2000-05-02 | Nguyen; Le Trong | Single-instruction-multiple-data processing in a multimedia signal processor |
| US6813701B1 (en) * | 1999-08-17 | 2004-11-02 | Nec Electronics America, Inc. | Method and apparatus for transferring vector data between memory and a register file |
| US6591361B1 (en) | 1999-12-28 | 2003-07-08 | International Business Machines Corporation | Method and apparatus for converting data into different ordinal types |
| US6857061B1 (en) | 2000-04-07 | 2005-02-15 | Nintendo Co., Ltd. | Method and apparatus for obtaining a scalar value directly from a vector register |
| US6701424B1 (en) | 2000-04-07 | 2004-03-02 | Nintendo Co., Ltd. | Method and apparatus for efficient loading and storing of vectors |
| JP3855270B2 (ja) * | 2003-05-29 | 2006-12-06 | ソニー株式会社 | アンテナ実装方法 |
| US7457938B2 (en) * | 2005-09-30 | 2008-11-25 | Intel Corporation | Staggered execution stack for vector processing |
| JP5699554B2 (ja) * | 2010-11-11 | 2015-04-15 | 富士通株式会社 | ベクトル処理回路、命令発行制御方法、及びプロセッサシステム |
| CN104968829B (zh) * | 2013-02-28 | 2017-05-10 | 佳能安内华股份有限公司 | 溅射设备 |
| CN107315717B (zh) * | 2016-04-26 | 2020-11-03 | 中科寒武纪科技股份有限公司 | 一种用于执行向量四则运算的装置和方法 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57106982A (en) * | 1980-12-24 | 1982-07-03 | Fujitsu Ltd | Data processor |
| US4541046A (en) * | 1981-03-25 | 1985-09-10 | Hitachi, Ltd. | Data processing system including scalar data processor and vector data processor |
| JPS57191703A (en) * | 1981-05-20 | 1982-11-25 | Fanuc Ltd | Sequence controller |
| JPS5943446A (ja) * | 1982-09-01 | 1984-03-10 | Nec Corp | マイクロコンピユ−タシステム |
| JPH0652530B2 (ja) * | 1982-10-25 | 1994-07-06 | 株式会社日立製作所 | ベクトル・プロセッサ |
| JPS60178580A (ja) * | 1984-02-24 | 1985-09-12 | Fujitsu Ltd | 命令制御方式 |
| EP0184791A1 (en) * | 1984-12-07 | 1986-06-18 | Nec Corporation | Information processing device capable of rapidly processing instructions of different groups |
| US4740893A (en) * | 1985-08-07 | 1988-04-26 | International Business Machines Corp. | Method for reducing the time for switching between programs |
| US4722049A (en) * | 1985-10-11 | 1988-01-26 | Unisys Corporation | Apparatus for out-of-order program execution |
-
1985
- 1985-11-13 JP JP60252798A patent/JPH0622035B2/ja not_active Expired - Lifetime
-
1986
- 1986-11-12 DE DE19863638572 patent/DE3638572A1/de active Granted
-
1990
- 1990-01-24 US US07/471,667 patent/US5073970A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| DE3638572C2 (ja) | 1990-05-03 |
| JPS62114058A (ja) | 1987-05-25 |
| US5073970A (en) | 1991-12-17 |
| DE3638572A1 (de) | 1987-05-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0622035B2 (ja) | ベクトル処理装置 | |
| US5872987A (en) | Massively parallel computer including auxiliary vector processor | |
| US5050070A (en) | Multi-processor computer system having self-allocating processors | |
| JP6660991B2 (ja) | マルチスレッドプロセッサでのタスクのスケジューリング | |
| US5293500A (en) | Parallel processing method and apparatus | |
| JP2918631B2 (ja) | デコーダ | |
| US5159686A (en) | Multi-processor computer system having process-independent communication register addressing | |
| US4507728A (en) | Data processing system for parallel processing of different instructions | |
| US4873626A (en) | Parallel processing system with processor array having memory system included in system memory | |
| US5261113A (en) | Apparatus and method for single operand register array for vector and scalar data processing operations | |
| JP2022539844A (ja) | 静止再構成可能データ・プロセッサ | |
| US5418970A (en) | Parallel processing system with processor array with processing elements addressing associated memories using host supplied address value and base register content | |
| US6269440B1 (en) | Accelerating vector processing using plural sequencers to process multiple loop iterations simultaneously | |
| JPH0766329B2 (ja) | 情報処理装置 | |
| JPH04245540A (ja) | 条件付き分岐を有するプログラムの効率的実行をするためのコンピュータシステム | |
| US5555384A (en) | Rescheduling conflicting issued instructions by delaying one conflicting instruction into the same pipeline stage as a third non-conflicting instruction | |
| JPH0517588B2 (ja) | ||
| JP4743998B2 (ja) | 複数リソースアーキテクチャの管理システムと方法 | |
| RU2042193C1 (ru) | Вычислительная система | |
| JPH01309178A (ja) | マルチプロセッサのプロセッサ切換え装置 | |
| US5907693A (en) | Autonomously cycling data processing architecture | |
| KR0175986B1 (ko) | 분산 완전 제어 시스템 및 디스패치 장치 | |
| JPH0461390B2 (ja) | ||
| EP0292188B1 (en) | Cache system | |
| JPS58149555A (ja) | 並列処理装置 |