JPS63245522A - Microprocessor - Google Patents

Microprocessor

Info

Publication number
JPS63245522A
JPS63245522A JP62079152A JP7915287A JPS63245522A JP S63245522 A JPS63245522 A JP S63245522A JP 62079152 A JP62079152 A JP 62079152A JP 7915287 A JP7915287 A JP 7915287A JP S63245522 A JPS63245522 A JP S63245522A
Authority
JP
Japan
Prior art keywords
instruction
register
logic
instruction code
decoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP62079152A
Other languages
Japanese (ja)
Inventor
Akio Miyoshi
三好 昭夫
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP62079152A priority Critical patent/JPS63245522A/en
Priority to KR1019880003524A priority patent/KR920001142B1/en
Publication of JPS63245522A publication Critical patent/JPS63245522A/en
Priority to US07/552,841 priority patent/US5233695A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/223Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To reduce the size of a used microprogram by operating a logic switching means in accordance with the output of an instruction code decoder to select a register of a data or instruction queue. CONSTITUTION:A signal S from an instruction code decoder 10 is set to '0' if the register name of a register as the object is held in an instruction register 1, and the signal S is set to '1' if the register as the object is an instruction queue register 8 in which following instruction codes are held. When the signal S is '0', a register select code decoder 6 selects data registers 7a-7d by the logic switching means consisting of AND circuits 11 and 12 and an indication is given; and when the signal S is '1', the instruction queue register 8 is selected and an indication is given. Consequently, it is unnecessary to give the indication concerning the register as the object on the microprogram.

Description

【発明の詳細な説明】 〔発明の目的〕 (産業上の利用分野) 本発明はマイクロプロセッサ、特にマイクロプログラム
を用いて動作するマイクロプロセッサに関する。
DETAILED DESCRIPTION OF THE INVENTION [Object of the Invention] (Field of Industrial Application) The present invention relates to a microprocessor, and particularly to a microprocessor that operates using a microprogram.

(従来の技術) マイクロプログラムを用いて動作するマイクロプロセッ
サにおいて、レジスタに対して種々の指示(例えば転送
指示)を行う場合、指示対象となるレジスタを特定する
ためのデータがどこに保持されているかを、マイクロプ
ログラムで指定する必要がある。例えば、8ビツトのマ
イクロプロセッサでは、1単位長の命令コードは8ビツ
トであるため、この1単位長の8ビツトで転送命令のす
べてを表現できる場合は、1単位長の命令コードで1転
送命令を表現できる。特定のデータレジスタからアキュ
ムレータへの転送を行う場合などがこの例である。これ
に対して、1単位長の命令コードで表現しきれない場合
は、複数の単位長の命令コードを用いて1転送命令を表
現しなければならない。プログラム中の定数をアキュム
レータに転送するような場合などがこの例である。前者
の例の場合は、命令レジスタ内に対象となるレジスタ名
が保持されているが、後者の例の場合は、対象となるレ
ジスタは後続する命令コードを保持している命令キュー
レジスタとなる。したがって、従来のマイクロプロセッ
サでは、マイクロプログラムの中でこれらの指定を行っ
ていた。
(Prior Art) In a microprocessor that operates using a microprogram, when various instructions (for example, transfer instructions) are given to registers, it is necessary to determine where the data for specifying the register to be instructed is held. , must be specified in the microprogram. For example, in an 8-bit microprocessor, one unit length instruction code is 8 bits, so if all transfer instructions can be expressed with one unit length of 8 bits, one transfer instruction can be expressed with one unit length instruction code. can be expressed. An example of this would be a transfer from a specific data register to an accumulator. On the other hand, if the instruction code cannot be expressed using one unit length instruction code, one transfer instruction must be expressed using a plurality of unit length instruction codes. An example of this is when a constant in a program is transferred to an accumulator. In the former example, the target register name is held in the instruction register, but in the latter example, the target register is an instruction queue register that holds the subsequent instruction code. Therefore, in conventional microprocessors, these specifications are made in the microprogram.

(発明が解決しようとする問題点) 対象となるレジスタを特定する命令は、上述の例のよう
な転送命令だけに限らず、加算命令、減算命令など多数
存在する。したがって、従来これらすべての命令につい
てマイクロプログラム上で対象となるレジスタに関する
指示を行っていたため、マイクロプログラムのサイズが
大きくなるという問題を生じていた。
(Problems to be Solved by the Invention) Instructions for specifying a target register are not limited to transfer instructions as in the above example, but there are many addition instructions, subtraction instructions, and so on. Therefore, in the past, instructions regarding the target registers were given on the microprogram for all these instructions, which resulted in the problem of an increase in the size of the microprogram.

そこで本発明は、用いるマイクロプログラムのサイズを
できるだけ削減することができるマイクロプロセッサを
提供することを目的とする。
Therefore, an object of the present invention is to provide a microprocessor that can reduce the size of the microprogram used as much as possible.

〔発明の構成〕[Structure of the invention]

(問題点を解決するための手段) 本発明は、1単位長の命令コードを保持する命令レジス
タと、この命令レジスタ内の命令コードをデコードする
命令コードデコーダと、この命令コードデコーダによっ
てデコードされた命令を実行する命令処理部と、命令コ
ードに応じたマイクロコードを発生するためのマイクロ
プログラムを記憶しているマイクロプログラム用ROM
Iと、このマイクロプログラム用ROM部で発生したマ
イクロコードをデコードするマイクロコードデコーダと
、このマイクロコードデコーダからレジスタに対する指
示が与えられたときに、命令レジスタ内に命令コードの
一部として保持されているレジスタ名に基づいてデータ
レジスタを選択して指示を与えるレジスタ選択コードデ
コーダと、を備えるマイクロプロセッサにおいて、 命令レジスタ内に命令コードの一部として保持されてい
るレジスタ名に相当するレジスタに対しての指示をデコ
ードしたときに第1の論理を、命令レジスタ内に保持さ
れている命令コードに後続する命令コードのデータに対
しての指示をデコードしたときに第2の論理を、それぞ
れ出力する機能を前記命令コードデコーダにもたせ、命
令コードデコーダが第1の論理を出力しているときには
レジスタ選択コードデコーダにデータレジスタに対する
指示を与え、命令コードデコーダが第2の論理を出力し
ているときには後続する命令コードを保持している命令
キューレジスタに指示を与える論理切替手段を更に設け
たものである。
(Means for Solving the Problems) The present invention provides an instruction register that holds an instruction code of one unit length, an instruction code decoder that decodes the instruction code in this instruction register, and an instruction code decoded by the instruction code decoder. A microprogram ROM that stores an instruction processing unit that executes instructions and a microprogram that generates microcode according to the instruction code.
I, a microcode decoder that decodes the microcode generated in this microprogram ROM section, and a microcode decoder that decodes the microcode generated in the microprogram ROM section; a register selection code decoder that selects a data register and gives an instruction based on the register name stored in the instruction register; A function that outputs the first logic when the instruction is decoded, and the second logic when the instruction for the data of the instruction code that follows the instruction code held in the instruction register is decoded. is applied to the instruction code decoder, and when the instruction code decoder is outputting the first logic, an instruction for the data register is given to the register selection code decoder, and when the instruction code decoder is outputting the second logic, the instruction for the data register is given. The system further includes logic switching means for giving an instruction to an instruction queue register holding an instruction code.

(作 用) 本発明に係るマイクロプロセッサによれば、対象となる
レジスタ名が命令レジスタ内に保持されているときには
命令コードデコーダから第1の論理が出力され、対象と
なるレジスタが後続する命令コードを保持している命令
キューレジスタであるときには命令コードデコーダから
第2の論理が出力される。そして、論理切替手段の機能
によって、第1の論理が出力されているときにはレジス
タ選択コードデコーダがデータレジスタを選択して指示
を与え、第2の論理が出力されているときには命令キュ
ーレジスタを選択して指示を与えることが可能になる。
(Function) According to the microprocessor according to the present invention, when the target register name is held in the instruction register, the first logic is output from the instruction code decoder, and the target register is stored in the subsequent instruction code. When the instruction queue register holds , the second logic is output from the instruction code decoder. Then, by the function of the logic switching means, when the first logic is output, the register selection code decoder selects the data register and gives an instruction, and when the second logic is output, the register selection code decoder selects the instruction queue register. This makes it possible to give instructions.

したがって、対象となるレジスタに関する指示をマイク
ロプログラム上で行う必要がなくなり、用いるマイクロ
プログラムのサイズを削減することができるようになる
Therefore, it is no longer necessary to give instructions regarding the target register on the microprogram, and the size of the microprogram used can be reduced.

(実施例) 以下、本発明を図示する実施例に基づいて説明する。本
発明に係るマイクロプロセッサの特徴をより明確にする
ために、はじめに従来の一般的なマイクロプロセッサの
構成と動作を簡単に説明することにする。第2図は従来
のマイクロプロセッサの構成の一例を示すブロック図で
ある。この図には、1単位長の命令コード1を保持する
命令レジスタ1と、この命令レジスタ1内の命令コード
をデコードする命令コードデコーダ2と、この命令コー
ドデコーダ2によってデコードされた命令を実行する命
令処理部3と、命令コード■に応じたマイクロコードM
を発生するためのマイクロプログラムを記憶しているマ
イクロプログラム用ROM部4と、このマイクロプログ
ラム用ROM部4で発生したマイクロコードMをデコー
ドするマイクロコードデコーダ5と、このマイクロコー
ドデコーダ5からレジスタに対する指示が与えられたと
きに、命令レジスタ1内に命令コードIの一部として保
持されているレジスタ名I2に基づいてデータレジスタ
を選択して指示を与えるレジスタ選択コードデコーダ6
と、このレジスタ選択コードデコーダ6からの指示を受
けるデータレジスタ7 (A〜Dレジスタ、Aレジスタ
はアキュムレータ)と、後続する命令コードを保持する
命令キューレジスタ8と、各レジスタにデータを出入れ
するためのデータバス9と、が示されている。
(Example) The present invention will be described below based on an illustrative example. In order to make the features of the microprocessor according to the present invention more clear, the configuration and operation of a conventional general microprocessor will first be briefly explained. FIG. 2 is a block diagram showing an example of the configuration of a conventional microprocessor. This figure shows an instruction register 1 that holds an instruction code 1 of one unit length, an instruction code decoder 2 that decodes the instruction code in this instruction register 1, and an instruction that executes the instruction decoded by this instruction code decoder 2. Instruction processing unit 3 and microcode M according to instruction code ■
A microprogram ROM unit 4 that stores a microprogram to generate the microprogram, a microcode decoder 5 that decodes the microcode M generated in the microprogram ROM unit 4, and a microcode decoder 5 that decodes the microcode M generated in the microprogram ROM unit 4; When an instruction is given, a register selection code decoder 6 selects a data register based on the register name I2 held as part of the instruction code I in the instruction register 1 and gives an instruction.
, a data register 7 (registers A to D, A register is an accumulator) that receives instructions from this register selection code decoder 6, an instruction queue register 8 that holds the subsequent instruction code, and data is input and output from each register. A data bus 9 is shown.

いま、第3図(a)に示すような1バイト(1単位長)
からなる転送命令コードと、同図(b)に示すような2
バイトからなる転送命令コードと、について、それぞれ
の命令実行が第2図のマイクロプロセッサによってどの
ようになされるか説明する。第3図(a)は、MOVB
−A  すなわち、Bレジスタ7bのデータをAレジス
タ7a(アキュムレータ)に転送する命令コードを示し
、5ビツトのオペレーションコードと3ビツトのレジス
タ名から構成されている。このオペレーションコードは
、特定のデータレジスタ7からアキュムレータにデータ
転送する命令を示し、レジスタ名としてはこの例の場合
Bレジスタの名前が示されてイル。一方、第3図(b)
ハ、MOV69→Aすなわち、定数69をAレジスタ7
aに転送する命令コードを示す。この場合、定数69を
表わすのに1バイトを使っているため、全部で2バイト
の命令コードとなっている。
Now, 1 byte (1 unit length) as shown in Figure 3(a)
A transfer instruction code consisting of
A description will be given of how each instruction is executed by the microprocessor shown in FIG. 2 with respect to a transfer instruction code consisting of bytes. Figure 3(a) shows the MOVB
-A In other words, it indicates an instruction code for transferring data in the B register 7b to the A register 7a (accumulator), and is composed of a 5-bit operation code and a 3-bit register name. This operation code indicates an instruction to transfer data from a specific data register 7 to an accumulator, and the register name in this example is the name of the B register. On the other hand, Fig. 3(b)
C. MOV69 → A, that is, constant 69 is set to A register 7.
The instruction code to be transferred to a is shown. In this case, since 1 byte is used to represent the constant 69, the instruction code is 2 bytes in total.

マイクロプログラム用ROM部4には、この各命令コー
ドに対応したマイクロプログラムが記憶されている。し
たがって、たとえば命令コード1としてMOVB−A 
 なるコードが与えられたときには、第4図(a)に示
すようなマイクロコードMがマイクロコードデコーダ5
に与えられ、MOV  69→A なるコードが与えら
れたときには、第4図(b)に示すようなマイクロコー
ドMがマイクロコードデコーダ5に与えられる。このマ
イクロコードMはそれぞれ複数フィールドのデータから
なり、第1フイールド目は転送元に関するデータからな
り、第2フイールド目は転送先に関するデータからなる
。転送先はいずれもAレジスタを示している。転送元を
示す信号2発生コードおよび信号9発生コードは、それ
ぞれマイクロコードデコーダ5に信号Pおよび信号Qを
発生させるデータであり、信号Pは転送元がデータレジ
スタ7a〜7dのうちのいずれかであることを示し、信
号Qは転送元が命令キューレジスタ8であることを示す
The microprogram ROM section 4 stores microprograms corresponding to each instruction code. Therefore, for example, as instruction code 1, MOVB-A
When the code M shown in FIG. 4(a) is given, the microcode decoder 5
When a code MOV 69→A is given, a microcode M as shown in FIG. 4(b) is given to the microcode decoder 5. Each of the microcodes M is made up of data in a plurality of fields, the first field being data related to the transfer source, and the second field being data related to the transfer destination. The transfer destinations all indicate the A register. The signal 2 generation code and the signal 9 generation code indicating the transfer source are data that cause the microcode decoder 5 to generate the signal P and signal Q, respectively, and the signal P indicates that the transfer source is one of the data registers 7a to 7d. The signal Q indicates that the transfer source is the instruction queue register 8.

命令レジスターに与えられた命令コードlは命令コード
デコーダ2でデコードされ、マイクロコードデコーダか
らの信号も加わって命令処理部3でこの命令の実行が行
われる。命令コードIのうちのレジスタ8夏2はレジス
タ選択コードデコーダ6に与えられる。したがって、第
3図(a)に示すような MOVB−A  なる命令コ
ードIが与えられた場合、レジスタ選択コードデコーダ
6には、レジスタBを示す3ビツトのデータが与えられ
ることになる。このとき、マイクロコードデコーダ5に
は第4図(a)に示すようなマイクロコードMが与えら
れているので、マイクロコードデコーダ5からは信号P
のみが発生する。レジスタ選択コードデコーダ6はこの
信号Pを受けて、いずれかのデータレジスタ7を選択指
定する。この例の場合、レジスタ名■2がレジスタBを
示しているため、データレジスタ7bが選択指定され、
この指定を受けてデータレジスタ7bは保持しているデ
ータをデータバス9へ出力する。また、マイクロコード
Mの2バイト目には転送先がAレジスタであることが示
されているので、レジスタ選択コードデコーダ6からの
選択指示を受けたAレジスタがデータバス9上のデータ
を取込む。以上のようにして、 MOV  B→A が
実行される。
The instruction code l applied to the instruction register is decoded by the instruction code decoder 2, and the instruction is executed by the instruction processing section 3 with the addition of a signal from the microcode decoder. Register 8 summer 2 of instruction code I is given to register selection code decoder 6. Therefore, when an instruction code I such as MOVB-A as shown in FIG. 3(a) is given, the register selection code decoder 6 is given 3-bit data indicating register B. At this time, since the microcode decoder 5 is given the microcode M as shown in FIG. 4(a), the microcode decoder 5 outputs the signal P.
only occurs. Register selection code decoder 6 receives this signal P and selects and designates one of the data registers 7. In this example, the register name ■2 indicates register B, so data register 7b is selected and specified.
In response to this designation, data register 7b outputs the held data to data bus 9. Furthermore, since the second byte of the microcode M indicates that the transfer destination is the A register, the A register receives the selection instruction from the register selection code decoder 6 and takes in the data on the data bus 9. . As described above, MOV B→A is executed.

一方、第3図(b)に示すようななる命令コードIが与
えられた場合、1バイト目のオペレーションコードはす
べて命令コードデコーダ2に与えられてデコードされる
。このとき、マイクロコードデコーダ5には第4図(b
)に示すようなマイクロコードMが与えられているので
、マイクロコードデコーダ5からは信号Qのみが発生す
る。したがって、レジスタ選択コードデコーダ6は転送
元としてのデータレジスタ7の選択指定は行わない。
On the other hand, when an instruction code I as shown in FIG. 3(b) is given, the operation code of the first byte is all given to the instruction code decoder 2 and decoded. At this time, the microcode decoder 5 is
), the microcode decoder 5 generates only the signal Q. Therefore, register selection code decoder 6 does not select and designate data register 7 as a transfer source.

信号Qは命令キューレジスタ8に対する指定を行うので
、命令キューレジスタ8に保持されている次の命令コー
ドの1バイト、すなわち、第3図(b)の2バイト目の
定数69がデータバス9に出力され、Aレジスタに取込
まれる。以上のようにして、 MOV  69→A が
実行される。
Since the signal Q specifies the instruction queue register 8, one byte of the next instruction code held in the instruction queue register 8, that is, the constant 69 of the second byte in FIG. 3(b), is transferred to the data bus 9. It is output and taken into the A register. As described above, MOV 69→A is executed.

以上、従来のマイクロプロセッサの構成および動作につ
いて説明したが、第4図に示すように、種々の命令コー
ドについてそれぞれ別個のマイクロコードを用意しなけ
ればならないので、マイクロプログラムのサイズが大き
くなるという問題点があることは、既に述べたとおりで
ある。そこで本発明は次にような構成によって、この問
題点を解決したのである。
The configuration and operation of a conventional microprocessor has been explained above, but as shown in Figure 4, separate microcodes must be prepared for various instruction codes, so there is a problem that the size of the microprogram becomes large. As already mentioned, there are some points. Therefore, the present invention has solved this problem with the following configuration.

