JP2002182902A - メモリデータアクセス構造およびその方法 - Google Patents
メモリデータアクセス構造およびその方法Info
- Publication number
- JP2002182902A JP2002182902A JP2001017270A JP2001017270A JP2002182902A JP 2002182902 A JP2002182902 A JP 2002182902A JP 2001017270 A JP2001017270 A JP 2001017270A JP 2001017270 A JP2001017270 A JP 2001017270A JP 2002182902 A JP2002182902 A JP 2002182902A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- signal
- processor
- data access
- 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 title claims abstract description 29
- 230000007246 mechanism Effects 0.000 claims abstract description 22
- 239000002699 waste material Substances 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 2
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000008569 process Effects 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
- G06F9/3804—Instruction prefetching for branches, e.g. hedging, branch folding
-
- 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/3861—Recovery, e.g. branch miss-prediction, exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
する、現在使用されていない命令をフェッチしている状
況を回避し、動作クロックの遅延を回避する。 【解決手段】 プロセッサでの使用に適したメモリデー
タアクセス構造と方法である。プロセッサで実行される
各命令に対して、実行結果がプロセッサによって認識さ
れ、制御信号を通じてキャッシュメモリに転送される。
フェッチされるべき命令がキャッシュメモリに記憶され
ていないとき、制御信号に従って、キャッシュメモリ
は、命令が外部メモリからフェッチされるべきかを決定
する。プロセッサが分岐予測機構を備えているか否かに
関わらず、従来技術のプロセッサで浪費されていた多く
の動作クロックサイクルは、キャッシュメモリがフェッ
チし損なっている状況、即ちキャッシュメモリのミスを
補償することで節約される。プロセッサの効率と性能は
効果的に高められる。
Description
タアクセス構造およびアクセス方法に関連し、特に、プ
ロセッサでの使用に適したメモリデータアクセス構造お
よびアクセス方法に関するものである。
される不可欠な装置である。例えば、パーソナルコンピ
ュータにおけるCPU(中央処理装置)は、特定の要求
に応じて色々な機能を提供してくれる。電子機器の機能
が益々多彩になるほど、プロセッサは益々高速でなけれ
ばならない。
であり、この図を参照しながら従来のプロセッサでの命
令のプロセスについて説明する。また、図4はメモリデ
ータアクセス制御部とプロセッサとの間のフローを示
す。ここではCPUが一例として使用されている。メモ
リデータアクセス構造は、CPU100と、キャッシュ
メモリ120と、メモリ130とにより構成される。C
PU100は、データ転送のために、データバス(D
S)102を介してキャッシュメモリ120とメモリ1
30とに接続されている。さらに、CPU100は、ア
ドレスバス(AB)104を介して、アドレスデータを
キャッシュメモリ120とメモリ130とに転送する。
キャッシュメモリ120は、制御信号(CS)106を
介してCPU100によって制御される。
に分かれ、命令の実行の際に、フェッチ命令、復号命令
および実行命令の各段の処理が実行されるとすると、C
PU100は、先ずキャッシュメモリ120から命令を
フェッチする。続いて、フェッチされた命令が復号さ
れ、復号された命令に基づく実行動作へと続いていく。
もし必要とされる命令が、キャッシュメモリ120に記
憶されていなければ、CPU100はメモリ130から
命令をフェッチする。この場合、ハードウェアの速度制
限で、CPU100の多くの動作クロックサイクルが浪
費される。
命令が含まれる。この分岐命令は、CPU100によっ
て実行されるべき、あるアドレスに配置された次の命令
を要求する制御転送命令に属す。即ち、CPU100
は、現在処理しているアドレスから所望のアドレスにジ
ャンプしなければならない。この種の命令は、ジャンプ
命令や、サブルーチンのコールないしリターン命令を含
む。
図5(a)において、IはCPU100が実行すること
になる命令であり、I1 ,I2 ,…,I10,I11,…
は、第1,第2,…,第10,第11,…の命令を表
す。ここでは、命令I1 は分岐命令であり、命令I1 の
実行後、命令I10にジャンプすることになる。
(a)に示すプログラムセグメントのためのフェッチ、
復号および実行の各段との間の関係が示されている。動
作クロックCは、第1,第2,第3,…,第8のクロッ
クを表すC1 ,C2 ,C3 ,…,C8 を含む。命令I1
が実行段、即ち第3クロックC3 にあるとき、CPU1
00のフェッチ部が命令I3 をフェッチし始める。もし
命令I3 がキャッシュメモリ120になければ、CPU
100はメモリ130から命令I3 をフェッチする。
岐命令に属し、そのプログラムの実行方向(direction)
が向け直されることになる。例えば、命令I3 をフェッ
チする要求がメモリ130に送られている間、命令I10
が命令I3 の代わりにフェッチされる。このようにCP
U100は、キャッシュメモリ120に命令I3 をフェ
ッチする要求が完了するまで待たなければならない。図
5(b)の例では、メモリ130のフェッチ命令を完了
するのに3動作クロックサイクルが消費されているが、
メモリ130から命令をフェッチするためのクロック数
は、CPU100とメモリ130との間の速度ギャップ
が増大するに従って益々多くなる。CPU100の全体
の動作は、図5(b)の例に示す通りである。分岐命令
の実行(クロックC3 )後、命令I10はクロックC6 で
フェッチされ、多くのクロックが浪費される。高効率で
高い処理速度のプロセッサにとって、遅延は致命的であ
る。
での分岐命令であるかを予測し、そしてさらに実行方向
が変更されるかを予測するために分岐予測機構(分岐予
測機能)が設けられる。しかし、上記の問題は、分岐予
測機構を持つそのようなプロセッサにおいても依然とし
て起きる。I1 を「とられる分岐」(taken branch)とし
て実行方向がI10に変更されるかもしれないとする。ク
ロックC1 でI1 をフェッチする間、もし、分岐予測機
構が、I1 が分岐命令ではないとか、またはI 1 が実行
方向を変更しないであろうというような間違った予測を
したら、CPU100は、依然として、C3 での命令I
1 の実行中にI3 をフェッチし始める。I3 が上記の例
におけるキャッシュメモリ120に記憶されていなけれ
ば、上述のような欠点が生じる。たとえI1 が分岐命令
として予測されたとしても、プログラムの実行方向を変
更しないかもしれないし、分岐予測機構が間違った予測
をしたとき、同じ問題が起こり得る。
モリデータアクセス構造およびアクセス方法を提供す
る。分岐命令を実行している間、処理時間を浪費する、
現在使用されていない命令をフェッチしている状況が回
避される。従って、動作クロックの遅延が回避される。
さらに、プロセッサが分岐予測機構を含んでいるか否か
に関わらず、分岐命令を実行している間、動作クロック
サイクルの浪費を回避する。
達成するために、そして本発明の目的に従って、請求項
1記載の発明は、プロセッサでの使用に適したメモリデ
ータアクセス構造を提供する。この構造は、キャッシュ
メモリとパイプラインプロセッサとを備える。キャッシ
ュメモリは、アドレス信号に従って命令を記憶し出力す
るのに使用される。パイプラインプロセッサは、複数の
プロセッサ命令を実行するために使用され、パイプライ
ンプロセッサは、前段から入力される命令に基づいて実
行動作を行い、結果信号と、キャッシュメモリに出力さ
れる制御信号とを出力する実行部を含む。実行部によっ
て実行される命令が分岐命令であるとき、結果信号はタ
ーゲットアドレスである。このターゲットアドレスは、
キャッシュメモリに出力されるアドレス信号となるよう
に選択される。キャッシュメモリは、アドレス信号に従
って、実行されるべき次の命令をフェッチする。実行部
が分岐命令を実行しているとき、プロセッサは、キャッ
シュメモリからフェッチ命令をフェッチしており、そし
て分岐命令実行後に得られる制御信号がキャッシュメモ
リに出力されるとき、フェッチ命令がキャッシュメモリ
に記憶されていなければ、キャッシュメモリは、制御信
号に従って外部メモリからフェッチ命令をフェッチする
かを決定する。
制御信号は、現在段で実行される命令が、とられる分岐
(taken branch)命令であるかを示す(請求項2)。
実行されるべき全ての命令の中で現在実行される命令の
アドレスを記憶するプログラムカウンタをさらに備える
(請求項3)。
実行部によって出力される結果信号と、プログラムカウ
ンタに記憶され設定値が付加された実行されるアドレス
とを受け、そしてそれら信号の1つをアドレス信号とし
て選択するマルチプレクサをさらに備える(請求項
4)。
用に適したメモリデータアクセス構造を提供する。この
メモリデータアクセス構造は、キャッシュメモリと、パ
イプラインプロセッサと、分岐命令予測機構と、比較器
とを備える。キャッシュメモリは、アドレス信号に従っ
て命令を記憶し出力するのに使用される。パイプライン
プロセッサは、複数のプロセッサ命令を実行するのに使
用され、パイプラインプロセッサは、前段から転送され
る命令に基づいて実行動作を行い、そして結果信号を出
力する実行部を含む。分岐命令予測機構は、フェッチ命
令に従って予測アドレスを出力するのに使用される。比
較器は、結果信号と予測アドレスとを受けて比較信号を
出力するのに使用される。実行部が分岐命令を実行して
いるとき、結果信号はターゲットアドレスとなる。ター
ゲットアドレスは、キャッシュメモリに出力されるアド
レス信号となるように選択される。実行されるべき次の
命令はアドレス信号に従ってフェッチされる。実行部が
分岐命令を実行しているとき、プロセッサはフェッチ命
令をフェッチし、そして分岐命令の実行後に得られる結
果信号は、比較器に転送され、比較器は、結果信号と予
測アドレスに従って比較信号をキャッシュメモリに出力
し、フェッチ命令がキャッシュメモリに記憶されていな
ければ、キャッシュメモリは、比較信号に従って外部メ
モリからフェッチ命令をフェッチするかを決定する。
比較信号は、結果信号および予測アドレスに基づいた比
較動作の実行後に発生される(請求項6)。
実行されるべき全ての命令の中で現在実行される命令の
アドレスを記憶するプログラムカウンタをさらに備える
(請求項7)。
実行部から出力される結果信号と、プログラムカウンタ
に記憶され決定された値を持つ信号が付加された実行ア
ドレスと、予測アドレスとを受け、そしてこれら信号の
1つをアドレス信号として選択するマルチプレクサをさ
らに備える(請求項8)。
用に適したメモリデータアクセス方法を提供し、この方
法は、アドレス信号に従って命令を供給し、命令を実行
して結果信号および制御信号を出力し、アドレス信号に
従って、実行されるべき次の命令をフェッチし、命令が
分岐命令であるとき、結果信号は、キャッシュメモリに
出力されるアドレス信号になるように選択されるターゲ
ットアドレスであり、プロセッサがフェッチ命令をフェ
ッチしそしてフェッチ命令がキャッシュメモリに記憶さ
れていないとき、フェッチ命令が制御信号に従って外部
メモリからフェッチされるかを決定する。
制御信号は、現在実行される命令が、とられる分岐命令
であるかを示す(請求項10)。
結果信号と、ある値を持つ信号が付加された現在実行の
命令のアドレスとを選択的に出力する(請求項11)。
使用に適したメモリデータアクセス方法を提供し、この
方法は、命令を供給し、命令を実行して結果信号を出力
し、フェッチ命令を受けて予測アドレスを出力する分岐
予測機構を使用し、結果信号を予測アドレスと比較して
比較信号を出力する。実行されている命令が分岐命令で
あるとき、結果信号は、ターゲットアドレスでありアド
レス信号であるように選択され、プロセッサは、アドレ
ス信号に従って次に実行されるべき命令をフェッチす
る。分岐命令を実行している間、プロセッサはフェッチ
命令をフェッチし、フェッチ命令がキャッシュメモリに
なければ、キャッシュメモリは、比較信号に従って外部
メモリからフェッチ命令をフェッチするかを決定する。
結果信号、ある値が付加されプロセッサが現在処理して
いるアドレス、および予測アドレスの1つを選択的に出
力する(請求項13)。
比較信号は、分岐予測機構によって予測された分岐命令
が正しいかを示す(請求項14)。
適したメモリデータアクセス構造および方法を提供す
る。メモリデータアクセス構造では、プロセッサによっ
て実行される実行段に入る各命令に対して、実行結果が
プロセッサによって認識され、制御信号を介してキャッ
シュメモリに送られる。制御信号に従って、キャッシュ
メモリは、命令を外部メモリからフェッチするか否かを
決定する。分岐予測機構を持つ持たない上記構造は、従
来技術におけるように発生される動作クロックを余り多
く浪費しない。キャッシュメモリに起きた『ミス(ヒッ
トし損ない)』は、このように補償されることになり、
またプロセッサの性能は効果的に高められる。
のメモリアクセス構造および方法を説明するための図で
ある。この構造では、分岐予測機構を持たないCPU3
00が使用されている。本発明はCPUの適用に制限さ
れない。命令のフェッチ、復号および実行の機能を持つ
それらパイプラインプロセッサは、全て本発明の技術範
囲内に入いる。この実施形態では、CPU300は、少
なくとも3段のパイプラインを含んだパイプラインプロ
セッサである。即ち、命令を実行する際、フェッチ段、
復号段および実行段の処理が実行されるのである。
フリッププロップ310と、復号器320と、D型フリ
ッププロップ330と、実行部340とを備えている。
D型フリッププロップ310は、ライン302経由でキ
ャッシュメモリ301によって入力された命令を受信す
る。その命令は、クロック遅延がD型フリッププロップ
310で発生し、復号器320に送られる。命令は、復
号器320によって復号されると、ライン322経由で
別のD型フリッププロップ330に送られて、別のクロ
ック遅延を持つことになる。さらに、命令は、ライン3
32経由で実行のための実行部340に送られる。
の制御信号をキャッシュメモリ301に転送する。実行
結果は、現在実行される命令が分岐命令であるか、そし
てそれが取得されたか否かを反映しなければならない。
制御信号に従って、キャッシュメモリ301は、ミスし
た命令、つまり従来技術で説明したI3 のように、キャ
ッシュメモリ301に記憶されていない命令が外部メモ
リからフェッチされるべきであるかを決定する。そうで
なければ、命令は外部メモリからフェッチされないこと
になる。即ち、そのような命令をフェッチする要求は何
ら発生しない。従って、従来技術で生じるクロック遅延
は回避される。
に送られる。もし実行された命令が分岐命令であれば、
その結果はターゲットアドレスになる。マルチプレクサ
350は、CPU300のプログラムカウンタ(PC)
360にも接続されている。プログラムカウンタ360
は、実行されるべき複数の命令の中で現在実行される命
令のアドレスを記憶している。加算器370は、マルチ
プレクサ350とプログラムカウンタ360との間に設
けられる。プログラムカウンタ360は、現在実行され
る命令のアドレスを加算器370に出力する。加算動作
後、命令はマルチプレクサ350に送られる。もし分岐
命令が実行されれば、分岐命令の実行結果と、加算器3
70によって出力されたデータとは、マルチプレクサ3
50からキャッシュメモリ301にアドレス信号とし
て、またはターゲットアドレスとして出力される。実行
されるべき次の命令のアドレスはこのように知らされ
る。
構造および方法の別の実施形態の説明図である。この構
造では、分岐予測機構がCPU400に含まれている。
繰り返しになるが、本発明はCPUの適用に限定されな
い。命令フェッチ、復号および実行機能を持つ全てのパ
イプラインプロセッサが本発明の技術範囲内に入る。
フリッププロップ410と、復号器420と、D型フリ
ッププロップ430と、実行部440と、比較器450
と、分岐予測機構460とを備えている。
02を介してキャッシュメモリ401から命令を受け、
その命令にクロック遅延が発生する。続いて、その命令
は復号器420に送られる。復号器420によって復号
されると、命令はライン422を介してD型フリッププ
ロップ430に送られる。別のクロック遅延がその命令
に発生し、続いてそれはライン432を介して実行のた
めに実行部440に送られる。
る。分岐予測機構460は、ライン402またはライン
472を介してそれぞれ命令または命令アドレスを受け
る。続いて、分岐予測機構460は、受けた命令または
命令アドレスに従って、(ライン464、D型フリップ
プロップ480、ライン484、D型フリッププロップ
481およびライン483を介して)比較器450に予
測アドレスを出力する。続いて、比較器450は、比較
信号をライン452を介してキャッシュメモリ401に
出力する。キャッシュメモリ401に転送された比較信
号は、実行部440からの結果信号と分岐予測機構46
0からの予測アドレスとについて比較動作を実行した後
に発生される。続いて、キャッシュメモリ401は、比
較信号に従ってミスした命令、つまりキャッシュメモリ
401に記憶されていない命令をフェッチする必要があ
るかどうかを決める。もし必要なければ、命令は外部メ
モリからフェッチされない。即ち、フェッチ命令の要求
は発生しない。従って、クロック遅延が回避される。
に送られる。マルチプレクサ470は、加算器404に
よって処理(PC+X)される信号404を受信する。
その『X』は、現在実行される命令の命令サイズを意味
する。分岐予測機構460によって出力される予測アド
レスも、ライン462を介してマルチプレクサ470に
送られる。もし実行部440によって実行された命令が
分岐命令なら、実行結果はターゲットアドレスとなる。
これらの信号に従って、マルチプレクサ470は、命令
フェッチのためにアドレス信号をキャッシュメモリ40
1に出力する。
号段および実行段で実行されるプログラムセグメントと
の間の関係を示す。図5において、クロックC1 ,
C2 ,C 3 ,…,C8 は第1,第2,第3,…,第8の
クロックである。命令I1 が実行段(第3クロック
C3 )にあるとき、CPUはキャッシュメモリから命令
I3 をフェッチする。このとき、命令I3 がキャッシュ
メモリに記憶されていなければ、図2,図3の上記実施
形態のように、制御信号または比較信号に従って、キャ
ッシュメモリは命令を外部メモリからフェッチするかを
決定する。
方向を変更することになる。この例では、命令I1 は、
命令I10をフェッチし始めるように実行方向を変更す
る。このとき、キャッシュメモリは、命令I3 をフェッ
チするための要求は外部メモリに出力されないことを決
定する。このように、CPUは、次のクロックで分岐命
令によって実行されるように、ターゲットアドレスで命
令I10をフェッチし始める。このように設計されること
で、命令I3 をフェッチするためにキャッシュメモリを
待つことなく、ターゲットアドレスで命令がフェッチさ
れる。
によれば、従来技術で浪費される動作クロックは効果的
に節約される。高効率で高い処理速度のプロセッサのた
めに性能が大幅に高められる。
る間、処理時間を浪費する、現在使用されていない命令
をフェッチしている状況を回避することができる。従っ
て、動作クロックの遅延を回避することができる。
機構無し)のためのメモリデータアクセス構造および方
法を説明するための図である。
プロセッサのためのメモリデータアクセス構造および方
法を説明するための図である。
ェッチ段、復号段および実行段で実行されるプログラム
セグメントとの間の関係を示す図である。
である。
Claims (14)
- 【請求項1】 プロセッサでの使用に適したメモリデー
タアクセス構造であって、 アドレス信号に従って命令を記憶し出力するキャッシュ
メモリと、 前段から入力される命令に基づいて実行動作を行い、そ
して結果信号と、キャッシュメモリに出力される制御信
号とを出力する実行部を含み、複数のプロセッサ命令を
実行するパイプラインプロセッサとを備え、 実行部によって実行される命令が分岐命令であるとき、
結果信号は、アドレス信号に従って、実行されるべき次
の命令をフェッチするキャッシュメモリに出力されるア
ドレス信号となるように選択されるターゲットアドレス
であり、 実行部が分岐命令を実行しているとき、プロセッサは、
キャッシュメモリからフェッチ命令をフェッチしてお
り、そして分岐命令の実行後に得られる制御信号がキャ
ッシュメモリに出力されるとき、フェッチ命令がキャッ
シュメモリに記憶されていなければ、キャッシュメモリ
は、制御信号に従って外部メモリからフェッチ命令をフ
ェッチするかを決定することを特徴とするメモリデータ
アクセス構造。 - 【請求項2】 制御信号は、現在段で実行される命令
が、とられる分岐命令であるかを示すことを特徴とする
請求項1記載のメモリデータアクセス構造。 - 【請求項3】 実行されるべき全ての命令の中で現在実
行される命令のアドレスを記憶するプログラムカウンタ
をさらに備えることを特徴とする請求項1記載のメモリ
データアクセス構造。 - 【請求項4】 実行部によって出力される結果信号と、
プログラムカウンタに記憶され設定値が付加された実行
されるアドレスとを受け、そしてそれら信号の1つをア
ドレス信号として選択するマルチプレクサをさらに備え
ることを特徴とする請求項3記載のメモリデータアクセ
ス構造。 - 【請求項5】 プロセッサでの使用に適したメモリデー
タアクセス構造であって、 アドレス信号に従って命令を記憶し出力するキャッシュ
メモリと、 前段から転送された命令に基づいて実行動作を行い、そ
して結果信号を出力する実行部を含み、複数のプロセッ
サ命令を実行するパイプラインプロセッサと、 フェッチ命令に従って予測アドレスを出力する分岐命令
予測機構と、 結果信号と予測アドレスとを受けて比較信号を出力する
比較器とを備え、 実行部が分岐命令を実行するとき、結果信号は、実行さ
れるべき次の命令をアドレス信号に従ってフェッチする
キャッシュメモリに出力されるアドレス信号となるよう
に選択されるターゲットアドレスであり、 実行部が分岐命令を実行しているとき、プロセッサは、
フェッチ命令をフェッチし、そして分岐命令の実行後に
得られる結果信号が比較器に転送され、比較器は結果信
号および予測アドレスに従って比較信号をキャッシュメ
モリに出力し、フェッチ命令がキャッシュメモリに記憶
されていなければ、キャッシュメモリは比較信号に従っ
て外部メモリからフェッチ命令をフェッチするかを決定
することを特徴とするメモリデータアクセス構造。 - 【請求項6】 比較信号は、結果信号および予測アドレ
スに基づいた比較動作の実行後に発生されることを特徴
とする請求項5記載のメモリデータアクセス構造。 - 【請求項7】 実行されるべき全ての命令の中で現在実
行される命令のアドレスを記憶するプログラムカウンタ
をさらに備えることを特徴とする請求項5記載のメモリ
データアクセス構造。 - 【請求項8】 実行部から出力される結果信号と、プロ
グラムカウンタに記憶され決定された値を持つ信号が付
加された実行アドレスと、予測アドレスとを受け、そし
てこれら信号の1つをアドレス信号として選択するマル
チプレクサをさらに備えることを特徴とする請求項7記
載のメモリデータアクセス構造。 - 【請求項9】 プロセッサでの使用に適したメモリデー
タアクセス方法であって、 アドレス信号に従って命令を供給し、 命令を実行して結果信号および制御信号を出力し、 アドレス信号に従って、実行されるべき次の命令をフェ
ッチし、命令が分岐命令であるとき、結果信号は、キャ
ッシュメモリに出力されるアドレス信号になるように選
択されるターゲットアドレスであり、 プロセッサがフェッチ命令をフェッチしそしてフェッチ
命令がキャッシュメモリに記憶されていないとき、フェ
ッチ命令が制御信号に従って外部メモリからフェッチさ
れるかを決定することを特徴とするメモリデータアクセ
ス方法。 - 【請求項10】 制御信号は、現在実行される命令が、
とられる分岐命令であるかを示すことを特徴とする請求
項9記載のメモリデータアクセス方法。 - 【請求項11】 結果信号と、ある値を持つ信号が付加
された現在実行の命令のアドレスとを選択的に出力する
ことを特徴とする請求項9記載のメモリデータアクセス
方法。 - 【請求項12】 プロセッサでの使用に適したメモリデ
ータアクセス方法であって、 命令を供給し、 命令を実行して結果信号を出力し、 フェッチ命令を受けて予測アドレスを出力する分岐予測
機構を使用し、 結果信号を予測アドレスと比較して比較信号を出力する
各ステップを有し、 実行されている命令が分岐命令であるとき、結果信号
は、ターゲットアドレスでありアドレス信号であるよう
に選択され、プロセッサは、アドレス信号に従って次に
実行されるべき命令をフェッチし、 分岐命令を実行している間、プロセッサはフェッチ命令
をフェッチし、フェッチ命令がキャッシュメモリになけ
れば、キャッシュメモリは、比較信号に従って外部メモ
リからフェッチ命令をフェッチするかを決定することを
特徴とするメモリデータアクセス方法。 - 【請求項13】 結果信号、ある値が付加されプロセッ
サが現在処理しているアドレス、および予測アドレスの
1つを選択的に出力することを特徴とする請求項12記
載のメモリデータアクセス方法。 - 【請求項14】 比較信号は、分岐予測機構によって予
測された分岐命令が正しいかを示すことを特徴とする請
求項12記載のメモリデータアクセス方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW89125861 | 2000-12-05 | ||
TW089125861A TW477954B (en) | 2000-12-05 | 2000-12-05 | Memory data accessing architecture and method for a processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002182902A true JP2002182902A (ja) | 2002-06-28 |
JP3602801B2 JP3602801B2 (ja) | 2004-12-15 |
Family
ID=21662196
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001017270A Expired - Fee Related JP3602801B2 (ja) | 2000-12-05 | 2001-01-25 | メモリデータアクセス構造およびその方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20020069351A1 (ja) |
JP (1) | JP3602801B2 (ja) |
TW (1) | TW477954B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011028540A (ja) * | 2009-07-27 | 2011-02-10 | Renesas Electronics Corp | 情報処理システム、キャッシュメモリの制御方法、プログラム及びコンパイラ |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7194576B1 (en) * | 2003-07-31 | 2007-03-20 | Western Digital Technologies, Inc. | Fetch operations in a disk drive control system |
US20050273559A1 (en) * | 2004-05-19 | 2005-12-08 | Aris Aristodemou | Microprocessor architecture including unified cache debug unit |
US7747088B2 (en) * | 2005-09-28 | 2010-06-29 | Arc International (Uk) Limited | System and methods for performing deblocking in microprocessor-based video codec applications |
US9652305B2 (en) * | 2014-08-06 | 2017-05-16 | Advanced Micro Devices, Inc. | Tracking source availability for instructions in a scheduler instruction queue |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4435756A (en) * | 1981-12-03 | 1984-03-06 | Burroughs Corporation | Branch predicting computer |
JPS6488844A (en) * | 1987-09-30 | 1989-04-03 | Takeshi Sakamura | Data processor |
JP3639927B2 (ja) * | 1993-10-04 | 2005-04-20 | 株式会社ルネサステクノロジ | データ処理装置 |
US5951678A (en) * | 1997-07-25 | 1999-09-14 | Motorola, Inc. | Method and apparatus for controlling conditional branch execution in a data processor |
US6185676B1 (en) * | 1997-09-30 | 2001-02-06 | Intel Corporation | Method and apparatus for performing early branch prediction in a microprocessor |
-
2000
- 2000-12-05 TW TW089125861A patent/TW477954B/zh not_active IP Right Cessation
- 2000-12-29 US US09/752,122 patent/US20020069351A1/en not_active Abandoned
-
2001
- 2001-01-25 JP JP2001017270A patent/JP3602801B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011028540A (ja) * | 2009-07-27 | 2011-02-10 | Renesas Electronics Corp | 情報処理システム、キャッシュメモリの制御方法、プログラム及びコンパイラ |
Also Published As
Publication number | Publication date |
---|---|
TW477954B (en) | 2002-03-01 |
US20020069351A1 (en) | 2002-06-06 |
JP3602801B2 (ja) | 2004-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2796797B2 (ja) | ディジタル命令プロセッサ制御装置によってインターラプトルーチンを処理する方法 | |
US4415969A (en) | Macroinstruction translator unit for use in a microprocessor | |
US4775927A (en) | Processor including fetch operation for branch instruction with control tag | |
EP0438961A2 (en) | Hardware data string operation controller | |
JPH02224025A (ja) | コンピューターシステム | |
US7281120B2 (en) | Apparatus and method for decreasing the latency between an instruction cache and a pipeline processor | |
JPH03116233A (ja) | データプロセッサの命令処理システム | |
KR20040016829A (ko) | 파이프라인식 프로세서에서의 예외 취급 방법, 장치 및시스템 | |
US6209086B1 (en) | Method and apparatus for fast response time interrupt control in a pipelined data processor | |
US5313644A (en) | System having status update controller for determining which one of parallel operation results of execution units is allowed to set conditions of shared processor status word | |
KR20020073233A (ko) | 코프로세서 명령 실행 장치 및 방법 | |
US9710269B2 (en) | Early conditional selection of an operand | |
US20070260857A1 (en) | Electronic Circuit | |
JP2004145454A (ja) | 情報処理装置及び情報処理方法 | |
JP3602801B2 (ja) | メモリデータアクセス構造およびその方法 | |
JP2001060152A (ja) | 分岐予測を抑止する情報処理装置および方法 | |
US20080065870A1 (en) | Information processing apparatus | |
JP2007500404A (ja) | 命令整列の方法および装置 | |
US7472264B2 (en) | Predicting a jump target based on a program counter and state information for a process | |
KR100237642B1 (ko) | 파이프라인 정지회로를 구비한 프로세서 | |
KR100376639B1 (ko) | 프로세서에서 사용하기에 적합한 메모리 데이터 액세스구조 및 방법 | |
JP2001100994A (ja) | モードを変更する分岐命令を制御する命令処理装置および方法 | |
JPH0384632A (ja) | データ処理装置 | |
KR920006613B1 (ko) | 파이프라인으로 동작하는 프로세서의 명령어 페취 유니트 | |
US7343481B2 (en) | Branch prediction in a data processing system utilizing a cache of previous static predictions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040416 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040811 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040907 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040924 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071001 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101001 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |