JPH03180932A - Instruction decoder - Google Patents
Instruction decoderInfo
- Publication number
- JPH03180932A JPH03180932A JP31970589A JP31970589A JPH03180932A JP H03180932 A JPH03180932 A JP H03180932A JP 31970589 A JP31970589 A JP 31970589A JP 31970589 A JP31970589 A JP 31970589A JP H03180932 A JPH03180932 A JP H03180932A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- code
- control signal
- block
- sequential number
- 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
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
【発明の詳細な説明】
[概要]
入力される命令コードを解読して制御信号を生成する命
令解読装置に関し、
回路規模を大きくすることなく、信号遅延の少ない命令
解読装置を提供することを目的とし、制御信号生成部を
複数のブロックに分割し、各ブロックには、命令を解読
するコード解読部と、制御信号を生成する制御信号生成
ユニットを設けた分散制御方式の命令解読方式において
、入力される命令コードのID部分を連続したシーケン
シャル番号に変換するコード変換部を設け、各ブロック
にはこのコード変換部の出力を与え、各ブロックはコー
ド変換部の出力を受けてシーケンシャル番号を再度デコ
ードし、制御信号を生成するように構成する。[Detailed Description of the Invention] [Summary] An object of the present invention is to provide an instruction decoding device that generates a control signal by decoding an input instruction code and has less signal delay without increasing the circuit scale. In the instruction decoding method of the distributed control method, the control signal generation section is divided into multiple blocks, and each block is provided with a code decoding section for decoding instructions and a control signal generation unit for generating control signals. A code conversion unit is provided that converts the ID part of the instruction code to be processed into a continuous sequential number, and each block is given the output of this code conversion unit, and each block receives the output of the code conversion unit and decodes the sequential number again. and configured to generate a control signal.
[産業上の利用分野]
本発明は入力される命令コードを解読して制御信号を生
成する命令解読装置に関する。[Industrial Application Field] The present invention relates to an instruction decoding device that decodes an input instruction code and generates a control signal.
ディジタルシグナルプロセッサ(DSP)や命令セット
を小さくして高速に命令を実行するRI5C(Redu
ced In5tructionSet Com
puter)においては、命令のデコードは極めて高速
に行われる必要がある。The RI5C (Reduplicator) uses a small digital signal processor (DSP) and instruction set to execute instructions at high speed.
ced In5tructionSet Com
(puter), instructions must be decoded at extremely high speed.
また、高速動作のため、これらの装置の命令のビット幅
は大きく (例えば32ビツト)とられている。このた
め、命令のデコードはPLA(Pr。Furthermore, in order to operate at high speed, the bit width of the instructions of these devices is set to be large (for example, 32 bits). Therefore, instruction decoding is performed using PLA (Pr.
gramable Logic Array)等の
デバイスだけでは構成できず、ランダムゲートで構成せ
ざるをえなかった。このため、回路設計時の複雑さや回
路規模が大きくなり、設計工数が大きくなっていた。従
って、命令解読装置としては回路規模が小さくなること
が要請されている。It could not be constructed using only devices such as gramable logic arrays, and had to be constructed using random gates. For this reason, the complexity and circuit scale during circuit design have increased, and the number of design steps has increased. Therefore, it is required that the circuit scale of the instruction decoding device be reduced.
[従来の技術]
第7図はDSPの構成例を示すブロック図である。DS
Pは大きく分けて、プログラムシーケンス制御ブロック
1.アドレス演算ブロック2.演算ブロック3.特種レ
ジスタ/カウンタブロック4及びI10インターフェイ
スブロック5より構成されている。このうち、命令を解
読(デコード)する部分はプログラムシーケンス制御ブ
ロック]である。[Prior Art] FIG. 7 is a block diagram showing an example of the configuration of a DSP. DS
P is broadly divided into program sequence control blocks 1. Address calculation block 2. Operation block 3. It consists of a special register/counter block 4 and an I10 interface block 5. Among these, the part that decodes instructions is the program sequence control block.
プログラムシーケンス制御ブロック]において、1aは
実行するプログラムが格納されたlROM。In the program sequence control block], 1a is a ROM in which a program to be executed is stored.
]bは該lROM1.aの内容を読出して保持するイン
ストラクションレジスタ(IR)、lcは■R1bの内
容を取り出して解読するデコーダ、]dはlROM1a
にアドレスを与えるプログラムカウンタ(P C)であ
る。]b is the lROM1. An instruction register (IR) that reads and holds the contents of a; lc is a decoder that extracts and decodes the contents of R1b; and d is lROM1a.
This is a program counter (PC) that gives an address to the program counter.
ここで、lROM1aに格納されている命令は、第8図
に示すようなフォーマットをもっている。Here, the instructions stored in the 1ROM 1a have a format as shown in FIG.
(a)はオペランド指定のある場合を、(b)はオペラ
ンド指定のない場合をそれぞれ示している。(a) shows the case with operand specification, and (b) shows the case without operand specification.
図に示すIDは命令を区別するための識別ビットを示し
ている。一般に、命令にはオペランドをもつものと、も
たないものがある。The ID shown in the figure indicates an identification bit for distinguishing between instructions. Generally, some instructions have operands and some do not.
オペランドを多くもつものに対してはビット数の短いI
Dを割当て、オペランドのない命令に多くのビットのI
Dを割り当てるようにして、全体の命令のビット長を短
くすることができる。従っづ
て、1命令を1ワードで表わすことが要求されるRIS
Cプロセッサにおいては上述したような手法がよく利用
される。For those with many operands, use I with a short number of bits.
D and many bits of I for instructions with no operands.
By allocating D, the bit length of the entire instruction can be shortened. Therefore, RIS requires that one instruction be expressed in one word.
The above-mentioned technique is often used in C processors.
第9図は従来の命令解読方式のブロック図である。第8
図に示すようなフォーマットをもつ命令は解読部10に
より命令に対応する信号線に分解される。解読部10の
出力は1命令に1本の信号線が対応している。従って、
命令の数だけの信号線が必要となる。分解された信号は
制御信号!に底部11に入って各制御信号に再編成され
る。この方式は、各ブロックで必要となる全ての制御信
号を一括して作成するものである。FIG. 9 is a block diagram of a conventional instruction decoding system. 8th
An instruction having a format as shown in the figure is decomposed by the decoder 10 into signal lines corresponding to the instruction. As for the output of the decoder 10, one signal line corresponds to one instruction. Therefore,
As many signal lines as there are instructions are required. The decomposed signal is a control signal! The signal then enters the bottom section 11 and is reorganized into each control signal. In this method, all control signals required for each block are created at once.
第10図は従来の他の命令解読方式のブロック図である
。図に示す例は、タイマブロック、加算ブロック、乗算
ブロックというふうに、機能別にブロック化されている
。命令バス2oに乗ってきた命令は各ブロック21に入
る。各ブロックにおいては、解読部21aで命令の解読
を行い、生成部21bで解読結果に応じた制御信号の生
成を行う。この方式は、各ブロック毎に必要となる制御
信号を生成する分散方式となっている。FIG. 10 is a block diagram of another conventional instruction decoding method. The example shown in the figure is divided into functional blocks such as a timer block, an addition block, and a multiplication block. The commands arriving on the command bus 2o enter each block 21. In each block, the decoder 21a decodes the command, and the generator 21b generates a control signal according to the decoding result. This method is a distributed method that generates a necessary control signal for each block.
[発明が解読しようとする課題]
第9図に示す方式では、回路規模を小さくすることがで
きる反面、多数の制御信号を一括して作るため、設計が
難しい。また制御信号の配線長が大きくなり、信号の遅
延が大きくなる。更にはブロック間の配線が多くなり、
チップレイアウトが難しくなるという不具合がある。こ
れに対して第10図に示す方式では、各ブロック毎に制
御信号を生成するため、制御信号の遅延が少なく、チッ
プ上の配線が容易である。その反面、各ブロック間に同
じ解読部をもつため、回路規模が大きくなってしまう。[Problem to be solved by the invention] Although the method shown in FIG. 9 can reduce the circuit scale, it is difficult to design because a large number of control signals are generated at once. Furthermore, the wiring length of the control signal increases, and the signal delay increases. Furthermore, the number of wires between blocks increases,
There is a problem that chip layout becomes difficult. On the other hand, in the method shown in FIG. 10, a control signal is generated for each block, so there is little delay in the control signal, and wiring on the chip is easy. On the other hand, since the same decoding section is provided between each block, the circuit scale becomes large.
更に命令バスがチップの各部に配線されるため、レイア
ウトが難しいという不具合がある。Furthermore, since the instruction bus is wired to each part of the chip, there is a problem that layout is difficult.
本発明はこのような課題に鑑みてなされたものであって
、回路規模を大きくすることなく、信号遅延の少ない命
令解読装置を提供することを目的としている。The present invention has been made in view of these problems, and an object of the present invention is to provide an instruction decoding device with less signal delay without increasing the circuit scale.
[課題を解決するための手段]
第1図は本発明の原理ブロック図である。図において、
30は複数のブロックで、制御信号生成部を複数のブロ
ックに分割したものである。各ブロック3oには、命令
を解読するコード解読部30aと、制御信号を生成する
制御信号生成ユニット30bが設けられている。31は
入力される命令コードのID部分を連続したシーケンシ
ャル番号に変換するコード変換部、32は各ブロック3
0とコード変換部31とを接続する命令バスである。[Means for Solving the Problems] FIG. 1 is a block diagram of the principle of the present invention. In the figure,
Reference numeral 30 denotes a plurality of blocks, which are obtained by dividing the control signal generation section into a plurality of blocks. Each block 3o is provided with a code decoder 30a that decodes instructions and a control signal generation unit 30b that generates control signals. 31 is a code conversion unit that converts the ID part of an input instruction code into a continuous sequential number; 32 is each block 3;
0 and the code converter 31.
[作用]
コード変換部31は命令コードを受けると、可変長ビッ
トのID部を連続したシーケンシャル番号に変換する。[Operation] When the code converter 31 receives an instruction code, it converts the variable length bit ID part into a continuous sequential number.
変換後の命令のフォーマットは第2図に示すようにシー
ケンシャル番号と、命令セットとマシンコードから構成
されたものとなる。The converted instruction format consists of a sequential number, an instruction set, and a machine code, as shown in FIG.
各ブロック30ではこのコード変換部31の出力を受け
て、コード解読部30aがシーケンシャル番号を再度デ
コードし、制御信号生成ユニット30bで制御信号を生
成する。In each block 30, upon receiving the output of the code conversion section 31, the code decoding section 30a decodes the sequential number again, and the control signal generation unit 30b generates a control signal.
ここで、シーケンシャル番号は各命令をある順番に割り
振った単純なものであり、各ブロック30のコード解読
は、容易に行える。また、このような構成とすることに
より、分散制御方式(第10図参照)の欠点である回路
規模を大きくする必要はなくなり、また命令バスより少
ない本数のバスにより実現することができる。また、第
9図。Here, the sequential number is a simple number assigned to each instruction in a certain order, and the code of each block 30 can be easily decoded. Moreover, by adopting such a configuration, there is no need to increase the circuit scale, which is a drawback of the distributed control method (see FIG. 10), and it can be realized using fewer buses than the instruction bus. Also, FIG.
第10図の従来例では、各ブロック単位でのシミュレー
ションを行う場合のテストデータの作成が難しかったが
、本発明によれば制御用の入力データは単なるカウンタ
出力のようなものでよく、自動発生も行えるものとなり
、シミュレーションも容易に行える。In the conventional example shown in Fig. 10, it was difficult to create test data when simulating each block, but according to the present invention, the input data for control can be simply counter output, and the test data can be generated automatically. This makes it possible to perform simulations easily.
[実施例コ
以下、図面を参照して本発明の実施例を詳細に説明する
。[Embodiments] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
第3図は命令解読部の一実施例を示す構成図である。第
1図と同一のものは、同一の符号を付して示す。図の実
施例は、第1図のコード解読部30aと制御信号生成ユ
ニット30bとを示している。命令バス32を介して入
ってくるシーケンシャル番号は、バイナリデコーダ40
によりデコードされる。第4図は入力が3入力の場合の
デコダの論理を示している。FIG. 3 is a block diagram showing an embodiment of the instruction decoding section. Components that are the same as those in FIG. 1 are designated by the same reference numerals. The illustrated embodiment shows the code decoder 30a and control signal generation unit 30b of FIG. The sequential numbers coming in via the instruction bus 32 are processed by a binary decoder 40.
decoded by FIG. 4 shows the logic of the decoder when there are three inputs.
入力に応じて第4図に示すようにデコードされるバイナ
リデコーダ40の出力は、多入力オアゲート41に入る
。該オアゲート41の出力は、フリップフロップ42に
入り、クロックでラッチされ制御信号として出力される
。The output of the binary decoder 40, which is decoded as shown in FIG. 4 according to the input, enters a multi-input OR gate 41. The output of the OR gate 41 enters a flip-flop 42, is latched by a clock, and is output as a control signal.
第5図はコード変換部31の動作説明図である。FIG. 5 is an explanatory diagram of the operation of the code converter 31.
(a)に示すようなマシンコードが入力されるものとす
る。このマシンコードは、第8図に示すように命令の種
類に応じてIDビットの長さが異なるものである。ID
は1ビツト幅から最大5ビット幅まで変化するものとす
る。このようなマシンコードが入力されると、コード変
換部31は(b)に示す論理でコード変換を行い4ビツ
トのコードに変換する。IDビット幅の大小にかかわら
ず全て4ビツトのシーケンシャル番号に変換される。It is assumed that a machine code as shown in (a) is input. As shown in FIG. 8, this machine code has different lengths of ID bits depending on the type of instruction. ID
It is assumed that the width varies from 1 bit to a maximum of 5 bits. When such a machine code is input, the code converter 31 converts the code into a 4-bit code using the logic shown in (b). Regardless of the size of the ID bit width, all IDs are converted into 4-bit sequential numbers.
このようにして変換された4ビツトのシーケンシャル番
号が続くコード解読部30aに入ることになる。The 4-bit sequential number converted in this way then enters the code decoder 30a.
第6図は本発明の動作を示すタイミングチャートである
。(a)はプログラムカウンタの動作を、(b)はイン
ストラクションレジスタIRの動作を、(C)はインス
トランジョンレジスタIRIの動作を、(d)はインス
トラクションレジスタIR2の動作をそれぞれ示してい
る。命令の実行はパイプラインで行われる。プログラム
カウンタにより示されるn番地の命令は、インストラク
ションレジスタIRに読込まれる。そして、図の■の期
間に1マシンサイクルかけてコード変換が行われる。FIG. 6 is a timing chart showing the operation of the present invention. (a) shows the operation of the program counter, (b) shows the operation of the instruction register IR, (C) shows the operation of the instruction register IRI, and (d) shows the operation of the instruction register IR2. Instruction execution is performed in a pipeline. The instruction at address n indicated by the program counter is read into the instruction register IR. Then, code conversion is performed over one machine cycle during the period (■) in the figure.
コード変換された命令はインストラクションレジスタI
RIに入り、図の■の期間でコードの解読が行われる。The code-converted instruction is instruction register I.
RI is entered, and the code is decoded during the period marked ■ in the figure.
解読されたデータはインストラクションレジスタIR2
に入り、図の■の期間で制御信号が出力される。The decoded data is stored in instruction register IR2.
The control signal is output during the period indicated by ■ in the figure.
[発明の効果]
以上、詳細に説明したように、本発明によれば命令を受
けてID部分をシーケンシャル番号に変換した後、各制
御信号生成部(ブロック)に与えてやることにより、各
ブロックではシーケンシャル番号をデコードすればよく
、コード解読が容易となる。従って、本発明によれば回
路規模を大きくする必要がない。また分散方式を採用し
ているため、信号遅延の少ない命令解読装置を提供する
ことができる。[Effects of the Invention] As described above in detail, according to the present invention, the ID part is converted into a sequential number in response to a command, and then given to each control signal generation unit (block), thereby each block Then, all you have to do is decode the sequential numbers, which makes the code easier to decipher. Therefore, according to the present invention, there is no need to increase the circuit scale. Furthermore, since a distributed method is adopted, an instruction decoding device with less signal delay can be provided.
第1図は本発明の原理ブロック図、
第2図は変換後の命令フォーマットを示す図、第3図は
命令解読部の一実施例を示す構成図、第4図はデコーダ
の論理を示す図、
第5図はコード変換部の動作説四図、
第6図は本発明の動作を示すタイミングチャー第7図は
DSPの構成例を示すブロック図、第8図は命令のフォ
ーマットを示す図、第9図は従来の命令解読方式のブロ
ック図、第10図は従来の他の命令解読方式のブロッ図
である。
第1図において、
30はブロック、
30aはコード解読部、
30bは制御信号生成部、
31はコード変換部、
32は命令バ′スである。
りFig. 1 is a block diagram of the principle of the present invention, Fig. 2 is a diagram showing the instruction format after conversion, Fig. 3 is a block diagram showing an embodiment of the instruction decoding section, and Fig. 4 is a diagram showing the logic of the decoder. , FIG. 5 is a diagram illustrating the operation of the code converter, FIG. 6 is a timing chart showing the operation of the present invention, FIG. 7 is a block diagram showing an example of the configuration of a DSP, and FIG. 8 is a diagram showing the instruction format. FIG. 9 is a block diagram of a conventional instruction decoding method, and FIG. 10 is a block diagram of another conventional instruction decoding method. In FIG. 1, 30 is a block, 30a is a code decoder, 30b is a control signal generator, 31 is a code converter, and 32 is an instruction bus. the law of nature
Claims (1)
(30a)と、制御信号を生成する制御信号生成ユニッ
ト(30b)を設けた分散制御方式の命令解読方式にお
いて、 入力される命令コードのID部分を連続したシーケンシ
ャル番号に変換するコード変換部(31)を設け、 各ブロック(30)にはこのコード変換部(31)の出
力を与え、各ブロックはコード変換部(31)の出力を
受けてシーケンシャル番号を再度デコードし、制御信号
を生成するように構成した命令解読装置。[Claims] The control signal generation unit is divided into a plurality of blocks (30), and each block (30) includes a code decoding unit (30a) that decodes instructions and a control signal generation unit that generates control signals. (30b) is provided with a code converter (31) that converts the ID part of an input instruction code into a continuous sequential number, and each block (30) is equipped with a code converter (31) that converts the ID part of an input instruction code into a continuous sequential number. The instruction decoding device is configured to receive the output of the code conversion unit (31), and each block receives the output of the code conversion unit (31), decodes the sequential number again, and generates a control signal.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31970589A JPH03180932A (en) | 1989-12-08 | 1989-12-08 | Instruction decoder |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP31970589A JPH03180932A (en) | 1989-12-08 | 1989-12-08 | Instruction decoder |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH03180932A true JPH03180932A (en) | 1991-08-06 |
Family
ID=18113259
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP31970589A Pending JPH03180932A (en) | 1989-12-08 | 1989-12-08 | Instruction decoder |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH03180932A (en) |
-
1989
- 1989-12-08 JP JP31970589A patent/JPH03180932A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4228498A (en) | Multibus processor for increasing execution speed using a pipeline effect | |
| US4307445A (en) | Microprogrammed control apparatus having a two-level control store for data processor | |
| US4463421A (en) | Serial/parallel input/output bus for microprocessor system | |
| US4402042A (en) | Microprocessor system with instruction pre-fetch | |
| JPS6361691B2 (en) | ||
| KR930018378A (en) | Method and device for performance optimization of cache memory system | |
| TW544603B (en) | Designer configurable multi-processor system | |
| US4402043A (en) | Microprocessor with compressed control ROM | |
| EP0295646A2 (en) | Arithmetic operation processing apparatus of the parallel processing type and compiler which is used in this apparatus | |
| US4598358A (en) | Pipelined digital signal processor using a common data and control bus | |
| US4101967A (en) | Single bit logic microprocessor | |
| JPH03180932A (en) | Instruction decoder | |
| JPH02293931A (en) | Control unit | |
| US4484260A (en) | Stored-program control machine | |
| JP2567134B2 (en) | Bit field logical operation processing device and monolithic microprocessor having the same | |
| US3514762A (en) | Computer memory transfer system | |
| KR950015181B1 (en) | Apparatus for sum-of-product operation | |
| JP2556083B2 (en) | Complex arithmetic pipeline circuit | |
| KR0163905B1 (en) | Forced input device of arithmetic logic unit | |
| KR960018958A (en) | Main Memory Access Device Using Data Buffer When Performing Atomic Instruction in Multiprocessor System | |
| JP2626831B2 (en) | Program expansion system computer | |
| JP2667810B2 (en) | Vector processing equipment | |
| JPH0221333A (en) | Address generating device | |
| KR100261175B1 (en) | Interrupt circuit | |
| Swales et al. | COSMAC–a microprocessor for minimum Cost Systems |