JPH04317129A - マイクロプログラムアドレススタック回路 - Google Patents
マイクロプログラムアドレススタック回路Info
- Publication number
- JPH04317129A JPH04317129A JP3084926A JP8492691A JPH04317129A JP H04317129 A JPH04317129 A JP H04317129A JP 3084926 A JP3084926 A JP 3084926A JP 8492691 A JP8492691 A JP 8492691A JP H04317129 A JPH04317129 A JP H04317129A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- stack
- address
- microinstruction
- microprogram
- 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
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、マイクロプログラムに
より制御されるマイクロプログラム化された装置に関し
、特にマイクロプログラムのサブルーチンコール命令や
リターン命令等で使用するマイクロプログラムアドレス
スタック回路に関する。
より制御されるマイクロプログラム化された装置に関し
、特にマイクロプログラムのサブルーチンコール命令や
リターン命令等で使用するマイクロプログラムアドレス
スタック回路に関する。
【0002】
【従来の技術】従来のマイクロプログラムアドレススタ
ック回路について図面を参照して説明する。
ック回路について図面を参照して説明する。
【0003】図3、図4はサブルーチンの使用例を示す
図、図5は従来例のマイクロプログラムアドレススタッ
ク回路のブロック図である。
図、図5は従来例のマイクロプログラムアドレススタッ
ク回路のブロック図である。
【0004】図5において、従来例のマイクロプログラ
ムアドレススタック回路は、スタックするためのスタッ
ク記憶4と、スタック記憶4の番地を指定するスタック
ポインタ5と、現在実行中のマイクロ命令アドレスを格
納するマイクロ命令アドレスレジスタと、そのアドレス
を+1加算する加算回路12と、スタックポインタ5に
格納されているスタック番地を+1または−1する加算
回路8と、減算回路9と、前記演算結果の何れかを選択
する選択回路7とから構成されている。
ムアドレススタック回路は、スタックするためのスタッ
ク記憶4と、スタック記憶4の番地を指定するスタック
ポインタ5と、現在実行中のマイクロ命令アドレスを格
納するマイクロ命令アドレスレジスタと、そのアドレス
を+1加算する加算回路12と、スタックポインタ5に
格納されているスタック番地を+1または−1する加算
回路8と、減算回路9と、前記演算結果の何れかを選択
する選択回路7とから構成されている。
【0005】次に、その動作について以下に説明する。
【0006】まず、マイクロ命令のコール命令でサブル
ーチンコールが指定されると、マイクロ命令アドレスレ
ジスタ3のアドレスが加算回路8で+1され、その値(
戻りアドレス)をスタックポインタ5で指定された番地
のスタック記憶4に格納する。その後、スタックポイン
タ5の値は加算回路8および減算回路9を通るが、サブ
ルーチンコールの場合は選択回路7で加算回路8の出力
が選択され、+1した値がスタックポインタ5に格納さ
れる。
ーチンコールが指定されると、マイクロ命令アドレスレ
ジスタ3のアドレスが加算回路8で+1され、その値(
戻りアドレス)をスタックポインタ5で指定された番地
のスタック記憶4に格納する。その後、スタックポイン
タ5の値は加算回路8および減算回路9を通るが、サブ
ルーチンコールの場合は選択回路7で加算回路8の出力
が選択され、+1した値がスタックポインタ5に格納さ
れる。
【0007】また、マイクロ命令のリターン命令でサブ
ルーチンからのリターンが指定されると、スタックポイ
ンタ5の値が減算回路9、選択回路7を通して−1され
る。その後、減算後のスタックポインタ5で指定された
番地に格納されている戻りアドレスをスタック記憶4か
ら読出し、メインルーチンに戻ることができる。
ルーチンからのリターンが指定されると、スタックポイ
ンタ5の値が減算回路9、選択回路7を通して−1され
る。その後、減算後のスタックポインタ5で指定された
番地に格納されている戻りアドレスをスタック記憶4か
ら読出し、メインルーチンに戻ることができる。
【0008】上記のサブルーチンとしては、図3、図4
に示すようなサブルーチンが使用されている。
に示すようなサブルーチンが使用されている。
【0009】
【発明が解決しようとする課題】上述したように従来の
マイクロプログラムアドレススタック回路では、図3の
ような多種のサブルーチンコールを使用している場合に
は、問題なく動作できるが、図4のように、最っとも内
側のサブルーチンから一個のマイクロ命令を実行でメイ
ンルーチンに戻ることはできない。この場合にはリター
ン命令を3回実行して戻るしかないため、実行時間がか
かる。特に高速実行を要求される水平型マイクロプログ
ラムを使用している装置では解決すべき課題である。
マイクロプログラムアドレススタック回路では、図3の
ような多種のサブルーチンコールを使用している場合に
は、問題なく動作できるが、図4のように、最っとも内
側のサブルーチンから一個のマイクロ命令を実行でメイ
ンルーチンに戻ることはできない。この場合にはリター
ン命令を3回実行して戻るしかないため、実行時間がか
かる。特に高速実行を要求される水平型マイクロプログ
ラムを使用している装置では解決すべき課題である。
【0010】本発明の目的は、スタックポインタの値を
±Cする回路または固定値を発生する回路を1個または
複数個設け、マイクロ命令等の指定によりそれらの出力
の1つを選択することができるようにしたことにより、
上記の欠点を解消し、多様なサブルーチンコールやリタ
ーン命令を使用したマイクロプログラムをプログラミン
グすることが可能で、そのプログラムを高速で実行でき
るマイクロプログラムアドレススタック回路を提供する
ことにある。
±Cする回路または固定値を発生する回路を1個または
複数個設け、マイクロ命令等の指定によりそれらの出力
の1つを選択することができるようにしたことにより、
上記の欠点を解消し、多様なサブルーチンコールやリタ
ーン命令を使用したマイクロプログラムをプログラミン
グすることが可能で、そのプログラムを高速で実行でき
るマイクロプログラムアドレススタック回路を提供する
ことにある。
【0011】
【課題を解決するための手段】第一の発明のマイクロプ
ログラムアドレススタック回路は、マイクロ命令から構
成されるマイクロプログラムを格納する制御記憶と、こ
の制御記憶から読出したマイクロ命令を格納するマイク
ロ命令レジスタと、マイクロ命令アドレスレジスタをス
タックするスタック記憶と、スタック記憶の番地を指定
するスタックポインタと、マイクロ命令の制御記憶上で
の番地を格納するマイクロ命令アドレスレジスタとを有
するマイクロプログラム制御装置に関するマイクロプロ
グラムアドレススタック回路において、スタックポイン
タへの入力としてスタックポインタの値に固定値(1以
外)を加減算する回路を備えている。
ログラムアドレススタック回路は、マイクロ命令から構
成されるマイクロプログラムを格納する制御記憶と、こ
の制御記憶から読出したマイクロ命令を格納するマイク
ロ命令レジスタと、マイクロ命令アドレスレジスタをス
タックするスタック記憶と、スタック記憶の番地を指定
するスタックポインタと、マイクロ命令の制御記憶上で
の番地を格納するマイクロ命令アドレスレジスタとを有
するマイクロプログラム制御装置に関するマイクロプロ
グラムアドレススタック回路において、スタックポイン
タへの入力としてスタックポインタの値に固定値(1以
外)を加減算する回路を備えている。
【0012】第二の発明のマイクロプログラムアドレス
スタック回路は、上記第一の発明のマイクロプログラム
アドレススタック回路において、スタックポインタへの
入力として固定値を発生する固定値発生回路を備えてい
る。
スタック回路は、上記第一の発明のマイクロプログラム
アドレススタック回路において、スタックポインタへの
入力として固定値を発生する固定値発生回路を備えてい
る。
【0013】第三の発明のマイクロプログラムアドレス
スタック回路は、上記第二の発明のマイクロプログラム
アドレススタック回路において、複数の固定値発生回路
を有し、マイクロ命令の指示により複数の固定値発生回
路の内の一個を選択する選択回路を備えている。
スタック回路は、上記第二の発明のマイクロプログラム
アドレススタック回路において、複数の固定値発生回路
を有し、マイクロ命令の指示により複数の固定値発生回
路の内の一個を選択する選択回路を備えている。
【0014】第四の発明のマイクロプログラムアドレス
スタック回路は、上記第二の発明のマイクロプログラム
アドレススタック回路において、マイクロ命令の指示に
より固定値発生回路の固定値を変更する変更回路を備え
ている。
スタック回路は、上記第二の発明のマイクロプログラム
アドレススタック回路において、マイクロ命令の指示に
より固定値発生回路の固定値を変更する変更回路を備え
ている。
【0015】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0016】図1は本発明の第一の実施例のマイクロプ
ログラムアドレススタック回路のブロック図、図2は本
発明の第二の実施例のマイクロプログラムアドレススタ
ック回路の選択回路の部分のブロック図、図4はサブル
ーチンの使用例を示す図である。
ログラムアドレススタック回路のブロック図、図2は本
発明の第二の実施例のマイクロプログラムアドレススタ
ック回路の選択回路の部分のブロック図、図4はサブル
ーチンの使用例を示す図である。
【0017】図1において、本第一の実施例のマイクロ
プログラムアドレススタック回路は、制御記憶(CS)
1と、マイクロ命令レジスタ(MIR)2と、マイクロ
命令アドレスレジスタ(MAR)3と、スタック記憶(
STACK)4と、スタックポインタ(SP)5と、選
択回路6,7と、加算回路8,10,12と、減算回路
9,11と、制御回路13とから構成されている。
プログラムアドレススタック回路は、制御記憶(CS)
1と、マイクロ命令レジスタ(MIR)2と、マイクロ
命令アドレスレジスタ(MAR)3と、スタック記憶(
STACK)4と、スタックポインタ(SP)5と、選
択回路6,7と、加算回路8,10,12と、減算回路
9,11と、制御回路13とから構成されている。
【0018】ここで、マイクロプログラムは制御記憶1
に格納されている。制御記憶1の番地は、スタック記憶
4の出力またはマイクロ命令レジスタアドレス3の値を
加算回路12より+1した値またはマイクロ命令レジス
タ2の中の次マイクロ命令アドレスを指定するフィール
ドの3個のうち1つを制御回路13の指示により選択回
路6により選択する。また、その選択された制御記憶1
の番地は、マイクロ命令アドレスレジスタ3に格納され
る。このマイクロ命令アドレスレジスタ3に格納されて
いる番地は、マイクロ命令レジスタ2に格納されている
マイクロ命令が記憶されていた制御記憶1の番地を示し
ている。制御回路13は、選択回路6に対し、次のよう
に指示する。まず、マイクロ命令をアドレスの増分方向
に順次実行する場合は、加算回路12の出力を選択し、
ブランチ命令(分岐命令,ジャンプ命令)やコール命令
を実行する場合は、マイクロ命令レジスタ2の出力を選
択し、リターン命令の実行のようにマイクロ命令アドレ
ススタック4にスタックしたアドレスを使用する場合は
、スタック記憶4の出力を選択する。
に格納されている。制御記憶1の番地は、スタック記憶
4の出力またはマイクロ命令レジスタアドレス3の値を
加算回路12より+1した値またはマイクロ命令レジス
タ2の中の次マイクロ命令アドレスを指定するフィール
ドの3個のうち1つを制御回路13の指示により選択回
路6により選択する。また、その選択された制御記憶1
の番地は、マイクロ命令アドレスレジスタ3に格納され
る。このマイクロ命令アドレスレジスタ3に格納されて
いる番地は、マイクロ命令レジスタ2に格納されている
マイクロ命令が記憶されていた制御記憶1の番地を示し
ている。制御回路13は、選択回路6に対し、次のよう
に指示する。まず、マイクロ命令をアドレスの増分方向
に順次実行する場合は、加算回路12の出力を選択し、
ブランチ命令(分岐命令,ジャンプ命令)やコール命令
を実行する場合は、マイクロ命令レジスタ2の出力を選
択し、リターン命令の実行のようにマイクロ命令アドレ
ススタック4にスタックしたアドレスを使用する場合は
、スタック記憶4の出力を選択する。
【0019】スタック記憶4の番地は、スタックポイン
タ5により指定される。スタックポインタ5への入力と
してはスタックポインタ5の値を+1する加算回路8の
出力または−1減算する減算回路9の出力または+C(
Cは1以外の整数)する加算回路10または−Cする減
算回路11の出力の4個があり、マイクロ命令等の指定
に従って制御回路13の指示で選択回路7により、その
うちの1つを選択する。+1,−1の加算回路8,9は
従来の回路と同じ動作をする。本第一の実施例では、例
えば、図4のサブルーチンから1回でメインルーチンに
躍るにはCの値を「3」とし、−3する減算回路11を
選択することにより可能になる。
タ5により指定される。スタックポインタ5への入力と
してはスタックポインタ5の値を+1する加算回路8の
出力または−1減算する減算回路9の出力または+C(
Cは1以外の整数)する加算回路10または−Cする減
算回路11の出力の4個があり、マイクロ命令等の指定
に従って制御回路13の指示で選択回路7により、その
うちの1つを選択する。+1,−1の加算回路8,9は
従来の回路と同じ動作をする。本第一の実施例では、例
えば、図4のサブルーチンから1回でメインルーチンに
躍るにはCの値を「3」とし、−3する減算回路11を
選択することにより可能になる。
【0020】図2いおいて、本第二の実施例のマイクロ
プログラムアドレススタック回路の選択回路の部分は、
スタックポインタ5と、選択回路7と、加算回路8と、
減算回路9と、固定値発生回路50,51と、データ線
52とから構成されている。
プログラムアドレススタック回路の選択回路の部分は、
スタックポインタ5と、選択回路7と、加算回路8と、
減算回路9と、固定値発生回路50,51と、データ線
52とから構成されている。
【0021】ここで、スタックポインタ5の周辺以外の
回路は第一の実施例のマイクロプログラムアドレススタ
ック回路と同じであるので省略してある。
回路は第一の実施例のマイクロプログラムアドレススタ
ック回路と同じであるので省略してある。
【0022】本第二の実施例では、図1の±Cの加減算
回路10,11の代りに固定値A,Bを発生する固定値
発生回路50,51を有し、その値はマイクロ命令の指
定によりデータ線52から設定可能となっている。
回路10,11の代りに固定値A,Bを発生する固定値
発生回路50,51を有し、その値はマイクロ命令の指
定によりデータ線52から設定可能となっている。
【0023】本第二の実施例では、Aをスタック記憶4
の先頭アドレス、Bを最終アドレスとし、1回のマイク
ロ命令を実行でスタック記憶4を空にしたり、満杯にす
る。また、その固定値をマイクロ命令により設定可能に
し、スタック記憶4の任意の番地を指定して1個のマイ
クロ命令で指定されたスタック記憶4に戻りアドレスを
格納したり、読み出したりする。
の先頭アドレス、Bを最終アドレスとし、1回のマイク
ロ命令を実行でスタック記憶4を空にしたり、満杯にす
る。また、その固定値をマイクロ命令により設定可能に
し、スタック記憶4の任意の番地を指定して1個のマイ
クロ命令で指定されたスタック記憶4に戻りアドレスを
格納したり、読み出したりする。
【0024】
【発明の効果】以上説明したように、本発明のマイクロ
プログラムアドレススタック回路は、スタックポインタ
の値を±Cする回路または固定値を発生する回路を1個
または複数個設け、マイクロ命令の指定によりそれらの
出力の1つを選択することができるようにしたことによ
り、多様なサブルーチンコールやリターン命令を使用し
たマイクロプログラムをプログラミングすることが可能
となり、かつ、そのプログラムを高速で実行できるとい
う効果がある。
プログラムアドレススタック回路は、スタックポインタ
の値を±Cする回路または固定値を発生する回路を1個
または複数個設け、マイクロ命令の指定によりそれらの
出力の1つを選択することができるようにしたことによ
り、多様なサブルーチンコールやリターン命令を使用し
たマイクロプログラムをプログラミングすることが可能
となり、かつ、そのプログラムを高速で実行できるとい
う効果がある。
【図1】本発明の第一の実施例のマイクロプログラムア
ドレススタック回路のブロック図である。
ドレススタック回路のブロック図である。
【図2】本発明の第二の実施例のマイクロプログラムア
ドレススタック回路の選択回路の部分のブロック図であ
る。
ドレススタック回路の選択回路の部分のブロック図であ
る。
【図3】サブルーチンの使用例を示す図である。
【図4】サブルーチンの使用例を示す図である。
【図5】従来例のマイクロプログラムアドレススタック
回路のブロック図である。
回路のブロック図である。
1 制御記憶(CS)
2 マイクロ命令レジスタ(MIR)3
マイクロ命令アドレスレジスタ(MAR)4 ス
タック記憶(STACK)5 スタックポインタ
(SP) 6,7 選択回路 8,10,12 加算回路 9,11 減算回路 13 制御回路 50,51 固定値発生回路 52 データ線
マイクロ命令アドレスレジスタ(MAR)4 ス
タック記憶(STACK)5 スタックポインタ
(SP) 6,7 選択回路 8,10,12 加算回路 9,11 減算回路 13 制御回路 50,51 固定値発生回路 52 データ線
Claims (4)
- 【請求項1】 マイクロ命令から構成されるマイクロ
プログラムを格納する制御記憶と、前記制御記憶から読
出したマイクロ命令を格納するマイクロ命令レジスタと
、前記マイクロ命令レジスタをスタックするスタック記
憶と、前記スタック記憶の番地を指定するスタックポイ
ンタと、前記マイクロ命令の制御記憶上での番地を格納
するマイクロ命令アドレスレジスタとを有するマイクロ
プログラム制御装置に関するマイクロプログラムアドレ
ススタック回路において、前記スタックポインタへの入
力としてスタックポインタの値に固定値(1以外)を加
減算する回路を備えることを特徴とするマイクロプログ
ラムアドレススタック回路。 - 【請求項2】 請求項1記載のマイクロプログラムア
ドレススタック回路において、スタックポインタへの入
力として固定値を発生する固定値発生回路を備えること
を特徴とするマイクロプログラムアドレススタック回路
。 - 【請求項3】 請求項2記載のマイクロプログラムア
ドレススタック回路において、複数の前記固定値発生回
路を有し、前記マイクロ命令の指示により複数の前記固
定値発生回路の内の一個を選択する選択回路を備えるこ
とを特徴とするマイクロプログラムアドレススタック回
路。 - 【請求項4】 請求項2記載のマイクロプログラムア
ドレススタック回路において、前記マイクロ命令の指示
により前記固定値発生回路の固定値を変更する変更回路
を備えることを特徴とするマイクロプログラムアドレス
スタック回路。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3084926A JPH04317129A (ja) | 1991-04-17 | 1991-04-17 | マイクロプログラムアドレススタック回路 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3084926A JPH04317129A (ja) | 1991-04-17 | 1991-04-17 | マイクロプログラムアドレススタック回路 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04317129A true JPH04317129A (ja) | 1992-11-09 |
Family
ID=13844303
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3084926A Pending JPH04317129A (ja) | 1991-04-17 | 1991-04-17 | マイクロプログラムアドレススタック回路 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04317129A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008530712A (ja) * | 2005-02-18 | 2008-08-07 | クゥアルコム・インコーポレイテッド | 復帰スタックを管理する方法および装置 |
-
1991
- 1991-04-17 JP JP3084926A patent/JPH04317129A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008530712A (ja) * | 2005-02-18 | 2008-08-07 | クゥアルコム・インコーポレイテッド | 復帰スタックを管理する方法および装置 |
| JP2012123810A (ja) * | 2005-02-18 | 2012-06-28 | Qualcomm Inc | 復帰スタックを管理する方法および装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5428732A (en) | Playlist mechanism for specification of complex memory objects | |
| JPS59133650A (ja) | マイクロコンピユ−タおよびマイクロコンピユ−タのネツトワ−クならびにこれらを動作させる方法 | |
| KR930002930A (ko) | 고속 병렬 마이크로코드 프로그램 제어기 | |
| US3571804A (en) | Method for execution of jumps in an instruction memory of a computer | |
| JPH04317129A (ja) | マイクロプログラムアドレススタック回路 | |
| US4240137A (en) | Computer for directly executing a program including a plurality of structured blocks | |
| JPH0418635A (ja) | ディジタル信号プロセッサ | |
| JP2514963B2 (ja) | デ―タ処理装置 | |
| JPS6339928B2 (ja) | ||
| KR880014473A (ko) | 마이크로프로그램된 소프트웨어 명령 실행 장치 및 방법 | |
| JPS58200349A (ja) | マイクロプログラム制御装置 | |
| JP3464048B2 (ja) | 多チャネル処理マイクロプログラム制御回路 | |
| JP2637070B2 (ja) | マイクロ命令先頭アドレス生成方式 | |
| JPH01271840A (ja) | マイクロコンピュータ | |
| JP2002297378A (ja) | 信号処理装置 | |
| JPS60129853A (ja) | アドレス発生装置 | |
| JPH0146889B2 (ja) | ||
| JPS6156813B2 (ja) | ||
| JPH0731596B2 (ja) | 条件付きサブルーチン呼出し方式 | |
| JPS59153242A (ja) | マイクロプログラム制御装置 | |
| JPH032926A (ja) | マイクロシーケンス回路 | |
| JPH04158445A (ja) | アドレスサイズが機械語の命令長と同等な場合におけるジャンプ方式 | |
| JPH02206838A (ja) | 共通サブル―チンリンク方法 | |
| JPH04205206A (ja) | 条件付き実行命令の表現方式 | |
| JPS5687141A (en) | Microprogram control device |