JPH1040102A - プロセッサの命令実行制御方法およびシステム - Google Patents
プロセッサの命令実行制御方法およびシステムInfo
- Publication number
- JPH1040102A JPH1040102A JP23477896A JP23477896A JPH1040102A JP H1040102 A JPH1040102 A JP H1040102A JP 23477896 A JP23477896 A JP 23477896A JP 23477896 A JP23477896 A JP 23477896A JP H1040102 A JPH1040102 A JP H1040102A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- streams
- program counter
- register
- cache
- 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
Landscapes
- Advance Control (AREA)
Abstract
力を向上させる。 【解決手段】 命令キャッシュ2は、複数の命令流の命
令を格納する。プログラムカウンタ51a、51bは、
命令流の個数分設けられ、対応した命令流を選択する。
プログラムカウンタ制御部4におけるカウンタ41は、
クロック101に基づき、1サイクル毎にプログラムカ
ウンタ51a、51bを有効とする。これにより、命令
流は、1サイクル毎に順次切り替えられる。その結果、
ある命令の真の依存のために実行が待たされる可能性が
減少する。
Description
行機能を備えた複数命令流パイプライン計算機における
プロセッサの命令実行制御方法およびシステムに関す
る。
性能を向上させるために同時に複数の命令を実行するス
ーパースカラ方式や、命令の発行順序を変えて実行する
アウトオブオーダ発行が用いられている。
データ依存を回避するための技術としてレジスターリネ
ーミング(register renaming :レジスタ名前替え)が
用いられる。このレジスターリネーミングを用いること
により、命令依存のうち、先行の命令がそのレジスタの
値をリードしてからでないとレジスタに新しい値を書き
込めないといった逆依存と、同じレジスタに同時に書き
込もうとしたという出力依存という二つの依存を取り除
くことができる。これにより依存による性能の低下を抑
えることが可能となる。
ようなパイプライン計算機であっても、真の依存、即
ち、命令依存のうち、先行の命令の結果を利用して次の
命令の演算を行うといった場合は、その実行が待たされ
るのは避けられず、この場合は、プロセッサの演算資源
が使われずに無駄になるという問題があった。
用が図れ、演算処理能力を向上させることのできるプロ
セッサの命令実行制御方法およびシステムの実現が望ま
れていた。
解決するため次の構成を採用する。 〈請求項1の構成〉複数の命令を同時に実行可能な演算
ユニットに対して、複数の命令流を与える場合、複数の
命令流を、順次切り替えて与えることを特徴とするプロ
セッサの命令実行制御方法である。
いに独立に実行可能な命令流を意味している。例えば、
このような命令流として二つの命令流があった場合、演
算ユニットに対して、これらを交互に与える。これによ
り、一方の命令流において、真の依存関係のため、次の
命令の実行が待たされる場合であっても、他方の命令流
の命令を実行する間に、一方の命令流の命令を完了させ
ることができ、その結果、真の依存関係による性能低下
を減少させることができる。
行可能な演算ユニットに対して与える複数の命令流に対
応して設けられ、これら複数の命令流を選択するための
プログラムカウンタと、複数のプログラムカウンタに対
して、順次、対応する命令流を選択するよう制御を行う
プログラムカウンタ制御部とを備えたことを特徴とする
プロセッサの命令実行制御システムである。
は、命令流と等しい数だけ設けられ、対応した命令流の
実行を管理するものである。プログラムカウンタ制御部
は、これらのプログラムカウンタに対して、順次有効に
なるよう制御する。これにより、有効となったプログラ
ムカウンタに対応した命令流が選択され、演算ユニット
に与えられる。そして、順次命令流が切り替わるため、
真の依存関係による性能低下を減少させることができ
る。
行可能な演算ユニットに対して、複数の命令流を与える
場合、複数の命令流を、複数の任意の命令実行単位で順
次切り替えることを特徴とするプロセッサの命令実行制
御方法である。
令流の切り替えタイミングが複数の命令実行単位となっ
ている点を特徴としている。これにより、一つの命令流
が連続して選択される長さを自由に変更することがで
き、システムに応じて適切な長さとすることにより、プ
ロセッサのスループットを向上させることができる。
行可能な演算ユニットに対して与える複数の命令流に対
応して設けられ、これら複数の命令流を選択するための
プログラムカウンタと、これら複数のプログラムカウン
タに対して、順次、複数の任意の命令実行単位で対応す
る命令流を選択するよう制御を行うプログラムカウンタ
制御部とを備えたことを特徴とするプロセッサの命令実
行制御システムである。
ログラムカウンタ制御部の制御が、プログラムカウンタ
に対して、複数の任意の命令実行単位で選択するよう制
御する点を特徴としている。これにより、一つの命令流
が連続して選択される長さを自由に変更することがで
き、システムに応じて適切な長さとすることにより、プ
ロセッサのスループットを向上させることができる。
行可能な演算ユニットに対して、複数の命令流を与える
場合、複数の命令流を、それぞれの命令流に対して重み
付けした命令実行単位で順次切り替えることを特徴とす
るプロセッサの命令実行制御方法である。
令流の切り替えタイミングが複数の命令実行単位で、か
つ、それぞれの命令流に対して重み付けした命令実行単
位となっている点を特徴としている。これにより、複数
の命令流に対して、実行の優先度を与えることができ
る。
行可能な演算ユニットに対して与える複数の命令流に対
応して設けられ、これら複数の命令流を選択するための
プログラムカウンタと、これら複数のプログラムカウン
タに対して、順次、それぞれ重み付けした命令実行単位
で命令流を選択するよう制御を行うプログラムカウンタ
制御部とを備えたことを特徴とするプロセッサの命令実
行制御システムである。
数の命令流の切り替えタイミングが、それぞれ任意に重
み付けして設定できる点を特徴としている。これによ
り、複数の命令流に対し、自由に実行の優先度を与える
ことが可能となる。
ャッシュに格納し、この命令キャッシュから、複数の命
令を同時に実行可能な演算ユニットに対して、複数の命
令流を与える場合、任意の命令が命令キャッシュにおい
てミスヒットした場合、その命令を除き、順次、複数の
命令流を切り替えることを特徴とするプロセッサの命令
実行制御方法である。
令キャッシュからある命令流を取り出そうとした時に、
これが命令キャッシュでミスヒットであった場合、その
命令流を除き、次の命令流を選択するようにしたもので
ある。これにより、命令キャッシュでヒットした命令の
み実行されることから効率的な命令実行が可能となる。
行可能な演算ユニットに対して与える複数の命令流を格
納する命令キャッシュと、複数の命令流に対応して設け
られ、これら複数の命令流を選択するためのプログラム
カウンタと、任意の命令が命令キャッシュにおいてミス
ヒットした場合、その命令に対応したプログラムカウン
タを除き、複数のプログラムカウンタに対して、順次、
命令流を選択するよう制御を行うプログラムカウンタ制
御部とを備えたことを特徴とするプロセッサの命令実行
制御システムである。
数の命令流におけるそれぞれの命令を格納するためのキ
ャッシュメモリである。そして、各命令は、この命令キ
ャッシュより読み出されて、演算ユニットで実行され
る。ここで、命令キャッシュでミスヒットした命令は選
択されず、キャッシュヒットした命令のみが読み出され
るため、命令キャッシュへの命令読み込みの時間待ちを
することなく、効率的な実行が可能となる。
を用いて詳細に説明する。図1は本発明のプロセッサの
命令実行制御方法およびシステムの具体例1を示す要部
の構成図であるが、これに先立ち、本発明の全体構成に
ついて説明する。
としてのパイプライン計算機の構成図である。図の装置
は、命令メモリ1、命令キャッシュ2、デコーダ3、プ
ログラムカウンタ制御部4、プログラムカウンタユニッ
ト(PCユニット)5、リネーミングレジスタ6、デー
タキャッシュ7、データメモリ8、リザベーションステ
ーション10〜13、演算ユニット20〜23からな
る。
モリであり、命令キャッシュ2を通じてデコーダ3に接
続されている。命令キャッシュ2は、命令メモリ1よ
り、例えば4ワード分といったように命令を一次格納す
るキャッシュメモリである。
カウンタ制御部4の出力は、各演算ユニット20〜23
のリザベーションステーション10〜13と、リネーミ
ングレジスタ6に接続されている。プログラムカウンタ
制御部4は、命令流識別タグ生成ユニットであり、その
出力は、命令流の個数分のプログラムカウンタ(PC)
を持つプログラムカウンタユニット(以下、PCユニッ
トという)5と、リネーミングレジスタ6に接続されて
いる。
明図である。リネーミングレジスタ6は、レジスタリネ
ーミング(レジスタ名前替え)を行うための連想メモリ
であり、vフィールド、destフィールド、INフィール
ド、dataフィールド、Cフィールド、ICフィールドを
備えたテーブルである。ここで、vフィールドは1ビッ
トからなる値で、そのエントリが有効か否かを示すフィ
ールド、destフィールドは、そのエントリが実際にはど
のレジスタの値を保持しているかを表すフィールドであ
る。また、INフィールドは、命令流指示ビットフィー
ルドで、[log2n ](小数点以下切り上げ。ただし、n
>1で命令流の数。)ビットからなり、そのエントリの
値がどの命令流であるかを識別するための値を示してい
る。dataフィールドは、そのレジスタの持つ値、または
結果タグを保持するためのフィールドである。Cフィー
ルドは、そのエントリのdataフィールドが実際の値を持
っているのか、または、実行完了待ち、即ち結果タグを
持っているのかを区別するための1ビットからなるフラ
グである。更に、ICフィールドは、完了フラグフィー
ルドであり、これは割り込みに対処するためのフィール
ドである。
ョン10〜13は、対応する各演算ユニット20〜23
に接続されており、ロードストアユニット23を除く各
演算ユニット20〜22の出力はリネーミングレジスタ
6に接続されている。
タキャッシュ7を通じてデータメモリ8と接続されてい
る。また、各演算ユニット20〜23は、例えば、分岐
(Branch)、算術演算(ALU )、シフタ(Shifter )、
ロード/ストア(Load/Store)ユニットである。
いて説明する。図4は、複数の命令流の説明図である。
この例は、二つのアプリケーションAP1、AP2の命
令列を示しており、それぞれの命令(1A)〜(4A)
と、命令(1B)〜(4B)とはプログラムの実行順序
としては全く無関係である。このような複数の命令流が
ある場合は、各命令流を同時に実行できれば、演算ユニ
ット20〜23の有効利用が図れ、プロセッサの性能向
上に寄与することができる。そこで、リネーミングレジ
スタ6を用いて以下のように制御を行う。
Cユニット5に、命令流個あるプログラムカウンタのう
ちの一つを選択する信号を出す。PCユニット5は、選
ばれたプログラムカウンタの値で命令キャッシュ2にア
クセスし、命令キャッシュ2からの出力は、デコーダ3
に送られる。デコーダ3は、命令を解釈し、どの演算ユ
ニット20〜23に送るかを決定し、対応するリザベー
ションステーション10〜13に出力を送る。同時に、
プログラムカウンタ制御部4から[log2n ](小数点以
下切り上げ)ビットの命令流識別タグが、同一リザベー
ションステーションに送られる。同時に、デコーダ3か
らは、命令のソースレジスタの値とデスティネーション
レジスタの値が、また、プログラムカウンタ制御部4か
らは命令流識別タグが、それぞれリネーミングレジスタ
6に送られる。
ジスタの値と命令流識別タグをキーとして連想メモリを
引き、合致するもののなかで、最新の値を対応するリザ
ベーションステーションに送る。この時、もし、合致し
たエントリのCフィールドが無効だった場合、値の代わ
りに結果タグの値を送る。また、リネーミングレジスタ
6はデスティネーションレジスタの値を新しいエントリ
のdestフィールドに、命令流識別タグをINフィールド
に加え、更に、vフィールドを有効にし、Cフィールド
とICフィールドを無効にし、結果タグを生成してdata
フィールドに保持する。また、このリネーミングレジス
タ6のエントリの値をリザベーションステーション10
〜13に送る。
明図である。即ち、これは、図3に示した二つのアプリ
ケーションAP1とAP2との命令列が入力されたもの
であり、アプリケーションAP1およびAP2のそれぞ
れのR3a とR5a の値がdataフィールドに書き込まれ
ており、従って、Cフィールドが有効(=1)であり、
また、ICフィールドも、前の命令での結果を保持して
いるエントリのICフィールドが全て有効であるため、
有効(=1)となっている。このように、AP1とAP
2とは、INフィールドの値が異なるため、これらの命
令は同時に実行することが可能となる。尚、dataフィー
ルドの「2」「3」「5」「6」は値であり、「10
5」〜「108」および「201」〜「204」は、結
果タグの値である。
は、これらのデコードされた命令と命令流識別タグ、リ
ネーミングレジスタ33のエントリの値、ソースレジス
タの値(もしくは、タグの値)を保持しており、該当す
る演算ユニット20〜23が空いていて、かつ、ソース
レジスタの値が揃っていれば、その演算ユニット20〜
23に送られる。
と命令流識別タグは、ストア命令を除き、リネーミング
レジスタ6の先ほどのエントリへ送られ、dataフィール
ドに結果を書き込み、Cフィールドを有効にする。その
際dataフィールドに書かれていた、結果タグの値と一致
するタグを持っているものが、リザベーションステーシ
ョン10〜13にいないかを探し、もし一致するものが
あれば、そのリザベーションステーション10〜13に
も結果を書き込む。
令順において前の命令での結果を保持しているエントリ
のICフィールドが全て有効であれば、有効にする。更
に、ICフィールドが有効なもののうちdestエントリが
同一なエントリが存在した場合、古い方のエントリのv
フィールドを無効にする。
がお互い共通のパイプラインを使用して実行される。そ
のため、ある時間内での全体のスループットが向上する
かは、複数の命令流をどのように選択するかにかかって
いる。そこで、以下の各具体例において、複数の命令流
の制御機構について説明する。
の命令実行制御方法およびシステムの要部を示す構成図
である。図のシステムは、命令キャッシュ2と、プログ
ラムカウンタ制御部4と、PCユニット5とを示してい
る。命令キャッシュ2のキャッシュコントローラ2a
は、PCユニット5からの信号に基づき、命令を格納し
ているキャッシュメモリへのアクセスを制御するコント
ローラである。
41と現命令識別タグレジスタ42とを備えている。カ
ウンタ41は、n進(nはプログラムカウンタの個数と
等しい値)の巡回カウンタであり、クロック101に対
応してカウントを行う。現命令識別タグレジスタ42
は、現在有効なプログラムカウンタの番号(命令流識別
子)を保持するレジスタである。
ンタ(PC)51a、51bと、これらプログラムカウ
ンタ51a、51bのゲート52a、52bからなる。
これらゲート52a、52bは、PC制御線40を介し
てプログラムカウンタ制御部4で制御されるよう構成さ
れている。尚、本具体例では、プログラムカウンタ(P
C)51a、51bと、ゲート52a、52bの例とし
て2個の場合を示しているが、この数は命令流に対応し
て種々の値に構成される。
ローラ2aからのアック信号、即ち、選択された命令流
がキャッシュヒットしたことを示す信号である。
に従って毎サイクルカウントを進める。この出力は、現
命令識別タグレジスタ42に保持される。そして、プロ
グラムカウンタ制御部4は、この現命令識別タグレジス
タ42の値により、これに該当するプログラムカウンタ
51a(51b)の出力のみがキャッシュコントローラ
2aに送られるよう、PC制御線40を介してゲート5
2a(52b)を制御する。これにより、キャッシュコ
ントローラ2aは、キャッシュメモリにアクセスし、キ
ャッシュメモリからは、プログラムカウンタ51a(5
1b)の値に対応した命令が読み出される。従って、本
具体例1では、1サイクル毎に命令流が切り替えられる
ことになる。尚、カウンタ41は、キャッシュコントロ
ーラ2aからアック信号102が返ってこない場合は、
そのカウントアップを行わない。即ち、キャッシュミス
した場合は、そのカウント値が継続して出力され、従っ
て、キャッシュコントローラ2aは、キャッシュミスし
た命令流のデータが命令キャッシュ2に読み込まれるま
で、そのアクセスを行う。
命令流が順次切り替えられるため、一つの命令流の真の
依存のために実行が待たされる可能性を減少させ、効率
のよい命令の実行が可能となる。即ち、一つの命令流の
うち、ある命令(これを命令1とする)に対して、次の
命令(命令2とする)が真の依存関係となっており、か
つ命令1の実行が2サイクル必要であるとする。このよ
うな場合、本具体例では、命令1の次のサイクルでは、
他の命令流の命令を実行するため、命令2の実行までに
は命令1の実行が完了していることになる。このよう
に、ある命令流で真の依存関係があった場合でも、これ
による次の命令の実行待ちの可能性を減少させることが
できる。
ムは、命令キャッシュ2と、プログラムカウンタ制御部
4aと、PCユニット5とを示している。ここで、命令
キャッシュ2とPCユニット5とは具体例1と同様であ
るため、ここでの説明は省略する。
タ41、現命令識別タグレジスタ42を備えると共に、
更新タイミングレジスタ43、減算器44、レジスタ4
5からなる。更新タイミングレジスタ43は、予め設定
した命令流の更新タイミングとなる値を格納するレジス
タである。減算器44は、更新タイミングレジスタ43
の値をクロック101に基づき毎サイクル減算し、その
値を減算器44の入力とレジスタ45に出力するよう構
成されている。カウンタ41は、減算器44の出力が
“0”即ち、レジスタ45の値が0となった場合にカウ
ントアップするカウンタであり、現命令識別タグレジス
タ42は、具体例1と同様に、現在有効なプログラムカ
ウンタの番号(命令流識別子)を保持するレジスタであ
る。
定された値が減算器44に送られ、毎サイクル減算され
る。そして、この値が0になるとカウンタ41はその値
をカウントアップする。PCユニット5では、このカウ
ンタ41の値に対応したプログラムカウンタの出力をキ
ャッシュコントローラ2aに送るため、それぞれの命令
流は、更新タイミングレジスタ43に設定された値のサ
イクル分連続して実行されることになる。尚、本具体例
においても、キャッシュコントローラ2aからのアック
信号102が返ってこなかった場合は、減算器44の動
作を停止するが、後述する具体例4と同様に、次の命令
流を選択するよう構成してもよい。
続してフェッチされる長さを更新タイミングレジスタ4
3に与えることにより、自由に変更することが可能であ
る。これにより、例えば、更新タイミングを、命令キャ
ッシュ2におけるキャッシュのラインサイズに合わせる
といった構成にすることにより、効率のよいアクセスが
可能となる。即ち、通常、命令はアドレスが連続してい
ることが多いため、ある命令が命令キャッシュ2に存在
すれば、次の命令もヒットする可能性が高い。例えば、
命令キャッシュ2が、一度に4命令分のデータを読み込
む場合、先頭の命令でキャッシュヒットすれば、残りの
3命令も必ずヒットすることになる。そこで、更新タイ
ミングレジスタ43の値を4としておくことにより、一
つの命令流で、ある命令がヒットすれば、必ず4命令が
ヒットすることになり、効率のよいアクセスが可能とな
る。
では、上記具体例2において、更新タイミングを命令流
毎に重み付けを行ったものである。図7において、プロ
グラムカウンタ制御部4bは、現命令識別タグレジスタ
42と、プログラムカウンタの個数分の更新タイミング
レジスタ43a、43bと、これに対応した個数分設け
られたテンポラリレジスタ46a、46bと、減算器4
4と、比較器47とからなる。即ち、更新タイミングレ
ジスタ43a、43bの出力は、それぞれテンポラリレ
ジスタ46a、46bを通して減算器44と比較器47
に入力される。また、減算器44の出力はテンポラリレ
ジスタ46a、46bへ入力され、比較器47の出力
は、現命令識別タグレジスタ42に入力されるよう構成
されている。
1bに対応して設定された更新タイミングレジスタ43
a、43bの値は、それぞれのテンポラリレジスタ46
a、46bに送られる。テンポラリレジスタ46a、4
6bの値は、交互あるいは同時に毎サイクル減算され、
結果は、それぞれのテンポラリレジスタ46a、46b
に下記戻される。また、このテンポラリレジスタ46
a、46bの値は比較器47に送られ、0になった方の
プログラムカウンタ51a(51b)の識別子が現命令
識別タグレジスタ42に送られる。または、それぞれの
テンポラリレジスタ46a、46bの値が比較器47で
比較され、小さい方のプログラムカウンタ識別子が現命
令識別タグレジスタ42に送られる。
(a)が、0になった方のプログラムカウンタ51a
(51b)の識別子を選択する場合、(b)が、テンポ
ラリレジスタ46a、46bの値を比較器47で比較
し、小さい方のプログラムカウンタ識別子を選択する場
合を示している。
aの値が5、更新タイミングレジスタ43bの値が3で
ある場合を示し、図面右側の数字がテンポラリレジスタ
46a、46bの値を示している。尚、テンポラリレジ
スタ46a、46bの値は矢印方向に変化していくもの
とする。また、(a)の場合、0になった次のサイクル
から、他方のテンポラリレジスタの値が0になるまでの
間を、そのテンポラリレジスタに対応したプログラムカ
ウンタの識別子を選択するものとする。尚、双方が0に
なった場合は、公知のバスアービトレーションの手法と
同様に、それまで選択していた以外の識別子を選択する
ものとする。これにより、(a)の場合、プログラムカ
ウンタ51a、51bの更新タイミングが、図中の太線
で示すサイクルの割合で行われることとなる。
ラリレジスタ46a、46bの値が等しくなった場合
は、それまで選択していた以外の識別子を選択するもの
とする。従って、(b)の場合もプログラムカウンタ5
1a、51bの更新タイミングは、図中、太線で示す割
合となる。
数の命令流に対して、実行の優先度を自由に与えること
が可能となる。
では、命令キャッシュ2において、キャッシュミスした
命令流は選択しないようにしたものである。
4cは、カウンタ41、現命令識別タグレジスタ42と
共に、ミスヒット中識別子レジスタ48を備えている。
このミスヒット中識別子レジスタ48は、現在ミスヒッ
ト中とそうでない識別子を保持するレジスタであり、信
号102を通じてキャッシュコントローラ2aから送ら
れてきたミスヒット識別子、完了識別子の信号により更
新する。即ち、現命令識別タグレジスタ42で保持する
現命令識別子は、信号103を通してキャッシュコント
ローラ2aに送られる。キャッシュコントローラ2aで
はアクセスが完了した識別子を信号102を通してプロ
グラムカウンタ制御部4cに返す。これにより、ミスヒ
ット中識別子レジスタ48は、ミスヒット識別子、完了
識別子を保持するよう構成されている。
に基づき、毎サイクル(あるいは毎アクセス)ごとにカ
ウントアップを行うが、ミスヒット中識別子レジスタ4
8を参照し、その命令流がミスヒット中であった場合
は、これに対応したプログラムカウンタ51a(51
b)の識別子を送らず、次のプログラムカウンタ51b
(51a)の識別子をPCユニット5に送る。即ち、現
命令識別タグレジスタ42が保持する現命令識別子がキ
ャッシュコントローラ2aに送られ、これがキャッシュ
ミスであった場合は、その命令がミスヒット中識別子レ
ジスタ48に保持される。これによりカウンタ41は、
カウントアップを行い、次のプログラムカウンタ51b
(51a)の識別子を選択する。従って、ミスヒット中
の命令は選択されず、次の命令の実行に進むよう処理さ
れる。
ット中の命令流は選択されず、キャッシュミスヒット処
理時間中は、他の命令流(他のプログラムカウンタ)の
処理を進めることができ、効率的な命令の実行が可能と
なる。
システムの具体例1を示す要部の構成図である。
の構成図である。
システムにおける具体例2の構成図である。
システムにおける具体例3の構成図である。
システムにおける具体例3の更新タイミングの説明図で
ある。
システムにおける具体例4の構成図である。
Claims (8)
- 【請求項1】 複数の命令を同時に実行可能な演算ユニ
ットに対して、複数の命令流を与える場合、 複数の命令流を、順次切り替えて与えることを特徴とす
るプロセッサの命令実行制御方法。 - 【請求項2】 複数の命令を同時に実行可能な演算ユニ
ットに対して与える複数の命令流に対応して設けられ、
これら複数の命令流を選択するためのプログラムカウン
タと、 前記複数のプログラムカウンタに対して、順次、対応す
る命令流を選択するよう制御を行うプログラムカウンタ
制御部とを備えたことを特徴とするプロセッサの命令実
行制御システム。 - 【請求項3】 複数の命令を同時に実行可能な演算ユニ
ットに対して、複数の命令流を与える場合、 複数の命令流を、複数の任意の命令実行単位で順次切り
替えることを特徴とするプロセッサの命令実行制御方
法。 - 【請求項4】 複数の命令を同時に実行可能な演算ユニ
ットに対して与える複数の命令流に対応して設けられ、
これら複数の命令流を選択するためのプログラムカウン
タと、 これら複数のプログラムカウンタに対して、順次、複数
の任意の命令実行単位で対応する命令流を選択するよう
制御を行うプログラムカウンタ制御部とを備えたことを
特徴とするプロセッサの命令実行制御システム。 - 【請求項5】 複数の命令を同時に実行可能な演算ユニ
ットに対して、複数の命令流を与える場合、 複数の命令流を、それぞれの命令流に対して重み付けし
た命令実行単位で順次切り替えることを特徴とするプロ
セッサの命令実行制御方法。 - 【請求項6】 複数の命令を同時に実行可能な演算ユニ
ットに対して与える複数の命令流に対応して設けられ、
これら複数の命令流を選択するためのプログラムカウン
タと、 これら複数のプログラムカウンタに対して、順次、それ
ぞれ重み付けした命令実行単位で命令流を選択するよう
制御を行うプログラムカウンタ制御部とを備えたことを
特徴とするプロセッサの命令実行制御システム。 - 【請求項7】 複数の命令流を命令キャッシュに格納
し、当該命令キャッシュから、前記複数の命令を同時に
実行可能な演算ユニットに対して、前記複数の命令流を
与える場合、 任意の命令が前記命令キャッシュにおいてミスヒットし
た場合、その命令を除き、順次、複数の命令流を切り替
えることを特徴とするプロセッサの命令実行制御方法。 - 【請求項8】 複数の命令を同時に実行可能な演算ユニ
ットに対して与える複数の命令流を格納する命令キャッ
シュと、 前記複数の命令流に対応して設けられ、これら複数の命
令流を選択するためのプログラムカウンタと、 任意の命令が前記命令キャッシュにおいてミスヒットし
た場合、その命令に対応したプログラムカウンタを除
き、前記複数のプログラムカウンタに対して、順次、命
令流を選択するよう制御を行うプログラムカウンタ制御
部とを備えたことを特徴とするプロセッサの命令実行制
御システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23477896A JP3625586B2 (ja) | 1996-07-22 | 1996-07-22 | プロセッサの命令実行制御システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP23477896A JP3625586B2 (ja) | 1996-07-22 | 1996-07-22 | プロセッサの命令実行制御システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1040102A true JPH1040102A (ja) | 1998-02-13 |
JP3625586B2 JP3625586B2 (ja) | 2005-03-02 |
Family
ID=16976233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP23477896A Expired - Fee Related JP3625586B2 (ja) | 1996-07-22 | 1996-07-22 | プロセッサの命令実行制御システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3625586B2 (ja) |
-
1996
- 1996-07-22 JP JP23477896A patent/JP3625586B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP3625586B2 (ja) | 2005-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8230144B1 (en) | High speed multi-threaded reduced instruction set computer (RISC) processor | |
US10203958B2 (en) | Streaming engine with stream metadata saving for context switching | |
US5872985A (en) | Switching multi-context processor and method overcoming pipeline vacancies | |
US6671827B2 (en) | Journaling for parallel hardware threads in multithreaded processor | |
US4740893A (en) | Method for reducing the time for switching between programs | |
JP2504830Y2 (ja) | デ―タ処理装置 | |
US5727227A (en) | Interrupt coprocessor configured to process interrupts in a computer system | |
US20040205747A1 (en) | Breakpoint for parallel hardware threads in multithreaded processor | |
WO2001016715A9 (en) | Branch instructions in a multithreaded parallel processing system | |
US7139899B2 (en) | Selected register decode values for pipeline stage register addressing | |
US20230185576A1 (en) | User mode event handling | |
US6957323B2 (en) | Operand file using pointers and reference counters and a method of use | |
US6275903B1 (en) | Stack cache miss handling | |
US5146570A (en) | System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution | |
US7761688B1 (en) | Multiple thread in-order issue in-order completion DSP and micro-controller | |
EP1039375A1 (en) | Method and apparatus for implementing zero overhead loops | |
JPH0248732A (ja) | 命令パイプライン方式のマイクロプロセッサ | |
US5615375A (en) | Interrupt control circuit | |
US20230359385A1 (en) | Quick clearing of registers | |
EP0952527B1 (en) | Interrupt processing | |
US6170050B1 (en) | Length decoder for variable length data | |
CN112540789B (zh) | 一种指令处理装置、处理器及其处理方法 | |
JP3625586B2 (ja) | プロセッサの命令実行制御システム | |
CN111984313A (zh) | 矢量位转置 | |
CN111984314A (zh) | 使用位反转顺序的矢量存储 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040824 |
|
A521 | Written amendment |
Effective date: 20041025 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Effective date: 20041116 Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Effective date: 20041130 Free format text: JAPANESE INTERMEDIATE CODE: A61 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |