JPH11306015A - Operating processing method and microcomputer using the method - Google Patents

Operating processing method and microcomputer using the method

Info

Publication number
JPH11306015A
JPH11306015A JP10111224A JP11122498A JPH11306015A JP H11306015 A JPH11306015 A JP H11306015A JP 10111224 A JP10111224 A JP 10111224A JP 11122498 A JP11122498 A JP 11122498A JP H11306015 A JPH11306015 A JP H11306015A
Authority
JP
Japan
Prior art keywords
instruction
instruction code
microcomputer
decoder
predecoder
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
JP10111224A
Other languages
Japanese (ja)
Inventor
Yukihiro Sasagawa
幸宏 笹川
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP10111224A priority Critical patent/JPH11306015A/en
Publication of JPH11306015A publication Critical patent/JPH11306015A/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros

Abstract

PROBLEM TO BE SOLVED: To provide an operation processing method and a microcomputer which uses the operation processing method which can reduce utility capacity of an instruction memory and can improve compression efficiency and speed up operation. SOLUTION: A primary instruction code to be inputted to an instruction decoder 80 has an instruction length of an (m) bit ((m) is a natural number) sufficient to control an operator/controller/register group and a program expressed by a secondary instruction code which is used by the program having the instruction length of an (n) bit ((n) indicates a natural number and m>=n) sufficient to allocate all the primary instruction codes used by the program is stored in an instruction memory 60. Then, a predecoder 70 is structured in which reconstruction of logic is easy as is represented by a PLA, a gate array or the like, converts the secondary instruction code taken out of the instruction memory 60 into the primary instruction code, the primary instruction code is converted into plural control signals, and the operator/controller/register group 90 executes a specified processing on the basis of a control signal.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、mビットからなる
命令コードで作成したプログラムにおける演算処理方法
及びそれを用いたマイクロコンピュータに関するもので
ある。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic processing method for a program created with an instruction code of m bits and a microcomputer using the same.

【0002】[0002]

【従来の技術】従来から広く利用されている装置組み込
み用のマイクロコンピュータでは、mビット(m:自然
数)からなる命令コードで作成したプログラムが使用さ
れている。
2. Description of the Related Art Conventionally, microcomputers for embedding a device widely use a program created with an instruction code of m bits (m: natural number).

【0003】このような従来のマイクロコンピュータに
ついて、以下に説明する。図11は従来のマイクロコン
ピュータの一構成例を示すブロック図である。このマイ
クロコンピュータ300は、プログラムを格納する命令
メモリ310と、命令メモリ310内のプログラム中の
命令コードを複数の制御信号に変換する命令デコーダ3
20と、命令デコーダ320からの制御信号に基づいた
所定の処理を実行する演算器/制御装置/レジスタ群3
30とから構成されている。
[0003] Such a conventional microcomputer will be described below. FIG. 11 is a block diagram showing a configuration example of a conventional microcomputer. The microcomputer 300 includes an instruction memory 310 for storing a program, and an instruction decoder 3 for converting an instruction code in the program in the instruction memory 310 into a plurality of control signals.
20 and an arithmetic / control device / register group 3 for executing a predetermined process based on a control signal from the instruction decoder 320
30.

【0004】以上のように構成されたマイクロコンピュ
ータ300において、命令メモリ310から取り出した
命令コードを命令デコーダ320で複数の制御信号に変
換し、その制御信号に基づいて、演算器/制御装置/レ
ジスタ群330が所定の処理を実行する。また、命令メ
モリ310内のプログラム中の命令コードは命令デコー
ダ320の設計時に決定しており、この命令コードを用
いて記述されたプログラムを命令メモリ310に格納す
るため、命令メモリ310のワード長は、命令デコーダ
320の設計時に決定した命令長に依存する。
In the microcomputer 300 configured as described above, the instruction code fetched from the instruction memory 310 is converted into a plurality of control signals by an instruction decoder 320, and based on the control signals, an arithmetic unit / controller / register The group 330 performs a predetermined process. The instruction code in the program in the instruction memory 310 is determined at the time of designing the instruction decoder 320. Since the program described using this instruction code is stored in the instruction memory 310, the word length of the instruction memory 310 is , The instruction length determined when the instruction decoder 320 is designed.

【0005】上記のようなマイクロコンピュータでは、
特に近年、高速化および高機能化が必要とされている
が、同時に低コスト化が要求されている。
In the microcomputer as described above,
In particular, in recent years, high speed and high function have been required, but at the same time, cost reduction is required.

【0006】[0006]

【発明が解決しようとする課題】しかしながら上記のよ
うな従来の構成のマイクロコンピュータでは、市場で要
求されている高速化および高機能化に対して、性能向上
のために演算器/制御装置/レジスタ群330内の演算
器やレジスタの数を増やすと、それに伴って命令長が増
加する。その結果、命令メモリ310のワード長が長く
なるためその面積を増加する必要がある。このことは、
命令メモリ310をチップに内蔵する組み込み用のマイ
クロコンピュータにとって、チップ面積の増大、つまり
コスト増大の原因となるという問題点を有していた。
However, in the microcomputer having the conventional configuration as described above, the operation unit / control unit / register is used to improve the performance in response to the demand for high speed and high function in the market. When the number of arithmetic units and registers in the group 330 is increased, the instruction length increases accordingly. As a result, the word length of the instruction memory 310 becomes longer, so that its area needs to be increased. This means
The built-in microcomputer having the instruction memory 310 built in the chip has a problem that the chip area is increased, that is, the cost is increased.

【0007】一方、実際のアプリケーションでは命令の
使用効率はそれ程高くない。図12(a)に32ビット
長の命令セットの例を記したが、この例の場合、655
36種類の命令が表現可能であるが、組み込み用のマイ
クロコンピュータの命令メモリの容量は高々32Kワー
ド程度という少ない容量であるため、図12(b)に示
すように、各アプリケーション中で、用意した命令の内
の大半が使用されないという状況になってしまうという
問題点も有していた。
On the other hand, in an actual application, the instruction use efficiency is not so high. FIG. 12A shows an example of a 32-bit instruction set. In this case, 655 is used.
Although 36 types of instructions can be expressed, the capacity of the instruction memory of the built-in microcomputer is a small capacity of at most about 32 K words, and therefore, as shown in FIG. Another problem is that most of the instructions are not used.

【0008】命令メモリの面積増加を抑えるための方法
として、特開平7−13763号公報に開示されている
ように、可変長命令を採用して統計的に出現頻度の高い
命令について命令長を短くし、プログラム全体を格納す
るのに必要なメモリ容量を削減する方法や、特開平6−
348490号公報に開示されているように、プログラ
ムを圧縮した形でメモリに格納することでメモリ容量を
削減する方法が既に考案されている。
As a method for suppressing an increase in the area of the instruction memory, as disclosed in Japanese Patent Application Laid-Open No. H7-13763, a variable length instruction is adopted to shorten the instruction length of an instruction having a statistically high frequency of appearance. And a method for reducing the memory capacity required to store the entire program.
As disclosed in Japanese Patent Publication No. 348490, a method of reducing the memory capacity by storing a program in a compressed form in a memory has already been devised.

【0009】しかし、前者の方法では、命令デコーダの
論理が固定であるためにプログラムで使用していない命
令も含めて全ての命令を命令コードに割り当てる必要が
あり、結果として命令長短縮には限界がある。また、後
者の方法では、プログラム実行時にデータ伸長のステッ
プを必要とするために、プログラム制御が複雑になり、
結果として動作の高速化に限界があるという問題点を有
していた。
However, in the former method, since the logic of the instruction decoder is fixed, it is necessary to assign all instructions including instruction not used in the program to the instruction code. There is. In the latter method, since a data decompression step is required at the time of program execution, program control becomes complicated,
As a result, there is a problem that there is a limit in increasing the operation speed.

【0010】本発明は、上記従来の問題点を解決するも
ので、命令メモリの使用容量を低減することができ、圧
縮効率の向上および動作のより高速化を実現することが
できる演算処理方法及びそれを用いたマイクロコンピュ
ータを提供する。
An object of the present invention is to solve the above-mentioned conventional problems, and to provide an arithmetic processing method capable of reducing the used capacity of an instruction memory, improving compression efficiency and achieving higher speed operation. A microcomputer using the same is provided.

【0011】[0011]

【課題を解決するための手段】上記の課題を解決するた
めに本発明の演算処理方法及びそれを用いたマイクロコ
ンピュータは、15ビットの2次命令コードを用いるこ
とによって、ワード長が15ビットの命令メモリを有し
ており、従来のように、32ビットの命令コードを用い
ることによって、ワード長が32ビットの命令メモリを
有する場合に比べて、命令メモリの面積のみで比較する
と半分以下にすることを特徴とする。
In order to solve the above-mentioned problems, an arithmetic processing method according to the present invention and a microcomputer using the same employ a 15-bit secondary instruction code, so that the word length is 15 bits. It has an instruction memory, and by using a 32-bit instruction code as in the past, the word length is reduced to less than half compared to the case of having an instruction memory with a 32-bit word length only by the area of the instruction memory. It is characterized by the following.

【0012】このように、マイクロコンピュータで使用
可能な命令のうちプログラムで使用されている命令だけ
を、最終的に命令メモリに格納する2次命令コードに割
り当てることで、命令の自由度を犠牲にすることなく、
命令長を最短にすることを特徴とする。
As described above, by allocating only the instructions used in the program among the instructions usable in the microcomputer to the secondary instruction code finally stored in the instruction memory, the flexibility of the instructions is sacrificed. Without doing
It is characterized by minimizing the instruction length.

【0013】また、2次命令コードから1次命令コード
への変換動作は、特別な制御を必要とせず、プリデコー
ダでデコードするという単純な変換によって実現してい
るために、高速動作を可能とすることを特徴とする。
The conversion operation from the secondary instruction code to the primary instruction code does not require any special control and is realized by a simple conversion of decoding by a predecoder, so that high-speed operation is possible. It is characterized by doing.

【0014】また、プリデコーダは、論理の再構成が容
易なプログラマブルロジックにしており、プログラム変
更によって使用される命令が変化した場合でも柔軟に対
応することを特徴とする。
The pre-decoder is a programmable logic whose logic can be easily reconfigured, and is characterized in that the pre-decoder can flexibly cope with a change in an instruction used due to a program change.

【0015】さらに、本手法は既存のマイクロコンピュ
ータにおいても、プリデコーダを追加することで適用
し、設計資源を有効に活用することを可能とすることを
特徴とする。
Furthermore, the present method is characterized in that it can be applied to an existing microcomputer by adding a predecoder, so that design resources can be effectively used.

【0016】以上により、命令メモリの使用容量を低減
することができ、圧縮効率の向上および動作のより高速
化を実現することができる。
As described above, the used capacity of the instruction memory can be reduced, and the compression efficiency can be improved and the operation can be performed at higher speed.

【0017】[0017]

【発明の実施の形態】本発明の請求項1に記載の演算処
理方法は、 mビット(m:自然数)からなる1次命令
コードで作成したプログラムにおいて、使用されている
命令を抽出してその出現頻度を解析する1次命令コード
プログラム解析ステップと、その解析結果に応じて、使
用されている1次命令コードのみを、改めてnビット
(n:自然数、かつm≧n)からなる2次命令コードに
割り当てる2次命令コード生成ステップと、前記2次命
令コードをプログラマブルロジックを用いて前記1次命
令コードに変換するための論理構造を生成するプリデコ
ーダ論理生成ステップと、前記プリデコーダ論理生成ス
テップにより得られるプログラマブルロジックからなる
プリデコーダによって、前記2次命令コードによるプロ
グラムを1次命令コードに変換するステップと、前記1
次命令コードを複数の制御信号に変換するステップと、
前記制御信号に基づいた所定の処理を実行するステップ
とを含む方法とする。
DESCRIPTION OF THE PREFERRED EMBODIMENTS An arithmetic processing method according to a first aspect of the present invention is a method for extracting an instruction used in a program created by a primary instruction code consisting of m bits (m: natural number), and A primary instruction code program analyzing step for analyzing the frequency of occurrence, and according to the analysis result, only the primary instruction code used is replaced by a secondary instruction consisting of n bits (n: natural number and m ≧ n) Generating a secondary instruction code assigned to a code; generating a predecoder logic for generating a logical structure for converting the secondary instruction code into the primary instruction code using programmable logic; and generating the predecoder logic. The program based on the secondary instruction code is converted into a primary instruction code by a predecoder composed of programmable logic obtained by Converting to 1
Converting the next instruction code into a plurality of control signals;
Executing a predetermined process based on the control signal.

【0018】請求項2に記載のマイクロコンピュータ
は、請求項1に記載の演算処理方法に含まれる各ステッ
プを用いて演算処理するマイクロコンピュータであっ
て、2次命令コード生成ステップによって生成された2
次命令コードからなるプログラムを格納する命令メモリ
と、プリデコーダ論理生成ステップによって生成された
論理構造によりプログラムされるプログラマブルロジッ
クからなるプリデコーダと、前記プリデコーダから出力
される1次命令コードを複数の制御信号に変換する命令
デコーダと、前記命令デコーダから出力される複数の制
御信号に基づいた所定の処理を実行する演算器/制御装
置/レジスタ群とを備えた構成とする。
According to a second aspect of the present invention, there is provided a microcomputer for performing arithmetic processing using each step included in the arithmetic processing method according to the first aspect of the present invention.
An instruction memory for storing a program consisting of the next instruction code, a predecoder consisting of programmable logic programmed by the logic structure generated in the predecoder logic generation step, and a plurality of primary instruction codes output from the predecoder. It is configured to include an instruction decoder for converting into a control signal, and a computing unit / control device / register group for executing a predetermined process based on a plurality of control signals output from the instruction decoder.

【0019】請求項3に記載のマイクロコンピュータ
は、請求項1に記載の演算処理方法に含まれる各ステッ
プを用いて演算処理するマイクロコンピュータであっ
て、2次命令コード生成ステップによって生成された2
次命令コードからなるプログラムを格納する命令メモリ
と、プリデコーダ論理生成ステップによって生成された
論理構造によりプログラムされるプログラマブルロジッ
クからなるプリデコーダと、前記命令メモリから取り出
した2次命令コードからなる命令データを格納し、複数
の2次命令コードを前記プリデコーダに供給する命令コ
ードバッファと、前記プリデコーダから出力される複数
の1次命令コードを複数の制御信号に変換する命令デコ
ーダと、前記プリデコーダのパイプライン段数を格納す
るパイプライン設定レジスタと、前記命令デコーダから
出力される複数の制御信号に基づいた所定の処理を実行
する演算器/制御装置/レジスタ群とを備えた構成とす
る。
According to a third aspect of the present invention, there is provided a microcomputer for performing arithmetic processing using each step included in the arithmetic processing method according to the first aspect of the present invention.
An instruction memory for storing a program consisting of the next instruction code, a predecoder consisting of a programmable logic programmed by the logic structure generated by the predecoder logic generation step, and instruction data consisting of a secondary instruction code retrieved from the instruction memory , An instruction code buffer for supplying a plurality of secondary instruction codes to the predecoder, an instruction decoder for converting a plurality of primary instruction codes output from the predecoder into a plurality of control signals, and the predecoder And a group of operation units / control devices / registers for executing a predetermined process based on a plurality of control signals output from the instruction decoder.

【0020】請求項4に記載のマイクロコンピュータ
は、請求項2または請求項3に記載のマイクロコンピュ
ータであって、一つあるいは複数の半導体基板に形成さ
れた構成とする。
A microcomputer according to a fourth aspect is the microcomputer according to the second or third aspect, wherein the microcomputer is formed on one or a plurality of semiconductor substrates.

【0021】以上の方法または構成によると、15ビッ
トの2次命令コードを用いることによって、ワード長が
15ビットの命令メモリを有しており、従来のように、
32ビットの命令コードを用いることによって、ワード
長が32ビットの命令メモリを有する場合に比べて、命
令メモリの面積のみで比較すると半分以下にする。
According to the above method or configuration, by using a 15-bit secondary instruction code, an instruction memory having a word length of 15 bits is provided.
By using a 32-bit instruction code, the word length is reduced to half or less when compared only with the area of the instruction memory as compared with the case where the instruction memory has a 32-bit word length.

【0022】このように、マイクロコンピュータで使用
可能な命令のうちプログラムで使用されている命令だけ
を、最終的に命令メモリに格納する2次命令コードに割
り当てることで、命令の自由度を犠牲にすることなく、
命令長を最短にする。
As described above, by allocating only the instructions used in the program among the instructions usable in the microcomputer to the secondary instruction code finally stored in the instruction memory, the degree of freedom of the instructions is sacrificed. Without doing
Minimize instruction length.

【0023】また、2次命令コードから1次命令コード
への変換動作は、特別な制御を必要とせず、プリデコー
ダでデコードするという単純な変換によって実現してい
るために、高速動作を可能とする。
The conversion operation from the secondary instruction code to the primary instruction code does not require special control and is realized by a simple conversion of decoding by a predecoder, so that high-speed operation is possible. I do.

【0024】また、プリデコーダは、論理の再構成が容
易なプログラマブルロジックにしており、プログラム変
更によって使用される命令が変化した場合でも柔軟に対
応する。
The predecoder is a programmable logic whose logic can be easily reconfigured, and can flexibly cope with a case where an instruction used by a program change is changed.

【0025】さらに、本手法は既存のマイクロコンピュ
ータにおいても、プリデコーダを追加することで適用
し、設計資源を有効に活用することを可能とする。以
下、本発明の実施の形態を示す演算処理方法及びそれを
用いたマイクロコンピュータについて、図面を参照しな
がら具体的に説明する。ここでは、ディジタルシグナル
プロセッサに具体化した場合を例に挙げて説明する。
Further, the present method can be applied to an existing microcomputer by adding a predecoder, so that design resources can be effectively used. Hereinafter, an arithmetic processing method according to an embodiment of the present invention and a microcomputer using the same will be specifically described with reference to the drawings. Here, a case where the present invention is embodied in a digital signal processor will be described as an example.

【0026】まず、本実施の形態の演算処理方法及びそ
れを用いたマイクロコンピュータの原理について説明す
る。図1は本実施の形態の演算処理方法及びそれを用い
たマイクロコンピュータの原理説明図である。図1にお
いて、命令デコーダ80に入力する1次命令コードは演
算器/制御装置/レジスタ群90を制御するのに十分な
mビット(m:自然数)の命令長を有している。この1
次命令コードは命令デコーダ80の設計時に決定してい
る。アプリケーションプログラムの作成はこの1次命令
コードを用いて行う。アプリケーションプログラムを命
令メモリ60に格納する際に、以下のステップを経る。
First, the arithmetic processing method of the present embodiment and the principle of a microcomputer using the same will be described. FIG. 1 is a diagram for explaining the principle of an arithmetic processing method according to the present embodiment and a microcomputer using the same. In FIG. 1, the primary instruction code input to the instruction decoder 80 has an instruction length of m bits (m: natural number) sufficient to control the operation unit / controller / register group 90. This one
The next instruction code is determined when the instruction decoder 80 is designed. Application programs are created using the primary instruction codes. When storing the application program in the instruction memory 60, the following steps are performed.

【0027】まず、1次命令コードプログラム解析装置
20が1次命令コードで作成したプログラムとテストベ
クタから使用されている命令の抽出と出現頻度を解析す
る。次に、2次命令コード生成装置30が前記の解析結
果からプログラムで使用されている1次命令コードに新
たな2次命令コードを割り当てる。この2次命令コード
が命令メモリ60に格納される命令コードである。2次
命令コードは、1次命令コードの内プログラムで使用さ
れているコードのみを割り当てるのに十分なnビット
(n:自然数、かつm≧n)の命令長を有している。例
えば、1500ステップのプログラムの中で重複してい
る1次命令コードを省いた結果、1024パターンの1
次命令コードが使用されている場合は、2次命令コード
の命令長は10ビット(2の10乗=1024)であ
る。
First, the primary instruction code program analyzing device 20 extracts the used instruction from the program and test vector created by the primary instruction code and analyzes the frequency of occurrence. Next, the secondary instruction code generation device 30 allocates a new secondary instruction code to the primary instruction code used in the program from the analysis result. This secondary instruction code is an instruction code stored in the instruction memory 60. The secondary instruction code has an instruction length of n bits (n: natural number and m ≧ n), which is sufficient to allocate only the code used in the program among the primary instruction codes. For example, as a result of omitting duplicated primary instruction codes in a 1500-step program, 1
When the next instruction code is used, the instruction length of the secondary instruction code is 10 bits (2 10 = 1024).

【0028】この2次命令コードの決定と同時に、プリ
デコーダ論理生成装置40が、2次命令コードを1次命
令コードに変換するプリデコーダ70の論理を決定す
る。ここで、プリデコーダ70は、PLA(Progr
amable Logic Array)やゲートアレ
イ、GAL、FPGA等に代表されるように、論理の再
構成が容易な構造になっている。
Simultaneously with the determination of the secondary instruction code, the pre-decoder logic generation device 40 determines the logic of the pre-decoder 70 that converts the secondary instruction code into the primary instruction code. Here, the predecoder 70 outputs a PLA (Progr)
The logic has a structure that can be easily reconfigured, as represented by an enable logic array, a gate array, a GAL, and an FPGA.

【0029】命令メモリ60から取り出した2次命令コ
ードをプリデコーダ70で1次命令コードに変換し、1
次命令コードを命令デコーダ80で複数の制御信号に変
換し、その制御信号に基づいて、演算器/制御装置/レ
ジスタ群90は所定の処理を実行する。2次命令コード
はプリデコーダ70の論理生成時に決定しており、この
2次命令コードを用いて記述されたプログラムを命令メ
モリ60に格納するため、命令メモリ60のワード長は
命令デコーダ80の設計時に決定した1次命令コードの
命令長に依存しない。
The secondary instruction code extracted from the instruction memory 60 is converted into a primary instruction code by the predecoder 70, and
The next instruction code is converted into a plurality of control signals by the instruction decoder 80, and the arithmetic / control device / register group 90 executes a predetermined process based on the control signals. The secondary instruction code is determined at the time of logic generation of the predecoder 70, and a program described using this secondary instruction code is stored in the instruction memory 60. It does not depend on the instruction length of the primary instruction code determined at the time.

【0030】2次命令コードの命令長は1次命令コード
と比較して短く、結果として命令メモリ60のワード長
は従来に比較して短くすることができる。なお、2次命
令コードをnビットの固定長にするとプリデコーダ70
の構成が簡単であるが、命令の出現頻度に応じて1〜n
ビットの可変長にすることで、プログラム全体の容量が
さらに低減できる。
The instruction length of the secondary instruction code is shorter than that of the primary instruction code. As a result, the word length of the instruction memory 60 can be shorter than that of the conventional instruction code. If the secondary instruction code has a fixed length of n bits, the predecoder 70
Is simple, but 1 to n depending on the frequency of the instruction.
By making the bit variable length, the capacity of the entire program can be further reduced.

【0031】図2はプログラム最適化装置の作用説明図
である。1次命令コードプログラム解析装置20に1次
命令コードで作成されたプログラムと、プログラムの入
出力のパターンであるテストベクタを入力する。ステッ
プ21でプログラム中で使用されている1次命令コード
の抽出を行う。ステップ22でテストベクタをプログラ
ムに与えた場合における各命令コードの出現回数を求め
る。ステップ23で1次命令コードのオペコード別に分
類を行い、ステップ24で出現回数順にソートを行う。
この情報をもとに2次命令コード生成装置30で2次命
令コードの割り当てを行い、プリデコーダ論理生成装置
40でプリデコーダ論理構造を生成する。なお、ステッ
プ23でオペコード別の分類を行った理由は、2次命令
コードを割り当てる際に、同じオペコードをまとめた方
がプリデコーダの論理が単純になるためである。同様の
アプローチとして、オペランドのソース/デスティネー
ション別や、実行フラグ条件別の分類を行う方法、ま
た、2次命令コードにグレイコードを採用する方法も考
えられる。
FIG. 2 is a diagram for explaining the operation of the program optimizing device. The program created by the primary instruction code and the test vector which is the input / output pattern of the program are input to the primary instruction code program analysis device 20. In step 21, the primary instruction code used in the program is extracted. In step 22, the number of appearances of each instruction code when the test vector is given to the program is obtained. In step 23, classification is performed for each operation code of the primary instruction code, and in step 24, sorting is performed in the order of the number of appearances.
Based on this information, the secondary instruction code generator 30 allocates a secondary instruction code, and the predecoder logic generator 40 generates a predecoder logical structure. The reason why the classification is performed for each operation code in step 23 is that the logic of the predecoder becomes simpler when the same operation code is put together when the secondary instruction code is assigned. As a similar approach, a method of classifying operands by source / destination or an execution flag condition, or a method of employing a gray code as a secondary instruction code can be considered.

【0032】図3に本実施の形態の具体例であるディジ
タルシグナルプロセッサのブロック図を示す。ディジタ
ルシグナルプロセッサ100は、命令メモリ110、ア
ナログ−ディジタル変換器(ADC)120、ディジタ
ル−アナログ変換器(DAC)130、I/Oポート1
40、プリデコーダ150、プログラム制御ユニット1
60、割り込み制御ユニット170、I/O制御ユニッ
ト180、エミュレータインタフェース(ICE)19
0、クロック制御ユニット200、タイマ210、演算
ユニット220、ポインタ演算ユニット230、レジス
タ群240、データメモリ250、及びデータバス26
0、270、280等を備えている。
FIG. 3 shows a block diagram of a digital signal processor which is a specific example of the present embodiment. The digital signal processor 100 includes an instruction memory 110, an analog-digital converter (ADC) 120, a digital-analog converter (DAC) 130, an I / O port 1
40, predecoder 150, program control unit 1
60, interrupt control unit 170, I / O control unit 180, emulator interface (ICE) 19
0, clock control unit 200, timer 210, arithmetic unit 220, pointer arithmetic unit 230, register group 240, data memory 250, and data bus 26
0, 270, 280, etc.

【0033】データバス260は演算ユニット220と
レジスタ群240を相互に接続している。データバス2
70はポインタ演算ユニット230とレジスタ群240
を相互に接続している。データバス280はレジスタ群
240とデータメモリ250、I/O制御ユニット18
0を相互に接続している。
The data bus 260 connects the arithmetic unit 220 and the register group 240 to each other. Data bus 2
70 is a pointer operation unit 230 and a register group 240
Are interconnected. The data bus 280 includes the register group 240, the data memory 250, and the I / O control unit 18.
0 are connected to each other.

【0034】図4に示すように、プリデコーダ150は
AND平面153、OR平面154を有するPLA(P
rogramable Logic Array)構造
となっている。なおプリデコーダ150の構造は、PL
A構造以外に、ゲートアレイ、GAL、FPGA等、論
理の再構成が容易な構造を取り入れることが可能であ
る。プリデコーダ150は、命令メモリ110からkビ
ット毎に命令データをフェッチし、命令コードバッファ
151に格納する。命令コードバッファ151のバッフ
ァ長は2kビットである。命令コードバッファ151か
らnビットの2次命令コード4個をラッチ152に格納
し、ラッチ152の内容をAND平面153、OR平面
154でデコードし、mビットの1次命令コード4個を
プログラム制御ユニット160に供給する。
As shown in FIG. 4, predecoder 150 has a PLA (P) having an AND plane 153 and an OR plane 154.
(Programmable Logic Array) structure. The structure of the predecoder 150 is PL
In addition to the A structure, it is possible to adopt a structure such as a gate array, a GAL, an FPGA, etc., in which logic can be easily reconfigured. The predecoder 150 fetches instruction data for each k bits from the instruction memory 110 and stores the instruction data in the instruction code buffer 151. The instruction code buffer 151 has a buffer length of 2 k bits. Four n-bit secondary instruction codes are stored in the latch 152 from the instruction code buffer 151, the contents of the latch 152 are decoded by the AND plane 153 and the OR plane 154, and the four m-bit primary instruction codes are stored in the program control unit. 160.

【0035】AND平面153、OR平面154はパイ
プラインレジスタを備えており、デコード時間によって
パイプライン段数を変化させる。このパイプライン段数
は後述するパイプライン設定レジスタ165に格納さ
れ、パイプライン段数に従った分岐制御を実現する。
Each of the AND plane 153 and the OR plane 154 includes a pipeline register, and changes the number of pipeline stages according to a decoding time. The number of pipeline stages is stored in a pipeline setting register 165 described later, and implements branch control according to the number of pipeline stages.

【0036】図5に示すように、命令コードバッファ1
51はフェッチしたkビットの命令データを前ステージ
でのバッファ残りの末端に接続(マージ)し、2次命令
コード4nビットを供給した後、供給したデータを捨て
てバッファ内容を移動(ローテート)する。
As shown in FIG. 5, the instruction code buffer 1
51 connects (merges) the fetched k-bit instruction data to the remaining end of the buffer in the previous stage, supplies 4n bits of the secondary instruction code, discards the supplied data, and moves (rotates) the buffer contents. .

【0037】図6に示すように、nビットの2次命令コ
ード4個から変換された1次命令コードは、実行フラグ
条件、オペコード、オペランドの各フィールドに分けら
れている。
As shown in FIG. 6, the primary instruction code converted from four n-bit secondary instruction codes is divided into execution flag condition, operation code, and operand fields.

【0038】図7に示すように、プログラム制御ユニッ
ト160は、4個の1次命令コードを命令レジスタ16
1に格納し、命令レジスタ161の内容を命令デコーダ
162でデコードし、演算ユニット220、ポインタ演
算ユニット230、レジスタ群240、データメモリ2
50に制御信号を供給する。同時にインストラクション
ポインタ163に格納されている命令アドレスを命令メ
モリ110に供給する。インストラクションポインタ1
63の内容は分岐制御164によってインクリメントさ
れるか、もしくは分岐先命令アドレスが格納される。分
岐制御164は通常の分岐処理以外に、割り込み制御ユ
ニット170から供給される割り込み制御信号に従って
割り込み処理を実行する。
As shown in FIG. 7, the program control unit 160 stores the four primary instruction codes in the instruction register 16.
1, the contents of the instruction register 161 are decoded by the instruction decoder 162, and the operation unit 220, the pointer operation unit 230, the register group 240, the data memory 2
A control signal is supplied to 50. At the same time, the instruction address stored in the instruction pointer 163 is supplied to the instruction memory 110. Instruction pointer 1
The content of 63 is incremented by the branch control 164 or the branch destination instruction address is stored. The branch control 164 executes an interrupt process according to an interrupt control signal supplied from the interrupt control unit 170 in addition to the normal branch process.

【0039】パイプライン設定レジスタ165にはプリ
デコーダ150におけるパイプライン段数が格納され、
分岐制御164はパイプライン設定レジスタ165の内
容に従って分岐制御を実現する。
The pipeline setting register 165 stores the number of pipeline stages in the predecoder 150.
The branch control 164 implements branch control according to the contents of the pipeline setting register 165.

【0040】ADC120は外部端子からアナログ信号
を入力してディジタル信号に変換してI/O制御ユニッ
ト180に供給する。DAC130はI/O制御ユニッ
ト180からディジタル信号を入力してアナログ信号に
変換して外部端子に出力する。I/Oポート140は外
部端子からのディジタル信号をI/O制御ユニット18
0に供給し、I/O制御ユニット180からのディジタ
ル信号を外部端子に供給する。
The ADC 120 receives an analog signal from an external terminal, converts the signal into a digital signal, and supplies the digital signal to the I / O control unit 180. The DAC 130 inputs a digital signal from the I / O control unit 180, converts the digital signal into an analog signal, and outputs the analog signal to an external terminal. The I / O port 140 converts a digital signal from an external terminal into an I / O control unit 18.
0, and a digital signal from the I / O control unit 180 to an external terminal.

【0041】I/O制御ユニット180は入力信号から
割り込み発生を検知して割り込み制御ユニット170に
割り込み要求信号を供給する。またデータバス280を
経由してレジスタ群240、データメモリ250の内容
のリード/ライトを実行する。
The I / O control unit 180 detects the occurrence of an interrupt from the input signal and supplies an interrupt request signal to the interrupt control unit 170. Also, the contents of the register group 240 and the data memory 250 are read / written via the data bus 280.

【0042】ICE190はエミュレータからの制御信
号に従って割り込み制御ユニット170に割り込み要求
信号を供給する。クロック制御ユニット200は、各ブ
ロックにクロックを供給し、クロック制御に伴う割り込
みに従って割り込み制御ユニット170に割り込み要求
信号を供給する。タイマ210はタイマのカウントを実
行し、タイマ割り込みに従って割り込み制御ユニット1
70に割り込み要求信号を供給する。
The ICE 190 supplies an interrupt request signal to the interrupt control unit 170 according to a control signal from the emulator. The clock control unit 200 supplies a clock to each block, and supplies an interrupt request signal to the interrupt control unit 170 according to an interrupt accompanying the clock control. The timer 210 executes the count of the timer, and the interrupt control unit 1 according to the timer interrupt.
An interrupt request signal is supplied to 70.

【0043】割り込み制御ユニット170は、各ユニッ
トからの割り込み要求信号に従って割り込み制御信号を
プログラム制御ユニット160に供給する。図8に示す
ように、演算ユニット220は、制御信号に従ってレジ
スタ群240の内容をデータバス260を経由して読み
出し、バレルシフタ221、ALU222、乗算器22
3、シフタ224、アキュムレータ225によって得ら
れた演算結果を、再びデータバス260を経由して書き
込む。
The interrupt control unit 170 supplies an interrupt control signal to the program control unit 160 according to an interrupt request signal from each unit. As shown in FIG. 8, the arithmetic unit 220 reads the contents of the register group 240 via the data bus 260 in accordance with the control signal, and outputs the data to the barrel shifter 221, the ALU 222, and the multiplier 22.
3. The operation result obtained by the shifter 224 and the accumulator 225 is written again via the data bus 260.

