JP2506874B2 - マイクロプログラム制御装置 - Google Patents

マイクロプログラム制御装置

Info

Publication number
JP2506874B2
JP2506874B2 JP33202787A JP33202787A JP2506874B2 JP 2506874 B2 JP2506874 B2 JP 2506874B2 JP 33202787 A JP33202787 A JP 33202787A JP 33202787 A JP33202787 A JP 33202787A JP 2506874 B2 JP2506874 B2 JP 2506874B2
Authority
JP
Japan
Prior art keywords
address
functional block
stack
instruction
input
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.)
Expired - Fee Related
Application number
JP33202787A
Other languages
English (en)
Other versions
JPH01173132A (ja
Inventor
幸哉 東
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP33202787A priority Critical patent/JP2506874B2/ja
Publication of JPH01173132A publication Critical patent/JPH01173132A/ja
Application granted granted Critical
Publication of JP2506874B2 publication Critical patent/JP2506874B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Description

【発明の詳細な説明】 産業上の利用分野 本発明はマイクロプロセッサの制御装置、特に複数の
マイクロ命令列より成るマイクロプログラムの実行順を
制御するマイクロプログラム制御装置に関するものであ
る。
従来の技術 従来のマイクロプログラム制御装置としては、例え
ば、ナショナル テクニカル レポート (National T
echnical Report)、Vol.29、p.116(1983)に示されて
いる。
第4図はこの従来のマイクロプログラム制御装置のブ
ロック図を示すものであり、1は複数のマイクロ命令列
より成るマイクロプログラムを機能単位に分解したもの
である機能ブロックを各々連続したアドレス領域に格納
する制御記憶(ROM)である。2はマクロ命令解読器
(以下、MPLAと称す。)でマクロ命令に従って前記機能
ブロックの先頭アドレスを順次発生する。3はブロック
数レジスタ(BNR)、4は制御記憶1のアドレスを示す
アドレスレジスタである。5はインクリメンタでアドレ
スレジスタ4のアドレスを1増す。
以上のように構成された従来のマイクロプログラム制
御装置において、マクロ命令INSが制御記憶1の機能ブ
ロックをA、B、Cの順に実行する場合を例に以下その
動作を第5図、第6図を使用して説明する。第5図はMP
LA2の入力に対する出力を示した図で、第6図は制御記
憶1の中の機能ブロックを示した図である。
MPLA2がマクロ命令の解読を開始するときBNR3は“0"
となっている。この状態で新しくINSがMPLA2に入力され
ると、MPLA2はアドレスレジスタ4へ機能ブロックAの
先頭アドレスaを出力し、BNR3には“0"以外のコードn1
を出力する。アドレスレジスタ4は先頭アドレスaをそ
のままROM1へ転送し、機能ブロックAの先頭命令がアク
セスされる。次のサイクルではアドレスレジスタ4はMP
LA2からの入力を受け付けず、1サイクル前のアドレス
をインクリメントしたアドレスをROM1へ転送し、機能ブ
ロックAのマイクロ命令が順次アクセルされる。機能ブ
ロックAの最後の命令(/EOP)が実行されると、ブロッ
ク終了信号(EOB)が出力される。これによってMPLA2は
再度動作し、INSとBNR3からの入力n1とで新しく、機能
ブロックBの先頭アドレスbをアドレスレジスタ4へ、
“0"、n1以外のコードn2をBNR3へ各々出力する。EOB信
号がある場合は、アドレスレジスタ4はインクリメント
されたアドレスでなくMPLA2からのアドレスを取り込
み、そのままROM1へ転送する。以下機能ブロックBのマ
イクロ命令を実行後、機能ブロックCがアクセスされ、
これも終了するとINSの実行が完了する。そして、BNR3
が“0"にセットされ、次のマクロ命令の解読を始める。
発明が解決しようとする問題点 しかしながら上記のような構成では、各機能ブロック
の終了時点で次の機能ブロックへのアドレス発生はマク
ロ命令解読器によって行うため、機能ブロックのコール
が不可能で機能ブロックを有効に利用できないという問
題点を有していた。
本発明はかかる点に鑑み、制御記憶の中にコーディン
グされた機能ブロックを有効に利用することのできるの
マイクロプログラム制御装置を提供することを目的とす
る。
問題点を解決するための手段 本発明は複数のマイクロ命令列より成るマイクロプロ
グラムを機能単位に分割したものである機能ブロック
と、各機能ブロックを連続したアドレス領域に格納する
制御記憶と、マクロ命令に従って機能ブロックの先頭ア
ドレスを順次発生するマクロ命令解読器と、マイクロ命
令のコール命令実行時にリターンアドレスを格納するス
タックと、前記スタックが空であることを検出する検出
器と、前記マクロ命令解読器からのアドレスを第1の入
力とし前記スタックの先頭の内容を第2の入力とし前記
制御記憶に対するアドレスを出力するアドレスレジスタ
とを備え、リターン命令実行時にアドレスレジスタはス
タックが空でなければ第2の入力をスタックが空であれ
ば第1の入力を格納することを特徴とするマイクロプロ
グラム制御装置である。
作用 本発明は前記した構成により、機能ブロックの最終行
にブロック終了命令の代わりにリターン命令を格納し、
リターン命令を実行する時のスタックの状態で次に実行
する機能ブロックの先頭アドレスをマクロ命令解読器か
ら格納するかスタックから格納するか制御することで機
能ブロックのコールが可能となる。
実施例 第1図は本発明の一実施例におけるマイクロプログラ
ム制御装置のブロック図を示すものである。第1図にお
いて、10は複数のマイクロ命令列より成るマイクロプロ
グラムを機能単位に分割したものである機能ブロックを
各々連続したアドレス領域に格納する制御記憶(以下、
ROMと称す。)であり、11はROM10と同種のマイクロ命令
を格納する書換え可能制御記憶(以下、RAMと称す。)
である。12はマクロ命令解読器(MPLA)でマクロ命令に
従って機能ブロックの先頭アドレスを順次発生する。13
はブロック数レジスタ(BNR)、14はROM10及びRAM11の
アドレスを示すアドレスレジスタである。15はインクリ
メンタでアドレスレジスタ14のアドレスを1増す。16は
コール命令実行時にリターンアドレスを格納するスタッ
ク、17はスタック16が空か否かを検出するスタック検出
器である。18、19はANDゲートである。
以上のように構成されたこの実施例のマイクロプログ
ラム制御装置について、以下その動作を第2図、第3図
も使用して説明する。第2図はMPLA12の入力に対応する
出力を示した図で、相3図はROM10、RAM11の中の機能ブ
ロックを示した図である。
最初にMPLA12からROM10の機能ブロックを実行する場
合をマクロ命令INS1が制御記憶10の機能ブロックA1、B
1、C1の順に実行する例を使用して説明する。マクロ命
令の解読を開始するときBNR13は“0"となっている。こ
の状態で新しいINS1がMPLA12に入力されると、アドレス
レジスタ14へ機能ブロックA1の先頭アドレスa1を出力
し、BNR13には“0"以外の値n11(例えば“1")を出力す
る。アドレスレジスタ14は先頭アドレスa1をそのままRO
M10へ転送し、機能ブロックA1の先頭命令がアクセスさ
れる。次のサイクルではアドレスレイスタ14はMPLA12か
らの入力を受け付けず、1サイクル前のアドレスをイン
クリメントしたアドレスをROM10へ転送し、機能ブロッ
クA1のマイクロ命令が順次アクセスされる。機能ブロッ
ク1の最終行のリターン命令(/RET)が実行されると、
リターン信号(RET)が出力される。この時スタック16
は空なのでANDゲート18が“on"する。それによってMPLA
12は再度動作し、INS1とBNR13からの入力n11とで新し
く、機能ブロックB1の先頭アドレスb1をアドレスレジス
タ14へ、“0"、n11以外の値であるn12(例えば“2")を
BNR13へ各々出力する。RET信号がありスタック16が空の
場合は、アドレスレジスタ14はインクリメントされたア
ドレスでなくMRLA12からのアドレスを取り込み、そのま
まROM10へ転送する。以下同様に機能ブロックB1のマイ
クロ命令列をインクリメント15の出力するアドレスに従
って順次実行する。機能ブロックB1の最終行のリターン
命令(/RET)が実行されると、リターン信号(RET)が
出力される。この時スタック16は空なのでANDゲート18
が“on"する。それによってMPLA12は再度動作し、INS1
とBNR13からの入力n12とで、機能ブロックC1の先頭アド
レスc1をアドレスレジスタ14へ“0"をBNRへ各々出力す
る。その後マクロ命令INS1に対応する最後の機能ブロッ
クC1をA1、B1と同様に実行する。機能ブロックC1の最終
行のリターン命令(/RET)が実行されると、リターン信
号(RET)が出力される。この時スタック16は空なのでA
NDゲート18が“on"する。それによってMPLA12は再度動
作し、BNR13は機能ブロックC1の実行時に“0"になって
おりこの値とマクロ命令のコードから次のマクロ命令の
解読を始める。
次にRAM11からROM10の機能ブロックA1をコールする場
合を説明する。マクロ命令解読器12がRAM11中のマイク
ロ命令を実行するマクロ命令INS2の解読を開始するとき
BNR13は“0"となっている。この状態で新しくINS2がMPL
A12に入力されると、アドレスレジスタ14へRAM11中の実
行開始アドレスd1を出力し、BNR13には“0"以外の値n13
(例えば“1")を出力する。アドレスレジスタ14は実行
開始アドレスd1をそのままRAM11へ転送する。RAM11中で
機能ブロックA1のコール命令が実行されると、RAM11上
コール命令の次のアドレスがインクリメンタ15を介して
スタック16に格納され、RAM11はアドレスレジスタ14へ
機能ブロックA1の先頭アドレスa1(CALL先アドレス)を
出力する。アドレスレジスタ14は先頭アドレスa1をその
ままROM10へ転送し、機能ブロックA1の先頭命令がアク
セルされる。次のサイクルではアドレスレジスタ14はMP
LA12からの入力を受け付けず、1サイクル前のアドレス
をインクリメントしたアドレスをROM10へ転送し、機能
ブロックA1のマイクロ命令が順次アクセルされる。機能
ブロックA1の最後の命令(リターン命令)が実行される
と、リターン信号(RET)が出力される。この時スタッ
ク16は空ではないのでANDゲート19が“on"する。それに
よってスタック16からのリターンアドレスをアドレスレ
ジスタ14へ格納する。この時MPLA12は動作しない。アド
レスレジスタ14はインクリメントされたアドレスでなく
スタック16からのアドレスを取り込み、そのままRAM11
へ転送する。以下RAM11中でリターン命令が実行される
と、リターン信号(RET)が出力される。今度はスタッ
ク16は空なのでANDゲート18が“on"する。それによって
MPLA12は再度動作し、INS2とBNR13からの入力n13とで、
機能ブロックE1の先頭アドレスe1をアドレスレジスタ14
へ“0"をBNR13へ各々出力する。その後機能ブロックE1
のマイクロ命令列をインクリメンタ15の出力するアドレ
スに従って順次実行する。機能ブロックE1の最終行のリ
ターン命令(/RET)が実行されると、リターン信号(RE
T)が出力される。この時スタック16は空なのでANDゲー
ト18が“on"する。それによってMPLA12は再度動作し、B
NR13は機能ブロックE1の実行時に“0"になっておりこの
値とマクロ命令のコードから次のマクロ命令の解読を始
める。
以上のようにこの実施例によれば、スタックの空検出
器を設けその状態によりリターン命令の解読を変更する
ことでRAMからもROMの内容がコールすることが可能とな
る。
なお、この実施例においてROM10とRAM11は分離して示
したが混在していてもよしROMのみでもよい。
また、この実施例においてマクロ命令INS2はブロック
の処理として示したが、何ブロックでも処理の方法は変
わらない。
発明の効果 以上説明したように、本発明によれば簡単な回路を付
加することで、ROMにコーティングされた機能ブロック
をコールすることが可能となり、特にRAM上でのマイク
ロプログラミングの容易さが得られ、プログラムの機能
向上を図ることが出来る。さらにROM中の任意の機能ブ
ロックがマクロ命令と無関係に実行できるのでROMパタ
ーンのテストも効率よく行うことができ、その実用的効
果は大きい。
【図面の簡単な説明】
第1図は本発明の一実施例におけるマイクロプログラム
制御装置のブロック図、第2図は同実施例におけるMPLA
の動作を説明する入出力図、第3図は同実施例における
制御記憶の中の機能ブロックのメモリマップ、第4図は
従来のマイクロプログラム制御装置のブロック図、第5
図は同従来例におけるMPLAの動作を説明する入出力図、
第6図は同従来例における制御記憶の中の機能ブロック
のメモリマップである。 10……ROM,11……RAM、12……マクロ命令解読器(MPL
A)、(14)……アドレスレジスタ、15……インクリメ
ンタ、16……スタック、17……スタック検出器。

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のマイクロ命令列より成るマイクロプ
    ログラムを機能単位に分割した機能ブロックと、各機能
    ブロックを連続したアドレス領域に格納する制御記憶
    と、マクロ命令に従って機能ブロックの先頭アドレスを
    順次発生するマクロ命令解読器と、マイクロ命令のコー
    ル命令実行時にリターンアドレスを格納するスタック
    と、前記スタックが空であることを検出する検出器と、
    前記マクロ命令解読器からのアドレスを第1の入力とし
    前記スタックの先頭の内容を第2の入力とし前記制御記
    憶に対するアドレスを出力するアドレスレジスタとを備
    え、マイクロ命令のリターン命令実行時にアドレスレジ
    スタは、前記検出器の出力により、スタックが空でなけ
    れば第2の入力をスタックが空であれば第1の入力を格
    納することを特徴とするマイクロプログラム制御装置。
  2. 【請求項2】前記制御記憶はROM領域とRAM領域を有し、
    前記機能ブロックをROM領域内に格納し、前記コール命
    令をRAM領域内に格納している特許請求の範囲第1項記
    載のマイクロプログラム制御装置。
JP33202787A 1987-12-28 1987-12-28 マイクロプログラム制御装置 Expired - Fee Related JP2506874B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33202787A JP2506874B2 (ja) 1987-12-28 1987-12-28 マイクロプログラム制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33202787A JP2506874B2 (ja) 1987-12-28 1987-12-28 マイクロプログラム制御装置

Publications (2)

Publication Number Publication Date
JPH01173132A JPH01173132A (ja) 1989-07-07
JP2506874B2 true JP2506874B2 (ja) 1996-06-12

Family

ID=18250318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33202787A Expired - Fee Related JP2506874B2 (ja) 1987-12-28 1987-12-28 マイクロプログラム制御装置

Country Status (1)

Country Link
JP (1) JP2506874B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0467262A (ja) * 1990-07-09 1992-03-03 Tsukuba Univ 基本関数演算方式

Also Published As

Publication number Publication date
JPH01173132A (ja) 1989-07-07

Similar Documents

Publication Publication Date Title
US3792441A (en) Micro-program having an overlay micro-instruction
US5511207A (en) Program control circuit determining the designated number of times a sequence of instructions is repetitively executed to prevent further execution of a jump instruction
US5101344A (en) Data processor having split level control store
US4821183A (en) A microsequencer circuit with plural microprogrom instruction counters
US5032983A (en) Entry point mapping and skipping method and apparatus
US4885682A (en) Microprogram controller for detecting the occurrence of an interrupt request or a termination of a string instruction
US4320454A (en) Apparatus and method for operand fetch control
JP2506874B2 (ja) マイクロプログラム制御装置
JPS6212529B2 (ja)
US5123096A (en) Data processor with addressing mode decoding function
JPS6226486B2 (ja)
US4285036A (en) Data processing device using a subroutine call instruction
US4511983A (en) Apparatus for controlling microinstructions stored in a data processing unit memory
JPS6242301B2 (ja)
JPS6378235A (ja) マイクロコンピユ−タ
JPH02199535A (ja) マイクロプログラム制御装置
JPH01121937A (ja) マイクロコンピュータ
JPS6019018B2 (ja) デ−タ処理システム
JPS6093555A (ja) マイクロプログラム制御装置
JPH087679B2 (ja) マイクロプロセッサ
JPH0353321A (ja) 情報処理装置
KR20010071797A (ko) 전용 포인터 메모리를 이용한 객체 지향 프로세싱
JPS6133542A (ja) 命令解読装置
JPH01253032A (ja) マイクロプログラム制御型プロセッサ
JPS60126733A (ja) レジスタの読出しリセツト方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees