JP2003233496A - Microprocessor - Google Patents

Microprocessor

Info

Publication number
JP2003233496A
JP2003233496A JP2002032116A JP2002032116A JP2003233496A JP 2003233496 A JP2003233496 A JP 2003233496A JP 2002032116 A JP2002032116 A JP 2002032116A JP 2002032116 A JP2002032116 A JP 2002032116A JP 2003233496 A JP2003233496 A JP 2003233496A
Authority
JP
Japan
Prior art keywords
instruction
instruction code
execution mode
full
circuit
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.)
Withdrawn
Application number
JP2002032116A
Other languages
Japanese (ja)
Inventor
Kiyoshi Nakakimura
清 中木村
Isao Minematsu
勲 峯松
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2002032116A priority Critical patent/JP2003233496A/en
Publication of JP2003233496A publication Critical patent/JP2003233496A/en
Withdrawn legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To provide a versatile microprocessor in which an executing mode of an instruction code can be selected corresponding to an application. <P>SOLUTION: In an F/F circuit 400, a fetched instruction code is retained. When in a full instruction code execution mode, a specified bit of the full instruction code is referred to, the content of an execution mode setting register 424 is changed and the execution mode is changed to a reduced instruction execution mode. Furthermore, the execution mode change instruction is detected by an execution mode change instruction detecting circuit 422 in the reduced instruction execution mode, the content of the execution mode setting register 424 is changed and the execution mode is changed to the full instruction code execution mode. Therefore, the execution mode can be selected according to the application and the versatility of the microprocessor is improved. <P>COPYRIGHT: (C)2003,JPO

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、マイクロプロセッ
サに関し、特に、実行する命令のビット長よりも縮小し
たビット長の命令コードを命令メモリからフェッチして
処理を行なうプロセッサに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a microprocessor, and more particularly to a processor for fetching an instruction code having a bit length smaller than the bit length of an instruction to be executed from an instruction memory and performing processing.

【0002】[0002]

【従来の技術】近年、マイクロプロセッサが広く使用さ
れており、より汎用性の高いマイクロプロセッサに対す
る要望が高まっている。マイクロプロセッサの汎用性を
高める1つの手法として、命令コードの種類を増やして
1つの命令コードで複雑な処理を実行できるようにする
ことを挙げることができる。
2. Description of the Related Art In recent years, microprocessors have been widely used, and there is an increasing demand for more versatile microprocessors. One method for increasing the versatility of the microprocessor is to increase the types of instruction codes so that one instruction code can execute complicated processing.

【0003】図7は、一般的なマイクロプロセッサの概
略構成の一例を示すブロック図である。このマイクロプ
ロセッサ1は、命令メモリ41からフェッチした命令コ
ードをデコードする命令デコード部2と、命令デコード
部2によるデコード結果に応じてPC(プログラム・カ
ウンタ)を制御するプログラム制御部(PCU)31
と、命令デコード部2による命令デコード結果に応じて
データ演算を行なうデータ演算部(DAU)32と、命
令デコード部2による命令デコード結果に応じてアドレ
ス演算を行なうアドレス演算部(AAU)33と、命令
デコード部2による命令デコード結果に応じて内部レジ
スタの動作を制御するレジスタ動作制御部34と、命令
デコード部2によるデコード結果に応じてデータメモリ
51を制御するメモリ制御部(MCU)35とを含む。
FIG. 7 is a block diagram showing an example of a schematic configuration of a general microprocessor. The microprocessor 1 includes an instruction decoding unit 2 that decodes an instruction code fetched from an instruction memory 41, and a program control unit (PCU) 31 that controls a PC (program counter) according to the decoding result of the instruction decoding unit 2.
A data operation unit (DAU) 32 that performs data operation according to the instruction decode result by the instruction decode unit 2, and an address operation unit (AAU) 33 that performs address operation according to the instruction decode result by the instruction decode unit 2, A register operation control unit 34 that controls the operation of the internal register according to the instruction decoding result by the instruction decoding unit 2 and a memory control unit (MCU) 35 that controls the data memory 51 according to the decoding result by the instruction decoding unit 2. Including.

【0004】また、データ演算部32は、乗算器(MP
Y)321と、ALU(Arithmeticand Logic Unit)3
22と、シフタ(SFT)323とを含む。
In addition, the data operation unit 32 includes a multiplier (MP
Y) 321 and ALU (Arithmetic and Logic Unit) 3
22 and a shifter (SFT) 323.

【0005】以下、図7に示すマイクロプロセッサの動
作について説明するが、簡単のために、命令フェッチ、
命令デコードおよび命令実行の3段のパイプラインで処
理が行なわれるものとして説明する。なお、本明細書に
おける値の表記方法は、ハードウェア記述言語として広
く用いられているVerilog−HDL言語の文法に
従うものとする。
The operation of the microprocessor shown in FIG. 7 will be described below. For simplicity, the instruction fetch,
The description will be made assuming that the processing is performed by a three-stage pipeline of instruction decoding and instruction execution. It should be noted that the notation method of values in this specification follows the grammar of the Verilog-HDL language widely used as a hardware description language.

【0006】まず、命令フェッチステージにおいて、命
令デコード部2は、データバス42を介して命令メモリ
41から命令コードをフェッチする。このとき、プログ
ラム制御部31は、アドレスバス43を介してフェッチ
すべき命令コードが格納されるアドレスを命令メモリ4
1へ出力するとともに、命令メモリ41を制御するため
のI−MEM信号44を出力する。
First, in the instruction fetch stage, the instruction decoding unit 2 fetches an instruction code from the instruction memory 41 via the data bus 42. At this time, the program control unit 31 determines the address where the instruction code to be fetched via the address bus 43 is stored in the instruction memory 4
1 and also outputs an I-MEM signal 44 for controlling the instruction memory 41.

【0007】次に、命令デコードステージにおいて、命
令デコード部2がフェッチした命令コードをデコードす
ることによって、プログラム制御部31を制御するため
の制御信号P21と、データ演算部32を制御するため
の制御信号D22と、アドレス演算部33を制御するた
めの制御信号A23と、レジスタ動作制御部34を制御
するための制御信号R24と、メモリ制御部35を制御
するための制御信号M25とを生成する。
Next, in the instruction decoding stage, by decoding the instruction code fetched by the instruction decoding unit 2, a control signal P21 for controlling the program control unit 31 and a control for controlling the data operation unit 32. A signal D22, a control signal A23 for controlling the address operation unit 33, a control signal R24 for controlling the register operation control unit 34, and a control signal M25 for controlling the memory control unit 35 are generated.

【0008】最後に、命令実行ステージにおいて、プロ
グラム制御部31、データ演算部32、アドレス演算部
33、レジスタ動作制御部34およびメモリ制御部35
が、命令デコード部2によるデコード結果に応じて動作
を行ない、データが処理される。このとき、プログラム
制御部31は、命令メモリ41から命令コードをフェッ
チするのに必要なアドレスを演算して生成するととも
に、命令メモリ41からの命令コードのフェッチを制御
するI−MEM信号44を命令メモリ41へ出力する。
Finally, in the instruction execution stage, the program control unit 31, the data operation unit 32, the address operation unit 33, the register operation control unit 34, and the memory control unit 35.
However, the operation is performed according to the decoding result by the instruction decoding unit 2, and the data is processed. At this time, the program control unit 31 calculates and generates an address necessary for fetching an instruction code from the instruction memory 41, and at the same time issues an I-MEM signal 44 for controlling the fetching of the instruction code from the instruction memory 41. Output to the memory 41.

【0009】また、アドレス演算部33は、データ演算
部32によるデータ演算処理において使用する演算途中
の値や演算結果を格納したり読出したりするのに必要な
アドレスを演算して、データメモリ51へ出力する。ま
た、メモリ制御部35は、データメモリ51に対するア
クセスを制御するD−MEM信号54を生成して出力す
る。さらには、レジスタ動作制御部34は、データバス
52を介してデータメモリ51に書込む値や読出した値
を一時的に保持する図示しないレジスタの制御を行な
う。
Further, the address calculation unit 33 calculates an address necessary for storing and reading a value in the middle of calculation used in the data calculation process by the data calculation unit 32 and a calculation result, and stores it in the data memory 51. Output. The memory control unit 35 also generates and outputs a D-MEM signal 54 that controls access to the data memory 51. Further, the register operation control unit 34 controls a register (not shown) that temporarily holds the value written in or read out from the data memory 51 via the data bus 52.

【0010】図8は、図7に示す命令デコード部2の構
成をさらに詳細に説明するためのブロック図である。命
令デコード部2は、命令メモリ41からフェッチした命
令コード長がmビットの命令コードを保持するmビット
のフリップフロップ(以下、F/F回路と略す。)10
0と、プログラム制御部31を制御するための命令コー
ドP111をデコードするデコード回路P121と、デ
ータ演算部32を制御するための命令コードD112を
デコードするデコード回路D122と、アドレス演算部
33を制御するための命令コードA113をデコードす
るデコード回路A123と、レジスタ動作制御部34を
制御するための命令コードR114をデコードするデコ
ード回路R124と、メモリ制御部35を制御するため
の命令コードM115をデコードするデコード回路M1
25と、デコード回路P121から出力されたデコード
信号P131を保持するF/F回路141と、デコード
回路D122から出力されたデコード信号D132を保
持するF/F回路142と、デコード回路A123から
出力されたデコード信号A133を保持するF/F回路
143と、デコード回路R124から出力されたデコー
ド信号R134を保持するF/F回路144と、デコー
ド回路M125から出力されたデコード信号M135を
保持するF/F回路145とを含む。なお、命令コード
長mは、任意の正の整数とする。
FIG. 8 is a block diagram for explaining the structure of the instruction decoding unit 2 shown in FIG. 7 in more detail. The instruction decoding unit 2 holds a m-bit flip-flop (hereinafter abbreviated as F / F circuit) 10 that holds a m-bit instruction code fetched from the instruction memory 41.
0, a decode circuit P121 for decoding the instruction code P111 for controlling the program control unit 31, a decode circuit D122 for decoding the instruction code D112 for controlling the data operation unit 32, and an address operation unit 33. For decoding the instruction code A113 for decoding, the decoding circuit R124 for decoding the instruction code R114 for controlling the register operation control unit 34, and the decoding for decoding the instruction code M115 for controlling the memory control unit 35. Circuit M1
25, an F / F circuit 141 that holds the decode signal P131 output from the decode circuit P121, an F / F circuit 142 that holds the decode signal D132 output from the decode circuit D122, and an output from the decode circuit A123. An F / F circuit 143 holding the decode signal A133, an F / F circuit 144 holding the decode signal R134 output from the decode circuit R124, and an F / F circuit holding the decode signal M135 output from the decode circuit M125. 145 and. The instruction code length m is an arbitrary positive integer.

【0011】mビットの命令コードは、プログラム制御
部31を制御するための命令フィールド101と、デー
タ演算部32を制御するための命令フィールド102
と、アドレス演算部33を制御するための命令フィール
ド103と、レジスタ動作制御部34を制御するための
命令フィールド104と、メモリ制御部35を制御する
ための命令フィールド105とを含む。命令フィールド
101〜105のそれぞれの値が命令コードP111〜
M115として、デコード回路P121〜M125へ出
力される。
The m-bit instruction code has an instruction field 101 for controlling the program control section 31 and an instruction field 102 for controlling the data operation section 32.
An instruction field 103 for controlling the address operation unit 33, an instruction field 104 for controlling the register operation control unit 34, and an instruction field 105 for controlling the memory control unit 35. The values of the instruction fields 101 to 105 are the instruction codes P111 to
The M115 is output to the decoding circuits P121 to M125.

【0012】F/F回路100は、命令メモリ41から
フェッチされたmビットの命令コードを取込むと、次の
1サイクル(命令デコードステージ)の間、この命令コ
ードを保持する。この命令コードに含まれる命令コード
P111〜M115がそれぞれ、デコード回路P121
〜M125へ出力される。
When the F / F circuit 100 fetches the m-bit instruction code fetched from the instruction memory 41, the F / F circuit 100 holds this instruction code for the next one cycle (instruction decode stage). The instruction codes P111 to M115 included in this instruction code are respectively decoded by the decode circuit P121.
~ Output to M125.

【0013】デコード回路P121〜M125は、それ
ぞれ命令コードP111〜M115をデコードし、その
デコード信号P131〜M135をF/F回路141〜
145へ出力する。F/F回路141〜145はそれぞ
れデコード信号P131〜M135を保持し、制御信号
P21〜M25として、プログラム制御部31、データ
演算部32、アドレス演算部33、レジスタ動作制御部
34およびメモリ制御部35へ出力する。
Decode circuits P121 to M125 decode the instruction codes P111 to M115, respectively, and decode the decoded signals P131 to M135 from the F / F circuits 141 to 141.
Output to 145. The F / F circuits 141 to 145 respectively hold the decode signals P131 to M135, and as the control signals P21 to M25, the program control unit 31, the data operation unit 32, the address operation unit 33, the register operation control unit 34, and the memory control unit 35. Output to.

