JP3013996B2 - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JP3013996B2 JP3013996B2 JP1238516A JP23851689A JP3013996B2 JP 3013996 B2 JP3013996 B2 JP 3013996B2 JP 1238516 A JP1238516 A JP 1238516A JP 23851689 A JP23851689 A JP 23851689A JP 3013996 B2 JP3013996 B2 JP 3013996B2
- Authority
- JP
- Japan
- Prior art keywords
- store
- instruction
- data
- buffer
- address
- 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 - Fee Related
Links
Landscapes
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 技術分野 本発明は情報処理装置に関し、特にパイプライン処理
型情報処理装置におけるストア命令の高速処理方式に関
する。
型情報処理装置におけるストア命令の高速処理方式に関
する。
従来技術 従来、パイプライン処理型情報処理装置においては、
ストアバッファから主記憶装置への掃出しがストアバッ
ファのワード単位に行われていた。
ストアバッファから主記憶装置への掃出しがストアバッ
ファのワード単位に行われていた。
よって、ストアバッファ内に主記憶装置の同一アドレ
スに対する2つのストア命令が連続して登録されていた
場合、ストアバッファから主記憶装置への掃出しを行う
ために主記憶装置の同一アドレスに対して2回のアクセ
スが必要であった。
スに対する2つのストア命令が連続して登録されていた
場合、ストアバッファから主記憶装置への掃出しを行う
ために主記憶装置の同一アドレスに対して2回のアクセ
スが必要であった。
このような従来のパイプライン処理型情報処理装置で
は、ストアバッファ内の連続する2つのストア命令が主
記憶装置の同一アドレスに対する同一種類のストア命令
である場合でも、主記憶装置とのアクセスが2回必要で
あり、中央処理装置と主記憶装置との間の信号アクセス
時間が中央処理装置内における信号アクセス時間よりも
遅いため、ストア命令処理を高速化することができない
という欠点がある。
は、ストアバッファ内の連続する2つのストア命令が主
記憶装置の同一アドレスに対する同一種類のストア命令
である場合でも、主記憶装置とのアクセスが2回必要で
あり、中央処理装置と主記憶装置との間の信号アクセス
時間が中央処理装置内における信号アクセス時間よりも
遅いため、ストア命令処理を高速化することができない
という欠点がある。
発明の目的 本発明は上記のような従来のものの欠点を除去すべく
なされたもので、連続する2つのストア命令が主記憶装
置の同一アドレスに対する同一の種類のストア命令であ
るときにストア命令処理の高速化を図ることができる情
報処理装置の提供を目的とする。
なされたもので、連続する2つのストア命令が主記憶装
置の同一アドレスに対する同一の種類のストア命令であ
るときにストア命令処理の高速化を図ることができる情
報処理装置の提供を目的とする。
発明の構成 本発明の情報処理装置は、ストア命令により主記憶装
置に格納されるデータをストアバッファに一時保持する
情報処理装置であって、前記ストアバッファから読出し
たデータを保持する保持手段と、前記ストアバッファに
一時保持された連続する2つのストア命令が同一アドレ
スか否かを検出する第1の検出手段と、前記ストアバッ
ファに一時保持された連続する2つのストア命令が同一
種類のストア命令か否かを検出する第2の検出手段と、
前記第1の検出手段により前記同一アドレスであること
が検出された場合において、前記第2の検出手段により
前記同一種類のストア命令であることが検出されたとき
には前記ストアバッファから読出したデータ及び前記保
持手段に保持されたデータのうちマスク情報で有効とさ
れるデータを選択し、前記第2の検出手段により前記同
一種類のストア命令でないことが検出されたときには前
記保持手段に保持されたデータを選択する選択手段と、
前記選択手段で選択されたデータを前記主記憶装置に転
送する転送手段とを有する。
置に格納されるデータをストアバッファに一時保持する
情報処理装置であって、前記ストアバッファから読出し
たデータを保持する保持手段と、前記ストアバッファに
一時保持された連続する2つのストア命令が同一アドレ
スか否かを検出する第1の検出手段と、前記ストアバッ
ファに一時保持された連続する2つのストア命令が同一
種類のストア命令か否かを検出する第2の検出手段と、
前記第1の検出手段により前記同一アドレスであること
が検出された場合において、前記第2の検出手段により
前記同一種類のストア命令であることが検出されたとき
には前記ストアバッファから読出したデータ及び前記保
持手段に保持されたデータのうちマスク情報で有効とさ
れるデータを選択し、前記第2の検出手段により前記同
一種類のストア命令でないことが検出されたときには前
記保持手段に保持されたデータを選択する選択手段と、
前記選択手段で選択されたデータを前記主記憶装置に転
送する転送手段とを有する。
実施例 次に、本発明の一実施例について図面を参照して説明
する。
する。
第1図は本発明の一実施例の構成を示すブロック図で
ある。図において、ストアバッファ掃出しポインタ(R
A)(以下掃出しポインタとする)1はストアアドレス
バッファ4と、ストアリクエストバッファ5と、ストア
マスクバッファ6と、ストアデータバッファ7とに夫々
掃出しアドレスを供給する。
ある。図において、ストアバッファ掃出しポインタ(R
A)(以下掃出しポインタとする)1はストアアドレス
バッファ4と、ストアリクエストバッファ5と、ストア
マスクバッファ6と、ストアデータバッファ7とに夫々
掃出しアドレスを供給する。
これにより、ストアアドレスバッファ4の掃出しポイ
ンタ1により指定されるアドレスからはストアアドレス
が掃出されてウェイトステージアドレスレジスタ(WA)
8および一致検出コンパレータ12に送出され、ストアリ
クエストバッファ5の掃出しポインタ1により指定され
るアドレスからはストアリクエストが掃出されてウェイ
トステージリクエストレジスタ(WQ)9および一致検出
コンパレータ13に送出される。
ンタ1により指定されるアドレスからはストアアドレス
が掃出されてウェイトステージアドレスレジスタ(WA)
8および一致検出コンパレータ12に送出され、ストアリ
クエストバッファ5の掃出しポインタ1により指定され
るアドレスからはストアリクエストが掃出されてウェイ
トステージリクエストレジスタ(WQ)9および一致検出
コンパレータ13に送出される。
また、ストアマスクバッファ6の掃出しポインタ1に
より指定されるアドレスからはストアマスク情報が掃出
されてウェイトステージマスクレジスタ(WM)10および
マスク制御部14に送出され、ストアデータバッファ7の
掃出しポインタ1により指定されるアドレスからはスト
アデータが掃出されてウェイトステージデータレジスタ
(WD)11およびセレクタ(WDX)19に送出される。
より指定されるアドレスからはストアマスク情報が掃出
されてウェイトステージマスクレジスタ(WM)10および
マスク制御部14に送出され、ストアデータバッファ7の
掃出しポインタ1により指定されるアドレスからはスト
アデータが掃出されてウェイトステージデータレジスタ
(WD)11およびセレクタ(WDX)19に送出される。
ストアアドレス/リクエスト登録ポインタ(WA0)
(以下登録ポインタとする)2はストアアドレスバッフ
ァ4およびストアリクエストバッファ5にアドレスを供
給する。
(以下登録ポインタとする)2はストアアドレスバッフ
ァ4およびストアリクエストバッファ5にアドレスを供
給する。
よって、ストアアドレスバッファ4およびストアリク
エストバッファ5では登録ポインタ2により指定される
アドレスにストアアドレスおよびストアリクエストが登
録される。
エストバッファ5では登録ポインタ2により指定される
アドレスにストアアドレスおよびストアリクエストが登
録される。
ストアマスク/データ登録ポインタ(WA1)(以下登
録ポインタとする)3はストアマスクバッファ6および
ストアデータハッファ7にアドレスを供給する。
録ポインタとする)3はストアマスクバッファ6および
ストアデータハッファ7にアドレスを供給する。
よって、ストアマスクバッファ6およびストアデータ
バッファ7では登録ポインタ3により指定されるアドレ
スにストアマスク情報およびストアデータが登録され
る。
バッファ7では登録ポインタ3により指定されるアドレ
スにストアマスク情報およびストアデータが登録され
る。
ウェイトステージアドレスレジスタ8にはストアアド
レスバッファ4から掃出されたストアアドレスが一時保
持され、該ストアアドレスを一致検出コンパレータ12お
よびストアステージアドレスレジスタ(SA)16に送出す
る。
レスバッファ4から掃出されたストアアドレスが一時保
持され、該ストアアドレスを一致検出コンパレータ12お
よびストアステージアドレスレジスタ(SA)16に送出す
る。
ウェイトステージリクエストレジスタ9にはストアリ
クエストバッファ5から掃出されたストアリクエストが
一時保持され、該ストアリクエストを一時検出コンパレ
ータ13およびストアステージリクエストレジスタ(SQ)
17に送出する。
クエストバッファ5から掃出されたストアリクエストが
一時保持され、該ストアリクエストを一時検出コンパレ
ータ13およびストアステージリクエストレジスタ(SQ)
17に送出する。
ウェイトステージマスクレジスタ10にはストアマスク
バッファ6から掃出されたストアマスク情報が一時保持
され、該ストアマスク情報をマスク制御部14に送出す
る。
バッファ6から掃出されたストアマスク情報が一時保持
され、該ストアマスク情報をマスク制御部14に送出す
る。
ウェイトステージデータレジスタ11にはストアデータ
バッファ7から掃出されたストアデータが一時保持さ
れ、該ストアデータをセレクタ19に送出する。
バッファ7から掃出されたストアデータが一時保持さ
れ、該ストアデータをセレクタ19に送出する。
一致検出コンパレータ12はウェイトステージアドレス
レジスタ8に保持された先行するストア命令のストアア
ドレスと、ストアアドレスバッファ4からの後続するス
トア命令のストアアドレスとを比較し、その比較結果を
アンドゲート15に出力する。
レジスタ8に保持された先行するストア命令のストアア
ドレスと、ストアアドレスバッファ4からの後続するス
トア命令のストアアドレスとを比較し、その比較結果を
アンドゲート15に出力する。
すなわち、一致検出コンパレータ12は先行するストア
命名のアドレスと後続するストア命令のアドレスとが同
一アドレスか否かを検出している。
命名のアドレスと後続するストア命令のアドレスとが同
一アドレスか否かを検出している。
一致検出コンパレータ13はウェイトステージリクエス
トレジスタ9に保持された先行するストア命令のストア
リクエストと、ストアリクエストバッファ5からの後続
するストア命令のストアリクエストとを比較し、その比
較結果をアンドゲート15に出力する。
トレジスタ9に保持された先行するストア命令のストア
リクエストと、ストアリクエストバッファ5からの後続
するストア命令のストアリクエストとを比較し、その比
較結果をアンドゲート15に出力する。
すなわち、一致検出コンパレータ13は先行するストア
命令のリクエストと後続するストア命令のリクエストと
が同一種類のリクエストか否かを検出している。
命令のリクエストと後続するストア命令のリクエストと
が同一種類のリクエストか否かを検出している。
マスク制御部14はアンドゲート15からのマージ指示に
応じて、ウェイトステージマスクレジスタ10に保持され
た先行するストア命令のストアマスク情報と、ストアマ
スクバッファ6からの後続するストア命令のストアマス
ク情報とにより、ウェイトステージデータレジスタ11に
保持された先行するストア命令のストアデータと、スト
アデータバッファ7からの後続するストア命令のストア
データとのうちどちらをストアステージデータレジスタ
(SD)20に登録するかを各バイト毎に決定する。
応じて、ウェイトステージマスクレジスタ10に保持され
た先行するストア命令のストアマスク情報と、ストアマ
スクバッファ6からの後続するストア命令のストアマス
ク情報とにより、ウェイトステージデータレジスタ11に
保持された先行するストア命令のストアデータと、スト
アデータバッファ7からの後続するストア命令のストア
データとのうちどちらをストアステージデータレジスタ
(SD)20に登録するかを各バイト毎に決定する。
すなわち、アンドゲート15からのマージ指示によりマ
ージが指示されたとき、マスク制御部14は先行するスト
ア命令のストアマスク情報と後続するストア命令のスト
アマスク情報との論理和演算を行い、その演算結果をス
トアステージマスクレジスタ(SM)18に登録するととも
に、その演算結果によりセレクタ19を制御して先行する
ストア命令のストアデータと後続するストア命令のスト
アデータとのうちストアステージデータレジスタ20に登
録するストアデータを選択する。
ージが指示されたとき、マスク制御部14は先行するスト
ア命令のストアマスク情報と後続するストア命令のスト
アマスク情報との論理和演算を行い、その演算結果をス
トアステージマスクレジスタ(SM)18に登録するととも
に、その演算結果によりセレクタ19を制御して先行する
ストア命令のストアデータと後続するストア命令のスト
アデータとのうちストアステージデータレジスタ20に登
録するストアデータを選択する。
第2図は第1図のマスク制御部14の詳細を示す図であ
る。図において、ストアマスク制御部14はアンドゲート
15からのマージ指示が“0"のとき、すなわちマージを行
わないとき、先行するストア命令のストアマスク情報お
よび後続するストア命令のストアマスク情報の“0",
“1"に関係なく、先行するストア命令のストアデータを
ストアステージデータレジスタ20に登録するように決定
する。
る。図において、ストアマスク制御部14はアンドゲート
15からのマージ指示が“0"のとき、すなわちマージを行
わないとき、先行するストア命令のストアマスク情報お
よび後続するストア命令のストアマスク情報の“0",
“1"に関係なく、先行するストア命令のストアデータを
ストアステージデータレジスタ20に登録するように決定
する。
また、マスク制御部14はアンドゲート15からのマージ
指示が“1"のとき、すなわちマージを行うとき、先行す
るストア命令のストアマスク情報が“0"で、後続するス
トア命令のストアマスク情報が“0"ならば、先行するス
トア命令のストアデータをストアステージデータレジス
タ20に登録するように決定する。
指示が“1"のとき、すなわちマージを行うとき、先行す
るストア命令のストアマスク情報が“0"で、後続するス
トア命令のストアマスク情報が“0"ならば、先行するス
トア命令のストアデータをストアステージデータレジス
タ20に登録するように決定する。
先行するストア命令のストアマスク情報が“0"で、後
続するストア命令のストアマスク情報が“1"ならば、後
続するストア命令のストアデータをストアステージデー
タレジスタ20に登録するように決定する。
続するストア命令のストアマスク情報が“1"ならば、後
続するストア命令のストアデータをストアステージデー
タレジスタ20に登録するように決定する。
先行するストア命令のストアマスク情報が“1"で、後
続するストア命令のストアマスク情報が“0"ならば、先
行するストア命令のストアデータをストアステージデー
タレジスタ20に登録するように決定する。
続するストア命令のストアマスク情報が“0"ならば、先
行するストア命令のストアデータをストアステージデー
タレジスタ20に登録するように決定する。
先行するストア命令のストアマスク情報が“1"で、後
続するストア命令のストアマスク情報が“1"ならば、後
続するストア命令のストアデータをストアステージデー
タレジスタ20に登録するように決定する。
続するストア命令のストアマスク情報が“1"ならば、後
続するストア命令のストアデータをストアステージデー
タレジスタ20に登録するように決定する。
第3図は本発明の一実施例の動作を示すタイムチャー
トであり、第4図は本発明の一実施例によるパイプライ
ン処理の一例を示す図である。第4図において、本発明
の一実施例によるパイプライン処理では、アドレスレジ
スタ(AIC)からのアドレスにより命令キャッシュから
命令を取出す命令取出し(IF)ステージと、このステー
ジで取出された命令を命令レジスタ(IR)に格納した後
にこの命令のオペランドに基づきアドレス加算器で論理
アドレスを生成するオペランドアドレス(AC)ステージ
と、このステージで生成された論理アドレスを論理アド
レスレジスタ(LAR)に格納した後にアドレス変換バッ
ファ(TLB)で論理アドレスを物理アドレスに変換する
アドレス変換(AT)ステージと、このステージで変換さ
れた物理アドレスを物理アドレスレジスタ(PAR)に格
納した後にこの物理アドレスでオペランドキャッシュを
アクセスしてオペランドを読出すオペランドキャッシュ
アクセス(CA)ステージと、このステージで読出された
オペランドを実行レジスタ(EXR)に格納した後に演算
器で演算する演算実行(EX)ステージと、このステージ
で演算された結果を読出しデータレジスタ(RDR)に格
納した後にストアバッファに格納する結果格納(ST)ス
テージの6ステージに分割されている。
トであり、第4図は本発明の一実施例によるパイプライ
ン処理の一例を示す図である。第4図において、本発明
の一実施例によるパイプライン処理では、アドレスレジ
スタ(AIC)からのアドレスにより命令キャッシュから
命令を取出す命令取出し(IF)ステージと、このステー
ジで取出された命令を命令レジスタ(IR)に格納した後
にこの命令のオペランドに基づきアドレス加算器で論理
アドレスを生成するオペランドアドレス(AC)ステージ
と、このステージで生成された論理アドレスを論理アド
レスレジスタ(LAR)に格納した後にアドレス変換バッ
ファ(TLB)で論理アドレスを物理アドレスに変換する
アドレス変換(AT)ステージと、このステージで変換さ
れた物理アドレスを物理アドレスレジスタ(PAR)に格
納した後にこの物理アドレスでオペランドキャッシュを
アクセスしてオペランドを読出すオペランドキャッシュ
アクセス(CA)ステージと、このステージで読出された
オペランドを実行レジスタ(EXR)に格納した後に演算
器で演算する演算実行(EX)ステージと、このステージ
で演算された結果を読出しデータレジスタ(RDR)に格
納した後にストアバッファに格納する結果格納(ST)ス
テージの6ステージに分割されている。
ストアバッファに格納された演算結果はウェイトステ
ージレジスタ(WD)およびストアステージレジスタ(S
D)に格納された後に、主記憶装置に転送される。
ージレジスタ(WD)およびストアステージレジスタ(S
D)に格納された後に、主記憶装置に転送される。
これら第1図〜第4図を用いて本発明の一実施例の動
作について説明する。
作について説明する。
タイミングt1においてストア命令であるSTA1命令の処
理が開始され、タイミングt2においてストア命令である
STA2命令の処理が開始される。このSTA2命令は命令取出
しステージから結果格納ステージまでSTA1命令の1T(タ
イミング)遅れで処理が行われる。
理が開始され、タイミングt2においてストア命令である
STA2命令の処理が開始される。このSTA2命令は命令取出
しステージから結果格納ステージまでSTA1命令の1T(タ
イミング)遅れで処理が行われる。
通常、ストア命令処理においてはアドレスおよびリク
エストをストアバッファに登録するタイミングと、デー
タおよびマスク情報を登録するタイミングとが異なって
いる。
エストをストアバッファに登録するタイミングと、デー
タおよびマスク情報を登録するタイミングとが異なって
いる。
タイミングt4においてSTA1命令のストアアドレスおよ
びストアリクエストが登録ポインタ2によって示される
ストアアドレスバッファ4およびストアリクエストバッ
ファ5のワード位置に夫々登録され、タイミングt7にお
いてSTA1命令のストアマスク情報およびストアデータが
ストアマスクバッファ6およびストアデータバッファ7
の登録ポインタ3によって示されるワード位置に夫々登
録される。
びストアリクエストが登録ポインタ2によって示される
ストアアドレスバッファ4およびストアリクエストバッ
ファ5のワード位置に夫々登録され、タイミングt7にお
いてSTA1命令のストアマスク情報およびストアデータが
ストアマスクバッファ6およびストアデータバッファ7
の登録ポインタ3によって示されるワード位置に夫々登
録される。
STA2命令のストアアドレス、ストアリクエスト、スト
アマスク情報、ストアデータもSTA1命令の処理の1T遅れ
で夫々ストアアドレスバッファ4、ストアリクエストバ
ッファ5、ストアマスクバッファ6、ストアデータバッ
ファ6に登録される。
アマスク情報、ストアデータもSTA1命令の処理の1T遅れ
で夫々ストアアドレスバッファ4、ストアリクエストバ
ッファ5、ストアマスクバッファ6、ストアデータバッ
ファ6に登録される。
タイミングt7においてSTA1命令のストアデータのスト
アデータバッファ7への登録が完了したことで、ストア
バッファ内にはSTA1命令のストアアドレスおよびストア
データが共に存在することとなり、タイミングt8におい
てSTA1命令のストアアドレスおよびストアデータのスト
アバッファの掃出しポインタ1によって示されるワード
位置からWD(ウェイトデータ)ステージ(ウェイトステ
ージアドレスレジスタ8,ウェイトステージリクエストレ
ジスタ9,ウェイトステージマスクレジスタ10,ウェイト
ステージデータレジスタ11)への掃出しが実施される。
アデータバッファ7への登録が完了したことで、ストア
バッファ内にはSTA1命令のストアアドレスおよびストア
データが共に存在することとなり、タイミングt8におい
てSTA1命令のストアアドレスおよびストアデータのスト
アバッファの掃出しポインタ1によって示されるワード
位置からWD(ウェイトデータ)ステージ(ウェイトステ
ージアドレスレジスタ8,ウェイトステージリクエストレ
ジスタ9,ウェイトステージマスクレジスタ10,ウェイト
ステージデータレジスタ11)への掃出しが実施される。
また、タイミングt9においては、STA2命令のストアア
ドレスおよびストアデータのストアバッファの掃出しポ
インタ1によって示されるワード位置からの掃出しが実
施されようとしている。
ドレスおよびストアデータのストアバッファの掃出しポ
インタ1によって示されるワード位置からの掃出しが実
施されようとしている。
このタイミングにおいて一致検出コンパレータ12でス
トアアドレスバッファ4からの掃出しアドレスとウェイ
トステージアドレスレジスタ8からの出力アドレスとの
一致がチェックされる。
トアアドレスバッファ4からの掃出しアドレスとウェイ
トステージアドレスレジスタ8からの出力アドレスとの
一致がチェックされる。
また、一致検出コンパレータ13でストアリクエストバ
ッファ5から掃出されたリクエストとウェイトステージ
リクエストレジスタ9から出力されたリクエストとの一
致がチェックされる。
ッファ5から掃出されたリクエストとウェイトステージ
リクエストレジスタ9から出力されたリクエストとの一
致がチェックされる。
これにより、一致検出コンパレータ12,13から夫々
“1"が出力されると、STA1命令およびSTA2命令は主記憶
装置21の同一アドレスに対する同一種類のストアリクエ
ストであると判断され、ストアデータバッファ7から掃
出されたデータと、ウェイトステージデータレジスタ11
からの出力データとが各バイト毎にマウス制御部14に示
されるマスクの値にしたがってストアステージデータレ
ジスタ20に登録される。
“1"が出力されると、STA1命令およびSTA2命令は主記憶
装置21の同一アドレスに対する同一種類のストアリクエ
ストであると判断され、ストアデータバッファ7から掃
出されたデータと、ウェイトステージデータレジスタ11
からの出力データとが各バイト毎にマウス制御部14に示
されるマスクの値にしたがってストアステージデータレ
ジスタ20に登録される。
すなわち、マスク制御部14はセレクタ19を制御し、ウ
ェイトステージデータレジスタ11からのストアデータ
(STA1命令のストアデータ)と、ストアデータバッファ
7からのストアデータ(STA2命令のストアデータ)との
うちどちらのストアデータをストアステージデータレジ
スア20に登録すればよいかを各バイト毎に決定してい
る。
ェイトステージデータレジスタ11からのストアデータ
(STA1命令のストアデータ)と、ストアデータバッファ
7からのストアデータ(STA2命令のストアデータ)との
うちどちらのストアデータをストアステージデータレジ
スア20に登録すればよいかを各バイト毎に決定してい
る。
このとき、マスク制御部14ではウェイトステージマス
クレジスタ10からのストアマスク情報(STA1命令のスト
アマスク情報)と、ストアマスクバッファ6からのスト
アマスク情報(STA2命令のストアマスク情報)との論理
和がとられるので、Sステージデータレジスタ20にはウ
ェイトステージマスクレジスタ10からのストアマスク情
報とストアマスクバッファ6からのストアマスク情報と
の論理和がとられた値によってマスクされたストアデー
タがSTA3命令のストアデータとして登録される。
クレジスタ10からのストアマスク情報(STA1命令のスト
アマスク情報)と、ストアマスクバッファ6からのスト
アマスク情報(STA2命令のストアマスク情報)との論理
和がとられるので、Sステージデータレジスタ20にはウ
ェイトステージマスクレジスタ10からのストアマスク情
報とストアマスクバッファ6からのストアマスク情報と
の論理和がとられた値によってマスクされたストアデー
タがSTA3命令のストアデータとして登録される。
また、マスク制御部14でウェイトステージマスクレジ
スタ10からのストアマスク情報とストアマスクバッファ
6からのストアマスク情報との論理和がとられた値が、
STA3命令のストアマスク情報としてストアステージマス
クレジスタ18に登録される。
スタ10からのストアマスク情報とストアマスクバッファ
6からのストアマスク情報との論理和がとられた値が、
STA3命令のストアマスク情報としてストアステージマス
クレジスタ18に登録される。
さらに、ストアステージアドレスレジスタ16にはウェ
イトステージアドレスレジスタ8の値が登録され、スト
アステージリクエストレジスタ17にはウェイトステージ
リクエストレジスタ9の値が登録される。
イトステージアドレスレジスタ8の値が登録され、スト
アステージリクエストレジスタ17にはウェイトステージ
リクエストレジスタ9の値が登録される。
上述のようにして、タイミングt9においてSTA1命令の
ストアデータとSTA2命令のストアデータとがマージされ
た結果がストアステージデータレジスタ20に登録され、
タイミングt10においてSD(ストアデータ)ステージか
ら主記憶装置21への掃出しが実施される。
ストアデータとSTA2命令のストアデータとがマージされ
た結果がストアステージデータレジスタ20に登録され、
タイミングt10においてSD(ストアデータ)ステージか
ら主記憶装置21への掃出しが実施される。
つまり、ストアステージアドレスレジスタ16とストア
ステージリクエストレジスタ17とストアステージマスク
レジスタ18とストアステージデータレジスタ20とから、
STA3命令のストアアドレスとストアリクエストとストア
マスク情報とストアデータとが夫々主記憶装置21に掃出
される。
ステージリクエストレジスタ17とストアステージマスク
レジスタ18とストアステージデータレジスタ20とから、
STA3命令のストアアドレスとストアリクエストとストア
マスク情報とストアデータとが夫々主記憶装置21に掃出
される。
このように、ストアバッファ内に連続して登録された
2つのストア命令、すなわちSTA1命令およびSTA2命令が
主記憶装置21の同一アドレスに対する同一種類のストア
リクエストであることが、一致検出コンパレータ12,13
およびアンドゲート15により検出されたとき、STA1命令
のストアマスク情報およびSTA2命令のストアマスク情報
によりSTA1命令のストアデータとSTA2命令のストアデー
タとのマージを行ってから主記憶装置21に転送するよう
にすることによって、ストアバッファからの掃出し時に
主記憶装置21とのアクセスを1回に削減することができ
る。
2つのストア命令、すなわちSTA1命令およびSTA2命令が
主記憶装置21の同一アドレスに対する同一種類のストア
リクエストであることが、一致検出コンパレータ12,13
およびアンドゲート15により検出されたとき、STA1命令
のストアマスク情報およびSTA2命令のストアマスク情報
によりSTA1命令のストアデータとSTA2命令のストアデー
タとのマージを行ってから主記憶装置21に転送するよう
にすることによって、ストアバッファからの掃出し時に
主記憶装置21とのアクセスを1回に削減することができ
る。
よって、連続する2つのストア命令が主記憶装置21の
同一アドレスに対する同一種類ののストア命令であると
きにストア命令処理の高速化を図ることができる。
同一アドレスに対する同一種類ののストア命令であると
きにストア命令処理の高速化を図ることができる。
発明の効果 以上説明したように本発明によれば、連続するストア
命令が同一アドレスに対する同一種類ののストア命令で
あることが検出されたとき、この連続するストア命令各
々のマスク情報により有効とされるデータを主記憶装置
に転送するようにすることによって、連続する2つのス
トア命令が主記憶装置の同一アドレスに対する同一種類
ののストア命令であるときにストア命令処理の高速化を
図ることができるという効果がある。
命令が同一アドレスに対する同一種類ののストア命令で
あることが検出されたとき、この連続するストア命令各
々のマスク情報により有効とされるデータを主記憶装置
に転送するようにすることによって、連続する2つのス
トア命令が主記憶装置の同一アドレスに対する同一種類
ののストア命令であるときにストア命令処理の高速化を
図ることができるという効果がある。
第1図は本発明の一実施例の構成を示すブロック図、第
2図は第1図のストアマスク制御部の詳細を示す図、第
3図は本発明の一実施例の動作を示すタイムチャート、
第4図は本発明の一実施例によるパイプライン処理の一
例を示す図である。 主要部分の符号の説明 4……ストアアドレスバッファ 5……ストアリクエストバッファ 6……ストアマスクバッファ 7……ストアデータバッファ 8……ウェイトステージアドレスレジスタ 9……ウェイトステージリクエストレジスタ 10……ウェイトステージマスクレジスタ 11……ウェイトステージデータレジスタ 12,13……一致検出コンパレータ 14……マスク制御部 15……アンドゲータ 16……ストアステージアドレスレジスタ 17……ストアステージリクエストレジスタ 18……ストアステージマスクレジスタ 19……セレクタ 20……ストアステージデータレジスタ 21……主記憶装置
2図は第1図のストアマスク制御部の詳細を示す図、第
3図は本発明の一実施例の動作を示すタイムチャート、
第4図は本発明の一実施例によるパイプライン処理の一
例を示す図である。 主要部分の符号の説明 4……ストアアドレスバッファ 5……ストアリクエストバッファ 6……ストアマスクバッファ 7……ストアデータバッファ 8……ウェイトステージアドレスレジスタ 9……ウェイトステージリクエストレジスタ 10……ウェイトステージマスクレジスタ 11……ウェイトステージデータレジスタ 12,13……一致検出コンパレータ 14……マスク制御部 15……アンドゲータ 16……ストアステージアドレスレジスタ 17……ストアステージリクエストレジスタ 18……ストアステージマスクレジスタ 19……セレクタ 20……ストアステージデータレジスタ 21……主記憶装置
Claims (1)
- 【請求項1】ストア命令により主記憶装置に格納される
データをストアバッファに一時保持する情報処理装置に
おいて、 前記ストアバッファから読出したデータを保持する保持
手段と、 前記ストアバッファに一時保持された連続する2つのス
トア命令が同一アドレスか否かを検出する第1の検出手
段と、 前記ストアバッファに一時保持された連続する2つのス
トア命令が同一種類のストア命令か否かを検出する第2
の検出手段と、 前記第1の検出手段により前記同一アドレスであること
が検出された場合において、前記第2の検出手段により
前記同一種類のストア命令であることが検出されたとき
には前記ストアバッファから読出したデータ及び前記保
持手段に保持されたデータのうちマスク情報で有効とさ
れるデータを選択し、前記第2の検出手段により前記同
一種類のストア命令でないことが検出されたときには前
記保持手段に保持されたデータを選択する選択手段と、 前記選択手段で選択されたデータを前記主記憶装置に転
送する転送手段とを有することを特徴とする情報処理装
置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1238516A JP3013996B2 (ja) | 1989-09-14 | 1989-09-14 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1238516A JP3013996B2 (ja) | 1989-09-14 | 1989-09-14 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03100843A JPH03100843A (ja) | 1991-04-25 |
JP3013996B2 true JP3013996B2 (ja) | 2000-02-28 |
Family
ID=17031417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1238516A Expired - Fee Related JP3013996B2 (ja) | 1989-09-14 | 1989-09-14 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3013996B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5732953B2 (ja) * | 2011-03-24 | 2015-06-10 | 日本電気株式会社 | ベクトル処理装置、ベクトル処理方法、及び、プログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6431238A (en) * | 1987-07-27 | 1989-02-01 | Fujitsu Ltd | System for controlling store buffer |
-
1989
- 1989-09-14 JP JP1238516A patent/JP3013996B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH03100843A (ja) | 1991-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0381447B1 (en) | Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system | |
US6266768B1 (en) | System and method for permitting out-of-order execution of load instructions | |
JP2002297379A (ja) | ハードウェアプリフェッチシステム | |
JPH0137773B2 (ja) | ||
US5226132A (en) | Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system | |
JP4131789B2 (ja) | キャッシュ制御装置および方法 | |
JPH0410102B2 (ja) | ||
JP3013996B2 (ja) | 情報処理装置 | |
US4737908A (en) | Buffer memory control system | |
JPH081613B2 (ja) | 情報処理装置 | |
JPS601655B2 (ja) | デ−タプリフェツチ方式 | |
JPH0552539B2 (ja) | ||
JPH02110646A (ja) | メモリの先行読出し装置 | |
JP2845754B2 (ja) | マルチプロセッサシステム | |
JP2507785B2 (ja) | ペ―ジテ―ブルエントリ無効化装置 | |
JPH0336647A (ja) | キャッシュ・バッファリング制御方式 | |
JPH0432415B2 (ja) | ||
JP2001229074A (ja) | メモリ制御装置と情報処理装置及びメモリ制御チップ | |
JP2806690B2 (ja) | マイクロプロセッサ | |
JPH01307849A (ja) | データアクセス装置 | |
JPS6263339A (ja) | パイプライン制御方式 | |
JPH02259945A (ja) | ストア処理方式 | |
JPH0752423B2 (ja) | デ−タ転送制御方式 | |
JPS60123944A (ja) | 情報処理装置におけるバツフアメモリ制御方式 | |
JPS6240554A (ja) | バツフアメモリブロツク先取り方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |