JPH03113635A - Micro processor - Google Patents

Micro processor

Info

Publication number
JPH03113635A
JPH03113635A JP25425789A JP25425789A JPH03113635A JP H03113635 A JPH03113635 A JP H03113635A JP 25425789 A JP25425789 A JP 25425789A JP 25425789 A JP25425789 A JP 25425789A JP H03113635 A JPH03113635 A JP H03113635A
Authority
JP
Japan
Prior art keywords
output
shifter
register
instruction decoder
instruction
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
JP25425789A
Other languages
Japanese (ja)
Inventor
Masahiro Fukuda
福田 政広
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP25425789A priority Critical patent/JPH03113635A/en
Publication of JPH03113635A publication Critical patent/JPH03113635A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To suppress the deterioration of execution efficiency by selecting either of an output from a shift means or an output from an incrementer based on control from an instruction decoder and outputting it to a program counter register. CONSTITUTION:When a branching condition shifting the output to the left by three bits by a shifter 2 is decoded in the instruction decoder 1, a branching address 9 which is shifted to the left by three bits is outputted from the shifter 2 and a multiplexer 3 selects the output of the shifter 2, whereby the output is inputted to a PC register 4. When a branching condition except for the condition is decoded from the instruction decoder 1, a value inputted to the shifter 2 is zero bit-shifted and is outputted to the multiplexer 3. When the decoded branching condition is realized, the instruction decoder 1 causes the multiplexer 3 to select the output of the shifter 2, and to input it to the PC register 4. When it is not realized, the instruction decoder 1 causes the multiplexer 3 to select the output of the incrementer 5 and to input it to the PC register 4. Thus, the deterioration of execution efficiency is eliminated.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプロセッサに関し、特に固定長命令体
系を有し命令空間を拡張する際の分岐命令を実現するマ
イクロプロセッサに関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a microprocessor, and more particularly to a microprocessor that has a fixed-length instruction system and implements a branch instruction when expanding an instruction space.

〔従来の技術〕[Conventional technology]

近年のLS Lg造技術の発達によ多処理能力の高いマ
イクロプロセッサが安価に利用できるように々ってきて
おり、しかもかかるマイクロプロセッサは年々動作周波
数が高速化され、ハードウェアも高集積化されている。
With the recent development of LS/Lg manufacturing technology, microprocessors with high processing power have become available at low cost, and the operating frequency of such microprocessors has been increasing year by year, and the hardware has become highly integrated. ing.

特に、近年のマイクロブ【ゴセクサはデコーダの負担軽
減を実現するため、命令体系をワード固定長にして性能
向上を図っているゆ一つのワード固定長命令は複数のサ
ブ命令からなり、同−LSIに集積された複数のハード
ウェアの同時動作を指定することができる。
In particular, in recent years, Microb [Gosekusa] uses a fixed-word instruction system to improve performance in order to reduce the burden on the decoder.A single word-fixed-length instruction consists of multiple sub-instructions, and the same LSI Simultaneous operation of multiple pieces of integrated hardware can be specified.

例えば、一つのワード固定長命令を複数のサブ命令に分
け、ALU演算とデータ転送命令およびその他のマイク
ロプロセッサ内制御のすべてを同時に行なう。命令とし
ては、他にも分岐命令や即値ロード命令などがある。こ
れらの命令はそれぞれオペランドとして、分岐アドレス
部分や即値データ部分を保持している。従って、これら
分岐命令および即値ロード命令はビット長の短い限られ
たサブ命令としか同時に実行することができまい。
For example, one word fixed-length instruction is divided into a plurality of sub-instructions, and ALU operations, data transfer instructions, and other microprocessor internal controls are all performed simultaneously. Other instructions include branch instructions and immediate value load instructions. Each of these instructions holds a branch address part and an immediate data part as operands. Therefore, these branch instructions and immediate value load instructions can only be executed simultaneously with limited sub-instructions having short bit lengths.

すなわち、これは1命令のビット長が限られているから
である。
That is, this is because the bit length of one instruction is limited.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

上述した従来のマイクロプロセッサは複雑な応用分野に
なるにつれてプログラムが巨大化し、分岐距離も大きく
なる傾向にある。この分岐先が離れていると、1命令の
ビット幅に収らない場合が生じてくる。従来はかかるビ
ット幅の問題を割込みベクタを用いるか、あるいは単位
命令長の倍の長さの命令を用いたシすることによシ対処
している。
As the conventional microprocessor described above becomes more complex in its application, the program tends to become larger and the branch distance tends to become larger. If the branch destinations are far apart, the bit width may not fit within the bit width of one instruction. Conventionally, such a bit width problem has been dealt with by using an interrupt vector or by using an instruction whose length is twice the unit instruction length.

しかし々から、前者の場合はペクタ・エリアが必要であ
シ、シかも前もってそのペクタ・エリアを初期化してお
く必要がある。更に、後者の場合は命令の長さが長くな
っているため実行効率が低下するという問題がある。
However, in the former case, a vector area is required, and it may be necessary to initialize the vector area in advance. Furthermore, in the latter case, there is a problem that the execution efficiency is reduced because the length of the instruction is long.

本発明の目的は、かかる割込みベクタ・エリアを不要と
し、しかも複数の命令長にならないように、分岐時の実
行効率の低下を最小限に済ませることのできるマイクロ
プロセッサを提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to provide a microprocessor that does not require such an interrupt vector area, and can minimize the decrease in execution efficiency when branching by avoiding multiple instruction lengths.

〔課題を解決するための手段〕[Means to solve the problem]

本発明のマイクロプロセッサは、命令デコーダと、前記
命令デコーダからの出力を既定量シフトするシフト手段
と、プログラムカウンタ・レジスタと、前記プログラム
カウンタ・レジスタの値をインクリメントするインクリ
メンタと、前n己シフト手段からの出力および前記イン
クリメンタからの出力のどちらかを前記命令デコーダか
らの制御に基づき選択して前記プログラムカウンタレジ
スタに出力するマルチプレクサとを有して構成される。
The microprocessor of the present invention includes an instruction decoder, a shift means for shifting an output from the instruction decoder by a predetermined amount, a program counter register, an incrementer for incrementing the value of the program counter register, and and a multiplexer for selecting either the output from the means or the output from the incrementer based on control from the instruction decoder and outputting the selected one to the program counter register.

〔実施例〕〔Example〕

次に1本発明の実施例について図面を参照して説明する
Next, an embodiment of the present invention will be described with reference to the drawings.

第1図は本発明の第一の実施例を示すマイクロプロセッ
サのブロック図である。
FIG. 1 is a block diagram of a microprocessor showing a first embodiment of the present invention.

第1図に示すように、本実施例は命令デコーダ1からの
出力を制御線6に基づき既定量(零を含む)シフトする
シフタ2と、プログラムカウンタ・レジスタ(以下、P
Cレジスタと称す)4と、このPCレジスタ4の値をイ
ンクリメントするPCインクリメンタ5と、シフタ2の
出力とPCインクリメンタ5からの出力のどちらかを命
令デコーダ1からの制御線7に基づいて選択しPCレジ
スタ4に出力するマルチプレクサ3とを有して構成され
る。
As shown in FIG. 1, this embodiment includes a shifter 2 that shifts the output from an instruction decoder 1 by a predetermined amount (including zero) based on a control line 6, and a program counter register (hereinafter referred to as P
C register) 4, a PC incrementer 5 that increments the value of the PC register 4, and either the output of the shifter 2 or the output from the PC incrementer 5 is incremented based on the control line 7 from the instruction decoder 1. The multiplexer 3 selects and outputs the selected data to the PC register 4.

第2図は第1図に示すマイクロプロセッサの条件分岐命
令の命令フォーマット図である。
FIG. 2 is an instruction format diagram of a conditional branch instruction of the microprocessor shown in FIG.

第2図に示すように、かかる命令フォーマットは4ビツ
ト構成の分岐命令8と、13ビツト構成の分岐アドレス
9と、5ビツト構成の分岐条件10と、10ビツト構成
の転送指定11とから形成されている。
As shown in FIG. 2, this instruction format is formed from a branch instruction 8 of 4 bits, a branch address 9 of 13 bits, a branch condition 10 of 5 bits, and a transfer specification 11 of 10 bits. ing.

