JPH0320827A - Microprogram control system - Google Patents
Microprogram control systemInfo
- 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
Links
- 230000008859 change Effects 0.000 abstract description 3
- 238000000034 method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 240000002853 Nelumbo nucifera Species 0.000 description 1
- 235000006508 Nelumbo nucifera Nutrition 0.000 description 1
- 235000006510 Nelumbo pentapetala Nutrition 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Abstract
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.
本発明のマイクロプログラム制御方式は,多段のレベル
を有する複数の汎用レゾスタと,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.
以上説明したように本発明によれば,所定のマイクロ命
令で多段のレベルをもつ複数の汎用レジスタのレベルを
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.
第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段低く切り替
えて前記スタック領域に格納されている戻りアドレスを
ポップアップし、戻りアドレスから制御を継続する手段
とを備えていることを特徴とするマイクロプログラム制
御方式。[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.
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) |
-
1989
- 1989-06-19 JP JP15464989A patent/JPH0320827A/en active Pending
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 |