JPH0810451B2 - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH0810451B2 JPH0810451B2 JP1075834A JP7583489A JPH0810451B2 JP H0810451 B2 JPH0810451 B2 JP H0810451B2 JP 1075834 A JP1075834 A JP 1075834A JP 7583489 A JP7583489 A JP 7583489A JP H0810451 B2 JPH0810451 B2 JP H0810451B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- store
- vector
- scalar
- issued
- 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/8061—Details on data memory access
- G06F15/8069—Details on data memory access using a cache
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/3834—Maintaining memory consistency
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、スカラ命令およびベクトル命令の双方を扱
える情報処理装置に関する。
える情報処理装置に関する。
従来、この種の情報処理装置において、プログラムで
指定された命令発行順序に従い命令を発行している際に
データの確定していないベクトルストア命令が出てきた
場合の対処方式としては、 (1)データが確定するまでベクトルストア命令および
それに続く命令の発行を待ち合わせる。
指定された命令発行順序に従い命令を発行している際に
データの確定していないベクトルストア命令が出てきた
場合の対処方式としては、 (1)データが確定するまでベクトルストア命令および
それに続く命令の発行を待ち合わせる。
(2)ベクトルストア命令の後に続く命令で追い越しが
可能な命令を先行発行し、ベクトルストア命令のデータ
が確定した後、そのベクトルストア命令をあたかも命令
発行順序通りであったかの如く発行する。
可能な命令を先行発行し、ベクトルストア命令のデータ
が確定した後、そのベクトルストア命令をあたかも命令
発行順序通りであったかの如く発行する。
の2通りの方式が報告されている。
また、この種の情報処理装置がスカラ命令でのみアク
セス可能なスカラキャッシュメモリを有する場合、ベク
トルストア命令による処理は主記憶に対してのみ行われ
るので、ベクトルストア命令のストアアドレスに該当す
るデータがスカラキャッシュメモリ上に存在している場
合には、そのデータを無効にすることにより、データの
無矛盾性を保証している。なお、スカラキャッシュメモ
リ上のデータの無効化はブロック単位で実施される。そ
して、このスカラキャッシュメモリ上のブロックデータ
の無効化処理は、従来、ベクトルストア命令が発行され
た後に無効化処理手段を起動し、この手段によって該当
するブロックデータを無効化するものであった。
セス可能なスカラキャッシュメモリを有する場合、ベク
トルストア命令による処理は主記憶に対してのみ行われ
るので、ベクトルストア命令のストアアドレスに該当す
るデータがスカラキャッシュメモリ上に存在している場
合には、そのデータを無効にすることにより、データの
無矛盾性を保証している。なお、スカラキャッシュメモ
リ上のデータの無効化はブロック単位で実施される。そ
して、このスカラキャッシュメモリ上のブロックデータ
の無効化処理は、従来、ベクトルストア命令が発行され
た後に無効化処理手段を起動し、この手段によって該当
するブロックデータを無効化するものであった。
プログラムで指定された命令発行順序に従って命令を
発行している際にデータの確定していないベクトルスト
ア命令が出てきた場合、上記の方式(1)で対処する情
報処理装置ではどうしても処理速度が遅くなる。これに
対し、上記の方式(2)で対処する情報処理装置では、
追い越し可能な命令を先行発行する分、処理速度を高め
ることができる。しかしながら、方式(1)を採用する
情報処理装置についても同様であるが、方式(2)を採
用する情報処理装置がスカラ命令でのみアクセス可能な
スカラキャッシュメモリを有している場合、そのベクト
ルストア命令にかかるスカラキャッシュメモリの無効化
処理が必要であり、従来この無効化処理はベクトルスト
ア命令が発行された後でしか実行できなかったので、こ
れが処理速度をより一層向上させる際の障害となってい
た。
発行している際にデータの確定していないベクトルスト
ア命令が出てきた場合、上記の方式(1)で対処する情
報処理装置ではどうしても処理速度が遅くなる。これに
対し、上記の方式(2)で対処する情報処理装置では、
追い越し可能な命令を先行発行する分、処理速度を高め
ることができる。しかしながら、方式(1)を採用する
情報処理装置についても同様であるが、方式(2)を採
用する情報処理装置がスカラ命令でのみアクセス可能な
スカラキャッシュメモリを有している場合、そのベクト
ルストア命令にかかるスカラキャッシュメモリの無効化
処理が必要であり、従来この無効化処理はベクトルスト
ア命令が発行された後でしか実行できなかったので、こ
れが処理速度をより一層向上させる際の障害となってい
た。
本発明はこのような事情に鑑みて為されたものであ
り、その目的は、上記の方式(2)を採用した情報処理
装置において、命令の追い越し発行制御によって追い越
されたベクトルストア命令にかかるスカラキャッシュメ
モリの無効化処理を、そのベクトルストア命令の発行に
先行して行うことのできる情報処理装置を提供すること
にある。
り、その目的は、上記の方式(2)を採用した情報処理
装置において、命令の追い越し発行制御によって追い越
されたベクトルストア命令にかかるスカラキャッシュメ
モリの無効化処理を、そのベクトルストア命令の発行に
先行して行うことのできる情報処理装置を提供すること
にある。
本発明は上記の目的を達成するために、スカラ命令で
のみアクセス可能なスカラキャッシュメモリを持つ緩衝
記憶手段を備えた情報処理装置において、プログラムで
指定された命令発行順序に従い命令を発行すると共にデ
ータの確定していないベクトルストア命令に関しては、
そのベクトルストア命令を実際のベクトルストア処理が
行われない命令として仮発行し、データが確定した後に
前記命令発行順序に割り込んで前記ベクトルストア命令
を実際のベクトルストア処理が行われる命令として本発
行する命令発行手段と、この命令発行手段から仮発行さ
れたベクトルストア命令によって操作されるストア区間
ブロックアドレスを求めて保持する区画保持手段と、前
記命令発行手段から発行されるスカラロード/ストア命
令の示すブロックアドレスを前記区間保持手段に保持さ
れたストア区間ブロックアドレスと比較し、前記ストア
区間ブロックアドレス外であった場合にそのスカラロー
ド/ストア命令の処理を可能とし、区画内であった場合
にそのスカラロード/ストア命令の処理を前記命令発行
手段から前記ベクトルストア命令が本発行され更に処理
されるまで待機させる追い越し制御手段と、前記命令発
行手段からベクトルストア命令が仮発行されることによ
り、前記スカラキャッシュメモリ上に存在し且つ前記ベ
クトルストア命令のストアアドレスに該当するブロック
データを無効にする無効化処理手段とを有している。
のみアクセス可能なスカラキャッシュメモリを持つ緩衝
記憶手段を備えた情報処理装置において、プログラムで
指定された命令発行順序に従い命令を発行すると共にデ
ータの確定していないベクトルストア命令に関しては、
そのベクトルストア命令を実際のベクトルストア処理が
行われない命令として仮発行し、データが確定した後に
前記命令発行順序に割り込んで前記ベクトルストア命令
を実際のベクトルストア処理が行われる命令として本発
行する命令発行手段と、この命令発行手段から仮発行さ
れたベクトルストア命令によって操作されるストア区間
ブロックアドレスを求めて保持する区画保持手段と、前
記命令発行手段から発行されるスカラロード/ストア命
令の示すブロックアドレスを前記区間保持手段に保持さ
れたストア区間ブロックアドレスと比較し、前記ストア
区間ブロックアドレス外であった場合にそのスカラロー
ド/ストア命令の処理を可能とし、区画内であった場合
にそのスカラロード/ストア命令の処理を前記命令発行
手段から前記ベクトルストア命令が本発行され更に処理
されるまで待機させる追い越し制御手段と、前記命令発
行手段からベクトルストア命令が仮発行されることによ
り、前記スカラキャッシュメモリ上に存在し且つ前記ベ
クトルストア命令のストアアドレスに該当するブロック
データを無効にする無効化処理手段とを有している。
本発明の情報処理装置においては、プログラムで指定
された命令発行順序に従い命令が発行されている際にデ
ータの確定していないベクトルストア命令が出現する
と、命令発行手段がそのベクトルストア命令を実際のベ
クトルストア処理が行われない命令として仮発行し、区
画保持手段がその仮発行されたベクトルストア命令によ
って操作されるストア区間ブロックアドレスを求めて保
持すると共に無効化処理手段がスカラキャッシュメモリ
上に存在している前記ベクトルストア命令のストアアド
レスに該当するブロックデータを無効にする。また、命
令の追い越し発行によって上記ベクトルストア命令を追
い越すスカラロード/ストア命令が前記命令発行手段か
ら発行されると、追い越し制御手段が、その発行された
スカラロード/ストア命令の示すブロックアドレスを前
記区間保持手段に保持されたストア区間ブロックアドレ
スと比較し、このストア区間ブロックアドレス外であっ
た場合にはそのスカラロード/ストア命令の処理を可能
とし、区間内であった場合にはそのスカラロード/スト
ア命令の処理を前記命令発行手段から前記ベクトルスト
ア命令が本発行され更に処理されるまで待機させる。
された命令発行順序に従い命令が発行されている際にデ
ータの確定していないベクトルストア命令が出現する
と、命令発行手段がそのベクトルストア命令を実際のベ
クトルストア処理が行われない命令として仮発行し、区
画保持手段がその仮発行されたベクトルストア命令によ
って操作されるストア区間ブロックアドレスを求めて保
持すると共に無効化処理手段がスカラキャッシュメモリ
上に存在している前記ベクトルストア命令のストアアド
レスに該当するブロックデータを無効にする。また、命
令の追い越し発行によって上記ベクトルストア命令を追
い越すスカラロード/ストア命令が前記命令発行手段か
ら発行されると、追い越し制御手段が、その発行された
スカラロード/ストア命令の示すブロックアドレスを前
記区間保持手段に保持されたストア区間ブロックアドレ
スと比較し、このストア区間ブロックアドレス外であっ
た場合にはそのスカラロード/ストア命令の処理を可能
とし、区間内であった場合にはそのスカラロード/スト
ア命令の処理を前記命令発行手段から前記ベクトルスト
ア命令が本発行され更に処理されるまで待機させる。
次に、本発明の実施例について図面を参照して詳細に
説明する。
説明する。
第1図は本発明の情報処理装置の一実施例の要部ブロ
ック図である。この実施例の情報処理装置は、命令発行
手段1と、これに命令仮発行線11で接続された区間保持
手段2と、これに区間アドレス情報線13で接続されると
共に命令本発行線12で命令発行手段1に接続された追い
越し制御手段3と、命令仮発行線11で命令発行手段1に
接続された無効化処理手段4と、これに無効化処理情報
線16で接続されると共にアクセス信号線14で追い越し制
御手段3に接続された緩衝記憶手段5と、アクセス信号
線15で追い越し制御手段3に接続された主記憶手段6と
を含んでいる。
ック図である。この実施例の情報処理装置は、命令発行
手段1と、これに命令仮発行線11で接続された区間保持
手段2と、これに区間アドレス情報線13で接続されると
共に命令本発行線12で命令発行手段1に接続された追い
越し制御手段3と、命令仮発行線11で命令発行手段1に
接続された無効化処理手段4と、これに無効化処理情報
線16で接続されると共にアクセス信号線14で追い越し制
御手段3に接続された緩衝記憶手段5と、アクセス信号
線15で追い越し制御手段3に接続された主記憶手段6と
を含んでいる。
緩衝記憶手段5には、スカラ命令でのみアクセスする
ことのできるスカラキャッシュメモリが含まれている。
今、第2図に示すようにアドレス情報が0〜nのnビッ
トで構成されており、スカラキャッシュメモリのブロッ
クデータのブロックサイズを2(n-m-1)とすると、0〜l
のビットでブロックアドレスが構成され、m〜nのビッ
トでブロック内アドレスが構成される。なお、スカラキ
ャッシュメモリの無効化処理はブロックデータ単位で行
われる。
ことのできるスカラキャッシュメモリが含まれている。
今、第2図に示すようにアドレス情報が0〜nのnビッ
トで構成されており、スカラキャッシュメモリのブロッ
クデータのブロックサイズを2(n-m-1)とすると、0〜l
のビットでブロックアドレスが構成され、m〜nのビッ
トでブロック内アドレスが構成される。なお、スカラキ
ャッシュメモリの無効化処理はブロックデータ単位で行
われる。
命令発行手段1は、プログラムで指定された命令発行
順序に従い命令を発行すると共にデータの確定していな
いベクトルストア命令に関しては、そのベクトルストア
命令を実際のベクトルストア命令が行われない命令とし
て仮発行し、データが確定した後に命令発行順序に割り
込んで、そのベクトルストア命令を実際のベクトルスト
ア処理が行われる命令として本発行する機能を持つ。ベ
クトルストア命令の仮発行は命令仮発行線11に対し行わ
れ、本発行は命令本発行線12に対し行われる。
順序に従い命令を発行すると共にデータの確定していな
いベクトルストア命令に関しては、そのベクトルストア
命令を実際のベクトルストア命令が行われない命令とし
て仮発行し、データが確定した後に命令発行順序に割り
込んで、そのベクトルストア命令を実際のベクトルスト
ア処理が行われる命令として本発行する機能を持つ。ベ
クトルストア命令の仮発行は命令仮発行線11に対し行わ
れ、本発行は命令本発行線12に対し行われる。
区間保持手段2は、命令発行手段1から命令仮発行線
11に仮発行されたベクトルストア命令を入力し、そのベ
クトルストア命令が指定するベクトルストア開始アドレ
ス(B),ベクトルストア要素間距離(D),ベクトル
ストア要素数(L)を用いて、ベクトルストア命令によ
ってストアされるストア開始アドレスからストア終了ア
ドレスまでの連続するストア区間アドレスを作成し、こ
のストア区間アドレスのうち第2図のブロック内アドレ
スに相当するアドレス部を除いたアドレス情報をストア
区間ブロックアドレスとして保持し且つ区間アドレス情
報線13を介して追い越し制御手段3に加える機能を持
つ。なお、区間保持手段2に保持されたストア区間ブロ
ックアドレスは該当するベクトルストア命令が本発行さ
れ更に処理された時点で消去される。
11に仮発行されたベクトルストア命令を入力し、そのベ
クトルストア命令が指定するベクトルストア開始アドレ
ス(B),ベクトルストア要素間距離(D),ベクトル
ストア要素数(L)を用いて、ベクトルストア命令によ
ってストアされるストア開始アドレスからストア終了ア
ドレスまでの連続するストア区間アドレスを作成し、こ
のストア区間アドレスのうち第2図のブロック内アドレ
スに相当するアドレス部を除いたアドレス情報をストア
区間ブロックアドレスとして保持し且つ区間アドレス情
報線13を介して追い越し制御手段3に加える機能を持
つ。なお、区間保持手段2に保持されたストア区間ブロ
ックアドレスは該当するベクトルストア命令が本発行さ
れ更に処理された時点で消去される。
追い越し制御手段3は、命令発行手段1から発行され
るスカラロード/ストア命令の示すスカラロード/スト
アアドレスから第2図のブロック内アドレスに相当する
アドレス部を除いたアドレス情報(スカラロード/スト
ア・ブロックアドレス)を、区間保持手段2から供給さ
れるストア区間ブロックアドレスと比較し、スカラロー
ド/ストア・ブロックアドレスがストア区間ブロックア
ドレスの範囲外にある場合には、そのスカラロード/ス
トア命令による緩衝記憶手段5にあるスカラキャッシュ
メモリおよび主記憶手段6へのアクセスを可能とし、ス
トア区間ブロックアドレスの範囲内にある場合には、ス
カラロード/ストア命令の処理を命令発行手段1からベ
クトルストア命令が本発行され更に処理されるまで待機
させる機能を持つ。
るスカラロード/ストア命令の示すスカラロード/スト
アアドレスから第2図のブロック内アドレスに相当する
アドレス部を除いたアドレス情報(スカラロード/スト
ア・ブロックアドレス)を、区間保持手段2から供給さ
れるストア区間ブロックアドレスと比較し、スカラロー
ド/ストア・ブロックアドレスがストア区間ブロックア
ドレスの範囲外にある場合には、そのスカラロード/ス
トア命令による緩衝記憶手段5にあるスカラキャッシュ
メモリおよび主記憶手段6へのアクセスを可能とし、ス
トア区間ブロックアドレスの範囲内にある場合には、ス
カラロード/ストア命令の処理を命令発行手段1からベ
クトルストア命令が本発行され更に処理されるまで待機
させる機能を持つ。
無効化処理手段4は、命令発行手段1から命令仮発行
線11にベクトルストア命令が仮発行されることにより、
その仮発行されたベクトルストア命令が指定するベクト
ルストア開始アドレス(B),ベクトルストア要素間距
離(D),ベクトルストア要素数(L)を用いて、緩衝
記憶手段5にあるスカラキャッシュメモリ上に存在し
て、ベクトルストア命令のストアアドレスに該当するブ
ロックデータを無効にする機能を持つ。
線11にベクトルストア命令が仮発行されることにより、
その仮発行されたベクトルストア命令が指定するベクト
ルストア開始アドレス(B),ベクトルストア要素間距
離(D),ベクトルストア要素数(L)を用いて、緩衝
記憶手段5にあるスカラキャッシュメモリ上に存在し
て、ベクトルストア命令のストアアドレスに該当するブ
ロックデータを無効にする機能を持つ。
次に、本実施例の動作を第3図に示すような命令列を
含むプログラムが実行される場合を例にして説明する。
なお、第3図の命令列は、ベクトル加算命令VADD,ベク
トルストア命令VST,スカラロード命令LDS A,LDS B加算
命令ADD,スカラストア命令STS,スカラロード命令LDS C
がアドレス順に並んでおり、その内ベクトルストア命令
VSTのストアデータが先行命令のベクトル加算命令VADD
の演算結果である場合を示す。
含むプログラムが実行される場合を例にして説明する。
なお、第3図の命令列は、ベクトル加算命令VADD,ベク
トルストア命令VST,スカラロード命令LDS A,LDS B加算
命令ADD,スカラストア命令STS,スカラロード命令LDS C
がアドレス順に並んでおり、その内ベクトルストア命令
VSTのストアデータが先行命令のベクトル加算命令VADD
の演算結果である場合を示す。
プログラムで指定された命令発行順序が第3図に示し
た如き順序の場合、命令発行手段1はベクトル加算命令
VADDから順に各命令を発行していくが、その際、ベクト
ルストア命令VSTに関しては先行するベクトル加算命令V
ADDの演算が未だ終了しておらずストアデータが確定し
ていないので、仮発行を行い、その後に後続のスカラロ
ード命令LDS A等を順に発行していく。なお、ベクトル
加算命令VADDによる演算が終了し第3図に示す時点でデ
ータが確定したとすると、ベクトルストア命令VSTは例
えば同図の破線で指示された位置すなわちスカラストア
命令STSの次に割り込んで本発行される。
た如き順序の場合、命令発行手段1はベクトル加算命令
VADDから順に各命令を発行していくが、その際、ベクト
ルストア命令VSTに関しては先行するベクトル加算命令V
ADDの演算が未だ終了しておらずストアデータが確定し
ていないので、仮発行を行い、その後に後続のスカラロ
ード命令LDS A等を順に発行していく。なお、ベクトル
加算命令VADDによる演算が終了し第3図に示す時点でデ
ータが確定したとすると、ベクトルストア命令VSTは例
えば同図の破線で指示された位置すなわちスカラストア
命令STSの次に割り込んで本発行される。
区間保持手段2では、命令仮発行線11を介してベクト
ルストア命令VSTが送られてくると、そのベクトルスト
ア命令VSTのベクトルストア開始アドレス(B),ベク
トルストア要素間距離(D),ベクトルストア要素数
(L)からストア区間アドレス{B,B+D×(L−
1)}を求め、そのストア区間アドレスからブロック内
アドレスに相当するアドレス部を除いたストア区間ブロ
ックアドレスを作成して保持すると共に区間アドレス情
報線13を介して追い越し制御手段3に供給する。横軸に
アドレスを採った第4図(a)において、ベクトルスト
ア命令VSTのベクトルストア開始アドレス(B)が同図
のSTARTの位置に相当し、最終ストアアドレス{B+D
×(L−1)}が同図のENDの位置に相当する場合、ス
トア区間アドレス{B,B+D×(L−1)}からブロッ
ク内アドレスに相当するアドレス部を除く操作は、同図
(a)の矢印で示すようにstart,endの位置に移動する
ことに相当し、このstart,endの位置がストア区間ブロ
ックアドレスの開始点,終了点となる。なお、第4図に
おいて、blはブロック境界、e1〜eLはベクトルストア命
令VSTによってストアされる各要素、a,bはスカラロード
/ストア・アクセス、F0〜FNは無効化ブロックアドレス
をそれぞれ示す。
ルストア命令VSTが送られてくると、そのベクトルスト
ア命令VSTのベクトルストア開始アドレス(B),ベク
トルストア要素間距離(D),ベクトルストア要素数
(L)からストア区間アドレス{B,B+D×(L−
1)}を求め、そのストア区間アドレスからブロック内
アドレスに相当するアドレス部を除いたストア区間ブロ
ックアドレスを作成して保持すると共に区間アドレス情
報線13を介して追い越し制御手段3に供給する。横軸に
アドレスを採った第4図(a)において、ベクトルスト
ア命令VSTのベクトルストア開始アドレス(B)が同図
のSTARTの位置に相当し、最終ストアアドレス{B+D
×(L−1)}が同図のENDの位置に相当する場合、ス
トア区間アドレス{B,B+D×(L−1)}からブロッ
ク内アドレスに相当するアドレス部を除く操作は、同図
(a)の矢印で示すようにstart,endの位置に移動する
ことに相当し、このstart,endの位置がストア区間ブロ
ックアドレスの開始点,終了点となる。なお、第4図に
おいて、blはブロック境界、e1〜eLはベクトルストア命
令VSTによってストアされる各要素、a,bはスカラロード
/ストア・アクセス、F0〜FNは無効化ブロックアドレス
をそれぞれ示す。
また、無効化処理手段4では、命令仮発行線11を介し
てベクトルストア命令VSTが送られてくると、そのベク
トルストア命令VSTのベクトルストア開始アドレス
(B),ベクトルストア要素間距離(D),ベクトルス
トア要素数(L)に基づいて第4図(a)の無効化ブロ
ックアドレスF0〜FNを求め、緩衝記憶手段5のストアキ
ャッシュメモリ上に存在するブロックデータであって、
ベクトルストア命令VSTのストアアドレスに該当するブ
ロックデータを、無効化処理情報線16を介して無効化す
る。この無効化によって、ベクトルストア命令VSTのス
トアアドレスに該当するブロックデータはストアキャッ
シュメモリ上には存在しないものとなる。
てベクトルストア命令VSTが送られてくると、そのベク
トルストア命令VSTのベクトルストア開始アドレス
(B),ベクトルストア要素間距離(D),ベクトルス
トア要素数(L)に基づいて第4図(a)の無効化ブロ
ックアドレスF0〜FNを求め、緩衝記憶手段5のストアキ
ャッシュメモリ上に存在するブロックデータであって、
ベクトルストア命令VSTのストアアドレスに該当するブ
ロックデータを、無効化処理情報線16を介して無効化す
る。この無効化によって、ベクトルストア命令VSTのス
トアアドレスに該当するブロックデータはストアキャッ
シュメモリ上には存在しないものとなる。
他方、追い越し制御手段3では、命令発行手段1から
命令本発行線12を介して送られてくる命令を受け付け、
命令の追い越し制御等にかかる処理を実行する。そし
て、その一環として、仮発行されたベクトルストア命令
VSTの後に続くスカラロード/ストア命令の示すスカラ
ロード/ストア・ブロックアドレスを、区間保持手段2
から供給されているストア区間ブロックアドレスと比較
することによりアドレス区間のチェックを行う。この結
果、スカラロード/ストア命令のスカラロード/ストア
・ブロックアドレスがストア区間ブロックアドレスの範
囲外であれば、アクセス信号線14,15を介する緩衝記憶
手段5および主記憶手段6に対してのアクセスを許し、
逆に範囲内であった場合には、そのスカラロード/スト
ア命令を、命令発行手段1のデータ待ち状態にあるベク
トルストア命令VSTがデータ確定後に本発行されて処理
されるまで、待機させる。例えば、後続のスカラロード
命令LDS Bが第4図(a)のaまたはbの位置をアクセ
スするものであった場合、そのブロック内アドレスが捨
て去られることにより第4図(a)に示すようにそのス
トアロード・アドレスが同図の矢印に示すように移動さ
れてストアロード・ブロックアドレスが生成され、これ
とストア区間ブロックアドレスとの比較を行われる。こ
の場合、区間内となるので、ストアロード命令LDS Bは
待機させられる。因に、このようなストアロード命令LD
S Bが即実行されたとすると、緩衝記憶手段5において
キャッシュミスヒット(該当するブロックデータがキャ
ッシュメモリ上に存在しないこと)した場合、第4図
(b)のブロックデータAまたはブロックデータBのブ
ロックロードが行われ、ハッチングを施した部分のよう
なベクトルストア命令VSTで書き換えられるべきデータ
を含んだブロックデータが、有効なブロックデータとし
て緩衝記憶手段5にあるスカラキャッシュメモリに登録
されてしまうことになり、追い越し対象となったベクト
ルストア命令にかかるキャッシュメモリの無効化処理を
先行した意味が無くなってしまう。
命令本発行線12を介して送られてくる命令を受け付け、
命令の追い越し制御等にかかる処理を実行する。そし
て、その一環として、仮発行されたベクトルストア命令
VSTの後に続くスカラロード/ストア命令の示すスカラ
ロード/ストア・ブロックアドレスを、区間保持手段2
から供給されているストア区間ブロックアドレスと比較
することによりアドレス区間のチェックを行う。この結
果、スカラロード/ストア命令のスカラロード/ストア
・ブロックアドレスがストア区間ブロックアドレスの範
囲外であれば、アクセス信号線14,15を介する緩衝記憶
手段5および主記憶手段6に対してのアクセスを許し、
逆に範囲内であった場合には、そのスカラロード/スト
ア命令を、命令発行手段1のデータ待ち状態にあるベク
トルストア命令VSTがデータ確定後に本発行されて処理
されるまで、待機させる。例えば、後続のスカラロード
命令LDS Bが第4図(a)のaまたはbの位置をアクセ
スするものであった場合、そのブロック内アドレスが捨
て去られることにより第4図(a)に示すようにそのス
トアロード・アドレスが同図の矢印に示すように移動さ
れてストアロード・ブロックアドレスが生成され、これ
とストア区間ブロックアドレスとの比較を行われる。こ
の場合、区間内となるので、ストアロード命令LDS Bは
待機させられる。因に、このようなストアロード命令LD
S Bが即実行されたとすると、緩衝記憶手段5において
キャッシュミスヒット(該当するブロックデータがキャ
ッシュメモリ上に存在しないこと)した場合、第4図
(b)のブロックデータAまたはブロックデータBのブ
ロックロードが行われ、ハッチングを施した部分のよう
なベクトルストア命令VSTで書き換えられるべきデータ
を含んだブロックデータが、有効なブロックデータとし
て緩衝記憶手段5にあるスカラキャッシュメモリに登録
されてしまうことになり、追い越し対象となったベクト
ルストア命令にかかるキャッシュメモリの無効化処理を
先行した意味が無くなってしまう。
以上説明したように、本発明の情報処理装置において
は、命令の追い越し制御によって追い越されるベクトル
ストア命令を仮発行し、この仮発行時からそれが本発行
され更に処理されるまでの間、そのベクトルストア命令
によって操作されるストア区間ブロックアドレスをアク
セスするスカラロード/ストア命令の処理を待機させた
ことにより、追い越し対象となったベクトルストア命令
にかかるスカラキャッシュメモリの無効化処理の先行制
御が可能となり、情報処理装置の処理速度が向上する。
は、命令の追い越し制御によって追い越されるベクトル
ストア命令を仮発行し、この仮発行時からそれが本発行
され更に処理されるまでの間、そのベクトルストア命令
によって操作されるストア区間ブロックアドレスをアク
セスするスカラロード/ストア命令の処理を待機させた
ことにより、追い越し対象となったベクトルストア命令
にかかるスカラキャッシュメモリの無効化処理の先行制
御が可能となり、情報処理装置の処理速度が向上する。
第1図は本発明の一実施例の要部ブロック図、 第2図はアドレス情報の構成説明図、 第3図は命令列の一例を示す図および、 第4図は第1図の実施例の動作説明図である。 図において、 1…命令発行手段 2…区間保持手段 3…追い越し制御手段 4…無効化処理手段 5…緩衝記憶手段 6…主記憶手段 11…命令仮発行線 12…命令本発行線 13…区間アドレス情報線 14,15…アクセス信号線 16…無効化処理情報線
Claims (1)
- 【請求項1】スカラ命令でのみアクセス可能なスカラキ
ャッシュメモリを持つ緩衝記憶手段を備えた情報処理装
置において、 プログラムで指定された命令発行順序に従い命令を発行
すると共にデータの確定していないベクトルストア命令
に関しては、該ベクトルストア命令を実際のベクトルス
トア処理が行われない命令として仮発行し、データが確
定した後に前記命令発行順序に割り込んで前記ベクトル
ストア命令を実際のベクトルストア処理が行われる命令
として本発行する命令発行手段と、 該命令発行手段から仮発行されたベクトルストア命令に
よって操作されるストア区間ブロックアドレスを求めて
保持する区間保持手段と、 前記命令発行手段から発行されるスカラロード/ストア
命令の示すブロックアドレスを前記区間保持手段に保持
されたストア区間ブロックアドレスと比較し、前記スト
ア区間ブロックアドレス外であった場合にそのスカラロ
ード/ストア命令の処理を可能とし、区間内であった場
合にそのスカラロード/ストア命令の処理を前記命令発
行手段から前記ベクトルストア命令が本発行され更に処
理されるまで待機させる追い越し制御手段と、 前記命令発行手段からベクトルストア命令が仮発行され
ることにより、前記スカラキャッシュメモリ上に存在し
且つ前記ベクトルストア命令のストアアドレスに該当す
るブロックデータを無効にする無効化処理手段とを有す
ることを特徴とする情報処理装置。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1075834A JPH0810451B2 (ja) | 1989-03-28 | 1989-03-28 | 情報処理装置 |
| DE69024994T DE69024994T2 (de) | 1989-03-28 | 1990-03-27 | Datenverarbeitungsvorrichtung |
| US07/500,003 US5247635A (en) | 1989-03-28 | 1990-03-27 | Vector processing system for invalidating scalar cache memory block indicated by address in tentative vector store instruction |
| CA002013109A CA2013109C (en) | 1989-03-28 | 1990-03-27 | Data processing apparatus nulling scalar cache memory |
| EP90105795A EP0396892B1 (en) | 1989-03-28 | 1990-03-27 | Data processing apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1075834A JPH0810451B2 (ja) | 1989-03-28 | 1989-03-28 | 情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02253470A JPH02253470A (ja) | 1990-10-12 |
| JPH0810451B2 true JPH0810451B2 (ja) | 1996-01-31 |
Family
ID=13587617
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1075834A Expired - Lifetime JPH0810451B2 (ja) | 1989-03-28 | 1989-03-28 | 情報処理装置 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5247635A (ja) |
| EP (1) | EP0396892B1 (ja) |
| JP (1) | JPH0810451B2 (ja) |
| CA (1) | CA2013109C (ja) |
| DE (1) | DE69024994T2 (ja) |
Families Citing this family (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2622008B2 (ja) * | 1990-03-08 | 1997-06-18 | 甲府日本電気株式会社 | 情報処理装置 |
| US5418973A (en) * | 1992-06-22 | 1995-05-23 | Digital Equipment Corporation | Digital computer system with cache controller coordinating both vector and scalar operations |
| JPH06168263A (ja) * | 1992-11-30 | 1994-06-14 | Fujitsu Ltd | ベクトル処理装置 |
| US5420991A (en) * | 1994-01-04 | 1995-05-30 | Intel Corporation | Apparatus and method for maintaining processing consistency in a computer system having multiple processors |
| US5818511A (en) * | 1994-05-27 | 1998-10-06 | Bell Atlantic | Full service network |
| US5608447A (en) * | 1994-05-27 | 1997-03-04 | Bell Atlantic | Full service network |
| US5666506A (en) * | 1994-10-24 | 1997-09-09 | International Business Machines Corporation | Apparatus to dynamically control the out-of-order execution of load/store instructions in a processor capable of dispatchng, issuing and executing multiple instructions in a single processor cycle |
| US5717895A (en) * | 1994-12-01 | 1998-02-10 | Cray Research, Inc. | Associative scalar data cache with write-through capabilities for a vector processor |
| US5826102A (en) * | 1994-12-22 | 1998-10-20 | Bell Atlantic Network Services, Inc. | Network arrangement for development delivery and presentation of multimedia applications using timelines to integrate multimedia objects and program objects |
| US5659793A (en) * | 1994-12-22 | 1997-08-19 | Bell Atlantic Video Services, Inc. | Authoring tools for multimedia application development and network delivery |
| US5799165A (en) * | 1996-01-26 | 1998-08-25 | Advanced Micro Devices, Inc. | Out-of-order processing that removes an issued operation from an execution pipeline upon determining that the operation would cause a lengthy pipeline delay |
| JP2000503425A (ja) * | 1995-10-06 | 2000-03-21 | アドバンスト・マイクロ・デバイシズ・インコーポレイテッド | パイプライン処理の遅延を少なくするオペレーションバンプ処理を含むout−of−order処理 |
| US5854914A (en) * | 1996-02-13 | 1998-12-29 | Intel Corporation | Mechanism to improved execution of misaligned loads |
| JP3733842B2 (ja) * | 2000-07-12 | 2006-01-11 | 日本電気株式会社 | ベクトルスキャタ命令制御回路及びベクトル型情報処理装置 |
| US7577816B2 (en) * | 2003-08-18 | 2009-08-18 | Cray Inc. | Remote translation mechanism for a multinode system |
| US7743223B2 (en) * | 2003-08-18 | 2010-06-22 | Cray Inc. | Decoupling of write address from its associated write data in a store to a shared memory in a multiprocessor system |
| US8307194B1 (en) | 2003-08-18 | 2012-11-06 | Cray Inc. | Relaxed memory consistency model |
| US7543133B1 (en) | 2003-08-18 | 2009-06-02 | Cray Inc. | Latency tolerant distributed shared memory multiprocessor computer |
| US7437521B1 (en) * | 2003-08-18 | 2008-10-14 | Cray Inc. | Multistream processing memory-and barrier-synchronization method and apparatus |
| US7421565B1 (en) | 2003-08-18 | 2008-09-02 | Cray Inc. | Method and apparatus for indirectly addressed vector load-add -store across multi-processors |
| US7519771B1 (en) | 2003-08-18 | 2009-04-14 | Cray Inc. | System and method for processing memory instructions using a forced order queue |
| JP3988144B2 (ja) | 2004-02-23 | 2007-10-10 | 日本電気株式会社 | ベクトル処理装置、及び、追い越し制御回路 |
| US7478769B1 (en) | 2005-03-09 | 2009-01-20 | Cray Inc. | Method and apparatus for cooling electronic components |
| JP5206385B2 (ja) * | 2008-12-12 | 2013-06-12 | 日本電気株式会社 | バウンダリ実行制御システム、バウンダリ実行制御方法、及びバウンダリ実行制御プログラム |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1443777A (en) * | 1973-07-19 | 1976-07-28 | Int Computers Ltd | Data processing apparatus |
| US4156906A (en) * | 1977-11-22 | 1979-05-29 | Honeywell Information Systems Inc. | Buffer store including control apparatus which facilitates the concurrent processing of a plurality of commands |
| US4638431A (en) * | 1984-09-17 | 1987-01-20 | Nec Corporation | Data processing system for vector processing having a cache invalidation control unit |
| US4722049A (en) * | 1985-10-11 | 1988-01-26 | Unisys Corporation | Apparatus for out-of-order program execution |
| JPH0731669B2 (ja) * | 1986-04-04 | 1995-04-10 | 株式会社日立製作所 | ベクトル・プロセツサ |
| US5063497A (en) * | 1987-07-01 | 1991-11-05 | Digital Equipment Corporation | Apparatus and method for recovering from missing page faults in vector data processing operations |
| JPS6462764A (en) * | 1987-09-03 | 1989-03-09 | Agency Ind Science Techn | Vector computer |
| US5043886A (en) * | 1988-09-16 | 1991-08-27 | Digital Equipment Corporation | Load/store with write-intent for write-back caches |
| US5123095A (en) * | 1989-01-17 | 1992-06-16 | Ergo Computing, Inc. | Integrated scalar and vector processors with vector addressing by the scalar processor |
-
1989
- 1989-03-28 JP JP1075834A patent/JPH0810451B2/ja not_active Expired - Lifetime
-
1990
- 1990-03-27 DE DE69024994T patent/DE69024994T2/de not_active Expired - Fee Related
- 1990-03-27 US US07/500,003 patent/US5247635A/en not_active Expired - Fee Related
- 1990-03-27 EP EP90105795A patent/EP0396892B1/en not_active Expired - Lifetime
- 1990-03-27 CA CA002013109A patent/CA2013109C/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| DE69024994D1 (de) | 1996-03-07 |
| CA2013109A1 (en) | 1990-09-28 |
| US5247635A (en) | 1993-09-21 |
| DE69024994T2 (de) | 1996-06-05 |
| EP0396892A2 (en) | 1990-11-14 |
| EP0396892B1 (en) | 1996-01-24 |
| EP0396892A3 (en) | 1992-09-30 |
| JPH02253470A (ja) | 1990-10-12 |
| CA2013109C (en) | 1996-07-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH0810451B2 (ja) | 情報処理装置 | |
| JP2566701B2 (ja) | 共有キャッシュ内のデータ・ユニットに対する所有権の変更制御装置 | |
| EP1399823B1 (en) | Using an l2 directory to facilitate speculative loads in a multiprocessor system | |
| KR100278328B1 (ko) | 캐시 미스 버퍼 | |
| EP0514024B1 (en) | Method and apparatus for an improved memory architecture | |
| JPH09138779A (ja) | スヌープ処理方法 | |
| WO2003001369A2 (en) | Method and apparatus for facilitating speculative stores in a multiprocessor system | |
| JPH0619786A (ja) | キャッシュコヒーレンスを維持する方法及び装置 | |
| WO2004001527A2 (en) | Method and apparatus for facilitating speculative loads in a multiprocessor system | |
| US6976128B1 (en) | Cache flush system and method | |
| US5261074A (en) | Computer write-initiated special transferoperation | |
| JP4506292B2 (ja) | キャッシュ制御方法およびデータ処理システム並びにその処理プログラム | |
| EP0436641B1 (en) | Computer three-way transfer operation | |
| JPH05342101A (ja) | 階層キャッシュ・メモリ | |
| JP2000347941A (ja) | キャッシュメモリ装置 | |
| JPH0760387B2 (ja) | 情報処理装置 | |
| JPH02259945A (ja) | ストア処理方式 | |
| JPH0677240B2 (ja) | キャッシュメモリ制御回路 | |
| CN115309453A (zh) | 一种支持乱序处理器数据预取的缓存访问系统 | |
| JPH0449445A (ja) | 階層化キャッシュ方式 | |
| JPH01314354A (ja) | キャッシュメモリ制御方式 | |
| JPH0432415B2 (ja) | ||
| JPH0239253A (ja) | バッファメモリのデータ格納制御方式 | |
| JPH06231045A (ja) | ディスクキャッシュ制御方式 | |
| JPH01318119A (ja) | オペランドストアのキャッシュメモリヘのストア制御方式 |