【0044】図9に示すように、ポインタ演算ユニット
230は、レジスタ群240の内容をデータバス270
を経由して読み出し、インクリメンタ/デクリメンタ2
31、ALU232によって得られた演算結果を、再び
データバス270を経由して書き込む。
As shown in FIG. 9, the pointer operation unit 230 stores the contents of the register group 240 in the data bus 270.
Read via, incrementer / decrementer 2
31, the operation result obtained by the ALU 232 is again written via the data bus 270.

【0045】レジスタ群240は、レジスタの内容をア
ドレスとしてデータメモリ250に供給し、データバス
280を経由してデータメモリ250の内容の読み出
し、書き込みを行う。
The register group 240 supplies the contents of the register as an address to the data memory 250, and reads and writes the content of the data memory 250 via the data bus 280.

【0046】図10に本実施の形態における動作タイミ
ングを示す。プリデコード段数が1段の場合は、命令フ
ェッチ、プリデコード、デコード、演算/メモリリー
ド、メモリライトの各パイプライン長さ合計は5クロッ
クである。プリデコード段数が3段の場合は、プリデコ
ードのパイプライン長さが3クロックになるために、各
パイプライン長さ合計は7クロックになる。このプリデ
コードのパイプライン段数は前述したパイプライン設定
レジスタ165に格納される。
FIG. 10 shows the operation timing in this embodiment. When the number of predecode stages is one, the total pipeline length of instruction fetch, predecode, decode, operation / memory read, and memory write is 5 clocks. When the number of predecode stages is three, the pipeline length of predecode is three clocks, and the total length of each pipeline is seven clocks. The number of pipeline stages for this predecoding is stored in the pipeline setting register 165 described above.

【0047】以上のようにして、図13に示すように、
n=15ビットの2次命令コードを用いる場合は、ワー
ド長が15ビットの命令メモリを有しており、従来のよ
うに、32ビットの命令コードを用いることによって、
ワード長が32ビットの命令メモリを有する場合に比べ
て、命令メモリの面積のみで比較すると半分以下にする
ことができる。
As described above, as shown in FIG.
In the case of using a secondary instruction code of n = 15 bits, a word length has an instruction memory of 15 bits, and by using a 32-bit instruction code as in the related art,
Compared with the case where the instruction memory has a word length of 32 bits, the area can be reduced to half or less when compared only with the area of the instruction memory.

【0048】実際には、本方式ではプリデコーダの面積
が加えられるが、後述する実施例で示すように、2次命
令コードの作成時に同じオペコードをまとめたり、グレ
イコードを採用したり、プリデコーダの論理が単純にな
る手法を採用することで、面積増加を最小限に抑えるこ
とができる。
Actually, in this method, the area of the pre-decoder is added. However, as will be described in an embodiment to be described later, the same operation code is combined when a secondary instruction code is created, a gray code is used, or the pre-decoder is used. By adopting a method that simplifies the logic of, the increase in area can be minimized.

【0049】また、マイクロコンピュータで使用可能な
命令のうち、プログラムで使用されている命令だけを最
終的に命令メモリに格納する2次命令コードに割り当て
ることで、命令の自由度を犠牲にすることなく、命令長
を最短にすることができる。
Further, among instructions usable in the microcomputer, only instructions used in the program are assigned to secondary instruction codes finally stored in the instruction memory, thereby sacrificing the flexibility of instructions. And the instruction length can be minimized.

【0050】また、2次命令コードを1次命令コードに
変換する動作は、特別な制御を必要とせず、プリデコー
ダでデコードするという単純な変換によって行っている
ために、高速動作を実現することができる。
In addition, the operation of converting the secondary instruction code into the primary instruction code does not require any special control, and is performed by a simple conversion of decoding by the pre-decoder. Can be.

【0051】また、プリデコーダは、論理の再構成が容
易なプログラマブルロジックにしており、プログラム変
更によって使用される命令が変化した場合でも柔軟に対
応することができる。
The pre-decoder is a programmable logic whose logic can be easily reconfigured, so that it is possible to flexibly cope with a case where an instruction used by a program change is changed.

【0052】さらに、本手法は既存のマイクロコンピュ
ータにおいても、プリデコーダを追加することで適用す
ることができ、設計資源を有効に活用することができ
る。以上の結果、命令メモリの容量増大を最小限に抑え
て演算器やレジスタ等の資源を効率よく利用でき、高速
化及び低コスト化を実現することができる。
Furthermore, the present method can be applied to an existing microcomputer by adding a predecoder, and the design resources can be effectively used. As a result, it is possible to efficiently use resources such as an arithmetic unit and a register while minimizing the increase in the capacity of the instruction memory, and to realize high speed and low cost.

【0053】なお、本実施例では2次命令コードをnビ
ットの固定長にして説明したが、命令の出現頻度に応じ
て1〜nビットの可変長にすることでプログラム全体の
容量がさらに低減できる。
In the present embodiment, the secondary instruction code is described as having a fixed length of n bits. However, by making the secondary instruction code a variable length of 1 to n bits according to the frequency of occurrence of instructions, the capacity of the entire program is further reduced. it can.

【0054】さらに、本発明はディジタルシグナルプロ
セッサ以外のマイクロコンピュータに具体化してもよ
い。
Further, the present invention may be embodied in a microcomputer other than the digital signal processor.

【0055】[0055]

【発明の効果】以上のように本発明によれば、15ビッ
トの2次命令コードを用いることによって、ワード長が
15ビットの命令メモリを有しており、従来のように、
32ビットの命令コードを用いることによって、ワード
長が32ビットの命令メモリを有する場合に比べて、命
令メモリの面積のみで比較すると半分以下にすることが
できる。
As described above, according to the present invention, by using a 15-bit secondary instruction code, an instruction memory having a word length of 15 bits is provided.
By using a 32-bit instruction code, the word length can be reduced to half or less when compared only with the instruction memory area, compared to the case where the instruction memory has a 32-bit word length.

【0056】このように、マイクロコンピュータで使用
可能な命令のうちプログラムで使用されている命令だけ
を、最終的に命令メモリに格納する2次命令コードに割
り当てることで、命令の自由度を犠牲にすることなく、
命令長を最短にすることができる。
As described above, by allocating only the instructions used in the program among the instructions usable in the microcomputer to the secondary instruction codes finally stored in the instruction memory, the flexibility of the instructions is sacrificed. Without doing
Instruction length can be minimized.

【0057】また、2次命令コードから1次命令コード
への変換動作は、特別な制御を必要とせず、プリデコー
ダでデコードするという単純な変換によって実現してい
るために、高速動作を可能とすることができる。
The conversion operation from the secondary instruction code to the primary instruction code does not require special control and is realized by a simple conversion of decoding by a predecoder, so that high-speed operation is possible. can do.