【0014】[0014]

【発明が解決しようとする課題】たとえば、16ビット
の命令コード長を有するマイクロプロセッサを実現しよ
うとした場合、この命令長が16ビットであることによ
って、使用可能な命令セットを決定する上で様々な制限
が加えられることになる。すなわち、ハードウェア的に
は実行可能な演算動作であっても、その演算動作が命令
セット中に定義されていなければ、マイクロプロセッサ
はその演算動作を実行することができない。そのため、
アプリケーションプログラムによっては、マイクロプロ
セッサの本来の性能を十分に発揮することができなくな
る。
For example, when an attempt is made to realize a microprocessor having an instruction code length of 16 bits, the instruction length of 16 bits causes various instruction sets to be determined. Restrictions will be added. That is, even if the arithmetic operation can be executed in terms of hardware, the microprocessor cannot execute the arithmetic operation unless the arithmetic operation is defined in the instruction set. for that reason,
Depending on the application program, the original performance of the microprocessor cannot be fully exerted.

【0015】また、逆に命令コード長を、たとえば32
ビットにした場合、必要となる命令メモリのサイズが約
2倍と大きくなってしまう上に、ほとんど必要のない命
令が命令セット中に定義されてしまうことになる。
On the contrary, the instruction code length is, for example, 32.
If the number of bits is set, the size of the required instruction memory will be doubled, and in addition, instructions that are almost unnecessary will be defined in the instruction set.

【0016】このような問題点を解決するための1つの
手法として、実装されている命令の一部に対して本来の
命令コードよりも縮小した命令コード長の命令コード
(以下、縮小命令コードと呼ぶ。)を割当てるととも
に、この縮小命令コードを実行可能な縮小命令コード実
行モードと、本来の縮小されていない命令コードを実行
可能なフル命令コード実行モードとを切替えることがで
きるマイクロプロセッサが開発されている。
As one method for solving such a problem, an instruction code having an instruction code length reduced from the original instruction code for a part of the implemented instructions (hereinafter referred to as a reduced instruction code). , A reduced instruction code execution mode capable of executing the reduced instruction code and a full instruction code execution mode capable of executing the original non-reduced instruction code have been developed. ing.

【0017】しかし、このマイクロプロセッサが縮小命
令コード実行モードで実行できる命令はハードウェア的
に固定されているので、アプリケーションによっては多
くの命令コードをフル命令コード実行モードで実行しな
ければならず、ほとんど効果が得られないといった問題
点があった。
However, since the instructions that this microprocessor can execute in the reduced instruction code execution mode are fixed in hardware, many instruction codes must be executed in the full instruction code execution mode depending on the application. There was a problem that almost no effect was obtained.

【0018】本発明は、上記問題点を解決するためにな
されたものであり、第1の目的は、命令メモリのサイズ
を小さくすることが可能なマイクロプロセッサを提供す
ることである。
The present invention has been made to solve the above problems, and a first object thereof is to provide a microprocessor capable of reducing the size of an instruction memory.

【0019】第2の目的は、アプリケーションに対応し
て命令コードの実行モードを選択できる汎用性の高いマ
イクロプロセッサを提供することである。
A second object is to provide a versatile microprocessor capable of selecting an instruction code execution mode according to an application.

【0020】第3の目的は、命令コードの実行モードの
変更を高速に行なうことが可能なマイクロプロセッサを
提供することである。
A third object is to provide a microprocessor capable of changing the execution mode of the instruction code at high speed.

【0021】[0021]

【課題を解決するための手段】請求項1に記載のマイク
ロプロセッサは、フェッチされた命令コードを保持する
保持回路と、保持回路に保持された命令の実行時におい
て、実行モードをフル命令コード実行モードおよび縮小
命令コード実行モードのいずれかに変更する実行モード
変更回路と、縮小命令コード実行モード時において、縮
小命令コードに対応する任意のフル命令コードが格納さ
れる命令セットサブテーブルと、保持回路に保持される
フル命令コードおよび命令セットサブテーブルに格納さ
れるフル命令コードのいずれかを選択的に実行する命令
実行回路とを含む。
According to a first aspect of the present invention, a microprocessor has a holding circuit for holding a fetched instruction code, and a full instruction code execution mode for executing an instruction held by the holding circuit. Mode and reduced instruction code execution mode, an execution mode changing circuit, an instruction set sub-table that stores an arbitrary full instruction code corresponding to the reduced instruction code in the reduced instruction code execution mode, and a holding circuit And an instruction execution circuit for selectively executing one of the full instruction code stored in the instruction set sub-table and the full instruction code stored in the instruction set sub-table.

【0022】縮小命令コードに対応する任意のフル命令
コードが命令セットサブテーブルに格納されるので、命
令メモリからフェッチした縮小命令コードに応じて命令
実行回路がフル命令コードを実行することができ、命令
メモリのサイズを小さくすることが可能となる。また、
実行モード変更回路が実行モードをフル命令コード実行
モードおよび縮小命令コード実行モードのいずれかに変
更するので、アプリケーションに応じた実行モードを選
択することができ、マイクロプロセッサの汎用性を高め
ることが可能となる。
Since any full instruction code corresponding to the reduced instruction code is stored in the instruction set sub-table, the instruction execution circuit can execute the full instruction code according to the reduced instruction code fetched from the instruction memory. It is possible to reduce the size of the instruction memory. Also,
The execution mode change circuit changes the execution mode to either the full instruction code execution mode or the reduced instruction code execution mode, so the execution mode can be selected according to the application and the versatility of the microprocessor can be improved. Becomes

【0023】請求項2に記載のマイクロプロセッサは、
請求項1記載のマイクロプロセッサであって、実行モー
ド変更回路は、フル命令コード実行モード時において、
保持回路に保持されるフル命令コードの所定ビットを参
照して、実行モードを縮小命令コード実行モードに変更
し、縮小命令コード実行モード時において、保持回路に
保持される縮小命令コードが所定命令の場合に、実行モ
ードをフル命令コード実行モードに変更する。
A microprocessor according to claim 2 is
2. The microprocessor according to claim 1, wherein the execution mode changing circuit is in the full instruction code execution mode,
The execution mode is changed to the reduced instruction code execution mode by referring to the predetermined bit of the full instruction code held in the holding circuit, and the reduced instruction code held in the holding circuit is set to the predetermined instruction in the reduced instruction code execution mode. In this case, the execution mode is changed to the full instruction code execution mode.

【0024】したがって、命令コード長が長いフル命令
コードと、命令コード長が短い縮小命令コードとの特徴
に応じた実行モードの変更が可能となる。
Therefore, the execution mode can be changed according to the characteristics of the full instruction code having a long instruction code length and the reduced instruction code having a short instruction code length.

【0025】請求項3に記載のマイクロプロセッサは、
請求項2記載のマイクロプロセッサであって、実行モー
ド変更回路は、縮小命令コード実行モード時において、
保持回路に保持される複数の縮小命令コードの下位側の
縮小命令コードが所定命令であるか否かを下位側の縮小
命令コードのデコードステージで判定して実行モードを
変更する。
A microprocessor according to claim 3 is
3. The microprocessor according to claim 2, wherein the execution mode change circuit is in the reduced instruction code execution mode,
Whether or not the reduced instruction code on the lower side of the plurality of reduced instruction codes held in the holding circuit is a predetermined instruction is determined by the decode stage of the reduced instruction code on the lower side to change the execution mode.

【0026】したがって、複数の縮小命令コードの下位
側の縮小命令コードが実行されなくなり、見かけ上の実
行サイクルが0となって処理速度を向上させることが可
能となる。
Therefore, the reduced instruction code on the lower side of the plurality of reduced instruction codes is not executed, the apparent execution cycle becomes 0, and the processing speed can be improved.

【0027】請求項4に記載のマイクロプロセッサは、
請求項1〜3のいずれかに記載のマイクロプロセッサで
あって、マイクロプロセッサは、複数の命令セットサブ
テーブルを含み、さらに複数の命令セットサブテーブル
のいずれを選択するかの情報が格納されるレジスタと、
レジスタに格納された情報に応じて、複数の命令セット
サブテーブルの出力を切替えるセレクタとを含む。
The microprocessor according to claim 4 is
The microprocessor according to any one of claims 1 to 3, wherein the microprocessor includes a plurality of instruction set sub-tables and further stores information on which of the plurality of instruction set sub-tables is selected. When,
A selector for switching the outputs of the plurality of instruction set sub-tables according to the information stored in the register.

【0028】したがって、複数の命令セットサブテーブ
ルの中から任意の命令セットサブテーブルを選択するこ
とができ、汎用性の高いマイクロプロセッサを提供する
ことが可能となる。
Therefore, an arbitrary instruction set sub-table can be selected from a plurality of instruction set sub-tables, and a microprocessor with high versatility can be provided.

【0029】請求項5に記載のマイクロプロセッサは、
実行すべき処理内容を示すフィールドを複数含んだ命令
コードを実行するマイクロプロセッサであって、フェッ
チされた命令コードを保持する保持回路と、保持回路に
保持された命令に含まれる複数のフィールドのそれぞれ
に対応して設けられ、縮小命令コードに対応する任意の
フル命令コードが格納される複数の命令セットサブテー
ブルと、複数の命令セットサブテーブルから出力される
フル命令コードをデコードする複数のデコード回路と、
複数のデコード回路によるデコード結果に応じて、フル
命令コードを実行する複数の命令実行回路とを含む。
A microprocessor according to claim 5 is
A microprocessor for executing an instruction code including a plurality of fields indicating the processing content to be executed, each of a holding circuit for holding a fetched instruction code, and a plurality of fields included in an instruction held in the holding circuit And a plurality of instruction set sub-tables for storing arbitrary full instruction codes corresponding to the reduced instruction codes and a plurality of decoding circuits for decoding the full instruction codes output from the plurality of instruction set sub-tables. When,
A plurality of instruction execution circuits that execute a full instruction code according to the decoding results of the plurality of decoding circuits.

【0030】複数の命令セットサブテーブルは、保持回
路に保持された命令に含まれる複数のフィールドのそれ
ぞれに対応して設けられるので、フィールドの機能に応
じて命令セットサブテーブルに縮小命令コードに対応し
たフル命令コードを設定することができるようになる。
Since the plurality of instruction set sub-tables are provided corresponding to each of the plurality of fields included in the instruction held in the holding circuit, the instruction set sub-table corresponds to the reduced instruction code according to the function of the field. You will be able to set the full instruction code.

【0031】請求項6に記載のマイクロプロセッサは、
実行すべき処理内容を示すフィールドを複数含んだ命令
コードを実行するマイクロプロセッサであって、フェッ
チされた命令コードを保持する保持回路と、保持回路に
保持された命令に含まれる複数のフィールドの中の1以
上のフィールドに対応して設けられ、縮小命令コードに
対応する任意のフル命令コードが格納される1以上の命
令セットサブテーブルと、1以上のフィールドに対応し
て設けられた命令セットサブテーブルから出力されるフ
ル命令コードをデコードする第1のデコード回路と、1
以上のフィールド以外のフィールドに対応するフル命令
コードをそのままデコードする第2のデコード回路と、
第1および第2のデコード回路によるデコード結果に応
じて、フル命令コードを実行する複数の命令実行回路と
を含む。
A microprocessor according to claim 6 is
A microprocessor that executes an instruction code that includes a plurality of fields that indicate the processing content to be executed, and that includes a holding circuit that holds the fetched instruction code and a plurality of fields that are included in the instruction held in the holding circuit. One or more instruction set sub-tables provided corresponding to one or more fields of the above and storing arbitrary full instruction codes corresponding to reduced instruction codes, and instruction set sub-tables provided corresponding to one or more fields A first decoding circuit for decoding the full instruction code output from the table;
A second decoding circuit for directly decoding the full instruction code corresponding to fields other than the above fields;
A plurality of instruction execution circuits that execute a full instruction code according to the decoding results by the first and second decoding circuits.

【0032】したがって、1つの命令に処理の種類が多
い命令コードと、処理の種類が少ない命令コードとが含
まれる場合であっても、それに適したマイクロプロセッ
サを構成することが可能となる。
Therefore, even when one instruction includes an instruction code with many types of processing and an instruction code with few types of processing, it is possible to configure a microprocessor suitable for it.

