JPH09190348A - 命令プリフェッチバッファ制御方法、命令プリフェッチバッファ制御装置、及び命令プリフェッチバッファフラッシュ方法 - Google Patents

命令プリフェッチバッファ制御方法、命令プリフェッチバッファ制御装置、及び命令プリフェッチバッファフラッシュ方法

Info

Publication number
JPH09190348A
JPH09190348A JP1949296A JP1949296A JPH09190348A JP H09190348 A JPH09190348 A JP H09190348A JP 1949296 A JP1949296 A JP 1949296A JP 1949296 A JP1949296 A JP 1949296A JP H09190348 A JPH09190348 A JP H09190348A
Authority
JP
Japan
Prior art keywords
instruction
branch
signal
prefetch buffer
unit
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.)
Pending
Application number
JP1949296A
Other languages
English (en)
Inventor
Tomoo Yamashita
智郎 山下
Kosuke Yoshioka
康介 吉岡
Kozo Kimura
浩三 木村
Tokuzo Kiyohara
督三 清原
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP1949296A priority Critical patent/JPH09190348A/ja
Publication of JPH09190348A publication Critical patent/JPH09190348A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

(57)【要約】 【課題】 マルチスレッドプロセッサにおいて、通常命
令の逐次実行を高速化し、マルチスレッド全体の動作効
率を向上させること。 【解決手段】 IPB制御部101は、PC生成部12
5のPC値126と、DEC部114の分岐条件信号1
27と、分岐成立判定部116から出力される分岐成立
信号117と、PL制御部124から出力される命令発
行信号102と、IF部106から出力される分岐先検
出信号123及びIFデータ有効信号107とを入力
し、IPB有効信号120、IPB更新信号108、N
RP信号122、カレント・リード・ポインタ( CR
P) 信号103を出力する。遅延命令検出部115は分
岐成立信号117、IPB有効信号120、NRP信号
122を入力し、遅延命令がNRPの示すIB105に
存在するかどうかを判定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マルチスレッドプ
ロセッサにおける命令プリフェッチバッファ制御方法、
この方法を実現する命令プリフェッチバッファ制御装
置、及びこの装置を用いた命令プリフェッチバッファフ
ラッシュ方法に関するものである。
【0002】
【従来の技術】近年、マイクロプロセッサなどの情報処
理装置では、性能向上のために通常命令の逐次実行を高
速化するため、命令プリフェッチバッファを使用してい
る。ここで従来の命令プリフェッチバッファ制御装置の
一例について説明する。
【0003】例えばAMD社のRISCプロセッサであ
るAm29000では、4命令分のバッファを用意し、
FIFOバッファとして動作させている。このプロセッ
サはバッファに空きがあると、その命令が必要となる4
サイクル前に1個の命令のフェッチを開始し、命令アク
セスを1つに制限することでプリフェッチの制御回路を
簡単にしている。
【0004】また例えばDEC社のVAX−11/78
0では、8バイト( 1命令4バイト) のバッファを用意
し、上記と同じくFIFOバッファとして動作させてい
る。ここでは、バイト単位のプリフェッチが可能で、1
バイトでも空きがあると4バイトのアクセスを行ない、
目的箇所のバイトを更新する。
【0005】また性能向上のため、分岐ペナルティを低
減させる動的分岐予測という手法がある。これは次アド
レスを予測し、かつ、命令デコードを完了する前にその
予測アドレスを次命令フェッチに使用するもので、分岐
先バッファを用いて実現する。
【0006】
【発明が解決しようとする課題】しかしながら前記のよ
うな方式では、マルチスレッドの環境においては命令キ
ャッシュを共有しているため、各スレッドが順番に命令
キャッシュにアクセスする場合、あるスレッドが命令を
プリフェッチしても、次のプリフェッチは他のスレッド
のプリフェッチが終了するまで待たされてしまい、その
間にプリフェッチした命令が実行され、スレッドが止ま
るという問題点があった。
【0007】またマルチスレッドで動的分岐予測を用い
た場合、あるスレッドで動的分岐予測で予測ミスが発生
すると、正しい命令の再フェッチを行なうため、他のす
べてのスレッドがその再フェッチ分だけ動作が遅らされ
てしまうことになり、マルチスレッド全体の動作効率が
低下するという問題点もあった。
【0008】本発明は、このような従来の問題点に鑑み
てなされたものであって、マルチスレッドプロセッサに
おいて、通常命令の逐次実行を高速化し、マルチスレッ
ド全体の動作効率を向上させると共に、小規模のハード
ウェアで遅延分岐制御を行なうことのできる命令プリフ
ェッチバッファ制御方法と、この方法を実現する命令プ
リフェッチバッファ制御装置を提供することを目的とす
る。またこの命令プリフェッチバッファ制御装置におい
て、新たに回路を増加しなくて済む命令プリフェッチバ
ッファフラッシュ方式を実現することを目的とする。
【0009】
【課題を解決するための手段】このような課題を解決す
るため、本願の請求項1記載の発明は、少なくとも1つ
以上の命令バッファを持つ複数の命令プリフェッチバッ
ファを有し、そのうちの一つを読み出し対象とし、それ
以外の命令プリフェッチバッファに読み出し対象の命令
プリフェッチバッファに続く通常プリフェッチを行うマ
ルチスレッドプロセッサの命令プリフェッチ方式におい
て、読み出し対象の命令プリフェッチバッファにおいて
最後の命令バッファに分岐が成立する命令があることが
判明した場合、次の読み出し対象の命令プリフェッチバ
ッファを現在の読み出し対象の命令プリフェッチバッフ
ァに続く通常プリフェッチ対象の命令プリフェッチバッ
ファとし、読み出し対象の命令プリフェッチバッファに
おいて最後ではない命令バッファに分岐が成立する命令
があることが判明した場合、次の読み出し対象の命令プ
リフェッチバッファを現在のままとし、次の読み出し対
象の命令プリフェッチバッファに有効なデータが確認さ
れてから、次の読み出し対象以外の命令プリフェッチバ
ッファに分岐先のプリフェッチを行い、次の命令が消費
され且つ分岐先のプリフェッチが終了すると次の読み出
し対象を分岐先の命令プリフェッチバッファに移すこと
を特徴とするものである。
【0010】また、本願の請求項2記載の発明は、命令
発行信号が入力されると、命令のプログラムカウント値
に示されるアドレスから、命令をフェッチした結果であ
る命令フェッチデータと前記命令フェッチデータが有効
であるかを示すフェッチデータ有効信号を出力すると共
に、分岐成立信号が与えられた場合は、前記命令フェッ
チデータが分岐先のデータであることを示す分岐先検出
信号を出力する命令フェッチ部と、1ワード命令を解読
した結果である命令解読結果、及び1ワード命令が条件
分岐命令の場合はその分岐条件である分岐条件信号を出
力するデコーダ部と、前記デコーダ部の分岐条件信号と
コンディションコード信号とを入力し、分岐が成立して
いるか否かを判断し、その結果を表す分岐成立信号を出
力する分岐成立判定部と、目的の演算ユニットが使用可
能か否かを判断し、使用可能であれば演算ユニットに処
理を実行させ、更に命令発行信号を出力するパイプライ
ン制御部と、前記パイプライン制御部からの命令発行信
号が入力されれば、分岐先のプログラムカウント値を計
算すると共に、命令発行信号が入力されたときに前記分
岐成立判定部から分岐成立信号が入力されなければ、プ
ログラムカウント値をインクリメントして出力するプロ
グラムカウンタ生成部と、を具備するマルチスレッドプ
ロセッサに用いられ、少なくとも1つ以上の命令バッフ
ァを持つ複数の命令プリフェッチバッファを有し、前記
命令プリフェッチバッファと前記命令バッファの読み出
し順序を制御する命令プリフェッチバッファ制御装置で
あって、前記パイプライン制御部から出力される命令発
行信号が入力されると、前記プログラムカウンタ生成部
から出力されるプログラムカウント値、前記分岐成立判
定部から出力される分岐成立信号、前記命令フェッチ部
から出力される分岐先検出信号、命令フェッチデータ有
効信号から、命令プリフェッチバッファ有効信号、命令
プリフェッチバッファ更新信号、次に読み出す命令バッ
ファを示すネクスト・リード・ポインタ信号、現在読み
出す命令バッファを示すカレント・リード・ポインタ信
号を生成する命令プリフェッチバッファ制御部と、前記
分岐成立信号と、前記命令プリフェッチバッファ有効信
号、前記ネクスト・リード・ポインタ信号を入力し、遅
延命令が前記ネクスト・リード・ポインタの示す命令バ
ッファに存在するか否かを判定する遅延命令検出部と、
2つの命令プリフェッチバッファを有し、前記命令フェ
ッチ部から出力される命令フェッチデータ、及び前記命
令プリフェッチバッファ制御部から出力される命令プリ
フェッチバッファ更新信号を入力し、前記命令プリフェ
ッチバッファ更新信号に基づき前記命令フェッチデータ
を格納する命令プリフェッチバッファ格納部と、前記カ
レント・リード・ポインタ信号、及び前記命令プリフェ
ッチバッファ格納部から出力される命令プリフェッチバ
ッファデータを入力し、1ワード命令を出力する命令出
力部と、前記遅延命令検出部から出力される遅延命令検
出信号と、前記デコーダ部から出力される命令解読結果
を入力し、遅延命令が検出されていない場合は前記命令
解読結果をキャンセルし、検出された場合は前記命令解
読結果を前記パイプライン制御部に出力するキャンセル
部と、を設けたことを特徴とするものである。
【0011】また、本願の請求項3記載の発明は、前記
命令プリフェッチバッファ格納部は、少なくともスレッ
ド個数分の命令バッファを格納する命令プリフェッチバ
ッファを持つことを特徴とするものである。
【0012】このような構成によれば、プリフェッチ対
象のデータが命令キャッシュに存在し、かつ1サイクル
で少なくとスレッドの個数分の命令をフェッチできる場
合にあるスレッドがプリフェッチ中でも残りのスレッド
はプリフェッチバッファ中の命令を実行しており、また
プリフェッチを行っているスレッドでも別のプリフェッ
チバッファの命令を実行しているため、あるスレッドで
分岐成立命令が実行されない限り各スレッドとも命令が
途切れることなく実行される。従来の方式で各スレッド
が順番に命令キャッシュにアクセスした場合、あるスレ
ッドが命令をプリフェッチしても、次のプリフェッチは
他のスレッドのプリフェッチが終了するまで待たされて
しまい、その間にプリフェッチした命令が実行され、ス
レッドが止まるという問題点が解決されていることがわ
かる。
【0013】本願の命令プリフェッチバッファ制御装置
を具備するマルチスレッドプロセッサは、シングルスレ
ッドで動作させる場合の性能向上も考慮し、遅延分岐方
式を採用している。そこで本願の命令プリフェッチバッ
ファ制御方式では、遅延分岐命令が格納されている命令
プリフェッチバッファをその命令消費以前に書きつぶさ
ない制御を行うことで遅延分岐方式を実現している。こ
れにより遅延分岐方式を採用をしている他のプロセッサ
等のオブジェクトコードとの互換性が持てる。
【0014】また、本願の請求項4記載の発明は、少な
くとも1つ以上の命令バッファを持つ複数の命令プリフ
ェッチバッファを有し、そのうちの一つを読み出し対象
とし、それ以外の命令プリフェッチバッファに読み出し
対象の命令プリフェッチバッファに続く通常プリフェッ
チを行うマルチスレッドプロセッサの命令プリフェッチ
方式において、読み出し対象の命令プリフェッチバッフ
ァにおいて最後の命令バッファに分岐命令があることが
判明した場合、次の読み出し対象の命令プリフェッチバ
ッファを現在の読み出し対象の命令プリフェッチバッフ
ァに続く通常プリフェッチ対象の命令プリフェッチバッ
ファとし、次の読み出し対象以外の命令プリフェッチバ
ッファに分岐先のプリフェッチを行い、また、読み出し
対象の命令プリフェッチバッファにおいて最後ではない
命令バッファに分岐命令があることが判明した場合、現
在の読み出し対象の命令プリフェッチバッファ、現在の
読み出し対象の命令プリフェッチバッファに続く通常プ
リフェッチ対象の命令プリフェッチバッファ以外の命令
プリフェッチバッファに分岐先プリフェッチを行い、分
岐成立判定と分岐先プリフェッチが終了し、分岐成立の
場合、読み出し対象を分岐先の命令プリフェッチバッフ
ァに移し、分岐不成立の場合は、通常プリフェッチ対象
の命令プリフェッチバッファに移すことを特徴とするも
のである。
【0015】また、本願の請求項5記載の発明は、命令
発行信号が入力されると、プログラムカウント値に示さ
れるアドレスから、命令をフェッチした結果である命令
フェッチデータと命令フェッチデータ有効信号を出力す
ると共に、選択部出力から分岐命令を検出もしくは分岐
成立を検出した場合は、分岐先検出信号を出力する命令
フェッチ部と、1ワード命令を解読した結果である命令
解読結果、及び1ワード命令が条件分岐命令の場合は分
岐命令検出信号とその分岐条件である分岐条件信号とを
出力するデコーダ部と、前記デコーダ部の分岐条件信号
とコンディションコード信号とを入力し、分岐が成立し
ているか否かを判断し、その結果を表す分岐成立信号を
出力する分岐成立判定部と、目的の演算ユニットが使用
可能か否かを判断し、使用可能であれば演算ユニットに
処理を実行させ、更に命令発行信号を出力するパイプラ
イン制御部と、前記パイプライン制御部からの命令発行
信号が入力されれば、分岐先のプログラムカウント値を
計算すると共に、命令発行信号が入力されたときに選択
部出力から分岐命令もしくは分岐成立が検出されなけれ
ば、プログラムカウント値をインクリメントして出力す
るプログラムカウンタ生成部と、を具備するマルチスレ
ッドプロセッサに用いられ、少なくとも1つ以上の命令
バッファを持つ複数の命令プリフェッチバッファを有
し、前記命令プリフェッチバッファと前記命令バッフア
の読み出し順序を制御する命令プリフェッチバッファ制
御装置であって、各スレッドの実行状態を示す実行状態
レジスタの信号を入力し、先行して分岐先のプリフェッ
チを行うか否かの判定結果である先行分岐信号を出力す
る先行分岐判定部と、前記先行分岐判定部の先行分岐信
号、前記デコーダ部の分岐命令検出信号、前記分岐成立
判定部の分岐成立信号を入力し、先行分岐を実行する場
合は前記分岐命令検出信号を選択し、先行分岐を実行し
ない場合は前記分岐成立信号を選択する選択部と、前記
パイプライン制御部から出力される命令発行信号が入力
されると、前記プログラムカウンタ生成部から出力され
るプログラムカウント値、前記デコーダ部から出力され
る分岐命令検出信号、前記分岐成立判定部から出力され
る分岐成立信号、前記命令フェッチ部から出力される分
岐先検出信号、命令フェッチデータ有効信号、前記先行
分岐判定部の先行分岐信号から、命令プリフェッチバッ
ファ有効信号、命令プリフェッチバッファ更新信号、ネ
クスト・リード・ポインタ信号、カレント・リード・ポ
インタ信号を生成する命令プリフェッチバッファ制御部
と、前記選択部の選択結果、前記命令プリフェッチバッ
ファ有効信号、前記ネクスト・リード・ポインタ信号を
入力し、遅延命令が前記ネクスト・リード・ポインタの
示す命令バッファに存在するか否かを判定する遅延命令
検出部と、3つの命令プリフェッチバッファを有し、前
記命令フェッチ部から出力される命令フェッチデータ、
及び前記命令プリフェッチバッファ制御部から出力され
る命令プリフェッチバッファ更新信号を入力し、前記命
令プリフェッチバッファ更新信号に基づき前記命令フェ
ッチデータを格納する命令プリフェッチバッファ格納部
と、前記カレント・リード・ポインタ信号、及び前記命
令プリフェッチバッファ格納部から出力される命令プリ
フェッチバッファデータを入力し、1ワード命令を出力
する命令出力部と、前記遅延命令検出部から出力される
遅延命令検出信号と、前記デコーダ部から出力される命
令解読結果を入力し、遅延命令が検出されていない場合
は前記命令解読結果をキャンセルし、検出された場合は
前記命令解読結果を前記パイプライン制御部に出力する
キャンセル部と、を設けたことを特徴とするものであ
る。
【0016】また、本願の請求項6記載の発明では、前
記先行分岐判定部は、各スレッドの優先順位を示す優先
順位レジスタの値を入力とし、先行して分岐先のプリフ
ェッチを行なうか否かの判定を行うことを特徴とするも
のである。
【0017】このような構成によれば、分岐命令を検出
した場合に通常のプリフェッチがすでに実行されている
場合が存在することを考慮し、動的分岐予測に代わり
に、さらに分岐先をプリフェッチしにいって、分岐成立
/不成立の結果を基に、通常プリフェッチのデータか、
もしくは分岐先のデータかのどちらかを選択する。以降
この方法を先行分岐と呼ぶ。この方法を用いて複数のス
レッドを動作させると、分岐命令が発生した場合、2個
のプリフェッチが生じるため、追加1個のプリフェッチ
分、他のすべてのスレッドのプリフェッチが遅らされ、
それが相互に影響を及ぼし、マルチスレッドの全体の動
作効率は低下する。しかし、マルチスレッドプロセッサ
がシングルスレッドで動作する場合は有用であるし、ま
た、優先順位の高いスレッドが存在すると、そのスレッ
ドが命令フェッチ部を占有する割合が高くなるため有用
である。よって、マルチスレッドプロセッサがマルチス
レッドで動作する場合は、先行分岐を行なわず、シング
ルスレッドで動作する場合では、先行分岐を行うように
制御を切り換えることで、プロセッサの動作効率の向上
を図る。
【0018】また、本願の請求項7記載の発明は、命令
キャッシュフラッシュ命令に、次の命令に分岐する動作
を付加することで、前記命令プリフェッチバッファに残
っている命令キャッシュのデータも併せてフラッシュさ
せることを特徴とするものである。
【0019】このような方法によれば、前述した命令プ
リフェッチバッファ制御装置に新たに回路を追加せず
に、命令プリフェッチバッファのフラッシュを行うこと
ができる。即ち、命令キャッシュフラッシュ命令に、命
令キャッシュのフラッシュ終了後、次の命令に分岐する
という機能を付加する。これにより、以前の命令キャッ
シュのデータが格納されていた命令プリフェッチバッフ
ァが更新される。
【0020】
【発明の実施の形態】
(実施の形態1)以下本発明の第1実施形態における命
令プリフェッチバッファ制御装置ついて、図1を参照し
ながら説明する。図1は第1実施形態の命令プリフェッ
チバッファ制御装置の構成を示すブロック図である。
【0021】本図において命令プリフェッチバッファ
(IPB)制御部101は、命令発行信号102、命令
フェッチ(IF)データ有効信号107、分岐成立信号
117、分岐先検出信号123、プログラムカウンタ
(PC)値126を入力し、カレント・リード・ポイン
タ(CRP)信号103、IPB更新信号108、IP
B有効信号121、ネクスト・リード・ポインタ(NR
P)信号122を生成する回路である。
【0022】ここでIPB有効信号121とは、IPB
が有効であることを示す信号である。IPB更新信号1
08とは、IPBの更新要求を示す信号である。NRP
信号122とは、次に読み出す命令バッファ(IB)を
示す信号である。CRP信号103とは、現在読み出す
IBを示す信号である。
【0023】IF部106は、PC値126、分岐成立
信号117、命令発行信号102を入力し、PC値12
6に示されるアドレスから、命令をフェッチした結果で
あるIFデータ110と、IFデータ110が有効であ
ることを示すIFデータ有効信号107と、分岐成立信
号117を受け取った場合は、分岐先検出信号123も
併せて出力する回路である。
【0024】遅延命令検出部115は、分岐成立信号1
17、IPB有効信号121、NRP信号122を入力
し、遅延命令検出信号118を出力する回路である。遅
延命令検出信号118とは、遅延命令がNRPの指し示
すIBに存在するか否かを表す信号である。
【0025】IPB格納部109は、IPB104を2
つ持ち、IPB更新信号108に基づきIF部106が
読み出したIFデータ110を格納する回路である。命
令出力部111は、IPB格納部109に格納されてい
るIPBデータ112から、カレント・リード・ポイン
タ(CRP)信号103で示されるIBの1ワード命令
113を発生する回路である。
【0026】デコーダ(DEC)部114は、1ワード
命令113を解読し、その結果である命令解読結果12
0と、1ワード命令113が条件分岐命令の場合は、そ
の分岐条件である分岐条件信号127を出力する回路で
ある。キャンセル部119は、遅延命令検出信号118
と命令解読結果120とを入力し、遅延命令が検出され
ていない場合は命令解読結果120をキャンセルし、検
出された場合は命令解読結果をパイプライン(PL)制
御部124に出力する回路である。
【0027】分岐成立判定部116は、分岐条件信号1
27とコンディションコード(CC)信号128とを入
力し、分岐が成立しているかを判断し、その結果を表す
分岐成立信号117を出力する回路である。PL制御部
124は、キャンセル部119の出力信号から目的の演
算ユニット使用可能か否かを判断し、使用可能であれば
演算ユニットに処理を実行させ、更に命令発行信号10
2を出力する回路である。
【0028】PC生成部125は、命令発行信号102
が入力されれば、分岐先のPC値126を計算すると共
に、命令発行信号102が入力されたときに分岐成立信
号117が入力されなければ、PC値126をインクリ
メントして出力する回路である。
【0029】このように構成された第1実施形態の命令
プリフェッチバッファ制御装置の動作について、図3〜
図6を参照しつつ説明する。図3はIPB格納部109
のIPBが少なくともスレッド個数分のIBをもってい
る場合における全スレッドのプリフェッチの動作を示す
説明図である。図1のIPB格納部109には、2つの
IPB104が設けられ、それぞれのIPB104には
4つの命令バッファ(IB)105があるものとする。
また図3はスレッド数が4であり、プリフェッチ対象の
データが命令キャッシュに全て存在し、かつ1サイクル
で4命令分フェッチする分岐が発生しない通常プリフェ
ッチ動作を表している。各スレッドの2つのIPB10
4のうち、CRB301はIPBのリード・ポインタで
ある。また斜線部付近に矢印で示すCRI302はIB
105のリード・ポインタである。
【0030】図3に示す状態では、各スレッドが順番に
命令キャッシュにアクセスする場合を示し、命令は途切
れることなくプリフェッチが実行されていることが判
る。ここで通常プリフェッチ動作の詳細を図1、図3を
用いて新たに説明する。
【0031】(1)IPB制御部101において、命令
発行信号102が送られると、CRP信号103がイン
クリメントされる。CRP信号103は、IPB104
のリード・ポインタ(CRB)301と、IB105の
リード・ポインタ(CRI)302に分けられる。そし
てCRI302は、IPB104の先頭のIB105か
ら最後まで順に移動していき、最後のIB105に到達
すると、再び先頭に戻る。
【0032】CRI302がCRB301の最後のIB
105に到達すると、CRB301は現在選択されてい
ないIPB104の方に移動する。またIF部106か
らIFデータ有効信号107が送られると、CRP10
3で選択されていないIPB104に対するIPB更新
信号108がIPB格納部109に送られる。
【0033】(2)IPB格納部109では、IPB更
新信号108に従ってIFデータ110をIPB104
に格納する。
【0034】(3)命令出力部111で、CRP103
の示すIPB格納部109のIPBデータ112から、
CRP103に従って1ワード命令113をDEC部1
14に出力する。
【0035】(4)遅延命令検出部115では、分岐成
立判定部116から分岐成立信号117が送られてこな
いので、遅延命令検出信号118を出力しない。
【0036】(5)キャンセル部119において、遅延
命令検出信号118が送られてこないので、DEC部1
14から出力される命令解読結果120をPL制御部1
24に出力する。
【0037】次に分岐成立命令が発生したときの動作に
ついて、図1、図4〜図6を参照しつつ説明する。図4
及び図5は分岐成立した命令がIPBの最後にない場合
の動作を示し、図6は分岐成立した命令がIPBの最後
にある場合の動作を示している。
【0038】(1)IPB制御部101において、図4
(3)及び図6(3)に示すように分岐成立信号が送ら
れてくると、IPB有効信号121を参照し、NRP1
22の示すIPB104が有効になるまでCRP103
の更新をしない。NRP122はIPB104のポイン
タであり、CRI302がCRB301の最後のIB1
05でない場合、図5(4)に示すようにNRP122
はCRB301のままである。またCRI302がCR
B301の最後のIB105である場合、図6(4)に
示すようにNRP122は、CRB301で選択されて
いない方のIPB104に移動する。
【0039】NRP122の示すIPB104が有効に
なると、IFデータ110が分岐先のデータであること
を示す分岐先検出信号123が検出されるまで、IPB
更新信号108を出力しない。分岐先検出信号123が
検出されるとIPB更新信号108は、図4及び図5の
場合図4(3)のCRB301で選択されていないIP
B104が対象となり、図6の場合図6(3)のCRB
301で選択されているIPB104が対象となる。ま
たCRI302は分岐先のPC値を参照してその位置を
決定する。このようにして遅延分岐を実現している。
【0040】(2)遅延命令検出部115では、分岐成
立信号117を検出すると、NRP122で示されるI
PB104が有効かどうかを判定し、有効であれば遅延
命令検出信号118を出力する。
【0041】(3)キャンセル部119において、遅延
命令検出信号118を検出すると、命令解読結果120
をキャンセルする。
【0042】IPB格納部109と命令出力部111と
の動作については、分岐成立命令が117が発生した場
合と同様である。以上の動作により、NRP122が有
効、即ち遅延命令がIPB104に格納されるまで分岐
成立命令を実行しないという制御を行っている。仮にN
RP122が有効かどうかを確認せずに分岐成立命令を
実行すると、NRP122が無効のとき、次の分岐先検
出信号123が検出されないIFデータ110を取り込
み、NRP122が有効だったら、次に分岐先検出信号
123を検出するまで、IFデータ110を格納しない
ようにするという制御回路が必要となる。
【0043】本実施形態の命令プリフェッチバッファ制
御方法とその装置によれば、NRP122で示されるI
PB有効信号121を選択するセレクタと、そこで選択
されたIPB有効信号121と分岐成立信号117のA
NDとで、遅延命令検出信号118を作成できる。また
キャンセル部119は、遅延命令検出信号118が検出
されると、命令解読結果120ではなく、無効データを
選択するセレクタで実現できる。
【0044】またNRP122が有効かどうかを確認せ
ずに分岐成立命令を実行する場合のように、NRP12
2が有効のときの制御回路と、NRP122が有効でな
いときの制御回路との2つの回路を用意する必要がな
い。このため命令プリフェッチバッファ制御装置を構成
するハードウェアの規模が小さくて済む。またNRP1
22が示すIPB有効信号121が検出されるまでプリ
フェッチが待たされるが、その間に他のスレッドがプリ
フェッチを行うため、マルチスレッド全体としての効率
には影響しない。
【0045】以上のように本実施形態によれば、通常命
令の逐次実行を高速化できることと、マルチスレッドの
全体の動作効率を向上させることができる。また本実施
形態の命令プリフェッチバッファ制御方法とその装置
は、シングルスレッドで動作させる場合の性能向上も考
慮して遅延分岐方式を採用したため、同じく遅延分岐方
式を採用している他のプロッセッサ(例えばSPARC
プロセッサ)等のオブジェクトコードとの互換性が確保
できる。
【0046】(実施の形態2)次に本発明の第2実施形
態における命令プリフェッチバッファ制御装置につい
て、図2を参照しながら説明する。図2は第2実施形態
の命令プリフェッチバッファ制御装置の構成を示すブロ
ック図であり、第1実施形態のものと同一部分及び同一
の信号は同一の符号を付け、詳細な説明は省略する。
【0047】先行分岐判定部201は、実行状態レジス
タ202のデータを入力し、それらの値から自スレッド
しか動作していないことが判定されると、先行分岐信号
203を出力する回路である。実行状態レジスタ202
は、各スレッドが実行中か、停止又は終了しているかを
記憶するレジスタである。また先行分岐判定部201
は、実行状態レジスタ202の代わりに、各スレッドの
優先順位を示す優先順位レジスタのデータを入力する場
合は、自スレッドの優先順位が他のスレッドより高いこ
とを検出すると、先行分岐信号203を出力する。
【0048】IPB制御部204は、命令発行信号10
2、IFデータ有効信号107、分岐成立信号117、
分岐先検出信号123、PC値126、先行分岐信号2
03、分岐命令検出信号206を入力し、IPB有効信
号121、IPB更新信号108、NRP信号122、
CRP信号103を生成する回路である。分岐命令検出
信号206は分岐命令が検出されたことを示す信号であ
る。
【0049】DEC部205は、1ワード命令113を
解読し、その結果である命令解読結果120と、1ワー
ド命令113が条件分岐命令の場合はその分岐条件であ
る分岐条件信号127と、分岐命令(但し、分岐成立/
不成立かはまだ判明していない)が検出されたことを示
す分岐命令検出信号206を出力する回路である。
【0050】IPB格納部209は、IPB104を3
つ持ち、IF部106が読み出したIFデータ110
と、IPB更新信号108とに基づき、IFデータ11
0を格納する回路である。また、PC生成部125とI
F部106において、先行分岐信号203が発生する場
合には、分岐成立信号117の代わりに選択部207の
出力信号208が入力されるが、それぞれの動作は変わ
らない。
【0051】このように構成された第2実施形態の命令
プリフェッチバッファ制御装置の動作について、図7〜
図10を参照しつつ説明する。図7(3)に示すように
分岐命令を検出した場合、図7(2)のように通常のプ
リフェッチが既に実行されていることを利用し、さらに
分岐先をプリフェッチしていって、分岐成立/不成立の
結果を基に通常のプリフェッチのデータか、もしくは分
岐先のデータかのどちらかを選択する。
【0052】図7及び図8は分岐命令がIPB301の
最後のIB105にない場合のIPB格納部209の動
作を示し、図9及び図10は分岐命令がIPB301の
最後のIB105にある場合のIPB格納部209の動
作を示し、いずれもIPB制御部204における先行分
岐動作を説明するものである。分岐命令がIPB301
の最後のIB105にある場合はIPB2個で制御でき
るため、図9,10では3個中の任意の2個を用いた動
作を示してある。図7(3)、図9(3)で分岐命令が
検出されると、図8(4)、図10(4)に示すように
分岐成立/不成立の判定に先行して、分岐先プリフェッ
チを行い、分岐成立/不成立の結果と分岐プリフェッチ
の終了を待つ。
【0053】分岐成立の場合は、図8(5a)、図10
(5a)に示すように分岐先のIPBが選択され、残り
のIPBを通常プリフェッチに使用する。分岐不成立の
場合、図8(5b)、図10(5b)に示すように、通
常プリフェッチのIPBが選択される。
【0054】このように分岐命令が発生した場合、2個
のプリフェッチが生じるため、追加1個のプリフェッチ
分、他の全てのスレッドのプリフェッチが遅らされ、そ
れが相互に影響を及ぼし、マルチスレッドの全体の動作
効率が低下する。しかしマルトスレッドプロセッサがシ
ングルスレッドで動作する場合は有用であるし、また優
先順位の高いスレッドが存在すると、そのスレッドがI
F部106を占有する割合が高くなるため有用である。
よって、マルチスレッドプロセッサがマルチスレッドで
動作する場合は先行分岐を行わず、上記の場合では先行
分岐を行うように制御を切り換えることで、マルチスレ
ッドの全体動作効率を向上することができる。
【0055】(実施の形態3)次に本発明の第3実施形
態における命令プリフェッチバッファフラッシュ方法つ
いて、図11を参照しながら説明する。本実施形態の命
令プリフェッチバッファプッシュ方法は、第1,2実施
形態の命令プリフェッチバッファ制御装置に新たな回路
を追加しないで実現できるものである。図11は、命令
キャッシュフラッシュ命令に、命令キャッシュのフラッ
シュ終了後に次の命令を分岐するという機能を追加した
場合の動作を示している。図11(1)で命令キャッシ
ュフラッシュ命令が検出されると、図11(2)でもう
片方のIPBが分岐先プリフェッチにより新しいキャッ
シュのデータに更新される。図11(3)に示すよう
に、命令キャッシュフラッシュ命令が存在したIPBは
廃棄されるため、次のプリフェッチ対象となり更新され
る。以上により、以前の命令キャッシュのデータが格納
されていたIPBは更新されていることが判る。
【0056】
【発明の効果】以上のように本発明の命令プリフェッチ
バッファ制御装置は、通常命令の逐次実行を高速化し、
マルチスレッドの全体の動作効率を向上させることがで
きる。また本発明の命令プリフェッチバッファ制御方法
は、小規模のハードウェアで遅延分岐制御を行うことが
できる。
【0057】更に、本発明の命令プリフェッチバッファ
フラッシュ方法は、命令キャッシュのフラッシュ命令に
次の命令に分岐する動作を付加し、命令プリフェッチバ
ッファに残っている命令キャッシュのデータも併せてフ
ラッシュさせることで、命令プリフェッチバッファ制御
装置に新たな回路を増加することなく命令プリフェッチ
バッファのフラッシュが実現できる。
【図面の簡単な説明】
【図1】本発明の第1実施形態における命令プリフェッ
チ制御装置の構成を示すブロック図である。
【図2】本発明の第2実施形態における命令プリフェッ
チ制御装置の構成を示すブロック図である。
【図3】第1実施形態のマルチスレッドにおけるプリフ
ェッチ動作を示す説明図である。
【図4】第1実施形態のプリフェッチ動作における遅延
分岐制御動作(その1)を示す説明図である。
【図5】第1実施形態のプリフェッチ動作における遅延
分岐制御動作(その2)を示す説明図である。
【図6】第1実施形態のプリフェッチ動作における遅延
分岐制御動作(その3)を示す説明図である。
【図7】第2実施形態のプリフェッチ動作における遅延
分岐制御動作(その1)を示す説明図である。
【図8】第2実施形態のプリフェッチ動作における遅延
分岐制御動作(その2)を示す説明図である。
【図9】第2実施形態の命令プリフェッチ制御装置のプ
リフェッチ動作における先行分岐と遅延分岐制御動作
(その1)を示す説明図である。
【図10】第2実施形態の命令プリフェッチ制御装置に
おける命令プリフェッチバッファのフラッシュ動作(そ
の2)を示す説明図である。
【図11】第3実施形態の命令プリフェッチ制御装置に
おける命令プリフェッチバッファのフラッシュ動作を示
す説明図である。
【符号の説明】
101,204 命令プリフェッチバッファ(IPB)
制御部 102 命令発行信号 103 カレント・リード・ポインタ(CRP)信号 104 IPB 105 命令バッファ(IB) 106 命令フェッチ( IF) 部 107 IFデータ有効信号 108 IPB更新信号 109,209 IPB格納部 110 IFデータ 111 命令出力部 112 IPBデータ 113 1ワード命令 114,205 デコーダ(DEC)部 115 遅延命令検出部 116 分岐成立判定部 117 分岐成立信号 118 遅延命令検出信号 119 キャンセル部 120 命令解読結果 121 IPB有効信号 122 ネクスト・リード・ポインタ(NRP)信号 123 分岐先検出信号 124 パイプライン(PL)制御部 125 プログラムカウンタ( PC) 生成部 126 PC値 127 分岐条件信号 128 コンディションコード(CC)信号 201 先行分岐判定部 202 実行状態レジスタ 203 先行分岐信号 206 分岐命令検出信号 207 選択部 208 選択部の出力信号 301 IPBのリードポインタ(CRB) 302 IBのリードポインタ(CRI)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 清原 督三 大阪府門真市大字門真1006番地 松下電器 産業株式会社内

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つ以上の命令バッファを持
    つ複数の命令プリフェッチバッファを有し、そのうちの
    一つを読み出し対象とし、それ以外の命令プリフェッチ
    バッファに読み出し対象の命令プリフェッチバッファに
    続く通常プリフェッチを行うマルチスレッドプロセッサ
    の命令プリフェッチ方式において、 読み出し対象の命令プリフェッチバッファにおいて最後
    の命令バッファに分岐が成立する命令があることが判明
    した場合、次の読み出し対象の命令プリフェッチバッフ
    ァを現在の読み出し対象の命令プリフェッチバッファに
    続く通常プリフェッチ対象の命令プリフェッチバッファ
    とし、 読み出し対象の命令プリフェッチバッファにおいて最後
    ではない命令バッファに分岐が成立する命令があること
    が判明した場合、次の読み出し対象の命令プリフェッチ
    バッファを現在のままとし、 次の読み出し対象の命令プリフェッチバッファに有効な
    データが確認されてから、次の読み出し対象以外の命令
    プリフェッチバッファに分岐先のプリフェッチを行い、
    次の命令が消費され且つ分岐先のプリフェッチが終了す
    ると次の読み出し対象を分岐先の命令プリフェッチバッ
    ファに移すことを特徴とする命令プリフェッチバッファ
    制御方法。
  2. 【請求項2】 命令発行信号が入力されると、命令のプ
    ログラムカウント値に示されるアドレスから、命令をフ
    ェッチした結果である命令フェッチデータと前記命令フ
    ェッチデータが有効であるかを示すフェッチデータ有効
    信号を出力すると共に、分岐成立信号が与えられた場合
    は、前記命令フェッチデータが分岐先のデータであるこ
    とを示す分岐先検出信号を出力する命令フェッチ部と、 1ワード命令を解読した結果である命令解読結果、及び
    1ワード命令が条件分岐命令の場合はその分岐条件であ
    る分岐条件信号を出力するデコーダ部と、 前記デコーダ部の分岐条件信号とコンディションコード
    信号とを入力し、分岐が成立しているか否かを判断し、
    その結果を表す分岐成立信号を出力する分岐成立判定部
    と、 目的の演算ユニットが使用可能か否かを判断し、使用可
    能であれば演算ユニットに処理を実行させ、更に命令発
    行信号を出力するパイプライン制御部と、 前記パイプライン制御部からの命令発行信号が入力され
    れば、分岐先のプログラムカウント値を計算すると共
    に、命令発行信号が入力されたときに前記分岐成立判定
    部から分岐成立信号が入力されなければ、プログラムカ
    ウント値をインクリメントして出力するプログラムカウ
    ンタ生成部と、を具備するマルチスレッドプロセッサに
    用いられ、少なくとも1つ以上の命令バッファを持つ複
    数の命令プリフェッチバッファを有し、前記命令プリフ
    ェッチバッファと前記命令バッファの読み出し順序を制
    御する命令プリフェッチバッファ制御装置であって、 前記パイプライン制御部から出力される命令発行信号が
    入力されると、前記プログラムカウンタ生成部から出力
    されるプログラムカウント値、前記分岐成立判定部から
    出力される分岐成立信号、前記命令フェッチ部から出力
    される分岐先検出信号、命令フェッチデータ有効信号か
    ら、命令プリフェッチバッファ有効信号、命令プリフェ
    ッチバッファ更新信号、次に読み出す命令バッファを示
    すネクスト・リード・ポインタ信号、現在読み出す命令
    バッファを示すカレント・リード・ポインタ信号を生成
    する命令プリフェッチバッファ制御部と、 前記分岐成立信号と、前記命令プリフェッチバッファ有
    効信号、前記ネクスト・リード・ポインタ信号を入力
    し、遅延命令が前記ネクスト・リード・ポインタの示す
    命令バッファに存在するか否かを判定する遅延命令検出
    部と、 2つの命令プリフェッチバッファを有し、前記命令フェ
    ッチ部から出力される命令フェッチデータ、及び前記命
    令プリフェッチバッファ制御部から出力される命令プリ
    フェッチバッファ更新信号を入力し、前記命令プリフェ
    ッチバッファ更新信号に基づき前記命令フェッチデータ
    を格納する命令プリフェッチバッファ格納部と、 前記カレント・リード・ポインタ信号、及び前記命令プ
    リフェッチバッファ格納部から出力される命令プリフェ
    ッチバッファデータを入力し、1ワード命令を出力する
    命令出力部と、 前記遅延命令検出部から出力される遅延命令検出信号
    と、前記デコーダ部から出力される命令解読結果を入力
    し、遅延命令が検出されていない場合は前記命令解読結
    果をキャンセルし、検出された場合は前記命令解読結果
    を前記パイプライン制御部に出力するキャンセル部と、
    を設けたことを特徴とする命令プリフェッチバッファ制
    御装置。
  3. 【請求項3】 前記命令プリフェッチバッファ格納部
    は、少なくともスレッド個数分の命令バッファを格納す
    る命令プリフェッチバッファを持つものであることを特
    徴とする請求項2記載の命令プリフェッチバッファ制御
    装置。
  4. 【請求項4】 少なくとも1つ以上の命令バッファを持
    つ複数の命令プリフェッチバッファを有し、そのうちの
    一つを読み出し対象とし、それ以外の命令プリフェッチ
    バッファに読み出し対象の命令プリフェッチバッファに
    続く通常プリフェッチを行うマルチスレッドプロセッサ
    の命令プリフェッチ方式において、 読み出し対象の命令プリフェッチバッファにおいて最後
    の命令バッファに分岐命令があることが判明した場合、
    次の読み出し対象の命令プリフェッチバッファを現在の
    読み出し対象の命令プリフェッチバッファに続く通常プ
    リフェッチ対象の命令プリフェッチバッファとし、次の
    読み出し対象以外の命令プリフェッチバッファに分岐先
    のプリフェッチを行い、 また、読み出し対象の命令プリフェッチバッファにおい
    て最後ではない命令バッファに分岐命令があることが判
    明した場合、現在の読み出し対象の命令プリフェッチバ
    ッファ、現在の読み出し対象の命令プリフェッチバッフ
    ァに続く通常プリフェッチ対象の命令プリフェッチバッ
    ファ以外の命令プリフェッチバッファに分岐先プリフェ
    ッチを行い、 分岐成立判定と分岐先プリフェッチが終了し、分岐成立
    の場合、読み出し対象を分岐先の命令プリフェッチバッ
    ファに移し、分岐不成立の場合は、通常プリフェッチ対
    象の命令プリフェッチバッファに移すことを特徴とする
    命令プリフェッチバッファ制御方法。
  5. 【請求項5】 命令発行信号が入力されると、プログラ
    ムカウント値に示されるアドレスから、命令をフェッチ
    した結果である命令フェッチデータと命令フェッチデー
    タ有効信号を出力すると共に、選択部出力から分岐命令
    を検出もしくは分岐成立を検出した場合は、分岐先検出
    信号を出力する命令フェッチ部と、 1ワード命令を解読した結果である命令解読結果、及び
    1ワード命令が条件分岐命令の場合は分岐命令検出信号
    とその分岐条件である分岐条件信号とを出力するデコー
    ダ部と、 前記デコーダ部の分岐条件信号とコンディションコード
    信号とを入力し、分岐が成立しているか否かを判断し、
    その結果を表す分岐成立信号を出力する分岐成立判定部
    と、 目的の演算ユニットが使用可能か否かを判断し、使用可
    能であれば演算ユニットに処理を実行させ、更に命令発
    行信号を出力するパイプライン制御部と、 前記パイプライン制御部からの命令発行信号が入力され
    れば、分岐先のプログラムカウント値を計算すると共
    に、命令発行信号が入力されたときに選択部出力から分
    岐命令もしくは分岐成立が検出されなければ、プログラ
    ムカウント値をインクリメントして出力するプログラム
    カウンタ生成部と、を具備するマルチスレッドプロセッ
    サに用いられ、少なくとも1つ以上の命令バッファを持
    つ複数の命令プリフェッチバッファを有し、前記命令プ
    リフェッチバッファと前記命令バッフアの読み出し順序
    を制御する命令プリフェッチバッファ制御装置であっ
    て、 各スレッドの実行状態を示す実行状態レジスタの信号を
    入力し、先行して分岐先のプリフェッチを行うか否かの
    判定結果である先行分岐信号を出力する先行分岐判定部
    と、 前記先行分岐判定部の先行分岐信号、前記デコーダ部の
    分岐命令検出信号、前記分岐成立判定部の分岐成立信号
    を入力し、先行分岐を実行する場合は前記分岐命令検出
    信号を選択し、先行分岐を実行しない場合は前記分岐成
    立信号を選択する選択部と、 前記パイプライン制御部から出力される命令発行信号が
    入力されると、前記プログラムカウンタ生成部から出力
    されるプログラムカウント値、前記デコーダ部から出力
    される分岐命令検出信号、前記分岐成立判定部から出力
    される分岐成立信号、前記命令フェッチ部から出力され
    る分岐先検出信号、命令フェッチデータ有効信号、前記
    先行分岐判定部の先行分岐信号から、命令プリフェッチ
    バッファ有効信号、命令プリフェッチバッファ更新信
    号、ネクスト・リード・ポインタ信号、カレント・リー
    ド・ポインタ信号を生成する命令プリフェッチバッファ
    制御部と、 前記選択部の選択結果、前記命令プリフェッチバッファ
    有効信号、前記ネクスト・リード・ポインタ信号を入力
    し、遅延命令が前記ネクスト・リード・ポインタの示す
    命令バッファに存在するか否かを判定する遅延命令検出
    部と、 3つの命令プリフェッチバッファを有し、前記命令フェ
    ッチ部から出力される命令フェッチデータ、及び前記命
    令プリフェッチバッファ制御部から出力される命令プリ
    フェッチバッファ更新信号を入力し、前記命令プリフェ
    ッチバッファ更新信号に基づき前記命令フェッチデータ
    を格納する命令プリフェッチバッファ格納部と、 前記カレント・リード・ポインタ信号、及び前記命令プ
    リフェッチバッファ格納部から出力される命令プリフェ
    ッチバッファデータを入力し、1ワード命令を出力する
    命令出力部と、 前記遅延命令検出部から出力される遅延命令検出信号
    と、前記デコーダ部から出力される命令解読結果を入力
    し、遅延命令が検出されていない場合は前記命令解読結
    果をキャンセルし、検出された場合は前記命令解読結果
    を前記パイプライン制御部に出力するキャンセル部と、
    を設けたことを特徴とする命令プリフェッチバッファ制
    御装置。
  6. 【請求項6】 前記先行分岐判定部は、各スレッドの優
    先順位を示す優先順位レジスタの値を入力とし、先行し
    て分岐先のプリフェッチを行なうか否かの判定を行うも
    のであることを特徴とする請求項5記載の命令プリフェ
    ッチバッファ制御装置。
  7. 【請求項7】 請求項1,4記載の命令プリフェッチバ
    ッファ制御方法を有するマルチスレッドプロセッサの命
    令キャッシュフラッシュ命令に次の命令に分岐する動作
    を付加することで、前記命令プリフェッチバッファに残
    っている命令キャッシュのデータも併せてフラッシュさ
    せることを特徴とする命令プリフェッチバッファフラッ
    シュ方法。
JP1949296A 1996-01-09 1996-01-09 命令プリフェッチバッファ制御方法、命令プリフェッチバッファ制御装置、及び命令プリフェッチバッファフラッシュ方法 Pending JPH09190348A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1949296A JPH09190348A (ja) 1996-01-09 1996-01-09 命令プリフェッチバッファ制御方法、命令プリフェッチバッファ制御装置、及び命令プリフェッチバッファフラッシュ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1949296A JPH09190348A (ja) 1996-01-09 1996-01-09 命令プリフェッチバッファ制御方法、命令プリフェッチバッファ制御装置、及び命令プリフェッチバッファフラッシュ方法

Publications (1)

Publication Number Publication Date
JPH09190348A true JPH09190348A (ja) 1997-07-22

Family

ID=12000870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1949296A Pending JPH09190348A (ja) 1996-01-09 1996-01-09 命令プリフェッチバッファ制御方法、命令プリフェッチバッファ制御装置、及び命令プリフェッチバッファフラッシュ方法

Country Status (1)

Country Link
JP (1) JPH09190348A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711668B1 (en) * 1999-05-03 2004-03-23 Stmicroelectronics S.A. Prefetch unit
JP2010528384A (ja) * 2007-05-30 2010-08-19 エックスモス リミテッド プロセッサにおけるスレッドのスケジューリング
US8195922B2 (en) 2005-03-18 2012-06-05 Marvell World Trade, Ltd. System for dynamically allocating processing time to multiple threads
US8745359B2 (en) 2008-02-26 2014-06-03 Nec Corporation Processor for concurrently executing plural instruction streams

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711668B1 (en) * 1999-05-03 2004-03-23 Stmicroelectronics S.A. Prefetch unit
US8195922B2 (en) 2005-03-18 2012-06-05 Marvell World Trade, Ltd. System for dynamically allocating processing time to multiple threads
US8468324B2 (en) 2005-03-18 2013-06-18 Marvell World Trade Ltd. Dual thread processor
JP2010528384A (ja) * 2007-05-30 2010-08-19 エックスモス リミテッド プロセッサにおけるスレッドのスケジューリング
US8745359B2 (en) 2008-02-26 2014-06-03 Nec Corporation Processor for concurrently executing plural instruction streams

