JPH02197961A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH02197961A JPH02197961A JP1843589A JP1843589A JPH02197961A JP H02197961 A JPH02197961 A JP H02197961A JP 1843589 A JP1843589 A JP 1843589A JP 1843589 A JP1843589 A JP 1843589A JP H02197961 A JPH02197961 A JP H02197961A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- vector
- data
- unit
- storage
- 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
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はベクトル処理可能な情報処理装置に関し、特に
ベクトルロードおよびベクトルストアの制御の改良に関
する。
ベクトルロードおよびベクトルストアの制御の改良に関
する。
一般にベクトル処理可能な情報処理装置は、命令やデー
タを記憶する記憶部(主記憶)、ベクトル演算を行う演
算実行部、記憶部の命令を実行制御部に供給したり記憶
部と演算実行部間でデータの転送を行う記憶制御部、命
令の解読やリソース管理等を行い各部を制御する実行指
示制御部を含み、所謂パイプライン方式によってベクト
ルデータを高速に処理することができる。
タを記憶する記憶部(主記憶)、ベクトル演算を行う演
算実行部、記憶部の命令を実行制御部に供給したり記憶
部と演算実行部間でデータの転送を行う記憶制御部、命
令の解読やリソース管理等を行い各部を制御する実行指
示制御部を含み、所謂パイプライン方式によってベクト
ルデータを高速に処理することができる。
いま、下記のようなベクトル処理の命令列がプログラム
で指定されている場合を例にして従来の情報処理装置の
構成および動作を説明する。
で指定されている場合を例にして従来の情報処理装置の
構成および動作を説明する。
VLD Vl 1M −(1)VADD
V2 ←S+V1 −(2)VST M4
−V2 ・(3)VLD V51M
・(4)VMPY V7←5xV5 ・
(5)VST M 4−V7 ・
(61ここで、命令(1)は記憶部よりベクトルデー
タをベクトルレジスタv1にロードするベクトルロード
命令、命令(2)は命令(1)によってベクトルレジス
タv1にロードされたベクトルデータにスカラデータS
を加算し結果をベクトルレジスタv2に格納するベクト
ル加算命令、命令(3)は命令(2)によってベクトル
レジスタv2に格納された演算結果を記憶部にストアす
るベクトルストア命令、命令(4)は記憶部よりベクト
ルデータをベクトルレジスタv5にロードするベクトル
ロード命令、命令(5)は命14)によってベクトルレ
ジスタ■5にロートサれたベクトルデータにスカラデー
タSを乗算し結果をベクトルレジスタv7に格納するベ
クトル乗算命令、命令(6)は命令(5)によってベク
トルレジスタv7に格納された演算結果を記憶部にスト
アするベクトルストア命令である。また、第3図は上述
したベクトル処理の命令列を従来のベクトル処理装置で
実行させた際のタイムチャートである。
V2 ←S+V1 −(2)VST M4
−V2 ・(3)VLD V51M
・(4)VMPY V7←5xV5 ・
(5)VST M 4−V7 ・
(61ここで、命令(1)は記憶部よりベクトルデー
タをベクトルレジスタv1にロードするベクトルロード
命令、命令(2)は命令(1)によってベクトルレジス
タv1にロードされたベクトルデータにスカラデータS
を加算し結果をベクトルレジスタv2に格納するベクト
ル加算命令、命令(3)は命令(2)によってベクトル
レジスタv2に格納された演算結果を記憶部にストアす
るベクトルストア命令、命令(4)は記憶部よりベクト
ルデータをベクトルレジスタv5にロードするベクトル
ロード命令、命令(5)は命14)によってベクトルレ
ジスタ■5にロートサれたベクトルデータにスカラデー
タSを乗算し結果をベクトルレジスタv7に格納するベ
クトル乗算命令、命令(6)は命令(5)によってベク
トルレジスタv7に格納された演算結果を記憶部にスト
アするベクトルストア命令である。また、第3図は上述
したベクトル処理の命令列を従来のベクトル処理装置で
実行させた際のタイムチャートである。
プログラムで指定された命令順序が上記した命令(1)
〜(6)の場合、実行指示制御部における命令スタック
には命令(1)から順に命令が格納され、解読される。
〜(6)の場合、実行指示制御部における命令スタック
には命令(1)から順に命令が格納され、解読される。
先ず命令(,1)が命令スタックから取り出されて解読
されると、ベクトルロード命令であることから記憶制御
部に対しこのベクトルロード命令が送出され、記憶制御
部はこれに応答して記憶部のアクセスを開始し、読み出
した記憶部中のベクトルデータを演算実行部のベクトル
レジスタVlにロードする。実行指示制御部は命令(1
)の解読を終えるとその命令(1)の起動と並行して命
令(2)を解読しており、この命令(2)は命令(1)
でロードされたベクトルデータを使用する命令なので、
ベクトルレジスタv1にベクトルデータがロードされる
のを待ち合わせ、ベクトルレジスタVlにデータがロー
ドされ始めると、スカラデータSを渡して演算実行部に
命令(2)の起動をかける。これによって演算実行部は
ベクトルレジスタv1のベクトルデータにスカラデータ
Sを加算し、その結果をベクトルレジスタv2に格納す
る動作を開始する。演算実行部で演算が開始され、その
結果がベクトルレジスタv2に書き込まれるタイミング
になると、次の命令(3)を解読していた実行指示制御
部がそのタイミングで、ベクトルレジスタ■2のデータ
を記憶部にストアする命令(3)を記憶制御部に送出す
る。記憶制御部はこの命令(3)を受信し解読すると、
ベクトルレジスタv2のデータを記憶部にストアする動
作を開始する。実行指示制御部は、命令(3)の解読後
に命令(4)の解読を行っているが、命令(4)は記憶
部のデータをベクトルレジスタv5にロードする命令で
あり、その時点では第3図のタイムチャートに示すよう
に命令(3)によるベクトルストア処理で記憶部がアク
セスされているので、命令(4)の実行は命令(3)の
処理が終了するまで待たされる。そして、必要な待ち合
わせの後、命令(4)が実行され、その後、命令(5)
、命令(6)が命令(2)、命令(3)と同様に処理さ
れる。
されると、ベクトルロード命令であることから記憶制御
部に対しこのベクトルロード命令が送出され、記憶制御
部はこれに応答して記憶部のアクセスを開始し、読み出
した記憶部中のベクトルデータを演算実行部のベクトル
レジスタVlにロードする。実行指示制御部は命令(1
)の解読を終えるとその命令(1)の起動と並行して命
令(2)を解読しており、この命令(2)は命令(1)
でロードされたベクトルデータを使用する命令なので、
ベクトルレジスタv1にベクトルデータがロードされる
のを待ち合わせ、ベクトルレジスタVlにデータがロー
ドされ始めると、スカラデータSを渡して演算実行部に
命令(2)の起動をかける。これによって演算実行部は
ベクトルレジスタv1のベクトルデータにスカラデータ
Sを加算し、その結果をベクトルレジスタv2に格納す
る動作を開始する。演算実行部で演算が開始され、その
結果がベクトルレジスタv2に書き込まれるタイミング
になると、次の命令(3)を解読していた実行指示制御
部がそのタイミングで、ベクトルレジスタ■2のデータ
を記憶部にストアする命令(3)を記憶制御部に送出す
る。記憶制御部はこの命令(3)を受信し解読すると、
ベクトルレジスタv2のデータを記憶部にストアする動
作を開始する。実行指示制御部は、命令(3)の解読後
に命令(4)の解読を行っているが、命令(4)は記憶
部のデータをベクトルレジスタv5にロードする命令で
あり、その時点では第3図のタイムチャートに示すよう
に命令(3)によるベクトルストア処理で記憶部がアク
セスされているので、命令(4)の実行は命令(3)の
処理が終了するまで待たされる。そして、必要な待ち合
わせの後、命令(4)が実行され、その後、命令(5)
、命令(6)が命令(2)、命令(3)と同様に処理さ
れる。
上述したように、従来の情報処理装置では、命令スタッ
クから取り出した次に実行すべき命令が命1)、 (4
)の如きベクトルロード命令の場合、それらの命令が実
際に処理可能となるタイミングで記憶制御部に送出し、
記憶制御部はそのとき始めて記憶部をアクセスし、読み
出したデータを演算実行部に供給するように構成されて
いる。従って、記憶制御部から記憶部のベクトルデータ
をアクセスするのに必要な絶対時間が長いと、情報処理
装置の性能が低下する。特に、上述した命令列の如く、
先行するベクトルストア命令(3)と後続のベクトルロ
ード命令(4)とを含む命令例では、両者間で異なる記
憶部領域を使用するケースが少なくなく、従って、後続
のベクトルロード命令(4)が先行するベクトルストア
命令より先に記憶部をアクセスしても問題はない、しか
し、従来の情報処理袋!では実際にはプログラムで指定
される順番で命令実行指示が送出される為、先行するベ
クトルストア命令(3)の記憶部へのアクセスが終了す
るまで後続のベクトルロード命令(4)の実行が待たさ
れ、記憶制御部による記憶部の使用状況に無動作状態が
多く生じ、記憶部が効率良く使用されないことになり、
結果的にプログラムの実行時間が長くなってしまう。
クから取り出した次に実行すべき命令が命1)、 (4
)の如きベクトルロード命令の場合、それらの命令が実
際に処理可能となるタイミングで記憶制御部に送出し、
記憶制御部はそのとき始めて記憶部をアクセスし、読み
出したデータを演算実行部に供給するように構成されて
いる。従って、記憶制御部から記憶部のベクトルデータ
をアクセスするのに必要な絶対時間が長いと、情報処理
装置の性能が低下する。特に、上述した命令列の如く、
先行するベクトルストア命令(3)と後続のベクトルロ
ード命令(4)とを含む命令例では、両者間で異なる記
憶部領域を使用するケースが少なくなく、従って、後続
のベクトルロード命令(4)が先行するベクトルストア
命令より先に記憶部をアクセスしても問題はない、しか
し、従来の情報処理袋!では実際にはプログラムで指定
される順番で命令実行指示が送出される為、先行するベ
クトルストア命令(3)の記憶部へのアクセスが終了す
るまで後続のベクトルロード命令(4)の実行が待たさ
れ、記憶制御部による記憶部の使用状況に無動作状態が
多く生じ、記憶部が効率良く使用されないことになり、
結果的にプログラムの実行時間が長くなってしまう。
また、ベクトルストア命令について従来はストアすべき
データが準備できた時点すなわちリソースが使用可能と
なった時点で、ベクトルストア命令を記憶制御部に送出
する構成を採用しているが、一般に命令を記憶部に送出
し記憶制御部がその実行を開始するまでには、命令伝達
系や記憶制御部内での命令解読等の関係で多少の時間を
要する。
データが準備できた時点すなわちリソースが使用可能と
なった時点で、ベクトルストア命令を記憶制御部に送出
する構成を採用しているが、一般に命令を記憶部に送出
し記憶制御部がその実行を開始するまでには、命令伝達
系や記憶制御部内での命令解読等の関係で多少の時間を
要する。
このため、リソースが使用可能となってからストア処理
が開始されるまでの時間が長くなる。
が開始されるまでの時間が長くなる。
本発明はこのような事情に鑑みて為されたもので、その
目的は、ベクトルロード命令、ベクトルストア命令を含
む命令列の実行速度を向上することのできる情報処理装
置を提供することにある。
目的は、ベクトルロード命令、ベクトルストア命令を含
む命令列の実行速度を向上することのできる情報処理装
置を提供することにある。
本発明は上記の目的を達成するために、データを記憶す
る記憶部、ベクトル演算を行う演算実行部、前記記憶部
と前記演算実行部間のデータ転送を制御する記憶制御部
、実行すべき命令を一時記憶する命令スタックを有し命
令の解読、前記演算実行部のリソース管理等を行い前記
記憶制御部および前記演算実行部に制御情報を送出する
実行指示制御部を含む情報処理装置において、命令レジ
スタに格納された命令を前記命令スタックに格納すると
共にその命令を解読し、ベクトルストア命令であるとき
はストアリクエストと処理待機要求とを前記記憶制御部
に送出し、ベクトルロード命令であるときは競合するベ
クトルストア命令が前記命令スタックに格納されていな
いことにより前記記憶制御部へロードリクエストを送出
する第1の制御手段と、前記命令スタックの先頭命令を
解読し、ベクトルストア命令であるときは前記演算実行
部でそのストアにかかるリソースの競合が発生しないタ
イミングで前記記憶制御部に対し処理開始可信号を送出
し、ベクトルロード命令であるときは前記演算実行部で
そのロードにかかるリソースの競合が発生しないタイミ
ングで前記記憶制御部に対しデータ転送可信号を送出す
る第2の制御手段とを、実行指示制御部に備え、前記記
憶制御1部は、前記記憶部からのデータを一時格納する
バッファを有し、前記ストアリクエストと処理待機要求
とに応答してそのストアリクエストにかかる処理の実行
準備を行うと共に前記処理開始可信号に応答して上記実
行準備したストアリクエストにかかる前記演算実行部か
ら前記記憶部へのデータの転送を行い、前記ロードリク
エストに応答して前記記憶部から前記バッファにデータ
を読み込むと共に前記データ転送可信号に応答して前記
バッファからデータを読み出して前記演算実行部に送出
する構成を有している。
る記憶部、ベクトル演算を行う演算実行部、前記記憶部
と前記演算実行部間のデータ転送を制御する記憶制御部
、実行すべき命令を一時記憶する命令スタックを有し命
令の解読、前記演算実行部のリソース管理等を行い前記
記憶制御部および前記演算実行部に制御情報を送出する
実行指示制御部を含む情報処理装置において、命令レジ
スタに格納された命令を前記命令スタックに格納すると
共にその命令を解読し、ベクトルストア命令であるとき
はストアリクエストと処理待機要求とを前記記憶制御部
に送出し、ベクトルロード命令であるときは競合するベ
クトルストア命令が前記命令スタックに格納されていな
いことにより前記記憶制御部へロードリクエストを送出
する第1の制御手段と、前記命令スタックの先頭命令を
解読し、ベクトルストア命令であるときは前記演算実行
部でそのストアにかかるリソースの競合が発生しないタ
イミングで前記記憶制御部に対し処理開始可信号を送出
し、ベクトルロード命令であるときは前記演算実行部で
そのロードにかかるリソースの競合が発生しないタイミ
ングで前記記憶制御部に対しデータ転送可信号を送出す
る第2の制御手段とを、実行指示制御部に備え、前記記
憶制御1部は、前記記憶部からのデータを一時格納する
バッファを有し、前記ストアリクエストと処理待機要求
とに応答してそのストアリクエストにかかる処理の実行
準備を行うと共に前記処理開始可信号に応答して上記実
行準備したストアリクエストにかかる前記演算実行部か
ら前記記憶部へのデータの転送を行い、前記ロードリク
エストに応答して前記記憶部から前記バッファにデータ
を読み込むと共に前記データ転送可信号に応答して前記
バッファからデータを読み出して前記演算実行部に送出
する構成を有している。
(作用)
本発明の情報処理装置においては、実行すべき命令を一
時記憶する命令スタックを有し命令の解読、演算実行部
のリソース管理等を行い記憶制御部および演算実行部に
制御情報を送出する実行指示制御部に設けられた第1の
制御手段が、命令レジスタに格納された命令を命令スタ
ックに格納すると共にその命令を解読し、ベクトルスト
ア命令であるときは、そのベクトルストア命令にかかる
ストアリクエストと処理待機要求とを記憶制御部に送出
し、ベクトルロード命令であるときはそのベクトルロー
ド命令と競合するベクトルストア命令が命令スタックに
格納されていないことにより記憶制御部へロードリクエ
ストを送出し、同じく実行指示制御に設けられた第2の
制御手段が、命令スタックの先頭命令を解読し、ベクト
ルストア命令であるときは演算実行部でそのストアにか
かるリソースの競合が発生しないタイミングで記憶制御
部に対し処理開始可信号を送出し、ベクトルロード命令
であるときは演算実行部でそのロードにかかるリソース
の競合が発生しないタイミングで記憶制御部に対しデー
タ転送可信号を送出する。
時記憶する命令スタックを有し命令の解読、演算実行部
のリソース管理等を行い記憶制御部および演算実行部に
制御情報を送出する実行指示制御部に設けられた第1の
制御手段が、命令レジスタに格納された命令を命令スタ
ックに格納すると共にその命令を解読し、ベクトルスト
ア命令であるときは、そのベクトルストア命令にかかる
ストアリクエストと処理待機要求とを記憶制御部に送出
し、ベクトルロード命令であるときはそのベクトルロー
ド命令と競合するベクトルストア命令が命令スタックに
格納されていないことにより記憶制御部へロードリクエ
ストを送出し、同じく実行指示制御に設けられた第2の
制御手段が、命令スタックの先頭命令を解読し、ベクト
ルストア命令であるときは演算実行部でそのストアにか
かるリソースの競合が発生しないタイミングで記憶制御
部に対し処理開始可信号を送出し、ベクトルロード命令
であるときは演算実行部でそのロードにかかるリソース
の競合が発生しないタイミングで記憶制御部に対しデー
タ転送可信号を送出する。
他方、記憶制御部は、ストアリクエストと処理待機要求
とに応答してそのストアリクエストにかかる処理の実行
準備を行うと共に処理開始可信号に応答して実行準備し
たストアリクエストにかかる演算実行部から記憶部への
データの転送を行い、ロードリクエストに応答して記憶
部からデータを読み込んでバッファに一時格納し、その
後のデータ転送可信号に応答してバッファからデータを
読み出して演算実行部に送出する。
とに応答してそのストアリクエストにかかる処理の実行
準備を行うと共に処理開始可信号に応答して実行準備し
たストアリクエストにかかる演算実行部から記憶部への
データの転送を行い、ロードリクエストに応答して記憶
部からデータを読み込んでバッファに一時格納し、その
後のデータ転送可信号に応答してバッファからデータを
読み出して演算実行部に送出する。
次に、本発明の実施例について図面を参照して詳細に説
明する。
明する。
第1図は本発明を適用した情報処理装置の一実施例の要
部ブロック図である。この実施例の情報処理装置は、実
行指示制御部1と、記憶制御部2と、記憶部3と、演算
実行部4とを含んでいる。
部ブロック図である。この実施例の情報処理装置は、実
行指示制御部1と、記憶制御部2と、記憶部3と、演算
実行部4とを含んでいる。
記憶部3は、主記憶などで構成され、データや命令等を
記憶している。演算実行部4は、ベクトルレジスタやベ
クトル演算器等を有し、実行指示制御部lから指示され
たベクトル演算などを実行する部分である。実行指示制
御部lは、命令の解読。
記憶している。演算実行部4は、ベクトルレジスタやベ
クトル演算器等を有し、実行指示制御部lから指示され
たベクトル演算などを実行する部分である。実行指示制
御部lは、命令の解読。
リソースの管理等を行ってプログラムで指定された命令
列を実行する為に記憶制御部2および演算実行部4に対
し制御情報を出力する部分であり、命令レジスタ11.
命令スタック12.解読器13、アドレスチエツク回路
14.解読/R合チエツク回路15.リソース状態管理
回路16を含んでいる。記憶制御部2は、記憶部3と演
算実行部4間のデータ転送などを制御する部分であり、
制御回路21.ストア命令スタック22.データバッフ
ァ23を含んでいる。
列を実行する為に記憶制御部2および演算実行部4に対
し制御情報を出力する部分であり、命令レジスタ11.
命令スタック12.解読器13、アドレスチエツク回路
14.解読/R合チエツク回路15.リソース状態管理
回路16を含んでいる。記憶制御部2は、記憶部3と演
算実行部4間のデータ転送などを制御する部分であり、
制御回路21.ストア命令スタック22.データバッフ
ァ23を含んでいる。
実行指示制御部lにおける各構成要素は次のような機能
を有する。
を有する。
・命令レジスタ11
図示を省略したバスにより記憶部3からフェッチされた
命令を保持する。
命令を保持する。
・解読器13
命令レジスタ11に保持された命令を命令スタック12
に格納すると共に、その命令を解読し、ベクトルストア
命令ならば記憶制御部2に対しその命令の使用する記憶
部3のアドレス情報等を含むストアリクエストと処理待
機要求を送出し、ベクトルロード命令ならば、命令スタ
ック12内にベクトルストア命令が存在する場合にその
ベクトルストア命令でアクセスされる記憶部3のアドレ
ス範囲と今回のベクトルロード命令でアクセスされる記
憶部3のアドレス範囲とを比較し両者が競合するか否か
を検出しているアドレスチエツク回路14の検出結果に
基づき、競合が発生しないときに限り記憶制御部2ヘベ
クトルロード命令の使用する記憶部3のアドレス情報等
を含むロードリクエストを送出する。
に格納すると共に、その命令を解読し、ベクトルストア
命令ならば記憶制御部2に対しその命令の使用する記憶
部3のアドレス情報等を含むストアリクエストと処理待
機要求を送出し、ベクトルロード命令ならば、命令スタ
ック12内にベクトルストア命令が存在する場合にその
ベクトルストア命令でアクセスされる記憶部3のアドレ
ス範囲と今回のベクトルロード命令でアクセスされる記
憶部3のアドレス範囲とを比較し両者が競合するか否か
を検出しているアドレスチエツク回路14の検出結果に
基づき、競合が発生しないときに限り記憶制御部2ヘベ
クトルロード命令の使用する記憶部3のアドレス情報等
を含むロードリクエストを送出する。
・命令スタック12
解読器13から送出される命令を一時記憶する。
・アドレスチエツク回路14
命令レジスタ11に格納された命令がベクトルロード命
令であると解読器13で解読されたとき、命令スタック
12内にベクトルストア命令が存在すれば、そのベクト
ルストア命令でアクセスされる記憶部3のアドレス範囲
と今回のベクトルロード命令でアクセスされる記憶部3
のアドレス範囲とを比較することにより、両者の競合を
検出する。
令であると解読器13で解読されたとき、命令スタック
12内にベクトルストア命令が存在すれば、そのベクト
ルストア命令でアクセスされる記憶部3のアドレス範囲
と今回のベクトルロード命令でアクセスされる記憶部3
のアドレス範囲とを比較することにより、両者の競合を
検出する。
なお、ベクトルストア命令、ベクトルロード命令でアク
セスされる記憶部3のアドレス範囲は各命令のベクトル
ストア/ロード開始アドレス、ベクトルストア/ロード
要素間距離、ベクトルストア/ロード要素数に基づいて
求められる。
セスされる記憶部3のアドレス範囲は各命令のベクトル
ストア/ロード開始アドレス、ベクトルストア/ロード
要素間距離、ベクトルストア/ロード要素数に基づいて
求められる。
・リソース状態管理回路16
各部から与えられる情報によって演算実行部4における
ベクトルレジスタ等の各種のリソースが現在どのような
状態にあるかを管理する。
ベクトルレジスタ等の各種のリソースが現在どのような
状態にあるかを管理する。
・解読/il1合チエツク回路15
命令スタンク12の先頭命令について、その解読、リソ
ース状態管理回路16が示す状態に照らした競合チエツ
クを行い、記憶制御部2および演算実行部4に制御情報
を送出する。具体的には次のような動作を行う。
ース状態管理回路16が示す状態に照らした競合チエツ
クを行い、記憶制御部2および演算実行部4に制御情報
を送出する。具体的には次のような動作を行う。
命令スタック12の先頭命令がベクトルストア命令の場
合、ストアすべきベクトルレジスタが先行する命令で読
み出し中でないか、または書き込みが開始前でないとき
に、記憶制御部2に対して処理開始可信号を送出する。
合、ストアすべきベクトルレジスタが先行する命令で読
み出し中でないか、または書き込みが開始前でないとき
に、記憶制御部2に対して処理開始可信号を送出する。
命令スタフク12の先頭命令がベクトルロード命令の場
合、ロードすべきベクトルレジスタが先行する命令で書
き込み中でないか、または読み出しが開始されているな
らば、記憶制御部2に対してデータ転送可信号を送出す
る。
合、ロードすべきベクトルレジスタが先行する命令で書
き込み中でないか、または読み出しが開始されているな
らば、記憶制御部2に対してデータ転送可信号を送出す
る。
命令スタック12の先頭命令が演算命令の場合、当該演
算にかかるリソースの競合と演算データの準備状況とを
チエツクし、問題がなければ演算実行部4に対し実行指
示を送出する。
算にかかるリソースの競合と演算データの準備状況とを
チエツクし、問題がなければ演算実行部4に対し実行指
示を送出する。
また、記憶制御部2における各構成要素は次のような機
能を有する。
能を有する。
・データバッファ23
記憶部3から読み出したデータを一時記憶する。
この記憶されたデータは演算実行部4に送られる。
・制御回路21
実行指示制御部1から送出された各種の情報を受信し、
それに応じた動作が記憶制御部2において実行されるよ
うに各部を制御する。具体的には、次のような動作を行
う。
それに応じた動作が記憶制御部2において実行されるよ
うに各部を制御する。具体的には、次のような動作を行
う。
ストアリクエストと処理待機要求とを受信すると、その
ストアリクエストをストア命令スタック22に格納し、
後に処理開始可信号を受信することによりストア命令ス
タック22に格納したそのストアリクエストを起動して
記憶部3をアクセスし、演算実行部4中のベクトルレジ
スタのデータを記憶部3に格納すると共に、このことを
実行指示制御部1のリソース状態管理回路16に通知す
る。
ストアリクエストをストア命令スタック22に格納し、
後に処理開始可信号を受信することによりストア命令ス
タック22に格納したそのストアリクエストを起動して
記憶部3をアクセスし、演算実行部4中のベクトルレジ
スタのデータを記憶部3に格納すると共に、このことを
実行指示制御部1のリソース状態管理回路16に通知す
る。
ロードリクエストを受信すると、記憶部3をアクセスし
ベクトルデータをデータバッファ23に格納し、後にデ
ータ転送可信号を受信すると、データバッファ23に該
当するデータが入り始めるか或いは既にそのバッファに
格納されているならば、データバッファ23中のデータ
を演算実行部4のベクトルレジスタに対し送り始めると
共に、このことを実行指示制御部1のリソース状態管理
回路16に通知する。
ベクトルデータをデータバッファ23に格納し、後にデ
ータ転送可信号を受信すると、データバッファ23に該
当するデータが入り始めるか或いは既にそのバッファに
格納されているならば、データバッファ23中のデータ
を演算実行部4のベクトルレジスタに対し送り始めると
共に、このことを実行指示制御部1のリソース状態管理
回路16に通知する。
第2図は従来例の説明で用いた下記の命令列、VLD
Vl ←M −(1)VADD V2
←S+V 1 ・・・(2)VST M−V
2 ・(3)VLD V5←M
・・・(4)V M P Y V 7 ←S X V
5 −(51V S T M−V 7
−(6)を、第1図の情報処理装置で処理した際のタ
イムチャートである。以下、第2図のタイムチャートを
参照して第1図の実施例の動作を説明する。
Vl ←M −(1)VADD V2
←S+V 1 ・・・(2)VST M−V
2 ・(3)VLD V5←M
・・・(4)V M P Y V 7 ←S X V
5 −(51V S T M−V 7
−(6)を、第1図の情報処理装置で処理した際のタ
イムチャートである。以下、第2図のタイムチャートを
参照して第1図の実施例の動作を説明する。
ベクトルロード命令(1)が命令レジスタ11に格納さ
れると、解読器13は、命令スタック12中に先行する
ベクトルストア命令が存在しないのでアドレスチエツク
回路14のチエツク結果はアドレス競合無しとなり、記
憶制御部2に対してロードリクエストを出す、記憶制御
部2はこのロードリクエストを受信することにより、記
憶部3からデータをデータバッファ23に読み込む処理
を開始する。ベクトルロード命令(1)が命令スタック
12に格納され、次にベクトル加算命令(2)が解読器
13で解読されると、それが命令スタック12に格納さ
れ、次の命令(3)が解読される。命令(3)はベクト
ルストア命令なので、解読器13は記憶制御部2に対し
てストアリクエストと処理待機要求とを送出し、記憶制
御部2はそれを受信し解読してストアリクエストをスト
ア命令スタック22に格納する0次に、解読器13にお
いてベクトルロード命令(4)が解読される。今、ベク
トルロード命令(4)がアクセスする記憶部3のアドレ
ス範囲と、先行するベクトルストア命令(3)がアクセ
スする記憶部3のアドレス範囲とが重複しないものとす
ると、競合無しがアドレスチエツク回路14で検出され
、解読器13は、記憶制御部2に対してロードリクエス
トを出し、記憶制御部2はこれを受信することにより、
先行する命令(1)による記憶部2のアクセスの終了俊
速やかに記憶部3からデータをデータバッファ23に読
み込む処理を開始する0次にベクトル乗算命令(5)が
解読器13で解読されると、それが命令スタック12に
格納され、次にベクトルストア命令(6)が解読される
と、解読器13は記憶制御部2に対してストアリクエス
トと処理待機要求とを送出し、記憶制御部2はそのスト
アリクエストをストア命令スタック22に格納する0以
上のように、命令(1)〜命令(6)が命令スタック1
2に順次格納され、記憶制御部2ではベクトルロード命
令(1)でロードすべきデータが記憶部3からデータバ
ッファ23へ格納され、引き続いてベクトルロード命令
(4)でロードすべきデータが記憶部3からデータバッ
ファ23へ格納される状態となる。
れると、解読器13は、命令スタック12中に先行する
ベクトルストア命令が存在しないのでアドレスチエツク
回路14のチエツク結果はアドレス競合無しとなり、記
憶制御部2に対してロードリクエストを出す、記憶制御
部2はこのロードリクエストを受信することにより、記
憶部3からデータをデータバッファ23に読み込む処理
を開始する。ベクトルロード命令(1)が命令スタック
12に格納され、次にベクトル加算命令(2)が解読器
13で解読されると、それが命令スタック12に格納さ
れ、次の命令(3)が解読される。命令(3)はベクト
ルストア命令なので、解読器13は記憶制御部2に対し
てストアリクエストと処理待機要求とを送出し、記憶制
御部2はそれを受信し解読してストアリクエストをスト
ア命令スタック22に格納する0次に、解読器13にお
いてベクトルロード命令(4)が解読される。今、ベク
トルロード命令(4)がアクセスする記憶部3のアドレ
ス範囲と、先行するベクトルストア命令(3)がアクセ
スする記憶部3のアドレス範囲とが重複しないものとす
ると、競合無しがアドレスチエツク回路14で検出され
、解読器13は、記憶制御部2に対してロードリクエス
トを出し、記憶制御部2はこれを受信することにより、
先行する命令(1)による記憶部2のアクセスの終了俊
速やかに記憶部3からデータをデータバッファ23に読
み込む処理を開始する0次にベクトル乗算命令(5)が
解読器13で解読されると、それが命令スタック12に
格納され、次にベクトルストア命令(6)が解読される
と、解読器13は記憶制御部2に対してストアリクエス
トと処理待機要求とを送出し、記憶制御部2はそのスト
アリクエストをストア命令スタック22に格納する0以
上のように、命令(1)〜命令(6)が命令スタック1
2に順次格納され、記憶制御部2ではベクトルロード命
令(1)でロードすべきデータが記憶部3からデータバ
ッファ23へ格納され、引き続いてベクトルロード命令
(4)でロードすべきデータが記憶部3からデータバッ
ファ23へ格納される状態となる。
他方、命令スタック12に格納された命令は、先頭の命
令(1)から順に解読/競合チエツク回路15で処理さ
れる。解読/競合チエツク回路15は命令(1)を解読
してベクトルロード命令であることを識別すると、ロー
ド先のベクトルレジスタv1が使用可能か否かをリソー
ス状態管理回路16からの情報に従ってチエツクし、使
用可能であることにより記憶制御部2にデータ転送可信
号を送出する。このデータ転送可信号を受けた記憶制御
部2では、データバッファ23に該当するデータが入り
始めると、そのデータを演算実行部4のベクトルレジス
タv1に転送する動作を開始する。
令(1)から順に解読/競合チエツク回路15で処理さ
れる。解読/競合チエツク回路15は命令(1)を解読
してベクトルロード命令であることを識別すると、ロー
ド先のベクトルレジスタv1が使用可能か否かをリソー
ス状態管理回路16からの情報に従ってチエツクし、使
用可能であることにより記憶制御部2にデータ転送可信
号を送出する。このデータ転送可信号を受けた記憶制御
部2では、データバッファ23に該当するデータが入り
始めると、そのデータを演算実行部4のベクトルレジス
タv1に転送する動作を開始する。
解読/競合チエツク回路15は、命令(1)を処理し終
えると、次に先頭命令となる命令(2)を解読し、ベク
トルレジスタVlを使用するベクトル加算命令であるこ
とから、記憶制御部2によってベクトルレジスタVlヘ
データがロードされてリソース状態管理回路16中のベ
クトルレジスタVlにかかる状態が更新され、ベクトル
レジスタV1にデータが準備されたと認識できた時点で
、命令(2)を起動するための実行指示を演算実行部4
に送出する。これによって、演算実行部4は命令(2)
のベクトル加算演算を開始し、結果をベクトルレジスタ
■2に格納する。
えると、次に先頭命令となる命令(2)を解読し、ベク
トルレジスタVlを使用するベクトル加算命令であるこ
とから、記憶制御部2によってベクトルレジスタVlヘ
データがロードされてリソース状態管理回路16中のベ
クトルレジスタVlにかかる状態が更新され、ベクトル
レジスタV1にデータが準備されたと認識できた時点で
、命令(2)を起動するための実行指示を演算実行部4
に送出する。これによって、演算実行部4は命令(2)
のベクトル加算演算を開始し、結果をベクトルレジスタ
■2に格納する。
解読/競合チエツク回路15は、命令(2)を起動する
と、次の命令(3)がベクトルストア命令であることか
らストアすべきデータがベクトルレジスタ■2に準備さ
れたか否かをリソース状態管理回路16からの情報に基
づいてチエツクし、準備完了のタイミングで、処理開始
可信号を記憶制御部2に送出する。記憶制御部2はこの
処理開始可信号を受信すると、ストア命令スタック22
に格納された該当するストアリクエストを起動し、ベク
トルレジスタv2のデータを記憶部3にストアする。
と、次の命令(3)がベクトルストア命令であることか
らストアすべきデータがベクトルレジスタ■2に準備さ
れたか否かをリソース状態管理回路16からの情報に基
づいてチエツクし、準備完了のタイミングで、処理開始
可信号を記憶制御部2に送出する。記憶制御部2はこの
処理開始可信号を受信すると、ストア命令スタック22
に格納された該当するストアリクエストを起動し、ベク
トルレジスタv2のデータを記憶部3にストアする。
次に解読/競合チエツク回路15は、命令(4)を解読
する。この命令(4)はベクトルロード命令なので、ロ
ード先のベクトルレジスタv5が使用可能であるタイミ
ングで、記憶制御部2に対しデータ転送可信号を送出す
る。記憶制i11部2はこのデータ転送可信号を受信す
ることによりデータを演算実行部4のベクトルレジスタ
v5に転送する処理を開始するが、第2図のタイムチャ
ートでも明らかなように、先行するロードリクエストに
よって転送すべきデータの大部分が既にデータバッファ
23に格納されているので、データ転送が直ちに開始さ
れ、必要なデータが速やかにベクトルレジスタ■5に格
納される。
する。この命令(4)はベクトルロード命令なので、ロ
ード先のベクトルレジスタv5が使用可能であるタイミ
ングで、記憶制御部2に対しデータ転送可信号を送出す
る。記憶制i11部2はこのデータ転送可信号を受信す
ることによりデータを演算実行部4のベクトルレジスタ
v5に転送する処理を開始するが、第2図のタイムチャ
ートでも明らかなように、先行するロードリクエストに
よって転送すべきデータの大部分が既にデータバッファ
23に格納されているので、データ転送が直ちに開始さ
れ、必要なデータが速やかにベクトルレジスタ■5に格
納される。
以後、解読/競合チエツク回路15は、命令スタック1
2中の命令(5)、命令(6)を命令(2)、命令(3
)と同様にして処理し、上記した命令列の実行制御を終
了する。第2図と第3図のタイムチャートを比較して明
らかなように、本実施例では命令(1)〜命令(6)の
命令列を高速に実行することができる。
2中の命令(5)、命令(6)を命令(2)、命令(3
)と同様にして処理し、上記した命令列の実行制御を終
了する。第2図と第3図のタイムチャートを比較して明
らかなように、本実施例では命令(1)〜命令(6)の
命令列を高速に実行することができる。
以上説明したように本発明の情報処理装置においては、
ベクトルストア命令が命令レジスタに格納された時点で
記憶制御部に対しストアリクエストと処理待機要求とを
送出して記憶制御部にその実行準備を行わせ、ベクトル
レジスタのデータが確定した時点で処理開始可信号を送
出して記憶制御部内実行準備させたストアリクエストに
かかる処理を行わせるものであり、命令伝達系や記憶制
御部内での命令解読等の時間が先行処理により吸収され
、また処理開始可信号は命令伝達系等を経由せず速やか
に記憶制御部に伝達されるので、ストアすべきデータが
ベクトルレジスタに準備できた時点から実際にデータの
ストアが開始されるまでの時間を短縮することが可能と
なる。
ベクトルストア命令が命令レジスタに格納された時点で
記憶制御部に対しストアリクエストと処理待機要求とを
送出して記憶制御部にその実行準備を行わせ、ベクトル
レジスタのデータが確定した時点で処理開始可信号を送
出して記憶制御部内実行準備させたストアリクエストに
かかる処理を行わせるものであり、命令伝達系や記憶制
御部内での命令解読等の時間が先行処理により吸収され
、また処理開始可信号は命令伝達系等を経由せず速やか
に記憶制御部に伝達されるので、ストアすべきデータが
ベクトルレジスタに準備できた時点から実際にデータの
ストアが開始されるまでの時間を短縮することが可能と
なる。
また、ベクトルロード命令が命令レジスタに格納された
時点でそれを解読して可能であれば記憶制御部に対し早
期にロードリクエストを送出し、ベクトルレジスタへの
データのロードが可能となった時点で記憶制御部へデー
タ転送可信号を送出し、他方、記憶制御部ではロードリ
クエスト、が出された時点で記憶部からデータを読み出
して内部のバッファに格納し、データ転送可信号が出さ
れた時点でそのバッファから速やかにデータを演算制御
部ヘロードするので、ベクトルロードの処理の並行度を
高めることができる。
時点でそれを解読して可能であれば記憶制御部に対し早
期にロードリクエストを送出し、ベクトルレジスタへの
データのロードが可能となった時点で記憶制御部へデー
タ転送可信号を送出し、他方、記憶制御部ではロードリ
クエスト、が出された時点で記憶部からデータを読み出
して内部のバッファに格納し、データ転送可信号が出さ
れた時点でそのバッファから速やかにデータを演算制御
部ヘロードするので、ベクトルロードの処理の並行度を
高めることができる。
以上の結果、本発明によれば、ベクトルロード命令、ベ
クトルストア命令を含む命令列の実行速度を向上するこ
とができる。
クトルストア命令を含む命令列の実行速度を向上するこ
とができる。
第1図は本発明の一実施例の要部ブロック図、第2図は
本発明の実施例のタイムチャートおよび、 第3図は従来例のタイムチャートである。 図において、 1・・・実行指示制御部 11・・・命令レジスタ 12・・・命令スタック 13・・・解読器 14・・・アドレスチエツク回路 15・・・解読/競合チエツク回路 16・・・リソース状態管理回路 2・・・記憶制御部 21・・・制御回路 22・・・ストア命令スタック 23・・・データバッファ 3・・・記憶部 4・・・演算実行部 特許出願人 甲府日本電気株式会社
本発明の実施例のタイムチャートおよび、 第3図は従来例のタイムチャートである。 図において、 1・・・実行指示制御部 11・・・命令レジスタ 12・・・命令スタック 13・・・解読器 14・・・アドレスチエツク回路 15・・・解読/競合チエツク回路 16・・・リソース状態管理回路 2・・・記憶制御部 21・・・制御回路 22・・・ストア命令スタック 23・・・データバッファ 3・・・記憶部 4・・・演算実行部 特許出願人 甲府日本電気株式会社
Claims (1)
- データを記憶する記憶部、ベクトル演算を行う演算実行
部、前記記憶部と前記演算実行部間のデータ転送を制御
する記憶制御部、実行すべき命令を一時記憶する命令ス
タックを有し命令の解読、前記演算実行部のリソース管
理等を行い前記記憶制御部および前記演算実行部に制御
情報を送出する実行指示制御部を含む情報処理装置にお
いて、前記実行指示制御部は、命令レジスタに格納され
た命令を前記命令スタックに格納すると共に該命令を解
読し、ベクトルストア命令であるときはストアリクエス
トと処理待機要求とを前記記憶制御部に送出し、ベクト
ルロード命令であるときは競合するベクトルストア命令
が前記命令スタックに格納されていないことにより前記
記憶制御部へロードリクエストを送出する第1の制御手
段と、前記命令スタックの先頭命令を解読し、ベクトル
ストア命令であるときは前記演算実行部で該ストアにか
かるリソースの競合が発生しないタイミングで前記記憶
制御部に対し処理開始可信号を送出し、ベクトルロード
命令であるときは前記演算実行部で該ロードにかかるリ
ソースの競合が発生しないタイミングで前記記憶制御部
に対しデータ転送可信号を送出する第2の制御手段とを
有し、前記記憶制御部は、前記記憶部からのデータを一
時格納するバッファを有し、前記ストアリクエストと処
理待機要求とに応答して該ストアリクエストにかかる処
理の実行準備を行うと共に前記処理開始可信号に応答し
て該実行準備したストアリクエストにかかる前記演算実
行部から前記記憶部へのデータの転送を行い、前記ロー
ドリクエストに応答して前記記憶部から前記バッファに
データを読み込むと共に前記データ転送可信号に応答し
て前記バッファからデータを読み出して前記演算実行部
に送出する構成を有することを特徴とする情報処理装置
。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1843589A JPH02197961A (ja) | 1989-01-27 | 1989-01-27 | 情報処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1843589A JPH02197961A (ja) | 1989-01-27 | 1989-01-27 | 情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02197961A true JPH02197961A (ja) | 1990-08-06 |
Family
ID=11971569
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1843589A Pending JPH02197961A (ja) | 1989-01-27 | 1989-01-27 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02197961A (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59158441A (ja) * | 1983-03-01 | 1984-09-07 | Nec Corp | パイプライン制御方式 |
| JPS60175146A (ja) * | 1984-02-20 | 1985-09-09 | Hitachi Ltd | プログラマブル・コントロ−ラ |
| JPS63223829A (ja) * | 1987-03-12 | 1988-09-19 | Nec Corp | 情報処理装置 |
-
1989
- 1989-01-27 JP JP1843589A patent/JPH02197961A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59158441A (ja) * | 1983-03-01 | 1984-09-07 | Nec Corp | パイプライン制御方式 |
| JPS60175146A (ja) * | 1984-02-20 | 1985-09-09 | Hitachi Ltd | プログラマブル・コントロ−ラ |
| JPS63223829A (ja) * | 1987-03-12 | 1988-09-19 | Nec Corp | 情報処理装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100335785B1 (ko) | 데이타처리명령의실행 | |
| JPH01109466A (ja) | コプロセッサの並行動作制御方式 | |
| JPH02101576A (ja) | ベクトル処理装置 | |
| JPH02197961A (ja) | 情報処理装置 | |
| CA2157435C (en) | Vector data bypass mechanism for vector computer | |
| JP2814683B2 (ja) | 命令処理装置 | |
| JPH06168263A (ja) | ベクトル処理装置 | |
| US20070288675A1 (en) | Bus system, bus slave and bus control method | |
| JP2883488B2 (ja) | 命令処理装置 | |
| JP2806690B2 (ja) | マイクロプロセッサ | |
| JP2731740B2 (ja) | 通信レジスタ付並列計算機 | |
| JP3341847B2 (ja) | データ処理装置 | |
| JP2594140B2 (ja) | データ駆動型データ処理装置 | |
| JP2506591B2 (ja) | 補助処理装置 | |
| JPH06139071A (ja) | 並列計算機 | |
| JPH02301830A (ja) | 情報処理方式 | |
| JPH0321941B2 (ja) | ||
| JPS61194566A (ja) | ベクトルデ−タ参照制御方式 | |
| JPH0279122A (ja) | 浮動小数点演算機構 | |
| JPH05216808A (ja) | データ処理装置 | |
| JPS6341106B2 (ja) | ||
| JPH05341995A (ja) | プロセッサにおける命令制御方法及びプロセッサ | |
| JPS63257856A (ja) | シリアル通信方式 | |
| JPS6146545A (ja) | 入出力命令制御方法 | |
| JPH10269170A (ja) | バス接続装置 |