JPH08202687A - パイプライン制御方式 - Google Patents

パイプライン制御方式

Info

Publication number
JPH08202687A
JPH08202687A JP1032395A JP1032395A JPH08202687A JP H08202687 A JPH08202687 A JP H08202687A JP 1032395 A JP1032395 A JP 1032395A JP 1032395 A JP1032395 A JP 1032395A JP H08202687 A JPH08202687 A JP H08202687A
Authority
JP
Japan
Prior art keywords
vector
pipeline
instruction
vector register
data
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.)
Withdrawn
Application number
JP1032395A
Other languages
English (en)
Inventor
Takashi Mochiyama
貴司 持山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1032395A priority Critical patent/JPH08202687A/ja
Publication of JPH08202687A publication Critical patent/JPH08202687A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【目的】本発明は、ベクトルプロセッサで実行されるパ
イプライン制御方式に関し、連鎖関係にあるベクトル命
令のみを少ないハードウェア量で制御できるようにする
ことを目的とする。 【構成】主記憶からベクトルデータを読み出してベクト
ルレジスタにロードするロードパイプラインと、ベクト
ルレジスタからベクトルデータを読み出して主記憶にス
トアするストアパイプラインと、ベクトルレジスタから
ベクトルデータを読み出して演算処理を実行してベクト
ルレジスタに書き込む複数の演算パイプラインとを備え
るベクトルプロセッサにおいて、ベクトルレジスタの各
要素対応に、要素データの使用の可否を表示するフラグ
を用意する構成を採り、かつ、演算パイプラインは、こ
のフラグ値を要素データに対応付けて伝播するととも
に、このフラグ値に従って演算処理を実行するか否かを
決定するように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ベクトルプロセッサで
実行されるパイプライン制御方式に関し、特に、連鎖関
係にあるベクトル命令のみを少ないハードウェア量で制
御できるようにするパイプライン制御方式に関する。
【0002】近年、計算機に対して一層の数値計算能力
が求められるようになり、スーパーコンピュータをはじ
め、ワークステーション等の小型コンピュータについて
も、数値演算を高速に実行するベクトルプロセッサを装
備することが多くなってきている。
【0003】このベクトルプロセッサでは、高速処理を
実現するために、パイプラインを多重化するとともに、
先行するベクトル命令によってベクトルレジスタへ書き
込まれる結果を、その先行命令の終了を待たずに、後続
のベクトル命令がベクトルレジスタから読み出して使用
するという命令連鎖の実行形態を採っている。
【0004】この命令連鎖の実行形態では、先行するベ
クトル命令が遅延するときには、それに同期させて、後
続のベクトル命令を遅延させていく必要があるが、この
遅延処理を少ないハードウェア量で実現していく必要が
ある。
【0005】
【従来の技術】従来では、命令連鎖の実行形態を採ると
きにあって、メモリアクセス待ちによりロードパイプラ
インに遅延が生ずると、ベクトルロード命令と命令連鎖
する実行中のベクトル命令が存在するときには、ロード
パイプライン以外の全てのパイプラインを停止させるこ
とで、ベクトルレジスタの読み書きの不当な追い越しを
回避するという構成を採っていた。
【0006】しかしながら、この構成に従っていると、
ロードパイプライン以外の全てのパイプラインを停止さ
せることから、連鎖関係にないベクトル命令までも停止
させてしまうという問題点があった。
【0007】そこで、実行中の全てのベクトル命令が使
用しているベクトルレジスタの番号と、読み/書きの種
別と、命令連鎖の有無とを保持することに加えて、同時
実行中のベクトルロード命令の内のどれと連鎖関係にあ
るのかを表示する識別データを保持する構成を採って、
ロードパイプラインに遅延が生ずるときに、それに連鎖
するベクトル命令を実行しているパイプラインのみを停
止させる構成を採るようになってきた。
【0008】しかしながら、このような従来技術に従っ
ていても、連鎖関係にあるパイプラインのみを停止させ
てはいるものの、パイプラインそのものを停止させてい
ることから、そのパイプラインで実行中の連鎖関係にな
いベクトル命令まで停止させてしまうという問題点が残
されていた。
【0009】しかも、従来技術のように、実行中の全て
のベクトル命令が使用しているベクトルレジスタの番号
と、読み/書きの種別と、命令連鎖の有無と、連鎖関係
の識別データとを保持する構成を採っていると、大量の
フリップフロップを用意しなければならないとともに、
これらの情報を毎時刻更新するために、大量の高速比較
器を用意しなければならないという問題点があった。そ
して、これがために、論理回路として実現する場合の物
理的制限により、実際にパイプラインに投入できるベク
トル命令数よりも少ない数のベクトル命令しか投入でき
ないという問題点があった。
【0010】本発明はかかる事情に鑑みてなされたもの
であって、連鎖関係にあるベクトル命令のみを少ないハ
ードウェア量で制御できるようにする新たなパイプライ
ン制御方式の提供を目的とする。
【0011】
【課題を解決するための手段】図1に本発明の原理構成
を図示する。図中、1は本発明を具備するベクトルプロ
セッサである。
【0012】このベクトルプロセッサ1は、主記憶10
と、ベクトルレジスタ11を備えるベクトルレジスタ機
構12と、ベクトルロード命令に応答して、主記憶10
からベクトルデータを読み出してベクトルレジスタ11
にロードするロードパイプライン13と、ベクトルスト
ア命令に応答して、ベクトルレジスタ11からベクトル
データを読み出して主記憶10にストアするストアパイ
プライン14と、ベクトル演算命令に応答して、ベクト
ルレジスタ11からベクトルデータを読み出し演算処理
を実行してベクトルレジスタ11に書き込む複数の演算
パイプライン15とを備える。
【0013】このベクトルレジスタ11は、ベクトルデ
ータの各要素対応に、その要素データの使用可否を表示
するフラグを用意する。一方、ベクトルレジスタ機構1
2は、ベクトルレジスタ11を備える他に、ロードパイ
プライン13の制御を実行するロードパイプライン制御
手段16と、ストアパイプライン14の制御を実行する
ストアパイプライン制御手段17と、演算パイプライン
15の制御を実行する演算パイプライン制御手段18
と、リセット時に、ベクトルレジスタ11の持つ全フラ
グに使用可能を書き込む第5の制御手段19とを備え
る。
【0014】このロードパイプライン制御手段16は、
ベクトルロード命令の実行に遅れが生ずるときに、書込
先となるベクトルレジスタ11の持つフラグの制御処理
等を実行する第1の制御手段20と、ベクトルロード命
令の発信要求があるときに、書込先となるベクトルレジ
スタ11の先頭要素の持つフラグ値が使用可能を表示す
るときには、そのフラグ値を使用不可能に変更してから
命令実行に入ることを指示し、一方、そのフラグ値が使
用不可能を表示するときには、そのフラグ値が使用可能
を表示することになるまで、命令実行の保留を指示する
第4の制御手段21とを備える。
【0015】ストアパイプライン制御手段17は、ベク
トルストア命令の実行時に、読出対象となるベクトルレ
ジスタ11の読出要素の制御処理を実行する第2の制御
手段22を備える。
【0016】演算パイプライン制御手段18は、ベクト
ル演算命令の実行時に、読出対象となるベクトルレジス
タ11の読出要素の制御処理を実行する第2の制御手段
22と、ベクトル演算命令の実行時に、書込先となるベ
クトルレジスタ11の持つフラグの制御処理等を実行す
る第3の制御手段23と、ベクトル演算命令の発信要求
があるときに、書込先となるベクトルレジスタ11の先
頭要素の持つフラグ値が使用可能を表示するときには、
そのフラグ値を使用不可能に変更してから命令実行に入
ることを指示し、一方、そのフラグ値が使用不可能を表
示するときには、そのフラグ値が使用可能を表示するこ
とになるまで、命令実行の保留を指示する第4の制御手
段21とを備える。
【0017】
【作用】本発明では、ロードパイプライン制御手段16
の持つ第1の制御手段20は、ベクトルロード命令の実
行に遅れが生ずるときに、書込先となるベクトルレジス
タ11の要素の持つフラグに使用不可能を書き込むとと
もに、書込要素のアドレスをそのまま維持し、一方、遅
れが生じないときに、書込先となるベクトルレジスタ1
1の要素の持つフラグに使用可能を書き込むとともに、
書込要素のアドレスを次要素に進めるように制御する。
【0018】このようにして、ベクトルレジスタ11の
各要素対応に、その要素データの使用の可否を表示する
フラグが用意されると、演算パイプライン制御手段18
の持つ第2の制御手段22は、ベクトル演算命令の実行
時に、読出対象となるベクトルレジスタ11の要素の持
つフラグ値を読み取って、そのフラグ値が使用可能を表
示するときには、読出要素のアドレスを次要素に進め、
一方、そのフラグ値が使用不可能を表示するときには、
読出要素のアドレスをそのまま維持するようにと制御す
る。
【0019】この第2の制御手段22の制御処理を受け
て、演算パイプライン15は、ベクトルレジスタ11か
らベクトルデータを読み出すときに、ベクトルデータの
持つフラグ値を要素データに対応付けて伝播するととも
に、そのフラグ値が使用可能を表示するときに演算処理
を実行し、使用不可能を表示するときには、演算処理を
実行せずにフラグ値の伝播処理のみを実行する。あるい
は、常に演算処理を実行して、そのフラグ値に従って、
その演算結果が有効なものであるのか無効なものである
のかを表示する。
【0020】そして、演算パイプライン制御手段18の
持つ第3の制御手段23は、ベクトル演算命令の実行時
に、演算パイプライン15の最終ステージの持つフラグ
値を読み取って、そのフラグ値が使用可能を表示すると
きには、書込先となるベクトルレジスタ11の要素の持
つフラグに使用可能を書き込むとともに、書込要素のア
ドレスを次要素に進め、一方、そのフラグ値が使用不可
能を表示するときには、書込先となるベクトルレジスタ
11の要素の持つフラグに使用不可能を書き込むととも
に、書込要素のアドレスをそのまま維持するようにと制
御することで、ベクトルレジスタ11の要素の持つフラ
グ値が要素データの使用の可否を表示するようにと制御
する。
【0021】そして、ストアパイプライン制御手段17
の持つ第2の制御手段22は、ベクトルストア命令の実
行時に、読出対象となるベクトルレジスタ11の要素の
持つフラグ値を読み取って、そのフラグ値が使用可能を
表示するときには、読出要素のアドレスを次要素に進
め、一方、そのフラグ値が使用不可能を表示するときに
は、読出要素のアドレスをそのまま維持するようにと制
御することで、主記憶10に対して正確なベクトルデー
タを書き込む。
【0022】このように、本発明によれば、ベクトルロ
ード命令が遅延した場合、その遅延したベクトルロード
命令に、直接的あるいは間接的に連鎖しているベクトル
命令のみを同期して遅延させ、連鎖関係にない他のベク
トル命令は遅延させずに実行できるようになる。そし
て、これを、大量のフリップフロップや、大量の高速比
較器を用いずに実現できるようになることから、従来技
術の持つ問題点を一挙に解決できるようになるのであ
る。
【0023】
【実施例】以下、実施例に従って本発明を詳細に説明す
る。上述したように、本発明は、図2に示すように、ベ
クトルレジスタ11に格納されるベクトルデータの各要
素対応に、その要素データの使用の可否を表示するフラ
グを用意する構成を採って、演算パイプライン15が、
そのフラグ値を要素データに対応付けて伝播するととも
に、そのフラグ値に従って演算処理を実行するか否かを
決定する構成を採ることで、ベクトルロード命令が遅延
した場合、その遅延したベクトルロード命令に連鎖して
いるベクトル命令のみを同期して遅延させ、連鎖関係に
ない他のベクトル命令は遅延させずに実行できることを
実現するものである。
【0024】ベクトルレジスタ機構12は、このフラグ
(以下、要素使用可能フラグと称する)の制御処理と、
ベクトルレジスタ11のアクセス先の制御処理とを実行
する機能を持つものである。
【0025】図3ないし図8に、このベクトルレジスタ
機構12の実行する処理フローを図示する。次に、これ
らの処理フローに従って、本発明を詳細に説明する。な
お、従来技術通りに、ベクトル命令の発信は1時刻に1
つ以下とし、命令制御機構(VI)は、実行中のベクト
ル命令が読み出しを行っているベクトルレジスタ11に
対して書き込みを行う後続命令については、先行命令の
読み出しが終了するまで発信を保留する構成を採る。
【0026】ベクトルレジスタ機構12は、リセットが
実行されると、図3の処理フローに示すように、ベクト
ルレジスタ11の持つ全ての要素使用可能フラグに、
「使用可能」を書き込む。これは、プログラムミスによ
るデッドロックを防ぐために行う処理である。
【0027】ベクトル命令の遅れは、ベクトルロード命
令の実行時にメモリアクセス待ちが起こって、ロードパ
イプライン13に遅れが生ずることから発生する。これ
から、ベクトルレジスタ機構12は、ベクトルロード命
令が実行されると、図4の処理フローに示すように、先
ず最初に、ステップ1で、ロードパイプライン13に遅
れが生ずるか否かを監視して、遅れが生じていないこと
を判断(一度遅れて、その後遅れないときも含む)する
ときには、ステップ2に進んで、ロードパイプライン1
3の最終ステージのデータを、書込先となるベクトルレ
ジスタ11の要素位置(書込要素アドレスの指す要素位
置)に書き込み、続くステップ3で、その要素位置の要
素使用可能フラグに「使用可能」を書き込み、続くステ
ップ4で、書込要素アドレスを次の要素に進める。
【0028】一方、ステップ1で、ロードパイプライン
13に遅れの生じたことを判断するときには、ステップ
5に進んで、書込要素アドレスの指す要素位置の要素使
用可能フラグに「使用不可能」を書き込み、続くステッ
プ6で、書込要素アドレスをそのまま維持する。
【0029】そして、ステップ4及びステップ6の処理
を終了すると、ステップ7に進んで、全要素についての
ロードが完了したのか否かを判断して、完了を判断する
ときには全処理を終了し、未完了を判断するときにはス
テップ1に戻っていく。
【0030】このようにして、ベクトルロード命令の実
行時に、ベクトルレジスタ11の要素の持つ要素使用可
能フラグに、その要素データが使用可能である場合には
「使用可能」が書き込まれ、その要素データが使用不可
能である場合には「使用不可能」が書き込まれていくこ
とになる。
【0031】このベクトルロード命令に命令連鎖するベ
クトル演算命令が実行されるときには、使用可能なベク
トルデータをその旨を表示しつつ演算パイプライン15
に投入していく必要がある。
【0032】これから、ベクトルレジスタ機構12は、
ベクトル演算命令が実行されると、図5の処理フローに
示すように、先ず最初に、ステップ1で、読出対象とな
るベクトルレジスタ11の要素位置(読出要素アドレス
の指す要素位置)の要素使用可能フラグ値を読み取り、
続くステップ2で、その要素使用可能フラグ値が「使用
可能」を表示しているのか否かを判断する。
【0033】このステップ2で、要素使用可能フラグ値
が「使用可能」を表示していることを判断するときに
は、ステップ3に進んで、読出要素アドレスの指す要素
位置の要素データと、「使用可能」のフラグ値とを演算
パイプライン15に投入し、続くステップ4で、読出要
素アドレスを次の要素に進める。
【0034】一方、ステップ2で、要素使用可能フラグ
値が「使用不可能」を表示していることを判断するとき
には、ステップ5に進んで、「使用不可能」のフラグ値
を演算パイプライン15に投入し、続くステップ6で、
読出要素アドレスをそのまま維持する。
【0035】そして、ステップ4及びステップ6の処理
を終了すると、ステップ7に進んで、全要素についての
読み出しが完了したのか否かを判断して、完了を判断す
るときには全処理を終了し、未完了を判断するときには
ステップ1に戻っていく。
【0036】このようにして、ベクトル演算命令の実行
時に、演算パイプライン15に対して、使用可能である
のか否かのフラグ値を持つベクトルデータが投入されて
いくことになる。
【0037】このベクトルデータの投入を受けて、演算
パイプライン15は、伝播してくるフラグ値が使用可能
を表示するときには演算処理を実行し、使用不可能を表
示するときには、演算処理を実行しないように処理(例
外や異常も検出しない)する。あるいは、常に演算処理
を実行して、そのフラグ値に従って、その演算結果が有
効なものであるのか無効なものであるのかを表示する。
従って、演算パイプライン15の最終ステージの持つデ
ータ(ベクトルレジスタ11に書き込む演算結果デー
タ)が、有効である場合と無効である場合が起こる。
【0038】これから、ベクトルレジスタ機構12は、
ベクトル演算命令が実行されると、図6の処理フローに
示すように、先ず最初に、ステップ1で、演算パイプラ
イン15の最終ステージの持つフラグ値を読み取り、続
くステップ2で、そのフラグ値が「使用可能」を表示し
ているのか否かを判断する。
【0039】このステップ2で、フラグ値が「使用可
能」を表示していることを判断するときには、ステップ
3に進んで、演算パイプライン15の最終ステージの持
つデータを書込先となるベクトルレジスタ11の要素位
置(書込要素アドレスの指す要素位置)に書き込み、続
くステップ4で、その要素位置の要素使用可能フラグに
「使用可能」を書き込み、続くステップ5で、書込要素
アドレスを次の要素に進める。
【0040】一方、ステップ2で、フラグ値が「使用不
可能」を表示していることを判断するときには、ステッ
プ6に進んで、書込要素アドレスの指す要素位置の要素
使用可能フラグに「使用不可能」を書き込み、続くステ
ップ7で、書込要素アドレスをそのまま維持する。
【0041】そして、ステップ5及びステップ7の処理
を終了すると、ステップ8に進んで、全要素についての
書き込みが完了したのか否かを判断して、完了を判断す
るときには全処理を終了し、未完了を判断するときには
ステップ1に戻っていく。
【0042】このようにして、ベクトル演算命令の実行
時に、演算パイプライン15の最終ステージの持つ有効
な演算結果データがベクトルレジスタ11に書き込まれ
ていくことになる。
【0043】このベクトルレジスタ11の格納処理を受
けて、ベクトルレジスタ機構12は、ベクトルストア命
令が実行されると、図7の処理フローに示すように、先
ず最初に、ステップ1で、読出対象となるベクトルレジ
スタ11の要素位置(読出要素アドレスの指す要素位
置)の要素使用可能フラグ値を読み取り、続くステップ
2で、その要素使用可能フラグ値が「使用可能」を表示
しているのか否かを判断する。
【0044】このステップ2で、要素使用可能フラグ値
が「使用可能」を表示していることを判断するときに
は、ステップ3に進んで、読出要素アドレスの指す要素
位置の要素データを読み出してストアパイプライン14
に投入し、続くステップ4で、読出要素アドレスを次の
要素に進める。
【0045】一方、ステップ2で、要素使用可能フラグ
値が「使用不可能」を表示していることを判断するとき
には、ステップ5に進んで、要素データをストアパイプ
ライン14に投入することなく、読出要素アドレスをそ
のまま維持する。
【0046】そして、ステップ4及びステップ5の処理
を終了すると、ステップ6に進んで、全要素についての
読み出しが完了したのか否かを判断して、完了を判断す
るときには全処理を終了し、未完了を判断するときには
ステップ1に戻っていく。
【0047】このようにして、ベクトルストア命令の実
行時に、ベクトルレジスタ11の格納する有効な演算結
果データが主記憶10にストアされていくことになる。
この構成を採るときにあって、ベクトルロード命令やベ
クトル演算命令は、実行結果をベクトルレジスタ11に
書き込んでいく処理を行うので、これらの命令の実行に
あたっては、実行結果を書き込むベクトルレジスタ11
が使用可能状態にある必要がある。
【0048】これから、ベクトルレジスタ機構12は、
ベクトルロード命令やベクトル演算命令の発信要求があ
ると、図8の処理フローに示すように、そのベクトル命
令の実行開始の1クロック前に、書込先となるベクトル
レジスタ11の先頭要素の持つ要素使用可能フラグ値を
読み取り、そのフラグ値が「使用可能」を表示している
のか否かを判断して、「使用可能」を表示しているとき
には、実行結果を書き込む前に後続命令が読み出しを開
始しないようにするために、そのフラグ値を「使用不可
能」に書き換えてから、命令実行に入ることを指示し、
一方、「使用不可能」を表示しているときには、そのベ
クトル命令が使用できない状態にあることを意味するの
で、命令実行の保留を指示して、「使用可能」に転ずる
まで待つ処理を実行する。
【0049】次に、図9に示す命令連鎖を例にとって、
本発明のパイプライン制御について具体的に説明する。
ここで、この図9の命令連鎖では、ベクトルロード命令
のロード結果Bが、ベクトル乗算命令の第2オペラ
ンドに連鎖しており、ベクトルロード命令のロード結
果Dが、ベクトル加算命令の第2オペランドに連鎖し
ており、ベクトル乗算命令の乗算結果Wが、ベクトル
ストア命令のオペランドに連鎖していて、ベクトル命
令,が同時実行され、ベクトル命令,,,
が同時実行されることを想定している。
【0050】図10及び図11に、この図9の命令連鎖
に対する本発明のパイプライン制御の一例を図示する。
ここで、図中の数値は、ベクトルレジスタ11の要素番
号を表している。
【0051】図10に示す例では、ベクトルロード命令
とベクトル加算命令という連鎖関係にある2つの命
令が、連続して発信された場合を示している。ベクトル
ロード命令がメモリアクセスで待たされていて、まだ
ベクトルレジスタDの第1要素の書き込みを始めていな
い状態のときに、後続のベクトル加算命令が発信され
てしまい、ベクトルレジスタDの第1要素を読み出そう
としている。このとき、ベクトルレジスタDの第1要素
の持つ要素使用可能フラグに、ベクトルロード命令の
発信時に「使用不可能」が書き込まれているので、ベク
トルレジスタDの第1要素の読み出しが繰り返されてい
る。そして、演算パイプラインVADDは、要素使用可
能フラグの「使用不可能」を各ステージに伝播し、最後
の書込ステージでは、書込先のベクトルレジスタZの第
1要素の持つ要素使用可能フラグに「使用不可能」を書
き込むことを繰り返している。
【0052】一方、図11に示す例は、図10の状態か
ら数クロック進んだ状態を表している。この時刻まで
に、ベクトルレジスタDの第1要素から第5要素までは
ロードが終了し、この時刻に、ロードパイプラインVL
Dは、ベクトルレジスタDの第6要素を書き込もうとし
ているが、メモリアクセスで待ち状態にある。このと
き、演算パイプラインVADDは、ベクトルレジスタ
C,Dの第5要素を読み出して、ベクトルレジスタZの
第2要素に書き込もうとしているが、最終ステージの持
つフラグ値が「使用不可能」を示していることから、ベ
クトルレジスタZの第2要素の持つ要素使用可能フラグ
に「使用不可能」を書き込んでいる。
【0053】この演算パイプラインVADDのステージ
には、要素使用可能フラグが「使用不可能」を示してい
るステージが4つあり、その内の1つは要素番号2を、
他の3つは要素番号3を持っている。これは、ロードパ
イプラインVLDが、ベクトルレジスタDの第2要素の
ロード時に1クロックサイクル遅延し、第3要素のロー
ド時に3クロックサイクル遅延したためである。このと
き、遅延を生じたベクトル命令,と同時に動作して
いるベクトル命令,は、その遅延の影響を受けるこ
とはない。
【0054】
【発明の効果】以上説明したように、本発明によれば、
ベクトルロード命令が遅延した場合、その遅延したベク
トルロード命令に、直接的あるいは間接的に連鎖してい
るベクトル命令のみを同期して遅延させ、連鎖関係にな
い他のベクトル命令は遅延させずに実行できるようにな
る。そして、これを、大量のフリップフロップや、大量
の高速比較器を用いずに実現できるようになることか
ら、ハードウェアの配置配線が簡略なものになるととも
に、制御回路を実現するハードウェア量に制限されるこ
となく、パイプラインに投入できる命令数をパイプライ
ンの段数まで引き上げることができるようになる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】要素使用可能フラグの説明図である。
【図3】ベクトルレジスタ機構の実行する処理フローで
ある。
【図4】ベクトルレジスタ機構の実行する処理フローで
ある。
【図5】ベクトルレジスタ機構の実行する処理フローで
ある。
【図6】ベクトルレジスタ機構の実行する処理フローで
ある。
【図7】ベクトルレジスタ機構の実行する処理フローで
ある。
【図8】ベクトルレジスタ機構の実行する処理フローで
ある。
【図9】命令連鎖の一例である。
【図10】本発明のパイプライン制御の説明図である。
【図11】本発明のパイプライン制御の説明図である。
【符号の説明】 1 ベクトルプロセッサ 10 主記憶 11 ベクトルレジスタ 12 ベクトルレジスタ機構 13 ロードパイプライン 14 ストアパイプライン 15 演算パイプライン 16 ロードパイプライン制御手段 17 ストアパイプライン制御手段 18 演算パイプライン制御手段 19 第5の制御手段 20 第1の制御手段 21 第4の制御手段 22 第2の制御手段 23 第3の制御手段

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 ベクトルロード命令に応答して、主記憶
    からベクトルデータを読み出してベクトルレジスタにロ
    ードするロードパイプラインと、ベクトルストア命令に
    応答して、ベクトルレジスタからベクトルデータを読み
    出して主記憶にストアするストアパイプラインと、ベク
    トル演算命令に応答して、ベクトルレジスタからベクト
    ルデータを読み出して演算処理を実行してベクトルレジ
    スタに書き込む複数の演算パイプラインとを備えるベク
    トルプロセッサにおいて、 ベクトルレジスタの各要素対応に、該要素データの使用
    の可否を表示するフラグを用意する構成を採り、 かつ、演算パイプラインは、上記フラグ値を要素データ
    に対応付けて伝播するとともに、該フラグ値に従って演
    算処理を実行するか否かを決定するよう構成されること
    を、 特徴とするパイプライン制御方式。
  2. 【請求項2】 ベクトルロード命令に応答して、主記憶
    からベクトルデータを読み出してベクトルレジスタにロ
    ードするロードパイプラインと、ベクトルストア命令に
    応答して、ベクトルレジスタからベクトルデータを読み
    出して主記憶にストアするストアパイプラインと、ベク
    トル演算命令に応答して、ベクトルレジスタからベクト
    ルデータを読み出して演算処理を実行してベクトルレジ
    スタに書き込む複数の演算パイプラインとを備えるベク
    トルプロセッサにおいて、 ベクトルレジスタの各要素対応に、該要素データの使用
    の可否を表示するフラグを用意する構成を採り、 かつ、演算パイプラインは、上記フラグ値を要素データ
    に対応付けて伝播することで、演算結果の有効・無効を
    表示するよう構成されることを、 特徴とするパイプライン制御方式。
  3. 【請求項3】 請求項1又は2記載のパイプライン制御
    方式において、 ベクトルロード命令の実行に遅れが生ずるときに、書込
    先となるベクトルレジスタの要素の持つフラグに使用不
    可能を書き込むとともに、書込要素のアドレスをそのま
    ま維持し、一方、遅れが生じないときに、書込先となる
    ベクトルレジスタの要素の持つフラグに使用可能を書き
    込むとともに、書込要素のアドレスを次要素に進める第
    1の制御手段を備えることを、 特徴とするパイプライン制御方式。
  4. 【請求項4】 請求項1、2又は3記載のパイプライン
    制御方式において、 ベクトルレジスタからベクトルデータを読み出すベクト
    ル命令の実行時に、読出対象となるベクトルレジスタの
    要素の持つフラグ値を読み取って、該フラグ値が使用可
    能を表示するときには、読出要素のアドレスを次要素に
    進め、一方、該フラグ値が使用不可能を表示するときに
    は、読出要素のアドレスをそのまま維持する第2の制御
    手段を備えることを、 特徴とするパイプライン制御方式。
  5. 【請求項5】 請求項1、2、3又は4記載のパイプラ
    イン制御方式において、 ベクトル演算命令の実行時に、演算パイプラインの最終
    ステージの持つフラグ値を読み取って、該フラグ値が使
    用可能を表示するときには、書込先となるベクトルレジ
    スタの要素の持つフラグに使用可能を書き込むととも
    に、書込要素のアドレスを次要素に進め、一方、該フラ
    グ値が使用不可能を表示するときには、書込先となるベ
    クトルレジスタの要素の持つフラグに使用不可能を書き
    込むとともに、書込要素のアドレスをそのまま維持する
    第3の制御手段を備えることを、 特徴とするパイプライン制御方式。
  6. 【請求項6】 請求項1、2、3、4又は5記載のパイ
    プライン制御方式において、 ベクトルレジスタにベクトルデータを書き込むベクトル
    命令の発信要求があるときに、該ベクトルレジスタの先
    頭要素の持つフラグ値が使用可能を表示するときには、
    該フラグ値を使用不可能に変更してから命令実行に入る
    ことを指示し、一方、該フラグ値が使用不可能を表示す
    るときには、該フラグ値が使用可能を表示することにな
    るまで、命令実行の保留を指示する第4の制御手段を備
    えることを、 特徴とするパイプライン制御方式。
  7. 【請求項7】 請求項1、2、3、4、5又は6記載の
    パイプライン制御方式において、 リセット時に、ベクトルレジスタの持つ全フラグに使用
    可能を書き込む第5の制御手段を備えることを、 特徴とするパイプライン制御方式。