ここで、命令フォーマットの中には分岐するアドレスと
して13ビツトしか保持していないマイクロプロセッサ
の命令空間を8にワードから64にワードに拡張する場
合を考える。尚、シフタ2は命令デコーダ1からの分岐
アドレスを命令デコーダ1からの制御線6に基づいて3
ビツトあるいはOビットだけ左シフトするシフト回路で
あシ、またマルチプレクサ3はシフタ2からの出力か、
PCインクリメンタ5からの出力のどちらかを命令デコ
ーダ1からの制御線7に基づいて選択し且つPCレジス
タ4に出力する機能を有している。
Let us now consider the case where the instruction space of a microprocessor whose instruction format holds only 13 bits as a branch address is expanded from 8 words to 64 words. Note that the shifter 2 changes the branch address from the instruction decoder 1 to 3 based on the control line 6 from the instruction decoder 1.
It is a shift circuit that shifts left by bits or O bits, and multiplexer 3 is the output from shifter 2,
It has a function of selecting one of the outputs from the PC incrementer 5 based on the control line 7 from the instruction decoder 1 and outputting it to the PC register 4.

まず、分岐条件8の組合せの内の1つを、シフタ2にお
いて3ビツト左シフトする条件として割シ振る。
First, one of the combinations of branch conditions 8 is assigned as a condition for shifting 3 bits to the left in shifter 2.

次に、命令デコーダ1にて、シフj12で3ビツト左シ
フトする分岐条件がデコードされると、制御線6はシフ
タ2から3ビツト左シフトした分岐アドレス9を出力さ
せる。その後、制御線7にょシマルチブレクサ3におい
てシフタ2の出力を選択させ、PCレジスタ4に入力さ
せる。
Next, when the instruction decoder 1 decodes the branch condition for shifting 3 bits to the left by shift j12, the control line 6 causes the shifter 2 to output a branch address 9 shifted to the left by 3 bits. Thereafter, the output of the shifter 2 is selected by the control line 7 and the multiplexer 3 and is input to the PC register 4.

一方、命令デコーダ1から、シフタ2で3ビツト左シフ
トする条件以外の分岐条件がデコードされたときは、制
御線6によレジスタ2に入力された値を零ビツトシフト
した後、マルチプレクサ3に出力させる。このデコード
した分岐条件が成立した場合、命令デコーダ1は制御線
7を用いてマルチプレクサ3にシフタ2の出力を選択さ
せ、PCレジスタ4に入力させる。また、デコードした
分岐条件が不成立の場合、命令デコーダ1は制御線7を
用いてマルチプレクサ3にPCインクリメンタ5の出力
を選択させ、PCレジスタ4に入力させる。
On the other hand, when a branch condition other than the condition for shifting 3 bits to the left by shifter 2 is decoded from instruction decoder 1, the value input to register 2 via control line 6 is shifted by 0 bits and then output to multiplexer 3. . If this decoded branch condition is satisfied, the instruction decoder 1 uses the control line 7 to cause the multiplexer 3 to select the output of the shifter 2 and input it to the PC register 4. If the decoded branch condition is not satisfied, the instruction decoder 1 uses the control line 7 to cause the multiplexer 3 to select the output of the PC incrementer 5 and input it to the PC register 4.

第3図は本発明の第二の実施例を示すマイクロプロセッ
サのブロック図である。
FIG. 3 is a block diagram of a microprocessor showing a second embodiment of the present invention.

第3図に示すように、本実施例も命令フォーマットの中
に分岐するアドレスとして、第2図に示すような13ビ
ツトしか保持していないマイクロプロセッサの命令空間
を8にワードから64にワードあるいは128にワード
に拡張する場合を考える。
As shown in FIG. 3, this embodiment also uses a branch address in the instruction format to change the instruction space of a microprocessor that holds only 13 bits as shown in FIG. 2 from 8 words to 64 words or Consider the case of expanding to 128 words.

まず、本実施例は前述した第一の実施例と比較し、シフ
タ2でのシフト量を保持するレジスタ12を設けた点が
異なシ、その他は同様である。すなわち、シフタ2は命
令デコーダ1からの分岐アドレス9(第2図参照)を命
令デコーダ1からの制御線6に基づいてレジスタ12の
値だけあるいは0ビツトだけ左シフトする。また、マル
チプレクサ3はシフタ2からの出力あるいはPCインク
リメンタ5からの出力のどちらかを命令デコーダ1から
の制御縁7に基づいて選択し、プログラムカウンタ4に
出力する。
First, this embodiment is the same as the first embodiment described above except that a register 12 for holding the shift amount by the shifter 2 is provided. That is, the shifter 2 shifts the branch address 9 (see FIG. 2) from the instruction decoder 1 to the left by the value of the register 12 or by 0 bits based on the control line 6 from the instruction decoder 1. Further, the multiplexer 3 selects either the output from the shifter 2 or the output from the PC incrementer 5 based on the control edge 7 from the instruction decoder 1 and outputs it to the program counter 4.

次に、本実施例は第2図に示す分岐条件10の組合せの
内の1つを、シフタ2にてレジスタ12の値だけ左シフ
トする条件として割り振る。例えば、レジスタ12に3
を設定する。これによシ、シフタ2で左シフトする時の
シフト量は3ビツトになる。従って、命令デコーダ1に
おいて、シフタ2で3ビツト左シフトする分岐条件がデ
コードされると、シフタ2で分岐アドレスを3ビツト左
シフトさせた後、制御線6からの信号が出力させる。そ
の後、制御線7からの信号により、マルチプレクサ3に
てシフタ2の出力を選択し、PCレジスタ4に入力させ
る。
Next, in this embodiment, one of the combinations of branch conditions 10 shown in FIG. 2 is assigned as a condition for shifting the value of the register 12 to the left in the shifter 2. For example, register 12 has 3
Set. As a result, the amount of shift when shifter 2 shifts to the left becomes 3 bits. Therefore, in the instruction decoder 1, when the shifter 2 decodes a branch condition that shifts the branch address by 3 bits to the left, the shifter 2 shifts the branch address by 3 bits to the left, and then outputs a signal from the control line 6. Thereafter, the multiplexer 3 selects the output of the shifter 2 according to a signal from the control line 7 and inputs it to the PC register 4.

ここで、命令デコーダ1において、シフタ2が3ビツト
左シフトする条件以外の分岐条件がデコードされたとき
は、シフタ2に入力された値を零ビツトシフトした後、
制御線6からの信号によシマルチプレクサ3に出力する
。このデコードした分岐条件が成立した場合、命令デコ
ータ゛1は制御線7を用いてマルチプレクサ3にシフタ
2の出力を選択させ、その選択出力をPCレジスタ4に
入力させる。一方、デコードした分岐条件が不成立の場
合、命令デコーダ1は制御線7を用いてマルチプレクサ
3にPCインクリメンタ5の出力を選択させ、その選択
出力をPCレジスタ4に入力する。
Here, in the instruction decoder 1, when a branch condition other than the condition in which the shifter 2 shifts to the left by 3 bits is decoded, after shifting the value input to the shifter 2 by 0 bits,
The signal from the control line 6 is output to the multiplexer 3. If this decoded branch condition is satisfied, the instruction decoder 1 causes the multiplexer 3 to select the output of the shifter 2 using the control line 7, and inputs the selected output to the PC register 4. On the other hand, if the decoded branch condition is not satisfied, the instruction decoder 1 uses the control line 7 to cause the multiplexer 3 to select the output of the PC incrementer 5, and inputs the selected output to the PC register 4.

尚、レジスタ12に設定する値を3から4に変更するこ
とにより、命令空間を128にワードに拡張することが
できる。
Note that by changing the value set in the register 12 from 3 to 4, the instruction space can be expanded to 128 words.

〔発明の効果〕 以上説明したように、本発明のマイクロプロセッサは従
来の命令フォーマットを変更することなく、シかも複数
の命令長にもならないことから実行効率を減少させるこ
となく、命令空間の拡張を実現できるという効果がある
[Effects of the Invention] As explained above, the microprocessor of the present invention can expand the instruction space without changing the conventional instruction format or having multiple instruction lengths, without reducing execution efficiency. This has the effect of making it possible to achieve the following.

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

第1図は本発明の第一の実施例を示すマイクロプロセッ
サのブロック図、第2図は第1図に示すマイクロプロセ
ッサの条件分岐命令の命令フォーマット図、第3図は本
発明の第二の実施例を示すマイクロプロセッサのブロッ
ク図である。 1・・・命令デコーダ、2・・・シフタ、3・・・マル
チプレクサ、4・・・プログラムカウンタ・レジスタ(
PCレジスタ)、5・・・PCインクリメンタ、6,7
・・・制御線、12・・・シフト量保持レジスタ。
FIG. 1 is a block diagram of a microprocessor showing a first embodiment of the present invention, FIG. 2 is an instruction format diagram of a conditional branch instruction of the microprocessor shown in FIG. 1 is a block diagram of a microprocessor showing an embodiment. FIG. 1... Instruction decoder, 2... Shifter, 3... Multiplexer, 4... Program counter register (
PC register), 5...PC incrementer, 6, 7
...Control line, 12...Shift amount holding register.

Claims (1)

【特許請求の範囲】[Claims] 命令デコーダと、前記命令デコーダからの出力を既定量
シフトするシフト手段と、プログラムカウンタ・レジス
タと、前記プログラムカウンタ・レジスタの値をインク
リメントするインクリメンタと、前記シフト手段からの
出力および前記インクリメンタからの出力のどちらかを
前記命令デコーダからの制御に基づき選択して前記プロ
グラムカウンタレジスタに出力するマルチプレクサとを
有することを特徴とするマイクロプロセッサ。
an instruction decoder, a shift means for shifting an output from the instruction decoder by a predetermined amount, a program counter register, an incrementer for incrementing the value of the program counter register, and an output from the shift means and from the incrementer. a multiplexer that selects one of the outputs of the program counter register based on control from the instruction decoder and outputs the selected output to the program counter register.
JP25425789A 1989-09-28 1989-09-28 Micro processor Pending JPH03113635A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25425789A JPH03113635A (en) 1989-09-28 1989-09-28 Micro processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25425789A JPH03113635A (en) 1989-09-28 1989-09-28 Micro processor

Publications (1)

Publication Number Publication Date
JPH03113635A true JPH03113635A (en) 1991-05-15

Family

ID=17262465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25425789A Pending JPH03113635A (en) 1989-09-28 1989-09-28 Micro processor

Country Status (1)

Country Link
JP (1) JPH03113635A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289366B1 (en) 1997-05-22 2001-09-11 Hyundai Electronics Industries Co., Ltd. Speedy shift apparatus for use in arithmetic unit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6289366B1 (en) 1997-05-22 2001-09-11 Hyundai Electronics Industries Co., Ltd. Speedy shift apparatus for use in arithmetic unit

Similar Documents

Publication Publication Date Title
US5442762A (en) Instructing method and execution system for instructions including plural instruction codes
US6098087A (en) Method and apparatus for performing shift operations on packed data
EP0220682B1 (en) Data processing system
US5704052A (en) Bit processing unit for performing complex logical operations within a single clock cycle
JPH03218523A (en) Data processor
US6006316A (en) Performing SIMD shift and arithmetic operation in non-SIMD architecture by operation on packed data of sub-operands and carry over-correction
EP2302510A1 (en) System for matrix multipy operation with wide operand architecture and method
US20040143728A1 (en) Data processing apparatus and method for swapping data values
JP3578883B2 (en) Data processing device
US6026486A (en) General purpose processor having a variable bitwidth
US20240004663A1 (en) Processing device with vector transformation execution
US6408320B1 (en) Instruction set architecture with versatile adder carry control
EP1634163B1 (en) Result partitioning within simd data processing systems
US7047396B1 (en) Fixed length memory to memory arithmetic and architecture for a communications embedded processor system
US5479620A (en) Control unit modifying micro instructions for one cycle execution
US7890566B1 (en) Microprocessor with rounding dot product instruction
US5892696A (en) Pipeline controlled microprocessor
JPH03113635A (en) Micro processor
EP0992897B1 (en) Stack pointer management
JP2520882B2 (en) Data processing device and data processing method
US5931941A (en) Interface for a modularized computational unit to a CPU
JP3144859B2 (en) Arithmetic logic unit
JPH04359323A (en) Microcomputer
US6976049B2 (en) Method and apparatus for implementing single/dual packed multi-way addition instructions having accumulation options
US5784634A (en) Pipelined CPU with instruction fetch, execution and write back stages