【0033】請求項7に記載のマイクロプロセッサは、
請求項1〜6のいずれかに記載のマイクロプロセッサで
あって、命令セットサブテーブルの内容は、即値ロード
命令によって変更される。
A microprocessor according to claim 7 is
The microprocessor according to any one of claims 1 to 6, wherein the contents of the instruction set sub-table are changed by an immediate load instruction.

【0034】したがって、マイクロプロセッサが命令コ
ードを実行中であっても、ダイナミックに命令セットサ
ブテーブルの内容を変更することが可能となる。
Therefore, it is possible to dynamically change the contents of the instruction set sub-table even when the microprocessor is executing the instruction code.

【0035】請求項8に記載のマイクロプロセッサは、
請求項7記載のマイクロプロセッサであって、マイクロ
プロセッサのリセット直後において、即値ロード命令が
命令セットサブテーブルのいずれかに設定される。
The microprocessor according to claim 8 is
8. The microprocessor according to claim 7, wherein the immediate load instruction is set in any of the instruction set sub-tables immediately after the reset of the microprocessor.

【0036】したがって、マイクロプロセッサのリセッ
ト直後において容易に命令セットサブテーブルの内容を
設定することが可能となる。
Therefore, the contents of the instruction set sub-table can be easily set immediately after the reset of the microprocessor.

【0037】[0037]

【発明の実施の形態】(実施の形態1)本発明の実施の
形態1におけるマイクロプロセッサの概略構成は、図7
に示す一般的なマイクロプロセッサの概略構成と比較し
て、命令デコード部の構成および機能が異なる点のみが
異なる。したがって、重複する構成および機能の詳細な
説明は繰返さない。なお、本実施の形態における命令デ
コード部の参照符号を3として説明する。
(First Embodiment) A schematic configuration of a microprocessor according to a first embodiment of the present invention is shown in FIG.
Compared with the general configuration of the general microprocessor shown in FIG. 1, the only difference is the configuration and function of the instruction decoding unit. Therefore, detailed description of overlapping configurations and functions will not be repeated. The reference numeral of the instruction decoding unit in this embodiment will be described as 3.

【0038】図1は、本発明の実施の形態1におけるマ
イクロプロセッサの命令セットおよび命令セットサブテ
ーブルを説明するための図である。命令セット210
は、本実施の形態におけるマイクロプロセッサが実行可
能な全ての命令コードで構成されるフル命令セットであ
り、それぞれの命令コードがmビットの命令コード長を
有している。したがって、命令(0)〜命令(2m
1)の2m種類の命令コードによって構成される。な
お、mは任意の正の整数である。
FIG. 1 is a diagram for explaining an instruction set and an instruction set sub-table of the microprocessor according to the first embodiment of the present invention. Instruction set 210
Is a full instruction set composed of all the instruction codes that can be executed by the microprocessor in the present embodiment, and each instruction code has an instruction code length of m bits. Therefore, the instruction (0) to the instruction (2 m
It is composed of 2 m kinds of instruction codes of 1). Note that m is an arbitrary positive integer.

【0039】命令セットサブテーブル200は、ユーザ
が命令セット210の中から任意に選択した命令コード
を指定するnビットのインデックス201と、そのイン
デックス201によって指定されたmビットの命令コー
ドが格納される領域202とを含む。命令セットサブテ
ーブル200のインデックス201が、マイクロプロセ
ッサがフェッチすべき縮小命令コードとして命令メモリ
41に格納される。命令セットサブテーブル200のア
ドレスがそのままインデックスを表している。なお、n
はmよりも小さい任意の正の整数である。
The instruction set sub-table 200 stores an n-bit index 201 that designates an instruction code arbitrarily selected by the user from the instruction set 210, and an m-bit instruction code designated by the index 201. Region 202. The index 201 of the instruction set sub-table 200 is stored in the instruction memory 41 as a reduced instruction code to be fetched by the microprocessor. The address of the instruction set sub-table 200 directly represents the index. Note that n
Is any positive integer less than m.

【0040】ユーザが命令セット210に含まれる全て
の命令コードを用いてプログラムを作成すると、そのプ
ログラムに対して静的な解析およびシミュレータなどを
使用した動的な解析を行なう。そして、ユーザが、プロ
グラムを実行するために動的および/または静的に使用
頻度が高く有用であると判断した命令を選択する。
When the user creates a program using all the instruction codes included in the instruction set 210, the program is subjected to static analysis and dynamic analysis using a simulator or the like. Then, the user selects an instruction that is dynamically and / or statically determined to be frequently used and useful for executing the program.

【0041】この選択された命令の中から一部または全
部のフル命令コードが命令セットサブテーブル200の
領域202に設定される。この領域202に設定された
フル命令コードは、インデックス201と1対1に対応
しているので、インデックス201を指定することによ
って、ユーザが所望するmビットのフル命令コードをn
ビットの命令コードで指定することができる。たとえ
ば、縮小命令コードとして“3”を指定すれば、そのイ
ンデックスに対応した命令(37)が選択されて、命令
セットサブテーブル200からこの命令(37)をフェ
ッチすることができる。このように、従来フル命令コー
ドを指定するのにmビットが必要であったが、mビット
よりも縮小されたnビットでフル命令コードを指定する
ことが可能となる。
Some or all of the selected full instruction codes are set in the area 202 of the instruction set sub-table 200. Since the full instruction code set in this area 202 has a one-to-one correspondence with the index 201, by designating the index 201, the m-bit full instruction code desired by the user is set to n.
It can be specified by a bit instruction code. For example, if "3" is specified as the reduced instruction code, the instruction (37) corresponding to the index is selected, and this instruction (37) can be fetched from the instruction set sub-table 200. As described above, m bits have been conventionally required to specify a full instruction code, but it is possible to specify a full instruction code with n bits which are smaller than m bits.

【0042】この命令セットサブテーブル200はレジ
スタで構成され、即値ロード命令を用いて所望のフル命
令コードを書込むことができる。なお、この即値ロード
命令は、命令セットサブテーブル200に設定する必要
がなく、マイクロプロセッサのリセット直後において命
令セットサブテーブル200のいずれかに設定されて使
用可能となっているものとする。
The instruction set sub-table 200 is composed of registers and can write a desired full instruction code by using an immediate load instruction. Note that it is not necessary to set the immediate load instruction in the instruction set sub-table 200, and it is assumed that the immediate load instruction is set in any of the instruction set sub-tables 200 and can be used immediately after the microprocessor is reset.

【0043】図2は、水平型マイクロ命令アーキテクチ
ャにおける縮小命令コードを説明するための図である。
フル命令コード220は、図1の命令セット210を構
成するmビットの命令コードであり、m1ビットのフィ
ールド(221)と、m2ビットのフィールド(2
22)とを含む。フィールド(221)およびフィー
ルド(222)は、所定の機能を指定するためのフィ
ールドである。なお、図2には2つのフィールドのみが
記載されているが、3つ以上のフィールドを含んでいて
もよい。
FIG. 2 is a diagram for explaining a reduced instruction code in the horizontal microinstruction architecture.
The full instruction code 220 is an m-bit instruction code that constitutes the instruction set 210 of FIG. 1, and includes an m1-bit field (221) and an m2-bit field (2
22) and. The field (221) and the field (222) are fields for designating a predetermined function. It should be noted that although only two fields are shown in FIG. 2, three or more fields may be included.

【0044】命令縮小コード230は、水平型マイクロ
命令アーキテクチャのフル命令コード220を縮小した
nビットの縮小命令コードであり、図1の命令セットサ
ブテーブル200のインデックス201に対応する。こ
の縮小命令コード230は、フル命令コード220のフ
ィールド(221)に対応したn1ビットの縮小フィ
ールド(231)と、フル命令コード220のフィー
ルド(222)に対応したn2ビットの縮小フィール
ド(232)とを含む。
The instruction reduction code 230 is an n-bit reduction instruction code obtained by reducing the full instruction code 220 of the horizontal microinstruction architecture, and corresponds to the index 201 of the instruction set sub-table 200 of FIG. The reduced instruction code 230 includes an n1 bit reduced field (231) corresponding to the field (221) of the full instruction code 220 and an n2 bit reduced field (232) corresponding to the field (222) of the full instruction code 220. including.

【0045】図3は、本発明の実施の形態1における命
令デコード部の概略構成を示すブロック図である。この
命令デコード部3は、命令メモリ341からフェッチし
た命令コード長がnビットの縮小命令コードを保持する
nビットのF/F回路300と、プログラム制御部31
を制御するための縮小命令コードP’510が与えられ
る命令セットサブテーブルP−1およびP−2(51
1,512)と、命令セットサブテーブルP−1および
P−2(511,512)の出力を切替えるセレクタ5
02と、セレクタ502を切替えるための情報を保持す
るサブテーブル選択制御レジスタCreg−PCU50
0と、データ演算部32を制御するための縮小命令コー
ドD’530が与えられる命令セットサブテーブルD−
1〜D−4(531〜534)と、命令セットサブテー
ブルD−1〜D−4(531〜534)の出力を切替え
るセレクタ522と、セレクタ522を切替えるための
情報を保持するサブテーブル選択制御レジスタCreg
−DAU520と、アドレス演算部33を制御するため
の縮小命令コードA’550が与えられる命令セットサ
ブテーブルA−1およびA−2(551,552)と、
命令セットサブテーブルA−1およびA−2(551,
552)の出力を切替えるセレクタ542と、セレクタ
542を切替えるための情報を保持するサブテーブル選
択制御レジスタCreg−AAU540と、レジスタ動
作制御部34を制御するための縮小命令コードR’57
0が与えられる命令セットサブテーブルR−1およびR
−2(571,572)と、命令セットサブテーブルR
−1およびR−2(571,572)の出力を切替える
セレクタ562と、セレクタ562を切替えるための情
報を保持するサブテーブル選択制御レジスタCreg−
RCU560と、メモリ制御部35を制御するための縮
小命令コードM’590が与えられる命令セットサブテ
ーブルM−1〜M−3(591〜593)と、命令セッ
トサブテーブルM−1〜M−3(591〜593)の出
力を切替えるセレクタ582と、セレクタ582を切替
えるための情報を保持するサブテーブル選択制御レジス
タCreg−MCU580と、プログラム制御部31を
制御するための命令コードPをデコードするデコード回
路P121と、データ演算部32を制御するための命令
コードD112をデコードするデコード回路D122
と、アドレス演算部33を制御するための命令コードA
113をデコードするデコード回路A123と、レジス
タ動作制御部34を制御するための命令コードR114
をデコードするデコード回路R124と、メモリ制御部
35を制御するための命令コードM115をデコードす
るデコード回路M125と、デコード回路P121から
出力されたデコード信号P131を保持するF/F回路
141と、デコード回路D122から出力されたデコー
ド信号D132を保持するF/F回路142と、デコー
ド回路A123から出力されたデコード信号A133を
保持するF/F回路143と、デコード回路R124か
ら出力されたデコード信号R134を保持するF/F回
路144と、デコード回路M125から出力されたデコ
ード信号M135を保持するF/F回路145とを含
む。
FIG. 3 is a block diagram showing a schematic structure of the instruction decoding unit in the first embodiment of the present invention. The instruction decoding unit 3 includes an n-bit F / F circuit 300 that holds a reduced instruction code having an instruction code length of n bits fetched from the instruction memory 341, and a program control unit 31.
Instruction set sub-tables P-1 and P-2 (51 provided with reduced instruction code P'510 for controlling
1, 512) and the output of the instruction set sub-tables P-1 and P-2 (511, 512).
02 and a sub-table selection control register Creg-PCU50 holding information for switching the selector 502.
0, and an instruction set sub-table D- to which a reduced instruction code D'530 for controlling the data operation unit 32 is given.
1 to D-4 (531 to 534), a selector 522 that switches the output of the instruction set subtables D-1 to D-4 (531 to 534), and a subtable selection control that holds information for switching the selector 522. Register Creg
-DAU 520 and instruction set sub-tables A-1 and A-2 (551, 552) to which a reduced instruction code A'550 for controlling the address calculation unit 33 is given,
Instruction set sub-tables A-1 and A-2 (551,
552) the selector 542 for switching the output, the sub-table selection control register Creg-AAU 540 for holding the information for switching the selector 542, and the reduced instruction code R′57 for controlling the register operation control unit 34.
Instruction set sub-tables R-1 and R given 0
-2 (571, 572) and instruction set subtable R
-1 and R-2 (571, 572) outputs the selector 562 and a sub-table selection control register Creg- that holds information for switching the selector 562.
RCU 560, instruction set sub-tables M-1 to M-3 (591 to 593) to which reduced instruction code M'590 for controlling the memory control unit 35 is given, and instruction set sub-tables M-1 to M-3 A selector 582 for switching the output of (591 to 593), a sub-table selection control register Creg-MCU 580 for holding information for switching the selector 582, and a decoding circuit for decoding an instruction code P for controlling the program control unit 31. P121 and a decoding circuit D122 for decoding an instruction code D112 for controlling the data operation unit 32.
And an instruction code A for controlling the address calculation unit 33
A decode circuit A123 for decoding 113 and an instruction code R114 for controlling the register operation control unit 34
A decoding circuit R124 for decoding the memory controller 35, a decoding circuit M125 for decoding an instruction code M115 for controlling the memory control unit 35, an F / F circuit 141 for holding a decoding signal P131 output from the decoding circuit P121, and a decoding circuit. An F / F circuit 142 that holds the decode signal D132 output from D122, an F / F circuit 143 that holds the decode signal A133 output from the decode circuit A123, and a decode signal R134 output from the decode circuit R124 And an F / F circuit 145 for holding the decode signal M135 output from the decode circuit M125.

