JPH05298088A - マイクロコンピュータ - Google Patents

マイクロコンピュータ

Info

Publication number
JPH05298088A
JPH05298088A JP4096507A JP9650792A JPH05298088A JP H05298088 A JPH05298088 A JP H05298088A JP 4096507 A JP4096507 A JP 4096507A JP 9650792 A JP9650792 A JP 9650792A JP H05298088 A JPH05298088 A JP H05298088A
Authority
JP
Japan
Prior art keywords
instruction
microinstruction
operand
processing
unit
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
Application number
JP4096507A
Other languages
English (en)
Inventor
Haruo Kojima
治雄 小嶋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP4096507A priority Critical patent/JPH05298088A/ja
Publication of JPH05298088A publication Critical patent/JPH05298088A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 プログラムの実行速度の速いマイクロコンピ
ュータを提供する。 【構成】 処理プログラムを構成するマクロ命令群の
内、使用頻度の高い処理ルーチンに対応するマイクロ命
令及びオペランドデータをファームウェア化し、実際の
プログラム実行の際には、マクロ命令に対応してこれら
のファームウェア化されたマイクロ命令及びオペランド
データが通常のマクロ命令として機能するようにした。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、マイクロプログラム方
式のマイクロコンピュータに関し、特に、命令サイクル
の処理速度を向上させることにより、高速処理を実現す
るマイクロコンピュータに関する。
【0002】
【従来の技術】従来、マイクロプログラム制御方式のマ
イクロコンピュータは、命令読出しサイクルと命令実行
サイクルから成る命令サイクルを繰返すことによってア
センブラ等のマクロ命令に対応する処理を実行するよう
になっている。即ち、命令読出しサイクルはマクロ命令
を読み出すフェッチサイクルと、このマクロ命令をデコ
ードするデコードサイクルから成り、命令実行サイクル
では、機械語のマイクロ命令を予め格納するマイクロ命
令発生部(μROM)から該デコード出力に対応するマ
イクロ命令を発生させて、該マイクロ命令に従って内部
の各論理回路を動作させる。
【0003】更に、上記のフェッチサイクル、デコード
サイクル、及び命令実行サイクルは、内部のクロック発
生回路で発生されるクロック信号又は外部回路等から供
給されるクロック信号に同期して実行され、これらのク
ロック信号の1周期がマイクロコンピュータのマシンサ
イクルに相当している。そして、上記フェッチサイク
ル、デコードサイクル、及び命令実行サイクルの夫々の
マシンサイクル数は、マクロ命令の種類に従って決めら
れている。例えば、処理プログラムが、一連の3種類の
マクロ命令(A)(B)(C)で形成されているものと
すると、図5に示すように、3種類のマクロ命令(A)
(B)(C)が順に実行されると、第1のマクロ命令
(A)に対する命令サイクルは、夫々が2マシンサイク
ルのフェッチサイクルF1 とデコードサイクルD1 及び
命令実行サイクルE1 から成り、第2のマクロ命令
(B)に対する命令サイクルは、夫々が2マシンサイク
ルのフェッチサイクルF2 とデコードサイクルD2 及び
4マシンサイクルの命令実行サイクルE2 から成り、第
3のマクロ命令(C)に対する命令サイクルは、夫々が
3マシンサイクルのフェッチサイクルF3 とデコードサ
イクルD3 及び4マシンサイクルの命令実行サイクルE
3 から成るというように、所定数のマシンサイクルが設
定される。
【0004】更に、上記マイクロ命令発生部に予め設定
されるマイクロ命令の種類としては、例えば、四則演
算、論理演算、統計処理のための演算、その他、使用頻
度等に鑑みて汎用性のあるマイクロ命令、等の最大公約
数的な命令群からなり、マクロ命令でこれらのマイクロ
命令を適宜に指定することで、効率の良いプログラム処
理を行い得るように考慮されている。
【0005】尚、このようなマクロ命令をデコードして
マイクロ命令を発生し、そのマイクロ命令の処理を行う
技術に関するものとして、例えば、特開昭55−497
51号公報に開示されたものが知られており、この技術
はマイクロコンピュータが適用されるシステムの性能向
上に寄与し得る特定のマイクロ命令(処理ルーチン)を
固定的に上記マイクロ命令発生部に設定しておくことに
よって、効率の良いプログラム処理を行い得るように考
慮したものである。
【0006】
【発明が解決しようとする課題】ところで、こうしたマ
イクロプログラム方式のマイクロコンピュータでプログ
ラム処理を行う場合、使用頻度の高い処理プログラムを
サブルーチンにしておき、これを各種の処理ルーチンで
共同利用することによって、プログラム開発の効率化を
図ることができるようにしたり、処理プログラムを記憶
しておくためのメモリを効率的に使用するようにしてい
る。
【0007】しかし、この手法は、処理プログラムのス
テップ数を低減する等の効果はあるが、各マクロ命令の
処理速度を向上することはできず、本発明の目的である
マイクロコンピュータの処理速度の向上を図ることがで
きない。即ち、図5に示したように、各マクロ命令の実
行は、必ずフェッチサイクル、デコードサイクル及び命
令実行サイクルの順に処理されるので、たとえサブルー
チンを作成しておいても、該サブルーチンを構成する各
マクロ命令の処理も必ず上記命令サイクル(即ち、フェ
ッチサイクル、デコードサイクル及び命令実行サイクル
の3サイクル)の処理が行われ、処理時間の短縮化は実
現されない。
【0008】つまり、同一のサブルーチンを繰返して利
用するようなプログラム処理では、そのサブルーチンを
実行する度に同じ命令サイクルを繰返すこととなるの
で、実質的には命令実行サイクルのみの処理だけ行われ
ればそれで十分であるにも係わらず、フェッチサイクル
とデコードサイクルの処理が行われることから、実質的
には不要な処理が繰返し行われることとなって、処理時
間の短縮化は図られない。 本発明は、このような問題
点に鑑みて成されたものであり、マイクロコンピュータ
が命令系列の処理ルーチンを実行する際に、処理ルーチ
ンを構成する各マクロ命令の命令サイクル中からフェッ
チサイクルとデコードサイクルを省略しても正規の処理
を実現し、これにより、マイクロコンピュータの処理ル
ーチンの処理時間の短縮化を図ることができるマイクロ
コンピュータを提供することを目的とする。
【0009】
【課題を解決するための手段】このような目的を達成す
るために、本発明は、マクロ命令をフェッチするフェッ
チ部と、該フェッチされたマクロ命令をデコードするデ
コーダ部と、マクロ命令に対応するマイクロ命令を予め
保持して該デコーダ部からのデコード出力に対応するマ
イクロ命令を発生するマイクロ命令発生部と、該マイク
ロ命令発生部から出力されたマイクロ命令を記憶するラ
ンダムクセスメモリ(RAM)等から成るプログラマブ
ル命令記憶部と、該マイクロ命令発生部から出力された
マイクロ命令を、アドレス制御を行いつつ該プログラマ
ブル命令記憶部に記憶させる書込制御部と、マクロ命令
が該プログラマブル命令記憶部に記憶されたマイクロ命
令に対応すると、その対応するマイクロ命令を該プログ
ラマブル命令記憶部から読出すためのアドレス制御を行
うアドレス制御部とを具備し、通常のプログラム処理が
行われないときに、処理プログラムの内から、サブルー
チンのような使用頻度の高い一連の処理プログラムを構
成するマクロ命令群を、プログラムステップ順にフェッ
チ部でフェッチし且つデコーダ部でデコードして、マイ
クロ命令発生部が夫々のマイクロ命令を発生し、更に、
書込制御部が夫々のマイクロ命令を該プログラムステッ
プに対応させてプログラマブル命令記憶部に書込むファ
ームウェア化処理を行い、次に、通常のプログラム処理
を行うときは、上記使用頻度の高い一連の処理ルーチン
が所謂サブルーチンコールのようなマクロ命令で指定さ
れると、アドレス制御部がその一連の処理ルーチンに対
応するマイクロ命令群(上記ファームウェア化処理の際
に予め記憶されているマイクロ命令群)を順次にプログ
ラマブル命令記憶部から読出して、内部論理回路等を動
作させる構成にした。
【0010】又、オペランドを有するマクロ命令の処理
に対処するために、上記フェッチ部、デコーダ部、マイ
クロ命令発生部、プログラマブル命令記憶部、書込制御
部、及びアドレス制御部に加えて、上記ファームウェア
化処理の際にマクロ命令中のオペランドを記憶するラン
ダムクセスメモリ(RAM)等から成るオペランドテー
ブルと、通常のプログラム処理を行うときは、上記プロ
グラマブル命令記憶部からマクロ命令中のオペレーショ
ンに対応するマクロ命令を読出すのに同期して該オペレ
ーションに対応するオペランドを該オペランドテーブル
から読出すオペランド制御部を備えることにより、オペ
ランドを有するマクロ命令群で構成される一連の処理プ
ログラムの実行も行うように構成した。
【0011】
【作用】かかる構成を有するマイクロコンピュータによ
れば、ファームウェア化処理のときに、フェッチ部及び
デコード部がサブルーチン等の使用頻度の高い処理ルー
チンの一連のマクロ命令群を順次にフェッチ及びデコー
ドし、更にマイクロ命令発生部が該デコードデータに基
いてマクロ命令に対応するマイクロ命令を発生し、プロ
グラマブル命令記憶部が書込制御部の制御下でこれらの
マイクロ命令を順次に記憶する。
【0012】又、オペランドを有するマクロ命令に対し
ては、マイクロ命令発生部が発生したオペレーションに
対応するマイクロ命令をプログラマブル命令記憶部に記
憶させる際に、オペランド制御部がオペランドをオペラ
ンドデーブルに記憶させる。
【0013】これらのプログラマブル命令記憶部にマイ
クロ命令を順次書込むときと、オペランドをオペランド
テーブルに書込むときには、アドレス制御部が、プログ
ラマブル命令記憶部に対してアドレス制御を行い、オペ
ランド制御部にオペランドテーブルへの書込み位置を与
える。
【0014】このアドレス制御部はアドレスレジスタ等
を有してプログラマブル命令記憶部のアドレス制御を行
うものであり、アドレスレジスタによってマイクロ命令
の命令系列の書込みアドレスを指定し、プログラマブル
命令記憶部に書込んだマイクロ命令を読み出す時のアド
レス制御を行う。又、アドレス制御部のアドレスレジス
タに対しては、特定のマクロ命令が実行されることによ
りプログラマブル命令記憶部で書込みを始める先頭アド
レス値がセットされる。これにより、プログラマブル命
令記憶部へのマイクロ命令の書込処理が開始される。即
ち、この特定のマクロ命令をマイクロコンピュータが実
行して、プログラマブル命令記憶部への書込み用先頭ア
ドレス値がアドレスレジスタにセットされると、書込制
御部が次のプログラムステップのマクロ命令に対応する
マイクロ命令を順次にプログラマブル命令記憶部に書込
んでいく。そして、所謂サブルーチン・リターンやファ
ームウェア化処理終了等の所定のマクロ命令を実行する
ことにより、このプログラマブル命令記憶部への一連の
マイクロ命令の書込み処理(ファームウェア化処理)は
終了する。即ち、デコーダからアドレスレジスタにリセ
ット値をセットするマクロ命令をデコードすると、マイ
クロ命令発生部からの指示により、書込み制御部が、プ
ログラマブル命令記憶部に命令の実行サイクルの終了を
示すマイクロ命令を書込み、プログラマブル命令記憶部
へのマイクロ命令の書込み処理が終了する。
【0015】このようなファームウェア化処理を行うこ
とにより、プログラマブル命令記憶部には、サブルーチ
ン等を構成する一連のマクロ命令群に対応するマイクロ
命令群が、所謂サブルーチンコール等の1つのマクロ命
令に対応する複雑な処理機能を有するマイクロ命令であ
るかのように記憶される。したがって、複雑な処理機能
を有するマイクロ命令がプログラマブル命令記憶部に格
納されてファームウェア化されたのに相当する効果が得
られる。
【0016】一方、プログラマブル命令記憶部に書込ん
だ特定の処理ルーチンに対応する一連のマイクロ命令群
と、オペランドテーブルに書込んだオペランドを読出
し、更に所定の処理ルーチンを実行する処理では、マイ
クロコンピュータが所定のマクロ命令を実行して、当該
処理ルーチンを起動する。即ち、マイクロコンピュータ
が、所定のマクロ命令を実行すると、アドレス制御部の
アドレスレジスタにプログラマブル命令記憶部から読出
す一連のマイクロ命令の先頭アドレスが書込まれる。ア
ドレスレジスタに先頭アドレスがセットされると、アド
レス制御部が、プログラマブル命令記憶部に記憶されて
いる一連のマイクロ命令群を順次に読出す。これによ
り、当該特定の処理ルーチンが実行される。特定の処理
ルーチンを実行するために一連のマイクロ命令が順次に
読出される時、読出されたマイクロ命令の内、オペラン
ドを必要とするマイクロ命令に対しては、オペランド制
御部がアドレスレジスタのアドレスデータを参照し、オ
ペランドテーブルよりマイクロ命令の実行に必要なオペ
ランドを取出して、マイクロコンピュータの内部バスヘ
出力する。この特定の処理ルーチンの実行は、プログラ
マブル命令記憶部から順次にマイクロ命令が読出され、
命令の実行サイクルの終了を示すマイクロ命令が実行さ
れることにより終了する。
【0017】この様に、マイクロコンピュータ内のマイ
クロ命令発生部から発生するマイクロ命令群の一部をプ
ログラマブル命令記憶部に記憶できるようにすることに
より、マクロ命令で構成した処理プログラマブルの内の
使用頻度の高い処理ルーチン等をファームウェア化する
ことができる。
【0018】これにより、使用頻度の高い処理ルーチン
を実行する際には、この処理ルーチンを起動する所謂サ
ブルーチンコール等の先頭のマクロ命令のフェッチ、デ
コード及び命令実行を行うだけで、一連のマイクロ命令
が実行されるので、従来のように、サブルーチン等を構
成する全てのマクロ命令に対してフェッチサイクルとデ
コードサイクルが省略され、命令実行サイクルだけで処
理を行うこととなることから、プログラム処理の大幅な
高速化を実現する。
【0019】又、マイクロコンピュータに通常と同様の
実行を行わせるだけで、プログラマブル命令記憶部に所
望のマイクロ命令が格納されるので、極めて操作が容易
であり、且つ変更も容易であり、従来のように読出し専
用メモリ(ROM)にマイクロ命令を書込むことでファ
ームウェア化するような繁雑な操作が不要となる。
【0020】
【実施例】以下、本発明の一実施例を図面と共に説明す
る。まず、この実施例のマイクロコンピュータの要部構
成を図1に基いて説明すると、ユーザ等が作成した処理
プログラムを構成する一連のマクロ命令群を格納するラ
ンダムアクセスメモリ(RAM)等から成るプログラム
記憶部1と、プログラムステップ順にプログラム記憶部
1内のマクロ命令を読み出すフェッチ部2と、フェッチ
部2から転送されてくるマクロ命令をデコードするデコ
ーダ部3と、デコーダ部3から出力されたデコードデー
タの内、オペレーションコードに対応するマイクロ命令
を発生するマクロ命令発生部4と、マイクロ命令に従っ
てマイクロコンピュータ内の各種理回路等を動作させる
為の各種制御信号を出力する内部制御回路5と、後述す
るファームウェア化処理モードの時にマクロ命令発生部
4が発生したマイクロ命令をプログラマブル命令記憶部
7に格納させる書込制御部6と、ファームウェア化処理
モードの時にマクロ命令内のオペランドデータをオペラ
ンドテーブル9に格納させるオペランド制御部8と、プ
ログラマブル命令記憶部7及びオペランドテーブル9に
マイクロ命令及びオペランドデータを格納させるときの
アドレス制御並びにこの格納完了後にプログラマブル命
令記憶部7及びオペランドテーブル9からマイクロ命令
及びオペランドデータを読み出すときのアドレス制御を
行うアドレス制御部10とを備え、更に、ファームウェ
ア化処理モードと通常のプログラム実行モードとの切換
え制御を行うモード切換回路11を内蔵している。
【0021】ここで、マクロ命令発生部4は、四則演
算、論理演算、統計処理のための演算、その他、使用頻
度等に鑑みて汎用性のあるマイクロ命令、等の最大公約
数的なマクロ命令群を予め格納する読出し専用メモリ
(ROM)で構成されている。プログラム命令記憶部7
とオペランドテーブル9はランダムアクセスメモリ(R
AM)で構成されている。
【0022】次に、かかる構成を有する実施例の作動を
説明する。
【0023】まず、上記ファームウェア化処理モードに
おける作動を図2のフローチャート及び動作説明図3に
基いて説明する。尚、プログラム記憶部1には、例え
ば、図3に示すように、サブルーチンコール(Subrouti
ne Call)を意味するマクロ命令(MA)と、該マクロ命
令(MA)に対応するサブルーチンプログラム(MS)
と、リターン(Return) を意味するマクロ命令(M
B)、プログラムの開始アドレスを設定するマクロ命令
(MC)及び、このようなサブルーチンとは関係の無い
独立した処理を行う為のマクロ命令から成る一連の処理
プログラムが格納され、この一連の処理プログラムは、
ユーザが作成して周知の手順によってプログラム記憶部
1に格納されたものとする。
【0024】まず、ユーザがモード切換えスイッチ(図
示せず)等を操作することによって、モード切換回路1
1に対してファームウェア化処理モードを指定すると、
マイクロコンピュータの中央制御部(図示せず)がファ
ームウェア化処理モードを設定し、図2に示す処理を開
始する。ステップ100においてフェッチ部2が、プロ
グラムカウンタ(図示せず)内のデータに基いてプログ
ラム記憶部1の先頭アドレスに格納されているマクロ命
令aを読出し、ステップ110においてデコーダ部3が
マクロ命令aに対応するオペレーションコードbを出力
し、ステップ120においてマイクロ命令発生部4がオ
ペレーションコードbに対応するマイクロ命令cを発生
して内部制御回路5へ供給し、内部制御回路5が、マイ
クロ命令cに対応する各種制御信号eを出力する。そし
て、この制御信号eが、所謂サブルーチンコールのよう
な特定のマクロ命令に対応する制御信号でない場合に
は、中央制御部(図示せず)の判断により、ステップ1
30からステップ100へ処理が戻り、この制御信号e
が、所謂サブルーチンコールのような特定のマクロ命令
に対応する制御信号である場合には、ステップ140へ
移行する。このようなステップ100〜130の処理を
繰り返すことにより、所謂サブルーチンコールを示すマ
クロ命令が検索される。
【0025】尚、マイクロ命令発生部4が1マクロ命令
に対応するマイクロ命令の出力すると、次のマイクロ命
令としてEOI(End of Instruction)コードを内部制
御回路5に出力し、内部制御回路8がEOIコードに従
った処理を実行するのに要する複数の制御信号eを出力
することにより、次のフェッチ処理を開始する。即ち、
EOIコードの発生にしたがって、フェッチないしマイ
クロ命令の発生の処理が繰り返されるようになってい
る。
【0026】次に、例えば、図3のマクロ命令(MA)
がステップ130で検索されたものとすると、次に、ス
テップ140において、マクロ命令(MA)内のオペラ
ンドをフェッチ部2が読出し、更にデコーダ部3がオペ
ランドをデコードすることにより、マクロ命令(MA)
の指定アドレス(ADR)をデータバス12に出力し、
更に、アドレス制御部10が内部制御回路5から供給さ
れたアドレス入力制御信号fに従って指定アドレス(A
DR)をデータバス12を介して入力し、内部アドレス
レジスタ(図示せず)に格納する。これにより、アドレ
ス制御部10には、サブルーチン(MS)の開始アドレ
ス(ADR)が格納されることとなる。更に、ステップ
140では、アドレス制御部10がアドレス入力制御信
号fを受信するのに同期して割込禁止信号gを発生し、
マイクロコンピュータを割込禁止状態に設定する。即
ち、ファームウェア化処理モードは、実際のプログラム
実行とは異なり、所定のマクロ命令に対応するマイクロ
命令をファームウェア化するだけの処理であるので、外
部割込及び内部割込を禁止し、次のステップ150から
実際のファームウェア化処理を開始する。
【0027】ステップ150〜170では、サブルーチ
ン(MS)の先頭のマクロ命令について、フェッチ回路
2、デコーダ回路3及びマイクロ命令発生部4が通常の
フェッチ、デコード及びマイクロ命令への変換処理を行
い、マイクロ命令発生部4がマクロ命令中のオペレーシ
ョンコードに対応するマイクロ命令を内部制御回路5及
び書込制御部6へ出力する。尚、ステップ180におい
て、マイクロ命令が所謂リターン命令であれば、ステッ
プ190において割込解除処理を行った後、ファームウ
ェア化処理を終了する。一方、マイクロ命令が所謂リタ
ーン命令でなければステップ200へ移行する。
【0028】ステップ200では、モード切換回路11
がファームウェア化処理を指定する信号Vを発生し且つ
割込禁止信号gが発生していることを条件に、書込制御
部6がマイクロ命令発生部4の出力するマイクロ命令h
をプログラマブル命令記憶部7へ転送すると同時し、ア
ドレス制御部10に対してアドレスデータ(ADR)を
カウントアップさせるための制御信号iを出力する。即
ち、書込制御部10は、FIFO(先入れ先出しメモ
リ)を備えており、マイクロ命令発生部4からのマイク
ロ命令hを一度FIFOに格納してから再度非同期に読
出して、プログラマブル命令記憶部11へ転送する。そ
して、プログラマブル命令記憶部11は、アドレス制御
部10から出力されるアドレスデータ(ADR)で指定
された記憶領域にマイクロ命令を格納する。
【0029】次に、マクロ命令に続くオペランドが無い
場合には、ステップ210を介してステップ150へ処
理が戻り、サブルーチン(MS)中の次のマクロ命令に
ついてステップ150〜200の処理を行う。
【0030】一方、マクロ命令に続くオペランドが存在
する場合には、ステップ210を介してステップ220
〜260の処理へ移行し、オペランドテーブル8にオペ
ランドデータを格納するための処理が行われる。即ち、
ステップ200の時点でマクロ命令発生部4から出力さ
れたマイクロ命令に従って内部制御回路5がオペランド
制御のための制御信号kをオペランド制御部8へ出力す
ると共に、アドレス制御部10にオペランドアドレスを
入力する。そして、ステップ230においてオペランド
をフェッチし、ステップ230においてデコーダ部3が
デコードする。次に、ステップ250では、オペランド
制御部が、制御信号V、割込禁止制御信号gが発生して
いることを条件として、デコーダ部3から出力されてい
るオペランドのデコードデータmを入力てオペランドデ
ータOとしてオペランドテーブル9へ転送し、更に、ア
ドレス制御部10から供給されるアドレスデータlに基
いてオペランドテーブル9の記憶領域を設定するための
アドレスデータnを出力する。次に、ステップ260に
おいて、オペランドテーブル9がアドレスデータnで指
定される記憶領域にオペランドデータOを格納する。即
ち、ステップ230〜260では、オペランド制御部8
は、アドレスデータlが入力されると、プログラマブル
命令記憶部11に書込まれたマイクロ命令に対応してオ
ペランドデータOをオペランドテーブル9に格納するよ
うに、アドレスデータnを発生する。又、ペランド制御
部8はFIFOを備えており、デコーダ部3が出力した
オペランドデータmを一度FIFOに格納してから非同
期に読出して、オペランドテーブル9へ転送する。次
に、ステップ270では、オペランド制御部8が、オペ
ランドテーブル9に記録領域を指定するためのオペラン
ドアドレスに1を加算することにより、次のオペランド
データを格納すべき記憶領域を設定する。そして、ステ
ップ210へ処理が移行し、複数のオペランドが存在す
る場合はステップ230〜270の処理を繰り返した
後、ステップ150へ処理が移行し、次のマクロ命令に
対する処理が繰返される。
【0031】このような処理を行うことにより、図3に
示すように、プログラマブル命令記憶部7には、サブル
ーチンブログラム(MS)構成するマクロ命令群のオペ
レーションコードに対応するマイクロ命令群(MI)が
格納され、一方、オペランドテーブル9には、マイクロ
命令群(MI)に対応するオペランドデータ群(OD)
が格納され、夫々格納されたデータは書込制御部6とオ
ペランド制御部8によって制御された所定の記憶領域に
整然と格納される。
【0032】そして、プログラマブル命令記憶部7に格
納されるマイクロ命令群(MI)とオペランドテーブル
9に格納されるマイクロ命令群(MI)は、サブルーチ
ン用処理プログラム(MS)を指定するためのサブルー
チンコール用マクロ命令(MA)に対応しているので、
該マクロ命令(MA)に対応するマイクロ命令がファー
ムウェア化されることとなる。
【0033】次に、マイクロコンピュータが、プログラ
マブル記憶部7にファームウェア化されたマイクロ命令
とオペランドテーブル13にファームウェア化されたオ
ペランドデータとを適用して、処理プログラムを実行す
るときの動作を説明する。
【0034】まず、モード切換え回路11に対して通常
のプログラム処理モードを設定させる。そして、ファー
ムウェアを起動するためのマクロ命令(MC)をマイク
ロコンピュータに実行させる。このマクロ命令(MC)
は、プログラマブル命令記憶部7の先頭アドレスを指定
するためのアドレスデータ(ADR)を、アドレス制御
部10に格納させるための命令である。即ち、フェッチ
部2が、マクロ命令(MC)をフェッチして、デコーダ
部3がデコードを行い、マイクロ命令発生部4がマクロ
命令(MC)に対応するマイクロ命令を出力する。内部
制御回路8は、このマイクロ命令に従ってマイクロ命令
を実行するのに要する複数の制御信号eを出力する。制
御信号eによりデコーダ部3がマクロ命令(MC)のオ
ペレーションコードに続くオペランドをデコードし、内
部バス12に、該オペランドデータを出力する。一方、
アドレス制御部10は、内部制御回路5からの制御信号
fに従って内部バス12のオペランドデータを入力す
る。したがって、マクロ命令(MC)で指定されたオペ
ランド制御部7の先頭アドレスが設定される。
【0035】更に、アドレス制御部10は、マイクロコ
ンピュータが通常モードの時でも、このアドレスデータ
jを出力している間は、割込禁止制御信号gを出力す
る。これにより、アドレス制御部10は1マシンサイク
ル毎にアドレスデータjを1加算するように動作し、ま
た、マイクロコンピュータに割込が発生しても割込処理
を禁止する。この時には、内部制御回路5からの制御信
号fにより、マイクロ命令発生部4の起動が停止され
る。
【0036】プログラマブル命令記憶部7は、アドレス
制御部10からのアドレスデータjで指定される記憶領
域のマイクロ命令を順次に読み出し、読み出したマイク
ロ命令Qを内部制御回路5に送出する。内部制御回路5
は、このマイクロ命令Qを実行するのに要する複数の制
御信号eを出力して、マイクロコンピュータ内の各種論
理回路等の動作を制御する。又、マイクロ命令Qの内、
オペランドを要するマイクロ命令が内部制御回路5に入
力された場合には、内部制御回路5は、各種論理回路等
を制御する複数の制御信号eを出力すると共に、オペラ
ンド制御部9にカウント制御信号kを出力する。そし
て、オペランド制御部9は、アドレス制御部10からア
ドレスデータlが入力されると、該アドレスデータlを
基準とする所定のアドレスデータnをオペランドテーブ
ル13に供給する。即ち、アドレスデータnは、マイク
ロ命令Qに対応するオペランドデータが格納されている
記憶領域を指定するようになっている。このとき、オペ
ランド制御部8は、内部制御回路5からのカウント制御
信号kが入力されると、アドレスデータlで指定される
オペランドデータOを出力する。そして、アドレス制御
部10はアドレスデータlに1加算したアドレスを次の
アドレスデータlとして出力し、再び、内部制御回路5
からカウント制御信号kが送出されると、オペランド制
御部9はアドレスデータlで指定される次のオペランド
データOを読み出す。
【0037】尚、内部制御回路5は、順次に入力される
一連のマイクロ命令Cから、EOIコードを出力するマ
イクロ命令を入力したとき、マイクロコンピュータが通
常モードであり、且つ、割込禁止制御信号gがアクティ
ブな場合を条件として、当該EOIコードを無効にし、
このEOIコードを出力するマイクロ命令の次のマイク
ロ命令を実行する。この様にして、内部に記憶されたフ
ァームウェアが起動され、順次にマイクロ命令が発生さ
れて、命令の実行が行われる。そして、起動されたファ
ームウェアにおいて、プログラマブル命令記憶部7が、
処理ルーチンの終了処理を行うマクロ命令(MB)を実
行するための一連のマイクロ命令を出力すると、内部制
御回路5はアドレス制御部10にリセット値を書込むた
めの一連の制御信号eと制御信号fとカウント制御信号
kを出力する。
【0038】EOIコードを出力するマイクロ命令が実
行されると、アドレス制御部10は、アドレスレジスタ
にリセット値を書込み、割込禁止制御信号gとアドレス
データjとアドレスデータlの出力を停止するように動
作するので、内部制御回路5は、マイクロ命令のEOI
コードをデコードして、マイクロコンピュータがマクロ
命令(MC)の次のマクロ命令をフェッチし、デコード
する動作を行う状態にするための制御信号eを出力す
る。これにより、マイクロコンピュータは、ファムウェ
アの実力を終了し、次のマクロ命令の実行を行うことに
なる。
【0039】第5図は、処理ルーチンをファームウェア
化した場合におけるマイクロコンピュータの命令実行に
おける動作タイミングを示す。マクロ命令(A)、マク
ロ命令(B)、及びマクロ命令(C)が、マイクロコン
ピュータ内に既にファームウェア化されており、このフ
ァームウェアの命令実行の動作タイミングが図示されて
いる。マクロ命令(A)、マクロ命令(B)、及びマク
ロ命令(C)の各命令に対しては、それぞれファームウ
ェア実行サイクルのE1 ,E2 ,E3 が対応する。第5
図において、ファームウェアの処理ルーチンを実行する
ためのマクロ命令の実行が開始されると、まず、当該マ
クロ命令をフェッチするフェッチサイクルF4 が行わ
れ、次に当該マクロ命令をデコートするデコードサイク
ルD4 が行われ、続いて、当該マクロ命令を実行する実
行サイクルE4 が行われる。この実行サイクルE4 は、
前述のように、アドレス制御部10にアドレスレジスタ
にファームウェア処理ルーチンの先頭アドレスをセット
し、ファームウェア処理ルーチンを起動する処理の実行
サイクルである。この実行サイクルE4 が行われると、
ファームウェア処理ルーチンが起動されて、ファームウ
ェア実行サイクルに入り、続いて、マクロ命令(A)、
マクロ命令(B)、マクロ命令(C)の各命令にそれぞ
れ対応する実行サイクルE1 、実行サイクルE2 、実行
サイクルE3 が実行される。
【0040】この様にして、ファームウェアの処理ルー
チンが実行されるため、このファームウェア処理ルーチ
ンの実行に要する時間は、図5に示した従来例の場合と
比較すると、3マシンサイクルのフェッチサイクル
4 、3マシンサイクルのデコードサイクルD4 、3マ
シンサイクルの実行サイクルE4 からなる合計9マシン
サイクルのマクロ命令実行サイクルと、2マシンサイク
ルの実行サイクルE1 ,4マシンサイクルの実行サイク
ルE2 、5マシンサイクルの実行サイクルE3 からなる
合計11マシンサイクルのファームウェア実行サイクル
とを要するだけなので、合計20マシンサイクルとな
り、従来例の処理時間よりも5マシンサイクルの実行時
間を短縮することができる。
【0041】この様に、処理ルーチンをファームウェア
化して処理する場合には、処理ルーチンを構成する各マ
クロ命令実行サイクルにおけるフェッチサイクルとデコ
ードサイクルを必要とせずに、命令処理の実行が行える
ので、処理ルーチンの実行時間を短縮することができ
る。このファームウェア化して処理する場合に短縮でき
る実行時間は、ファームウェア化したマクロ命令数が多
いほど大きくなる。
【0042】尚、プログラマブル命令記憶部に書込むべ
きマクロ命令で構成した処理プログラムをマイクロコン
ピュータの外部より入力して、プログラマブル命令記憶
部に書込むためには、通常の場合、処理プログラムをマ
イクロ命令で構成しなければならない。このため、マク
ロ命令からマクロ命令へ変換する専用サポートツールが
必要となるが、本実施例のマイクロコンピュータによれ
ば、プログラマブル命令記憶部に書込む処理プログラム
はマクロ命令で構成し、そのまま、マイクロコンピュー
タの外部より入力することにより行える。即ち、本実施
例のマイクロコンピュータにおいて、マクロ命令で構成
した処理プログラムのマクロ命令への変換は、マイクロ
コンピュータ内部のマイクロ命令発生部を使用して行
い、内蔵のプログラマブル命令記憶部に書込む構成とな
っているため、専用サポートツールは不用となってい
る。
【0043】本実施例のマイクロコンピュータにおい
て、マクロ命令により構成する処理プログラムの内、使
用頻度の高いルーチンをマイクロ命令で再構成すること
なく、プログラマブル命令記憶部に格納して、ファーム
ウェア化することができ、使用頻度の高いルーチンを構
成するマクロ命令をフェッチし、デコードするためのマ
シンサイクルを削減できるのでマクロ命令で構成した処
理プログラムの実行時間を短縮できる効果がある。
【0044】
【発明の効果】本発明によれば、マイクロコンピュータ
のマクロ命令により構成する処理プログラムにおいて、
使用頻度の高い処理ルーチンをファームウェア化するこ
とができるので、命令実行におけるフェッチサイクルお
よびデコードサイクルの一部を削減することができ、処
理プログラムの実行処理時間の短縮を図ることができる
という効果がある。また、ファームウェア化された処理
ルーチンを用いる処理プログラムでは、プログラムサイ
ズが小さくなり、メモリ容量が削減できる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例にかかるマイクロコンピュー
タの要部の構成を示すブロック図である。
【図2】実施例の作用を説明するためのフローチャート
である。
【図3】実施例の作用を更に説明するための説明図であ
る。
【図4】実施例の効果を説明するための説明図である。
【図5】従来のマイクロコンピュータの命令実行におけ
る動作タイミングを示した説明図である。
【符号の説明】
1…プログラム記憶部、2…フェッチ部、3…デコード
部、4…マクロ命令発生部、5…内部制御回路、6…書
込制御部、7…プログラアマブル命令記憶部、8…オペ
ランド制御部、9…オペランドテーブル、10…アドレ
ス制御部、11モード切換部、12…内部バス。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 マクロ命令をフェッチするフェッチ部
    と、 該フェッチされたマクロ命令をデコードするデコーダ部
    と、 マクロ命令に対応するマイクロ命令を予め保持して該デ
    コーダ部からのデコード出力に対応するマイクロ命令を
    発生するマイクロ命令発生部と、 該マイクロ命令発生部から出力されたマイクロ命令を記
    憶するプログラマブル命令記憶部と、 該マイクロ命令発生部から出力されたマイクロ命令を、
    アドレス制御を行いつつ該プログラマブル命令記憶部に
    記憶させる書込制御部と、 マクロ命令が該プログラマブル命令記憶部に記憶された
    マイクロ命令に対応すると、その対応するマイクロ命令
    を該プログラマブル命令記憶部から読出すためのアドレ
    ス制御を行うアドレス制御部とを具備し、 通常のプログラム処理が行われないときに、処理プログ
    ラムの内から、使用頻度の高い一連の処理プログラムを
    構成するマクロ命令群を、プログラムステップ順にフェ
    ッチ部でフェッチし且つデコーダ部でデコードして、マ
    イクロ命令発生部が夫々のマイクロ命令を発生し、更
    に、書込制御部が夫々のマイクロ命令を該プログラムス
    テップに対応させてプログラマブル命令記憶部に書込む
    ファームウェア化処理を行い、 通常のプログラム処理を行うときは、上記使用頻度の高
    い一連の処理ルーチンが所定のマクロ命令で指定される
    と、アドレス制御部がその一連の処理ルーチンに対応す
    るマイクロ命令群を順次にプログラマブル命令記憶部か
    ら読出して、内部論理回路等を動作させることを特徴と
    するマイクロコンピュータ。
  2. 【請求項2】 マイクロ命令及びそれに続くオペランド
    をフェッチするフェッチ部と、 該フェッチされたマクロ命令及びそれに続くオペランド
    をデコードするデコーダ部と、 マクロ命令に対応するマイクロ命令を予め保持して該デ
    コーダ部からのデコード出力に対応するマイクロ命令を
    発生するマイクロ命令発生部と、 該マイクロ命令発生部から出力されたマイクロ命令を記
    憶するプログラマブル命令記憶部と、 該マイクロ命令発生部から出力されたマイクロ命令を、
    アドレス制御を行いつつ該プログラマブル命令記憶部に
    記憶させる書込制御部と、 マクロ命令が該プログラマブル命令記憶部に記憶された
    マイクロ命令に対応すると、その対応するマイクロ命令
    を該プログラマブル命令記憶部から読出すためのアドレ
    ス制御を行うアドレス制御部と、 該デコード部から出力されたオペランドデータを記憶す
    るオペランドテーブルと、 該デコード部から出力されたオペランドデータを、アド
    レス制御を行いつつ該オペランドテーブルに記憶させる
    と共に、上記アドレス制御部がマイクロ命令を該プログ
    ラマブル命令記憶部から読出すときに、マイクロ命令に
    対応したオペランドデータをオペランドテーブルから読
    み出すオペランド制御部とを具備し、 通常のプログラム処理が行われないときに、処理プログ
    ラムの内から、使用頻度の高い一連の処理プログラムを
    構成するマクロ命令群を、プログラムステップ順にフェ
    ッチ部でフェッチし且つデコーダ部でデコードして、マ
    イクロ命令発生部が夫々のマイクロ命令及びオペランド
    データを発生し、更に、書込制御部が夫々のマイクロ命
    令を該プログラムステップに対応させてプログラマブル
    命令記憶部に書込むと共に、オペランド制御部がオペラ
    ンドデータをオペランドテーブルに書込むことによって
    ファームウェア化処理を行い、 通常のプログラム処理を行うときは、上記使用頻度の高
    い一連の処理ルーチンが所定のマクロ命令で指定される
    と、アドレス制御部がその一連の処理ルーチンに対応す
    るマイクロ命令群及びオペランドデータ群を順次にプロ
    グラマブル命令記憶部及びオペランドテーブルから読出
    して、内部論理回路等を動作させることを特徴とするマ
    イクロコンピュータ。
