JPH0320827A - Microprogram control system - Google Patents

Microprogram control system

Info

Publication number
JPH0320827A
JPH0320827A JP15464989A JP15464989A JPH0320827A JP H0320827 A JPH0320827 A JP H0320827A JP 15464989 A JP15464989 A JP 15464989A JP 15464989 A JP15464989 A JP 15464989A JP H0320827 A JPH0320827 A JP H0320827A
Authority
JP
Japan
Prior art keywords
level
address
general
register
microinstruction
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
JP15464989A
Other languages
Japanese (ja)
Inventor
Hiroshi Iizuka
浩 飯塚
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP15464989A priority Critical patent/JPH0320827A/en
Publication of JPH0320827A publication Critical patent/JPH0320827A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To easily perform the generation and change of a program at an assembling level by switching the level of plural universal registers having multiple stages of level to the level higher by one step or to the one lower by one step with a prescribed microinstruction. CONSTITUTION:When one microinstruction to call a subroutine from a main routine is executed, a return address is stored in a stack area, and control is continued from a designated address by switching the levels of the plural universal registers 1 having the multiple stages of level to the one higher by one step. Meanwhile, when one microinstruction to return from the subroutine to the main routine is executed, the levels of the universal registers 1 having the multiple stages of level is switched to the one lower by one step, and the return address stored in the stack area is hopped up, then, the control is continued from the return address.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は,垂直型マイクログロダラム制御を行うマイク
ロプロセッサにかけるマイクロプログラム制御方式に関
する. 〔従来の技術〕 従来%垂直型マイクロプログラム制御を行うマイクログ
ロセクサでは,汎用レジスタとしては、プラ/チ命令に
かいてリターンアドレスを格納することを主目的とする
1段のレベルのレジスタだけを有して1f&た. 〔発明が解決しようとする課題〕 このように上述した従来のマイクロプロセッサは汎用レ
ジスタが1段のレベルしか存在しないので,fログラム
のサブルーチン形式となっている部分を作成する際,そ
れを呼出すメインルーチンで使用しているレジスタの制
限に十分注意をしなければならなかった.1九作成され
たサブルーチン形式のプログラムを使用するためプログ
ラムのメインルーチンの複数の箇所で呼び出す構造を作
った場合にかいて、サブルーチンの使用レジスタを変更
するとメインルーテ/の複数の部分のすべてにかいて妥
当性を確認する必要があり,fログラムの作成,変更に
大きな制限を与えるという欠点があった。一また,メイ
ンルーチンで使用するレジスタの内容を破壊しないよう
にするために、サブルーチンの先頭でレジスタを個々に
読み書き可能なメモリ上に格納する仕方があるが,この
場合には実行速度の低下やプログラム量の増加,メモリ
領域の確保の必要性,格納するアドレスを示すポインタ
の必要性などの物理的な欠点の他に.各サブルーチンに
釦いてプログラミング上個々に配慮が必要になるという
欠点があった.tた、論埋的にメインルーチンをサブル
ーチンでの変数を分離するためには,アセンブラ言語で
はなく,例えばPASCAL M西やCt語などの高級
言語を用いる仕方もあるが,プログラム容量や笑行速度
の点で不利であう,リタルタイム性を要求される制御装
置などでは,ハードウェアをきめ細かく制御を行う必要
があるため、高級言語では記述不可能な場合も多い。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a microprogram control system for a microprocessor that performs vertical microglodal control. [Prior Art] Conventionally, in a microgrossing processor that performs vertical microprogram control, the only general-purpose register is a one-level register whose main purpose is to store a return address in response to a pla/chi instruction. It has 1f&. [Problem to be Solved by the Invention] As described above, since the conventional microprocessor described above has only one level of general-purpose registers, when creating a subroutine-format part of an f program, the main I had to pay close attention to the restrictions on the registers used in the routine. 19. When using a created subroutine-style program and creating a structure that calls it at multiple locations in the program's main routine, changing the register used by the subroutine will affect all multiple sections of the main routine. However, it is necessary to check the validity of the f-program, which has the drawback of placing significant restrictions on the creation and modification of f-programs. In addition, in order to avoid destroying the contents of registers used in the main routine, there is a way to store registers in memory that can be read and written individually at the beginning of the subroutine, but in this case, the execution speed may decrease or In addition to physical drawbacks such as an increase in program size, the need to secure memory space, and the need for pointers to indicate storage addresses. The drawback was that each subroutine required individual attention in terms of programming. In addition, in order to theoretically separate the variables in the main routine and subroutines, it is possible to use a high-level language such as PASCAL or Ct rather than assembler language, but this may be difficult due to the program capacity or processing speed. Control devices that require real-time performance, which is disadvantageous in terms of performance, often cannot be described in high-level languages because they require detailed control of the hardware.

本発明はこのような従来の欠点を改善したもので,その
目的は.アセンプラレベルでのグログラムの作成,変更
を極めて容易にし、またプログラムの信頼性を向上させ
ることの可能なマイクロプログラム制御方式を提供する
ことにある。
The present invention improves these conventional drawbacks, and its purpose is to: The object of the present invention is to provide a microprogram control method that makes it extremely easy to create and change programs at the assembler level, and that can improve program reliability.

〔課題を解決するための手段〕[Means to solve the problem]

本発明のマイクロプログラム制御方式は,多段のレベル
を有する複数の汎用レゾスタと,1段のレベルを有する
複数の汎用レジスタと、スタック領域とを有し,所定の
マイクロ命令で戻bアドレスを前記スタック領域に格納
し,前記多段のレベルを有する複数の汎用レジスタのレ
ベルt1段高く切り替えて指定したアドレスから制御を
継続する手段と,所定のマイクロ命令で前記多段のレベ
ルを有する汎用レゾスタのレベルt−1段低く切D替え
て前記スタック領域に格納されている戻りアドレスをポ
クプアップし戻やアドレスから制御を継続する手段とを
有している. 〔作用〕 メインルーチンからサブルーチンを呼出す1マイクロ命
令時には、戻bアドレスをスタック領域に格納し,多段
のレベルを有する複数の汎用レジスタのレベルを1段高
く切9替えて指定したアドレスから制御を継続する一方
,サブルーチンからメインルーチ/に戻る場合の1マイ
クロ命令時には、多段のレベルを有する汎用レジスタの
レベルを1段低く切シ替えてスタック領域に格納されて
いる戻りアドレスをポッゾアッデし、戻りアドレスから
制御を継続する. 〔実施例〕 以下,本発明の一実施例について図面を参照して説明す
る。
The microprogram control system of the present invention has a plurality of general-purpose registers having multiple levels, a plurality of general-purpose registers having one level, and a stack area, and a predetermined microinstruction returns an address b to the stack area. means for continuing control from the specified address by switching the level t of the plurality of general-purpose registers having the multi-levels to a higher level by one step; It has means for switching D one step lower to pop up the return address stored in the stack area and continuing control from the return address. [Operation] When one microinstruction calls a subroutine from the main routine, the return b address is stored in the stack area, the levels of multiple general-purpose registers with multiple levels are switched one step higher, and control continues from the specified address. On the other hand, when returning from a subroutine to the main routine with one microinstruction, the level of a general-purpose register with multiple levels is lowered by one level, the return address stored in the stack area is pozzo-added, and control is performed from the return address. Continue. [Embodiment] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.

