JPS59202543A - Os firmware system - Google Patents

Os firmware system

Info

Publication number
JPS59202543A
JPS59202543A JP7743383A JP7743383A JPS59202543A JP S59202543 A JPS59202543 A JP S59202543A JP 7743383 A JP7743383 A JP 7743383A JP 7743383 A JP7743383 A JP 7743383A JP S59202543 A JPS59202543 A JP S59202543A
Authority
JP
Japan
Prior art keywords
microprogram
processing
information
interrupt
firmware
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.)
Granted
Application number
JP7743383A
Other languages
Japanese (ja)
Other versions
JPH0527141B2 (en
Inventor
Keiichi Nakane
啓一 中根
Toshiro Jinnai
神内 俊郎
Hiroaki Nakanishi
宏明 中西
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7743383A priority Critical patent/JPS59202543A/en
Publication of JPS59202543A publication Critical patent/JPS59202543A/en
Publication of JPH0527141B2 publication Critical patent/JPH0527141B2/ja
Granted legal-status Critical Current

Links

Abstract

PURPOSE:To speed up the OS firmware by providing a copy of an OS control table on a main memory in a high speed memory exclusively used for a microprogram. CONSTITUTION:The information of the OS control table 14 on a main memory MM1 modified dynamically and required for the processing of an FI1 is copied to an OS control table 23 of a high speed memory LM2 exclusively used for microprogram by a processing block 311. Then, the control table having a list structure is checked one by one case by a processing block 312, and when the OS control table satisfying a specified condition exists, this table is cleared. Further an interruption control circuit 53 is checked by the processing block 313 so as to check the presence of the interruption request. When the interruption request exists, the information required for the interruption of the processing of the FI1 is saved by a processing block 317 and the information required for the restart of the interruption microprogram is extracted from the OS control table 21 on the LM2.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はマイクロプログラム方式の電子計算機における
高速・大規模なマイクロプログラム方式に係シ、特にO
8めファームウェア化方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a high-speed, large-scale microprogram system in a microprogram system electronic computer, and particularly to an O
Regarding the 8th firmware conversion method.

〔発明の背景〕[Background of the invention]

従来のマイクロプログラム方式においては、任意の機械
命令を処理するマイクロプログラムの実行中に、割込み
要因が発生しても、該、割込みは、該機械命令に関する
マイクロプログラム処理が終るまで待たされたつこれは
、そのマイクロプログラム処理を中断し、また再開する
ためには、一時的に退避すべき情報が多く、かつそれら
は−マイクロ命令の処理時間に比べて多くのアクセス時
間を要する主メモリに退避しなければならないことに因
るものであった。そして、従来の機械命令を処理するマ
イクロプログラムのように、一連の処理が数マイクロス
テップあるいは数十マイクロステップで終わるような場
合には、該割込が待たされる時間は許容され得るもので
あった。
In the conventional microprogram method, even if an interrupt factor occurs during the execution of a microprogram that processes an arbitrary machine instruction, the interrupt has to wait until the microprogram processing related to the machine instruction is completed. In order to interrupt and restart the microprogram processing, there is a lot of information that must be temporarily saved, and this information must be saved in the main memory, which requires more access time than the microinstruction processing time. This was due to an unexpected situation. Furthermore, in cases where a series of processing ends in several microsteps or tens of microsteps, such as in the case of conventional microprograms that process machine instructions, the time that the interrupt has to wait can be tolerated. .

ところが、高機能かつ複雑な機械語命令や、O8の機能
をマイクロプログラムで実現するOSファームウェアな
どを実現しようとした場合には、百マイクロステップ以
上を要することになシ、前記の如き割込が待たされる時
間は、その許容範囲をはるかに越えることになる。この
ことは、特に、実時間応答性を要求されるシステムにお
いては不可避の問題となる。このため、上記の如き機能
は小さな機能に分割し、それらを複数個の機械命令に分
割して作成せざるを得す、所期の高速性能を実現するこ
とができなかった。
However, when trying to implement highly functional and complex machine language instructions or OS firmware that implements O8 functions with microprograms, it would take more than 100 microsteps, and the interrupts described above would not be possible. The amount of time they have to wait far exceeds their tolerance. This becomes an unavoidable problem, especially in systems that require real-time responsiveness. For this reason, the above-mentioned functions had to be divided into smaller functions and created by dividing them into a plurality of machine instructions, making it impossible to achieve the desired high-speed performance.

一方、OSファームウェアを実現しようとした場合には
、O8の機能は主メモリ上のO8制御テーブルを処理す
ることが主体であることから、主メモリとの情報の授受
が頻繁に発生する。このため、OSファームウェア化の
効果は、主メモリのアクセス時間によシ制限を受けるこ
とになり、その効果は期待したほど大きくならないこと
があった。
On the other hand, when attempting to implement OS firmware, the main function of the O8 is to process the O8 control table on the main memory, so information is frequently exchanged with the main memory. For this reason, the effect of OS firmware implementation is limited by the access time of the main memory, and the effect may not be as great as expected.

〔発明の目的〕[Purpose of the invention]

本発明の目的は、前記の問題点を解決するために、マイ
クロプログラム処理における主メモリのアクセス頻度、
およびアクセス時間を減少させ、マイクロプログラム実
行中の割込処理を可能にし、それらによって高速・大規
模なマイクロピログラム処理を可能にするOSファーム
ウェア方式を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to improve the access frequency of main memory in microprogram processing in order to solve the above-mentioned problems.
Another object of the present invention is to provide an OS firmware system that reduces access time, enables interrupt processing during microprogram execution, and thereby enables high-speed, large-scale microprogram processing.

〔発明の概要〕[Summary of the invention]

本発明の特徴は、上記の目的を達成するために、マイク
ロプログラム専用の高速メモリを設置し、該メモリに主
メモリ上のO8制御テーブルのコピーを持ち、OSファ
ームウェアのマイクロプログラム実行中は該メモリ上の
O8制御テーブルのコピー情報を用いることによシ、O
Sファームウェアを高速に処理することにある。さらに
、本発明は、該OSファームウェアの実行中に割込み処
理要求があれば、該処理の中断後の再開に必要な情報を
該メモリに退避し、該割込み処理の実行に移り、該割込
み処理を実行さた後、該OSファームウェアの実行を再
開するために、該専用高速メモリから必要な情報を取出
し、該OSファームウェアの中断点から実行を再開する
ことを高速に処理することを特徴とする。
In order to achieve the above object, the present invention is characterized in that a high-speed memory dedicated to the microprogram is installed, a copy of the O8 control table on the main memory is stored in the memory, and the memory is used during the execution of the microprogram in the OS firmware. By using the copy information of the O8 control table above,
The aim is to process S firmware at high speed. Furthermore, if there is an interrupt processing request during execution of the OS firmware, the present invention saves information necessary for resuming the processing after interruption to the memory, moves to execution of the interrupt processing, and executes the interrupt processing. After execution, in order to resume execution of the OS firmware, necessary information is retrieved from the dedicated high-speed memory, and execution is quickly resumed from the point where the OS firmware was interrupted.

〔発明の実施例〕[Embodiments of the invention]

以下、本発明の一実施例を第1図および第2図により説
明する。
An embodiment of the present invention will be described below with reference to FIGS. 1 and 2.

第1図は本発明に係る電子計算機の処理装置の構成を示
すものである。処理装置は、主メモリ(MM)1、本発
明に係るマイクロプログラム専用高速メモリ(LM)2
、制御メモリ(CM)3、および演算制御機構(PU)
4で構成される。
FIG. 1 shows the configuration of a processing device for an electronic computer according to the present invention. The processing device includes a main memory (MM) 1 and a high-speed memory (LM) 2 dedicated to microprograms according to the present invention.
, control memory (CM) 3, and arithmetic control unit (PU)
Consists of 4.

MMIには、機械命令で記述されたOSプログラム15
〜17およびO8制御テーブル11〜14のほかユーザ
プログラムやユーザデータなどが格納される。LM2に
は、O8制御テーブルのコピー21.23.マイクロプ
ログラム用ワークエリア22および割込み処理時の情報
退避エリア24などが配置される。0M3には種々の機
械命令に対応したマイクロプログラムや本発明に、係る
OSファームウェア命令に対応したマイクロプログラム
31などが格納される。PU4は、MMlとのインタフ
ェース制御回鯵、各種レジスタ、演算回路、LM2の制
御回路、0M3の制御回路、などから成るっ この処理装置において、各プログラムの機能を実現する
機械命令の実行は概ね以下のように処理される。
The MMI has an OS program15 written in machine instructions.
-17 and O8 control tables 11-14, user programs, user data, etc. are stored. LM2 has a copy of the O8 control table 21.23. A microprogram work area 22, an information saving area 24 during interrupt processing, and the like are arranged. 0M3 stores microprograms corresponding to various machine instructions, a microprogram 31 corresponding to OS firmware instructions related to the present invention, and the like. PU4 is a processing unit consisting of an interface control circuit with MMl, various registers, an arithmetic circuit, a control circuit of LM2, a control circuit of 0M3, etc. The execution of machine instructions that realize the functions of each program is generally as follows. It is processed as follows.

まず、実行すべき機械命令のMMl上の格納アドレスは
プログラムカウンタ(PC)47に設定されており、そ
の内容をMMアドレスレジスタ(MAR)46に設定し
てMMIに読出し要求を発行することにより、該機械命
令はMM読出しデータ信号線56を経由して読出され、
命令バッファレジスタ(IB151に格納される。IB
R51に格納された該機械命令は、デコーダ50で解読
される。
First, the storage address on the MMI of the machine instruction to be executed is set in the program counter (PC) 47, and by setting the contents in the MM address register (MAR) 46 and issuing a read request to the MMI, The machine command is read out via the MM read data signal line 56;
Instruction buffer register (stored in IB151. IB
The machine instructions stored in R51 are decoded by decoder 50.

デコーダ50の解読結果によシ、該機械命令に対応した
マイクロプログラムが格納されているCMアドレスが生
成され、CMアドレス信号線62を経由して0M3に渡
される。
Based on the decoding result of the decoder 50, a CM address in which a microprogram corresponding to the machine instruction is stored is generated and passed to 0M3 via the CM address signal line 62.

0M3は、信号線62によって示されるCMアドレスか
らマイクロ命令を読出し、該マイクロ命令を信号線63
を経由してマイクロ命令レジスタ(MIR)52に設定
する。
0M3 reads a microinstruction from the CM address indicated by the signal line 62 and sends the microinstruction to the signal line 63.
is set in the microinstruction register (MIR) 52 via the .

PU4は、このMIR52に設定されたマイクロ命令に
従い種々の制御信号66などを動作させ、各種の演算や
制御を実行する。例えば、演算処理は、汎用レジスタ(
GR,)42.ワークレジスタファイル(WK)43.
信号線56に読出されているMMIの情報、およびMI
R52に格納されているマイクロ命令で直接与えられる
信号線65上の値、等の内から該マイクロ命令に2指定
された三者を選択し、演算回路(ALU)44を用いて
該マイクロ命令に2指定される演算を行い、その結果を
データバス61に乗せる。データバス61に乗せられた
情報は、GR42,WK43゜MMl、あるいはLM2
等に転送され格納される。
The PU 4 operates various control signals 66 and the like in accordance with the microinstructions set in the MIR 52 to execute various calculations and controls. For example, arithmetic processing is performed using general-purpose registers (
GR,)42. Work register file (WK) 43.
The MMI information read out to the signal line 56 and the MI
Among the values on the signal line 65 that are directly given by the microinstruction stored in R52, the three specified by the microinstruction are selected, and the arithmetic unit (ALU) 44 is used to apply the values to the microinstruction. 2 performs the specified operation and puts the result on the data bus 61. The information carried on the data bus 61 is GR42, WK43°MMl, or LM2.
etc., and stored.

MMIへの情報の書込みは、MAR46に書込みエリア
のMMアドレスを設定し、M、M書込みデータレジスタ
(MWR)45に書込むべき情報を設定し、MMIに書
き込み要求を発行することによシ行われる。
Information can be written to the MMI by setting the MM address of the write area in the MAR 46, setting the information to be written in the M, M write data register (MWR) 45, and issuing a write request to the MMI. be exposed.

また、LM2への情報の書き込みや読出しは、以下の如
く行われる。LMアドレスレジスタ(RAR)41に書
き込みあるいは読出しエリアのLMアドレスを設定し、
LM2に書込みあるいは読出しの要求を発行することに
より、WK43などの情報をLM2に書き込む、あるい
は、LM2の情報をWK43などに読出す動作が行われ
る。
Further, writing and reading information to LM2 is performed as follows. Set the LM address of the write or read area in the LM address register (RAR) 41,
By issuing a write or read request to LM2, an operation of writing information such as WK43 to LM2 or reading information of LM2 to WK43 etc. is performed.

ところで、あるマイクロ命令の実行が終わり、次に実行
すべきマイクロ命令を読出す際のCMアドレスは、下記
の方法により与えられる。一般的には、加算器48によ
シ、現在実行中のマイクロ命令の格納アドレスに+1さ
れたCMアドレスが生成され、信号線62に送出される
。また、マイクロプログラムの分岐を行なうときには、
マイクロ命令で直接指定したCMアドレスが信号線63
を介して送出される。このとき、現在実行中のマイクロ
命令の格納アドレスに+1した分岐光からの戻りアドレ
スが戻り0Mアドレススタック(STACK )49に
格納される。そして、分岐先からの戻υがマイクロ命令
に2指示されたときには、該5TACK 49より戻り
CMアドレスを取出し、信号線62に送出される。
By the way, the CM address when reading the microinstruction to be executed next after the execution of a certain microinstruction is finished is given by the following method. Generally, the adder 48 generates a CM address that is the storage address of the microinstruction currently being executed plus one, and sends it to the signal line 62. Also, when branching a microprogram,
The CM address directly specified by the microinstruction is signal line 63.
Sent via . At this time, the return address from the branch light which is increased by 1 to the storage address of the microinstruction currently being executed is stored in the return 0M address stack (STACK) 49. Then, when a return υ from the branch destination is specified by 2 in the microinstruction, the return CM address is extracted from the 5TACK 49 and sent to the signal line 62.

上記の如くして得られるCMアドレスに従いマイクロ命
令の取出し、実行を行って一連のマイクロプログラム処
理を終えると、その最後のマイクロ命令にて、次の機械
命令の取出し、実行を指示する。次の機械命令の取出し
MMアドレスは、それまでのマイクロプログラム処理中
に決定され、PC47に設定されている。このPC47
の値を用いて次に実行すべき機械命令を取出す方法は先
に述べた通りである。
When a series of microprogram processing is completed by fetching and executing a microinstruction according to the CM address obtained as described above, the last microinstruction instructs the fetching and execution of the next machine instruction. The MM address for fetching the next machine instruction is determined during the previous microprogram processing and is set in the PC 47. This PC47
The method for extracting the next machine command to be executed using the value of is as described above.

ここで、次の機械命令を実行する前に、通常は割込要求
の有無がチェックされ、割込要求があれば、直ちに割込
受付処理を実行し、なければ次の機械命令の実行を前述
の如く開始する。
Here, before executing the next machine instruction, the presence or absence of an interrupt request is normally checked, and if there is an interrupt request, the interrupt acceptance process is executed immediately, and if not, the execution of the next machine instruction is started as described above. Start like this.

割込要求は、種々の割込信号68により割込制御回路5
3に通知され、そこでは割込要求があったか否かが記憶
される。次の機械命令の実行に移る際にはこの割込制御
回路53に記憶された割込要求の有無をチェックし、割
込要求があれば、該回路にて生成され信号線64に送出
されるCMアドレスを用いて割込受付マイクロプログラ
ムに制御を移す。この割込受付マイクロプログラムの機
能については、本実施例では重要ではないため、説明を
省略する。
Interrupt requests are sent to the interrupt control circuit 5 by various interrupt signals 68.
3, and whether there is an interrupt request or not is stored there. When moving to execution of the next machine instruction, the presence or absence of an interrupt request stored in this interrupt control circuit 53 is checked, and if there is an interrupt request, it is generated by the circuit and sent to the signal line 64. Control is transferred to the interrupt reception microprogram using the CM address. Since the function of this interrupt acceptance microprogram is not important in this embodiment, its explanation will be omitted.

第2図は、上述の処理装置において、O87ア−ムラエ
アの実行中に割込処理を可能にする手段を示すものであ
る。
FIG. 2 shows means for enabling interrupt processing during execution of the O87 arm ra air in the above-mentioned processing apparatus.

プログラム15はOSプログラムの一例を示し、プログ
ラム16は割込処理プログラムを示し、プログラム17
はLM初期化プログラムを示し、これらはすべてMMI
内に格納されろうまたマイクロプログラム31はOSフ
ァームウェア命令の一例を示し、これはCMa内に格納
される。ここで、OSファームウェア命令とは、O8の
機能をマイクロプログラムにて実現したもので、従来の
機械命令と同様に主メモリから取出され処理される。
Program 15 shows an example of an OS program, program 16 shows an interrupt processing program, and program 17 shows an example of an OS program.
indicates the LM initialization program, and these are all MMI
Microprogram 31 also represents an example of OS firmware instructions, which are stored within CMa. Here, the OS firmware command is a microprogram that implements the functions of the O8, and is retrieved from the main memory and processed in the same way as conventional machine commands.

本実施例では、リスト構造を有するO8制御テーブルを
サーチし、特定の条件を満たすO8制御テーブルをクリ
アする機能を果たすOSファームウェア命令FILを例
にとって説明する。このOSファームウェア命令FIL
は、多くのO8制御テーブルをサーチし、処理するため
、実行時間が長くなることが予想されるため、その途中
に割込要求チェック機能と、割込みによる処理の中断を
再開するためのOSファームウェア命令FI2のインタ
フェースも有している。
In this embodiment, an OS firmware instruction FIL that performs a function of searching an O8 control table having a list structure and clearing an O8 control table that satisfies a specific condition will be explained as an example. This OS firmware instruction FIL
Because it searches and processes many O8 control tables, it is expected that the execution time will be long. It also has an FI2 interface.

以下K、OSファームウェア命令F■1を処理する手順
を説明する。
The procedure for processing the OS firmware instruction F1 will be described below.

まず、電子計算機を初期起動する際に実行されるブート
ストラッププログラムの一部としてLM初期化プログラ
ム17が処理される。このLM初期化プログラム17は
、機械命令171〜172を実行することによ、p、o
sファームウェア命令を実行するときに用いる定数から
成るMMI上のOS IIJ御テーブル12の内容をL
M2上のO8市1]御テーブル21にコピーする。この
コピーされた08制御テーブル21の中には、OSプロ
グラム15の内にある中断マイクロプログラムの再開用
OSファームウェア命令FI2のMM格納アドレスRT
Nの情報211を含んでいる。
First, the LM initialization program 17 is processed as part of the bootstrap program executed when initially starting up the computer. This LM initialization program 17 executes p, o by executing machine instructions 171 to 172.
sThe contents of the OS IIJ control table 12 on the MMI, which consists of constants used when executing firmware instructions, are
O8 city 1 on M2] Copy to table 21. This copied 08 control table 21 contains the MM storage address RT of the OS firmware instruction FI2 for restarting the interrupted microprogram in the OS program 15.
N information 211 is included.

さて、上記の初期化の後、OSプログラム15の処理が
開始されたとする。該OSプログラム15の内の機械命
令151を実行後、第1図の説明にて述べた如く、OS
ファームウェア命令FIL152が取出され、それに対
応するマイクロプログラム31の処理が開始される。
Now, suppose that the processing of the OS program 15 is started after the above-mentioned initialization. After executing the machine instructions 151 in the OS program 15, as described in the explanation of FIG.
The firmware instruction FIL 152 is taken out, and the processing of the corresponding microprogram 31 is started.

OSファームウェア命令FILを実行するマイクロプロ
グラム31は、以下の如く処理される。
The microprogram 31 that executes the OS firmware instruction FIL is processed as follows.

説明中の処理ブロックは複数のマイクロ命令によシ実行
されるものとする。
It is assumed that the processing blocks in the description are executed by a plurality of microinstructions.

まず、処理ブロック311にて、Fllの処理に必要で
動的に変更されるMMI上のO8制御テーブル14の情
報をLM2のO8制御テーブル23にコピーする。それ
から後、処理ブロック312にて、リスト構造を有する
制御テーブルを一ケースずつチェックし、特定の条件を
満たすO8制御テーブルがあれば、該テーブルをクリア
する。そして、処理ブロック313にて、第1図に示し
た割込制御回路53をチェックすることによシ、割込要
求の有無を判定する。割込要求がなければ、処理ブロッ
ク314に進み、そこでは、O8制御テーブルのリスト
をすべて処理したかを判定し、未だ処理していないもの
があれば、次のO8制御テーブルを処理するために、処
理ブロック312に移る。すべてのリストを処理し終え
た場合には、処理ブロック315にて、LM2のO8制
御テーブル23の情報の内で書き換えを行った情報23
1,232をMMI上のOS制御テーブル14の対応す
る箇所に再書き込みを行ない、最後に次の機械命令の取
り込み、実行に移る。この結果、OSプログラムの機械
命令153が次に実行されることになる。
First, in processing block 311, information in the O8 control table 14 on the MMI, which is necessary for Fll processing and is dynamically changed, is copied to the O8 control table 23 on the LM2. Thereafter, in processing block 312, the control table having a list structure is checked case by case, and if there is an O8 control table that satisfies a specific condition, the table is cleared. Then, in processing block 313, the presence or absence of an interrupt request is determined by checking the interrupt control circuit 53 shown in FIG. If there is no interrupt request, processing continues at processing block 314 where it is determined whether the entire list of O8 control tables has been processed and, if any, the list of O8 control tables is processed in order to process the next O8 control table. , the process moves to processing block 312 . When all the lists have been processed, in processing block 315, the information 23 that has been rewritten in the information in the O8 control table 23 of LM2
1,232 is rewritten to the corresponding location in the OS control table 14 on the MMI, and finally the next machine command is fetched and executed. As a result, machine instructions 153 of the OS program will be executed next.

ところで、処理ブロック313にて割込要求があること
を検出した場合には、処理ブロック317にて、Fll
の処理の中断に必要な情報、たとえば処理対象のリスト
の先頭アドレス、それまでに処理を終えたO8制御テー
ブルのアドレスやWK43の情報をLMZ上の情報退避
エリア24に退避する。そして、処理ブロック318に
て、LMz上のO8制御テーブル21から中断マイクロ
プログラムの再開用ファームウェア命令FI2の格納さ
れているMMアドレス情報211を取出し、それをPC
47に設定し、その後に次の機械命令の取出し、実行に
移る。
By the way, when it is detected in processing block 313 that there is an interrupt request, processing block 317 detects that there is an interrupt request.
The information necessary for interrupting the processing, such as the start address of the list of processing targets, the address of the O8 control table that has been processed up to that point, and the information of the WK 43 is saved in the information save area 24 on the LMZ. Then, in processing block 318, the MM address information 211 storing the firmware instruction FI2 for restarting the interrupted microprogram is extracted from the O8 control table 21 on the LMz, and the MM address information 211 is transferred to the PC.
47, and then proceeds to fetch and execute the next machine command.

この結果、新にPC47に設定されたMMアドレス情報
により、MMアドレスRTNのFI2命令154を取出
そうとする訳であるが、第1図の説明で述べたように、
次の機械命令を取出し、実行に移る前に、割込要求の有
無がチェックされる。
As a result, an attempt is made to retrieve the FI2 instruction 154 of the MM address RTN based on the MM address information newly set in the PC 47, but as described in the explanation of FIG.
Before fetching and executing the next machine instruction, the presence or absence of an interrupt request is checked.

今の場合には、割込要求があるため、先にも触れた割込
受付マイクロプログラムに制御が移シ、そこで必要な情
報、たとえばPC47やGR42などの情報をL M 
Z上の情報退避エリア24に退避した後、割込処理プロ
グラム16の実行を開始する。
In this case, since there is an interrupt request, control is transferred to the interrupt reception microprogram mentioned earlier, and the necessary information there, such as information on the PC47 and GR42, is transferred to the L M
After saving to the information saving area 24 on Z, execution of the interrupt processing program 16 is started.

割込処理プログラム16は、機械命令161〜162を
実行することによりその処理を果たすが、最後の機械命
令LDPSW 162では、割込受付マイクロプログラ
ムにて情報退避エリア24に退避したGR42やP’C
47などの情報を回復する。
The interrupt processing program 16 performs its processing by executing machine instructions 161 to 162, but the last machine instruction LDPSW 162 executes the GR 42 and P'C that have been saved in the information save area 24 by the interrupt acceptance microprogram.
Recover information such as 47.

このことにより、MMアドレスRTNにあるFI2命令
154を実行しようとしたときの状態が再現される。こ
の結果、次にはFI2命令154の取出しが行なわれ、
FI2命令のマイクロプログラムが実行される。
This reproduces the situation when the FI2 instruction 154 at the MM address RTN is attempted to be executed. As a result, the FI2 instruction 154 is then fetched,
The FI2 instruction microprogram is executed.

FI’2命令のマイクロプログラムは、処理ブロック3
16にて、先述のFIL命令の処理ブロック317にて
退避した情報退避エリア24の情報を元に回復させ、そ
の後、F11命令の処理ブロック314へ分岐する。こ
のことによp、FIL命令を中断したときの状況を再現
し、その後のFIL命令の処理を続行することができる
The microprogram for the FI'2 instruction is processing block 3.
In step 16, the information in the information save area 24 saved in the above-mentioned FIL instruction processing block 317 is restored, and then the process branches to the F11 instruction processing block 314. This makes it possible to reproduce the situation when the FIL instruction was interrupted and continue processing the subsequent FIL instruction.

そして、処理ブロック315の実行を終えた後、次の機
械命令155を取出し、実行に移る。ここで、機械命令
155は機械命令153への分岐命令であり、この命令
を実行することに、よセ、機械命令153の取出し、実
行に移る。このことによ、9.FIL命令の実行中に割
込処理を行わなかった場合と同様の処理を実行したこと
になる。
After completing the execution of processing block 315, the next machine instruction 155 is retrieved and executed. Here, the machine instruction 155 is a branch instruction to the machine instruction 153, and in order to execute this instruction, the machine instruction 153 is retrieved and executed. Because of this, 9. This means that the same processing as if no interrupt processing was performed during execution of the FIL instruction.

以上説明した如く、本実施例によれば、OSファームウ
ェア命令の実行中は、必要な情報はLM2.GR42,
WK43にあるものを用いることができ、MMlにある
情報を用いる場合に比べて、高速な処理が可能である。
As explained above, according to this embodiment, while the OS firmware command is being executed, the necessary information is transferred to LM2. GR42,
Information in WK43 can be used, and faster processing is possible than in the case of using information in MMl.

また、本実施例によれば、OSファームウェア命令の実
行中でも割込処理が可能であり、大規模なOSファーム
ウェアが実現できるという効果がある。
Furthermore, according to this embodiment, interrupt processing is possible even during the execution of OS firmware instructions, and there is an effect that large-scale OS firmware can be realized.

また、本発明の別の実施例を第3図、第4図および第5
図によシ説明する。
Further, other embodiments of the present invention are shown in FIGS. 3, 4, and 5.
This will be explained with the help of a diagram.

第3図は、本発明に係る電子計算機の処理構成を示すも
のである。第1図に示した構成と異なる箇所は、0Mア
ドレス情報をデータバス61に乗せG11’L42.W
K43.LM2およびMMIに該アドレス情報を格納す
ることを可能にするために信号線70を設けたこと、お
よび、GR,WK。
FIG. 3 shows the processing configuration of the electronic computer according to the present invention. The difference from the configuration shown in FIG. 1 is that 0M address information is placed on the data bus 61 and G11'L42. W
K43. A signal line 70 was provided to enable storing the address information in LM2 and MMI, and GR, WK.

LM、およびMMから取出される該アドレス情報を0M
3に与えることを可能にするために信号線71を設けた
ことにある。これらの信号線を用いた0Mアドレスの操
作は、第1図の説明にて述べた如きマイクロプログラム
の制御によシ行われる。
The address information extracted from LM and MM is set to 0M.
The reason is that the signal line 71 is provided in order to enable the signal to be supplied to the signal line 3. The operation of the 0M address using these signal lines is performed under the control of the microprogram as described in the explanation of FIG.

第4図および第5図は、第3図の処理装置において、O
Sファームウェアの実行中に割込処理を可能にする手段
を示すものであろう マイクロプログラム31はOSファームウェア命令の一
例であるFIXを示し、マイクロプログラム32はOS
ファームウェア実行中の割込を受付ける割込受付はマイ
クロプログラムINTMを示し、マイクロプログラム3
3はリターン機械命令LDP8Wを示す。
4 and 5 show that in the processing apparatus of FIG.
A microprogram 31, which may indicate means for enabling interrupt processing during execution of S firmware, indicates FIX, which is an example of an OS firmware instruction, and a microprogram 32 indicates a means for enabling interrupt processing during execution of the OS firmware.
Interrupt reception, which accepts interrupts during firmware execution, indicates microprogram INTM, and microprogram 3
3 indicates the return machine command LDP8W.

いまここて、OSプログラム15の処理が行われており
、OSファームウェア命令F11152が取出され、そ
れに対応するマイクロプログラム31の処理が開始され
た状況を考える。
Let us now consider a situation in which the OS program 15 is being processed, the OS firmware instruction F11152 has been extracted, and the corresponding microprogram 31 has started processing.

OSファームウェア命令FILの処理ブロック311.
312,313,314.および315が果す機能は第
2図の説明にて示し象通りである。
Processing block 311 of OS firmware instruction FIL.
312, 313, 314. The functions performed by 315 and 315 are as shown in the explanation of FIG.

処理ブロック313にて割込要求があることを検出した
場合には、以下の処理を行なう。
If it is detected in processing block 313 that there is an interrupt request, the following processing is performed.

処理ブロック317にて、FIlの処理の中断に必要な
情報をLMZ上の情報退避エリア24に退避する。そし
て処理ブロック318にて、マイクロプログラム実行中
の割込に関する割込受付はマイクロプログラムINTM
32ヘジヤンプすると同時にリタン0Mアドレス情報、
今の場合は処理ブロック319のアドレス、を5TAC
K 49に格納する。
In processing block 317, information necessary for interrupting FIl processing is saved to the information save area 24 on the LMZ. Then, in processing block 318, the interrupt reception regarding the interrupt during execution of the microprogram is performed by the microprogram INTM.
At the same time as 32 hejyump, return 0M address information,
In this case, the address of processing block 319 is 5TAC
Store in K49.

INTM32では、処理ブロック321にて、5TAC
K49内の戻シCMアドレス情報をLMZ上の情報退避
エリア24のエリア242に退避する。そして、処理ブ
ロック322にて、該退避エリア24のエリア241に
エリア242の退避情報が有効である旨のフラグを設定
し、その後、第2図の説明で述べた機械命令の実行の直
前に割込みを受付けるマイクロプログラム処理ブロック
323の処理を行なう。
In INTM32, in processing block 321, 5TAC
The returned CM address information in K49 is saved to area 242 of information save area 24 on LMZ. Then, in processing block 322, a flag indicating that the save information in area 242 is valid is set in area 241 of the save area 24, and then an interrupt is generated immediately before the execution of the machine instruction described in the explanation of FIG. Processing of the microprogram processing block 323 that accepts the data is performed.

処理ブロック323では、PC47やGR42などの情
報を退避エリア24に退避した後、割込処理プログラム
16の実行を開始する。このときに退避されるPO27
の内容は、OSプログラム15の機械命令153のMM
M納アドレスを示す。
In processing block 323, after saving information on the PC 47, GR 42, etc. to the saving area 24, execution of the interrupt processing program 16 is started. PO27 evacuated at this time
The contents of MM of machine instruction 153 of OS program 15
Indicates M delivery address.

割込処理プログラム16の最後の機械命令LDPSW 
162は対応するマイクロプログラム33にて処理され
るっ マイクロプログラム33の処理ブロック331では、情
報退避エリア24に退避したGR42やPC47などの
情報を回復する。次いで処理ブロック332では、情報
退避エリア24のエリア241を調べ、エリア242の
情報が有効が否が、即ちマイクロプログラムの実行中に
割込んだが否かを判定する。エリア241の7ラグが無
効を表示していれば、処理ブロック333にて、回復さ
れたPC47の指すMMアドレスより次の命令を取出す
ことを行なう。
Last machine instruction LDPSW of interrupt processing program 16
162 is processed by the corresponding microprogram 33. In the processing block 331 of the microprogram 33, information on the GR 42, PC 47, etc. that has been saved in the information save area 24 is recovered. Next, in processing block 332, area 241 of the information save area 24 is checked to determine whether the information in area 242 is valid or not, that is, whether an interruption occurred during execution of the microprogram. If the 7 lag in area 241 indicates invalid, the next instruction is extracted from the MM address pointed to by the recovered PC 47 in processing block 333.

処理ブロック332にて、エリア241のフラグが有効
表示であることを検出した場合には、処理ブロック33
4にジャンプする 該ブロックでは、エリア242に退避したCM戻シアド
レスを5TACK 49に回復する。次いで処理ブロッ
ク335では、エリア241のフラグをリセットし、処
理ブロック336では、sT八へに49よ、9CM戻シ
アドレスを取出し、該アドレスヘジャンプする。
If processing block 332 detects that the flag in area 241 is valid, processing block 33
In the block that jumps to 4, the CM return address saved in area 242 is restored to 5TACK 49. Next, in a processing block 335, the flag of the area 241 is reset, and in a processing block 336, the sT8 to 49, 9CM return address is extracted and a jump is made to the address.

この結果、マイクロプログラムの制御は、先の割込みに
よシ中断されたosファームウェアFIZのマイクロプ
ログラム処理ブロック319に戻される。
As a result, control of the microprogram is returned to the microprogram processing block 319 of the OS firmware FIZ that was interrupted by the previous interrupt.

処理ブロック319では、先述の処理ブロック317に
て退避したエリア24の情報を元に回復し、処理ブロッ
ク314へ分岐する。このことにより、FIL命令を中
断したときの状況を再現し、その後のFIL命令の処理
を続行することができる。
In the processing block 319, the information in the area 24 saved in the previously described processing block 317 is restored, and the process branches to the processing block 314. This makes it possible to reproduce the situation when the FIL instruction was interrupted and continue processing the subsequent FIL instruction.

そして、処理ブロック315の実行後、次の機械命令1
53を取出し実行に移る。
After execution of processing block 315, the next machine instruction 1
53 is taken out and executed.

以上説明した如く、本実施例によれば、OSファームウ
ェア命令を用いるOSプログラムに特別な手続きを設け
ることなく、第一の実施例と同様の効果を実現できる。
As described above, according to this embodiment, the same effects as the first embodiment can be achieved without providing any special procedures to the OS program that uses OS firmware instructions.

さらに、本発明のもう一つの実施例を第6図によシ説明
する。
Furthermore, another embodiment of the present invention will be explained with reference to FIG.

第6図は、先に説明した第3図の処理装置において、O
Sファームウェアの実行中に割込処理を可能にするもう
一つの手段の一部を示すものである。
FIG. 6 shows the O
3 shows part of another means for enabling interrupt processing during execution of S firmware.

マイクロプログラム31はOSファームウェア命令の一
例であるFILを示し、マイクロプログラム32はOS
ファームウェア実行中の割込を受付けるマイクロプログ
ラムINTMを示し、マイクロプログラム33はリター
ン機械命令LDPSWを示し、LM2上のO8制御テー
ブル21内のエリア212はOSファームウェアの実行
を中断する際に退避すべきMM情報あるいはLM情報の
アドレス等を憶えておくエリアを示す。
A microprogram 31 indicates FIL, which is an example of an OS firmware instruction, and a microprogram 32 indicates an OS firmware instruction.
The microprogram 33 indicates the return machine command LDPSW, and the area 212 in the O8 control table 21 on LM2 indicates the MM to be saved when interrupting the execution of the OS firmware. Indicates an area for storing information or addresses of LM information.

いまここて、OSファームウェア命令FILのマイクロ
プログラム31の実行中に、処理ブロック313にて割
込要求を検出したとし二う。
It is now assumed that an interrupt request is detected in processing block 313 while the microprogram 31 of the OS firmware instruction FIL is being executed.

割込要求を検出した場合には、処理ブロック300にて
、F工1命令からの分岐であるという識別情報を伴って
割込受付マイクロプログラムINTM32ヘジャンプす
ると同時に、CM戻クシアドレス情報今の場合は処理ブ
ロック301のアドレスを8TACK49に格納する。
If an interrupt request is detected, in processing block 300, a jump is made to the interrupt acceptance microprogram INTM32 with identification information that it is a branch from the F engineering 1 instruction, and at the same time, the CM return comb address information is The address of the processing block 301 is stored in 8TACK49.

INTM32では、まず処理ブロック305にて、割込
まれたOSファームウェアのマイクロプログラムから渡
された識別情報を用いて、LM2の工リア212で示さ
れる情報から、該OSファームウェアの中断時に必要な
情報を割シ出し、そして処理ブロック306にて、該当
するMMあるいはLM上の情報をLM2の情報退避エリ
ア24に退避する。
In INTM32, first, in processing block 305, using the identification information passed from the microprogram of the interrupted OS firmware, information necessary at the time of interruption of the OS firmware is obtained from the information indicated by the factory 212 of LM2. Then, in processing block 306, the information on the corresponding MM or LM is saved to the information save area 24 of LM2.

次いで、処理ブロック321,322,323にて、先
の第2の実施例にて説明したと同様の処理を行ない、そ
の結果、必要な情報を退避し、割込プログラム16の実
行を開始する。
Next, in processing blocks 321, 322, and 323, processing similar to that described in the second embodiment is performed, and as a result, necessary information is saved and execution of the interrupt program 16 is started.

割込処理プログラム16の最後の機械命令LDPSW 
162を実行するマイクロプログラム33では以下の処
理を行なうつ 処理ブロック331〜335ば、第2の実施例にて説明
したと同様の処理を行なう。
Last machine instruction LDPSW of interrupt processing program 16
The microprogram 33 that executes 162 performs the following processing, and processing blocks 331 to 335 perform the same processing as described in the second embodiment.

処理ブロック335の実行した次に、処理ブロック33
7にて、LM2のエリア212で示される情報から回復
すべき情報を割り出し、さらに、処理ブロック338に
て該当するMMあるいはLM情報をLM2の情報退避エ
リア24から回復させる。
After processing block 335 is executed, processing block 33 is executed.
At step 7, the information to be recovered is determined from the information indicated in the area 212 of LM2, and further, at processing block 338, the corresponding MM or LM information is recovered from the information save area 24 of LM2.

そして処理ブロック336にて5TACK49よシ戻シ
CMアドレスを取出し、該CM子アドレスへャンプする
Then, in processing block 336, the 5TACK 49 returns the CM address, and jumps to the corresponding CM child address.

この結果、マイクロプログラムの制御は、割込みにより
中断されたOSファームウェアFILの処理ブロック3
01に戻される。
As a result, the control of the microprogram is controlled by the processing block 3 of the OS firmware FIL that was interrupted by the interrupt.
It is returned to 01.

処理ブロック301では、直ちに処理ブロック314へ
分岐し、その後のFIL命令の処理を続行することが出
来る。
Processing block 301 immediately branches to processing block 314 to continue processing subsequent FIL instructions.

以下説明した如く、本実施例によれば、OSファームウ
ェア命令を用いるOSプログラムおよびOSファームウ
ェア命令を実現するマイクロプログラムのいずれにも特
別な手続きを設けることなく、第一の実施例、あるいは
第二の実施例と同様の効果を得ることができる。
As explained below, according to this embodiment, the first embodiment or the second embodiment can be implemented without providing special procedures in either the OS program that uses OS firmware instructions or the microprogram that implements the OS firmware instructions. Effects similar to those of the embodiment can be obtained.

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

本発明によれば、マイクロプログラム専用の高速メモリ
を設けることによシ、マイクロプログラム実行中の主メ
モリ参照頻度を少なくすることができるので、マイクロ
プログラムの高速化の効果がある。また、マイクロプロ
グラム専用の高速メモリを設け、それを利用してマイク
ロプログラム実行中に割込要求を処理する手段を設ける
ことによシ、割込要求に対する応答を待たせることがな
くなるので、大規模なマイクロプログラム、例えばOS
ファームウェアの実現が可能になるという効果がある。
According to the present invention, by providing a high-speed memory dedicated to the microprogram, it is possible to reduce the frequency of main memory references during the execution of the microprogram, resulting in the effect of speeding up the microprogram. In addition, by providing a high-speed memory dedicated to microprograms and using it to process interrupt requests while the microprogram is running, it is possible to eliminate the need to wait for a response to an interrupt request, making it possible to microprogram, such as an OS
This has the effect of making it possible to implement firmware.

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

第1図は本発明に係る処理装置の構成図、第2図は本発
明に係る割込を可能としたマイクロプログラム方式の構
造を示す図、第3図は本発明に係る別な処理装置の構成
図、第4図および第5図は本発明に係る割込を可能とし
たマイクロプログラム方式の別な構造を示す図、第6図
は本発明に係る割込を可能としたマイクロプログラム方
式のさらに別な構造を示す図である。 1・・・主メモリ、2・・・マイクロプログラム専用高
速メモリ、3・・・制御メモリ、4・・・演算制御機構
、31・・・OSファームウェアを実行するマイクロプ
ログラム、32・・・OSファームウェア実行中の割込
を受付けるマイクロプログラム、33・・・リタ−第1
図 箇2図 第31211 第 4 (2) 第 5  図 閉 6 図
FIG. 1 is a block diagram of a processing device according to the present invention, FIG. 2 is a diagram showing the structure of a microprogram system that enables interrupts according to the present invention, and FIG. 3 is a diagram of another processing device according to the present invention. The configuration diagrams, FIGS. 4 and 5 are diagrams showing another structure of the microprogram system that enables interrupts according to the present invention, and FIG. 6 shows the structure of the microprogram system that enables interrupts according to the present invention. It is a figure which shows yet another structure. DESCRIPTION OF SYMBOLS 1...Main memory, 2...High-speed memory dedicated to microprogram, 3...Control memory, 4...Arithmetic control mechanism, 31...Microprogram for executing OS firmware, 32...OS firmware Microprogram that accepts interrupts during execution, 33...Return 1
Figure 2 Figure 31211 4th (2) Figure 5 Closed Figure 6

Claims (1)

【特許請求の範囲】 1、主メモリと制御メモリと割込検出回路を有する演算
制御機構より成るマイクロプログラム方式の電子計算機
において、制御メモリに格納されたマイクロ・プログラ
ムの実行に際して主に使用し、主メモリに比較し高速に
読み出しおよび1:き込みが可能な、マイクロ・プログ
ラム専用高速メモリを設けたことを特徴とするOSファ
ームウェア方式。 2 請求範囲10方式において、マイクロ・プログラム
の実行に必要な主メモリ上の情報をマイクロ・プログラ
ム専用高速メモリに書き込む手段と、該マイクロ・プロ
グラムの実行中に割込の有無を判定する手段と、割込が
あった場合に前記マイクロ・プログラム専用高速メモリ
に処理の中断・再開に必要な情報全退避する手段と、該
割込処理後に中断した該マイクロ・プログラムの処理を
再開する手段と、前記マイクロ・プログラム専用高速メ
モリから再開に必要な情報を回復する手段と、マイクロ
・プログラムの実行中に書き換えを要した前記専用高速
メモリ上の主メモリ関連情報を再び主メモリに書き込む
手段とを有するマイクロ・プログラムを設けたことを特
徴とする087ア一ムウエア方式。 3、蹟求範囲2の方式において、電子計算機の初期化時
に、主メモリ上の情報の一部を前記マイクロ・プログラ
ム専用高速メモリに複写し、該専用高速メモリを初期化
する手段を設けたことを特徴とする087ア一ムウエア
方式。
[Scope of Claims] 1. In a microprogram type electronic computer comprising an arithmetic control mechanism having a main memory, a control memory, and an interrupt detection circuit, the method is mainly used for executing a microprogram stored in the control memory, An OS firmware system characterized by the provision of a high-speed memory dedicated to microprograms that can be read and written at higher speeds than main memory. 2. In the method of claim 10, means for writing information in main memory necessary for executing a microprogram into a high-speed memory dedicated to the microprogram, and means for determining whether or not an interrupt occurs during execution of the microprogram; means for saving all information necessary for interrupting and resuming processing in the high-speed memory dedicated to the micro program when an interrupt occurs; and means for resuming the interrupted processing of the micro program after processing the interrupt; A micro program having means for recovering information necessary for restarting from a high speed memory dedicated to the micro program, and means for writing main memory related information on the dedicated high speed memory that had to be rewritten during execution of the micro program to the main memory again.・The 087 firmware system is characterized by the provision of a program. 3. In the method of Scope 2, a means is provided for copying a part of the information in the main memory to the micro program dedicated high speed memory and initializing the dedicated high speed memory when the electronic computer is initialized. The 087 firmware system is characterized by:
JP7743383A 1983-05-04 1983-05-04 Os firmware system Granted JPS59202543A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7743383A JPS59202543A (en) 1983-05-04 1983-05-04 Os firmware system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7743383A JPS59202543A (en) 1983-05-04 1983-05-04 Os firmware system

Publications (2)

Publication Number Publication Date
JPS59202543A true JPS59202543A (en) 1984-11-16
JPH0527141B2 JPH0527141B2 (en) 1993-04-20

Family

ID=13633869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7743383A Granted JPS59202543A (en) 1983-05-04 1983-05-04 Os firmware system

Country Status (1)

Country Link
JP (1) JPS59202543A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51129143A (en) * 1975-05-02 1976-11-10 Mitsubishi Electric Corp Virtual memory control system
JPS57207951A (en) * 1981-06-18 1982-12-20 Nec Corp Microprogram controlling type data processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51129143A (en) * 1975-05-02 1976-11-10 Mitsubishi Electric Corp Virtual memory control system
JPS57207951A (en) * 1981-06-18 1982-12-20 Nec Corp Microprogram controlling type data processor

Also Published As

Publication number Publication date
JPH0527141B2 (en) 1993-04-20

Similar Documents

Publication Publication Date Title
JP3439033B2 (en) Interrupt control device and processor
US5003458A (en) Suspended instruction restart processing system based on a checkpoint microprogram address
JPS61204758A (en) Co-processor controlling system
JPS6250934A (en) Interrupting control system of processor
JPH02304650A (en) Microprocessor of pipeline system
JPS59202543A (en) Os firmware system
JPH0377137A (en) Information processor
KR960014825B1 (en) Information processing system
JPS6336023B2 (en)
JPH03268041A (en) Cache operation clarifying computer
JPS62125437A (en) Control method for additional processor
JPH06324861A (en) System and method for controlling cpu
JPH0554141B2 (en)
JP2768878B2 (en) Data processing device, method for synchronizing instruction execution, method for saving instruction address when exception occurs, and method for invalidating instruction processing when exception occurs
JP3022398B2 (en) Virtual computer system
JP2564290B2 (en) Instruction restart processing method and apparatus
JPH08272608A (en) Pipeline processor
JPH0391055A (en) Method for setting hardware lock, hardware lock controller, method and device for detecting hardware lock
JPS6252900B2 (en)
JPS6232507B2 (en)
JPS63253449A (en) Virtual computer system
JPH02183333A (en) Data processor
JPS5846444A (en) Register group storage device
JPH0373031A (en) Memory access control system
JPS6246341A (en) I/o control method for additional processor