JP4096507A 1992-04-16 1992-04-16 マイクロコンピュータ Pending JPH05298088A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4096507A JPH05298088A (ja) 1992-04-16 1992-04-16 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4096507A JPH05298088A (ja) 1992-04-16 1992-04-16 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH05298088A true JPH05298088A (ja) 1993-11-12

Family

ID=14167039

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4096507A Pending JPH05298088A (ja) 1992-04-16 1992-04-16 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JPH05298088A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339459B1 (en) 1997-11-06 2002-01-15 Canon Kabushiki Kaisha Liquid crystal display device
US6502182B1 (en) 1998-05-01 2002-12-31 Yamaha Corporation Digital signal processing device
KR100488536B1 (ko) * 1997-08-21 2005-08-24 삼성전자주식회사 마이크로프로세서제어회로
US9244850B2 (en) 2011-11-21 2016-01-26 International Business Machines Corporation Device for executing program instructions and system for caching instructions

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100488536B1 (ko) * 1997-08-21 2005-08-24 삼성전자주식회사 마이크로프로세서제어회로
US6339459B1 (en) 1997-11-06 2002-01-15 Canon Kabushiki Kaisha Liquid crystal display device
US6502182B1 (en) 1998-05-01 2002-12-31 Yamaha Corporation Digital signal processing device
US9244850B2 (en) 2011-11-21 2016-01-26 International Business Machines Corporation Device for executing program instructions and system for caching instructions

Similar Documents

Publication Publication Date Title
EP0286354A2 (en) A method and apparatus for modifying micro-instructions using a macro-instruction pipeline
JPS6146858B2 (ja)
JPH03233630A (ja) 情報処理装置
JPH05298088A (ja) マイクロコンピュータ
JPS6019028B2 (ja) 情報処理装置
JPH03201031A (ja) 情報処理装置
JPH1091430A (ja) 命令解読装置
JP2583506B2 (ja) データ処理装置
JP2758624B2 (ja) マイクロプログラムの調速方式
JP2784001B2 (ja) プログラマブルコントローラの命令処理回路
JPS6079431A (ja) プログラマブルコントローラのパイプライン処理方法
JPH04370832A (ja) プロセッサ回路
JPH01276233A (ja) マイクロプロセッサ
KR0153537B1 (ko) 메모리 번지 데이타를 선행 선택하는 신호처리 구조
JPH01213718A (ja) マイクロコンピュータ
JPH05143447A (ja) デイジタルプロセツサ及びその制御方法
JPH1020959A (ja) 低消費電力マイクロプロセッサ
JPS6015969B2 (ja) マイクロ命令アドレス生成方式
JP2637070B2 (ja) マイクロ命令先頭アドレス生成方式
JP2601055B2 (ja) マイクロプログラム・シーケンサ
JPH0683986A (ja) シングルチップ・マイクロコンピュータ
JP2532072Y2 (ja) パターン発生器
JPH04251331A (ja) 情報処理装置
JPS6232500B2 (ja)
JPH05181671A (ja) ソフトウェア命令のエミュレーション方式