第1図は本発明の一実施例に係るマイクロプロセッサの
構成を示すブロック図である。ここで第2図に示す従来
装置と同一の構成要素については同一符号を付し、説明
を省略することにする。この装置の特徴的な点は、命令
コードデコーダ10が信号Sを出力し、この信号Sが2
つのAND回路11.12に与えられる点である。この
2つのANDIffi路11.12は論理切替手段を構
成し、信号Rまたは信号Tのうちのどちらか一方のみを
出力する。
FIG. 1 is a block diagram showing the configuration of a microprocessor according to an embodiment of the present invention. Here, the same components as those of the conventional device shown in FIG. 2 are designated by the same reference numerals, and the explanation thereof will be omitted. A characteristic feature of this device is that the instruction code decoder 10 outputs a signal S, and this signal S
This is the point given to two AND circuits 11 and 12. These two ANDiffi paths 11, 12 constitute a logic switching means and output only either the signal R or the signal T.

命令コードデコーダ10は、命令レジスタ1内に保持さ
れているレジスタ名に相当するレジスタに対しての指示
をデコードしたとき、すなわち、第3図(a)に示すよ
うな命令コードをデコードしたときに論理“0”を出力
し、命令レジスタ1内に保持されている命令コードに後
続する命令コードのデータに対しての指示をデコードし
たとき、すなわち、第3図(b)に示すような命令コー
ドをデコードしたときに論理″1″を出力する。AND
回路11の信号S側の人力論理は反転されているため、
マイクロコードデコーダ5から信号Pが出力されている
場合に、信号Sが論理“01であるときは信号Rが出力
され、信号Sが論理“1”であるときは信号Tが出力さ
れることになる。
When the instruction code decoder 10 decodes an instruction to a register corresponding to the register name held in the instruction register 1, that is, when it decodes an instruction code as shown in FIG. 3(a), When a logic "0" is output and an instruction for the data of the instruction code following the instruction code held in the instruction register 1 is decoded, the instruction code as shown in FIG. 3(b) is output. When decoded, outputs logic "1". AND
Since the human logic on the signal S side of circuit 11 is inverted,
When the signal P is output from the microcode decoder 5, when the signal S is logic "01", the signal R is output, and when the signal S is logic "1", the signal T is output. Become.

さて、いま第3図(a)に示すように、 MOVB−A
  なる命令コード■が入力された場合の動作を考える
と、オペレーションコード11は命令コードデコーダ1
0に、レジスタ名I2はレジスタ選択コードデコーダ6
に、それぞれ与えられることになる。ここで、命令コー
ドデコーダ10は信号Sとして論理“0”を出力するの
で、もし信号Pが出力されていれば、レジスタ選択コー
ドデコーダ6には信号Rが与えられ、レジスタI2がB
レジスタを示しているため、レジスタ選択コードデコー
ダ6はBレジスタを選択指定し、Bレジスタの内容がデ
ータバス9に出力されてこれがAレジスタへと転送され
ることになる。
Now, as shown in Figure 3(a), MOVB-A
Considering the operation when the instruction code ■ is input, operation code 11 is input to instruction code decoder 1.
0, register name I2 is register selection code decoder 6
will be given to each. Here, since the instruction code decoder 10 outputs logic "0" as the signal S, if the signal P is output, the signal R is given to the register selection code decoder 6, and the register I2 is set to B.
Since this indicates a register, the register selection code decoder 6 selects and specifies the B register, and the contents of the B register are output to the data bus 9 and transferred to the A register.

一方、第3図(b)に示すように、MOV  69→A
 なる命令コード1が人力された場合の動作を考えると
、1バイト目のオペレーションコードはすべて命令コー
ドデコーダ10に与えられる。
On the other hand, as shown in FIG. 3(b), MOV 69→A
Considering the operation when instruction code 1 is input manually, all the operation codes of the first byte are given to the instruction code decoder 10.

ここで、命令コードデコーダ10は信号Sとして論理“
1”を出力するので、もし信号Pが出力されていれば、
レジスタ選択コードデコーダ6には信号Rは与えられず
に、命令キューレジスタ8に信号Tが与えられることに
なる。したがって、命令キューレジスタ8の内容、すな
わち、第3図(b)に示す2バイト目の定数データがデ
ータバス9に出力されてこれがAレジスタへと転送され
ることになる。
Here, the instruction code decoder 10 outputs a logic signal "S" as a signal S.
1”, so if signal P is output,
Signal R is not applied to register selection code decoder 6, but signal T is applied to instruction queue register 8. Therefore, the contents of the instruction queue register 8, that is, the constant data of the second byte shown in FIG. 3(b), are output to the data bus 9 and transferred to the A register.

