JPH06301532A - マイクロプロセッサ装置 - Google Patents
マイクロプロセッサ装置Info
- Publication number
- JPH06301532A JPH06301532A JP9136093A JP9136093A JPH06301532A JP H06301532 A JPH06301532 A JP H06301532A JP 9136093 A JP9136093 A JP 9136093A JP 9136093 A JP9136093 A JP 9136093A JP H06301532 A JPH06301532 A JP H06301532A
- Authority
- JP
- Japan
- Prior art keywords
- address
- program counter
- stored
- selector
- instruction
- 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)
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【目的】 従来と比べ回路規模が削減されたマイクロプ
ロセッサ装置を提供する。 【構成】 分岐命令の際、演算器で演算されたアドレス
をプログラムカウンタ以外の内部レジスタに一旦格納
し、その内部レジスタの内容をアドレスとして出力し、
そのアドレスをインクリメントしてプログラムカウンタ
に格納する。
ロセッサ装置を提供する。 【構成】 分岐命令の際、演算器で演算されたアドレス
をプログラムカウンタ以外の内部レジスタに一旦格納
し、その内部レジスタの内容をアドレスとして出力し、
そのアドレスをインクリメントしてプログラムカウンタ
に格納する。
Description
【0001】
【産業上の利用分野】本発明は、分岐命令を含む多数の
命令を順次実行するマイクロプロセッサ装置(以下、
「MPU」と略記することがある)に関する。
命令を順次実行するマイクロプロセッサ装置(以下、
「MPU」と略記することがある)に関する。
【0002】
【従来の技術】近年のLSI技術の発達により1つのL
SIに中央演算処理装置(CPU)を集積したMPUが
一般的になっている。図3は、従来のMPUのデータパ
スの模式図である。このデータパスには、プログラムカ
ウンタ11と、プログラムカウンタ11以外の複数(こ
の例では5個)の内部レジスタ12_1,12_2,
…,12_5が備えられている。
SIに中央演算処理装置(CPU)を集積したMPUが
一般的になっている。図3は、従来のMPUのデータパ
スの模式図である。このデータパスには、プログラムカ
ウンタ11と、プログラムカウンタ11以外の複数(こ
の例では5個)の内部レジスタ12_1,12_2,
…,12_5が備えられている。
【0003】通常の一般的な動作の際は、先ずプログラ
ムカウンタ11の内容PCがセレクタ13を経由しさら
にアドレスバスを経由してアドレスADとして出力さ
れ、そのアドレスに格納された命令が読み込まれる(こ
れを「命令フェッチサイクル」と称する。)。またそれ
とともにインクリメンタ14によりプログラムカウンタ
11の出力PCが1だけインクリメントされ、セレクタ
15を経由して再度プログラムカウンタ11に格納され
る。
ムカウンタ11の内容PCがセレクタ13を経由しさら
にアドレスバスを経由してアドレスADとして出力さ
れ、そのアドレスに格納された命令が読み込まれる(こ
れを「命令フェッチサイクル」と称する。)。またそれ
とともにインクリメンタ14によりプログラムカウンタ
11の出力PCが1だけインクリメントされ、セレクタ
15を経由して再度プログラムカウンタ11に格納され
る。
【0004】その後、2つのセレクタ16_1,16_
2により、プログラムカウンタ11および内部レジスタ
12_1,12_2,…,12_5のうちの2つが選択
され、それら選択された2つの内部レジスタ等の内容が
演算器17に入力され、直前に読み出された命令に従っ
て種々の演算が行なわれる。ここで、セレクタ13によ
り、プログラムカウンタ11の内容だけでなく、他の内
部レジスタ12_1,12_2,…,12_5の内容も
アドレスADとして出力されるのは、内部レジスタ12
_1,12_2,…,12_5にアドレスを格納してそ
のアドレスにデータを書込み、もしくはそのアドレスか
らデータを読み込む必要があるからであり、したがって
このセレクタ13は必ず備えられる。
2により、プログラムカウンタ11および内部レジスタ
12_1,12_2,…,12_5のうちの2つが選択
され、それら選択された2つの内部レジスタ等の内容が
演算器17に入力され、直前に読み出された命令に従っ
て種々の演算が行なわれる。ここで、セレクタ13によ
り、プログラムカウンタ11の内容だけでなく、他の内
部レジスタ12_1,12_2,…,12_5の内容も
アドレスADとして出力されるのは、内部レジスタ12
_1,12_2,…,12_5にアドレスを格納してそ
のアドレスにデータを書込み、もしくはそのアドレスか
らデータを読み込む必要があるからであり、したがって
このセレクタ13は必ず備えられる。
【0005】ここで、アドレス間の距離dだけジャンプ
する相対分岐命令、即ちプログラムカウンタ11の内容
PCをPC+dに変更する命令を実行する場合、演算器
17に、プログラムカウンタ11の内容PCと例えば内
部レジスタ12_1に格納された内容R0 =dを入力し
て加算演算を行ない、その演算結果PC+dをセレクタ
15を経由してプログラムカウンタ11に格納し、その
プログラムカウンタ11の内容PC+dをセレクタ13
を経由してアドレスADとして出力することにより、そ
の分岐が実行される。
する相対分岐命令、即ちプログラムカウンタ11の内容
PCをPC+dに変更する命令を実行する場合、演算器
17に、プログラムカウンタ11の内容PCと例えば内
部レジスタ12_1に格納された内容R0 =dを入力し
て加算演算を行ない、その演算結果PC+dをセレクタ
15を経由してプログラムカウンタ11に格納し、その
プログラムカウンタ11の内容PC+dをセレクタ13
を経由してアドレスADとして出力することにより、そ
の分岐が実行される。
【0006】図4は、相対分岐命令の実行シーケンスを
示したタイミングチャートである。3番地先への相対分
岐命令’JR 3’が1234,1235番地に格納さ
れているものとする。メモリリード信号MRD がアサ
ート(Lレベル)されると、プログラムカウンタ11の
内容PC=1234がアドレスADとして出力され、1
234番地に格納されている‘JR’が読み込まれる。
またその間にインクリメンタ14によりプログラムカウ
ンタ11の内容が1だけインクリメントされ、セレクタ
15を経由してプログラムカウンタ11に格納される。
次いで、プログラムカウンタ11の、1だけインクリメ
ントされた内容PC=’1235’がアドレスADとし
て出力され、1235番地に格納されている‘3’が読
み込まれる。その間にプログラムカウンタ11の内容は
インクリメンタ14、セレクタ15を経由してPC=1
236に書き換えられる。これにより命令フェッチサイ
クルが終了し、次にプログラムカウンタ11の内容PC
=’1236’と分岐の距離d=3が演算器17に入力
されて加算され、その加算結果PC+d=’1239’
がセレクタ15を経由してプログラムカウンタ11に格
納され、次いでプログラムカウンタ11の内容PC+d
=’1239’がセレクタ13を経由してアドレスAD
として出力され、アドレスAD=PC+d=’123
9’番地に格納された命令(1239)が読み出され
る。その間にプログラムカウンタ11の内容は、さらに
1だけ加算されPC=123Aとなる。
示したタイミングチャートである。3番地先への相対分
岐命令’JR 3’が1234,1235番地に格納さ
れているものとする。メモリリード信号MRD がアサ
ート(Lレベル)されると、プログラムカウンタ11の
内容PC=1234がアドレスADとして出力され、1
234番地に格納されている‘JR’が読み込まれる。
またその間にインクリメンタ14によりプログラムカウ
ンタ11の内容が1だけインクリメントされ、セレクタ
15を経由してプログラムカウンタ11に格納される。
次いで、プログラムカウンタ11の、1だけインクリメ
ントされた内容PC=’1235’がアドレスADとし
て出力され、1235番地に格納されている‘3’が読
み込まれる。その間にプログラムカウンタ11の内容は
インクリメンタ14、セレクタ15を経由してPC=1
236に書き換えられる。これにより命令フェッチサイ
クルが終了し、次にプログラムカウンタ11の内容PC
=’1236’と分岐の距離d=3が演算器17に入力
されて加算され、その加算結果PC+d=’1239’
がセレクタ15を経由してプログラムカウンタ11に格
納され、次いでプログラムカウンタ11の内容PC+d
=’1239’がセレクタ13を経由してアドレスAD
として出力され、アドレスAD=PC+d=’123
9’番地に格納された命令(1239)が読み出され
る。その間にプログラムカウンタ11の内容は、さらに
1だけ加算されPC=123Aとなる。
【0007】
【発明が解決しようとする課題】このように、従来のM
PUでは、命令フェッチサイクルにおいては常にプログ
ラムカウンタ11の内容がアドレスとして出力される構
成であるため、プログラムカウンタ11には、インクリ
メンタ14で1だけインクリメントされた値(PC+
1)を書き戻す場合と、演算器17による演算結果(上
述の例ではPC+d)を書き戻す場合とがあり、したが
ってセレクタ15およびこのセレクタ15を切り換える
ための制御論理回路を必要とし、その分回路が複雑とな
り、チップ面積の増大,コストアップをもたらしてい
た。
PUでは、命令フェッチサイクルにおいては常にプログ
ラムカウンタ11の内容がアドレスとして出力される構
成であるため、プログラムカウンタ11には、インクリ
メンタ14で1だけインクリメントされた値(PC+
1)を書き戻す場合と、演算器17による演算結果(上
述の例ではPC+d)を書き戻す場合とがあり、したが
ってセレクタ15およびこのセレクタ15を切り換える
ための制御論理回路を必要とし、その分回路が複雑とな
り、チップ面積の増大,コストアップをもたらしてい
た。
【0008】本発明は、上記事情に鑑み、従来と比べ回
路規模が削減されたマイクロプロセッサ装置を提供する
ことを目的とする。
路規模が削減されたマイクロプロセッサ装置を提供する
ことを目的とする。
【0009】
【課題を解決するための手段】上記目的を達成する本発
明のマイクロプロセッサ装置は、現在実行中の命令の次
にその命令が格納されているアドレスとは離れたアドレ
スに格納された命令が実行されるように分岐させる分岐
命令を含む複数種類の命令を順次実行するマイクロプロ
セッサ装置において、 (1)現在実行中の命令が格納されているアドレスに連
続するアドレスを指標するプログラムカウンタ (2)演算結果が格納される1つもしくは複数の内部レ
ジスタ (3)上記プログラムカウンタもしくは上記内部レジス
タのいずれの内容をアドレスとして出力するかを選択す
るセレクタ (4)上記セレクタから出力されたアドレスをインクリ
メントしてプログラムカウンタに格納するインクリメン
タ を備えたことを特徴とするものである。
明のマイクロプロセッサ装置は、現在実行中の命令の次
にその命令が格納されているアドレスとは離れたアドレ
スに格納された命令が実行されるように分岐させる分岐
命令を含む複数種類の命令を順次実行するマイクロプロ
セッサ装置において、 (1)現在実行中の命令が格納されているアドレスに連
続するアドレスを指標するプログラムカウンタ (2)演算結果が格納される1つもしくは複数の内部レ
ジスタ (3)上記プログラムカウンタもしくは上記内部レジス
タのいずれの内容をアドレスとして出力するかを選択す
るセレクタ (4)上記セレクタから出力されたアドレスをインクリ
メントしてプログラムカウンタに格納するインクリメン
タ を備えたことを特徴とするものである。
【0010】
【作用】本発明のマイクロプロセッサ装置(MPU)
は、必ず備える必要のある、図3に示すセレクタ13を
有効利用し、命令フェッチサイクルのときもプログラム
カウンタ以外の内部レジスタの内容をアドレスとして出
力することができるように構成したものである。即ち、
本発明のMPUは、アドレスに関する演算結果、例えば
前述した、プログラムカウンタの内容PCにアドレス間
の距離dを加算した結果PC+dを、従来のように直接
プログラムカウンタに格納するのではなく、他の内部レ
ジスタに格納し、その内部レジスタに格納された値PC
+dをアドレスADとして出力してそのアドレスAD=
PC+dに格納された命令を読み出し、また、内部レジ
スタからアドレスとして出力された値PC+dをインク
リメントしてプログラムカウンタに格納する構成とした
ものであり、これにより、プログラムカウンタに格納す
る経路を選択するセレクタ、即ち、図3に示すセレクタ
15、およびその制御論理回路が不要となり、その分回
路規模が削減される。
は、必ず備える必要のある、図3に示すセレクタ13を
有効利用し、命令フェッチサイクルのときもプログラム
カウンタ以外の内部レジスタの内容をアドレスとして出
力することができるように構成したものである。即ち、
本発明のMPUは、アドレスに関する演算結果、例えば
前述した、プログラムカウンタの内容PCにアドレス間
の距離dを加算した結果PC+dを、従来のように直接
プログラムカウンタに格納するのではなく、他の内部レ
ジスタに格納し、その内部レジスタに格納された値PC
+dをアドレスADとして出力してそのアドレスAD=
PC+dに格納された命令を読み出し、また、内部レジ
スタからアドレスとして出力された値PC+dをインク
リメントしてプログラムカウンタに格納する構成とした
ものであり、これにより、プログラムカウンタに格納す
る経路を選択するセレクタ、即ち、図3に示すセレクタ
15、およびその制御論理回路が不要となり、その分回
路規模が削減される。
【0011】
【実施例】以下、本発明の実施例について説明する。図
1は、本発明の一実施例におけるMPUのデータパスを
示す模式図である。この図1は、従来例を示した図3に
対応し、以下では重複説明を避け、図3との相違点につ
いて説明する。
1は、本発明の一実施例におけるMPUのデータパスを
示す模式図である。この図1は、従来例を示した図3に
対応し、以下では重複説明を避け、図3との相違点につ
いて説明する。
【0012】図1における、図3との相違点は、演算器
17の演算結果はプログラムカウンタ11を除く内部レ
ジスタ12_1,12_2、…,12_5のいずれかに
格納される。したがって図1では、図3に示された、プ
ログラムカウンタ11に格納されるデータを選択するセ
レクタ15がない。またインクリメンタ14の入力は、
図3ではプログラムカウンタ11の出力であるが、図1
では、セレクタ13の出力である。
17の演算結果はプログラムカウンタ11を除く内部レ
ジスタ12_1,12_2、…,12_5のいずれかに
格納される。したがって図1では、図3に示された、プ
ログラムカウンタ11に格納されるデータを選択するセ
レクタ15がない。またインクリメンタ14の入力は、
図3ではプログラムカウンタ11の出力であるが、図1
では、セレクタ13の出力である。
【0013】通常の命令フェッチサイクルでは、プログ
ラムカウンタ11の出力PCがセレクタ13を経由して
アドレスADとして出力されるとともに、そのアドレス
ADがインクリメンタ14でインクリメントされてプロ
グラムカウンタ11に書き戻される。また前述した相対
分岐命令の場合は、演算器17による演算結果PC+d
は、プログラムカウンタ11ではなく、内部レジスタ1
2_1,12_2,…,12_5のうちの1つ、例えば
内部レジスタ12_1に格納される。次の命令フェッチ
サイクルでは、その演算結果PC+dが格納された、例
えば内部レジスタ12_1の内容R0 =PC+dがセレ
クタ13を経由してアドレスADとして出力される。ま
たそのアドレスADがインクリメンタ14でインクリメ
ントされて、今度はプログラムカウンタ11に入力され
る。このような論理シーケンスを構成することにより、
図3に示すセレクタ15、およびその制御論理回路が不
要となり、その分回路規模の削減が図られる。
ラムカウンタ11の出力PCがセレクタ13を経由して
アドレスADとして出力されるとともに、そのアドレス
ADがインクリメンタ14でインクリメントされてプロ
グラムカウンタ11に書き戻される。また前述した相対
分岐命令の場合は、演算器17による演算結果PC+d
は、プログラムカウンタ11ではなく、内部レジスタ1
2_1,12_2,…,12_5のうちの1つ、例えば
内部レジスタ12_1に格納される。次の命令フェッチ
サイクルでは、その演算結果PC+dが格納された、例
えば内部レジスタ12_1の内容R0 =PC+dがセレ
クタ13を経由してアドレスADとして出力される。ま
たそのアドレスADがインクリメンタ14でインクリメ
ントされて、今度はプログラムカウンタ11に入力され
る。このような論理シーケンスを構成することにより、
図3に示すセレクタ15、およびその制御論理回路が不
要となり、その分回路規模の削減が図られる。
【0014】図2は、図1に示すMPUにおける、相対
分岐命令の実行シーケンスを示したタイミングチャート
である。この図2は、従来例における図4に対応する図
であり、以下図4との相違点について説明する。命令フ
ェッチサイクルにおいてアドレスAD=‘1234’,
‘1235’に格納されている命令‘JR 3’が読み
出され、この’3’が演算器17でプログラムカウンタ
11の値PC=‘1236’に加算され‘1239’が
生成される。この‘1239’は、内部レジスタ12_
1に格納される。したがってプログラムカウンタ11の
内容はPC=’1236’にとどまる。その後内部レジ
スタ12_1に格納された値R0 =‘1239’がアド
レスADとして出力され、アドレスAD=’1239’
に格納された命令(1239)が読み出される。その間
にプログラムカウンタ11には、アドレスAD=’12
39’に1が加算された値PC=’123A’が格納さ
れる。
分岐命令の実行シーケンスを示したタイミングチャート
である。この図2は、従来例における図4に対応する図
であり、以下図4との相違点について説明する。命令フ
ェッチサイクルにおいてアドレスAD=‘1234’,
‘1235’に格納されている命令‘JR 3’が読み
出され、この’3’が演算器17でプログラムカウンタ
11の値PC=‘1236’に加算され‘1239’が
生成される。この‘1239’は、内部レジスタ12_
1に格納される。したがってプログラムカウンタ11の
内容はPC=’1236’にとどまる。その後内部レジ
スタ12_1に格納された値R0 =‘1239’がアド
レスADとして出力され、アドレスAD=’1239’
に格納された命令(1239)が読み出される。その間
にプログラムカウンタ11には、アドレスAD=’12
39’に1が加算された値PC=’123A’が格納さ
れる。
【0015】
【発明の効果】以上説明したように、本発明のマイクロ
プロセッサ装置は、分岐命令の際、演算器で演算された
アドレスをプログラムカウンタ以外の内部レジスタに一
旦格納し、その内部レジスタの内容をアドレスとして出
力し、そのアドレスをインクリメントしてプログラムカ
ウンタに格納する構成としたため、従来と比べ、プログ
ラムカウンタに格納するデータを選択するセレクタ、お
よびその制御論理回路が不要となり、その分回路規模の
削減、チップ面積の減少、低コスト化が図られる。
プロセッサ装置は、分岐命令の際、演算器で演算された
アドレスをプログラムカウンタ以外の内部レジスタに一
旦格納し、その内部レジスタの内容をアドレスとして出
力し、そのアドレスをインクリメントしてプログラムカ
ウンタに格納する構成としたため、従来と比べ、プログ
ラムカウンタに格納するデータを選択するセレクタ、お
よびその制御論理回路が不要となり、その分回路規模の
削減、チップ面積の減少、低コスト化が図られる。
【図1】本発明の一実施例におけるMPUのデータパス
を示す模式図である。
を示す模式図である。
【図2】図1に示すデータパスにおける、相対分岐命令
の実行シーケンスを示したタイミングチャートである。
の実行シーケンスを示したタイミングチャートである。
【図3】従来のMPUのデータパスの模式図である。
【図4】相対分岐命令の実行シーケンスを示したタイミ
ングチャートである。
ングチャートである。
11 プログラムカウンタ 12_1,12_2,12_3,12_4,12_5
内部レジスタ 13 セレクタ 14 インクリメンタ 15 セレクタ 16_1,16_2 セレクタ 17 演算器
内部レジスタ 13 セレクタ 14 インクリメンタ 15 セレクタ 16_1,16_2 セレクタ 17 演算器
Claims (1)
- 【請求項1】 現在実行中の命令の次に該命令が格納さ
れているアドレスとは離れたアドレスに格納された命令
が実行されるように分岐させる分岐命令を含む複数種類
の命令を順次実行するマイクロプロセッサ装置におい
て、 現在実行中の命令が格納されているアドレスに連続する
アドレスを指標するプログラムカウンタと、 演算結果が格納される1つもしくは複数の内部レジスタ
と、 前記プログラムカウンタもしくは前記内部レジスタのい
ずれの内容をアドレスとして出力するかを選択するセレ
クタと、 前記セレクタから出力されたアドレスをインクリメント
して前記プログラムカウンタに格納するインクリメンタ
とを備えたことを特徴とするマイクロプロセッサ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9136093A JPH06301532A (ja) | 1993-04-19 | 1993-04-19 | マイクロプロセッサ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP9136093A JPH06301532A (ja) | 1993-04-19 | 1993-04-19 | マイクロプロセッサ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06301532A true JPH06301532A (ja) | 1994-10-28 |
Family
ID=14024227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP9136093A Pending JPH06301532A (ja) | 1993-04-19 | 1993-04-19 | マイクロプロセッサ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06301532A (ja) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5423343A (en) * | 1977-07-22 | 1979-02-21 | Nec Corp | Microprogram controller |
JPS55140949A (en) * | 1979-04-18 | 1980-11-04 | Nec Corp | Information processor |
-
1993
- 1993-04-19 JP JP9136093A patent/JPH06301532A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5423343A (en) * | 1977-07-22 | 1979-02-21 | Nec Corp | Microprogram controller |
JPS55140949A (en) * | 1979-04-18 | 1980-11-04 | Nec Corp | Information processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7793075B2 (en) | Active memory command engine and method | |
US7694109B2 (en) | Data processing apparatus of high speed process using memory of low speed and low power consumption | |
US6959367B2 (en) | System having read-modify-write unit | |
JPH05100948A (ja) | 2乗演算を実行する速度改良型データ処理システム及びその方法 | |
JPH0527971A (ja) | 情報処理装置 | |
JP2779557B2 (ja) | 並列演算処理装置 | |
JPH08212075A (ja) | 情報処理装置 | |
US6425047B1 (en) | Process containing address decoders suited to improvements in clock speed | |
US6233675B1 (en) | Facility to allow fast execution of and, or, and test instructions | |
JPH06301532A (ja) | マイクロプロセッサ装置 | |
JPH03271829A (ja) | 情報処理装置 | |
JP2824484B2 (ja) | パイプライン処理計算機 | |
JP3325309B2 (ja) | サブルーチンリターン命令処理装置 | |
US6289439B1 (en) | Method, device and microprocessor for performing an XOR clear without executing an XOR instruction | |
JP3164690B2 (ja) | アドレス制御装置 | |
JP3366235B2 (ja) | データ読み出し制御装置 | |
JP3239042B2 (ja) | マイクロコンピュータ | |
JPH0683986A (ja) | シングルチップ・マイクロコンピュータ | |
JPS60193046A (ja) | 命令例外検出方式 | |
JP2005242457A (ja) | プログラマブルコントローラ | |
JP2001067335A (ja) | マイクロコンピュータ | |
JPH08272612A (ja) | パイプライン計算機シミュレータ | |
JPH07160498A (ja) | マイクロプロセッサ | |
JPH05158734A (ja) | マイクロプロセッサ | |
JPS62189535A (ja) | マイクロプロセツサ制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19970819 |