(57)【特許請求の範囲】
【請求項１】
プロセッサでの使用に適したメモリデータアクセス構造であって、
アドレス信号に従って命令を記憶し出力するキャッシュメモリと、
前段から入力される命令に基づいて実行動作を行い、そして結果信号と、キャッシュメモリに出力される制御信号とを出力する実行部を含み、複数のプロセッサ命令を実行するパイプラインプロセッサと
を備え、
実行部によって実行される命令が分岐命令であるとき、結果信号は、アドレス信号に従って、実行されるべき次の命令をフェッチするキャッシュメモリに出力されるアドレス信号となるように選択されるターゲットアドレスであり、
実行部が分岐命令を実行しているとき、プロセッサは、キャッシュメモリからフェッチ命令をフェッチしており、そして分岐命令の実行後に得られる制御信号がキャッシュメモリに出力されるとき、実行部が分岐命令を実行しているときのフェッチ命令がキャッシュメモリに記憶されていなければ、キャッシュメモリは、制御信号に従って外部メモリからフェッチ命令をフェッチしないことを決定する
ことを特徴とするメモリデータアクセス構造。
【請求項２】
制御信号は、現在段で実行される命令が、とられる分岐命令であるかを示すことを特徴とする請求項１記載のメモリデータアクセス構造。
【請求項３】
実行されるべき全ての命令の中で現在実行される命令のアドレスを記憶するプログラムカウンタをさらに備えることを特徴とする請求項１記載のメモリデータアクセス構造。
【請求項４】
実行部によって出力される結果信号と、プログラムカウンタに記憶され設定値が付加された実行されるアドレスとを受け、そしてそれら信号の１つをアドレス信号として選択するマルチプレクサをさらに備えることを特徴とする請求項３記載のメモリデータアクセス構造。
【請求項５】
プロセッサでの使用に適したメモリデータアクセス構造であって、
アドレス信号に従って命令を記憶し出力するキャッシュメモリと、
前段から転送された命令に基づいて実行動作を行い、そして結果信号を出力する実行部を含み、複数のプロセッサ命令を実行するパイプラインプロセッサと、
フェッチ命令に従って予測アドレスを出力する分岐命令予測機構と、
結果信号と予測アドレスとを受けて比較信号を出力する比較器と
を備え、
実行部が分岐命令を実行するとき、結果信号は、実行されるべき次の命令をアドレス信号に従ってフェッチするキャッシュメモリに出力されるアドレス信号となるように選択されるターゲットアドレスであり、
実行部が分岐命令を実行しているとき、プロセッサは、フェッチ命令をフェッチし、そして分岐命令の実行後に得られる結果信号が比較器に転送され、比較器は結果信号および予測アドレスに従って比較信号をキャッシュメモリに出力し、実行部が分岐命令を実行しているときのフェッチ命令がキャッシュメモリに記憶されていなければ、キャッシュメモリは比較信号に従って外部メモリからフェッチ命令をフェッチしないことを決定する
ことを特徴とするメモリデータアクセス構造。
【請求項６】
比較信号は、結果信号および予測アドレスに基づいた比較動作の実行後に発生されることを特徴とする請求項５記載のメモリデータアクセス構造。
【請求項７】
実行されるべき全ての命令の中で現在実行される命令のアドレスを記憶するプログラムカウンタをさらに備えることを特徴とする請求項５記載のメモリデータアクセス構造。
【請求項８】
実行部から出力される結果信号と、プログラムカウンタに記憶され決定された値を持つ信号が付加された実行アドレスと、予測アドレスとを受け、そしてこれら信号の１つをアドレス信号として選択するマルチプレクサをさらに備えることを特徴とする請求項７記載のメモリデータアクセス構造。
【請求項９】
パイプラインプロセッサでの使用に適したメモリデータアクセス方法であって、
アドレス信号に従って命令を供給し、
命令を実行して結果信号および制御信号を出力し、
アドレス信号に従って、実行されるべき次の命令をフェッチし、命令が分岐命令であるとき、結果信号は、キャッシュメモリに出力されるアドレス信号になるように選択されるターゲットアドレスであり、
プロセッサは、分岐命令を実行しているとき、フェッチ命令をフェッチし、そして分岐命令を実行しているときのフェッチ命令がキャッシュメモリに記憶されていないとき、分岐命令の実行後に得られる制御信号に従って、外部メモリからフェッチ命令をフェッチしないことを決定する
ことを特徴とするメモリデータアクセス方法。
【請求項１０】
制御信号は、現在実行される命令が、とられる分岐命令であるかを示すことを特徴とする請求項９記載のメモリデータアクセス方法。
【請求項１１】
結果信号と、ある値を持つ信号が付加された現在実行の命令のアドレスとを選択的に出力することを特徴とする請求項９記載のメモリデータアクセス方法。
【請求項１２】
パイプラインプロセッサでの使用に適したメモリデータアクセス方法であって、
命令を供給し、
命令を実行して結果信号を出力し、
フェッチ命令を受けて予測アドレスを出力する分岐予測機構を使用し、
結果信号を予測アドレスと比較して比較信号を出力する各ステップを有し、
実行されている命令が分岐命令であるとき、結果信号は、ターゲットアドレスでありアドレス信号であるように選択され、プロセッサは、アドレス信号に従って次に実行されるべき命令をフェッチし、
分岐命令を実行している間、プロセッサはフェッチ命令をフェッチし、分岐命令を実行しているときのフェッチ命令がキャッシュメモリになければ、キャッシュメモリは、分岐命令の実行後に得られる比較信号に従って、外部メモリからフェッチ命令をフェッチしないことを決定する
ことを特徴とするメモリデータアクセス方法。
【請求項１３】
結果信号、ある値が付加されプロセッサが現在処理しているアドレス、および予測アドレスの１つを選択的に出力することを特徴とする請求項１２記載のメモリデータアクセス方法。
【請求項１４】
比較信号は、分岐予測機構によって予測された分岐命令が正しいかを示すことを特徴とする請求項１２記載のメモリデータアクセス方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にメモリデータアクセス構造およびアクセス方法に関連し、特に、プロセッサでの使用に適したメモリデータアクセス構造およびアクセス方法に関するものである。
【０００２】
【従来の技術】
プロセッサは現在の電子機器に広く適用される不可欠な装置である。例えば、パーソナルコンピュータにおけるＣＰＵ（中央処理装置）は、特定の要求に応じて色々な機能を提供してくれる。電子機器の機能が益々多彩になるほど、プロセッサは益々高速でなければならない。
【０００３】
図４はメモリデータアクセスのブロック図であり、この図を参照しながら従来のプロセッサでの命令のプロセスについて説明する。また、図４はメモリデータアクセス制御部とプロセッサとの間のフローを示す。ここではＣＰＵが一例として使用されている。メモリデータアクセス構造は、ＣＰＵ１００と、キャッシュメモリ１２０と、メモリ１３０とにより構成される。ＣＰＵ１００は、データ転送のために、データバス（ＤＳ）１０２を介してキャッシュメモリ１２０とメモリ１３０とに接続されている。さらに、ＣＰＵ１００は、アドレスバス（ＡＢ）１０４を介して、アドレスデータをキャッシュメモリ１２０とメモリ１３０とに転送する。キャッシュメモリ１２０は、制御信号（ＣＳ）１０６を介してＣＰＵ１００によって制御される。
【０００４】
ＣＰＵ１００の内部が３段のパイプラインに分かれ、命令の実行の際に、フェッチ命令、復号命令および実行命令の各段の処理が実行されるとすると、ＣＰＵ１００は、先ずキャッシュメモリ１２０から命令をフェッチする。続いて、フェッチされた命令が復号され、復号された命令に基づく実行動作へと続いていく。もし必要とされる命令が、キャッシュメモリ１２０に記憶されていなければ、ＣＰＵ１００はメモリ１３０から命令をフェッチする。この場合、ハードウェアの速度制限で、ＣＰＵ１００の多くの動作クロックサイクルが浪費される。
【０００５】
ＣＰＵ１００の実行命令には分岐（ｂｒａｎｃｈ）命令が含まれる。この分岐命令は、ＣＰＵ１００によって実行されるべき、あるアドレスに配置された次の命令を要求する制御転送命令に属す。即ち、ＣＰＵ１００は、現在処理しているアドレスから所望のアドレスにジャンプしなければならない。この種の命令は、ジャンプ命令や、サブルーチンのコールないしリターン命令を含む。
【０００６】
図５にプログラムセグメントの例を示す。図５（ａ）において、ＩはＣＰＵ１００が実行することになる命令であり、Ｉ１  ，Ｉ２  ，…，Ｉ１０，Ｉ１１，…は、第１，第２，…，第１０，第１１，…の命令を表す。ここでは、命令Ｉ１  は分岐命令であり、命令Ｉ１  の実行後、命令Ｉ１０にジャンプすることになる。
【０００７】
図５（ｂ）には、クロック信号と、図５（ａ）に示すプログラムセグメントのためのフェッチ、復号および実行の各段との間の関係が示されている。動作クロックＣは、第１，第２，第３，…，第８のクロックを表すＣ１  ，Ｃ２  ，Ｃ３  ，…，Ｃ８  を含む。命令Ｉ１  が実行段、即ち第３クロックＣ３  にあるとき、ＣＰＵ１００のフェッチ部が命令Ｉ３  をフェッチし始める。もし命令Ｉ３  がキャッシュメモリ１２０になければ、ＣＰＵ１００はメモリ１３０から命令Ｉ３  をフェッチする。
【０００８】
【発明が解決しようとする課題】
しかし、命令Ｉ１  は分岐命令に属し、そのプログラムの実行方向（ｄｉｒｅｃｔｉｏｎ）  が向け直されることになる。例えば、命令Ｉ３  をフェッチする要求がメモリ１３０に送られている間、命令Ｉ１０が命令Ｉ３  の代わりにフェッチされる。このようにＣＰＵ１００は、キャッシュメモリ１２０に命令Ｉ３  をフェッチする要求が完了するまで待たなければならない。図５（ｂ）の例では、メモリ１３０のフェッチ命令を完了するのに３動作クロックサイクルが消費されているが、メモリ１３０から命令をフェッチするためのクロック数は、ＣＰＵ１００とメモリ１３０との間の速度ギャップが増大するに従って益々多くなる。ＣＰＵ１００の全体の動作は、図５（ｂ）の例に示す通りである。分岐命令の実行（クロックＣ３  ）後、命令Ｉ１０はクロックＣ６  でフェッチされ、多くのクロックが浪費される。高効率で高い処理速度のプロセッサにとって、遅延は致命的である。
【０００９】
さらに、従来技術には、命令がフェッチ段での分岐命令であるかを予測し、そしてさらに実行方向が変更されるかを予測するために分岐予測機構（分岐予測機能）が設けられる。しかし、上記の問題は、分岐予測機構を持つそのようなプロセッサにおいても依然として起きる。Ｉ１  を「とられる分岐」（ｔａｋｅｎ  ｂｒａｎｃｈ）として実行方向がＩ１０に変更されるかもしれないとする。クロックＣ１  でＩ１  をフェッチする間、もし、分岐予測機構が、Ｉ１  が分岐命令ではないとか、またはＩ１  が実行方向を変更しないであろうというような間違った予測をしたら、ＣＰＵ１００は、依然として、Ｃ３  での命令Ｉ１  の実行中にＩ３  をフェッチし始める。Ｉ３  が上記の例におけるキャッシュメモリ１２０に記憶されていなければ、上述のような欠点が生じる。たとえＩ１  が分岐命令として予測されたとしても、プログラムの実行方向を変更しないかもしれないし、分岐予測機構が間違った予測をしたとき、同じ問題が起こり得る。
【００１０】
本発明は、プロセッサでの使用に適したメモリデータアクセス構造およびアクセス方法を提供する。分岐命令を実行している間、処理時間を浪費する、現在使用されていない命令をフェッチしている状況が回避される。従って、動作クロックの遅延が回避される。
【００１１】
メモリデータアクセス構造および方法は、さらに、プロセッサが分岐予測機構を含んでいるか否かに関わらず、分岐命令を実行している間、動作クロックサイクルの浪費を回避する。
【００１２】
【課題を解決するための手段】
これらおよび他の長所を達成するために、そして本発明の目的に従って、請求項１記載の発明は、プロセッサでの使用に適したメモリデータアクセス構造を提供する。この構造は、キャッシュメモリとパイプラインプロセッサとを備える。キャッシュメモリは、アドレス信号に従って命令を記憶し出力するのに使用される。パイプラインプロセッサは、複数のプロセッサ命令を実行するために使用され、パイプラインプロセッサは、前段から入力される命令に基づいて実行動作を行い、結果信号と、キャッシュメモリに出力される制御信号とを出力する実行部を含む。実行部によって実行される命令が分岐命令であるとき、結果信号はターゲットアドレスである。このターゲットアドレスは、キャッシュメモリに出力されるアドレス信号となるように選択される。キャッシュメモリは、アドレス信号に従って、実行されるべき次の命令をフェッチする。実行部が分岐命令を実行しているとき、プロセッサは、キャッシュメモリからフェッチ命令をフェッチしており、そして分岐命令実行後に得られる制御信号がキャッシュメモリに出力されるとき、実行部が分岐命令を実行しているときのフェッチ命令がキャッシュメモリに記憶されていなければ、キャッシュメモリは、制御信号に従って外部メモリからフェッチ命令をフェッチしないことを決定する。
【００１３】
上記メモリデータアクセス構造において、制御信号は、現在段で実行される命令が、とられる分岐（ｔａｋｅｎ  ｂｒａｎｃｈ）命令であるかを示す（請求項２）。
【００１４】
上記メモリデータアクセス構造において、実行されるべき全ての命令の中で現在実行される命令のアドレスを記憶するプログラムカウンタをさらに備える（請求項３）。
【００１５】
上記メモリデータアクセス構造において、実行部によって出力される結果信号と、プログラムカウンタに記憶され設定値が付加された実行されるアドレスとを受け、そしてそれら信号の１つをアドレス信号として選択するマルチプレクサをさらに備える（請求項４）。
【００１６】
請求項５記載の発明は、プロセッサでの使用に適したメモリデータアクセス構造を提供する。このメモリデータアクセス構造は、キャッシュメモリと、パイプラインプロセッサと、分岐命令予測機構と、比較器とを備える。キャッシュメモリは、アドレス信号に従って命令を記憶し出力するのに使用される。パイプラインプロセッサは、複数のプロセッサ命令を実行するのに使用され、パイプラインプロセッサは、前段から転送される命令に基づいて実行動作を行い、そして結果信号を出力する実行部を含む。分岐命令予測機構は、フェッチ命令に従って予測アドレスを出力するのに使用される。比較器は、結果信号と予測アドレスとを受けて比較信号を出力するのに使用される。実行部が分岐命令を実行しているとき、結果信号はターゲットアドレスとなる。ターゲットアドレスは、キャッシュメモリに出力されるアドレス信号となるように選択される。実行されるべき次の命令はアドレス信号に従ってフェッチされる。実行部が分岐命令を実行しているとき、プロセッサはフェッチ命令をフェッチし、そして分岐命令の実行後に得られる結果信号は、比較器に転送され、比較器は、結果信号と予測アドレスに従って比較信号をキャッシュメモリに出力し、実行部が分岐命令を実行しているときのフェッチ命令がキャッシュメモリに記憶されていなければ、キャッシュメモリは、比較信号に従って外部メモリからフェッチ命令をフェッチしないことを決定する。
【００１７】
上記メモリデータアクセス構造において、比較信号は、結果信号および予測アドレスに基づいた比較動作の実行後に発生される（請求項６）。
【００１８】
上記メモリデータアクセス構造において、実行されるべき全ての命令の中で現在実行される命令のアドレスを記憶するプログラムカウンタをさらに備える（請求項７）。
【００１９】
上記メモリデータアクセス構造において、実行部から出力される結果信号と、プログラムカウンタに記憶され決定された値を持つ信号が付加された実行アドレスと、予測アドレスとを受け、そしてこれら信号の１つをアドレス信号として選択するマルチプレクサをさらに備える（請求項８）。
【００２０】
請求項９記載の発明は、パイプラインプロセッサでの使用に適したメモリデータアクセス方法を提供し、この方法は、アドレス信号に従って命令を供給し、命令を実行して結果信号および制御信号を出力し、アドレス信号に従って、実行されるべき次の命令をフェッチし、命令が分岐命令であるとき、結果信号は、キャッシュメモリに出力されるアドレス信号になるように選択されるターゲットアドレスであり、プロセッサは、分岐命令を実行しているとき、フェッチ命令をフェッチし、そして分岐命令を実行しているときのフェッチ命令がキャッシュメモリに記憶されていないとき、分岐命令の実行後に得られる制御信号に従って、外部メモリからフェッチ命令をフェッチしないことを決定する。
【００２１】
上記メモリデータアクセス方法において、制御信号は、現在実行される命令が、とられる分岐命令であるかを示す（請求項１０）。
【００２２】
上記メモリデータアクセス方法において、結果信号と、ある値を持つ信号が付加された現在実行の命令のアドレスとを選択的に出力する（請求項１１）。
【００２３】
請求項１２記載の発明は、パイプラインプロセッサでの使用に適したメモリデータアクセス方法を提供し、この方法は、命令を供給し、命令を実行して結果信号を出力し、フェッチ命令を受けて予測アドレスを出力する分岐予測機構を使用し、結果信号を予測アドレスと比較して比較信号を出力する。実行されている命令が分岐命令であるとき、結果信号は、ターゲットアドレスでありアドレス信号であるように選択され、プロセッサは、アドレス信号に従って次に実行されるべき命令をフェッチする。分岐命令を実行している間、プロセッサはフェッチ命令をフェッチし、分岐命令を実行しているときのフェッチ命令がキャッシュメモリになければ、キャッシュメモリは、分岐命令の実行後に得られる比較信号に従って、外部メモリからフェッチ命令をフェッチしないことを決定する。
【００２４】
上記メモリデータアクセス方法において、結果信号、ある値が付加されプロセッサが現在処理しているアドレス、および予測アドレスの１つを選択的に出力する（請求項１３）。
【００２５】
上記メモリデータアクセス方法において、比較信号は、分岐予測機構によって予測された分岐命令が正しいかを示す（請求項１４）。
【００２６】
【発明の実施の形態】
本発明は、プロセッサでの使用に適したメモリデータアクセス構造および方法を提供する。メモリデータアクセス構造では、プロセッサによって実行される実行段に入る各命令に対して、実行結果がプロセッサによって認識され、制御信号を介してキャッシュメモリに送られる。制御信号に従って、キャッシュメモリは、命令を外部メモリからフェッチするか否かを決定する。分岐予測機構を持つ持たない上記構造は、従来技術におけるように発生される動作クロックを余り多く浪費しない。キャッシュメモリに起きた『ミス（ヒットし損ない）』は、このように補償されることになり、またプロセッサの性能は効果的に高められる。
【００２７】
図１は本発明の実施形態に係るプロセッサのメモリアクセス構造および方法を説明するための図である。この構造では、分岐予測機構を持たないＣＰＵ３００が使用されている。本発明はＣＰＵの適用に制限されない。命令のフェッチ、復号および実行の機能を持つそれらパイプラインプロセッサは、全て本発明の技術範囲内に入いる。この実施形態では、ＣＰＵ３００は、少なくとも３段のパイプラインを含んだパイプラインプロセッサである。即ち、命令を実行する際、フェッチ段、復号段および実行段の処理が実行されるのである。
【００２８】
図１に示すように、ＣＰＵ３００は、Ｄ型フリッププロップ３１０と、復号器３２０と、Ｄ型フリッププロップ３３０と、実行部３４０とを備えている。Ｄ型フリッププロップ３１０は、ライン３０２経由でキャッシュメモリ３０１によって入力された命令を受信する。その命令は、クロック遅延がＤ型フリッププロップ３１０で発生し、復号器３２０に送られる。命令は、復号器３２０によって復号されると、ライン３２２経由で別のＤ型フリッププロップ３３０に送られて、別のクロック遅延を持つことになる。さらに、命令は、ライン３３２経由で実行のための実行部３４０に送られる。
【００２９】
実行後、実行部３４０は、例えば実行結果の制御信号をキャッシュメモリ３０１に転送する。実行結果は、現在実行される命令が分岐命令であるか、そしてそれが取得されたか否かを反映しなければならない。制御信号に従って、キャッシュメモリ３０１は、ミスした命令、つまり従来技術で説明したＩ３  のように、キャッシュメモリ３０１に記憶されていない命令が外部メモリからフェッチされるべきであるかを決定する。そうでなければ、命令は外部メモリからフェッチされないことになる。即ち、そのような命令をフェッチする要求は何ら発生しない。従って、従来技術で生じるクロック遅延は回避される。
【００３０】
加えて、実行結果はマルチプレクサ３５０に送られる。もし実行された命令が分岐命令であれば、その結果はターゲットアドレスになる。マルチプレクサ３５０は、ＣＰＵ３００のプログラムカウンタ（ＰＣ）３６０にも接続されている。プログラムカウンタ３６０は、実行されるべき複数の命令の中で現在実行される命令のアドレスを記憶している。加算器３７０は、マルチプレクサ３５０とプログラムカウンタ３６０との間に設けられる。プログラムカウンタ３６０は、現在実行される命令のアドレスを加算器３７０に出力する。加算動作後、命令はマルチプレクサ３５０に送られる。もし分岐命令が実行されれば、分岐命令の実行結果と、加算器３７０によって出力されたデータとは、マルチプレクサ３５０からキャッシュメモリ３０１にアドレス信号として、またはターゲットアドレスとして出力される。実行されるべき次の命令のアドレスはこのように知らされる。
【００３１】
図２はプロセッサのメモリデータアクセス構造および方法の別の実施形態の説明図である。この構造では、分岐予測機構がＣＰＵ４００に含まれている。繰り返しになるが、本発明はＣＰＵの適用に限定されない。命令フェッチ、復号および実行機能を持つ全てのパイプラインプロセッサが本発明の技術範囲内に入る。
【００３２】
図２に示すように、ＣＰＵ４００は、Ｄ型フリッププロップ４１０と、復号器４２０と、Ｄ型フリッププロップ４３０と、実行部４４０と、比較器４５０と、分岐予測機構４６０とを備えている。
【００３３】
Ｄ型フリッププロップ４１０は、ライン４０２を介してキャッシュメモリ４０１から命令を受け、その命令にクロック遅延が発生する。続いて、その命令は復号器４２０に送られる。復号器４２０によって復号されると、命令はライン４２２を介してＤ型フリッププロップ４３０に送られる。別のクロック遅延がその命令に発生し、続いてそれはライン４３２を介して実行のために実行部４４０に送られる。
【００３４】
実行後、実行部４４０は実行結果を出力する。分岐予測機構４６０は、ライン４０２またはライン４７２を介してそれぞれ命令または命令アドレスを受ける。続いて、分岐予測機構４６０は、受けた命令または命令アドレスに従って、（ライン４６４、Ｄ型フリッププロップ４８０、ライン４８２、Ｄ型フリッププロップ４８１およびライン４８３を介して）比較器４５０に予測アドレスを出力する。続いて、比較器４５０は、比較信号をライン４５２を介してキャッシュメモリ４０１に出力する。キャッシュメモリ４０１に転送された比較信号は、実行部４４０からの結果信号と分岐予測機構４６０からの予測アドレスとについて比較動作を実行した後に発生される。続いて、キャッシュメモリ４０１は、比較信号に従ってミスした命令、つまりキャッシュメモリ４０１に記憶されていない命令をフェッチする必要があるかどうかを決める。もし必要なければ、命令は外部メモリからフェッチされない。即ち、フェッチ命令の要求は発生しない。従って、クロック遅延が回避される。
【００３５】
加えて、実行結果はマルチプレクサ４７０に送られる。マルチプレクサ４７０は、加算器４０４によって処理（ＰＣ＋Ｘ）される信号４０４を受信する。その『Ｘ』は、現在実行される命令の命令サイズを意味する。分岐予測機構４６０によって出力される予測アドレスも、ライン４６２を介してマルチプレクサ４７０に送られる。もし実行部４４０によって実行された命令が分岐命令なら、実行結果はターゲットアドレスとなる。これらの信号に従って、マルチプレクサ４７０は、命令フェッチのためにアドレス信号をキャッシュメモリ４０１に出力する。
【００３６】
図３に、クロック信号と、フェッチ段、復号段および実行段で実行されるプログラムセグメントとの間の関係を示す。図５において、クロックＣ１  ，Ｃ２  ，Ｃ３  ，…，Ｃ８  は第１，第２，第３，…，第８のクロックである。命令Ｉ１  が実行段（第３クロックＣ３  ）にあるとき、ＣＰＵはキャッシュメモリから命令Ｉ３  をフェッチする。このとき、命令Ｉ３  がキャッシュメモリに記憶されていなければ、図２，図３の上記実施形態のように、制御信号または比較信号に従って、キャッシュメモリは命令を外部メモリからフェッチするかを決定する。
【００３７】
Ｉ１  が分岐命令であれば、命令Ｉ１  は実行方向を変更することになる。この例では、命令Ｉ１  は、命令Ｉ１０をフェッチし始めるように実行方向を変更する。このとき、キャッシュメモリは、命令Ｉ３  をフェッチするための要求は外部メモリに出力されないことを決定する。このように、ＣＰＵは、次のクロックで分岐命令によって実行されるように、ターゲットアドレスで命令Ｉ１０をフェッチし始める。このように設計されることで、命令Ｉ３  をフェッチするためにキャッシュメモリを待つことなく、ターゲットアドレスで命令がフェッチされる。
【００３８】
上記メモリデータアクセス構造および方法によれば、従来技術で浪費される動作クロックは効果的に節約される。高効率で高い処理速度のプロセッサのために性能が大幅に高められる。
【００３９】
【発明の効果】
本発明によれば、分岐命令を実行している間、処理時間を浪費する、現在使用されていない命令をフェッチしている状況を回避することができる。従って、動作クロックの遅延を回避することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るプロセッサ（分岐予測機構無し）のためのメモリデータアクセス構造および方法を説明するための図である。
【図２】本発明の別の実施形態に係る分岐予測機構付きプロセッサのためのメモリデータアクセス構造および方法を説明するための図である。
【図３】本発明の実施形態に係る、クロック信号と、フェッチ段、復号段および実行段で実行されるプログラムセグメントとの間の関係を示す図である。
【図４】従来のメモリデータアクセス構造のブロック図である。
【図５】プログラムセグメントの例を示す図である。
【符号の説明】
３０１，４０１  キャッシュメモリ
３１０，４１０  Ｄ型フリッププロップ
３２０，４２０  復号器
３３０，４３０  Ｄ型フリッププロップ
３４０，４４０  実行部
３５０，４７０  マルチプレクサ
３６０  プログラムカウンタ
３７０  加算器
４５０  比較器
４６０  分岐予測機構
４８０，４８１  Ｄ型フリッププロップ
【図１】
0003602801.tif 000002
【図２】
0003602801.tif 000003
【図３】
0003602801.tif 000004
【図４】
0003602801.tif 000005
【図５】
0003602801.tif 000006