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
Application number
JP2001017270A
Other languages
English (en)
Other versions
JP3602801B2 (ja
Inventor
Shyh-An Chi
世安 汲
Nenji Kei
念慈 桂
Yu-Min Wang
裕閔 王
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Faraday Technology Corp
Original Assignee
Faraday Technology Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Faraday Technology Corp filed Critical Faraday Technology Corp
Publication of JP2002182902A publication Critical patent/JP2002182902A/ja
Application granted granted Critical
Publication of JP3602801B2 publication Critical patent/JP3602801B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3804Instruction prefetching for branches, e.g. hedging, branch folding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, 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

(57)【要約】 【課題】 分岐命令を実行している間、処理時間を浪費
する、現在使用されていない命令をフェッチしている状
況を回避し、動作クロックの遅延を回避する。 【解決手段】 プロセッサでの使用に適したメモリデー
タアクセス構造と方法である。プロセッサで実行される
各命令に対して、実行結果がプロセッサによって認識さ
れ、制御信号を通じてキャッシュメモリに転送される。
フェッチされるべき命令がキャッシュメモリに記憶され
ていないとき、制御信号に従って、キャッシュメモリ
は、命令が外部メモリからフェッチされるべきかを決定
する。プロセッサが分岐予測機構を備えているか否かに
関わらず、従来技術のプロセッサで浪費されていた多く
の動作クロックサイクルは、キャッシュメモリがフェッ
チし損なっている状況、即ちキャッシュメモリのミスを
補償することで節約される。プロセッサの効率と性能は
効果的に高められる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にメモリデー
タアクセス構造およびアクセス方法に関連し、特に、プ
ロセッサでの使用に適したメモリデータアクセス構造お
よびアクセス方法に関するものである。
【0002】
【従来の技術】プロセッサは現在の電子機器に広く適用
される不可欠な装置である。例えば、パーソナルコンピ
ュータにおけるCPU(中央処理装置)は、特定の要求
に応じて色々な機能を提供してくれる。電子機器の機能
が益々多彩になるほど、プロセッサは益々高速でなけれ
ばならない。
【0003】図4はメモリデータアクセスのブロック図
であり、この図を参照しながら従来のプロセッサでの命
令のプロセスについて説明する。また、図4はメモリデ
ータアクセス制御部とプロセッサとの間のフローを示
す。ここではCPUが一例として使用されている。メモ
リデータアクセス構造は、CPU100と、キャッシュ
メモリ120と、メモリ130とにより構成される。C
PU100は、データ転送のために、データバス(D
S)102を介してキャッシュメモリ120とメモリ1
30とに接続されている。さらに、CPU100は、ア
ドレスバス(AB)104を介して、アドレスデータを
キャッシュメモリ120とメモリ130とに転送する。
キャッシュメモリ120は、制御信号(CS)106を
介してCPU100によって制御される。
【0004】CPU100の内部が3段のパイプライン
に分かれ、命令の実行の際に、フェッチ命令、復号命令
および実行命令の各段の処理が実行されるとすると、C
PU100は、先ずキャッシュメモリ120から命令を
フェッチする。続いて、フェッチされた命令が復号さ
れ、復号された命令に基づく実行動作へと続いていく。
もし必要とされる命令が、キャッシュメモリ120に記
憶されていなければ、CPU100はメモリ130から
命令をフェッチする。この場合、ハードウェアの速度制
限で、CPU100の多くの動作クロックサイクルが浪
費される。
【0005】CPU100の実行命令には分岐(branch)
命令が含まれる。この分岐命令は、CPU100によっ
て実行されるべき、あるアドレスに配置された次の命令
を要求する制御転送命令に属す。即ち、CPU100
は、現在処理しているアドレスから所望のアドレスにジ
ャンプしなければならない。この種の命令は、ジャンプ
命令や、サブルーチンのコールないしリターン命令を含
む。
【0006】図5にプログラムセグメントの例を示す。
図5(a)において、IはCPU100が実行すること
になる命令であり、I1 ,I2 ,…,I10,I11,…
は、第1,第2,…,第10,第11,…の命令を表
す。ここでは、命令I1 は分岐命令であり、命令I1
実行後、命令I10にジャンプすることになる。
【0007】図5(b)には、クロック信号と、図5
(a)に示すプログラムセグメントのためのフェッチ、
復号および実行の各段との間の関係が示されている。動
作クロックCは、第1,第2,第3,…,第8のクロッ
クを表すC1 ,C2 ,C3 ,…,C8 を含む。命令I1
が実行段、即ち第3クロックC3 にあるとき、CPU1
00のフェッチ部が命令I3 をフェッチし始める。もし
命令I3 がキャッシュメモリ120になければ、CPU
100はメモリ130から命令I3 をフェッチする。
【0008】
【発明が解決しようとする課題】しかし、命令I1 は分
岐命令に属し、そのプログラムの実行方向(direction)
が向け直されることになる。例えば、命令I3 をフェッ
チする要求がメモリ130に送られている間、命令I10
が命令I3 の代わりにフェッチされる。このようにCP
U100は、キャッシュメモリ120に命令I3 をフェ
ッチする要求が完了するまで待たなければならない。図
5(b)の例では、メモリ130のフェッチ命令を完了
するのに3動作クロックサイクルが消費されているが、
メモリ130から命令をフェッチするためのクロック数
は、CPU100とメモリ130との間の速度ギャップ
が増大するに従って益々多くなる。CPU100の全体
の動作は、図5(b)の例に示す通りである。分岐命令
の実行(クロックC3 )後、命令I10はクロックC6
フェッチされ、多くのクロックが浪費される。高効率で
高い処理速度のプロセッサにとって、遅延は致命的であ
る。
【0009】さらに、従来技術には、命令がフェッチ段
での分岐命令であるかを予測し、そしてさらに実行方向
が変更されるかを予測するために分岐予測機構(分岐予
測機能)が設けられる。しかし、上記の問題は、分岐予
測機構を持つそのようなプロセッサにおいても依然とし
て起きる。I1 を「とられる分岐」(taken branch)とし
て実行方向がI10に変更されるかもしれないとする。ク
ロックC1 でI1 をフェッチする間、もし、分岐予測機
構が、I1 が分岐命令ではないとか、またはI 1 が実行
方向を変更しないであろうというような間違った予測を
したら、CPU100は、依然として、C3 での命令I
1 の実行中にI3 をフェッチし始める。I3 が上記の例
におけるキャッシュメモリ120に記憶されていなけれ
ば、上述のような欠点が生じる。たとえI1 が分岐命令
として予測されたとしても、プログラムの実行方向を変
更しないかもしれないし、分岐予測機構が間違った予測
をしたとき、同じ問題が起こり得る。
【0010】本発明は、プロセッサでの使用に適したメ
モリデータアクセス構造およびアクセス方法を提供す
る。分岐命令を実行している間、処理時間を浪費する、
現在使用されていない命令をフェッチしている状況が回
避される。従って、動作クロックの遅延が回避される。
【0011】メモリデータアクセス構造および方法は、
さらに、プロセッサが分岐予測機構を含んでいるか否か
に関わらず、分岐命令を実行している間、動作クロック
サイクルの浪費を回避する。
【0012】
【課題を解決するための手段】これらおよび他の長所を
達成するために、そして本発明の目的に従って、請求項
1記載の発明は、プロセッサでの使用に適したメモリデ
ータアクセス構造を提供する。この構造は、キャッシュ
メモリとパイプラインプロセッサとを備える。キャッシ
ュメモリは、アドレス信号に従って命令を記憶し出力す
るのに使用される。パイプラインプロセッサは、複数の
プロセッサ命令を実行するために使用され、パイプライ
ンプロセッサは、前段から入力される命令に基づいて実
行動作を行い、結果信号と、キャッシュメモリに出力さ
れる制御信号とを出力する実行部を含む。実行部によっ
て実行される命令が分岐命令であるとき、結果信号はタ
ーゲットアドレスである。このターゲットアドレスは、
キャッシュメモリに出力されるアドレス信号となるよう
に選択される。キャッシュメモリは、アドレス信号に従
って、実行されるべき次の命令をフェッチする。実行部
が分岐命令を実行しているとき、プロセッサは、キャッ
シュメモリからフェッチ命令をフェッチしており、そし
て分岐命令実行後に得られる制御信号がキャッシュメモ
リに出力されるとき、フェッチ命令がキャッシュメモリ
に記憶されていなければ、キャッシュメモリは、制御信
号に従って外部メモリからフェッチ命令をフェッチする
かを決定する。
【0013】上記メモリデータアクセス構造において、
制御信号は、現在段で実行される命令が、とられる分岐
(taken branch)命令であるかを示す(請求項2)。
【0014】上記メモリデータアクセス構造において、
実行されるべき全ての命令の中で現在実行される命令の
アドレスを記憶するプログラムカウンタをさらに備える
(請求項3)。
【0015】上記メモリデータアクセス構造において、
実行部によって出力される結果信号と、プログラムカウ
ンタに記憶され設定値が付加された実行されるアドレス
とを受け、そしてそれら信号の1つをアドレス信号とし
て選択するマルチプレクサをさらに備える(請求項
4)。
【0016】請求項5記載の発明は、プロセッサでの使
用に適したメモリデータアクセス構造を提供する。この
メモリデータアクセス構造は、キャッシュメモリと、パ
イプラインプロセッサと、分岐命令予測機構と、比較器
とを備える。キャッシュメモリは、アドレス信号に従っ
て命令を記憶し出力するのに使用される。パイプライン
プロセッサは、複数のプロセッサ命令を実行するのに使
用され、パイプラインプロセッサは、前段から転送され
る命令に基づいて実行動作を行い、そして結果信号を出
力する実行部を含む。分岐命令予測機構は、フェッチ命
令に従って予測アドレスを出力するのに使用される。比
較器は、結果信号と予測アドレスとを受けて比較信号を
出力するのに使用される。実行部が分岐命令を実行して
いるとき、結果信号はターゲットアドレスとなる。ター
ゲットアドレスは、キャッシュメモリに出力されるアド
レス信号となるように選択される。実行されるべき次の
命令はアドレス信号に従ってフェッチされる。実行部が
分岐命令を実行しているとき、プロセッサはフェッチ命
令をフェッチし、そして分岐命令の実行後に得られる結
果信号は、比較器に転送され、比較器は、結果信号と予
測アドレスに従って比較信号をキャッシュメモリに出力
し、フェッチ命令がキャッシュメモリに記憶されていな
ければ、キャッシュメモリは、比較信号に従って外部メ
モリからフェッチ命令をフェッチするかを決定する。
【0017】上記メモリデータアクセス構造において、
比較信号は、結果信号および予測アドレスに基づいた比
較動作の実行後に発生される(請求項6)。
【0018】上記メモリデータアクセス構造において、
実行されるべき全ての命令の中で現在実行される命令の
アドレスを記憶するプログラムカウンタをさらに備える
(請求項7)。
【0019】上記メモリデータアクセス構造において、
実行部から出力される結果信号と、プログラムカウンタ
に記憶され決定された値を持つ信号が付加された実行ア
ドレスと、予測アドレスとを受け、そしてこれら信号の
1つをアドレス信号として選択するマルチプレクサをさ
らに備える(請求項8)。
【0020】請求項9記載の発明は、プロセッサでの使
用に適したメモリデータアクセス方法を提供し、この方
法は、アドレス信号に従って命令を供給し、命令を実行
して結果信号および制御信号を出力し、アドレス信号に
従って、実行されるべき次の命令をフェッチし、命令が
分岐命令であるとき、結果信号は、キャッシュメモリに
出力されるアドレス信号になるように選択されるターゲ
ットアドレスであり、プロセッサがフェッチ命令をフェ
ッチしそしてフェッチ命令がキャッシュメモリに記憶さ
れていないとき、フェッチ命令が制御信号に従って外部
メモリからフェッチされるかを決定する。
【0021】上記メモリデータアクセス方法において、
制御信号は、現在実行される命令が、とられる分岐命令
であるかを示す(請求項10)。
【0022】上記メモリデータアクセス方法において、
結果信号と、ある値を持つ信号が付加された現在実行の
命令のアドレスとを選択的に出力する(請求項11)。
【0023】請求項12記載の発明は、プロセッサでの
使用に適したメモリデータアクセス方法を提供し、この
方法は、命令を供給し、命令を実行して結果信号を出力
し、フェッチ命令を受けて予測アドレスを出力する分岐
予測機構を使用し、結果信号を予測アドレスと比較して
比較信号を出力する。実行されている命令が分岐命令で
あるとき、結果信号は、ターゲットアドレスでありアド
レス信号であるように選択され、プロセッサは、アドレ
ス信号に従って次に実行されるべき命令をフェッチす
る。分岐命令を実行している間、プロセッサはフェッチ
命令をフェッチし、フェッチ命令がキャッシュメモリに
なければ、キャッシュメモリは、比較信号に従って外部
メモリからフェッチ命令をフェッチするかを決定する。
【0024】上記メモリデータアクセス方法において、
結果信号、ある値が付加されプロセッサが現在処理して
いるアドレス、および予測アドレスの1つを選択的に出
力する(請求項13)。
【0025】上記メモリデータアクセス方法において、
比較信号は、分岐予測機構によって予測された分岐命令
が正しいかを示す(請求項14)。
【0026】
【発明の実施の形態】本発明は、プロセッサでの使用に
適したメモリデータアクセス構造および方法を提供す
る。メモリデータアクセス構造では、プロセッサによっ
て実行される実行段に入る各命令に対して、実行結果が
プロセッサによって認識され、制御信号を介してキャッ
シュメモリに送られる。制御信号に従って、キャッシュ
メモリは、命令を外部メモリからフェッチするか否かを
決定する。分岐予測機構を持つ持たない上記構造は、従
来技術におけるように発生される動作クロックを余り多
く浪費しない。キャッシュメモリに起きた『ミス(ヒッ
トし損ない)』は、このように補償されることになり、
またプロセッサの性能は効果的に高められる。
【0027】図1は本発明の実施形態に係るプロセッサ
のメモリアクセス構造および方法を説明するための図で
ある。この構造では、分岐予測機構を持たないCPU3
00が使用されている。本発明はCPUの適用に制限さ
れない。命令のフェッチ、復号および実行の機能を持つ
それらパイプラインプロセッサは、全て本発明の技術範
囲内に入いる。この実施形態では、CPU300は、少
なくとも3段のパイプラインを含んだパイプラインプロ
セッサである。即ち、命令を実行する際、フェッチ段、
復号段および実行段の処理が実行されるのである。
【0028】図1に示すように、CPU300は、D型
フリッププロップ310と、復号器320と、D型フリ
ッププロップ330と、実行部340とを備えている。
D型フリッププロップ310は、ライン302経由でキ
ャッシュメモリ301によって入力された命令を受信す
る。その命令は、クロック遅延がD型フリッププロップ
310で発生し、復号器320に送られる。命令は、復
号器320によって復号されると、ライン322経由で
別のD型フリッププロップ330に送られて、別のクロ
ック遅延を持つことになる。さらに、命令は、ライン3
32経由で実行のための実行部340に送られる。
【0029】実行後、実行部340は、例えば実行結果
の制御信号をキャッシュメモリ301に転送する。実行
結果は、現在実行される命令が分岐命令であるか、そし
てそれが取得されたか否かを反映しなければならない。
制御信号に従って、キャッシュメモリ301は、ミスし
た命令、つまり従来技術で説明したI3 のように、キャ
ッシュメモリ301に記憶されていない命令が外部メモ
リからフェッチされるべきであるかを決定する。そうで
なければ、命令は外部メモリからフェッチされないこと
になる。即ち、そのような命令をフェッチする要求は何
ら発生しない。従って、従来技術で生じるクロック遅延
は回避される。
【0030】加えて、実行結果はマルチプレクサ350
に送られる。もし実行された命令が分岐命令であれば、
その結果はターゲットアドレスになる。マルチプレクサ
350は、CPU300のプログラムカウンタ(PC)
360にも接続されている。プログラムカウンタ360
は、実行されるべき複数の命令の中で現在実行される命
令のアドレスを記憶している。加算器370は、マルチ
プレクサ350とプログラムカウンタ360との間に設
けられる。プログラムカウンタ360は、現在実行され
る命令のアドレスを加算器370に出力する。加算動作
後、命令はマルチプレクサ350に送られる。もし分岐
命令が実行されれば、分岐命令の実行結果と、加算器3
70によって出力されたデータとは、マルチプレクサ3
50からキャッシュメモリ301にアドレス信号とし
て、またはターゲットアドレスとして出力される。実行
されるべき次の命令のアドレスはこのように知らされ
る。
【0031】図2はプロセッサのメモリデータアクセス
構造および方法の別の実施形態の説明図である。この構
造では、分岐予測機構がCPU400に含まれている。
繰り返しになるが、本発明はCPUの適用に限定されな
い。命令フェッチ、復号および実行機能を持つ全てのパ
イプラインプロセッサが本発明の技術範囲内に入る。
【0032】図2に示すように、CPU400は、D型
フリッププロップ410と、復号器420と、D型フリ
ッププロップ430と、実行部440と、比較器450
と、分岐予測機構460とを備えている。
【0033】D型フリッププロップ410は、ライン4
02を介してキャッシュメモリ401から命令を受け、
その命令にクロック遅延が発生する。続いて、その命令
は復号器420に送られる。復号器420によって復号
されると、命令はライン422を介してD型フリッププ
ロップ430に送られる。別のクロック遅延がその命令
に発生し、続いてそれはライン432を介して実行のた
めに実行部440に送られる。
【0034】実行後、実行部440は実行結果を出力す
る。分岐予測機構460は、ライン402またはライン
472を介してそれぞれ命令または命令アドレスを受け
る。続いて、分岐予測機構460は、受けた命令または
命令アドレスに従って、(ライン464、D型フリップ
プロップ480、ライン484、D型フリッププロップ
481およびライン483を介して)比較器450に予
測アドレスを出力する。続いて、比較器450は、比較
信号をライン452を介してキャッシュメモリ401に
出力する。キャッシュメモリ401に転送された比較信
号は、実行部440からの結果信号と分岐予測機構46
0からの予測アドレスとについて比較動作を実行した後
に発生される。続いて、キャッシュメモリ401は、比
較信号に従ってミスした命令、つまりキャッシュメモリ
401に記憶されていない命令をフェッチする必要があ
るかどうかを決める。もし必要なければ、命令は外部メ
モリからフェッチされない。即ち、フェッチ命令の要求
は発生しない。従って、クロック遅延が回避される。
【0035】加えて、実行結果はマルチプレクサ470
に送られる。マルチプレクサ470は、加算器404に
よって処理(PC+X)される信号404を受信する。
その『X』は、現在実行される命令の命令サイズを意味
する。分岐予測機構460によって出力される予測アド
レスも、ライン462を介してマルチプレクサ470に
送られる。もし実行部440によって実行された命令が
分岐命令なら、実行結果はターゲットアドレスとなる。
これらの信号に従って、マルチプレクサ470は、命令
フェッチのためにアドレス信号をキャッシュメモリ40
1に出力する。
【0036】図3に、クロック信号と、フェッチ段、復
号段および実行段で実行されるプログラムセグメントと
の間の関係を示す。図5において、クロックC1
2 ,C 3 ,…,C8 は第1,第2,第3,…,第8の
クロックである。命令I1 が実行段(第3クロック
3 )にあるとき、CPUはキャッシュメモリから命令
3 をフェッチする。このとき、命令I3 がキャッシュ
メモリに記憶されていなければ、図2,図3の上記実施
形態のように、制御信号または比較信号に従って、キャ
ッシュメモリは命令を外部メモリからフェッチするかを
決定する。
【0037】I1 が分岐命令であれば、命令I1 は実行
方向を変更することになる。この例では、命令I1 は、
命令I10をフェッチし始めるように実行方向を変更す
る。このとき、キャッシュメモリは、命令I3 をフェッ
チするための要求は外部メモリに出力されないことを決
定する。このように、CPUは、次のクロックで分岐命
令によって実行されるように、ターゲットアドレスで命
令I10をフェッチし始める。このように設計されること
で、命令I3 をフェッチするためにキャッシュメモリを
待つことなく、ターゲットアドレスで命令がフェッチさ
れる。
【0038】上記メモリデータアクセス構造および方法
によれば、従来技術で浪費される動作クロックは効果的
に節約される。高効率で高い処理速度のプロセッサのた
めに性能が大幅に高められる。
【0039】
【発明の効果】本発明によれば、分岐命令を実行してい
る間、処理時間を浪費する、現在使用されていない命令
をフェッチしている状況を回避することができる。従っ
て、動作クロックの遅延を回避することができる。
【図面の簡単な説明】
【図1】本発明の実施形態に係るプロセッサ(分岐予測
機構無し)のためのメモリデータアクセス構造および方
法を説明するための図である。
【図2】本発明の別の実施形態に係る分岐予測機構付き
プロセッサのためのメモリデータアクセス構造および方
法を説明するための図である。
【図3】本発明の実施形態に係る、クロック信号と、フ
ェッチ段、復号段および実行段で実行されるプログラム
セグメントとの間の関係を示す図である。
【図4】従来のメモリデータアクセス構造のブロック図
である。
【図5】プログラムセグメントの例を示す図である。
【符号の説明】
301,401 キャッシュメモリ 310,410 D型フリッププロップ 320,420 復号器 330,430 D型フリッププロップ 340,440 実行部 350,470 マルチプレクサ 360 プログラムカウンタ 370 加算器 450 比較器 460 分岐予測機構 480,481 D型フリッププロップ

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサでの使用に適したメモリデー
    タアクセス構造であって、 アドレス信号に従って命令を記憶し出力するキャッシュ
    メモリと、 前段から入力される命令に基づいて実行動作を行い、そ
    して結果信号と、キャッシュメモリに出力される制御信
    号とを出力する実行部を含み、複数のプロセッサ命令を
    実行するパイプラインプロセッサとを備え、 実行部によって実行される命令が分岐命令であるとき、
    結果信号は、アドレス信号に従って、実行されるべき次
    の命令をフェッチするキャッシュメモリに出力されるア
    ドレス信号となるように選択されるターゲットアドレス
    であり、 実行部が分岐命令を実行しているとき、プロセッサは、
    キャッシュメモリからフェッチ命令をフェッチしてお
    り、そして分岐命令の実行後に得られる制御信号がキャ
    ッシュメモリに出力されるとき、フェッチ命令がキャッ
    シュメモリに記憶されていなければ、キャッシュメモリ
    は、制御信号に従って外部メモリからフェッチ命令をフ
    ェッチするかを決定することを特徴とするメモリデータ
    アクセス構造。
  2. 【請求項2】 制御信号は、現在段で実行される命令
    が、とられる分岐命令であるかを示すことを特徴とする
    請求項1記載のメモリデータアクセス構造。
  3. 【請求項3】 実行されるべき全ての命令の中で現在実
    行される命令のアドレスを記憶するプログラムカウンタ
    をさらに備えることを特徴とする請求項1記載のメモリ
    データアクセス構造。
  4. 【請求項4】 実行部によって出力される結果信号と、
    プログラムカウンタに記憶され設定値が付加された実行
    されるアドレスとを受け、そしてそれら信号の1つをア
    ドレス信号として選択するマルチプレクサをさらに備え
    ることを特徴とする請求項3記載のメモリデータアクセ
    ス構造。
  5. 【請求項5】 プロセッサでの使用に適したメモリデー
    タアクセス構造であって、 アドレス信号に従って命令を記憶し出力するキャッシュ
    メモリと、 前段から転送された命令に基づいて実行動作を行い、そ
    して結果信号を出力する実行部を含み、複数のプロセッ
    サ命令を実行するパイプラインプロセッサと、 フェッチ命令に従って予測アドレスを出力する分岐命令
    予測機構と、 結果信号と予測アドレスとを受けて比較信号を出力する
    比較器とを備え、 実行部が分岐命令を実行するとき、結果信号は、実行さ
    れるべき次の命令をアドレス信号に従ってフェッチする
    キャッシュメモリに出力されるアドレス信号となるよう
    に選択されるターゲットアドレスであり、 実行部が分岐命令を実行しているとき、プロセッサは、
    フェッチ命令をフェッチし、そして分岐命令の実行後に
    得られる結果信号が比較器に転送され、比較器は結果信
    号および予測アドレスに従って比較信号をキャッシュメ
    モリに出力し、フェッチ命令がキャッシュメモリに記憶
    されていなければ、キャッシュメモリは比較信号に従っ
    て外部メモリからフェッチ命令をフェッチするかを決定
    することを特徴とするメモリデータアクセス構造。
  6. 【請求項6】 比較信号は、結果信号および予測アドレ
    スに基づいた比較動作の実行後に発生されることを特徴
    とする請求項5記載のメモリデータアクセス構造。
  7. 【請求項7】 実行されるべき全ての命令の中で現在実
    行される命令のアドレスを記憶するプログラムカウンタ
    をさらに備えることを特徴とする請求項5記載のメモリ
    データアクセス構造。
  8. 【請求項8】 実行部から出力される結果信号と、プロ
    グラムカウンタに記憶され決定された値を持つ信号が付
    加された実行アドレスと、予測アドレスとを受け、そし
    てこれら信号の1つをアドレス信号として選択するマル
    チプレクサをさらに備えることを特徴とする請求項7記
    載のメモリデータアクセス構造。
  9. 【請求項9】 プロセッサでの使用に適したメモリデー
    タアクセス方法であって、 アドレス信号に従って命令を供給し、 命令を実行して結果信号および制御信号を出力し、 アドレス信号に従って、実行されるべき次の命令をフェ
    ッチし、命令が分岐命令であるとき、結果信号は、キャ
    ッシュメモリに出力されるアドレス信号になるように選
    択されるターゲットアドレスであり、 プロセッサがフェッチ命令をフェッチしそしてフェッチ
    命令がキャッシュメモリに記憶されていないとき、フェ
    ッチ命令が制御信号に従って外部メモリからフェッチさ
    れるかを決定することを特徴とするメモリデータアクセ
    ス方法。
  10. 【請求項10】 制御信号は、現在実行される命令が、
    とられる分岐命令であるかを示すことを特徴とする請求
    項9記載のメモリデータアクセス方法。
  11. 【請求項11】 結果信号と、ある値を持つ信号が付加
    された現在実行の命令のアドレスとを選択的に出力する
    ことを特徴とする請求項9記載のメモリデータアクセス
    方法。
  12. 【請求項12】 プロセッサでの使用に適したメモリデ
    ータアクセス方法であって、 命令を供給し、 命令を実行して結果信号を出力し、 フェッチ命令を受けて予測アドレスを出力する分岐予測
    機構を使用し、 結果信号を予測アドレスと比較して比較信号を出力する
    各ステップを有し、 実行されている命令が分岐命令であるとき、結果信号
    は、ターゲットアドレスでありアドレス信号であるよう
    に選択され、プロセッサは、アドレス信号に従って次に
    実行されるべき命令をフェッチし、 分岐命令を実行している間、プロセッサはフェッチ命令
    をフェッチし、フェッチ命令がキャッシュメモリになけ
    れば、キャッシュメモリは、比較信号に従って外部メモ
    リからフェッチ命令をフェッチするかを決定することを
    特徴とするメモリデータアクセス方法。
  13. 【請求項13】 結果信号、ある値が付加されプロセッ
    サが現在処理しているアドレス、および予測アドレスの
    1つを選択的に出力することを特徴とする請求項12記
    載のメモリデータアクセス方法。
  14. 【請求項14】 比較信号は、分岐予測機構によって予
    測された分岐命令が正しいかを示すことを特徴とする請
    求項12記載のメモリデータアクセス方法。
JP2001017270A 2000-12-05 2001-01-25 メモリデータアクセス構造およびその方法 Expired - Fee Related JP3602801B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028540A (ja) * 2009-07-27 2011-02-10 Renesas Electronics Corp 情報処理システム、キャッシュメモリの制御方法、プログラム及びコンパイラ

Families Citing this family (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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