JPS6129022B2 - - Google Patents
Info
- Publication number
- JPS6129022B2 JPS6129022B2 JP286580A JP286580A JPS6129022B2 JP S6129022 B2 JPS6129022 B2 JP S6129022B2 JP 286580 A JP286580 A JP 286580A JP 286580 A JP286580 A JP 286580A JP S6129022 B2 JPS6129022 B2 JP S6129022B2
- Authority
- JP
- Japan
- Prior art keywords
- control
- address
- storage section
- control storage
- section
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Description
【発明の詳細な説明】
本発明はマイクロプログラム制御方式のデータ
処理装置に関する。DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a microprogram controlled data processing device.
マイクロプログラム制御方式のデータ処理装置
において、各種マイクロプログラムが格納される
制御記憶部には、固定記憶装置で構成されるもの
と、書換え可能な記憶装置で構成されるものとが
ある。 In a data processing device using a microprogram control method, the control storage section in which various microprograms are stored may be a fixed storage device or a rewritable storage device.
固定記憶装置で構成される制御記憶部と、書換
え可能な記憶装置で構成される制御記憶部とを備
えたデータ処理装置において、後者の制御記憶部
の内容(マイクロプログラム)に基づいて制御が
行なわれる場合、一般に後者の制御記憶部は前者
のそれとは別のものとして取扱われているため、
後者の制御記憶部の内容でのみ制御動作が行なわ
れていた。このため固定記憶装置で構成される制
御記憶部にあらかじめ貯蔵されているマイクロプ
ログラムが使えない欠点があつた。 In a data processing device equipped with a control storage section consisting of a fixed storage device and a control storage section consisting of a rewritable storage device, control is performed based on the contents (microprogram) of the latter control storage section. In cases where the control memory of the latter is generally treated as different from that of the former,
Control operations were performed only based on the contents of the latter control storage section. For this reason, there was a drawback that microprograms stored in advance in a control storage section constituted by a fixed storage device could not be used.
本発明は上記事情に鑑みてなされたものでその
目的は、固定記憶装置でなる第1の制御記憶部お
よび書換え可能な記憶装置でなる第2の制御記憶
部に対するアドレス制御を共通に行なうことによ
つて、第1の制御記憶部と第2の制御記憶部とを
同一レベルで取扱うことができ、第2の制御記憶
部に格納されているマイクロプログラムによつて
も第1の制御記憶部の内容を使用することができ
る便利なデータ処理装置を提供することにある。 The present invention has been made in view of the above circumstances, and its purpose is to perform address control in common for a first control storage unit consisting of a fixed storage device and a second control storage unit consisting of a rewritable storage device. Therefore, the first control storage section and the second control storage section can be handled at the same level, and the microprogram stored in the second control storage section can also handle the first control storage section. The object of the present invention is to provide a convenient data processing device that can use the contents.
以下、本発明の一実施例を図面を参照して説明
する。第1図は本発明のデータ処理装置の要部構
成を示すブロツク図であり、演算制御部等は省略
されている。図中1はユーザ命令およびデータが
格納される主メモリ、2は主メモリ1から読出さ
れたユーザ命令が保持される命令レジスタ、3は
ユーザ命令で一義的に決定されるマイクロアドレ
スが入力制御されるゲートである。本実施例では
ユーザ命令の命令コード部がマイクロアドレスに
一致するように構成されている。 Hereinafter, one embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the main structure of a data processing apparatus according to the present invention, and the arithmetic control section and the like are omitted. In the figure, 1 is a main memory where user instructions and data are stored, 2 is an instruction register where user instructions read from the main memory 1 are held, and 3 is a microaddress that is input-controlled and is uniquely determined by the user instruction. It is a gate where In this embodiment, the instruction code portion of the user instruction is configured to match the microaddress.
4は第1の制御記憶部8および第2の制御記憶
部9に対するアドレスを制御するアドレス制御
部、5はゲート3の出力およびアドレス制御部4
の出力のいずれか一方を選択するマルチプレク
サ、6,7はマルチプレクサ5の出力すなわちア
ドレスを、それぞれ対応する第1の制御記憶部8
および第2の制御記憶部9へ送出するドライバで
ある。 4 is an address control unit that controls the addresses for the first control storage unit 8 and the second control storage unit 9; 5 is the output of the gate 3 and the address control unit 4;
The multiplexers 6 and 7 select one of the outputs of the multiplexer 5, that is, the address, and the corresponding first control storage section 8.
and a driver for sending data to the second control storage section 9.
8は固定記憶装置で構成され、各種マイクロプ
ログラムが貯蔵されている第1の制御記憶部、9
は書換え可能な記憶装置で構成され、各種マイク
ロプログラムが格納される第2の制御記憶部であ
る。第1の制御記憶部8および第2の制御記憶部
9はそれぞれ異なるアドレス領域を有している。 8 is a first control storage section which is composed of a fixed storage device and stores various microprograms; 9;
is a second control storage section which is composed of a rewritable storage device and stores various microprograms. The first control storage section 8 and the second control storage section 9 each have different address areas.
10は第2の制御記憶部9の読出し出力をレジ
スタ11へ出力制御するゲート、11はゲート1
0の出力および第1の制御記憶部8の読出し出力
が必要に応じて保持されるマイクロ命令レジスタ
である。12はマイクロ命令レジスタ11の特定
フイールドの内容を図示せぬデコーダへ送出する
ドライバ、13はマイクロ命令レジスタ11の特
定フイールド(アドレス部)の内容、およびマル
チプレクサ5の出力のいずれか一方を選択するマ
ルチプレクサである。このマルチプレクサ13の
出力はアドレス制御部4へ与えられる。 10 is a gate that controls the output of the readout output of the second control storage section 9 to the register 11; 11 is the gate 1;
This is a microinstruction register in which the output of 0 and the readout output of the first control storage section 8 are held as necessary. 12 is a driver that sends the contents of a specific field of the microinstruction register 11 to a decoder (not shown); 13 is a multiplexer that selects either the contents of the specific field (address section) of the microinstruction register 11 or the output of the multiplexer 5; It is. The output of this multiplexer 13 is given to the address control section 4.
14はアドレスレジスタである。アドレスレジ
スタ14には、第2の制御記憶部9と、データバ
ス18との間でデータ入出力が行なわれる場合
に、第2の制御記憶部9に対する読出し/書込み
アドレスが保持される。15はアドレスレジスタ
14の保持内容およびマルチプレクサ5の出力の
いずれか一方を選択するマルチプレクサ、16
1,162はゲートである。ゲート161,16
2は、データバス18と第2の制御記憶部9との
間、更にデータバス18とアドレスレジスタ14
との間でのデータの入出力制御を行なう。17は
第2の制御記憶部9の読出し出力が保持されるデ
ータレジスタ、18はデータバスである。本実施
例において、アドレスレジスタ14に保持された
読出しアドレスによつて第2の制御記憶部9がア
クセスされた場合、ゲート10が閉動作し、ゲー
ト161が開動作することによつて、第2の制御
記憶部9の読出し出力がデータバス18上に送出
されるようになつている。 14 is an address register. Address register 14 holds a read/write address for second control storage section 9 when data input/output is performed between second control storage section 9 and data bus 18 . 15 is a multiplexer for selecting either the content held in the address register 14 or the output of the multiplexer 5; 16;
1 , 16 2 are gates. Gate 16 1 , 16
2 is connected between the data bus 18 and the second control storage section 9, and between the data bus 18 and the address register 14.
Controls data input/output to and from. 17 is a data register in which the read output of the second control storage section 9 is held, and 18 is a data bus. In this embodiment, when the second control storage section 9 is accessed by the read address held in the address register 14, the gate 10 closes and the gate 161 opens, thereby controlling the second control storage section 9. The read output of the second control storage section 9 is sent onto the data bus 18.
第2図は本発明に係る第1の制御記憶部8およ
び第2の制御記憶部9のメモリマツプの一実施例
を示すものである。図から明らかなように第1の
制御記憶部8には16進表示でアドレス“0000”16
〜“0FFF”16が割当てられ、第2の制御記憶部
9には16進表示でアドレス“1000”16〜
“13FF”16が割当てられている。第2の制御記憶
部9のアドレス“1000”16〜“100F”16の領域に
は各アドレス毎に制御テーブル(16種類)が格納
される。 FIG. 2 shows an example of a memory map of the first control storage section 8 and the second control storage section 9 according to the present invention. As is clear from the figure, the first control storage unit 8 has an address “0000” 16 in hexadecimal notation.
~ “0FFF” 16 is assigned, and the address “1000” 16 is assigned to the second control storage unit 9 in hexadecimal notation.
“13FF” 16 is assigned. In the area of addresses "1000" 16 to "100F" 16 of the second control storage section 9, control tables (16 types) are stored for each address.
本実施例において、上記制御テーブルは、主メ
モリ1から取出されたユーザ命令が第2の制御記
憶部9に格納されているマイクロプログラムを指
定するもの(以下拡張ユーザ命令と称する)であ
る場合に意味を持つている。すなわち各制御テー
ブルは上記各拡張ユーザ命令に1対1で対応して
いる。そして各拡張ユーザ命令には命令コード
(OPコード)として“A0”16〜“AF”16が割当
てられており、これに対応して第2の制御部9の
アドレス“1000”16〜“100F”16の制御テーブル
が用意されている。 In this embodiment, the above control table is used when a user instruction retrieved from the main memory 1 specifies a microprogram stored in the second control storage section 9 (hereinafter referred to as an extended user instruction). It has meaning. That is, each control table has a one-to-one correspondence with each of the above extended user commands. Each extended user instruction is assigned an instruction code (OP code) from “A0” 16 to “AF” 16 , and correspondingly, addresses “1000” 16 to “100F” of the second control unit 9 are assigned. 16 control tables are provided.
制御テーブルは制御情報部と、タイプ指定部
と、エントリアドレス部とを有している。ここで
制御情報部は対応する命令が定義されているか否
かを示すとともに、命令が定義されている場合、
上記制御情報部はマイクロ命令の無条件分岐命令
を示す命令コードとなるように構成されている。
また、タイプ指定部は命令の型(命令タイプ)を
指定するもので、第3図に示される6種(RR
型、SF型、RX型、RI型、SS型、SP型)のユー
ザ命令の型が指定される。なお、図中、OPは命
令コード、R1は第1オペランド、R2は第2オ
ペランド、Nは補助データ、I2は第2オペラン
ドデータを示している。またL1は第1オペラン
ド長さ、L2は第2オペランド長さ、Lは補助デ
ータ、D1,D2はそれぞれ第1、第2オペラン
ドのアドレスを示す。これらは記号*で示される
ビツトが“0”または“1”によりベースレジス
タ修飾もしくはロケーシヨン相対のアドレス表現
となる。 The control table has a control information section, a type designation section, and an entry address section. Here, the control information section indicates whether or not the corresponding command is defined, and if the command is defined,
The control information section is configured to be an instruction code indicating an unconditional branch instruction of a microinstruction.
In addition, the type specification section specifies the type of instruction (instruction type), and there are six types (RR
The type of the user instruction (SF type, SF type, RX type, RI type, SS type, SP type) is specified. In the figure, OP indicates an instruction code, R1 indicates a first operand, R2 indicates a second operand, N indicates auxiliary data, and I2 indicates second operand data. Further, L1 indicates the length of the first operand, L2 indicates the length of the second operand, L indicates auxiliary data, and D1 and D2 indicate the addresses of the first and second operands, respectively. When the bit indicated by the symbol * is "0" or "1", these become base register modification or location relative address expression.
再び第2図を参照すると、エントリアドレス部
は命令実行部分のマイクロプログラムが格納され
ているアドレス領域の先頭アドレスを指定するも
のである。 Referring again to FIG. 2, the entry address section specifies the start address of the address area in which the microprogram of the instruction execution portion is stored.
また、第2の制御記憶部9のアドレス“1010”
16には、該第2の制御記憶部9から読出された実
行すべき拡張ユーザ命令に対応する制御テーブル
の内容が格納され、更にアドレス“1011”16〜
“13FF”16には各種マイクロプログラムが格納さ
れるようになつている。 Also, the address “1010” of the second control storage unit 9
16 stores the contents of the control table corresponding to the extended user command to be executed read from the second control storage section 9, and furthermore, addresses "1011" 16 to
“13FF” 16 is designed to store various microprograms.
一方、第1の制御記憶部8のアドレス
“00A0”16〜“00AF”16には、各アドレス毎に、
同じ第1の制御記憶部8内の特定のアドレス領域
に貯蔵されているマイクロプログラムに分岐する
ためのマイクロ命令が貯蔵されている。上記マイ
クロプログラムは、上記拡張ユーザ命令に応じて
起動されるもので、制御テーブルをチエツクする
ための特定のマイクロプログラム(以下制御情報
チエツクプログラムと称する)である。 On the other hand, addresses “00A0” 16 to “00AF” 16 of the first control storage unit 8 contain the following information for each address:
A microinstruction for branching to a microprogram stored in a specific address area within the same first control storage 8 is stored. The microprogram is activated in response to the extended user command, and is a specific microprogram for checking the control table (hereinafter referred to as control information check program).
次に第1図および第2図の構成の動作を第4図
のフローチヤートを参照して説明する。たとえば
今、第2の制御記憶部9内のマイクロプログラム
を指定する拡張ユーザ命令が、主メモリ1から読
出されたものとする。この拡張ユーザ命令は命令
レジスタ2に保持される。命令レジスタ2に保持
された拡張ユーザ命令の命令コード部のデータ
(“A0”16〜“AF”16のいずれか1つ)は、マイ
クロアドレスとしてゲート3、マルチプレクサ
5、およびドライバ6を順に介して第1の制御記
憶部8に与えられる。同じく上記命令コード部の
データは、ゲート3、マルチプレクサ5、マルチ
プレクサ15およびドライバ7を順に介して第2
の制御記憶部9に与えられる。 Next, the operation of the configuration shown in FIGS. 1 and 2 will be explained with reference to the flowchart shown in FIG. For example, assume that an extended user instruction specifying a microprogram in the second control storage section 9 has been read out from the main memory 1. This extended user instruction is held in the instruction register 2. The instruction code part data (any one of “A0” 16 to “AF” 16 ) of the extended user instruction held in the instruction register 2 is sent as a microaddress through the gate 3, multiplexer 5, and driver 6 in order. The signal is applied to the first control storage section 8. Similarly, the data in the instruction code section is passed through the gate 3, multiplexer 5, multiplexer 15, and driver 7 in order to the second
is given to the control storage section 9 of.
拡張ユーザ命令の命令コード部で示されるマイ
クロアドレス(アドレス“00A0”16〜“00AF”
16のいずれか1つ)は、第1の制御記憶部8のア
ドレス領域(アドレス“0000”16〜“0FFF”
16)に属している。すなわち上記マイクロアドレ
スによつて第1の制御記憶部8の対応するアドレ
ス位置のマイクロ命令が読出される。このマイク
ロ命令が制御情報チエツクプログラムへの分岐を
指定する命令であることは明らかである。このマ
イクロ命令はマイクロ命令レジスタ11に保持さ
れる。そしてマイクロ命令レジスタ11の分岐先
アドレスを指定するフイールドの内容は、マルチ
プレクサ13、アドレス制御部4、マルチプレク
サ5、およびドライバ6を通して第1の制御記憶
部8へ与えられる。この結果、第1の制御記憶部
8に貯蔵されている制御情報チエツクプログラム
により第2の制御記憶部9内の制御テーブルがチ
エツクされる。 Micro address (address “00A0” 16 to “00AF”) indicated in the instruction code part of the extended user instruction
16 ) is the address area of the first control storage unit 8 (address “0000” 16 to “0FFF”
16 ). That is, the microinstruction at the corresponding address position in the first control storage section 8 is read out by the microaddress. It is clear that this microinstruction is an instruction that specifies a branch to the control information check program. This microinstruction is held in the microinstruction register 11. The contents of the field specifying the branch destination address of the microinstruction register 11 are then applied to the first control storage section 8 through the multiplexer 13, the address control section 4, the multiplexer 5, and the driver 6. As a result, the control table in the second control storage section 9 is checked by the control information check program stored in the first control storage section 8.
すなわち、前記拡張ユーザ命令の命令コードに
対応した制御テーブルのアドレス(アドレス
“1000”16〜“100F”16のいずれか1つ)が、上
記制御情報チエツクプログラムに基づく演算制御
部(図示せず)の処理によつて、データバス18
およびゲート162を通してアドレスレジスタ1
4に保持される。このアドレスレジスタ14の保
持内容はマルチプレクサ15、ドライバ7を通し
て第2の制御記憶部9に与えられる。これにより
対応する制御テーブルの内容が読出され、その読
出し出力はゲート161、データバス18を通し
てデータレジスタ17に保持される。この時、ゲ
ート10は閉じられており、マイクロ命令レジス
タ11への出力は禁止されている。このように本
実施例では第2の制御記憶部9の内容がデータと
して用いられる場合、対応するアドレスはアドレ
スレジスタ14から与えられ、更に読出されたデ
ータがマイクロ命令レジスタ11へ出力されない
ように構成されている。これにより、第1の制御
記憶部8内の制御情報チエツクプログラムによる
第2の制御記憶部9内の制御テーブルのチエツク
が可能となつている。 That is, the address of the control table corresponding to the instruction code of the extended user instruction (any one of addresses "1000" 16 to "100F" 16 ) is determined by the arithmetic control unit (not shown) based on the control information check program. By processing the data bus 18
and address register 1 through gate 16 2
4. The contents held in the address register 14 are provided to the second control storage section 9 through the multiplexer 15 and the driver 7. As a result, the contents of the corresponding control table are read out, and the readout output is held in the data register 17 through the gate 16 1 and the data bus 18. At this time, the gate 10 is closed and output to the microinstruction register 11 is prohibited. In this way, in this embodiment, when the contents of the second control storage section 9 are used as data, the corresponding address is given from the address register 14, and the structure is such that the read data is not output to the microinstruction register 11. has been done. This allows the control table in the second control storage section 9 to be checked by the control information check program in the first control storage section 8.
データレジスタ17に保持された制御テーブル
の内容は、第4図に示されるフローチヤートに従
つてチエツクされる。すなわち、まず制御情報部
を調べることによつて、対応する拡張ユーザ命令
が定義されているか否かがチエツクされる(ステ
ツプS1)。そして定義されていない場合(本実
施例では制御情報部の各ビツトのうち1つでも論
理“1”でないものがある場合)、その命令はイ
リーガルとみなされ、プログラムチエツク割込み
の要因となる。このように本実施例によれば、定
義されていないユーザ命令を実行しようとした場
合、イリーガルとして処理できるので、命令の誤
動作を防止することが可能となる。 The contents of the control table held in the data register 17 are checked according to the flowchart shown in FIG. That is, first, by examining the control information field, it is checked whether a corresponding extended user command is defined (step S1). If it is not defined (in this embodiment, if at least one of the bits in the control information field is not logic "1"), the instruction is considered illegal and becomes a cause of a program check interrupt. As described above, according to this embodiment, if an attempt is made to execute an undefined user command, it can be treated as illegal, thereby making it possible to prevent malfunction of the command.
次に、制御情報部によつて命令が定義されてい
る場合(本実施例では制御情報部の各ビツトが総
て論理“1”の場合)、エントリアドレス部が調
べられる(ステツプS2)。そしてエントリアド
レス部に示されている所望のマイクロプログラム
の先頭アドレスが、第2の制御記憶部9のアドレ
ス領域にない場合、対応する命令はイリーガルと
みなされる。 Next, if an instruction is defined by the control information section (in this embodiment, all bits of the control information section are logical "1"), the entry address section is examined (step S2). If the start address of the desired microprogram indicated in the entry address section is not in the address area of the second control storage section 9, the corresponding instruction is deemed to be illegal.
一方、エントリアドレス部の内容が正しい場
合、タイプ指定部のチエツクが行なわれる(ステ
ツプS3)。そして第3図に示される6種の命令
タイプ以外のタイプが指定されていた場合、イリ
ーガルとなる。上述した制御テーブルのチエツク
(ステツプS1〜S3)が行なわれた後、オペラ
ンドフエツチが必要な命令の場合には、オペラン
ドフエツチが行なわれる。(ステツプS4)。一
方、対応する制御テーブルの内容は、第2の制御
記憶部9内のアドレス“1010”16にコピーされる
ようになつている。 On the other hand, if the contents of the entry address field are correct, the type designation field is checked (step S3). If a type other than the six instruction types shown in FIG. 3 is specified, the instruction becomes illegal. After the above-described control table check (steps S1 to S3) is performed, an operand fetch is performed if the instruction requires an operand fetch. (Step S4). On the other hand, the contents of the corresponding control table are copied to address "1010" 16 in the second control storage section 9.
すなわち、アドレスレジスタ14に特定のアド
レス(アドレス“1010”16)が保持されることに
よつて、データレジスタ17に保持されている制
御テーブルの内容は、データバス18、ゲート1
62を通して第2の制御記憶部9のアドレスレジ
スタ14で指定されたアドレス位置(アドレス
“1010”16)に書込まれる。 That is, by holding a specific address (address “1010” 16 ) in the address register 14, the contents of the control table held in the data register 17 are changed to the data bus 18, the gate 1
62 to the address location designated by the address register 14 of the second control storage section 9 (address "1010" 16 ).
制御テーブルのチエツク後(必要な場合は、オ
ペランドフエツチ後)、制御情報チエツクプログ
ラムはアドレス“1010”16に分岐するようになつ
ている。すなわち分岐アドレス“1010”16を指定
するマイクロ命令のアドレス部の内容は、マイク
ロ命令レジスタ11、マルチプレクサ13を通し
てアドレス制御部4に与えられる。アドレス制御
部4は、上記マイクロ命令のアドレス部の内容を
第1および第2の制御記憶部8,9へそれぞれ与
える。 After checking the control table (and after an operand fetch, if necessary), the control information check program branches to address "1010" 16 . That is, the contents of the address portion of the microinstruction specifying the branch address "1010" 16 are given to the address control unit 4 through the microinstruction register 11 and multiplexer 13. The address control section 4 supplies the contents of the address section of the microinstruction to the first and second control storage sections 8 and 9, respectively.
本実施例において、アドレス“1010”16は第2
の制御記憶部9のアドレス領域に属しており、し
たがつて制御は第2の制御記憶部9に移る。この
結果、第2の制御記憶部9内のアドレス“1010”
16の内容が読出される。一方、制御が第2の制御
記憶部9に移行している場合、ゲート10は開動
作を行なう。これにより、第2の制御記憶部9の
読出し出力すなわち前記制御テーブルの内容は、
ゲート10を通してマイクロ命令レジスタ11に
保持される。 In this example, address “1010” 16 is the second
Therefore, control is transferred to the second control storage section 9. As a result, the address “1010” in the second control storage unit 9
The contents of 16 are read. On the other hand, when control is transferred to the second control storage section 9, the gate 10 performs an opening operation. As a result, the readout output of the second control storage section 9, that is, the contents of the control table are as follows:
It is held in the microinstruction register 11 through the gate 10.
制御テーブルの一構成要素である制御情報部
は、マイクロ命令の命令コードをも兼ねており、
本実施例のように命令が定義されている場合、上
記制御情報部は無条件分岐命令を指定するように
なつている。この時、マイクロ命令レジスタ11
の所定フイールドの内容すなわち制御テーブルの
エントリアドレス部の内容は、前記拡張ユーザ命
令で間接的に指定されるマイクロプログラムへの
分岐先アドレスとして、マルチプレクサ13、ア
ドレス制御部4、マルチプレクサ5、マルチプレ
クサ15、およびドライバ7を通して第2の制御
記憶部9に与えられる。これにより、所定のマイ
クロプログラムへの分岐が行なわれ、該マイクロ
プログラムの処理実行がなされる。このように本
実施例によれば
(1) 第2の制御記憶部9内に制御テーブル(制御
情報部)を設けているので、これをチエツクす
ることにより、定義されていない命令を実行す
る場合にイリーガルとして処理でき、もつて命
令の誤動作を防ぐことができる。 The control information section, which is a component of the control table, also serves as the instruction code for microinstructions.
When an instruction is defined as in this embodiment, the control information section specifies an unconditional branch instruction. At this time, the microinstruction register 11
The contents of the predetermined fields, that is, the contents of the entry address section of the control table, are the multiplexer 13, address control unit 4, multiplexer 5, multiplexer 15, and is applied to the second control storage section 9 through the driver 7. As a result, a branch is made to a predetermined microprogram, and the processing of the microprogram is executed. As described above, according to this embodiment, (1) since a control table (control information section) is provided in the second control storage section 9, an undefined instruction can be executed by checking this table; It is possible to treat the command as illegal, thereby preventing malfunction of the command.
(2) 制御テーブル内に命令タイプを指定するタイ
プ指定部を設けているので、第2の制御記憶部
9を用いるユーザ命令(拡張ユーザ命令)に柔
軟性を持たせることができる。(2) Since the control table is provided with a type designation section for designating the command type, user commands (extended user commands) using the second control storage section 9 can be given flexibility.
(3) 命令が定義されている場合、制御情報部がマ
イクロ命令の無条件分岐命令を示す命令コード
となるように構成されているので、第1の制御
記憶部8に貯蔵されている制御情報チエツクプ
ログラムは、チエツクすべき制御テーブルを第
2の制御記憶部9の特定のアドレス(アドレス
“1010”16)に格納し、チエツク終了後にその特
定のアドレスに分岐するだけで、エントリアド
レス部で示されるアドレスに分岐できる。すな
わち共通の制御情報チエツクプログラムによつ
て個々のエントリアドレス(本実施例では16種
類)に分岐することができるので、各制御テー
ブルに対応させて専用の制御情報チエツクプロ
グラム(分岐するためのルーチン)を設ける必
要がなく便利であり、しかも第1の制御記憶部
8の領域を有効に利用することができる。(3) When an instruction is defined, the control information section is configured to be an instruction code indicating an unconditional branch instruction of the microinstruction, so the control information stored in the first control storage section 8 The check program simply stores the control table to be checked at a specific address (address "1010" 16 ) in the second control storage section 9, and branches to that specific address after completing the check. You can branch to the specified address. In other words, since it is possible to branch to individual entry addresses (16 types in this embodiment) using a common control information check program, a dedicated control information check program (routine for branching) is required for each control table. It is convenient because there is no need to provide a , and the area of the first control storage section 8 can be used effectively.
などの効果を奏することができる。Effects such as this can be achieved.
また本実施例では、第1および第2の制御記憶
部8,9に対し、それぞれ異なるアドレス領域を
割当てるとともに、該制御記憶部8,9を共通に
制御するアドレス制御部4を設けているので、前
述したように第1および第2の制御記憶部8,9
のいずれに対するアドレスかをマイクロプログラ
ムも意識する必要がない。このためたとえば第2
の制御記憶部9内のマイクロプログラムから第1
の制御記憶部8内のマイクロプログラムへ分岐
し、再び第2の制御記憶部9に分岐する場合など
であつても、第1および第2の制御記憶部8,9
の区別は不必要であり、アドレスの相異だけで扱
うことができる。すなわち、本実施例によれば第
2の制御記憶部9を第1の制御記憶部8の拡張部
分として、第1の制御記憶部8と同一レベルで扱
えるようにしたので、すでに第1の制御記憶部8
に貯蔵されているマイクロプログラム(サブルー
チンなど)を利用することができ便利であり、か
つ第2の制御記憶部9の領域を有効に利用するこ
とができる。 Further, in this embodiment, different address areas are assigned to the first and second control storage units 8 and 9, and an address control unit 4 is provided that commonly controls the control storage units 8 and 9. , as described above, the first and second control storage units 8, 9
There is no need for the microprogram to be aware of which address the address is for. For this reason, for example, the second
from the microprogram in the control storage section 9 of
Even when branching to the microprogram in the control storage unit 8 of the first control storage unit 8 and branching again to the second control storage unit 9, the first and second control storage units 8 and 9
There is no need to distinguish between the two, and it can be handled only by the difference in addresses. That is, according to this embodiment, the second control storage section 9 is treated as an extension of the first control storage section 8 and can be handled at the same level as the first control storage section 8, so that the first control storage section 9 is Storage section 8
It is convenient to be able to use microprograms (subroutines, etc.) stored in the microprogram, and the area of the second control storage section 9 can be used effectively.
なお、本発明のデータ処理装置は、計算機は勿
論、マイクロプログラム制御の電子機器で、その
制御記憶部が固定記憶装置と書換え可能な記憶装
置とを備えているものに対して適用できる。 The data processing device of the present invention can be applied not only to computers but also to microprogram-controlled electronic equipment whose control storage unit includes a fixed storage device and a rewritable storage device.
以上詳述したように本発明によれば、固定記憶
装置でなる第1の制御記憶部と、書換え可能な記
憶装置でなる第2の制御記憶部とを同一レベルで
取扱うことができ、第2の制御記憶部に格納され
ているマイクロプログラムによつても第1の制御
記憶部の内容を使用することができる便利なデー
タ処理装置を提供できる。 As detailed above, according to the present invention, it is possible to handle the first control storage section made of a fixed storage device and the second control storage section made of a rewritable storage device at the same level, and the second control storage section made of a rewritable storage device can be handled at the same level. A convenient data processing device can be provided in which the contents of the first control storage section can also be used by a microprogram stored in the control storage section of the first control storage section.
図面は本発明の一実施例を示すもので、第1図
はデータ処理装置の要部構成図、第2図は本発明
に係る制御記憶部のメモリマツプ、第3図は本発
明に係るユーザ命令の型を示す図、第4図は動作
を説明するためのフローチヤートである。
1……主メモリ、3,10,161,162…
…ゲート、4……アドレス制御部、5,13,1
5……マルチプレクサ、8……第1の制御記憶
部、9……第2の制御記憶部、11……マイクロ
命令レジスタ、14……アドレスレジスタ、17
……データレジスタ。
The drawings show one embodiment of the present invention; FIG. 1 is a block diagram of main parts of a data processing device, FIG. 2 is a memory map of a control storage unit according to the present invention, and FIG. 3 is a diagram showing user commands according to the present invention. FIG. 4 is a flowchart for explaining the operation. 1... Main memory, 3, 10, 16 1 , 16 2 ...
...Gate, 4...Address control section, 5, 13, 1
5... Multiplexer, 8... First control storage section, 9... Second control storage section, 11... Microinstruction register, 14... Address register, 17
...Data register.
Claims (1)
および制御情報チエツクプログラムが貯蔵されて
いる第1の制御記憶部と、この第1の制御記憶部
とは異なるアドレス領域を有する書換え可能な記
憶装置でなり各種マイクロプログラムおよびユー
ザ命令が定義されているか否かを示す制御情報と
マイクロプログラムの先頭アドレスを示すエント
リアドレスとを含む制御テーブルが格納される第
2の制御記憶部と、これら第1および第2の制御
記憶部に対するアドレス制御を共通に行なうアド
レス制御部と、上記第1および第2の制御記憶部
の読出し出力が保持されるマイクロ命令レジスタ
と、上記アドレス制御部とは別に上記第2の制御
記憶部のアドレスを指定するアドレスレジスタ
と、このアドレスレジスタによつて指定された上
記第2の制御記憶部の上記制御テーブルから読出
された上記制御情報およびエントリアドレスが保
持されるデータレジスタとを具備し、ユーザ命令
が上記第2の制御記憶部に格納されているマイク
ロプログラムを指定する場合に、該ユーザ命令に
従つて上記第1の制御記憶部から読出した上記制
御情報チエツクプログラムによつて上記データレ
ジスタに読出された上記制御テーブルの内容を判
断し、正常である場合に該制御テーブルに示され
ている上記エントリアドレスに分岐せしめ、正常
でない場合にイリーガル扱いとすることを特徴と
するデータ処理装置。 2 上記制御テーブルの上記制御情報部が、マイ
クロ命令の無条件分岐命令を示す命令コードであ
ることを示す特許請求の範囲第1項記載のデータ
処理装置。 3 上記制御情報チエツクプログラムが、上記制
御テーブルが正常であると判断された場合に、該
制御テーブルの内容を上記第2の制御記憶部の特
定のアドレスに書込むマイクロ命令を含んでいる
ことを特徴とする特許請求の範囲第2項記載のデ
ータ処理装置。 4 上記制御テーブルが、対応するユーザ命令の
命令型を指定するタイプ指定部を含んでいること
を特徴とする特許請求の範囲第3項記載のデータ
処理装置。[Scope of Claims] 1. A first control storage section which is a fixed storage device and stores various microprograms and control information check programs, and a rewritable control storage section which has an address area different from that of the first control storage section. a second control storage section which is a storage device and stores a control table including control information indicating whether various microprograms and user instructions are defined and an entry address indicating the start address of the microprogram; an address control section that commonly performs address control for the first and second control storage sections; a microinstruction register that holds the readout outputs of the first and second control storage sections; An address register that specifies the address of the second control storage unit, and data that holds the control information and entry address read from the control table of the second control storage unit specified by the address register. register, and when a user instruction specifies a microprogram stored in the second control storage section, the control information check program is read from the first control storage section in accordance with the user instruction. The content of the control table read into the data register is judged by the control table, and if the content is normal, the content is branched to the entry address indicated in the control table, and if it is not normal, it is treated as illegal. data processing equipment. 2. The data processing device according to claim 1, wherein the control information section of the control table is an instruction code indicating an unconditional branch instruction of a microinstruction. 3. The control information check program includes a microinstruction that writes the contents of the control table to a specific address in the second control storage section when the control table is determined to be normal. A data processing device according to claim 2, characterized in that: 4. The data processing apparatus according to claim 3, wherein the control table includes a type designation section that designates the instruction type of the corresponding user command.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP286580A JPS56101250A (en) | 1980-01-14 | 1980-01-14 | Data processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP286580A JPS56101250A (en) | 1980-01-14 | 1980-01-14 | Data processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS56101250A JPS56101250A (en) | 1981-08-13 |
| JPS6129022B2 true JPS6129022B2 (en) | 1986-07-03 |
Family
ID=11541251
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP286580A Granted JPS56101250A (en) | 1980-01-14 | 1980-01-14 | Data processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS56101250A (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4878174A (en) * | 1987-11-03 | 1989-10-31 | Lsi Logic Corporation | Flexible ASIC microcomputer permitting the modular modification of dedicated functions and macroinstructions |
| US5925125A (en) * | 1993-06-24 | 1999-07-20 | International Business Machines Corporation | Apparatus and method for pre-verifying a computer instruction set to prevent the initiation of the execution of undefined instructions |
-
1980
- 1980-01-14 JP JP286580A patent/JPS56101250A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS56101250A (en) | 1981-08-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5327531A (en) | Data processing system including corrupt flash ROM recovery | |
| KR900003591B1 (en) | Data processing device | |
| US3958221A (en) | Method and apparatus for locating effective operand of an instruction | |
| JPS6125169B2 (en) | ||
| JPS645330B2 (en) | ||
| JP2583525B2 (en) | Data processing device | |
| US4259718A (en) | Processor for a data processing system | |
| KR100223844B1 (en) | Optional automatic setting circuit | |
| JPS6129022B2 (en) | ||
| JP3716604B2 (en) | Information processing device | |
| US4511983A (en) | Apparatus for controlling microinstructions stored in a data processing unit memory | |
| JPS6232508B2 (en) | ||
| JP2619425B2 (en) | Sequence controller | |
| JP2731618B2 (en) | emulator | |
| JPH01232452A (en) | One-chip processor | |
| JPH04338825A (en) | Arithmetic processor | |
| US6289439B1 (en) | Method, device and microprocessor for performing an XOR clear without executing an XOR instruction | |
| JPS60193046A (en) | Instruction exception detection method | |
| JPH0259829A (en) | Microcomputer | |
| JP3097602B2 (en) | Data processing device | |
| JPS6024654A (en) | Program debugging device | |
| JPS595931B2 (en) | Address stop method for arithmetic processing system | |
| JPS6035693B2 (en) | Microprogram control method | |
| JPH07191879A (en) | Microprocessor having debugging instruction execution function and debugging method | |
| JPH0239812B2 (en) |