JPH06168119A - データ先読み制御装置 - Google Patents
データ先読み制御装置Info
- Publication number
- JPH06168119A JPH06168119A JP4320407A JP32040792A JPH06168119A JP H06168119 A JPH06168119 A JP H06168119A JP 4320407 A JP4320407 A JP 4320407A JP 32040792 A JP32040792 A JP 32040792A JP H06168119 A JPH06168119 A JP H06168119A
- Authority
- JP
- Japan
- Prior art keywords
- address
- access
- data
- predicted
- central processing
- 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
- 238000000034 method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 101100464782 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CMP2 gene Proteins 0.000 description 2
- 101100464779 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CNA1 gene Proteins 0.000 description 2
- 101100422768 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SUL2 gene Proteins 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 101100191136 Arabidopsis thaliana PCMP-A2 gene Proteins 0.000 description 1
- 101100048260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) UBX2 gene Proteins 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/383—Operand prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/383—Operand prefetching
- G06F9/3832—Value prediction for operands; operand history buffers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Advance Control (AREA)
Abstract
(57)【要約】
【目的】中央処理装置10と記憶装置21とを備えたデータ
処理装置において用いられるデータの先読み制御を行う
データ先読み制御装置に関し,データのアクセス時間を
見かけ上,短縮することを目的とする。 【構成】あるアクセスが発生した後に引き続いて発生す
ると予測されるアクセスに関する情報を保持する予測ア
ドレス情報記憶手段12を設け,これを検索して次に起こ
ると予想されるアクセスのアドレスを得ることにより,
予測アクセスを事前に起動し,効果的なデータの先読み
を実現する。
処理装置において用いられるデータの先読み制御を行う
データ先読み制御装置に関し,データのアクセス時間を
見かけ上,短縮することを目的とする。 【構成】あるアクセスが発生した後に引き続いて発生す
ると予測されるアクセスに関する情報を保持する予測ア
ドレス情報記憶手段12を設け,これを検索して次に起こ
ると予想されるアクセスのアドレスを得ることにより,
予測アクセスを事前に起動し,効果的なデータの先読み
を実現する。
Description
【0001】
【産業上の利用分野】本発明はデータ先読み制御装置,
特に中央処理装置が記憶装置へアクセスしたときのアド
レスの履歴情報をもとに,次にアクセスするデータの予
測を行い,データの先読みを行うことにより,アクセス
時間を見かけ上短縮可能としたデータ先読み制御装置に
関する。
特に中央処理装置が記憶装置へアクセスしたときのアド
レスの履歴情報をもとに,次にアクセスするデータの予
測を行い,データの先読みを行うことにより,アクセス
時間を見かけ上短縮可能としたデータ先読み制御装置に
関する。
【0002】
【従来の技術】現在では,中央処理装置と主記憶装置の
処理速度の差には大きな隔たりがある。中央処理装置の
処理速度のほうが,主記憶装置のそれよりも何倍も高速
であるのが一般的である。もちろん,中央処理装置の処
理速度に見合ったアクセス速度を持つ記憶素子も存在す
るが,それらは高価であり,大容量の主記憶装置を構成
するには不適当である。
処理速度の差には大きな隔たりがある。中央処理装置の
処理速度のほうが,主記憶装置のそれよりも何倍も高速
であるのが一般的である。もちろん,中央処理装置の処
理速度に見合ったアクセス速度を持つ記憶素子も存在す
るが,それらは高価であり,大容量の主記憶装置を構成
するには不適当である。
【0003】高速な中央処理装置と低速な主記憶装置の
組み合わせでは,中央処理装置をデータの消費者,主記
憶装置をデータの供給者と考えた場合,データの供給不
足状態が起こり,中央処理装置はほとんどの時間を主記
憶装置からのデータ待ちの時間に費やしてしまい,処理
性能の低下が起こる。
組み合わせでは,中央処理装置をデータの消費者,主記
憶装置をデータの供給者と考えた場合,データの供給不
足状態が起こり,中央処理装置はほとんどの時間を主記
憶装置からのデータ待ちの時間に費やしてしまい,処理
性能の低下が起こる。
【0004】このデータ待ちの時間を減少させるため
に,中央処理装置と主記憶装置との間に,主記憶装置よ
りも小容量であるが高速なバッファ記憶装置を設置し
て,中央処理装置との速度差の緩和を図ることが行われ
る。このバッファ記憶装置を,一般にはキャッシュ装置
と呼ぶ。その他の手法としてはデータの先読み方式があ
る。
に,中央処理装置と主記憶装置との間に,主記憶装置よ
りも小容量であるが高速なバッファ記憶装置を設置し
て,中央処理装置との速度差の緩和を図ることが行われ
る。このバッファ記憶装置を,一般にはキャッシュ装置
と呼ぶ。その他の手法としてはデータの先読み方式があ
る。
【0005】データ先読み方式として,従来,大別して
以下の2つの技術が用いられている。1つは分岐予測に
よる先読みであり,もう1つは分岐予測に限定されない
先読みである。
以下の2つの技術が用いられている。1つは分岐予測に
よる先読みであり,もう1つは分岐予測に限定されない
先読みである。
【0006】分岐予測による先読みは,分岐命令実行の
パイプラインの乱れを抑えるために,分岐命令の次に実
行される命令を予測するもので,以下のような手法があ
る。これらの方式では,共通して過去の分岐の履歴を記
憶しておく分岐履歴テーブルが用いられる。
パイプラインの乱れを抑えるために,分岐命令の次に実
行される命令を予測するもので,以下のような手法があ
る。これらの方式では,共通して過去の分岐の履歴を記
憶しておく分岐履歴テーブルが用いられる。
【0007】 分岐命令が格納されているアドレスを
キーとして分岐履歴テーブルを引き,分岐先の命令を得
てこれを実行する。 分岐命令が格納されているアドレスをキーとして分
岐履歴テーブルを引き,分岐先のアドレスを予測し,こ
れを用いて先読みをする。
キーとして分岐履歴テーブルを引き,分岐先の命令を得
てこれを実行する。 分岐命令が格納されているアドレスをキーとして分
岐履歴テーブルを引き,分岐先のアドレスを予測し,こ
れを用いて先読みをする。
【0008】 分岐命令が格納されているアドレスを
キーとして分岐履歴テーブルを引き,その分岐命令の分
岐/非分岐を予測し,その結果を用いて次命令を先読み
する。
キーとして分岐履歴テーブルを引き,その分岐命令の分
岐/非分岐を予測し,その結果を用いて次命令を先読み
する。
【0009】 分岐命令にカウンタを付与し,分岐時
にはそのカウンタを+1し,非分岐時には−1すること
により,この分岐命令の分岐/非分岐の確率を得て,こ
れをもとに実命令を予測して先読みする。
にはそのカウンタを+1し,非分岐時には−1すること
により,この分岐命令の分岐/非分岐の確率を得て,こ
れをもとに実命令を予測して先読みする。
【0010】一方,従来の分岐予測に限定されないデー
タの先読み方式としては,例えばX番地にアクセスした
ときに,そのX番地に定数nを加えた番地,すなわち
(X+n)番地のデータを先読みするものがある。
タの先読み方式としては,例えばX番地にアクセスした
ときに,そのX番地に定数nを加えた番地,すなわち
(X+n)番地のデータを先読みするものがある。
【0011】
【発明が解決しようとする課題】分岐予測による先読み
では,データの先読みを行う契機が分岐命令実行時に限
られているため,分岐命令の出現頻度が少ないプログラ
ムでは,その効用を発揮できない。また,先読みの対象
が分岐命令の次に実行される命令データに限られている
ため,オペランドで指定されたデータなどは先読みの対
象とならず,適用範囲が狭いという問題がある。
では,データの先読みを行う契機が分岐命令実行時に限
られているため,分岐命令の出現頻度が少ないプログラ
ムでは,その効用を発揮できない。また,先読みの対象
が分岐命令の次に実行される命令データに限られている
ため,オペランドで指定されたデータなどは先読みの対
象とならず,適用範囲が狭いという問題がある。
【0012】また,従来の分岐予測に限定されないデー
タの先読み方式では,X番地のアクセスに対して(X+
n)番地のデータの先読みというように,アクセス対象
となるデータが実際の処理ロジック等に関係なく固定的
であるため,予測の当たる確率が高くはないという問題
がある。
タの先読み方式では,X番地のアクセスに対して(X+
n)番地のデータの先読みというように,アクセス対象
となるデータが実際の処理ロジック等に関係なく固定的
であるため,予測の当たる確率が高くはないという問題
がある。
【0013】本発明は上記問題点の解決を図り,適用範
囲が広く,かつ予測の当たる確率が高いデータの先読み
を可能とすることを目的とする。
囲が広く,かつ予測の当たる確率が高いデータの先読み
を可能とすることを目的とする。
【0014】
【課題を解決するための手段】図1は,本発明の原理ブ
ロック図である。本発明に係るデータ先読み制御装置1
1は,中央処理装置10と記憶装置21とを備えたデー
タ処理装置に用いられる。
ロック図である。本発明に係るデータ先読み制御装置1
1は,中央処理装置10と記憶装置21とを備えたデー
タ処理装置に用いられる。
【0015】データ先読み制御装置11において,予測
アドレス情報記憶手段12は,あるアクセスが発生した
後に引き続いて発生すると予測されるアクセスに関する
情報を保持する手段である。予測アドレス検索手段13
は,中央処理装置10からのアクセス要求のアドレスを
用いて予測アドレス情報記憶手段12を検索して,次に
起こると予想されるアクセスのアドレスを得る手段であ
る。予測アクセス起動手段14は,予測アドレス検索手
段13によって得られたアドレスに対するアクセスを起
動する手段である。アドレス送信手段15は,アクセス
するアドレスを記憶装置21へ送る手段である。
アドレス情報記憶手段12は,あるアクセスが発生した
後に引き続いて発生すると予測されるアクセスに関する
情報を保持する手段である。予測アドレス検索手段13
は,中央処理装置10からのアクセス要求のアドレスを
用いて予測アドレス情報記憶手段12を検索して,次に
起こると予想されるアクセスのアドレスを得る手段であ
る。予測アクセス起動手段14は,予測アドレス検索手
段13によって得られたアドレスに対するアクセスを起
動する手段である。アドレス送信手段15は,アクセス
するアドレスを記憶装置21へ送る手段である。
【0016】一時記憶手段16は,予測アクセスの結果
を一時記憶しておく手段である。一致検出手段17は,
予測アクセスと中央処理装置10の要求による次のアク
セスとが一致していることを検出する手段である。アク
セスが一致しているときには一時記憶手段16に記憶し
ておいた予測アクセスの結果を,データ選択送信手段1
8を介して中央処理装置10へ送信する。アクセスが不
一致の場合には,無効化手段19により,予測アクセス
の結果を無効化する。
を一時記憶しておく手段である。一致検出手段17は,
予測アクセスと中央処理装置10の要求による次のアク
セスとが一致していることを検出する手段である。アク
セスが一致しているときには一時記憶手段16に記憶し
ておいた予測アクセスの結果を,データ選択送信手段1
8を介して中央処理装置10へ送信する。アクセスが不
一致の場合には,無効化手段19により,予測アクセス
の結果を無効化する。
【0017】予測アドレス登録手段20は,予測アドレ
ス情報記憶手段12にアクセスしたアドレスに関する履
歴情報を設定する手段である。請求項2記載の発明で
は,少なくとも1つのキャッシュ装置(図示車両)を持
ち,そのキャッシュ装置を,図1に示す一時記憶手段1
6として用いる。
ス情報記憶手段12にアクセスしたアドレスに関する履
歴情報を設定する手段である。請求項2記載の発明で
は,少なくとも1つのキャッシュ装置(図示車両)を持
ち,そのキャッシュ装置を,図1に示す一時記憶手段1
6として用いる。
【0018】さらに,請求項3記載の発明では,予測ア
ドレス情報記憶手段12が,キャッシュ装置におけるキ
ャッシュディレクトリ内,すなわちキャッシュ装置に格
納されているデータのアドレスに関する情報を保持する
部分に設けられる。
ドレス情報記憶手段12が,キャッシュ装置におけるキ
ャッシュディレクトリ内,すなわちキャッシュ装置に格
納されているデータのアドレスに関する情報を保持する
部分に設けられる。
【0019】
【作用】本発明によれば,中央処理装置10がA番地の
データに対するアクセス要求を出した後,続いてB番地
へのアクセス要求を出すと,予測アドレス登録手段20
により,予測アドレス情報記憶手段12にその履歴情報
が格納される。すなわち,A番地のアクセスの次にB番
地へのアクセスがあったことが登録される。このB番地
のアドレスを予測アドレスという。
データに対するアクセス要求を出した後,続いてB番地
へのアクセス要求を出すと,予測アドレス登録手段20
により,予測アドレス情報記憶手段12にその履歴情報
が格納される。すなわち,A番地のアクセスの次にB番
地へのアクセスがあったことが登録される。このB番地
のアドレスを予測アドレスという。
【0020】その後いつか,中央処理装置10からA番
地へのアクセス要求があると,データ先読み制御装置1
1は,A番地に対するアクセス制御を行うとともに,予
測アドレス検索手段13により,予測アドレス情報記憶
手段12を検索し,A番地の次にB番地へのアクセスが
あったことを知る。そして,予測アクセス起動手段14
により,そのB番地へのアクセスを起動し,アドレス送
信手段15を介してB番地のアドレスを記憶装置21へ
送り,A番地へのアクセスに続いてB番地への予測アク
セスを行う。こうして,B番地のデータを先読みする。
そのB番地のデータは,一時記憶手段16に一時記憶し
ておく。
地へのアクセス要求があると,データ先読み制御装置1
1は,A番地に対するアクセス制御を行うとともに,予
測アドレス検索手段13により,予測アドレス情報記憶
手段12を検索し,A番地の次にB番地へのアクセスが
あったことを知る。そして,予測アクセス起動手段14
により,そのB番地へのアクセスを起動し,アドレス送
信手段15を介してB番地のアドレスを記憶装置21へ
送り,A番地へのアクセスに続いてB番地への予測アク
セスを行う。こうして,B番地のデータを先読みする。
そのB番地のデータは,一時記憶手段16に一時記憶し
ておく。
【0021】中央処理装置10からの次のアクセス要求
があったならば,そのアドレスと前に予測アドレス検索
手段13により検索した予測アドレスとを一致検出手段
17により比較し,一致するかどうかを調べる。一致し
なければ,無効化手段19により前の予測アクセスの結
果を無効化する。一致したならば,先読みして一時記憶
手段16に記憶しておいたB番地のデータを,データ選
択送信手段18を介して中央処理装置10へ送信する。
があったならば,そのアドレスと前に予測アドレス検索
手段13により検索した予測アドレスとを一致検出手段
17により比較し,一致するかどうかを調べる。一致し
なければ,無効化手段19により前の予測アクセスの結
果を無効化する。一致したならば,先読みして一時記憶
手段16に記憶しておいたB番地のデータを,データ選
択送信手段18を介して中央処理装置10へ送信する。
【0022】一般に,中央処理装置10が実行するプロ
グラムは,同じ命令列を繰り返すことが多いので,本発
明によるデータの先読みにより,中央処理装置10のデ
ータ待ち時間を減らすことができ,処理性能が向上す
る。
グラムは,同じ命令列を繰り返すことが多いので,本発
明によるデータの先読みにより,中央処理装置10のデ
ータ待ち時間を減らすことができ,処理性能が向上す
る。
【0023】また,請求項2記載の発明では,データを
先読みした結果がキャッシュ装置に格納されるので,次
のアクセス時にキャッシュ・ヒットの確率が上がる。ま
た,請求項3記載の発明のように,予測アドレス情報記
憶手段12をキャッシュディレクトリ中に組み込むこと
により,必要なハードウェア量の増加を少なくすること
が可能となる。
先読みした結果がキャッシュ装置に格納されるので,次
のアクセス時にキャッシュ・ヒットの確率が上がる。ま
た,請求項3記載の発明のように,予測アドレス情報記
憶手段12をキャッシュディレクトリ中に組み込むこと
により,必要なハードウェア量の増加を少なくすること
が可能となる。
【0024】
【実施例】図2は,本発明の対象となるデータ処理装置
の例を示す。本発明の適用対象となる装置は,図2
(A)または(B)に示すように,少なくとも1つの中
央処理装置10と,少なくとも1つの記憶装置21を持
つデータ処理装置である。記憶装置21は,主記憶装置
22だけの場合もあり得るし,キャッシュ装置23のよ
うなバッファ記憶装置を含むこともある。バッファ記憶
装置は複数階層でもよい。
の例を示す。本発明の適用対象となる装置は,図2
(A)または(B)に示すように,少なくとも1つの中
央処理装置10と,少なくとも1つの記憶装置21を持
つデータ処理装置である。記憶装置21は,主記憶装置
22だけの場合もあり得るし,キャッシュ装置23のよ
うなバッファ記憶装置を含むこともある。バッファ記憶
装置は複数階層でもよい。
【0025】命令とデータのアクセス系が分離している
ハーバードタイプのデータ処理装置と,命令系とデータ
系で同一のアクセス系を用いるプリンストンタイプのデ
ータ処理装置があるが,本発明はこれらの方式には依存
せず,どちらのタイプの装置にも適用できる。また,ハ
ーバードタイプの装置ならば,命令系とデータ系の両者
にそれぞれ本発明を適用することができる。
ハーバードタイプのデータ処理装置と,命令系とデータ
系で同一のアクセス系を用いるプリンストンタイプのデ
ータ処理装置があるが,本発明はこれらの方式には依存
せず,どちらのタイプの装置にも適用できる。また,ハ
ーバードタイプの装置ならば,命令系とデータ系の両者
にそれぞれ本発明を適用することができる。
【0026】図3は本発明の実施例ブロック図,図4は
本発明の実施例におけるAPCT検索方法の説明図,図
5は本発明の実施例におけるAPCT登録方法の説明
図,図6は図3に示す実施例のタイムチャートを示す。
本発明の実施例におけるAPCT検索方法の説明図,図
5は本発明の実施例におけるAPCT登録方法の説明
図,図6は図3に示す実施例のタイムチャートを示す。
【0027】図3において,APCTはアクセスパター
ン連鎖テーブル(Access Pattern Chain Table:以下,
テーブルAPCTと略称する) であって,図1に示す予
測アドレス情報記憶手段12に相当するもの,LAAR
1,LAAR2,LAAR3はアクセスしたアドレスを
記憶しておくレジスタ(Last Access Address Registe
r),PAARはデータを先読みするアドレスを記憶す
るレジスタ(Pre-fetchAccess Address Register),P
ADRは先読みしたデータを記憶しておくレジスタ(Pr
e-fetch Access Data Register),SEL1〜SEL3
はセレクタ,CMP1,CMP2は一致検出回路,AN
Dはアンド回路を表す。
ン連鎖テーブル(Access Pattern Chain Table:以下,
テーブルAPCTと略称する) であって,図1に示す予
測アドレス情報記憶手段12に相当するもの,LAAR
1,LAAR2,LAAR3はアクセスしたアドレスを
記憶しておくレジスタ(Last Access Address Registe
r),PAARはデータを先読みするアドレスを記憶す
るレジスタ(Pre-fetchAccess Address Register),P
ADRは先読みしたデータを記憶しておくレジスタ(Pr
e-fetch Access Data Register),SEL1〜SEL3
はセレクタ,CMP1,CMP2は一致検出回路,AN
Dはアンド回路を表す。
【0028】以下の実施例では,アドレスが3バイト長
であるとする。もちろん,本発明は3バイト長のアドレ
スに限らず実施することが可能である。中央処理装置1
0からのフェッチアドレスaは,セレクタSEL2を介
して記憶装置21へ送られるとともに,レジスタLAA
R1,LAAR3およびセレクタSEL3へ送られる。
予測アドレスを得るための検索のサイクルでは,セレク
タSEL3により,図示cのアドレスが選択され,その
3バイトのアドレスのうちの上1バイトによりテーブル
APCTが検索される。
であるとする。もちろん,本発明は3バイト長のアドレ
スに限らず実施することが可能である。中央処理装置1
0からのフェッチアドレスaは,セレクタSEL2を介
して記憶装置21へ送られるとともに,レジスタLAA
R1,LAAR3およびセレクタSEL3へ送られる。
予測アドレスを得るための検索のサイクルでは,セレク
タSEL3により,図示cのアドレスが選択され,その
3バイトのアドレスのうちの上1バイトによりテーブル
APCTが検索される。
【0029】具体的には,図4に示すような検索方法が
用いられる。本実施例では,テーブルAPCTの各エン
トリは,図4(A)に示すように検索アドレス部と,予
測アドレス部と,有効表示部V(以下,Validとい
う)とからなる。本来,すべてのアドレスに対して,テ
ーブルAPCTのエントリを割り付けるのが理想である
が,ハードウェア量が増大してしまうので,キャッシュ
装置においていわゆるダイレクトマッピング方式と呼ば
れているのと同様な手法を採用する。
用いられる。本実施例では,テーブルAPCTの各エン
トリは,図4(A)に示すように検索アドレス部と,予
測アドレス部と,有効表示部V(以下,Validとい
う)とからなる。本来,すべてのアドレスに対して,テ
ーブルAPCTのエントリを割り付けるのが理想である
が,ハードウェア量が増大してしまうので,キャッシュ
装置においていわゆるダイレクトマッピング方式と呼ば
れているのと同様な手法を採用する。
【0030】テーブルAPCTの検索では,アドレスの
上1バイトをテーブルAPCTのアドレス入力とし,エ
ントリ内の検索アドレスの欄の内容を読み出す。それ
と,アドレスの下2バイトとが一致するかどうかを一致
検出回路CMP2で調べる。一致する場合には,アンド
回路ANDによりその一致信号とValid信号との論
理積をとり,その出力が‘1’のときに予測アドレスの
検索を成功させ,予測アクセス起動信号を出力するとと
もに,同じエントリに登録されている予測アドレスを出
力する。
上1バイトをテーブルAPCTのアドレス入力とし,エ
ントリ内の検索アドレスの欄の内容を読み出す。それ
と,アドレスの下2バイトとが一致するかどうかを一致
検出回路CMP2で調べる。一致する場合には,アンド
回路ANDによりその一致信号とValid信号との論
理積をとり,その出力が‘1’のときに予測アドレスの
検索を成功させ,予測アクセス起動信号を出力するとと
もに,同じエントリに登録されている予測アドレスを出
力する。
【0031】例えば,テーブルAPCTの登録内容が図
4(B)に示すようになっていた場合,中央処理装置1
0からのアドレスが“645560”のときは,テーブ
ルAPCTの64(16進数)番目のエントリが検索さ
れ,検索アドレスの下2バイトが一致し,かつこのエン
トリはValid=‘1’であることから,予測アドレ
スとして“645570”が出力される。同様に,中央
処理装置10からのアドレスが“651320”のとき
は,テーブルAPCTの65(16進数)番目のエント
リが検索され,予測アドレスとして“651520”が
出力される。
4(B)に示すようになっていた場合,中央処理装置1
0からのアドレスが“645560”のときは,テーブ
ルAPCTの64(16進数)番目のエントリが検索さ
れ,検索アドレスの下2バイトが一致し,かつこのエン
トリはValid=‘1’であることから,予測アドレ
スとして“645570”が出力される。同様に,中央
処理装置10からのアドレスが“651320”のとき
は,テーブルAPCTの65(16進数)番目のエント
リが検索され,予測アドレスとして“651520”が
出力される。
【0032】一方,アドレスが“661111”に対し
ては,Valid=‘0’であり,無効なエントリであ
るため,予測アドレスは未登録と認識され,予測アクセ
スは抑止される。
ては,Valid=‘0’であり,無効なエントリであ
るため,予測アドレスは未登録と認識され,予測アクセ
スは抑止される。
【0033】予測アクセスの起動時には,テーブルAP
CTから読み出された予測アドレスは,レジスタPAA
Rにセットされ,セレクタSEL2を介して記憶装置2
1へ送られる。なお,この予測アクセスに対して,中央
処理装置10から要求があったアクセスを,以下の説明
では本アクセスと呼ぶことにする。
CTから読み出された予測アドレスは,レジスタPAA
Rにセットされ,セレクタSEL2を介して記憶装置2
1へ送られる。なお,この予測アクセスに対して,中央
処理装置10から要求があったアクセスを,以下の説明
では本アクセスと呼ぶことにする。
【0034】次の中央処理装置10からのアクセス要求
があると,前の予測アクセスと本アクセスとが一致する
か否かが,一致検出回路CMP1により調べられる。こ
の結果により,次のように制御される。
があると,前の予測アクセスと本アクセスとが一致する
か否かが,一致検出回路CMP1により調べられる。こ
の結果により,次のように制御される。
【0035】 予測アクセスが終了する以前に次の本
アクセス要求が発生し,両者が一致した場合,予測は当
たったことになり,予測アクセス処理が本アクセス処理
に置き替わる。
アクセス要求が発生し,両者が一致した場合,予測は当
たったことになり,予測アクセス処理が本アクセス処理
に置き替わる。
【0036】 予測アクセスが終了する以前に次の本
アクセス要求が発生し,両者が一致しない場合,予測ア
クセスは外れたことになる。このとき,予測アクセスに
関わるすべての動作は無効化される。
アクセス要求が発生し,両者が一致しない場合,予測ア
クセスは外れたことになる。このとき,予測アクセスに
関わるすべての動作は無効化される。
【0037】 予測アクセスが終了する以前に次の本
アクセス要求が発生しない場合には,記憶装置21から
の応答データは,レジスタPADRに記憶される。その
後,本アクセスが起こったとき,本アクセスと予測アク
セスの一致/不一致が検査され,一致していた場合に
は,予測は当たったことになりレジスタPADRに記憶
しておいたデータが中央処理装置10へ送られる。不一
致の場合には,予測アクセスに関わるすべての結果は無
効化される。
アクセス要求が発生しない場合には,記憶装置21から
の応答データは,レジスタPADRに記憶される。その
後,本アクセスが起こったとき,本アクセスと予測アク
セスの一致/不一致が検査され,一致していた場合に
は,予測は当たったことになりレジスタPADRに記憶
しておいたデータが中央処理装置10へ送られる。不一
致の場合には,予測アクセスに関わるすべての結果は無
効化される。
【0038】テーブルAPCTは,本アクセスが起こっ
た場合,この本アドレスのアドレスをキーとして検索す
ると,引き続いて起こると予想されるアドレスが出力さ
れるテーブル機構である。そのため,本アクセス要求が
発生するごとに,1つ前の本アクセスのアドレスに対応
して,それに続く本アクセスのアドレスがテーブルAP
CTに登録される。
た場合,この本アドレスのアドレスをキーとして検索す
ると,引き続いて起こると予想されるアドレスが出力さ
れるテーブル機構である。そのため,本アクセス要求が
発生するごとに,1つ前の本アクセスのアドレスに対応
して,それに続く本アクセスのアドレスがテーブルAP
CTに登録される。
【0039】図5(A)にその登録の機構,図5(B)
に登録動作を表すタイムチャートを示す。例えば,アド
レスAの本アクセス,アドレスBの本アクセス,アドレ
スCの本アクセスが,この順序であったとする。図5に
おいて,R/WのRはテーブルAPCTの検索サイクル
(Read),WはテーブルAPCTの登録サイクル
(Write)を表す。
に登録動作を表すタイムチャートを示す。例えば,アド
レスAの本アクセス,アドレスBの本アクセス,アドレ
スCの本アクセスが,この順序であったとする。図5に
おいて,R/WのRはテーブルAPCTの検索サイクル
(Read),WはテーブルAPCTの登録サイクル
(Write)を表す。
【0040】本アクセスのアドレスAが中央処理装置1
0から送られてくると,そのアドレスAがテーブルAP
CTの検索に用いられる。一方,次のサイクルの開始タ
イミングで,アドレスAは,レジスタLAAR1,LA
AR3にセットされる。レジスタLAAR1の内容は,
さらに次のサイクルでレジスタLAAR2へ移される。
例えば,図5(B)に示す2番目の登録サイクルWで
は,レジスタLAAR2の内容“A”を検索アドレスと
して,レジスタLAAR3を予測アドレスとして登録が
行われることになる。登録時には,そのエントリのVa
lidは‘1’にセットされる。
0から送られてくると,そのアドレスAがテーブルAP
CTの検索に用いられる。一方,次のサイクルの開始タ
イミングで,アドレスAは,レジスタLAAR1,LA
AR3にセットされる。レジスタLAAR1の内容は,
さらに次のサイクルでレジスタLAAR2へ移される。
例えば,図5(B)に示す2番目の登録サイクルWで
は,レジスタLAAR2の内容“A”を検索アドレスと
して,レジスタLAAR3を予測アドレスとして登録が
行われることになる。登録時には,そのエントリのVa
lidは‘1’にセットされる。
【0041】図3に示す回路の具体的な動作例を,図6
に従って説明する。図6に示すタイムチャートは,最初
に10000番地に対するアクセスが起こり,これがテ
ーブルAPCTに登録してあったので,予測アクセス
(アドレス“10050”)を起動し,その後,100
50番地に対する本アクセスが起こったので予測アクセ
スが当たった場合の動作例を示している。図6に示すa
〜l,R/Wは,図3に示すa〜l,R/Wに対応して
いる。
に従って説明する。図6に示すタイムチャートは,最初
に10000番地に対するアクセスが起こり,これがテ
ーブルAPCTに登録してあったので,予測アクセス
(アドレス“10050”)を起動し,その後,100
50番地に対する本アクセスが起こったので予測アクセ
スが当たった場合の動作例を示している。図6に示すa
〜l,R/Wは,図3に示すa〜l,R/Wに対応して
いる。
【0042】詳しくは以下のとおりである。図6に示す
テーブルAPCTのリード/ライト制御におけるの検
索サイクルにおいて,中央処理装置10からのアドレス
a(10000番地)をテーブルAPCTの検索アドレ
スfとし,その上1バイトをアドレスとしてテーブルA
PCT内の下2バイトの検索アドレスを読み出す。これ
により,検索アドレスfとテーブルAPCT内検索アド
レスgとを比較する。f=gかつValid=‘1’で
あるので,予測アクセス起動信号jを‘1’とし,テー
ブルAPCT内予測アドレスh(10050番地)をレ
ジスタPAARにセットする。レジスタPAARの内容
kは“10050”となる。
テーブルAPCTのリード/ライト制御におけるの検
索サイクルにおいて,中央処理装置10からのアドレス
a(10000番地)をテーブルAPCTの検索アドレ
スfとし,その上1バイトをアドレスとしてテーブルA
PCT内の下2バイトの検索アドレスを読み出す。これ
により,検索アドレスfとテーブルAPCT内検索アド
レスgとを比較する。f=gかつValid=‘1’で
あるので,予測アクセス起動信号jを‘1’とし,テー
ブルAPCT内予測アドレスh(10050番地)をレ
ジスタPAARにセットする。レジスタPAARの内容
kは“10050”となる。
【0043】記憶装置21に対しては,10000番地
への本アクセスに続いて,10050番地への予測アク
セスのアドレスmが順次供給されることになる。一方,
次の登録サイクルでは,レジスタLAAR2の内容e
(30000番地)をテーブルAPCTへの登録アドレ
スとし,30000番地の本アクセスに続く10000
番地の本アクセスのアドレスを予測アドレスとして,テ
ーブルAPCTへの登録処理が行われる。
への本アクセスに続いて,10050番地への予測アク
セスのアドレスmが順次供給されることになる。一方,
次の登録サイクルでは,レジスタLAAR2の内容e
(30000番地)をテーブルAPCTへの登録アドレ
スとし,30000番地の本アクセスに続く10000
番地の本アクセスのアドレスを予測アドレスとして,テ
ーブルAPCTへの登録処理が行われる。
【0044】記憶装置21への10000番地の本アク
セスに対して,記憶装置21からXXXXのデータnが
読み出され,中央処理装置10へデータpとして送り出
される。続く,10050番地の予測アクセスに対する
YYYYのデータnは,まだ,次のアクセス要求が来て
いないので,レジスタPADRに保持される。
セスに対して,記憶装置21からXXXXのデータnが
読み出され,中央処理装置10へデータpとして送り出
される。続く,10050番地の予測アクセスに対する
YYYYのデータnは,まだ,次のアクセス要求が来て
いないので,レジスタPADRに保持される。
【0045】次に,中央処理装置10から10050番
地へのアクセス要求が来ると,レジスタPAARの内容
kと一致するかどうかを調べる。ここでは一致するの
で,予測アクセスは当たったことが分かる。そこで,記
憶装置21へのアクセスを行うことなく,レジスタPA
DRの内容oを中央処理装置10へ送信する。
地へのアクセス要求が来ると,レジスタPAARの内容
kと一致するかどうかを調べる。ここでは一致するの
で,予測アクセスは当たったことが分かる。そこで,記
憶装置21へのアクセスを行うことなく,レジスタPA
DRの内容oを中央処理装置10へ送信する。
【0046】なお,図6に示すの検索サイクルにおい
て,中央処理装置10からのアドレスa(10050番
地)をテーブルAPCTの検索アドレスfとし,テーブ
ルAPCTを検索する。この場合,Validは‘1’
であるがf≠gであり,検索アドレスは一致しないの
で,予測アクセスは起動しない。
て,中央処理装置10からのアドレスa(10050番
地)をテーブルAPCTの検索アドレスfとし,テーブ
ルAPCTを検索する。この場合,Validは‘1’
であるがf≠gであり,検索アドレスは一致しないの
で,予測アクセスは起動しない。
【0047】図7は本発明の他の実施例説明図である。
本発明を図2(B)に示すようなキャッシュ装置23を
持つデータ処理装置に適用する場合,例えば図7に示す
ように,そのキャッシュ装置23のキャッシュデータ部
23−1を,予測アクセスの結果を一時記憶しておくた
めの図1に示す一時記憶手段16として用いることがで
きる。
本発明を図2(B)に示すようなキャッシュ装置23を
持つデータ処理装置に適用する場合,例えば図7に示す
ように,そのキャッシュ装置23のキャッシュデータ部
23−1を,予測アクセスの結果を一時記憶しておくた
めの図1に示す一時記憶手段16として用いることがで
きる。
【0048】このようにした場合,既に説明した動作
は,以下のように修正される。 (1) 予測アクセスが終了する以前に次の本アクセスが発
生し,かつこの本アクセスがキャッシュ・ヒットした場
合,予測アクセスとこの本アクセスの一致/不一致の検
査を行わない。キャッシュデータ部23−1から読み出
したデータを,セレクタSELを介して中央処理装置1
0へ送信する。
は,以下のように修正される。 (1) 予測アクセスが終了する以前に次の本アクセスが発
生し,かつこの本アクセスがキャッシュ・ヒットした場
合,予測アクセスとこの本アクセスの一致/不一致の検
査を行わない。キャッシュデータ部23−1から読み出
したデータを,セレクタSELを介して中央処理装置1
0へ送信する。
【0049】(2) 予測アクセスが終了する以前に次の本
アクセスが発生し,かつこの本アクセスがキャッシュ・
ミスし,かつ予測アクセスとこの本アクセスが一致した
場合,予測アクセス処理が本アクセス処理に置き替わ
る。
アクセスが発生し,かつこの本アクセスがキャッシュ・
ミスし,かつ予測アクセスとこの本アクセスが一致した
場合,予測アクセス処理が本アクセス処理に置き替わ
る。
【0050】(3) 予測アクセスが終了する以前に次の本
アクセスが発生し,かつこの本アクセスがキャッシュ・
ミスし,かつ予測アクセスとこの本アクセスが一致しな
い場合,および,予測アクセスが終了する以前に次の本
アクセス要求が発生しない場合には,予測アクセスの終
了方法に関して,例えば次の2通りが考えられる。
アクセスが発生し,かつこの本アクセスがキャッシュ・
ミスし,かつ予測アクセスとこの本アクセスが一致しな
い場合,および,予測アクセスが終了する以前に次の本
アクセス要求が発生しない場合には,予測アクセスの終
了方法に関して,例えば次の2通りが考えられる。
【0051】(3-1) 主記憶装置からの応答データをキャ
ッシュ装置23に書き込む。次の本アクセスが予測アク
セスと一致していれば,次の本アクセスは必ずキャッシ
ュ・ヒットする。
ッシュ装置23に書き込む。次の本アクセスが予測アク
セスと一致していれば,次の本アクセスは必ずキャッシ
ュ・ヒットする。
【0052】(3-2) 主記憶装置からの応答データをキャ
ッシュ装置23に書き込まない。予測アクセスは他に何
も影響を与えずに終了する。また,図7に示すように,
アクセスパターン連鎖テーブルAPCTをキャッシュ装
置23内のキャッシュディレクトリ部23−2の中に組
み込むことも可能である。このようにすると,必要なハ
ードウェア量が減少する。
ッシュ装置23に書き込まない。予測アクセスは他に何
も影響を与えずに終了する。また,図7に示すように,
アクセスパターン連鎖テーブルAPCTをキャッシュ装
置23内のキャッシュディレクトリ部23−2の中に組
み込むことも可能である。このようにすると,必要なハ
ードウェア量が減少する。
【0053】応用例として,次のような本発明の実施が
可能である。命令キャッシュとデータキャッシュとが分
離しているハーバードタイプのキャッシュ装置では,そ
の各々のキャッシュ装置について本発明を適用すること
ができる。このようにすると,命令系の本アクセスがオ
ペランド系の予測アクセスを起動したり,あるいはこの
逆にオペランド系の本アクセスが命令系の予測アクセス
を起動したりすることができ,命令系とデータ(オペラ
ンド)系との連携が行われるため,さらに有効な先読み
が可能になる。
可能である。命令キャッシュとデータキャッシュとが分
離しているハーバードタイプのキャッシュ装置では,そ
の各々のキャッシュ装置について本発明を適用すること
ができる。このようにすると,命令系の本アクセスがオ
ペランド系の予測アクセスを起動したり,あるいはこの
逆にオペランド系の本アクセスが命令系の予測アクセス
を起動したりすることができ,命令系とデータ(オペラ
ンド)系との連携が行われるため,さらに有効な先読み
が可能になる。
【0054】前述した実施例では,アクセスパターン連
鎖テーブルAPCTの出力は,次に起こるであろうアク
セスのアドレスであるが,これを次に起こるであろうア
クセスのアドレスと,現在のアクセスのアドレスとの差
分にすることも可能である。このようにすると,テーブ
ルAPCTを検索した結果と,検索に用いたアドレスを
加算したものが,予測アクセスのアドレスとなる。テー
ブルAPCTの容量を減少させることができる。
鎖テーブルAPCTの出力は,次に起こるであろうアク
セスのアドレスであるが,これを次に起こるであろうア
クセスのアドレスと,現在のアクセスのアドレスとの差
分にすることも可能である。このようにすると,テーブ
ルAPCTを検索した結果と,検索に用いたアドレスを
加算したものが,予測アクセスのアドレスとなる。テー
ブルAPCTの容量を減少させることができる。
【0055】また,前述した実施例は,次に起こるアク
セスを予測するものであったが,さらに遠い未来のアク
セスを予測させることも可能である。例えば,現在のア
クセス・アドレスを検索(登録)アドレスとし,そのア
ドレスと2つ後に起こると予測されるアクセスのアドレ
スを対にして,テーブルAPCTに記憶する。これは,
図3に示すレジスタLAAR1,LAAR2の段数を増
加させることにより,容易に実現できる。こうした場
合,データ先読みの効果は大きくなるが,予測の的中率
は低くなる。
セスを予測するものであったが,さらに遠い未来のアク
セスを予測させることも可能である。例えば,現在のア
クセス・アドレスを検索(登録)アドレスとし,そのア
ドレスと2つ後に起こると予測されるアクセスのアドレ
スを対にして,テーブルAPCTに記憶する。これは,
図3に示すレジスタLAAR1,LAAR2の段数を増
加させることにより,容易に実現できる。こうした場
合,データ先読みの効果は大きくなるが,予測の的中率
は低くなる。
【0056】
【発明の効果】以上説明したように,本発明によれば,
予測アクセスの実現によって次のような効果がある。
予測アクセスの実現によって次のような効果がある。
【0057】(1) オペランド系の予測アクセスを行うこ
とにより,記憶装置へのアクセス時間を見かけ上短縮す
ることができる。 (2) また,予測アクセスの結果をキャッシュ装置に保持
する構成を採用し,データの先読みによってキャッシュ
のヒット率を向上させることができる。
とにより,記憶装置へのアクセス時間を見かけ上短縮す
ることができる。 (2) また,予測アクセスの結果をキャッシュ装置に保持
する構成を採用し,データの先読みによってキャッシュ
のヒット率を向上させることができる。
【図1】本発明の原理ブロック図である。
【図2】本発明の対象となるデータ処理装置の例を示す
図である。
図である。
【図3】本発明の実施例ブロック図である。
【図4】本発明の実施例におけるAPCT検索方法の説
明図である。
明図である。
【図5】本発明の実施例におけるAPCT登録方法の説
明図である。
明図である。
【図6】図3に示す実施例のタイムチャートである。
【図7】本発明の他の実施例説明図である。
10 中央処理装置 11 データ先読み制御装置 12 予測アドレス情報記憶手段 13 予測アドレス検索手段 14 予測アクセス起動手段 15 アドレス送信手段 16 一時記憶手段 17 一致検出手段 18 データ選択送信手段 19 無効化手段 20 予測アドレス登録手段 21 記憶装置
Claims (3)
- 【請求項1】 少なくとも1つの中央処理装置(10)と,
少なくとも1つの記憶装置(21)を持つデータ処理装置に
おいて,あるアクセスが発生した後に引き続いて発生す
ると予測されるアクセスに関する情報を保持する予測ア
ドレス情報記憶手段(12)と,前記中央処理装置(10)から
のアクセス要求のアドレスを用いて前記予測アドレス情
報記憶手段(12)を検索して,次に起こると予想されるア
クセスのアドレスを得る手段(13)と,得られたアドレス
に対するアクセスを起動する手段(14)と,アクセスする
アドレスを前記記憶装置(21)へ送る手段(15)と,予測ア
クセスの結果を一時記憶しておく手段(16)と,予測アク
セスと次のアクセスとが一致していることを検出する手
段(17)と,一致しているときには前記一時記憶したデー
タを前記中央処理装置(10)へ送る手段(18)と,不一致の
場合に予測アクセスの結果を無効化する手段(19)と,前
記予測アドレス情報記憶手段(12)にアクセスしたアドレ
スに関する履歴情報を設定する手段(20)とを備えたこと
を特徴とするデータ先読み制御装置。 - 【請求項2】 請求項1記載のデータ先読み制御装置に
おいて,少なくとも1つのキャッシュ装置を持ち,該キ
ャッシュ装置を,前記予測アクセスの結果を一時記憶し
ておく手段(16)として用いることを特徴とするデータ先
読み制御装置。 - 【請求項3】 請求項2記載のデータ先読み制御装置に
おいて,前記予測アドレス情報記憶手段(12)が,前記キ
ャッシュ装置におけるキャッシュディレクトリ内に設け
られていることを特徴とするデータ先読み制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32040792A JP3254019B2 (ja) | 1992-11-30 | 1992-11-30 | データ先読み制御装置 |
US08/158,318 US5412786A (en) | 1992-11-30 | 1993-11-29 | Data pre-fetch control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP32040792A JP3254019B2 (ja) | 1992-11-30 | 1992-11-30 | データ先読み制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06168119A true JPH06168119A (ja) | 1994-06-14 |
JP3254019B2 JP3254019B2 (ja) | 2002-02-04 |
Family
ID=18121122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP32040792A Expired - Fee Related JP3254019B2 (ja) | 1992-11-30 | 1992-11-30 | データ先読み制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5412786A (ja) |
JP (1) | JP3254019B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006215799A (ja) * | 2005-02-03 | 2006-08-17 | Toshiba Corp | メモリコントローラ |
US7246204B2 (en) | 2002-06-28 | 2007-07-17 | Fujitsu Limited | Pre-fetch control device, data processing apparatus and pre-fetch control method |
JP2007207240A (ja) * | 2006-02-03 | 2007-08-16 | Internatl Business Mach Corp <Ibm> | データ・ラインのための自己プリフェッチl2キャッシュ機構 |
US7436689B2 (en) * | 2006-08-18 | 2008-10-14 | Fujitsu Limited | Non-volatile semiconductor memory |
JP2009230417A (ja) * | 2008-03-21 | 2009-10-08 | Fujitsu Ltd | ディスク装置およびデータ先行読出し方法 |
JP2010537310A (ja) * | 2007-08-22 | 2010-12-02 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 投機的なプリチャージの検出 |
JP2011138294A (ja) * | 2009-12-28 | 2011-07-14 | Fujitsu Semiconductor Ltd | 半導体集積回路装置およびキャッシュメモリ制御方法 |
US8756404B2 (en) | 2006-12-11 | 2014-06-17 | International Business Machines Corporation | Cascaded delayed float/vector execution pipeline |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3590427B2 (ja) * | 1994-08-30 | 2004-11-17 | 株式会社ルネサステクノロジ | 先行読出機能付命令キャッシュメモリ |
US6604190B1 (en) * | 1995-06-07 | 2003-08-05 | Advanced Micro Devices, Inc. | Data address prediction structure and a method for operating the same |
US6292879B1 (en) | 1995-10-25 | 2001-09-18 | Anthony S. Fong | Method and apparatus to specify access control list and cache enabling and cache coherency requirement enabling on individual operands of an instruction of a computer |
JP3435267B2 (ja) * | 1995-11-07 | 2003-08-11 | 株式会社東芝 | マイクロプロセッサ及びそのロードアドレス予想方法 |
US6314431B1 (en) * | 1999-09-02 | 2001-11-06 | Hewlett-Packard Company | Method, system, and apparatus to improve instruction pre-fetching on computer systems |
US7058823B2 (en) * | 2001-02-28 | 2006-06-06 | Advanced Micro Devices, Inc. | Integrated circuit having programmable voltage level line drivers and method of operation |
US6912611B2 (en) * | 2001-04-30 | 2005-06-28 | Advanced Micro Devices, Inc. | Split transactional unidirectional bus architecture and method of operation |
US6813673B2 (en) * | 2001-04-30 | 2004-11-02 | Advanced Micro Devices, Inc. | Bus arbitrator supporting multiple isochronous streams in a split transactional unidirectional bus architecture and method of operation |
US6785758B1 (en) | 2001-06-01 | 2004-08-31 | Advanced Micro Devices, Inc. | System and method for machine specific register addressing in a split transactional unidirectional bus architecture |
US6763415B1 (en) * | 2001-06-08 | 2004-07-13 | Advanced Micro Devices, Inc. | Speculative bus arbitrator and method of operation |
JP5052592B2 (ja) * | 2009-12-28 | 2012-10-17 | 株式会社日立製作所 | ストレージ管理システム、ストレージ階層管理方法及び管理サーバ |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3382350D1 (de) * | 1982-11-17 | 1991-08-29 | Nec Corp | Anordnung zum vorabholen von befehlen mit vorhersage einer verzweigungszieladresse. |
US4764861A (en) * | 1984-02-08 | 1988-08-16 | Nec Corporation | Instruction fpefetching device with prediction of a branch destination for each branch count instruction |
US4943908A (en) * | 1987-12-02 | 1990-07-24 | International Business Machines Corporation | Multiple branch analyzer for prefetching cache lines |
JP2722523B2 (ja) * | 1988-09-21 | 1998-03-04 | 日本電気株式会社 | 命令先取り装置 |
US5142634A (en) * | 1989-02-03 | 1992-08-25 | Digital Equipment Corporation | Branch prediction |
-
1992
- 1992-11-30 JP JP32040792A patent/JP3254019B2/ja not_active Expired - Fee Related
-
1993
- 1993-11-29 US US08/158,318 patent/US5412786A/en not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7246204B2 (en) | 2002-06-28 | 2007-07-17 | Fujitsu Limited | Pre-fetch control device, data processing apparatus and pre-fetch control method |
JP2006215799A (ja) * | 2005-02-03 | 2006-08-17 | Toshiba Corp | メモリコントローラ |
JP2007207240A (ja) * | 2006-02-03 | 2007-08-16 | Internatl Business Mach Corp <Ibm> | データ・ラインのための自己プリフェッチl2キャッシュ機構 |
US7436689B2 (en) * | 2006-08-18 | 2008-10-14 | Fujitsu Limited | Non-volatile semiconductor memory |
US8756404B2 (en) | 2006-12-11 | 2014-06-17 | International Business Machines Corporation | Cascaded delayed float/vector execution pipeline |
JP2010537310A (ja) * | 2007-08-22 | 2010-12-02 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 投機的なプリチャージの検出 |
JP2009230417A (ja) * | 2008-03-21 | 2009-10-08 | Fujitsu Ltd | ディスク装置およびデータ先行読出し方法 |
US8065477B2 (en) | 2008-03-21 | 2011-11-22 | Toshiba Storage Device Corporation | Disk apparatus and advance data reading method |
JP2011138294A (ja) * | 2009-12-28 | 2011-07-14 | Fujitsu Semiconductor Ltd | 半導体集積回路装置およびキャッシュメモリ制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3254019B2 (ja) | 2002-02-04 |
US5412786A (en) | 1995-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06168119A (ja) | データ先読み制御装置 | |
US7657726B2 (en) | Context look ahead storage structures | |
US4980823A (en) | Sequential prefetching with deconfirmation | |
JP4027620B2 (ja) | 分岐予測装置、プロセッサ、及び分岐予測方法 | |
US6317810B1 (en) | Microprocessor having a prefetch cache | |
US5210831A (en) | Methods and apparatus for insulating a branch prediction mechanism from data dependent branch table updates that result from variable test operand locations | |
US6138212A (en) | Apparatus and method for generating a stride used to derive a prefetch address | |
US6401193B1 (en) | Dynamic data prefetching based on program counter and addressing mode | |
KR930002945A (ko) | 프리페치버퍼 및 프리페치버퍼를 적용한 정보처리장치 | |
US5996061A (en) | Method for invalidating data identified by software compiler | |
EP0097790A2 (en) | Apparatus for controlling storage access in a multilevel storage system | |
JPH06318177A (ja) | キャッシュ・ミス・ペナルティを減少させる方法、装置及びコンピュータ・システム | |
US8074029B2 (en) | Processor equipped with a pre-fetch function and pre-fetch control method | |
JPH1074166A (ja) | 多重レベル・ダイナミック・セット予測方法および装置 | |
US7047362B2 (en) | Cache system and method for controlling the cache system comprising direct-mapped cache and fully-associative buffer | |
JP4060506B2 (ja) | ディスク制御装置 | |
US20100217937A1 (en) | Data processing apparatus and method | |
US7346741B1 (en) | Memory latency of processors with configurable stride based pre-fetching technique | |
KR100234647B1 (ko) | 인스트럭션 프리페치 방법 및 데이터 처리 시스템 | |
JP2000076017A (ja) | 磁気ディスク制御装置 | |
JP3284508B2 (ja) | データ先読み制御装置 | |
EP0296430A2 (en) | Sequential prefetching with deconfirmation | |
JP2976980B2 (ja) | キャッシュ制御方式 | |
US11151054B2 (en) | Speculative address translation requests pertaining to instruction cache misses | |
JPH02301843A (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: 20011113 |
|
LAPS | Cancellation because of no payment of annual fees |