Similar Documents

Publication Publication Date Title
US5850543A (en) Microprocessor with speculative instruction pipelining storing a speculative register value within branch target buffer for use in speculatively executing instructions after a return
US7711930B2 (en) Apparatus and method for decreasing the latency between instruction cache and a pipeline processor
US6430674B1 (en) Processor executing plural instruction sets (ISA's) with ability to have plural ISA's in different pipeline stages at same time
KR100305310B1 (ko) 멀티스레드프로세서의명령어및연관된인출요청의백그라운드완료
US5732242A (en) Consistently specifying way destinations through prefetching hints
CN104731719B (zh) 一种缓存系统和方法
EP1029268B1 (en) Method relating to handling of conditional jumps in a multi-stage pipeline arrangement
EP0380854A2 (en) Instruction buffer system for a digital computer
US20050198480A1 (en) Apparatus and method of controlling instruction fetch
JP3502592B2 (ja) 分岐予測装置
US6687812B1 (en) Parallel processing apparatus
JPH10228377A (ja) 分岐予測する情報処理装置
JP2004171177A (ja) キャッシュシステムおよびキャッシュメモリ制御装置
JP4327008B2 (ja) 演算処理装置及び演算処理装置の制御方法
JP3977931B2 (ja) データプロセッサにおける条件分岐実行を制御するための方法および装置
US6275903B1 (en) Stack cache miss handling
JP3683248B2 (ja) 情報処理装置及び情報処理方法
JPH08123723A (ja) 先行読出機能付命令キャッシュメモリ
JPH09190348A (ja) 命令プリフェッチバッファ制御方法、命令プリフェッチバッファ制御装置、及び命令プリフェッチバッファフラッシュ方法
US20020099910A1 (en) High speed low power cacheless computer system
JP2008071061A (ja) 情報処理装置
US7085916B1 (en) Efficient instruction prefetch mechanism employing selective validity of cached instructions for digital signal processor and method of operation thereof
JP5696210B2 (ja) プロセッサ及びその命令処理方法
US20080005545A1 (en) Dynamically shared high-speed jump target predictor
JP2011081564A (ja) 制御装置、記憶装置、演算処理装置および制御方法