第1図は本発明の一実施例のブロック図である.第1図
を参照すると,本実施例のマイクロプロセッサは、多段
のレベル’k有する複数の汎用レジスタ1と、1段のレ
ベルを有する複数の汎用レジスタ2と,内容t −1 
+1″′  −1″のいずれの方向にもアップダウン可
能なアップダウンカウンタa能をもつスタックポインタ
3と,アキエムレータ4と,データパス131fc介し
メモリとのデータを授受するメモリレジスタ5と、算術
論埋演算装置6と,各部分への制御信号を発生する制御
装置7と,アドレスパス141Cアドレスデータを与え
るアドレスレジスタ8と,命令実行アドレスを示しハー
ドウエア的に内容を1+1”だけ加算する機能をもつ!
ログラムカウンタ9と,オペコードとアドレスデータを
有する命令レジスタ10と、入出力装置とデータを授受
する入出力パッファ11と,汎用レジスタ1のレベルを
制御するレベル切換装置′15とにより構成され,各要
素は内部パス12によって結ばれている.なお命令レジ
スタ10のオペコードは制御装置7に与えられ,アドレ
スデータは内部パス12を通してアドレスレゾスタ8に
与えられるようになっている。
FIG. 1 is a block diagram of an embodiment of the present invention. Referring to FIG. 1, the microprocessor of this embodiment includes a plurality of general-purpose registers 1 having multiple levels 'k, a plurality of general-purpose registers 2 having one level, and contents t -1.
A stack pointer 3 having an up/down counter function that can go up or down in either direction of +1'''-1'', an achi emulator 4, a memory register 5 that exchanges data with the memory via the data path 131fc, and an arithmetic logic A controller 7 that generates control signals to each part, an address register 8 that provides address data for the address path 141C, and a function that indicates the instruction execution address and adds the contents by 1+1'' in terms of hardware. Motsu!
It consists of a program counter 9, an instruction register 10 having opcodes and address data, an input/output buffer 11 that exchanges data with an input/output device, and a level switching device '15 that controls the level of the general-purpose register 1. are connected by internal path 12. The operation code of the instruction register 10 is given to the control device 7, and the address data is given to the address register 8 through the internal path 12.

次にこのような構成にかけるマイクロプログラム制御処
理について説明する.マイクロプロセッサにかける命令
の読み出しは,先づ、プログラムカウ/タ9の値をアド
レスレジスタ8にセットしてアドレスレゾスタ8からア
ドレス/4スにアドレス情報を送出し,制御装[7から
メモリに読み出し信号を送ってデータパス13を介して
命令レジスタ10に読み出しデータをセットし.命令の
オペコードを制御装置7に送出しプログラムカウンタ9
を1+1”加算することによってなされる.いま,オペ
コードの内容が,メモリのスタックポインタ3の示すア
ドレスに戻りアドレスを格納し、多数のレベルを有する
複数の汎用レジスタ1のレベルを1段高く切ル替え,ブ
ランチ動作を行う命令である場合には、先の手順によう
命令の読み出しを行なった後、以下の処理を行う。すな
わち,スタックポインタ3の値を1+1”加算してプロ
グラムカウンタ9をメモリレジスタ5に移送し,スタッ
クポインタ3をアドレスレジスタ8に移送する。次いで
メモリレジスタ5の内容をデータノ{ス13に送出し,
アドレスレジスタ8の内容をアドレスパス14に送出し
て制御装置7からメモリに対し書込み信号を送る。そし
て、レベル切換装[15によって汎用レジスタ10レベ
ルt−1段高く切換え、命令レジスタ10のアドレスデ
ータをグロダラムカウ/タ9にセットしてこの命令の実
行を完了する. 次に.オペコードの内容が、多数のレベルを有する複数
の汎用レジスタ1のレベルを1段低く切り替え,スタッ
クポインタ3の示すメモリのアドレスに格納されている
戻りアドレスをポップアッグして戻bアドレスにブラン
チ動作を行う命令である場合には、先に示した手順で命
令の読み出し動作を行なった後,次の処理を行う,すな
わち、先でレベル切換装置15によって汎用レジスタ1
のレベルを1段低く切換え,スタックポインタ3の値を
アドレスレジスタ8に移送する.次いでアドレスレジス
タ8の内容をアドレスパス14に送出し制御装置7から
メモリに対し読み出し信号をif)、データパス13を
介しメモリレジスタ5にメモリからのデータをセットす
る。そしてスタックポインタ3の値を“1”だけ減じて
メモリレゾスタ5の内容を内部パスl2を介してfログ
ラムカウ/タ9にセットすることにようこの命令の実行
を完了する. このように本実施例では,サブルーチンの1嘴イクロ命
令で多段のレベルを持つ複数の汎用レジスタのレベルを
1段高く切D替え,サブルーチンからメインルーチンに
戻る場合の1マイクロ命令でレベルを1段低く切b替え
る手段を合わせもつことにより,そのレジスタをサブル
ーチン内の局所変数として扱うことができ,1段のレベ
ルのみを有するレノスタを大城変数として扱うと、アセ
ンプラレベルで局所変数と大城変数の明確化が可能とな
り、プログラミングの容易性とプログラムの信頼性を大
幅に向上させることが可能となる.璽た,?2ルーチン
の呼び出し時に必要なレジスタを読み書き可能なメモリ
上に退避させる必要がなくなるため,実行速度を向上さ
せることが可能となる。
Next, we will explain the microprogram control processing applied to such a configuration. To read an instruction to be applied to a microprocessor, first set the value of the program counter 9 in the address register 8, send address information from the address register 8 to the address/4 channel, and then send the address information from the control unit [7 to the memory]. Send a read signal and set read data in the instruction register 10 via the data path 13. The instruction opcode is sent to the control device 7 and the program counter 9
The contents of the opcode are now returned to the address indicated by stack pointer 3 in memory, and the address is stored, and the level of multiple general-purpose registers 1, which have multiple levels, is raised by one step. If it is an instruction that performs a branch operation, read the instruction as in the previous procedure, and then perform the following processing.In other words, add 1+1'' to the value of stack pointer 3 and store program counter 9 in memory. The stack pointer 3 is transferred to the address register 8. Next, the contents of the memory register 5 are sent to the data node 13,
The contents of the address register 8 are sent to the address path 14, and the control device 7 sends a write signal to the memory. Then, the level switching device [15] switches the general-purpose register 10 level t-1 step higher, sets the address data of the instruction register 10 to the Groderam counter 9, and completes the execution of this instruction. next. The content of the operation code switches the level of multiple general-purpose registers 1 having many levels one step lower, pops up the return address stored at the memory address indicated by stack pointer 3, and performs a branch operation to the return b address. If it is an instruction, the instruction is read out according to the procedure shown above, and then the next process is performed. In other words, the general-purpose register 1 is first read by the level switching device 15.
The level of is switched one step lower and the value of stack pointer 3 is transferred to address register 8. Next, the contents of the address register 8 are sent to the address path 14, a read signal is sent from the control device 7 to the memory (if), and the data from the memory is set in the memory register 5 via the data path 13. The execution of this instruction is then completed by decrementing the value of the stack pointer 3 by "1" and setting the contents of the memory register 5 to the program counter 9 via the internal path 12. In this way, in this embodiment, one microinstruction in a subroutine switches the level of multiple general-purpose registers with multiple levels one step higher, and one microinstruction when returning from the subroutine to the main routine changes the level one step higher. By having a means to switch to a low value, the register can be treated as a local variable within the subroutine, and if a renostar with only one level is treated as an Oshiro variable, the local variable and Oshiro variable can be changed at the assembler level. Clarification becomes possible, and it becomes possible to greatly improve the ease of programming and the reliability of programs. Seal,? Since there is no need to save necessary registers in readable/writable memory when calling the second routine, execution speed can be improved.

〔発明の効果〕〔Effect of the invention〕

以上説明したように本発明によれば,所定のマイクロ命
令で多段のレベルをもつ複数の汎用レジスタのレベルを
1段高く切シ替え,1た所定のマイクロ命令で多段のレ
ベルをもつ{it数の汎用レゾスタのレベルを1段低く
切や替える手段を有しているので,これによりアセ/プ
ルレベルでのグロダラムの作底,変更を極めて容易にし
、グログラムの信頼性を著しく向上させることができる
As explained above, according to the present invention, a predetermined microinstruction switches the level of a plurality of general-purpose registers having multiple levels one step higher, and a predetermined microinstruction switches the level of a plurality of general-purpose registers having multiple levels by one Since it has a means to switch the level of the general-purpose resistor one step lower, this makes it extremely easy to create and change the bottom of the grodgram at the assembly/pull level, and the reliability of the grodgram can be significantly improved.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の一実施例のブロック図である。 第1図にかいて, l・・・多段のレベルを有する複数の汎用レジスタ、2
・・・1段のレベルを有する複数の汎用レジスタ、3・
・・スタックポイ/タ.4・・・アキュムレータ,5・
・・メモリレジスタ、6・・・算術論理演算装置、7・
・・制御装置.8・・・アドレスレジスタ,9・・・プ
ログラムカウ/タ.10・・・命令レジスタ%11・・
・人出力パッ7ア、12・・・内部ハス.13・・・デ
ータパス,14・・・アドレスパス.15・・・レベル
切him。
FIG. 1 is a block diagram of one embodiment of the present invention. In FIG. 1, l...a plurality of general-purpose registers having multiple levels, 2
... Multiple general-purpose registers with one level, 3.
・・Stack point/ta. 4...accumulator, 5.
...Memory register, 6...Arithmetic logic unit, 7.
··Control device. 8...Address register, 9...Program counter/ta. 10...Instruction register%11...
・Person output pad 7a, 12...internal lotus. 13...Data path, 14...Address path. 15...Level cut him.

Claims (1)

【特許請求の範囲】  多段のレベルを有する複数の汎用レジスタと、1段の
レベルを有する複数の汎用レジスタと、スタック領域と
を有し、 所定のマイクロ命令で戻りアドレスを前記スタック領域
に格納し前記多段のレベルを有する複数の汎用レジスタ
のレベルを1段高く切り替えて指定したアドレスから制
御を継続する手段と、所定のマイクロ命令で前記多段の
レベルを有する汎用レジスタのレベルを1段低く切り替
えて前記スタック領域に格納されている戻りアドレスを
ポップアップし、戻りアドレスから制御を継続する手段
とを備えていることを特徴とするマイクロプログラム制
御方式。
[Scope of Claims] A plurality of general-purpose registers having multiple levels, a plurality of general-purpose registers having one level, and a stack area, and a return address is stored in the stack area by a predetermined microinstruction. Means for switching the level of the plurality of general-purpose registers having multiple levels one level higher to continue control from a specified address, and switching the level of the general-purpose register having multiple levels one level lower by a predetermined microinstruction. A microprogram control system comprising means for popping up a return address stored in the stack area and continuing control from the return address.
JP15464989A 1989-06-19 1989-06-19 Microprogram control system Pending JPH0320827A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15464989A JPH0320827A (en) 1989-06-19 1989-06-19 Microprogram control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15464989A JPH0320827A (en) 1989-06-19 1989-06-19 Microprogram control system

Publications (1)

Publication Number Publication Date
JPH0320827A true JPH0320827A (en) 1991-01-29

Family

ID=15588848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15464989A Pending JPH0320827A (en) 1989-06-19 1989-06-19 Microprogram control system

Country Status (1)

Country Link
JP (1) JPH0320827A (en)

Similar Documents

Publication Publication Date Title
US5455955A (en) Data processing system with device for arranging instructions
KR930018378A (en) Method and device for performance optimization of cache memory system
JPS5960652A (en) Data processing device
KR940009095B1 (en) Data processing system
JPH0248931B2 (en)
JPS6212529B2 (en)
US5483566A (en) Method and apparatus for modifying the contents of a register via a command bit
JPH0320827A (en) Microprogram control system
US5815729A (en) Method and apparatus for on the fly descriptor validation
JPH0628177A (en) Microprocessor
JPS63111535A (en) Data processor
JPS5819954A (en) Data processing device
JP2731618B2 (en) emulator
KR0164769B1 (en) System program execution method
JPS6330658B2 (en)
JPS6167148A (en) Microcomputer
JPS6250855B2 (en)
JPS6152747A (en) Microprocessor
JPH0683986A (en) Single chip microcomputer
JPS631624B2 (en)
JPS6350995A (en) Stack memory device
JPS59106048A (en) Microprocessor system
JPS6285340A (en) Microcomputer
JPS6027417B2 (en) data processing equipment
JPS5875250A (en) Digital information processor