ここで、信号Pについて考えると、上述のどちらの転送
命令の場合にも信号Pは出力されていればよいことにな
る。すなわち、上述の2つの転送命令に関しては、信号
Pを変える必要はないのである。これは、第5図に示す
ように、 MOVA−4B  なる転送命令も MOV
69→A  なる転送命令も、どちらも転送元に関して
は信号Pを発生するマイクロコードMを用いることを示
している。従来装置では、第4図のようにそれぞれ別々
のマイクロコードMを発生させる必要があったが、本装
置ではこのような必要がないのである。
Now, considering the signal P, it is sufficient that the signal P is output in the case of either of the above-mentioned transfer commands. In other words, there is no need to change the signal P for the two transfer commands mentioned above. As shown in Figure 5, this also applies to the transfer command MOVA-4B.
Both transfer commands 69→A indicate that microcode M that generates signal P is used for the transfer source. In the conventional device, it was necessary to generate separate microcodes M as shown in FIG. 4, but in the present device, there is no such need.

以上、2つの転送命令を例にとって、本発明に係るマイ
クロプロセッサの動作を説明したが、本発明は転送命令
だけでなく、加算、減算など種々の命令について有効で
ある。このため、マイクロプログラム用ROM4内のマ
イクロプログラムのサイズをかなり削減することが可能
になる。
The operation of the microprocessor according to the present invention has been described above using two transfer instructions as examples, but the present invention is effective not only for transfer instructions but also for various instructions such as addition and subtraction. Therefore, it becomes possible to considerably reduce the size of the microprogram in the microprogram ROM 4.

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

以上のとおり本発明に係るマイクロプロセッサによれば
、対象となるレジスタ名が命令レジスタ内に保持されて
いるときには命令コードデコーダから第1の論理が出力
され、対象となるレジスタが後続する命令コードを保持
している命令キューレジスフであるときには命令コード
デコーダから第2の論理が出力され、そして、論理切替
手段の機能によって、第1の論理が出力されているとき
にはレジスタ選択コードデコーダがデータレジスタを選
択して指示を与え、第2の論理が出力されているときに
は命令キューレジスタを選択して指示を与えることが可
能になるため、対象となるレジスタに関する指示をマイ
クロプログラム上で行う必要がなくなり、用いるマイク
ロプログラムのサイズを削減することができるようにな
る。
As described above, according to the microprocessor according to the present invention, when the target register name is held in the instruction register, the first logic is output from the instruction code decoder, and the target register reads the subsequent instruction code. When the instruction queue register is being held, the second logic is output from the instruction code decoder, and by the function of the logic switching means, when the first logic is output, the register selection code decoder selects the data register. This makes it possible to select the instruction queue register and give instructions when the second logic is being output, so there is no need to give instructions regarding the target register on the microprogram. It becomes possible to reduce the size of the program.

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