【0046】nビットの縮小命令コードは、プログラム
制御部31を制御するための縮小命令フィールド301
と、データ演算部32を制御するための縮小命令フィー
ルド302と、アドレス演算部33を制御するための縮
小命令フィールド303と、レジスタ動作制御部34を
制御するための縮小命令フィールド304と、メモリ制
御部35を制御するための縮小命令フィールド305と
を含む。
The n-bit reduced instruction code is a reduced instruction field 301 for controlling the program control unit 31.
A reduced instruction field 302 for controlling the data operation unit 32, a reduced instruction field 303 for controlling the address operation unit 33, a reduced instruction field 304 for controlling the register operation control unit 34, and a memory control. A reduced instruction field 305 for controlling the section 35.

【0047】縮小命令フィールド301の値が縮小命令
コードP’として、命令セットサブテーブルP−1およ
びP−2(511,512)へ出力される。縮小命令フ
ィールド302の値が縮小命令コードD’として、命令
セットサブテーブルD−1〜D−4(531〜534)
へ出力される。縮小命令フィールド303の値が縮小命
令コードA’として、命令セットサブテーブルA−1お
よびA−2(551,552)へ出力される。縮小命令
フィールド304の値が縮小命令コードR’として、命
令セットサブテーブルR−1およびR−2(571,5
72)へ出力される。縮小命令フィールド305の値が
縮小命令コードM’として、命令セットサブテーブルM
−1〜M−3(591〜593)へ出力される。
The value of the reduction instruction field 301 is output to the instruction set sub-tables P-1 and P-2 (511, 512) as the reduction instruction code P '. The value of the reduction instruction field 302 is the reduction instruction code D ′, and the instruction set sub-tables D-1 to D-4 (531 to 534)
Is output to. The value of the reduction instruction field 303 is output as the reduction instruction code A ′ to the instruction set subtables A-1 and A-2 (551, 552). The value of the reduction instruction field 304 is the reduction instruction code R ′, and the instruction set sub-tables R-1 and R-2 (571, 5
72). The value of the reduction instruction field 305 is the reduction instruction code M ′, and the instruction set sub-table M
It is output to -1 to M-3 (591 to 593).

【0048】命令セットサブテーブルP−1およびP−
2(511,512)と、D−1〜D−4(531〜5
34)と、A−1およびA−2(551,552)と、
R−1およびR−2(571,572)と、M−1〜M
−3(591〜593)とは、それぞれ図1に示す命令
セットサブテーブル200と同様の構成を有しており、
縮小命令コード(インデックス)が与えられるとそれに
対応したフル命令コードを出力する。
Instruction set sub-tables P-1 and P-
2 (511, 512) and D-1 to D-4 (531 to 5)
34) and A-1 and A-2 (551, 552),
R-1 and R-2 (571, 572) and M-1 to M
-3 (591 to 593) has the same configuration as the instruction set sub-table 200 shown in FIG.
When a reduced instruction code (index) is given, a full instruction code corresponding to it is output.

【0049】命令セットサブテーブルP−1およびP−
2(511,512)は、縮小命令コードP’に対応し
たフル命令コードPを出力する。サブテーブル選択制御
レジスタCreg−PCU500に保持される値が1’
b0であれば、セレクタ502は命令セットサブテーブ
ルP−1(511)の出力を選択する。また、サブテー
ブル選択制御レジスタCreg−PCU500に保持さ
れる値が1’b1であれば、セレクタ502は命令セッ
トサブテーブルP−2(512)の出力を選択する。こ
の命令セットサブテーブルが複数あるのは、アプリケー
ションによって使用するフル命令コードが異なるため、
ユーザが任意の命令セットサブテーブルを選択できるよ
うにしたためである。
Instruction set sub-tables P-1 and P-
2 (511, 512) outputs the full instruction code P corresponding to the reduced instruction code P ′. The value held in the sub table selection control register Creg-PCU500 is 1 '.
If it is b0, the selector 502 selects the output of the instruction set sub-table P-1 (511). If the value held in the sub table selection control register Creg-PCU 500 is 1'b1, the selector 502 selects the output of the instruction set sub table P-2 (512). There are multiple instruction set sub-tables because the full instruction code used depends on the application.
This is because the user can select any instruction set sub-table.

【0050】命令セットサブテーブルD−1〜D−4
(531〜534)は、縮小命令コードD’に対応した
フル命令コードDを出力する。サブテーブル選択制御レ
ジスタCreg−DAU520に保持される値が2’b
00であれば、セレクタ522は命令セットサブテーブ
ルD−1(531)の出力を選択する。サブテーブル選
択制御レジスタCreg−DAU520に保持される値
が2’b01であれば、セレクタ522は命令セットサ
ブテーブルD−2(532)の出力を選択する。サブテ
ーブル選択制御レジスタCreg−DAU520に保持
される値が2’b10であれば、セレクタ522は命令
セットサブテーブルD−3(533)の出力を選択す
る。サブテーブル選択制御レジスタCreg−DAU5
20に保持される値が2’b11であれば、セレクタ5
22は命令セットサブテーブルD−4(534)の出力
を選択する。
Instruction set sub-tables D-1 to D-4
(531 to 534) output the full instruction code D corresponding to the reduced instruction code D ′. The value held in the sub table selection control register Creg-DAU520 is 2'b.
If it is 00, the selector 522 selects the output of the instruction set sub-table D-1 (531). If the value held in the sub table selection control register Creg-DAU 520 is 2′b01, the selector 522 selects the output of the instruction set sub table D-2 (532). If the value held in the sub table selection control register Creg-DAU 520 is 2′b10, the selector 522 selects the output of the instruction set sub table D-3 (533). Sub-table selection control register Creg-DAU5
If the value held in 20 is 2'b11, the selector 5
22 selects the output of the instruction set sub-table D-4 (534).

【0051】命令セットサブテーブルA−1およびA−
2(551,552)は、縮小命令コードA’に対応し
たフル命令コードAを出力する。サブテーブル選択制御
レジスタCreg−AAU540に保持される値が1’
b0であれば、セレクタ542は命令セットサブテーブ
ルA−1(551)の出力を選択する。サブテーブル選
択制御レジスタCreg−AAU540に保持される値
が1’b1であれば、セレクタ542は命令セットサブ
テーブルA−2(552)の出力を選択する。
Instruction set sub-tables A-1 and A-
2 (551, 552) outputs the full instruction code A corresponding to the reduced instruction code A ′. The value held in the sub table selection control register Creg-AAU540 is 1 '.
If it is b0, the selector 542 selects the output of the instruction set sub-table A-1 (551). If the value held in the sub table selection control register Creg-AAU 540 is 1'b1, the selector 542 selects the output of the instruction set sub table A-2 (552).

【0052】命令セットサブテーブルR−1およびR−
2(571,572)は、縮小命令コードR’に対応し
たフル命令コードRを出力する。サブテーブル選択制御
レジスタCreg−RCU560に保持される値が1’
b0であれば、セレクタ562は命令セットサブテーブ
ルR−1(571)の出力を選択する。サブテーブル選
択制御レジスタCreg−RCU560に保持される値
が1’b1であれば、セレクタ562は命令セットサブ
テーブルR−2(572)の出力を選択する。
Instruction set sub-tables R-1 and R-
2 (571, 572) outputs the full instruction code R corresponding to the reduced instruction code R ′. The value held in the sub table selection control register Creg-RCU 560 is 1 '.
If it is b0, the selector 562 selects the output of the instruction set sub-table R-1 (571). If the value held in the sub table selection control register Creg-RCU 560 is 1′b1, the selector 562 selects the output of the instruction set sub table R-2 (572).

【0053】命令セットサブテーブルM−1〜M−3
(591〜593)は、縮小命令コードM’に対応した
フル命令コードMを出力する。サブテーブル選択制御レ
ジスタCreg−MCU580に保持される値が2’b
00であれば、セレクタ582は命令セットサブテーブ
ルM−1(591)の出力を選択する。サブテーブル選
択制御レジスタCreg−MCU580に保持される値
が2’b01であれば、セレクタ582は命令セットサ
ブテーブルM−2(592)の出力を選択する。サブテ
ーブル選択制御レジスタCreg−MCU580に保持
される値が2’b10であれば、セレクタ582は命令
セットサブテーブルM−3(593)の出力を選択す
る。
Instruction set sub-tables M-1 to M-3
(591-593) outputs the full instruction code M corresponding to the reduced instruction code M ′. The value held in the sub table selection control register Creg-MCU 580 is 2'b.
If it is 00, the selector 582 selects the output of the instruction set sub-table M-1 (591). If the value held in the sub table selection control register Creg-MCU 580 is 2′b01, the selector 582 selects the output of the instruction set sub table M-2 (592). If the value held in the sub table selection control register Creg-MCU 580 is 2'b10, the selector 582 selects the output of the instruction set sub table M-3 (593).

【0054】なお、命令コードP111の命令コード長
をm1、命令コードD112の命令コード長をm2、命
令コードA113の命令コード長をm3、命令コードR
114の命令コード長をm4、命令コードM115の命
令コード長をm5とすると、m=m1+m2+m3+m
4+m5となる。
The instruction code length of the instruction code P111 is m1, the instruction code length of the instruction code D112 is m2, the instruction code length of the instruction code A113 is m3, and the instruction code R.
When the instruction code length of 114 is m4 and the instruction code length of the instruction code M115 is m5, m = m1 + m2 + m3 + m
It becomes 4 + m5.

【0055】サブテーブル選択制御レジスタCreg−
PCU500、Creg−DAU520、Creg−A
AU540、Creg−RCU560およびCreg−
MCU580は、それぞれプログラム実行中に設定可能
なレジスタである。
Subtable selection control register Creg-
PCU500, Creg-DAU520, Creg-A
AU540, Creg-RCU560 and Creg-
The MCU 580 is a register that can be set during program execution.

【0056】デコード回路P121〜M125は、それ
ぞれ命令コードP111〜M115をデコードし、その
デコード信号P131〜M135をF/F回路141〜
145へ出力する。F/F回路141〜145はそれぞ
れデコード信号P131〜M135を保持し、制御信号
P21〜M25として、プログラム制御部31、データ
演算部32、アドレス演算部33、レジスタ動作制御部
34およびメモリ制御部35へ出力する。
Decode circuits P121 to M125 decode instruction codes P111 to M115, respectively, and decode their decode signals P131 to M135 in F / F circuits 141 to 141.
Output to 145. The F / F circuits 141 to 145 respectively hold the decode signals P131 to M135, and as the control signals P21 to M25, the program control unit 31, the data operation unit 32, the address operation unit 33, the register operation control unit 34, and the memory control unit 35. Output to.

【0057】以上説明したように、本実施の形態におけ
るマイクロプロセッサによれば、命令セットサブテーブ
ル200が縮小命令コードをフル命令コードに変換して
出力するようにしたので、マイクロプロセッサが実行す
るフル命令コードの命令コード長よりも縮小された命令
コード長でフル命令コードを指定することができ、命令
メモリ341のサイズを小さくすることが可能となっ
た。また、マイクロプロセッサと命令メモリとの間のデ
ータバスのビット数を少なくすることができ、実装面積
の縮小、配線パターン数の削減等が可能となった。
As described above, according to the microprocessor of the present embodiment, the instruction set sub-table 200 converts the reduced instruction code into the full instruction code and outputs the full instruction code. The full instruction code can be specified by the instruction code length which is smaller than the instruction code length of the instruction code, and the size of the instruction memory 341 can be reduced. Further, the number of bits of the data bus between the microprocessor and the instruction memory can be reduced, and the mounting area can be reduced and the number of wiring patterns can be reduced.

【0058】また、ユーザが任意のフル命令コードを選
択して命令セットサブテーブル200に設定できるの
で、アプリケーションに対応したフル命令コードを選択
することができ、汎用性の高いマイクロプロセッサを提
供することが可能となった。また、サブテーブル選択制
御レジスタによって複数の命令セットサブテーブルの中
から1つを選択できるようにしたので、アプリケーショ
ンに対応した命令セットサブテーブルを選択することが
でき、さらに汎用性の高いマイクロプロセッサを提供す
ることが可能となった。
Further, since the user can select any full instruction code and set it in the instruction set sub-table 200, the full instruction code corresponding to the application can be selected, and a microprocessor with high versatility can be provided. Became possible. Further, since one of the plurality of instruction set sub-tables can be selected by the sub-table selection control register, the instruction set sub-table corresponding to the application can be selected, and a microprocessor with high versatility can be realized. It is now possible to provide.

【0059】さらには、F/F回路300に格納される
命令に含まれる複数のフィールドのそれぞれに対応して
命令セットサブテーブルが設けられるので、F/F回路
300に格納される1つの命令に対応して1つの命令セ
ットサブテーブルが設けられた場合と比較して、命令セ
ットサブテーブルの容量の合計を削減することが可能と
なった。たとえば、32ビットの1つの命令を16ビッ
トに縮小する場合には、テーブルの容量が216×32ビ
ットとなる。一方、本実施の形態のように32ビットを
16ビットずつの2つのフィールドに分け、フィールド
毎に16ビットの命令コードを8ビットに縮小する場合
には、テーブルの容量が28×16+28×16=28×
32ビットとなる。
Furthermore, since an instruction set sub-table is provided corresponding to each of a plurality of fields included in the instruction stored in the F / F circuit 300, one instruction stored in the F / F circuit 300 is stored. Compared with the case where one instruction set sub-table is provided correspondingly, it becomes possible to reduce the total capacity of the instruction set sub-table. For example, if one 32-bit instruction is reduced to 16 bits, the capacity of the table is 2 16 × 32 bits. On the other hand, when 32 bits are divided into two fields of 16 bits each and the 16-bit instruction code is reduced to 8 bits as in the present embodiment, the capacity of the table is 2 8 × 16 + 2 8 × 16 = 2 8 ×
It will be 32 bits.

【0060】(実施の形態2)図4は、本発明の実施の
形態2におけるマイクロプロセッサの命令デコード部の
概略構成を示すブロック図である。この命令デコード部
は、図3に示す実施の形態1における命令デコード部と
比較して、命令セットサブテーブルP−1、P−2、R
−1、R−2、M−1、M−2およびM−3(511,
512,571,572,591〜593)と、サブテ
ーブル選択制御レジスタCreg−PCU、Creg−
RCUおよびCreg−MCU(500,560,58
0)と、セレクタ502、562および582とが削除
されている点が異なる。したがって、重複する構成およ
び機能の詳細な説明は繰返さない。
(Second Embodiment) FIG. 4 is a block diagram showing a schematic structure of an instruction decoding unit of a microprocessor according to a second embodiment of the present invention. This instruction decoding unit is different from the instruction decoding unit according to the first embodiment shown in FIG. 3 in instruction set sub-tables P-1, P-2, R.
-1, R-2, M-1, M-2 and M-3 (511,
512, 571, 572, 591 to 593) and the sub-table selection control registers Creg-PCU, Creg-
RCU and Creg-MCU (500, 560, 58
0) and the selectors 502, 562 and 582 are deleted. Therefore, detailed description of overlapping configurations and functions will not be repeated.

【0061】nビットのF/F回路300には、5つの
フィールド301〜305が含まれるが、これらのフィ
ールドに対応する命令コードの中には処理の種類が多く
ないものがある。本実施の形態においては、縮小する必
要がない命令コードに対応するフィールドの値(命令コ
ードP’、R’、M’)をそのままデコード回路12
1、124および125へ出力し、命令コードDおよび
Aのみ縮小するものである。
The n-bit F / F circuit 300 includes five fields 301 to 305, but some instruction codes corresponding to these fields do not have many kinds of processing. In the present embodiment, the values of the fields (instruction codes P ′, R ′, M ′) corresponding to the instruction codes that do not need to be reduced are used as they are in the decoding circuit 12.
1, 124 and 125, and only the instruction codes D and A are reduced.

【0062】実施の形態1と同様に、命令セットサブテ
ーブル531〜534、551および552はレジスタ
で構成され、即値ロード命令を用いて所望のフル命令コ
ードを書込むことができる。なお、この即値ロード命令
は、命令セットサブテーブル200に設定する必要がな
く、マイクロプロセッサのリセット直後において命令セ
ットサブテーブル200のいずれかに設定されて使用可
能となっているものとする。
Similar to the first embodiment, the instruction set sub-tables 531 to 534, 551 and 552 are composed of registers, and a desired full instruction code can be written by using an immediate load instruction. Note that it is not necessary to set the immediate load instruction in the instruction set sub-table 200, and it is assumed that the immediate load instruction is set in any of the instruction set sub-tables 200 and can be used immediately after the microprocessor is reset.

【0063】なお、図4においては、縮小命令コードが
格納されるフィールドが2つの場合を示しているが、縮
小命令コードが格納されるフィールドが1つであっても
よいし、3つ以上であってもよい。また、縮小命令コー
ドの各々に対応して複数の命令セットサブテーブルが設
けられているが、各々1つの命令セットサブテーブルの
みが設けられてもよいことは言うまでもない。
Although FIG. 4 shows the case where there are two fields in which the reduced instruction code is stored, the number of fields in which the reduced instruction code is stored may be one or three or more. It may be. Further, although a plurality of instruction set sub-tables are provided corresponding to each reduced instruction code, it goes without saying that only one instruction set sub-table may be provided for each.

【0064】以上説明したように、本実施の形態におけ
るマイクロプロセッサによれば、F/F回路300に含
まれるフィールド301〜305に、縮小命令コードと
縮小されない命令コードとが格納されるようにし、縮小
命令コードに対しては命令セットサブテーブルによって
フル命令コードに変換した後デコードし、縮小されない
命令コードに対してはそのままデコードするようにし
た。したがって、命令メモリ341からフェッチされる
1つの命令の中に、処理の種類が多い命令コードと、処
理の種類が少ない命令コードとが含まれる場合であって
も、それに適したマイクロプロセッサを構成することが
可能となった。
As described above, according to the microprocessor of the present embodiment, the reduced instruction code and the instruction code that is not reduced are stored in the fields 301 to 305 included in the F / F circuit 300. The reduced instruction code is converted into a full instruction code by the instruction set sub-table and then decoded, and the instruction code that is not reduced is decoded as it is. Therefore, even when one instruction fetched from the instruction memory 341 includes an instruction code with many types of processing and an instruction code with few types of processing, a microprocessor suitable for it is configured. It has become possible.

【0065】(実施の形態3)本発明の実施の形態3に
おけるマイクロプロセッサの概略構成は、図7に示す一
般的なマイクロプロセッサの概略構成と比較して、命令
デコード部の構成および機能が異なる点のみが異なる。
したがって、重複する構成および機能の詳細な説明は繰
返さない。なお、本実施の形態における命令デコード部
の参照符号を4として説明する。
(Third Embodiment) A schematic configuration of a microprocessor according to a third embodiment of the present invention is different from that of a general microprocessor shown in FIG. 7 in the configuration and function of an instruction decoding unit. Only the points differ.
Therefore, detailed description of overlapping configurations and functions will not be repeated. The reference numeral of the instruction decoding unit in the present embodiment will be described as 4.

【0066】本発明の実施の形態3におけるマイクロプ
ロセッサは、縮小命令コード実行モードとフル命令コー
ド実行モードとのいずれかに実行モードを切替えながら
動作を行なう。なお、本実施の形態においては、マイク
ロプロセッサが水平型マイクロ命令アーキテクチャでな
い場合について説明するが、図3または図4に示す水平
型マイクロ命令アーキテクチャに適用することも可能で
ある。
The microprocessor according to the third embodiment of the present invention operates while switching the execution mode between the reduced instruction code execution mode and the full instruction code execution mode. In this embodiment, the case where the microprocessor is not the horizontal microinstruction architecture will be described, but the present invention can be applied to the horizontal microinstruction architecture shown in FIG. 3 or 4.

【0067】図5は、本発明の実施の形態3におけるマ
イクロプロセッサの概略構成を示すブロック図である。
このマイクロプロセッサ1は、命令メモリ441からフ
ェッチした命令をデコードする命令デコード部4と、命
令デコード部4によるデコード結果に応じて命令を実行
する命令実行部5とを含む。
FIG. 5 is a block diagram showing a schematic configuration of a microprocessor according to the third embodiment of the present invention.
The microprocessor 1 includes an instruction decoding unit 4 that decodes the instruction fetched from the instruction memory 441, and an instruction execution unit 5 that executes the instruction according to the decoding result of the instruction decoding unit 4.

【0068】また、命令デコード部4は、命令メモリ4
41からフェッチした命令コード長がmビットのフル命
令コードまたは命令コード長がn(m=2n)ビットの
2つの縮小命令コード(サブ命令コード)を保持するm
ビットのF/F回路400と、2つの縮小命令コードA
411およびB412のいずれかを選択して出力するセ
レクタ413と、セレクタ413によって選択された縮
小命令コード415が与えられる命令セットサブテーブ
ル416と、F/F回路400に保持されるフル命令コ
ード420および命令セットサブテーブル416から出
力されたフル命令コード417のいずれかを選択して出
力するセレクタ421と、実行モード変更命令を検出す
る実行モード変更命令検出回路422と、実行モードが
設定される実行モード設定レジスタ424と、セレクタ
421から出力されたフル命令コード430をデコード
するデコード回路431と、デコード回路431から出
力されたデコード信号432を保持するF/F回路43
3とを含む。
Further, the instruction decoding unit 4 includes the instruction memory 4
A full instruction code with an instruction code length of m bits fetched from 41 or two reduced instruction codes (sub instruction code) with an instruction code length of n (m = 2n) bits are held in m
Bit F / F circuit 400 and two reduced instruction codes A
A selector 413 for selecting and outputting any one of 411 and B412; an instruction set sub-table 416 to which the reduced instruction code 415 selected by the selector 413 is given; a full instruction code 420 held in the F / F circuit 400; A selector 421 that selects and outputs any one of the full instruction codes 417 output from the instruction set sub-table 416, an execution mode change instruction detection circuit 422 that detects an execution mode change instruction, and an execution mode in which the execution mode is set. The setting register 424, the decode circuit 431 that decodes the full instruction code 430 output from the selector 421, and the F / F circuit 43 that holds the decode signal 432 output from the decode circuit 431.
Including 3 and.

【0069】命令デコード部4はさらに、実行モード変
更命令検出回路422から出力される信号423とF/
F回路433から出力される制御信号434の所定の1
ビット452との論理和を演算するORゲート453
と、セレクタ451とを含む。セレクタ451は、実行
モード設定レジスタ424の値が1’b0のときにOR
ゲート453の出力454を選択し、実行モード設定レ
ジスタ424の値が1’b1のときにF/F回路400
の所定ビット450を出力する。
The instruction decoding unit 4 further receives the signal 423 output from the execution mode change instruction detection circuit 422 and the F /
Predetermined 1 of the control signal 434 output from the F circuit 433
OR gate 453 that calculates the logical sum with bit 452
And a selector 451. The selector 451 performs an OR when the value of the execution mode setting register 424 is 1′b0.
When the output 454 of the gate 453 is selected and the value of the execution mode setting register 424 is 1′b1, the F / F circuit 400
The predetermined bit 450 is output.

【0070】命令デコード部4は、命令メモリ441か
らmビットの命令コードをフェッチしてF/F回路40
0に保持する。縮小命令コード実行モードにおいて、F
/F回路400に保持されたmビットの命令コードのう
ち、上位側のnビットの領域401に格納された命令コ
ードがnビットの縮小命令コードA411として処理さ
れ、下位側のnビットの領域402に格納された命令コ
ードがnビットの縮小命令コードB412として処理さ
れる。したがって、縮小命令コード実行モードにおい
て、命令デコード部4は縮小命令コードの2命令分を1
度にフェッチすることになる。
The instruction decoding unit 4 fetches the m-bit instruction code from the instruction memory 441 and fetches it from the F / F circuit 40.
Hold at 0. In the reduced instruction code execution mode, F
Of the m-bit instruction codes held in the / F circuit 400, the instruction code stored in the upper n-bit area 401 is processed as an n-bit reduced instruction code A411, and the lower n-bit area 402 is processed. The instruction code stored in is processed as an n-bit reduced instruction code B412. Therefore, in the reduced instruction code execution mode, the instruction decoding unit 4 divides two reduced instruction codes into one instruction.
It will be fetched every time.

