JP2002366538A - ベクトル処理装置及び該装置を用いた追い越し制御方法 - Google Patents

ベクトル処理装置及び該装置を用いた追い越し制御方法

Info

Publication number
JP2002366538A
JP2002366538A JP2001176946A JP2001176946A JP2002366538A JP 2002366538 A JP2002366538 A JP 2002366538A JP 2001176946 A JP2001176946 A JP 2001176946A JP 2001176946 A JP2001176946 A JP 2001176946A JP 2002366538 A JP2002366538 A JP 2002366538A
Authority
JP
Japan
Prior art keywords
instruction
overtaking
bit
store
store instruction
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.)
Granted
Application number
JP2001176946A
Other languages
English (en)
Other versions
JP3789320B2 (ja
Inventor
Yoko Isobe
洋子 磯部
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2001176946A priority Critical patent/JP3789320B2/ja
Publication of JP2002366538A publication Critical patent/JP2002366538A/ja
Application granted granted Critical
Publication of JP3789320B2 publication Critical patent/JP3789320B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】先行ストア系命令と後続ロード系命令の追い越
し制御を的確に行い、プログラム処理の高速化を図るこ
とができるベクトル処理装置及び追い越し制御方法の提
供。 【解決手段】先行するストア系命令と後続に発行される
ロード系命令のアクセスするアドレス領域を比較し、ア
ドレス領域が重なっていない場合は後続のロード系命令
のメモリアクセスを先に実行する追い越し制御手段を備
えるベクトル処理装置において、命令語中に追い越しビ
ットを設け、ソフトウェアによって命令語を生成する際
に先行ストア命令と後続ロード命令のアクセスするアド
レス領域がプログラム上重ならないことがわかっている
場合に該追い越しビットを1にセットし、両アドレス領
域の重なっている場合、あるいは重なりが判別できない
場合は該ビットを0にセットし、該ビットを判別し後続
ロード系命令の追い越しの可否を判定する追い越しビッ
ト判定手段を設ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ベクトル処理装置
及び該装置を用いた追い越し制御方法に関し、特に、メ
モリアクセス系命令の追い越し制御機能を有するベクト
ル処理装置及び該装置を用いた追い越し制御方法に関す
る。
【0002】
【従来の技術】一般に、命令処理の高速化を目的とした
ベクトル処理方式においては、メモリアクセス系の命令
で先行するストア命令の領域に後続に発行されるロード
系の命令のアクセス領域が重なっていない場合、後続の
ロード系命令のメモリアクセスを先に実行させ、メモリ
アクセスの高速化を図るというベクトルストア追い越し
制御方式が行われている。
【0003】従来のこの種のベクトルストア命令追い越
し制御は、例えば、特開平9−231203号公報に記
載されているように、リクエスト受付時にメモリをアク
セスするアドレス、及び領域が判明しているようなベク
トルストア命令とロード系命令が追い越し制御の対象に
なっている。
【0004】
【発明が解決しようとする課題】しかしながら、従来の
メモリアクセス系命令の追い越し制御機能を有している
ベクトル処理装置においては、次のような課題がある。
【0005】その一つは、先行命令がリストベクトルス
トア命令の場合には、追い越し制御処理時にはメモリを
アクセスするアドレス領域が不明であるため、後続のロ
ード系命令とのアドレス領域の重なりをチェックするこ
とができないので、後続のロード系命令は先行するリス
トベクトルストア命令を追い越して処理できないという
ことである。
【0006】また、例えば、特開昭61−100845
号公報に記載されているように、ソフトウェアでメモリ
アクセス順序の同期処理をPOST命令、およびWAIT命令に
よって制御するような追い越し制御方式によってメモリ
アクセスの高速化を図っている場合もある。この場合
は、先行ストア系命令と後続ロード系命令の追い越し制
御機能をハードウェアで有していないため、ソフトウェ
アで先行ストア命令と後続ロード命令のアドレス参照関
係が認識できない場合は先行ベクトルストア命令と後続
ロード系命令の参照アドレス領域が一致していない場合
でも追い越しができないということである。
【0007】本発明は、上記問題点に鑑みてなされたも
のであって、その主たる目的は、先行ストア系命令と後
続ロード系命令の追い越し制御を的確に行い、プログラ
ム処理の高速化を図ることができるベクトル処理装置及
び該装置を用いた追い越し制御方法を提供することにあ
る。
【0008】
【問題を解決するための手段】上記目的を達成するた
め、本発明のベクトル処理装置は、先行するストア系命
令と後続のロード系命令との追い越し制御を行うベクト
ル処理装置であって、前記ストア系命令及び前記ロード
系命令の命令語中に、メモリアクセスのアドレス領域の
プログラム上での重なりを規定する追い越しビットを設
定し、前記ストア系命令がリストベクトルストア命令で
ある場合に、前記追い越しビットを参照して追い越し制
御が行われるものである。
【0009】また、本発明のベクトル処理装置は、先行
するストア系命令と後続のロード系命令との追い越し制
御を行うベクトル処理装置であって、ソフトウェアが命
令語生成時に、前記ストア系命令及び前記ロード系命令
のプログラム上でのアドレス領域の重なりを判断して追
い越しビットを設定し、該追い越しビットを参照して前
記後続のロード系命令の追い越し制御を行う第1の追い
越し判定手段と、前記ストア系命令及び前記ロード系命
令のアドレス領域を計算し、計算した前記アドレス領域
の重なりを参照して追い越し制御を行う第2の追い越し
判定手段と、を少なくとも有するものである。
【0010】本発明においては、前記ストア系命令がリ
ストベクトルストア命令の場合は、前記第1の追い越し
判定手段によって追い越しの可否が判定され、前記スト
ア系命令がベクトルストア命令の場合は、前記第2の追
い越し判定手段によって追い越しの可否が判定されるこ
とが好ましい。
【0011】また、本発明においては、前記先行ストア
命令と前記後続ロード命令のアクセス領域のプログラム
上での重なりがないことが判明している場合に、前記追
い越しビットに”1”が設定され、前記アクセス領域が
重なる場合、あるいは重なりが判別できない場合に、前
記追い越しビットに”0”が設定され、前記追い越しビ
ットの値が”1”の場合のみ、該追い越しビットに基づ
く追い越し判定が”追い越し可能”となる構成とするこ
とができる。
【0012】また、本発明においては、前記ベクトル処
理装置に、命令発行部と、該命令発行部から発行された
リクエストを受け付けるリクエスト受付手段と、該リク
エスト受付手段で振り分けられたストア系命令とロード
系命令とを各々保持するストア系命令保持手段及びロー
ド系命令保持手段と、前記ストア系命令及び前記ロード
系命令のアクセス領域を計算するアクセス領域計算手段
と、該アクセス領域計算手段の計算結果に基づいてアク
セス領域の重なりを判定するアドレス領域判定手段と、
前記ストア系命令及び前記ロード系命令に含まれる前記
追い越しビットを抽出する追い越しビット判定手段と、
前記アドレス領域判定手段及び前記追い越しビット判定
手段の判定結果を参照して追い越し判定を行う追い越し
チェック判定手段と、を備える構成とすることもでき
る。
【0013】また、本発明においては、前記追い越しビ
ットに代えて、前記ストア系命令及び前記ロード系命令
の命令語毎に判定テーブルを設け、該判定テーブルを参
照して追い越し制御が行われる構成とすることもでき
る。
【0014】本発明の追い越し制御方法は、ベクトル処
理装置における先行するストア系命令と後続のロード系
命令との追い越し制御方法において、前記ストア系命令
及び前記ロード系命令におけるメモリアクセスのアドレ
ス領域のプログラム上での重なりを判断するステップ
と、前記ストア系命令及び前記ロード系命令の命令語中
に、前記重なりに応じて追い越しビットを設定するステ
ップと、前記ストア系命令がリストベクトルストア命令
の場合に、前記追い越しビットを参照して追い越し判定
を行うステップとを少なくとも有するものである。
【0015】また、本発明の追い越し制御方法は、ベク
トル処理装置における先行するストア系命令と後続のロ
ード系命令との追い越し制御方法において、ソフトウェ
アが命令語生成時に、前記ストア系命令及び前記ロード
系命令のプログラム上でのアドレス領域の重なりを判断
して追い越しビットを設定するステップと、前記ストア
系命令がリストベクトルストア命令の場合に、該追い越
しビットを参照して前記後続のロード系命令の追い越し
判定を行うステップと、前記ストア系命令がベクトルス
トア命令の場合に、各々の命令のアドレス領域を計算す
るステップと、計算した前記アドレス領域の重なりを参
照して追い越し判定を行うステップと、を少なくとも有
するものである。
【0016】このように、本発明は上記構成により、先
行するリストベクトルストア命令と後続のロード系命令
のアドレス領域が重ならない場合に後続ロード系命令を
先行して処理することができ、プログラム処理の高速化
を図ることができる。
【0017】
【発明の実施の形態】本発明に係るベクトル処理装置
は、その好ましい一実施の形態において、先行するスト
ア系命令と後続に発行されるロード系命令のアクセスす
るアドレス領域を比較し、アドレス領域が重なっていな
い場合は後続のロード系命令のメモリアクセスを先に実
行する命令追い越し制御手段を備えるベクトル処理装置
において、命令語中に追い越しビットを設け、ソフトウ
ェア(コンパイラ)によって命令語を生成する際に先行
ストア命令と後続ロード命令のアクセスするアドレス領
域がプログラム上重ならないことがわかっている場合に
該追い越しビットを1にセットし、両アドレス領域の重
なっている場合、あるいは重なりが判別できない場合は
該ビットを0にセットし、該ビットを判別し後続ロード
系命令の追い越しの可否を判定する追い越しビット判定
手段を設けるものである。以下、本発明の一構成例を示
す図1を参照して説明する。
【0018】図1に示すように、命令発行部1から発行
されたメモリアクセス系命令はリクエスト受付レジスタ
2で受け付け、受け付けた命令がストア系命令の場合は
ストア命令保持レジスタ3に、また、受け付けた命令が
ロード系命令の場合はロード命令保持レジスタ4に保持
する。アクセス領域計算手段6は、ストア命令保持レジ
スタ3から送出されるベクトルストア命令と、ロード命
令保持レジスタ4から送出されるロード系命令のアドレ
ス領域計算を行う。領域保持手段7、8は、アクセス領
域計算手段6により領域計算をおこなったアドレス領域
を保持する。この場合、領域保持レジスタ7にはベクト
ルストア命令のアドレスを、また領域保持レジスタ8に
はロード系命令のアドレスを保持する。アドレス領域判
定手段9は、領域保持レジスタ7に保持されているベク
トルストア命令のアドレス領域と、領域保持レジスタ8
に保持されているロード系命令のアドレス領域を比較
し、ロード系命令がベクトルストア命令を追い越すこと
ができるかどうかアドレス領域を判定する。
【0019】また、ストア命令保持レジスタ3に保持さ
れた命令の命令語中の追い越し指示ビットを追い越しビ
ット判定手段10に送出し、ロード命令保持レジスタ4
に保持されたロード系命令の追い越し指示ビットも追い
越しビット判定手段10に送出する。追い越しビット判
定手段10は、送出された追い越し指示ビットを比較
し、ロード系命令がリストベクトルストア命令を追い越
すことができるかどうかを判定する。この命令語中の追
い越し指示ビットは、ソフトウェアにより命令語作成の
際に設定され、先行リストベクトルストア命令と後続ロ
ード系命令のアドレス領域がプログラム上重ならないこ
とが判明している場合に追い越しビットが有効になる。
追い越しチェック判定11は、アドレス領域判定手段9
と追い越しビット判定手段10の判定結果から先行する
ストア系命令を後続のロード系命令が追い越せるかどう
かを決定する。
【0020】一方、命令パイプライン保持手段5は、ロ
ード命令保持レジスタ4から送出されるロード命令を、
アクセス領域計算手段6、アドレス領域判定手段9、追
い越しビット判定手段10、及び追い越しチェック判定
手段11によってアドレス計算や追い越しチェック判定
を行っている間、パイプラインで保持する。
【0021】選択手段12は、リクエスト受付レジスタ
2から送出されるロード系命令と、ロード命令保持レジ
スタ4から送出されるロード系命令と、ストア命令保持
レジスタ3から送出されるストア系命令の中から、追い
越しチェック判定手段11により追い越しが可能かどう
かの制御信号により1つを選択するセレクタである。
【0022】このようにして、本願発明では、ソフトウ
ェアで先行するリストベクトルストア命令と後続のロー
ド系命令の追い越しの可否を命令語中の追い越しビット
で指定し、追い越しビット判定手段10では、追い越し
ビットを判定して追い越しの可否を決定し、追い越し可
能な場合は先行するリストベクトルストア命令を後続の
ロード系命令が追い越して処理することができるため、
ベクトル命令列を高速に処理することができる。
【0023】
【実施例】上記した本発明の実施の形態についてさらに
詳細に説明すべく、本発明の実施例について図1乃至図
4を参照して説明する。図1は、本発明の一実施例に係
るベクトル処理装置の構成を示すブロック図であり、図
2は、命令語の構成を示す図である。また、図3は、各
命令におけるアドレス領域の計算方法を説明するための
図であり、図4は、本実施例のプログラムソースコード
の一例を示す図である。
【0024】まず、図1を参照して本実施例のベクトル
処理装置の各構成要素について説明する。リクエスト受
付レジスタ2は、命令発行部1から発行されたメモリア
クセス系命令を信号線100を介して受け取る。リクエ
スト受付レジスタ2で受け付けた命令がストア系命令の
場合(この判断回路は図示省略)は、信号線101を介
してストア命令保持レジスタ3で保持される。また、リ
クエスト受付レジスタ2で受け付けた命令がロード系命
令の場合は、信号線101を介してロード命令保持レジ
スタ4に保持されるが、ストア命令保持レジスタ3にス
トア命令が保持されていない場合は、ロード命令保持レ
ジスタ4には格納せずに後述する選択手段12に命令を
送出する。
【0025】アクセス領域計算手段6は、信号線102
を介してストア命令保持レジスタ3から送出されるベク
トルストア命令と、信号線103を介してロード命令保
持レジスタ4から送出されるロード系命令のメモリアク
セスのアドレス領域を計算する。このアドレス領域計算
において、アドレス領域の最終アドレスは、図3に示す
ように、各命令における{先頭アドレス+(ベクトル要
素−1)×ベクトル要素間ディスタンス+要素長}で計
算される。また、ロード系命令がスカラ命令の場合は、
ベクトル要素=1で計算される。
【0026】つまり、先頭アドレスから最終アドレスま
でが各命令におけるアドレス領域となる。ここで、アク
セス領域計算手段6は、ストア命令保持レジスタ3から
送出された命令がリストベクトルストア命令の場合、ア
ドレス領域計算は行わずに領域計算の結果を“0”にす
る。
【0027】領域保持レジスタ7は、アクセス領域計算
手段6により領域計算を行ったベクトルストア命令のア
ドレス領域を信号線104を介して保持する。また、領
域保持レジスタ8は、信号線105を介して、後続のベ
クトルロード命令のアドレス領域を保持する。アドレス
領域判定手段9は、信号線106を介して送出される領
域保持レジスタ7に保持したベクトルストア命令のアド
レス領域と、信号線107を介して送出される領域保持
レジスタ8に保持したロード系命令のアドレス領域とを
比較し、後続ロード系命令がベクトルストア命令を追い
越すことができるかどうかを判定し、追い越しが可能な
場合は、信号線108を介して追い越しチェック判定手
段11に“1”を送出し、追い越しが不可能な場合は
“0”を送出する。また、アドレス領域判定手段9は、
領域保持レジスタ7から送出された値が“0”の場合、
つまりリストベクトルストア命令の場合は、“0”を追
い越しチェック判定手段11に送出する。
【0028】また、ストア命令保持レジスタ3はレジス
タ内の命令語(命令語については後述)中の命令を示す
オペコード(OP)と追い越し指示ビットを、信号線1
09を介して追い越しビット判定手段10に送出し、ロ
ード命令保持レジスタ4はレジスタ内の命令語中の命令
を示すオペコード(OP)と追い越し指示ビットを、信
号線110を介して追い越しビット判定手段10に送出
する。追い越しビット判定手段10は、信号線109、
110を介して受け取ったオペコード(OP)と追い越
し指示ビットを比較し、後続ロード系命令が先行するス
トア系命令を追い越せるかどうかを判定し、追い越しが
可能な場合は、信号線111を介して追い越しチェック
判定手段11に“1”を送出し、追い越しが不可能な場
合は“0”を送出する。また、ストア命令保持レジスタ
3から送出されたオペコードがベクトルストア命令を示
す場合は、追い越しチェック判定手段11には“0”を
送出する。
【0029】追い越しチェック判定手段11は、アドレ
ス領域判定手段9及び追い越しビット判定手段10から
送出される追い越し判定結果から、どちらかの判定結果
が“1”の場合には先行するストア系命令を後続のロー
ド系命令が追い越せると判定し、両方の判定結果が
“0”の場合には後続のロード系命令が追い越せないと
判定する。判定結果は信号線112を介して選択手段1
2に送出される。
【0030】一方、命令パイプライン保持手段5は、ロ
ード命令保持レジスタ4から送出されるロード命令をア
クセス領域計算手段6、アドレス領域判定手段9、追い
越しビット判定手段10及び追い越しチェック判定手段
11によってアドレス領域計算や追い越しチェック判定
を行っている間、パイプラインで保持する。ここではア
ドレス領域計算、追い越しチェック判定までに4Tかか
ると仮定し、命令パイプライン保持手段5は4段のレジ
スタ構成としている。
【0031】選択手段12は、リクエスト受付レジスタ
2から送出されるロード系命令と、ロード保持レジスタ
4から命令パイプライン保持手段5を経由して送出され
るロード系命令と、ストア命令保持レジスタ3から送出
されるストア系命令の中から、追い越しチェック判定手
段11からの制御信号112を参照して1つの命令を選
択し、信号線113を介して選択されたメモリリクエス
ト命令を送出する。すなわち、選択手段12は、制御信
号が“0”の場合は、追い越し不可を示すためストア系
命令を選択し、制御信号が“1”の場合は追い越し可能
を示すためロード系命令を選択する。
【0032】次に、図2を用いて命令語について説明す
る。図2(a)は、ベクトルロード命令、及びベクトル
ストア命令の命令語の一部を示している。命令語200
は、OP201、追い越し指示ビット202、先頭アド
レス203、及びベクトル要素間ディスタンス204な
どで構成されている。OP201では命令の種類、例え
ばベクトルロード命令を指定する。追い越し指示ビット
202は、ソフトウェア(コンパイラ)が命令語生成時
に設定し、命令がロード系命令の場合に、先行するリス
トベクトルストア命令と該ロード系命令のアドレス領域
がプログラム的に重ならないことが判明している場合に
追い越し可能であることをフラグとして設定する。例え
ば、アドレス領域が重ならないことが判明している場合
は追い越し指示ビットには“1”を、判明していない場
合は追い越し指示ビットには“0”を設定する。
【0033】また、図2(b)は、リストベクトルスト
ア命令の命令語の一部を示している。命令語210は、
OP211、追い越し指示ビット212、メモリをアク
セスするアドレスが格納されているベクトルレジスタを
示すVR213などで構成されている。追い越し指示ビ
ット212も図2(a)での命令語と同様に、ソフトウ
ェア(コンパイラ)が制御しており、該リストベクトル
命令でアクセスするアドレス領域と後続ロード系命令で
アクセスするアドレス領域が重ならないことが判明して
いる場合、後続ロード系命令は追い越し可能であること
を指定し、アドレス領域が重ならないかどうか判明して
いない場合は、後続ロード系命令は追い越し不可能であ
ることを指定する。
【0034】追い越しビット判定手段10は、ストア命
令保持レジスタ3内のストア系命令と、ロード命令保持
レジスタ4内のロード系命令のオペコード、及び追い越
し指示ビットを比較する。ストア命令保持レジスタ3か
らのストア系命令のオペコードがリストベクトルストア
命令を示しており、かつストア系命令とロード系命令の
両者の追い越し指示ビットが“1”の場合は、追い越し
可能と判断し判定結果として追い越し可能であることを
示す“1”を追い越しチェック判定手段11に送出し、
両者の追い越し指示ビットのうちどちらか片方でも
“0”の場合は、追い越し不可能と判断し判定結果とし
て追い越し不可能であることを示す“0”を追い越しチ
ェック判定手段11に送出する。また、ストア命令保持
レジスタ3から送出されたストア系命令のオペコードが
ベクトルストア命令を示している場合は、追い越し指示
ビットの内容に関わらず、判定結果として追い越しチェ
ック判定手段11には“0”を送出する。この場合は、
後続ロード系命令の追い越しの可否はアドレス領域判定
手段9での判定結果に依存することになる。
【0035】以上詳細に実施例の構成を述べたが、上記
実施例では、追い越される対象となるストア系命令を1
個としているが、任意の個数nであってもよい。その場
合には、ベクトルストア命令保持レジスタはn個とな
り、領域保持レジスタも(n+1)個となる。また、命
令語中の追い越し指示ビット数もnビット用意する必要
がある。
【0036】また、上記実施例では、ソフトウェアでの
追い越し判定結果を命令語中のビットで指示している
が、命令語毎に判定テーブルを用意し、追い越しビット
判定手段10は該テーブルの内容にしたがって追い越し
の可否の判定をすることも可能である。
【0037】次に、図4を用いて、ソフトウェア(コン
パイラ)での追い越しの可否の判定例を説明する。
【0038】図4は、フォートランソースコードのDO
ループの一例である。2行目の左辺の処理:A(L
(I))がリストベクトルストア命令で処理されること
を意味する。コンパイラはこれらの式を機械語(命令
語)レベルに翻訳し、例えば、図4(a)で示されるコ
ードは、図4(c)のような命令列に翻訳される。ここ
で、図4(c)の(5)のリストベクトルストア命令
(VSC)と(6)のベクトルロード命令(VLD)で
扱う配列をみてみると、VSC命令でアクセスする配列
はAという配列であり、VLD命令でアクセスする配列
はDという配列であることがわかる。コンパイラはこの
配列をチェックし、この場合は別の配列をアクセスする
ことから先行するVSC命令と後続のVLD命令のアド
レス領域は重ならないことが判明するので、両命令の追
い越し指示ビットには“1”を設定する。
【0039】また、図4(b)で示されるコードの命令
列例を図4(d)に示す。この場合、図4(d)の
(5)のVSC命令と(6)のVLD命令で扱う配列を
みてみると、両者ともAという配列になっていることが
わかる。コンパイラはこの配列をチェックし、(6)の
VLD命令は(5)のVSC命令よりも先に処理をする
ことはできないことがわかるので、両命令の追い越し指
示ビットには“0”を設定する。
【0040】このように本実施例のベクトル処理装置及
び該装置を用いた追い越し制御方法によれば、アクセス
領域計算手段6、アドレス領域判定手段9等により、ベ
クトルストア命令とロード系命令の追い越し可否を判定
すると共に、命令語中に追い越しビットを設け、ソフト
ウェア上でリストベクトルストア命令と後続のロード系
命令の追い越し可否を判定することにより、的確にスト
ア系命令とロード系命令の追い越し制御を行うことがで
き、プログラムの処理を高速化することができる。
【0041】
【発明の効果】以上説明したように、本発明のベクトル
処理装置及び該装置を用いた追い越し制御方法によれ
ば、以下記載の効果を奏する。
【0042】本発明の第1の効果は、ソフトウェアで先
行するリストベクトルストア命令と後続のベクトルロー
ド命令でアクセスするアドレス領域の重なりをチェック
しており、その情報を元に追い越しビット判定手段で後
続ロード系命令の追い越しの制御をしているので、先行
するリストベクトルストア命令の処理を待たずに後続の
ロード系命令が追い越して処理でき、プログラムの処理
を高速化できるということである。
【0043】また、本発明の第2の効果は、アクセス領
域計算手段、及びアドレス領域判定手段を備えることに
よってベクトルストア命令とロード系命令のアドレス領
域計算と該情報から追い越しの可否を判定しており、ベ
クトルストア命令とロード系命令の追い越しの判定はソ
フトウェアでアドレス領域の重なりをチェックしていな
いので、ソフトウェアでは追い越しの可否が判定できな
いようなケースでも先行するベクトルストア命令を後続
のロード系命令が追い越して処理できるようになり、プ
ログラムの処理を高速化できるということである。
【図面の簡単な説明】
【図1】本発明の一実施例に係るベクトル処理装置の構
成を示すブロック図である。
【図2】本発明の一実施例に係る命令語の構成を示す図
であり、(a)はベクトルロード/ストア命令語、
(b)はリストベクトルストア命令語を示す図である。
【図3】本発明の一実施例に係るアドレス領域の計算方
法を説明するための図である。
【図4】本発明の一実施例に係るプログラムのソースコ
ードの一部を示す図である。
【符号の説明】
1 命令発行部 2 リクエスト受付レジスタ 3 ストア命令保持レジスタ 4 ロード命令保持レジスタ 5 命令パイプライン保持手段 6 アクセス領域計算手段 7、8 領域保持レジスタ 9 アドレス領域判定手段 10 追い越しビット判定手段 11 追い越しチェック判定手段 12 選択手段 100〜113 信号線 200 命令語 201 オペコード 202 追い越し指示ビット 203 先頭アドレス 204 要素間ディスタンス 210 命令語 211 オペコード 212 追い越し指示ビット 213 ベクトルレジスタ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 9/45 G06F 12/00 560E 12/00 560 592 592 12/02 580C 12/02 580 9/44 322F

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】先行するストア系命令と後続のロード系命
    令との追い越し制御を行うベクトル処理装置であって、 前記ストア系命令及び前記ロード系命令の命令語中に、
    メモリアクセスのアドレス領域のプログラム上での重な
    りを規定する追い越しビットを設定し、前記ストア系命
    令がリストベクトルストア命令である場合に、前記追い
    越しビットを参照して追い越し制御が行われることを特
    徴とするベクトル処理装置。
  2. 【請求項2】先行するストア系命令と後続のロード系命
    令との追い越し制御を行うベクトル処理装置であって、 ソフトウェアが命令語生成時に、前記ストア系命令及び
    前記ロード系命令のプログラム上でのアドレス領域の重
    なりを判断して追い越しビットを設定し、該追い越しビ
    ットを参照して前記後続のロード系命令の追い越し制御
    を行う第1の追い越し判定手段と、前記ストア系命令及
    び前記ロード系命令のアドレス領域を計算し、計算した
    前記アドレス領域の重なりを参照して追い越し制御を行
    う第2の追い越し判定手段と、を少なくとも有すること
    を特徴とするベクトル処理装置。
  3. 【請求項3】前記ストア系命令がリストベクトルストア
    命令の場合は、前記第1の追い越し判定手段によって追
    い越しの可否が判定され、前記ストア系命令がベクトル
    ストア命令の場合は、前記第2の追い越し判定手段によ
    って追い越しの可否が判定されることを特徴とする請求
    項2記載のベクトル処理装置。
  4. 【請求項4】前記先行ストア命令と前記後続ロード命令
    のアクセス領域のプログラム上での重なりがないことが
    判明している場合に、前記追い越しビットに”1”が設
    定され、前記アクセス領域が重なる場合、あるいは重な
    りが判別できない場合に、前記追い越しビットに”0”
    が設定され、前記追い越しビットの値が”1”の場合の
    み、該追い越しビットに基づく追い越し判定が”追い越
    し可能”となることを特徴とする請求項1乃至3のいず
    れか一に記載のベクトル処理装置。
  5. 【請求項5】前記ベクトル処理装置に、命令発行部と、
    該命令発行部から発行されたリクエストを受け付けるリ
    クエスト受付手段と、該リクエスト受付手段で振り分け
    られたストア系命令とロード系命令とを各々保持するス
    トア系命令保持手段及びロード系命令保持手段と、前記
    ストア系命令及び前記ロード系命令のアクセス領域を計
    算するアクセス領域計算手段と、該アクセス領域計算手
    段の計算結果に基づいてアクセス領域の重なりを判定す
    るアドレス領域判定手段と、前記ストア系命令及び前記
    ロード系命令に含まれる前記追い越しビットを抽出する
    追い越しビット判定手段と、前記アドレス領域判定手段
    及び前記追い越しビット判定手段の判定結果を参照して
    追い越し判定を行う追い越しチェック判定手段と、を備
    えることを特徴とする請求項2乃至4のいずれか一に記
    載のベクトル処理装置。
  6. 【請求項6】前記追い越しビットに代えて、前記ストア
    系命令及び前記ロード系命令の命令語毎に判定テーブル
    を設け、該判定テーブルを参照して追い越し制御が行わ
    れることを特徴とする請求項1乃至5のいずれか一に記
    載のベクトル処理装置。
  7. 【請求項7】ベクトル処理装置における先行するストア
    系命令と後続のロード系命令との追い越し制御方法にお
    いて、 前記ストア系命令及び前記ロード系命令におけるメモリ
    アクセスのアドレス領域のプログラム上での重なりを判
    断するステップと、前記ストア系命令及び前記ロード系
    命令の命令語中に、前記重なりに応じて追い越しビット
    を設定するステップと、前記ストア系命令がリストベク
    トルストア命令の場合に、前記追い越しビットを参照し
    て追い越し判定を行うステップとを少なくとも有するこ
    とを特徴とする追い越し制御方法。
  8. 【請求項8】ベクトル処理装置における先行するストア
    系命令と後続のロード系命令との追い越し制御方法にお
    いて、 ソフトウェアが命令語生成時に、前記ストア系命令及び
    前記ロード系命令のプログラム上でのアドレス領域の重
    なりを判断して追い越しビットを設定するステップと、
    前記ストア系命令がリストベクトルストア命令の場合
    に、該追い越しビットを参照して前記後続のロード系命
    令の追い越し判定を行うステップと、前記ストア系命令
    がベクトルストア命令の場合に、各々の命令のアドレス
    領域を計算するステップと、計算した前記アドレス領域
    の重なりを参照して追い越し判定を行うステップと、を
    少なくとも有することを特徴とする追い越し制御方法。
  9. 【請求項9】前記先行ストア命令と前記後続ロード命令
    のアクセス領域のプログラム上での重なりがないことが
    判明している場合に、前記追い越しビットに”1”を設
    定し、前記アクセス領域が重なる場合、あるいは重なり
    が判別できない場合に、前記追い越しビットに”0”を
    設定し、前記追い越しビットの値が”1”の場合のみ、
    該追い越しビットに基づく追い越し判定を行うことを特
    徴とする請求項7又は8に記載のベクトル処理装置によ
    る追い越し制御方法。
JP2001176946A 2001-06-12 2001-06-12 ベクトル処理装置及び該装置を用いた追い越し制御方法 Expired - Lifetime JP3789320B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001176946A JP3789320B2 (ja) 2001-06-12 2001-06-12 ベクトル処理装置及び該装置を用いた追い越し制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001176946A JP3789320B2 (ja) 2001-06-12 2001-06-12 ベクトル処理装置及び該装置を用いた追い越し制御方法

Publications (2)

Publication Number Publication Date
JP2002366538A true JP2002366538A (ja) 2002-12-20
JP3789320B2 JP3789320B2 (ja) 2006-06-21

Family

ID=19017865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001176946A Expired - Lifetime JP3789320B2 (ja) 2001-06-12 2001-06-12 ベクトル処理装置及び該装置を用いた追い越し制御方法

Country Status (1)

Country Link
JP (1) JP3789320B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526629B2 (en) 2004-02-23 2009-04-28 Nec Corporation Vector processing apparatus with overtaking function to change instruction execution order
JP2010198439A (ja) * 2009-02-26 2010-09-09 Nec Corp ベクトル命令間追い越し判定装置と方法
JP2011118743A (ja) * 2009-12-04 2011-06-16 Nec Corp ベクトル型計算機及びベクトル型計算機の命令制御方法
JP2012048352A (ja) * 2010-08-25 2012-03-08 Nec Corp データ処理装置、メモリアクセス制御方法及びメモリアクセス制御プログラム
JP2012150634A (ja) * 2011-01-19 2012-08-09 Nec Corp ベクトル命令制御回路及びリストベクトルの追い越し制御方法
JP2012160071A (ja) * 2011-02-01 2012-08-23 Nec Computertechno Ltd コンピュータシステム、試験装置、試験方法、及び試験プログラム
JP2014153851A (ja) * 2013-02-07 2014-08-25 Nec Computertechno Ltd 命令実行制御装置、命令実行制御システム、命令実行制御方法、及び、命令実行制御プログラム
JP2014532221A (ja) * 2011-09-28 2014-12-04 エイアールエム リミテッド 乳幼児のためのインタラクションサービスを提供する装置及び方法、これを利用したシステム
US11550589B2 (en) 2018-12-06 2023-01-10 Fujitsu Limited Inhibiting load instruction execution based on reserving a resource of a load and store queue but failing to reserve a resource of a store data queue

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7040187B2 (ja) * 2018-03-20 2022-03-23 日本電気株式会社 コンパイラ

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526629B2 (en) 2004-02-23 2009-04-28 Nec Corporation Vector processing apparatus with overtaking function to change instruction execution order
JP2010198439A (ja) * 2009-02-26 2010-09-09 Nec Corp ベクトル命令間追い越し判定装置と方法
JP2011118743A (ja) * 2009-12-04 2011-06-16 Nec Corp ベクトル型計算機及びベクトル型計算機の命令制御方法
JP2012048352A (ja) * 2010-08-25 2012-03-08 Nec Corp データ処理装置、メモリアクセス制御方法及びメモリアクセス制御プログラム
JP2012150634A (ja) * 2011-01-19 2012-08-09 Nec Corp ベクトル命令制御回路及びリストベクトルの追い越し制御方法
JP2012160071A (ja) * 2011-02-01 2012-08-23 Nec Computertechno Ltd コンピュータシステム、試験装置、試験方法、及び試験プログラム
JP2014532221A (ja) * 2011-09-28 2014-12-04 エイアールエム リミテッド 乳幼児のためのインタラクションサービスを提供する装置及び方法、これを利用したシステム
JP2014153851A (ja) * 2013-02-07 2014-08-25 Nec Computertechno Ltd 命令実行制御装置、命令実行制御システム、命令実行制御方法、及び、命令実行制御プログラム
US11550589B2 (en) 2018-12-06 2023-01-10 Fujitsu Limited Inhibiting load instruction execution based on reserving a resource of a load and store queue but failing to reserve a resource of a store data queue

Also Published As

Publication number Publication date
JP3789320B2 (ja) 2006-06-21

Similar Documents

Publication Publication Date Title
JP2603626B2 (ja) データ処理装置
JPS58222361A (ja) デ−タ処理システムにおけるアクセス要求の優先順位決定制御方式
CA2497807A1 (en) Vector processing apparatus with overtaking function
JP2002366538A (ja) ベクトル処理装置及び該装置を用いた追い越し制御方法
US4833598A (en) I/O interrupt handling mechanism in a multiprocessor system
JP3721780B2 (ja) 複数のパイプライン処理機構を有するデータ処理装置
JP2723238B2 (ja) 情報処理装置
JPS63142431A (ja) パイプライン制御方式
JPH07306785A (ja) 分岐命令実行機能を持つプロセッサおよび分岐命令制御方法
JP2002032361A (ja) ベクトル収集・拡散命令実行順序制御装置
EP0261685B1 (en) Microprocessor system
JP3471691B2 (ja) マイクロ命令における分岐命令制御方式
JPH06274525A (ja) ベクトルデータプリフェッチ制御装置
JP2006202034A (ja) 半導体集積回路装置
JP3493110B2 (ja) 高速分岐処理装置
JPH0235525A (ja) 命令フェッチ制御方法
JPS60198640A (ja) パイプライン型情報処理装置
JPH0991139A (ja) 情報処理装置
JP3431503B2 (ja) 情報処理装置およびプログラム制御方法
JPH0713803A (ja) 疑似障害発生システム
JPH09106345A (ja) 演算処理方法及び装置
JPH0677235B2 (ja) 情報処理装置
JPH04213727A (ja) 情報処理装置
JPH0612260A (ja) 割込み処理方法及び装置
JPH06103465B2 (ja) 割込み制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050727

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050926

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060328

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3789320

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100407

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110407

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120407

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120407

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130407

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130407

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140407

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350