【0058】また、プリデコーダは、論理の再構成が容
易なプログラマブルロジックにしており、プログラム変
更によって使用される命令が変化した場合でも柔軟に対
応することができる。
Further, the predecoder is a programmable logic whose logic can be easily reconfigured, and can flexibly cope with a change in an instruction used by a program change.

【0059】さらに、本手法は既存のマイクロコンピュ
ータにおいても、プリデコーダを追加することで適用
し、設計資源を有効に活用することができる。以上のた
め、命令メモリの使用容量を低減することができ、圧縮
効率の向上および動作のより高速化を実現することがで
きる。
Furthermore, the present method can be applied to an existing microcomputer by adding a predecoder, so that design resources can be effectively used. As described above, the used capacity of the instruction memory can be reduced, and the compression efficiency can be improved and the operation can be performed at higher speed.

【0060】その結果、命令メモリの容量増大を最小限
に抑えて演算器やレジスタ等の資源を効率よく利用で
き、高速化及び低コスト化を実現することができる。
As a result, it is possible to efficiently use resources such as an arithmetic unit and a register while minimizing the increase in the capacity of the instruction memory, thereby realizing high speed and low cost.

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

【図1】本発明の実施の形態の演算処理方法及びそれを
用いたマイクロコンピュータの原理説明図
FIG. 1 is a diagram illustrating the principle of an arithmetic processing method according to an embodiment of the present invention and a microcomputer using the same;

【図2】同実施の形態におけるプログラム最適化装置の
作用説明図
FIG. 2 is an operation explanatory diagram of the program optimizing device according to the embodiment;

【図3】同実施の形態をディジタルシグナルプロセッサ
に具体化した構成例を示すブロック図
FIG. 3 is a block diagram showing a configuration example in which the embodiment is embodied in a digital signal processor;

【図4】図3におけるプリデコーダを示すブロック図FIG. 4 is a block diagram showing a predecoder in FIG. 3;

【図5】図3における命令コードバッファの作用説明図FIG. 5 is a diagram for explaining the operation of the instruction code buffer in FIG. 3;

【図6】図3におけるプリデコーダの作用説明図FIG. 6 is a diagram illustrating the operation of the predecoder in FIG. 3;

【図7】図3におけるプログラム制御ユニットを示すブ
ロック図
FIG. 7 is a block diagram showing a program control unit in FIG. 3;

【図8】図3における演算ユニットを示すブロック図FIG. 8 is a block diagram showing an arithmetic unit in FIG. 3;

【図9】図3におけるポインタ演算ユニットを示すブロ
ック図
FIG. 9 is a block diagram showing a pointer operation unit in FIG. 3;

【図10】図3における作用を示すタイミングチャートFIG. 10 is a timing chart showing the operation in FIG. 3;

【図11】従来のマイクロコンピュータの構成例を示す
ブロック図
And FIG. 11 is a block diagram showing a configuration example of a conventional microcomputer.

【図12】同従来例のマイクロコンピュータの命令使用
効率についての説明図
FIG. 12 is a diagram illustrating the instruction use efficiency of the microcomputer of the conventional example.

【図13】本発明の実施の形態の演算処理方法及びそれ
を用いたマイクロコンピュータの命令メモリ面積削減効
果についての説明図
FIG. 13 is a diagram illustrating an arithmetic processing method according to an embodiment of the present invention and an effect of reducing an instruction memory area of a microcomputer using the arithmetic processing method.

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