【0071】また、フル命令コード実行モードにおい
て、F/F回路400に保持されたmビットの命令コー
ドは、mビットのフル命令コードとして処理される。フ
ル命令コードは必ずアラインされた状態で命令メモリ4
41内に配置され、フル命令コード実行モードにおいて
は、命令デコード部4はフル命令コードの1命令分を1
サイクルでフェッチすることになる。
In the full instruction code execution mode, the m-bit instruction code held in the F / F circuit 400 is processed as an m-bit full instruction code. Full instruction code is always aligned in instruction memory 4
In the full instruction code execution mode, the instruction decoding unit 4 allocates one instruction of the full instruction code to one.
It will be fetched in cycles.

【0072】F/F回路400に保持されるフル命令コ
ードのうち所定の1ビット450が、フル命令コード実
行モードから縮小命令コード実行モードに変更するか否
かを示すビットに相当する。また、F/F回路433か
ら出力される複数ビットからなる制御信号434の中の
1ビットである制御信号452は、デコードした結果上
位側の領域401に格納された縮小命令コードが実行モ
ード変更命令であることを示す信号である。
A predetermined 1 bit 450 of the full instruction code held in the F / F circuit 400 corresponds to a bit indicating whether to change from the full instruction code execution mode to the reduced instruction code execution mode. Further, the control signal 452, which is one bit in the control signal 434 composed of a plurality of bits output from the F / F circuit 433, is a reduced instruction code stored in the upper area 401 as a result of decoding Is a signal indicating that.

【0073】プロセッサのプログラムカウンタ414
は、実行すべき命令のアドレスをカウントする。アドレ
ス内の所定の1ビットによって命令の上位側の縮小命令
コードおよび下位側の縮小命令コードを識別することが
できる。たとえば、8ビットのデータに1つのアドレス
を割付け、m=32であるならば、アドレスの最下位か
ら2番目のビットでその識別が可能である。
Program counter 414 of the processor
Counts the address of the instruction to be executed. The predetermined one bit in the address can identify the reduced instruction code on the upper side and the reduced instruction code on the lower side of the instruction. For example, if one address is assigned to 8-bit data and m = 32, the identification can be made by the second least significant bit of the address.

【0074】ここでは、m=32を想定し、プログラム
カウンタ414は、縮小命令コード実行モードにおいて
2ずつインクリメントし、フル命令コード実行モードに
おいて4ずつインクリメントする。
Here, assuming that m = 32, the program counter 414 increments by 2 in the reduced instruction code execution mode and increments by 4 in the full instruction code execution mode.

【0075】セレクタ413は、プログラムカウンタ4
14のビット30(最下位から2ビット目)の値に応じ
て、縮小命令コードA411およびB412のいずれか
を選択して出力する。ビット30が“0”のとき縮小命
令コードA411が選択され、ビット30が“1”のと
き縮小命令コードB412が選択される。
The selector 413 has the program counter 4
According to the value of bit 30 of 14 (the second least significant bit), one of the reduced instruction codes A411 and B412 is selected and output. When the bit 30 is "0", the reduced instruction code A411 is selected, and when the bit 30 is "1", the reduced instruction code B412 is selected.

【0076】縮小命令コード実行モードにおいて、上位
側の領域401に保持された縮小命令コードAが下位側
の領域402に保持された縮小命令コードBより先に実
行される。すなわち、F/F回路400の上位側の領域
401に保持された縮小命令コードAは、1サイクルで
命令セットサブテーブル416によりフル命令コードに
変換され、デコード回路431によりデコードされ(デ
コードステージ)、次の1サイクルでデコード信号43
2に基づき上位側の領域401の命令で指定された演算
または処理が命令実行部3で実行される(実行ステー
ジ)。
In the reduced instruction code execution mode, the reduced instruction code A held in the upper area 401 is executed before the reduced instruction code B held in the lower area 402. That is, the reduced instruction code A held in the upper area 401 of the F / F circuit 400 is converted into a full instruction code by the instruction set sub-table 416 in one cycle, and decoded by the decoding circuit 431 (decoding stage), Decode signal 43 in the next 1 cycle
Based on 2, the operation or processing designated by the instruction in the upper area 401 is executed by the instruction execution unit 3 (execution stage).

【0077】また、上位側の領域401に縮小命令コー
ドAが保持されるのと同時に下位側のフィールド402
に保持された縮小命令コードBは、上位側の領域401
の縮小命令コードAの実行ステージと同じサイクル(1
サイクル)で命令セットサブテーブル416によりフル
命令コードに変換され、デコード回路431によりデコ
ードされ(デコードステージ)、次の1サイクルでデコ
ード信号432に基づき下位側の領域402の命令で指
定された演算または処理が命令実行部3で実行される
(実行ステージ)。
Further, while the reduced instruction code A is held in the upper area 401, at the same time as the lower field 402.
The reduced instruction code B held in the
The same cycle (1
Cycle), it is converted into a full instruction code by the instruction set sub-table 416, and is decoded by the decode circuit 431 (decode stage). In the next cycle, the operation specified by the instruction in the lower area 402 based on the decode signal 432 or The processing is executed by the instruction execution unit 3 (execution stage).

【0078】命令セットサブテーブル416は、セレク
タ413から縮小命令コード(インデックス)415が
与えられ、縮小命令コードに対応したフル命令コードを
出力する。この命令セットサブテーブル416は、図1
に示す命令セットサブテーブル200と同様の構成を有
している。
The instruction set sub-table 416 receives the reduced instruction code (index) 415 from the selector 413 and outputs a full instruction code corresponding to the reduced instruction code. This instruction set sub-table 416 is shown in FIG.
The instruction set sub-table 200 shown in FIG.

【0079】縮小命令コード実行モードにおいて、実行
モード設定レジスタ424には1’b0が設定されてお
り、セレクタ421は命令セットサブテーブル416か
ら出力されたフル命令コード417を選択して出力す
る。デコード回路431は、セレクタ421から出力さ
れたフル命令コード430をデコードする。F/F回路
433は、デコード回路431から出力されたデコード
信号432を保持し、制御信号434として出力する。
In the reduced instruction code execution mode, 1'b0 is set in the execution mode setting register 424, and the selector 421 selects and outputs the full instruction code 417 output from the instruction set sub-table 416. The decoding circuit 431 decodes the full instruction code 430 output from the selector 421. The F / F circuit 433 holds the decode signal 432 output from the decode circuit 431 and outputs it as a control signal 434.

【0080】フル命令コード実行モードにおいて、実行
モード設定レジスタ424には1’b1が設定されてお
り、セレクタ421はF/F回路400から出力された
フル命令コード420を選択して出力する。デコード回
路431は、セレクタ421から出力されたフル命令コ
ード430をデコードする。F/F回路433は、デコ
ード回路431から出力されたデコード信号432を保
持し、制御信号434として出力する。
In the full instruction code execution mode, 1'b1 is set in the execution mode setting register 424, and the selector 421 selects and outputs the full instruction code 420 output from the F / F circuit 400. The decoding circuit 431 decodes the full instruction code 430 output from the selector 421. The F / F circuit 433 holds the decode signal 432 output from the decode circuit 431 and outputs it as a control signal 434.

【0081】実行モードをフル命令コード実行モードか
ら縮小命令コード実行モードへ変更する場合について説
明する。フル命令コードの命令コード長は長くて余裕が
あるので、所定の演算または処理を指定するフィールド
と共に、次の命令の実行モードがフル命令コード実行モ
ードであるか、縮小命令コード実行モードであるかを示
す1ビット450を設ける。
A case where the execution mode is changed from the full instruction code execution mode to the reduced instruction code execution mode will be described. Since the instruction code length of the full instruction code is long and has a margin, whether the execution mode of the next instruction is the full instruction code execution mode or the reduced instruction code execution mode along with a field for designating a predetermined operation or processing. 1 bit 450 indicating is provided.

【0082】F/F回路400に保持されたフル命令コ
ードは、デコードステージでデコード回路431により
デコードされ、実行ステージで命令実行部5がフル命令
コードで指定された演算または処理を行なう。
The full instruction code held in F / F circuit 400 is decoded by decode circuit 431 in the decode stage, and instruction execution unit 5 performs the operation or processing designated by the full instruction code in the execution stage.

【0083】実行モード設定レジスタ424の設定変更
は、フル命令コードのデコードステージで決定される。
フル命令コードのビット450が“1”のとき、次の命
令が縮小命令コードで実行されることが指定され、その
フル命令コードの実行ステージで実行モード設定レジス
タ424の設定変更が決定される。フル命令コードの実
行ステージのサイクルが開始されると共に、実行モード
設定レジスタ424の値が1’b0に変更され、かつF
/F回路400の内容が次の命令に更新される。
The setting change of the execution mode setting register 424 is decided at the decode stage of the full instruction code.
When the bit 450 of the full instruction code is "1", it is specified that the next instruction is executed with the reduced instruction code, and the setting change of the execution mode setting register 424 is determined at the execution stage of the full instruction code. When the cycle of the full instruction code execution stage is started, the value of the execution mode setting register 424 is changed to 1′b0, and F
The contents of the / F circuit 400 are updated to the next instruction.

【0084】セレクタ421は、命令セットサブテーブ
ル416の出力417を選択するので、その次命令は縮
小命令コードとして処理され、フル命令コードの実行ス
テージと同じサイクルで上位側の領域401の縮小命令
コードAがデコードされる。このように、F/F回路4
00に保持されたフル命令コードのビット450を用い
て実行モード設定レジスタ424の設定変更がフル命令
コードのデコードステージで指示されるので、縮小命令
コード実行モードへ変更する際にパイプラインの乱れを
防ぐことができ、処理を向上させることができる。
Since the selector 421 selects the output 417 of the instruction set sub-table 416, the next instruction is processed as a reduced instruction code, and the reduced instruction code of the upper area 401 is processed in the same cycle as the execution stage of the full instruction code. A is decoded. In this way, the F / F circuit 4
Since the setting change of the execution mode setting register 424 is instructed in the decode stage of the full instruction code using the bit 450 of the full instruction code held in 00, the disturbance of the pipeline when changing to the reduced instruction code execution mode is performed. It can be prevented and the processing can be improved.

【0085】次に、実行モードを縮小命令コード実行モ
ードからフル命令コード実行モードへ変更する場合につ
いて説明する。縮小命令コード実行モードで実行できる
命令の少なくとも1つの命令、すなわち命令セットサブ
テーブル416のいずれかに実行モード変更命令を設定
しておく。このとき、実行モード変更命令がF/F回路
400の上位側の領域401に保持される場合と、下位
側の領域402に保持される場合とが考えられる。
Next, the case of changing the execution mode from the reduced instruction code execution mode to the full instruction code execution mode will be described. The execution mode change instruction is set in at least one of the instructions that can be executed in the reduced instruction code execution mode, that is, in any of the instruction set sub-tables 416. At this time, the execution mode change instruction may be held in the upper area 401 of the F / F circuit 400 or may be held in the lower area 402.

【0086】実行モード変更命令がF/F回路400の
上位側の領域401に保持される場合には、その実行モ
ード変更命令の実行ステージで実行モード設定レジスタ
424の設定変更が決定される。実行モード変更命令は
命令セットサブテーブル416によりフル命令コードに
変換された後にデコード回路431でデコードされ、制
御信号452に“1”が出力される。その実行ステージ
において、制御信号452に基づき実行モード設定レジ
スタ424の設定変更が決定する。実行モード変更命令
をデコードして得られた制御信号452以外の制御信号
434によって、演算または処理を行なわない、いわゆ
るno−operation(以下、NOPと呼ぶ。)
が命令実行部5に指示される。
When the execution mode change instruction is held in the upper area 401 of the F / F circuit 400, the setting change of the execution mode setting register 424 is decided at the execution stage of the execution mode change instruction. The execution mode change instruction is converted into a full instruction code by the instruction set sub-table 416 and then decoded by the decode circuit 431, and "1" is output to the control signal 452. In the execution stage, the setting change of the execution mode setting register 424 is decided based on the control signal 452. A so-called no-operation (hereinafter referred to as NOP) in which an operation or processing is not performed by a control signal 434 other than the control signal 452 obtained by decoding the execution mode change instruction.
Is instructed to the instruction execution unit 5.

【0087】一方、実行モード変更命令の実行ステージ
の次のサイクル(下位側の縮小命令コードのデコードス
テージと同じサイクル)が開始されると共に、レジスタ
424の値は1’b1に変更され、かつF/F回路40
0の内容が次の命令に更新される。セレクタ421は、
F/F回路400からの出力信号420を選択するの
で、次命令はフル命令コードとしてデコードされる。
On the other hand, the next cycle of the execution stage of the execution mode change instruction (the same cycle as the decoding stage of the lower side reduced instruction code) is started, the value of the register 424 is changed to 1'b1, and F / F circuit 40
The contents of 0 are updated to the next instruction. The selector 421 is
Since the output signal 420 from the F / F circuit 400 is selected, the next instruction is decoded as a full instruction code.