JP1032395A 1995-01-26 1995-01-26 パイプライン制御方式 Withdrawn JPH08202687A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1032395A JPH08202687A (ja) 1995-01-26 1995-01-26 パイプライン制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1032395A JPH08202687A (ja) 1995-01-26 1995-01-26 パイプライン制御方式

Publications (1)

Publication Number Publication Date
JPH08202687A true JPH08202687A (ja) 1996-08-09

Family

ID=11747024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1032395A Withdrawn JPH08202687A (ja) 1995-01-26 1995-01-26 パイプライン制御方式

Country Status (1)

Country Link
JP (1) JPH08202687A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009054032A (ja) * 2007-08-28 2009-03-12 Toshiba Corp 並列プロセッサ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009054032A (ja) * 2007-08-28 2009-03-12 Toshiba Corp 並列プロセッサ

Similar Documents

Publication Publication Date Title
US8004533B2 (en) Graphics input command stream scheduling method and apparatus
JPS63131230A (ja) 情報処理装置
JP2560988B2 (ja) 情報処理装置および処理方法
JPH08505725A (ja) 命令実行を制御するため命令にタグを割り当てるシステム及び方法
JP3797570B2 (ja) セマフォ命令用のセマフォ・バッファを用いた装置と方法
JPS63240664A (ja) 高速処理計算機
JP2004529405A (ja) 依存性を決定するためのコンテンツ・アドレス指定可能メモリを実装したスーパースケーラ・プロセッサ
EP0223150B1 (en) Information processing apparatus
CN113051071A (zh) 命令提交方法和装置、命令读取方法和装置、电子设备
CA1311308C (en) Processor-processor synchronization
JPH08202687A (ja) パイプライン制御方式
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
JP2001014161A (ja) プログラマブルコントローラ
JP3158107B2 (ja) 浮動小数点状態および制御レジスタ(fpscr)命令を直接実行するための方法および装置
JP2668987B2 (ja) データ処理装置
JP3405106B2 (ja) プログラマブルコントローラ
JP2824484B2 (ja) パイプライン処理計算機
JPH06324861A (ja) Cpu制御システム及び制御方法
JP3182177B2 (ja) ベクトル演算処理機能を有する中央数値処理装置及びベクトル演算処理方法
JP7137058B2 (ja) 演算処理装置、情報処理装置及び情報処理装置の制御方法
JP2002351658A (ja) 演算処理装置
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式
JPH0269825A (ja) パイプライン制御方式
JP3743155B2 (ja) パイプライン制御型計算機
JP3063593B2 (ja) プログラマブルコントローラ

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20020402