JPH10254853A - ベクトルデータ処理装置 - Google Patents
ベクトルデータ処理装置Info
- Publication number
- JPH10254853A JPH10254853A JP5881597A JP5881597A JPH10254853A JP H10254853 A JPH10254853 A JP H10254853A JP 5881597 A JP5881597 A JP 5881597A JP 5881597 A JP5881597 A JP 5881597A JP H10254853 A JPH10254853 A JP H10254853A
- Authority
- JP
- Japan
- Prior art keywords
- scalar
- vector
- scalar data
- address
- buffer
- 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
Links
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】
【課題】 ベクトル命令発行時のスカラデータレジスタ
へのアクセス頻度を低減して、スカラ命令によるスカラ
データレジスタへのアクセス可能タイミングを増加さ
せ、リソース待ちによるベクトル命令発行の遅れを短縮
する。 【解決手段】 命令バッファ13からの命令で使用する
スカラデータレジスタ18のスカラデータレジスタアド
レスをスカラデータアドレスバッファ16に保持し、ス
カラデータを使用するベクトル命令の処理時に、スカラ
データレジスタ18からのスカラデータと対応するスカ
ラデータレジスタアドレスとをベクトルプロセッサ12
のスカラデータ・アドレス保持バッファ22に保持す
る。また、スカラデータを使用するベクトル命令のベク
トル演算実行部24での演算結果をスカラデータバッフ
ァ23およびスカラデータレジスタ18に書き込む。
へのアクセス頻度を低減して、スカラ命令によるスカラ
データレジスタへのアクセス可能タイミングを増加さ
せ、リソース待ちによるベクトル命令発行の遅れを短縮
する。 【解決手段】 命令バッファ13からの命令で使用する
スカラデータレジスタ18のスカラデータレジスタアド
レスをスカラデータアドレスバッファ16に保持し、ス
カラデータを使用するベクトル命令の処理時に、スカラ
データレジスタ18からのスカラデータと対応するスカ
ラデータレジスタアドレスとをベクトルプロセッサ12
のスカラデータ・アドレス保持バッファ22に保持す
る。また、スカラデータを使用するベクトル命令のベク
トル演算実行部24での演算結果をスカラデータバッフ
ァ23およびスカラデータレジスタ18に書き込む。
Description
【0001】
【発明の属する技術分野】本発明は、ベクトルデータ処
理装置に関し、特に、スカラデータを使用するベクトル
命令の処理を高速化したベクトルデータ処理装置に関す
る。
理装置に関し、特に、スカラデータを使用するベクトル
命令の処理を高速化したベクトルデータ処理装置に関す
る。
【0002】
【従来の技術】従来この種のベクトルデータ処理装置に
は、「特開平6−162068号公報」記載の技術のよ
うに、ベクトル命令でスカラデータを使用する場合、ス
カラプロセッサからベクトルプロセッサに命令を送出す
るのに同期してこの命令で使用するスカラデータを送出
するものがある。また、このように送出された命令やス
カラデータをベクトルプロセッサ内のバッファに保持し
ておく方法がある。
は、「特開平6−162068号公報」記載の技術のよ
うに、ベクトル命令でスカラデータを使用する場合、ス
カラプロセッサからベクトルプロセッサに命令を送出す
るのに同期してこの命令で使用するスカラデータを送出
するものがある。また、このように送出された命令やス
カラデータをベクトルプロセッサ内のバッファに保持し
ておく方法がある。
【0003】これらの従来の方法においては、スカラデ
ータはスカラプロセッサからベクトルプロセッサへ命令
が発行される際に、すでに発行済みの先行命令での使用
状況がチェックされる。すなわち、ベクトル命令ごと
に、先行命令におけるスカラデータのスカラレジスタへ
のライトの終了を確認して、スカラレジスタからスカラ
データがリードされ、ベクトルプロセッサに送出され
る。また、先行命令でリードして使用するスカラデータ
と後続命令で使用するスカラデータとが同じであり、先
行命令と後続命令間にスカラレジスタの内容を書き換え
る命令が存在しなくても、その都度、スカラプロセッサ
からベクトルプロセッサへスカラデータの転送が行われ
ている。
ータはスカラプロセッサからベクトルプロセッサへ命令
が発行される際に、すでに発行済みの先行命令での使用
状況がチェックされる。すなわち、ベクトル命令ごと
に、先行命令におけるスカラデータのスカラレジスタへ
のライトの終了を確認して、スカラレジスタからスカラ
データがリードされ、ベクトルプロセッサに送出され
る。また、先行命令でリードして使用するスカラデータ
と後続命令で使用するスカラデータとが同じであり、先
行命令と後続命令間にスカラレジスタの内容を書き換え
る命令が存在しなくても、その都度、スカラプロセッサ
からベクトルプロセッサへスカラデータの転送が行われ
ている。
【0004】
【発明が解決しようとする課題】上述した従来の技術の
第1の問題点は、先行ベクトル命令でスカラレジスタか
らリードして使用するスカラデータと後続ベクトル命令
で使用するスカラデータとが同一であっても、前記各命
令ごとにスカラデータレジスタにリードアクセスを行う
ため、余分にスカラデータレジスタへのアクセスが行わ
れ、性能が低下することである。その理由は、先行ベク
トル命令で、ベクトルプロセッサに入力されたスカラデ
ータを、後続命令でも使用可能なようにベクトルプロセ
ッサ内に保持する機能がないからである。
第1の問題点は、先行ベクトル命令でスカラレジスタか
らリードして使用するスカラデータと後続ベクトル命令
で使用するスカラデータとが同一であっても、前記各命
令ごとにスカラデータレジスタにリードアクセスを行う
ため、余分にスカラデータレジスタへのアクセスが行わ
れ、性能が低下することである。その理由は、先行ベク
トル命令で、ベクトルプロセッサに入力されたスカラデ
ータを、後続命令でも使用可能なようにベクトルプロセ
ッサ内に保持する機能がないからである。
【0005】第2の問題点は、先行ベクトル命令の結果
として出力されるスカラデータを、後続ベクトル命令で
使用する場合、先行命令の結果がスカラプロセッサ内の
スカラデータレジスタにライトされるのを待って後続命
令でリードして使用するため、後続命令の命令発行がベ
クトルプロセッサ−スカラプロセッサ間のデータ転送時
間分遅くなり、性能が低下することである。その理由
は、先行ベクトル命令の結果として、ベクトルプロセッ
サ内で生成されるスカラデータを後続命令でも使用可能
なようにベクトルプロセッサに保持しておく機能がない
からである。
として出力されるスカラデータを、後続ベクトル命令で
使用する場合、先行命令の結果がスカラプロセッサ内の
スカラデータレジスタにライトされるのを待って後続命
令でリードして使用するため、後続命令の命令発行がベ
クトルプロセッサ−スカラプロセッサ間のデータ転送時
間分遅くなり、性能が低下することである。その理由
は、先行ベクトル命令の結果として、ベクトルプロセッ
サ内で生成されるスカラデータを後続命令でも使用可能
なようにベクトルプロセッサに保持しておく機能がない
からである。
【0006】本発明の目的は、スカラプロセッサとベク
トルプロセッサとを構成要素とするベクトルデータ処理
装置において、ベクトル命令発行時のスカラデータレジ
スタへのアクセスを低減し、スカラ命令によるスカラデ
ータレジスタへのアクセス可能タイミングを増加させ、
かつ、ベクトル命令発行のリソース待ちによる遅れを短
縮し、性能を向上させることである。
トルプロセッサとを構成要素とするベクトルデータ処理
装置において、ベクトル命令発行時のスカラデータレジ
スタへのアクセスを低減し、スカラ命令によるスカラデ
ータレジスタへのアクセス可能タイミングを増加させ、
かつ、ベクトル命令発行のリソース待ちによる遅れを短
縮し、性能を向上させることである。
【0007】
【課題を解決するための手段】本発明の第1のベクトル
データ処理装置は、ベクトル命令およびスカラ命令を保
持する命令バッファとスカラデータを保持するスカラデ
ータレジスタとを持つスカラプロセッサと、前記スカラ
プロセッサからの前記ベクトル命令を保持するベクトル
命令保持バッファ、ベクトル演算を行うベクトル演算実
行部、および前記ベクトル演算実行部からの結果を保持
するベクトルレジスタを持つベクトルプロセッサとを有
するベクトルデータ処理装置であって、前記ベクトルプ
ロセッサが、前記スカラデータレジスタの複製であるス
カラデータバッファを有し、前記スカラプロセッサが、
前記スカラデータレジスタの内容と前記スカラデータバ
ッファの内容との整合を管理する制御を行うスカラデー
タコヒーレンシ管理部を有する。
データ処理装置は、ベクトル命令およびスカラ命令を保
持する命令バッファとスカラデータを保持するスカラデ
ータレジスタとを持つスカラプロセッサと、前記スカラ
プロセッサからの前記ベクトル命令を保持するベクトル
命令保持バッファ、ベクトル演算を行うベクトル演算実
行部、および前記ベクトル演算実行部からの結果を保持
するベクトルレジスタを持つベクトルプロセッサとを有
するベクトルデータ処理装置であって、前記ベクトルプ
ロセッサが、前記スカラデータレジスタの複製であるス
カラデータバッファを有し、前記スカラプロセッサが、
前記スカラデータレジスタの内容と前記スカラデータバ
ッファの内容との整合を管理する制御を行うスカラデー
タコヒーレンシ管理部を有する。
【0008】本発明の第2のベクトルデータ処理装置
は、ベクトル命令およびスカラ命令を保持する命令バッ
ファとスカラデータを保持するスカラデータレジスタと
を持つスカラプロセッサと、前記スカラプロセッサから
の前記ベクトル命令を保持するベクトル命令保持バッフ
ァ、ベクトル演算を行うベクトル演算実行部、および前
記ベクトル演算実行部からの結果を保持するベクトルレ
ジスタを持つベクトルプロセッサとを有するベクトルデ
ータ処理装置であって、前記ベクトルプロセッサが、前
記スカラプロセッサから出力される前記スカラデータ、
あるいは前記ベクトルプロセッサ内で生成され前記スカ
ラプロセッサに対して出力される前記スカラデータを保
持するスカラデータバッファと、前記スカラプロセッサ
から前記ベクトル命令を入力するのに同期して、前記ベ
クトル命令で使用する前記スカラデータおよび前記ベク
トル命令で読み出し・書き込みすべき前記スカラデータ
バッファのアドレス情報を前記スカラプロセッサから入
力し、前記スカラデータバッファのアドレスとして保持
するスカラデータ・アドレス保持バッファとを有し、前
記スカラプロセッサが、前記スカラデータレジスタのア
ドレスであるスカラデータレジスタアドレスを保持する
スカラデータアドレスバッファと、前記命令バッファか
ら前記スカラデータレジスタをアクセスする命令が出力
されると、この命令でアクセスされる前記スカラデータ
レジスタの前記スカラデータレジスタアドレスと前記ス
カラデータアドレスバッファ内の前記スカラデータレジ
スタアドレスとの一致を調べ、前記ベクトルプロセッサ
対して、前記スカラデータレジスタから送出する前記ス
カラデータおよび前記スカラデータアドレスバッファか
ら前記アドレス情報として送出する前記スカラデータレ
ジスタアドレスを決定するスカラデータコヒーレンシ管
理部とを有する。
は、ベクトル命令およびスカラ命令を保持する命令バッ
ファとスカラデータを保持するスカラデータレジスタと
を持つスカラプロセッサと、前記スカラプロセッサから
の前記ベクトル命令を保持するベクトル命令保持バッフ
ァ、ベクトル演算を行うベクトル演算実行部、および前
記ベクトル演算実行部からの結果を保持するベクトルレ
ジスタを持つベクトルプロセッサとを有するベクトルデ
ータ処理装置であって、前記ベクトルプロセッサが、前
記スカラプロセッサから出力される前記スカラデータ、
あるいは前記ベクトルプロセッサ内で生成され前記スカ
ラプロセッサに対して出力される前記スカラデータを保
持するスカラデータバッファと、前記スカラプロセッサ
から前記ベクトル命令を入力するのに同期して、前記ベ
クトル命令で使用する前記スカラデータおよび前記ベク
トル命令で読み出し・書き込みすべき前記スカラデータ
バッファのアドレス情報を前記スカラプロセッサから入
力し、前記スカラデータバッファのアドレスとして保持
するスカラデータ・アドレス保持バッファとを有し、前
記スカラプロセッサが、前記スカラデータレジスタのア
ドレスであるスカラデータレジスタアドレスを保持する
スカラデータアドレスバッファと、前記命令バッファか
ら前記スカラデータレジスタをアクセスする命令が出力
されると、この命令でアクセスされる前記スカラデータ
レジスタの前記スカラデータレジスタアドレスと前記ス
カラデータアドレスバッファ内の前記スカラデータレジ
スタアドレスとの一致を調べ、前記ベクトルプロセッサ
対して、前記スカラデータレジスタから送出する前記ス
カラデータおよび前記スカラデータアドレスバッファか
ら前記アドレス情報として送出する前記スカラデータレ
ジスタアドレスを決定するスカラデータコヒーレンシ管
理部とを有する。
【0009】本発明の第3のベクトルデータ処理装置は
前記第2のベクトルデータ処理装置であって、前記アド
レス情報が、ベクトル演算において前記スカラデータバ
ッファから前記スカラデータを読み出すためのリードア
ドレスと、前記スカラデータレジスタからの前記スカラ
データを前記スカラデータバッファに書き込むための第
1のライトアドレスと、ベクトル演算において演算結果
を前記スカラデータバッファに書き込むための第2のラ
イトアドレスとを、含む。
前記第2のベクトルデータ処理装置であって、前記アド
レス情報が、ベクトル演算において前記スカラデータバ
ッファから前記スカラデータを読み出すためのリードア
ドレスと、前記スカラデータレジスタからの前記スカラ
データを前記スカラデータバッファに書き込むための第
1のライトアドレスと、ベクトル演算において演算結果
を前記スカラデータバッファに書き込むための第2のラ
イトアドレスとを、含む。
【0010】本発明の第4のベクトルデータ処理装置は
前記第3のベクトルデータ処理装置であって、前記アド
レス情報が、前記リードアドレス、前記第1のライトア
ドレスおよび前記第2のライトアドレスそれぞれが有効
であるか無効であるかを示す有効ビットを含む。
前記第3のベクトルデータ処理装置であって、前記アド
レス情報が、前記リードアドレス、前記第1のライトア
ドレスおよび前記第2のライトアドレスそれぞれが有効
であるか無効であるかを示す有効ビットを含む。
【0011】
【発明の実施の形態】次に本発明の実施の形態について
図面を参照して詳細に説明する。
図面を参照して詳細に説明する。
【0012】図1は本発明の実施の形態を示すブロック
図である。図1を参照すると、本発明のベクトルデータ
処理装置は、スカラプロセッサ11と、ベクトルプロセ
ッサ12とから構成される。
図である。図1を参照すると、本発明のベクトルデータ
処理装置は、スカラプロセッサ11と、ベクトルプロセ
ッサ12とから構成される。
【0013】次に本発明の実施の形態の詳細構成と動作
について説明する。まず、スカラプロセッサ11につい
て説明する。スカラプロセッサ11の命令バッファ13
には、処理すべき全命令が格納されており、スカラ制御
部19内での命令発行のためのスカラプロセッサ11内
のリソースチェック等により、命令バッファ13からの
リードが制御される。命令バッファ13に格納されてい
る命令は、スカラ制御部19、ベクトル命令送出バッフ
ァ20、スカラデータコヒーレンシ管理部14に対して
送出される。
について説明する。まず、スカラプロセッサ11につい
て説明する。スカラプロセッサ11の命令バッファ13
には、処理すべき全命令が格納されており、スカラ制御
部19内での命令発行のためのスカラプロセッサ11内
のリソースチェック等により、命令バッファ13からの
リードが制御される。命令バッファ13に格納されてい
る命令は、スカラ制御部19、ベクトル命令送出バッフ
ァ20、スカラデータコヒーレンシ管理部14に対して
送出される。
【0014】スカラデータレジスタ18は、ベクトルプ
ロセッサ12内のスカラデータバッファ23で保持され
るスカラデータに対応するスカラデータ(すなわち、同
一のスカラデータ)を保持する。スカラデータコヒーレ
ンシ管理部14内のスカラデータアドレスバッファ16
は、スカラデータレジスタ18のアドレス(以降、スカ
ラデータレジスタアドレスと記す)を保持するバッファ
である。このスカラデータレジスタアドレスは、スカラ
データバッファ23のアドレスと同一である。また、ス
カラデータアドレスバッファ16はスカラデータレジス
タアドレスの有効を示す有効ビットも格納する。
ロセッサ12内のスカラデータバッファ23で保持され
るスカラデータに対応するスカラデータ(すなわち、同
一のスカラデータ)を保持する。スカラデータコヒーレ
ンシ管理部14内のスカラデータアドレスバッファ16
は、スカラデータレジスタ18のアドレス(以降、スカ
ラデータレジスタアドレスと記す)を保持するバッファ
である。このスカラデータレジスタアドレスは、スカラ
データバッファ23のアドレスと同一である。また、ス
カラデータアドレスバッファ16はスカラデータレジス
タアドレスの有効を示す有効ビットも格納する。
【0015】スカラデータコヒーレンシ管理部14は、
命令バッファ13から命令を入力すると、スカラデータ
を入力あるいは出力とする命令に対して、この命令で使
用されるスカラデータレジスタアドレスとスカラデータ
アドレスバッファ16に保持されている有効なスカラデ
ータレジスタアドレスとの一致のチェックを、一致チェ
ック回路15で実行する。
命令バッファ13から命令を入力すると、スカラデータ
を入力あるいは出力とする命令に対して、この命令で使
用されるスカラデータレジスタアドレスとスカラデータ
アドレスバッファ16に保持されている有効なスカラデ
ータレジスタアドレスとの一致のチェックを、一致チェ
ック回路15で実行する。
【0016】(1)一致するアドレスが存在せず、この
命令がスカラデータを入力とするベクトル命令である場
合、一致チェック回路15はスカラデータアドレスバッ
ファ16に対し、命令中のスカラデータレジスタアドレ
スのスカラデータアドレスバッファ16への格納を指示
するとともに、スカラデータレジスタ18に対し、該当
するスカラデータのリードを指示する。スカラデータア
ドレスバッファ16では同バッファ上の空いている(有
効ビットが無効を示している)エントリに新規にこのス
カラデータレジスタアドレスを保持し、かつこのスカラ
データレジスタアドレスをデータ整列回路17に出力す
る。スカラデータレジスタ18では一致チェック回路1
5からの指示に従い、スカラデータをリードしてデータ
整列回路17に出力する。データ整列回路17では、入
力したスカラデータレジスタアドレスとスカラデータと
を整列しベクトルプロセッサ12への出力データを生成
する。
命令がスカラデータを入力とするベクトル命令である場
合、一致チェック回路15はスカラデータアドレスバッ
ファ16に対し、命令中のスカラデータレジスタアドレ
スのスカラデータアドレスバッファ16への格納を指示
するとともに、スカラデータレジスタ18に対し、該当
するスカラデータのリードを指示する。スカラデータア
ドレスバッファ16では同バッファ上の空いている(有
効ビットが無効を示している)エントリに新規にこのス
カラデータレジスタアドレスを保持し、かつこのスカラ
データレジスタアドレスをデータ整列回路17に出力す
る。スカラデータレジスタ18では一致チェック回路1
5からの指示に従い、スカラデータをリードしてデータ
整列回路17に出力する。データ整列回路17では、入
力したスカラデータレジスタアドレスとスカラデータと
を整列しベクトルプロセッサ12への出力データを生成
する。
【0017】スカラデータアドレスバッファ16での新
規アドレス登録用のアドレス確保は有効ビットを確認し
て、無効である空きエントリに対し行われるが、既に全
エントリが有効となって登録可能な空きエントリがない
状態が考えられる。このときは新規に登録すべきスカラ
データアドレスを既に保持されている有効エントリのス
カラデータレジスタアドレスに上書きしても問題は生じ
ない。有効なスカラデータレジスタアドレスを書き潰し
ていく方法としては、スカラデータレジスタアドレスの
大小によって優先順をきめたり、また、別に保持されて
いるスカラデータレジスタアドレスの新旧を記憶する手
段を設け、古い順に書き潰すなどいくつかの方法が可能
である。書き潰されたスカラデータレジスタアドレスに
対応するスカラデータはスカラデータレジスタ18およ
びベクトルプロセッサ12内のスカラデータバッファ2
3内に存在しないとみなされる。
規アドレス登録用のアドレス確保は有効ビットを確認し
て、無効である空きエントリに対し行われるが、既に全
エントリが有効となって登録可能な空きエントリがない
状態が考えられる。このときは新規に登録すべきスカラ
データアドレスを既に保持されている有効エントリのス
カラデータレジスタアドレスに上書きしても問題は生じ
ない。有効なスカラデータレジスタアドレスを書き潰し
ていく方法としては、スカラデータレジスタアドレスの
大小によって優先順をきめたり、また、別に保持されて
いるスカラデータレジスタアドレスの新旧を記憶する手
段を設け、古い順に書き潰すなどいくつかの方法が可能
である。書き潰されたスカラデータレジスタアドレスに
対応するスカラデータはスカラデータレジスタ18およ
びベクトルプロセッサ12内のスカラデータバッファ2
3内に存在しないとみなされる。
【0018】(2)一致するアドレスが存在せず、この
命令が演算結果をスカラデータレジスタ18にライトす
るベクトル命令である場合、一致チェック回路15はス
カラデータアドレスバッファ16に対し、命令中のスカ
ラデータレジスタアドレスの格納を指示するとともに、
このスカラデータレジスタアドレスをスカラ制御部19
に送出する。
命令が演算結果をスカラデータレジスタ18にライトす
るベクトル命令である場合、一致チェック回路15はス
カラデータアドレスバッファ16に対し、命令中のスカ
ラデータレジスタアドレスの格納を指示するとともに、
このスカラデータレジスタアドレスをスカラ制御部19
に送出する。
【0019】スカラデータアドレスバッファ16では、
空いている(有効ビットが無効を示している)エントリ
に新規にこのスカラデータレジスタアドレスを保持し、
このスカラデータレジスタアドレスをデータ整列回路1
7に出力し、データ整列回路17では、ベクトルプロセ
ッサ12への出力データを生成する。
空いている(有効ビットが無効を示している)エントリ
に新規にこのスカラデータレジスタアドレスを保持し、
このスカラデータレジスタアドレスをデータ整列回路1
7に出力し、データ整列回路17では、ベクトルプロセ
ッサ12への出力データを生成する。
【0020】スカラ制御部19では入力したスカラデー
タレジスタアドレスを、ベクトルプロセッサ12から結
果のスカラデータが届くまで保持し、スカラデータレジ
スタ18に対しライト指示を与えるとともに、このスカ
ラデータレジスタアドレスにアクセスするその後のスカ
ラ命令の発行(命令バッファ13からの読み出し)を制
限する。スカラ制御部19においては、先行するベクト
ル命令の結果であるスカラデータのスカラデータレジス
タ18へのライトが終了する(スカラデータレジスタ1
8からのライト終了信号を受け取る)までは、後続の同
スカラデータレジスタアドレスに対するリードアクセス
スカラ命令は発行しないようにする。後続に同スカラデ
ータレジスタアドレスに対するライトアクセススカラ命
令がある場合は、保持されている先行ベクトル命令の結
果であるスカラデータをライトするためのスカラデータ
レジスタアドレスを無効として、ライトアクセススカラ
命令の発行を許可する。
タレジスタアドレスを、ベクトルプロセッサ12から結
果のスカラデータが届くまで保持し、スカラデータレジ
スタ18に対しライト指示を与えるとともに、このスカ
ラデータレジスタアドレスにアクセスするその後のスカ
ラ命令の発行(命令バッファ13からの読み出し)を制
限する。スカラ制御部19においては、先行するベクト
ル命令の結果であるスカラデータのスカラデータレジス
タ18へのライトが終了する(スカラデータレジスタ1
8からのライト終了信号を受け取る)までは、後続の同
スカラデータレジスタアドレスに対するリードアクセス
スカラ命令は発行しないようにする。後続に同スカラデ
ータレジスタアドレスに対するライトアクセススカラ命
令がある場合は、保持されている先行ベクトル命令の結
果であるスカラデータをライトするためのスカラデータ
レジスタアドレスを無効として、ライトアクセススカラ
命令の発行を許可する。
【0021】(3)一致するアドレスが存在せず、この
命令がスカラ命令である場合は、スカラデータコヒーレ
ンシ管理部14ではこれ以上の操作を行わない。
命令がスカラ命令である場合は、スカラデータコヒーレ
ンシ管理部14ではこれ以上の操作を行わない。
【0022】(4)一致するアドレスが存在し、この命
令がスカラデータを入力とするベクトル命令である場
合、一致チェック回路15は一致するスカラデータレジ
スタアドレスを、データ整列回路17に出力する。
令がスカラデータを入力とするベクトル命令である場
合、一致チェック回路15は一致するスカラデータレジ
スタアドレスを、データ整列回路17に出力する。
【0023】(5)一致するアドレスが存在し、この命
令が演算結果をスカラデータレジスタ18にライトする
ベクトル命令である場合、一致チェック回路15は一致
するスカラデータレジスタアドレスを、データ整列回路
17に出力するとともに、このスカラデータレジスタア
ドレスをスカラ制御部19に送出する。スカラ制御部1
9では入力したスカラデータレジスタアドレスを、ベク
トルプロセッサ12から結果であるスカラデータを入力
するまで保持し、スカラデータレジスタ18に対しライ
ト指示を与えるとともに、このスカラデータレジスタア
ドレスにアクセスするその後のスカラ命令の発行(命令
バッファ13からの読み出し)を制限する。
令が演算結果をスカラデータレジスタ18にライトする
ベクトル命令である場合、一致チェック回路15は一致
するスカラデータレジスタアドレスを、データ整列回路
17に出力するとともに、このスカラデータレジスタア
ドレスをスカラ制御部19に送出する。スカラ制御部1
9では入力したスカラデータレジスタアドレスを、ベク
トルプロセッサ12から結果であるスカラデータを入力
するまで保持し、スカラデータレジスタ18に対しライ
ト指示を与えるとともに、このスカラデータレジスタア
ドレスにアクセスするその後のスカラ命令の発行(命令
バッファ13からの読み出し)を制限する。
【0024】(6)一致するアドレスが存在して、この
命令がスカラデータレジスタ18へのリードアクセスス
カラ命令である場合は、スカラデータコヒーレンシ管理
部14ではこれ以上の操作を行わない。
命令がスカラデータレジスタ18へのリードアクセスス
カラ命令である場合は、スカラデータコヒーレンシ管理
部14ではこれ以上の操作を行わない。
【0025】(7)一致するアドレスが存在して、この
命令がスカラデータレジスタ18へのライトアクセスス
カラ命令である場合は、スカラデータアドレスバッファ
16に対し、一致するスカラデータレジスタアドレスを
無効とするよう通知し、スカラデータアドレスバッファ
16では付随する有効ビットをクリアして無効化する。
命令がスカラデータレジスタ18へのライトアクセスス
カラ命令である場合は、スカラデータアドレスバッファ
16に対し、一致するスカラデータレジスタアドレスを
無効とするよう通知し、スカラデータアドレスバッファ
16では付随する有効ビットをクリアして無効化する。
【0026】データ整列回路17は以上のようにして送
られてきたスカラデータレジスタアドレスやデータをベ
クトルプロセッサ12内でスカラデータバッファ23へ
のアクセス指示として使用可能なようにある一定のフォ
ーマットに整列する。データ整列回路17で生成された
データは、ベクトル命令送出バッファ20中の対応する
命令に同期して、ベクトルプロセッサ12に送り込まれ
る。
られてきたスカラデータレジスタアドレスやデータをベ
クトルプロセッサ12内でスカラデータバッファ23へ
のアクセス指示として使用可能なようにある一定のフォ
ーマットに整列する。データ整列回路17で生成された
データは、ベクトル命令送出バッファ20中の対応する
命令に同期して、ベクトルプロセッサ12に送り込まれ
る。
【0027】図2はデータ整列回路17で生成されるデ
ータの書式図である。ベクトル演算で入力としてスカラ
データバッファ23からデータをリードするためのリー
ドアドレスIRA(スカラデータレジスタアドレス)と
このリードアドレスIRAの有効ビットIRAV、ベク
トル演算の入力としてスカラプロセッサ11の出力のス
カラデータを使用するためのスカラデータSDとこのス
カラデータSDの有効ビットSDVおよびこのスカラデ
ータSDをスカラデータバッファ23にライトするため
のライトアドレスIWA(スカラデータレジスタアドレ
ス)とこのライトアドレスIWAの有効ビットIWA
V、ベクトル演算の出力としてスカラデータバッファ2
3に結果データをライトするためのライトアドレスOW
A(スカラデータレジスタアドレス)とその有効ビット
OWAVから構成されている。
ータの書式図である。ベクトル演算で入力としてスカラ
データバッファ23からデータをリードするためのリー
ドアドレスIRA(スカラデータレジスタアドレス)と
このリードアドレスIRAの有効ビットIRAV、ベク
トル演算の入力としてスカラプロセッサ11の出力のス
カラデータを使用するためのスカラデータSDとこのス
カラデータSDの有効ビットSDVおよびこのスカラデ
ータSDをスカラデータバッファ23にライトするため
のライトアドレスIWA(スカラデータレジスタアドレ
ス)とこのライトアドレスIWAの有効ビットIWA
V、ベクトル演算の出力としてスカラデータバッファ2
3に結果データをライトするためのライトアドレスOW
A(スカラデータレジスタアドレス)とその有効ビット
OWAVから構成されている。
【0028】次に、図2のデータと各処理の関係につい
て、図3を参照して説明する。図3は、図2と各処理と
の関係を示す説明図である。
て、図3を参照して説明する。図3は、図2と各処理と
の関係を示す説明図である。
【0029】図3を参照すると、前述した、(1)の場
合には、IWA、SDが生成され、IWAVが有効を示
すように設定される。(2)の場合には、OWAが生成
され、OWAVが有効を示すように設定される。(3)
の場合には、図2のデータは生成されない。(4)の場
合には、IRAが生成され、IRAVが有効を示すよう
に設定される。(5)の場合には、OWAが生成され、
OWAVが有効を示すように設定される。(6)の場合
には、図2のデータは生成されない。(7)の場合に
は、図2のデータは生成されず、スカラデータアドレス
バッファ16のエントリの無効化が行われる。
合には、IWA、SDが生成され、IWAVが有効を示
すように設定される。(2)の場合には、OWAが生成
され、OWAVが有効を示すように設定される。(3)
の場合には、図2のデータは生成されない。(4)の場
合には、IRAが生成され、IRAVが有効を示すよう
に設定される。(5)の場合には、OWAが生成され、
OWAVが有効を示すように設定される。(6)の場合
には、図2のデータは生成されない。(7)の場合に
は、図2のデータは生成されず、スカラデータアドレス
バッファ16のエントリの無効化が行われる。
【0030】次にベクトルプロセッサ12について説明
する。ベクトル命令保持バッファ21とスカラデータ・
アドレス保持バッファ22とは、スカラプロセッサ11
のベクトル命令送出バッファ20からのベクトル命令と
同期して送出されるデータ整列回路17からのデータと
をそれぞれ順次格納する。この2つのバッファはベクト
ル制御部26でのベクトルプロセッサ12内のリソース
チェック等により、ベクトル命令、データのリードが制
御される。
する。ベクトル命令保持バッファ21とスカラデータ・
アドレス保持バッファ22とは、スカラプロセッサ11
のベクトル命令送出バッファ20からのベクトル命令と
同期して送出されるデータ整列回路17からのデータと
をそれぞれ順次格納する。この2つのバッファはベクト
ル制御部26でのベクトルプロセッサ12内のリソース
チェック等により、ベクトル命令、データのリードが制
御される。
【0031】ベクトル制御部26は、ベクトル命令保持
バッファ21から命令リードに同期して、この命令に対
応するスカラデータ・アドレス保持バッファ22内のデ
ータがリードされるよう両バッファに指示を与える。
バッファ21から命令リードに同期して、この命令に対
応するスカラデータ・アドレス保持バッファ22内のデ
ータがリードされるよう両バッファに指示を与える。
【0032】ベクトル命令保持バッファ21からリード
されたベクトル命令が、スカラデータを入力するもので
あるとき、同時にスカラデータ・アドレス保持バッファ
22からは、図2で説明したフォーマットのデータがリ
ードされ、スカラデータバッファ23に送られる。スカ
ラデータバッファ23では、IRAVが有効を示す時は
リードアドレスIRAからリードしたスカラデータを出
力し、IWAVが有効を示す時はライトアドレスIWA
にスカラデータSDをライトするとともにスカラデータ
SDを出力する。
されたベクトル命令が、スカラデータを入力するもので
あるとき、同時にスカラデータ・アドレス保持バッファ
22からは、図2で説明したフォーマットのデータがリ
ードされ、スカラデータバッファ23に送られる。スカ
ラデータバッファ23では、IRAVが有効を示す時は
リードアドレスIRAからリードしたスカラデータを出
力し、IWAVが有効を示す時はライトアドレスIWA
にスカラデータSDをライトするとともにスカラデータ
SDを出力する。
【0033】ベクトル演算実行部24では、スカラデー
タバッファ23から出力されるスカラデータとベクトル
レジスタ25から出力されるベクトルデータとを入力と
して、ベクトル制御部26の指示にしたがって演算を実
行した後、結果をベクトルレジスタ25に格納する。
タバッファ23から出力されるスカラデータとベクトル
レジスタ25から出力されるベクトルデータとを入力と
して、ベクトル制御部26の指示にしたがって演算を実
行した後、結果をベクトルレジスタ25に格納する。
【0034】ベクトル命令保持バッファ21からリード
されたベクトル命令が、ベクトル演算の結果としてスカ
ラデータ出力するものであるとき、同時にスカラデータ
・アドレス保持バッファ22からは、図2で説明したフ
ォーマットのデータがリードされ、ベクトル制御部26
に送られる。
されたベクトル命令が、ベクトル演算の結果としてスカ
ラデータ出力するものであるとき、同時にスカラデータ
・アドレス保持バッファ22からは、図2で説明したフ
ォーマットのデータがリードされ、ベクトル制御部26
に送られる。
【0035】ベクトル演算実行部24ではベクトル制御
部26からの指示にしたがってベクトルレジスタ25か
らデータを入力して演算を実行し、演算結果のスカラデ
ータをベクトルプロセッサ12内のスカラデータバッフ
ァ23とスカラプロセッサ11内のスカラデータレジス
タ18とに送出する。ベクトル制御部26ではスカラデ
ータ・アドレス保持バッファ22から入力したデータの
ライトアドレスOWAを保持し、後続のスカラデータバ
ッファ23の同ライトアドレスOWAへのアクセス命令
の発行を制限するとともに、ベクトル演算実行部24か
らの結果であるスカラデータの送出タイミングに合わせ
てスカラデータバッファ23にライトの指示を通知す
る。
部26からの指示にしたがってベクトルレジスタ25か
らデータを入力して演算を実行し、演算結果のスカラデ
ータをベクトルプロセッサ12内のスカラデータバッフ
ァ23とスカラプロセッサ11内のスカラデータレジス
タ18とに送出する。ベクトル制御部26ではスカラデ
ータ・アドレス保持バッファ22から入力したデータの
ライトアドレスOWAを保持し、後続のスカラデータバ
ッファ23の同ライトアドレスOWAへのアクセス命令
の発行を制限するとともに、ベクトル演算実行部24か
らの結果であるスカラデータの送出タイミングに合わせ
てスカラデータバッファ23にライトの指示を通知す
る。
【0036】ベクトルプロセッサ12内のスカラデータ
バッファ23とスカラプロセッサ11内のスカラデータ
レジスタ18とは、それぞれスカラ制御部19、ベクト
ル制御部26の指示にしたがって結果のスカラデータを
格納する。
バッファ23とスカラプロセッサ11内のスカラデータ
レジスタ18とは、それぞれスカラ制御部19、ベクト
ル制御部26の指示にしたがって結果のスカラデータを
格納する。
【0037】
【発明の効果】本発明の第1の効果は、先行するベクト
ル命令での演算結果のスカラデータを後続ベクトル命令
で使用する際、後続ベクトル命令ベクトルの演算実行部
へのスカラデータ供給準備時間が短縮され、高速化でき
ることである。
ル命令での演算結果のスカラデータを後続ベクトル命令
で使用する際、後続ベクトル命令ベクトルの演算実行部
へのスカラデータ供給準備時間が短縮され、高速化でき
ることである。
【0038】その理由は、先行ベクトル命令での出力ス
カラデータを保持しておくことができるスカラデータバ
ッファをベクトルプロセッサ内に設け、このスカラデー
タバッファ中のスカラデータと、スカラプロセッサ内の
スカラレジスタ中のスカラデータとの整合性を管理でき
るスカラデータコヒーレンシ管理部を設け、スカラプロ
セッサ内のスカラデータレジスタへの演算結果のライト
を待つことなく、ベクトル命令が発行できるようになる
からである。
カラデータを保持しておくことができるスカラデータバ
ッファをベクトルプロセッサ内に設け、このスカラデー
タバッファ中のスカラデータと、スカラプロセッサ内の
スカラレジスタ中のスカラデータとの整合性を管理でき
るスカラデータコヒーレンシ管理部を設け、スカラプロ
セッサ内のスカラデータレジスタへの演算結果のライト
を待つことなく、ベクトル命令が発行できるようになる
からである。
【0039】第2の効果は、ベクトル命令によるスカラ
レジスタへのアクセス頻度を低減し、スカラ命令による
スカラデータレジスタアクセス許容タイミングを増加で
きることである。
レジスタへのアクセス頻度を低減し、スカラ命令による
スカラデータレジスタアクセス許容タイミングを増加で
きることである。
【0040】その理由は、先行ベクトル命令での出力ス
カラデータを保持しておくことができるスカラデータバ
ッファをベクトルプロセッサ内に設け、このスカラデー
タバッファ中のデータと、スカラプロセッサ内のスカラ
レジスタ中のデータとの整合性を管理できるスカラデー
タコヒーレンシ管理部を設け、ベクトルプロセッサ内で
保持されているスカラデータについては、ベクトル命令
でのスカラデータレジスタへのリードアクセスが不要に
なるからである。
カラデータを保持しておくことができるスカラデータバ
ッファをベクトルプロセッサ内に設け、このスカラデー
タバッファ中のデータと、スカラプロセッサ内のスカラ
レジスタ中のデータとの整合性を管理できるスカラデー
タコヒーレンシ管理部を設け、ベクトルプロセッサ内で
保持されているスカラデータについては、ベクトル命令
でのスカラデータレジスタへのリードアクセスが不要に
なるからである。
【図面の簡単な説明】
【図1】本発明の実施の形態を示すブロック図である。
【図2】図1のデータ生成回路で生成されるデータの書
式図である。
式図である。
【図3】図2のデータと各処理との関係を示す説明図で
ある。
ある。
11 スカラプロセッサ 12 ベクトルプロセッサ 13 命令バッファ 14 スカラデータコヒーレンシ管理部 15 一致チェック回路 16 スカラデータアドレスバッファ 17 データ整列回路 18 スカラデータレジスタ 19 スカラ制御部 20 ベクトル命令送出バッファ 21 ベクトル命令保持バッファ 22 スカラデータ・アドレス保持バッファ 23 スカラデータバッファ 24 ベクトル演算実行部 25 ベクトルレジスタ 26 ベクトル制御部
Claims (4)
- 【請求項1】 ベクトル命令およびスカラ命令を保持す
る命令バッファとスカラデータを保持するスカラデータ
レジスタとを持つスカラプロセッサと、前記スカラプロ
セッサからの前記ベクトル命令を保持するベクトル命令
保持バッファ、ベクトル演算を行うベクトル演算実行
部、および前記ベクトル演算実行部からの結果を保持す
るベクトルレジスタを持つベクトルプロセッサとを有す
るベクトルデータ処理装置において、前記ベクトルプロ
セッサが、前記スカラデータレジスタの複製であるスカ
ラデータバッファを有し、前記スカラプロセッサが、前
記スカラデータレジスタの内容と前記スカラデータバッ
ファの内容との整合を管理する制御を行うスカラデータ
コヒーレンシ管理部を有することを特徴とするベクトル
データ処理装置。 - 【請求項2】 ベクトル命令およびスカラ命令を保持す
る命令バッファとスカラデータを保持するスカラデータ
レジスタとを持つスカラプロセッサと、前記スカラプロ
セッサからの前記ベクトル命令を保持するベクトル命令
保持バッファ、ベクトル演算を行うベクトル演算実行
部、および前記ベクトル演算実行部からの結果を保持す
るベクトルレジスタを持つベクトルプロセッサとを有す
るベクトルデータ処理装置において、前記ベクトルプロ
セッサが、前記スカラプロセッサから出力される前記ス
カラデータ、あるいは前記ベクトルプロセッサ内で生成
され前記スカラプロセッサに対して出力される前記スカ
ラデータを保持するスカラデータバッファと、前記スカ
ラプロセッサから前記ベクトル命令を入力するのに同期
して、前記ベクトル命令で使用する前記スカラデータお
よび前記ベクトル命令で読み出し・書き込みすべき前記
スカラデータバッファのアドレス情報を前記スカラプロ
セッサから入力し、前記スカラデータバッファのアドレ
スとして保持するスカラデータ・アドレス保持バッファ
とを有し、前記スカラプロセッサが、前記スカラデータ
レジスタのアドレスであるスカラデータレジスタアドレ
スを保持するスカラデータアドレスバッファと、前記命
令バッファから前記スカラデータレジスタをアクセスす
る命令が出力されると、この命令でアクセスされる前記
スカラデータレジスタの前記スカラデータレジスタアド
レスと前記スカラデータアドレスバッファ内の前記スカ
ラデータレジスタアドレスとの一致を調べ、前記ベクト
ルプロセッサ対して、前記スカラデータレジスタから送
出する前記スカラデータおよび前記スカラデータアドレ
スバッファから前記アドレス情報として送出する前記ス
カラデータレジスタアドレスを決定するスカラデータコ
ヒーレンシ管理部とを有することを特徴とするベクトル
データ処理装置。 - 【請求項3】 前記アドレス情報が、ベクトル演算にお
いて前記スカラデータバッファから前記スカラデータを
読み出すためのリードアドレスと、前記スカラデータレ
ジスタからの前記スカラデータを前記スカラデータバッ
ファに書き込むための第1のライトアドレスと、ベクト
ル演算において演算結果を前記スカラデータバッファに
書き込むための第2のライトアドレスとを、含むことを
特徴とする請求項2記載のベクトルデータ処理装置。 - 【請求項4】 前記アドレス情報が、前記リードアドレ
ス、前記第1のライトアドレスおよび前記第2のライト
アドレスそれぞれが有効であるか無効であるかを示す有
効ビットを含むことを特徴とする請求項3記載のベクト
ルデータ処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05881597A JP3157740B2 (ja) | 1997-03-13 | 1997-03-13 | ベクトルデータ処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05881597A JP3157740B2 (ja) | 1997-03-13 | 1997-03-13 | ベクトルデータ処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10254853A true JPH10254853A (ja) | 1998-09-25 |
JP3157740B2 JP3157740B2 (ja) | 2001-04-16 |
Family
ID=13095120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05881597A Expired - Fee Related JP3157740B2 (ja) | 1997-03-13 | 1997-03-13 | ベクトルデータ処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3157740B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107305538B (zh) * | 2016-04-22 | 2020-07-31 | 中科寒武纪科技股份有限公司 | 一种子矩阵运算装置及方法 |
-
1997
- 1997-03-13 JP JP05881597A patent/JP3157740B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3157740B2 (ja) | 2001-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6711650B1 (en) | Method and apparatus for accelerating input/output processing using cache injections | |
US7228389B2 (en) | System and method for maintaining cache coherency in a shared memory system | |
JP3289661B2 (ja) | キャッシュメモリシステム | |
JPH03127147A (ja) | 情報処理システム | |
JP2695017B2 (ja) | データ転送方式 | |
US6266723B1 (en) | Method and system for optimizing of peripheral component interconnect PCI bus transfers | |
US8688890B2 (en) | Bit ordering for communicating an address on a serial fabric | |
US6425071B1 (en) | Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus | |
US6738837B1 (en) | Digital system with split transaction memory access | |
JP4097883B2 (ja) | データ転送装置および方法 | |
JP3157740B2 (ja) | ベクトルデータ処理装置 | |
US6718405B2 (en) | Hardware chain pull | |
US5185879A (en) | Cache system and control method therefor | |
JP2003099324A (ja) | マルチメディアプロセッサ用のストリーミングデータキャッシュ | |
US6377650B1 (en) | Counter register monitor and update circuit for dual-clock system | |
JP3162459B2 (ja) | データ処理装置 | |
JP3052460B2 (ja) | 協調処理型情報処理装置 | |
JP2001229074A (ja) | メモリ制御装置と情報処理装置及びメモリ制御チップ | |
JPH11328013A (ja) | メモリ制御装置 | |
JP2581144B2 (ja) | バス制御装置 | |
JPH10247162A (ja) | 電子計算機システム | |
JPS61239339A (ja) | ペ−ジ・デ−タ転送制御方式 | |
JPH03168860A (ja) | 並列プロセッサのバッファ記憶制御装置 | |
JPH10207773A (ja) | バス接続装置 | |
JPH02259945A (ja) | ストア処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010123 |
|
LAPS | Cancellation because of no payment of annual fees |