第1図は本発明の一実施例に係るマイクロプロセッサの
構成を示すブロック図、第2図は従来のマイクロプロセ
ッサの構成を示すブロック図、第3図は一般的な命令コ
ードの例を示す図、第4図は従来装置におけるマイクロ
コードの一例を示す図、第5図は本発明に係る装置にお
けるマイクロコードの一例を示す図である。 1・・・命令レジスタ、2・・・命令コードデコーダ、
3・・・命令処理部、4・・・マイクロプログラム用R
OM部、5・・・マイクロコードデコーダ、6・・・レ
ジスタ選択コードデコーダ、7a〜7d・・・データレ
ジスタ、8・・・命令キューレジスタ、9・・・データ
ノ(ス、10・・・命令コードデコーダ、11・・・A
ND回路、12・・・AND回路、I・・・命令コード
、I1・・・オペレーションコード、I2・・・レジス
タ名、M・・・マイクロコード、P、R,S、T・・・
論理信号。 出願人代理人  佐  藤  −推 薦1図 第2図
FIG. 1 is a block diagram showing the configuration of a microprocessor according to an embodiment of the present invention, FIG. 2 is a block diagram showing the configuration of a conventional microprocessor, and FIG. 3 is a diagram showing an example of a general instruction code. , FIG. 4 is a diagram showing an example of a microcode in a conventional device, and FIG. 5 is a diagram showing an example of a microcode in a device according to the present invention. 1...Instruction register, 2...Instruction code decoder,
3...Instruction processing section, 4...R for microprogram
OM section, 5... Microcode decoder, 6... Register selection code decoder, 7a to 7d... Data register, 8... Instruction queue register, 9... Data no(s), 10... Instruction Code decoder, 11...A
ND circuit, 12...AND circuit, I...instruction code, I1...operation code, I2...register name, M...microcode, P, R, S, T...
logical signal. Applicant's agent Sato - Recommendation Figure 1 Figure 2

Claims (1)

【特許請求の範囲】 1、1単位長の命令コードを保持する命令レジスタと、
この命令レジスタ内の命令コードをデコードする命令コ
ードデコーダと、この命令コードデコーダによってデコ
ードされた命令を実行する命令処理部と、前記命令コー
ドに応じたマイクロコードを発生するためのマイクロプ
ログラムを記憶しているマイクロプログラム用ROM部
と、このマイクロプログラム用ROM部で発生したマイ
クロコードをデコードするマイクロコードデコーダと、
このマイクロコードデコーダからレジスタに対する指示
が与えられたときに、前記命令レジスタ内に命令コード
の一部として保持されているレジスタ名に基づいてデー
タレジスタを選択して指示を与えるレジスタ選択コード
デコーダと、を備えるマイクロプロセッサにおいて、 前記命令レジスタ内に命令コードの一部として保持され
ているレジスタ名に相当するレジスタに対しての指示を
デコードしたときに第1の論理を、前記命令レジスタ内
に保持されている命令コードに後続する命令コードのデ
ータに対しての指示をデコードしたときに第2の論理を
、それぞれ出力する機能を前記命令コードデコーダにも
たせ、前記命令コードデコーダが第1の論理を出力して
いるときには前記レジスタ選択コードデコーダにデータ
レジスタに対する指示を与え、前記命令コードデコーダ
が第2の論理を出力しているときには前記後続する命令
コードを保持している命令キューレジスタに指示を与え
る論理切替手段を更に設けたことを特徴とするマイクロ
プロセッサ。 2、命令レジスタ内に命令コードの一部として保持され
ているレジスタ名に相当するレジスタに対しての転送指
示を与える命令コードと、命令レジスタ内に保持されて
いる命令コードに後続する命令コードのデータに対して
の転送指示を与える命令コードと、の2つの命令コード
に対して、マイクロプログラム用ROM部が同じマイク
ロコードを発生することを特徴とする特許請求の範囲第
1項記載のマイクロプロセッサ。 3、各レジスタに対する指示が転送、加算、減算の指示
であることを特徴とする特許請求の範囲第1項または第
2項記載のマイクロプロセッサ。 4、論理切替手段が、論理ゲート回路から構成されてい
ることを特徴とする特許請求の範囲第1項乃至第3項の
いずれかに記載のマイクロプロセッサ。 5、論理切替手段が、2つのAND回路から構成され、
第1のAND回路にはマイクロコードデコーダからのレ
ジスタに対する指示の存在を示す第3の論理と、命令コ
ードデコーダからの第1の論理とが入力として与えられ
、第2のAND回路には前記マイクロコードデコーダか
らの前記第3の論理と、前記命令コードデコーダからの
第2の論理とが入力として与えられ、 前記第1のAND回路の論理出力によってレジスタ選択
コードデコーダに指示を与え、前記第2のAND回路の
論理出力によって命令キューレジスタに指示を与えるこ
とを特徴とする特許請求の範囲第4項記載のマイクロプ
ロセッサ。
[Claims] An instruction register that holds an instruction code of 1.1 unit length;
It stores an instruction code decoder that decodes the instruction code in this instruction register, an instruction processing unit that executes the instructions decoded by this instruction code decoder, and a microprogram that generates a microcode according to the instruction code. a microprogram ROM section, a microcode decoder that decodes the microcode generated in the microprogram ROM section,
a register selection code decoder that selects and issues an instruction to a data register based on a register name held as part of an instruction code in the instruction register when an instruction to a register is given from the microcode decoder; In a microprocessor, when an instruction to a register corresponding to a register name held as part of an instruction code in the instruction register is decoded, a first logic is set in the instruction register. The instruction code decoder is provided with a function of outputting a second logic when an instruction for data of an instruction code following an instruction code is decoded, and the instruction code decoder outputs the first logic. Logic that provides an instruction to the data register to the register selection code decoder when the instruction code decoder is outputting a second logic, and provides an instruction to the instruction queue register holding the subsequent instruction code when the instruction code decoder is outputting a second logic. A microprocessor further comprising switching means. 2. An instruction code that gives a transfer instruction to the register corresponding to the register name held as part of the instruction code in the instruction register, and an instruction code that follows the instruction code held in the instruction register. The microprocessor according to claim 1, wherein the microprogram ROM section generates the same microcode for two instruction codes: an instruction code for giving a transfer instruction for data; . 3. The microprocessor according to claim 1 or 2, wherein instructions for each register are instructions for transfer, addition, and subtraction. 4. The microprocessor according to any one of claims 1 to 3, wherein the logic switching means is comprised of a logic gate circuit. 5. The logic switching means is composed of two AND circuits,
The first AND circuit receives as input the third logic indicating the existence of an instruction for the register from the microcode decoder and the first logic from the instruction code decoder. The third logic from the code decoder and the second logic from the instruction code decoder are given as inputs, the logic output of the first AND circuit gives an instruction to the register selection code decoder, and the second logic 5. The microprocessor according to claim 4, wherein an instruction is given to the instruction queue register by the logical output of the AND circuit.
JP62079152A 1987-03-31 1987-03-31 Microprocessor Pending JPS63245522A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP62079152A JPS63245522A (en) 1987-03-31 1987-03-31 Microprocessor
KR1019880003524A KR920001142B1 (en) 1987-03-31 1988-03-30 Micro processor
US07/552,841 US5233695A (en) 1987-03-31 1990-07-16 Microprocessor with a reduced size microprogram

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62079152A JPS63245522A (en) 1987-03-31 1987-03-31 Microprocessor

Publications (1)

Publication Number Publication Date
JPS63245522A true JPS63245522A (en) 1988-10-12

Family

ID=13681987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62079152A Pending JPS63245522A (en) 1987-03-31 1987-03-31 Microprocessor

Country Status (2)

Country Link
JP (1) JPS63245522A (en)
KR (1) KR920001142B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100436015B1 (en) * 1995-05-31 2004-09-16 마츠시타 덴끼 산교 가부시키가이샤 A microprocessor that supports the program's code size reduction

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055623A (en) * 1998-04-07 2000-04-25 International Business Machine Corporation Specialized millicode instruction for editing functions
US6067617A (en) * 1998-04-07 2000-05-23 International Business Machines Corporation Specialized millicode instructions for packed decimal division
US6058470A (en) * 1998-04-07 2000-05-02 International Business Machines Corporation Specialized millicode instruction for translate and test
US6055624A (en) * 1998-04-07 2000-04-25 International Business Machines Corporation Millicode flags with specialized update and branch instructions

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS503241A (en) * 1973-05-11 1975-01-14
JPS5182538A (en) * 1975-01-17 1976-07-20 Hitachi Ltd MAIKUROPUROGURAMUNYORUREJISUTASHITEISOCHI
JPS59183433A (en) * 1982-12-06 1984-10-18 Sanyo Electric Co Ltd Central processor of microprogram control system
JPS6057435A (en) * 1983-09-07 1985-04-03 Mitsubishi Electric Corp Microprocessor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS503241A (en) * 1973-05-11 1975-01-14
JPS5182538A (en) * 1975-01-17 1976-07-20 Hitachi Ltd MAIKUROPUROGURAMUNYORUREJISUTASHITEISOCHI
JPS59183433A (en) * 1982-12-06 1984-10-18 Sanyo Electric Co Ltd Central processor of microprogram control system
JPS6057435A (en) * 1983-09-07 1985-04-03 Mitsubishi Electric Corp Microprocessor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100436015B1 (en) * 1995-05-31 2004-09-16 마츠시타 덴끼 산교 가부시키가이샤 A microprocessor that supports the program's code size reduction

Also Published As

Publication number Publication date
KR880011657A (en) 1988-10-29
KR920001142B1 (en) 1992-02-06

Similar Documents

Publication Publication Date Title
US4839797A (en) Microprocessor compatible with any software represented by different types of instruction formats
JPH0387930A (en) Emulator asist unit and coprocessor emulator using the same
US5682531A (en) Central processing unit
JPH07219769A (en) Microprocessor
JPS63245522A (en) Microprocessor
US5077659A (en) Data processor employing the same microprograms for data having different bit lengths
US5233695A (en) Microprocessor with a reduced size microprogram
JPS6217773B2 (en)
JPS6057435A (en) Microprocessor
JPH03260727A (en) Register designating device
JPS6288031A (en) Register filing system
JPS6151242A (en) Instruction decoding circuit
JPS60157635A (en) Microprogram controller
JP2000112754A (en) Data processor
JP2851192B2 (en) Addition / subtraction processing method with carry in parallel processing unit
JPS633338A (en) Pipeline register
JPS62117041A (en) Microcomputer
JPH0269826A (en) System for controlling instruction with condition
JPH0683614A (en) Microcomputer
JPS605961B2 (en) Sequence control device
JPS6188340A (en) Information processor
JPH01150933A (en) Microprogram control device
JPS6120135A (en) Data processor
JPH065528B2 (en) Information processing system
JPH04124729A (en) Pipeline control system