【コラム】
このためには、図6.25に示したような構造を用いる。ロードキュー、ストアキューの各エントリには命令の発行順を示すタイムスタンプ(Time)を付け、時刻順に上から下方向にロード、ストア要求を格納する。このタイムスタンプはプログラムにおけるロードとストアの前後関係を判定する目的であり、正確な時刻である必要なく一連の番号で良い。
なお、一連番号の時刻を格納するビット数が制限されるので、時刻値は、例えば1023などの最大値で折り返して、次はゼロにしなければならない。このため、時刻の比較は単純な大小比較で行うことはできない。そのため、まず、キューに入っているもっとも古い時刻値と比較対象の時刻値の比較を行い、比較対象の時刻値の方が小さい場合は折返しが入っているので、最大値+1(この例では1024)を加えた値として大小比較を行う必要がある。
そして、ロードキューから実行すべきエントリが選択されると、そのエントリのTimeとストアキューの各エントリのTimeとの大小比較を行う。ロードの時刻の方が新しい場合には処理対象、そうでない場合はロードより後のストアであるので、処理対象にしない。
そして、処理対象のエントリは、ストアアドレスが求まっていない(InValid、 IV=1)の場合は、ロードと一致するアドレスになる可能性もあるので、Wired ORでアドレス未定ラインに"1"を出力する。また、図の下側に書かれた時刻が新しいエントリのアドレスが一致した場合は、それより上側のエントリがフォワードラインにストアデータを出力することを抑制し、ロード命令に一番近いストア命令のデータを出力するようになっている。このようにアドレス一致信号が"1"の場合は、フォワードラインから得られるストアデータをロードの結果としてロード先のPRdレジスタに送ればよい。
そして、アドレス一致信号もアドレス未定信号も"0"の場合は、先行するストアのデータに依存しないロード命令であるので、1次キャッシュのアクセスを開始する。
一方、アドレス未定信号が"1"の場合は、先行するストアと実行しようとしているロードのアドレスが一致する可能性があるので、そのロード命令の実行は控える。
| 深海底の熱水ヒントに“ナノ・エマルション”生成 [17:35 5/20] |
| JAEA、世界最高クラスのスピン偏極率をもった陽電子ビームの開発に成功 [16:11 5/20] |
| 【レポート】千葉高校生が快挙! 日本人初の部門最優秀賞受賞! - ISEF 2013 [11:59 5/20] |
| アシアル、モバイルアプリデベロッパー動向レポートの日本語版を公開 [11:36 5/20] |
| 【レポート】いよいよ審査! 密閉空間で1000人の審査員を迎えた代表8人--Intel ISEF 2013 [10:41 5/20] |
|
あなたの彼女・奥さんは大丈夫? 不倫に走りやすい女性のタイプ3つ [22:30 5/20] 恋愛・結婚 |
|
【レポート】【レポート】2013年のキーワードは「スマートフォンを使いこなす」 - KDDI田中社長が夏モデル4機種をアピール [22:30 5/20] 携帯 |
|
グリーンハウス、10型ワイド液晶搭載のデジタルサイネージ端末"GH-EP10RAW" [22:23 5/20] パソコン |
|
【レポート】下り最大100Mbpsの「4G LTE」を四国の一部エリアより順次スタート - KDDI [22:00 5/20] 携帯 |
|
【レポート】約5.0型ディスプレイ搭載の新型スマホ「Xperia UL」発表 - KDDI [22:00 5/20] 携帯 |