10 プログラム最適化装置 20 1次命令コードプログラム解析装置 30 2次命令コード生成装置 40 プリデコーダ論理生成装置 50,300 マイクロコンピュータ 60,110,310 命令メモリ 70,150 プリデコーダ 80,162,320 命令デコーダ 90,330 演算器/制御装置/レジスタ群 100 ディジタルシグナルプロセッサ 120 アナログ−ディジタル変換器(ADC) 130 ディジタル−アナログ変換器(DAC) 140 I/Oポート 151 命令コードバッファ 152 ラッチ 153 プリデコーダ論理としてのAND平面 154 プリデコーダ論理としてのOR平面 160 プログラム制御ユニット 161 命令レジスタ 163 インストラクションポインタ 165 パイプライン設定レジスタ 170 割り込み制御ユニット 180 I/O制御ユニット 190 エミュレータインターフェース(ICE) 200 クロック制御ユニット 210 タイマ 220 演算ユニット 221 バレルシフタ 222,232 ALU 223 乗算器 224 シフタ 225 アキュムレータ 230 ポインタ演算ユニット 231 インクリメンタ/デクリメンタ 240 レジスタ群 250 データメモリ 260,270,280 データバス DESCRIPTION OF SYMBOLS 10 Program optimization apparatus 20 Primary instruction code program analysis apparatus 30 Secondary instruction code generation apparatus 40 Predecoder logic generation apparatus 50,300 Microcomputer 60,110,310 Instruction memory 70,150 Predecoder 80,162,320 Instruction decoder 90,330 Arithmetic unit / controller / register group 100 Digital signal processor 120 Analog-digital converter (ADC) 130 Digital-analog converter (DAC) 140 I / O port 151 Instruction code buffer 152 Latch 153 Pre-decoder logic AND plane 154 OR plane as predecoder logic 160 Program control unit 161 Instruction register 163 Instruction pointer 165 Pipeline setting register 170% Read control unit 180 I / O control unit 190 Emulator interface (ICE) 200 Clock control unit 210 Timer 220 Arithmetic unit 221 Barrel shifter 222,232 ALU 223 Multiplier 224 Shifter 225 Accumulator 230 Pointer arithmetic unit 231 Incrementer / Decrementer 240 Register group 250 data memory 260, 270, 280 data bus

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 mビット(m:自然数)からなる1次命
令コードで作成したプログラムにおいて、使用されてい
る命令を抽出してその出現頻度を解析する1次命令コー
ドプログラム解析ステップと、その解析結果に応じて、
使用されている1次命令コードのみを、改めてnビット
(n:自然数、かつm≧n)からなる2次命令コードに
割り当てる2次命令コード生成ステップと、前記2次命
令コードをプログラマブルロジックを用いて前記1次命
令コードに変換するための論理構造を生成するプリデコ
ーダ論理生成ステップと、前記プリデコーダ論理生成ス
テップにより得られるプログラマブルロジックからなる
プリデコーダによって、前記2次命令コードによるプロ
グラムを1次命令コードに変換するステップと、前記1
次命令コードを複数の制御信号に変換するステップと、
前記制御信号に基づいた所定の処理を実行するステップ
とを含むことを特徴とする演算処理方法。
1. A primary instruction code program analyzing step of extracting a used instruction and analyzing its appearance frequency in a program created by m-bit (m: natural number) primary instruction code, and analyzing the primary instruction code Depending on the result,
A secondary instruction code generating step of newly assigning only the used primary instruction code to a secondary instruction code consisting of n bits (n: natural number and m ≧ n), and using the secondary instruction code by a programmable logic A pre-decoder logic generating step of generating a logical structure for converting the secondary instruction code into the primary instruction code, and a pre-decoder consisting of programmable logic obtained by the pre-decoder logic generating step, the program based on the secondary instruction code is primarily processed. Converting to an instruction code;
Converting the next instruction code into a plurality of control signals;
Performing a predetermined process based on the control signal.
【請求項2】 請求項1に記載の演算処理方法に含まれ
る各ステップを用いて演算処理するマイクロコンピュー
タであって、2次命令コード生成ステップによって生成
された2次命令コードからなるプログラムを格納する命
令メモリと、プリデコーダ論理生成ステップによって生
成された論理構造によりプログラムされるプログラマブ
ルロジックからなるプリデコーダと、前記プリデコーダ
から出力される1次命令コードを複数の制御信号に変換
する命令デコーダと、前記命令デコーダから出力される
複数の制御信号に基づいた所定の処理を実行する演算器
/制御装置/レジスタ群とを備えたことを特徴とするマ
イクロコンピュータ。
2. A microcomputer for performing arithmetic processing using each step included in the arithmetic processing method according to claim 1, wherein the microcomputer stores a program including a secondary instruction code generated in a secondary instruction code generating step. An instruction memory, a predecoder comprising programmable logic programmed by a logic structure generated by a predecoder logic generation step, and an instruction decoder for converting a primary instruction code output from the predecoder into a plurality of control signals. And a computing unit / control device / register group for executing a predetermined process based on a plurality of control signals output from the instruction decoder.
【請求項3】 請求項1に記載の演算処理方法に含まれ
る各ステップを用いて演算処理するマイクロコンピュー
タであって、2次命令コード生成ステップによって生成
された2次命令コードからなるプログラムを格納する命
令メモリと、プリデコーダ論理生成ステップによって生
成された論理構造によりプログラムされるプログラマブ
ルロジックからなるプリデコーダと、前記命令メモリか
ら取り出した2次命令コードからなる命令データを格納
し、複数の2次命令コードを前記プリデコーダに供給す
る命令コードバッファと、前記プリデコーダから出力さ
れる複数の1次命令コードを複数の制御信号に変換する
命令デコーダと、前記プリデコーダのパイプライン段数
を格納するパイプライン設定レジスタと、前記命令デコ
ーダから出力される複数の制御信号に基づいた所定の処
理を実行する演算器/制御装置/レジスタ群とを備えた
ことを特徴とするマイクロコンピュータ。
3. A microcomputer for performing arithmetic processing using each step included in the arithmetic processing method according to claim 1, wherein the microcomputer stores a program including a secondary instruction code generated in a secondary instruction code generating step. An instruction memory, a pre-decoder composed of a programmable logic programmed by a logic structure generated in a pre-decoder logic generation step, and instruction data composed of a secondary instruction code extracted from the instruction memory. An instruction code buffer for supplying an instruction code to the predecoder, an instruction decoder for converting a plurality of primary instruction codes output from the predecoder into a plurality of control signals, and a pipe for storing the number of pipeline stages of the predecoder A line setting register and output from the instruction decoder A microcomputer comprising: a computing unit / control device / register group for executing a predetermined process based on a plurality of control signals.
【請求項4】 一つあるいは複数の半導体基板に形成さ
れた請求項2または請求項3に記載のマイクロコンピュ
ータ。
4. The microcomputer according to claim 2, wherein the microcomputer is formed on one or more semiconductor substrates.
JP10111224A 1998-04-22 1998-04-22 Operating processing method and microcomputer using the method Pending JPH11306015A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10111224A JPH11306015A (en) 1998-04-22 1998-04-22 Operating processing method and microcomputer using the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10111224A JPH11306015A (en) 1998-04-22 1998-04-22 Operating processing method and microcomputer using the method

Publications (1)

Publication Number Publication Date
JPH11306015A true JPH11306015A (en) 1999-11-05

Family

ID=14555697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10111224A Pending JPH11306015A (en) 1998-04-22 1998-04-22 Operating processing method and microcomputer using the method

Country Status (1)

Country Link
JP (1) JPH11306015A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801996B2 (en) 2000-02-08 2004-10-05 Kabushiki Kaisha Toshiba Instruction code conversion unit and information processing system and instruction code generation method
US8069333B2 (en) 2006-04-05 2011-11-29 Nec Corporation Converting logical to real number to access shared configuration information in event driven state transiting reconfigurable system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801996B2 (en) 2000-02-08 2004-10-05 Kabushiki Kaisha Toshiba Instruction code conversion unit and information processing system and instruction code generation method
US8069333B2 (en) 2006-04-05 2011-11-29 Nec Corporation Converting logical to real number to access shared configuration information in event driven state transiting reconfigurable system

Similar Documents

Publication Publication Date Title
JP4986431B2 (en) Processor
JP3180075B2 (en) Apparatus and method for dynamic conversion between different instruction codes
US5893143A (en) Parallel processing unit with cache memories storing NO-OP mask bits for instructions
JP2003085000A (en) Trace information production device and its method
US5884071A (en) Method and apparatus for decoding enhancement instructions using alias encodings
RU2639695C2 (en) Processors, methods and systems for gaining access to register set either as to number of small registers, or as to integrated big register
US7546442B1 (en) Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions
US7574583B2 (en) Processing apparatus including dedicated issue slot for loading immediate value, and processing method therefor
US20050138327A1 (en) VLIW digital signal processor for achieving improved binary translation
JP3781519B2 (en) Instruction control mechanism of processor
US8041755B2 (en) Fast static rotator/shifter with non two's complemented decode and fast mask generation
US20030033503A1 (en) Single instruction having opcode and stack control field
KR101497346B1 (en) System and method to evaluate a data value as an instruction
US20200326940A1 (en) Data loading and storage instruction processing method and device
US10069512B2 (en) Systems, methods, and apparatuses for decompression using hardware and software
US7356673B2 (en) System and method including distributed instruction buffers for storing frequently executed instructions in predecoded form
US6654874B1 (en) Microcomputer systems having compressed instruction processing capability and methods of operating same
JP4502532B2 (en) Data processing device
US20120144175A1 (en) Method and apparatus for an enhanced speed unified scheduler utilizing optypes for compact logic
JPH11306015A (en) Operating processing method and microcomputer using the method
US20210089305A1 (en) Instruction executing method and apparatus
US20040024992A1 (en) Decoding method for a multi-length-mode instruction set
US6470374B1 (en) Carry look-ahead for bi-endian adder
JPH1091430A (en) Instruction decoding device
US6922773B2 (en) System and method for encoding constant operands in a wide issue processor

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040216

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040225

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20050428