JP2856703B2 - プロセッサ - Google Patents
プロセッサInfo
- Publication number
- JP2856703B2 JP2856703B2 JP8031811A JP3181196A JP2856703B2 JP 2856703 B2 JP2856703 B2 JP 2856703B2 JP 8031811 A JP8031811 A JP 8031811A JP 3181196 A JP3181196 A JP 3181196A JP 2856703 B2 JP2856703 B2 JP 2856703B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- stage
- register
- processor
- 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.)
- Expired - Lifetime
Links
Landscapes
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、プロセッサに関
し、特に、コンディションコードの内容に関わらず必ず
分岐しない分岐命令を縮退させ、処理を効率的に実施す
るプロセッサに関する。
し、特に、コンディションコードの内容に関わらず必ず
分岐しない分岐命令を縮退させ、処理を効率的に実施す
るプロセッサに関する。
【0002】
【従来の技術】従来ソフトウェアのデバッグなどで、分
岐命令を用いることは良く行われる手法である。この分
岐命令の内、コンディションコードの内容に関わらず必
ず分岐しない分岐命令は、ソフトウェアデバッグ時には
効果を発揮するが、通常、マシンが実際に稼働され始め
ても処理装置内で他の命令と同様にパイプラインを占有
して処理されることになる。
岐命令を用いることは良く行われる手法である。この分
岐命令の内、コンディションコードの内容に関わらず必
ず分岐しない分岐命令は、ソフトウェアデバッグ時には
効果を発揮するが、通常、マシンが実際に稼働され始め
ても処理装置内で他の命令と同様にパイプラインを占有
して処理されることになる。
【0003】この分岐命令ではなんの動作も行われるこ
とはないが一命令として処理を行っていた。
とはないが一命令として処理を行っていた。
【0004】
【0005】
【発明が解決しようとする課題】上述したように、従来
のプロセッサにおいては、ソフトウェア等の評価で良く
用いられる分岐命令のうち、コンディションコードの内
容に関わらず必ず分岐しない分岐命令については実際の
処理は他の命令と同様に処理を行い分岐判定をして最終
的に分岐せず次の命令を実行している。
のプロセッサにおいては、ソフトウェア等の評価で良く
用いられる分岐命令のうち、コンディションコードの内
容に関わらず必ず分岐しない分岐命令については実際の
処理は他の命令と同様に処理を行い分岐判定をして最終
的に分岐せず次の命令を実行している。
【0006】この処理によって、実稼動時には必要の無
い命令処理を行っているため、性能を低下させている。
い命令処理を行っているため、性能を低下させている。
【0007】本発明の目的は、ソフトウェア等の評価が
済み、実稼動に入ったときには、コンディションコード
の内容に関わらず必ず分岐しない命令を縮退させ、この
分岐命令の処理を行わないことにより実稼動時の処理性
能を低下させることの無いプロセッサを提供することに
ある。
済み、実稼動に入ったときには、コンディションコード
の内容に関わらず必ず分岐しない命令を縮退させ、この
分岐命令の処理を行わないことにより実稼動時の処理性
能を低下させることの無いプロセッサを提供することに
ある。
【0008】また、さらに、ソフトウェア等の評価時な
ど、縮退させずに実行させたい時には、上記の縮退を抑
止して、効率的にデバッグを実施可能とするプロセッサ
を提供することにある。
ど、縮退させずに実行させたい時には、上記の縮退を抑
止して、効率的にデバッグを実施可能とするプロセッサ
を提供することにある。
【0009】
【課題を解決するための手段】本発明の第1のプロセッ
サは、(a)メモリから取り出された命令を格納する第
1のレジスタと、(b)前記第1のレジスタからの命令
を整列する整列回路と、(c)前記整列回路からの命令
のオペレーションコードと分岐判定の際に参照される条
件フィールドとを解読し、命令格納抑止信号を作成する
第1のデコーダと、(d)前記命令格納抑止信号が起動
されていない場合に前記整列回路からの命令を格納する
第2のレジスタと、(e)前記命令格納抑止信号が起動
されていない場合に前記整列回路からの命令を格納する
命令キューバッファと、(f)前記第2のレジスタまた
は前記命令キューバッファのいずれかからの命令をデコ
ードする第2のデコーダと、を備える。
サは、(a)メモリから取り出された命令を格納する第
1のレジスタと、(b)前記第1のレジスタからの命令
を整列する整列回路と、(c)前記整列回路からの命令
のオペレーションコードと分岐判定の際に参照される条
件フィールドとを解読し、命令格納抑止信号を作成する
第1のデコーダと、(d)前記命令格納抑止信号が起動
されていない場合に前記整列回路からの命令を格納する
第2のレジスタと、(e)前記命令格納抑止信号が起動
されていない場合に前記整列回路からの命令を格納する
命令キューバッファと、(f)前記第2のレジスタまた
は前記命令キューバッファのいずれかからの命令をデコ
ードする第2のデコーダと、を備える。
【0010】本発明の第2のプロセッサは、第1のプロ
セッサであって、ソフトウェアデバッグ中であることを
示すソフトウェアデバッグ信号が起動されると、前記命
令格納抑止信号を無効とする回路を備える。
セッサであって、ソフトウェアデバッグ中であることを
示すソフトウェアデバッグ信号が起動されると、前記命
令格納抑止信号を無効とする回路を備える。
【0011】
【発明の実施の形態】次に本発明のプロセッサに関して
図面を参照して詳細に説明する。
図面を参照して詳細に説明する。
【0012】まず、図2および図3を用いて一般的な分
岐命令の処理動作を説明する。
岐命令の処理動作を説明する。
【0013】図2はプロセッサ内の一般的なパイプライ
ンステージの説明図である。
ンステージの説明図である。
【0014】Pステージにおいてプリフェッチされた命
令は、Dステージにおいて何の命令であるかデコードさ
れる。Aステージにおいては、命令の一部からアドレス
が生成される。Oステージにおいては、Aステージで求
められたアドレスによりオペランドデータが取り出され
る。次にEステージでこのオペランドデータに対する演
算が実行され、Wステージで目的レジスタへの書き込み
が行われる。PステージはDステージ以降のステージと
は異なり、次ステージの状態に左右されず命令のプリフ
ェッチを行っている。このように、命令1〜5が次々に
処理されていく。
令は、Dステージにおいて何の命令であるかデコードさ
れる。Aステージにおいては、命令の一部からアドレス
が生成される。Oステージにおいては、Aステージで求
められたアドレスによりオペランドデータが取り出され
る。次にEステージでこのオペランドデータに対する演
算が実行され、Wステージで目的レジスタへの書き込み
が行われる。PステージはDステージ以降のステージと
は異なり、次ステージの状態に左右されず命令のプリフ
ェッチを行っている。このように、命令1〜5が次々に
処理されていく。
【0015】次に図3の分岐命令のフォーマットを用い
て一般的な分岐命令の処理動作を説明する。
て一般的な分岐命令の処理動作を説明する。
【0016】図3を参照すると、分岐命令は、命令の種
類を識別するためのオペレーションコードと、分岐判定
時に参照されるビット群であるCFビットと、分岐成功
時の分岐先アドレスの一部として使用されるアドレスシ
ラブル(AS)との3フィールドから構成される。
類を識別するためのオペレーションコードと、分岐判定
時に参照されるビット群であるCFビットと、分岐成功
時の分岐先アドレスの一部として使用されるアドレスシ
ラブル(AS)との3フィールドから構成される。
【0017】通常、分岐命令がPステージでフェッチさ
れ、Dステージに送られるとオペレーションコードによ
り何の命令であるかが判別されるが、この場合は分岐命
令と判断される。
れ、Dステージに送られるとオペレーションコードによ
り何の命令であるかが判別されるが、この場合は分岐命
令と判断される。
【0018】次にAステージで、アドレスシラブル(A
S)を用いて論理アドレス生成が行われ、かつ、論理ア
ドレスから物理アドレス変換が行われる。Oステージで
分岐先の命令が取り出される。Eステージでは、分岐命
令以外の演算命令等によりコンディションコード(以
下、CC)の生成が行われる。
S)を用いて論理アドレス生成が行われ、かつ、論理ア
ドレスから物理アドレス変換が行われる。Oステージで
分岐先の命令が取り出される。Eステージでは、分岐命
令以外の演算命令等によりコンディションコード(以
下、CC)の生成が行われる。
【0019】次のWステージでは、すでに確定したCC
とCFビットとの比較により分岐判定が行われる。この
分岐判定はCCとCFビットによって行われる。CCで
ある値が決定する。この値はCFの各ビットに対応して
いる。
とCFビットとの比較により分岐判定が行われる。この
分岐判定はCCとCFビットによって行われる。CCで
ある値が決定する。この値はCFの各ビットに対応して
いる。
【0020】たとえば、CCの取り得る値を“0”、
“1”、“2”、“3”とする。この時CFビットは4
ビットであり、いまCCが“0”であったとするとCF
ビット中の0ビット目が参照され、このビットが“1”
であれば次命令は分岐先アドレスにある命令となる。
“1”、“2”、“3”とする。この時CFビットは4
ビットであり、いまCCが“0”であったとするとCF
ビット中の0ビット目が参照され、このビットが“1”
であれば次命令は分岐先アドレスにある命令となる。
【0021】逆に“0”であれば分岐せず次の命令とな
る。
る。
【0022】以上が、一般的なパイプラインステージの
イメージと、そのパイプラインによって実行される分岐
命令の処理方法である。
イメージと、そのパイプラインによって実行される分岐
命令の処理方法である。
【0023】本発明は、Pステージでの処理方法に関わ
っている。
っている。
【0024】次に、本発明のプロセッサの構成と動作と
について図1および図4を参照して説明する。
について図1および図4を参照して説明する。
【0025】図1は、本発明のプリフェッチステージ
(Pステージ)と、デコードステージ(Dステージ)の
回路を示すブロック図である。
(Pステージ)と、デコードステージ(Dステージ)の
回路を示すブロック図である。
【0026】レジスタ1は、主記憶または高速バッファ
メモリから読み出された命令が格納されるレジスタで、
格納された命令は整列回路であるアライナ2を介してレ
ジスタ4または、命令キューバッファ5に整列された形
で格納される。ここまでがPステージである。
メモリから読み出された命令が格納されるレジスタで、
格納された命令は整列回路であるアライナ2を介してレ
ジスタ4または、命令キューバッファ5に整列された形
で格納される。ここまでがPステージである。
【0027】レジスタ4または命令キューバッファ5に
格納された命令はデコーダ6へ入力され、デコードの処
理がなされる。レジスタ4または命令キューバッファ5
からの読み出し以降がDステージである。以後、前述し
たパイプライン処理を経て命令の実行が行われる。
格納された命令はデコーダ6へ入力され、デコードの処
理がなされる。レジスタ4または命令キューバッファ5
からの読み出し以降がDステージである。以後、前述し
たパイプライン処理を経て命令の実行が行われる。
【0028】ここで、アライナ2において出力される整
列された命令のオペレーションコードならびにCFビッ
トを入力とするデコーダ3によって、整列された命令が
レジスタ4または命令キューバッファ5にセットされる
べきかそうでないかが判別される。
列された命令のオペレーションコードならびにCFビッ
トを入力とするデコーダ3によって、整列された命令が
レジスタ4または命令キューバッファ5にセットされる
べきかそうでないかが判別される。
【0029】デコーダ3では、入力されたオペレーショ
ンコードにより分岐命令であるかどうかと、入力された
CFビットが全て“0”かどうかが識別される。デコー
ダ3は、入力された命令が分岐命令でかつ、CFビット
が全て“0”である時は命令格納抑止信号を起動し、前
述したレジスタ4または命令キューバッファ5にこの命
令を格納するのを抑止する。
ンコードにより分岐命令であるかどうかと、入力された
CFビットが全て“0”かどうかが識別される。デコー
ダ3は、入力された命令が分岐命令でかつ、CFビット
が全て“0”である時は命令格納抑止信号を起動し、前
述したレジスタ4または命令キューバッファ5にこの命
令を格納するのを抑止する。
【0030】これによりこの命令はDステージのデコー
ダ6に入力されることはなく、Dステージ以降の処理を
しないことになる。すなわち、この命令が分岐命令で、
なおかつ上述した分岐判定方法によると分岐不成功、つ
まり必ず分岐しない命令であるため、命令のプリフェッ
チ(Pステージ)の段階で廃棄すなわち縮退される。
ダ6に入力されることはなく、Dステージ以降の処理を
しないことになる。すなわち、この命令が分岐命令で、
なおかつ上述した分岐判定方法によると分岐不成功、つ
まり必ず分岐しない命令であるため、命令のプリフェッ
チ(Pステージ)の段階で廃棄すなわち縮退される。
【0031】図4は、本発明の別のプロセッサのブロッ
ク図である。
ク図である。
【0032】図4のプロセッサは図1のプロセッサに対
してデコーダ7と信号線8とが付加されている。
してデコーダ7と信号線8とが付加されている。
【0033】デコーダ7は、デコーダ3から出力される
命令格納抑止信号9と、判別対象としている命令がソフ
トウェアデバッグ用の命令であることを示す識別信号8
とを入力する。そして、上述したデコーダ3での処理で
分岐命令でかつ分岐不成功(CFビットが全て“0”)
すなわち必ず分岐せず、なおかつソフトウェアデバッグ
中であるならば、レジスタ4または命令キューバッファ
5への格納抑止を無効とし、命令のレジスタ4または命
令キューバッファ5への格納を行う。逆に、分岐命令で
かつ分岐不成功であり、さらにソフトウェアデバッグ中
でないときはレジスタ4または命令キューバッファ5へ
の命令の格納を抑止する。これは、命令格納抑止信号1
0によって実現される。
命令格納抑止信号9と、判別対象としている命令がソフ
トウェアデバッグ用の命令であることを示す識別信号8
とを入力する。そして、上述したデコーダ3での処理で
分岐命令でかつ分岐不成功(CFビットが全て“0”)
すなわち必ず分岐せず、なおかつソフトウェアデバッグ
中であるならば、レジスタ4または命令キューバッファ
5への格納抑止を無効とし、命令のレジスタ4または命
令キューバッファ5への格納を行う。逆に、分岐命令で
かつ分岐不成功であり、さらにソフトウェアデバッグ中
でないときはレジスタ4または命令キューバッファ5へ
の命令の格納を抑止する。これは、命令格納抑止信号1
0によって実現される。
【0034】
【発明の効果】以上説明したように、本発明のプロセッ
サは、図1、図4で示したように、(1)実際に命令の
解読を行う前の先行フェッチ(Pステージ)で、コンデ
ィションコードの内容に関わらず必ず分岐しない命令で
あるか否かを判別し、もし、必ず分岐しない命令であれ
ば、この分岐命令を命令実行フェーズ(Dステージ以
降)に送らず、不要なパイプライン占有を防ぐことによ
り、(2)また、ソフトウェアデバッグ時など、縮退さ
せずに実行させたいときは(1)で述べた動作を抑止す
る手段を持つことにより、デバッグ時以外には省略可能
な命令は処理を行わず命令を縮退させ、実稼動時の処理
を効率よく行うことができる。
サは、図1、図4で示したように、(1)実際に命令の
解読を行う前の先行フェッチ(Pステージ)で、コンデ
ィションコードの内容に関わらず必ず分岐しない命令で
あるか否かを判別し、もし、必ず分岐しない命令であれ
ば、この分岐命令を命令実行フェーズ(Dステージ以
降)に送らず、不要なパイプライン占有を防ぐことによ
り、(2)また、ソフトウェアデバッグ時など、縮退さ
せずに実行させたいときは(1)で述べた動作を抑止す
る手段を持つことにより、デバッグ時以外には省略可能
な命令は処理を行わず命令を縮退させ、実稼動時の処理
を効率よく行うことができる。
【図1】本発明のプロセッサのPステージとDステージ
の回路を示すブロック図である。
の回路を示すブロック図である。
【図2】一般的なデータプロセッサのパイプラインステ
ージでの処理の説明図である。
ージでの処理の説明図である。
【図3】分岐命令の命令のフォーマット図である。
【図4】本発明の別のプロセッサのPステージとDステ
ージの回路を示すブロック図である。
ージの回路を示すブロック図である。
1、4 レジスタ 2 アライナ 3、6、7 デコーダ 5 命令キューバッファ 8 識別信号 9 命令格納抑止信号 10 命令格納抑止信号
Claims (2)
- 【請求項1】(a)メモリから取り出された命令を格納
する第1のレジスタと、(b)前記第1のレジスタから
の命令を整列する整列回路と、(c)前記整列回路から
の命令のオペレーションコードと分岐判定の際に参照さ
れる条件フィールドとを解読し、命令格納抑止信号を作
成する第1のデコーダと、(d)前記命令格納抑止信号
が起動されていない場合に前記整列回路からの命令を格
納する第2のレジスタと、(e)前記命令格納抑止信号
が起動されていない場合に前記整列回路からの命令を格
納する命令キューバッファと、(f)前記第2のレジス
タまたは前記命令キューバッファのいずれかからの命令
をデコードする第2のデコーダと、を有することを特徴
とするプロセッサ。 - 【請求項2】 ソフトウェアデバッグ中であることを示
すソフトウェアデバッグ信号が起動されると、前記命令
格納抑止信号を無効とする回路を有することを特徴とす
る請求項1記載のプロセッサ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8031811A JP2856703B2 (ja) | 1996-02-20 | 1996-02-20 | プロセッサ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8031811A JP2856703B2 (ja) | 1996-02-20 | 1996-02-20 | プロセッサ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09223014A JPH09223014A (ja) | 1997-08-26 |
JP2856703B2 true JP2856703B2 (ja) | 1999-02-10 |
Family
ID=12341486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8031811A Expired - Lifetime JP2856703B2 (ja) | 1996-02-20 | 1996-02-20 | プロセッサ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2856703B2 (ja) |
-
1996
- 1996-02-20 JP JP8031811A patent/JP2856703B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH09223014A (ja) | 1997-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5479616A (en) | Exception handling for prefetched instruction bytes using valid bits to identify instructions that will cause an exception | |
US5561775A (en) | Parallel processing apparatus and method capable of processing plural instructions in parallel or successively | |
JP2603626B2 (ja) | データ処理装置 | |
US6289445B2 (en) | Circuit and method for initiating exception routines using implicit exception checking | |
US8171266B2 (en) | Look-ahead load pre-fetch in a processor | |
JP3130446B2 (ja) | プログラム変換装置及びプロセッサ | |
US6189093B1 (en) | System for initiating exception routine in response to memory access exception by storing exception information and exception bit within architectured register | |
EP1770507A2 (en) | Pipeline processing based on RISC architecture | |
JPH056894B2 (ja) | ||
JP2856703B2 (ja) | プロセッサ | |
JP2001306334A (ja) | エミュレーション装置 | |
KR19980024622A (ko) | 프로그램 실행 방법 및 그 방법을 이용한 장치 | |
US7779236B1 (en) | Symbolic store-load bypass | |
JP2878526B2 (ja) | プリフェッチ制御方式 | |
JP3739556B2 (ja) | 情報処理装置 | |
JP2915680B2 (ja) | Riscプロセッサ | |
JPH0954694A (ja) | パイプラインプロセッサおよびその処理方法 | |
JP2689894B2 (ja) | マイクロプログラム制御型情報処理装置 | |
JPH0248733A (ja) | 情報処理装置 | |
JP3102846B2 (ja) | ロードアドレスキャッシュ装置及び方法 | |
JPH10154072A (ja) | パイプライン処理装置 | |
JP2559416B2 (ja) | 情報処理装置 | |
JP2835179B2 (ja) | 並列処理計算機 | |
JPH07191879A (ja) | デバッグ用命令の実行機能を有するマイクロプロセッサおよびデバッグ方法 | |
JPH03177926A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19981027 |