JPH08194614A - マイクロコンピュータ - Google Patents
マイクロコンピュータInfo
- Publication number
- JPH08194614A JPH08194614A JP622195A JP622195A JPH08194614A JP H08194614 A JPH08194614 A JP H08194614A JP 622195 A JP622195 A JP 622195A JP 622195 A JP622195 A JP 622195A JP H08194614 A JPH08194614 A JP H08194614A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- macro
- address
- storage memory
- program
- 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
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000000470 constituent Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000000034 method Methods 0.000 description 2
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【目的】 マクロ置き換えを多数行っても、アッセンブ
ルした後のプログラムステップ数を増加させないように
することを目的とする。 【構成】 命令デコーダ3がマクロ記述された命令デー
タを受け取ると、マルチプレクサ8に指示を出して、入
力をマクロ定義格納メモリ7からに切り替えさせる。次
いで、命令デコーダ3は、受け取った命令データのマク
ロに基づいて、対応したマクロ実行命令群の先頭アドレ
スをマクロ定義格納メモリ7に出力する。
ルした後のプログラムステップ数を増加させないように
することを目的とする。 【構成】 命令デコーダ3がマクロ記述された命令デー
タを受け取ると、マルチプレクサ8に指示を出して、入
力をマクロ定義格納メモリ7からに切り替えさせる。次
いで、命令デコーダ3は、受け取った命令データのマク
ロに基づいて、対応したマクロ実行命令群の先頭アドレ
スをマクロ定義格納メモリ7に出力する。
Description
【0001】
【産業上の利用分野】この発明は、1命令を複数個の命
令に置き換えて実行するマクロ機能を有するマイクロコ
ンピュータに関する。
令に置き換えて実行するマクロ機能を有するマイクロコ
ンピュータに関する。
【0002】
【従来の技術】図3は、通常よく用いられるマイクロコ
ンピュータの概略的な構成を示す構成図である。マイク
ロコンピュータ31は、実行ユニット32と命令デコー
ダ33とから主に構成され、外部メモリ34に格納され
ている命令により、やはり外部メモリ34に格納されて
いるデータの加工などを行う。
ンピュータの概略的な構成を示す構成図である。マイク
ロコンピュータ31は、実行ユニット32と命令デコー
ダ33とから主に構成され、外部メモリ34に格納され
ている命令により、やはり外部メモリ34に格納されて
いるデータの加工などを行う。
【0003】実行ユニット32からのアドレス指定はア
ドレスバス35を介して外部メモリ34に伝わり、この
指定の位置に格納されているデータが、データバス36
を介してマイクロコンピュータ31に取り込まれる。取
り込まれたデータが命令データの場合、これは命令デコ
ーダ33により実行ユニット32が実行できる形態に翻
訳され、実行ユニット32に渡される。命令デコーダ3
3によって翻訳された命令データにより、実行ユニット
32は外部メモリ34に格納されているデータの加工
や、ファイルの入出力などの動作指示を行う。
ドレスバス35を介して外部メモリ34に伝わり、この
指定の位置に格納されているデータが、データバス36
を介してマイクロコンピュータ31に取り込まれる。取
り込まれたデータが命令データの場合、これは命令デコ
ーダ33により実行ユニット32が実行できる形態に翻
訳され、実行ユニット32に渡される。命令デコーダ3
3によって翻訳された命令データにより、実行ユニット
32は外部メモリ34に格納されているデータの加工
や、ファイルの入出力などの動作指示を行う。
【0004】ところで、このマイクロコンピュータ31
を動作させるためのプログラムは、通常では、まず、高
級プログラミング言語を用いてソースプログラムを記述
し、これをアッセンブルしてマイクロコンピュータ31
が受け付ける状態のプログラムとしている。ここで、ソ
ースプログラムを作成しているとき、複数の基本実行命
令から構成される1連の動作を示す実行命令群を、マク
ロと呼ばれる1つの命令に置き換えて記述するようにし
ている。これをマクロ機能という。
を動作させるためのプログラムは、通常では、まず、高
級プログラミング言語を用いてソースプログラムを記述
し、これをアッセンブルしてマイクロコンピュータ31
が受け付ける状態のプログラムとしている。ここで、ソ
ースプログラムを作成しているとき、複数の基本実行命
令から構成される1連の動作を示す実行命令群を、マク
ロと呼ばれる1つの命令に置き換えて記述するようにし
ている。これをマクロ機能という。
【0005】この置き換えは、以下の理由のため行われ
る。すなわち、上述した1連の動作が、ソースプログラ
ムの中で何度も用いられるとき、これをいちいち複数の
基本実行命令で記述していると、ソースプログラムが膨
大なものとなってしまうためである。そして、前述した
アッセンブルのとき、このマクロ記述に関してはマクロ
アッセンブラを用い、実際にマイクロコンピュータ31
が実行する、複数の命令に置き換えて展開される。
る。すなわち、上述した1連の動作が、ソースプログラ
ムの中で何度も用いられるとき、これをいちいち複数の
基本実行命令で記述していると、ソースプログラムが膨
大なものとなってしまうためである。そして、前述した
アッセンブルのとき、このマクロ記述に関してはマクロ
アッセンブラを用い、実際にマイクロコンピュータ31
が実行する、複数の命令に置き換えて展開される。
【0006】
【発明が解決しようとする課題】従来は以上のように構
成されていたので、ソースプログラムにおいてマクロが
多数用いられていた場合、マイクロコンピュータが実行
できる形態のアッセンブルしたプログラムの量が増大し
てしまうという問題があった。ソースプログラムが少な
い量で構成されていても、マイクロコンピュータが実際
に実行できる状態のプログラムの量が大きいものとなっ
ていては、このプログラムを配置するメモリの量も大き
くしておかなくてはならない。
成されていたので、ソースプログラムにおいてマクロが
多数用いられていた場合、マイクロコンピュータが実行
できる形態のアッセンブルしたプログラムの量が増大し
てしまうという問題があった。ソースプログラムが少な
い量で構成されていても、マイクロコンピュータが実際
に実行できる状態のプログラムの量が大きいものとなっ
ていては、このプログラムを配置するメモリの量も大き
くしておかなくてはならない。
【0007】この発明は、以上のような問題点を解消す
るためになされたものであり、マクロ置き換えを多数行
っても、アッセンブルした後のプログラムステップ数を
増加させないようにすることを目的とする。
るためになされたものであり、マクロ置き換えを多数行
っても、アッセンブルした後のプログラムステップ数を
増加させないようにすることを目的とする。
【0008】
【課題を解決するための手段】この発明のマイクロコン
ピュータは、複数のステップの命令からなるプログラム
が格納されるメモリと、プログラム内に用いられている
マクロ命令に対応するマクロ命令を展開した基本プログ
ラム群が格納されているマクロ定義格納メモリと、プロ
グラムの命令を1ステップずつ実行する実行ユニット
と、プログラム内でマクロ命令が出現したときは、実行
ユニットが実行する命令をマクロ定義格納メモリのマク
ロ命令に対応する基本プログラム群より取り出すように
切り替える命令伝達経路切替手段とを有することを特徴
とする。
ピュータは、複数のステップの命令からなるプログラム
が格納されるメモリと、プログラム内に用いられている
マクロ命令に対応するマクロ命令を展開した基本プログ
ラム群が格納されているマクロ定義格納メモリと、プロ
グラムの命令を1ステップずつ実行する実行ユニット
と、プログラム内でマクロ命令が出現したときは、実行
ユニットが実行する命令をマクロ定義格納メモリのマク
ロ命令に対応する基本プログラム群より取り出すように
切り替える命令伝達経路切替手段とを有することを特徴
とする。
【0009】
【作用】マクロ命令の展開は、実行ユニットが命令を実
行しようとする段階で行われる。
行しようとする段階で行われる。
【0010】
【実施例】以下この発明の1実施例を図を参照して説明
する。図1は、この発明の1実施例であるマクロ命令を
もつマイクロコンピュータの構成を示す構成図である。
同図において、1はこの発明によるマイクロコンピュー
タ、2は実行ユニット、3はアッセンブルされたプログ
ラムの命令を実行ユニット2が実行できる形態に翻訳す
る命令デコーダ、4はプログラムが格納される外部メモ
リ、5は実行ユニット2より必要とするデータの外部メ
モリ4における格納位置の指示が出力されるアドレスバ
ス、6はプログラムの命令などのデータが転送されるデ
ータバスである。
する。図1は、この発明の1実施例であるマクロ命令を
もつマイクロコンピュータの構成を示す構成図である。
同図において、1はこの発明によるマイクロコンピュー
タ、2は実行ユニット、3はアッセンブルされたプログ
ラムの命令を実行ユニット2が実行できる形態に翻訳す
る命令デコーダ、4はプログラムが格納される外部メモ
リ、5は実行ユニット2より必要とするデータの外部メ
モリ4における格納位置の指示が出力されるアドレスバ
ス、6はプログラムの命令などのデータが転送されるデ
ータバスである。
【0011】また、7はマクロ定義が格納されているマ
クロ定義格納メモリ、8は命令デコーダ3からの指示に
より外部メモリ4からの命令データとマクロ定義格納メ
モリ7からの命令データとの入力を切り替えるマルチプ
レクサ(命令伝達経路切替手段)、9は実行ユニット2
からのマクロ定義格納メモリ7におけるアドレス指示が
出力されるマクロ構成命令アドレスバスである。
クロ定義格納メモリ、8は命令デコーダ3からの指示に
より外部メモリ4からの命令データとマクロ定義格納メ
モリ7からの命令データとの入力を切り替えるマルチプ
レクサ(命令伝達経路切替手段)、9は実行ユニット2
からのマクロ定義格納メモリ7におけるアドレス指示が
出力されるマクロ構成命令アドレスバスである。
【0012】このマイクロコンピュータ1は、実行ユニ
ット2から第1のアドレスバス4を介して外部メモリ8
のアドレスを指定し、このアドレスに格納されているデ
ータをデータバス6に取り込む。取り込んだデータが命
令データのときは、マルチプレクサ8を介して命令デコ
ーダ3に読み出され、ここでデコード(翻訳)され実行
ユニット2に送られる。そして、実行ユニット2は、こ
のデコードされた命令データの命令に従った処理を実行
する。
ット2から第1のアドレスバス4を介して外部メモリ8
のアドレスを指定し、このアドレスに格納されているデ
ータをデータバス6に取り込む。取り込んだデータが命
令データのときは、マルチプレクサ8を介して命令デコ
ーダ3に読み出され、ここでデコード(翻訳)され実行
ユニット2に送られる。そして、実行ユニット2は、こ
のデコードされた命令データの命令に従った処理を実行
する。
【0013】ここで、命令デコーダ3がマクロ記述され
た命令データを受け取ると、マルチプレクサ8に指示を
出して、入力をマクロ定義格納メモリ7からに切り替え
させる。次いで、命令デコーダ3は、受け取った命令デ
ータのマクロに基づいて、対応したマクロ実行命令群の
先頭アドレスをマクロ定義格納メモリ7に出力する。こ
のことにより、このマクロ命令を構成する命令がマクロ
定義格納メモリ7からマルチプレクサ8を介して命令デ
コーダ3に取り込まれ、デコードされ実行ユニット2に
送られる。
た命令データを受け取ると、マルチプレクサ8に指示を
出して、入力をマクロ定義格納メモリ7からに切り替え
させる。次いで、命令デコーダ3は、受け取った命令デ
ータのマクロに基づいて、対応したマクロ実行命令群の
先頭アドレスをマクロ定義格納メモリ7に出力する。こ
のことにより、このマクロ命令を構成する命令がマクロ
定義格納メモリ7からマルチプレクサ8を介して命令デ
コーダ3に取り込まれ、デコードされ実行ユニット2に
送られる。
【0014】そして、実行ユニット2では、受け取った
命令を実行し終わると、次の命令を取り込むため、既に
実行した命令の次のアドレスを、マクロ構成命令アドレ
スバス9を介してマクロ定義格納メモリ7に送る。この
ことにより、上述したマクロを構成する次の命令が、マ
クロ定義格納メモリ7からマルチプレクサ8を介して、
命令デコーダ3に送られる。以上のことを、そのマクロ
を構成する全ての命令を実行するまで行い、マクロが終
了したら、命令デコーダ3はマルチプレクサ8の入力先
を外部メモリ4に切り替える。
命令を実行し終わると、次の命令を取り込むため、既に
実行した命令の次のアドレスを、マクロ構成命令アドレ
スバス9を介してマクロ定義格納メモリ7に送る。この
ことにより、上述したマクロを構成する次の命令が、マ
クロ定義格納メモリ7からマルチプレクサ8を介して、
命令デコーダ3に送られる。以上のことを、そのマクロ
を構成する全ての命令を実行するまで行い、マクロが終
了したら、命令デコーダ3はマルチプレクサ8の入力先
を外部メモリ4に切り替える。
【0015】以上示したように、この発明においては、
従来ではアッセンブル時に行っていたマクロの展開を、
命令デコーダ3が命令をデコードするときに変更するよ
うにしたものである。このため、外部メモリ4に格納さ
れるアッセンブルされたプログラムは、マクロ記述が用
いられたままとなり、プログラム量の増大を招くことが
ない。
従来ではアッセンブル時に行っていたマクロの展開を、
命令デコーダ3が命令をデコードするときに変更するよ
うにしたものである。このため、外部メモリ4に格納さ
れるアッセンブルされたプログラムは、マクロ記述が用
いられたままとなり、プログラム量の増大を招くことが
ない。
【0016】以下、この発明におけるマクロの展開(置
き換え)について、図2を用いて説明する。図2(a)
は、図1の外部メモリ4の内容の一部であり、図2
(b)はマクロ定義格納メモリ7の内容である。ここ
で、実行ユニット2は、図示していないが、4桁までの
数字を格納できる複数のレジスタR0〜R7をもってい
る。
き換え)について、図2を用いて説明する。図2(a)
は、図1の外部メモリ4の内容の一部であり、図2
(b)はマクロ定義格納メモリ7の内容である。ここ
で、実行ユニット2は、図示していないが、4桁までの
数字を格納できる複数のレジスタR0〜R7をもってい
る。
【0017】まず、図2(a)に示す、外部メモリ4の
100番地に格納されている命令「MOVI R0,3
1」は、実行ユニット2のレジスタR0に数値「31」
をロードするという命令である。次に、101番地に格
納されている「マクロA実行命令」はマクロAを実行す
るという命令である。次に、102番地に格納されてい
る命令「LD R0[300]」は、レジスタR0に外
部メモリ4の300番地の内容をロードする命令であ
る。
100番地に格納されている命令「MOVI R0,3
1」は、実行ユニット2のレジスタR0に数値「31」
をロードするという命令である。次に、101番地に格
納されている「マクロA実行命令」はマクロAを実行す
るという命令である。次に、102番地に格納されてい
る命令「LD R0[300]」は、レジスタR0に外
部メモリ4の300番地の内容をロードする命令であ
る。
【0018】次に、103番地に格納されている「マク
ロA実行命令」は102番地と同様に、マクロAを実行
するという命令である。そして、104番地の命令「C
ALL 200」は外部メモリ4の200番地にサブル
ーチンコールする命令である。そして、101番地と1
03番地の「マクロA実行命令」は、命令デコーダ3に
対する命令であり、まず、マルチプレクサ8の入力をデ
ータバス6からマクロ定義格納メモリ7への切り替えさ
せ、マクロ定義格納メモリ7に対して「マクロ命令A」
に対応する先頭番地を指示させる。
ロA実行命令」は102番地と同様に、マクロAを実行
するという命令である。そして、104番地の命令「C
ALL 200」は外部メモリ4の200番地にサブル
ーチンコールする命令である。そして、101番地と1
03番地の「マクロA実行命令」は、命令デコーダ3に
対する命令であり、まず、マルチプレクサ8の入力をデ
ータバス6からマクロ定義格納メモリ7への切り替えさ
せ、マクロ定義格納メモリ7に対して「マクロ命令A」
に対応する先頭番地を指示させる。
【0019】また、150番地はレジスタR0に数値
「135」をロードする命令、151番地はレジスタR
1に数値「0586」をロードする命令、152番地は
レジスタR2に数値「5000」をロードする命令、1
53番地はレジスタR3に数値「8532」をロードす
る命令である。そして、154番地は、命令デコーダ3
に対して、マルチプレクサ8の入力をデータバス6から
マクロ定義格納メモリ7への切り替えさせ、マクロ定義
格納メモリ7に対して「マクロ命令B」に対応する先頭
番地を指示させる命令である。
「135」をロードする命令、151番地はレジスタR
1に数値「0586」をロードする命令、152番地は
レジスタR2に数値「5000」をロードする命令、1
53番地はレジスタR3に数値「8532」をロードす
る命令である。そして、154番地は、命令デコーダ3
に対して、マルチプレクサ8の入力をデータバス6から
マクロ定義格納メモリ7への切り替えさせ、マクロ定義
格納メモリ7に対して「マクロ命令B」に対応する先頭
番地を指示させる命令である。
【0020】図2(b)に示したように、マクロ定義格
納メモリ7(図1)には0番地から5番地まで2種類の
マクロ展開された命令が格納されている。図2(b)に
おいて、0番地の「ADD R7,1」は、レジスタR
7に数値「1」を加算する命令、1番地の「ST R
0,[R7]」は、レジスタR7の指すアドレスに、レ
ジスタR0の内容を書き込む命令である。2番地の「マ
クロ終了命令」は、マクロ定義格納メモリ7からデータ
バス6へと、マルチプレクサ8の入力の切り替えを指示
する命令である。
納メモリ7(図1)には0番地から5番地まで2種類の
マクロ展開された命令が格納されている。図2(b)に
おいて、0番地の「ADD R7,1」は、レジスタR
7に数値「1」を加算する命令、1番地の「ST R
0,[R7]」は、レジスタR7の指すアドレスに、レ
ジスタR0の内容を書き込む命令である。2番地の「マ
クロ終了命令」は、マクロ定義格納メモリ7からデータ
バス6へと、マルチプレクサ8の入力の切り替えを指示
する命令である。
【0021】また、3番地の「ADD R1,R3」は
レジスタR1に格納されている数値とレジスタR3に格
納されている数値を加算する命令、4番地の「ADD
R0,R2」はレジスタR0に格納されている数値とレ
ジスタR2に格納されている数値を加算する命令であ
る。そして、5番地の「マクロ終了命令」は、2番地と
同様であり、マクロ定義格納メモリ7からデータバス6
へと、マルチプレクサ8の入力の切り替えを指示する命
令である。
レジスタR1に格納されている数値とレジスタR3に格
納されている数値を加算する命令、4番地の「ADD
R0,R2」はレジスタR0に格納されている数値とレ
ジスタR2に格納されている数値を加算する命令であ
る。そして、5番地の「マクロ終了命令」は、2番地と
同様であり、マクロ定義格納メモリ7からデータバス6
へと、マルチプレクサ8の入力の切り替えを指示する命
令である。
【0022】ここで、上述した図2(a)の100番地
からに示すプログラムは、104番地のサブルーチンコ
ールの前に所定の引数を所定のメモリ位置(スタック)
に格納する処理を想定している。レジスタR7はスタッ
クポインタとして使用している。そして、150番地か
らのプログラムは、「1350586+5000853
2」の演算を行わせる処理を想定している。
からに示すプログラムは、104番地のサブルーチンコ
ールの前に所定の引数を所定のメモリ位置(スタック)
に格納する処理を想定している。レジスタR7はスタッ
クポインタとして使用している。そして、150番地か
らのプログラムは、「1350586+5000853
2」の演算を行わせる処理を想定している。
【0023】以下、処理の実行について説明する。処理
は、外部メモリ4の100番地から始まる。最初に10
0番地の命令を読み込み、それに従って実行する。この
場合は、レジスタR0に数値「31」が設定される。次
に、101番地の命令を読み込み、これを実行する。こ
のことにより、マルチプレクサ8の入力先がマクロ定義
格納メモリ7に切り換わる。そして、マクロ定義格納メ
モリ7の0番地が指定される。
は、外部メモリ4の100番地から始まる。最初に10
0番地の命令を読み込み、それに従って実行する。この
場合は、レジスタR0に数値「31」が設定される。次
に、101番地の命令を読み込み、これを実行する。こ
のことにより、マルチプレクサ8の入力先がマクロ定義
格納メモリ7に切り換わる。そして、マクロ定義格納メ
モリ7の0番地が指定される。
【0024】次いで、指定された0番地から実行され、
0番地の内容に従い、レジスタR7に数値「1」を加算
し、次いで1番地の内容に従い、レジスタR7の指す外
部メモリ4のアドレスにレジスタR0の内容を書き込む そして、2番地の内容に従い、マルチプレクサ8の入力
をマクロ定義格納メモリ7からデータバス6へ切り替え
る。
0番地の内容に従い、レジスタR7に数値「1」を加算
し、次いで1番地の内容に従い、レジスタR7の指す外
部メモリ4のアドレスにレジスタR0の内容を書き込む そして、2番地の内容に従い、マルチプレクサ8の入力
をマクロ定義格納メモリ7からデータバス6へ切り替え
る。
【0025】次に、同様に命令を実行していき、今度
は、150番地の命令が読み込まれるとレジスタR0に
数値「135」が設定され、151番地の命令が読み込
まれてレジスタR1に数値「0586」が設定され、1
52番地の命令が読み込まれてレジスタR2に数値「5
000」が設定され、153番地の命令が読み込まれて
レジスタR3に数値「8532」が設定される。そし
て、154番地の命令が読み込まれると、マルチプレク
サ8の入力先がマクロ定義格納メモリ7に切り換わり、
マクロ定義格納メモリ7の3番地が指定される。
は、150番地の命令が読み込まれるとレジスタR0に
数値「135」が設定され、151番地の命令が読み込
まれてレジスタR1に数値「0586」が設定され、1
52番地の命令が読み込まれてレジスタR2に数値「5
000」が設定され、153番地の命令が読み込まれて
レジスタR3に数値「8532」が設定される。そし
て、154番地の命令が読み込まれると、マルチプレク
サ8の入力先がマクロ定義格納メモリ7に切り換わり、
マクロ定義格納メモリ7の3番地が指定される。
【0026】次いで、指定された3番地から実行され、
3番地の内容に従い、レジスタR1とレジスタR3の数
値を加算し、4番地の内容に従いレジスタR0とレジス
タR2の数値を加算する。そして、5番地の内容に従
い、マルチプレクサ8の入力をマクロ定義格納メモリ7
からデータバス6へ切り替え、外部メモリ4に格納され
ている155番地からの内容に従った処理が行われてい
く。
3番地の内容に従い、レジスタR1とレジスタR3の数
値を加算し、4番地の内容に従いレジスタR0とレジス
タR2の数値を加算する。そして、5番地の内容に従
い、マルチプレクサ8の入力をマクロ定義格納メモリ7
からデータバス6へ切り替え、外部メモリ4に格納され
ている155番地からの内容に従った処理が行われてい
く。
【0027】以上示したように、この実施例によれば、
外部メモリ4に格納されるプログラムにおいては、マク
ロ記述が用いられ、この展開は、命令デコーダ3の直前
でマクロ定義格納メモリ7を用いることで行われる。こ
のため、外部メモリ4におけるプログラムのサイズは大
きくなることがない。マクロ命令は、種類としては多い
ものではなく、プログラムの中で頻繁に行われる同一の
命令群をまとめたものであるので、マクロ定義格納メモ
リ7として大きな容量を用意しなくても良い。
外部メモリ4に格納されるプログラムにおいては、マク
ロ記述が用いられ、この展開は、命令デコーダ3の直前
でマクロ定義格納メモリ7を用いることで行われる。こ
のため、外部メモリ4におけるプログラムのサイズは大
きくなることがない。マクロ命令は、種類としては多い
ものではなく、プログラムの中で頻繁に行われる同一の
命令群をまとめたものであるので、マクロ定義格納メモ
リ7として大きな容量を用意しなくても良い。
【0028】なお、上記実施例では、マクロ定義格納メ
モリ7における次の実行命令の番地の指示が、実行ユニ
ット2をよりマクロ構成命令アドレスバス9を介して出
されるようにしているが、これに限るものではなく、命
令デコーダ3から出されるようにしても同様である。実
行ユニット2が次の命令を実行できる状態となっている
かどうかは、命令デコーダ3も把握しているからであ
る。この場合、マクロ構成命令アドレスバス9はいらな
くなる。
モリ7における次の実行命令の番地の指示が、実行ユニ
ット2をよりマクロ構成命令アドレスバス9を介して出
されるようにしているが、これに限るものではなく、命
令デコーダ3から出されるようにしても同様である。実
行ユニット2が次の命令を実行できる状態となっている
かどうかは、命令デコーダ3も把握しているからであ
る。この場合、マクロ構成命令アドレスバス9はいらな
くなる。
【0029】
【発明の効果】以上説明したように、この発明によれ
ば、マクロ命令の置き換えをソースプログラムのアッセ
ンブル時でなく、マイクロコンピュータ内の命令デコー
ダ直前で行うようにした。このため、マイクロコンピュ
ータのメモリに格納するプログラムにおいては、マクロ
機能を用いることが可能となり、そのプログラムのステ
ップ数を減少させられるという効果を有する。このこと
により、例えば、3つのステップの基本命令からなるマ
クロ実行命令を100回使用すれば、使用しない場合と
比較してプログラム容量を200ステップ削除すること
ができる。
ば、マクロ命令の置き換えをソースプログラムのアッセ
ンブル時でなく、マイクロコンピュータ内の命令デコー
ダ直前で行うようにした。このため、マイクロコンピュ
ータのメモリに格納するプログラムにおいては、マクロ
機能を用いることが可能となり、そのプログラムのステ
ップ数を減少させられるという効果を有する。このこと
により、例えば、3つのステップの基本命令からなるマ
クロ実行命令を100回使用すれば、使用しない場合と
比較してプログラム容量を200ステップ削除すること
ができる。
【図1】 この発明の1実施例であるマクロ命令をもつ
マイクロコンピュータの構成を示す構成図である。
マイクロコンピュータの構成を示す構成図である。
【図2】 外部メモリ4に格納されているプログラム
と、マクロ定義格納メモリ7に格納されているプログラ
ムの1例を示す説明図である。
と、マクロ定義格納メモリ7に格納されているプログラ
ムの1例を示す説明図である。
【図3】 通常よく用いられるマイクロコンピュータの
概略的な構成を示す構成図である。
概略的な構成を示す構成図である。
1…マイクロコンピュータ、2…実行ユニット、3…命
令デコーダ、4…外部メモリ、5…アドレスバス、6…
データバスであ、7…マクロ定義格納メモリ、8…マル
チプレクサ(命令伝達経路切替手段)、9…マクロ構成
命令アドレスバス。
令デコーダ、4…外部メモリ、5…アドレスバス、6…
データバスであ、7…マクロ定義格納メモリ、8…マル
チプレクサ(命令伝達経路切替手段)、9…マクロ構成
命令アドレスバス。
Claims (3)
- 【請求項1】 アドレス指定されたメモリの内容に従っ
て実行するマイクロコンピュータにおいて、 複数のステップの命令からなるプログラムが格納される
メモリと、 前記プログラム内に用いられているマクロ命令に対応す
る前記マクロ命令を展開した基本プログラム群が格納さ
れているマクロ定義格納メモリと、 前記プログラムの命令を1ステップずつ実行する実行ユ
ニットと、 前記プログラム内でマクロ命令が出現したときは、前記
実行ユニットが実行する命令を、前記マクロ定義格納メ
モリの前記マクロ命令に対応する基本プログラム群より
取り出すように切り替える命令伝達経路切替手段とを有
することを特徴とするマイクロコンピュータ。 - 【請求項2】 請求項1記載のマイクロコンピュータに
おいて、 前記実行ユニットと命令伝達経路切替手段との間に配置
され、前記命令伝達切替手段とマクロ定義格納メモリを
制御し、前記プログラムの命令を翻訳して前記実行ユニ
ットに引き渡す命令デコーダを備えたことを特徴とする
マイクロコンピュータ。 - 【請求項3】 請求項1または2記載のマイクロコンピ
ュータにおいて、 前記マクロ定義格納メモリは、書き換えが可能であるこ
とを特徴とするマイクロコンピュータ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP622195A JPH08194614A (ja) | 1995-01-19 | 1995-01-19 | マイクロコンピュータ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP622195A JPH08194614A (ja) | 1995-01-19 | 1995-01-19 | マイクロコンピュータ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08194614A true JPH08194614A (ja) | 1996-07-30 |
Family
ID=11632471
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP622195A Pending JPH08194614A (ja) | 1995-01-19 | 1995-01-19 | マイクロコンピュータ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08194614A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20000061374A (ko) * | 1999-03-25 | 2000-10-16 | 김기삼 | 스테이터스 구동방법 |
| KR20000061373A (ko) * | 1999-03-25 | 2000-10-16 | 김기삼 | 파일시스템 구동방법 |
| WO2002086652A1 (fr) * | 2001-04-19 | 2002-10-31 | Sony Corporation | Processeur |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01276233A (ja) * | 1988-04-27 | 1989-11-06 | Nec Corp | マイクロプロセッサ |
| JPH0221331A (ja) * | 1988-07-08 | 1990-01-24 | Nec Corp | マイクロコンピュータのプログラム制御方式 |
| JPH04370832A (ja) * | 1991-06-19 | 1992-12-24 | Nec Corp | プロセッサ回路 |
-
1995
- 1995-01-19 JP JP622195A patent/JPH08194614A/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01276233A (ja) * | 1988-04-27 | 1989-11-06 | Nec Corp | マイクロプロセッサ |
| JPH0221331A (ja) * | 1988-07-08 | 1990-01-24 | Nec Corp | マイクロコンピュータのプログラム制御方式 |
| JPH04370832A (ja) * | 1991-06-19 | 1992-12-24 | Nec Corp | プロセッサ回路 |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20000061374A (ko) * | 1999-03-25 | 2000-10-16 | 김기삼 | 스테이터스 구동방법 |
| KR20000061373A (ko) * | 1999-03-25 | 2000-10-16 | 김기삼 | 파일시스템 구동방법 |
| WO2002086652A1 (fr) * | 2001-04-19 | 2002-10-31 | Sony Corporation | Processeur |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100328162B1 (ko) | 정보처리회로와마이크로컴퓨터와전자기기 | |
| KR900003591B1 (ko) | 데이터 처리장치 | |
| US4562538A (en) | Microprocessor having decision pointer to process restore position | |
| US5682531A (en) | Central processing unit | |
| KR100875377B1 (ko) | 처리 시스템에서 스택 팝 및 푸쉬 동작들을 수행하는 장치 및 방법 | |
| KR920006614B1 (ko) | 뱅크스위칭 방식의 데이터 처리 시스템에 있어서의 서브프로그램장치 및 그 방법 | |
| US4388682A (en) | Microprogrammable instruction translator | |
| JPS63226732A (ja) | シーケンサ回路 | |
| JPH01310441A (ja) | データ処理装置 | |
| JP2000200196A (ja) | 拡張命令語を有する中央処理装置 | |
| US4240137A (en) | Computer for directly executing a program including a plurality of structured blocks | |
| JPH0683615A (ja) | 命令セットエミュレーションを行う計算機 | |
| JP2005275703A (ja) | プロセッサ及びコンテキスト切り替え方法 | |
| JPH1011315A (ja) | インサーキットエミュレータ装置およびインサーキットエミュレーション方法 | |
| US5093784A (en) | Data processor with efficient transfer between subroutines and main program | |
| JPS62262146A (ja) | 処理装置 | |
| JPS6242301B2 (ja) | ||
| JPH05282143A (ja) | 主記憶アクセス制御回路 | |
| JPS6148735B2 (ja) | ||
| KR830000821B1 (ko) | 데이타 처리 시스템 | |
| JPS6220032A (ja) | 情報処理装置 | |
| JPH0713758A (ja) | 命令デコード方法 | |
| JPH0531170B2 (ja) | ||
| JPS58112142A (ja) | プログラム処理装置 | |
| JPH03282625A (ja) | データ処理装置 |