JPH0324624A - マイクロプロセツサ - Google Patents
マイクロプロセツサInfo
- Publication number
- JPH0324624A JPH0324624A JP15886689A JP15886689A JPH0324624A JP H0324624 A JPH0324624 A JP H0324624A JP 15886689 A JP15886689 A JP 15886689A JP 15886689 A JP15886689 A JP 15886689A JP H0324624 A JPH0324624 A JP H0324624A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- address
- stage
- branch destination
- 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
Links
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
この発明は.パイプライン構成のマイクロプロセッサ.
特にその分岐命令実行の高速化に関するものである。
特にその分岐命令実行の高速化に関するものである。
従来の技術を説明するために.例として5段のパイプラ
イン構成をもつマイクロプロセッサヲトシあげる。パイ
プラインの内訳は,IFステージ,IDステージ,AD
Hステージ,AI,Uステージ.WBステージであ#)
,IF’ステージでは命令のフエッチ,IDステージで
は命令のデコード, ADRステージではレジスタから
の読み出しと有効アドレスの計算,ALUステージでは
ALUの動作とメモリへのアクセス,WBステージでは
ALUの結果またはメモリから読み出したデータのレジ
スタへの書込みをそれぞれ1サイクルで実行する。
イン構成をもつマイクロプロセッサヲトシあげる。パイ
プラインの内訳は,IFステージ,IDステージ,AD
Hステージ,AI,Uステージ.WBステージであ#)
,IF’ステージでは命令のフエッチ,IDステージで
は命令のデコード, ADRステージではレジスタから
の読み出しと有効アドレスの計算,ALUステージでは
ALUの動作とメモリへのアクセス,WBステージでは
ALUの結果またはメモリから読み出したデータのレジ
スタへの書込みをそれぞれ1サイクルで実行する。
また命令の種類はレジスタ間の演算命令,分岐命令.メ
モリへのアクセス命令の3種類である。
モリへのアクセス命令の3種類である。
第3図はこのようなマイクロプロセッサにおいて分岐命
令実行に関係する部分を示すブロック図であり.図にか
いて(1)はフエツチする命令のアドレスを保持するプ
ログラムカウンタ.(2}はプログラムカウンタ(1)
の命令アドレスを外部へ出力するアドレスバス.(3)
は各ステージで実行されている命令のアドレスを保持す
るパッファ.(4)はパッフア{3》の出力と分岐命令
の変位とを加え分岐先アドレスを計算する加算器.(5
}はメモリから読み出した命令やデータを入力するデー
タバス.(6)はデータバス(5)経由でフエツチした
命令を保持する命令レジスタ.(7)は命令レジスタ(
6)の内容をデコードするデコータ.(8》はデコーダ
《7》の出力の一部である分岐命令の変位を保持するパ
ツファ.(9)はデコーダ《7》の出力であるコントロ
ール信号によって制御されている演算実行部で.その内
部のαIはレジxp.auはALU,α2はALU(1
11の結果によって分岐条件の成立・不或立を判定する
判定回路である。
令実行に関係する部分を示すブロック図であり.図にか
いて(1)はフエツチする命令のアドレスを保持するプ
ログラムカウンタ.(2}はプログラムカウンタ(1)
の命令アドレスを外部へ出力するアドレスバス.(3)
は各ステージで実行されている命令のアドレスを保持す
るパッファ.(4)はパッフア{3》の出力と分岐命令
の変位とを加え分岐先アドレスを計算する加算器.(5
}はメモリから読み出した命令やデータを入力するデー
タバス.(6)はデータバス(5)経由でフエツチした
命令を保持する命令レジスタ.(7)は命令レジスタ(
6)の内容をデコードするデコータ.(8》はデコーダ
《7》の出力の一部である分岐命令の変位を保持するパ
ツファ.(9)はデコーダ《7》の出力であるコントロ
ール信号によって制御されている演算実行部で.その内
部のαIはレジxp.auはALU,α2はALU(1
11の結果によって分岐条件の成立・不或立を判定する
判定回路である。
次にこの従来例の分岐命令時の動作を説明する。
1番地が分岐命令であった場合.条件成立ならばj番地
に分岐し不成立ならば次の(S+1)番地を実行しなけ
ればならない。まず最初のサイクルではIPステージで
プログラムカウンタ《1)のアドレ2iがアドレスバス
(2》から出力され命令レジスタ(6)にデータバス(
5》を経由してi番地の分岐命令が入る。2番目のサイ
クルではIDステージでデコーダ(7)により分岐命令
がデコードされ.またIPステージで命令レジスタ(6
)には(1+1)番地の命令が入る。3番目のサイクル
ではADHステージでレジスタalからデータが胱み出
され.4番目のサイクルではALUステージでALUa
l)で演算が実行され分岐条件が判定回路a番で判定さ
れる。またADHステージで加算器《4》にようパッフ
ァ(8)の分岐命令の変位とバツファ(3)のアドレス
lとから分岐先アドレスが計算される。5番目のサイク
ルでは.もし条件不成立ならばALUステージでつづけ
て(i+1)番地の命令が実行されるが.条件成立であ
ればプログラムカウンタ(1)には分岐先アドレスが入
り命令レジスタ(6)にはj番地の命令が入る。同時に
!Dステージ以降にある命令は無効にされる。以上の動
作についてサイクルごとの各ステージの命令を表にする
と次のようになる。
に分岐し不成立ならば次の(S+1)番地を実行しなけ
ればならない。まず最初のサイクルではIPステージで
プログラムカウンタ《1)のアドレ2iがアドレスバス
(2》から出力され命令レジスタ(6)にデータバス(
5》を経由してi番地の分岐命令が入る。2番目のサイ
クルではIDステージでデコーダ(7)により分岐命令
がデコードされ.またIPステージで命令レジスタ(6
)には(1+1)番地の命令が入る。3番目のサイクル
ではADHステージでレジスタalからデータが胱み出
され.4番目のサイクルではALUステージでALUa
l)で演算が実行され分岐条件が判定回路a番で判定さ
れる。またADHステージで加算器《4》にようパッフ
ァ(8)の分岐命令の変位とバツファ(3)のアドレス
lとから分岐先アドレスが計算される。5番目のサイク
ルでは.もし条件不成立ならばALUステージでつづけ
て(i+1)番地の命令が実行されるが.条件成立であ
ればプログラムカウンタ(1)には分岐先アドレスが入
り命令レジスタ(6)にはj番地の命令が入る。同時に
!Dステージ以降にある命令は無効にされる。以上の動
作についてサイクルごとの各ステージの命令を表にする
と次のようになる。
以上のように従来のパイプライン構成のマイクロプロセ
ッサは分岐命令にかいて条件或立が判定されてから分岐
先の命令をフエツチするので.分岐しない場合は通常の
演算命令と同様に次命令の実行に遅れはないが.分岐す
る場合は3サイクルの遅れが生じるという課題があった
。
ッサは分岐命令にかいて条件或立が判定されてから分岐
先の命令をフエツチするので.分岐しない場合は通常の
演算命令と同様に次命令の実行に遅れはないが.分岐す
る場合は3サイクルの遅れが生じるという課題があった
。
この発明は上記の課題を解消するためになされたもので
.分岐する場合でも少ないサイクルで分岐できるマイク
ロプロセッサを得ることを目的とする。
.分岐する場合でも少ないサイクルで分岐できるマイク
ロプロセッサを得ることを目的とする。
この発明のマイクロプロセッサは分岐先命令をフエツチ
・デコードするための専用のアドレスバス・データバス
とプログラムカウンタと命令レジスタとデコーダとを設
けるととも゛に.条件判定の結果によってデコード結果
であるコントロール信号を切b替えるセレクタを設けた
ものである。
・デコードするための専用のアドレスバス・データバス
とプログラムカウンタと命令レジスタとデコーダとを設
けるととも゛に.条件判定の結果によってデコード結果
であるコントロール信号を切b替えるセレクタを設けた
ものである。
この発明のマイクロプロセッサは専用のプログラムカウ
ンタと命令レジスタとデコーダを使って次命令と同時に
分岐先命令をフエツチ・デコードし.セレクタによって
条件判定後ただちにコントロール信号を分岐命令に切b
替えることにより.分岐する場合の遅れを少なくする。
ンタと命令レジスタとデコーダを使って次命令と同時に
分岐先命令をフエツチ・デコードし.セレクタによって
条件判定後ただちにコントロール信号を分岐命令に切b
替えることにより.分岐する場合の遅れを少なくする。
以下,この発明の実總例を図について説明する。
第1図において, (1)−amは上記従来例と同一ま
たは相当部分であ!),a9は分岐先アドレスを保持す
るプログラムカウンタ.a●は分岐先アドレスを出力す
る専用のアドレスバス. (1?lは分岐先命令をフエ
ツチする専用のデータバス. +1!1は分岐先命令を
保持する命令レジスタ.a*は命令レジスタα場ノ内容
をデコードするデコーダ.(至)は判定回路a#にした
がって2つのデコーダ(7)α9の出力であるコントロ
ール信号を切り替えるセレクタである。第2図はこの発
明のマイクロプロセッサを使ったシステム構成例を示す
ブロック図であり.(イ)は第1図にしめしたマイクロ
プロセッサ.(ロ)はアドレスバスとデータバスをそれ
ぞれ2重にもつデュアルボートメモリである。
たは相当部分であ!),a9は分岐先アドレスを保持す
るプログラムカウンタ.a●は分岐先アドレスを出力す
る専用のアドレスバス. (1?lは分岐先命令をフエ
ツチする専用のデータバス. +1!1は分岐先命令を
保持する命令レジスタ.a*は命令レジスタα場ノ内容
をデコードするデコーダ.(至)は判定回路a#にした
がって2つのデコーダ(7)α9の出力であるコントロ
ール信号を切り替えるセレクタである。第2図はこの発
明のマイクロプロセッサを使ったシステム構成例を示す
ブロック図であり.(イ)は第1図にしめしたマイクロ
プロセッサ.(ロ)はアドレスバスとデータバスをそれ
ぞれ2重にもつデュアルボートメモリである。
次に実施例の分岐命令時の動作を説明する。i番地が分
岐命令であった場合.2番目のサイクルまでは従来例と
同じである。3番目のサイクルではADHステージでレ
ジスタα●からデータが読み出される またIPステー
ジで加算器(4)により分岐命令の変化とバツファ(3
)のアドレス量とから計算された分岐先アドレスがアド
レスバスα●かラ出力され.一方プログラムカウンタ(
!》のアドレス(1+2)がアドレスバス{2》から出
刀される。デュアルボートメモリ(ロ)から胱み出され
た分岐先命令はデータバスaカ経由で命令レジスタaI
Iに入シ.並行して読み出された(l+2)番地の命令
はデータバス(5)経由で命令レジスタ(6)に入る。
岐命令であった場合.2番目のサイクルまでは従来例と
同じである。3番目のサイクルではADHステージでレ
ジスタα●からデータが読み出される またIPステー
ジで加算器(4)により分岐命令の変化とバツファ(3
)のアドレス量とから計算された分岐先アドレスがアド
レスバスα●かラ出力され.一方プログラムカウンタ(
!》のアドレス(1+2)がアドレスバス{2》から出
刀される。デュアルボートメモリ(ロ)から胱み出され
た分岐先命令はデータバスaカ経由で命令レジスタaI
Iに入シ.並行して読み出された(l+2)番地の命令
はデータバス(5)経由で命令レジスタ(6)に入る。
4番目のサイクルではALUステージでALUallで
演算が実行され分岐条件が判定回路(14で判定される
。IDステージでj番地と(j+2)番地の命令はそれ
ぞれデコータ(7) !11でデコードされる。1たI
Fステージで( j+1 )番地と(i+3)番地の命
令がそれぞれ命令レジスタ(6)α[有]に入る。5番
目のサイクルでは.もし条件不成立ならばALUステー
ジでつづけて( i+i )番地の命令が実行されるが
.条件成立であればセレクタ■が切り替わってデコーダ
a!Jの出力がコントロール信号として演算実行部(9
)に与えられる。同時にALUステージ以降にある命令
は無効にされる。以上の動作についてサイクルごとの各
ステージの命令を表にすると次のようになる。
演算が実行され分岐条件が判定回路(14で判定される
。IDステージでj番地と(j+2)番地の命令はそれ
ぞれデコータ(7) !11でデコードされる。1たI
Fステージで( j+1 )番地と(i+3)番地の命
令がそれぞれ命令レジスタ(6)α[有]に入る。5番
目のサイクルでは.もし条件不成立ならばALUステー
ジでつづけて( i+i )番地の命令が実行されるが
.条件成立であればセレクタ■が切り替わってデコーダ
a!Jの出力がコントロール信号として演算実行部(9
)に与えられる。同時にALUステージ以降にある命令
は無効にされる。以上の動作についてサイクルごとの各
ステージの命令を表にすると次のようになる。
以上のように,本発明のマイクロプロセッサは分岐命令
にかいて分岐先の命令と次命令を並行してフエツチしデ
コードできるように構成したので.条件成立が判定され
てからすぐに分岐先命令の実行に切り替えられ.分岐す
る場合の遅れが1サイクルですむという効果がある。も
ちろん分岐しない場合は従来と同様に遅れはない。
にかいて分岐先の命令と次命令を並行してフエツチしデ
コードできるように構成したので.条件成立が判定され
てからすぐに分岐先命令の実行に切り替えられ.分岐す
る場合の遅れが1サイクルですむという効果がある。も
ちろん分岐しない場合は従来と同様に遅れはない。
第1図はこの発明の一実施例によるマイクロプロセッサ
をしめすブロック図.第2図はこの発明のマイクロプロ
セッサを使ったシステム構成例をしめずブロック図.第
3図は従来例のマイクロプロセッサをしめずブロック図
である。 鯛は分岐先アドレスを保持するプログラムヵウンタ.
aeは分岐先アドレスを出力する専用アドレスバス.a
つは分岐先命令をフエツチする専用のデータバス.a瞳
は分岐先命令を保持する命令レジスタ.aIは命令レジ
スタa樽の内容をデコードするデコーダ.(1)は判定
回路0にしたがって2つのデコ一ダ(?) alの出力
を切り替えるセレクタである。 なお. 各図中同一符号は同一または相当部分を示す。
をしめすブロック図.第2図はこの発明のマイクロプロ
セッサを使ったシステム構成例をしめずブロック図.第
3図は従来例のマイクロプロセッサをしめずブロック図
である。 鯛は分岐先アドレスを保持するプログラムヵウンタ.
aeは分岐先アドレスを出力する専用アドレスバス.a
つは分岐先命令をフエツチする専用のデータバス.a瞳
は分岐先命令を保持する命令レジスタ.aIは命令レジ
スタa樽の内容をデコードするデコーダ.(1)は判定
回路0にしたがって2つのデコ一ダ(?) alの出力
を切り替えるセレクタである。 なお. 各図中同一符号は同一または相当部分を示す。
Claims (1)
- パイプライン構成のマイクロプロセツサにおいて、分岐
命令の分岐先アドレスを保持するプログラムカウンタと
分岐先アドレスを出力する専用のアドレスバスと、分岐
先命令を入力する専用のデータバスと、分岐先命令を保
持する命令レジスタと、この命令レジスタの命令をデコ
ードするデコーダと、このデコーダの出力であるコント
ロール信号と通常の命令シーケンスのコントロール信号
とを分岐条件によつて切り替えるセレクタとを備えたマ
イクロプロセツサ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15886689A JPH0324624A (ja) | 1989-06-21 | 1989-06-21 | マイクロプロセツサ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP15886689A JPH0324624A (ja) | 1989-06-21 | 1989-06-21 | マイクロプロセツサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0324624A true JPH0324624A (ja) | 1991-02-01 |
Family
ID=15681114
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP15886689A Pending JPH0324624A (ja) | 1989-06-21 | 1989-06-21 | マイクロプロセツサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0324624A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06124205A (ja) * | 1992-10-12 | 1994-05-06 | Matsushita Electric Ind Co Ltd | 命令プリフェッチ装置 |
| KR100480384B1 (ko) * | 1997-11-22 | 2005-07-18 | 엘지산전 주식회사 | 피엘씨전용마이크로프로세서의프로그램제어방법 |
-
1989
- 1989-06-21 JP JP15886689A patent/JPH0324624A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06124205A (ja) * | 1992-10-12 | 1994-05-06 | Matsushita Electric Ind Co Ltd | 命令プリフェッチ装置 |
| KR100480384B1 (ko) * | 1997-11-22 | 2005-07-18 | 엘지산전 주식회사 | 피엘씨전용마이크로프로세서의프로그램제어방법 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH07129413A (ja) | 割込み処理装置 | |
| US20250044975A1 (en) | Quick clearing of registers | |
| JPH05100948A (ja) | 2乗演算を実行する速度改良型データ処理システム及びその方法 | |
| JPH02287626A (ja) | パイプライン方式の分岐命令制御装置 | |
| JPH0324624A (ja) | マイクロプロセツサ | |
| US6003127A (en) | Pipeline processing apparatus for reducing delays in the performance of processing operations | |
| US7134000B2 (en) | Methods and apparatus for instruction alignment including current instruction pointer logic responsive to instruction length information | |
| JP2798121B2 (ja) | データ処理装置 | |
| JP2581565B2 (ja) | ガード付命令を実行するデータ処理装置 | |
| JPH0218729B2 (ja) | ||
| JPH09101888A (ja) | マイクロプロセッサ | |
| US6934728B2 (en) | Euclidean distance instructions | |
| JPH0241770B2 (ja) | ||
| JPS6134168B2 (ja) | ||
| JPH01271842A (ja) | 情報処理装置 | |
| JPH05241825A (ja) | マイクロプロセッサ | |
| JPH0424731B2 (ja) | ||
| JPH0517574B2 (ja) | ||
| JP2867798B2 (ja) | 先行制御装置 | |
| JPH0472253B2 (ja) | ||
| JPH0227429A (ja) | パイプライン制御方式 | |
| JPH0855033A (ja) | 情報処理装置 | |
| JPH06324867A (ja) | 情報処理装置 | |
| JPH10283182A (ja) | パイプライン型情報処理装置 | |
| JPH10320199A (ja) | 条件実行命令を有するマイクロプロセッサ |