JPH03116232A - Instruction decoding device - Google Patents
Instruction decoding deviceInfo
- Publication number
- JPH03116232A JPH03116232A JP25187489A JP25187489A JPH03116232A JP H03116232 A JPH03116232 A JP H03116232A JP 25187489 A JP25187489 A JP 25187489A JP 25187489 A JP25187489 A JP 25187489A JP H03116232 A JPH03116232 A JP H03116232A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- instruction decoding
- decoding circuit
- data
- 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
Links
- 238000000034 method Methods 0.000 abstract description 10
- 230000006870 function Effects 0.000 abstract description 9
- 230000015654 memory Effects 0.000 description 34
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は命令解読装置、とくにたとえばディジタル信号
処理プロセッサ(DSP)などに有利に適用される命令
解読装置に関する。DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to an instruction decoding device, and particularly to an instruction decoding device that is advantageously applied to, for example, a digital signal processor (DSP).
(従来の技術)
近年、音声合成、フィルタなどに用いられる種々のディ
ジタル信号処理プロセッサが提案されている。たとえば
AT&T編、[■E 1)SP16八DiへitalS
ignal ProcessorJのインフォメーショ
ンマニュアルにはこのような従来技術が記載されている
。(Prior Art) In recent years, various digital signal processors used for speech synthesis, filters, etc. have been proposed. For example, AT&T edition, [■E 1) SP168 Di italS
Such a conventional technique is described in the information manual of ignal ProcessorJ.
ディジタル信号処理プロセッサは、命令解読装置である
命令解読回路の他に演算部および記憶部などを含み、記
述されたプログラムにより動作して所定の処理を実行す
る。すなわち、記述されたプログラムは命令解読回路に
より演算部に対する制御信号として解読され、その制御
信号が演算部に送られることによりデータが処理される
。A digital signal processor includes an instruction decoding circuit, which is an instruction decoding device, as well as an arithmetic unit, a storage unit, and the like, and operates according to a written program to execute predetermined processing. That is, the written program is decoded by the instruction decoding circuit as a control signal for the arithmetic unit, and the control signal is sent to the arithmetic unit to process data.
なお、記述されたプログラムは、ディジタル信号処理プ
ロセッサ内部、または外部のプログラム記憶部に保持さ
れる。このため、容量の小さいプログラム記憶部が使用
できるように、プログラムはできるかぎり小さくするこ
とが望まれる。ディジタル信号処理プロセッサのプログ
ラムは、たとえばα・β・γが命令の1グループの場合
、α・β・γ・a・β・γ9.8のように、グループと
呼ばれる小さな命令のかたまりを繰り返し実行すること
が多い。Note that the written program is held in a program storage section inside or outside the digital signal processing processor. For this reason, it is desirable to make the program as small as possible so that a program storage unit with a small capacity can be used. For example, if α, β, and γ are one group of instructions, a digital signal processing processor program repeatedly executes a small group of instructions called a group, such as α, β, γ, a, β, and γ9.8. There are many things.
ディジタル信号処理プロセッサのプログラムにおけるこ
のような性質を利用して、グループの繰り返し実行を[
グループの命令H9+l]個の命令にまとめることで、
プログラムの容量を減らす方法が知られている。この方
法は、上記文献に詳述されているように、たとえばシー
ケンサ部にカウンタを設け、命令によりこのカウンタに
数値N−1を入力すると、キャッシュメモリ内に存在す
るグループをN回繰り返し実行するようにプログラム制
御を行なう方法である。Taking advantage of this property of digital signal processing processor programs, it is possible to repeatedly execute groups [
By combining instructions into group instructions H9+l],
There are known methods to reduce the size of a program. As detailed in the above-mentioned literature, this method includes, for example, providing a counter in the sequencer section, and when a numerical value N-1 is input to this counter by a command, the group existing in the cache memory is repeatedly executed N times. This is a method of program control.
また、ディジタル信号処理プロセッサでは、処理部での
演算処理速度を上げるため、複数の処理をオーバーラツ
プさせるパイプライン処理が用いられている。Further, in digital signal processing processors, pipeline processing is used in which multiple processes are overlapped in order to increase the processing speed of the processing section.
(発明が解決しようとする課題)
しかしながらこのような従来技術における命令解読装置
では、処理部でパイプライン処理が行なわれる影響で、
プログラムを一度に解読していたため、各データが同一
処理を行なっているにもかかわらず、グループ繰り返し
機能を使用できない場合があるという欠点があった。す
なわち動作としては各データに同一処理を行なっている
にもかかわらず、異なったプログラムとして記憶部に記
述しなければならなかった。(Problem to be Solved by the Invention) However, in such a conventional instruction decoding device, due to the pipeline processing performed in the processing section,
Since the program was decoded all at once, there was a drawback that the group repeat function could not be used even though each piece of data was subjected to the same processing. In other words, even though the same processing is performed on each piece of data, it has to be written in the storage unit as a different program.
本発明はこのような従来技術の欠点を解消し、演算部に
おけるパイプライン処理の影響を排し、データに対して
同一の処理を行なうならば、グループ操り返し機能が使
用できる命令解読装置を提供することを目的とする。The present invention eliminates the drawbacks of the prior art, eliminates the influence of pipeline processing in the arithmetic unit, and provides an instruction decoder that can use the group repeat function if the same processing is performed on data. The purpose is to
(課題を解決するための手段)
本発明は上述の課題を解決するために、命令情報を受け
、命令情報を解読して演算部を制御する命令解読装置に
おいて、この装置は演算部のパイプライン処理の深さに
応じた複数の命令解読手段を有し、命令解読手段はそれ
ぞれ、制御を担当するパイプラインの深さに応じて命令
情報から該当する命令を解読し、演算部の所定の要素を
制御する。(Means for Solving the Problems) In order to solve the above-mentioned problems, the present invention provides an instruction decoding device that receives instruction information, decodes the instruction information, and controls an arithmetic section. It has a plurality of instruction decoding means according to the depth of processing, and each instruction decoding means decodes the corresponding instruction from the instruction information according to the depth of the pipeline that is in charge of control, and decodes the corresponding instruction from the predetermined element of the arithmetic unit. control.
(作 用)
本発明によれば、それぞれの命令解読手段は、命令情報
を受信すると、制御を担当する所定の命令を解読し、そ
れにより該当する演算部の要素を制(卸する。(Function) According to the present invention, each command decoding means, upon receiving command information, decodes a predetermined command in charge of control, thereby controlling the elements of the corresponding arithmetic section.
(実施例)
次に添付図面な参明して本発明による命令解読装置の実
施例を詳細に説明する。(Embodiment) Next, an embodiment of the instruction decoding device according to the present invention will be described in detail with reference to the accompanying drawings.
第1図を参唾すると、本発明による命令解読装置をディ
ジタル信号処理プロセッサに適用したときの実施例の機
能ブロック図が示されている。なお同図には、本実施例
に直接関係のある命令解読部lと演算部3が示され、本
実施例に直接関係のないディジタル信号処理プロセッサ
の各構成要素は略して記載していない。Referring to FIG. 1, there is shown a functional block diagram of an embodiment in which an instruction decoding device according to the present invention is applied to a digital signal processing processor. Note that this figure shows the instruction decoding section 1 and the arithmetic section 3 that are directly related to this embodiment, and the components of the digital signal processing processor that are not directly related to this embodiment are omitted.
演算部3は、命令解読部lからの制御信号に従って演算
処理を実行する処理部であり、リードオンリーメモリ(
ROM150 、ランダムアクセスメモリfRAM)5
4 、レジスタ(x)60. (Yl 62. fPl
66、1a0172、乗算器64、マルチプレクサ(
MUXl 68および算術論理ユニット(ALIJI
70を有する。The arithmetic unit 3 is a processing unit that executes arithmetic processing according to the control signal from the instruction decoding unit 1, and is a processing unit that executes arithmetic processing according to the control signal from the instruction decoding unit 1.
ROM150, random access memory fRAM)5
4, register (x) 60. (Yl 62. fPl
66, 1a0172, multiplier 64, multiplexer (
MUXl 68 and arithmetic logic unit (ALIJI
It has 70.
リードオンリメモリ50オよびランダムアクセスメモリ
54は、たとえば演算処理で使用される変数などの数値
データがアドレス毎に格納されている記憶部である。メ
モリ50にはアドレスポインタ52が接続されており、
このポインタ52により指示されたアドレスのデータが
読み出し可能となる。すなわち、メモリ50に読み出し
制御が行なわれたとき、ポインタ52の指示するデータ
が出力200を介しROMデータバス100に送られる
。The read-only memory 50 and the random access memory 54 are storage units in which numerical data such as variables used in arithmetic processing is stored for each address. An address pointer 52 is connected to the memory 50,
The data at the address indicated by this pointer 52 can be read. That is, when read control is performed on the memory 50, data pointed to by the pointer 52 is sent to the ROM data bus 100 via the output 200.
またメモリ54にはアドレスポインタ56が接続され、
このポインタ56により指示されたアドレスのデータが
読み書き可能となる。すなわちメモリ54は、命令解読
部lからの制御に従って、ポインタ56の指示するアド
レスのデータを入出力線204を介しRAMデータバス
102に送ったり、データバス102から受信したデー
タをこれの指示するアドレスに格納したりする。An address pointer 56 is also connected to the memory 54,
Data at the address indicated by this pointer 56 can be read and written. That is, the memory 54 sends data at the address indicated by the pointer 56 to the RAM data bus 102 via the input/output line 204, or sends data received from the data bus 102 to the address indicated by the pointer 56, under control from the instruction decoder l. or store it in
ROMデータバス100は、メモリ50に記憶されてい
るデータの情報伝送路であり、出力202を介しレジス
タXに接続されている。RA&lデータバス102は、
メモリ54の情報伝送路であり、出力208を介しレジ
スタXに、また出力206を介しレジスタYに接続され
ている。ROM data bus 100 is an information transmission path for data stored in memory 50 and is connected to register X via output 202. The RA&l data bus 102 is
It is an information transmission path of the memory 54 and is connected to the register X via the output 208 and to the register Y via the output 206.
レジスタXおよびYは、データバスを介して送られてき
たデータを一時格納する高速メモリである。レジスタX
は出力210を介し乗算器64に、またレジスタYは出
力212を介し乗算器64およびマルチプレクサ68に
それぞれ接続されている。Registers X and Y are high-speed memories that temporarily store data sent via the data bus. register x
is connected to multiplier 64 via output 210, and register Y is connected to multiplier 64 and multiplexer 68 via output 212.
乗算器64は、レジスタXとレジスタYに格納されたデ
ータを乗算し、その結果を出力216を介しレジスタP
に出力する演算器である。レジスタPは、乗算器64で
算出された乗算結果を蓄えるレジスタであり、出力21
6を介しマルチプレクサ68に接続されている。マルチ
プレクサ68は、レジスタYからの入力212またはレ
ジスタPからの人力216のいずれかを、出力218を
介して算術論理ユニット70に送る選択回路である。マ
ルチプレクサ68の選択は、演算部からの後述する制御
信号に従って行なわれる。Multiplier 64 multiplies the data stored in registers X and Y, and outputs the result to register P via output 216.
It is a calculation unit that outputs to The register P is a register that stores the multiplication result calculated by the multiplier 64, and the output 21
6 to a multiplexer 68. Multiplexer 68 is a selection circuit that sends either input 212 from register Y or input 216 from register P to arithmetic logic unit 70 via output 218. Selection of the multiplexer 68 is performed according to a control signal from the arithmetic unit, which will be described later.
算術論理ユニット70は、算術演算などを行なう回路で
あり、その演算結果を出力220を介しレジスタ8口に
送る。レジスタaOは、ユニット70の演算結果を蓄え
るレジスタであり、出力222を介しRAMデータバス
102に接続されるとともにユニット70に接続されて
いる。The arithmetic logic unit 70 is a circuit that performs arithmetic operations, etc., and sends the results of the operations to eight registers via an output 220. Register aO is a register that stores the calculation results of unit 70, and is connected to RAM data bus 102 and to unit 70 via output 222.
なお、同図において演算部3は一般的なディジタル処理
プロセッサにおけるH4造を示したが、本発明が適用さ
れる1flT1部はとくにこれに限定されるものではな
い、また、同図では記載されていないが、たとえば演算
部の各構成要素はマスタクロックからのタロツク信号を
人力する。このクロック信号を入力することにより、パ
イプライン処理においても、たとえばレジスタXおよび
Yは、データバスから送られてきた情報を乗$H364
に送る前に、データバスからの情報を上書きすることは
ない。In addition, although the calculation section 3 in the same figure shows the H4 structure in a general digital processing processor, the 1flT1 section to which the present invention is applied is not particularly limited to this. However, for example, each component of the arithmetic unit manually inputs the tarok signal from the master clock. By inputting this clock signal, even in pipeline processing, for example, registers X and Y multiply the information sent from the data bus.
It does not overwrite information from the data bus before sending it to the data bus.
命令解読部lは、命令レジスタ(図示せず)から送られ
てきたプログラムをプログラム入力端子200より入力
し、これを解読することによって演算部3をパイプライ
ン処理により制御する処理部である。同図に示すように
本実施例による命令解読部lは、複数の命令解読回路l
O〜16と人力した情報を所定の時間遅延して出力する
3つの遅延回路20により構成されている。なお、命令
解読回路および遅延回路20の数は、演算部3のパイプ
ラインの深さにより決まるものであり、その数はとくに
本実施例のように限定されるものではない、また、命令
解読部lは本実施例ではハードウェアにより形成されて
いる。The instruction decoding section 1 is a processing section that inputs a program sent from an instruction register (not shown) from the program input terminal 200, and controls the arithmetic section 3 by pipeline processing by decoding the program. As shown in the figure, the instruction decoding section l according to this embodiment includes a plurality of instruction decoding circuits l.
It is constituted by three delay circuits 20 that output manually-generated information after a predetermined time delay. Note that the number of instruction decoding circuits and delay circuits 20 is determined by the depth of the pipeline of the calculation unit 3, and the number is not particularly limited as in this embodiment. l is formed by hardware in this embodiment.
命令解読回路lOは、プログラム信号路310を介しプ
ログラム入力端子300に接続されるパイプライン0段
目の命令解読回路である。命令解読回路IOは、リード
オンリメモリ50の出力制御、ランダムアクセスメモリ
54の入出力制御、アドレスポインタ52・56の制御
、リードオンリメモリ50のデータバス制御B、ランダ
ムアクセスメモリ54のデータバス制(卸および入力レ
ジスタ)(−YIII@に対する命令解読を行ないこれ
らを制御する。命令解読回路IOは、飛越記号1の点線
で示された制御信号路を介しこれら要素の制御を行なう
。The instruction decoding circuit IO is an instruction decoding circuit at the 0th stage of the pipeline connected to the program input terminal 300 via the program signal path 310. The instruction decoding circuit IO controls the output of the read-only memory 50, the input/output control of the random access memory 54, the control of the address pointers 52 and 56, the data bus control B of the read-only memory 50, and the data bus system (B) of the random access memory 54. The instruction decoding circuit IO performs instruction decoding for (-YIII@) and controlling these elements.
命令解読回路12は、遅延回路20−■を介しプログラ
ム入力端子300に接続されるパイプライン1段目の命
令解読回路である。命令解読回路12は、乗算器出力レ
ジスタPの制御に対する命令解読を行ない、飛越記号2
の点線で示された制御用信号路を介しこれを制御片する
。The instruction decoding circuit 12 is an instruction decoding circuit in the first stage of the pipeline connected to the program input terminal 300 via the delay circuit 20-2. The instruction decoding circuit 12 decodes the instruction for controlling the multiplier output register P, and outputs the jump symbol 2.
This is controlled via the control signal path shown by the dotted line.
命令解読回路14は、遅延回路20−1および20−2
を介しプログラム入力端子3ooに接続されるパイプラ
イン2段目の命令解読回路である。命令解読回路14は
、マルチプレクサ68、算術論理ユニット70、レジス
タaOの制御に対する命令解読を行なう。命令解読回路
14は、これら、要素の命令を解読し、飛越記号3の点
線で示された制御信号路を介してその制御を行なう。The instruction decoding circuit 14 includes delay circuits 20-1 and 20-2.
This is an instruction decoding circuit in the second stage of the pipeline, which is connected to the program input terminal 3oo via the program input terminal 3oo. Instruction decoding circuit 14 decodes instructions for controlling multiplexer 68, arithmetic logic unit 70, and register aO. The command decoding circuit 14 decodes the commands of these elements and controls them via a control signal path indicated by a dotted line with an interlace symbol 3.
命令解読回路16は、遅延回路20−1.20−2およ
び20−3を介しプログラム入力端子300に接続され
るパイプライン3段目の命令解読回路である。命令解読
回路16は、レジスタaO、データバス102.ランダ
ムアクセスメモリ54.アドレスポインタ56の制御に
対する命令解読を行なう、命令解読回路16は、飛越記
号4の点線で示された制御信号路を介しこれらに接続さ
れ、その制御を行なう。The instruction decoding circuit 16 is a third stage instruction decoding circuit in the pipeline connected to the program input terminal 300 via delay circuits 20-1, 20-2 and 20-3. The instruction decoding circuit 16 includes a register aO, a data bus 102 . Random access memory 54. An instruction decoding circuit 16, which decodes instructions for controlling the address pointer 56, is connected to these via a control signal path indicated by a dotted line with an interlace symbol 4, and performs the control thereof.
次に具体例をあげて本実施例における動作を説明する。Next, the operation of this embodiment will be explained using a specific example.
D=Σ A、XBI −−−(11l11 式(1)に示された計算を行なう場合について。D=Σ A, XBI --- (11l11 Regarding the case of performing the calculation shown in equation (1).
各時間ごとの命令解読部lおよび演算部3の動作につい
て具体的に説明する。ただし1式111におけるデータ
A、Bは並んだ形でリードオンリメモリ50およびラン
ダムアクセスメモリ54に展開されているものとする。The operations of the instruction decoder l and the arithmetic unit 3 at each time will be specifically explained. However, it is assumed that data A and B in formula 1 111 are expanded in the read-only memory 50 and the random access memory 54 in a lined manner.
この動作例の場合、プログラム入力端子300に、以下
に示す命令(1)が初めに入力され、次に命令(2)が
5回入力され、最後に命令(3)が人力される。In this operation example, the following command (1) is first input to the program input terminal 300, then command (2) is input five times, and finally command (3) is input manually.
命令(1)の内容:
データA、Bをリードオンリメモリ50、ランダムアク
セスメモリ54よりレジスタX、Yに入力する。Contents of instruction (1): Input data A and B from read-only memory 50 and random access memory 54 to registers X and Y.
リードオンリメモリ50のアドレスポインタ52オよび
ランダムアクセスメモリ54のアドレスポインタ56を
1更新する。The address pointer 52 of the read-only memory 50 and the address pointer 56 of the random access memory 54 are updated by 1.
レジスタX、Yに格納されたデータの積を計算しレジス
タPに人力する。The product of the data stored in registers X and Y is calculated and input to register P.
算術論理ユニット70を通してレジスタPの内容をレジ
スタaOに入力する。The contents of register P are input to register aO through arithmetic logic unit 70.
命令(2)の内容:
データA、Bをリードオンリメモリ50、ランダムアク
セスメモリ54よりレジスタX、Yに入力する。Contents of instruction (2): Input data A and B from read-only memory 50 and random access memory 54 to registers X and Y.
リードオンリメモリ50のアドレスポインタ52および
ランダムアクセスメモリ54のアドレスポインタ56を
1更新する。The address pointer 52 of the read-only memory 50 and the address pointer 56 of the random access memory 54 are updated by 1.
レジスタX、Yの内容の積を計算しその結果をレジスタ
Pに入力する。The product of the contents of registers X and Y is calculated and the result is input to register P.
レジスタaOおよびレジスタPに格納されたFi値の和
を算術論理ユニット70を使用して計算し、これをレジ
スタaOに格納する。The sum of the Fi values stored in register aO and register P is calculated using arithmetic logic unit 70 and stored in register aO.
命令(3)の内容・
レジスタaOの内容をランダムアクセスメモリ54に入
力する。Contents of instruction (3): Input the contents of register aO to random access memory 54.
演算部3および命令解読部Iの動作を示す。The operation of the arithmetic unit 3 and the instruction decoder I is shown.
(時間1):命令解読回路IOにより命令(1)の「デ
ータA、Bをリードオンリメモリ50、ランダムアクセ
スメモリ54よりレジスタX、Yに入力する。リードオ
ンリメモリ50のアドレスポインタ52およびランダム
アクセスメモリ54のアドレスポインタ56を1更新す
る。」の部分を解読する。(Time 1): The instruction decoding circuit IO inputs the data A and B of instruction (1) from the read-only memory 50 and the random access memory 54 to the registers X and Y. The address pointer 52 of the read-only memory 50 and the random access The address pointer 56 of the memory 54 is updated by 1.'' is decoded.
これにより、リードオンリメモリ5a、ランダムアクセ
スメモリ52よりWt(mAr、 B、が転送され、そ
れぞれレジスタX、Yに格納される。As a result, Wt(mAr, B) are transferred from the read-only memory 5a and the random access memory 52 and stored in registers X and Y, respectively.
また、アドレスポインタ52.56が1加算される、
(時間2):命令解読回路IOにより命令(2)の[デ
ータA、Bをリードオンリメモリ50、ランダムアクセ
スメモリ54よりレジスタX、Yに入力する。リードオ
ンリメモリ50のアドレスポインタ52およびランダム
アクセスメモリ54のアドレスポインタ56を1更新す
る。1の部分を解読する。Also, the address pointers 52 and 56 are incremented by 1. (Time 2): The instruction decoding circuit IO inputs [data A and B of instruction (2)] from the read-only memory 50 and the random access memory 54 to the registers X and Y. do. The address pointer 52 of the read-only memory 50 and the address pointer 56 of the random access memory 54 are updated by 1. Decipher part 1.
命令解読回路I2により命令(11の[レジスタX、Y
の内容の積を計算しレジスタPに入力する6Jの部分を
解読する。The instruction decoding circuit I2 reads the instruction (11 [registers X, Y
The part of 6J which calculates the product of the contents and inputs it to register P is decoded.
命令解読回路12によりAI X Blが乗算器64で
計算され、結果がレジスタPに格納される。AI X Bl is calculated by the instruction decoding circuit 12 in the multiplier 64, and the result is stored in the register P.
また、命令解読回路IOによりリードオンリメモリ50
.ランダムアクセスメモリ54から数値A2、B2が転
送され、それぞれレジスタxi3よびYに格納される。Also, the read-only memory 50 is read-only by the instruction decoding circuit IO.
.. Numerical values A2 and B2 are transferred from random access memory 54 and stored in registers xi3 and Y, respectively.
さらに、アドレスポインタ52.56のポインタが1更
新される。Furthermore, the pointers of address pointers 52 and 56 are updated by 1.
(時間3):命令解読回路10により命令(2)の「デ
ータA、Bをリードオンリメモリ50、ランダムアクセ
スメモリ54よりレジスタX、Yに入力する。リードオ
ンリメモリ50のアドレスポインタ52およびランダム
アクセスメモリ54のアドレスポインタ56を1更新す
る。」の部分を解読する。(Time 3): The instruction decoding circuit 10 inputs the data A and B of the instruction (2) from the read-only memory 50 and the random access memory 54 to the registers X and Y. The address pointer 52 of the read-only memory 50 and the random access The address pointer 56 of the memory 54 is updated by 1.'' is decoded.
命令解読回路12により命令(2)の「レジスタX、Y
の内容の積を計算しレジスタPに人力する。」の部分を
解読する。The instruction decoding circuit 12 reads “registers X, Y” of instruction (2).
Calculate the product of the contents of and input it to register P. ” part.
命令解読回路14により命令(1)の「算術論理ユニッ
ト70を通してレジスタPの内容をレジスタaOに人力
する。」の部分を解読する。The instruction decoding circuit 14 decodes the part of the instruction (1) that says, "Input the contents of register P to register aO through arithmetic logic unit 70."
命令解読回路14によりレジスタPの内容(A1×8、
)が算術論理ユニット70を通してレジスタaOに格納
される。The contents of register P (A1×8,
) is stored in register aO through arithmetic logic unit 70.
また、命令解読回路12によりAzxBaが乗算器64
で計算され、その結果がレジスタPに格納される。Further, the instruction decoding circuit 12 outputs AzxBa to the multiplier 64.
The result is stored in register P.
さらに、命令解読回路IOによりリードオンリメモリ5
0、ランダムアクセスメモ、す54よりデータA3、B
3が転送され、それぞれレジスタX、Yに格納される。Furthermore, read-only memory 5 is read-only by instruction decoding circuit IO.
0, Random access memo, data A3, B from Su54
3 are transferred and stored in registers X and Y, respectively.
また、命令解読回路IOによりアドレスポインタ52お
よび56のポインタが1更新される。Further, the address pointers 52 and 56 are updated by 1 by the instruction decoding circuit IO.
(時間4):命令解読回路lOにより命令(2)の「デ
ータA、Bをリードオンリメモリ50、ランダムアクセ
スメモリ54よりレジスタX、Yに入力する。アドレス
ポインタ52.56を1更新する。」の部分を解読する
。(Time 4): The instruction decoding circuit IO executes the instruction (2) "Input data A and B from the read-only memory 50 and random access memory 54 to registers X and Y. Update address pointers 52 and 56 by 1." decipher the part.
命令解読回路12により命令(2)の「レジスタX、Y
の内容の積を計算しレジスタPに入力する」の部分を解
読する。The instruction decoding circuit 12 reads “registers X, Y” of instruction (2).
decipher the part "Calculate the product of the contents of and input it to register P."
命令解読回路14により命令(2)の「レジスタaO1
Pの内容の和を算術論理ユニット70を使用して計算し
、レジスタaOに入力する。」の部分を解読する。The instruction decoding circuit 14 reads “register aO1” of instruction (2).
The sum of the contents of P is computed using arithmetic logic unit 70 and entered into register aO. ” part.
命令解読回路14により、レジスタaOの内容子レジス
タPの内容(atxoz)が算術論理ユニット70で計
算され、これがレジスタaOに格納される。The instruction decoding circuit 14 calculates the contents (atxoz) of the child register P of the register aO in the arithmetic logic unit 70, and stores this in the register aO.
また、命令解読回路12によりA3XB2が乗算器で計
算され、その結果がレジスタPに格納される。Further, the instruction decoding circuit 12 calculates A3XB2 using a multiplier, and the result is stored in the register P.
さらに、命令解読回路10によりリードオンリメモリ5
0、ランダムアクセスメモリ54からデータA4、B4
が転送され、それぞれレジスタX、Yに格納される。Further, the read-only memory 5
0, data A4, B4 from random access memory 54
are transferred and stored in registers X and Y, respectively.
また、命令解読回路IOによりアドレスポインタ52.
56が1更新される。Further, the address pointer 52 .
56 is updated by 1.
(時間5):命令解読回路IOにより命令(2)の「デ
ータA、Bをリードオンリメモリ50.ランダムアクセ
スメモリ54よりレジスタX、Yに入力する。アドレス
ポインタ52.56を1更新する。」の部分を解読する
。(Time 5): The instruction decoding circuit IO executes the instruction (2) "Input data A and B from the read-only memory 50 and random access memory 54 to registers X and Y. Update address pointers 52 and 56 by 1." decipher the part.
命令解読回路12により命令(2)の[レジスタX、Y
の内容の積を計算しレジスタPに入力する」の部分を解
読する。The instruction decoding circuit 12 reads [registers X, Y
decipher the part "Calculate the product of the contents of and input it to register P."
命令解読回路14により命令(2)の[レジスタaO1
Pの内容の和を算術論理ユニット70を使用して計算し
、レジスタaOに入力する。」の部分を解読する。The instruction decoding circuit 14 reads [register aO1 of instruction (2)]
The sum of the contents of P is computed using arithmetic logic unit 70 and entered into register aO. ” part.
命令解読回路14によりレジスタaOの内容+レジスタ
Pの内容(A、XB3)が算術論理ユニット70で計算
され、レジスタaOに格納される。The instruction decoding circuit 14 calculates the contents of the register aO+the contents of the register P (A, XB3) in the arithmetic logic unit 70, and stores the result in the register aO.
また、命令解読回路12によりデータA4XB4が乗算
器64で計算され、その結果がレジスタPに格納される
。Further, data A4XB4 is calculated by the multiplier 64 by the instruction decoding circuit 12, and the result is stored in the register P.
さらに、命令解読回路10によりリードオンリメモリ5
0、ランダムアクセスメモリ54からデータAs、 B
sが転送され、それぞれレジスタX、Yに格納される。Further, the read-only memory 5
0, data As, B from random access memory 54
s is transferred and stored in registers X and Y, respectively.
また、命令解読回路lOによりアドレスポインタ52お
よび56のポインタが1更新される。Further, the address pointers 52 and 56 are updated by 1 by the instruction decoding circuit IO.
(時間6):命令解読回路10により命令(2)の「デ
ータA、Bをリードオンリメモリ50.ランダムアクセ
スメモリ54よりレジスタX、Yに入力する。アドレス
ポインタ52.56を1更新する。Jの部分を解読する
。(Time 6): The instruction decoding circuit 10 inputs the data A and B of the instruction (2) from the read-only memory 50 and the random access memory 54 to the registers X and Y. The address pointers 52 and 56 are updated by 1.J decipher the part.
命令解読回路12により命令(2)の[レジスタX、Y
の内容の積を計算しレジスタPに入力するJの部分を解
読する。The instruction decoding circuit 12 reads [registers X, Y
The product of the contents of is calculated and the part of J input into register P is decoded.
命令解読回路14により命令(2)の「レジスタaO5
Pの内容の和を算術論理ユニット70を使用して計算し
、レジスタaOに入力する。]の部分を解読する。The instruction decoding circuit 14 reads “register aO5” of instruction (2).
The sum of the contents of P is computed using arithmetic logic unit 70 and entered into register aO. ] Decipher the part.
命令解読回路14によりレジスタaOの内容+レジスタ
Pの内容(A4XB4)が算術論理ユニット7oで計算
され、これがレジスタaOに格納される。The instruction decoding circuit 14 calculates the contents of the register aO+the contents of the register P (A4XB4) in the arithmetic logic unit 7o, and this is stored in the register aO.
また、命令解読回路12によりAsXBsが乗算器64
で計算され、その結果がレジスタPに格納される。Further, the instruction decoding circuit 12 outputs AsXBs to the multiplier 64.
The result is stored in register P.
さらに、命令解読回路IOによりリードオンリメモリ5
0、ランダムアクセスメモリ54よりデータA6、B6
が転送され、それぞれレジスタX、Yに格納される。Furthermore, read-only memory 5 is read-only by instruction decoding circuit IO.
0, data A6, B6 from random access memory 54
are transferred and stored in registers X and Y, respectively.
また、命令解読回路lOによりアドレスポインタ52.
56が1加算される。Further, the address pointer 52 .
56 is added by 1.
(時間7):命令解読回路12により命令(2)の「レ
ジスタX、Yの内容の積を計算しレジスタPに人力する
」の部分を解読する。(Time 7): The instruction decoding circuit 12 decodes the part of instruction (2) that says "calculate the product of the contents of registers X and Y and manually input it to register P."
命令解読回路14により命令(2)の「レジスタaO,
Pの内容の和を算術論理ユニット7oを使用して計算し
、レジスタaOに入力する。」の部分を解読する。The instruction decoding circuit 14 reads “register aO,
The sum of the contents of P is calculated using arithmetic logic unit 7o and entered into register aO. ” part.
命令解読回路14によりレジスタaOの内容+レジスタ
Pの内容(A5XB5)が算術論理ユニット7oで計算
され、これがレジスタaOに格納される。The instruction decoding circuit 14 calculates the contents of the register aO+the contents of the register P (A5XB5) in the arithmetic logic unit 7o, and this is stored in the register aO.
また、命令解読回路12によりAaxBaが乗算器64
で計算され、その結果がレジスタPに格納される。Further, the instruction decoding circuit 12 outputs AaxBa to the multiplier 64.
The result is stored in register P.
(時間8):命令解読回路14により命令(2)の「レ
ジスタaO1Pの内容の和を算術論理ユニット70を使
用して計算し、レジスタaOに入力する6Jの部分を解
読する。(Time 8): The instruction decoding circuit 14 calculates the sum of the contents of the register aO1P of the instruction (2) using the arithmetic logic unit 70, and decodes the part 6J input to the register aO.
命令解読回路14によりレジスタaOの内容+レジスタ
Pの内容(A6X os)が算術論理ユニット70で計
算され、これがレジスタanに格納される。The instruction decoding circuit 14 calculates the contents of the register aO+the contents of the register P (A6X os) in the arithmetic logic unit 70, and stores this in the register an.
(時間9):命令解読回路16により命令(3)の「レ
ジスタaOの内容をランダムアクセスメモリ54に入力
する。Jの部分を解読する。(Time 9): The instruction decoding circuit 16 inputs the contents of the register aO of the instruction (3) into the random access memory 54. The part J is decoded.
命令解読回路16によりレジスタaOの内容(式(1)
の解rDJ)がランダムアクセスメモリ54に格納され
る。The instruction decoding circuit 16 uses the contents of register aO (formula (1)
The solution rDJ) is stored in the random access memory 54.
このように本実施例によれば、命令解読部1は、対応す
る演算部3のパイプラインの深さに合わせて命令解読が
行なわれる命令解読回路lO〜16と、各命令解読回路
が所定のタイミングで実行されるようにプログラム遅延
回路20が配設されている。複数の命令遅延回路20と
パイプライン段数毎に分割された命令解読回路lO〜1
6の働きにより、演算部3の動作は時間4、時間5およ
び時間6が等しいことを除きすべて異なるが1時間lか
ら9までの動作は、命令(1)、命令(2)の5回の繰
り返し、命令3の三種類で実現される。As described above, according to the present embodiment, the instruction decoding unit 1 includes instruction decoding circuits 10 to 16 that decode instructions according to the depth of the pipeline of the corresponding arithmetic unit 3, and each instruction decoding circuit 10 to 16 having a predetermined A program delay circuit 20 is provided so that the program is executed at the correct timing. A plurality of instruction delay circuits 20 and instruction decoding circuits 10 to 1 divided according to the number of pipeline stages
6, the operation of the calculation unit 3 is different except that time 4, time 5, and time 6 are equal, but the operation from 1 hour 1 to 9 is based on the 5 times of instruction (1) and instruction (2). It is realized by three types of repetition and instruction 3.
このため、プログラム制御B部(図示せず)はグループ
繰り返し機能を使用でき、この例では繰り返し回数を指
定する命令を含み4命令にすることが可能である。この
ように本実施例によれば、データに対する演算処理が同
じであるならば、繰り返し機能を使用でき、プログラム
サイズを小さくすることが可能となる。Therefore, the program control unit B (not shown) can use a group repeat function, and in this example, it is possible to use four instructions including an instruction specifying the number of repeats. As described above, according to this embodiment, if the arithmetic processing on the data is the same, the repeat function can be used and the program size can be reduced.
なお、本実施例では本発明をディジタル処理プロセッサ
に適用したが、本発明はとくにこれに限定されるもので
はなく、パイプライン処理を行なう情報処理装置であれ
ば本発明を勿論適用可能である。Although the present invention is applied to a digital processor in this embodiment, the present invention is not particularly limited to this, and the present invention can of course be applied to any information processing apparatus that performs pipeline processing.
(発明の効果)
このように本発明による命令解読装置は、データに対す
る7vi算処理内容が同一であるならば、パイプライン
処理の影響を受けることなく、グループ繰り返し機能を
使用することができる。本発明による命令解読装置は、
プログラムがいくつかの異なる演算処理の集まりで形成
され、各演算処理の内容が共通なデータ・グループの種
類に分けることができ、このグループの種類が演算部の
パイプライン段数とほぼ等しいときにとくに有効である
。(Effects of the Invention) As described above, the instruction decoding device according to the present invention can use the group repetition function without being affected by pipeline processing if the contents of the 7vi arithmetic processing on data are the same. The instruction decoding device according to the present invention includes:
This is especially true when a program is formed by a collection of several different calculation processes, and the contents of each calculation process can be divided into common data group types, and the types of these groups are approximately equal to the number of pipeline stages in the calculation section. It is valid.
第1図は本発明による命令解読装置をディジタル処理プ
ロセッサに適用したときの機能ブロック図である。
l 。
3、 、 。
10−一16゜
20、 。
50、 、 。
52.56
54、 。
60゜
62、 、 。
64、 、 。
66、 、 。
68、 、 。
70゜
72、 。
主一部 の −目の説明
命令解読部
0.演算部
3.命令解読回路
、遅延回路
3.リードオンリメモリ
アドレスポインタ
0.ランダムアクセスメモリ
レジスタX
8.レジスタY
19乗算器
レジスタP
1.マルチプレクサ
1.算術論理ユニット
0.レジスタa0FIG. 1 is a functional block diagram when the instruction decoding device according to the present invention is applied to a digital processor. l. 3. 10-16゜20. 50, . 52.56 54. 60°62, . 64, . 66, . 68, . 70°72. Main part - eye explanation instruction decoding part 0. Arithmetic unit 3. Instruction decoding circuit, delay circuit 3. Read-only memory address pointer 0. Random access memory register X8. Register Y 19 Multiplier Register P 1. Multiplexer 1. Arithmetic logic unit 0. register a0
Claims (1)
御する命令解読装置において、 該装置は前記演算部のパイプライン処理の深さに応じた
複数の命令解読手段を有し、 該命令解読手段はそれぞれ、制御を担当するパイプライ
ンの深さに応じて前記命令情報から該当する命令を解読
し、前記演算部の所定の要素を制御することを特徴とす
る命令解読装置。 2、請求項1に記載の装置において、 前記命令情報は命令記憶部より送られ、 該装置は、該命令記憶部と前記命令解読手段との間に、
命令解読手段が制御を担当する前記演算部のパイプライ
ンの深さに応じ、前記命令情報の送出を遅延する命令遅
延手段を有することを特徴とする命令解読装置。[Scope of Claims] 1. An instruction decoding device that receives instruction information, decodes the instruction information, and controls an arithmetic unit, wherein the device decodes a plurality of instructions according to the depth of pipeline processing of the arithmetic unit. Each of the instruction decoding means decodes a corresponding instruction from the instruction information according to the depth of the pipeline to be controlled, and controls a predetermined element of the arithmetic unit. Instruction decoding device. 2. The apparatus according to claim 1, wherein the instruction information is sent from an instruction storage section, and between the instruction storage section and the instruction decoding means,
An instruction decoding device comprising an instruction delaying means for delaying the sending of the instruction information according to the depth of the pipeline of the arithmetic unit controlled by the instruction decoding means.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25187489A JPH03116232A (en) | 1989-09-29 | 1989-09-29 | Instruction decoding device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP25187489A JPH03116232A (en) | 1989-09-29 | 1989-09-29 | Instruction decoding device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03116232A true JPH03116232A (en) | 1991-05-17 |
Family
ID=17229219
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP25187489A Pending JPH03116232A (en) | 1989-09-29 | 1989-09-29 | Instruction decoding device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03116232A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000515999A (en) * | 1996-10-31 | 2000-11-28 | アトメル・リサーチ | Coprocessor for performing modular multiplication |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58129651A (en) * | 1982-01-29 | 1983-08-02 | Toshiba Corp | Arithmetic unit for pipe line |
-
1989
- 1989-09-29 JP JP25187489A patent/JPH03116232A/en active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58129651A (en) * | 1982-01-29 | 1983-08-02 | Toshiba Corp | Arithmetic unit for pipe line |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000515999A (en) * | 1996-10-31 | 2000-11-28 | アトメル・リサーチ | Coprocessor for performing modular multiplication |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH06103507B2 (en) | Pulse input / output processor and microcomputer using the same | |
| JPH04245324A (en) | Arithmetic unit | |
| JPH0772864B2 (en) | Digital signal processor | |
| JPH02210685A (en) | Dram controller | |
| JPS6237737A (en) | microprocessor circuit | |
| JP3526773B2 (en) | Multiprocessor device and control method thereof | |
| JPH01119861A (en) | Digital signal processing lsi | |
| JPH02139652A (en) | Microcomputer | |
| JPS62123526A (en) | Central processing unit for digital signal processor | |
| JPS6134168B2 (en) | ||
| JP2532072Y2 (en) | Pattern generator | |
| SU1343421A1 (en) | Processor module | |
| JPS6022247A (en) | Micro instruction control system | |
| JPH02114373A (en) | Vector data processor | |
| JPS63629A (en) | Data processing system | |
| JPS59208650A (en) | Single chip microprocessor | |
| JPS5985546A (en) | Data transfer control system | |
| JPH04165421A (en) | Pipeline operation processor | |
| JPH0477349B2 (en) | ||
| JPH0158528B2 (en) | ||
| JPS63148305A (en) | Quick arithmetic processing system for programmable sequence controller | |
| JPH03232018A (en) | Address generator | |
| JPH0398163A (en) | Vector data processor | |
| JPH04263322A (en) | Microcomputer | |
| JPS6316785B2 (en) |