【0088】なお、実行モード変更命令と同時に下位側
の領域402に保持される縮小命令コードは特定の演算
または処理を指定する演算命令でも構わないが、通常の
NOP命令とするのが好ましい。
The reduced instruction code held in the lower area 402 at the same time as the execution mode change instruction may be an operation instruction designating a particular operation or process, but it is preferable to use a normal NOP instruction.

【0089】一方、実行モード変更命令がF/F回路4
00の下位側の領域402に保持される場合には、次の
命令が縮小命令コード実行モードとして命令デコードさ
れた後に実行モードがフル命令コード実行モードに変更
されるため、誤動作を起こすことがある。そこで、縮小
命令コードB412のデコードステージで実行モード設
定レジスタ424の設定変更を決定するために、実行モ
ード変更命令検出回路422がそのデコードステージで
縮小命令コードが実行モード変更命令であることを検出
する。
On the other hand, the execution mode change instruction is the F / F circuit 4
If it is held in the lower area 402 of 00, the execution mode is changed to the full instruction code execution mode after the next instruction is decoded as the reduced instruction code execution mode, which may cause a malfunction. . Therefore, in order to determine the setting change of the execution mode setting register 424 in the decode stage of the reduced instruction code B412, the execution mode change instruction detection circuit 422 detects that the reduced instruction code is the execution mode change instruction in the decode stage. .

【0090】実行モード変更命令検出回路422は、コ
ンパレータで構成され、縮小命令コードB412が実行
モード変更命令と一致したときにその出力423を
“1”にするので、縮小命令コードB412のデコード
ステージで出力423に基づき実行モード設定レジスタ
424の設定変更が決定される。実行モード変更命令の
実行ステージが開始されると共に、実行モード設定レジ
スタ424の値が1’b1に変更され、かつF/F回路
400が次の命令に更新される。セレクタ421は、F
/F回路400の出力420を選択するので、次命令が
フル命令コードとしてデコードされる。
The execution mode change instruction detection circuit 422 is composed of a comparator, and when the reduced instruction code B412 matches the execution mode change instruction, its output 423 is set to "1". Therefore, in the decode stage of the reduced instruction code B412. Based on the output 423, the setting change of the execution mode setting register 424 is determined. The execution stage of the execution mode change instruction is started, the value of the execution mode setting register 424 is changed to 1′b1, and the F / F circuit 400 is updated to the next instruction. Selector 421 is F
Since the output 420 of the / F circuit 400 is selected, the next instruction is decoded as a full instruction code.

【0091】縮小命令コードB412が実行モード変更
命令と一致しないときには、実行モード変更命令検出回
路422が出力423を“0”にして、実行モード設定
レジスタ424を変更しない。したがって、次命令は引
続き縮小命令コードとして実行される。このように、実
行モード変更命令検出回路422を設けることによっ
て、実行モード変更命令による実行モード設定レジスタ
424への設定変更がデコードステージで指示されるの
で、下位側の領域402に保持された実行モード変更命
令の見かけ上の実行ステージをなくすことができ、処理
速度を向上させることができる。
When the reduced instruction code B412 does not match the execution mode change instruction, the execution mode change instruction detection circuit 422 sets the output 423 to "0" and does not change the execution mode setting register 424. Therefore, the next instruction is continuously executed as the reduced instruction code. As described above, by providing the execution mode change instruction detection circuit 422, the setting change to the execution mode setting register 424 by the execution mode change instruction is instructed at the decode stage, so that the execution mode held in the lower area 402 is executed. The apparent execution stage of the change instruction can be eliminated, and the processing speed can be improved.

【0092】以上説明したように、本実施の形態におけ
るマイクロプロセッサによれば、命令デコード部4が実
行モードを縮小命令コード実行モードまたはフル命令コ
ード実行モードに変更しながら処理を行なうようにした
ので、命令セットサブテーブル416に設定できないフ
ル命令コードであっても処理することができるようにな
り、マイクロプロセッサの汎用性をさらに高めることが
可能となった。
As described above, according to the microprocessor of the present embodiment, the instruction decoding unit 4 performs the processing while changing the execution mode to the reduced instruction code execution mode or the full instruction code execution mode. As a result, even a full instruction code that cannot be set in the instruction set sub-table 416 can be processed, and the versatility of the microprocessor can be further enhanced.

【0093】また、実行モード変更命令検出回路422
が、F/F回路400の下位側の領域402に保持され
る実行モード変更命令を命令デコード時に検出するよう
にしたので、実行モード変更命令が実行されなくなり、
見かけ上の実行サイクルが0となって処理速度を向上さ
せることが可能となった。
Also, the execution mode change instruction detection circuit 422
However, since the execution mode change instruction held in the lower area 402 of the F / F circuit 400 is detected at the time of instruction decoding, the execution mode change instruction is not executed,
The apparent execution cycle becomes 0, and the processing speed can be improved.

【0094】(実施の形態4)図6は、本発明の実施の
形態4におけるマイクロプロセッサの概略構成を示すブ
ロック図である。このマイクロプロセッサは、図5に示
す実施の形態3におけるマイクロプロセッサと比較し
て、命令セットサブテーブル416が2つの命令セット
サブテーブル461および462と、サブテーブル選択
制御レジスタ463と、セレクタ417とで置換されて
いる点が異なる。したがって、重複する構成および機能
の詳細な説明は繰返さない。
(Fourth Embodiment) FIG. 6 is a block diagram showing a schematic configuration of a microprocessor according to a fourth embodiment of the present invention. This microprocessor has two instruction set sub-tables 461 and 462, a sub-table selection control register 463, and a selector 417 as compared with the microprocessor in the third embodiment shown in FIG. The difference is that they are replaced. Therefore, detailed description of overlapping configurations and functions will not be repeated.

【0095】命令セットサブテーブル461および46
2は、セレクタ413から出力される縮小命令コード4
15に対応したフル命令コードを出力する。サブテーブ
ル選択制御レジスタ463に保持される値が1’b0で
あれば、セレクタ464は命令セットサブテーブル46
1の出力を選択してサブ命令コード417として出力す
る。サブテーブル選択制御レジスタ463に保持される
値が1’b1であれば、セレクタ464は命令セットサ
ブテーブル462の出力を選択してサブ命令コード41
7として出力する。なお、本実施の形態においては、命
令セットサブテーブルが2つの場合について説明した
が、3つ以上であってもよいことは言うまでもない。
Instruction set sub-tables 461 and 46
2 is the reduced instruction code 4 output from the selector 413.
The full instruction code corresponding to 15 is output. If the value held in the sub table selection control register 463 is 1′b0, the selector 464 determines that the instruction set sub table 46
The output of 1 is selected and output as the sub instruction code 417. If the value held in the sub table selection control register 463 is 1′b1, the selector 464 selects the output of the instruction set sub table 462 and selects the sub instruction code 41.
Output as 7. In the present embodiment, the case where there are two instruction set sub-tables has been described, but it goes without saying that the number of instruction set sub-tables may be three or more.

【0096】以上説明したように、本実施の形態におけ
るマイクロプロセッサによれば、サブテーブル選択制御
レジスタ463に保持される値によって命令セットサブ
テーブル461および462のいずれかを選択してサブ
命令コードとして出力するようにしたので、実施の形態
3において説明した効果に加えて、アプリケーションに
対応した命令セットサブテーブルを選択することがで
き、さらに汎用性の高いマイクロプロセッサを提供する
ことが可能となった。
As described above, according to the microprocessor of this embodiment, one of the instruction set sub-tables 461 and 462 is selected as a sub-instruction code by the value held in the sub-table selection control register 463. Since the output is performed, in addition to the effect described in the third embodiment, it is possible to select the instruction set sub-table corresponding to the application, and it is possible to provide a microprocessor with high versatility. .

【0097】今回開示された実施の形態は、すべての点
で例示であって制限的なものではないと考えられるべき
である。本発明の範囲は上記した説明ではなくて特許請
求の範囲によって示され、特許請求の範囲と均等の意味
および範囲内でのすべての変更が含まれることが意図さ
れる。
The embodiments disclosed this time are to be considered as illustrative in all points and not restrictive. The scope of the present invention is shown not by the above description but by the claims, and is intended to include meanings equivalent to the claims and all modifications within the scope.

【0098】[0098]

【発明の効果】請求項1に記載のマイクロプロセッサに
よれば、縮小命令コードに対応する任意のフル命令コー
ドが命令セットサブテーブルに格納されるので、命令メ
モリからフェッチした縮小命令コードに応じて命令実行
回路がフル命令コードを実行することができ、命令メモ
リのサイズを小さくすることが可能となった。また、実
行モード変更回路が実行モードをフル命令コード実行モ
ードおよび縮小命令コード実行モードのいずれかに変更
するので、アプリケーションに応じた実行モードを選択
することができ、マイクロプロセッサの汎用性を高める
ことが可能となった。
According to the microprocessor of the first aspect, an arbitrary full instruction code corresponding to the reduced instruction code is stored in the instruction set sub-table, so that the reduced instruction code fetched from the instruction memory can be used. The instruction execution circuit can execute the full instruction code, and the size of the instruction memory can be reduced. Further, since the execution mode change circuit changes the execution mode to either the full instruction code execution mode or the reduced instruction code execution mode, the execution mode can be selected according to the application, and the versatility of the microprocessor is enhanced. Became possible.

【0099】請求項2に記載のマイクロプロセッサによ
れば、命令コード長が長いフル命令コードと、命令コー
ド長が短い縮小命令コードとの特徴に応じた実行モード
の変更が可能となった。
According to the microprocessor of the second aspect, the execution mode can be changed according to the characteristics of the full instruction code having a long instruction code length and the reduced instruction code having a short instruction code length.

【0100】請求項3に記載のマイクロプロセッサによ
れば、複数の縮小命令コードの下位側の縮小命令コード
が実行されなくなり、見かけ上の実行サイクルが0とな
って処理速度を向上させることが可能となった。
According to the microprocessor of the third aspect, the reduced instruction code on the lower side of the plurality of reduced instruction codes is not executed, the apparent execution cycle becomes 0, and the processing speed can be improved. Became.

【0101】請求項4に記載のマイクロプロセッサによ
れば、複数の命令セットサブテーブルの中から任意の命
令セットサブテーブルを選択することができ、汎用性の
高いマイクロプロセッサを提供することが可能となっ
た。
According to the microprocessor of the fourth aspect, an arbitrary instruction set sub-table can be selected from a plurality of instruction set sub-tables, and a highly versatile microprocessor can be provided. became.

【0102】請求項5に記載のマイクロプロセッサによ
れば、複数の命令セットサブテーブルが、保持回路に保
持された命令に含まれる複数のフィールドのそれぞれに
対応して設けられるので、フィールドの機能に応じて命
令セットサブテーブルに縮小命令コードに対応したフル
命令コードを設定することができるようになった。
According to the microprocessor of the fifth aspect, a plurality of instruction set sub-tables are provided corresponding to each of the plurality of fields included in the instruction held in the holding circuit. Accordingly, the full instruction code corresponding to the reduced instruction code can be set in the instruction set sub-table.

【0103】請求項6に記載のマイクロプロセッサによ
れば、1つの命令に処理の種類が多い命令コードと、処
理の種類が少ない命令コードとが含まれる場合であって
も、それに適したマイクロプロセッサを構成することが
可能となった。
According to the microprocessor of the sixth aspect, even if one instruction includes an instruction code having a large number of processing types and an instruction code having a small number of processing types, a microprocessor suitable for the instruction code. It has become possible to configure

【0104】請求項7に記載のマイクロプロセッサによ
れば、命令セットサブテーブルの内容が即値ロード命令
によって変更されるので、マイクロプロセッサが命令コ
ードを実行中であっても、ダイナミックに命令セットサ
ブテーブルの内容を変更することが可能となった。
According to the microprocessor of the seventh aspect, since the contents of the instruction set sub-table are changed by the immediate load instruction, the instruction set sub-table can be dynamically changed even when the microprocessor is executing the instruction code. It became possible to change the content of.

【0105】請求項8に記載のマイクロプロセッサによ
れば、マイクロプロセッサのリセット直後において、即
値ロード命令が命令セットサブテーブルのいずれかに設
定されるので、マイクロプロセッサのリセット直後にお
いて容易に命令セットサブテーブルの内容を設定するこ
とが可能となった。
According to the eighth aspect of the present invention, since the immediate load instruction is set in any of the instruction set sub-tables immediately after the reset of the microprocessor, the instruction set sub-table can be easily set immediately after the reset of the microprocessor. It is now possible to set the contents of the table.

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

【図1】 本発明の実施の形態1におけるマイクロプロ
セッサの命令セットおよび命令セットサブテーブルを説
明するための図である。
FIG. 1 is a diagram for explaining an instruction set and an instruction set sub-table of a microprocessor according to a first embodiment of the present invention.

【図2】 水平型マイクロ命令アーキテクチャにおける
縮小命令コードを説明するための図である。
FIG. 2 is a diagram for explaining a reduced instruction code in a horizontal microinstruction architecture.

【図3】 本発明の実施の形態1における命令デコード
部の概略構成を示すブロック図である。
FIG. 3 is a block diagram showing a schematic configuration of an instruction decoding unit according to the first embodiment of the present invention.

【図4】 本発明の実施の形態2における命令デコード
部の概略構成を示すブロック図である。
FIG. 4 is a block diagram showing a schematic configuration of an instruction decoding unit according to the second embodiment of the present invention.

【図5】 本発明の実施の形態3におけるマイクロプロ
セッサの概略構成を示すブロック図である。
FIG. 5 is a block diagram showing a schematic configuration of a microprocessor according to a third embodiment of the present invention.

【図6】 本発明の実施の形態4におけるマイクロプロ
セッサの概略構成を示すブロック図である。
FIG. 6 is a block diagram showing a schematic configuration of a microprocessor according to a fourth embodiment of the present invention.

【図7】 一般的なマイクロプロセッサの概略構成の一
例を示すブロック図である。
FIG. 7 is a block diagram showing an example of a schematic configuration of a general microprocessor.

【図8】 図7に示す命令デコード部2の構成をさらに
詳細に説明するためのブロック図である。
8 is a block diagram for explaining the configuration of the instruction decoding unit 2 shown in FIG. 7 in more detail.

【符号の説明】[Explanation of symbols]

1 マイクロプロセッサ、2,3,4 命令デコード
部、31 プログラム制御部、32 データ演算部、3
3 アドレス演算部、34 レジスタ動作制御部、35
メモリ制御部、41,341,441 命令メモリ、
51 データメモリ、100,141〜145,30
0,400,433 F/F回路、121〜125,4
31 デコード回路、200,416,511,51
2,531〜534,551,552,571,57
2,591〜593 命令セットサブテーブル、210
命令セット、321 乗算器、322 ALU、32
3 シフタ、413,421,502,522,54
2,562,582 セレクタ、422 実行モード変
更命令検出回路、424 実行モード設定レジスタ、5
00,520,540,560,580 サブテーブル
選択制御レジスタ。
1 microprocessor, 2, 3, 4 instruction decode unit, 31 program control unit, 32 data operation unit, 3
3 address operation unit, 34 register operation control unit, 35
Memory control unit, 41, 341, 441 instruction memory,
51 data memory, 100, 141 to 145, 30
0,400,433 F / F circuit, 121-125,4
31 decode circuit, 200, 416, 511, 51
2,531-534,551,552,571,57
2, 591-593 Instruction Set Subtable, 210
Instruction set, 321 multiplier, 322 ALU, 32
3 shifters, 413, 421, 502, 522, 54
2, 562, 582 selector, 422 execution mode change instruction detection circuit, 424 execution mode setting register, 5
00, 520, 540, 560, 580 Sub-table selection control register.

Claims (8)

【特許請求の範囲】[Claims] 【請求項1】 フェッチされた命令コードを保持する保
持回路と、 前記保持回路に保持された命令の実行時において、実行
モードをフル命令コード実行モードおよび縮小命令コー
ド実行モードのいずれかに変更する実行モード変更回路
と、 前記縮小命令コード実行モード時において、縮小命令コ
ードに対応する任意のフル命令コードが格納される命令
セットサブテーブルと、 前記保持回路に保持されるフル命令コードおよび前記命
令セットサブテーブルに格納されるフル命令コードのい
ずれかを選択的に実行する命令実行回路とを含むマイク
ロプロセッサ。
1. A holding circuit for holding a fetched instruction code, and when executing an instruction held in the holding circuit, the execution mode is changed to either a full instruction code execution mode or a reduced instruction code execution mode. An execution mode changing circuit, an instruction set sub-table in which an arbitrary full instruction code corresponding to the reduced instruction code is stored in the reduced instruction code execution mode, a full instruction code held in the holding circuit and the instruction set An instruction execution circuit for selectively executing any of the full instruction codes stored in the sub-table.
【請求項2】 前記実行モード変更回路は、前記フル命
令コード実行モード時において、前記保持回路に保持さ
れるフル命令コードの所定ビットを参照して、実行モー
ドを縮小命令コード実行モードに変更し、 前記縮小命令コード実行モード時において、前記保持回
路に保持される縮小命令コードが所定命令の場合に、実
行モードをフル命令コード実行モードに変更する、請求
項1記載のマイクロプロセッサ。
2. The execution mode change circuit, in the full instruction code execution mode, changes the execution mode to a reduced instruction code execution mode by referring to a predetermined bit of the full instruction code held in the holding circuit. The microprocessor according to claim 1, wherein, in the reduced instruction code execution mode, when the reduced instruction code held in the holding circuit is a predetermined instruction, the execution mode is changed to the full instruction code execution mode.
【請求項3】 前記実行モード変更回路は、前記縮小命
令コード実行モード時において、前記保持回路に保持さ
れる複数の縮小命令コードの下位側の縮小命令コードが
前記所定命令であるか否かを下位側の縮小命令コードの
デコードステージで判定して実行モードを変更する、請
求項2記載のマイクロプロセッサ。
3. The execution mode changing circuit, in the reduced instruction code execution mode, determines whether a reduced instruction code on a lower side of a plurality of reduced instruction codes held in the holding circuit is the predetermined instruction. 3. The microprocessor according to claim 2, wherein the execution mode is changed by making a determination at the decoding stage of the reduced instruction code on the lower side.
【請求項4】 前記マイクロプロセッサは、複数の前記
命令セットサブテーブルを含み、 前記マイクロプロセッサはさらに、前記複数の命令セッ
トサブテーブルのいずれを選択するかの情報が格納され
るレジスタと、 前記レジスタに格納された情報に応じて、前記複数の命
令セットサブテーブルの出力を切替えるセレクタとを含
む、請求項1〜3のいずれかに記載のマイクロプロセッ
サ。
4. The microprocessor includes a plurality of the instruction set sub-tables, the microprocessor further stores a register for storing information on which of the plurality of instruction set sub-tables to select, and the register. The microprocessor according to any one of claims 1 to 3, further comprising: a selector that switches outputs of the plurality of instruction set sub-tables according to information stored in.
【請求項5】 実行すべき処理内容を示すフィールドを
複数含んだ命令コードを実行するマイクロプロセッサで
あって、 フェッチされた命令コードを保持する保持回路と、 前記保持回路に保持された命令に含まれる複数のフィー
ルドのそれぞれに対応して設けられ、縮小命令コードに
対応する任意のフル命令コードが格納される複数の命令
セットサブテーブルと、 前記複数の命令セットサブテーブルから出力されるフル
命令コードをデコードする複数のデコード回路と、 前記複数のデコード回路によるデコード結果に応じて、
フル命令コードを実行する複数の命令実行回路とを含
む、マイクロプロセッサ。
5. A microprocessor for executing an instruction code including a plurality of fields indicating processing contents to be executed, the holding circuit holding a fetched instruction code, and the instruction held in the holding circuit. A plurality of instruction set sub-tables provided corresponding to each of a plurality of fields stored therein and storing arbitrary full instruction codes corresponding to reduced instruction codes, and full instruction codes output from the plurality of instruction set sub-tables A plurality of decoding circuits for decoding the
A plurality of instruction execution circuits that execute a full instruction code.
【請求項6】 実行すべき処理内容を示すフィールドを
複数含んだ命令コードを実行するマイクロプロセッサで
あって、 フェッチされた命令コードを保持する保持回路と、 前記保持回路に保持された命令に含まれる複数のフィー
ルドの中の1以上のフィールドに対応して設けられ、縮
小命令コードに対応する任意のフル命令コードが格納さ
れる1以上の命令セットサブテーブルと、 前記1以上のフィールドに対応して設けられた命令セッ
トサブテーブルから出力されるフル命令コードをデコー
ドする第1のデコード回路と、 前記1以上のフィールド以外のフィールドに対応するフ
ル命令コードをそのままデコードする第2のデコード回
路と、 前記第1および第2のデコード回路によるデコード結果
に応じて、フル命令コードを実行する複数の命令実行回
路とを含む、マイクロプロセッサ。
6. A microprocessor for executing an instruction code including a plurality of fields indicating processing contents to be executed, the holding circuit holding a fetched instruction code, and the instruction held in the holding circuit. One or more instruction set sub-tables that are provided corresponding to one or more fields of a plurality of fields stored therein and that store arbitrary full instruction codes corresponding to reduced instruction codes; and that correspond to the one or more fields. A first decoding circuit for decoding a full instruction code output from an instruction set sub-table provided by the above, and a second decoding circuit for directly decoding a full instruction code corresponding to a field other than the one or more fields, A plurality of executing a full instruction code according to a decoding result by the first and second decoding circuits. And a command execution circuit, a microprocessor.
【請求項7】 前記命令セットサブテーブルの内容は、
即値ロード命令によって変更される、請求項1〜6のい
ずれかに記載のマクロプロセッサ。
7. The contents of the instruction set sub-table are:
The macro processor according to any one of claims 1 to 6, which is modified by an immediate load instruction.
【請求項8】 前記マイクロプロセッサのリセット直後
において、前記即値ロード命令が前記命令セットサブテ
ーブルのいずれかに設定される、請求項7記載のマイク
ロプロセッサ。
8. The microprocessor according to claim 7, wherein the immediate load instruction is set in any of the instruction set sub-tables immediately after the reset of the microprocessor.
JP2002032116A 2002-02-08 2002-02-08 Microprocessor Withdrawn JP2003233496A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002032116A JP2003233496A (en) 2002-02-08 2002-02-08 Microprocessor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002032116A JP2003233496A (en) 2002-02-08 2002-02-08 Microprocessor

Publications (1)

Publication Number Publication Date
JP2003233496A true JP2003233496A (en) 2003-08-22

Family

ID=27775327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002032116A Withdrawn JP2003233496A (en) 2002-02-08 2002-02-08 Microprocessor

Country Status (1)

Country Link
JP (1) JP2003233496A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010522904A (en) * 2006-09-28 2010-07-08 3ディーラブス インク., エルティーディー. Processing architecture using a set of classified instructions
JP2013546100A (en) * 2010-12-16 2013-12-26 マイクロソフト コーポレーション Security sandbox

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010522904A (en) * 2006-09-28 2010-07-08 3ディーラブス インク., エルティーディー. Processing architecture using a set of classified instructions
JP2013546100A (en) * 2010-12-16 2013-12-26 マイクロソフト コーポレーション Security sandbox

Similar Documents

Publication Publication Date Title
US6745319B1 (en) Microprocessor with instructions for shuffling and dealing data
JP3711422B2 (en) Information processing circuit
US6671797B1 (en) Microprocessor with expand instruction for forming a mask from one bit
US6986025B2 (en) Conditional execution per lane
JP3547139B2 (en) Processor
US7127593B2 (en) Conditional execution with multiple destination stores
US7177876B2 (en) Speculative load of look up table entries based upon coarse index calculation in parallel with fine index calculation
US10678540B2 (en) Arithmetic operation with shift
EP0427245B1 (en) Data processor capable of simultaneously executing two instructions
US4954943A (en) Data processing system
EP1267258A2 (en) Setting up predicates in a processor with multiple data paths
US20230325189A1 (en) Forming Constant Extensions in the Same Execute Packet in a VLIW Processor
US7861071B2 (en) Conditional branch instruction capable of testing a plurality of indicators in a predicate register
US9015216B2 (en) Fast static rotator/shifter with non two&#39;s complemented decode and fast mask generation
US8549266B2 (en) System and method of instruction modification
CN107851016B (en) Vector arithmetic instructions
US6757819B1 (en) Microprocessor with instructions for shifting data responsive to a signed count value
US6889320B1 (en) Microprocessor with an instruction immediately next to a branch instruction for adding a constant to a program counter
US9983872B2 (en) Conditional selection of data elements
US6834338B1 (en) Microprocessor with branch-decrement instruction that provides a target and conditionally modifies a test register if the register meets a condition
JP2003233496A (en) Microprocessor
JP5437878B2 (en) Information processing device
US6425047B1 (en) Process containing address decoders suited to improvements in clock speed
JP2006053830A (en) Branch estimation apparatus and branch estimation method
US5187782A (en) Data processing system

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050510